@charset "UTF-8";
/* 
CSS base.css */
/*
base #2E2424
grey #585050
orange #F3A50A
pink #EF6459
red #f90307
*/

/*///////////////////////////////////
Header
///////////////////////////////////*/
#header { width: 100%; z-index: 200; position: fixed; top: 0; left: 0; }
#header .mainbox { display: flex; align-items: center; justify-content: space-between; height: 100px; position: relative; transition: 0.3s; background: #fff;}
#index #header .mainbox { background: #fff; }
#index #header .mainbox:hover {background: #fff;}
#header .logo { line-height: 0; margin-left: 40px; transition: 0.3s; }
#header .logo img { width: 162px; transition: 0.3s; }
/* スクロール時fixed */
#header.fixed .mainbox { margin: 0; height: 80px; background: #fff; pointer-events: auto; }
#header.fixed .logo img{ width: 140px; }
@media screen and (max-width: 1100px) {
	#header .mainbox { height: 100px;  }
	#header.spfixed .mainbox {  }
	#header.fixed .mainbox { background: none; }
	/* #header .mainbox:hover {background: none;} */
}
@media screen and (max-width: 767px) {
	#header .logo img{ width: 140px; }
}
@media screen and (max-width: 500px) {
	#header .mainbox { height: 86px; }
	#header .logo { margin-left: 15px; margin-top: 3px; }
	#header .logo img { width: 120px; }
}

/*///////////////////////////////////
gNav
///////////////////////////////////*/
#gnav { z-index: 101; display: flex; justify-content: center; align-items: center; height: 100px; transition: 0.3s; }
#gnav .navbox { line-height: 1; display: flex; align-items: center; padding-right: 40px;}
#gnav ul.main { display: flex; align-items: center; }
#gnav ul.main>li>a,
#gnav ul.main>li.hassub>p { position: relative; transition: 0.5s; font-size: 1.5rem; font-weight: 500; height: 100px; display: block; display: flex; align-items: center; padding: 0 0.7em; cursor: pointer; }  
#gnav ul.main>li>a::before,
#gnav ul.main>li.hassub>p::before { content: ""; top: 0; left: 0; width: 100%; height: 4px; background: #585050; font-size:0; position: absolute; transition: 0.5s; opacity: 0; }
#gnav ul.main>li>a:hover::before,
#gnav ul.main>li.hassub:hover>p::before { opacity: 1; }
#gnav ul.main>li.blank svg { width: 14px; height: 14px; margin-left: 5px; vertical-align: -2px;}
#header.fixed #gnav,
#header.fixed #gnav ul.main>li>a,
#header.fixed #gnav ul.main>li.hassub>p { height: 80px; }
@media screen and (max-width: 1300px) {
	#gnav .navbox { padding-right: 30px;}
	#gnav ul.main>li.hassub>p { padding: 0 0.6em; }
}
@media screen and (max-width: 1200px) {
	#gnav { display: none;}
}
/* hassub */
#gnav ul.main>li.hassub>.sub { display: none; background: #2E2424; position: absolute; top: 100px; margin-left: -25px; padding:40px 25px; min-width: 200px; }
#gnav ul.main>li.hassub>.sub>.nav { display: flex; justify-content: center; align-items: flex-start; flex-direction: column; width: 100%;}
#gnav ul.main>li.hassub>.sub>.nav>li {width: 100%;}
#gnav ul.main>li.hassub>.sub>.nav>li>a { color: #fff; display: flex; height: auto; align-items: center; padding: 13px 15px; width: calc(100% - 30px); font-size: 1.5rem; }
#gnav ul.main>li.hassub>.sub>.nav>li>a:hover { background: #433A3A;}
#gnav ul.main>li.hassub>.sub>.nav>li>a:before { content: url(../img/common/arr1_white.svg); width: 20px; height: 12px; display:inline-block; opacity: 1; margin-right: 5px; font-size: 0; vertical-align: 10px; }
#header.fixed #gnav ul.main>li.hassub>.sub{ top: 80px; }

/* snslist */
#gnav ul.snslist { display: flex; align-items: center; margin-left: 10px; margin-right: 15px;}
#gnav ul.snslist>li:first-child { margin-right: 4px; }
#gnav ul.snslist>li svg { width: 28px; height: 28px; }
#gnav ul.snslist>li>a { transition: 0.3s;}
#gnav ul.snslist>li>a:hover .xicon_st1{fill:#ef6459;}
#gnav ul.snslist>li>a:hover .xicon_st2{fill:#ef6459;}
#gnav ul.snslist>li>a:hover .instaicon_st0{fill:#ef6459;}

/* contactbtn */
#gnav .contactbtn .btn.base{ min-width: 0; border-radius: 23px; height: 44px;}
#gnav .contactbtn .btn.base>span{ font-size: 1.6rem; padding-left: 20px; padding-right: 35px; }
#gnav .contactbtn .btn.base:after,
#gnav .contactbtn .btn.base:before{ width: 17px; height: 10px; top: calc(50% - 5px); }
@media screen and (max-width: 500px) {
	#gnav{ width: 50px; height: 70px;}
}



