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



/*
base #0d0d0d
main #005188
*/



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


Header


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

#header { }
#header .mainbox .logo { height: 120px; padding: 30px 0; position: absolute; top: 0; transition: 0.6s ease-out; left: 50px; box-sizing: border-box; z-index: 1000000000; }
#header .mainbox .telbox { height: 120px; padding: 30px 0; position: absolute; top: 0; transition: 0.6s ease-out; right: 148px; box-sizing: border-box; z-index: 1000000000; }
/* スクロール時fixed */

/*#header.scroll .mainbox .logo,
#header.scroll .mainbox .telbox{ transform: translate(0px, -170px); }
#header.fixed.scroll .mainbox .logo,
#header.fixed.scroll .mainbox .telbox { transform: translate(0px, 0px); }*/
@media screen and (max-width: 1200px) {
	#header .mainbox .telbox{ display: none!important; }
}
@media screen and (max-width: 1040px) {
	#header{ position: static; }
	#header .mainbox .logo { height: 100px; left: 6%; }
	#header .logo>a .cap{ display: none; }
}
@media screen and (max-width: 767px) {
}

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


#hsidebtn{ position: fixed; top: 0; bottom: 0; right: 0; width: 120px; margin-top: auto; margin-bottom: auto; height: 240px; z-index: 1000000000010; }
#hsidebtn .mailbox{ height: 50%; width: 100%; }
#hsidebtn .mailbox>.inwrap{ display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; background: #999999; color: #fff; text-decoration: none; flex-direction: column; }
#hsidebtn .mailbox>.inwrap .mailicon{ text-align: center; line-height: 1.8; }
#hsidebtn .mailbox>.inwrap .mailicon svg{ width: 24px; height: 20px; }
#hsidebtn .mailbox>.inwrap .mailicon svg .mailicon_st0.st0{ transition: .3s; }
#hsidebtn .mailbox>.inwrap .mailtxt{ font-size: 1.4rem; line-height: 1.4; text-align: center; }
#hsidebtn .mailbox>.inwrap:hover{ background: #fff; color: #196cb2; }
#hsidebtn .mailbox>.inwrap:hover .mailicon svg .mailicon_st0.st0{ fill:#005caa; }
@media screen and (max-width: 1040px) { 
	#hsidebtn .mailbox{ display: none; }
	#hsidebtn{ bottom: auto; height: 100px; width: 100px; }
}
@media screen and (max-width: 767px) { 
}
@media screen and (max-width: 479px) { 
}







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


Menubtn


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

