@charset "utf-8";



/*//////////////////

ヘッダー・フッター・ナビゲーション等
共通コンテンツ

//////////////////*/



#header { position: absolute; top: 0; left: 0; z-index: 1000000; width: 100%; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; transition: 0.8s ease-out; }
#header .mainbox {display: flex;flex-direction: row; height: 150px;box-sizing: border-box;justify-content: flex-end;color: #fff;transition: .4s;}

#header .mainbox .logobox{display: flex;align-items: center;flex-shrink: 0;position: absolute; top: 0; bottom: 0; margin-top: auto; margin-bottom: auto; left: 0;}
#header .mainbox .logobox .logo>a{display: flex;flex-direction: row;align-items: center;}
#header .mainbox .logobox .logo .cap{font-size: 1.4rem;margin-left: 30px;line-height: 1.6;}

#header.scroll{ transform: translate(0px, -135px); background: transparent;  }
#header.fixed.scroll { transform: translate(0px, 0px); background: #002348; }
#header.fixed{ position: fixed; }
#header.fixed .mainbox{ height: 120px; }
body:not(#index) #header{ background: #002348; }
@media screen and (max-width: 1500px){
	#header .mainbox .logobox .logo .cap{ display: none; }
}
@media screen and (max-width: 1040px) {
	#header,
	#header.fixed{ position: static; }
	#header .mainbox{height: auto;}
	#header .mainbox .logobox{z-index: 1000;top: 56px;}
	#header .sarabnrlink>.inwrap .mainbox{ height: 90px; }
	#header #gnav .sarabnrlink{ width: 250px; }
}
@media screen and (max-width: 767px) {
	#header .mainbox .logobox .img img{ width: 200px; height: auto; }
	#header .mainbox .logobox{top: 46px;margin-left: -10px;}
}
@media screen and (max-width: 500px) {
	#header .mainbox .logobox{margin-left: -20px;}
}


#gnav{display: flex;}
#gnav .navbox{ display: flex; }
#gnav .incnt.fix{ width: 100%; margin: 0; display: flex; }
#gnav .mainlist li.sub { display: none; }
#gnav.navlist>.inwrap,
#gnav.navlist>.inwrap>.mainlistcover,
#gnav.navlist>.inwrap>.mainlistcover>.inwrap{ display: flex; }
#gnav.navlist>.inwrap>.mainlistcover>.inwrap{ text-align: right;  }

#gnav.navlist .box{ display: flex; justify-content: center; }
#gnav .mainlist { display: flex; }
#gnav .mainlist ul{ display: flex; }
#gnav .mainlist li {display: flex;position: relative;align-items: center;margin-left: 10px;padding-left: 12px;}
#gnav .mainlist li.tabletblock{ display: none; }
#gnav .mainlist li:first-child{ display: none; }
#gnav .mainlist li:first-child+li{ margin-left: 0; padding-left: 0; }
#gnav .mainlist li:first-child+li::before{ content: none; }
#gnav .mainlist li a,
#gnav .mainlist li p { text-decoration: none; position: relative; text-align: center; line-height: 1.6; transition: .3s; overflow: hidden; padding-bottom: 5px; padding-top: 10px; }
#gnav .mainlist li a:hover{ opacity: 0.8; }

#gnav .langlist{ margin-left: 50px; display: flex; align-items: center; padding-top: 5px; }
#gnav .contacticonlink{ display: flex; align-items: center; margin-left: 40px; padding-top: 8px; }


#gnav .bg .inbg{ position: absolute; left: 0; top: 0; width: 100vw; height: 100vh; z-index: 2; background-color: #00a7db; opacity: 0; visibility: hidden; transition: all .6s; cursor: pointer; display: none; }

#gnav.is-open{ opacity: 1; visibility: visible; }
#gnav.is-open .inbg{ opacity: 1; visibility: visible; }
@media screen and (max-width: 1300px){
}
@media screen and (max-width: 1040px){
	#gnav{z-index: 1000000000;opacity: 0;position: fixed;top: 0;bottom: 0;left: 0;right: 0;height: 100vh!important;display: block;overflow: hidden;width: calc(100vw - calc(100vw - 100%))!important;visibility: hidden;pointer-events: none;-webkit-perspective: 500px;perspective: 500px;transition: all .7s ease-out;padding-right: 0;}
	#gnav>.inwrap{ position: relative; z-index: 10; display: block; }
	#gnav.navlist>.inwrap>.mainlistcover>.inwrap{ text-align: left; }
	#gnav .langlist{ margin-left: 0; }
	#gnav.navlist .mainlistcover{ display: block; justify-content: center; height: 100vh; width: 100% }
	#gnav.navlist .mainlistcover>.inwrap{overflow: hidden;overflow-y: scroll;-ms-overflow-style: none;width: 100%;padding: 110px 8% 110px;box-sizing: border-box;height: auto;}
	#gnav.navlist .mainlistcover>.inwrap::-webkit-scrollbar { display: none; }
	#gnav.navlist .mainlist>li,
	#gnav .langlist,
	#gnav .contacticonlink,
	#gnav .sarabnrlink{ transition: .3s; opacity: 0 }
	#gnav .contacticonlink{ margin-left: 0; margin-top: 20px; }
	#gnav.navlist .box{flex-direction: row;margin-left: 0;align-items: center;justify-content: flex-start;margin-top: 50px;}
	#gnav.navlist .box .langlist{ margin-left: 20px; }
	#gnav.navlist .box .sarabnrlink{ margin-left: 20px; }
	#gnav.navlist>.inwrap,
	#gnav.navlist>.inwrap>.mainlistcover,
	#gnav.navlist>.inwrap>.mainlistcover>.inwrap{ display: block; }
	#gnav.navlist>.inwrap>.mainlistcover>.inwrap>.inwrap{ display: block; }

	#gnav .mainlist{ height: auto; display: block; }
	#gnav .mainlist ul{ display: block; }
	#gnav .mainlist li.tabletblock{ display: block; }
	#gnav .mainlist li{ display: block; margin-left: 0;  height: auto;  padding-bottom: 0; letter-spacing: 0.1em; padding-bottom: 0; }
	#gnav .mainlist li:not(:last-child){ margin-bottom: 5px; }
	#gnav.navlist .mainlist>li{font-size: 1.8rem;color: #fff;}
	#gnav .mainlist>li:last-child{ padding-bottom: 0; margin-bottom: 0; border-bottom: none; }
	#gnav .mainlist li:first-child{ display: block; }
	#gnav .mainlist li a,
	#gnav .mainlist li p { padding: 0; display: inline-block; text-align: justify; }
	#gnav .mainlist li a:before{ content: none }

	#gnav.navlist .mainlist>li.hassub{ padding-bottom: 9px; }
	#gnav .mainlist li.hassub a{ vertical-align: middle; }
	#gnav .mainlist li.hassub>p{ cursor: pointer; margin-bottom: -8px; }

	#gnav .mainlist li {display: block;margin-left: 0;padding-left: 0;}
	#gnav .mainlist li::before{content: none;}

	#gnav .sarabnrlink{ width: 280px; }
	#gnav .sarabnrlink>.inwrap .mainbox .txtbox{ background: #fff; color: #002348; }
	#gnav .sarabnrlink>.inwrap .mainbox .imgbox{ width: 120px; }

	#gnav .bg{ opacity: 0; -webkit-transform: translate3d(0, 0, -50px); transform: translate3d(0, 0, -50px); -webkit-transition-duration: .6s; transition-duration: .6s; -webkit-transition-timing-function: cubic-bezier(.075, .82, .165, 1); transition-timing-function: cubic-bezier(.075, .82, .165, 1); opacity: 0; transform: translate3d(0px, 0px, -50px); transition-duration: 0.6s; transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1); background-color: #002348; overflow: hidden; position: absolute; top: 0px; right: 0px; bottom: 0px; left: 0px; }
	#gnav.is-open .bg{  opacity: 1; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); pointer-events:auto; }
	#gnav.is-open .inbg{ opacity: 1; visibility: visible; }
	#gnav .bg .inbg{ position: absolute; left: 0; top: 0; width: 100vw; height: 100vh; z-index: 2; opacity: 0; visibility: hidden; transition: all .6s; cursor: pointer; display: block; }
	#gnav.is-open{ pointer-events: auto }
	#gnav.navlist.is-open .mainlist>li,
	#gnav.navlist.is-open .langlist,
	#gnav.navlist.is-open .contacticonlink,
	#gnav.navlist.is-open .sarabnrlink{ opacity:1; transition: 2s cubic-bezier(0.25, 1, 0.5, 1); }
	#gnav.navlist.is-open .mainlist>li:nth-child(1){ -webkit-transition-delay: .6s; transition-delay: .6s; }
	#gnav.navlist.is-open .mainlist>li:nth-child(2){ -webkit-transition-delay: .65s; transition-delay: .65s; }
	#gnav.navlist.is-open .mainlist>li:nth-child(3){ -webkit-transition-delay: .7s; transition-delay: .7s; }
	#gnav.navlist.is-open .mainlist>li:nth-child(4){ -webkit-transition-delay: .75s; transition-delay: .75s; }
	#gnav.navlist.is-open .mainlist>li:nth-child(5){ -webkit-transition-delay: .8s; transition-delay: .8s; }
	#gnav.navlist.is-open .mainlist>li:nth-child(6){ -webkit-transition-delay: .85s; transition-delay: .85s; }
	#gnav.navlist.is-open .langlist{ -webkit-transition-delay: .9s; transition-delay: .9s; }
	#gnav.navlist.is-open .contacticonlink{ -webkit-transition-delay: .95s; transition-delay: .95s; }
	#gnav.navlist.is-open .sarabnrlink{ -webkit-transition-delay: 1s; transition-delay: 1s; }
}
@media screen and (max-width: 767px){
	#gnav.navlist .box{display: block;margin-top: 40px;}
	#gnav.navlist .box .langlist{ margin-left: 0; }
	#gnav.navlist .box .sarabnrlink{ margin-left: 0; margin-top: 30px; }
}
@media screen and (max-width: 479px){
	#gnav .contacticonlink{ margin-top: 0; padding-top: 0; }
	#gnav.navlist .box{ margin-top: 30px; }
	#gnav.navlist .mainlistcover>.inwrap{ padding-bottom: 85px; padding-top: 85px; }
	#gnav.navlist .mainlist>li{ font-size: 1.6rem; }
}


#menubtn {display: none; z-index: 100000000001; }
@media screen and (max-width: 1040px){
	#menubtn {position: fixed;top: 34px;right: 25px;display: block;background: transparent;width: 60px;height: 16px;cursor: pointer;}
	#menubtn a { text-decoration: none; position: relative; display: block; height: 100%; width: 100%; }
	#menubtn a .line { width: 60px;height: 1px; position: absolute; left: 0; transition: .4s; }
	#menubtn a .line:before { content: ""; background: #002348; display: inline-block; position: absolute; top: 0; bottom: 0; left: 0; right: 0; height: 1px; width: 100%; margin: auto; }
	#menubtn a #line1 { top: -1px; }
	#menubtn a #line2 {top: calc(50% - 1px);}
	#menubtn a #line3 { bottom: 0; }
	#menubtn.active .line:before{ background: #fff; }
	#menubtn.active a #line1 {
		-webkit-transform:translateY(7px) rotate(-42deg);
		transform: translateY(7px) rotate(-42deg);
	}
	#menubtn.active a #line2 { opacity: 0 }
	#menubtn.active a #line3 {
		-webkit-transform:translateY(-7px) rotate(42deg);
		transform: translateY(-7px) rotate(42deg);
	}
}
@media screen and (max-width: 767px){
}
@media screen and (max-width: 500px){
}

