/*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);}
.mb24_64{margin-bottom:var(--px24_64);}
.mb32_40{margin-bottom:var(--px32_40);}
.mb32_48{margin-bottom:var(--px32_48);}
.mb48_96{margin-bottom:var(--px48_96);}
.mb64_144{margin-bottom:var(--px64_144);}
.mb64_168{margin-bottom:var(--px64_192);}
.mb64_192{margin-bottom:var(--px64_192);}
@media only screen and (max-width:1023px){
    .mb_ajust01{margin-bottom:var(--px24_48);}
}
@media only screen and (min-width:1024px){
    .mb_ajust01{margin-bottom:var(--px40_80);}
}
@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(--px40_80);}
}
@media only screen and (max-width:1023px){
    .mb_ajust03{margin-bottom:var(--px64_192);}
}
@media only screen and (min-width:1024px){
    .mb_ajust03{margin-bottom:clamp(4rem, 1.762rem + 9.94vw, 13rem)/*64_208*/;}
}
@media only screen and (max-width:1023px){
    .mb_ajust04{margin-bottom:var(--px16_24);}
}
@media only screen and (min-width:1024px){
    .mb_ajust04{margin-bottom:var(--px24_32);}
}
@media only screen and (max-width:1023px){
    .mb_ajust05{margin-bottom:var(--max1023_px24_28);}
}
@media only screen and (min-width:1024px){
    .mb_ajust05{margin-bottom:var(--px48_96);}
}
@media only screen and (max-width:1023px){
    .mb_ajust06{margin-bottom:var(--max1023_px24_28);}
}
@media only screen and (min-width:1024px){
    .mb_ajust06{margin-bottom:var(--px24_40);}
}
@media only screen and (max-width:1023px){
    .mb_ajust07{margin-bottom:var(--px48_96);}
}
@media only screen and (min-width:1024px){
    .mb_ajust07{margin-bottom:var(--px24_48);}
}
@media only screen and (max-width:1023px){
    .mb_ajust08{margin-bottom:var(--px48_96);}
}
@media only screen and (min-width:1024px){
    .mb_ajust08{margin-bottom:var(--px48_64);}
}

/*padding*/
.p144{padding-top:var(--px64_144); padding-bottom:var(--px64_144);}
.p168{padding-top:var(--px64_192); padding-bottom:var(--px64_192);}
.p192{padding-top:var(--px64_192); padding-bottom:var(--px64_192);}
.pt192{padding-top:var(--px64_192);}
.p_ajust01{padding-top:var(--px64_192); padding-bottom:var(--px64_144);}
.p_ajust02{padding-top:var(--px64_144); padding-bottom:var(--px64_192);}
.p_ajust03{padding-top:var(--px64_144); padding-bottom:var(--px48_96);}

/*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:75%; margin-left:12.5%;}
}

/*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:75%; margin-left:12.5%;}
}

@media only screen and (max-width:1023px){
    .pat02 .illust06{display:none;}
}
@media only screen and (min-width:1024px){
    .pat02 .illust06{left:0; top:50%; transform:translate(0%,-40%);}
    .pat02 .illust06 .img_fluid{transform:scale(-1,1);} 
}
@media only screen and (min-width:1472px){
    .pat02 .illust06{transform:translate(0%,-40%);}
}

/*pat03*/
.pat03{width:100%; display:flex; flex-direction:column; flex-wrap:wrap; box-sizing:border-box; position:relative;}
@media only screen and (max-width:1023px){
    .pat03{padding-left:var(--contents01); padding-right:var(--contents01);}
}
@media only screen and (min-width:1024px){
    .pat03{width:90%; margin-left:5%;}
}
@media only screen and (min-width:1472px){
    .pat03{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_be{position:relative; vertical-align:middle;}
.bg_be::before{content:""; display:inline-block; position:absolute; width:100%; height:100%; left:50%; top:0; transform:translate(-50%,0); z-index:-10; background:var(--be);}

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

.bg01{position:relative; vertical-align:middle;}
.bg01::before{content:""; display:inline-block; position:absolute; width:100%; height:100%; left:50%; top:0; transform:translate(-50%,0); z-index:-10; background:url("../img/parts/bg01.gif") repeat-y left top / var(--px720_1920) auto;}

.bg02{position:relative; vertical-align:middle;}
.bg02::before{content:""; display:inline-block; position:absolute; width:100%; height:100%; left:50%; top:0; transform:translate(-50%,0); z-index:-10; background:url("../img/parts/bg02.gif") repeat-y left top / var(--px720_1920) auto;}

/*hover_yoko*/
@media only screen and (min-width:1024px){
    .hover_yoko{position:relative;}
    .hover_yoko::after{content:''; position:absolute; top:0; right:0; width:0; height:100%; z-index:-1; transition:all .5s ease; pointer-events:none;}
    .hover_yoko:hover::after{left:0; width:100%;}
    .hover_yoko_wh_a01::after{background:var(--wh_a01);}
    .hover_yoko_wh::after{background:var(--wh);}
    .hover_yoko_bk_a01::after{background:var(--bk_a01);}
    .hover_yoko_bk_a005::after{background:var(--bk_a005);}
}

/*hover_translate*/
.hover_translateX,
.hover_translateY{transition:all .3s ease;}
@media only screen and (min-width:1024px){
    .hover_translateX:hover{transform:translateX(4px);}
    .hover_translateY:hover{transform:translateY(2px);}
}

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

/*hover_brightness*/
.hover_brightness{transition:all .3s ease!important;}
@media only screen and (min-width:1024px){
    .hover_brightness:hover{filter:brightness(0.6);}
}

/*img*/
.img_fluid{width:100%; height:auto; max-width:100%; vertical-align:bottom;}
.img_height{width:auto; height:100%; max-height:100%;}
.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;}
}
.img_radius{border-radius:var(--px8_16);}