#menubtn {z-index: 1000000000010; position: relative; width: 100%; height: 50%; }
#menubtn a { text-decoration: none; position: relative; display: flex; align-items: center; justify-content: center; height: 100%; width: 100%; background: #005caa; color: #fff; flex-direction: column; }
#menubtn a .menutxt{ text-align: center; font-size: 1.4rem; line-height: 1.4rem; letter-spacing: 0.08em; position: relative; height: 14px; width: 100%; }
#menubtn .closetxt,
#menubtn .opentxt{ transition: .3s; position: absolute; top: 0; bottom: 0; left: 0; right: 0; margin: auto; }
#menubtn .closetxt{ opacity: 0; }
#menubtn a .linebox{ width: 50px; height: 32px; position: relative; margin-bottom: 10px; overflow: hidden; }
#menubtn a .line { height: 2px; background: #fff; position: absolute; transition: all 0.6s; }
#menubtn a #line1 { top: 0; width: 36px; right: 0; }
#menubtn a #line2,
#menubtn a #line3{  transition: all 1.1s; }
#menubtn a #line2{ top: 20px; width: 24px; left: 50%; margin-left: -12px; }
#menubtn a #line3{ bottom: 20px; width: 24px; left: 50%; margin-left: -12px; }
#menubtn a #line4{ bottom: 0; width: 36px; left: 0; }
#menubtn.active a #line1 {
	-webkit-transform:translateY(15px) translateX(-7px) rotate(44deg);
	transform:translateY(15px) translateX(-7px) rotate(44deg);
}
#menubtn.active a .linebox{ margin-bottom: 14px; }
#menubtn.active .closetxt{ opacity: 1; }
#menubtn.active .opentxt{ opacity: 0; }
#menubtn.active a #line2{ left: calc(100% + 24px); }
#menubtn.active a #line3{ left: -24px; }
#menubtn.active a #line4 { 
	-webkit-transform:translateY(-15px) translateX(7px) rotate(-44deg);
	transform:translateY(-15px) translateX(7px) rotate(-44deg);
}
#menubtn a:hover,
#menubtn.active a{ background: #196cb2; }
@media screen and (max-width: 1040px) { 
	#menubtn{ height: 100%; }
	#menubtn a{ background: transparent; color: #005caa; padding-top: 5px; box-sizing: border-box; }
	#menubtn a .menutxt{ font-size: 1rem; letter-spacing: 0.1em; }
	#menubtn a .menutxt span{ font-weight: bold; }
	#menubtn a .linebox{ width: 36px; height: 22px; margin-bottom: 6px }
	#menubtn a .line { background: #005caa; }
	#menubtn a #line1 { width: 26px; }
	#menubtn a #line2{ top: 7px; width: 18px; margin-left: -9px; }
	#menubtn a #line3{ bottom: 7px; width: 18px; margin-left: -9px; }
	#menubtn a #line4{ width: 26px; left: 1px; }
	#menubtn.active a .linebox{ margin-bottom: 14px; }
	#menubtn.active a #line2{ left: calc(100% + 18px); }
	#menubtn.active a #line3{ left: -18px; }
	#menubtn a:hover,
	#menubtn.active a{ background: #fff; opacity: .7; }
	#menubtn.active a #line1 { width: 36px; }
	#menubtn.active a #line4{ width: 36px; }
	#menubtn.active a #line1 {
		-webkit-transform:translateY(12px) translateX(0px) rotate(44deg);
		transform:translateY(12px) translateX(0px) rotate(44deg);
	}
	#menubtn.active a #line4 { 
		-webkit-transform:translateY(-12px) translateX(0px) rotate(-44deg);
		transform:translateY(-12px) translateX(0px) rotate(-44deg);
	}
}
@media screen and (max-width: 767px) { 
}
@media screen and (max-width: 479px) { 
}







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


Nav


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

#gnav .gnbtnlist{ flex-direction: column; position: absolute; top: 0; right: 0; }
#gnav{  z-index: 1000000000; position: fixed; top: 0; bottom: 0; right: -650px; height: 100vh!important; display: block; overflow: hidden; pointer-events: auto; opacity: 1; visibility: visible; transition: all .7s ease-out; width: 650px; }
#gnav .navbox{ position: relative; z-index: 10; display: flex; flex-direction: row; }
#gnav>.scrollcover{  }
#gnav .incnt.fix{ width: 88%; margin: 0 6% }
#gnav.navlist>.navbox,
#gnav.navlist>.navbox .mainlistcover,
#gnav.navlist>.navbox .mainlistcover>.inwrap,
#gnav.navlist>.navbox .mainlistcover>.inwrap>.inwrap,
#gnav.navlist>.navbox .mainlistcover>.inwrap>.inwrap>.inwrap,
#gnav.navlist>.navbox .mainlistcover .mainlist,
#gnav.navlist>.navbox .mainlistcover .mainlist>li{ display: block; width: 100% }

#gnav.navlist{ text-align: left; padding-right: 0; display: flex; align-items: center; }
#gnav.navlist .navbox { margin: 0 auto; position: relative; }
#gnav.navlist>.navbox .mainlistcover{ display: flex; flex-direction: column; justify-content: center; height: 100vh; width: 100% }
#gnav.navlist>.navbox .mainlistcover>.inwrap{ overflow: hidden; padding-top: 0; }
#gnav.navlist>.navbox .mainlistcover>.inwrap>.inwrap{ overflow-y: scroll; height: 100vh;  /* Safari用 */ width: calc(100% + 20px); box-sizing: border-box; padding-right: 10% }
#gnav.navlist>.navbox .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>.navbox .mainlistcover>.inwrap>.inwrap>.inwrap{ display: block; padding-right: 0; padding-top: 120px; padding-bottom: 120px; }
#gnav.navlist>.navbox .mainlistcover{ display: block; }

