@charset "utf-8";
/* 
	
CSS base.css */



/*
base #0d0d0d
main #005188
*/



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


Header


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

#header { width: 100%; z-index: 100; position: absolute; top: 0; }
#header .incnt.fix{ position: static; }
#header .mainbox { display: flex; align-items: center; justify-content: space-between; height: 115px; }
#header .logo { line-height: 0; }
#header .logo img { width: 308px; }
/* スクロール時fixed */
#header.fixed { position: fixed; top: 0; background: #fff; background: rgba(255,255,255,0.97); animation: navfit 0.5s ease-out 0s 1 normal both; }
#header.fixed .mainbox { height: 80px; }
#header.fixed .logo img { width: 246px; }
@media screen and (max-width: 1200px) {
	#header .logo img{ width: 246px }
}
@media screen and (max-width: 1040px) {
	#header{ position: static; }
	#header .logo{ width: 246px;  }
	#header .mainbox { height: 100px; }
}
@media screen and (max-width: 767px) {
	#header,
	#header .mainbox { height: 80px; }
	#header .logo { left: 20px; }
	#header .logo img { width: 206px; }
}

/* スクロール時fixedのアニメーション */
@keyframes navfit {
  0% { transform: translate(0px, -50px); }
  100% { transform: translate(0px, 0px);  }
}







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


Nav


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

#gnav{ flex-shrink: 0; }
#gnav .navbox{  }
#gnav .incnt.fix{ width: 100%; margin: 0 }
#gnav>.scrollcover{  }
#gnav .sitetitlebox,
#gnav .mainbox li.top,
#gnav .mainbox li.sub { display: none; }
#gnav.navlist .incnt>.mainlistcover>.inwrap>.inwrap>.inwrap{ display: flex; flex-direction: row; align-items: center; justify-content: center; text-align: right; }

#gnav .mainbox { display: flex;}
#gnav .mainbox ul{ display: flex; height: 100% }
#gnav .mainbox li { display: flex; position: relative; height: 100%; align-items: center; margin-left: 1.3em; }
#gnav .mainbox li._1{ display: none; }
#gnav .mainbox .hassub span { font-weight: bold; }
#gnav .mainbox .hassub span._1{ font-size: 1.2rem; text-align: center }
#gnav .mainbox li.tabletblock{ display: none; }
#gnav .mainbox li a,
#gnav .mainbox li p { text-decoration: none; position: relative; vertical-align: middle; font-size: 1.5rem; cursor: pointer; text-align: center; line-height: 1.6; transition: .3s; overflow: hidden; padding-bottom: 5px }
#gnav .mainbox li a:before{ content: ""; background: #c30c27; display: inline-block; position: absolute; bottom: 0; left: 0; width: 0; height: 1px; transition: .3s }
#gnav .mainbox li a:hover{ color: #c30c27; }
#gnav .mainbox li a:hover:before { width: 100% }
#gnav .mainbox li[data-cat="contents"]::after { display: none; }

	
/* sub */
#gnav.navlist .main>li.hassub{ position: relative; }
#gnav .main li>div.sub { opacity: 0; position: absolute; top: 80px; left: 50%; margin-left: -101px; min-width: 302px; box-sizing: border-box; padding: 30px 30px; z-index: 1000; background: #00428d; color: #fff; text-align: center; transition: .3s; visibility: hidden; }
#gnav .main li>div.sub>ul{ margin-left: -20px; display: block; text-align: left; }
#gnav .main li>div.sub>ul>li{ display: inline-block; text-align: left; margin-left: 20px }
#gnav .main li>div.sub a{ color: #fff }
#gnav .main li>div.sub a:hover{ color: #cccccc; }
#gnav .main li:hover>div.sub{ opacity: 1; visibility: visible; }

#gnav .mainbox+.box2{ margin-left: 30px }
#gnav .mainbox+.box2>.mailbox{ display: flex; }
#gnav .mainbox+.box2>.mailbox>.btnlink{ padding: 15px 45px 15px 40px; width: auto; max-width: 100% }


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

#gnav.is-open{ opacity: 1; visibility: visible; }
#gnav.is-open .whitebg{ opacity: 1; visibility: visible; }

