/*margin-bottom*/
.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_96{margin-bottom:var(--px48_96);}
.mb64_144{margin-bottom:var(--px64_144);}
.mb64_192{margin-bottom:var(--px64_192);}
@media only screen and (max-width:1023px){
    .mb_ajust01{margin-bottom:var(--px24_40);}
}
@media only screen and (min-width:1024px){
    .mb_ajust01{margin-bottom:var(--px40_56);}
}
@media only screen and (max-width:1023px){
    .mb_ajust02{margin-bottom:var(--px24_40);}
}
@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(--px40_56);}
}
@media only screen and (min-width:1024px){
    .mb_ajust03{margin-bottom:var(--px40_80);}
}
@media only screen and (max-width:1023px){
    .mb_ajust04{margin-bottom:var(--px64_144);}
}
@media only screen and (min-width:1024px){
    .mb_ajust04{margin-bottom:clamp(5rem, 2.514rem + 11.05vw, 15rem)/*80_240*/;}
}
@media only screen and (max-width:1023px){
    .mb_ajust05{margin-bottom:var(--px64_144);}
}
@media only screen and (min-width:1024px){
    .mb_ajust05{margin-bottom:clamp(6rem, 3.017rem + 13.26vw, 18rem)/*96_288*/;}
}
@media only screen and (max-width:1023px){
    .mb_ajust06{margin-bottom:var(--px64_144);}
}
@media only screen and (min-width:1024px){
    .mb_ajust06{margin-bottom:var(--px64_120);}
}
@media only screen and (max-width:1023px){
    .mb_ajust07{margin-bottom:var(--px40_56);}
}
@media only screen and (min-width:1024px){
    .mb_ajust07{margin-bottom:var(--px48_96);}
}
@media only screen and (max-width:1023px){
    .mb_ajust08{margin-bottom:var(--px16_32);}
}
@media only screen and (min-width:1024px){
    .mb_ajust08{margin-bottom:var(--px24_40);}
}
@media only screen and (max-width:1023px){
    .mb_ajust09{margin-bottom:var(--max1023_px24_28);}
}
@media only screen and (min-width:1024px){
    .mb_ajust09{margin-bottom:var(--px24_40);}
}
@media only screen and (max-width:1023px){
    .mb_ajust10{margin-bottom:var(--px40_80);}
}
@media only screen and (min-width:1024px){
    .mb_ajust10{margin-bottom:var(--px48_96);}
}

/*padding*/
.p96{padding-top:var(--px48_96); padding-bottom:var(--px48_96);}
@media only screen and (max-width:1023px){
    .p192{padding-top:var(--px64_144); padding-bottom:var(--px64_144);}
    .pt192{padding-top:var(--px64_144);}
    .p_ajust01{padding-top:var(--px64_144); padding-bottom:var(--px64_144);}
}
@media only screen and (min-width:1024px){
    .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);}
}

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

/*bgo*/
.bgo{background:url("../img/parts/bg01.jpg") no-repeat center center / var(--px720_1920) auto; height:var(--bgo_h); position:absolute; z-index:-11;}
@media only screen and (max-width:1023px){
    .bgo{width:100%;}
    .bgo_t,
    .bgo_c{top:0;}
    .bgo_b{bottom:0;}
    .bgo_l,
    .bgo_r{left:0;}
}
@media only screen and (min-width:1024px){
    .bgo_t{top:0;}
    .bgo_c{top:50%; transform:translate(0,-50%);}
    .bgo_b{bottom:0;}
    .bgo_l{left:0;}
    .bgo_r{right:0;}
    .bgo{width:95%;}
}
@media only screen and (max-width:1023px){
    .bgo_aj01,
    .bgo_aj03,
    .bgo_aj04{display:none;}
}
@media only screen and (min-width:1024px){
    .bgo_aj01{width:45%;}
    .bgo_aj03{width:35%;}
    .bgo_aj04{width:27.5%;}
}
@media only screen and (max-width:1471px){
    .bgo_aj02{display:none;}
}
@media only screen and (min-width:1472px){
    .bgo_aj02{width:27.5%; top:0;;}
}
@media only screen and (max-width:1023px){
    .bgo_aj05,
    .bgo_aj06{display:none;}
}
@media only screen and (min-width:1024px){
    .bgo_aj05{width:27.5%; top:28.75%;}
    .bgo_aj06{width:27.5%; top:0;}
}
@media only screen and (max-width:1023px){
    .bgo_aj07{display:none;}
}
@media only screen and (min-width:1024px){
    .bgo_aj07{width:32.5%;}
}
@media only screen and (max-width:1023px){
    .bgo_aj08{display:none;}
}
@media only screen and (min-width:1024px){
    .bgo_aj08{width:25%; transform:translate(0,-25%);}
}
@media only screen and (max-width:1023px){
    .bgo_aj09{display:none;}
}
@media only screen and (min-width:1024px){
    .bgo_aj09{width:25%;}
}

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