/*lead*/
.lead{display:flex; position:relative; box-sizing:border-box;}
.lead .main{font-weight:500;}
@media only screen and (max-width:1023px){
    .lead .main{line-height:1.3; margin-top:-.15em; margin-bottom:-.15em;}
}
@media only screen and (min-width:1024px){
    .lead .main{line-height:1.5; margin-top:-.25em; margin-bottom:-.25em;}
}

/*lead01*/
.lead01_c{justify-content:center;}
.lead01 .img_lead01{height:clamp(2.875rem, 2.409rem + 2.07vw, 4.75rem)/*46_76*/;}
.lead01 .img_lead02{height:clamp(3rem, 2.503rem + 2.21vw, 5rem)/*48_80*/;}
.lead01 .img_lead03{height:clamp(5.125rem, 4.286rem + 3.73vw, 8.5rem)/*82_136*/;}
.lead01 .img_lead04{height:clamp(3.688rem, 3.081rem + 2.69vw, 6.125rem)/*59_98*/;}

@media only screen and (max-width:1023px){
    .lead01_ajust01{justify-content:center;}
}
@media only screen and (min-width:1024px){
    .lead01_ajust01{justify-content:flex-start;}
}

/*lead02*/
.lead02{align-items:center;}
.lead02 .main{font-size:var(--px18_28); line-height:1;}
.lead02 .sub{line-height:1;}
.lead02_c{justify-content:center;}
@media only screen and (max-width:575px){
    .lead02{flex-direction:column;} 
    .lead02 .main{margin-bottom:var(--px8_16);}
}

/*lead03*/
.lead03 .main{font-size:var(--px18_28); line-height:1;}
.lead03_c{justify-content:center;}

/*lead04*/
.lead04{align-items:center;}
.lead04::after{content:""; display:inline-block; flex-grow:1; background:var(--dbl); height:1px; margin-left:.75em;}
.lead04 .icon{width:var(--px32_40); margin-right:.5em;}
.lead04 .main{font-size:var(--px18_28); line-height:1.5; margin-top:-.25em; margin-bottom:-.25em;}

/*lead05*/
.lead05 .main::before{content:"【"; margin-left:-.5em; display:inline-block;}
.lead05 .main::after{content:"】"; display:inline-block;}
.lead05 .sub{margin-left:-.5em; display:inline-block;}
@media only screen and (max-width:1023px){
    .lead05{flex-direction:column; align-items:flex-start;}
}
@media only screen and (min-width:1024px){
    .lead05{align-items:center;}
}

/*lead_border*/
.lead_border{background:var(--dbl); height:1px; width:100%;}
@media only screen and (max-width:1023px){
    .lead_border{margin:1.25em 0 .5em;}
}
@media only screen and (min-width:1024px){
    .lead_border{margin:2em 0 1.25em;}
}

/*btn01*/
.btn01{width:var(--btn01_w); height:var(--btn01_h); display:flex; justify-content:space-between; align-items:center; box-sizing:border-box; position:relative; overflow:hidden; border-radius:9999px;}
.btn01_s{width:var(--btn02_w);}
.btn01_c{justify-content:center;}
.btn01 .main{color:var(--wh); line-height:1;}
.btn01 .arrow{width:var(--px6_8); display:flex; align-items:center;}
@media only screen and (max-width:1023px){
    .btn01{padding:0 1em;}
}
@media only screen and (min-width:1024px){
    .btn01{padding:0 1.5em;}
}

.btn01_l{width:clamp(12rem, 11.254rem + 3.31vw, 15rem)/*192_240*/;}
.btn01_ll{width:clamp(14.375rem, 13.474rem + 4.01vw, 18rem)/*230_288*/;}