@media screen and (max-width: 1200px){
	#gnav .mainbox+.box2{ margin-left: 20px }
	#gnav .mainbox+.box2>.mailbox>.btnlink{ padding: 15px 40px }
	#gnav .mainbox li { margin-left: 13px; }
}
@media screen and (max-width: 1040px){
	#gnav{  z-index: 100000000; position: fixed; top: 0; bottom: 0; left: 0; right: 0; height: 100vh!important; display: block; overflow: hidden; width: 100vw!important; visibility: hidden; -webkit-perspective: 500px; perspective: 500px; pointer-events: none; }
	#gnav .navbox{ position: relative; z-index: 10; display: flex; flex-direction: row; }
	#gnav>.scrollcover{  }
	#gnav.navlist .incnt>.mainlistcover{ display: flex; flex-direction: column; justify-content: center; height: 100vh; width: 100% }
	#gnav.navlist .incnt>.mainlistcover>.inwrap{ overflow: hidden; /*padding-top: 125px; padding-bottom: 125px; */}
	#gnav.navlist .incnt>.mainlistcover>.inwrap>.inwrap{ overflow-y: scroll; height: 100vh;  width: 100%; padding: 125px 0; box-sizing: border-box; }
	#gnav.navlist .incnt>.mainlistcover>.inwrap>.inwrap>.inwrap{display: block; }
	#gnav.navlist .incnt>.mainlistcover>.inwrap>.inwrap>.inwrap{ text-align: left; transition: .3s; opacity: 0; }

	#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); position: absolute; top: 0px; right: 0px; bottom: 0px; left: 0px; background-color: rgba(255, 255, 255, 0.8); overflow: hidden; }
	#gnav .bg .whitebg{ position: absolute; left: 0; top: 0; width: 100vw; height: 100vh; z-index: 2; cursor: pointer; display: block; }
	#gnav.is-open{ pointer-events: auto; }
	#gnav.is-open .bg{  opacity: 1; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0) }
	#gnav.is-open .whitebg{ opacity: 1; visibility: visible; }
	#gnav.navlist.is-open .incnt>.mainlistcover>.inwrap>.inwrap>.inwrap { opacity:1; transition: 1.8s; }

	#gnav .sitetitlebox,
	#gnav .mainbox li.top,
	#gnav .mainbox li.sub{ display: block; }
	#header #gnav .cap{ display: inline-block; color: #fff }
	#gnav .sitetitlebox{ margin-bottom: 55px; }
	#gnav .top a{ text-decoration: none; color: #fff }

	#gnav .navcap{ background: #0d4b93; padding: 40px 12%; border-top: 1px solid #fff; border-bottom: 1px solid #fff; color: #fff; font-size: 6rem; line-height: 1.2; letter-spacing: 0.1em; font-family: yu-mincho-pr6n,"游明朝体",YuMincho,"Yu Mincho","ヒラギノ明朝 Pro W3","Hiragino Mincho Pro","ＭＳ Ｐ明朝","MS PMincho",serif; }


	/* sub */
	#gnav .mainbox{ height: auto; display: block; }
	#gnav .mainbox ul{ display: block; }
	#gnav .mainbox li.tabletblock{ display: block; }
	#gnav .mainbox li{ display: block; margin-left: 0; margin-bottom: 0; border-bottom: 1px solid #fff; color: #fff }
	#gnav .mainbox li a,
	#gnav .mainbox li p { font-size: 1.8rem; padding-bottom: 5px; color: #fff; display: block; padding: 14px 12%; text-align: left; }
	#gnav .mainbox li a:before{ content: none }
	#gnav .mainbox li a:hover{ background: #fff; color: #00428d }

	#gnav .mainbox+.box2{ margin-left: 0 }
	#gnav .mainbox+.box2>.mailbox{ display: block; }
	#gnav .mainbox+.box2>.mailbox>.btnlink{ padding: 25px 12%; width: auto; max-width: 100%; border-radius: 0; width: 100%; color: #00428d; font-size: 2.2rem; background: #fff; border: none }
	#gnav .mainbox+.box2>.mailbox>.btnlink:hover{ color: #fff!important; background: #c30c27; }
	#gnav .mainbox+.box2>.mailbox>.btnlink:hover:after{ background: #fff!important }
	#gnav .mainbox+.box2>.mailbox>.btnlink._border:hover{ border: none }
	#gnav .main li>div.sub { opacity: 1; visibility: visible;  position: relative; top: 0; left: 0; margin-left: 0; min-width: 100%; box-sizing: border-box; padding: 0; background: transparent; text-align: left; visibility: visible; border-top: 1px solid #fff }
	#gnav .main li>div.sub>ul{ margin-left: 0 }
	#gnav .main li>div.sub>ul>li{ display: block; margin-left: 0 }
	#gnav .main li>div.sub>ul>li:last-child{ border-bottom: 0 }
	#gnav .main li>div.sub a:hover{ color: #00428d; }
	#gnav .mainbox li.hassub p{ background: #0d4b93; display: none; }
	#gnav .main li>div.sub{ border-top: 0 }
	#gnav .main li>div.sub li a:before{ content:"−"; font-size:20px;line-height:0; background: none;position: static;width: auto;height: auto; padding-right:8px;}

}
@media screen and (max-width: 767px){
	#gnav .navcap{ font-size: 4rem; padding: 30px 8%; line-height: 1.4 }
	#gnav .mainbox li a, #gnav .mainbox li p{ padding: 10px 8% }
	#gnav .mainbox+.box2>.mailbox>.btnlink{ padding: 20px 8%; font-size: 2rem }
	#gnav.navlist .incnt>.mainlistcover>.inwrap{ font-size: 1.6rem; }
	#gnav.navlist .incnt>.mainlistcover>.inwrap>.inwrap{ padding:90px 0; }
	#gnav .main li>div.sub li a{ font-size: 1.4rem }
}
@media screen and (max-width: 639px){
	#gnav .navcap{ font-size: 3rem }
}
@media screen and (max-width: 479px){
}










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


