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



/*
base #333
main #005188
*/



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


Header


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


#header { position: relative; top: 0; left: 0; z-index: 1000000; width: 100%; padding: 0 8%; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; padding-top: 0; padding-bottom: 0; transition: 0.5s ease-out; }
#header .incnt{  }
#header .mainbox{ display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; -webkit-flex-direction: row; -moz-flex-direction: row; -ms-flex-direction: row; -o-flex-direction: row; flex-direction: row; justify-content: space-between; align-items: center; height: 110px; }
#header .mainbox .logo{ display: flex; position: relative; z-index: 10000000; }
@media screen and (max-width: 1350px) {
	#header { padding: 0 4%; }
}
@media screen and (max-width: 1040px) {
	#header .mainbox{ height: 90px; }
}
@media screen and (max-width: 767px) {
	
}


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


Nav


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

#gnav>.scrollcover{  }

.navlist{  }
#gnav.navlist{ text-align: right; display: flex; height: 100%; }
#gnav.navlist>.navbox,
#gnav.navlist>.navbox .incnt,
#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,
#gnav.navlist>.navbox .mainlistcover .mainlist>li>a,
#gnav.navlist>.navbox .mainlistcover .mainlist>li>p{ display: flex; }
#gnav.navlist .mainlist{ display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; -webkit-flex-direction: row; -moz-flex-direction: row; -ms-flex-direction: row; -o-flex-direction: row; flex-direction: row; }
#gnav .incnt{ width: auto; margin: 0; max-width: none; }
#gnav.navlist .mainlist>li{ margin-left: 30px; padding-left: 30px; vertical-align: middle; display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; position: relative; }
#gnav.navlist .mainlist>li:before{ content: ""; display: inline-block; background: #262626; width: 1px; height: 25px; position: absolute; top: 0; bottom: 0; left: 0; margin-top: auto; margin-bottom: auto; }
#gnav.navlist .mainlist>li.tablethide+li{ padding-left: 0; margin-left: 0; }
#gnav.navlist .mainlist>li.tablethide+li:before{ content: none; }
#gnav.navlist .mainlist>li.tablethide{ display: none!important; }
#gnav.navlist .mainlist>li a,
#gnav.navlist .mainlist>li p{ display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; cursor: pointer; align-items: center; letter-spacing: 0.05em; }
#gnav.navlist .mainlist>li p{ transition: .3s }
#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,
#header.fixed #gnav.navlist .mainlist>li p:hover,
#header.scroll #gnav.navlist .mainlist>li p:hover{ color: #ff5d73; }
#gnav.navlist .mainlist>li.hassub{ position: relative; }

/* sub */
#gnav.navlist .mainlist>li div.sub { opacity: 0; position: absolute; top: 100%; left: 50%; margin-left: -200px; width: 400px; box-sizing: border-box; padding: 30px 35px; z-index: 1000;  background: #fff; text-align: center; transition: .3s; visibility: hidden; }
#gnav.navlist .mainlist>li div.sub>ul{ margin-left: -20px; display: block; text-align: center; }
#gnav.navlist .mainlist>li div.sub>ul>li{ display: inline-block; text-align: left; margin-left: 20px }
#gnav.navlist .mainlist>li div.sub a{ font-weight: bold; color: #191919!important; }
#gnav.navlist .mainlist>li div.sub a:hover{ color: #ff5d73!important; }
#gnav.navlist .mainlist>li:hover div.sub{ opacity: 1; visibility: visible; }