.btn01_ajust01{margin-left:auto; margin-right:auto;}

@media only screen and (max-width:1023px){
    .btn01_ajust02{margin-left:auto; margin-right:auto;}
}

/*genre*/
.genre{width:100%; display:flex; align-items:center;}
.genre .title{display:inline-block; box-sizing:border-box; padding:.5em .75em; margin-right:.75em; color:var(--wh); overflow:hidden; border-radius:9999px; line-height:1;}
@media only screen and (max-width:1023px){
    .genre{justify-content:flex-start;}
}
@media only screen and (min-width:1024px){
    .genre{justify-content:center;}
}

/*caption*/
.caption{position:absolute; display:flex; flex-direction:column; align-items:center;}
.caption .main{font-size:clamp(0.813rem, 0.735rem + 0.35vw, 1.125rem)/*13_18*/; line-height:1; writing-mode:vertical-rl;}
.caption .arrow{width:1px; background:var(--dbl);}
@media only screen and (max-width:1023px){
    .caption_lb,
    .caption_rb{left:0; bottom:0; transform:translate(-125%,-.5em);}
    .caption .arrow{margin-top:.25em; height:8px;}
}
@media only screen and (min-width:1024px){
    .caption_lb{left:0; bottom:0; transform:translate(-150%,-1em);}
    .caption_rb{right:0; bottom:0; transform:translate(150%,-1em);}
    .caption .arrow{margin-top:.5em; height:16px;}
}

/*point*/
@media only screen and (max-width:374px){
    .illust,
    .point{display:none;}
}
@media only screen and (min-width:375px){
    .illust,
    .point{pointer-events:none; position:absolute; display:inline-block;}
}

/*tree*/
.tree_space{position:relative; width:100%;}
.point_tree01{width:clamp(4.813rem, 3.026rem + 7.94vw, 12rem)/*77_192*/;}
.point_tree02{width:clamp(6.938rem, 4.343rem + 11.53vw, 17.375rem)/*111_278*/;}
.point_tree03{width:clamp(2.938rem, 1.85rem + 4.83vw, 7.313rem)/*47_117*/;}

.point_tree01_lt{z-index:3; left:0; top:0;}
.point_tree01_lt img{transform:scale(-1,1);}
.point_tree01_rt{z-index:3; right:0; top:0;}
.point_tree01_lb{z-index:3; left:0; bottom:0;}
.point_tree01_lb img{transform:scale(-1,1);}
.point_tree01_rb{z-index:3; right:0; bottom:0;}
@media only screen and (max-width:1023px){
    .point_tree01_lt{transform:translate(-25%,-40%);}
    .point_tree01_rt{transform:translate(25%,-40%);}
    .point_tree01_lb{transform:translate(-25%,40%);}
    .point_tree01_rb{transform:translate(25%,40%);}
}
@media only screen and (min-width:1024px){
    .point_tree01_lt{transform:translate(-20%,-40%);}
    .point_tree01_rt{transform:translate(20%,-40%);}
    .point_tree01_lb{transform:translate(-20%,40%);}
    .point_tree01_rb{transform:translate(20%,40%);}
}
@media only screen and (min-width:1472px){
    .point_tree01_lt{transform:translate(-50%,-40%);}
    .point_tree01_rt{transform:translate(50%,-40%);}
    .point_tree01_lb{transform:translate(-50%,40%);}
    .point_tree01_rb{transform:translate(50%,40%);}
}

@media only screen and (max-width:1023px){
    .point_tree02_l{left:var(--contents01); top:50%; transform:translate(0,-50%);}
    .point_tree02_r{right:var(--contents01); top:50%; transform:translate(0,-50%);}
}
@media only screen and (min-width:1024px){
    .point_tree02_l,
    .point_tree02_r{display:none;}
}

.point_tree03_lt{z-index:3; left:0; top:0;}
.point_tree03_rt{z-index:3; right:0; top:0;}
.point_tree03_rt img{transform:scale(-1,1);}
.point_tree03_lb{z-index:3; left:0; bottom:0;}
.point_tree03_lb img{transform:scale(-1,1);}
.point_tree03_rb{z-index:3; right:0; bottom:0;}
@media only screen and (max-width:1023px){
    .point_tree03_lt{transform:translate(-20%,-35%);}
    .point_tree03_rt{transform:translate(20%,-35%);}
    .point_tree03_lb{transform:translate(-20%,35%);}
    .point_tree03_rb{transform:translate(20%,35%);}
}
@media only screen and (min-width:1024px){
    .point_tree03_lt{transform:translate(-15%,-35%);}
    .point_tree03_rt{transform:translate(15%,-35%);}
    .point_tree03_lb{transform:translate(-15%,35%);}
    .point_tree03_rb{transform:translate(15%,35%);}
}
@media only screen and (min-width:1472px){
    .point_tree03_lt{transform:translate(-45%,-35%);}
    .point_tree03_rt{transform:translate(45%,-35%);}
    .point_tree03_lb{transform:translate(-45%,35%);}
    .point_tree03_rb{transform:translate(45%,35%);}
}

