@charset "utf-8";
/*

CSS base.css */
@import url(//fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@900&display=swap);

/*
base #333
main #005188
*/






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


Header


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


#header { position: absolute; top: 0; left: 0; z-index: 1000000; width: 100%; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; padding-top: 30px; transition: 0.5s ease-out; background: #fff; font-size: 1.6rem; }
#header .mainbox{ padding-bottom: 40px; }
#header .mainbox>.incnt>.inwrap{ 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; }
#header .mainbox .logobox{ display: flex; position: relative; z-index: 10000000; flex-direction: column; flex-shrink: 0; justify-content: center; }
#header .mainbox .logobox .logo{  }
#header .mainbox .logobox .logo>a{  }
#header .mainbox .logobox .logo>a>img{ width: 328px; height: 56px; }
#header .mainbox .logobox .logo+.cap{ margin-top: 20px; }
#header .mainbox .firstbox{ display: flex; flex-direction: row; margin-left: 4%; width: 630px; align-items: flex-end; justify-content: flex-end; }
#header .mainbox .firstbox .areabox{ font-size: 1.4rem; line-height: 1.8; }
#header .mainbox .firstbox .areabox .title{ background: #46c4be; color: #fff; border-radius: 5px; font-weight: bold; font-size: 1.6rem; margin-bottom: 15px; text-align: center; letter-spacing: 0.1em; }
#header .mainbox .firstbox .contactbox{ margin-left: 6%; flex-shrink: 0; }
#header .mainbox .firstbox .contactbox .titlebox{ margin-bottom: 10px; margin-top: -5px; }
#header .mainbox .firstbox .contactbox .titlebox .title{ font-weight: bold; font-size: 2.4rem; color: #46c4be; text-align: center; line-height: 1.4; }
#header .mainbox .firstbox .contactbox .titlebox .txt{ text-align: center; color: #2d2c29; }
#header .mainbox .firstbox .contactbox .list{ display: flex; flex-direction: row; margin-left: -10px; }
#header .mainbox .firstbox .contactbox .list>li{ margin-left: 10px; display: flex;  }
#header .mainbox .firstbox .contactbox .list>li>a{ display: flex; border: 2px solid #46c4be; padding: 10px 20px 5px; text-align: center; color: #46c4be; flex-direction: column; text-decoration: none; border-radius: 10px; align-items: center; }
#header .mainbox .firstbox .contactbox .list>li>a .title{ font-weight: bold; line-height: 1.4; letter-spacing: 0.1em; }
#header .mainbox .firstbox .contactbox .list>li>a .icon{ height: 28px; }
#header .mainbox .firstbox .contactbox .list>li>a:not(.tel) .title{ height: calc(100% - 28px); display: flex; align-items: center; }
#header .mainbox .firstbox .contactbox .list>li>a:not(.tel) .icon>svg{ width: 32px; height: 20px; }
#header .mainbox .firstbox .contactbox .list>li>a.tel{ padding-left: 30px; padding-right: 30px; }
#header .mainbox .firstbox .contactbox .list>li>a.tel .icon{  }
#header .mainbox .firstbox .contactbox .list>li>a.tel .icon>svg{ width: 32px; height: 22px; }
#header .mainbox .firstbox .contactbox .list>li>a.tel .open{ font-size: 1.2rem; line-height: 1.8; }
#header .mainbox .firstbox .contactbox .list>li>a .icon .st0{ transition: .4s; }
#header .mainbox .firstbox .contactbox .list>li>a:not(.tel):hover{ background: #46c4be; color: #fff; }
#header .mainbox .firstbox .contactbox .list>li>a:not(.tel):hover .icon>svg .st0{ fill: #fff; }

#header.scroll{ transform: translate(0px, -170px); }
#header.fixed.scroll { transform: translate(0px, 0px); }
#header.fixed{ position: fixed; padding-top: 20px; }
#header.fixed .mainbox { }
#header.fixed .mainbox { padding-bottom: 20px; }
#header.fixed .mainbox .logobox .logo+.cap,
#header.fixed .mainbox .firstbox .areabox,
#header.fixed .mainbox .firstbox .contactbox .list>li>a .title,
#header.fixed .mainbox .firstbox .contactbox .list>li>a .open,
#header.fixed .mainbox .firstbox .contactbox .titlebox{ display: none; }
#header.fixed .mainbox .logobox .logo>a>img{ width: 288px; height: 50px; }
@media screen and (max-width: 1200px) {
	#header{ position: fixed; padding-top: 20px; }
	#header .mainbox { }
	#header .mainbox { padding-bottom: 20px; }
	#header .mainbox .logobox .logo+.cap,
	#header .mainbox .firstbox .areabox,
	#header .mainbox .firstbox .contactbox .list>li>a:not(.tel) .title,
	#header .mainbox .firstbox .contactbox .list>li>a .title,
	#header .mainbox .firstbox .contactbox .list>li>a .open,
	#header .mainbox .firstbox .contactbox .titlebox{ display: none; }
	#header .mainbox .logobox .logo>a>img{ width: 288px; height: 50px; }
	#header .mainbox .firstbox .contactbox .list>li>a{ padding-bottom: 10px; }
	#header .mainbox .firstbox .contactbox .list>li>a.tel{ padding-left: 20px; padding-right: 20px; }
}
@media screen and (max-width: 1040px) {
	#header { padding-top: 0; position: relative; }
	#header .mainbox{ padding-bottom: 0;  }
	#header .mainbox>.incnt>.inwrap{ height: 80px; }
	#header .mainbox .firstbox{ display: none; }
	#header .mainbox .logobox .logo>a>img{ width: 206px; height: 36px; }
}
@media screen and (max-width: 767px) {
	#header .mainbox>.incnt>.inwrap{ height: 60px; }
	#header .mainbox .logobox .logo>a>img{ width: 206px; height: 36px; }
}
@media screen and (max-width: 479px) {
}

/* スライド画像のエフェクト */
/*@keyframes navfit {
  0% { transform: translate(0px, -50px); }
  100% { transform: translate(0px, 0px);  }
}
*/





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


Nav


//////////////////*/
#gnav{  }
#gnav .navbox{ background: #f1ad60; }
#gnav .navbox>.incnt{ max-width: 1150px; width: 86%; }
#gnav .navbox>.incnt>.inwrap{  position: relative; z-index: 10; display: flex; flex-direction: row; -ms-overflow-style: none; scrollbar-width: none; justify-content: center; }
#gnav .navbox>.incnt>.inwrap::-webkit-scrollbar { display:none; }
#gnav .navbox .main{ display: flex; flex-direction: row; }
#gnav .navbox .main>li{ display: flex; position: relative; }
#gnav .navbox .main>li.index,
#gnav .navbox .main>li.btn{ display:none; }
#gnav .navbox .main>li:nth-child(2):after,
#gnav .navbox .main>li:before{ content: ""; background: #ffffff; width: 1px; height: calc(100% - 19px); position: absolute; top: 0; bottom: 0; margin-top: auto; margin-bottom: auto; right: 0; }
#gnav .navbox .main>li:nth-child(2):after{ right: auto; left: 0; }
#gnav .navbox .main>li>a,
#gnav .navbox .main>li>p{ color: #fff; font-size: 1.8rem; font-weight: bold; display: flex; align-items: center; text-decoration: none; padding: 15px 35px; letter-spacing: 0.02em; }
#gnav .navbox .main>li>a:hover{ background: #fff; color: #f1ad60; }
#gnav .navbox .main>li.havesub{ cursor: pointer; }
#gnav .navbox .main>li.havesub>p+.sub{ opacity: 0; position: absolute; top: 100%; left: 0; right: 0; z-index: 1000; transition: .3s; visibility: hidden; }
#gnav .navbox .main>li.havesub>p+.sub>ul{  }
#gnav .navbox .main>li.havesub>p+.sub>ul>li{ border-top: 1px solid #fff }
#gnav .navbox .main>li.havesub>p+.sub>ul>li>a{ color: #fff; font-weight: bold; display: block; text-decoration: none; padding: 15px 35px; letter-spacing: 0.02em; background: #f1ad60; text-align: center; line-height: 1.8; }
#gnav .navbox .main>li.havesub>p+.sub>ul>li>a:hover{ background: #fff; color: #f1ad60;  }
#gnav .navbox .main>li.havesub:hover>p+.sub{ opacity: 1; visibility: visible; }
#gnav .navbox .main>li.tabletblock{ display: none; }
#header.fixed #gnav .navbox .title,
#header.fixed #gnav .navbox .main>li>a{ padding-top: 12px; padding-bottom: 12px; }
#header.fixed #gnav .navbox .title{ font-size: 2rem; }
#header.fixed #gnav .navbox .main>li>a{ font-size: 1.6rem; }
#gnav ul.main>li.btn .bottomlink span{ padding-right: 0; }
@media screen and (max-width: 1400px) {
	#gnav .navbox .main>li>a{ padding-left: 25px; padding-right: 25px; }
}
@media screen and (max-width: 1300px) {
	#gnav .navbox .main>li>a{ padding-left: 20px; padding-right: 20px; }
	#gnav .navbox .main>li>a,
	#gnav .navbox .main>li>p,
	#header.fixed #gnav .navbox .main>li>a{ font-size: 1.6rem; }
}
@media screen and (max-width: 1040px){

	#gnav:after { content: "."; display: block; clear: both; height: 0; visibility: hidden; font-size:0em; overflow:hidden; line-height:0; font-size: 0.1em; }
	#gnav { vertical-align: middle; width: 100vw; height: 100vh;height: 100lvh; z-index: 100000000; -webkit-perspective: 500px; perspective: 500px; pointer-events: none; padding: 0; z-index: 30001; max-width: none; text-align: right; vertical-align: inherit; position: fixed; top: 0; right: 0; bottom: 0; left: 0; font-weight: 700; display: block; }
	#gnav .navbox { z-index: 10; width: 100%; padding: 30px 0% 70px; flex-direction: column; align-items: flex-start; justify-content: center; background: transparent;   overflow-y: scroll; -ms-overflow-style: none; scrollbar-width: none;height: 100vh;height: 100lvh; box-sizing: border-box; }
	#gnav .navbox::-webkit-scrollbar { display:none; }
	#gnav.is-open{ pointer-events: auto; right: 0; }
	#gnav .navbox>.incnt>.inwrap,
	#gnav .navbox .main{ flex-direction: column; text-align: center; }
	#gnav .navbox .main>li:nth-child(2):after,
	#gnav .navbox .main>li:before{ content:none; }

	#gnav .navbox .main>li>p{ padding: 0; display: block; font-size: 2rem }
	#gnav .navbox .main>li.havesub{ cursor: default; }
	#gnav .navbox .main>li.havesub>p+.sub{ opacity: 1; position: static; top: 0; visibility: visible; margin-top: 10px; padding-bottom: 10px; }
	#gnav .navbox .main>li.havesub>p+.sub>ul{ margin-left: -20px; }
	#gnav .navbox .main>li.havesub>p+.sub>ul>li{ border-top: none; display: inline-block; margin-left: 20px; }
	#gnav .navbox .main>li.havesub>p+.sub>ul>li>a{ padding: 0; background: transparent; text-align: left; }
	#gnav .navbox .main>li.havesub>p+.sub>ul>li>a:hover{ background: transparent; color: inherit;  }

	#gnav #gnavbg{ opacity: 0; -webkit-transform: translate3d(0, 0, -50px); transform: translate3d(0, 0, -50px); -webkit-transition-duration: .6s; transition-duration: .6s; -webkit-transition-timing-function: cubic-bezier(.075, .82, .165, 1); transition-timing-function: cubic-bezier(.075, .82, .165, 1); opacity: 0; transform: translate3d(0px, 0px, -50px); transition-duration: 0.6s; transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1); position: absolute; top: 0px; right: 0px; bottom: 0px; left: 0px; background-color: #f1ad60; overflow: hidden; }

	#gnav.is-open{ pointer-events: auto; }
	#gnav.is-open #gnavbg{  opacity: 1; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0) }
	#gnav ul.main>li.btn .bottomlink a:hover{ background: #fff; color: #2d2c29; }
	#gnav ul.main>li.btn .bottomlink a:hover:after{ background: linear-gradient(to bottom left, rgba(255,255,255,0) 50%, #2d2c29 60%) no-repeat top left/100% 50%, linear-gradient(to top left, rgba(255,255,255,0) 50%, #2d2c29 60%) no-repeat bottom right/100% 50%; }
	#gnav ul.main { position: static; display: block; text-align: left; margin-bottom:30px; padding-top: 60px; }
	#gnav .navbox .main>li>a{ display: inline-block; }
	#gnav ul.main>li a { color: #fff; display: inline-block; }
	#gnav ul.main>li span { color: #fff; padding-right: 40px;}
	#gnav ul.main>li a:hover,
	#gnav ul.main>li.hassub span:hover,
	#gnav ul.main>li.hassub.sub-open span { color: #fff; opacity: 1; }
	#gnav ul.main>li { display: block!important; margin: 0; margin-bottom: 10px;  transition: .3s; opacity: 0; }
	#gnav .navbox .main>li>a:hover{ background: transparent; color: inherit; }
	#gnav .navbox .main>li>a{ font-size: 1.8rem; padding: 0; }
	#header.fixed #gnav .navbox .title,
	#header.fixed #gnav .navbox .main>li>a{ padding-top: 0; padding-bottom: 0; }
	#header.fixed #gnav .navbox .title{ font-size: 1.8rem; }
	#header.fixed #gnav .navbox .main>li>a{ font-size: 1.8rem; }
	#gnav.is-open .main>li { opacity:1; }

	#gnav .navbox .spbox{ display: block; margin-left: 0; width: 100%; opacity: 0; text-align: left; }
	#gnav .navbox .spbox .areabox{ font-size: 1.4rem; line-height: 1.8; }
	#gnav .navbox .spbox .areabox .title{ background: #fff; color: #46c4be; border-radius: 5px; font-weight: bold; font-size: 1.6rem; margin-bottom: 15px; text-align: center; letter-spacing: 0.1em; }
	#gnav .navbox .spbox .contactbox{ margin-left: 0; margin-top: 30px; flex-shrink: 0; }

	#gnav .navbox .spbox .contactbox .list{ display: flex; flex-direction: row; justify-content: center; }
	#gnav .navbox .spbox .contactbox .list>li{ display: flex; }
	#gnav .navbox .spbox .contactbox .list>li>a{ background: #fff; border: 1px solid #fff; color: #46c4be; text-decoration: none; text-align: center; width: 100%; border-radius: 10px; padding: 10px 35px; box-sizing: border-box; display: flex; justify-content: center; align-items: center; }
	#gnav .navbox .spbox .contactbox .list>li>a>.inwrap{ display: inline-block; }
	#gnav .navbox .spbox .contactbox .list>li>a>.inwrap>.inwrap{ display: flex;  align-items: center; }
	#gnav .navbox .spbox .contactbox .list>li>a>.inwrap>.inwrap>.icon{ flex-shrink: 0; display: flex; margin-right: 15px; width: 54px;  }
	#gnav .navbox .spbox .contactbox .list>li>a>.inwrap>.inwrap>.icon svg .st0{ transition: .4s; }
	#gnav .navbox .spbox .contactbox .list>li>a>.inwrap>.inwrap>.txtbox{ display: flex; align-items: center; text-align: center; justify-content: center; width: 100%; flex-direction: column; }
	#gnav .navbox .spbox .contactbox .list>li>a>.inwrap>.inwrap>.txtbox .title{ display: flex; font-weight: bold; font-size: 2rem; line-height: 1.2; }
	#gnav .navbox .spbox .contactbox .list>li>a>.inwrap>.inwrap>.txtbox .open{ line-height: 1.8; }
	#gnav .navbox .spbox .contactbox .list>li:not(.telbox)>a:hover{ background: #46c4be; color: #fff; border: 1px solid #46c4be; }
	#gnav .navbox .spbox .contactbox .list>li:not(.telbox)>a:hover>.inwrap>.inwrap>.icon svg .st0{ fill:#fff; }
	#gnav .navbox .spbox .contactbox .list>li.mailbox{ flex-shrink: 0; width: 46%; margin-right: 4% }
	#gnav .navbox .spbox .contactbox .list>li.mailbox>a>.inwrap>.inwrap>.icon>svg{ width: 54px; height: 30px; }
	#gnav .navbox .spbox .contactbox .list>li.telbox{ width: 100%; }
	#gnav .navbox .spbox .contactbox .list>li.telbox>a>.inwrap>.inwrap>.icon>svg{ width: 50px; height: 34px; }
	#gnav .navbox .spbox .contactbox .list>li.telbox>a>.inwrap>.inwrap>.txtbox{ flex-direction: column; padding-top: 6px; }
	#gnav .navbox .spbox .contactbox .list>li.telbox>a>.inwrap>.inwrap>.txtbox .title{  }
	#gnav .navbox .spbox .contactbox .list>li.telbox>a>.inwrap>.inwrap>.txtbox .open{ line-height: 1.8; }

	#gnav.is-open  .navbox .spbox { opacity:1; }

	#gnav ul.main>li.hassub:after { top: 7px; left: 50px;  content: url(../img/common/arr2_white.svg); }
	#gnav ul.main>li.hassub:hover:after,
	#gnav ul.main>li.hassub.sub-open:after { top: 7px; }
	#gnav ul.main>li.hassub.sub-open:after { transform:rotateX(180deg); }

	#gnav .navbox .main>li.tabletblock{ display: block; }
}
@media screen and (max-width: 767px){
	#gnav .navbox .spbox .contactbox .list{ display: block; margin-bottom: -20px; }
	#gnav .navbox .spbox .contactbox .list>li{ display: block; margin-bottom: 20px; }
	#gnav .navbox .spbox .contactbox .list>li.mailbox{ width: 100%; margin-right: 0; }
	#gnav .navbox .spbox .contactbox .list>li>a{ min-height: 70px; }
}
@media screen and (max-width: 500px){
}
@keyframes bgfadein {
  0% { opacity: 0; }
  100% { opacity: 1; }
}
@keyframes bgfadeout {
  0% { visibility: visible; }
  100% { opacity: 0; visibility: hidden; }
}










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


Menubtn


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

#menubtn{ display: none; z-index: 100000000001; }
@media screen and (max-width: 1040px){
	#menubtn { position: fixed; top: 0; right: 0; display: block; background: transparent; width: 80px; height: 80px; transition : 0.3s 0.3s; cursor: pointer; background: #f1ad60; }
	#menubtn a { text-decoration: none; position: relative; display: block; height: 100%; width: 100%; color: #fff; }
	#menubtn a .line {
		width: 40px; height: 1px; background: #fff; position: absolute; left: 50%; margin-left: -20px;
		-webkit-transition: all 0.3s 0.6s; transition: all 0.3s 0.6s;
	}
	#menubtn a #line1 { top: 34px; }
	#menubtn a #line2 { top: 40px; }
	#menubtn a #line3 { top: 46px; }
	#menubtn .txt { position: absolute; left: 0; bottom:-10px; opacity:0; transition: all 0.3s 0.3s; display:block; text-align:center; font-size: 1.4rem; line-height: 1; color: #fff; width: 100%; }
	#menubtn.active .txt { opacity: 1; transition: all 0.3s;}
	#menubtn.active a .line { width: 50px; margin-left: -25px; background: #fff; -webkit-transition: all 0.3s; transition: all 0.3s;}
	#menubtn.active a #line1 {
		top: 30px;
		-webkit-transform:translateY(10px) translateX(0) rotate(-45deg);
		transform:translateY(10px) translateX(0) rotate(-45deg);
	}
	#menubtn.active a #line2 {
		opacity: 0;
	}
	#menubtn.active a #line3 {
		top: 50px;
		-webkit-transform:translateY(-10px) translateX(0) rotate(45deg);
		transform:translateY(-10px) translateX(0) rotate(45deg);
	}
}
@media screen and (max-width: 767px){
	#menubtn { width: 60px; height: 60px;  }
	#menubtn a #line1 { top: 24px; }
	#menubtn a #line2 { top: 30px; }
	#menubtn a #line3 { top: 36px; }
	#menubtn a .line { width: 26px; margin-left: -13px; }
	#menubtn.active a .line { width: 40px; margin-left: -20px; }
	#menubtn.active a #line1 { top: 20px; }
	#menubtn.active a #line3 { top: 40px; }
}







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


