@charset "UTF-8";
/* CSS Document */

@media screen and (min-width: 768px) and (max-width: 1399px){
	html {font-size: calc(100vw * 10 / 1400);
		text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	}
	
}

@media screen and (min-width: 1400px){
	html{
	font-size: 62.5%;
	font-size: 10px;
}
}
/*html{
	font-size: 62.5%;
	font-size: 10px;
}*/

html.is-fixed{
	height: 100%;
    overflow: hidden;
}

body {
	font-family:'Noto Sans JP', sans-serif,'Raleway',sans-serif,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'MSPゴシック','MS PGothic',sans-serif;
	font-weight: 300;
	line-height: 1.0;
	letter-spacing: 0;
	color: var(--text-color);
	font-size: 0;
	background-color: #FFF;
}


/**************************************************
 usually
**************************************************/
.clearFix:after{
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
	_zoom: 1;
}
*:first-child+html .clearFix:after{ zoom: 1; } /* IE7 */

/* align */
.flexbox {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
  -webkit-box-pack: justify;
   -ms-flex-pack: justify;
   justify-content: space-between;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
}

/* inner */
.inner{
	max-width: 1200px;
	margin: auto;
}

/* a img input */
a,a img,input[type="button"],
input[type="submit"],
input[type="reset"],
input[type="image"]{
	-webkit-transition: 0.2s ease-out;
	-moz-transition: 0.2s ease-out;
	-o-transition: 0.2s ease-out;
	-ms-transition: 0.2s ease-out;
}

a img:hover,
input[type="button"]:hover,
input[type="submit"]:hover,
input[type="reset"]:hover,
input[type="image"]:hover{
	filter:alpha(opacity=50);
	-moz-opacity: 0.5;
	opacity: 0.5;
}

/**************************************************
 common
**************************************************/
p,ol,table,ol,dl{
	padding: 1.6rem 0 0 0;
	font-size: 1.6rem;
	font-weight: normal;
	line-height: 1.5;
	color: var(--main-color);
}

ul li{
	/*margin: 0 0 0 20px;*/
	/*list-style: disc;*/
	list-style: none;
}

/* ol li{
	margin: 0 0 0 2.5px;
	list-style: decimal;
} */


table{
  border-collapse: separate;
  border-spacing: 0.1rem;
}

/* table th,table td{ padding: 1rem;} */
/*table th{ background-color: rgba(255,255,255,0.3);}
table td{ background-color: rgba(255,255,255,0.2);}*/

a{
	color: #000;
	text-decoration: none;
	outline:none;
	font-weight: var(--font-bold);
	line-height: 1.5;
}
a:hover{ color: #000;}

img{
	max-width: 100%;
	height: auto;
}
/* img[src$=".svg"] {width: 100%;} */

.smp{display: none;}


:root{
	--main-color: #422A16;
	--btn-color:#FF9238;
	--text-color: #333333;
	--border-color: #D9DEE6;
	--box-color:#F5EFF9;
	--max:104rem;
	--kani: "Kanit", sans-serif;
	--nojp: "Noto Sans JP", sans-serif;
	--font-bold:700;
}



.contentInner{
	max-width: 104rem;
	margin-inline: auto;
}

.wrapper{}

.content_box,.content_inner{
	max-width: 104rem;
	margin: 0 auto;
	padding-inline: 1.2rem;
}

.re{flex-direction: row-reverse;}

/**************************************************
link_btn
**************************************************/
.link_btn{margin-block-start: 12rem;}

.link_btn a{
	background-color: var(--btn-color);
	color: #fff;
	font-size: 4rem;
	padding-block: 3.2rem;
	border-radius: 280px;
	display: block;
	border: 0.5rem solid #fff;
	text-align: center;
}

.link_btn a span{
	display: block;
	font-size: 2.4rem;
	width: 42rem;
	margin-inline: auto;
	background-color: #fff;
	color: var(--btn-color);
	border-radius: 50px;
	margin-block-start: 0.8rem;
	transition: .2s;
}

.link_btn a:hover{
	background-color: #fff;
	color: var(--btn-color);
	border: 0.5rem solid var(--btn-color);
}

.link_btn a:hover span{
	background-color: var(--btn-color);
	color: #fff;
}



/**************************************************
 ctaHanger
**************************************************/
.ctaHanger{position: relative;overflow-x: clip;}

.ctaHanger::before{
	width: 68rem;
    height: 54rem;
    content: '';
    background: url(../img/cta/bg01_01.png) no-repeat center center;
    background-size: 100%;
    position: absolute;
    left: -7rem;
    top: -43rem;
    z-index: -1;
}

.ctaHanger::after{
	width: 51.2rem;
    height: 60.9rem;
    content: '';
    background: url(../img/cta/bg01_02.png) no-repeat center center;
    background-size: 100%;
    position: absolute;
    right: -10rem;
    top: -19rem;
    z-index: -1;
}

.cta_st2::before{
	width: 48.9rem;
    height: 63.4rem;
    content: '';
    background: url(../img/cta/bg02_01.png) no-repeat center center;
    background-size: 100%;
    position: absolute;
    left: -5rem;
    top: -25rem;
    z-index: -1;
}

.cta_st2::after{
	width: 66rem;
    height: 37rem;
    content: '';
    background: url(../img/cta/bg02_02.png) no-repeat center center;
    background-size: auto;
    position: absolute;
    right: -7rem;
    top: -23rem;
    z-index: -1;
}


/**************************************************
 header
**************************************************/
header{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 999;
}

.headerInner{
	padding-inline: 2.4rem;
	padding-block-start: 2.4rem;
	align-items: center;
}

h1{
	font-size: 1.6rem;
	align-items: center;
	font-weight: var(--font-bold);
	font-family: var(--zenkaku);
	position: relative;
	z-index: 9999;
}

h1 img{
	width: 21.5rem;
	margin-inline-end: 1.6rem;
}



/**************************************************
globalNavi
**************************************************/
#globalNavi ul{padding: 0;align-items: center;

}