Menubtn


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

#menubtn {display: none; z-index: 100000000001; }
@media screen and (max-width: 1040px){
	#menubtn { position: fixed; top: 28px; right: 20px; display: block; background: transparent; width: 50px; height: 46px; cursor: pointer; }
	#menubtn a { text-decoration: none; position: relative; display: block; height: 100%; width: 100%; color: #fff; }
	#menubtn a .line {
		width: 50px; height: 3px; background: #1d4cb4; position: absolute; left: 50%; margin-left: -25px;
		-webkit-transition: all 0.3s; transition: all 0.3s;
	}
	#menubtn a #line1 { top: 15px; }
	#menubtn a #line2 { top: 50%; }
	#menubtn a #line3 { bottom: 12px; }
	#menubtn a .txt { display: none; font-weight: bold; font-size: 1.6rem; color: #1d4cb4; position: absolute; bottom: -30px; left: -2px; letter-spacing: 0.1em }
	#menubtn.active a .txt { display: block; }
	#menubtn.active a .line { width: 66px; background: #fff }
	#menubtn.active a #line1 {
		-webkit-transform:translateY(0) translateX(-10px) rotate(-45deg);
		transform:translateY(0) translateX(-10px) rotate(-45deg);
	}
	#menubtn.active a #line2 { display: none }
	#menubtn.active a #line3 { 
		-webkit-transform:translateY(-15px) translateX(-10px) rotate(45deg);
		transform:translateY(-15px) translateX(-10px) rotate(45deg);
	}
}
@media screen and (max-width: 767px){
	#menubtn { top: 13px }
	#menubtn.active a .line { width: 50px; }
	#menubtn.active a #line1 {
		-webkit-transform:translateY(5px) translateX(0) rotate(-45deg);
		transform:translateY(5px) translateX(0) rotate(-45deg);
	}
	#menubtn.active a #line2 { display: none }
	#menubtn.active a #line3 { 
		-webkit-transform:translateY(-10px) translateX(0) rotate(45deg);
		transform:translateY(-10px) translateX(0) rotate(45deg);
	}
	#menubtn.active a .txt { font-size: 1.3rem; bottom: -25px; left: 5px }
}









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


Mainv.index


//////////////////*/
#mainv_index{ height: calc(100vh - 216px); position: relative; box-sizing: border-box; margin-top: 116px; min-height: 610px }
#mainv_index .bglist,
#mainv_index .bglist>.slidebox,
#mainv_index .bglist>.slidebox .slick-list,
#mainv_index .bglist>.slidebox .slick-list .slick-track{ height: 100% }
#mainv_index .slidebox li.slick-slide{ position: relative; height: 100%; outline: none; }

