/* Scroll motion */
@media only screen and (min-width:1024px){
    .move_left, .move_right{translate:var(--parallax-x, 0px) 0;}
}

/*margin-bottom*/
.mb025em{margin-bottom:.25em;}
.mb05em{margin-bottom:.5em;}
.mb1em{margin-bottom:1em;}
.mb8_16{margin-bottom:var(--px8_16);}
.mb8_24{margin-bottom:var(--px8_24);}
.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_64{margin-bottom:var(--px48_64);}
.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_168,
    .mb64_192,
    .mb80_224{margin-bottom:var(--px64_144);}
}
@media only screen and (min-width:1024px){
    .mb64_168{margin-bottom:var(--px64_168);}
    .mb64_192{margin-bottom:var(--px64_192);}
    .mb80_224{margin-bottom:var(--px80_224);}
}
@media only screen and (max-width:1023px){
    .mb_ajust01{margin-bottom:var(--px24_40);}
    .mb_ajust02{margin-bottom:var(--max1023_px24_28);}
    .mb_ajust03{margin-bottom:var(--px32_48);}
    .mb_ajust04{margin-bottom:clamp(3.5rem, 2.381rem + 4.97vw, 8rem)/*56_128*/;}
    .mb_ajust05{margin-bottom:var(--max1023_px24_28);}
    .mb_ajust06{display:none;}
    .mb_ajust07{margin-bottom:var(--px24_32);}
    .mb_ajust08{margin-bottom:var(--px24_32);}
    .mb_ajust09{margin-bottom:var(--px64_144);}
    .mb_ajust10{margin-bottom:var(--px48_64);}
    .mb_ajust11{margin-bottom:1em;}
    .mb_ajust12{margin-bottom:var(--px16_24);}
}
@media only screen and (min-width:1024px){
    .mb_ajust01{margin-bottom:var(--px48_64);}
    .mb_ajust02{margin-bottom:var(--px32_48);}
    .mb_ajust03{margin-bottom:var(--px48_64);}
    .mb_ajust04{margin-bottom:var(--px64_144);}
    .mb_ajust05{margin-bottom:var(--px48_64);}
    .mb_ajust06{margin-bottom:var(--px48_64);}
    .mb_ajust07{margin-bottom:var(--px32_40);}
    .mb_ajust08{margin-bottom:56px;}
    .mb_ajust09{margin-bottom:var(--px48_96);}
    .mb_ajust10{margin-bottom:var(--px64_120);}
    .mb_ajust11{margin-bottom:1em;}
    .mb_ajust12{margin-bottom:var(--px24_32);}
}

/*padding*/
.p96{padding-top:var(--px48_96); padding-bottom:var(--px48_96);}
.p144{padding-top:var(--px64_144); padding-bottom:var(--px64_144);}
@media only screen and (max-width:1023px){
    .p168,
    .p192,
    .p224,
    .p_ajust01,
    .p_ajust02{padding-top:var(--px64_144); 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);}
    .p224{padding-top:var(--px80_224); padding-bottom:var(--px80_224);}
    .p_ajust01{padding-top:var(--px80_224); padding-bottom:var(--px64_192);}
    .p_ajust02{padding-top:var(--px64_192); padding-bottom:var(--px80_224);}
}

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

/*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;}
}

/*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;}
}

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

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

/*lead_border*/
.lead_border{width:100%; height:1px; background:var(--ivo);}
@media only screen and (min-width:1024px){
    html.fade-enabled .fa03 .lead_border{width:0; transition:width 1.5s cubic-bezier(.22,1,.36,1);}
    html.fade-enabled .fa03 .lead_border.visible{width:100%;}
}
@media (prefers-reduced-motion:reduce), print{
    html.fade-enabled .fa03 .lead_border{width:100%; transition:none;}
}

/*lead01*/
.lead01{flex-direction:column; align-items:flex-start;}
.lead01 .main{font-size:var(--px20_44); line-height:1.6; margin-top:-.3em; margin-bottom:-.3em;}
.lead01 .sub{display:flex; align-items:center; margin-top:var(--px8_24);}
.lead01 .sub .inner{font-size:var(--px16_32); color:var(--lbr);}
.lead01 .sub .arrow{background:var(--ivo); height:1px; width:var(--px32_64); margin-left:.5em;}
@media only screen and (max-width:1023px){
    .lead01 .sub .arrow{display:none;}
    .lead01_add01{align-items:center;}
    .lead01_add01 .main,
    .lead01_add01 .sub{text-align:center;}
}

