@charset "utf-8";


/*-----------------------------------------------------------------------
 common
-----------------------------------------------------------------------*/

* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
    margin: 0;
    padding: 0;
}

/* tag */
html {
	font-family: 'Noto Sans JP', sans-serif, '游ゴシック', 'Yu Gothic', YuGothic, 'メイリオ', Meiryo;
	font-size: 62.5%;
}

_:-ms-input-placeholder, :root {font-family: 'メイリオ', Meiryo, '游ゴシック', YuGothic, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;}

body {
	font-size: 1.4em;
	/* background-color: #E1E1E1; */
	background-color: #FFFFFF;
	color: #000000;
}

article {
	background-color: #F9F9F9;
}

a {
	text-decoration: none;
	color: #2B90D9;
}

a:hover {
	text-decoration: underline;
}

hr {
	max-width: 860px;
	margin: 10px auto;
	border-top: 2px solid #9BAEC8;
	border-bottom-width: 0;
	border-bottom-style: none;
}

/* common class */
/* common - layout */
.wrapper {
	/* margin: 30px auto; */
	margin: 0 auto;
	font-size: 0;
}

.main-contents {
	min-width: 950px;
	min-height: calc(100vh - 616px);
	margin: 0 auto;
	padding: 30px 45px 40px 45px;
	background-color: #FFFFFF;
}

@media screen and (max-width:768px) {
	.main-contents {
		min-width: 100%;
		min-height: 90vh;
		padding: 40px 20px;
	}
}

/* space parts */
.margin-top-10 {margin-top: 10px;}
.margin-top-20 {margin-top: 20px;}
.margin-top-30 {margin-top: 30px;}
.margin-top-40 {margin-top: 40px;}
.margin-top-50 {margin-top: 50px;}
.margin-top-60 {margin-top: 60px;}
.margin-top-80 {margin-top: 80px;}

.margin-bottom-10 {margin-bottom: 10px;}
.margin-bottom-20 {margin-bottom: 20px;}
.margin-bottom-30 {margin-bottom: 30px;}
.margin-bottom-40 {margin-bottom: 40px;}
.margin-bottom-50 {margin-bottom: 50px;}
.margin-bottom-60 {margin-bottom: 60px;}
.margin-bottom-80 {margin-bottom: 80px;}

.padding-top-10 {padding-top: 10px;}
.padding-top-20 {padding-top: 20px;}
.padding-top-30 {padding-top: 30px;}
.padding-top-40 {padding-top: 40px;}
.padding-top-50 {padding-top: 50px;}
.padding-top-60 {padding-top: 60px;}
.padding-top-80 {padding-top: 80px;}

.padding-bottom-10 {padding-bottom: 10px;}
.padding-bottom-20 {padding-bottom: 20px;}
.padding-bottom-30 {padding-bottom: 30px;}
.padding-bottom-40 {padding-bottom: 40px;}
.padding-bottom-50 {padding-bottom: 50px;}
.padding-bottom-60 {padding-bottom: 60px;}
.padding-bottom-80 {padding-bottom: 80px;}

/* text */
.main-contents h2 {
	width: 860px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 0.5em;
	line-height: 1.4;
	font-size: 2.4rem;
	font-weight: 500;
}

.main-contents > h2::before {
	content: "■";
}

@media screen and (max-width:768px) {
	.main-contents h2 {
		width: 100%;
	}
}

.main-contents h4 {
	line-height: 1.5;
	font-size: 2.6rem;
	font-weight: 500;
	color: #385098;
}

.main-contents h5 {
	line-height: 1.5;
	font-size: 1.8rem;
	font-weight: 500;
	color: #385098;
}

.main-contents p {
	max-width: 860px;
	margin: 1.0em auto;
	line-height: 1.6;
	font-size: 1.4rem;
}

.main-contents p.error {
	padding: 1.0em;
	color: #BB6622;
	border: 1px solid #C38C46;
	background-color: #FBF4ED;
}

.main-contents p.done {
	padding: 1.0em;
	color: #2266AA;
	border: 1px solid #3399BB;
	background-color: rgba(51,153,187,0.10);
}

.main-contents .maintenance {
	width: 860px;
	margin: 15px auto 0 auto;
	color: #DD1111;
	border-top: 1px solid #385098;
}

.main-contents .maintenance p {
	line-height: 1.8;
	font-size: 1.6rem;
}

@media screen and (max-width:768px) {
	.main-contents .maintenance {
		width: 100%;
	}
}