Mainv.index


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

#mainv.index{ height: 100vh;height: 100svh; min-height: 660px; position: relative; box-sizing: border-box; margin-bottom: 145px; padding-top: 308px; }
#mainv.index .indexmvlist,
#mainv.index .indexmvlist .slick-list,
#mainv.index .indexmvlist .slick-track,
#mainv.index .indexmvlist li.slick-slide{ height: 100%; }
#mainv.index .indexmvlist li.slick-slide{ outline:none; }
#mainv.index .indexmvlist li.slick-slide .mainwrap{ position: relative; height: 100%; padding-left: 2px; padding-right: 2px; width: calc(100% - 4px); box-sizing: border-box; }
#mainv.index .indexmvlist li.slick-slide .txtbox{ z-index: 10; height: 100%; position: absolute; top: 0; bottom: 0; left: 0; right: 0; }
#mainv.index .indexmvlist li.slick-slide .txtbox>.incnt{ display: flex; align-items: center; justify-content: center; height: 100%; padding-bottom: 50px; box-sizing: border-box; max-width: 100%; }
#mainv.index .indexmvlist li.slick-slide .bg{ position: absolute; bottom: 0; left: 0; right: 0; top: 0; width: 100%; height: 100%; object-fit: cover; font-family: 'object-fit: cover;';  }
#mainv.index .indexmvlist li.slick-slide._first .txtbox>.incnt>.inwrap{ background: rgba(255, 255, 255, 0.6); position: relative; font-family: 'Noto Sans JP', sans-serif; font-weight: 900; color: #895424; display: inline-block; padding: 30px 40px 35px 50px;  }
#mainv.index .indexmvlist li.slick-slide._first .txtbox>.incnt>.inwrap:before,
#mainv.index .indexmvlist li.slick-slide._first .txtbox>.incnt>.inwrap:after{ content: ""; background: #895424; width: 5px; height: 37px; display: inline-block; position: absolute; top: 10px; left: 10px; }
#mainv.index .indexmvlist li.slick-slide._first .txtbox>.incnt>.inwrap:after{ height: 5px; width: 37px; }
#mainv.index .indexmvlist li.slick-slide._first .txtbox>.incnt>.inwrap>.inwrap:before,
#mainv.index .indexmvlist li.slick-slide._first .txtbox>.incnt>.inwrap>.inwrap:after{ content: ""; background: #895424; width: 5px; height: 37px; display: inline-block; position: absolute; bottom: 10px; right: 10px; }
#mainv.index .indexmvlist li.slick-slide._first .txtbox>.incnt>.inwrap>.inwrap:after{ height: 5px; width: 37px; }
#mainv.index .indexmvlist li.slick-slide._first .txtbox .subtitle{ font-size: 4vh; line-height: 1.4; letter-spacing: 0.1em; font-weight: 900; margin-bottom: 10px; }
#mainv.index .indexmvlist li.slick-slide._first .txtbox .subtitle span{ font-weight: 900; }
#mainv.index .indexmvlist li.slick-slide._first .txtbox .maintitle{ font-size: 7vh; line-height: 1.4; letter-spacing: 0.1em; font-weight: 900; }
#mainv.index .indexmvlist li.slick-slide._second{  }
#mainv.index .indexmvlist li.slick-slide._second .txtbox{  }
#mainv.index .indexmvlist li.slick-slide._second .txtbox>.incnt{ align-items: flex-start; justify-content: flex-start; padding-top: 6%; padding-bottom: 10%; }
#mainv.index .indexmvlist li.slick-slide._second .txtbox>.incnt>.inwrap{ background: rgba(138, 84, 36, 0.85); padding: 8px; }
#mainv.index .indexmvlist li.slick-slide._second .txtbox>.incnt>.inwrap>.inwrap{ border: 1px solid #fff; padding: 15px 50px; display: flex; align-items: center; justify-content: center; }
#mainv.index .indexmvlist li.slick-slide._second .txtbox .maintitle{ font-family: 'Noto Sans JP', sans-serif; font-weight: 900; font-size: 5vh; color: #fff; text-align: center; line-height: 1.8; letter-spacing: 0.15em; }
#mainv.index .indexmvlist li.slick-slide._second._3 .txtbox>.incnt,
#mainv.index .indexmvlist li.slick-slide._second._5 .txtbox>.incnt{ align-items: flex-start; justify-content: flex-end; }
#mainv.index .indexmvlist li.slick-slide._second._4 .txtbox>.incnt,
#mainv.index .indexmvlist li.slick-slide._second._6 .txtbox>.incnt{ align-items: flex-end; justify-content: flex-start; }
#mainv.index .slick-dots{ position: absolute; left: 0; right: 0; bottom: -60px; text-align: center; margin-left: -10px; }
#mainv.index .slick-dots li{ display: inline-block; margin-left: 10px; }
#mainv.index .slick-dots button { font-size: 0; padding:0; min-width: 8px; height: 8px; border-radius: 50%; background: #a2a2a2; }
#mainv.index .slick-dots button:hover,
#mainv.index .slick-dots .slick-active button{ background: #535250; }
#indexnewsbox{  position: absolute; bottom: 0; left: 0; right: 0; z-index: 1000; }
#indexnewsbox>.incnt{  }
#indexnewsbox>.incnt>.inwrap{ display: flex; flex-direction: row; padding-top: 30px; padding-bottom: 10px; padding-left: 40px; padding-right: 160px; box-sizing: border-box; width: 100%; font-size: 2rem; position: relative; background: #fff; min-height: 72px; }
#indexnewsbox .mainbox{ display: flex; width: 100%; }
#indexnewsbox .mainbox>.newslistbox{ display: flex; width: 100%; position: relative; overflow: hidden; }
#indexnewsbox .mainbox>.newslistbox>ul{ display: flex; }
#indexnewsbox .mainbox>.newslistbox>ul>li{ display: none; }
#indexnewsbox .mainbox>.newslistbox>ul>li>a{ text-decoration: none; display: flex; }
#indexnewsbox .mainbox>.newslistbox>ul>li>a>dl{ display: flex; flex-direction: row; align-items: center; }
#indexnewsbox .mainbox>.newslistbox>ul>li>a>dl>dt{ margin-right: 20px; display: flex; flex-shrink: 0;  align-items: center; justify-content: center; }
#indexnewsbox .mainbox>.newslistbox>ul>li>a>dl>dt .cat{ margin-right: 30px; display: flex; flex-shrink: 0; }
#indexnewsbox .mainbox>.newslistbox>ul>li>a>dl>dt .cat>.inwrap{ background: #f1ad60; color: #fff; font-weight: bold; border-radius: 5px; letter-spacing: 0.05em; display: inline-block; text-align: center; line-height: 1.8; width: 200px; font-size: 1.8rem; padding: 0 10px; font-feature-settings : "palt"; }
#indexnewsbox .mainbox>.newslistbox>ul>li>a>dl>dt .date{ font-size: 1.6rem; }
#indexnewsbox .mainbox>.newslistbox>ul>li>a>dl>dd{ letter-spacing: 0.1em; transition: .4s; white-space: nowrap; overflow: hidden; text-align: left; font-size: 1.6rem; }
#indexnewsbox .mainbox>.newslistbox>ul>li>a:hover>dl>dd{ color: #f1ad60; }
#indexnewsbox .link{ display: flex; justify-content: center; position: absolute; right: 40px; top: 30px; bottom: 10px; margin-top: auto; margin-bottom: auto; align-items: center; z-index: 20; font-size: 1.6rem; background: #fff; padding-left: 10px; z-index: 100; }
#indexnewsbox .link .txtlink{ text-decoration: none; }
#indexnewsbox .link .txtlink:hover{ color: #f1ad60; }
#indexnewsbox .link:after{ content: ">"; margin-left: 20px; }
@media screen and (max-width: 1300px){
	#mainv.index{ padding-top: 304px; }
}
@media screen and (max-width: 1200px){
	#mainv.index{ min-height: auto; margin-bottom: 100px; padding-top: 150px; }
	#mainv.index .indexmvlist li.slick-slide._first .txtbox .subtitle{ font-size: 3vh; }
	#mainv.index .indexmvlist li.slick-slide._first .txtbox .maintitle{ font-size: 6vh; }
	#mainv.index .indexmvlist li.slick-slide._second .txtbox>.incnt>.inwrap>.inwrap{ padding: 15px 40px;}
	#mainv.index .indexmvlist li.slick-slide._second .txtbox .maintitle{ font-size: 4vh; }
	#mainv.index .indexmvlist li.slick-slide._second .txtbox>.incnt{ padding-top: 6%; padding-bottom: 16%; }
	#indexnewsbox>.incnt>.inwrap{ padding-top: 20px; padding-bottom: 20px; }
	#indexnewsbox .mainbox{ padding-top: 2px; }
	#indexnewsbox .link{ top: 22px; bottom: auto; }
}
@media screen and (max-width: 1040px){
	#mainv.index{ padding-top: 0; height: calc(100vh - 80px);height: calc(100svh - 80px); margin-bottom: 60px; }
	#mainv.index .indexmvlist li.slick-slide._first .txtbox .subtitle{ font-size: 2rem; }
	#mainv.index .indexmvlist li.slick-slide._first .txtbox .maintitle{ font-size: 4rem; }
	#mainv.index .indexmvlist li.slick-slide._second .txtbox .maintitle{ font-size: 2.8rem; }
	#indexnewsbox .mainbox>.newslistbox>ul>li>a>dl>dt .cat>.inwrap{ font-size: 1.6rem; }
	#indexnewsbox>.incnt>.inwrap{ font-size: 1.8rem; }
	#mainv.index .slick-dots{ display: none!important; }
}
@media screen and (max-width: 768px){
	#mainv.index .indexmvlist li.slick-slide .txtbox>.incnt{ padding-bottom: 0; }
	#mainv.index .indexmvlist li.slick-slide._second .txtbox>.incnt{ padding-bottom: 6%; }
	#mainv.index{ margin-bottom: 60px; height: 400px; }
	#mainv.index .indexmvlist li.slick-slide .mainwrap{ padding-left: 0; padding-right: 0; width: 100%; }
	#indexnewsbox{  position: static; margin-bottom: 70px; }
	#indexnewsbox>.incnt>.inwrap{ display: block; padding-top: 0; padding-bottom: 0; padding-left: 0; padding-right: 0; font-size: 1.6rem; background: transparent; }
	#indexnewsbox .title{ display: block; width: 100%; margin-right: 0; margin-bottom: 15px; }
	#indexnewsbox .title>.inwrap{ display: block; font-size: 1.6rem; }
	#indexnewsbox .mainbox{ display: block; }
	#indexnewsbox .mainbox>.newslistbox{ display: block; }
	#indexnewsbox .mainbox>.newslistbox>ul{ display: block; }
	#indexnewsbox .mainbox>.newslistbox>ul>li{ display: block; margin-bottom: 10px; }
	#indexnewsbox .mainbox>.newslistbox>ul>li:last-child{ margin-bottom: 0; }
	#indexnewsbox .mainbox>.newslistbox>ul>li>a{ isplay: block; }
	#indexnewsbox .mainbox>.newslistbox>ul>li>a>dl{ display: block; }
	#indexnewsbox .mainbox>.newslistbox>ul>li>a>dl>dt{ margin-right: 0; font-weight: bold; justify-content: flex-start; }
	#indexnewsbox .mainbox>.newslistbox>ul>li>a>dl>dd{ word-break: break-all; white-space: inherit; height: auto; overflow: auto; }
	#indexnewsbox .link{ display: block; position: static; right: 0; top: 0; bottom: 0; padding-left: 0; margin-top: 15px; text-align: center; }

	#mainv.index .indexmvlist li.slick-slide._first .txtbox>.incnt>.inwrap{ padding: 25px 20px 25px 30px; height: auto; }
	#mainv.index .indexmvlist li.slick-slide._first .txtbox>.incnt>.inwrap:before,
	#mainv.index .indexmvlist li.slick-slide._first .txtbox>.incnt>.inwrap:after{ width: 4px; height: 33px; top: 5px; left: 5px; }
	#mainv.index .indexmvlist li.slick-slide._first .txtbox>.incnt>.inwrap:after{ height: 4px; width: 33px; }
	#mainv.index .indexmvlist li.slick-slide._first .txtbox>.incnt>.inwrap>.inwrap:before,
	#mainv.index .indexmvlist li.slick-slide._first .txtbox>.incnt>.inwrap>.inwrap:after{ width: 4px; height: 33px; bottom: 5px; right: 5px; }
	#mainv.index .indexmvlist li.slick-slide._first .txtbox>.incnt>.inwrap>.inwrap:after{ height: 4px; width: 33px; }
	#mainv.index .indexmvlist li.slick-slide._first .txtbox .subtitle{ font-size: 1.8rem; line-height: 1.6; margin-bottom: 5px; }
	#mainv.index .indexmvlist li.slick-slide._first .txtbox .maintitle{ font-size: 3rem; line-height: 1.6; }
	#mainv.index .indexmvlist li.slick-slide._second .txtbox>.incnt>.inwrap>.inwrap{ padding: 15px 20px;}
	#mainv.index .indexmvlist li.slick-slide._second .txtbox .maintitle{ font-size: 1.8rem; }
	#mainv.index .indexmvlist li.slick-slide._second .txtbox>.incnt>.inwrap>.inwrap{ align-items: center; justify-content: center; width: 100%; height: 100%; box-sizing: border-box; }
	#mainv.index .indexmvlist li.slick-slide .txtbox>.incnt>.inwrap{ width: 310px; height: 180px; box-sizing: border-box; }
	#mainv.index .indexmvlist li.slick-slide._second .txtbox>.incnt,
	#mainv.index .indexmvlist li.slick-slide._second._3 .txtbox>.incnt,
	#mainv.index .indexmvlist li.slick-slide._second._5 .txtbox>.incnt,
	#mainv.index .indexmvlist li.slick-slide._second._4 .txtbox>.incnt,
	#mainv.index .indexmvlist li.slick-slide._second._6 .txtbox>.incnt{ align-items: center; justify-content: center; }
	#mainv.index .indexmvlist li.slick-slide._second .txtbox>.incnt>.inwrap{ background: rgba(138, 84, 36, 0.6); }
}
@media screen and (max-width: 639px){
	#indexnewsbox .mainbox>.newslistbox>ul>li>a>dl>dt .cat{ margin-right: 15px; }
	#indexnewsbox .mainbox>.newslistbox>ul>li>a>dl>dt .cat>.inwrap{ width: auto; font-size: 1.4rem; }
}








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