@media only screen and (min-width:1024px){
    .min1024_bg_wh{position:relative; vertical-align:middle;}
    .min1024_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_bk{position:relative; vertical-align:middle;}
.bg_bk::before{content:""; display:inline-block; position:absolute; width:100%; height:100%; left:50%; top:0; transform:translate(-50%,0); z-index:-10; background:var(--bk);}

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

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

.bg_bgo{position:relative; vertical-align:middle;}
.bg_bgo::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.jpg") no-repeat center center / 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_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{width:100%; 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.5; margin-top:-.25em; margin-bottom:-.25em;}
}
@media only screen and (min-width:1024px){
    .lead .main{line-height:1.5; margin-top:-.25em; margin-bottom:-.25em;}
}

/*lead_wh*/
.lead_wh .main,
.lead_wh .sub{color:var(--wh);}
@media only screen and (min-width:1024px){
    .lead_wh_pc .main,
    .lead_wh_pc .sub{color:var(--wh);}
}

/*lead01*/
.lead01{flex-direction:column; align-items:flex-start;}
.lead01 .sub{font-size:var(--px32_72); letter-spacing:0.03em; margin-bottom:var(--px6_8);}
.lead01 .main{font-size:var(--px20_32);}

.lead01_ajust01 .sub{margin-bottom:var(--px12_18);}

.lead01_c{align-items:center;}
.lead01_c .main,
.lead01_c .sub{text-align:center;}
@media only screen and (max-width:1023px){
    .lead01_cl{align-items:center;}
    .lead01_cl .main,
    .lead01_cl .sub{text-align:center;}
}

/*lead02*/
.lead02 .main{font-size:var(--px20_32);}
.lead02_c{justify-content:center;}
.lead02_c .main,
.lead02_c .sub{text-align:center;}
@media only screen and (max-width:1023px){
    .lead02_cl{justify-content:center;}
    .lead02_cl .main,
    .lead02_cl .sub{text-align:center;}
}

/*lead03*/
.lead03 .main{font-size:var(--px18_24);}
.lead03_c{justify-content:center;}
.lead03_c .main{text-align:center;}
@media only screen and (min-width:500px) and (max-width:1023px){
    .lead03 .br_ajust01{display:none;}
}
@media only screen and (min-width:1472px){
    .lead03 .br_ajust01{display:none;}
}

/*lead04*/
.lead04{flex-direction:column; align-items:flex-start;}
.lead04 .sub{letter-spacing:0.03em; margin-bottom:var(--px6_8);}
.lead04 .main{font-size:var(--px20_32);}
@media only screen and (max-width:1023px){
    .lead04 .sub{font-size:var(--px32_72);}
}
@media only screen and (min-width:1024px){
    .lead04 .sub{font-size:var(--px40_56);}
}

.lead04_ajust01 .sub{margin-bottom:var(--px12_18);}

.lead04_c{align-items:center;}
.lead04_c .main,
.lead04_c .sub{text-align:center;}
@media only screen and (max-width:1023px){
    .lead04_cl{align-items:center;}
    .lead04_cl .main,
    .lead04_cl .sub{text-align:center;}
}

/*lead05*/
.lead05{align-items:center;}
.lead05 .icon{width:var(--px32_40); margin-right:.5em;}
.lead05 .main{font-size:var(--px18_24);}

/*lead06*/
.lead06{justify-content:center; align-items:center;}
.lead06 .main{font-size:var(--px20_32); text-align:center;}
.lead06::before,
.lead06::after{content:""; display:inline-block; flex-grow:1; height:1; background:var(--bk);}
.lead06::before{margin-right:1em;}
.lead06::after{margin-left:1em;}