#gnav.navlist a{ text-decoration: none; }
#gnav.navlist .spcontactbox{ display: none; }
#gnav .navbox .logo{ display: none; }
@media screen and (max-width: 1350px) {
	#gnav.navlist .mainlist>li{ margin-left: 20px; padding-left: 20px; }
}
@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;  pointer-events: none; }
	#gnav .navbox{ position: relative; z-index: 10; display: flex; flex-direction: row; }
	#gnav>.scrollcover{  }
	#gnav .incnt{ width: calc(100% - 120px); margin: 0 60px }
	#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,
	#gnav.navlist>.navbox .mainlistcover .mainlist>li>a,
	#gnav.navlist>.navbox .mainlistcover .mainlist>li>a>span,
	#gnav.navlist>.navbox .mainlistcover .mainlist>li>p,
	#gnav.navlist>.navbox .mainlistcover .mainlist>li>p>span{ display: block; width: 100% }

	#gnav.navlist .mainlist>li{ margin-left: 0; padding-left: 0; }
	#gnav.navlist .mainlist>li:before{ content: none; }

	#gnav.navlist{ text-align: left; padding-right: 0; display: flex; /*z-index: 10000000000*/ }
	#gnav.navlist .navbox { 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; }
	#gnav.navlist .navbox .mainlistcover>.inwrap>.inwrap{ overflow-y: scroll; height: 100vh;  /* Safari用 */ width: calc(100% + 20px); box-sizing: border-box; }
	#gnav .logo{ margin-left: 0; }
	#gnav.navlist .navbox .mainlistcover>.inwrap>.inwrap>.inwrap{ display: block; padding-right: 0; }
	#gnav.navlist .navbox .mainlistcover{ display: block; }
	#gnav.navlist>.navbox .mainlistcover>.inwrap>.inwrap>.inwrap{ padding-top: 100px; }

	#gnav.navlist .mainlist{ display: block; }
	#gnav.navlist .mainlist>li{ margin-left: 0; display: block; margin-bottom: 18px; padding-bottom: 18px; border-bottom: 2px solid #fff }
	#gnav.navlist .mainlist>li:last-child{ margin-bottom: 0; padding-bottom: 0; border-bottom: none }
	#gnav.navlist .mainlist>li:first-child{ display: block!important; }
	#gnav.navlist .mainlist>li a,
	#gnav.navlist .mainlist>li>p{ display: block; font-weight: bold; }
	#gnav.navlist .mainlist>li a span,
	#gnav.navlist .mainlist>li>p span{ display: block; }
	#gnav.navlist .mainlist>li.sp{ display: block; }
	#gnav.navlist .mainlist>li .sublist{ position: static; overflow: visible; margin-bottom: 0; width: 100%; opacity: 1; visibility: visible; display: block; }
	#gnav.navlist .mainlist>li .sublist>li{ margin-bottom: 5px }
	#gnav.navlist .mainlist>li .sublist>li>a{ background: transparent; padding: 0; display: block; color: #191919 }

	#gnav.navlist .mainlist>li div.sub { opacity: 1; position: static; top: 0; left: 0; margin-left: 0; width: 100%; padding: 0; background: transparent; text-align: left; opacity: 1; visibility: visible; margin-top: 5px; font-size: 1.4rem; }
	#gnav.navlist .mainlist>li div.sub>ul{ text-align: left; margin-left: -15px; margin-bottom: -5px; }
	#gnav.navlist .mainlist>li div.sub>ul>li{ margin-left: 15px; margin-bottom: 5px; }
	#gnav.navlist .mainlist>li div.sub a{ font-weight: normal; }

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

	#gnav.is-open{ pointer-events: auto; }
	#gnav.is-open{ opacity: 1; visibility: visible; }
	#gnav.is-open .inwrap{ opacity: 1; visibility: visible; }
}
@media screen and (max-width: 767px){
	#gnav .incnt{ width: 88%; margin: 0 6% }
	#gnav.navlist>.navbox .mainlistcover>.inwrap>.inwrap>.inwrap{ padding-top: 80px; padding-bottom: 80px; }
}
@media screen and (max-width: 639px){
}
@media screen and (max-width: 479px){
}



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


Menubtn


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