Mainv.under


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

#mainv.under {height: 450px;padding-top: 30px;padding-bottom: 30px;box-sizing: border-box;position: relative;background: #f6edd9;display: flex;margin-top: 304px;}
#mainv.under .incnt{ display: flex; }
#mainv.under .pagetitlebox{ text-align: center; margin-bottom: 20px; letter-spacing: 0.05em; color: #895424; display: flex; flex-direction: column; align-items: center; justify-content: center; width: 100%; }
#mainv.under .pagetitlebox .entitle{ font-family: 'Oswald', sans-serif; font-weight: bold; font-size: 9.4rem; line-height: 1.4; letter-spacing: 0.1em; margin-bottom: 5px; }
#mainv.under .pagetitlebox .jntitle{ font-weight: bold; font-size: 3.8rem; line-height: 1.8; }
@media screen and (max-width: 1400px) {
}
@media screen and (max-width: 1200px) {
	#mainv.under{margin-top: 155px;height: 400px;}
	#mainv.under .pagetitlebox .entitle{ font-size: 8.2rem; margin-bottom: 10px; }
	#mainv.under .pagetitlebox .jntitle{ font-size: 3.4rem; }
}
@media screen and (max-width: 1040px) {
	#mainv.under{margin-top: 0;padding-bottom: 0;height: 300px;}
	#mainv.under .pagetitlebox .entitle{ font-size: 6.4rem; }
	#mainv.under .pagetitlebox .jntitle{ font-size: 3rem; }
}
@media screen and (max-width: 767px) {
	#mainv.under{height: 200px;}
	#mainv.under .pagetitlebox .entitle{ font-size: 4rem; }
	#mainv.under .pagetitlebox .jntitle{ font-size: 2rem; }
	#mainv.under .pagetitlebox .txt{ text-align: left; font-size: 1.6rem; }
}
@media screen and (max-width: 479px) {
}











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


