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



/*
base #333
main #005188
*/



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


Header


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

#header { width: 100%; z-index: 200; transition: 0.3s }
#header .mainbox { display: flex; align-items: center; justify-content: space-between; height: 110px; }
#header .logo { line-height: 0; padding-right: 15px; }
#header .logo img { width: 116px; }
/* スクロール時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; z-index: 10000 }
#header.fixed .mainbox { height: 80px; }
#header.fixed .logo img { width: 116px; }
#header .cap { font-size: 1.4rem; width: calc(100% - 700px); line-height: 1.6 }
@media screen and (max-width: 1350px) {
	#header .cap { display: none; }
}
@media screen and (max-width: 1040px) {
}
@media screen and (max-width: 767px) {
	#header .mainbox{ height: 80px }
	#header .logo img { width: 80px; }
	#header.fixed .logo img { width: 80px; }
}

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






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


Nav


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

#gnav{ width: 666px; flex-shrink: 0; }
#gnav .navbox{  }
#gnav .incnt.fix{ width: 100%; margin: 0 }
#gnav>.scrollcover{  }

#gnav .navlogo { display: none; }
#gnav ul.main { text-align: right;display: flex;align-items: center;}
#gnav ul.main>li { display: inline-block; float: left; position: relative; margin-right: 1.3em; }
#gnav ul.main>li:first-child { display: none; }
/*#gnav ul.main>li::after { content: "/"; padding: 0 10px; vertical-align: middle; } */
#gnav ul.main .hassub span { font-weight: bold; }
#gnav ul.main>li.tabletblock{ display: none; }
#gnav ul.main>li a,
#gnav ul.main>li p { text-decoration: none; position: relative; vertical-align: middle; font-weight: bold; cursor: pointer; }
#gnav ul.main>li a:hover { color: #aaa; opacity: 1; }
#gnav ul.main>li[data-cat="contents"]::after { display: none; }

/* contactアイコン　*/
#gnav ul.main>li[data-cat="contact"] { margin-right: 0; height: 130px; z-index: 100; }
#gnav ul.main>li[data-cat="contact"] span.style1 { background: #fff; border-radius: 45px; color: #1D4CB4; padding: 6px 12px; font-size: 1.3rem; font-weight: bold; letter-spacing: 0.01em; }
#gnav ul.main>li[data-cat="contact"]::after { display: none; }
#gnav ul.main>li[data-cat="contact"] a { text-align: center; line-height: 2.5em; background: #1D4CB4; color: #fff; padding: 30px 25px; margin-right: 0; display: block; border-bottom-left-radius: 5px; border-bottom-right-radius: 5px; }
#gnav ul.main>li[data-cat="contact"] a:hover { background: #318fc4; color: #fff; }
#gnav ul.main>li[data-cat="contact"] a svg { fill:#fff; transition: 0.3s; width: 22px; height: 16px; vertical-align: -2px; }
#gnav ul.main>li[data-cat="contact"] a:hover svg { fill:#fff; }


	
/* sub */
#gnav ul.main>li>div.sub { display: none; position: absolute; top: 50px; left: 50%; margin-left: -84px; min-width: 168px; box-sizing: border-box; padding: 25px; background: #fff; z-index: 1000; border: 2px solid #1d4cb4; border-radius: 5px; color: #1d4cb4; text-align: center; }
#gnav ul.main>li>div.sub>ul{ display: inline-block; text-align: left; }
#gnav ul.main>li>div.sub a{ color: #1d4cb4 }
#gnav ul.main>li>div.sub a:hover{ color: #191919 }

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

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