#mainv_index .imgbox{ height: 100%; width: 100%; position: absolute; top: 0; bottom: 0; left: 0 }
#mainv_index .imgbox>img{ height: 100%; width: 72.5%; object-fit: cover; font-family: 'object-fit: cover;'; }
#mainv_index .txtbox{ display: flex; align-items: flex-end; justify-content: flex-end; padding-bottom: 100px; padding-right: 6%; height: 100%; box-sizing: border-box; }
#mainv_index .txtbox>.inwrap{ position: relative; padding-top: 20px; padding-right: 20px; z-index: 10 }
#mainv_index .txtbox>.inwrap:before{ content: ""; background: #f7f7f7; display: block; position: absolute; top: 0; right: 0; width: calc(100% - 20px); height: calc(100% - 20px); z-index: 1 }
#mainv_index .txtbox>.inwrap>.inwrap{ background: #00428d; padding: 100px 80px 90px; box-sizing: border-box; width: 532px; color: #fff; z-index: 2; position: relative; }
#mainv_index .txtbox .copy{ font-family: yu-mincho-pr6n,"游明朝体",YuMincho,"Yu Mincho","ヒラギノ明朝 Pro W3","Hiragino Mincho Pro","ＭＳ Ｐ明朝","MS PMincho",serif; font-size: 6rem; line-height: 1.4; margin-bottom: 20px; text-align: left; letter-spacing: 0.08em }
#mainv_index .txtbox .txt{ font-weight: bold; letter-spacing: 0.15em }
#mainv_index .txtbox .txt>span{ font-weight: bold; }
#mainv_index .txtbox .link{ position: absolute; bottom: -50px; left: 0; right: 0; margin-left: auto; margin-right: auto; padding-left: 80px; padding-right: 80px; z-index: 100 }

#mainv_index .slick-dots{ position: absolute; bottom: 20px; right: 20px; text-align: right; }
#mainv_index .slick-dots>li{ display: inline-block; margin-left: 10px; margin-right: 0 }
#mainv_index .slick-dots>li>button{ height: 12px; background: #cccccc; display: inline-block; font-size: 0; padding: 0; min-width: 12px; cursor: pointer; position: relative; z-index: 100; border-radius: 50% }
#mainv_index .slick-dots>li>button:hover,
#mainv_index .slick-dots>li.slick-active>button{ background: #00428d }

#mainv_index .linebgicon{ position: absolute; left: -240px; bottom: -480px; z-index: 10 }
@media screen and (max-width: 1200px) {
}
@media screen and (max-width: 1040px) {
	#mainv_index{ margin-top: auto; height: auto; min-height: auto;background: #00428d; }
	#mainv_index .imgbox{ position: static; height: 400px }
	#mainv_index .imgbox>img{ width: 100%; }
	#mainv_index .txtbox{ padding: 0; align-items: flex-start; width: 100%; height: calc(100% - 400px) }
	#mainv_index .txtbox>.inwrap{ padding-top: 0; padding-right: 0; width: 100%; height: 100%; display: flex; }
	#mainv_index .txtbox>.inwrap:before{ content: none }
	#mainv_index .txtbox>.inwrap>.inwrap{ padding: 40px 8%; width: 100%; height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; }
	#mainv_index .txtbox .copy{ font-size: 4rem; margin-bottom: 15px; line-height: 1.6; }
	#mainv_index .txtbox .link{ position: static; margin-top: auto; padding-top: 20px; padding-left: 0; padding-right: 0; width: 100%; text-align: center; }
	#mainv_index .txtbox .txt{ text-align: center; }
	#mainv_index .slick-dots{ bottom: auto; top: 360px; right: 20px; }
	#mainv_index .slick-dots>li{ margin-left: 15px }
	#mainv_index .slick-dots>li>button{ height: 16px; min-width: 16px; }
}
@media screen and (max-width: 767px) {
	#mainv_index .txtbox .copy{ font-size: 3rem }
	#mainv_index .imgbox{ height: 300px }
	#mainv_index .slick-dots{ top: 260px }
	#mainv_index .txtbox{ height: calc(100% - 300px) }
	#mainv_index .txtbox .txt{ text-align: left; }
	#mainv_index .txtbox>.inwrap>.inwrap{ justify-content: flex-start; }
}
@media screen and (max-width: 479px){
}