#gnav.navlist .mainlist{ display: block; height: auto; }
#gnav.navlist>.navbox .mainlistcover .mainlist{ height: auto; }
#gnav.navlist .mainlist>li{ margin-left: 0; display: block; margin-bottom: 10px }
#gnav.navlist .mainlist>li:last-child{ margin-bottom: 0; }
#gnav.navlist .mainlist>li a,
#gnav.navlist .mainlist>li p{  color: #fff; text-decoration: none; }
#gnav.navlist .mainlist>li p{ font-weight: bold; margin-bottom: 10px; }
#gnav.navlist .mainlist>li a>.linkinwrap{ padding-bottom: 4px; display: inline-block; position: relative; overflow: hidden; font-weight: bold; }
#gnav.navlist .mainlist>li a>.linkinwrap:after{ position: absolute; bottom: 0; left: 0; content: ''; width: 100%; height: 2px; background: #fff; opacity: 0; visibility: hidden; transition: .3s; }
#gnav.navlist .mainlist>li .sublist a>.linkinwrap{ font-weight: normal; }
#gnav.navlist .mainlist>li .sublist a>.linkinwrap:after{ height: 1px; }
#gnav.navlist .mainlist>li a>.linkinwrap:hover:after{ bottom: 4px; opacity: 1; visibility: visible; }
#gnav.navlist .mainlist>li a:hover{ color: #fff; }
#gnav.navlist .mainlist>li>a,
#gnav.navlist .mainlist>li>p{ display: block; font-size: 4rem; line-height: 1.2; }
#gnav.navlist .mainlist>li .sublist{ padding-bottom: 10px; }
#gnav.navlist .mainlist>li .sublist>li{ display: inline-block; color: #fff; letter-spacing: 0.08em; }
#gnav.navlist .mainlist>li .sublist>li:before{ content: "/"; margin-right: 7px; vertical-align: top; }
#gnav.navlist .mainlist>li .sublist>li:first-child:before{ content: none; }

#gnav.navlist .mainlist>li.hassub:hover a,
#gnav.navlist .mainlist>li.hassub:hover p,
#gnav.navlist .mainlist>li a:hover,
#gnav.navlist .mainlist>li>p:hover{  }

#gnav.navlist .mainlist+.cr{ margin-top: 40px; color: #fff; }
#gnav.navlist .mainlist+.cr>small{ font-size: 1em; }

#gnav .bg{  }
#gnav .bg .bluebg{ position: absolute; left: 0; top: 0; width: 100vw; height: 100vh; z-index: 2; background: #005caa; cursor: default; opacity: 1; visibility: visible; }

#gnav.navlist.is-open{ right: 0 }

#gnav.navlist .logo{ position: absolute; top: 40px; left: 0; }

@media screen and (max-width: 1040px) { 
	#gnav.navlist { font-size: 1.6rem; transition: all .7s ease-out; }
	#gnav.navlist .mainlist>li>a,
	#gnav.navlist .mainlist>li>p{ font-size: 3rem; }
	#gnav{ right: -100vw; height: 100vh!important; width: 100vw; }
	#gnav .incnt.fix{ width: 84%; margin: 0 8% }
	#gnav.navlist .mainlist>li a>.linkinwrap,
	#gnav.navlist .mainlist>li p{/* font-weight: normal; */}
	#gnav.navlist .mainlist>li a>.linkinwrap{ padding-bottom: 6px; }
	#gnav.navlist .mainlist+.cr>small{ font-size: 1.4rem; }
	#gnav.navlist>.navbox .mainlistcover>.inwrap>.inwrap>.inwrap{ padding-top: 100px; padding-bottom: 100px; }
}
@media screen and (max-width: 767px){
	#gnav.navlist { align-items: baseline; }
}
@media screen and (max-width: 639px){
}
@media screen and (max-width: 479px){
	#gnav.navlist .mainlist>li .sublist>li{ display: block;  }
	#gnav.navlist .mainlist>li .sublist>li:before{ content: none; margin-right: 0; }
	#gnav.navlist .mainlist>li .sublist a>.linkinwrap{ line-height: 1; padding-bottom: 10px; }
	#gnav.navlist .mainlist>li p{ margin-bottom: 15px; }
}





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


Mainv.index


//////////////////*/
#mainv_index{ height: calc(100vh - 120px); position: relative; box-sizing: border-box; /* min-height: 980px;*/ overflow: hidden; }

