/*margin-bottom*/
.mb05em{margin-bottom:.5em;}
.mb1em{margin-bottom:1em;}
.mb4_8{margin-bottom:var(--px4_8);}
.mb8_16{margin-bottom:var(--px8_16);}
.mb16_24{margin-bottom:var(--px16_24);}
.mb16_32{margin-bottom:var(--px16_32);}
.mb24_32{margin-bottom:var(--px24_32);}
.mb24_40{margin-bottom:var(--px24_40);}
.mb24_48{margin-bottom:var(--px24_48);}
.mb32_40{margin-bottom:var(--px32_40);}
.mb32_48{margin-bottom:var(--px32_48);}
.mb48_96{margin-bottom:var(--px48_96);}
.mb64_120{margin-bottom:var(--px64_120);}
.mb64_144{margin-bottom:var(--px64_144);}
@media only screen and (max-width:1023px){
    .mb64_192{margin-bottom:var(--px64_144);}
}
@media only screen and (min-width:1024px){
    .mb64_192{margin-bottom:var(--px64_192);}
}
@media only screen and (max-width:1023px){
    .mb_ajust01{margin-bottom:var(--max1023_px24_28);}
}
@media only screen and (min-width:1024px){
    .mb_ajust01{margin-bottom:var(--px24_40);}
}
@media only screen and (max-width:1023px){
    .mb_ajust02{margin-bottom:var(--max1023_px24_28);}
}
@media only screen and (min-width:1024px){
    .mb_ajust02{margin-bottom:var(--px32_48);}
}

/*padding*/
.p192{padding-top:var(--px64_144); padding-bottom:var(--px64_192);}
@media only screen and (max-width:1023px){
    .p168{padding-top:var(--px64_144); padding-bottom:var(--px64_144);}
    .p192{padding-top:var(--px64_144); padding-bottom:var(--px64_144);}
    .pb192{padding-bottom:var(--px64_144);}
}
@media only screen and (min-width:1024px){
    .p168{padding-top:var(--px64_168); padding-bottom:var(--px64_168);}
    .p192{padding-top:var(--px64_192); padding-bottom:var(--px64_192);}
    .pb192{padding-bottom:var(--px64_192);}
}

@media only screen and (max-width:1023px){
    .p_ajust01{padding-top:var(--px64_144); padding-bottom:var(--px64_144);}
}
@media only screen and (min-width:1024px){
    .p_ajust01{padding-top:var(--px64_192); padding-bottom:var(--px64_120);}
}
@media only screen and (max-width:1023px){
    .p_ajust02{padding-top:var(--px64_144); padding-bottom:var(--px64_144);}
}
@media only screen and (min-width:1024px){
    .p_ajust02{padding-top:var(--px64_192); padding-bottom:var(--px64_144);}
}

/*pat01*/
.pat01{width:100%; display:flex; flex-direction:column; flex-wrap:wrap; box-sizing:border-box; position:relative;}
@media only screen and (max-width:1023px){
    .pat01{padding-left:var(--contents01); padding-right:var(--contents01);}
}
@media only screen and (min-width:1024px){
    .pat01{width:90%; margin-left:5%;}
}
@media only screen and (min-width:1472px){
    .pat01{width:80%; margin-left:10%;}
}

/*pat02*/
.pat02{width:100%; display:flex; flex-direction:column; flex-wrap:wrap; box-sizing:border-box; position:relative;}
@media only screen and (max-width:1023px){
    .pat02{padding-left:var(--contents01); padding-right:var(--contents01);}
}
@media only screen and (min-width:1024px){
    .pat02{width:90%; margin-left:5%;}
}
@media only screen and (min-width:1472px){
    .pat02{width:70%; margin-left:15%;}
}

/*bg*/
.bg_wh{position:relative; vertical-align:middle;}
.bg_wh::before{content:""; display:inline-block; position:absolute; width:100%; height:100%; left:50%; top:0; transform:translate(-50%,0); z-index:-10; background:var(--wh);}

.bg_ch{position:relative; vertical-align:middle;}
.bg_ch::before{content:""; display:inline-block; position:absolute; width:100%; height:100%; left:50%; top:0; transform:translate(-50%,0); z-index:-10; background:var(--ch);}

/*hover_opacity*/
@media only screen and (min-width:1024px){
    .hover_opacity:hover{opacity:.75;}
}