#indexnewsbox{ display: flex; flex-direction: row; height: 100px; }
#indexnewsbox .titlebox{ background: #124f95; box-sizing: border-box; color: #fff; padding: 20px 50px; display: flex; align-items: center; justify-content: flex-end; width: 28.8%; font-weight: bold; font-size: 2.8rem; flex-shrink: 0; z-index: 1 }
#indexnewsbox .mainbox{ background: #f7f7f7; box-sizing: border-box; padding: 20px 40px; display: flex; align-items: center; position: relative; box-sizing: border-box; width: 100%; height: 100% }
#indexnewsbox .mainbox:before{ content: ""; background: #c30c27; display: inline-block; position: absolute; top: 0; bottom: 0; margin-top: auto; margin-bottom: auto; left: 0; width: 30px; height: 3px; }
#indexnewsbox .mainbox .newslistbox{ width: 715px; box-sizing: border-box; padding-right: 30px; float: right; overflow: hidden; position: relative; height: 34px; display: flex; align-items: center;  }
#indexnewsbox .mainbox .newslistbox .newslist>li{ display: none; }
/*#indexnewsbox .mainbox .newslist{ width: 715px; box-sizing: border-box; padding-right: 30px; float: right; overflow: hidden; position: relative; height: 34px; display: flex; align-items: center; }*/
/*#indexnewsbox .mainbox .newslist>li{ width:100%; height:34px; position:absolute; top:-34px; list-style:none; }
#indexnewsbox .mainbox .newslist>li:nth-child(1){ -webkit-animation:cycle1 25s linear infinite; animation:cycle1 25s linear infinite; }
#indexnewsbox .mainbox .newslist>li:nth-child(2){ -webkit-animation:cycle2 25s linear infinite; animation:cycle2 25s linear infinite; }
#indexnewsbox .mainbox .newslist>li:nth-child(3){ -webkit-animation:cycle3 25s linear infinite; animation:cycle3 25s linear infinite; }
#indexnewsbox .mainbox .newslist>li:nth-child(4){ -webkit-animation:cycle4 25s linear infinite; animation:cycle4 25s linear infinite; }
#indexnewsbox .mainbox .newslist>li:nth-child(5){ -webkit-animation:cycle5 25s linear infinite; animation:cycle5 25s linear infinite; }*/
#indexnewsbox .mainbox .link{  }
#indexnewsbox .mainbox .link>a{ font-weight: bold; font-size: 1.8rem; color: #00428d; text-decoration: none; position: relative; overflow: hidden; padding-bottom: 5px; line-height: 1.4 }
#indexnewsbox .mainbox .link>a:before{ content: ""; background: #c30c27; display: inline-block; position: absolute; bottom: 0; left: 0; width: 0; height: 3px; transition: .3s }
#indexnewsbox .mainbox .link>a:hover{ color: #c30c27 }
#indexnewsbox .mainbox .link>a:hover:before { width: 100% }
@media screen and (max-width: 1300px) {
	#indexnewsbox .titlebox{ width: 20% }
}
@media screen and (max-width: 1040px) {
	#indexnewsbox{ display: block; height: auto; background: #f7f7f7;  padding: 30px 8%;  }
	#indexnewsbox .titlebox{ padding: 0; display: block; width: 100%; margin-bottom: 10px; text-align: center; color: #00428d; background: transparent; }
	#indexnewsbox .mainbox{ padding: 0; flex-direction: column; }
	#indexnewsbox .mainbox .link{ position: static; margin-top: 20px }
	#indexnewsbox .mainbox .link>a{ font-size: 1.8rem; }
	#indexnewsbox .mainbox:before{ content: none; }
	#indexnewsbox .mainbox .newslist{ width: 100% }
	#indexnewsbox .mainbox .newslist>li{  }
	/*#indexnewsbox .mainbox .newslist{ width: 100%; padding-right: 0; float: none; overflow: auto; height: auto; display: block; }
	#indexnewsbox .mainbox .newslist>li{ height:auto; position:static; }*/
	/*#indexnewsbox .mainbox .newslist>li:nth-child(1){ -webkit-animation:none; animation:none; }
	#indexnewsbox .mainbox .newslist>li:nth-child(2){ -webkit-animation:none; animation:none; }*/
	#indexnewsbox .mainbox .newslist>li:nth-child(3),
	#indexnewsbox .mainbox .newslist>li:nth-child(4),
	#indexnewsbox .mainbox .newslist>li:nth-child(5){ -webkit-animation:none; animation:none; display: none; }
	#indexnewsbox .mainbox .link>a{ font-size: 1.8rem;  }
}
@media screen and (max-width: 767px) {
}
@media screen and (max-width: 479px){
}