#mainv_index .txtbox{ display: flex; height: 100%; position: relative; z-index: 100; }
#mainv_index .txtbox .mainbox{ width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; color: #fff; flex-direction: column; padding-top: 60px; padding-bottom: 30px; box-sizing: border-box; }
#mainv_index .txtbox .mainbox .jncopybox{  }
#mainv_index .txtbox .mainbox .jncopybox .maincopy{ font-size: 6.4rem; line-height: 1.4; text-align: center; margin-bottom: 10px; letter-spacing: 0.1em; font-weight: 600; }
#mainv_index .txtbox .mainbox .jncopybox .subcopy{ text-align: center; font-size: 2.1rem;text-align: center; letter-spacing: 0.15em; font-weight: 600; }
#mainv_index .txtbox .mainbox .encopy{ margin-top: 40px; text-align: center; letter-spacing: 0.25em; font-size: 2rem; }
#mainv_index .txtbox .scrollbox{ position: absolute; left: 0; right: 0; margin-left: auto; margin-right: auto; display: flex; justify-content: center; bottom: 30px; flex-direction: column; color: #fff; align-items: center; }
#mainv_index .txtbox .scrollbox .scrollicon{ overflow: hidden; height: 56px; }
#mainv_index .txtbox .scrollbox .scrollicon img{ width: 12px; height: 16px; -webkit-animation: sdb 2s infinite; animation: sdb 3s infinite; }
#mainv_index .txtbox .scrollbox .scrolltxt{  }

#mainv_index .bglist{ position: absolute; top: 0; bottom: 0; left: 0; right: 0; width: 100%; height: 100%; }
#mainv_index .bglist img{ object-fit: cover; font-family: 'object-fit: cover;'; display: block; width: 100%; height: 100%; }
#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 .slick-dots{ position: absolute; bottom: 60px; right: 6%; text-align: right; }
#mainv_index .slick-dots>li{ display: inline-block; margin-left: 20px; margin-right: 0 }
#mainv_index .slick-dots>li>button{ height: 12px; background: #fff; display: inline-block; font-size: 0; padding: 0; min-width: 12px; cursor: pointer; position: relative; z-index: 100; border-radius: 50%; opacity: .6; }
#mainv_index .slick-dots>li>button:hover,
#mainv_index .slick-dots>li.slick-active>button{ opacity: 1; }
@media screen and (max-width: 1200px) {
	#mainv_index{ min-height: auto; }
	#mainv_index .txtbox .mainbox .jncopybox .maincopy{ font-size: 4.6rem; }
	#mainv_index .txtbox .mainbox .jncopybox .subcopy{ font-size: 1.8rem; }
	#mainv_index .txtbox .mainbox .encopy{ font-size: 1em; }
}
@media screen and (max-width: 1040px) {
	#mainv_index{ height: calc(100vh - 100px); }
	#mainv_index .txtbox .mainbox{ align-items: flex-start; justify-content: flex-end; padding-top: 0; padding-bottom: 24%; }
	#mainv_index .txtbox .mainbox .jncopybox .maincopy{ font-size: 2.8rem; text-align: left; margin-bottom: 20px; line-height: 1.6; }
	#mainv_index .txtbox .mainbox .jncopybox .subcopy{ font-size: 1.6rem; text-align: left; }
	#mainv_index .txtbox .mainbox .encopy{ margin-top: 10px; text-align: left; font-size: 1.2rem; letter-spacing: 0.15em; }
	#mainv_index .txtbox .scrollbox{ display: none; }
}
@media screen and (max-width: 767px) {
}
@media screen and (max-width: 479px){
}

@keyframes sdb {
	0% { transform: translateY(0); opacity: 0; }
	30%,
	60% { opacity: 1; }
	100% { transform: translateY(48px); opacity: 0; }
}