@media screen and (max-width: 1040px){
	#gnav{  z-index: 100000000; opacity: 0; position: fixed; top: 0; bottom: 0; left: 0; right: 0; height: 100vh!important; display: block; overflow: hidden; width: 100vw!important; visibility: hidden;  }
	#gnav .navbox{ position: relative; z-index: 10; display: flex; flex-direction: row; }
	#gnav>.scrollcover{  }
	#gnav .incnt.fix{ width: calc(100% - 120px); margin: 0 60px }

	.navlist{  }
	#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: 200px; padding-bottom: 170px; }
	#gnav.navlist .incnt>.mainlistcover>.inwrap>.inwrap{ overflow-y: scroll; height: calc(100vh - 370px);  /* Safari用 */ width: calc(100% + 20px); padding: 0 2%; box-sizing: border-box; }
	#gnav.navlist .incnt>.mainlistcover>.inwrap>.inwrap>.inwrap{ display: flex; flex-direction: row; justify-content: space-between; padding-right: 10%; align-items: flex-end; }
	#gnav .logo{ margin-left: 0; }
	#gnav.navlist .incnt>.mainlistcover>.inwrap>.inwrap>.inwrap{ display: block; padding-right: 0; }
	#gnav.navlist .incnt>.mainlistcover>.inwrap{ padding-top: 150px; padding-bottom: 0; }
	#gnav.navlist .incnt>.mainlistcover{ display: block; }
	#gnav.navlist .incnt>.mainlistcover>.inwrap>.inwrap{ height: calc(100vh - 380px) }

	#header .navlogo { display: flex; align-items: center; justify-content: space-between; height: 110px; position: absolute; top: 0; left: 0; width: 100%; line-height: 0; padding-right: 15px; }
	#header .navlogo img { width: 116px; }

	#gnav ul.main { display: block; text-align: left; }
	#gnav ul.main>li { display: block; float: none; margin-right: 0; margin-bottom: 10px }
	#gnav ul.main>li:first-child,
	#gnav ul.main>li.tabletblock { display: block; }
	#gnav ul.main>li>a,
	#gnav ul.main>li>p,
	#gnav ul.main .hassub span { font-size: 1.8rem; letter-spacing: 0.1em }


		
	/* sub */
	#gnav ul.main>li>div.sub { display: block!important; position: static; margin-left: 0; min-width: 100%; padding: 0; background: transparent; text-align: left; margin-left: -20px; margin-top: 10px; padding-bottom: 5px; width: 90%; border: none;  }
	#gnav ul.main>li>div.sub>ul{ display: block; text-align: left; }
	#gnav ul.main>li>div.sub>ul>li{ display: inline-block; vertical-align: middle; margin-left: 20px }
	#gnav ul.main>li>div.sub a{ font-size: 1.8rem; font-weight: normal; color: #191919 }
	#gnav ul.main>li>div.sub a:hover{ color: #1d4cb4; }


	/* contactアイコン　*/
	#gnav ul.main>li[data-cat="contact"] { display: none; }
}
@media screen and (max-width: 767px){
	#gnav.navlist .incnt>.mainlistcover>.inwrap{ padding-top: 100px }
	#gnav .incnt.fix{ width: 88%; margin: 0 6% }

	#header .navlogo{ height: 80px }
	#header .navlogo img { width: 80px; }

	#gnav ul.main>li>a,
	#gnav ul.main>li>p,
	#gnav ul.main .hassub span { font-size: 1.6rem; }
	#gnav ul.main>li>div.sub a{ font-size: 1.6rem; }
	#gnav.navlist .incnt>.mainlistcover>.inwrap>.inwrap{ height: calc(100vh - 380px) }
}
@media screen and (max-width: 639px){
}
@media screen and (max-width: 479px){
}