/*///////////////////////////////////
Hamburger
///////////////////////////////////*/
/* contactbtn */
@media screen and (min-width: 1201px) {
	#hamburger { display: none!important;}
}
#hamburger { display: block; position: fixed; transition: 1s cubic-bezier(0.23, 1, 0.32, 1); width: 100%; max-height:100vh;max-height:100svh; padding: 40px; background: #EF6459; box-sizing: border-box; top: 0; left: 0; z-index: 102; pointer-events: none; opacity: 0; overflow-y: scroll;overscroll-behavior: none; -ms-overflow-style: none;scrollbar-width: none;}
#hamburger.is-open { opacity: 1; pointer-events: auto; }
#hamburger .wrap { background: #fff; border-radius: 40px; width: 100%; box-sizing: border-box;}
#hamburger .innav { width: 76%; margin: 0 auto; padding: 60px 0; box-sizing:border-box; line-height: 2.3;}
#hamburger .logo_ham { border-bottom: 1px solid #2E2424;  margin-bottom:35px; padding-bottom:35px}
#hamburger .logo_ham img { width: 145px;}
@media screen and (max-width: 500px) {
	#hamburger { padding: 6%; }
	#hamburger .logo_ham { margin-bottom:20px; padding-bottom:25px}
	#hamburger .logo_ham img { width: 120px;}
	#hamburger .wrap { border-radius: 30px; }
	#hamburger .innav { padding: 45px 0; line-height: 2.2;}
}
/* navbox */
#hamburger .navbox ul.main>li>a,
#hamburger .navbox ul.main>li>p.title { font-weight: 500; position: relative; cursor: pointer; display: inline-block; font-size: 1.8rem; }
#hamburger .navbox ul.main>li.hassub .sub { margin-left: 1em; margin-bottom: 8px; font-size: 1.7rem;}
#hamburger .navbox ul.main>li.hassub.open .sub { margin-left: 1em; }
#hamburger .navbox ul.main>li.hassub>p.title::before,
#hamburger .navbox ul.main>li.hassub>p.title::after { bottom: 0px; content: ""; height: 1px; position: absolute; right: -30px; top: 0px; width: 11px; background: #2E2424; margin: auto 0px; }
#hamburger .navbox ul.main>li.hassub>p.title::after { transform: rotate(-90deg); transition: transform 0.3s; }
#hamburger .navbox ul.main>li.hassub.open>p.title::after { transform: rotate(0deg); }
#hamburger .navbox ul.main>li.blank svg { width: 14px; height: 14px; margin-left: 5px; vertical-align: -2px;}
@media screen and (max-width: 500px) {
	#hamburger .navbox ul.main>li>a,
	#hamburger .navbox ul.main>li>p.title { font-size: 1.6rem; }
	#hamburger .navbox ul.main>li.hassub .sub { font-size: 1.6rem;}
}
/* snslist */
#hamburger ul.snslist { border-top: 1px solid #2E2424; border-bottom: 1px solid #2E2424; padding: 35px 0; margin: 35px 0; display: flex; align-items: center; font-size: 0;}
#hamburger ul.snslist>li:first-child { margin-right: 6px; }
#hamburger ul.snslist>li svg { width: 38px; height: 38px; }
#hamburger ul.snslist>li>a { transition: 0.3s;}
@media screen and (max-width: 767px) {
	#hamburger .innav { width: 82%; }
}
@media screen and (max-width: 500px) {
	#hamburger ul.snslist { padding: 25px 0; margin: 25px 0; }
	#hamburger ul.snslist>li:first-child { margin-right: 5px; }
	#hamburger ul.snslist>li svg { width: 32px; height: 32px; }
}

/* contactbox */
#hamburger .contactbox .txt { font-size: 1.8rem; font-style: italic; font-weight: 500; line-height: 1.7; margin-bottom: 15px;}
#hamburger .contactbox .telbox .telnum { font-size: 3.0rem;}
#hamburger .contactbox .telbox .opentxt { font-size: 1.3rem;}
#hamburger .contactbox .btnbox ul { justify-content: flex-start;}
@media screen and (max-width: 500px) {
	#hamburger .contactbox .telbox .telnum { font-size: 2.6rem;}
	#hamburger .contactbox .telbox .opentxt { font-size: 1.2rem;}
}