#indexnewsbox{ display: flex; flex-direction: row; height: 120px; }
#indexnewsbox .titlebox{ background: #005caa; box-sizing: border-box; color: #fff; padding: 20px 50px; display: flex; align-items: center; justify-content: center; width: 24%; font-weight: bold; font-size: 2rem; flex-shrink: 0; z-index: 1; letter-spacing: 0.1em; }
#indexnewsbox .mainbox{ background: #196cb2; box-sizing: border-box; padding: 20px 50px; display: flex; align-items: center; position: relative; box-sizing: border-box; width: 100%; height: 100% }
#indexnewsbox .mainbox .newslistbox{ width: 100%; box-sizing: border-box; overflow: hidden; position: relative; height: 100%; display: flex; align-items: center;  }
/*#indexnewsbox .mainbox .newslistbox .newslist{ margin-bottom: -10px; }*/
#indexnewsbox .mainbox .newslistbox .newslist>li{ display: none; color: #fff; }
#indexnewsbox .mainbox .newslistbox .newslist>li a{ color: #fff; }
@media screen and (max-width: 1300px) {
	#indexnewsbox .titlebox{ width: 20% }
}
@media screen and (max-width: 1200px) {
	#indexnewsbox{ display: none; }
}
@media screen and (max-width: 1040px) {
	#indexnewsbox{ height: 90px; }
	#indexnewsbox .titlebox{ padding: 10px 30px; font-size: 1.6rem; }
	#indexnewsbox .mainbox{ padding: 20px 30px; }
}
@media screen and (max-width: 767px) {
	#indexnewsbox{ display: block; height: auto; }
	#indexnewsbox .titlebox{ padding: 10px 8%; width: 100%; }
	#indexnewsbox .mainbox{ padding: 20px 8%; }
}
@media screen and (max-width: 479px){
}








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


Mainv.under


//////////////////*/
#mainv { position: relative; height: 520px; }
#mainv .txtbox{ padding: 70px 13%; box-sizing: border-box; display: flex; height: 100%; }
#mainv .txtbox .pagetitle{ display: flex; flex-direction: column; justify-content: flex-end; }
#mainv .bg1{ object-fit: cover; font-family: 'object-fit: cover;'; display: block; position: absolute; top: 0; bottom: 0; left: 0; right: 0; width: 100%; height: 100%; z-index: -1; }
@media screen and (max-width: 1200px) { 
	#mainv .txtbox{ padding: 60px 10%; }
}
@media screen and (max-width: 1040px){
	#mainv { height: 400px; }
	#mainv .txtbox{ padding: 40px 6%; }
}
@media screen and (max-width: 767px){
	#mainv { height: 300px; }
}
@media screen and (max-width: 479px){
	#mainv { height: 260px; }
	#mainv .txtbox{ padding: 30px 6%; }
}


#pankuzu { line-height: 1.8; padding:19px 0; background: #f7f7f7; text-align: left; }
#pankuzu ol { margin: 0 5%; }
#pankuzu ol li { display:inline; font-size: 1.5rem; }
#pankuzu ol li:before { content:"/"; display: inline-block; margin: 0 10px 0 5px }
#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: 1040px) { 
	#pankuzu{ padding:12px 0; }
	#pankuzu ol { margin: 0 0; }
	#pankuzu ol li { display: inline-block; }
	#pankuzu ol li{ font-size: 1.3rem; }
}
@media screen and (max-width: 767px) { 
}







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


Content


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