#gnav .box2{ display: none; }
@media screen and (max-width: 1040px) {
	#gnav{  }
	#gnav .box2{ position: absolute; bottom: 0; left: 0; right: 0; width: 100%; height: 150px; display: flex; flex-direction: row; align-items: center; justify-content: space-between; /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#5057d5+1,329393+99 */ background: #5057d5; /* Old browsers */ background: -moz-linear-gradient(left,  #5057d5 1%, #329393 99%); /* FF3.6-15 */ background: -webkit-linear-gradient(left,  #5057d5 1%,#329393 99%); /* Chrome10-25,Safari5.1-6 */ background: linear-gradient(to right,  #5057d5 1%,#329393 99%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#5057d5', endColorstr='#329393',GradientType=1 ); /* IE6-9 */ padding-right: 8%; padding-left: 6%; box-sizing: border-box; }
	#gnav .box2>li{ text-align: center; }
	#gnav .box2>li:last-child{ margin-bottom: 0 }
	#gnav .box2>.telbox{  }
	#gnav .box2>.telbox>a{ text-decoration: none; color: #fff }
	#gnav .box2>.telbox .tel{ margin-bottom: 10px; line-height: 1.4 }
	#gnav .box2>.telbox .tel>img{ width: 18px; height: 22px; display: inline-block; vertical-align: middle; margin-right: 10px }
	#gnav .box2>.telbox .tel>span{ font-weight: bold; font-size: 3.5rem; line-height: 1; display: inline-block; vertical-align: middle; }
	#gnav .box2>.telbox .txt{ text-align: center; font-size: 1.6rem }
	#gnav .box2>.mailbox{  }
	#gnav .box2>.mailbox>a{ display: inline-block; background: #fff; color: #1d4cb4; border: 1px solid #fff; border-radius: 10px; text-decoration: none; width: 280px; box-sizing: border-box; padding: 15px 6%; text-align: center; }
	#gnav .box2>.mailbox>a>svg{ width: 26px; height: 18px; display: inline-block; vertical-align: middle; margin-right: 10px }
	#gnav .box2>.mailbox>a>svg .cls-1{ transition: 0.3s; fill:#1d4cb4; }
	#gnav .box2>.mailbox>a>span{ font-weight: bold; font-size: 1.8rem; display: inline-block; vertical-align: middle; }
	#gnav .box2>.mailbox>a:hover{ background: #1d4cb4; color: #fff }
	#gnav .box2>.mailbox>a:hover>svg .cls-1{fill:#fff;}
}
@media screen and (max-width: 767px) {
	#gnav .box2{ height: 220px; padding-right: 8%; padding-left: 8%; flex-direction: column; justify-content: center;  }
	#gnav .box2>li{ margin-bottom: 20px; }
	#gnav .box2>.telbox .tel>span{ font-size: 2.8rem }
	#fcontactbox .box2>.mailbox>a{ padding: 13px 6%; width: 100% }
	#gnav .box2>.mailbox>a>span{ font-size: 1.5rem }
}








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


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; transition : 0.3s; 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; }
	#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 { position: relative; height: 740px; z-index: 10; }
#mainv.index .bg { height: 740px; width: 100%; object-fit: cover; font-family: 'object-fit: cover;'; /*IE対策*/ }
#mainv.index .copybox { display: flex; flex-direction: column; position: absolute; top: 330px; left: 15.5%; text-align: left; }
#mainv.index .copybox .maincopy{ margin-bottom: 10px; }
#mainv.index .copybox .maincopy>div>p { font-size: 4rem; line-height: 1; font-weight: bold; letter-spacing: 0.15em; display: inline-block;background: #fff; padding: 25px 0 25px 25px; }
#mainv.index .copybox .maincopy>div:first-child>p{ padding-bottom: 10px }
#mainv.index .copybox .maincopy>div:last-child>p{ padding-top: 10px }
#mainv.index .copybox .maincopy>div>p span{ font-weight: bold; }
#mainv.index .copybox .subtxt { font-size: 1.6rem; }
#mainv.index .copybox .txtbox { background: #fff; padding: 10px 25px; width: 400px; box-sizing: border-box; line-height: 1.6 }
#mainv.index .bglist{  position: absolute; top: 0; bottom: 0; left: 0; right: 0; z-index: -2;}
#mainv.index .slidebox { z-index: -2; }
#mainv.index .slidebox li{ margin-left: 30px; margin-right: 30px }
#mainv.index .slidebox.slick-slider .slick-list{ padding-left: 380px!important }
#mainv.index .slidebox.slick-slider .slick-list .slick-slide{ outline:none; }
@media screen and (max-width: 1040px){
	#mainv.index { height: 450px; }
	#mainv.index .bg { height: 450px; }
	#mainv.index .copybox { top: auto; bottom: 60px;  left: 8%; }
	#mainv.index .copybox .maincopy>div>p{ font-size: 3rem; padding: 15px 0 15px 15px; }
	#mainv.index .slidebox.slick-slider .slick-list{ padding-left: 0!important; padding-right: 60px!important }
	#mainv.index .slidebox li{ margin-left: 0 }
}
@media screen and (max-width: 767px){
	#mainv.index .copybox .maincopy>div>p{ font-size: 2rem; padding: 10px 0 10px 15px; letter-spacing: 0.05em; }
	#mainv.index .slidebox li{ margin-right: 20px }
	#mainv.index .copybox .maincopy>div:first-child>p{ padding-bottom: 8px ; border-radius: 5px 5px 0 0 }
	#mainv.index .copybox .maincopy>div:last-child>p{ padding-bottom: 10px ; border-radius: 0 5px 5px 5px  }
}
@media screen and (max-width: 479px){
	#mainv.index .copybox { bottom: 0; left:0; right: 0 }
	#mainv.index .copybox .maincopy{ margin: 0 8% 40px }
	#mainv.index+.txtbox{ width: 100%; box-sizing: border-box; padding: 20px 6%; line-height: 2; font-size: 1.4rem; background: #fff; }
}




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