/*///////////////////////////////////
Menubtn
///////////////////////////////////*/
#menubtn { display: none;}
@media screen and (max-width: 1200px) {
	#menubtn { display: block; position: fixed; top:20px; right: 20px; display: block; background: transparent; width: 60px; height: 60px; cursor: pointer; transition: 0.4s; z-index: 103; }
	#menubtn a { text-decoration: none; position: relative; display: block; height: 100%; width: 100%; background: #585050; border: 1px solid #2E2424; border-radius: 32px; }
	#menubtn a .line {width: 44px; height: 1px;position: absolute;right: 0;transition: .3s;left: 0;margin-left: auto;margin-right: auto;}
	#menubtn a .line:before { content: ""; background: #fff; display: inline-block; position: absolute; top: 0; bottom: 0; left: 0; right: 0; height: 1px; width: 100%; margin: auto; }
	#menubtn a #line1 {top: 24px;}
	#menubtn a #line3 { top: 36px; }
	#menubtn a:hover #line1 {top: 27px;}
	#menubtn a:hover #line3 { top: 33px; }
	#menubtn.active a .line{ width: 50px;}
	#menubtn.active a .line:before { background: #fff!important; }

	#menubtn.active a #line1 {top: 24px; }
	#menubtn.active a #line3 { top: 36px; }
	#menubtn.active a #line1 {
		-webkit-transform:translateY(6px) rotate(-18deg);
		transform: translateY(6px) rotate(-18deg);
	}
	#menubtn.active a #line3 {
		-webkit-transform:translateY(-6px) rotate(18deg);
		transform: translateY(-6px) rotate(18deg);
	}
	#header.fixed #menubtn { top: 10px;}
	#header.fixed #menubtn a .line { height: 2px; }
	#header.fixed #menubtn a .line:before { height: 2px;  }
}
@media screen and (max-width: 500px){
	#menubtn { top:15px; right: 15px; width: 54px; height: 54px; }
	#menubtn a .line {width: 36px; }
	#menubtn a #line1 {top: 22px;}
	#menubtn a #line3 { top: 32px; }
	#menubtn a:hover #line1 {top: 22px;}
	#menubtn a:hover #line3 { top: 32px; }
	#menubtn.active a .line{ width: 40px;}
	#menubtn.active a #line1 {top: 24px; }
	#menubtn.active a #line3 { top: 36px; }
	#menubtn.active a #line1 {
		-webkit-transform:translateY(4px) rotate(-18deg);
		transform: translateY(4px) rotate(-18deg);
	}
	#menubtn.active a #line3 {
		-webkit-transform:translateY(-8px) rotate(18deg);
		transform: translateY(-8px) rotate(18deg);
	}	
}




/*///////////////////////////////////
Mainv.under
///////////////////////////////////*/
#mainv.under { position: relative; width: 100%; padding: calc(140px + 11vw) 0 35px; background-image: linear-gradient(90deg, #f8fcfc 30%, #f2f0f0 81%); /* z-index: -1; */ }
#mainv.under::before { content: ""; background: url(../img/index/s1_bg1.svg) no-repeat; background-size: contain; width: 100%; height: 120%; position: absolute; bottom: -5%; right: 0; margin: auto; z-index: 2; opacity: 0.7; }
#mainv.under .incnt { z-index: 3; display: flex; justify-content: space-between; align-items: flex-end; }
#mainv.under .incnt .pagetitle { margin-bottom: calc(4vw + 50px); }
#mainv.under .lnav { position: absolute; right: 6%; bottom: 35px; z-index: 6; }
#mainv.under .lnav li>a { position: relative; padding-right: 26px; transition: 0.3s; font-style: italic; }
#mainv.under .lnav li>a:before,
#mainv.under .lnav li>a::after { position:absolute; width: 18px; height: 5px; right: 3px; top: 1px; transition: .2s; line-height: 1; content: url(../img/common/arr1_black.svg); }
#mainv.under .lnav li>a::after { opacity: 0;}
#mainv.under .lnav li>a:hover { color: #EF6459;}
#mainv.under .lnav li>a:hover::before { opacity: 0; right: 0; }
#mainv.under .lnav li>a:hover::after { content: url(../img/common/arr1_red.svg); right: 0; opacity: 1; }
#mainv.under::after { content: ""; background: #ebe7e4; width: 8vw; height: 220px; display: inline-block; position: absolute; bottom: 11px; right: 0; clip-path: polygon(100% 0,0 70%,100% 100%); -webkit-clip-path: polygon(100% 0,0 80%,100% 100%); z-index: 4; }
#mainv.under>.deco._ru._c0 { background: #fff; width: 100vw; height: 60px; bottom: 0; }
@media screen and (max-width: 1100px){
}
@media screen and (max-width: 767px){
	#mainv.under { padding: calc(120px + 10vw) 0 25px; }
	#mainv.under .incnt { justify-content: center; align-items: flex-start; }
	#mainv.under .pagetitle .main { font-size: 1.8rem; }
	#mainv.under .pagetitle .en { font-size: 5rem; }
	#mainv.under .lnav { right: 4%; bottom: 20px;  }
	#mainv.under .lnav li>a { font-size: 1.5rem; padding-right: 25px;}
	#mainv.under .lnav li>a::before,
	#mainv.under .lnav li>a::after{ width: 15px; height: 5px; top: -1px;  }
	#mainv.under::after { width: 8vw; height: 120px; bottom: 13px; }
	#mainv.under>.deco._ru._c0 { height: 40px; }
}
@media screen and (max-width: 500px){
	#mainv.under .pagetitle .main { font-size: 1.6rem; }
	#mainv.under .pagetitle .en { font-size: 4.6rem; }
}
@media screen and (max-width: 767px) {
}


/*///////////////////////////////////
Pankuzu
///////////////////////////////////*/


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


/*///////////////////////////////////
Content
///////////////////////////////////*/
/* 
#main.under { margin-top: 120px; }
@media screen and (max-width: 767px) { 
	#main { }
} */



/*///////////////////////////////////
Cntside
///////////////////////////////////*/

#side {  }