@keyframes cycle1 {
0%  { top:0px; }
4%  { top:0px; }
16% { top:0px; opacity:1; z-index:0; }
20% { top:34px; opacity:0; z-index:0; }
21% { top:-34px; opacity:0; z-index:-1; }
50% { top:-34px; opacity:0; z-index:-1; }
92% { top:-34px; opacity:0; z-index:0; }
96% { top:-34px; opacity:0; }
100%{ top:0px; opacity:1; }
}
@keyframes cycle2 {
0%  { top:-34px; opacity:0; }
16% { top:-34px; opacity:0; }
20% { top:0px; opacity:1; }
24% { top:0px; opacity:1; }
36% { top:0px; opacity:1; z-index:0; }
40% { top:34px; opacity:0; z-index:0; }
41% { top:-34px; opacity:0; z-index:-1; }
100%{ top:-34px; opacity:0; z-index:-1; }
}
@keyframes cycle3 {
0%  { top:-34px; opacity:0; }
36% { top:-34px; opacity:0; }
40% { top:0px; opacity:1; }
44% { top:0px; opacity:1; }
56% { top:0px; opacity:1; z-index:0; }
60% { top:34px; opacity:0; z-index:0; }
61% { top:-34px; opacity:0; z-index:-1; }
100%{ top:-34px; opacity:0; z-index:-1; }
}
@keyframes cycle4 {
0%  { top:-34px; opacity:0; }
56% { top:-34px; opacity:0; }
60% { top:0px; opacity:1; }
64% { top:0px; opacity:1; }
76% { top:0px; opacity:1; z-index:0; }
80% { top:34px; opacity:0; z-index:0; }
81% { top:-34px; opacity:0; z-index:-1; }
100%{ top:-34px; opacity:0; z-index:-1; }
}
@keyframes cycle5 {
0%  { top:-34px; opacity:0; }
76% { top:-34px; opacity:0; }
80% { top:0px; opacity:1; }
84% { top:0px; opacity:1; }
96% { top:0px; opacity:1; z-index:0; }
100%{ top:34px; opacity:0; z-index:0; }
}


#index #secwrap_1{ padding: 90px 0 0 }
@media screen and (max-width: 1040px) {
}
@media screen and (max-width: 767px) {
}
@media screen and (max-width: 479px){
}







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


Mainv.under


//////////////////*/
#mainv.under { padding-right: 70px; margin-top: 116px; position: relative; }
#mainv.under:before{ content: ""; background: #f7f7f7; display: block; position: absolute; top: 60px; right: 0; bottom: 0; height: calc(100% - 60px); left: 60px; width: calc(100% - 60px); z-index: -1 }
#mainv.under .mainbox{ background: #00428d; height: 360px; display: flex; align-items: center; padding: 20px 210px; box-sizing: border-box; }
#mainv.under .mainbox{  }
@media screen and (max-width: 1200px) { 
	#mainv.under .mainbox{ padding: 20px 12%; }
}
@media screen and (max-width: 1040px){
	#mainv.under{ margin-top: auto; padding-right: 4%; padding-bottom: 40px }
	#mainv.under:before{ top: 40px; height:calc(100% - 40px); left: 4%; width: 96%; }
	#mainv.under .mainbox{ padding: 20px 8%; }
}
@media screen and (max-width: 767px){
	#mainv.under{ padding-bottom: 20px }
	#mainv.under:before{ top: 20px; height:calc(100% - 20px); }
	#mainv.under .mainbox{ height: 290px; }
}
@media screen and (max-width: 479px){
	#mainv.under .mainbox{ height: 240px; }
}