/*img*/
.img_fluid{width:100%; height:auto; max-width:100%; vertical-align:bottom;}
.img_fit{object-fit:cover; width:100%; height:auto;}
@media only screen and (max-width:1023px){
    .img_fit{aspect-ratio:3/2;}
}
@media only screen and (min-width:1024px){
    .img_fit{aspect-ratio:3/2.2;}
}
@media only screen and (min-width:1472px){
    .img_fit{aspect-ratio:3/2;}
}

/*lead*/
.lead{display:flex; position:relative; box-sizing:border-box;}
.lead .main{font-weight:500;}

/*lead01*/
.lead01{justify-content:space-between; align-items:flex-start; width:clamp(2.5rem, 2.065rem + 1.93vw, 4.25rem)/*40_68*/;}
.lead01 .main,
.lead01 .sub{writing-mode:vertical-rl;}
.lead01 .main{font-size:var(--px20_40); line-height:1;}
.lead01 .sub{font-size:var(--px13_17);}
.lead01_wh .main,
.lead01_wh .sub{color:var(--wh);}

/*lead02*/
.lead02 .main{font-size:var(--px20_40); writing-mode:vertical-rl;}
.lead02_c{justify-content:center;}
.lead02_c .main{text-align:center;}
.lead02_wh .main{color:var(--wh);}

/*lead03*/
.lead03{flex-direction:column; align-items:flex-start;}
.lead03 .main{font-size:var(--px20_36); letter-spacing:0.05em;}
@media only screen and (max-width:1023px){
    .lead03 .main{line-height:1.3; margin-top:-0.15em; margin-bottom:-0.15em;}
    .lead03{align-items:center;}
}
@media only screen and (min-width:1024px){
    .lead03 .main{line-height:1.5; margin-top:-0.25em; margin-bottom:-0.25em;}
    .lead03{flex-direction:column; align-items:flex-start;}
}
@media only screen and (min-width:1024px){
    .lead03_yt .main{writing-mode:vertical-rl; text-align:left!important;}
}
@media only screen and (min-width:1696px){
    .lead03_yt .main{margin-bottom:0.1em;}
}

.lead03_c{align-items:center;}
.lead03_c .main{text-align:center;}
.lead03_c .arrow{margin-left:auto; margin-right:auto;}
.lead03_wh .main{color:var(--wh);}
.lead03_wh .arrow{background:var(--wh);}
@media only screen and (max-width:1023px){
    .lead03_cl{align-items:center;}
    .lead03_cl .main{text-align:center;}
}

/*lead04*/
.lead04 .main{font-size:var(--px20_40); line-height:1; writing-mode:vertical-rl;}
.lead04_wh .main{color:var(--wh);}
.lead04_c{justify-content:center;}

/*lead05*/
.lead05{align-items:center;}
.lead05 .main{font-size:var(--px20_36); letter-spacing:0.05em;}
@media only screen and (max-width:1023px){
    .lead05 .main{line-height:1.3; margin-top:-0.15em; margin-bottom:-0.15em;}
}
@media only screen and (min-width:1024px){
    .lead05 .main{line-height:1.5; margin-top:-0.25em; margin-bottom:-0.25em;}
}

/*lead06*/
.lead06{align-items:center;}
.lead06 .main{font-size:var(--px20_36); letter-spacing:0.05em;}
@media only screen and (max-width:1023px){
    .lead06 .main{line-height:1.3; margin-top:-0.15em; margin-bottom:-0.15em;}
}
@media only screen and (min-width:1024px){
    .lead06 .main{line-height:1.5; margin-top:-0.25em; margin-bottom:-0.25em;}
}
.lead06_c{justify-content:center;}

/*btn01*/
.btn01{width:auto; display:flex; justify-content:flex-start; align-items:center; box-sizing:border-box;}
.btn01_c{justify-content:center;}
.btn01 .main{line-height:1;}
.btn01 .arrow{width:var(--px16_24); background:var(--bk); height:1px; position:relative; margin-left:.5em;}
@media only screen and (min-width:1024px){
    .btn01 .arrow::after{content:""; display:inline-block; position:absolute; top:0; left:0; width:100%; height:1px; z-index:4; background:var(--bk_c); transform:scaleX(0); transform-origin:left top; transition:transform .3s ease, opacity .3s ease; pointer-events:none; backface-visibility:hidden;}
    .btn01:hover{opacity:.75;}
    .btn01:hover .arrow::after{transform:scaleX(1);}
}