/*///////////////////////////////////
Footer
///////////////////////////////////*/
#footer {overflow: hidden; }
/* fcontactbox */
#footer div.fcontactbox {position: relative; height: calc(700px + 15vw);}
#footer div.fcontactbox>.insec { z-index: 2;  height: 100%; display: flex;flex-direction: column; align-items: center; }
#footer div.fcontactbox .txtbox { text-align: center; position: absolute; bottom: 200px; width: 100%; left: 0; z-index: 1;}
#footer div.fcontactbox .txtbox .txt1 { color: #fff; font-size: 2.4rem; margin-bottom: 25px; font-style: italic; }
#footer div.fcontactbox .topbgtxt {color: #fff;position: absolute;bottom: -120px;left: 0;right: 0;transform: inherit;font-size: 26rem;height: 312px;  }
#footer div.fcontactbox .cover { position: absolute; top: 0; bottom: 0; left: 0; right: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, .4) }
#footer div.fcontactbox img.bg { object-position: 50% 100%; position: absolute; top: 0; left: 0;}
#footer div.fcontactbox .copybox{ line-height: 1.2; transform: rotate(-6deg); text-align: center; margin-top: calc(70px + 5vw); margin-left: 6vw;; color: #fff; z-index: 1;}
#footer div.fcontactbox .copybox .maintxt>span { display: inline-block; }
#footer div.fcontactbox .copybox .maintxt>span::before {content: "";height: 100%;display: inline-block;width: 2px;background: #fff;transform: rotate(12deg) translateX(-13px) translateY(7px);} 
#footer div.fcontactbox .copybox .maintxt>span>span{ font-size: 4.2rem; letter-spacing: 0em; font-weight: 500; font-style: italic; display: inline-block;}
#footer div.fcontactbox .copybox .maintxt>span:nth-of-type(2){ transform: translateY(-7px);}
#footer div.fcontactbox .copybox .maintxt>span:nth-of-type(3){ transform: translateY(-14px);}
#footer div.fcontactbox .copybox .maintxt>span>span:nth-child(2){ transform: translateX(-9px); }
#footer div.fcontactbox .copybox .maintxt>span>span:nth-child(3){ transform: translateX(-18px);}
#footer div.fcontactbox .copybox .maintxt>span>span:nth-child(4){ transform: translateX(-27px);}
#footer div.fcontactbox .copybox .maintxt>span:nth-of-type(2)>span:nth-child(1){ transform: translateX(0px);}
#footer div.fcontactbox .copybox .maintxt>span:nth-of-type(2)>span:nth-child(2){ transform: translateX(-9px);}
#footer div.fcontactbox .copybox .maintxt>span:nth-of-type(2)>span:nth-child(3){ transform: translateX(-18px);}
#footer div.fcontactbox .copybox .maintxt>span:nth-of-type(2)>span:nth-child(4){ transform: translateX(-27px);}
@media screen and (max-width: 1100px) { 
	#footer div.fcontactbox {position: relative; height: auto; background: #F9F8F7; padding-top: calc(100px + 5vw); }
	#footer div.fcontactbox .cover { display: none;}
	#footer div.fcontactbox .copybox{ margin-top: 0; margin-left: 6vw;; color: #2E2424; }
	#footer div.fcontactbox img.bg { position: static; margin-top: -80px; }
	#footer div.fcontactbox .copybox .maintxt>span::before { background: #2E2424; }
	#footer div.fcontactbox .txtbox { position: static; width: 88%; padding: 60px 6% calc(80px + 5vw);}	
	#footer div.fcontactbox .txtbox .txt1 { color: #2E2424; }
	#footer div.fcontactbox .topbgtxt { display: none;}
}
@media screen and (max-width: 767px) { 
	#footer div.fcontactbox { padding-top: calc(80px + 5vw); }
	#footer div.fcontactbox .txtbox .txt1 { font-size: 2.0rem; margin-bottom: 20px; }
	#footer div.fcontactbox .copybox .maintxt>span::before { transform: rotate(13deg) translateX(-9px) translateY(7px);} 
	#footer div.fcontactbox .copybox .maintxt>span>span{ font-size: 3.4rem; letter-spacing: 0em; font-weight: 500; font-style: italic; display: inline-block;}
	#footer div.fcontactbox .copybox .maintxt>span:nth-of-type(2){transform: translateY(-5px);}
	#footer div.fcontactbox .copybox .maintxt>span:nth-of-type(3){ transform: translateY(-10px);}
	#footer div.fcontactbox .copybox .maintxt>span>span:nth-child(2){ transform: translateX(-7px); }
	#footer div.fcontactbox .copybox .maintxt>span>span:nth-child(3){ transform: translateX(-14px);}
	#footer div.fcontactbox .copybox .maintxt>span>span:nth-child(4){ transform: translateX(-21px);}
	#footer div.fcontactbox .copybox .maintxt>span:nth-of-type(2)>span:nth-child(1){ transform: translateX(0px);}
	#footer div.fcontactbox .copybox .maintxt>span:nth-of-type(2)>span:nth-child(2){ transform: translateX(-7px);}
	#footer div.fcontactbox .copybox .maintxt>span:nth-of-type(2)>span:nth-child(3){ transform: translateX(-14px);}
	#footer div.fcontactbox .copybox .maintxt>span:nth-of-type(2)>span:nth-child(4){ transform: translateX(-21px);}
	#footer div.fcontactbox .topbgtxt { font-size: 12rem; bottom: -210px }
}
@media screen and (max-width: 500px) { 
	#footer div.fcontactbox { padding-top: calc(60px + 5vw); }
	#footer div.fcontactbox .txtbox { padding: 40px 6% calc(40px + 5vw);}	
	#footer div.fcontactbox .txtbox .txt1 { font-size: 1.8rem; margin-bottom: 15px;  line-height: 1.7;}
	#footer div.fcontactbox img.bg { margin-top: -35px; width: 120%; max-width: none; }
	#footer div.fcontactbox .copybox{ line-height: 1.13; }
	#footer div.fcontactbox .copybox .maintxt>span::before { transform: rotate(12deg) translateX(-7px) translateY(4px);} 
	#footer div.fcontactbox .copybox .maintxt>span>span{ font-size: 2.4rem; letter-spacing: 0em; font-weight: 500; font-style: italic; display: inline-block;}
	#footer div.fcontactbox .copybox .maintxt>span:nth-of-type(2){ transform: translateY(-4px);}
	#footer div.fcontactbox .copybox .maintxt>span:nth-of-type(3){ transform: translateY(-8px);}
	#footer div.fcontactbox .copybox .maintxt>span>span:nth-child(2){ transform: translateX(-5px); }
	#footer div.fcontactbox .copybox .maintxt>span>span:nth-child(3){ transform: translateX(-10px);}
	#footer div.fcontactbox .copybox .maintxt>span>span:nth-child(4){ transform: translateX(-15px);}
	#footer div.fcontactbox .copybox .maintxt>span:nth-of-type(2)>span:nth-child(1){ transform: translateX(0px);}
	#footer div.fcontactbox .copybox .maintxt>span:nth-of-type(2)>span:nth-child(2){ transform: translateX(-5px);}
	#footer div.fcontactbox .copybox .maintxt>span:nth-of-type(2)>span:nth-child(3){ transform: translateX(-10px);}
	#footer div.fcontactbox .copybox .maintxt>span:nth-of-type(2)>span:nth-child(4){ transform: translateX(-15px);}
	#footer div.fcontactbox .topbgtxt { font-size: 9rem; bottom: -240px }
}
/* safari対応 */
_::-webkit-full-page-media, _:future, :root #footer div.fcontactbox .copybox .maintxt>span>span { transform: rotate(12deg); }
_::-webkit-full-page-media, _:future, :root #footer div.fcontactbox .copybox .maintxt>span>span:nth-child(2){ transform: translateX(-9px) rotate(12deg); }
_::-webkit-full-page-media, _:future, :root #footer div.fcontactbox .copybox .maintxt>span>span:nth-child(3){ transform: translateX(-18px) rotate(12deg); }
_::-webkit-full-page-media, _:future, :root #footer div.fcontactbox .copybox .maintxt>span>span:nth-child(4){ transform: translateX(-27px) rotate(12deg); }
_::-webkit-full-page-media, _:future, :root #footer div.fcontactbox .copybox .maintxt>span:nth-of-type(2)>span:nth-child(1){ transform: translateX(0px) rotate(12deg); }
_::-webkit-full-page-media, _:future, :root #footer div.fcontactbox .copybox .maintxt>span:nth-of-type(2)>span:nth-child(2){ transform: translateX(-9px) rotate(12deg); }
_::-webkit-full-page-media, _:future, :root #footer div.fcontactbox .copybox .maintxt>span:nth-of-type(2)>span:nth-child(3){ transform: translateX(-18px) rotate(12deg); }
_::-webkit-full-page-media, _:future, :root #footer div.fcontactbox .copybox .maintxt>span:nth-of-type(2)>span:nth-child(4){ transform: translateX(-27px) rotate(12deg); }