/* text - color */
.txt-red {color: #EE0000;}
.txt-blackd {color: #000000;}
.txt-white {color: #FFFFFF;}

/* text - size */
.txt-large {font-size: 1.8rem;}
.txt-small {font-size: 1.2rem;}

/* text - layout */
.txt-center {text-align: center;}
.txt-right {text-align: right;}

/* table - common */
.table-common {
	width: 860px;
	margin-left: auto;
	margin-right: auto;
}

.table-common dl {
	width: 860px;
	display: table;
	border-left: 4px solid #9BAEC8;
	border-right: 4px solid #D9E1E8;
}

@media screen and (max-width:768px) {
	.table-common {
		width: 100%;
	}
	
	.table-common dl {
		width: 100%;
		display: block;
		border-left: none;
		border-right: none;
	}
}

.table-common dl.error {
	border: 4px solid #C04343;
}

.table-common dl.error p {
	color: #EE0000;
}

.table-common dl dt,
.table-common dl dd {
	padding: 20px 20px;
	vertical-align: middle;
	display: table-cell;
}

.table-common dl dt {
	width: 30%;
	background-color: #9BAEC8;
}

.table-common dl dd {
	background-color: #D9E1E8;
}

.table-common dl dd.short {
	width: 28% !important;
	padding-right: 20px;
}

.table-common dl dd.long {
	width: 42% !important;
	padding-left: 20px;
}

.table-common dl dd.short + .long {
	padding-left: 0;
}

.table-common dl dd.long + .short {
	padding-left: 0;
}

@media screen and (max-width:768px) {
	.table-common dl dt,
	.table-common dl dd {
		width: 100% !important;
		padding: 15px;
		display: block;
	}
	.table-common dl dd.short {
		width: 100% !important;
		padding-left: 20px !important;
		padding-right: 20px !important;
	}
	.table-common dl dd.long {
		width: 100% !important;
		padding-left: 20px !important;
		padding-right: 20px !important;
	}
}

/* table search */
.table-search {
	width: 860px;
	margin-left: auto;
	margin-right: auto;
}

@media screen and (max-width:768px) {
	.table-search {
		width: 100%;
	}
}

.table-search + .table-search {
	margin-top: 30px;
}

.table-search h3 {
	width: 100%;
	max-width: 860px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 10px;
	padding: 0.5em 1.0em;
	line-height: 1.5;
	font-size: 1.5rem;
	font-weight: 500;
	color: #FFFFFF;
	background-color: #385098;
}

.table-search h3.school,
.table-search h3.orange {
	background-color: #DD5522;
}

.table-search h3.green {
	background-color: #448833;
}

.table-search h3.gray {
	background-color: #887766;
}

.table-search dl + h3 {
	margin-top: 30px;
}

.table-search dl {
	width: 100%;
	display: table;
	border-left: 4px solid #9BAEC8;
	border-right: 4px solid #D9E1E8;
}

.table-search dl.error {
	border: 4px solid #C04343 !important;
}

.table-search dl.pickup {
	border-left: 4px solid #E9BD86;
	border-right: 4px solid #F9EEDD;
}

@media screen and (max-width:768px) {
	.table-search dl {
		display: block;
		border-left: none !important;
		border-right: none !important;
	}
}

.table-search dl.pickup dt {
	color: #B95B12;
	background-color: #E9BD86;
}

.table-search dl.pickup dd {
	background-color: #F9EEDD;
}

.table-search dl.provider {
	border-left: 4px solid #BBAA99;
	border-right: 4px solid #EEDDCC;
}

.table-search dl.provider dt {
	color: #664433;
	background-color: #BBAA99;
}

.table-search dl.provider dd {
	background-color: #EEDDCC;
}

.table-search dl + dl {
	margin-top: 10px;
}

.table-search dl dt,
.table-search dl dd {
	vertical-align: middle;
	display: table-cell;
}

.table-search dl dt {
	width: 28%;
	padding: 12px 12px 12px 8px;
	line-height: 1.5;
	font-size: 1.7rem;
	font-weight: 500;
	color: #385098;
	background-color: #9BAEC8;
}

.table-search dl dd {
	width: 72%;
	min-width: 320px;
	padding: 12px 8px 12px 12px;
	line-height: 1.6;
	font-size: 1.5rem;
	background-color: #D9E1E8;
}

@media screen and (max-width:768px) {
	.table-search dl dt,
	.table-search dl dd {
		width: 100%;
		min-width: 100%;
		padding: 10px;
		display: block;
	}
}

.table-search dl dd p {
	margin: 0.5em 0;
}

.table-search dl dd input + span,
.table-search dl dd select + span {
	padding-left: 0.5em;
	padding-right: 0.5em;
}

.table-search dl dd select + select {
	margin-left: 15px;
}

.table-search .delete-check {
	width: 50%;
	margin: 0 auto 20px auto;
	padding: 0.5em 0;
	text-align: center;
	line-height: 1.5;
	font-size: 1.6rem;
	font-weight: 500;
	color: #CC3322;
	background-color: #F0DEDE;
	border: 4px solid #CC3322;
}

@media screen and (max-width:768px) {
	.table-search .delete-check {
		width: 100%;
	}
}

.table-search .caution-mark {
	width: 860px;
	margin-left: auto;
	margin-right: auto;
	padding: 25px 0;
	display: flex;
	flex-wrap: wrap;
}

.table-search .caution-mark span {
	width: 270px;
	margin-top: 5px;
	margin-bottom: 5px;
	margin-left: 25px;
	padding: 0.6em;
	text-align: center;
	line-height: 1.0;
	font-size: 1.5rem;
	font-weight: 500;
	color: #FFFFFF;
	background-color: #DD0000;
	border-radius: 5px;
	display: inline-block;
}

.table-search .caution-mark span:nth-child(3n + 1) {
	margin-left: 0;
}

@media screen and (max-width:768px) {
	.table-search .caution-mark {
		width: 100%;
		justify-content: center;
	}
	
	.table-search .caution-mark span {
		width: 75%;
		margin-left: 0;
	}
}

/* table refine */
.table-refine {
	width: 860px;
	margin-left: auto;
	margin-right: auto;
}

.table-refine ul {
	width: 100%;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
}

.table-refine ul li {
	width: 20%;
	margin-top: 2px;
	line-height: 1.6;
	font-size: 1.5rem;
	background-color: #C4E1E8;
	border-left: 2px solid #FFFFFF;
}

.table-refine ul li label {
	padding: 1.0em;
	display: inline-block;
}

.table-refine ul li:nth-child(5n+1) {
	border-left-width: 0;
}

.table-refine ul li.length-auto {
	width: auto;
}

.table-refine h4 {
	padding: 0.8em 0.7em;
	font-size: 1.8rem;
	font-weight: 500;
	color: #FFFFFF;
	background-color: #63B0C2;
}

.table-refine ul li.gray {
	background-color: #D9E1E8;
}

/* table searc-result */
.table-search-result {
	width: 860px;
	margin-left: auto;
	margin-right: auto;
}

@media screen and (max-width:768px) {
	.table-search-result {
		width: 100%;
	}
}

.table-search-result table {
	min-width: 860px;
	border-collapse: collapse;
	table-layout: fixed;
}

@media screen and (max-width:768px) {
	.table-search-result table {
		min-width: 100%;
	}
}

.table-search-result table tr {
	background-color: #D9E1E8;
}

.table-search-result table tr:nth-child(even) {
	background-color: #D6D6D6;
}

.table-search-result table th {
	padding: 0.5em;
	vertical-align: middle;
	line-height: 1.4;
	font-size: 1.5rem;
	font-weight: 500;
	color: #FFFFFF;
	background-color: #777766;
	border: 1px solid #FFFFFF;
}

.table-search-result table td {
	padding: 0.5em;
	vertical-align: middle;
	line-height: 1.4;
	font-size: 1.5rem;
	border: 1px solid #FFFFFF;
}

.table-search-result table td input + span {
	padding-left: 0.5rem;
	padding-right: 0.5rem;
}

.table-search-result table .length10 {width: 10%;}
.table-search-result table .length15 {width: 15%;}
.table-search-result table .length20 {width: 20%;}
.table-search-result table .length25 {width: 25%;}
.table-search-result table .length30 {width: 30%;}
.table-search-result table .length40 {width: 40%;}
.table-search-result table .length50 {width: 50%;}
.table-search-result table .length75 {width: 75%;}
.table-search-result table .length80 {width: 80%;}
.table-search-result table .length100 {width: 100%;}

.table-search-result table .minimum {width: 100px !important;}
.table-search-result table .short {width: 150px !important;}
.table-search-result table .normal {width: 180px !important;}
.table-search-result table .long {width: 300px !important;}

.table-search-result table td a {
	text-decoration: underline;
}

@media screen and (max-width:768px) {
	.table-search-result table .minimum {width: 15% !important;}
	.table-search-result table .short {width: 20% !important;}
	.table-search-result table .normal {width: 22% !important;}
	.table-search-result table .long {width: 30% !important;}
}

.table-search-result h3 {
	width: 100%;
	margin-bottom: 10px;
	padding: 0.5em 1.0em;
	line-height: 1.5;
	font-size: 1.5rem;
	font-weight: 500;
	color: #FFFFFF;
	background-color: #385098;
}

.table-search-result table td .btn {
	width: auto;
	margin: 0;
	vertical-align: middle !important;
	line-height: 1.0;
	font-size: 1.4rem;
	border-radius: 6px;
	display: inline-block;
}

.table-search-result table td .btn span {
	padding: 0.4em 1.0em;
}

.table-search-result table td .btn + .btn {
	margin-left: 15px;
}

.pagenation {
	width: 100%;
	padding: 20px 0;
}

.pagenation ul {
	list-style: none;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}

.pagenation ul li {
	padding: 8px;
}

.pagenation ul li a {
	padding: 0.8em 1.0em;
	text-decoration: none;
	line-height: 1.0;
	font-size: 1.6rem;
	color: #FFFFFF;
	background-color: #385098;
	border: 1px solid #385098;
	display: block;
}

.pagenation ul li a:hover {
	opacity: 0.8;
	transition: 0.3s;
}

.pagenation ul li.stay a {
	color: #385098;
	background-color: #FFFFFF;
}

/* table log */
.table-log {
	width: 860px;
	margin-left: auto;
	margin-right: auto;
}

@media screen and (max-width:768px) {
	.table-log {
		width: auto;
		min-width: 100%;
	}
}

.table-log ul {
	margin: 1px auto;
	list-style: none;
	display: flex;
	background-color: #D9E1E8;
}

.table-log ul:nth-child(even) {
	background-color: #D6D6D6;
}

.table-log ul.error {
	border: 2px solid #C04343;
}

.table-log ul li {
	width: 15%;
	padding: 0.5em;
	line-height: 1.4;
	font-size: 1.5rem;
	border-left: 1px solid #FFFFFF;
	overflow: hidden;
}

.table-log ul li input + span {
	padding-left: 0.5rem;
	padding-right: 0.5rem;
}

.table-log ul li:first-child {
	border: none;
}

.table-log ul li.length10 {width: 10%;}
.table-log ul li.length15 {width: 15%;}
.table-log ul li.length20 {width: 20%;}
.table-log ul li.length25 {width: 25%;}
.table-log ul li.length30 {width: 30%;}
.table-log ul li.length40 {width: 40%;}
.table-log ul li.length50 {width: 50%;}
.table-log ul li.length75 {width: 75%;}
.table-log ul li.length80 {width: 80%;}
.table-log ul li.length100 {width: 100%;}

.table-log ul li.label {
	font-weight: 500;
	color: #FFFFFF;
	background-color: #777766;
}

.table-log ul li.total {
	background-color: #E0CEC4;
}

.table-log ul li a {
	text-decoration: underline;
}

.table-log h3 {
	width: 100%;
	margin-bottom: 10px;
	padding: 0.5em 1.0em;
	line-height: 1.5;
	font-size: 1.5rem;
	font-weight: 500;
	color: #FFFFFF;
	background-color: #385098;
}

.table-log ul li .btn {
	padding: 0.5em 1.0em;
	line-height: 1.0;
	font-size: 1.5rem;
	display: inline-block;
}

.table-log ul li .btn + .btn {
	margin-left: 15px;
}

/* table master */
.table-master {
	min-width: 860px;
}

.table-master table {
	width: 860px;
	margin: 0 auto;
	table-layout: fixed;
	border-collapse: collapse;
}

@media screen and (max-width:768px) {
	.table-master {
		min-width: 100%;
	}
	
	.table-master table {
		width: auto;
	}
}

.table-master table tr {
	background-color: #D9E1E8;
}

.table-master table tr:nth-child(even) {
	background-color: #D6D6D6;
}

.table-master table th {
	padding: 0.5em;
	vertical-align: middle;
	line-height: 1.4;
	font-size: 1.5rem;
	font-weight: 500;
	color: #FFFFFF;
	background-color: #777766;
	border: 1px solid #FFFFFF;
}

.table-master table td {
	padding: 0.5em;
	vertical-align: middle;
	line-height: 1.4;
	font-size: 1.5rem;
	border: 1px solid #FFFFFF;
}

.table-master table td input + span {
	padding-left: 0.5rem;
	padding-right: 0.5rem;
}

.table-master table .length10 {width: 10%;}
.table-master table .length15 {width: 15%;}
.table-master table .length20 {width: 20%;}
.table-master table .length25 {width: 25%;}
.table-master table .length30 {width: 30%;}
.table-master table .length40 {width: 40%;}
.table-master table .length50 {width: 50%;}
.table-master table .length75 {width: 75%;}
.table-master table .length80 {width: 80%;}
.table-master table .length100 {width: 100%;}

.table-master table .minimum {width: 100px !important;}
.table-master table .short {width: 150px !important;}
.table-master table .normal {width: 180px !important;}
.table-master table .long {width: 300px !important;}

@media screen and (max-width:768px) {
	.table-master table .minimum {width: 15% !important;}
	.table-master table .short {width: 20% !important;}
	.table-master table .normal {width: 22% !important;}
	.table-master table .long {width: 30% !important;}
}

.table-master table td a {
	text-decoration: underline;
}

.table-master h3 {
	width: 100%;
	margin-bottom: 10px;
	padding: 0.5em 1.0em;
	line-height: 1.5;
	font-size: 1.5rem;
	font-weight: 500;
	color: #FFFFFF;
	background-color: #385098;
}

.table-master table td .btn {
	width: auto;
	margin: 0;
	vertical-align: middle !important;
	line-height: 1.0;
	font-size: 1.4rem;
	border-radius: 6px;
	display: inline-block;
}

.table-master table td .btn span {
	padding: 0.4em 1.0em;
}

.table-master table td .btn + .btn {
	margin-left: 15px;
}

@media screen and (max-width:768px) {
	.table-master table td .btn {
		width: 90%;
		margin: auto;
		display: block;
	}
	
	.table-master table td .btn + .btn {
		margin-top: 8px;
		margin-left: auto;
	}
}

/* button area */
.btn-area {
	width: 860px;
	margin-left: auto;
	margin-right: auto;
	padding-top: 40px;
	padding-bottom: 30px;
	display: flex;
}

@media screen and (max-width:768px) {
	.btn-area {
		width: 100%;
		padding: 30px 0;
		flex-wrap: wrap;
		justify-content: center !important;
	}
}

.btn-area.btn-center {
	justify-content: center;
}

.btn-area.btn-right {
	justify-content: flex-end;
}

.btn-area.btn-column2,
.btn-area.btn-column3 {
	justify-content: center;
}

.btn-area.btn-column2 > div {
	width: 40%;
	padding: 0 20px;
}

.btn-area.btn-column3 > div {
	width: 30%;
	padding: 0 20px;
}

.btn-area > div {
	width: 35%;
}

@media screen and (max-width:768px) {
	.btn-area.btn-column2 > div,
	.btn-area.btn-column3 > div,
	.btn-area > div {
		width: 100%;
		padding: 10px 20px;
	}
}

.btn {
	width: 100%;
	vertical-align: middle;
	text-align: center;
	text-decoration: none !important;
	line-height: 1.0;
	font-size: 1.7rem;
	font-weight: 500;
	color: #FFFFFF;
	background-color: #385098;
	border: none;
	border-radius: 5px;
	display: inline-block;
	cursor: pointer;
}

.btn.submit {
	background-color: #2B90D9;
}

.btn.reset {
	background-color: #9BAEC8;
}

.btn:hover {
	opacity: 0.8;
	transition: 0.3s;
}

.btn + .btn {
	margin-top: 10px;
}

.btn span {
	padding: 0.8em 0;
	display: block;
}

.menu-area .btn {
	display: block;
	font-size: 1.6rem;
}

/* supplement text */
.supplement-area {
	padding: 5px 15px;
	background-color: #F9F8F7;
}

/*-----------------------------------------------------------------------
 header
-----------------------------------------------------------------------*/

/* header */
header {
	width: 950px;
	margin: 0 auto;
	background-color: #385098;
}

@media screen and (max-width:768px) {
	header {
		width: 100%;
	}
}

header .header-wrap {
	padding: 20px 0;
	display: flex;
}

header .header-wrap a {
	color: #FFFFFF;
	text-decoration: none;
}

header .header-wrap a:hover {
	opacity: 0.75;
	transition: all 0.3s;
}

@media screen and (max-width:768px) {
	header .header-wrap {
		padding: 20px 20px 20px 20px;
		flex-wrap: wrap;
	}
}

header .header-wrap .logo {
	width: 40%;
	padding: 10px 30px;
}

header .header-wrap .logo img {
	width: 100%;
	display: block;
}

@media screen and (max-width:768px) {
	header .header-wrap .logo {
		width: 100%;
		padding: 0 64px 20px 0;
	}
	
	header .header-wrap .logo img {
		width: auto;
		max-width: 90%;
		max-height: 48px;
	}
}

header .header-wrap .content {
	padding: 0 15px;
	border-left: 1px solid #FFFFFF;
	display: flex;
	align-items: center;
}

@media screen and (max-width:768px) {
	header .header-wrap .content {
		width: 100%;
		padding: 10px 64px 10px 0;
		border-left: none;
		border-top: 1px solid #FFFFFF;
	}
}

header .header-wrap .content > div {
	margin: auto 0;
}

header .header-wrap .content > div p {
	line-height: 1.4;
	font-size: 1.3rem;
	font-weight: 400;
	color: #FFFFFF;
}

header .header-wrap .content > div p + p {
	margin-top: 6px;
}

header .header-wrap .content > div p img {
	width: auto;
	height: 2.2rem;
	margin-left: 0.5em;
	vertical-align: middle;
	display: inline-block;
}

@media screen and (max-width:768px) {
	header .header-wrap .content > div p {
		vertical-align: top;
		display: inline-block;
		font-size: 1.2rem;
	}
	
	header .header-wrap .content > div p + p {
		margin-top: 0;
		margin-left: 1.0em;
	}
	
	header .header-wrap .content > div p img {
		height: 1.3em;
	}
}

header .header-wrap .logoff {
	width: 120px;
	margin-left: auto;
	margin-right: 0;
	display: flex;
	align-items: center;
}

header .header-wrap .logoff a {
	width: 100%;
	padding: 1.0em 0;
	text-align: center;
	line-height: 1.0;
	font-size: 1.3rem;
	font-weight: 500;
	display: block;
	background-color: #2D2D33;
}

header .header-wrap .logoff a img {
	width: auto;
	height: 2.2rem;
	margin-left: 0.5em;
	vertical-align: middle;
	display: inline-block;
}

@media screen and (max-width:768px) {
	header .header-wrap .logoff {
		width: 50%;
		margin-left: 0;
		margin-right: auto;
	}
	
	header .header-wrap .logoff a {
		padding: 0.5em 0;
	}
}

/* header navi */
.global-menu {
	width: 100%;
	height: calc(39px + 1.3rem);
	display: block;
	position: relative;
}

.global-menu nav {
	width: 950px;
	max-width: 100%;
	display: flex;
	align-items: flex-start;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 5;
}

.global-menu.fixed {
	position: fixed;
	top: 0;
	z-index: 1;
}

.global-menu.fixed nav {
	margin: 0 auto;
}

.acd-nav {
	width: 100%;
	background-color: #424248;
	overflow: hidden;
}

.global-menu .acd-nav:nth-child(odd) {
	background-color: #2D2D33;
}

.acd-check {
	display: none;
}

.acd-label {
	width: 100%;
	cursor: pointer;
	color: #FFFFFF;
}

.acd-label span {
	padding: 1.5em 0;
	text-align: center;
	line-height: 1.0;
	font-size: 1.3rem;
	font-weight: 500;
	display: block;
}

.acd-label span.lines-2 {
	padding: 1.0em 0;
}

.acd-label span:hover {
	background-color: rgba(56,80,152,0.8);
	transition: 0.3s;
}

.acd-check:checked + .acd-label {
	border: 4px solid #385098;
}

.acd-content {
	display: block;
	height: 0;
	opacity: 0;
	transition: .3s;
	visibility: hidden;
	background-color: #424248;
}

.acd-check:checked + .acd-label + .acd-content {
	height: auto;
	opacity: 1;
	visibility: visible;
}

.acd-content ul {
	list-style: none;
}

.acd-content ul li {
	line-height: 1.0;
	font-size: 1.3rem;
	color: #FFFFFF;
	border-top: 1px solid #AAAAAA;
}

.acd-content ul li a {
	padding: 1.0em;
	text-decoration: none;
	display: block;
	color: inherit;
}

.acd-content ul li a:hover {
	background-color: rgba(255,255,255,0.10);
}

@media screen and (max-width:768px) {
	.global-menu {
		display: none;
	}
}

/* mobile nav */
.sp-nav-content,
.sp-nav-trigger{
	display: none;
}

@media screen and (max-width:768px) {
	.sp-nav-trigger {
		width: 64px;
		height: 64px;
		cursor: pointer;
		background-color: #000000;
		border: 1px solid #FFFFFF;
		display: block;
		position: fixed;
		top: 10px;
		right: 10px;
		z-index: 10000;
	}
	.sp-nav-trigger span {
		display: inline-block;
		box-sizing: border-box;
		position: absolute;
		left: 0;
		width: 100%;
		height: 2px;
		background-color: #FFFFFF;
		opacity: 0.75;
		transition: all .5s .2s;
	}
	.sp-nav-trigger.active span {
		background-color: #FFFFFF;
	}
	.sp-nav-trigger span:nth-of-type(1) {
		width: 42px;
		top: 15px;
		left: 10px;
	}
	.sp-nav-trigger.active span:nth-of-type(1) {
		width: 70%;
		left: 15%;
		top: 50%;
		transform: rotate(-45deg);
	}
	.sp-nav-trigger span:nth-of-type(2) {
		width: 42px;
		left: 10px;
		top: calc(50% - 1px);
	}
	.sp-nav-trigger.active span:nth-of-type(2) {
		opacity: 0;
	}
	.sp-nav-trigger span:nth-of-type(3) {
		width: 42px;
		left: 10px;
		bottom: 15px;
	}
	.sp-nav-trigger.active span:nth-of-type(3) {
		width: 70%;
		left: 15%;
		bottom: 49%;
		transform: rotate(45deg);
	}
	.sp-nav-content {
		width: 100%;
		height: 100vh;
		background-color: rgba(0,0,0,0.95);
		display: none;
		position: fixed;
		left: 0;
		z-index: 50;
	}
	.sp-nav-content ul {
		padding: 74px 20px 0 20px;
	}
	.sp-nav-content ul li {
		height: auto;
		padding: 5px 0;
		position: relative;
	}
	
	.sp-nav-content ul li + li {
		border-top: 1px solid #FFFFFF;
	}

	.sp-nav-content ul li a,
	.sp-nav-content ul li label {
		padding: 0.8em 0;
		text-decoration: none;
		line-height: 1.4;
		font-size: 1.6rem;
		color: #FFFFFF;
		display: block;
	}

	.submenu-check{
		display: none;
	}
	.submenu-label{
		cursor: pointer;
	}

	.submenu-label span {
		width: 1.0em;
		height: 1.0em;
		margin-left: 1.0em;
	}

	.submenu-label span::after {
		content: "＋";
	}

	.submenu-content{
		height: 0;
		opacity: 0;
		transition: .3s;
		visibility: hidden;
	}
	.submenu-check:checked + .submenu-label + .submenu-content{
		height: auto;
		opacity: 1;
		visibility: visible;
	}

	.submenu-check:checked + .submenu-label span::after {
		content: "－";
	}

	.submenu-content a {
		padding: 0.8em 0.5em !important;
		font-size: 1.5rem !important;
		background-color: rgba(255,255,255,0.10);
		display: block;
	}
	
	.submenu-content a:hover {
		background-color: rgba(255,255,255,0.20);
	}
	
	.submenu-content a + a {
		margin-top: 0.3em;
	}
}

/* breadcrumbs */
.breadcrumbs {
	width: 950px;
	margin: 0 auto;
	padding: 10px 30px;
	background-color: #FFFFFF;
}

@media screen and (max-width:768px) {
	.breadcrumbs {
		width: 100%;
	}
}

.breadcrumbs nav {
	width: 100%;
	margin: 0 auto;
}

.breadcrumbs nav ul {
	width: 100%;
	margin: 0;
	list-style: none;
	display: flex;
}

.breadcrumbs nav ul li {
	line-height: 1.0;
	font-size: 1.3rem;
	color: #333333;
}

.breadcrumbs nav ul li::before {
	content: "　＞　"
}

.breadcrumbs nav ul li:first-child::before {
	content: none;
}

.breadcrumbs nav ul li a {
	color: inherit;
}

.breadcrumbs nav ul li a:hover {
	text-decoration: none;
}

@media screen and (max-width:751px) {
	.breadcrumbs {
		padding: 5px 20px;
	}
	
	.breadcrumbs nav ul {
		flex-wrap: wrap;
	}
	
	.breadcrumbs nav ul li {
		padding: 0.5em 0;
		font-size: 1.3rem;
	}
}

/* mobile nav */
#nav-toggle,
#mobile-nav {
	display: none;
}

@media screen and (max-width:751px) {
	#nav-toggle {
		width: 64px;
		height: 64px;
		background-color: #00479D;
		top: 20px;
		right: 15px;
		cursor: pointer;
		position: fixed;
		/* display: block; */
		display: none;
		z-index: 1000;
	}
	#nav-toggle > div {
		width: 100%;
		height: 100%;
		background-image: url(../img/common/icon_mobile-nav_open.png);
		background-size: cover;
	}

	.open #nav-toggle {
		background-color: transparent;
	}

	.open #nav-toggle > div {
		background-image: url(../img/common/icon_mobile-nav_close.png);
	}

	#mobile-nav {
		background-color: rgba(0,71,157,0.97);
		color: #FFFFFF;
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 990;
		text-align: center;
		display: flex;
		visibility: hidden;
		flex-direction: column;
		opacity: 0;
		transition: opacity .6s ease, visibility .6s ease;
	}

	#mobile-nav .logo {
		width: 100%;
		padding: 30px 20px 35px 20px;
		text-align: left;
	}

	#mobile-nav .logo img {
		width: 60%;
	}

	#mobile-nav a {
		font-size: 1.8rem;
		display: block;
		color: #FFFFFF;
		text-decoration: none;
		padding: 0.5em 0;
		transition: color .6s ease;
	}
	#mobile-nav ul {
		width: 85%;
		margin: 0 auto;
		list-style: none;
	}
	#mobile-nav ul li {
		padding: 10px 0;
		width: 100%;
		border-bottom: 1px solid #FFFFFF;
		opacity: 0;
		transform : perspective(200px) translateZ(50px);
		transition: opacity .2s ease, -webkit-transform .6s ease;
		transition: transform .6s ease, opacity .2s ease;
		transition: transform .6s ease, opacity .2s ease, -webkit-transform .6s ease;
	}
	#mobile-nav ul li:nth-child(2) {
		transition-delay: .2s;
	}
	#mobile-nav ul li:nth-child(3) {
		transition-delay: .4s;
	}
	#mobile-nav ul li:nth-child(4) {
		transition-delay: .6s;
	}
	#mobile-nav ul li:nth-child(5) {
		transition-delay: .8s;
	}
	#mobile-nav ul li:nth-child(6) {
		transition-delay: 1.0s;
	}

	/* open */
	.open {
		overflow: hidden;
	}
	.open #mobile-nav {
		visibility: visible;
		opacity: 1;
	}
	.open #mobile-nav li {
		opacity: 1;
		-webkit-transform: translateX(0);
						transform: translateX(0);
		transition: opacity .9s ease, -webkit-transform 1s ease;
		transition: transform 1s ease, opacity .9s ease;
		transition: transform 1s ease, opacity .9s ease, -webkit-transform 1s ease;
	}
}

