/*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_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(--px32_48);}
}
@media only screen and (min-width:1024px){
    .mb_ajust01{margin-bottom:var(--px48_96);}
}
@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);}
}
@media only screen and (max-width:1023px){
    .mb_ajust03{margin-bottom:var(--px16_32);}
}
@media only screen and (min-width:1024px){
    .mb_ajust03{margin-bottom:var(--px24_40);}
}
@media only screen and (max-width:1023px){
    .mb_ajust04{margin-bottom:var(--px16_32);}
}
@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(--px24_32);}
}
@media only screen and (min-width:1024px){
    .mb_ajust05{margin-bottom:var(--px24_32);}
}

/*padding*/
@media only screen and (max-width:1023px){
    .p192{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);}
}

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

/*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_navy{position:relative; vertical-align:middle;}
.bg_navy::before{content:""; display:inline-block; position:absolute; width:100%; height:100%; left:50%; top:0; transform:translate(-50%,0); z-index:-10; background:var(--navy);}

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

.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);}

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

.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.5; margin-top:-.25em; margin-bottom:-.25em;}
}
@media only screen and (min-width:1024px){
    .lead .main{line-height:1.3; margin-top:-.15em; margin-bottom:-.15em;}
}

/*lead01*/
.lead01{flex-direction:column; align-items:flex-start;}
.lead01 .sub{font-size:var(--px24_36); margin-bottom:var(--px8_24);}
.lead01 .main{font-size:var(--px20_40);}
.lead01 .big{display:inline-block; font-size:clamp(2rem, 1.503rem + 2.21vw, 4rem)/*32_64*/; line-height:1; margin-left:.1em; margin-right:.1em;}
@media only screen and (min-width:1024px){
    .lead01 .main{line-height:1.8; margin-top:-.4em; margin-bottom:-.4em;}
}

/*lead02*/
.lead02{flex-direction:column; align-items:flex-start;}
.lead02_c{align-items:center;}
.lead02 .sub{font-size:var(--px24_36); margin-bottom:var(--px8_24);}
.lead02 .main{font-size:var(--px20_40);}

/*lead03*/
.lead03 .main{font-size:var(--px24_36);}
.lead03_c{justify-content:center;}
.lead03_c .main{text-align:center;}

/*lead04*/
.lead04 .main{font-size:var(--px20_32);}
.lead04_c{justify-content:center;}
.lead04_c .main{text-align:center;}
.lead04_border{align-items:center;}
@media only screen and (min-width:500px){
    .lead04_border::after{content:""; display:inline-block; height:1px; width:var(--px48_96); margin-left:.75em; background:var(--bk);}
}

/*lead05*/
.lead05{align-items:center;}
.lead05 .icon{display:inline-block; width:var(--px32_48); margin-right:.5em;}
.lead05 .main{font-size:var(--px20_32);}
@media only screen and (min-width:500px){
    .lead05::after{content:""; display:inline-block; height:1px; width:var(--px48_96); margin-left:.75em; background:var(--bk);}
}

/*lead06*/
.lead06{box-sizing:border-box; background:var(--navy); padding:1em;}
.lead06 .main{font-size:var(--px16_20); color:var(--wh);}

/*lead07*/
.lead07{flex-direction:column; align-items:center;}
.lead07 .icon{display:inline-block; width:var(--px48_76); margin-bottom:.75em;}
.lead07 .main{font-size:var(--px16_20);}

/*lead08*/
.lead08 .main{font-size:var(--px16_24);}
.lead08_c{justify-content:center;}
.lead08_c .main{text-align:center;}
.lead08_border{align-items:center;}
.lead08_border::after{content:""; display:inline-block; height:1px; width:var(--px48_96); margin-left:.75em; background:var(--bk);}

/*アニメーション*/
.shake:hover .icon{animation:shake-icon .75s ease-in infinite;}
@keyframes shake-icon{0%{transform:rotate(0deg);}50%{transform:rotate(-10deg);}100%{transform:rotate(0deg);}}

/*btn01*/
.btn01{width:var(--btn01_w); height:var(--btn01_h); display:flex; justify-content:space-between; align-items:center; padding:0 1em; box-sizing:border-box; overflow:hidden; border-radius:var(--px8_16);}
.btn01 .main{color:var(--wh); line-height:1; transition:all .3s ease;}
.btn01 .arrow{width:var(--px8_12); transition:all .3s ease; margin-top:.1em;}
@media only screen and (min-width:1024px){
    .btn01:hover .main{transform:translateX(3px);}
    .btn01:hover .arrow{transform:translateX(-3px);}
}
.btn01_c{margin-left:auto; margin-right:auto;}
.btn01_s{width:clamp(7.5rem, 7.127rem + 1.66vw, 9rem)/*120_144*/;}

/*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;}
    .table th,
	.table td,
    .table a,
	.table td span{line-height:1.8; letter-spacing:0.03em;}
}

/*table01*/
.table01 th{background:rgba(47,63,95,.1);}
@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;}
}
@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:12em;}
	.table01.th01 td{width:calc(100% - 12em);}
}

/*table02*/
.table02 th{background:rgba(47,63,95,.1);}
@media only screen and (max-width:1023px){
    .table02 tr:first-of-type{border-top:1px solid var(--bk);}
	.table02 tr{display:block; width:100%; border-bottom:1px solid var(--bk);}
	.table02 tbody:last-of-type tr:last-of-type{margin-bottom:0; width:100%;}
	.table02 th,
	.table02 td{width:100%; display:block;}
}
@media only screen and (min-width:1024px){
    .table02 tbody{display:flex; justify-content:space-between;}
    .table02 tr{display:flex; flex-direction:column; width:25%; border-top:1px solid var(--bk); border-bottom:1px solid var(--bk); border-right:1px solid var(--bk);}
    .table02 th{border-bottom:1px solid var(--bk);}
    .table02 th,
    .table02 td{text-align:center;}
    .table02 tr:last-of-type{border-right:none;}
}
@media only screen and (min-width:1024px) and (max-width:1247px){
    .table02 tr:nth-of-type(-n+3){width:23%;}
    .table02 tr:nth-of-type(4){width:31%;}
}

/*etc*/
.u_line{text-decoration:underline;}
.navy{color:var(--navy);}
.red{color:var(--red);}
.orange{color:var(--orange);}
.ls0{letter-spacing:0;}
.green{color:var(--green);}
.en{line-height:1!important; white-space:nowrap; font-family:"Cormorant Garamond", serif; font-weight:600;}
.ml-10em{margin-left:-1em; 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;}
.vsc-controller,
#controller{display:none!important;}