@media screen and (max-width: 767px){
	_::-webkit-full-page-media, _:future, :root #footer div.fcontactbox .copybox .maintxt>span>span:nth-child(2){ transform: translateX(-7px) rotate(12deg); }
	_::-webkit-full-page-media, _:future, :root #footer div.fcontactbox .copybox .maintxt>span>span:nth-child(3){ transform: translateX(-14px) rotate(12deg); }
	_::-webkit-full-page-media, _:future, :root #footer div.fcontactbox .copybox .maintxt>span>span:nth-child(4){ transform: translateX(-21px) rotate(12deg); }
	_::-webkit-full-page-media, _:future, :root #footer div.fcontactbox .copybox .maintxt>span:nth-of-type(2)>span:nth-child(1){ transform: translateX(0px) rotate(12deg); }
	_::-webkit-full-page-media, _:future, :root #footer div.fcontactbox .copybox .maintxt>span:nth-of-type(2)>span:nth-child(2){ transform: translateX(-7px) rotate(12deg); }
	_::-webkit-full-page-media, _:future, :root #footer div.fcontactbox .copybox .maintxt>span:nth-of-type(2)>span:nth-child(3){ transform: translateX(-14px) rotate(12deg); }
	_::-webkit-full-page-media, _:future, :root #footer div.fcontactbox .copybox .maintxt>span:nth-of-type(2)>span:nth-child(4){ transform: translateX(-21px) rotate(12deg); }
}