/*-----------------------------------------------------------------------
 footer
-----------------------------------------------------------------------*/
footer {
	width: 950px;
	margin: 0 auto;
}

@media screen and (max-width:768px) {
	footer {
		width: 100%;
	}
}

footer .footer-nav {
	padding: 20px 30px;
	background-color: #D4D4D1;
	display: flex;
	justify-content: space-between;
}

footer .footer-nav .footer-nav-box {
	width: 20%;
	padding: 0 10px;
}

footer .footer-nav .footer-nav-box h4 {
	line-height: 1.4;
	font-size: 1.3rem;
	font-weight: 500;
	color: #385098;
}

footer .footer-nav .footer-nav-box:nth-child(n+2) {
	border-left: 1px solid #000000;
}

footer .footer-nav .footer-nav-box ul {
	width: 100%;
	padding-top: 5px;
	list-style: none;
}

footer .footer-nav .footer-nav-box ul li {
	width: 100%;
	line-height: 1.4;
	font-size: 1.2rem;
	color: #000000;
}

footer .footer-nav .footer-nav-box ul li a {
	padding: 0.3em 0.3em 0.3em 1.3em;
	text-decoration: none;
	color: #000000;
	display: block;
}

footer .footer-nav .footer-nav-box ul li a:first-child {
	background-image: url(../images/icon_footer-link.png);
	background-position: 0% 0.5em;
	background-repeat: no-repeat;
	background-size: 0.8em auto;
}