/*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; padding:0 1em;}
.btn01 .main{line-height:1; color:var(--wh);}
.btn01 .arrow{width:var(--px16_24); background:var(--wh); height:1px;}
.btn01_c{margin-left:auto; margin-right:auto;}

/*caption*/
.caption{position:absolute; font-size:clamp(0.813rem, 0.75rem + 0.28vw, 1.063rem)/*13_17*/; writing-mode:vertical-rl; display:inline-block;}
@media only screen and (max-width:1023px){
    .caption_l,
    .caption_r{right:0; transform:translate(150%,0);}
    .caption_t,
    .caption_b{bottom:0;}
}
@media only screen and (min-width:1024px){
    .caption_l{left:0; transform:translate(-150%,0);}
    .caption_r{right:0; transform:translate(150%,0);}
    .caption_t{top:0;}
    .caption_b{bottom:0;}
}
@media only screen and (max-width:1023px){
    .caption_ajust01{bottom:0;}
}
@media only screen and (min-width:1024px) and (max-width:1695px){
    .caption_ajust01{top:0;}
}
@media only screen and (min-width:1696px){
    .caption_ajust01{bottom:0;}
}

/*car*/
.car{display:flex; align-items:center; margin-bottom:.5em;}
.car .icon{content:""; display:inline-block; width:var(--px24_32); height:var(--px24_32); background:url("../img/parts/icon_car.svg") no-repeat center center / cover; margin-right:.5em;}

/*area*/
.area{display:flex; background:var(--wh); box-sizing:border-box; position:absolute; z-index:2;}
.area .main{display:inline-block; font-size:var(--px16_24); line-height:1;}
@media only screen and (max-width:1023px){
    .area{left:0; top:var(--px16_24); padding:.5em;}
}
@media only screen and (min-width:1024px){
    .area{left:0; top:var(--px24_32); padding:1em;}
}

/*btn_menu*/
.btn_menu{width:100%; display:flex; flex-wrap:wrap; box-sizing:border-box; position:relative;}
.btn_menu .box{height:var(--btn01_h); display:flex; justify-content:space-between; align-items:center; box-sizing:border-box; position:relative; padding:0 1em;}
.btn_menu .box .main{line-height:1; color:var(--bk);}
.btn_menu .box .arrow{width:clamp(0.875rem, 0.844rem + 0.14vw, 1rem)/*14_16*/;}
@media only screen and (max-width:575px){
    .btn_menu{flex-direction:column;}
    .btn_menu .box{width:100%;}
    .btn_menu .box01{margin-bottom:var(--px24_32);}
}
@media only screen and (min-width:576px){
    .btn_menu{justify-content:center;}
    .btn_menu .box{width:clamp(12.5rem, 10.747rem + 4.87vw, 16.25rem)/*200_260*/;}
    .btn_menu .box01{margin-right:var(--px24_48);}
    .btn_menu .box .main{font-size:clamp(0.938rem, 0.875rem + 0.28vw, 1.188rem)/*15_19*/; letter-spacing:0.03em; white-space:nowrap}
}
@media only screen and (max-width:1023px){
    .btn_menu{padding-left:var(--contents01); padding-right:var(--contents01);}
}

/*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;}
.table .att{display:flex; justify-content:flex-start;}
.table .att .mark{width:1em;}
.table .att .main{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{line-height:1.8;}
}
@media only screen and (min-width:1024px){
	.table th,
	.table td{padding:.5em 0;}
    .table th,
	.table td,
    .table a,
	.table td span{line-height:1.8; letter-spacing:0.03em;}
}
@media only screen and (min-width:1472px){
	.table th,
	.table td{padding:1em 0;}
}

/*table01*/
@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{background:var(--bk_a003);}
}
@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;}
}
@media only screen and (min-width:1024px){
    .table01.th01 th{width:7em;}
	.table01.th01 td{width:calc(100% - 7em);}
    .table01.th02 th{width:12em;}
	.table01.th02 td{width:calc(100% - 12em);}
    .table01.th03 th{width:9em;}
	.table01.th03 td{width:calc(100% - 9em);}
}

/*table02*/
.table02{display:flex; justify-content:space-between; border-top:1px solid var(--bk); padding-top:1em;}
.table02 th{white-space:nowrap;}
.table02 th::before{content:"・";}
.table02 th,
.table02 td{padding:0;}
.table02.th01 th{width:6em;}
.table02.th01 td{width:calc(100% - 6em);}

/*etc*/
.ls0{letter-spacing:0;}
.en{line-height:1!important; white-space:nowrap; font-family: "Cormorant Infant", serif; font-weight:500;}
.ml-025em{margin-left:-.25em; font-size:inherit; letter-spacing:inherit;}
.ml-05em{margin-left:-.5em; 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;}
.overflow_h{overflow:hidden;}
.note{padding-left:1.05em; text-indent:-1.05em; letter-spacing:inherit; line-height:1.8;}
@media only screen and (min-width:1024px){
    .anchor{margin-top:-48px; padding-top:48px; height:0;}
}
.vsc-controller,
#controller{display:none!important;}