Pankuzu


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

#pankuzu { line-height: 1.4; padding:25px 0 0; font-size: 1.6rem; text-align: left; }
#pankuzu ol li { display:inline-block; color: #f1ad60; }
#pankuzu ol li:before { content:">"; display: inline-block; margin: 0 5px 0 3px }
#pankuzu ol li:first-child:before { display: none; }
#pankuzu ol li a{ text-decoration: none; color: #f1ad60;  transition: 0.3s;  }
#pankuzu ol li a:hover { color: #895424;}
@media screen and (max-width: 1040px) {
	#pankuzu{ display: none; }
}






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


Content


//////////////////*/
#index #main{ margin-bottom: 140px; }
body:not(#index) #main { margin-top: 80px; margin-bottom: 210px; }
@media screen and (max-width: 1040px) {
}
@media screen and (max-width: 767px) {
	#index #main{ margin-bottom: 100px; }
	body:not(#index) #main { margin-top: 60px; margin-bottom: 100px; }
}








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


Cntside


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

#yokomain>.incnt{  }
#yokomain>.incnt>.inwrap{ display: flex; flex-direction: row; }
#yokomain>.incnt>.inwrap #secwrap_1{ width: 100%; padding-top: 0 }
#sidebox{ width: 270px; margin-left: 5%; flex-shrink: 0 }
#sidebox .cstitle{ font-weight: bold; color: #895424; font-size: 2rem; letter-spacing: 0.2em; font-family: 'Oswald', sans-serif; flex-shrink: 0; line-height: 1.4; margin-bottom: 20px; }
#sidebox .csbox{ margin-bottom: 50px; }
#sidebox .csbox:last-child{ margin-bottom: 0 }
#sidebox .cslist>li{ margin-bottom: 12px; line-height: 1.8; letter-spacing: 0.05em; }
#sidebox .cslist>li:last-child{ margin-bottom: 0 }
#sidebox .cslist>li>a{ text-decoration: none; color: inherit; }
#sidebox .cslist>li>a:hover{ color: #f0b252 }
#sidebox .cslist.sidetaglist{ margin-left: -15px; text-align: left; }
#sidebox .cslist.sidetaglist>li{ margin-left: 15px; display: inline-block; vertical-align: middle; }
@media screen and (max-width: 1040px) {
	#yokomain>.incnt>.inwrap{ display: block; }
	#sidebox{ width: 100%; margin-left: 0; margin-top: 100px; }
}
@media screen and (max-width: 767px) {
	#sidebox .cstitle{ font-size: 1.8rem; }
	#sidebox .csbox{ margin-bottom: 40px }
	#sidebox .cslist>li{ margin-bottom: 7px;  }
}
@media screen and (max-width: 479px){
}


#side {  }
















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


Cntside


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

#side {  }













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


Footer


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

#footer {  }

#footer .contactbox{ background: #f1ad60; padding: 70px 0 80px; }
#footer .contactbox .incnt{ max-width: 782px; }
#footer .contactbox .titlebox{ color: #fff; margin-bottom: 25px; }
#footer .contactbox .titlebox .title{ font-weight: bold; font-size: 3.8rem; text-align: center; line-height: 1.8; margin-bottom: 5px; }
#footer .contactbox .titlebox .txt{ text-align: center; font-size: 2.2rem; text-align: center; line-height: 1.8; }
#footer .contactbox .contactlist{ display: flex; flex-direction: row; }
#footer .contactbox .contactlist>li{ display: flex; }
#footer .contactbox .contactlist>li>a{ display: flex; background: #fff; border: 1px solid #fff; color: #46c4be; align-items: center; text-decoration: none; width: 100%; border-radius: 10px; padding: 10px 35px; box-sizing: border-box; align-items: center; justify-content: center; }
#footer .contactbox .contactlist>li>a>.inwrap{ display: inline-block; }
#footer .contactbox .contactlist>li>a>.inwrap>.inwrap{display: flex;/* align-items: center; */}
#footer .contactbox .contactlist>li>a>.inwrap>.inwrap>.icon{ flex-shrink: 0;margin-right: 20px;/* display: flex; */width: 64px;margin-top: 10px;}
#footer .contactbox .contactlist>li>a>.inwrap>.inwrap>.icon svg .st0{ transition: .4s; }
#footer .contactbox .contactlist>li>a>.inwrap>.inwrap>.txtbox{ display: flex; align-items: center; text-align: center; justify-content: center; width: 100%; flex-direction: column; }
#footer .contactbox .contactlist>li>a>.inwrap>.inwrap>.txtbox .title{ display: flex; font-weight: bold; font-size: 2.6rem; line-height: 1.2; }
#footer .contactbox .contactlist>li:not(.telbox)>a:hover{ background: #46c4be; color: #fff; border: 1px solid #46c4be; }
#footer .contactbox .contactlist>li:not(.telbox)>a:hover .icon svg .st0{ fill:#fff; }
#footer .contactbox .contactlist>li.mailbox{ flex-shrink: 0; width: 46%; margin-right: 4% }
#footer .contactbox .contactlist>li.mailbox>a>.icon>svg{ width: 64px; height: 40px; }
#footer .contactbox .contactlist>li.telbox{ width: 100%; }
#footer .contactbox .contactlist>li.telbox>a>.inwrap>.inwrap>.icon{ align-items: center; padding-bottom: 2px; }
#footer .contactbox .contactlist>li.telbox>a>.inwrap>.inwrap>.icon>svg{ width: 60px; height: 44px; }
#footer .contactbox .contactlist>li.telbox>a>.inwrap>.inwrap>.txtbox{ flex-direction: column; }
#footer .contactbox .contactlist>li.telbox>a>.inwrap>.inwrap>.txtbox .title{  }
#footer .contactbox .contactlist>li.telbox>a>.inwrap>.inwrap>.txtbox .open{ line-height: 1.8; }
#footer .contactbox .linebox { display: flex; flex-direction: row; border-radius: 10px; border: 2px solid #fff; margin-top: 30px; }
#footer .contactbox .linebox .linkbox{ padding-left: 10px; padding-right: 30px; padding-top: 20px; padding-bottom: 25px; flex-shrink: 0; }
#footer .contactbox .linebox .titlebox { padding: 25px 5%;  display: flex; flex-direction: column; justify-content: center;border-right: 2px solid #fff; margin-bottom: 0; }
#footer .contactbox .linebox .titlebox h3.title { font-size: 2.2rem; line-height: 1.8; margin-bottom: 5px; text-align: left; }
#footer .contactbox .linebox .linkbox { display: flex; flex-direction: column; justify-content: center; text-align: center; }
#footer .contactbox .linebox .linkbox ul { margin-bottom: -20px; }
#footer .contactbox .linebox .linkbox ul li { margin-left: 15px; width: 90px; display: inline-block; vertical-align: middle; margin-bottom: 20px; }
#footer .contactbox .linebox .linkbox ul li a { display: flex; flex-direction: column; justify-content: center; text-decoration: none; text-align: center; }
#footer .contactbox .linebox .linkbox ul li p.txt { margin-bottom: 5px; color: #fff; text-align: center; font-size: 1.4rem; }
#footer .contactbox .linebox .linkbox ul li p.img { }
@media screen and (max-width: 1040px){
	#footer .contactbox{ padding: 40px 0 60px; }
	#footer .contactbox .titlebox .title{ font-size: 2.6rem; }
	#footer .contactbox .titlebox .txt{ font-size: 1.8rem; }
	#footer .contactbox .contactlist>li>a{ padding: 10px 35px; }
	#footer .contactbox .contactlist>li>a>.inwrap>.inwrap>.icon{ margin-right: 15px; width: 54px; }
	#footer .contactbox .contactlist>li>a>.inwrap>.inwrap>.txtbox .title{font-size: 2rem; }
	#footer .contactbox .contactlist>li.mailbox>a>.inwrap>.inwrap>.icon>svg{ width: 54px; height: 30px; }
	#footer .contactbox .contactlist>li.telbox>a>.inwrap>.inwrap>.icon>svg{ width: 50px; height: 34px; }
}
@media screen and (max-width: 767px){
	#footer .contactbox .titlebox .title{ font-size: 2.4rem; }
	#footer .contactbox .contactlist{ display: block; }
	#footer .contactbox .contactlist>li>a{ min-height: 70px; }
	#footer .contactbox .contactlist>li{ display: block; margin-bottom: 20px; }
	#footer .contactbox .contactlist>li:last-child{ margin-bottom: 0; }
	#footer .contactbox .contactlist>li.mailbox{ width: 100%; margin-right: 0% }

	#footer .contactbox .linebox { display: block; }
	#footer .contactbox .linebox .titlebox { display: block;padding-left: 6%;padding-right: 6%;margin-right: 0; border-right: none;border-bottom: 2px solid #fff; }
	#footer .contactbox .linebox .titlebox h3.title { font-size: 1.8rem; text-align: center;}
}
@media screen and (max-width: 639px){
	#footer .contactbox .titlebox .txt{ text-align: left; }
}


#footer .footerinfo{ padding: 70px 0 60px; }
#footer .footerinfo>.incnt>.inwrap{ display: flex; flex-direction: row; justify-content: center; font-size: 1.6rem; line-height: 1.8; }
#footer .footerinfo .leftbox{ display: flex; flex-direction: column; }
#footer .footerinfo .leftbox .logobox{ margin-left: -60px; display: flex; flex-direction: row; align-items: center; }
#footer .footerinfo .leftbox .logobox .logo,
#footer .footerinfo .leftbox .logobox .cap{ margin-left: 60px; display: flex; }
#footer .footerinfo .leftbox .logobox .logo{ flex-shrink: 0; }
#footer .footerinfo .leftbox .logobox .logo>a{  }
#footer .footerinfo .leftbox .logobox .logo>a>img{ width: 340px; height: 68px; }
#footer .footerinfo .leftbox .logobox .cap{ width: 100%; }
#footer .footerinfo .leftbox .officelist{ margin-top: 20px; margin-left: -80px; }
#footer .footerinfo .leftbox .officelist>li{ display: inline-block; margin-left: 80px; vertical-align: top; letter-spacing: 0.05em; margin-top: 30px; }
#footer .footerinfo .rightbox{ margin-left: 80px; flex-shrink: 0; width: 368px; }
#footer .footerinfo .rightbox .areabox{  }
#footer .footerinfo .rightbox .areabox .title{ font-weight: bold; color: #fff; background: #46c4be; border-radius: 5px; text-align: center; margin-bottom: 10px; }
#footer .footerinfo .rightbox .areabox .title+p{ font-size: 1.4rem; }
#footer .footerinfo .rightbox #fnav{ margin-top: 35px; }
#footer .footerinfo .rightbox #fnav>ul{ margin-left: -55px; }
#footer .footerinfo .rightbox #fnav>ul>li{ margin-left: 55px; display: inline-block; vertical-align: top; }
#footer .footerinfo .rightbox #fnav>ul>li>ul{  }
#footer .footerinfo .rightbox #fnav>ul>li>ul>li{  }
#footer .footerinfo .rightbox #fnav>ul>li>ul>li>p{  }
#footer .footerinfo .rightbox #fnav>ul>li a{ text-decoration: none; }
#footer .footerinfo .rightbox #fnav>ul>li a:hover{ color: #f1ad60; }
#footer .footerinfo .rightbox #fnav>ul>li>ul>li>p+ul{  }
#footer .footerinfo .rightbox #fnav>ul>li>ul>li>p+ul>li{ padding-left: 1em!important; text-indent: -1em; }
#footer .footerinfo .rightbox #fnav>ul>li>ul>li>p+ul>li:before{ content: "・"; }
#footer .footerinfo .rightbox #fnav>ul>li>ul>li>p+ul>li>a{  }
#footer .cr{ margin-top: auto; padding-top: 50px; }
@media screen and (max-width: 1300px){
	#footer .footerinfo .leftbox .logobox{ margin-left: 0; display: block; }
	#footer .footerinfo .leftbox .logobox .logo,
	#footer .footerinfo .leftbox .logobox .cap{ margin-left: 0; display: block; }
	#footer .footerinfo .leftbox .logobox .cap{ margin-top: 20px; }
}
@media screen and (max-width: 1040px){
	#footer .footerinfo .incnt.wider{ max-width: 535px; }
	#footer .footerinfo>.incnt>.inwrap{ font-size: 1.4rem; }
	#footer .footerinfo .rightbox{ display: none; }
	#footer .footerinfo .leftbox{ align-items: center; }
	#footer .footerinfo .leftbox .logobox .logo{ display: block; text-align: center; margin-bottom: 30px; }
	#footer .footerinfo .leftbox .logobox .logo>a>img{ width: 288px; height: 50px; }
	#footer .footerinfo{ padding: 70px 0 40px; }
}
@media screen and (max-width: 767px){
	#footer .footerinfo{ padding: 60px 0 30px; }
}
@media screen and (max-width: 639px){
}




#fspcontactfixed{ display: none; }
@media screen and (max-width: 1040px){
	#footer{ margin-bottom: 50px; }
	#fspcontactfixed{ position: fixed; left: 0; bottom: 0; height: 50px; width: 100%; display: block; }
	#fspcontactfixed>ul{ height: 100%; display: flex; flex-direction: row; border-top: 1px solid #47BAB4; }
	#fspcontactfixed>ul>li{ width: 50%; display: flex; }
	#fspcontactfixed>ul>li>a{ display: flex; width: 100%; height: 100%; align-items: center; justify-content: center; background: #fff }
	#fspcontactfixed>ul>li:nth-child(1)>a>svg{ width: 44px; height: 20px; }
	#fspcontactfixed>ul>li:nth-child(1)>a{ background: #47BAB4; }
	#fspcontactfixed>ul>li:nth-child(1)>a>svg .mail_icon_st0.st0{ fill: #fff; }
	#fspcontactfixed>ul>li:nth-child(2)>a>svg{ width: 40px; height: 24px; }
}


#fapartlink{ position: fixed; bottom: 20px; right: 20px; z-index: 10000; max-width: 250px; width: 100%; }
#fapartlink .mainbox{ display: block; background: rgba(138, 84, 36, 0.85); padding: 20px; }
#fapartlink .mainbox .title{ font-family: 'Noto Sans JP', sans-serif; font-weight: 900; font-size: 1.8rem; color: #fff; text-align: center; line-height: 1.8; letter-spacing: 0.15em; margin-bottom: 15px; }
#fapartlink .mainbox .link{ text-align: center; }
#fapartlink .mainbox .link>.inwrap{ font-size: 1.6rem; border-radius: 40px; background: #fff; border: 1px solid #fff; color: #895424; display: inline-block; text-decoration: none; padding: 8px 60px 8px 40px; text-align: center; position: relative; line-height: 1.6; box-sizing: border-box; transition: .4s; }
#fapartlink .mainbox .link>.inwrap:after{ content: ""; background: linear-gradient(to bottom left, rgba(255,255,255,0) 50%, #895424 60%) no-repeat top left/100% 50%, linear-gradient(to top left, rgba(255,255,255,0) 50%, #895424 60%) no-repeat bottom right/100% 50%; width: 10px; height: 8px; display: inline-block; position: absolute; bottom: 0; top: 0; margin-top: auto; margin-bottom: auto; right: 20px; transition: .4s; }
#fapartlink .mainbox .link>.inwrap:hover{ background: transparent; color: #fff; }
#fapartlink .mainbox .link>.inwrap:hover:after{ background: linear-gradient(to bottom left, rgba(255,255,255,0) 50%, #fff 60%) no-repeat top left/100% 50%, linear-gradient(to top left, rgba(255,255,255,0) 50%, #fff 60%) no-repeat bottom right/100% 50%; }
#fapartlink .closebtn{ position: absolute; top: -15px; right: -15px; }
#fapartlink .closebtn>a {display: block; position: relative; width: 30px; height: 30px; border: 2px solid #895424; /* 枠の調整 */ border-radius: 50%;  /* 丸みの度合い */ background: #fff; /* ボタンの背景色 */ }
#fapartlink .closebtn>a::before, #fapartlink .closebtn>a::after {content: ""; position: absolute; top: 50%; left: 50%; width: 3px; /* 棒の幅（太さ） */ height: 22px; /* 棒の高さ */ background: #895424; /* バツ印の色 */ }
#fapartlink .closebtn>a::before {transform: translate(-50%,-50%) rotate(45deg); }
#fapartlink .closebtn>a::after {transform: translate(-50%,-50%) rotate(-45deg); }
#fapartlink .closebtn>a:hover{ background: #895424; }
#fapartlink .closebtn>a:hover::before, #fapartlink .closebtn>a:hover::after{ background: #fff; }
@media screen and (max-width: 1040px){
	#fapartlink{ bottom: 70px; }
}
@media screen and (max-width: 767px){
	#fapartlink{ display: none; }
}

#fapartlink2{position: fixed;bottom: 205px;right: 20px;z-index: 10000; max-width: 250px; width: 100%;}
#fapartlink2 .mainbox{ display: block; background: rgba(254, 245, 247, 0.85); border: 2px solid #ff5d73; padding: 20px; }
#fapartlink2 .mainbox .title{ font-family: 'Noto Sans JP', sans-serif;  color: #ff5d73; text-align: center; line-height: 1.8; letter-spacing: 0.15em; margin-bottom: 15px; }
#fapartlink2 .mainbox .title .sub{ font-size: 1.2rem; font-weight: normal; }
#fapartlink2 .mainbox .title .main{  font-weight: 900; font-size: 1.8rem; margin-top: 5px; margin-bottom: 5px; }
#fapartlink2 .mainbox .link{ text-align: center; }
#fapartlink2 .mainbox .link>.inwrap{ font-size: 1.6rem; border-radius: 40px; background: #fff; border: 1px solid #fff; color: #ff5d73; display: inline-block; text-decoration: none; padding: 8px 60px 8px 40px; text-align: center; position: relative; line-height: 1.6; box-sizing: border-box; transition: .4s; }
#fapartlink2 .mainbox .link>.inwrap:after{ content: ""; background: linear-gradient(to bottom left, rgba(255,255,255,0) 50%, #ff5d73 60%) no-repeat top left/100% 50%, linear-gradient(to top left, rgba(255,255,255,0) 50%, #ff5d73 60%) no-repeat bottom right/100% 50%; width: 10px; height: 8px; display: inline-block; position: absolute; bottom: 0; top: 0; margin-top: auto; margin-bottom: auto; right: 20px; transition: .4s; }
#fapartlink2 .mainbox .link>.inwrap:hover{ background: #ff5d73; color: #fff; }
#fapartlink2 .mainbox .link>.inwrap:hover:after{ background: linear-gradient(to bottom left, rgba(255,255,255,0) 50%, #fff 60%) no-repeat top left/100% 50%, linear-gradient(to top left, rgba(255,255,255,0) 50%, #fff 60%) no-repeat bottom right/100% 50%; }
#fapartlink2 .closebtn{ position: absolute; top: -15px; right: -15px; }
#fapartlink2 .closebtn>a {display: block; position: relative; width: 30px; height: 30px; border: 2px solid #ff5d73; /* 枠の調整 */ border-radius: 50%;  /* 丸みの度合い */ background: #fff; /* ボタンの背景色 */ }
#fapartlink2 .closebtn>a::before, #fapartlink2 .closebtn>a::after {content: ""; position: absolute; top: 50%; left: 50%; width: 3px; /* 棒の幅（太さ） */ height: 22px; /* 棒の高さ */ background: #ff5d73; /* バツ印の色 */ }
#fapartlink2 .closebtn>a::before {transform: translate(-50%,-50%) rotate(45deg); }
#fapartlink2 .closebtn>a::after {transform: translate(-50%,-50%) rotate(-45deg); }
#fapartlink2 .closebtn>a:hover{ background: #ff5d73; }
#fapartlink2 .closebtn>a:hover::before, #fapartlink2 .closebtn>a:hover::after{ background: #fff; }
@media screen and (max-width: 1040px){
	#fapartlink2{bottom: 255px;}
}
@media screen and (max-width: 767px){
	#fapartlink2{ position: static; max-width: 100%; margin-bottom: 60px; }
	#fapartlink2 .mainbox{ border: none; }
}

.grecaptcha-badge{ bottom: auto; top: 250px; }
@media screen and (max-width: 1040px){
	.grecaptcha-badge{ top: 200px; }
}
@media screen and (max-width: 767px){
	.grecaptcha-badge{ bottom: 80px!important; top: auto; }
}