#menubtn {display: none; z-index: 100000000001;  position: fixed; top: 20px; right: 35px; }
@media screen and (max-width: 1040px){
	#menubtn { display: block; background: transparent; width: 64px; height: 64px; cursor: pointer; transition: 0.3s; }
	#menubtn a { text-decoration: none; position: relative; display: block; height: 100%; width: 100%; }
	#menubtn .closetxt{ display: none; }
	#menubtn a .line { width: 64px; height: 2px; background: #000; position: absolute; left: 50%; margin-left: -32px;transition: all 0.6s; }
	#menubtn a #line1 { top: 26px; }
	#menubtn a #line2{ bottom: 26px; }
	#menubtn.active a #line1 {
		-webkit-transform:translateY(5px) translateX(0) rotate(46deg);
		transform:translateY(5px) translateX(0) rotate(46deg);
	}
	#menubtn.active a #line2 { 
		-webkit-transform:translateY(-5px) translateX(0) rotate(-46deg);
		transform:translateY(-5px) translateX(0) rotate(-46deg);
	}
	#menubtn.active .closetxt{ font-size: 1.4rem; position: absolute; left: 30px; top: 0; bottom: 0; margin-top: auto; margin-bottom: auto; display: flex; align-items: center; }
	#header.fixed #gnav #menubtn a .line{ background: #191919; }
}
@media screen and (max-width: 767px){
	#menubtn { top: 25px; right: 20px; width: 40px; height: 40px;  }
	#menubtn a .line { width: 40px; margin-left: -20px; }
	#menubtn a #line1 { top: 14px; }
	#menubtn a #line2{ bottom: 14px; }

}







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


Mainv.index


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