#main { margin-top: 120px; }
body:not(#index) #article{ margin-top: 130px; }
@media screen and (max-width: 1040px) { 
	#main{ margin-top: 100px; }
	body:not(#index) #article{ margin-top: 55px; }
	/*#index #main{ margin-top: 0; }*/
}
@media screen and (max-width: 767px) { 
}


#yokomain{  }
#yokomain>.incnt{  }
#yokomain>.incnt>.inwrap{ display: flex; flex-direction: row-reverse; }
#yokomain>.incnt>.inwrap #secwrap_1{ width: 100%; padding-top: 0; padding-bottom: 0 }
#yokomain #sidebox{ width: 175px; margin-right: 6%; flex-shrink: 0 }
#yokomain #sidebox .cslist>li{ margin-bottom: 10px; }
#yokomain #sidebox .cslist>li:last-child{ margin-bottom: 0; }
#yokomain #sidebox .cslist>li>a{ text-decoration: none; font-weight: bold; letter-spacing: 0.1em; font-size: 1.8rem; letter-spacing: 0.08em; }
#yokomain #sidebox .cslist>li>a:hover{ color: #005caa }
#yokomain #sidebox .cslist>li:first-child{ margin-bottom: 10px; }
#yokomain #sidebox .cslist>li.current>a{ color: #005caa; }
#yokomain #sidebox .cslist>li.current:before{ content: ""; width: 9px; height: 9px; display: inline-block; border-radius: 50%; background: #005caa; margin-right: 5px; vertical-align: 2px; }
@media screen and (max-width: 1040px) {
	#yokomain>.incnt>.inwrap{ display: block; }
	#yokomain #sidebox{ width: 100%; margin-right: 0; margin-top: 60px; text-align: center; }
	#yokomain #sidebox .cslist{ display: inline-block; text-align: left; }
	#yokomain #sidebox .cslist>li{ position: relative; }
	#yokomain #sidebox .cslist>li:first-child{ margin-left: -2px; }
	#yokomain #sidebox .cslist>li>a{ font-size: 1.6rem; }
	#yokomain #sidebox .cslist>li.current:before{  position: absolute; left: -15px; top: 0; bottom: 0; margin-top: auto; margin-bottom: auto; }
}
@media screen and (max-width: 767px) { 
}
@media screen and (max-width: 479px){
}













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


Footer


//////////////////*/
#footer,
#fcontactbox{ margin-top: 160px; }
#fcontactbox+#footer{ margin-top: 0!important; }
#aas #fcontactbox{ margin-top: 0!important; }
@media screen and (max-width: 1200px){
	#index #footer{ margin-top: 0; }
	body:not(#index) #footer,
	#fcontactbox{ margin-top: 120px; }
}
@media screen and (max-width: 1040px){
	body:not(#index) #footer,
	#fcontactbox{ margin-top: 80px; }
}
@media screen and (max-width: 767px) { 
}
@media screen and (max-width: 639px){
}
@media screen and (max-width: 479px){
}


#fcontactbox>.inwrap{ background: #005caa; color: #fff; padding-top: 70px; padding-bottom: 90px; }
#fcontactbox .copy{ text-align: center; margin-bottom: 15px; }
#fcontactbox .contacttxt{ font-size: 1.8rem; text-align: center; margin-bottom: 40px; }
#aas #fcontactbox>.inwrap{ padding-top: 100px; padding-bottom: 120px; }
#aas #fcontactbox .titlebox{ margin-bottom: 20px; }
#aas #fcontactbox .en{ font-size: 6rem; line-height: 1.4; text-align: center; letter-spacing: 0.1em; font-weight: 600; }
#aas #fcontactbox .en span{ font-weight: 600; }
#aas #fcontactbox .titlebox .copy{ margin-bottom: 0; }
#aas #fcontactbox .contacttxt{ font-size: 2rem; }
@media screen and (max-width: 1300px) {
	#aas #fcontactbox .en{ font-size: 5rem; line-height: 1.6; }
	#aas #fcontactbox .contacttxt{ font-size: 1.8rem; }
}
@media screen and (max-width: 1200px) {
	#aas #fcontactbox>.inwrap{ padding-top: 70px; padding-bottom: 80px; }
}
@media screen and (max-width: 1040px) {
	#fcontactbox .contacttxt{ font-size: 1em; text-align: left; }
	#fcontactbox>.inwrap,
	#aas #fcontactbox>.inwrap{ padding-top: 60px; padding-bottom: 70px; }
	#fcontactbox .contacttxt{ margin-bottom: 35px; }
	#aas #fcontactbox .en{ font-size: 4rem; }
	#aas #fcontactbox .contacttxt{ font-size: 1em; text-align: center; }
}
@media screen and (max-width: 767px) {
	#fcontactbox>.inwrap{ padding-top: 50px; padding-bottom: 40px; }
	#aas #fcontactbox .en{ font-size: 3rem; margin-bottom: 8px; }
	#aas #fcontactbox>.inwrap{ padding-bottom: 60px; }
}
@media screen and (max-width: 479px) {
	#aas #fcontactbox .contacttxt{ margin-bottom: 45px; }
	#aas #fcontactbox .en{ margin-bottom: 10px; }
	#aas #fcontactbox .titlebox{ margin-bottom: 25px; }
}




#footer .footermain{ background: #f7f7f7; padding: 100px 0 110px; }
#footer .footermain>.incnt{ max-width: 100%; width: 90%; }
#footer .footermain>.incnt>.inwrap{ display: flex; flex-direction: row; justify-content: space-between; }
#footer .footermain .sitetitlebox{ flex-shrink: 0;display: flex;
    justify-content: center;
    flex-direction: column; }
#footer .footermain .sitetitlebox .logo{ width: 298px; margin-bottom: 30px; }
#footer .footermain .sitetitlebox .logo>a{  }
#footer .footermain .sitetitlebox .logo>a>img{  }
#footer .footermain .sitetitlebox .sitetitle{  }
#footer .footermain .sitetitlebox .cap{  }
#footer .footermain .sitetitlebox .cap ._1{ letter-spacing: -0.01em; }
#footer .footermain .addresslist{ text-align: right; }
#footer .footermain .addresslist>li{ display: inline-block; vertical-align: top; margin-left: 35px; letter-spacing: 0.05em; margin-top: 40px; text-align: left; }
#footer .footermain .addresslist>li:nth-child(1) .telfaxtxt{ letter-spacing: 0.065em; padding-left: 3px; }
#footer .footermain .addresslist>li:nth-child(2){ letter-spacing: 0.071em; }
#footer .footermain .addresslist>li:nth-child(2) .officeaddress{ letter-spacing: 0.1em; margin-left: -2px; }
#footer .footermain .addresslist>li{  }
@media screen and (max-width: 1200px){
	#footer .footermain>.incnt>.inwrap{ display: block; }
	#footer .footermain{ background: #f7f7f7; padding: 80px 0 90px; }
	#footer .footermain .sitetitlebox{ text-align: center; }
	#footer .footermain .sitetitlebox .logo{ margin-left: auto; margin-right: auto; }
	#footer .footermain .sitetitlebox .logo>a{ justify-content: center; }
	#footer .footermain .addresslist{ text-align: center; margin-left: -35px; }
	#footer .footermain .addresslist>li{ text-align: center; }
	#footer .footermain .sitetitlebox .cap .br1{ display: none; }
	#footer .footermain .sitetitlebox .logo{ margin-bottom: 40px; }
}
@media screen and (max-width: 1040px){
	#footer .footermain{ padding: 70px 0 65px; }
	#footer .footermain .sitetitlebox .logo{ margin-bottom: 30px; }
}
@media screen and (max-width: 767px) { 
	#footer .footermain{ padding: 60px 0 55px; }
	#footer .footermain .sitetitlebox .sitetitle{ margin-bottom: 5px; }
	#footer .footermain .sitetitlebox .cap .br1{ display: block; }
	#footer .footermain .addresslist{ text-align: center; margin-top: 40px; }
	#footer .footermain .addresslist>li{ text-align: center; display: block; margin-top: 25px; }
	#footer .footermain .addresslist>li:first-child{ margin-top:0; }
	#footer .footermain .sitetitlebox .cap .br1{ display: none; }
}
@media screen and (max-width: 639px){
}
@media screen and (max-width: 479px){
}




#fnav { padding-top: 45px; padding-bottom: 35px; }
#fnav .mainlist{ text-align: center; margin-left: -15px; }
#fnav .mainlist li a{ text-decoration: none; }
#fnav .mainlist li a{ padding-bottom: 4px; display: inline-block; position: relative; overflow: hidden; }
#fnav .mainlist li a:after{ position: absolute; bottom: 0; left: 0; content: ''; width: 100%; height: 2px; background: #191919; opacity: 0; visibility: hidden; transition: .3s; }
#fnav .mainlist li a:after{ height: 1px; }
#fnav .mainlist li a:hover{ color: inherit; }
#fnav .mainlist li a:hover:after{ bottom: 4px; opacity: 1; visibility: visible; }
#fnav .mainlist>li{ margin-bottom: 5px; }
#fnav .mainlist>li:last-child{ margin-bottom: 0; }
#fnav .mainlist>li p{ font-weight: bold; margin-right: 8px; display: inline-block; padding-bottom: 4px; vertical-align: top; }
#fnav .mainlist>li>.list{  }
#fnav .mainlist>li>.list li{ display: inline-block; margin-left: 15px; line-height: 1.6; }
#fnav .mainlist>li>.list li .sublist{ display: inline-block; }
#fnav .mainlist>li>.list>li>a{  }
@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{ letter-spacing: 0.05em; background: #005caa; color: #fff; display: flex; align-items: center; justify-content: center; height: 116px; text-align: center;}
#cr small{ font-size: 1em; display: inline-block;}
#cr a{ color: #fff; text-decoration: none; }
#cr a:hover{ text-decoration: underline;}
@media screen and (max-width: 1200px) {
	#cr{ height: 80px; }
}
@media screen and (max-width: 1040px) {
	#cr{ height: 60px; }
}
@media screen and (max-width: 767px) { 
	/*#cr { padding: 25px 0; }*/
}