/*btn02*/
.btn02{width:var(--btn_w); height:var(--btn_h); display:flex; justify-content:space-between; align-items:center; box-sizing:border-box; padding:0 1em; background:var(--ch); transition:background-color .3s ease, opacity .3s ease;}
.btn02 .main{line-height:1; color:var(--wh);}
.btn02 .arrow{width:var(--px16_24); background:var(--wh); height:1px; position:relative; margin-left:.5em;}
@media only screen and (min-width:1024px){
    .btn02:hover{background:var(--dg);}
}
.btn02_l{width:clamp(11.688rem, 11.361rem + 1.45vw, 13rem)/*187_208*/;}
@media only screen and (min-width:1024px){
    .btn02_lc{margin-left:auto; margin-right:auto;}
}

/*point*/
@media only screen and (max-width:374px){
    .point{display:none;}
}
@media only screen and (min-width:375px){
    .point{position:absolute; z-index:-9;}
}

.point_sakura{width:clamp(7rem, 5.26rem + 7.73vw, 14rem)/*112_224*/;}

/*anime_accent*/
.anime_accent{display:inline-block; animation-name:Anime_Accent; animation-timing-function:ease-in-out; animation-iteration-count:infinite; animation-direction:alternate; animation-duration:4s;}
@keyframes Anime_Accent{0%{transform:rotate(6deg); opacity:1;}50%{transform:rotate(-6deg); opacity:.5;}100%{transform:rotate(6deg); opacity:1;}}

/*etc*/
.ls0{letter-spacing:0;}
.en{line-height:1!important; white-space:nowrap; font-family:"Cormorant Infant", serif; font-weight:500;}
@media only screen and (min-width:1023px){
    .en{letter-spacing:0.1em!important;}
}
@media only screen and (min-width:1024px){
    .en{letter-spacing:0.2em!important;}
}
.ml-025em{margin-left:-.25em; font-size:inherit; letter-spacing:inherit; line-height:inherit;}
.ml-05em{margin-left:-.5em; font-size:inherit; letter-spacing:inherit; line-height:inherit;}
.mr-025em{margin-right:-.25em; font-size:inherit; letter-spacing:inherit; line-height:inherit;}
.mr-05em{margin-right:-.5em; font-size:inherit; letter-spacing:inherit; line-height:inherit;}
.space10{font-size:inherit; letter-spacing:inherit; line-height:inherit; width:1em; height:1em; content:""; display:inline-block;}
.space05{font-size:inherit; letter-spacing:inherit; line-height:inherit; width:.5em; height:.5em; content:""; display:inline-block;}
.relative{position:relative;}
.overflow_h{overflow:hidden;}
.note{padding-left:1.05em; text-indent:-1.05em; letter-spacing:inherit;}
@media only screen and (max-width:1023px){
	.note{line-height:1.8;}
}
@media only screen and (min-width:1024px){
	.note{line-height:2;}
}

@media only screen and (min-width:1024px){
    .anchor{margin-top:-48px; padding-top:48px; height:0;}
}
.vsc-controller,
#controller{display:none!important;}

/*table*/
.table{width:100%; box-sizing:border-box; border-collapse:collapse;}
.table th,
.table td{box-sizing:border-box; position:relative; vertical-align:middle!important;}
.table a{display:inline-block;}
@media only screen and (max-width:1023px){
	.table th,
	.table td{padding:.5em;}
    .table th,
	.table td,
    .table a,
	.table td span{line-height:1.8;}
}
@media only screen and (min-width:1024px){
	.table th,
	.table td{padding:1em 0;}
    .table th,
	.table td,
    .table a,
	.table td span{line-height:2; letter-spacing:0.05em;}
}