#mainv_index { position: relative; min-height: 750px; height: calc(100vh - 110px);  }
#mainv_index .txtbox{ padding-top: 150px; padding-bottom: 170px; padding-left: 2%; }
#mainv_index .txtbox .mainbox{ margin-bottom: 30px; }
#mainv_index .txtbox .mainbox .maincopy{  margin-bottom: 15px; }
#mainv_index .txtbox .mainbox .maincopy:last-child{  margin-bottom: 0; }
#mainv_index .txtbox .mainbox .maincopy>.inwrap{ color: #fff0b4; font-weight: 900; font-size: 5.2rem; background: #ff5d73; padding: 19px 19px; line-height: 1; display: inline-block; letter-spacing: 0.047em; }
#mainv_index .txtbox .subcopy{ font-weight: 900; font-size: 5.2rem; line-height: 1.4; margin-bottom: 20px; }
#mainv_index .txtbox .subcopy span{ font-weight: 900; }
#mainv_index .txtbox .txt{ width: 500px; }
#mainv_index .txtbox .icontxt{ position: absolute; top: -65px; right: 2%; }
#mainv_index .txtbox .icontxt>img{ width: 260px; height: 260px; }
#mainv_index .txtbox .icontxt2{ position: absolute; top: -165px; right: 2%; }
#mainv_index .txtbox .icontxt2>a:hover{ opacity: .8; }
#mainv_index .txtbox .icontxt2>a>img{ width: 100px; height: 100px; }
#mainv_index .bg{ position: absolute; top: 0; bottom: 0; left: 0; right: 0; width: 100%; height: 100%; object-fit: cover; font-family: 'object-fit: cover;'; z-index: -1; object-position: left center; }
@media screen and (max-width: 1400px){
}
@media screen and (max-width: 1200px){
	#mainv_index { min-height: auto; }
	#mainv_index .txtbox{ padding-top: 106px; padding-bottom: 94px; padding-left: 2%; }
	#mainv_index .txtbox .mainbox .maincopy>.inwrap{ font-size: 4rem; padding: 15px 15px; letter-spacing: 0.05em; }
	#mainv_index .txtbox .subcopy{ font-size: 4rem; line-height: 1.6; }
	#mainv_index .txtbox .icontxt{ top: -50px; }
	#mainv_index .txtbox .icontxt2{ top: -120px; right: -4px; }
	#mainv_index .txtbox .icontxt>img{ width: 180px; height: 180px; }
}
@media screen and (max-width: 1040px){
	#mainv_index{ height: auto; }
	#mainv_index .txtbox{ display: flex; align-items: center; box-sizing: border-box; width: 100%; padding-top: 0; padding-bottom: 0; padding-left: 0; }
	#mainv_index .txtbox .mainbox .maincopy>.inwrap{ font-size: 3.2rem; padding: 8px 15px; }
	#mainv_index .txtbox .mainbox{ margin-bottom: 25px; height: 450px; padding-top: 40px; padding-bottom: 40px; box-sizing: border-box; display: flex; justify-content: flex-end; flex-direction: column; }
	#mainv_index .txtbox .subcopy{ font-size: 3.2rem; text-align: center; }
	#mainv_index .txtbox .subcopy br{ display: none; }
	#mainv_index .txtbox .txt{ width: 100%; }
	#mainv_index .txtbox .icontxt{ top: 35px; right: 20px; }
	#mainv_index .txtbox .icontxt2{ top: -15px; right: -10px; }
	#mainv_index .txtbox .icontxt2>a>img{ width: 80px; height: 80px; }
	#mainv_index .bg{ height: 450px; }
	#mainv_index .mvsubbox{ padding-top: 40px; padding-bottom: 80px; }
	#mainv_index .txtbox .icontxt>img{ width: 130px; height: 130px; }
}
@media screen and (max-width: 767px){
	#mainv_index .txtbox .mainbox,
	#mainv_index .bg{ height: 400px; }
	#mainv_index .txtbox .mainbox .maincopy>.inwrap,
	#mainv_index .txtbox .subcopy{ font-size: 2.6rem; }
	#mainv_index .txtbox .mainbox{ margin-bottom: 0; }
	#mainv_index .txtbox .mainbox .maincopy:nth-child(2){  margin-bottom: 0; }
	#mainv_index .bg{ object-position: center center; }
	#mainv_index .mvsubbox{ padding-bottom: 40px; }
}
@media screen and (max-width: 479px){
	#mainv_index .txtbox .mainbox,
	#mainv_index .bg{ height: 350px; }
	#mainv_index .txtbox .mainbox .maincopy>.inwrap,
	#mainv_index .txtbox .subcopy{ font-size: 2.4rem; }
	#mainv_index .txtbox .mainbox .maincopy{  margin-bottom: 10px; }
	#mainv_index .txtbox .mainbox{ padding-top: 30px; padding-bottom: 30px; }
	#mainv_index .mvsubbox{ padding-top: 30px; padding-bottom: 30px; }
	#mainv_index .txtbox .icontxt>img{ width: 100px; height: 100px; }
}
@keyframes sdl {
	0% { transform: translateY(-30px); }
	50%, 100% { transform: translateY(26px); }
}