footer .footer-nav .footer-nav-box ul li a:hover {
	background-color: rgba(0,0,0,0.15);
}

@media screen and (max-width:768px) {
	footer .footer-nav {
		display: none;
	}
}

footer .footer-info {
	width: 100%;
	padding: 30px 40px;
	background-color: #385098;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

footer .footer-info .footer-logo {
	width: 280px;
}

footer .footer-info .footer-logo img {
	width: 100%;
	height: auto;
}

@media screen and (max-width:768px) {
	footer .footer-info {
		padding: 20px;
		justify-content: flex-start;
		align-items: flex-start;
		flex-wrap: wrap;
	}
	
	footer .footer-info .footer-logo {
		width: 100%;
		margin-bottom: 20px;
		padding-bottom: 20px;
		border-bottom: 1px solid #FFFFFF;
	}
	
	footer .footer-info .footer-logo img {
		width: 70%;
	}
}

footer .footer-info .footer-manual {
	text-align: right;
}

footer .footer-info .footer-manual p {
	line-height: 1.4;
	font-size: 1.3rem;
	font-weight: 400;
	color: #FFFFFF;
	display: inline-block;
}

footer .footer-info .footer-manual p img {
	width: auto;
	height: 2.2rem;
	margin-left: 0.5em;
	vertical-align: middle;
	display: inline-block;
}

footer .footer-info .footer-manual p a {
	color: #FFFFFF;
	text-decoration: none;
}

footer .footer-info .footer-manual p a:hover {
	opacity: 0.75;
	transition: all 0.3s;
}

footer .copyright {
	padding: 0.7em 0;
	text-align: center;
	line-height: 1.4;
	font-size: 1.3rem;
	font-weight: 500;
	color: #FFFFFF;
	background-color: #2D2D33;
}

/*-----------------------------------------------------------------------
 form parts
-----------------------------------------------------------------------*/
form input[type="text"],
form input[type="tel"],
form input[type="email"],
form input[type="search"],
form input[type="url"],
form input[type="password"],
form input[type="number"],
form select {
	width: auto;
	min-width: 6.0em;
	padding: 0.3em;
	line-height: 1.4;
	font-size: 1.4rem;
	border: none;
	display: inline-block;
}

@media screen and (max-width:768px) {
	
	form input[type="text"],
	form input[type="tel"],
	form input[type="email"],
	form input[type="search"],
	form input[type="url"],
	form input[type="password"],
	form input[type="number"],
	form select {
		margin-top: 4px;
		margin-bottom: 4px;
		margin-right: 8px;
	}
}

form textarea {
	width: 75%;
	height: 160px;
	padding: 0.3em;
	line-height: 1.6;
	font-size: 1.4rem;
	border: none;
	display: inline-block;
}

@media screen and (max-width:768px) {
	form textarea {
		width: 100%;
	}
}

form select option {
	min-width: 6.0em;
}

form input[type="radio"],
form input[type="checkbox"] {
	margin-right: 0.5em;
	vertical-align: middle;
	display: inline-block;
	transform: scale(1.4);
}

form input + input {
	margin-left: 1.0rem;
}

@media screen and (max-width:768px) {
	form input + input {
		margin-left: 0;
	}
}

form label {
	padding-right: 2.0em;
}

form .txt-large {
	padding: 0.5em;
	font-size: 1.6rem !important;
}

form .length-full {
	width: 100% !important;
}

form .year,
form .yen {
	width: 5.0em !important;
	min-width: 5.0em !important;
	max-width: 5.0em !important;
}

form .month,
form .day,
form .number {
	width: 2.5em !important;
	max-width: 2.5em !important;
	min-width: 2.5em !important;
}

@media screen and (max-width:768px) {
	form .year,
	form .month,
	form .day {
		margin-top: 4px;
		margin-bottom: 4px;
	}
}

form .long {
	width: 75% !important;
}