/*lead02*/
.lead02{flex-direction:column; align-items:center;}
.lead02 .main{font-size:var(--px20_44); line-height:1.6; margin-top:-.3em; margin-bottom:-.3em;}
.lead02 .sub{display:flex; align-items:center; margin-top:var(--px8_24);}
.lead02 .sub .inner{font-size:var(--px16_32); color:var(--lbr);}

/*lead03*/
.lead03 .main{font-size:var(--px20_40); line-height:1.6; margin-top:-.3em; margin-bottom:-.3em;}
@media only screen and (min-width:1024px){
    .lead03_lc{justify-content:center;}
    .lead03_lc .main{text-align:center;}
}

/*lead04*/
.lead04 .main{font-size:var(--px19_32); line-height:1.6; margin-top:-.3em; margin-bottom:-.3em;}

/*lead05*/
.lead05{justify-content:center;}
.lead05 .main{font-size:clamp(1.188rem, 0.923rem + 1.17vw, 2.25rem)/*19_36*/; line-height:1.6; margin-top:-.3em; margin-bottom:-.3em; text-align:center;}

/*lead06*/
.lead06{align-items:center;}
.lead06::after{content:""; display:inline-block; height:1px; flex-grow:1; background:var(--ivo); margin-left:.75em;}
@media only screen and (max-width:374px){
    .lead06::after{display:none;}
}
html.fade-enabled .lead06::after{transform:scaleX(0); transform-origin:left center; transition:transform 1.5s cubic-bezier(.22,1,.36,1);}
html.fade-enabled .lead06.visible::after{transform:scaleX(1);}
@media (prefers-reduced-motion:reduce), print{
    html.fade-enabled .lead06::after{transform:none; transition:none;}
}
.lead06 .main{font-size:var(--px19_32); line-height:1.6; margin-top:-.3em; margin-bottom:-.3em;}
.lead06 .icon{width:var(--px24_32); margin-left:.5em; display:flex; align-items:center;}
.lead06 .icon_ajust01{width:var(--px32_40);}

.lead06_ajust01::after{display:none;}

/*bgo*/
@media only screen and (min-width:1024px) and (prefers-reduced-motion:no-preference){
    .bgo.move_down, .bgo.move_left, .bgo.move_right{opacity:var(--bgo-opacity, 1);}
}
@media only screen and (min-width:375px) and (prefers-reduced-motion:no-preference){
    .bgo.move_down > img, .bgo.move_left > img, .bgo.move_right > img{animation:bgo_rotate 20s linear infinite; animation-play-state:paused; transform-origin:center;}
    .bgo.is-bgo-rotation-visible > img{animation-play-state:running;}
}
@keyframes bgo_rotate{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}
@media only screen and (max-width:374px){
    .bgo{display:none;}
}
@media only screen and (min-width:375px){
    .bgo{position:absolute; display:inline-block; z-index:-1; width:var(--bgo);}
}
@media only screen and (min-width:1024px){
    .bgo.move_down{translate:0 var(--parallax-y, 0px);}
    .bgo.move_left, .bgo.move_right{translate:var(--parallax-x, 0px) 0;}
}

@media only screen and (max-width:1023px){
    .bgo_lt,
    .bgo_lb,
    .bgo_rt,
    .bgo_rb{right:0; bottom:0; transform:translate(25%,50%);}
}
@media only screen and (min-width:1024px){
    .bgo_lt{left:0; top:0; transform:translate(-25%,-50%);}
    .bgo_lb{left:0; bottom:0; transform:translate(-25%,50%);}
    .bgo_rt{right:0; top:0; transform:translate(25%,-50%);}
    .bgo_rb{right:0; bottom:0; transform:translate(25%,50%);}
    .bgo_rb_ajust01{transform:translate(25%,75%);}
}

/*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;}
.btn01 .main{line-height:1; color:var(--wh); letter-spacing:0;}
.btn01 .arrow{width:var(--arrow); 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.25em;}
}
.btn01_s{width:var(--btn02_w);}
.btn01_bk .main{color:var(--bk);}

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

/*separate_line*/
.separate_line{display:block; width:var(--px80_224); height:1px; margin-left:auto; margin-right:auto; background:var(--ivo);}
@media only screen and (min-width:1024px){
    .separate_line{transform-origin:center; transition:transform 2s cubic-bezier(.22,1,.36,1), opacity 2s ease;}
    html.fade-enabled .separate_line{transform:rotate(-90deg); opacity:0;}
    html.fade-enabled .separate_line.visible{transform:rotate(0deg); opacity:1;}
}
@media (prefers-reduced-motion:reduce), print{
    html.fade-enabled .separate_line{transform:none; opacity:1; transition:none;}
}