/*table01*/
.table01 th{background:var(--bk_a003);}
@media only screen and (max-width:1023px){
	.table01 tr{display:block; width:100%; border-top:1px solid var(--bk); border-bottom:1px solid var(--bk); margin-bottom:1em;}
	.table01 tr:last-of-type{margin-bottom:0;}
	.table01 th,
	.table01 td{width:100%; display:block;}
	.table01 th{border-bottom:1px solid var(--bk_d);}
}
@media only screen and (min-width:1024px){
	.table01 tr{display:flex; justify-content:space-between; border-bottom:1px solid var(--bk);}
	.table01 tr:first-of-type{border-top:1px solid var(--bk);}
    .table01 th{white-space:nowrap;}
	.table01 th{padding:1em 0 1em 1em;}
	.table01 td{padding:1em 0 1em 1em;}
}
@media only screen and (min-width:1024px){
    .table01.th01 th{width:12em;}
	.table01.th01 td{width:calc(100% - 12em);}
}

/*table02*/
@media only screen and (max-width:1023px){
    .table02 thead{display:none;}
	.table02{border-top:1px solid var(--bk); border-bottom:1px solid var(--bk);}
    .table02 tbody tr th{background:var(--bk_a003); width:7em;}
	.table02 tbody{border-bottom:1px solid var(--bk_d);}
	.table02 tbody:last-of-type{border-bottom:none;}
}
@media only screen and (min-width:1024px){
    .table02 thead{border-top:1px solid var(--bk);}
	.table02 tr{border-bottom:1px solid var(--bk);}
    .table02 thead tr th,
    .table02 tbody tr th,
    .table02 tbody tr td{text-align:center;}
    .table02 thead tr th,
    .table02 tbody tr th{background:var(--bk_a003);}
    
    .table02_2 thead tr th,
    .table02_2 tbody tr th,
    .table02_2 tbody tr td{width:50%;}
}

/*table03*/
.table03 .cate,
.table03 .main{display:inline-block; letter-spacing:inherit; line-height:inherit; color:inherit;}
.table03 .cate{box-sizing:border-box;}
@media only screen and (max-width:1023px){
	.table03 thead{display:none;}
	.table03 tr{display:flex; flex-direction:column; border-top:1px solid var(--bk); border-bottom:1px solid var(--bk); margin-bottom:1em;}
	.table03 tbody:last-of-type tr{margin-bottom:0;}
	.table03 tbody{display:flex; flex-direction:column;}
    .table03 th{background:var(--bk_a003); border-bottom:1px solid var(--bk_d);}
	.table03 td{padding:0; border-bottom:1px solid var(--bk_d);}
	.table04 td:last-of-type{border-bottom:none;}

    .table03 .cate{width:7em; background:var(--bk_a003); padding:.5em 0 .5em .5em;}
    .table03 .main{padding:.5em;}
}
@media only screen and (min-width:1024px){
    .table03 thead{border-top:1px solid var(--bk);}
	.table03 tr{border-bottom:1px solid var(--bk);}
    .table03 thead tr th,
    .table03 tbody tr td{text-align:center;}
    .table03 thead tr th,
    .table03 tbody tr th{background:var(--bk_a003);}
    .table03 .cate{display:none;}
    
    .table03_5 thead tr th,
    .table03_5 tbody tr th,
    .table03_5 tbody tr td{width:20%;}
    .table03_5 tbody tr th{text-align:left; padding:1em 0 1em 1em;}
}

/*table04*/
.table04 .cate,
.table04 .main{display:inline-block; letter-spacing:inherit; line-height:inherit; color:inherit;}
.table04 .cate{box-sizing:border-box;}
@media only screen and (max-width:1023px){
	.table04 thead{display:none;}
	.table04 tr{display:flex; flex-direction:column; border-top:1px solid var(--bk);}
	.table04 td{border-bottom:1px solid var(--bk_d);}
	.table04 td:last-of-type{border-bottom:none;}
	.table04 tbody:last-of-type tr{border-bottom:1px solid var(--bk);}
	.table04 tbody{display:flex; flex-direction:column;}
    .table04 th{background:var(--bk_a003);}
	.table04 td{padding:0;}
    .table04 .cate{width:7em; background:var(--bk_a003); padding:.5em 0 .5em .5em;}
    .table04 .main{padding:.5em;}
}
@media only screen and (min-width:1024px){
    .table04 thead{border-top:1px solid var(--bk);}
	.table04 tr{border-bottom:1px solid var(--bk);}
    .table04 thead tr th,
    .table04 tbody tr td{text-align:center;}
    .table04 thead tr th{background:var(--bk_a003);}
    .table04 .cate{display:none;}

    .table04_4 thead tr th,
    .table04_4 tbody tr td{width:25%;}
}
