@charset "utf-8";



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

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

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


/*// Header //*/
#header .mainbox .logobox,
#header .mainbox .cap{ position: fixed; top: 0; height: 130px; display: flex; align-items: center; z-index: 1000; }
#header .mainbox .logobox{left: 3%;}
#header .mainbox .cap{ right: 175px; font-size: 1.4rem; text-align: right; }
#header .mainbox .logobox .logo>a{display: flex;overflow: hidden;align-items: center;}
#header .mainbox .logobox .logo>a span { width: 18px;height: 30px;display: flex; align-items: center; margin: 0 2px;overflow: hidden;}
#header .mainbox .logobox .logo>a span img{ opacity: 0; transform: translateY(110%); transition: 1s cubic-bezier(.47,1.64,.41,.8); }
#header .mainbox .logobox .logo>a span:nth-child(1) {width: 96px;height: 70px;margin-right: 15px;}
#header .mainbox .logobox .logo>a span:nth-child(1) img{ height: 58px; }
#header .mainbox .logobox .logo>a span:not(:nth-child(1)) img{ height: 18px; }

body.afterfirstview #header .mainbox .logobox .logo>a img{ opacity: 1; transform: translateY(0%); }
body:not(#index).afterfirstview #header .mainbox .logobox .logo>a span:nth-child(2)>img { transition-delay: 0.45s; }
body:not(#index).afterfirstview #header .mainbox .logobox .logo>a span:nth-child(3)>img { transition-delay: 0.48s; }
body:not(#index).afterfirstview #header .mainbox .logobox .logo>a span:nth-child(4)>img { transition-delay: 0.51s; }
body:not(#index).afterfirstview #header .mainbox .logobox .logo>a span:nth-child(5)>img { transition-delay: 0.54s; }
body:not(#index).afterfirstview #header .mainbox .logobox .logo>a span:nth-child(6)>img { transition-delay: 0.57s; }
body:not(#index).afterfirstview #header .mainbox .logobox .logo>a span:nth-child(7)>img { transition-delay: 0.6s; }
body:not(#index).afterfirstview #header .mainbox .logobox .logo>a span:nth-child(8)>img { transition-delay: 0.63s; }
body:not(#index).afterfirstview #header .mainbox .logobox .logo>a span:nth-child(9)>img { transition-delay: 0.66s; }
body:not(#index).afterfirstview #header .mainbox .logobox .logo>a span:nth-child(10)>img { transition-delay: 0.69s; }
#index.afterfirstview #header .mainbox .logobox .logo>a span:nth-child(1)>img {transition-delay: 1s;}
#index.afterfirstview #header .mainbox .logobox .logo>a span:nth-child(2)>img { transition-delay: 1.45s; }
#index.afterfirstview #header .mainbox .logobox .logo>a span:nth-child(3)>img { transition-delay: 1.48s; }
#index.afterfirstview #header .mainbox .logobox .logo>a span:nth-child(4)>img { transition-delay: 1.51s; }
#index.afterfirstview #header .mainbox .logobox .logo>a span:nth-child(5)>img { transition-delay: 1.54s; }
#index.afterfirstview #header .mainbox .logobox .logo>a span:nth-child(6)>img { transition-delay: 1.57s; }
#index.afterfirstview #header .mainbox .logobox .logo>a span:nth-child(7)>img { transition-delay: 1.6s; }
#index.afterfirstview #header .mainbox .logobox .logo>a span:nth-child(8)>img { transition-delay: 1.63s; }
#index.afterfirstview #header .mainbox .logobox .logo>a span:nth-child(9)>img { transition-delay: 1.66s; }
#index.afterfirstview #header .mainbox .logobox .logo>a span:nth-child(10)>img { transition-delay: 1.69s; }
@media screen and (max-width: 1040px) {
	#header .mainbox .cap{ display: none; }
	#header .mainbox .logobox{height: 90px;width: 92%;left: 4%; position: absolute;}
	#header .mainbox .logobox .logo,
	#header .mainbox .logobox .logo>a{width: 100%;display: flex;}
}
@media screen and (max-width: 767px) {
}
@media screen and (max-width: 500px) {
	#header .mainbox .logobox .logo>a span:nth-child(1) {width: 70px;height: 44px;margin-right: 8px;}
	#header .mainbox .logobox .logo>a span:nth-child(1) img{ height: 44px; }
	#header .mainbox .logobox .logo>a span { width: 14px;height: 26px; margin: 0 1px; }
	#header .mainbox .logobox .logo>a span:not(:nth-child(1)) img{ height: 14px; }
}



/*// Menubtn //*/
.menubtn { position: fixed; top: 0; right: 0; display: block; width: 150px; height: 130px; transition : 0.6s; cursor: pointer;z-index: 30000000; }
.desc .menubtn{ position: absolute; }
.menubtn a {text-decoration: none;position: relative;display: block;height: 100%;width: 100%;filter: drop-shadow(10px 10px 10px rgba(0,0,0,0.1));}
.menubtn a:before,
.menubtn a:after{ content: ""; width: 30px; height: 100%; background: linear-gradient(to right top, transparent 50%, rgb(25, 146, 235) 50.4%); position: absolute; left: 0; top: 0; transition: .6s; }
.menubtn a:after{ background: linear-gradient(to right top, transparent 50%, rgb(255, 255, 255) 50.4%); opacity: 0; }
.menubtn a>.inwrap{display: flex;align-items: center;justify-content: center;flex-direction: column;width: calc(100% - 30px);height: 100%; background: #1992eb;margin-left: auto; padding-bottom: 15px;}
.menubtn a>.inwrap:before{ content: ""; background: #fff; position: absolute; top: 0; bottom: 0; right: 0; width: calc(100% - 30px); height: 100%; opacity: 0; transition: .6s; }
.menubtn a .linebox{width: 70px;height: 22px;position: relative;}
.menubtn a .line { width: 70px; height: 2px; background: #fff; position: absolute; left: 50%; margin-left: -35px; transition: 0.3s cubic-bezier(0.25, 1, 0.5, 1) 0.2s; }
.menubtn a .line1 { top: 0; }
.menubtn a .line2 { top: 50%; }
.menubtn a .line3 { bottom: 0; }
.menubtn a .menutxt {font-weight: bold;font-size: 1.2rem;position: relative;margin-top: 10px;color: #fff;width: 70px;text-align: center;letter-spacing: .4em;text-indent: .4em;}
.menubtn a .menutxt .close,
.menubtn a .menutxt .open{ position: absolute; top: 0; bottom: 0; left: 0; right: 0; display: inline-block; margin: auto; transition: .6s; }
.menubtn a .menutxt .close{ opacity: 0; }
.menubtn a:hover:after,
.menubtn a:hover>.inwrap:before{ opacity: 1; }
.menubtn a:hover .line,
.menubtn a.active .line{ background: #1992eb; }
.menubtn a:hover .menutxt,
.menubtn a.active .menutxt{ color: #1992eb; }
.menubtn.active a .line1{transform: translateY(10px) rotate(-20deg);}
.menubtn.active a .line2{display:none}
.menubtn.active a .line3{transform: translateY(-10px) rotate(20deg);}
.menubtn.active a .menutxt .close{ opacity: 1; }
.menubtn.active a .menutxt .open{ opacity: 0; }
@media screen and (max-width: 1040px){
	.menubtn { width: 110px; height: 90px; }
	.menubtn a:before,
	.menubtn a:after{ width: 20px; }
	.menubtn a>.inwrap{width: calc(100% - 20px);padding-bottom: 10px; box-sizing: border-box;}
	.menubtn a>.inwrap:before{ width: calc(100% - 20px); }
	.menubtn a .linebox{width: 50px;}
	.menubtn a .line { width: 50px; height: 1px; margin-left: -25px; }
	.menubtn a .menutxt {font-size: 1.1rem;width: 60px;margin-top: 8px;}
}
@media screen and (max-width: 767px){
}




/*// Nav //*/
.desc{z-index: 20000000;margin: 0;position: fixed;top: 0;right:-800px;height: 100vh;width: 800px;pointer-events: none;background: #01a0e9;overflow-y: scroll;-ms-overflow-style: none;scrollbar-width: none;box-sizing: border-box;color: #fff;}
.desc.loaded{ animation: gnav-out 1.4s cubic-bezier(0.25, 1, 0.5, 1) 0s 1 normal both; }
#index #mainv .mainbox .canvaslinklist1 li .desc.loaded{ animation: gnav-out 2.6s cubic-bezier(0.25, 1, 0.5, 1) 0s 1 normal both; }
.desc::-webkit-scrollbar { display: none; }
.desc .inwrap{ height: 100%; }
.desc .mainlistcover {z-index: 10;width: 100%;padding: 0 16%;display: flex; align-items: center; height: 100%;}
.desc.loaded.is-open{ pointer-events: auto; right: 0; animation: gnav-in 1.2s cubic-bezier(0.25, 1, 0.5, 1) 0s 1 normal both; }
#index #mainv .mainbox .canvaslinklist1 li .desc.loaded.is-open{ animation: gnav-in 1.6s cubic-bezier(0.25, 1, 0.5, 1) 0s 1 normal both; }
.desc .bg { opacity: 0; pointer-events: none; transition: 0.6s; }
.desc .bg.is-open { opacity: 0.6; background: #000; height: 100%; width: 100%; position: fixed; top: 0; left: 0; }
/*.desc .mainlistcover>.inwrap{ padding-bottom: 150px; }*/

.desc ul.mainlist{font-size: 2.2rem;font-weight: bold;letter-spacing: 0.1em;margin-bottom: 40px;}
.desc ul.mainlist>li{ margin-bottom: 10px;}
.desc ul.mainlist>li a{ position: relative; display: inline-block; }
.desc ul.mainlist>li a:after{ content: ""; background: #fff; display: inline-block; position: absolute; left: 0; bottom: 0; width: 0; transition: .6s; height: 2px; }
.desc ul.mainlist>li a:hover:after{ width: 100%; }
.desc ul.mainlist>li:nth-child(1){ font-size: 2.8rem; }
.desc .mainlist>li.hassub p{position: relative;display: inline-block;padding-right: 25px;cursor: pointer;}
.desc .mainlist>li.hassub p .arr{ position: absolute; width: 20px; height: 20px; top: 0; bottom: 0; margin-top: auto; margin-bottom: auto; right: 0 }
.desc .mainlist>li.hassub p .arr:before { content:""; display: inline-block; position: absolute; width: 10px; height: 6px; background: linear-gradient(to top right, rgba(64, 47, 35, 0) 50%, #fff 50.5%) no-repeat top left/50% 100%, linear-gradient(to top left, rgba(64, 47, 35, 0) 50%, #fff 50.5%) no-repeat top right/50% 100%; top: 0; bottom: 0; right: 0; left: 0; margin: auto; }
.desc .mainlist>li.hassub.open p .arr { transform: rotate(180deg); }
.desc .mainlist>li>div.sub { display: none; opacity: 1; position: static; margin-left: 0; min-width: auto; padding: 0; background: transparent; color: #fff; text-align: left; visibility: visible; margin-top: 5px; font-size: 1.8rem; transition: none }
.desc .mainlist>li>div.sub>ul>li:before { content: "- " }
.desc .mainlist>li>div.sub>ul>li>a {display: inline;background: transparent !important;padding: 0;border: none !important;padding-bottom: 5px;}
.desc .mainlist>li>div.sub>ul>li>a:after{ height: 1px; }
.desc .mainlist>li>div.sub>ul>li>a:hover { color: #fff; background: transparent }
.desc .instalink>a {padding-left: 58px;position: relative;min-height: 28px; display: inline-block;}
.desc .instalink>a svg{display: inline-block;width: 40px;height: 40px; position: absolute; top: 0; bottom: 0; margin-top: auto; margin-bottom: auto; left: 0;}
.desc .instalink>a .txt{font-size: 2.8rem;font-weight: bold;letter-spacing: 0.16em;position: relative;padding-bottom: 5px;padding-top: 5px;}
.desc .instalink>a .txt:after{ content: ""; background: #fff; display: inline-block; position: absolute; left: 0; bottom: 0; width: 0; transition: .6s; height: 2px; }
.desc .instalink>a:hover .txt:after{ width: 100%; }
.desc .maillink>a {padding-left: 58px;position: relative;min-height: 28px; display: inline-block;}
.desc .maillink>a svg{display: inline-block;width: 40px;height: 28px; position: absolute; top: 0; bottom: 0; margin-top: auto; margin-bottom: auto; left: 0;}
.desc .maillink>a .txt{font-size: 2.8rem;font-weight: bold;letter-spacing: 0.16em;position: relative;padding-bottom: 5px;padding-top: 5px;}
.desc .maillink>a .txt:after{ content: ""; background: #fff; display: inline-block; position: absolute; left: 0; bottom: 0; width: 0; transition: .6s; height: 2px; }
.desc .maillink>a:hover .txt:after{ width: 100%; }
.desc .maillink>a .open{display: inline-block;vertical-align: 2px;font-size: 1.4rem;margin-left: 15px;}
.desc .onlinelink>a {padding-left: 58px;position: relative; min-height: 32px; display: inline-block;}
.desc .onlinelink>a:hover{ color: #fff; }
.desc .onlinelink>a svg{ display: inline-block; width: 32px; height: 32px; position: absolute; top: 0; bottom: 0; margin-top: auto; margin-bottom: auto; left: 3px; }
.desc .onlinelink>a .txt{ font-size: 2.8rem;font-weight: bold; letter-spacing: 0.15em; }
.desc .onlinelink>a .open{display: inline-block;vertical-align: 2px;font-size: 1.4rem;margin-left: 15px;}
.desc .onlinelink+.txt { font-weight: bold; margin-top: 10px; }
.desc ul.mainlist>li,
.desc .onlinelink+.txt,
.desc .instalink,
.desc .maillink,
.desc .onlinelink{ opacity: 0; transition: .6s; }

.desc.is-open {pointer-events: auto;opacity: 1;}
.desc.is-open ul.mainlist>li,
.desc.is-open .instalink,
.desc.is-open .maillink,
.desc.is-open .onlinelink,
.desc.is-open .onlinelink+.txt {opacity:1;transition: 1.6s cubic-bezier(0.25, 1, 0.5, 1);}
.desc.is-open ul.mainlist>li:nth-child(1) { transition-delay: .6s; }
.desc.is-open ul.mainlist>li:nth-child(2) { transition-delay: .75s; }
.desc.is-open ul.mainlist>li:nth-child(3) { transition-delay: .9s; }
.desc.is-open ul.mainlist>li:nth-child(4) { transition-delay: 1.05s; }
.desc.is-open ul.mainlist>li:nth-child(5) { transition-delay: 1.2s; }
.desc.is-open ul.mainlist>li:nth-child(6) { transition-delay: 1.35s; }
.desc.is-open ul.mainlist>li:nth-child(7) { transition-delay: 1.5s; }
.desc.is-open .instalink{ transition-delay: 1.65s; }
.desc.is-open .maillink{ transition-delay: 1.8s; }
.desc.is-open .onlinelink{ transition-delay: 1.95s; }
.desc.is-open .onlinelink+.txt{ transition-delay: 2.1s; }
@keyframes gnav-in {
  0% { -webkit-transform: skew(-5deg); transform: skew(-5deg); right:-800px; }
  30% { -webkit-transform: skew(5deg); transform: skew(5deg); }
  100% { -webkit-transform: skew(0); transform: skew(0); right:0;}
}
@keyframes gnav-out {
  0% { -webkit-transform: skew(0); transform: skew(0); right:0;}
  30% { -webkit-transform: skew(5deg); transform: skew(5deg); }
  100% { -webkit-transform: skew(0deg); transform: skew(0deg); right:-800px; }
}
@media screen and (max-width: 1040px){
	.desc{ right: -100%; width: 100%!important; }
	.desc .mainlistcover {padding: 0 12%;}
	.desc .mainlistcover>.inwrap{ padding-bottom: 150px; }

	@keyframes gnav-in {
	  0% { -webkit-transform: skew(-5deg); transform: skew(-5deg); right:-100vw; }
	  30% { -webkit-transform: skew(5deg); transform: skew(5deg); }
	  100% { -webkit-transform: skew(0); transform: skew(0); right:0;}
	}
	@keyframes gnav-out {
	  0% { -webkit-transform: skew(0); transform: skew(0); right:0;}
	  30% { -webkit-transform: skew(5deg); transform: skew(5deg); }
	  100% { -webkit-transform: skew(0deg); transform: skew(0deg); right:-100vw; }
	}
}
@media screen and (max-width: 767px){
	.desc .mainlistcover{ display: block; }
	.desc .mainlistcover>.inwrap2,
	.desc .mainlistcover>.inwrap{ padding-bottom: 80px; padding-top: 80px; }
	.desc ul.mainlist{font-size: 1.8rem;}
	.desc ul.mainlist>li a:after{ height: 1px; }
	.desc ul.mainlist>li:nth-child(1){ font-size: 2.4rem; }
	.desc .mainlist>li>div.sub { font-size: 1.6rem; }
	.desc .instalink>a {padding-left: 53px;min-height: inherit;}
	.desc .instalink>a svg{width: 36px;height: 36px;}
	.desc .instalink>a .txt{font-size: 2rem;padding-bottom: 0;padding-top: 0;}
	.desc .instalink>a .txt:after{ height: 1px; }
	.desc .maillink>a {padding-left: 53px;min-height: inherit;line-height: 1.4;}
	.desc .maillink>a svg{width: 36px;height: 26px;}
	.desc .maillink>a .txt{font-size: 2rem;display: block;}
	.desc .maillink>a .txt:after{ height: 1px; }
	.desc .maillink>a .open{font-size: 1.3rem;display: block;margin-left: 0;}
	.desc .onlinelink{ margin-top: 15px; }
	.desc .onlinelink>a {padding-left: 53px; min-height: inherit;line-height: 1.4;}
	.desc .onlinelink>a svg{ width: 30px; height: 30px; left: 3px; }
	.desc .onlinelink>a .txt{ font-size: 2rem;display: block; margin-bottom: 5px; }
	.desc .onlinelink>a .open{vertical-align: 2px;font-size: 1.3rem;display: block;margin-left: 0;}
	.desc .onlinelink+.txt { margin-top: 20px; }

}


#mainv.under{ background: #1992eb; color: #fff; padding: 40px 8% 30px; margin-top: 130px; height: 400px; display: flex; align-items: center; }
#mainv.under .pagetitlebox{line-height: 1.2;}
#mainv.under .pagetitlebox .en{font-size: 7.6rem;font-weight: bold;margin-bottom: 15px;}
#mainv.under .pagetitlebox .ja{font-size: 2.4rem;letter-spacing: 0.2em;font-feature-settings: "palt";}
@media screen and (max-width: 1200px){
	#mainv.under .pagetitlebox .en{ font-size: 6.6rem; }
}
@media screen and (max-width: 1040px){
	#mainv.under{ height: 350px; margin-top: 90px; }
	#mainv.under .pagetitlebox .en{ font-size: 5.6rem; margin-bottom: 20px; }
	#mainv.under .pagetitlebox .ja{font-size: 2.2rem;}
}
@media screen and (max-width: 767px){
	#mainv.under{ height: 280px; }
	#mainv.under .pagetitlebox .en{ font-size: 4.6rem; }
	#mainv.under .pagetitlebox .ja{font-size: 2rem;}
}
@media screen and (max-width: 500px){
	#mainv.under{ height: 200px; }
	#mainv.under .pagetitlebox .en{ font-size: 2.8rem; margin-bottom: 15px; }
	#mainv.under .pagetitlebox .ja{font-size: 1.6rem;}
}


#pankuzu {line-height: 1.4;padding: 25px 4%;position: relative;z-index: 10;box-sizing: border-box;background: #f7f7f7;}
#pankuzu ol li { display:inline; font-size: 1.4rem;letter-spacing: 0.05em;text-indent: 0.05em;}
#pankuzu ol li:before {content:">";display: inline-block;margin: 0 8px 0 2px;font-size: 1rem;vertical-align: 2px;}
#pankuzu ol li:first-child:before { display: none; }
#pankuzu ol li:first-child img{width: 14px;height: 14px;vertical-align: -1px;}
#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; }
}


body:not(#index) #article{ margin-top: 110px; margin-bottom: 180px; }
body:not(#index) #article.recruit{ margin-bottom: 0; }
@media screen and (max-width: 1040px){
	body:not(#index) #article{ margin-bottom: 120px; }
}
@media screen and (max-width: 767px){
	body:not(#index) #article{ margin-top: 80px; margin-bottom: 100px; }
}
@media screen and (max-width: 500px){
}





#maincontent{ margin-top: 110px; margin-bottom: 180px;  }
#maincontent>.incnt>.inwrap { display: flex; flex-direction: row-reverse;  }
#maincontent>.incnt>.inwrap #articlewp { width: 100%; }
#maincontent>.incnt>.inwrap #aside{ flex-shrink: 0; margin-right: 100px; }
#maincontent>.incnt>.inwrap #aside .asidecatlist>li{ font-size: 2.8rem; }
#maincontent>.incnt>.inwrap #aside .asidecatlist>li>a{ position: relative; color: #1992eb; padding-bottom: 3px; letter-spacing: 0.2em; }
#maincontent>.incnt>.inwrap #aside .asidecatlist>li>a:after{ content: ""; background: #1992eb; display: inline-block; height: 2px; position: absolute; bottom: 0; left: 0; width: 0; transition: .4s; }
#maincontent>.incnt>.inwrap #aside .asidecatlist>li>a:hover:after,
#maincontent>.incnt>.inwrap #aside .asidecatlist>li.current>a:after{ width: 100%; }
@media screen and (max-width: 1040px) {
	#maincontent{ margin-bottom: 120px; }
	#maincontent>.incnt>.inwrap { display: block;  }
	#maincontent>.incnt>.inwrap #aside{ margin-top: 100px; }
	#maincontent>.incnt>.inwrap #aside .asidecatlist{ columns: 2 }
	#maincontent>.incnt>.inwrap #aside .asidecatlist>li{ font-size: 2.4rem; }
}
@media screen and (max-width: 767px) {
	#maincontent{ margin-top: 80px; margin-bottom: 100px; }
}
@media screen and (max-width: 500px){
	#maincontent>.incnt>.inwrap #aside .asidecatlist{ columns: inherit }
	#maincontent>.incnt>.inwrap #aside .asidecatlist>li{ font-size: 2rem; }
}

#finstabox{ text-align: center; padding: 100px 0 ; }
#finstabox .finstatitle{ color: #1e2e53; margin-bottom: 30px !important; }
#finstabox .finstalink>a{ margin-left: -10px; display: inline-block; }
#finstabox .finstalink>a .finstaicon,
#finstabox .finstalink>a .finstalinktxt{ display: inline-block; vertical-align: middle; margin-left: 10px; }
#finstabox .finstalink>a .finstaicon{ width: 40px; height: 40px; }
#finstabox .finstalink>a .finstalinktxt{ position: relative;color: #1e2e53;font-size: 2rem; }
#finstabox .finstalink>a .finstalinktxt::before{ content: ""; background: #1e2e53; position: absolute; bottom: 0; left: 0; right: 0; margin-left: auto; margin-right: auto; display: inline-block; height: 1px; width: 0; transition: .4s; }
#finstabox .finstalink>a:hover .finstalinktxt::before{ width: 100%; }
body:not(#index):not(#recruit.interview):not(#recruit.environment):not(#recruit.requirements):not(#contact) #finstabox{ padding-top: 0 !important; }
@media screen and (max-width: 767px) {
	#finstabox{ padding: 70px 0 ; }
	#finstabox .finstatitle{  margin-bottom: 20px !important; }
	#finstabox .finstalink>a .finstaicon{ width: 30px; height: 30px; }
	#finstabox .finstalink>a .finstalinktxt{ font-size: 1.6rem; }
}



#fcontact{ background: #1992eb; color: #fff; padding-top: 80px; padding-bottom: 70px; }
#fcontact .incnt{ max-width: 1125px; }
#fcontact .list1{display: flex;flex-direction: row;}
#fcontact .list1>li{border-right: 1px solid #fff;text-align: center;box-sizing: border-box;display: flex;align-items: center;justify-content: flex-end;flex-direction: column;padding-left: 8%;padding-right: 8%;}
#fcontact .list1>li:last-child{ border-right: none;padding-right: 0; }
#fcontact .list1>li:first-child{ padding-left: 0; }
#fcontact .list1>li>.inwrap{ color: #fff; }
#fcontact .list1>li>.inwrap .titlebox .en{ font-size: 2.8rem;letter-spacing: 0.2em; line-height: 1.6; }
#fcontact .list1>li>.inwrap .titlebox .ja{ letter-spacing: 0.2em; }
#fcontact .list1>li:nth-child(2){ flex-grow: 1; }
#fcontact .list1>li:nth-child(1)>.inwrap .icon,
#fcontact .list1>li:nth-child(3)>.inwrap .icon{ padding-bottom: 10px; }
#fcontact .list1>li:nth-child(1)>.inwrap:hover,
#fcontact .list1>li:nth-child(2)>.inwrap:hover{ color: #fbd521; }
#fcontact .list1>li:nth-child(1)>.inwrap .icon svg{ width: 40px; height: 28px; }
#fcontact .list1>li:nth-child(1)>.inwrap .icon svg .mail_st0.st0,
#fcontact .list1>li:nth-child(1)>.inwrap .icon svg .mail_st1.st1,
#fcontact .list1>li:nth-child(2)>.inwrap .icon svg .online_st0.st0{ transition: .6s; }
#fcontact .list1>li:nth-child(1)>.inwrap:hover .icon svg .mail_st0.st0{ stroke:#fbd521; }
#fcontact .list1>li:nth-child(1)>.inwrap:hover .icon svg .mail_st1.st1{ fill:#fbd521; }
#fcontact .list1>li:nth-child(2)>.inwrap .icon svg{ width: 74px; height: 74px; }
#fcontact .list1>li:nth-child(2)>.inwrap:hover .icon svg .online_st0.st0{ fill:#fbd521;stroke:#fbd521; }
#fcontact .list1>li:nth-child(3)>.inwrap .icon svg{ width: 32px; height: 32px; }
#fcontact .list1>li:nth-child(1)>.inwrap .titlebox .ja{ font-size: 1.8rem; }
#fcontact .list1>li:nth-child(2)>.inwrap .titlebox .ja{ font-size: 1.8rem; }
#fcontact .list1>li:nth-child(3)>.inwrap .titlebox .designfont{ font-weight: normal; }
@media screen and (max-width: 1040px){
	#fcontact{ padding-top: 70px; padding-bottom: 50px; }
	#fcontact .list1{display: block;padding-top: 20px;}
	#fcontact .list1>li{border-right: none;border-bottom: 1px solid #fff;padding-bottom: 25px;margin-bottom: 35px;padding-left: 0; padding-right: 0;}
	#fcontact .list1>li:last-child{ border-bottom: none; padding-bottom: 0; margin-bottom: 0; }
}
@media screen and (max-width: 500px){
	#fcontact{ padding-bottom: 40px; }
	#fcontact .list1>li>.inwrap .titlebox{ margin-top: 5px; }
	#fcontact .list1>li>.inwrap .titlebox .en{ font-size: 2.6rem; }
	#fcontact .list1>li:nth-child(2)>.inwrap .icon svg{ width: 60px; height: 60px; }
	#fcontact .list1>li:nth-child(1)>.inwrap .icon,
	#fcontact .list1>li:nth-child(3)>.inwrap .icon{ padding-bottom: 0; }
}

#fdesc{ padding-top: 80px; padding-bottom: 85px; }
#fdesc>.incnt>.inwrap{ display: flex; flex-direction: row; }
#fdesc>.incnt>.inwrap .link1{flex-shrink: 0;display: flex;margin-right: 6%;width: 426px;}
#fdesc>.incnt>.inwrap .link1>.inwrap{display: flex;position: relative;width: 100%;overflow: hidden;}
#fdesc>.incnt>.inwrap .link1>.inwrap .sectitlebox{position: relative;z-index: 10;color: #fff;display: flex;padding: 40px 90px 40px 40px;justify-content: center;box-sizing: border-box;flex-direction: column;width: 100%;margin-bottom: 0;}
#fdesc>.incnt>.inwrap .link1>.inwrap .sectitlebox:after{content: "";background: url(../img/common/arr1.svg) no-repeat;background-size: contain;width: 42px;height: 10px;display: inline-block;right: 40px;transition: .6s;position: absolute;top: 0;bottom: 0;margin-top: auto;margin-bottom: auto;}
#fdesc>.incnt>.inwrap .link1>.inwrap .bg{ transition: .6s; position: absolute; top: 0; bottom: 0; left: 0; right: 0; z-index: -1; }
#fdesc>.incnt>.inwrap .link1>.inwrap:hover .bg{ transform: scale(1.04); }
#fdesc>.incnt>.inwrap .link1>.inwrap:hover .sectitlebox:after{ right: 35px; }
#fdesc>.incnt>.inwrap .link1>.inwrap .subtitle{margin-bottom: 0;}
#fdesc>.incnt>.inwrap .link1>.inwrap .subtitle::before{ content: ""; background: #fff; width: 40px; height: 1px; display: inline-block; position: absolute; top: 0; bottom: 0; margin-top: auto; margin-bottom: auto; left: 0; }
#fdesc>.incnt>.inwrap .link1>.inwrap .title{letter-spacing: 0.05em;line-height: 1.4;}
#fdesc>.incnt>.inwrap .txtbox{ width: 100%; font-size: 1.4rem;padding-top: 15px; padding-bottom: 15px; }
#fdesc>.incnt>.inwrap .txtbox .copy{ margin-bottom: 10px; }
@media screen and (max-width: 1200px){
	#fdesc>.incnt>.inwrap .link1{width: 380px;}
	#fdesc>.incnt>.inwrap .link1>.inwrap .sectitlebox .title{ font-size: 2.8rem; }
	#fdesc>.incnt>.inwrap .txtbox .copy{ font-size: 2rem; }
}
@media screen and (max-width: 1040px){
	#fdesc>.incnt>.inwrap{ flex-direction: column-reverse; }
	#fdesc>.incnt>.inwrap .link1{display: block;margin-right: 0;width: 100%;margin-top: 30px;}
	#fdesc>.incnt>.inwrap .link1>.inwrap{display: block;text-align: left;}
	#fdesc>.incnt>.inwrap .txtbox{ padding-top: 0; padding-bottom: 0; }
	#fdesc>.incnt>.inwrap .txtbox .copy{ margin-bottom: 20px; text-align: left;  }
}
@media screen and (max-width: 767px){
	#fdesc{ padding-top: 60px; padding-bottom: 65px; }
	#fdesc>.incnt>.inwrap .link1>.inwrap .sectitlebox .title{ font-size: 2.6rem; margin-top: 5px; }
	#fdesc>.incnt>.inwrap .txtbox .copy{ font-size: 1.8rem; }
	#fdesc>.incnt>.inwrap .link1>.inwrap .sectitlebox{padding: 40px 70px 40px 30px;}
	#fdesc>.incnt>.inwrap .link1>.inwrap .sectitlebox:after{ width: 30px; height: 8px; right: 20px; }
	#fdesc>.incnt>.inwrap .link1>.inwrap:hover .sectitlebox:after{ right: 15px; }
}
@media screen and (max-width: 639px){
	#fdesc>.incnt>.inwrap .link1>.inwrap .sectitlebox{ display: block; }
	#fdesc>.incnt>.inwrap .link1>.inwrap .sectitlebox .subtitle{ margin-bottom: 5px; }
	#fdesc>.incnt>.inwrap .link1>.inwrap .sectitlebox .title{ font-size: 2.4rem; }
}

#mainfooter{ background: #f5f5f5; padding-top: 65px; padding-bottom: 80px; font-size: 1.5rem; }
#mainfooter>.incnt>.inwrap{ display: flex; flex-direction: row; justify-content: space-between; }
#mainfooter>.incnt>.inwrap .footerinfo{ flex-shrink: 0; margin-right: 6%; }
#mainfooter>.incnt>.inwrap .footerinfo .logobox{ margin-bottom: 40px; }
#mainfooter>.incnt>.inwrap .footerinfo .logobox img{max-width: 286px;width: 100%;}
#mainfooter>.incnt>.inwrap .footerinfo .addresslist>li{margin-bottom: 30px;}
#mainfooter>.incnt>.inwrap .footerinfo .addresslist>li:last-child{margin-bottom: 0;}
#mainfooter>.incnt>.inwrap #fnav{ padding-top: 20px; }
#mainfooter>.incnt>.inwrap #fnav .mainlist>ul{ margin-left: 35px; display: inline-block; vertical-align: top; }
#mainfooter>.incnt>.inwrap #fnav .mainlist>ul>li{ margin-bottom: 5px; }
#mainfooter>.incnt>.inwrap #fnav .mainlist>ul>li a:hover{ color: #1992eb; }
#mainfooter>.incnt>.inwrap #fnav .mainlist>ul>li:last-child{ margin-bottom: 0; }
#mainfooter>.incnt>.inwrap #fnav .mainlist>ul>li .sub{ font-size: 1.4rem; margin-top: 5%; }
#mainfooter>.incnt>.inwrap #fnav .mainlist>ul>li .sub li::before{ content: "ー"; margin-right: 5px; }
@media screen and (max-width: 1040px){
	#mainfooter>.incnt>.inwrap #fnav{ display: none; }
	#mainfooter{  font-size: 1.4rem; padding-bottom: 60px; }
	#mainfooter>.incnt>.inwrap{ display: block; text-align: center; }
	#mainfooter>.incnt>.inwrap .footerinfo{ margin-right: 0; }
}
@media screen and (max-width: 767px){
	#mainfooter>.incnt>.inwrap .footerinfo .logobox img{max-width: 270px;width: 80%;}
	#mainfooter{ padding-top: 50px; padding-bottom: 50px; font-size: 1.4rem; }
	#mainfooter>.incnt>.inwrap .footerinfo .logobox{ margin-bottom: 35px; }
}

#flastbox>.incnt>.inwrap{font-size: 1.3rem;height: 84px;display: flex;align-items: center;justify-content: center;}
#flastbox .flast{ display: inline-block; vertical-align: middle; margin-left: -20px; }
#flastbox .flast .link1{ display: inline-block; vertical-align: middle; margin-left: 12px; }
#flastbox .flast .link1>li{ display: inline-block; vertical-align: middle; margin-left: 8px; }
#flastbox .flast .link1>li a:hover{ color: #1992eb; }
#flastbox .flast #cr{ display: inline-block; vertical-align: middle; margin-left: 20px; }
#pagetop{ position: fixed; bottom: 0; right: 0; }
#pagetop .pagetop:after{content: ""; background: url(../img/common/arr1.svg) no-repeat; background-size: contain; width: 42px; height: 10px; display: inline-block; vertical-align: middle; transition: .6s;transform: rotate(-90deg)}
#pagetop .pagetop:hover:after{ content: ""; background: url(../img/common/arr2.svg) no-repeat; background-size: contain; transform: translateY(-5px) rotate(-90deg); }
#pagetop>a{width: 84px;height: 84px;display: flex;align-items: center;justify-content: center;background: #1992eb;}
#pagetop>a:hover{ background: #f7f7f7; }
@media screen and (max-width: 1040px){
	#flastbox>.incnt>.inwrap{ text-align: center; display: block; }
	#flastbox .flast{ display: block; margin-left: 0; text-align: center; }
	#flastbox .flast .link1{ display: block; margin-left: -8px; }
	#flastbox .flast #cr{ display: block; margin-left: 0; }
	#pagetop>a{width: 60px;height: 60px;}
	#pagetop>a img{width: 30px;height: 8px;}
}
@media screen and (max-width: 639px){
	#flastbox>.incnt>.inwrap{text-align: left;font-size: 1.2rem;width: 100%;justify-content: flex-start;}
}
@media screen and (max-width: 500px){
	#flastbox>.incnt>.inwrap{height: auto;padding-top: 25px;padding-bottom: 25px;}
	#flastbox .flast #cr{ margin-top: 5px; }
}