#globalNavi ul li{
	margin-inline-end: 3.2rem;
}

#globalNavi ul li a{
	font-size: 1.6rem;
	color: var(--main-color);
	font-weight: var(--font-bold);
	display: block;
}

#globalNavi ul li:last-of-type a{
	width: 21.8rem;
	background-color: var(--btn-color);
	border: 0.1rem solid #fff;
	border-radius: 60px;
	padding-block: 1.6rem;
	text-align: center;
	color: #fff;
}

#globalNavi ul li:last-of-type a:hover{
	background-color: #fff;
	border: 0.1rem solid var(--btn-color);
	color: var(--btn-color);
}

/**************************************************
mainVisual
**************************************************/
.mainVisual{
	height: 100vh;
	background: url(../img/main/mv.jpg)no-repeat top center;
	background-size: cover;
	background-attachment: fixed;
	position: relative;
}

/* 1400px〜 */
@media screen and (min-width: 1400px) {
  .mainVisual {
    /* top を −10rem 上げる */
    background-position: center -15rem;
  }
}
/* 1800px〜 さらにずらしたいなら… */
@media screen and (min-width: 1800px) {
  .mainVisual {
    background-position: center -25rem;
  }
}
.mainVisual h2{
	width: 72.3rem;
	margin-inline: auto;
	padding-block-start: 10.4rem;
}


/**************************************************
slideHanger
**************************************************/

.slideHanger{
	position: relative;
}

.slideHanger::before{
	content: '';
	width: 100%;
	height: 63rem;
	background: url(../img/main/main_bg.png)no-repeat top center;
	background-size: 100%;
	position: absolute;
	left: 0;
	top: -32rem;
}

.sli_st2{margin-block-start: 12rem;}

.sli_st2::before{content: none;}

/* 1400px〜 */
@media screen and (min-width: 1400px) {
  .slideHanger::before{

	top: -37rem;
}
}
/* 1800px〜 さらにずらしたいなら… */
@media screen and (min-width: 1800px) {
  .slideHanger::before{
	top: -42rem;
}
}
.swiper-wrapper {
  transition-timing-function: linear;
}
/* 画像のサイズ調整 */
.swiper-slide img {
  height: 32rem;
  width: 93%;
  border: 0.5rem solid #fff;
  border-radius: 32px;
  object-fit: cover;
}

.slideHanger .st1{
	position: relative;
	top: -9rem;
}


/**************************************************
aboutHanger
**************************************************/
.aboutHanger{
	position: relative;
	margin-block-start: -24rem;
	background: url(../img/about/bg.jpg)no-repeat top center;
	background-size: cover;
	padding-block-end: 12rem;
}


.aboutInner{
	padding-block-start: 24rem;
	text-align: center;
	position: relative;
}

.aboutHanger h2{
	font-size: 4rem;
	font-weight: 900;
	color: var(--main-color);
	line-height: 1.6;
}

.aboutHanger .aboutInner > p{
	font-size: 2.4rem;
	padding-block-start: 3.2rem;
	line-height: 1.8;
}

/**************************************************
scheduleHanger
**************************************************/
.scheduleHanger{
	padding-block: 8rem 0rem;
}


.scheduleHanger h2{
	font-size: 4rem;
	text-align: center;
	font-weight: 900;
	color: var(--main-color);
}