.illust00{width:clamp(6.375rem, 4.79rem + 7.04vw, 12.75rem)/*102_204*/;}
.illust01{width:clamp(6rem, 4.508rem + 6.63vw, 12rem)/*96_192*/;}
.illust02{width:clamp(12.875rem, 9.674rem + 14.23vw, 25.75rem)/*206_412*/;}
.illust03{width:clamp(9rem, 6.762rem + 9.94vw, 18rem)/*144_288*/;}
.illust04{width:clamp(9rem, 6.762rem + 9.94vw, 18rem)/*144_288*/;}
.illust06{width:clamp(12.313rem, 9.251rem + 13.6vw, 24.625rem)/*197_394*/;}
.illust07{width:clamp(12.875rem, 9.674rem + 14.23vw, 25.75rem)/*206_412*/;}
.illust08{width:clamp(11.813rem, 8.876rem + 13.05vw, 23.625rem)/*189_378*/;}
.illust09{width:clamp(12.875rem, 9.674rem + 14.23vw, 25.75rem)/*206_412*/;}
.illust10{width:clamp(11.25rem, 8.453rem + 12.43vw, 22.5rem)/*180_360*/;}
.illust11{width:clamp(9.75rem, 7.326rem + 10.77vw, 19.5rem)/*156_312*/;}
.illust12{width:clamp(4.688rem, 3.522rem + 5.18vw, 9.375rem)/*75_150*/;}
.illust13{width:clamp(3.125rem, 2.348rem + 3.45vw, 6.25rem)/*50_100*/;}

/*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; font-size:var(--px15_18);}
.table a,
.table .add,
.table .inner{display:inline-block;}
.table .add{display:flex;}
.table .inner01{width:1em;}
.table .inner02{width:calc(100% - 1em);}
@media only screen and (max-width:1023px){
	.table th,
	.table td{padding:.5em 0;}
    .table th,
	.table td,
    .table a,
	.table td span,
    .table .add,
    .table .inner{line-height:1.5;}
}
@media only screen and (min-width:1024px){
	.table th{padding:.75em 0 .75em 0;}
	.table td{padding:.75em 0 .75em .85em;}
    .table th,
	.table td,
    .table a,
	.table td span,
    .table .add,
    .table .inner{line-height:1.8; letter-spacing:0.05em;}
}

/*table01*/
@media only screen and (max-width:1023px){
    .table01 tr:first-of-type{border-top:1px solid var(--dbl);}
	.table01 tr{display:block; width:100%; border-bottom:1px solid var(--dbl);}
	.table01 tbody:last-of-type tr:last-of-type{margin-bottom:0; width:100%;}
	.table01 th{background:var(--dbl_a005);}
	.table01 th,
	.table01 td{width:100%; display:block;}
}
@media only screen and (min-width:1024px){
	.table01 tr{display:flex; justify-content:space-between; border-bottom:1px solid var(--dbl);}
	.table01 tr:first-of-type{border-top:1px solid var(--dbl);}
    .table01 th{white-space:nowrap; border-right:1px solid var(--dbl);}
}
@media only screen and (min-width:1024px){
    .table01.th01 th{width:12em;}
	.table01.th01 td{width:calc(100% - 12em);}
}
@media only screen and (min-width:1024px){
    .table01_ajust01{width:clamp(42.5rem, 35.969rem + 10.2vw, 47.5rem)/*680_760*/;}
}

/*etc*/
.red{color:var(--red); display:inline-block; font-size:inherit; letter-spacing:inherit; line-height:inherit;}
.ls0{letter-spacing:0;}
.ls003{letter-spacing:0.03;}
.ml-025em{margin-left:-.25em; font-size:inherit; letter-spacing:inherit;}
.ml-05em{margin-left:-.5em; font-size:inherit; letter-spacing:inherit;}
.ml-10em{margin-left:-1em; font-size:inherit; letter-spacing:inherit;}
.mr-025em{margin-right:-.25em; font-size:inherit; letter-spacing:inherit;}
.mr-05em{margin-right:-.5em; font-size:inherit; letter-spacing: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; width:100%;}
.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.5;}
}
@media only screen and (min-width:1024px){
    .anchor{margin-top:-48px; padding-top:48px; height:0;}
}
.vsc-controller,
#controller{display:none!important;}