#pankuzu { line-height: 1.4; padding:20px 0; }
#pankuzu ol { margin: 0 125px; font-size: 0; }
#pankuzu ol li { display:inline; font-size: 1.6rem; }
#pankuzu ol li:before { content:"/"; display: inline-block; margin: 0 10px }
#pankuzu ol li:first-child:before { display: none; }
#pankuzu ol li a{ text-decoration: none; }
#pankuzu ol li a:hover { opacity: 0.7; transition: 0.3s; }
@media screen and (max-width: 1200px) { 
	#pankuzu ol{ margin: 0 12%; }
}
@media screen and (max-width: 1040px) { 
	#pankuzu{ display: none; }
}
@media screen and (max-width: 767px) { 
}







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


Content


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

#main { margin-top: 110px; margin-bottom: 200px; }
#index #main{ margin-top: 0; margin-bottom: 0 }
@media screen and (max-width: 1040px) { 
	#main { margin-top: 80px; margin-bottom: 150px; }
}
@media screen and (max-width: 767px) { 
	#main { margin-top: 60px; margin-bottom: 100px; }
}


#yokomain{  }
#yokomain>.incnt{  }
#yokomain>.incnt>.inwrap{ display: flex; flex-direction: row; }
#yokomain>.incnt>.inwrap #secwrap_1{ width: 100%; padding-top: 0; padding-bottom: 0 }
#yokomain #sidebox{ width: 255px; margin-left: 6%; flex-shrink: 0 }
#yokomain #sidebox .csbox{ margin-bottom: 40px }
#yokomain #sidebox .csbox:last-child{ margin-bottom: 0 }
#yokomain #sidebox .cstitle{ font-family: 'Montserrat', sans-serif; letter-spacing: 0.08em; font-weight: bold; color: #00428d; font-size: 1.8rem; margin-bottom: 10px }
#yokomain #sidebox .cslist>li>a{ text-decoration: none; }
#yokomain #sidebox .cslist>li>a:hover{ color: #3982CB }
#yokomain #sidebox .cslist.sidetaglist{ margin-left: -15px; text-align: left; }
#yokomain #sidebox .cslist.sidetaglist>li{ margin-left: 15px; display: inline-block; vertical-align: middle; }
@media screen and (max-width: 1040px) {
	#yokomain>.incnt>.inwrap{ display: block; }
	#yokomain #sidebox{ width: 100%; margin-left: 0; margin-top: 60px }
}
@media screen and (max-width: 767px) { 
	#yokomain #sidebox .cstitle{ margin-bottom: 15px }
	#yokomain #sidebox .csbox{ margin-bottom: 40px }
}
@media screen and (max-width: 479px){
}













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


Footer


//////////////////*/
#fcontactbox{ background: #00428d; padding: 110px 0 90px; color: #fff }
#fcontactbox>.incnt{  }
#fcontactbox .title{ font-weight: bold; font-size: 2.4rem; line-height: 1.6; text-align: center; margin-bottom: 30px; letter-spacing: 0.05em }
#fcontactbox .mainbox{ display: flex; flex-direction: row; justify-content: center; }
#fcontactbox .mainbox .telbox{ margin-right: 6% }
#fcontactbox .mainbox .telbox .teltxt{ font-size: 4rem; line-height: 1; margin-bottom: 10px }
#fcontactbox .mainbox .telbox .teltxt .tel{ color: #fff; letter-spacing: 0.1em; }
#fcontactbox .mainbox .telbox .opentime{ text-align: center; }
#fcontactbox .mainbox .contactbox{  }
#fcontactbox .mainbox .contactbox .link{ width: 276px }
#fcontactbox .mainbox .contactbox .link .btnlink{ text-align: center; }
@media screen and (max-width: 1040px) {
	#fcontactbox{ padding: 100px 0 90px; }
}
@media screen and (max-width: 767px) { 
	#fcontactbox{ padding: 60px 0; }
	#fcontactbox .title{ font-size: 2rem; }
	#fcontactbox .mainbox{ display: block; }
	#fcontactbox .mainbox .telbox{ margin-right: 0; margin-bottom: 30px }
	#fcontactbox .mainbox .telbox .teltxt{ font-size: 3rem; text-align: center; }
	#fcontactbox .mainbox .contactbox .link{ width: 276px; margin-left: auto; margin-right: auto; }
}
@media screen and (max-width: 479px) { 
	#fcontactbox .title{ text-align: left; }
}