#mainv{ background: #f7f4f6; display: flex; align-items: center; justify-content: center; height: 395px; position: relative; overflow: hidden ; flex-direction: column; }
#mainv:before{ content: ""; background: url(../img/common/mvbgicon_left.svg) no-repeat; background-size: 100% 100%; display: inline-block; width: 58%; height: 890px; position: absolute; left: -17%; bottom: 45%; top: 0; margin-top: auto; margin-bottom: auto; }
#mainv:after{ content: ""; background: url(../img/common/mvbgicon_right.svg) no-repeat; background-size: 100% 100%; display: inline-block; width: 58%; height: 890px; position: absolute; right: -17%; bottom: 0; top: 81%; margin-top: auto; margin-bottom: auto; }
#mainv .pagetitle{ font-weight: 900; font-size: 5rem; letter-spacing: 0.05em; text-align: center; line-height: 1.6; }
#mainv .pagetitle+.pageentitle{ position: relative; padding-top: 15px; margin-top: 5px; font-weight: bold; }
#mainv .pagetitle+.pageentitle:before{ content: ""; display: inline-block; height: 2px; width: 60px; background: #262626; position: absolute; top: 0; left: 0; right: 0; margin-left: auto; margin-right: auto; }
@media screen and (max-width: 1200px){
	#mainv{ height: 350px; }
	#mainv .pagetitle{ font-size: 4rem; }
}
@media screen and (max-width: 1040px){
	#mainv{ height: 250px; }
	#mainv .pagetitle{ font-size: 3rem; text-align: center; }
	#mainv .pagetitle+.pageentitle{ padding-top: 13px; margin-top: 10px; }
	#mainv .pagetitle+.pageentitle:before{ height: 1px; width: 50px; }
}
@media screen and (max-width: 767px){
	#mainv{ height: 200px; }
	#mainv .pagetitle{ font-size: 2.6rem; }
	#mainv .pagetitle+.pageentitle{ font-size: 1.4rem; }
	#mainv .pagetitle+.pageentitle{ padding-top: 10px; margin-top: 8px; }
	#mainv:before{ width: 64%; height: 445px;  bottom: 81%; top: 0; }
	#mainv:after{ width: 64%; height: 445px; bottom: 0; top: 81%; }
}
@media screen and (max-width: 479px){
	#mainv{ height: 180px; }
	#mainv .pagetitle+.pageentitle{ padding-top: 10px; margin-top: 10px; }
}








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


Pankuzu


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

#pankuzu { line-height: 1.4; padding:15px 0 0; }
#pankuzu ol { margin: 0 60px; font-size: 0; text-align: left; }
#pankuzu ol li { display:inline; font-size: 1.4rem; letter-spacing: 0.1em }
#pankuzu ol li:before { content:">"; display: inline-block; vertical-align: 2px; margin: 0 15px }
#pankuzu ol li:first-child:before { display: none; }
#pankuzu ol li a{ text-decoration: none; }
#pankuzu ol li a:hover { color: #ff5d73;  transition: 0.3s; }
@media screen and (max-width: 1040px) { 
	#pankuzu{ display: none; }
	#pankuzu ol { margin: 0 0; }
}






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


Content


//////////////////*/
#yokomain,
#article{ margin-top: 90px; margin-bottom: 75px; }
body#service #article{ margin-bottom: 60px; }
#article .secwrap:last-child{ padding-bottom: 0; }
@media screen and (max-width: 1040px){
	#yokomain,
	#article,
	body#service #article{ margin-top: 60px; margin-bottom: 40px; }
}
@media screen and (max-width: 767px) { 
	#yokomain,
	#article,
	body#service #article{ margin-top: 40px; }
}







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


Cntside


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