Mainv.under


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

#mainv.under { height: 558px; position: relative; display: flex; justify-content: flex-start; align-items: center; padding: 0 13% }
#mainv.under .pagetitle{ display: inline-block; padding: 45px 55px; background: #1d4cb4; color: #fff }
#mainv.under .pagetitle .entitle{ font-weight: bold; font-size: 5.6rem; line-height: 1.4; letter-spacing: 0.1em }
#mainv.under .pagetitle .jntitle{ font-weight: bold; font-size: 1.8rem }
#mainv.under .bg{ position: absolute; top: 0; left: 0; bottom: 0; right: 0; width: 100%; object-fit: cover; font-family: 'object-fit: cover;'; /*IE対策*/ height: 100%; z-index: -1 }
@media screen and (max-width: 1040px){
	#mainv.under{ height: 450px }
	#mainv.under .pagetitle{ padding: 35px 45px; }
	#mainv.under .pagetitle .entitle{ font-size: 4.4rem }
	#mainv.under .pagetitle .jntitle{ font-size: 1.8rem }

}
@media screen and (max-width: 767px){
	#mainv.under { height: 200px; padding: 0 }
	#mainv.under .pagetitle{ padding: 25px 8%; display: flex; height: 100%; width: 100%; box-sizing: border-box; background: rgba(25, 25, 25, .2); flex-direction: column; justify-content: center; }
	#mainv.under .pagetitle .entitle{ font-size: 3.8rem }
}












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


Pankuzu


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

#pankuzu { line-height: 1.4; padding:22px 0; background: #edf7f9; }
#pankuzu .incnt{ max-width: 1330px }
#pankuzu ol li { display:inline; font-size: 1.5rem; }
#pankuzu ol li:before { content:"/"; display: inline-block; margin: 0 5px 0 3px }
#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: 767px) { 
	#pankuzu{ display: none; }
	#pankuzu ol { margin: 0 6%; }
}






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


Content


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

#main { margin-bottom: 140px; margin-top: 100px }
#index #main { margin-top: 135px; }
@media screen and (max-width: 1040px) { 
	#main { margin-bottom: 60px; margin-top: 80px!important; }
}
@media screen and (max-width: 767px) { 
	#main { margin-bottom: 60px; margin-top: 50px!important }
}










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


Cntside


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


#yokomain{  }
#yokomain>.incnt{  }
#yokomain>.incnt>.inwrap{ display: flex; flex-direction: row-reverse; }
#yokomain>.incnt>.inwrap #secwrap_1{ width: 100%; padding: 0 0 20px }
#yokomain #sidebox{ width: 200px; margin-right: 6%; flex-shrink: 0 }
#yokomain #sidebox .csbox{ margin-bottom: 50px }
#yokomain #sidebox .csbox:last-child{ margin-bottom: 0 }
#yokomain #sidebox .csbox .title{ font-weight: bold; font-size: 1.8rem; color: #1d4cb4; margin-bottom: 15px }
#yokomain #sidebox .csbox .sidecategorylist a{ text-decoration: none; }
#yokomain #sidebox .csbox .sidecategorylist a:hover{ color: #1d4cb4; }
@media screen and (max-width: 1040px) {
	#yokomain{ padding-bottom: 20px; padding-top: 10px }
	#yokomain>.incnt>.inwrap{ display: block; }
	#yokomain #sidebox{ width: 100%; margin-right: 0; margin-top: 60px }
	#yokomain>.incnt>.inwrap #secwrap_1{ padding-bottom: 0 }
}
@media screen and (max-width: 767px) { 
	#yokomain #sidebox .csbox .title{ font-size: 1.6rem }
}
@media screen and (max-width: 479px){
}













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


Footer


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