@media screen and (max-width: 500px){
	_::-webkit-full-page-media, _:future, :root #footer div.fcontactbox .copybox .maintxt>span>span:nth-child(2){ transform: translateX(-5px) rotate(12deg); }
	_::-webkit-full-page-media, _:future, :root #footer div.fcontactbox .copybox .maintxt>span>span:nth-child(3){ transform: translateX(-10px) rotate(12deg); }
	_::-webkit-full-page-media, _:future, :root #footer div.fcontactbox .copybox .maintxt>span>span:nth-child(4){ transform: translateX(-15px) rotate(12deg); }
	_::-webkit-full-page-media, _:future, :root #footer div.fcontactbox .copybox .maintxt>span:nth-of-type(2)>span:nth-child(1){ transform: translateX(0px) rotate(12deg); }
	_::-webkit-full-page-media, _:future, :root #footer div.fcontactbox .copybox .maintxt>span:nth-of-type(2)>span:nth-child(2){ transform: translateX(-5px) rotate(12deg); }
	_::-webkit-full-page-media, _:future, :root #footer div.fcontactbox .copybox .maintxt>span:nth-of-type(2)>span:nth-child(3){ transform: translateX(-10px) rotate(12deg); }
	_::-webkit-full-page-media, _:future, :root #footer div.fcontactbox .copybox .maintxt>span:nth-of-type(2)>span:nth-child(4){ transform: translateX(-15px) rotate(12deg); }
}
/* fmainbox */
#footer div.fmainbox { background: #ebe7e4; padding-top: 150px; padding-bottom: 150px; }
#footer div.fmainbox .incnt { max-width: 1340px; }
#footer div.fmainbox .incnt div.inwrap {display: flex;flex-direction: row;justify-content: space-between;align-items: center;position: relative;z-index: 10;}
#footer div.fmainbox .incnt div.inwrap div.sitebox p.logo a img { width: 164px; }
#footer div.fmainbox .incnt div.inwrap div.sitebox p.cap {margin-top: 25px;font-size: 1.4rem;line-height: 1.8;}
#footer div.fmainbox .incnt div.inwrap div.sitebox div.telbox {margin-top: 15px;}
#footer div.fmainbox .incnt div.inwrap div.sitebox div.telbox a.tel { display: inline-block; }
#footer div.fmainbox .incnt div.inwrap div.sitebox div.telbox a.tel p.telnum { font-style: italic; font-size: 3.2rem; }
#footer div.fmainbox .incnt div.inwrap div.sitebox div.telbox a.tel p.opentxt {font-size: 1.4rem;letter-spacing: 0.1em;}
#footer div.fmainbox .incnt div.inwrap .fnav .mainbox { text-align: right; margin-left: -20px; margin-bottom: -20px; }
#footer div.fmainbox .incnt div.inwrap .fnav .mainbox ul.mainlist {text-align: left;margin-left: 20px;margin-bottom: 20px;display: inline-block;vertical-align: top;}
#footer div.fmainbox .incnt div.inwrap .fnav .mainbox ul.mainlist>li:not(.hassub),
#footer div.fmainbox .incnt div.inwrap .fnav .mainbox ul.mainlist>li .subparent {padding-bottom: 15px;border-bottom: 1px solid #d5d3d3;padding-top: 15px;}
#footer div.fmainbox .incnt div.inwrap .fnav .mainbox ul.mainlist li a,
#footer div.fmainbox .incnt div.inwrap .fnav .mainbox ul.mainlist li p {display: block;position: relative;padding-right: 35px;box-sizing: border-box;min-width: 184px;}
#footer div.fmainbox .incnt div.inwrap .fnav .mainbox ul.mainlist li .arr{content:"";transition: .4s;position: absolute;bottom: 0;top: 0;margin-top: auto;margin-bottom: auto;display: inline-block;overflow: hidden;right: 0;}
#footer div.fmainbox .incnt div.inwrap .fnav .mainbox ul.mainlist li .arr._blank{width: 18px;height: 18px;}
#footer div.fmainbox .incnt div.inwrap .fnav .mainbox ul.mainlist li .arr:not(._blank){border: 1px solid #b6b2b2;background: #fff;border-radius: 50%;width: 28px;height: 28px;}
#footer div.fmainbox .incnt div.inwrap .fnav .mainbox ul.mainlist li .arr::before,
#footer div.fmainbox .incnt div.inwrap .fnav .mainbox ul.mainlist li .arr::after{content:"";display: inline-block;position: absolute;top: 0;bottom: 0;transition:.4s;margin-top: auto;margin-bottom: auto;}
#footer div.fmainbox .incnt div.inwrap .fnav .mainbox ul.mainlist li .arr:not(._blank)::before,
#footer div.fmainbox .incnt div.inwrap .fnav .mainbox ul.mainlist li .arr:not(._blank)::after{width: 12px;height: 8px;}
#footer div.fmainbox .incnt div.inwrap .fnav .mainbox ul.mainlist li .arr._blank::before,
#footer div.fmainbox .incnt div.inwrap .fnav .mainbox ul.mainlist li .arr._blank::after{width: 18px;height: 18px;}
#footer div.fmainbox .incnt div.inwrap .fnav .mainbox ul.mainlist li .arr:not(._blank)::before{background: url(../img/common/arr1_grey.svg) no-repeat;background-size: contain;left: 8px;}
#footer div.fmainbox .incnt div.inwrap .fnav .mainbox ul.mainlist li .arr:not(._blank)::after{background: url(../img/common/arr1_white.svg) no-repeat;background-size: contain;left: -26px;}
#footer div.fmainbox .incnt div.inwrap .fnav .mainbox ul.mainlist li a:hover { color: #ef6459; }
#footer div.fmainbox .incnt div.inwrap .fnav .mainbox ul.mainlist li a:hover .arr:not(._blank){ color: #f5f3f1; background: #ef6459; border: 1px solid #ef6459; }
#footer div.fmainbox .incnt div.inwrap .fnav .mainbox ul.mainlist li a:hover .arr:not(._blank)::before{left: 42px;}
#footer div.fmainbox .incnt div.inwrap .fnav .mainbox ul.mainlist li a:hover .arr:not(._blank)::after{ left: 8px; }
#footer div.fmainbox .incnt div.inwrap .fnav .mainbox ul.mainlist li .arr._blank::before,
#footer div.fmainbox .incnt div.inwrap .fnav .mainbox ul.mainlist li .arr._blank::after{ height: 18px; left: 0; right: 0; margin: auto; }
#footer div.fmainbox .incnt div.inwrap .fnav .mainbox ul.mainlist li .arr._blank::before{background: url(../img/common/blankicon_brown.svg) no-repeat;background-size: contain;opacity: 1;}
#footer div.fmainbox .incnt div.inwrap .fnav .mainbox ul.mainlist li .arr._blank::after{background: url(../img/common/blankicon_red.svg) no-repeat;background-size: contain;opacity: 0;}
#footer div.fmainbox .incnt div.inwrap .fnav .mainbox ul.mainlist li:hover .arr._blank::before{ opacity: 0; }
#footer div.fmainbox .incnt div.inwrap .fnav .mainbox ul.mainlist li:hover .arr._blank::after{ opacity: 1; }
#footer div.fmainbox .incnt div.inwrap .fnav .mainbox ul.mainlist li.hassub .subnav {padding-top: 15px;padding-bottom: 20px;}
#footer div.fmainbox .incnt div.inwrap .fnav .mainbox ul.mainlist li.hassub .subnav ul.inwrap>li {font-weight: normal;color: #827c7c;}
#footer div.fmainbox .incnt div.inwrap .fnav .mainbox ul.mainlist li.hassub .subnav ul.inwrap>li::before { content: "・"; display: inline; }
#footer div.fmainbox .incnt div.inwrap .fnav .mainbox ul.mainlist li.hassub .subnav ul.inwrap li:not(:last-child) {margin-bottom: 6px;}
#footer div.fmainbox .incnt div.inwrap .fnav .mainbox ul.mainlist li.hassub .subnav ul.inwrap li a { font-size: 1.5rem; padding-right: 0; display: inline-block; }
@media screen and (max-width: 1200px) { 
	#footer div.fmainbox .incnt div.inwrap .fnav .mainbox ul.mainlist li a,
	#footer div.fmainbox .incnt div.inwrap .fnav .mainbox ul.mainlist li p {font-size: 1.5rem; min-width: 170px;}
}
@media screen and (max-width: 1100px) { 
	#footer div.fmainbox { background: #ebe7e4; padding: 100px 0; }
	#footer div.fmainbox .incnt div.inwrap .fnav { display: none;}
	#footer div.fmainbox .incnt div.inwrap { justify-content: center; text-align: center;}
}
@media screen and (max-width: 500px) { 
	#footer div.fmainbox { padding: 70px 0; }
	#footer div.fmainbox .incnt div.inwrap div.sitebox div.telbox {margin-top: 12px;}
	#footer div.fmainbox .incnt div.inwrap div.sitebox div.telbox a.tel p.telnum { font-size: 2.8rem; }
	#footer div.fmainbox .incnt div.inwrap div.sitebox p.cap {margin-top: 18px;}
	#footer div.fmainbox .incnt div.inwrap div.sitebox p.logo a img { width: 140px; }
}
/* fbnrbox */
#footer div.fbnrbox { background: #f5f3f1; padding-top: 40px; padding-bottom: 40px; text-align: center; }
#footer div.fbnrbox .incnt ul.inwrap { margin-left: -30px; margin-bottom: -30px; display: flex; flex-direction: row; justify-content: center; }
#footer div.fbnrbox .incnt ul.inwrap li { margin-left: 30px; margin-bottom: 30px; max-width: 400px; width: calc(50% - 30px); display: flex; }
#footer div.fbnrbox .incnt ul.inwrap li a { font-size: 1.5rem; box-sizing: border-box; width: 100%; }
#footer div.fbnrbox .incnt ul.inwrap li:nth-child(1) a { border: 1px solid #585050; background: #f3a50a; padding: 10px 20px; display: flex; align-items: center; justify-content: center; }
#footer div.fbnrbox .incnt ul.inwrap li:nth-child(1) a span.inwrap { display: inline-block; padding-left: 127px; padding-right: 24px; position: relative; }
#footer div.fbnrbox .incnt ul.inwrap li:nth-child(1) a span.inwrap::before { content: ""; background: url(../img/common/logo_white2.svg) no-repeat; background-size: contain; width: 118px; height: 26px; position: absolute; top: 0; bottom: 0; margin-top: auto; margin-bottom: auto; left: 0; }
#footer div.fbnrbox .incnt ul.inwrap li:nth-child(1) a span.inwrap::after { content: ""; background: url(../img/common/blankicon_brown.svg) no-repeat; background-size: contain; width: 18px; height: 18px; position: absolute; top: 0; bottom: 0; margin-top: auto; margin-bottom: auto; right: 0; }
#footer div.fbnrbox .incnt ul.inwrap li:nth-child(1) a:hover { background: #ef6459; }
#footer div.fbnrbox .incnt ul.inwrap li:nth-child(2) a { display: flex; flex-direction: row; border: 1px solid #585050; }
#footer div.fbnrbox .incnt ul.inwrap li:nth-child(2) a div.imgbox { flex-shrink: 0; width: 130px; height: 80px; }
#footer div.fbnrbox .incnt ul.inwrap li:nth-child(2) a div.txtbox { width: 100%; display: flex; align-items: center; justify-content: center; background: #2e2424; color: #fff; transition: .4s; }
#footer div.fbnrbox .incnt ul.inwrap li:nth-child(2) a div.txtbox span.inwrap { padding-right: 24px; position: relative; }
#footer div.fbnrbox .incnt ul.inwrap li:nth-child(2) a div.txtbox span.inwrap::after { content: ""; background: url(../img/common/blankicon_white.svg) no-repeat; background-size: contain; width: 18px; height: 18px; position: absolute; top: 0; bottom: 0; margin-top: auto; margin-bottom: auto; right: 0; }
#footer div.fbnrbox .incnt ul.inwrap li:nth-child(2) a:hover div.txtbox { background: #ef6459; }
@media screen and (max-width: 1100px) { 
	#footer div.fbnrbox .incnt ul.inwrap { margin-left: -15px; margin-bottom: -20px; }
	#footer div.fbnrbox .incnt ul.inwrap li { margin-left: 15px; margin-bottom: 20px; width: calc(50% - 20px); }
	#footer div.fbnrbox .incnt ul.inwrap li a { font-size: 1.4rem;}
	#footer div.fbnrbox .incnt ul.inwrap li:nth-child(2) a div.imgbox { width: 100px;}
	#footer div.fbnrbox .incnt ul.inwrap li:nth-child(1) a span.inwrap::before { width: 110px; height: 22px; }
	#footer div.fbnrbox .incnt ul.inwrap li:nth-child(1) a span.inwrap { padding-left: 107px; padding-right: 23px; }
}
@media screen and (max-width: 767px) {
	#footer div.fbnrbox .incnt ul.inwrap { flex-direction: column; justify-content: center; align-items: center; }
	#footer div.fbnrbox .incnt ul.inwrap li { height: 80px; width: 340px; max-width: 100%; }
}
@media screen and (max-width: 500px) {
	#footer div.fbnrbox .incnt ul.inwrap { margin-left: 0; margin-bottom: -10px; }
	#footer div.fbnrbox .incnt ul.inwrap li { margin-left: 0; margin-bottom: 10px;  }
	#footer div.fbnrbox .incnt ul.inwrap li a { font-size: 1.3rem;}
}

