@charset UTF-8;

/*=======================================================================*/
/* FONTs */
/*=======================================================================*/
@font-face {
	font-family: 'Noto Sans Japanese';
	font-style: normal;
	font-weight: 300;
	src: url(https://fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-DemiLight.woff2) format('woff2'),
		url(https://fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-DemiLight.woff) format('woff'),
		url(https://fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-DemiLight.otf) format('opentype');
}


/*=======================================================================*/
/* COMMON */
/*=======================================================================*/

/*----------------------------------*/
/* GENERAL */
* {
	font-family: 'Noto Sans Japanese', sans-serif;
	font-weight: 300;
	color: #333;
	line-height: 1.4;
	box-sizing: border-box;
}

.cf::after {
	content: "";
	display: block;
	clear: both;
}

a:not(.btn) {
	color: #0061AB;
	text-decoration: none;
	cursor: pointer;
	outline: none;
}
a:hover {
	text-decoration: none;
}

i {
	color: inherit;
}



/*----------------------------------*/
/* Typo */
.text-light {
	color: #DDD !important;
}

/*----------------------------------*/
/* Background */
.bg-light-blue {
	background-color: #e5eff6;
}


/*----------------------------------*/
/* .btn */
.btn.disabled,
.btn[disabled] {
	pointer-events: auto !important;
}
.btn.disabled:hover,
.btn[disabled]:hover {
	cursor: not-allowed;
}


/*----------------------------------*/
/* form */
.form-striped > h4 {
	width: calc(100% + 2rem);
	border-top: 1px solid #AAA;
	margin: 1rem -1rem 0.5rem -1rem;
	padding-top: 1rem;
}

.form-striped > .form-group.row {
	background-color: #FFF;
	margin-bottom: 0;
	padding-top: 0.5rem;
	padding-bottom: 0.5rem;
}
.form-striped > .form-group.row:nth-child(even) {
	background-color: rgba(0, 0, 0, 0.05);
}

.form-group > .col-form-label[class^=col-] {
	font-weight: bold;
	text-align: right;
}
.form-group > [class^=col-] > .custom-radio,
.form-group > [class^=col-] > .custom-checkbox {
	margin-top: 0.4rem;
}
.form-control::placeholder {
	color: #E6E6E6;
	opacity: 1;
}
@media screen and (max-width: 575px) {
	.form-striped > h4 {
		width: 100%;
		margin-right: 0;
		margin-left: 0;
	}
	.form-group > .col-form-label[class^=col-] {
		text-align: left;
	}

}

/*----------------------------------*/
/* table */
.table > thead > tr > th {
	background-color: #DDD;
	border: none;
	font-weight: bold;
}


.table-responsive > .table {
	margin: 0;
}
.table-responsive > .table th {
	text-align: center;
}
.table-responsive > .table th,
.table-responsive > .table td {
	font-size: 0.875rem;
	white-space: nowrap;
	vertical-align: middle;
	padding: 0.5rem;
}
.table-responsive > .table th.bg-primary,
.table-responsive > .table td.bg-primary {
	color: #FFF;
}

/* tab */
.nav.nav-tabs {
	margin: 2rem 0;
}




/*=======================================================================*/
/* MODIFY BOOTSTRAP */
/*=======================================================================*/

p {
	margin: 0;
}
p + p {
	margin-top: 0.75rem;
}

ul,
ol,
dl {
	list-style: none;
	margin: 0;
	padding: 0;
}



/*=======================================================================*/
/* BASE LAYOUT */
/*=======================================================================*/

/*----------------------------------*/
/* body */
body {
	width: 100%;
	min-width: 320px;
	height: auto;
}

/*----------------------------------*/
/* header */
header {
	position: fixed;
	top: 0;
	left: 0;
	display: flex;
	justify-content: space-between!important;
	width: 100%;
	height: 60px;
	background-color: #FFF;
	box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.5);
	padding: 0;
	transition-duration: 0.5s;
	z-index: 20000;
}

/*----------------------------------*/
/* .contents */
.contents {
	display: block;
	width: 100%;
	min-height: calc(100vh - 60px - 42px);
	margin: 60px 0 0 0;
}

/*----------------------------------*/
/* footer */
footer {
	display: block;
	width: 100%;
	height: 42px;
	background-color: #FFF;
	border-top: 1px solid #F2F2F2;
	padding: 0.7rem 0;
}


@media screen and (max-width: 575px) {
	header {
		height: 40px;
	}

	.contents {
		min-height: calc(100vh - 40px - 42px);
		margin-top: 40px;
	}
}

/*=======================================================================*/
/* HEADER STYLE */
/*=======================================================================*/

/*----------------------------------*/
/* header */
header > .brand {
	display: inline-block;
	margin: 0 0 0 1rem;
	padding: 0;
	transition-duration: 0.5s;
}
header > .brand > a {
	overflow: hidden;
	display: table-cell;
	height: 50px;
	line-height: 36px;
	color: #333;
	font-weight: 700;
	font-size: 1.25rem;
	vertical-align: middle;
	padding: 0.85rem 1rem 0.65rem 1rem;
	transition-duration: 0.5s;
}
header > .brand > a > img {
	width: auto;
	height: 100%;
	margin: -0.2rem 0.5rem 0 0;
}
@media screen and (max-width: 575px) {
	header > .brand {
		margin: 0 0 0 0.5rem;
	}
	header > .brand > a {
		display: block;
		width: 52px;
		height: 40px;
		line-height: 33px;
		color: #FFF;
		padding: 0.25rem 0.5rem;
	}
	header > .brand > a > img {
		margin: -0.375rem 0 0 0;
	}
}


/*----------------------------------*/
/* .header-navi */
header > .header-navi {
	display: inline-block;
	margin: 0;
	padding: 0;
}
header > .header-navi::after {
	content: "";
	display: block;
	clear: both;
}
header > .header-navi > li {
	float: left;
	position: relative;
	display: inline-block;
	margin: 0 0 0 0.5rem;
}
header > .header-navi > li > a {
	overflow: hidden;
	display: block;
	width: 66px;
	height: 60px;
	color: #CCC;
	font-size: 0.75rem;
	text-align: center;
	padding: 0.7rem 0 0 0;
}
header > .header-navi > li:hover {
	background-color: #0061AB;
}
header > .header-navi > li:hover > a {
	color: #FFF;
}
header > .header-navi > li > a > i {
	color: #CCC;
	font-size: 1.5rem;
}
header > .header-navi > li > a:hover > i {
	color: #FFF;
}

@media screen and (max-width: 575px) {
	header > .header-navi > li > a {
		color: transparent !important;
		width: 44px;
		height: 40px;
		padding: 0.55rem 0 0 0;
	}
}




/*=======================================================================*/
/* FOOTER STYLE */
/*=======================================================================*/
footer .rights {
	font-size: 0.75rem;
}


/*----------------------------------*/
/* .main-contents */
.main-contents {

}
.main-contents > section {
	padding: 3rem 0;
}





/*=======================================================================*/
/* COMMON STYLE */
/*=======================================================================*/

dl.row > dt {
	font-weight: bold;
}

dl.row {
	margin: 0;
}
dl.row > dt[class^="col-"] {
	text-align: right;
	margin: 0;
	padding-top: 0.5rem;
	padding-bottom: 0.5rem;
}

dl.row > dd[class^="col-"] {
	margin: 0;
	padding-top: 0.5rem;
	padding-bottom: 0.5rem;
}
.dl-striped > dt:nth-child(4n + 1),
.dl-striped > dd:nth-child(4n + 2) {
	background-color: rgba(0, 0, 0, 0.05);
}