/*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:.75em 0;}
}
@media only screen and (min-width:1024px){
	.table th,
	.table td{padding:1em 0;}
}

/*table01*/
@media only screen and (max-width:1023px){
	.table01 th{padding:.75em;}
	.table01 td{padding:.75em;}
}
@media only screen and (max-width:1023px){
    .table01 tr:first-of-type{border-top:1px solid var(--ivo);}
	.table01 tr{display:block; width:100%; border-bottom:1px solid var(--ivo);}
	.table01 tbody:last-of-type tr:last-of-type{margin-bottom:0; width:100%;}
	.table01 th{background:var(--bk_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(--ivo);}
	.table01 tr:first-of-type{border-top:1px solid var(--ivo);}
	.table01 tr:last-of-type{border-bottom:1px solid var(--ivo);}
	.table01 th{white-space:nowrap;}
	.table01 th{padding:1em 0 1em 0;}
	.table01 td{padding:1em 0 1em 1em;}
}
@media only screen and (min-width:1024px){
    .table01.th01 th{width:10em;}
	.table01.th01 td{width:calc(100% - 10em);}
}

/*table02*/
@media only screen and (max-width:1023px){
    .table02 tr:first-of-type{border-top:1px solid var(--ivo);}
	.table02 tr{display:block; width:100%;}
	.table02 th,
	.table02 td{width:100%; display:block;}
}
@media only screen and (min-width:1024px){
	.table02 tr{display:flex; justify-content:space-between;}
	.table02 th{white-space:nowrap;}
	.table02 th,
	.table02 td{padding:1em 0 1em 1em;}
}
@media only screen and (max-width:1023px){
	.table02 th{padding-bottom:0; font-size:clamp(1rem, 0.864rem + 0.6vw, 1.25rem)/*16_20*/;}
	.table02 td{padding:0;}
}
@media only screen and (min-width:1024px){
    .table02.th01{border-top:1px solid var(--ivo);}
    .table02.th01 th{width:12em;}
	.table02.th01 td{width:calc(100% - 12em);}
	.table02.th01 th{padding:1em 0 0 1.75em;}
	.table02.th01 td{padding:1em 0 0 1em;}
}

/*etc*/
.lbr{color:var(--lbr);}
.en{font-family:"Cormorant Infant", serif; line-height:1;}
.ls0{letter-spacing:0;}
.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;}

.lead_border, .desc_border{margin-top:var(--px16_24); margin-bottom:var(--px8_16);}

/* Image shutter reveal */
.shutter_down{position:relative; width:100%;}
@media only screen and (min-width:1024px) and (prefers-reduced-motion:no-preference){
    .shutter_down.is-shutter-ready::after{content:""; position:absolute; inset:-1px; z-index:3; background:var(--pbe); pointer-events:none; transform:scaleY(1); transform-origin:center bottom; transition:transform 1s cubic-bezier(.65,0,.35,1);}
    .shutter_down.is-shutter-ready.is-shutter-visible::after{transform:scaleY(0);}
    .shutter_down.shutter_down_wh.is-shutter-ready::after{background:var(--wh);}
}

/*slider01*/
.slider01{width:100%; display:block; box-sizing:border-box; position:relative;}
.slider01{overflow:hidden; touch-action:pan-y;}
.slider01_track{width:100%; min-width:0; display:grid; grid-template-columns:minmax(0, 1fr);}
.slider01_slide{width:100%; min-width:0; grid-area:1 / 1; opacity:0; pointer-events:none; transition:opacity .8s ease;}
.slider01_slide:first-child{opacity:1;}
.slider01.is-slider-ready .slider01_slide{opacity:0;}
.slider01 .slider01_slide.is-active{opacity:1; pointer-events:auto; z-index:1;}
.slider01_slide > img{width:100%; display:block; object-fit:cover;}
.slider01_prev, .slider01_next{position:absolute; top:var(--slider01-arrow-top, 50%); transform:translateY(-50%); z-index:2; display:flex; align-items:center; justify-content:center; width:48px; height:64px; padding:12px; border:0; background:transparent; cursor:pointer; transition:opacity .3s ease;}
.slider01_prev{left:clamp(.25rem, 2vw, 2rem);}
.slider01_next{right:clamp(.25rem, 2vw, 2rem);}
.slider01_prev img, .slider01_next img{width:var(--px24_40); height:auto; max-width:none; flex-shrink:0;}
.slider01_prev:focus-visible, .slider01_next:focus-visible{outline:2px solid var(--wh); outline-offset:-2px;}
@media (prefers-reduced-motion:reduce){
    .slider01_slide{transition:none;}
}
@media only screen and (min-width:1024px){
    .slider01_prev:hover, .slider01_next:hover{opacity:.75;}
}

    