#fbnrlist{ background: #f7f7f7; padding: 40px 0 20px }
#fbnrlist>.inwrap{ margin-left: -30px; text-align: center; }
#fbnrlist>.inwrap>li{ margin-left: 30px; display: inline-block; vertical-align: middle; width: 280px; margin-bottom: 20px }
#fbnrlist>.inwrap>li>a{  }
#fbnrlist>.inwrap>li>a>img{  }
#fbnrlist>.inwrap>li>a:hover{ opacity: .7 }
@media screen and (max-width: 1040px) {
}
@media screen and (max-width: 767px) { 
}



#footer{ padding-top: 80px; padding-bottom: 90px }
#footer>.incnt>.mainbox{ display: flex; flex-direction: row; justify-content: space-between; margin-bottom: 30px }
#footer .footerinfo{  }
#footer .footerinfo .logo{ width: 246px; margin-bottom: 20px }
#footer .footerinfo .sitetitle{ font-weight: bold; margin-bottom: 5px }
#footer .footerinfo .address{  }
#footer .footerinfo .address .tel{  }
#footer .footerinfo .cap{ margin-top: 20px }
#footer .footerinfo .instalink{ margin-top: 10px; display: flex; flex-direction: row; align-items: center; }
#footer .footerinfo .instalink:before{ content: ""; background: url(../img/common/instaicon.svg) no-repeat; background-size: contain; width: 38px; height: 38px; display: inline-block; margin-right: 10px; vertical-align: top; }
#footer .footerinfo .instalink>a{ font-weight: bold; font-size: 1.8rem; text-decoration: none; position: relative; display: inline-block; padding-bottom: 5px; overflow: hidden; padding-top: 5px }
#footer .footerinfo .instalink>a:before{ content: ""; background: #c30c27; display: inline-block; position: absolute; bottom: 0; left: 0; width: 0; height: 1px; transition: .3s }
#footer .footerinfo .instalink>a:hover{ color: #c30c27; }
#footer .footerinfo .instalink>a:hover:before { width: 100% }
@media screen and (max-width: 1650px) {
	#footer>.incnt{ max-width: 1380px; margin-left: auto; margin-right: auto; }
}
@media screen and (max-width: 1040px) {
	#footer>.incnt>.mainbox{ display: block; }
	#footer{ padding-top: 60px; padding-bottom: 40px }
	#footer .footerinfo .logo{ margin-bottom: 30px }
	#footer .footerinfo .instalink{ margin-top: 20px }
}
@media screen and (max-width: 767px) { 
	#footer{ padding-top: 40px; padding-bottom: 20px }
	#footer .footerinfo .logo{ width: 206px; margin-bottom: 20px }
	#footer .footerinfo .cap{ font-size: 1.4rem }
	#footer .footerinfo .instalink>a{ font-size: 1.6rem }
	#footer .footerinfo .instalink:before{ vertical-align: 2px; }
}


#fnav {  }
#fnav .mainlist{ display: flex; flex-direction: row; justify-content: center; margin-left: -50px }
#fnav .mainlist>li{ flex-shrink: 0; margin-left: 50px; }
#fnav .mainlist .list>li{ margin-bottom: 5px }
#fnav .mainlist .list>li a{ text-decoration: none; font-size: 1.5rem }
#fnav .mainlist .list>li a:hover{ color: #c30c27; }
#fnav .mainlist .list>li>p{ display: inline; }
#fnav .mainlist .list>li>p,
#fnav .mainlist .list>li>p>a{  }
#fnav .mainlist .sublist{ text-align: left; margin-top: 8px; font-size: 1.4rem; }
#fnav .mainlist .sublist>li{ margin-bottom: 3px }
#fnav .mainlist .sublist>li:before{ content: ""; background: #0d0d0d; display: inline-block; height: 1px; width: 18px; margin-right: 5px; vertical-align: super }
@media screen and (max-width: 1040px){
	#fnav{ display: none; }
}
@media screen and (max-width: 767px) { 
}
@media screen and (max-width: 639px){
}
@media screen and (max-width: 479px){
}

#cr{ font-size: 1.4rem; letter-spacing: 0.05em }
@media screen and (max-width: 1040px) {
}
@media screen and (max-width: 767px) { 
}

