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



/*
main #cc0001
sub #79511b
*/
@import url(//fonts.googleapis.com/earlyaccess/notosansjapanese.css);
@import url(//fonts.googleapis.com/css2?family=Oswald&display=swap);



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


Header


//////////////////*/
#header{  }
#header .mainbox{ position: fixed; top: 0; left: 0; background: #f0ebdf; padding-right: 60px; box-sizing: border-box; width: 100%; z-index: 10000; }
#header .mainbox>.incnt{ position: static; }
#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; height: 90px; }
#header .mainbox .sitetitlebox{ 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; height: 100%; margin-left: -25px; }
#header .mainbox .sitetitlebox .logo{ display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; margin-left: 25px; }
#header .mainbox .sitetitlebox .logo a{ height: 100%; display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; }
#header .mainbox .sitetitlebox .logo img{ width: 244px; }
#header .mainbox .sitetitlebox .cap{ display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; margin-left: 25px; align-items: center; }
#header .mainbox .sitemainbox{ 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; height: 100%; margin-left: -15px; }
#header .mainbox .sitemainbox .contactsns{ 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; height: 100%; margin-left: -20px; }
#header .mainbox .sitemainbox .contactsns .contactlist{ display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; margin-left: 5px; }
#header .mainbox .sitemainbox .contactsns .contactlist>li{ margin-left: 15px; display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; align-items: center; }
.contactlist>li a{ display: inline-block; vertical-align: middle; text-decoration: none; margin-left: 5px; }
.contactlist>li a:hover{ color: #f08437!important; }
.contactlist>li svg,
.contactlist>li span{ display: inline-block; vertical-align: middle; margin-left: 5px; font-weight: 600; }
.contactlist>li svg .st0{ transition: 0.3s; }
.contactlist>li a:hover .st0{ fill:#f08437!important; }
#header .mainbox .sitemainbox .contactsns .contactlist>li._mail{  }
#header .mainbox .sitemainbox .contactsns .contactlist>li._mail svg{ width: 18px; height: 16px; }
#header .mainbox .sitemainbox .contactsns .contactlist>li._access{  }
#header .mainbox .sitemainbox .contactsns .contactlist>li._access svg{ width: 16px; height: 24px; }
.snslist{ display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; margin-left: 20px; }
.snslist>li{ display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; align-items: center; position: relative; padding-left: 15px; padding-right: 10px; }
.snslist>li:before{ content: ""; background: #333; width: 1px; height: 16px; position: absolute; top: 0; bottom: 0; left: 0; margin-top: auto; margin-bottom: auto; }
.snslist>li:first-child{ padding-left: 0; }
.snslist>li:first-child:before{ content: none }
.snslist>li:last-child{ padding-right: 0; }
.snslist>li>a{ text-decoration: none; font-weight: 600 }
.snslist>li>a:hover{ color: #f08437; }
@media screen and (max-width: 1180px){
	#header .mainbox .sitemainbox .contactsns .snslist{ display: none; }
}
@media screen and (max-width: 1040px){
	#header .mainbox .sitemainbox .contactsns{ display: none; }
	#header .mainbox>.incnt>.inwrap{ display: block; height: auto; }
	#header .mainbox .sitetitlebox{ height: 100px; margin-left: 0; }
	#header .mainbox .sitetitlebox .cap{ margin-top: 5px;  }
	#header .mainbox .sitetitlebox .logo{ margin-left: 0; }
	#header .mainbox{ padding-right: 0 }
}
@media screen and (max-width: 767px){
	#header .mainbox .sitetitlebox{ flex-direction: column; justify-content: center;  }
	#header .mainbox .sitetitlebox .logo img{ width: 200px; height: 46px; }
	#header .mainbox .sitetitlebox .cap{ font-size: 1.3rem; margin-left: 0; }

}
@media screen and (max-width: 639px){
}
@media screen and (max-width: 479px){
	#header .mainbox{ position: static; }
}

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








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


Nav


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

#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;  }
#gnav .navbox{ position: relative; z-index: 10; display: flex; flex-direction: row; }
#gnav>.scrollcover{  }

.navlist{  }
#gnav.navlist .incnt>.mainlistcover{ display: flex; flex-direction: column; justify-content: center; height: 100vh; width: 100% }
#gnav.navlist .incnt>.mainlistcover>.inwrap{ overflow: hidden; padding-top: 120px; padding-bottom: 70px; position: absolute; top: 0; bottom: 0; margin-top: auto; margin-bottom: auto; height: calc(100% - 190px); }
#gnav.navlist .incnt>.mainlistcover>.inwrap>.inwrap{ overflow-y: scroll; height: calc(100vh - 200px);  /* Safari用 */ width: calc(100% + 20px); padding: 0 6%; box-sizing: border-box; }

#gnav.navlist .mainlist{  }
#gnav.navlist .mainlist>li{  transition: 3s; opacity: 0 }
#gnav.navlist .mainlist>li>a,
#gnav.navlist .mainlist>li>p{ text-decoration: none; line-height: 1.6 }
#gnav.navlist .mainlist>li>a>span,
#gnav.navlist .mainlist>li>p>span{ color: #e52612; font-size: 3.6rem; font-family: 'Oswald', sans-serif; letter-spacing: 0.05em; font-weight: 600 }
#gnav.navlist .mainlist>li.hassub{ margin-left: -30px }
#gnav.navlist .mainlist>li.hassub>p{ margin-left: 30px; display: inline-block; vertical-align: middle; }
#gnav.navlist .mainlist>li.hassub .sublist{ margin-left: 20px; display: inline-block; vertical-align: middle; }
#gnav.navlist .mainlist+.sublist{ opacity: 0; margin-top: 40px; margin-left: -10px }
#gnav.navlist .sublist{ text-align: left; }
#gnav.navlist .sublist>li{ display: inline-block; margin-left: 10px }
#gnav.navlist .sublist>li>a{ font-size: 1.8rem; font-weight: bold; font-family: 'Noto Sans Japanese', sans-serif; letter-spacing: 0.1em; text-decoration: none }

#gnav.navlist .navoption{ opacity: 0; display: flex; flex-direction: row-reverse; margin-top: 60px; transition: 3s; justify-content: flex-end; }
#gnav.navlist .opentxt{ opacity: 0; transition: 3s; }
#gnav.navlist .navoption .contactlist{ margin-left: -28px; display: inline-block; vertical-align: middle; }
#gnav.navlist .navoption .contactlist>li{ display: inline-block; vertical-align: middle; margin-left: 25px; }
#gnav.navlist .navoption .contactlist>li>a{ text-decoration: none; }
#gnav.navlist .navoption .contactlist>li svg,
#gnav.navlist .navoption .contactlist>li img{ display: inline-block; vertical-align: middle; margin-left: 7px; }
#gnav.navlist .navoption .contactlist>li span{ display: inline-block; vertical-align: middle; margin-left: 7px; font-size: 2.8rem; }
#gnav.navlist .navoption .contactlist>li._tel{  }
#gnav.navlist .navoption .contactlist>li._tel>a{ cursor: default;  }
#gnav.navlist .navoption .contactlist>li._tel>a:hover{ color: inherit; }
#gnav.navlist .navoption .contactlist>li._tel>a:hover span{ color: inherit; }
#gnav.navlist .navoption .contactlist>li._tel img{ width: 32px; height: 30px; }
#gnav.navlist .navoption .contactlist>li._access svg{ width: 24px; height: 36px;  }
#gnav.navlist .navoption .contactlist>li._access span{ margin-left: 3px }
#gnav.navlist .navoption .snslist{ font-size: 2rem; margin-left: 50px }

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

#gnav .logo{ display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; position: absolute; top: 0; left: 0; height: 90px; opacity: 0; transition: 3s; }
#gnav .logo a{ height: 100%; display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; }
#gnav .logo img{ width: 244px; }

#gnav.is-open{ opacity: 1; visibility: visible; }
#gnav.is-open .whitebg{ opacity: 1; visibility: visible; }

#gnav.navlist.is-open .mainlistcover .logo,
#gnav.navlist.is-open .mainlist>li,
#gnav.navlist.is-open .mainlist+.sublist,
#gnav.navlist.is-open .navoption,
#gnav.navlist.is-open .opentxt { opacity:1; transition: 3s; }
#gnav.navlist.is-open .mainlistcover .logo{ -webkit-transition-delay: .2s; transition-delay: .2s; }
#gnav.navlist.is-open .mainlist>li:nth-child(1){ -webkit-transition-delay: .25s; transition-delay: .25s; }
#gnav.navlist.is-open .mainlist>li:nth-child(2){ -webkit-transition-delay: .3s; transition-delay: .3s; }
#gnav.navlist.is-open .mainlist>li:nth-child(3){ -webkit-transition-delay: .35s; transition-delay: .35s; }
#gnav.navlist.is-open .mainlist>li:nth-child(4){ -webkit-transition-delay: .4s; transition-delay: .4s; }
#gnav.navlist.is-open .mainlist>li:nth-child(5){ -webkit-transition-delay: .45s; transition-delay: .45s; }
#gnav.navlist.is-open .mainlist>li:nth-child(6){ -webkit-transition-delay: .5s; transition-delay: .5s; }
#gnav.navlist.is-open .mainlist>li:nth-child(7){ -webkit-transition-delay: .55s; transition-delay: .55s; }
#gnav.navlist.is-open .mainlist>li:nth-child(8){ -webkit-transition-delay: .6s; transition-delay: .6s; }
#gnav.navlist.is-open .mainlist+.sublist{ -webkit-transition-delay: .6s; transition-delay: .6s; }
#gnav.navlist.is-open .navoption,
#gnav.navlist.is-open .opentxt{ -webkit-transition-delay: .65s; transition-delay: .65s; }
@media screen and (max-width: 1040px){
	#gnav .logo{ margin-left: 0; }

}
@media screen and (max-width: 767px){
	#gnav .logo { margin-top: 14px }
	#gnav .logo img{ width: 172px; height: 46px; }
	#gnav.navlist .mainlist>li>a>span,
	#gnav.navlist .mainlist>li>p>span{ font-size: 2.4rem; }
	#gnav.navlist .sublist>li>a{ font-size: 1.6rem }
	#gnav.navlist .navoption{ display: block; }
	#gnav.navlist .navoption .snslist{ font-size: 1.6rem; margin-left: 0; margin-bottom: 40px }


	#gnav.navlist .navoption{ margin-top: 30px; }
	#gnav.navlist .navoption .contactlist{ margin-left: -28px; }
	#gnav.navlist .navoption .contactlist>li{ margin-left: 25px; }
	#gnav.navlist .navoption .contactlist>li span{ font-size: 2rem; }
	#gnav.navlist .navoption .contactlist>li._tel img{ width: 24px; height: 22px; }
	#gnav.navlist .navoption .contactlist>li._access svg{ width: 18px; height: 26px;  }
	#gnav.navlist .navoption+.opentxt{ font-size: 1.4rem }
	#gnav.navlist .mainlist+.sublist{ margin-top: 10px }
	#gnav.navlist .mainlist+.sublist>li{ display: block }
	#gnav.navlist .navoption .contactlist{ margin-left: -20px }
	#gnav.navlist .navoption .contactlist>li{ margin-left: 10px }
}
@media screen and (max-width: 639px){
}
@media screen and (max-width: 479px){
	#gnav.navlist .incnt>.mainlistcover>.inwrap{ padding-top: 80px; height: calc(100% - 150px); }
	#gnav.navlist .incnt>.mainlistcover>.inwrap>.inwrap{ padding: 0 4% }
}




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


Menubtn


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

#menubtn { z-index: 100000001; position: fixed; top: 30px; right: 35px; display: block; background: transparent; height: 40px; cursor: pointer; }
#menubtn a { text-decoration: none; position: relative; height: 100%; width: 100%;  }
#menubtn a .linebox{ position: relative; width: 33px; height: 33px; margin-left: 15px; display: inline-block; vertical-align: middle; }
#menubtn a .linebox .line { height: 3px; background: #e50312; position: absolute; transition: all 0.6s; right: 0; }
#menubtn a #line1 { top: 5px; width: 48px;  }
#menubtn a #line2 { bottom: 50%; width: 48px;  }
#menubtn a #line3 { bottom: 7px; width: 28px;  }
#menubtn a .closetxt { display: none; vertical-align: middle; opacity: 0; transition: all 0.6s; visibility: hidden; font-size: 2.8rem }
#menubtn.active { top: 20px }
#menubtn.active a{ }
#menubtn.active a .closetxt  { color: #333333; opacity: 1; visibility: visible; display: inline-block; }
#menubtn.active a .linebox{ }
#menubtn.active a .line { width: 48px!important; background: #333333; }
#menubtn.active a #line1 {

	-webkit-transform:translateY(9px) translateX(0) rotate(44deg);
	transform:translateY(9px) translateX(0) rotate(44deg);
}
#menubtn.active a #line2{ display: none; }
#menubtn.active a #line3 { 
	-webkit-transform:translateY(-9px) translateX(0) rotate(-44deg); 
	transform:translateY(-9px) translateX(0) rotate(-44deg);
}
@media screen and (max-width: 1040px){
}
@media screen and (max-width: 767px){
	#menubtn{ top: 25px; }
	#menubtn a .closetxt{ font-size: 2rem }
	#menubtn.active a .linebox{ width: 24px; height: 24px }
	#menubtn.active a .line { width: 30px!important; }
	#menubtn.active a #line1{ top: 1px }
	#menubtn.active a #line3{ bottom: 1px }
}
@media screen and (max-width: 479px){
	#menubtn{ top: 20px; right: 20px }
	#menubtn a .closetxt{ letter-spacing: 0em }
}






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


Mainv_index


//////////////////*/
#mainv_index{ background: #f0ebdf; padding: 0 4%; padding-top: 220px; position: relative; padding-bottom: 80px; height: 100vh; box-sizing: border-box; min-height: 800px; }
#mainv_index .mainbox{ position: relative; height: 100%; }
#mainv_index .mainbox .maincopy{ color: #e52612; text-align: center; font-size: 11rem; line-height: 1.2; position: absolute; top: -90px; left: 0; right: 0; z-index: 100; letter-spacing: 0.05em; }
#mainv_index .mainbox .copytxt1{ position: absolute; top: 0; bottom: 0; right: 20%; margin-top: auto; margin-bottom: auto; display: flex; z-index: 1000; letter-spacing: 0.3em; padding-top: 100px; flex-direction: column; justify-content: center; align-items: baseline; }
#mainv_index .mainbox .copytxt1>.inwrap{ font-size: 3.2rem; font-weight: bold; background: #fff; padding: 5px 0 5px 12px; margin-bottom: 8px; display: inline-block; line-height: 1.4; letter-spacing: 0.05em }
#mainv_index .mainbox .copytxt1>.inwrap:last-child{ margin-bottom: 0 }
#mainv_index .imgbox{ height: 100%; }
#mainv_index .imgbox .bglist{ position: relative; height: 100%; }
#mainv_index .imgbox .bglist .slidebox,
#mainv_index .imgbox .bglist .slick-list,
#mainv_index .imgbox .bglist .slick-track,
#mainv_index .imgbox .bglist .slick-slide{ height: 100%; }
#mainv_index .imgbox .bglist .slick-slide{ position: relative; padding-right: 20px; }
#mainv_index .imgbox .bglist .slick-slide .img{ width: 100%; height: calc(100% - 20px); }
#mainv_index .imgbox .bglist .slick-slide img{ position: relative; z-index: 1; object-fit: cover; font-family: 'object-fit: cover;'; display: block; width: 100%; height: 100% }
#mainv_index .imgbox .bglist .slick-slide img._3{ object-position: 15% 80%; font-family: 'object-fit: cover; object-position: 15% 80%;';  }
#mainv_index .imgbox .bglist .colorbg{ position: absolute; right: 0; bottom: 0; height: calc(100% - 20px); width: calc(100% - 20px); z-index: 0; }
#mainv_index .imgbox .bglist .colorbg.red{ background: #e52612; }
#mainv_index .imgbox .bglist .colorbg.orange{ background: #f08437; }

#mainv_index .scrollbox{ position: absolute; top: 0; bottom: 0; margin-top: auto; margin-bottom: auto; right: 15px; display: flex; align-items: center; justify-content: center; padding-top: 200px; flex-direction: column; }
#mainv_index .scrollbox .scrolltxt{ font-size: 1.2rem; margin-bottom: 10px; color: #e52612; letter-spacing: 0.3em; font-weight: bold; }
#mainv_index .scrollbox .scrollicon{ width: 6px; height: 82px; position: relative; overflow: hidden; }
#mainv_index .scrollbox .scrollicon .line1{ background: url(../img/index/scroll.svg) no-repeat bottom center; background-size: 8px 86px; position: absolute; top: 0; bottom: 0; left: 0; right: 0; animation: 2s arrow-animation infinite cubic-bezier(0.25,0.46,0.45,0.94); }

#mainv_index .slick-arrow{ background: url(../img/common/arr1.svg) no-repeat center center, #e52612;background-size: 8px 14px; display: flex; align-items: center; justify-content: center; width: 42px; height: 42px; font-size: 0; box-sizing: border-box; min-width: auto; z-index: 1000; padding: 0; min-width: inherit }
#mainv_index .slick-arrow:hover{ background: url(../img/common/arr1.svg) no-repeat center center, #f08437;background-size: 8px 14px; }
#mainv_index .slick-prev.slick-arrow{ transform: rotate(180deg); position: absolute; bottom: 60px; right: 105px; }
#mainv_index .slick-next.slick-arrow{ position: absolute; bottom: 60px; right: 60px; }
@media screen and (max-width: 1200px){
	#mainv_index{ padding-top: 210px; }
	#mainv_index .mainbox .maincopy{ font-size: 9rem; top: -80px }
	#mainv_index .mainbox .copytxt1 { padding-top: 80px; }
}
@media screen and (max-width: 1040px){
	#mainv_index{ padding-top: 180px; min-height: 700px; padding-bottom: 60px; }
	#mainv_index .mainbox .maincopy{ font-size: 7rem; top: -60px }
	#mainv_index .mainbox .copytxt1 {  padding-top: 60px; right: 16%; }
	#mainv_index .mainbox .copytxt1>.inwrap{ font-size: 2.8rem; }
	#mainv_index .scrollbox{ display: none; }
}
@media screen and (max-width: 767px){
	#mainv_index{ padding-bottom: 35px; padding-top: 130px; min-height: auto; height: 560px; }
	#mainv_index .mainbox .maincopy{ font-size: 4.4rem; top: -35px; padding-right: 10px; }
	#mainv_index .mainbox .copytxt1 { padding-top: 0; right: 8%; }
	#mainv_index .mainbox .copytxt1>.inwrap{ font-size: 2.4rem; }
}
@media screen and (max-width: 639px){
	#mainv_index .mainbox .copytxt1>.inwrap{ font-size: 2rem; }
	#mainv_index .imgbox .bglist .slick-slide img._1{ object-position: 81%; font-family: 'object-fit: cover; object-position: 81%;'; }
	#mainv_index .imgbox .bglist .slick-slide img._2{ object-position: 68%; font-family: 'object-fit: cover; object-position: 68%;'; }
	#mainv_index .imgbox .bglist .slick-slide img._3{ object-position: 30%; font-family: 'object-fit: cover; object-position: 30%;'; }
}
@media screen and (max-width: 479px){
	#mainv_index{ padding-bottom: 25px; padding-top: 25px; height: 400px; }
	#mainv_index .mainbox .maincopy{ font-size: 3rem; top: -25px; }
}
@media screen and (max-width: 400px){
	#mainv_index .mainbox .maincopy{ font-size: 2.5rem; top: -15px; }
}
@keyframes arrow-animation {
  0% { height: 20px; }
  100% { height: 80px; }
}



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


main


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


#pankuzu { line-height: 1.4; padding-top: 25px; font-size: 1.6rem }
#pankuzu ol li { display:inline; }
#pankuzu ol li:after { content: " /"; padding-left: 7px; padding-right: 7px; }
#pankuzu ol li:last-child:after{ content: none }
#pankuzu ol li a{ text-decoration: none; }
#pankuzu ol li a:hover { opacity: 0.7; transition: 0.3s; }
@media screen and (max-width: 1040px){
	#pankuzu{ display: none; }
}


#maincnt{ 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; width: 100%; padding-top: 20px;  }
#maincnt .sectionwrap{ -webkit-flex: 1; -moz-flex: 1; -ms-flex: 1; -o-flex: 1; flex: 1; }
#maincnt #aside{ width: 260px; margin-left: 6%; flex-shrink: 0; }
#maincnt #aside .cssection{ margin-bottom: 60px; }
#maincnt #aside .cssection:last-child{ margin-bottom: 0; }
#maincnt #aside .cssection .cstitle{ margin-bottom: 15px; color: #045DA4; font-weight: bold; }
#maincnt #aside .cssection .categorylist>li{ margin-bottom: 10px; }
#maincnt #aside .cssection .categorylist>li:last-child{ margin-bottom: 0; }
#maincnt #aside .cssection .categorylist>li:before{ content: ""; background: url(../img/common/arr1_blue.svg); display: inline-block; width: 10px; height: 16px; margin-right: 10px; vertical-align: -2px; }
#maincnt #aside .cssection .categorylist>li>a{ text-decoration: none; }

#maincnt #aside .cssection .archiveselect select { font-size: 100%; height: 77px; padding: 10px 40px 10px 15px; background: url("../img/common/arr_select.svg") no-repeat 95% center, #f7f7f7; border: none !important; background-size: 16px 10px; width: 100%; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
@media screen and (max-width: 1040px){
	#maincnt{ display: block; padding-top: 0; }
	#maincnt #aside{ margin-top: 70px; margin-left: 0; width: 100%; }
	#maincnt #aside .cssection .categorylist{ -webkit-columns: 3; -moz-columns: 3; -o-columns: 3; columns: 3; }
}
@media screen and (max-width: 767px) { 
	#maincnt{ margin-bottom: 60px; }
	#maincnt #aside .cssection{ margin-bottom: 30px; }
	#maincnt #aside .cssection .categorylist{ -webkit-columns: 2; -moz-columns: 2; -o-columns: 2; columns: 2; }
}
@media screen and (max-width: 639px){
	#maincnt #aside .bloglist2>ul{ display: block; margin-left: 0; }
	#maincnt #aside .cssection .categorylist{ -webkit-columns: auto; -moz-columns: auto; -o-columns: auto; columns: auto; }

}


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


mainv


//////////////////*/
#mainv{ position: relative; }
#mainv>.inwrap{ background: #f0ebdf; padding-top: 160px; padding-bottom: 195px; min-height: 540px; box-sizing: border-box; display: flex; align-items: flex-end; justify-content: center; }
#mainv .pagetitlebox{ width: 100%; }
#mainv .pagetitlebox,
#mainv .pagetitlebox>.incnt{  }
#mainv .pagetitlebox>.incnt>.inwrap{ text-align: center;  position: relative; z-index: 3;  }
#mainv .pagetitlebox .enpagetitle{ font-size: 7.8rem; line-height: 1.2; color: #e52612; margin-bottom: 10px; }
#mainv .pagetitlebox .enpagetitle>span.mini{ font-size: 4.8rem; }
#mainv .pagetitlebox .jnpagetitle{ font-size: 2.3rem; font-weight: bold; color: #e52612; display: inline-block; padding-bottom: 20px; position: relative; z-index: 3; min-width: 60px }
#mainv .pagetitlebox .jnpagetitle:after{ content: ""; width: 20%; min-width: 60px; height: 4px; display: inline-block; position: absolute; bottom: 0; left: 0; right: 0; margin-left: auto; margin-right: auto; background: #e52612; }
#mainv .bgbox1{ padding-left: 4%; padding-right: 4%; position: absolute; bottom: -120px; left: 0; right: 0; width: 100%; box-sizing: border-box; }
#mainv .bgbox1>.inwrap{ padding-right: 20px; padding-bottom: 20px; position: relative; }
#mainv .bgbox1>.inwrap img{ position: relative; z-index: 2; object-fit: cover; font-family: 'object-fit: cover;'; display: block; width: 100%; height: 400px; }
#mainv .bgbox1>.inwrap:before{ content: ""; display: block; width: calc(100% - 20px); height: calc(100% - 20px); position: absolute; bottom: 0; right: 0; background: #e52612; z-index: 1; }
#mainvtxt{ padding-top: 80px; padding-bottom: 60px; margin-top: 120px; }
#mainvtxt.fwide{ padding-bottom: 80px; }
#mainvtxt .copytxt{ text-align: center; }
#mainvtxt .fukidashi{background-color:#F7D7D1;border-radius: 40px;margin-top: 60px;padding: 16px 25px;font-size: 2rem;font-weight: bold;text-align: center;position: relative;-webkit-filter: drop-shadow(0px 3px 3px #bfbebc); filter: drop-shadow(0px 3px 3px #bfbebc); line-height: 1.8;}
#mainvtxt .fukidashi span{ font-weight: bold; }
#mainvtxt .fukidashi::before{ content: ""; background: linear-gradient(to left top, transparent 50%, rgb(247, 215, 209) 51%) right top / 50% 100% no-repeat, linear-gradient(to right top, transparent 50%, rgb(247, 215, 209) 51%) left bottom / 50% 100% no-repeat; width: 16px; height: 16px; position: absolute; left: 0; right: 0; margin-left: auto; margin-right: auto; bottom: -16px; }
#mainv.left>.inwrap { padding-bottom: 80px;  }
#mainv.left .pagetitlebox>.incnt>.inwrap{ display: inline-block; }
#jsl #mainv .bgbox1>.inwrap>ul{ display: flex; flex-direction: row; }
#jsl #mainv .bgbox1>.inwrap>ul>li{ width: 33.33%; }
#jsl.jsl2026 #mainv .bgbox1>.inwrap>ul>li{ width: 50%; }
#jsl.jsl2026 #mainv .bgbox1>.inwrap>ul>li:first-child img{ object-position: 20% 50%;}
@media screen and (max-width: 1040px){
	#mainv>.inwrap{ padding-top: 140px; padding-bottom: 150px; min-height: 450px; }
	#mainv .pagetitlebox .enpagetitle{ font-size: 6.8rem; }
	#mainv .pagetitlebox .enpagetitle>span.mini{ font-size: 3.8rem; }
	#mainv .bgbox1>.inwrap img{ height: 350px; }
	#mainvtxt{ padding-top: 60px; padding-bottom: 40px; }
	#mainvtxt.fwide{ padding-bottom: 60px; }
}
@media screen and (max-width: 767px) { 
	#mainv>.inwrap{ padding-top: 120px; padding-bottom: 110px; min-height: 350px; }
	#mainv .pagetitlebox>.incnt>.inwrap{ padding-bottom: 10px; }
	#mainv.left .pagetitlebox>.incnt>.inwrap:after,
	#mainv .pagetitlebox>.incnt>.inwrap:after{ width: 140px; height: 2px; }
	#mainv .pagetitlebox .enpagetitle{ font-size: 5.5rem; margin-bottom: 5px; }
	#mainv .pagetitlebox .enpagetitle>span.mini{ font-size: 2.4rem; }
	#mainv .pagetitlebox .jnpagetitle{ font-size: 1.8rem; }
	#mainv .bgbox1{ padding-left: 6%; padding-right: 6%; }
	#mainv .bgbox1>.inwrap{ padding-right: 10px; padding-bottom: 10px; }
	#mainv .bgbox1>.inwrap img{ height: 300px; }
	#mainv .bgbox1>.inwrap:before{ width: calc(100% - 10px); height: calc(100% - 10px); }
	#mainvtxt{ padding-top: 50px; padding-bottom: 30px; }
	#mainvtxt.fwide{ padding-bottom: 50px; }
	#mainvtxt .fukidashi{ font-size: 1.8rem; }
	#mainv.left>.inwrap{ padding-bottom: 110px; }
	#mainv.left .pagetitlebox>.incnt>.inwrap{ text-align: center; display: block; }
	#mainv.left .pagetitlebox>.incnt>.inwrap:after{ right: 0; }
	#about.shop #mainv .bgbox1,
	#movie #mainv .bgbox1,
	#completecar:not(.flow) #mainv .bgbox1{ bottom: -60px }
	#movie #mainv+#mainvtxt,
	#completecar:not(.flow) #mainv+#mainvtxt{ padding-top: 0 }
}
@media screen and (max-width: 479px) { 
	#mainv>.inwrap{ padding-top: 20px; padding-bottom: 70px; min-height: 200px; }
	#mainv .pagetitlebox .enpagetitle{ font-size: 4rem; }
	#mainv .pagetitlebox .enpagetitle>span.mini{ font-size: 2rem; }
	#mainv .pagetitlebox .jnpagetitle{ font-size: 1.6rem; }
	#mainv .bgbox1>.inwrap img{ height: 250px; }
	#mainvtxt .copytxt{ text-align: left; }
	#mainvtxt .fukidashi{ font-size: 1.6rem; }
	#mainv.left>.inwrap{ padding-bottom: 70px; }
}




#mainv._partsarchive{  }
#mainv._partsarchive>.inwrap{ padding-bottom: 40px; min-height: auto; }
#mainv._partsarchive .pagetitlebox>.incnt>.inwrap{ text-align: left;  }
#mainv._partsarchive>.inwrap .pagetitlebox{  }
#mainv._partsarchive>.inwrap .pagetitlebox .jnpagetitle:after{ right: auto; }


#completecarmainv{  }
#completecarmainv .bg{ width: 100%; height: 600px; object-fit: cover; font-family: 'object-fit: cover;'; z-index: -1; }
#completecarmainv .pagetitlebox{ margin-top: -45px; }
#completecarmainv .pagetitlebox>.incnt{  }
#completecarmainv .pagetitlebox>.incnt>.inwrap{  }
#completecarmainv .enpagetitle{ font-weight: bold; font-style: italic; font-size: 6rem; line-height: 1.4; color: #e52612; text-align: center; margin-bottom: 10px; }
#completecarmainv .enpagetitle span{ font-weight: bold; }
#completecarmainv .jnpagetitle{ font-weight: bold; font-size: 1.8rem; text-align: center; margin-bottom: 30px; }
#completecarmainv .jnpagetitle span{ font-weight: bold; }
#completecarmainv .copytxt{  }
@media screen and (max-width: 1040px){
	#completecarmainv .bg{height: 400px; }
	#completecarmainv .pagetitlebox{ margin-top: -35px; }
	#completecarmainv .enpagetitle{ font-size: 5rem; }
}
@media screen and (max-width: 767px) { 
	#completecarmainv .bg{ height: 330px; }
	#completecarmainv .pagetitlebox{ margin-top: -25px; }
	#completecarmainv .enpagetitle{ font-size: 4rem; }
	#completecarmainv .jnpagetitle{ font-size: 1.6rem; }
	#mainv._partsarchive .pagetitlebox>.incnt>.inwrap{ text-align: center;  }
	#mainv._partsarchive>.inwrap{ padding-bottom: 0 }
	#mainv._partsarchive>.inwrap .pagetitlebox .jnpagetitle:after{ right: 0; }
}
@media screen and (max-width: 479px) { 
	#completecarmainv .bg{ height: 280px; }
	#completecarmainv .enpagetitle{ font-size: 3.6rem; }
}



@media screen and (max-width: 1040px){
}
@media screen and (max-width: 767px) { 
}
@media screen and (max-width: 479px) { 
}






#mainyoko{ background: #fff; padding: 60px 70px 220px; box-sizing: border-box; }
#mainyoko>.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; }
#mainyoko #sidecnt{ width: 23%; }
#mainyoko #sidecnt .scblock{ margin-bottom: 60px; }
#mainyoko #sidecnt .scblock .scblocktitle{ background: #e52612; width: 100%; margin-bottom: 20px; padding: 13px 6%; color: #fff; font-weight: bold; font-size: 1.8rem; line-height: 1.6; box-sizing: border-box; }
#mainyoko #sidecnt .scblock .scarchivelist{ margin-bottom: 10px; }
#mainyoko #sidecnt .scblock .scarchivelist>li{ padding-bottom: 13px; margin-bottom: 13px; border-bottom: 1px solid #d3d1d0; padding-left: 6%; padding-right: 6%; }
#mainyoko #sidecnt .scblock .scarchivelist>li:last-child{ margin-bottom: 0; }
#mainyoko #sidecnt .scblock .scarchivelist a{ text-decoration: none; letter-spacing: 0.05em; }
#mainyoko #content{ width: 68%; min-height: 500px; }
#mainyoko .pagenav{ margin-top: 60px; }
@media screen and (max-width: 1040px){

	#mainyoko{ padding: 40px 6% 60px; }
	#mainyoko>.inwrap{ display: block; }
	#mainyoko #content{ width: 100%; }
	#mainyoko #sidecnt{ width: 100%; margin-top: 50px; }
}



/* section */
#mainyoko+#mainyokoafter { margin-top: 100px; }
@media screen and (max-width: 1040px){
	#mainyoko+#mainyokoafter { display: none; }
}
@media screen and (max-width: 767px){
}



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


Footer


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



#underinstabox{  }
#underinstabox .titlebox{ margin-left: -15px; text-align: center; margin-bottom: 30px; }
#underinstabox .titlebox .icon{ width: 44px; height: 44px; display: inline-block; vertical-align: middle; margin-left: 10px; }
#underinstabox .titlebox .instatitle{ display: inline-block; vertical-align: middle; margin-left: 15px; font-weight: bold; font-size: 2.4rem; line-height: 1.4; }
#underinstabox .instabigtxt{ font-size: 1.8rem; text-align: center; font-weight: bold; margin-bottom: 15px; }
#underinstabox .instatxt{  }
@media screen and (max-width: 1040px){
	#underinstabox .titlebox .instatitle{ font-size: 2rem; }
}
@media screen and (max-width: 767px) { 
	#underinstabox .titlebox .icon{ width: 40px; height: 40px; }
	#underinstabox .titlebox .instatitle{ font-size: 1.8rem; }
	#underinstabox .instabigtxt{ font-size: 1.6rem; }
}
@media screen and (max-width: 639px){
	#underinstabox .instabigtxt{ text-align: left; }
}
@media screen and (max-width: 479px){
}



#undercontactinsec{ margin-top: 150px; padding-top: 150px; padding-bottom: 220px; background: transparent; position: relative; }
#undercontactinsec>.incnt{  }
#undercontactinsec>.incnt>.inwrap{ float: right; min-width: 40%; }
#undercontactinsec>.incnt>.inwrap .txtbox{  }
#undercontactinsec>.incnt>.inwrap .txtbox .maincopy{ font-size: 4.8rem; font-weight: bold; font-style: italic; color: #e52612; line-height: 1.4; margin-bottom: 30px; }
#undercontactinsec>.incnt>.inwrap .txtbox .copy{  }
#undercontactinsec>.incnt>.inwrap .txtbox .contactlist{ margin-left: -15px; margin-top: 15px; }
#undercontactinsec>.incnt>.inwrap .txtbox .contactlist>li{ display: inline-block; vertical-align: middle; margin-left: 10px; }
#undercontactinsec>.incnt>.inwrap .txtbox .contactlist>li>a{ text-decoration: none; }
#undercontactinsec>.incnt>.inwrap .txtbox .contactlist>li svg{ display: inline-block; vertical-align: middle; margin-left: 5px; }
#undercontactinsec>.incnt>.inwrap .txtbox .contactlist>li svg .st0{ transition: 0.3s }
#undercontactinsec>.incnt>.inwrap .txtbox .contactlist>li span{ display: inline-block; vertical-align: middle; margin-left: 5px; }
#undercontactinsec>.incnt>.inwrap .txtbox .contactlist>li._tel{  }
#undercontactinsec>.incnt>.inwrap .txtbox .contactlist>li._tel svg{ width: 22px; height: 20px; }
#undercontactinsec>.incnt>.inwrap .txtbox .contactlist>li._tel span{ font-size: 2.1rem; }
#undercontactinsec>.incnt>.inwrap .txtbox .contactlist>li._mail{  }
#undercontactinsec>.incnt>.inwrap .txtbox .contactlist>li._mail svg{ width: 18px; height: 16px; }
#undercontactinsec>.incnt>.inwrap .txtbox .contactlist>li._mail span{  }
#undercontactinsec>.incnt>.inwrap .txtbox .contactlist>li._access{ display: block; }
#undercontactinsec>.incnt>.inwrap .txtbox .contactlist>li._access svg{ width: 22px; height: 24px;  }
#undercontactinsec>.incnt>.inwrap .txtbox .contactlist>li._access span{ font-size: 1.8rem; }
#undercontactinsec>.incnt>.inwrap .txtbox .opentxt{ margin-top: 20px; font-size: 1.4rem; }
#undercontactinsec .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; }
@media screen and (max-width: 1040px){
	#undercontactinsec{ margin-top: 120px; padding-top: 120px; padding-bottom: 170px;  }
	#undercontactinsec>.incnt>.inwrap .txtbox .maincopy{ position: relative; z-index: 10; margin-top: -25px; font-size: 3.6rem; margin-bottom: 15px; }
}
@media screen and (max-width: 767px) { 
	#undercontactinsec{ margin-top: 100px; padding-top: 100px; padding-bottom: 100px;  }
	#undercontactinsec .bg{ opacity: 0.6; object-position: left center; }
	#undercontactinsec>.incnt>.inwrap{ float: none; min-width: 100%;  }
}
@media screen and (max-width: 479px) { 
	#undercontactinsec{ padding-top: 80px; padding-bottom: 80px; margin-top: 80px; }
	
}






#footer{ padding-top: 60px; background: #f0ebdf; }
#footer .footermain{  }
#footer .footermain>.incnt{  }
/*#footer .footermain>.incnt>.inwrap{ display: flex; flex-direction: row; justify-content: space-between; }*/
#footer .footermain .calenderbox{ margin-bottom: 60px }
#footer .footermain .calenderbox>.inwrap{ display: flex; flex-direction: row; justify-content: space-between; }
#footer .footermain .calenderbox .calendar{ width: 48% }
/*@media screen and (max-width: 1230px){
	#footer .footermain>.incnt>.inwrap{ display: block; }
	#footer .footermain .calenderbox{ width: 100%; }
}*/
@media screen and (max-width: 1040px){
	#footer .footermain{ padding-bottom: 60px; }
	#footer .footermain .calenderbox{ margin-bottom: 60px }
	#footer .footermain .calenderbox>.inwrap{ display: block; }
	#footer .footermain .calenderbox .calendar{ width: 100%; margin-bottom: 30px }
}
@media screen and (max-width: 767px) { 
}
@media screen and (max-width: 639px){
}
@media screen and (max-width: 479px){
}


#footer .footermain .mainbox{ /*width: 47.3%;*/ /*margin-right: 40px; */  }
#footer .footermain .mainbox>.inwrap{ display: flex; flex-direction: row; justify-content: space-between; align-items: center; }
#footer .footermain .mainbox>.inwrap .titlebox{ display: flex; flex-direction: column-reverse; margin-right: 4%; }
#footer .footermain .mainbox>.inwrap .addressbox{ display: flex; flex-direction: row; align-items: flex-end; }
#footer .footermain .mainbox .sitetitlebox{ 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; margin-left: -25px; /*margin-bottom: 45px;*/ }
#footer .footermain .mainbox .sitetitlebox .logo{ display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; margin-left: 25px; }
#footer .footermain .mainbox .sitetitlebox .logo a{ height: 100%; display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; }
#footer .footermain .mainbox .sitetitlebox .logo img{ width: 244px; }
#footer .footermain .mainbox .sitetitlebox .cap{ display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; margin-left: 25px; align-items: center; font-size: 1.5rem; }
#footer .footermain .mainbox .txt{ margin-bottom: 20px; letter-spacing: 0.05em; }
#footer .footermain .mainbox .accessbox{ letter-spacing: 0.1em; }
#footer .footermain .mainbox .accessbox .name{  }
#footer .footermain .mainbox .accessbox .access{  }
#footer .footermain .mainbox .accessbox .tellist{ margin-left: -20px; }
#footer .footermain .mainbox .accessbox .tellist>li{ display: inline-block; vertical-align: middle; margin-left: 20px; }
#footer .footermain .mainbox .accessbox .tellist>li a{ text-decoration: none; }
#footer .footermain .mainbox .accessbox .opentxt{  }
#footer .footermain .mainbox .snslist{ margin-top: 40px; margin-left: 0; }
#footer .footermain .mainbox .snslist>li{  }
/*@media screen and (max-width: 1400px){
	#footer .footermain .mainbox{ margin-right: 0; width: 55%; text-align: right; }
	#footer .footermain .mainbox>.inwrap{ display: inline-block; text-align: left; }
}*/
/*@media screen and (max-width: 1230px){
	#footer .footermain .mainbox{ width: 100%; margin-right: 0; margin-top: 50px; text-align: center; }
	#footer .footermain .mainbox .sitetitlebox,
	#footer .footermain .mainbox .snslist{ justify-content: center; }
	#footer .footermain .mainbox>.inwrap{ display: block; text-align: center; }
}*/
@media screen and (max-width: 1040px){
	#footer .footermain .mainbox .sitetitlebox{margin-bottom: 35px; }
	#footer .footermain .mainbox>.inwrap{ display: block; }
	#footer .footermain .mainbox>.inwrap .titlebox{ margin-right: 0; display: block; }
}
@media screen and (max-width: 767px) { 
	#footer .footermain .mainbox .sitetitlebox,
	#footer .footermain .mainbox .sitetitlebox .logo,
	#footer .footermain .mainbox .sitetitlebox .cap{ display: block; text-align: center; }
	#footer .footermain .mainbox .sitetitlebox .logo a{ display: inline-block; }
}
@media screen and (max-width: 639px){
}
@media screen and (max-width: 479px){
	#footer .footermain .mainbox{ text-align: left; }
	#footer .footermain .mainbox .sitetitlebox,
	#footer .footermain .mainbox .snslist{ justify-content: flex-start; }
	#footer .footermain .mainbox>.inwrap{ text-align: left; }
}

#footer #fnav{ background: #fbfaf7; padding-top: 50px; padding-bottom: 50px; margin-top: 70px; }
#footer #fnav .mainlist{ display: flex; flex-direction: row; margin-left: -40px; justify-content: center; }
#footer #fnav .mainlist>li{ margin-left: 40px; }
#footer #fnav .mainlist>li>.list{  }
#footer #fnav .mainlist>li>.list>li{  }
#footer #fnav .mainlist>li>.list>li>p{  }
#footer #fnav .mainlist>li>.list>li>p>a{ text-decoration: none }
#footer #fnav .mainlist>li>.list>li>p>a:hover{ color: #f08437; }
#footer #fnav .mainlist>li>.list>li>p+.sublist{  }
#footer #fnav .mainlist>li>.list>li>p+.sublist>li{  }
#footer #fnav .mainlist>li>.list>li>p+.sublist>li>a{ text-decoration: none }
#footer #fnav .mainlist>li>.list>li>p+.sublist>li>a:hover{ color: #f08437; }
@media screen and (max-width: 1040px){
	#footer #fnav{ display: none; }
}
@media screen and (max-width: 767px) { 
}
@media screen and (max-width: 639px){
}
@media screen and (max-width: 479px){
}

#footer #cr{ text-align: center; padding-top: 15px; padding-bottom: 15px; background: #e52612; color: #fff; letter-spacing: 0.1em; }
@media screen and (max-width: 1040px){
}
@media screen and (max-width: 767px) { 
}
@media screen and (max-width: 639px){
}
@media screen and (max-width: 479px){
}