#yokomain>.incnt{  }
#yokomain>.incnt>.inwrap{ display: flex; flex-direction: row; }
#yokomain>.incnt>.inwrap #secwrap_1{ width: 100%; padding-top: 0 }
#sidebox{ width: 290px; margin-left: 8%; flex-shrink: 0 }
#sidebox .sidelist{  }
#sidebox .sidelist>li{ margin-bottom: 5px; }
#sidebox .sidelist>li:last-child{ margin-bottom: 0; }
#sidebox .sidelist>li .categorytitle{ position: relative; }
#sidebox .sidelist>li .categorytitle>a{ background: #ff5d73; border: 1px solid #ff5d73; color: #fff; font-weight: bold; padding: 20px 20px; line-height: 1.6; position: relative; display: block; text-decoration: none; border-radius: 10px; }
#sidebox .sidelist>li .categorytitle>.arr{ width: calc(10px + 8%); height: 100%; position: absolute; top: 0; bottom: 0; margin-top: auto; margin-bottom: auto; right: 0; cursor: pointer; display: flex; align-items: center; }
#sidebox .sidelist>li .categorytitle>.arr>img{ width: 10px; height: 20px; transform: rotate(90deg); }
#sidebox .sidelist>li .archivelist{ display: none; }
#sidebox .sidelist>li .archivelist>li{ border-bottom: 1px solid #a8a8a8; padding-top: 10px; padding-bottom: 10px; padding-left: 6%; padding-right: 6%; }
#sidebox .sidelist>li .archivelist>li:last-child{ border-bottom: 0; }
#sidebox .sidelist>li .archivelist>li .yearly{ position: relative;  }
#sidebox .sidelist>li .archivelist>li .yearly>a{ text-decoration: none; }
#sidebox .sidelist>li .archivelist>li .yearly>.arr{ width: 8px; height: 100%; position: absolute; top: 0; bottom: 0; margin-top: auto; margin-bottom: auto; right: 0; cursor: pointer; }
#sidebox .sidelist>li .archivelist>li .yearly>.arr>img{ width: 100%; height: 12px; transform: rotate(90deg); }
#sidebox .sidelist>li .archivelist>li .monthly{ padding-left: 6%; padding-right: 6%; display: none; }
#sidebox .sidelist>li .archivelist>li .monthly>li{ margin-top: 2px; }
#sidebox .sidelist>li .archivelist>li .monthly>li>a{ text-decoration: none; }
#sidebox .sidelist>li.current .categorytitle>.arr>img{ transform: rotate(-90deg); }
#sidebox .sidelist>li .archivelist>li.current .yearly>a>.arr>img{ transform: rotate(-90deg); }
@media screen and (max-width: 1040px) {
	#yokomain>.incnt>.inwrap{ display: block; }
	#sidebox{ width: 100%; margin-left: 0; }
}
@media screen and (max-width: 767px) { 
	#sidebox .sidelist>li .categorytitle>a{ padding: 18px 18px; }
	#sidebox .sidelist>li .categorytitle>a>.arr{ width: 8px; height: 18px; }
	#sidebox .sidelist>li .archivelist>li .monthly>li{ margin-top: 5px; }
	#sidebox .sidelist>li .archivelist>li{ padding-top: 15px; padding-bottom: 15px; }
}
@media screen and (max-width: 479px){
}


#side {  }













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


Footer