#fcontactlist{ margin-bottom: -60px }
#fcontactlist .box1 .list{ margin-left: -20px; text-align: center; }
#fcontactlist .box1 .list>li{ margin-left: 20px; display: inline-block; }
#fcontactlist>.incnt>.inwrap{ text-decoration: none; text-align: center; padding-bottom: 40px }
#fcontactlist>.incnt>.inwrap .copy{ transition: 0.3s }
#fcontactlist>.incnt>.inwrap:after{ content: ""; background: url(../img/common/arr1_blue.svg) no-repeat; background-size: contain; width: 10px; height: 18px; display: inline-block; position: absolute; bottom: 10px; left: 0; right: 0; margin-left: auto; margin-right: auto; transform: rotate(90deg); transition: 0.3s }
#fcontactlist>.incnt>.inwrap:hover .copy{ color: #19b5b5 }
#fcontactlist>.incnt>.inwrap:hover:after{ background: url(../img/common/arr1_skyblue.svg) no-repeat; background-size: contain; bottom: 0 }
@media screen and (max-width: 1040px) {
	#fcontactlist{ margin-bottom: 0 }
}
@media screen and (max-width: 767px) { 
	#fcontactlist .box1 .copy.style3{ margin-bottom: 10px!important; }
	#fcontactlist .box1 .list{ margin-left: -15px; }
	#fcontactlist .box1 .list>li{ margin-left: 15px; }
	#fcontactlist>.incnt>.inwrap .copy.style2{ margin-bottom: 40px!important }
}
@media screen and (max-width: 479px) { 
	#fcontactlist>.incnt>.inwrap .copy.style2{ text-align: left; }
	#fcontactlist .box1 .copy.style3,
	#fcontactlist .box1 .list{ text-align: left!important; }
}




#fcontactbox{ background: #1d4cb4; padding-top: 115px; padding-bottom: 100px }
#fcontactbox .incnt>.inwrap{ display: flex; flex-direction: row; align-items: center; color: #ffffff; justify-content: space-between; }
#fcontactbox .box1{  }
#fcontactbox .box1 .titlebox{ margin-bottom: 10px }
#fcontactbox .box1 .titlebox .entitle{ display: inline-block; vertical-align: middle; font-weight: bold; font-size: 5.6rem; line-height: 1.4 }
#fcontactbox .box1 .titlebox .jntitle{ display: inline-block; vertical-align: -12px; font-weight: bold; font-size: 1.5rem }
#fcontactbox .box1 .txt{  }
#fcontactbox .box2{  }
#fcontactbox .box2>li{ margin-bottom: 25px; text-align: center; }
#fcontactbox .box2>li:last-child{ margin-bottom: 0 }
#fcontactbox .box2>.telbox{  }
#fcontactbox .box2>.telbox>a{ text-decoration: none; color: #fff }
#fcontactbox .box2>.telbox .tel{ margin-bottom: 10px; line-height: 1.4 }
#fcontactbox .box2>.telbox .tel>img{ width: 24px; height: 30px; display: inline-block; vertical-align: middle; margin-right: 10px }
#fcontactbox .box2>.telbox .tel>span{ font-weight: bold; font-size: 4.8rem; line-height: 1; display: inline-block; vertical-align: middle; }
#fcontactbox .box2>.telbox .txt{ text-align: center; }
#fcontactbox .box2>.mailbox{ margin-bottom: 10px; }
#fcontactbox .box2>.mailbox>a{ display: inline-block; background: #fff; color: #1d4cb4; border: 1px solid #fff; border-radius: 10px; text-decoration: none; width: 400px; box-sizing: border-box; padding: 15px 6%; text-align: center; }
#fcontactbox .box2>.mailbox>a>svg{ width: 26px; height: 18px; display: inline-block; vertical-align: middle; margin-right: 10px }
#fcontactbox .box2>.mailbox>a>svg .cls-1{ transition: 0.3s; fill:#1d4cb4; }
#fcontactbox .box2>.mailbox>a>span{ font-weight: bold; font-size: 1.8rem; display: inline-block; vertical-align: middle; }
#fcontactbox .box2>.mailbox>a:hover{ background: #1d4cb4; color: #fff }
#fcontactbox .box2>.mailbox>a:hover>svg .cls-1{fill:#fff;}
#fcontactbox .box2>.linebox{  }
#fcontactbox .box2>.linebox>a{ display: inline-block; background: #00b900; color: #fff; border: 1px solid #00b900; border-radius: 10px; text-decoration: none; width: 400px; box-sizing: border-box; padding: 15px 6%; text-align: center; }
#fcontactbox .box2>.linebox>a>svg{ width: 38px; height: 38px; display: inline-block; vertical-align: middle; margin-right: 10px }
#fcontactbox .box2>.linebox>a>svg .line_st0.st0{ transition: 0.3s; }
#fcontactbox .box2>.linebox>a>span{ font-weight: bold; font-size: 1.8rem; display: inline-block; vertical-align: middle; }
#fcontactbox .box2>.linebox>a:hover{ background: #fff; color: #00b900 }
#fcontactbox .box2>.linebox>a:hover>svg .line_st0.st0{fill:#00b900;}
@media screen and (max-width: 1040px) {
	#fcontactbox{ padding-top: 80px; padding-bottom: 80px }
	#fcontactbox .incnt>.inwrap{ display: block; }
	#fcontactbox .box2{ margin-top: 40px }
	#fcontactbox .box1{ text-align: center; }
	#fcontactbox .box2>.telbox .tel>span{ font-size: 3.8rem }
}
@media screen and (max-width: 767px) { 
	#fcontactbox{ padding-top: 60px; padding-bottom: 60px }
	#fcontactbox .box1 .titlebox .entitle{ font-size: 2.8rem; }
	#fcontactbox .box1 .titlebox .jntitle{ font-size: 1.3rem; vertical-align: -3px }
	#fcontactbox .box2>.telbox .tel>span{ font-size: 2.8rem }
	#fcontactbox .box2>.telbox .tel>img{ width: 19px; height: 25px; }
	#fcontactbox .box2>.mailbox>a{ padding: 13px 6%; width: 100% }
	#fcontactbox .box2>.mailbox>a>span{ font-size: 1.5rem }
	#fcontactbox .box2>.linebox>a{ padding: 13px 6%; width: 100% }
	#fcontactbox .box2>.linebox>a>span{ font-size: 1.5rem }
}