/* .first */
#footer div.flast { }
#footer div.flast .incnt { display: flex; flex-direction: row; font-size: 1.4rem; padding: 50px 8%; width: 84%; }
#footer div.flast .address { width: 100%; line-height: 1.8; letter-spacing: 0.1em; }
#footer div.flast div.linklist { flex-shrink: 0; display: flex; align-items: center; }
#footer div.flast div.linklist p.policy.poppins,
#footer div.flast div.linklist ul.snslist,
#footer div.flast div.linklist ul.snslist li { display: inline-block; font-size: 0; }
#footer div.flast div.linklist p.policy.poppins { /* font-style: italic; */ font-size: 1.4rem; margin-right: 8px; margin-top: 3px; }
#footer div.flast div.linklist p.policy.poppins a:hover { color: #ef6459; }
#footer div.flast div.linklist .snslist>li { display: inline-block; width: 34px; height: 34px; margin-left: 5px; }
#footer div.flast div.linklist .snslist>li>a { width: 100%; height: 100%; display: block; transition: .4s; }
#footer div.flast div.linklist .snslist>li>a:hover { transform: scale(1.08); }
#footer div.flast div.linklist .snslist>li>a:hover .xicon_st1 { fill: #ef6459; }
#footer div.flast div.linklist .snslist>li>a:hover .xicon_st2 { fill: #ef6459; }
#footer div.flast div.linklist .snslist>li>a:hover .instaicon_st0 { fill: #ef6459; }
@media screen and (max-width: 1100px) { 
	#footer div.flast .incnt { padding: 40px 6%; width: 88%; }
}
@media screen and (max-width: 767px) { 
	#footer div.flast .incnt { flex-direction: column; text-align: center; align-items: center; }
	#footer div.flast div.linklist { margin-top: 15px;}
}
@media screen and (max-width: 500px) { 
	#footer div.flast .incnt { flex-direction: column; text-align: center; align-items: center; }
	#footer div.flast div.linklist { margin-top: 15px;}
	#footer div.flast .address span { display: none; }
}