//////////////////*/
#fixedcontact{ background: rgba(255, 255, 255, 0.85); padding: 27px 0; position: fixed; bottom: 0; left: 0; width: 100%; z-index: 100000; }
#fixedcontact .incnt{ max-width: 1240px; width: 92%; }
#fixedcontact .fcontactlist{ margin-top: 0; display: flex; flex-direction: row; margin-left: -25px; flex-wrap: wrap; justify-content: center; margin-bottom: -15px; overflow: hidden; }
#fixedcontact .fcontactlist>li{ margin-left: 25px; display: flex; margin-bottom: 15px; width: calc(33.33% - 25px); min-width: 396px; }
#fixedcontact .fcontactlist>li>.inwrap{ background: #fce828; border: 1px solid #fce828; position: relative; display: flex; flex-direction: row; align-items: center; padding: 8px 25px; text-decoration: none; letter-spacing: 0.06em; overflow: hidden; width: 100%; box-sizing: border-box; border-radius: 10px; font-weight: bold; font-size: 2.2rem; line-height: 1.4; padding-right: 50px; box-shadow: 0 3px 0px rgba(252, 180, 40, 1); }
#fixedcontact .fcontactlist>li>.inwrap:not(.tel):hover{ box-shadow: none; transform: translate3d(0, 3px, 0); background: #fce828; color: inherit; }
#fixedcontact .fcontactlist>li .imgbox{ margin-right: 20px; }
#fixedcontact .fcontactlist>li .imgbox>img{  }
#fixedcontact .fcontactlist>li .txtbox .listsubtitle{ font-size: 1.8rem; line-height: 1.4; margin-bottom: 5px; }
#fixedcontact .fcontactlist>li .txtbox .listtitle{ font-weight: 900; font-size: 2.4rem; line-height: 1.4; }
#fixedcontact .fcontactlist>li .txtbox .listtitle span{ font-weight: 900; }
#fixedcontact .fcontactlist>li .txtbox .listtxt{  }
#fixedcontact .fcontactlist>li:nth-child(1) .imgbox{  }
#fixedcontact .fcontactlist>li:nth-child(1) .imgbox>img{ width: 58px; height: 58px; }
#fixedcontact .fcontactlist>li:nth-child(1) .txtbox .listsubtitle{  }
#fixedcontact .fcontactlist>li:nth-child(1) .txtbox .listtitle{  color: #ff0033; font-weight: 900; }
#fixedcontact .fcontactlist>li:nth-child(1) .txtbox .listtxt{ font-size: 1.3rem; }
#fixedcontact .fcontactlist>li:nth-child(2) .imgbox{  }
#fixedcontact .fcontactlist>li:nth-child(2) .imgbox>img{ width: 56px; height: 38px; }
#fixedcontact .fcontactlist>li:nth-child(2) .txtbox .listsubtitle{  }
#fixedcontact .fcontactlist>li:nth-child(2) .txtbox .listtitle{ color: #008ae3; }
#fixedcontact .fcontactlist>li:nth-child(2) .txtbox .listtxt{  }
#fixedcontact .fcontactlist>li:nth-child(3) .imgbox{  }
#fixedcontact .fcontactlist>li:nth-child(3) .imgbox>img{ width: 60px; height: 60px; }
#fixedcontact .fcontactlist>li:nth-child(3) .txtbox .listsubtitle{  }
#fixedcontact .fcontactlist>li:nth-child(3) .txtbox .listtitle{ color: #40a129; }
#fixedcontact .fcontactlist>li:nth-child(3) .txtbox .listtxt{  }
@media screen and (max-width: 1430px){
	#fixedcontact{ padding: 20px 0;  }
	#fixedcontact .fcontactlist{ margin-left: -15px; }
	#fixedcontact .fcontactlist>li{ margin-left: 15px; width: calc(33.33% - 15px);  min-width: 296px; }
	#fixedcontact .fcontactlist>li>.inwrap{ padding: 8px 15px; }
	#fixedcontact .fcontactlist>li .imgbox{ margin-right: 15px; }
	#fixedcontact .fcontactlist>li .txtbox .listtitle{ font-size: 1.8rem; }
	#fixedcontact .fcontactlist>li .txtbox .listsubtitle{ font-size: 1.2rem; }
	#fixedcontact .fcontactlist>li:nth-child(1) .imgbox>img{ width: 50px; height: 50px; }
	#fixedcontact .fcontactlist>li:nth-child(1) .txtbox .listtxt{ font-size: 1.1rem; padding-top: 3px; }
	#fixedcontact .fcontactlist>li:nth-child(1) .txtbox .listtitle{ font-size: 2.1rem; }
	#fixedcontact .fcontactlist>li:nth-child(2) .imgbox>img{ width: 48px; height: 30px; }
	#fixedcontact .fcontactlist>li:nth-child(3) .imgbox>img{ width: 52px; height: 52px; }
}
@media screen and (max-width: 1040px){
	#fixedcontact .fcontactlist>li .txtbox{ display: none; }
	#fixedcontact{ background: transparent; padding: 0 0; position: fixed; bottom: 0; left: 0; width: 100%; }
	#fixedcontact .fcontactlist{ margin-left: 0; flex-wrap: nowrap; margin-bottom: 0; }
	#fixedcontact .fcontactlist>li{ margin-left: 0; margin-bottom: 0; width: 33.33%; min-width: auto; border-left: 1px solid #fcb428; }
	#fixedcontact .fcontactlist>li:first-child{ border-left: 0; }
	#fixedcontact .fcontactlist>li>.inwrap{ border-radius: 0; box-shadow: none; justify-content: center; }
	#fixedcontact .fcontactlist>li>.inwrap:not(.tel):hover{  transform: none; }
	#fixedcontact .fcontactlist>li .imgbox{ margin-right: 0; }
	#fixedcontact .incnt{ width: 100%; }
	#fixedcontact .fcontactlist>li:nth-child(1) .imgbox>img{ width: 29px; height: 29px; }
	#fixedcontact .fcontactlist>li:nth-child(2) .imgbox>img{ width: 28px; height: 19px; }
	#fixedcontact .fcontactlist>li:nth-child(3) .imgbox>img{ width: 30px; height: 30px; }
}
@media screen and (max-width: 767px){
}
@media screen and (max-width: 639px){
}
@media screen and (max-width: 479px){
}