#footer { padding-top: 110px; padding-bottom: 60px }
#footer .mainbox{ display: flex; flex-direction: row; justify-content: space-between; }
#footer .mainbox .footerinfo{  }
#footer .mainbox .footerinfo .infobox{  }
#footer .mainbox .footerinfo .infobox .titlebox{  }
#footer .mainbox .footerinfo .infobox .titlebox .logo{ margin-bottom: 30px }
#footer .mainbox .footerinfo .infobox .titlebox .logo>a{  }
#footer .mainbox .footerinfo .infobox .titlebox .logo>a>img{ width: 110px; height: 38px; display: inline-block; vertical-align: middle; margin-right: 15px }
#footer .mainbox .footerinfo .infobox .titlebox .logo>a>span{  display: inline-block; vertical-align: middle; font-weight: bold; font-size: 1.8rem }
#footer .mainbox .footerinfo .infobox .address{  }
#footer .mainbox .footerinfo .infobox .cap{ margin-top: 5px }
#fnav{ flex-shrink: 0; margin-right: 4% }
#fnav .mainlist{ display: flex; flex-direction: row; justify-content: space-between; font-size: 1.5rem;  }
#fnav .mainlist>li{ flex-shrink: 0; margin-left: 20px }
#fnav .mainlist .list>li a{ text-decoration: none; }
#fnav .mainlist .list>li a:hover{ color: #1d4cb4; }
#fnav .mainlist .list>li>p{ display: inline; }
#fnav .mainlist .list>li>p,
#fnav .mainlist .list>li>p>a{ font-weight: bold; }
#fnav .mainlist .sublist{ text-align: left; }
#fnav .mainlist .sublist>li{  }
#fnav .mainlist .sublist>li:before{  }

#footer .flinks{ text-align: right; font-size: 1.4rem;  margin-top: 90px }
#footer .flinks .subfnav{ display: inline-block; vertical-align: middle; }
#footer .flinks .subfnav>li{ margin-left: 15px; display: inline-block; vertical-align: middle; }
#footer .flinks .subfnav>li>a{ text-decoration: none; }
#footer .flinks .subfnav>li>a:hover{ color: #1d4cb4; }
#footer .flinks .cr{ display: inline-block; vertical-align: middle; margin-left: 30px; letter-spacing: 0.1em }
@media screen and (max-width: 1040px){
	#footer .flinks .subfnav,
	#fnav{ display: none; }
	#footer { padding-top: 80px; padding-bottom: 40px }
	#footer .flinks{ margin-top: 60px }
}
@media screen and (max-width: 767px) { 
	#footer { padding-top: 60px; padding-bottom: 30px }
	#footer .flinks{ margin-top: 40px }
	#footer .mainbox .footerinfo .infobox .titlebox .logo>a>img{ width: 88px; height: 30px; }
	#footer .mainbox .footerinfo .infobox .titlebox .logo>a>span{ font-size: 1.6rem }
}
@media screen and (max-width: 639px){
}
@media screen and (max-width: 479px){
}