.scheduleHanger h2 span{
	font-size: 2.4rem;
	font-family: var(--kani);
	color: var(--btn-color);
	display: block;
	margin-block-start: 1.6rem;
	font-weight:  700;
}

.sch_image{margin-block-start: 4rem;}

.sch_categroy{
	margin-block-start:7.2rem ;
}

.sch_categroy nav ul{padding: 0;}

.sch_categroy nav ul li{
	width: calc(100% / 3 - 1.6rem);
	display: block;
	background-color: #C4C4C4;
	color: #fff;
	font-size: 2.4rem;
	padding-block: 1.2rem;
	font-weight: var(--font-bold);
	text-align: center;
	cursor: pointer;
	border-radius: 16px 16px 0 0;
	transition: .2s;
}

.sch_categroy nav ul li:nth-of-type(2),.sch_categroy nav ul li:nth-of-type(3){pointer-events: none;}

.sch_categroy nav ul li:hover,.sch_categroy nav ul li.cur{background-color: #309D4A;}

.sch_categroy nav ul li small{font-size: 1.4rem;padding-inline-start: 0.4rem;}

.sch_cat_cont{
	padding-block: 6.4rem;
	padding-inline: 6.4rem;
	border: 0.5rem solid #309D4A;
	border-radius: 0 0 24px 24px;
	display: none;
	background-color: #fff;
}

.cat_item{margin-block-end: 4rem;}

.cat_item_img{width: 32rem;}

.cat_item_img img{border: 0.1rem solid #C4C4C4;
	border-radius: 8px;}

.cat_item_img p{font-size: 1.4rem;text-align: center;}

.cat_item_txt{
	width: 60%;
}

.cat_item_txt h3{
	font-size: 3.2rem;
	color: var(--main-color);
	font-weight: 900;
}

.cat_item_txt h3 span{
	display: inline-block;
	font-size: 1.6rem;
	background-color: #FFE100;
	padding-block: 0.4rem;
	padding-inline: 1.6rem;
	line-height: 1.4;
	border-radius: 50px;
}

.cat_item_txt h3 strong{
	display: block;
	line-height: 1.4;
	margin-block-start: 1.2rem;
}

.cat_item_txt > ul:first-of-type{padding: 0;margin-block-start: 2rem;justify-content: flex-start;}

.cat_item_txt > ul:first-of-type li{
	margin-inline-end: 1.6rem;
	font-size: 1.6rem;
	color: var(--main-color);
	font-weight: 900;
}
.cat_item_txt > ul:first-of-type li:last-of-type{margin-inline-end: 0;}

.cat_item_txt > ul:first-of-type li span{
	background-color: var(--main-color);
	color: #fff;
	padding-block: 0.4rem;
	padding-inline: 1.6rem;
	border-radius: 4px;
	margin-inline-end: 0.8rem;
	font-weight: var(--font-bold);
}

.cat_item_txt > ul:last-of-type{
	margin-block-start: 2rem;
	padding: 0;
}

.cat_item_txt > ul:last-of-type li{
	font-size: 1.6rem;
	line-height: 1.6;
	font-weight: 400;
	color: var(--main-color);
}

.cat_present{
	padding-inline: 4rem;
	padding-block: 3.6rem 4rem;
	background-color: #FFF9CC;
	border-radius: 24px;
	align-items: center;
}

.pre_item_txt,.pre_item_img{width: 48%;}

.pre_item_img img{border-radius: 8px;}

.pre_item_txt h3{
	font-size: 2.4rem;
	color: var(--main-color);
	font-weight: 900;
}

.pre_item_txt h3 span{
	display: inline-block;
	font-size: 1.6rem;
	background-color: #FFE100;
	padding-block: 0.4rem;
	padding-inline: 1.6rem;
	line-height: 1.4;
	border-radius: 50px;
}

.pre_item_txt h3 strong{
	display: block;
	line-height: 1.4;
	margin-block-start: 1.2rem;
}

.pre_item_txt p{color: var(--main-color);}

.pre_item_txt p small{font-size: 1.4rem;display: block;margin-block-start: 0.8rem;}

/**************************************************
flowHanger
**************************************************/

.flowHanger{margin-block-start: 12rem;}

.flowHanger h2{
	font-size: 4rem;
	text-align: center;
	font-weight: 900;
	color: var(--main-color);
}

.flowHanger h2 span{
	font-size: 2.4rem;
	font-family: var(--kani);
	color: var(--btn-color);
	display: block;
	margin-block-start: 1.6rem;
	font-weight:  700;
}

.flow_item{
	max-width: var(--max);
	margin-inline: auto;
	border: 0.3rem solid var(--main-color);
	border-radius: 16px;
	text-align: center;
	margin-block-start: 6.4rem;
	background-color: #fff;
}

.flow_item h3{
	font-size: 1.6rem;
	color: #fff;
	background-color: var(--main-color);
	padding-block: 1.4rem;
	padding-inline: 4.2rem;
	display: inline-flex;
	justify-content: center;
	border-radius: 0 0 20px 20px;
	line-height: 1.5;
}

.flow_item ul{padding: 0;margin-block-start: 3.2rem}

.flow_item ul li{
	position: relative;
	margin-block-end: 6rem;
}

.flow_item ul li::before{
	content: '';
	width: 3rem;
	height: 1.2rem;
	background: url(../img/arrow.svg)no-repeat center center;
	background-size: 100%;
	position: absolute;
	left: 50%;
	transform: translate(-50%,0);
	bottom: -4rem;
}

.flow_item ul li:last-of-type::before{content: none;}

.flow_item ul li h4{
	font-size: 2.4rem;
	color: var(--main-color);
	font-weight: 900;
}

.flow_item ul li h4 span{
	font-family: var(--kani);
	font-size: 1.6rem;
	color: var(--btn-color);
	display: block;
	margin-block-end: 0.8rem;
	font-weight: 700;
}

.flow_item ul li a{
	width: 23rem;
	margin-inline: auto;
	display: block;
	background-color: var(--btn-color);
	color: #fff;
	font-size: 1.6rem;
	padding-block:0.8rem;
	padding-inline: 4rem;
	border-radius: 50px;
	margin-top: 1.6rem;
	border: 0.1rem solid var(--btn-color);
}

.flow_item ul li a:hover{
	background-color: #fff;
	color: var(--btn-color);
}

/**************************************************
 inquiryHanger
**************************************************/
.inquiryHanger{
	margin-block-start: 12rem;
}

.inquiryHanger h2{
	font-size: 4rem;
	text-align: center;
	font-weight: 900;
	color: var(--main-color);
}

.inquiryHanger h2 span{
	font-size: 2.4rem;
	font-family: var(--kani);
	color: var(--btn-color);
	display: block;
	margin-block-start: 1.6rem;
	font-weight:  700;
}

.inquiry_list{margin-block-start: 4rem;}

.inq_list_item{
	width: 48%;
}

.inquiry_list .inq_list_item:first-of-type,
.inquiry_list .inq_list_item:nth-of-type(2){
	margin-block-end: 5.6rem;
}

.inq_list_item h3{
	font-size: 2.4rem;
	font-weight: 900;
	color:var(--main-color);
	position: relative;
}

.inq_list_item h3::before{
	width: 85%;
	height: 0.4rem;
	content: '';
	background: #FFE100;
	position: absolute;
	top: 50%;
	transform: translate(0%,-50%);
	right: 0;
}

.inq_list_item dl{
	padding-block: 1.6rem;
	border-bottom: 0.1rem solid #707070;
	font-size: 1.6rem;
	color: var(--main-color);
}

.inq_list_item dl:first-of-type{padding-block-start: 2.4rem;}

.inq_list_item dl dt{
	width: 25%;
	padding-inline-start: 2.4rem;
	font-weight: 900;
}

.inq_list_item dl dd{width: 75%;}

/**************************************************
footer
**************************************************/
footer{
	margin-block-start: 12rem;
	padding-block: 3.6rem;
	background-color: var(--main-color);
}

.footerInner{
	max-width: var(--max);
	margin-inline: auto;
}

.footerInner p{color: #fff;}

.footerInner p:first-of-type{
	font-size: 1.6rem;
}

.footerInner p:last-of-type{font-size: 1.2rem;}



/**************************************************
 fade
**************************************************/

/* .copy_item p,.centerHanger ul li{
	opacity: 0;
	visibility: hidden;
	transition: 2s;
}

.copy_item p.appear,.centerHanger ul li.appear{
	opacity: 1;
	visibility: visible;
} */
/* 
.mainVisual h2{
	opacity: 0;
	visibility: hidden;
	transition: .7s;
}

.main_information,
#globalNavi,
.main_scroll,
.playHanger,
.copy_item p,
#story,
.storyHanger::before{
	opacity: 0;
	visibility: hidden;
	transition: 1s;
}

.main_scroll{transition: 3s;}

.mainVisual h2.show,
.main_information.show,
#globalNavi.show,
.main_scroll.show,
.playHanger.show,
.copy_item p.show,
#story.show,
.storyHanger.show::before{
	opacity: 1;
	visibility: visible;
}

.storyHanger.show::before{opacity: 0.4;}

#globalNavi.show{transition-delay: 1s;}

.main_information.show{transition-delay: 1.1s;}

.playHanger.show{transition-delay: 1.1s;}

.main_scroll.show{transition-delay: 2s;} */