#fcontact{ padding: 80px 4%; background: #f7f4f6;  }
#fcontact+#footer{ background: transparent; }
@media screen and (max-width: 1040px) {
	#fcontact{ padding-top: 60px; padding-bottom: 60px; }
}
@media screen and (max-width: 767px) { 
}
@media screen and (max-width: 479px) { 
	#fcontact{ padding-top: 40px; padding-bottom: 40px; }
}



#footer{ padding: 55px 0 155px; background: #f7f4f6; font-size: 1.4rem;  letter-spacing: 0.02em; }
#footer .footermain{ display: flex; flex-direction: row; justify-content: space-between; }
#footer .footermain .sitetitlebox{ margin-right: 6%; flex-shrink: 0; }
#footer .footermain .sitetitlebox .sitetitle{  margin-bottom: 15px; letter-spacing: 0.1em }
#footer .footermain .sitetitlebox .sitetitle>a{ color: #ff5d73; font-weight: 900; font-size: 2.4rem; text-decoration: none; }
#footer .footermain .sitetitlebox .addresstxt{  }
#footer .footermain .sitetitlebox .licensetxt{ margin-top: 50px; }
#footer .footermain #fnav{ padding-right: 10px; letter-spacing: 0.05em; }
#footer .footermain #fnav .mainlist{ margin-left: -50px; text-align: right; }
#footer .footermain #fnav .mainlist>li{ display: inline-block; margin-left: 50px; vertical-align: top; }
#footer .footermain #fnav .mainlist>li>.list{  }
#footer .footermain #fnav .mainlist>li>.list>li{ text-align: left; }
#footer .footermain #fnav .mainlist>li>.list>li>p{  }
#footer .footermain #fnav .mainlist>li>.list>li .sublist{  }
#footer .footermain #fnav .mainlist>li>.list>li .sublist>li{  }
#footer .footermain #fnav .mainlist>li>.list>li .sublist>li:before{ content: "―"; margin-right: 15px; }
#footer .footermain #fnav .mainlist>li>.list>li .sublist>li>a{  }
#footer .footermain #fnav .mainlist>li>.list>li a{ text-decoration: none; }
#footer .footermain #fnav .mainlist>li>.list>li a:hover{ color: #ff5d73; }
#footer #cr{ margin-top: 85px; text-align: center; }
@media screen and (max-width: 1040px) {
	#footer .footermain #fnav{ display: none; }
	#footer{ padding: 50px 0 40px; font-size: 1.4rem; text-align: center; margin-bottom: 50px; }
	#footer .footermain{ display: block; }
	#footer .footermain .sitetitlebox{ margin-right: 0; }
	#footer .footermain .sitetitlebox .licensetxt{ margin-top: 30px; }
	#footer #cr{ margin-top: 40px; font-size: 1.5rem; }
}
@media screen and (max-width: 767px) { 
}
@media screen and (max-width: 479px) { 
	#footer{ padding: 30px 0; }
	#footer .footermain .sitetitlebox .sitetitle>a{ font-size: 2.1rem; }
	#footer .footermain .sitetitlebox .licensetxt{ margin-top: 20px; }
	#footer #cr{ margin-top: 30px; font-size: 1.3rem; }
}

.grecaptcha-badge{ bottom: 160px !important; }
@media screen and (max-width: 1040px) { 
	.grecaptcha-badge{ bottom: 70px !important; }
}