@charset "UTF-8";
/* CSS Document */

/*------------------------------------------------------

	common css

------------------------------------------------------*/
*, *:before, *:after { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -o-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; }
html { width: 100%; overflow: scroll; font-size: 10px; }
body { font-size: 1.6rem; font-family: " 游ゴシック Medium", 游ゴシック体, "Yu Gothic Medium", YuGothic,メイリオ, Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; color: #333; line-height: 1.5; background-color: #fff; overflow: hidden;}
.container { width: 100%; margin-left: auto; margin-right: auto; position: relative;}
ul { list-style: none; }
ol { list-style: decimal; }
img { vertical-align: bottom; width: auto; max-width: 100%; height: auto; }
main a:link { /*color: #007dd0;*/ /* text-decoration: none; */ }
main a:visited { /*color: #007dd0;*/ }
main a:hover { opacity: 0.7; }

.pc { display:block; }
.sp { display:none; }

main { display: block; margin-bottom: 150px; }
main > .container { line-height: 1.8;}

.font-01 { font-family: 'M PLUS 1', sans-serif; }

@media (min-width: 768px) {
	body { min-width: 1140px; }
	
	.container { max-width: 1100px; }
	.container.w900 { max-width: 900px; }

	a:hover { text-decoration: underline; }
	a img:hover { opacity: 0.8; -webkit-transition: all 400ms cubic-bezier(0.165, 0.84, 0.44, 1); transition: all 400ms cubic-bezier(0.165, 0.84, 0.44, 1); }
	a[href^="tel:"]{ pointer-events: none; }
}

@media screen and (min-width:768px) and ( max-width:1160px) {
    .container { width: -webkit-calc(100% - 60px); width: calc(100% - 60px);}
}

@media (max-width: 767px) {
	body{}
	main {}
	.container { padding-left: 20px; padding-right: 20px; width: auto; }
	.pc { display: none; }
	.sp { display: block; }
}


/*------------------------------------------------------

	header

------------------------------------------------------*/
header {}
header .l_col-head {}
header .l_col-head > p {}
header .l_col-head > p img { width: 420px; height: auto;}

header .l_col-contact {}
header .l_col-contact .tel { border: 1px solid #ea5711; border-radius: 4px; text-align: center;}
header .l_col-contact .tel > p:first-child {}
header .l_col-contact .tel > p:first-child a { color: #ea5711; text-decoration: none; background: url(../images/icon_tel.svg) no-repeat left 60%; padding-left: 28px; background-size: 25px auto;
}
header .l_col-contact .tel > p:last-child { font-weight: bold; font-size: 1.2rem;}
header .l_col-contact .contact { border-radius: 4px; overflow: hidden; text-align: center; height: 65px; }
header .l_col-contact .contact a { background-color: #ea5711; background-size: 27px auto; color: #fff; display: block; height: 100%; text-decoration: none; font-weight: bold; position: relative; font-size: 1.8rem; line-height: 65px; }
header .l_col-contact .contact a::after { content: '';width: 10px; height: 10px; border-top: 2px solid #fff; border-right: 2px solid #fff; -webkit-transform: rotate(45deg); transform: rotate(45deg); position: absolute; right: 20px; top: calc(50% - 5px); }
header .l_col-contact .contact span { background: url(../images/icon_mail.svg) no-repeat 34px 23px; display: inline-block; background-position: 0px center; padding-left: 34px;padding-right: 10px; }


header nav {}
header nav .l_col-nav { padding: 0;}
header nav .l_col-nav li { font-size: 1.8rem; text-align: center;}
header nav .l_col-nav li a { color: #555; text-decoration: none; font-weight: bold;}


@media (min-width: 768px) {

	header .l_col-head { padding: 20px;}
	header .l_col-head > p { width: 515px;}
	
	header .l_col-contact { width: calc(100% - 515px); justify-content: flex-end; display: flex !important;}
	header .l_col-contact .tel { width: 220px; height: 65px; margin-right: 25px;}
	header .l_col-contact .tel > p:first-child a { font-size: 2.4rem;}
	
	header .l_col-contact .contact { width: 220px; }
	header .l_col-contact .contact a { transition: opacity 0.3s; }
	header .l_col-contact .contact a:hover { opacity: 0.8; }


	header .l_col-contact .note { display: none;}
	
	header nav { padding-bottom: 24px; display: block !important;}
	header nav .l_col-nav { border-right: 1px solid #ccc;}
	header nav .l_col-nav li { width: 20%; border-left: 1px solid #ccc; position: relative; }
	header nav .l_col-nav li.active::after { content: ''; position: absolute; width: 100%; height: 6px; background-color: #EA5711; left: 0; bottom: -24px; }
	header nav .l_col-nav li a { display: block; height: 40px; line-height: 40px; transition: color 0.3s;}
	header nav .l_col-nav li::after { content: ''; transition: all 0.3s; }
	header nav .l_col-nav li:hover a { color: #EA5711;}
	header nav .l_col-nav li:hover::after { content: ''; position: absolute; width: 100%; height: 6px; background-color: #F1AD1B; left: 0; bottom: -24px;}
	
	header #spMenuBtn { display: none;}
}

@media (max-width: 1100px) {

	header .l_col-head > p { width: calc(100% - 465px);}
	header .l_col-contact { width: 465px;}
}

@media (max-width: 767px) {

	header .l_col-head > p { width: 100%; margin: 0; height: 50px; padding-top: 10px;}
	header .l_col-head > p img { width: 171px; height: auto; margin-left: auto; margin-right: auto;}
	
	header .l_col-contact { display: none; width: calc(100% - 40px); margin-left: auto; margin-right: auto;}
	header .l_col-contact .tel { padding: 0 10px 5px; margin-bottom: 4px; position: relative;}
	header .l_col-contact .tel > p:first-child { border-bottom: 1px dashed #EA5711; margin-bottom: 5px;}
	header .l_col-contact .tel > p:first-child a { font-size: 2.3rem;}
	header .l_col-contact .tel > p:first-child a::after { content: ''; position: absolute; width: 100%; height: 100%; left: 0; top: 0; }
	
	header .l_col-contact .note { text-align: center; font-size: 1.2rem; }


	header nav { display: none;}
	header nav .l_col-nav { padding: 20px 0 30px; }
	header nav .l_col-nav li { width: 100%; font-size: 1.6rem; margin-bottom: 0; border-bottom: 1px solid #ccc; }
	header nav .l_col-nav li a { display: block; height: 100%; padding: 13px 10px; }
	header nav .l_col-nav li:first-child { border-top: 1px solid #ccc; }



	header nav.container { display: none; padding: 40px 30px; position: absolute; top: 50px; left: -1px; right: 0; margin: 0 auto; width: 100vw; height: 100vh; background: rgba(255,255,255,1); z-index: 999; }



	header #spMenuBtn { padding: 10px; width: auto; position: absolute; right: 0; top: 0; }
	header #spMenuBtn::after { content: 'MENU'; font-size: 1rem; position: relative; top: -4px;}
	header #spMenuBtn span { display: block; width: 24px; height: 3px; background: #EA5711; margin-left: auto; margin-right: auto; }
	header #spMenuBtn span:not(:last-of-type) { margin-bottom: 5px; }

	#spMenuBtn:not(.first_read) span:nth-of-type(1) {
		animation: menu-bar01 .5s forwards;
	}
	@keyframes menu-bar01 {
		0% {
		transform: translateY(8px) rotate(45deg);
		}
		50% {
		transform: translateY(8px) rotate(0);
		}
		100% {
		transform: translateY(0) rotate(0);
		}
	}
	#spMenuBtn:not(.first_read) span:nth-of-type(2) {
		transition: all .25s .25s;
		opacity: 1;
	}
	#spMenuBtn:not(.first_read) span:nth-of-type(3) {
		animation: menu-bar02 .5s forwards;
	}
	@keyframes menu-bar02 {
		0% {
		transform: translateY(-8px) rotate(-45deg);
		}
		50% {
		transform: translateY(-8px) rotate(0);
		}
		100% {
		transform: translateY(0) rotate(0);
		}
	}
	#spMenuBtn.active:not(.first_read) span:nth-of-type(1) {
		animation: active-menu-bar01 .5s forwards;
	}
	@keyframes active-menu-bar01 {
		0% {
		transform: translateY(0) rotate(0);
		}
		50% {
		transform: translateY(8px) rotate(0);
		}
		100% {
		transform: translateY(8px) rotate(45deg);
		}
	}
	#spMenuBtn.active:not(.first_read) span:nth-of-type(2) {
		opacity: 0;
	}
	#spMenuBtn.active:not(.first_read) span:nth-of-type(3) {
		animation: active-menu-bar03 .5s forwards;
	}
	@keyframes active-menu-bar03 {
		0% {
		transform: translateY(0) rotate(0);
		}
		50% {
		transform: translateY(-8px) rotate(0);
		}
		100% {
		transform: translateY(-8px) rotate(-45deg);
		}
	}

}



/*------------------------------------------------------



------------------------------------------------------*/
#headVisual { background: url(../images/bg_headtitle.jpg) no-repeat center center; background-size: cover;}
#headVisual .container { text-align: center;}
#headVisual .main { background: #61514f; padding: 3px 13px 3px 17px; display: inline-block; color: #fff; }
#headVisual .sub { letter-spacing: 5px; }
#headVisual .sub span { display: inline-block; min-width: 60px; background: linear-gradient(to right, #f9c73d, #ee7215); height: 24px; line-height: 24px; letter-spacing: 0.1em; padding: 1px 9px 1px 11px; color: #fff; }

@media (min-width: 768px) {
	#headVisual .container { height: 280px; padding-top: 90px;}
	#headVisual .main { font-size: 3.6rem; margin-bottom: 15px; letter-spacing: 5px; }

}

@media (max-width: 767px) {

	#headVisual .container { height: 140px; padding-top: 30px;}
	#headVisual .main { font-size: 2.4rem; padding: 5px 8px 5px 10px; margin-bottom: 10px; letter-spacing: 3px; }

}


/*------------------------------------------------------

	footer

------------------------------------------------------*/
footer { background-color: #F5F2EB;}

#footSoudan { background-color: #f2ad1a; padding-top: 45px; padding-bottom: 50px;}
#footSoudan .container {}
#footSoudan .container > .title { font-size: 3.2rem; text-align: center; font-weight: bold; color: #fff;}
#footSoudan .container > .title+p { font-size: 1.8rem; text-align: center; color: #fff;}

#footSoudan .l_col-soudan {}
#footSoudan .l_col-soudan > section { background-color: #fff; border-radius: 4px; align-items: center;}
#footSoudan .l_col-soudan .l_col-tel { justify-content: center;}
#footSoudan .l_col-soudan .l_col-tel .title { font-size: 2rem; color: #EA5711; font-weight: bold; line-height: 1.3; position: relative;}
#footSoudan .l_col-soudan .l_col-tel .title::before { content: ''; border: 2px solid #EA5711; width: 50px; height: 50px; display: inline-block; border-radius: 4px; background: url(../images/icon_tel.svg) no-repeat center center;background-size: 32px auto; position: absolute; left: -62px; top: calc(50% - 25px); }
#footSoudan .l_col-soudan .l_col-tel div {}
#footSoudan .l_col-soudan .l_col-tel .tel { line-height: 1.2;}
#footSoudan .l_col-soudan .l_col-tel .tel a { font-size: 3rem; color: #333; text-decoration: none;}
#footSoudan .l_col-soudan .l_col-tel .tel+p { font-size: 1.4rem;}

#footSoudan .l_col-soudan .l_col-contact { justify-content: center; }
#footSoudan .l_col-soudan .l_col-contact .title { font-size: 2rem; color: #EA5711; font-weight: bold; line-height: 1.3; position: relative;}
#footSoudan .l_col-soudan .l_col-contact .title::before { content: ''; border: 2px solid #EA5711; width: 50px; height: 50px; display: inline-block; border-radius: 4px; background: url(../images/icon_mail-orange.svg) no-repeat center center;background-size: 32px auto; position: absolute; left: -62px; top: calc(50% - 25px); }
#footSoudan .l_col-soudan .l_col-contact div {}
#footSoudan .l_col-soudan .l_col-contact .btn-1 { display: block; min-width: auto;}

footer .l_col-foot {}
footer .l_col-foot .info {}
footer .l_col-foot .info .logo { background-image: linear-gradient(to right, #EA5711, #EA5711 1px, transparent 1px, transparent 4px); background-size: 5px 1px; background-position: left bottom; background-repeat: repeat-x; }
footer .l_col-foot .info .logo img { width: 420px; height: auto;}
footer .l_col-foot .info address { font-style: normal; margin-bottom: 10px;}
footer .l_col-foot .info address p {}
footer .l_col-foot .info .btn-2 { color: #EA5711; border-color: #ccc; line-height: 40px;}
footer .l_col-foot .info .btn-2::after { border-top-color: #EA5711; border-right-color: #EA5711;}

footer .l_col-foot .map {}
footer .l_col-foot .map iframe {}

footer nav { background-color: #fff;}
footer nav .l_col-nav { padding: 0;}
footer nav .l_col-nav li { font-size: 1.8rem; text-align: center; }
footer nav .l_col-nav li a { color: #555; text-decoration: none; font-weight: bold; }

#copy { background-color: #ea5711; text-align: center; color: #fff; font-size: 1.2rem; padding: 11px 5px;}

@media (min-width: 768px) {
	
	#footSoudan .l_col-soudan { padding-top: 50px;}
	#footSoudan .l_col-soudan > section { width: calc(50% - 20px); height: 180px;}
	#footSoudan .l_col-soudan .l_col-tel { padding-left: 55px;}
	#footSoudan .l_col-soudan .l_col-tel .title { margin-right: 30px;}
	
	#footSoudan .l_col-soudan .l_col-contact { padding-left: 70px; }
	#footSoudan .l_col-soudan .l_col-contact .title { margin-right: 30px;}
	#footSoudan .l_col-soudan .l_col-contact div { width: 240px; height: 55px; }


	footer .l_col-foot { padding-top: 60px; padding-bottom: 50px; }
	footer .l_col-foot > div { width: calc(50% - 20px);}
	footer .l_col-foot .info .logo { padding-bottom: 12px; margin-bottom: 12px; }

	footer nav { padding: 20px 0;}
	footer nav .l_col-nav { border-right: 1px solid #ccc; }
	footer nav .l_col-nav li { width: 20%; border-left: 1px solid #ccc; }
	footer nav .l_col-nav li a { display: block; height: 40px; line-height: 40px;}
	footer nav .l_col-nav li:hover a { text-decoration: underline;}

}

@media (max-width: 1100px) {
	#footSoudan .l_col-soudan .l_col-tel { text-align: center; padding: 30px 0 25px;}
	#footSoudan .l_col-soudan .l_col-tel .title { text-align: left; position: relative; left: 30px; display: inline-block; margin-bottom: 15px; }
	#footSoudan .l_col-soudan .l_col-tel div { width: 100%; margin-bottom: 0;}
	
	#footSoudan .l_col-soudan .l_col-contact { text-align: center; padding: 30px 0 25px; margin-bottom: 0;}
	#footSoudan .l_col-soudan .l_col-contact .title { text-align: left; position: relative; left: 30px; display: inline-block; margin-bottom: 20px; }
	#footSoudan .l_col-soudan .l_col-contact div { width: 100%; margin-bottom: 0; }
	#footSoudan .l_col-soudan .l_col-contact a { max-width: 240px; margin-left: auto; margin-right: auto;}
}

@media (max-width: 767px) {

	#footSoudan { padding: 25px 0 50px;}
	#footSoudan .container > .title { font-size: 2.8rem; margin-bottom: 8px;}
	#footSoudan .container > .title+p { font-size: 1.6rem; margin-bottom: 20px;}
	
	#footSoudan .l_col-soudan .l_col-tel { width: 100%; }	
	#footSoudan .l_col-soudan .l_col-contact { width: 100%;}


	footer .l_col-foot { padding-top: 30px; padding-bottom: 40px; padding-left: 15px; padding-right: 15px;}
	footer .l_col-foot .info { width: 100%; margin-bottom: 35px;}
	footer .l_col-foot .info .logo { padding-bottom: 30px; margin-bottom: 30px;}
	footer .l_col-foot .info .logo img { max-width: 171px; height: auto;}
	footer .l_col-foot .info .logo img.sp { display: inline-block;}
	footer .l_col-foot .info .logo span { display: inline-block; color: #EA5711; font-size: 1rem; font-weight: bold; padding-left: 12px; position: relative; top: 5px;}
	footer .l_col-foot .info .btn-2 { max-width: 240px; display: block; margin-left: auto; margin-right: auto;}

	footer .l_col-foot .map { width: 100%; margin-bottom: 0;}
	
	footer nav .l_col-nav { padding: 20px 15px 30px;}
	footer nav .l_col-nav li { width: 100%; font-size: 1.6rem; margin-bottom: 0; border-bottom: 1px solid #ccc;}
	footer nav .l_col-nav li a { display: block; height: 100%; padding: 13px 10px;}
	footer nav .l_col-nav li:first-child { border-top: 1px solid #ccc;}
	
}


/*------------------------------------------------------

		breadcrumb

------------------------------------------------------*/
.breadcrumb {}
.breadcrumb a { text-decoration: underline; color: #ea5711 !important; text-decoration: none; }
.breadcrumb .l_col-breadcrumb { padding: 0; -webkit-box-align: center; -ms-flex-align: center; align-items: center; justify-content: flex-start; font-size: 1.4rem; }
.breadcrumb .l_col-breadcrumb li:not(:last-child)::after { content: '/'; padding: 0 5px;}

@media (min-width: 768px) {
	.breadcrumb { height: 60px; line-height: 60px; margin-bottom: 50px;}
	.breadcrumb a:hover { text-decoration: underline; }
}

@media (max-width: 767px) {
	.breadcrumb { margin-bottom: 25px; }
	.breadcrumb .l_col-breadcrumb { padding: 10px 0;}
	.breadcrumb .l_col-breadcrumb li { margin-bottom: 0;}
}



/*------------------------------------------------------

	parts

------------------------------------------------------*/
.heading-1 { position: relative; background: url(../images/bg_stripe.png) repeat left top; line-height: 1.2;}
.heading-1::before {}
.heading-1::after { content: ''; height: 5px; background: rgb(242,173,26); background: linear-gradient(90deg, rgba(242,173,26,1) 20%, rgba(234,87,17,1) 100%); width: 100%; display: block; position: absolute; left: 0; bottom: 0;}
.heading-1 span { display: inline-block; position: relative; }
.heading-1 span::before { content: ''; position: absolute; width: 6px; height: 45%; background-color: #f2ad1a; left: 0; top: 5%;}
.heading-1 span::after { content: ''; position: absolute; width: 6px; height: 45%; background-color: #ea5712; left: 0; bottom: 5%;}

.heading-2 { font-size: 2.4rem; color: #61524E; position: relative; padding-left: 15px; margin-bottom: 20px; line-height: 1.2; padding-bottom: 6px; letter-spacing: 1px; background-image: linear-gradient(to right, #EA5711, #EA5711 1px, transparent 1px, transparent 4px); background-size: 5px 1px; background-position: left bottom; background-repeat: repeat-x;}
.heading-2::before { content: ''; position: absolute; width: 6px; height: 80%; background-color: #EA5711; left: 0; top: calc(10% - 3px);}
.heading-2::after {}

.heading-3 { font-size: 2rem; color: #EA5711; margin-bottom: 12px; line-height: 1.2;}

.heading-4 { color: #61524E; font-size: 1.8rem; position: relative; padding-left: 12px; margin-bottom: 10px; line-height: 1.2;}
.heading-4::before { content: ''; position: absolute; width: 8px; height: 8px; background-color: #61524E; left: 0; top: calc(0.5em - 4px);}


ul.list-1 {}
ul.list-1 li { position: relative; padding-left: 15px;}
ul.list-1 li::before { content: ''; position: absolute; width: 8px; height: 8px; background-color: #F1AD1B; left: 0; top: calc(0.5em + 2px); border-radius: 50%;}

table.table-1 { width: 100%; border-left: 1px solid #ddd; border-top: 1px solid #ddd;}
table.table-1 thead { background: rgb(242,173,26); background: linear-gradient(90deg, rgba(242,173,26,1) 20%, rgba(234,87,17,1) 100%); }
table.table-1 thead th { color: #fff;}
table.table-1 tr {}
table.table-1 th { padding: 16px 5px; border-bottom: 1px solid #ddd; border-right: 1px solid #ddd;}
table.table-1 td { padding: 16px 5px; border-bottom: 1px solid #ddd; border-right: 1px solid #ddd; text-align: center; }
table.table-1 td.bg-1 { background-color: #FFE6DA;}
table.table-1 td.bg-2 { background-color: #F5F2EB;}
table.table-1 thead th,
table.table-1 td.bg-1 { white-space: nowrap; vertical-align: middle; }

table.table-2,
figure.table-2 table { width: 100%;}
table.table-2 tr,
figure.table-2 table tr { background-image: linear-gradient(to right, #EA5711, #EA5711 1px, transparent 1px, transparent 4px); background-size: 5px 1px; background-position: left bottom; background-repeat: repeat-x;}
table.table-2 th,
figure.table-2 table th { font-size: 1.5rem; color: #EA5711; text-align: left; padding: 8px 5px; white-space: nowrap;}
table.table-2 td,
figure.table-2 table td { font-size: 1.5rem; padding: 8px 5px;}
table.table-2 tr:last-child,
figure.table-2 table tr:last-child { border-bottom: none;}

.btn-1 { position: relative; text-decoration: none; color: #fff; background-color: #61514f; border-radius: 4px; display: block; text-align: center; line-height: 55px; color: #fff; font-size: 1.8rem; font-weight: bold; min-width: 270px; display: inline-block; }
.btn-1::after { content: '';width: 10px; height: 10px; border-top: 2px solid #fff; border-right: 2px solid #fff; -webkit-transform: rotate(45deg); transform: rotate(45deg); position: absolute; right: 20px; top: calc(50% - 5px); }

.btn-2 { position: relative; text-decoration: none; color: #82BA56; background-color: #fff; border: 1px solid #82BA56; border-radius: 4px; display: block; text-align: center; line-height: 55px; font-size: 1.8rem; font-weight: bold; min-width: 270px; display: inline-block; }
.btn-2::after { content: '';width: 10px; height: 10px; border-top: 2px solid #82BA56; border-right: 2px solid #82BA56; -webkit-transform: rotate(45deg); transform: rotate(45deg); position: absolute; right: 20px; top: calc(50% - 5px); }

.btn-3 { position: relative; text-decoration: none; color: #61524E; border: 1px solid #ccc; border-radius: 4px; display: block; line-height: 80px; font-size: 1.8rem; font-weight: bold; background: url(../images/icon_mail-orange.svg) no-repeat 18px center #fff; padding-left: 80px; background-size: 42px auto; min-width: 340px; display: inline-block; }
.btn-3::after { content: '';width: 10px; height: 10px; border-top: 2px solid #EA5711; border-right: 2px solid #EA5711; -webkit-transform: rotate(45deg); transform: rotate(45deg); position: absolute; right: 20px; top: calc(50% - 5px); }

@media (min-width: 768px) {
	.heading-1 { font-size: 2.8rem; margin-bottom: 55px; padding: 30px 20px; }
	.heading-1 span { padding-left: 20px; }

	ul.list-1 li::before { content: '';}

	table.table-2 th,
	figure.table-2 table th { width: 30%;}

	[class^='btn'] { transition: opacity 0.3s; }
	[class^='btn']:hover { opacity: 0.8; }

}

@media (max-width: 767px) {
	.heading-1 { font-size: 2.4rem; margin-bottom: 35px; padding: 30px 15px; }
	.heading-1 span { padding-left: 15px; }

	ul.list-1 li::before { content: '';}
}

/*------------------------------------------------------

    contentsInner

------------------------------------------------------*/
.contentsInner {}

@media (min-width: 768px) {
    .contentsInner { max-width: 910px; margin-left: auto; margin-right: auto;}
}

@media (max-width: 767px) {
    .contentsInner {}
}


/*------------------------------------------------------



------------------------------------------------------*/


@media (min-width: 768px) {

}

@media (max-width: 767px) {

}



/*------------------------------------------------------



------------------------------------------------------*/


@media (min-width: 768px) {

}

@media (max-width: 767px) {

}