.fbnrbox{ margin-top: 140px; }
body:not(#index) #footer{ margin-top: 60px; }
@media screen and (max-width: 767px){
	.fbnrbox{ margin-top: 100px; }
}
@media screen and (max-width: 500px){
	.fbnrbox{ margin-top: 90px; }
	body:not(#index) #footer{ margin-top: 40px; }
}

#footer .fcontactbox{ padding-top: 70px; padding-bottom: 80px; }
#footer .fcontactbox .fcontactlist{ margin-top: 25px; text-align: center; margin-left: -40px; margin-bottom: -40px; overflow: hidden; }
#footer .fcontactbox .fcontactlist>li{ display: inline-block; vertical-align: middle; margin-left: 40px; margin-bottom: 40px; }
#footer .fcontactbox .fcontactlist>li>.inwrap{ display: flex; flex-direction: row; color: #002348; }
#footer .fcontactbox .fcontactlist>li>.inwrap .txtbox{ display: flex; flex-direction: column; justify-content: center; text-align: left; }
#footer .fcontactbox .fcontactlist>li>.inwrap .txtbox .en{ font-size: 2.4rem; line-height: 1.2; }
#footer .fcontactbox .fcontactlist>li>.inwrap .txtbox .jn{ font-size: 1.4rem; }
#footer .fcontactbox .fcontactlist>li>.inwrap .contacticonlink{ display: flex; flex-direction: column; justify-content: center; margin-left: 20px; }
#footer .fcontactbox .fcontactlist>li>.inwrap .contacticonlink>.inwrap{ border: 1px solid #002348; transition: .4s; }
#footer .fcontactbox .fcontactlist>li>.inwrap .contacticonlink>.inwrap>svg .st0{fill:#002348;}
#footer .fcontactbox .fcontactlist>li>.inwrap:hover .contacticonlink>.inwrap{ background: #002348; }
#footer .fcontactbox .fcontactlist>li>.inwrap:hover .contacticonlink>.inwrap .st0{fill:#fff;}
#footer .fcontactbox .fcontactlist>li:nth-child(3)>.inwrap .txtbox .en{ letter-spacing: 0.05em; }
#footer .fcontactbox .fcontactlist>li:nth-child(3)>.inwrap .txtbox .jn{ letter-spacing: 0.08em; }
@media screen and (max-width: 1040px){
	#footer .fcontactbox .fcontactlist{ margin-top: 35px; }
}
@media screen and (max-width: 767px){
	#footer .fcontactbox .fcontactlist{ margin-left: -30px; }
	#footer .fcontactbox .fcontactlist>li{ margin-left: 30px; }
}
@media screen and (max-width: 500px){
	#footer .fcontactbox{ padding-top: 65px; padding-bottom: 55px; }
	#footer .fcontactbox .fcontactlist{margin-bottom: -30px; }
	#footer .fcontactbox .fcontactlist>li{ margin-bottom: 30px; }
}


#footer #mainfooter{ background: #002348; padding-top: 80px; padding-bottom: 45px;color: #fff; }
#footer #mainfooter .fmainbox{ padding-bottom: 35px; margin-bottom: 25px; border-bottom: 1px solid #fff; }
#footer #mainfooter .fmainbox .footerinfo{ display: flex; flex-direction: row; justify-content: space-between; }
#footer #mainfooter .fmainbox .footerinfo .logo{display: flex;align-items: center;flex-shrink: 0;}
#footer #mainfooter .fmainbox .footerinfo .logo>a{display: flex;flex-direction: row;align-items: center;}
#footer #mainfooter .fmainbox .footerinfo .logo .cap{font-size: 1.4rem;margin-left: 30px;line-height: 1.6;}
#footer #mainfooter .fmainbox .footerinfo .address{ font-size: 1.5rem; text-align: right; }
#footer #mainfooter .fmainbox #fnav{ margin-top: 50px; display: flex; flex-direction: row; justify-content: space-between; }
#footer #mainfooter .fmainbox #fnav .sarabnrlink{ width: 280px; }
#footer #mainfooter .fmainbox #fnav .sarabnrlink>.inwrap .mainbox .txtbox{ background: #fff; color: #002348; }
#footer #mainfooter .fmainbox #fnav .sarabnrlink>.inwrap .mainbox .imgbox{ width: 120px; }
#footer #mainfooter .fmainbox #fnav .fnavmain{ display: flex; align-items: flex-end; font-size: 1.5rem; }
#footer #mainfooter .fmainbox #fnav .fnavmain .mainlist,
#footer #mainfooter .fmainbox #fnav .fnavmain .langlist,
#footer #mainfooter .fmainbox #fnav .fnavmain .insta{ display: inline-block; vertical-align: middle; margin-left: 30px; }
#footer #mainfooter .fmainbox #fnav .fnavmain .langlist{ margin-left: 20px; }
#footer #mainfooter .fmainbox #fnav .fnavmain .mainlist>ul>li{ display: inline-block; vertical-align: middle; margin-left: 10px; }
#footer #mainfooter .fmainbox #fnav .fnavmain .insta{line-height: 1.2;}
#footer #mainfooter .flastbox { text-align: right; }
#footer #mainfooter .flastbox .link{ font-size: 1.5rem; display: inline-block; margin-left: 20px; vertical-align: middle; }
#footer #mainfooter .flastbox #cr{ font-size: 1.4rem; display: inline-block; margin-left: 20px; vertical-align: middle; }
@media screen and (max-width: 1040px){
	#footer #mainfooter .fmainbox .footerinfo{ display: block}
	#footer #mainfooter .fmainbox .footerinfo .logo{display: block;margin-bottom: 30px;}
	#footer #mainfooter .fmainbox .footerinfo .logo .img{ margin-bottom: 30px; }
	#footer #mainfooter .fmainbox .footerinfo .logo .img,
	#footer #mainfooter .fmainbox .footerinfo .logo .cap{ display: block; text-align: center; }
	#footer #mainfooter .fmainbox .footerinfo .logo>a{display: block;}
	#footer #mainfooter .fmainbox .footerinfo .logo .cap{margin-left: 0;;}
	#footer #mainfooter .fmainbox .footerinfo .address{ text-align: center; }
	#footer #mainfooter .fmainbox #fnav{ display: none; }
	#footer #mainfooter .flastbox { text-align: center; }
}
@media screen and (max-width: 767px){
}
@media screen and (max-width: 500px){
	#footer #mainfooter{ padding-top: 60px; padding-bottom: 30px; }
	#footer #mainfooter .fmainbox{ padding-bottom: 25px; margin-bottom: 20px; }
	#footer #mainfooter .fmainbox .footerinfo .logo .img img{ width: 220px; height: auto; }
	#footer #mainfooter .fmainbox .footerinfo .logo .cap{ font-size: 1.4rem; }
	#footer #mainfooter .fmainbox .footerinfo .address{ font-size: 1.3rem; }
	#footer #mainfooter .flastbox .link{ font-size: 1.3rem; display: block; margin-left: 0; }
	#footer #mainfooter .flastbox #cr{ font-size: 1.2rem; margin-top: 10px; line-height: 1.8; display: block; margin-left: 0; }
}


#mainv.under{ position: relative; margin-top: 150px; margin-bottom: 30px; }
#mainv.under .pagetitle{ position: relative; z-index: 10; display: flex; align-items: center; justify-content: center; color: #fff; height: 420px; flex-direction: column; line-height: 1.4; padding-top: 10px; }
#mainv.under .pagetitle .en{ font-size: 2rem; }
#mainv.under .pagetitle .jn{ font-size: 5rem; }
#mainv.under .bg{ position: absolute; top: 0; bottom: 0; left: 0; right: 0; }
@media screen and (max-width: 1040px){
	#mainv.under{ margin-top: 0; }
	#mainv.under .pagetitle{ height: 360px; padding-top: 60px; }
	#mainv.under .pagetitle .jn{ font-size: 4rem; }
}
@media screen and (max-width: 767px){
	#mainv.under .pagetitle{ height: 300px; }
	#mainv.under .pagetitle .jn{ font-size: 3rem; }
	#mainv.under .pagetitle .en{ font-size: 1.8rem; }
}
@media screen and (max-width: 500px){
	#mainv.under .pagetitle{ height: 280px; padding-top: 70px; }
	#mainv.under .pagetitle .en{ font-size: 1.4rem; margin-bottom: 5px; }
	#mainv.under .pagetitle .jn{ font-size: 2.8rem; }
}

#pankuzu {line-height: 1.4;position: relative;z-index: 10;box-sizing: border-box;letter-spacing: 0.05em;text-align: right;font-size: 1.5rem;padding-left: 4%;padding-right: 4%;}
#pankuzu ol li { display:inline; }
#pankuzu ol li:before {content:">";display: inline-block;margin: 0 8px 0 5px;font-size: 1rem;vertical-align: 2px;}
#pankuzu ol li p{ display: inline-block; }
#pankuzu ol li .pankuzuarr{ font-size: 1rem; vertical-align: 2px; display: inline-block; margin: 0 8px 0 5px; }
#pankuzu ol li:first-child:before { display: none; }
#pankuzu ol li:first-child img{width: 14px;height: 14px;vertical-align: 0px;margin-right: 5px;}
#pankuzu ol li a{ text-decoration: none; }
#pankuzu ol li a:hover { opacity: 0.7; transition: 0.3s; }
@media screen and (max-width: 1040px) { 
	#pankuzu{ display: none; }
}


#article.under{ padding-top: 60px; }

#main._contentwithside { padding-top: 60px; padding-bottom: 80px; }
#main._contentwithside .maincontent { display: flex; flex-direction: row; margin-bottom: 100px; }
#main._contentwithside .maincontent{ padding-top: 0 !important; }
#main._contentwithside .maincontent #articlewp { width: 100%; }
#main._contentwithside .maincontent #articlewp .copy{ text-align: left; padding-bottom: 10px; }
#main._contentwithside .newssingle{ margin-bottom: 50px; }
#main._contentwithside .newssingle .copy{ padding-bottom: 0; margin-bottom: 15px; text-align: left; }
#main._contentwithside .singleinfo{ font-size: 1.4rem; }
#main._contentwithside .maincontent #side { flex-shrink: 0; width: 260px; margin-left: 8%; margin-top: -15px; }
#news.single #main._contentwithside .maincontent #side{margin-top: -65px;}
#main._contentwithside .maincontent #side .cstitle{ padding-bottom: 15px; margin-bottom: 25px; border-bottom: 1px solid #191919; font-weight: normal; font-size: 2.4rem; text-align: center; }
#main._contentwithside .maincontent #side .csection{ margin-bottom: 55px; }
#main._contentwithside .maincontent #side .csection:last-child{ margin-bottom: 0; }
#main._contentwithside .maincontent #side .cslist>li:not(:last-child){ margin-bottom: 3px; }
#main._contentwithside .maincontent #side .cslist>li>a{  font-size: 1.8rem; }
#main._contentwithside .maincontent #side .cslist>li>a:hover{color: #002348; }
@media screen and (max-width: 1040px) {
	#main._contentwithside { padding-bottom: 0; }
	#main._contentwithside .maincontent { display: block; margin-bottom: 0; }
	#main._contentwithside .maincontent #articlewp{ margin-bottom: 100px; }
	#main._contentwithside .maincontent #articlewp .copy{ text-align: center; }
	#main._contentwithside .newssingle{ text-align: center; }
	#main._contentwithside .newssingle .copy{ text-align: center; }
	#main._contentwithside .maincontent #side { width: 100%; margin-left: 0%; }
	#main._contentwithside .maincontent #side .cstitle{ padding-bottom: 10px; margin-bottom: 20px; font-size: 2rem; }
	#main._contentwithside .maincontent #side .cslist{ columns: 3; }
	#main._contentwithside .maincontent #side .cslist>li>a{ font-size: 1.6rem; }
	#news.single #main._contentwithside .maincontent #side{margin-top: 110px;}
}
@media screen and (max-width: 767px) {
	#main._contentwithside .maincontent #side .cslist{ columns: 2; }
	#main._contentwithside .maincontent #articlewp{ margin-bottom: 80px; }
	#main._contentwithside .maincontent #side { margin-top: 90px; }
	#news.single #main._contentwithside .maincontent #side{margin-top: 90px;}
}
@media screen and (max-width: 500px){
	#main._contentwithside .maincontent #side .cslist{ columns: inherit; }
	#main._contentwithside .maincontent #articlewp{ margin-bottom: 70px; }
	#main._contentwithside .maincontent #side { margin-top: 80px; }
	#news.single #main._contentwithside .maincontent #side{margin-top: 80px;}
}