@charset "utf-8";
/* home
-------------------------------------------------------------------*/
.visual{
    position:relative;
    z-index:5;
}
.visual .visual-txt{
    position:absolute;
    inset: 0 4% 0 auto;
    margin:auto;
    height:fit-content;
    width: 39%;
}
.visual .visual-txt .mv-top{
    margin-bottom: 1.375em;
}
.visual .visual-txt .mv_style{
    position:relative;
    right: 0.375em;
}
.visual-bottom{
    background:var(--fontcolor);
    padding: 1em 1em;
}
.visual-bottom p{
    font-size:2rem;
    letter-spacing:-0.01em;
}
.visual-bottom p strong{
    font-weight:900;
    display:inline-block;
}
@media screen and (max-width:768px) {
    .visual .visual-txt{
        inset: 8% 0 auto 0;
        margin:auto;
        height:fit-content;
        width:100%;
        padding-inline: 15px;
    }
    .visual .visual-txt .mv_style{
        right:0;
    }
    .visual .visual-txt .mv-top{
        padding-inline:5px;
        margin-bottom: 1em;
    }
    .visual-bottom{
        padding-block:0.5em 0.75em;
    }
    .visual-bottom p{
        font-size: 1.215rem;
    }
}

/*about*/
.about{
    background:var(--accent01);
    position:relative;
    padding-block: 4em 2em;
}
.about .about-col{
    max-width:731px;
    margin:0 auto;
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    flex-wrap:wrap;
    gap: 1.25em 0.5em;
    position:relative;
}
.about .about-col:before{
    content:"";
    width:214px;
    height: 300px;
    background:url(../img/top/img-about.png) no-repeat center / contain;
    position:absolute;
    inset: auto -30% -2em auto;
}
.about .about-col .about-item{
    width: calc(33% - 0.25em);
}
.about .about-col .item-long{
    width:100%;
}
@media screen and (max-width:1260px) {
    .about .about-col:before{
        width:164px;
        height: 230px;
        inset: auto -23% -2em auto;
    }
}
@media screen and (max-width:1100px) {
    .about .about-col:before{
        width:124px;
        height: 174px;
        inset: auto -17% -2em auto;
    }
}
@media screen and (max-width:768px) {
    .about{
        padding-block: 0em 3em;
    }
    .about .about-col{
        max-width:731px;
        gap: 0.625em 0.5em;
        position:relative;
        margin-top: 2.25em;
    }
    .about .about-col:before{
        width: 130px;
        height: 179px;
        inset: auto 2% -3em auto;
        background-image: url(../img/top/img-about_sp.png);
    }
    .about .about-col .about-item{
        width: calc(50% - 0.5em);
    }
    .about .about-col .item-long{
        width:100%;
    }
}

/*car_price*/
.car_price{
    position:relative;
    padding-block: 3.5em 4.5em;
}
.car_price .car_price-style{
    font-size:2.625rem;
    font-weight:bold;
    margin-bottom: 0.5em;
}
.car_price .car_price-style + p{
    font-weight:500;
}
.car_price .car_price-list.slick-slider{
    position:relative;
    margin-block: 3.5em;
}
.car_price .car_price-list .slick-dots{
    bottom: -1.5em;
    position:relative;
}
.car_price .car_price-item{
    position:relative;
    border-radius:10px;
    border: 2px solid;
    margin-inline: 0.875em;
    text-align:center;
}
.car_price .car_price-item .car_price-top{
    padding: 1.5em 1em 1em;
}
.car_price .car_price-item .car_price-image{
    margin-bottom: 0.5em;
}
.car_price .car_price-item .car_price-image img{
    margin:0 auto;
    max-height: 140px;
    width: auto;
}
.car_price .car_price-item .car_price-style02{
    font-size:2rem;
    font-weight:bold;
    margin-bottom: 1.375em;
}
.car_price .car_price-item .car_price-style02:has(span){
    margin-bottom:0.5em;
}
.car_price .car_price-item .car_price-style02 span{
    display:block;
    font-size:1.125rem;
    font-weight:500;
}
.car_price .car_price-item .car_price-category{
    display: inline-flex;
    justify-content:center;
    align-items:stretch;
    flex-wrap:wrap;
    gap: 0.5em 0.5em;
    margin-bottom: 1.5em;
    margin-right: 0.25em;
}
.car_price .car_price-item .car_price-category li{
    font-weight:bold;
    background:var(--bgcolor);
    display:inline-block;
    border-radius:5px;
    padding: 0.36em 0.75em 0.46em;
    line-height: 1;
}
.car_price .car_price-item .car_price-col{
    position:relative;
    display:flex;
    justify-content:space-between;
    align-items:stretch;
    gap:1em 4%;
    flex-wrap:wrap;
}
.car_price .car_price-item .car_price-col .car_price-wrap{
    width:48%;
}
.car_price .car_price-item .car_price-col .car_price-long{
    width:100%;
}
.car_price .car_price-item .car_price-col .car_price-wrap .car_price-style03{
    font-size:1.125rem;
    font-weight:bold;
    background:var(--keycolor);
    color:var(--whitecolor);
    border-radius:5px;
    padding: 0.3565em 0.5em;
    margin-bottom: 0.25em;
}
.car_price .car_price-item .car_price-col .car_price-wrap em{
    font-size:1.125rem;
    font-weight:bold;
}
.car_price .car_price-item .car_price-col .car_price-wrap strong{
    font-size:2rem;
    font-weight:600;
    line-height: 1;
}
.car_price .car_price-item .car_price-col .car_price-wrap p{
    font-size:0.875rem;
    letter-spacing:0em;
    font-weight:500;
}
.car_price .car_price-item .car_price-col .car_price-wrap span{
    font-size:0.875rem;
}
.car_price .car_price-item .car_price-col .car_price-wrap:last-child em{
    font-size: 0.875rem;
}
.car_price .car_price-item .car_price-col .car_price-wrap:last-child strong{
    font-size:1rem;
    line-height:1.6;
}
.car_price .car_price-item .car_price-col .car_price-wrap:last-child span{
    font-size: 0.6875rem;
}
.car_price .car_price-item .car_price-col .car_price-wrap:last-child strong span{
    font-size:1.625rem;
}
.car_price .car_price-bottom{
    font-size:1rem;
    position:relative;
    border-top: 2px solid;
    padding: 0.5em 1em 1em;
    display:flex;
    justify-content:center;
    align-items:center;
    background:var(--bgcolor);
    border-radius: 0 0 10px 10px;
}
.car_price .car_price-bottom em{
    color:var(--keycolor);
    font-weight:bold;
    font-size:2rem;
    white-space: nowrap;
}
.car_price .car_price-bottom em .txt-align{
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    vertical-align: baseline;
    font-weight: 600;
    font-size: 1.25rem;
}
.car_price .car_price-bottom em strong{
    font-size:3.5rem;
    line-height: 1;
    font-weight: 700;
}
.car_price .car_price-bottom em span{
    font-size:1.5rem;
}
.car_price .car_price-bottom p{
    font-size:1.125rem;
    font-weight:500;
    text-align:right;
}
.car_price .ann{
    font-size:0.875rem;
    font-weight:500;
}
:root .slick-arrow{
    width: 58px;
    height: 58px;
    background: var(--fontcolor);
    transition:var(--hover);
    border:1px solid var(--fontcolor);
}
:root .slick-arrow::before{
    border-color:var(--whitecolor);
    transition:var(--hover);
}
:root .slick-arrow.prev_icon{
    inset: 0 0 0 -28%;
    margin:auto;
    transform: rotateY(180deg);
}
:root .slick-arrow.next_icon{
    inset:0 -28% 0 0;
    margin:auto;
    transform: translate(0);
}
@media (any-hover: hover) {
    :root .slick-arrow:hover{
        background: var(--whitecolor);
    }
    :root .slick-arrow:hover::before{
        border-color:var(--fontcolor);
    }
}
@media screen and (max-width:1540px) {
    .car_price .car_price-item .car_price-col .car_price-wrap .car_price-style03{
        font-size:1rem;
    }
}
@media screen and (max-width:1400px) {
    :root .slick-arrow.prev_icon{
        inset: 0 0 0 -48%;
    }
    :root .slick-arrow.next_icon{
        inset:0 -48% 0 0;
    }
}
@media screen and (max-width:768px) {
    .car_price{
        position:relative;
        padding: 2em 15px 2.5em;
    }
    .car_price .car_price-style{
        font-size: 1.964rem;
    }
    .car_price .car_price-style + p{
        font-size:0.93rem;
    }
    .car_price .car_price-list.slick-slider{
        margin-block: 1.5em 2em;
    }
    .car_price .car_price-item{
        border-radius:5px;
        border: 1px solid;
        margin-inline: 0.75em;
    }
    .car_price .car_price-item .car_price-top{
        padding: 1em 1em 1.5em;
    }
    .car_price .car_price-item .car_price-image{
        margin:0 auto 0.5em
    }
    .car_price .car_price-item .car_price-style02{
        font-size: 1.57rem;
    }
    .car_price .car_price-item .car_price-style02 span{
        font-size: 0.86rem;
    }
    .car_price .car_price-item .car_price-category{
        gap:0.5em 0.25em;
        margin-bottom: 1em;
    }
    .car_price .car_price-item .car_price-category li{
        font-size:0.79rem;
    }
    .car_price .car_price-item .car_price-col .car_price-wrap .car_price-style03{
        font-size:0.86rem;
    }
    .car_price .car_price-item .car_price-col .car_price-wrap em{
        font-size:0.93rem;
    }
    .car_price .car_price-item .car_price-col .car_price-wrap strong{
        font-size:1.357rem;
    }
    .car_price .car_price-item .car_price-col .car_price-wrap p{
        font-size: 0.715rem;
    }
    .car_price .car_price-item .car_price-col .car_price-long p{
        line-height:1.6;
        letter-spacing:-0.03em;
    }
    .car_price .car_price-item .car_price-col .car_price-wrap span{
        font-size:0.79rem;
    }
    .car_price .car_price-item .car_price-col .car_price-wrap:last-child em{
         font-size:0.93rem;
    }
    .car_price .car_price-item .car_price-col .car_price-wrap:last-child strong{
        font-size:0.75rem;
    }
    .car_price .car_price-item .car_price-col .car_price-wrap:last-child strong span{
        font-size:1.29rem;
    }
    .car_price .car_price-item .car_price-col .car_price-wrap:last-child span{
        font-size:0.79rem;
    }
    .car_price .car_price-bottom em{
        font-size:1.14rem;
    }
    .car_price .car_price-bottom em .txt-align{
        font-size: 0.86rem;
    }
    .car_price .car_price-bottom em strong{
        font-size:2.14rem;
    }
    .car_price .car_price-bottom em span{
        font-size:0.93rem;
    }
    .car_price .car_price-bottom p{
        font-size: 0.79rem;
    }
    .car_price .car_price-bottom{
        border-top-width:1px;
        padding: 0.25em 1em;
        border-radius: 0 0 5px 5px;
    }
    :root .slick-arrow{
        width:40px;
        height:40px;
    }
    :root .slick-arrow.prev_icon{
        inset: 0 auto 0 -2%;
    }
    :root .slick-arrow.next_icon{
        inset:0 -2% 0 auto;
    }
    .car_price .car_price-list .slick-dots{
        bottom: -0.25em;
        position:relative;
    }
    .car_price .ann{
        font-size:0.93rem;
        line-height:1.6
    }
}



/*cta*/
.cta{
    position:relative;
    background:var(--keycolor);
    padding-block: 3em 5em;
}
.cta-deco01{
    position:absolute;
    inset: auto auto 0 6%;
    width: 20.1%;
}
.cta-deco02{
    position:absolute;
    inset: auto 9% 0 auto;
    width: 15.6%;
}
.cta .cta-style{
    position:relative;
    font-size:3.875rem;
    font-weight:bold;
    text-align:center;
    color:var(--whitecolor);
    max-width: fit-content;
    margin: 0 auto 0.25em;
}
.cta .cta-style:before,
.cta .cta-style:after{
    content:"";
    width:7px;
    background:var(--whitecolor);
    position:absolute;
    margin:auto;
}
.cta .cta-style:before{
    inset:0.375em auto 0.125em -0.5em;
    transform:skewX(25deg)
}
.cta .cta-style:after{
    inset:0.375em -0.125em 0.125em auto;
    transform:skewX(-25deg)
}
.cta .cta-style span{
    color:#ffff00;
}
.cta .cta-campain-area{
    max-width:815px;
    margin: 0 auto 2.75em;
    background:#fff;
    text-align:center;
    padding: 3em 1em;
    border-radius:10px;
    border:5px solid;
}
:root .no_data{
    font-size:1.5rem;
    font-weight:500;
}
.cta .cta-campain-area img + img{
    margin: 1.5em auto 0;
    display:block;
}

.cta .cta-btn-wrap{
    display:flex;
    justify-content:center;
    align-items:stretch;
    max-width: 800px;
    margin:0 auto;
    gap:2em;
}
.cta .cta-btn-wrap > *{
    width:50%;
}
.cta .cta-btn-wrap > * a{
    width:100%;
    right: 0;
    gap: 1em;
    align-items: center;
}
.cta .cta-btn-wrap .btn p{
    width:fit-content;
}
.tel-btn .btn{
    background:var(--accent02);
}
.tel-btn .btn em{
    font-size: 1.625rem;
    font-weight:bold;
    display:block;
    line-height: 1;
}
.tel-btn .btn span{
    font-size: 1rem;
    line-height: 1;
    display: block;
    font-weight: 500;
}
.cta .tel-btn .btn p{
   top: -0.125em;
}
@media screen and (max-width:1590px) {
    .cta-deco01{
        inset: auto auto 0 1%;
    }
    .cta-deco02{
        inset: auto 3% 0 auto;
    }
}
@media screen and (max-width:1320px) {
    .cta-deco01{
        inset: auto auto 0 1%;
        width:15%;
    }
    .cta-deco02{
        inset: auto 1% 0 auto;
        width:11%;
    }
}
@media screen and (max-width:1120px) {
    .cta .cta-btn-wrap{
        max-width:700px;
    }
}
@media screen and (max-width:768px) {
    .cta{
        padding-block: 2em 3em;
    }
    .cta-deco01{
        position:absolute;
        inset: auto auto 0 -8%;
        width: 27.1%;
    }
    .cta-deco02{
        position:absolute;
        inset: auto -2% 0 auto;
        width: 21.6%;
    }
    .cta .cta-style{
        font-size:1.79rem;
        margin: 0 auto 0.5em;
    }
    .cta .cta-style:before,
    .cta .cta-style:after{
        width:4px;
    }
    .cta .cta-style:before{
        inset:0.25em auto 0.125em -0.85em;
    }
    .cta .cta-style:after{
        inset:0.25em -0.5em 0.125em auto;
    }
    .cta .cta-campain-area{
        margin: 0 auto 1.75em;
        padding:2em 3em;
        border: 3px solid;
        border-radius: 5px;
    }
    .cta .cta-btn-wrap{
        gap: 1.25em;
        flex-wrap:wrap;
    }
    .cta .cta-btn-wrap > *{
        width: 76%;
    }
    .cta .cta-btn-wrap > * a{
        width:100%;
        right: 0;
        gap: 1em;
        align-items: center;
        min-width: 0;
        box-shadow: 1px 1px var(--fontcolor);
        text-decoration: none;
        min-height: 3.429em;
        border-width: 1px;
    }
    .cta .cta-btn-wrap .btn p{
        width:fit-content;
    }
    .tel-btn .btn{
        background:var(--accent02);
    }
    .tel-btn .btn em{
        font-size: 1.5rem;
        display: inline-block;
    }
    .cta .tel-btn .btn{
        gap: 0.25em;
        min-height: 3.429em;
    }
    .tel-btn .btn .icon{
        width: 25px;
    }
    .cta .contact-btn .btn .icon{
        width:27px;
    }
    .tel-btn .btn span{
        font-size: 0.89rem;
        display: inline-block;
        font-weight: 500;
    }
    .cta .tel-btn .btn p{
       top:0;
       line-height: 0.6;
       width: 141px;
    }
    .cta .contact-btn .btn span{
        font-size:1.14rem;
    }
    .cta .contact-btn p em{
        font-size:0.86rem;
    }
}


/*reason*/
.reason{
    position:relative;
    padding-top: 3.5em;
    --fontcolor:#1d1d27;
    color: var(--fontcolor);
}
.reason .reason-top{
    position:relative;
}
.reason .reason-top .reason-top-style{
    position:relative;
    font-size:2.625rem;
    font-weight:bold;
    max-width:fit-content;
    margin: 0 auto 1.5em;
    letter-spacing: -0.05em;
    text-align: center;
}
.reason .reason-top .reason-top-style:before,
.reason .reason-top .reason-top-style:after{
    content:"";
    width:130px;
    height:118px;
    background:url(../img/top/deco-reason01.png) no-repeat center / contain;
    position:absolute;
    margin:auto;
}
.reason .reason-top .reason-top-style:before{
    inset: 0 auto 0 -3.5em;
}
.reason .reason-top .reason-top-style:after{
    inset:0 -3.5em 0 auto;
    transform:scaleX(-1);
}
.reason .reason-top .reason-top-style em{
    color:var(--keycolor);
    background:var(--accent05);
    display:inline-block;
    margin: 0.375em 0.25em 0;
    padding: 0.25em 0.5em 0.375em 0.125em;
    position:relative;
    line-height:1;
}
.reason .reason-top .reason-top-style em:before{
    content:"";
    border: 2px solid var(--keycolor);
    position:absolute;
    inset: -0.125em 0.125em 0.125em -0.125em;
    margin:auto;
    pointer-events: none;
}
.reason .reason-top .reason-top-col{
    display:flex;
    justify-content:space-between;
    align-items:stretch;
    flex-wrap:wrap;
    margin-bottom: -1.5em;
}
.reason .reason-top .reason-top-col .reason-top-item{
    width: 47%;
}
.reason .reason-top .reason-top-col .reason-top-item .reason-top-image{
    width: 92%;
    border-radius:10px;
    overflow:hidden;
}
.reason .reason-top .reason-top-col .reason-top-item .reason-top-text{
    position:relative;
    width: 83%;
    margin-left:auto;
    padding: 3em 2em 3em;
    border-radius:10px;
    border:2px solid;
    top: -6em;
    background: var(--whitecolor);
}
.reason .reason-top .reason-top-col .reason-top-item .reason-top-text hgroup{
    position:relative;
    margin-bottom:1em;
}
.reason .reason-top .reason-top-col .reason-top-item .reason-top-text .reason-top-number{
    position:absolute;
    left:-5em;
    top: -3.5em;
}
.reason .reason-top .reason-top-col .reason-top-item .reason-top-text .reason-top-style02{
    font-size:1.5rem;
    font-weight:bold;
    padding-left:1.5em;
    color:var(--keycolor);
}
.reason .reason-top .reason-top-col .reason-top-item .reason-top-text > p{
    font-weight:500;
    line-height: 1.7;
}
.reason .reason-whole{
    position:relative;
}
.reason .reason-whole .reason-no-cheep{
    position:relative;
    margin-bottom:1em;
    max-width:1200px;
    margin:0 auto;
}
.reason .reason-whole .reason-no-cheep .reason-no-cheep-title{
    margin-bottom:2em;
}
.reason .reason-whole .reason-no-cheep .reason-no-cheep-title p{
    position:relative;
    z-index:10;
    margin-bottom: 1em;
}
.reason .reason-whole .reason-no-cheep .reason-no-cheep-title p:before{
    content:"";
    height: 3px;
    background:var(--accent03);
    position:absolute;
    inset:0;
    margin:auto;
}
.reason .reason-whole .reason-no-cheep .reason-no-cheep-title p span{
    background:var(--accent03);
    color:var(--whitecolor);
    display:block;
    max-width:637px;
    margin:0 auto;
    border-radius:50px;
    font-size:2rem;
    font-weight: 500;
    padding-block: 0.25em 0.625rem;
    position:relative;
    z-index:5;
}
.reason .reason-whole .reason-no-cheep .reason-no-cheep-title h2{
    font-size:3.25rem;
    font-weight:bold;
}
.reason .reason-whole .reason-no-cheep .reason-no-cheep-title h2 em{
    font-size:4rem;
}
.reason .reason-whole .reason-no-cheep .reason-no-cheep-title h2 em span{
    color:var(--keycolor);
    border-bottom:1px dashed;
}
.reason .reason-whole .reason-no-cheep > p{
    font-size:1.125rem;
    font-weight:500;
    line-height: 2.125;
}
 .reason .reason-whole .reason-point{
    padding-block: 13em 6em;
    background:var(--accent06);
    position:relative;
}
 .reason .reason-whole .reason-point:before{
    content:"";
    width: 0;
    height: 0;
    border-style: solid;
    border-right: 50vw solid transparent;
    border-left: 50vw solid transparent;
    border-top: 106px solid var(--whitecolor);
    border-bottom: 0;
    position:absolute;
    inset: 0 0 auto 0;
    margin:auto;
 }
 .reason .reason-whole .reason-point-item{
    background:var(--whitecolor);
    border-radius:10px;
    border:5px solid;
    padding: 65px 40px 60px;
    position:relative;
}
 .reason .reason-whole .reason-point-item + .reason-point-item{
     margin-top:7em;
 }
 .reason .reason-whole .reason-point-number{
    position:absolute;
    font-size:6.625rem;
    font-weight: 500;
    -webkit-text-stroke: 9px var(--whitecolor);
    text-stroke: 2px var(--whitecolor);
    paint-order: stroke;
    inset: -0.875em 0 auto 0;
    margin:auto;
    text-align:center;
    z-index: 15;
}
.reason .reason-whole .reason-point-number:before{
    content:"";
    width:206px;
    background: var(--whitecolor);
    position:absolute;
    inset: 0em 0 -0.75em 0;
    margin:auto;
    height: 0.5em;
    z-index: -1;
}
.reason .reason-whole .reason-point-item h3{
    font-size:2rem;
    font-weight:bold;
    max-width:fit-content;
    margin:0 auto;
    padding:0 0.25em 0.125em;
    margin-bottom: 2.5em;
    text-align:center;
}
.reason .reason-whole .reason-point-item.item03 h3{
    margin-bottom:1.5em;
}
.reason .reason-whole .reason-point-item h3 span{
    background: linear-gradient(transparent 70%, var(--accent05) 30%);
    display:inline-block;
}
.reason .reason-whole .reason-point-item.item01 .reason-point-wrap{
    display:flex;
    justify-content:space-between;
    align-items:stretch;
    flex-wrap:wrap;
    gap:4%;
    margin-bottom: 2em;
}
.reason .reason-whole .reason-point-item.item01 .reason-point-wrap .reason-point-check{
    width:48%;
    background:var(--bgcolor02);
    text-align:center;
    padding:3em 2em;
    position:relative;
    border-radius: 10px;
}
.reason .reason-whole .reason-point-item.item01 .reason-point-wrap .reason-point-check:before{
    content:"";
    width:56px;
    height:56px;
    background:url(../img/top/img-check-red.png) no-repeat center / contain;
    position:absolute;
    inset:-1.75em 0 auto 0;
    margin:auto;
}
.reason .reason-whole .reason-point-wrap-style{
    font-size:1.75rem;
    font-weight: 600;
    color:var(--keycolor);
    margin-bottom: 0.75em;
    text-align: center;
}
.reason .reason-whole .reason-point-item.item01 .reason-point-wrap .reason-point-check .reason-point-wrap-style span{
    font-size:1.25rem;
    display:block;
}
.reason .reason-whole .reason-point-item.item02 .reason-point-wrap-style{
    text-align:center;
    margin-bottom: 1em;
}
.reason .reason-whole .reason-point-item.item01 .reason-point-wrap .reason-point-wrap-image{
    margin-bottom: 1.25em;
}
.reason .reason-whole .reason-point-item.item01 .reason-point-wrap .reason-point-check p{
    font-size:1rem;
    text-align:left;
    font-weight:500;
    line-height:1.875
}
.reason .reason-whole .reason-point-item.item01 .reason-point-wrap .reason-point-check p em{
    font-weight:600
}
.reason .reason-whole .reason-point-item.item01 .reason-point-wrap .reason-point-check p span{
    font-size:0.875rem;
}

.reason-point-area{
    position:relative;
}
.reason-point-area + .reason-point-area{
    margin-top:3em;
}
.reason-point-area .reason-point-area-style{
    position:relative;
    background: var(--accent04);
    text-align: center;
    color: var(--whitecolor);
    margin-bottom: 1.5em;
    font-size: 1.5rem;
    font-weight: 500;
    border-radius: 50px;
    padding: 0.25em 0.25em 0.375em;
}
.reason .reason-whole .reason-point-item .reason-point-area .reason-point01-list{
     display:flex;
     justify-content:flex-start;
     align-items:stretch;
     flex-wrap:wrap;
     gap:1em;
}
 .reason .reason-whole .reason-point-item .reason-point-area .reason-point01-list .reason-point01-item{
     width:calc((100% - 5em) / 6);
 }
 .reason .reason-whole .reason-point-item .reason-point-area .reason-point01-list .reason-point01-item .reason-point01-image{
     margin-bottom: 0.25em;
 }
 .reason .reason-whole .reason-point-item .reason-point-area .reason-point01-list .reason-point01-item .reason-point01-image img{
     border-radius:10px;
     border:2px solid;
 }
 .reason .reason-whole .reason-point-item .reason-point-area .reason-point01-list .reason-point01-item p{
     font-size:0.875rem;
     text-align:center;
     letter-spacing:-0.1em;
     font-weight: 500;
 }

.reason .reason-whole .reason-point-item.item02 h3{
   line-height:1.7;
   margin-bottom: 1em;
}
.reason .reason-whole .reason-point-area-slider{
    max-width: 516px;
    margin:0 auto;
}
.reason .reason-whole .reason-point-area-slider p{
    text-align:center;
    margin-top:0.5em;
    font-size: 1.25rem;
    font-weight: 500;
}
.reason .reason-whole .reason-point-area-slider .image img{
    border-radius:10px;
    border:2px solid;
}
.reason .reason-whole .reason-point-area-slider .reason-point-area-item{
    margin-inline:0.5em
}
.reason .reason-whole .reason-point-area-slider .slick-arrow.prev_icon{
    inset: -21% auto 0 -13%;
    margin:auto;
    transform: rotateY(180deg);
}
.reason .reason-whole .reason-point-area-slider .slick-arrow.next_icon{
    inset:-21% -13% 0 auto;
    margin:auto;
    transform: translate(0);
}
.reason .reason-whole .reason-point02-col{
    display:flex;
    justify-content:space-between;
    align-items:stretch;
    flex-wrap:wrap;
    gap:1em;
    margin-bottom: 3em;
}
.reason .reason-whole .reason-point02-col .reason-point02-item{
    width:calc(33% - 1em);
    text-align:center;
}
.reason .reason-whole .reason-point02-col .reason-point02-item img{
    border-radius:10px;
    border:2px solid;
    margin-bottom:0.5em;
}
.reason .reason-whole .reason-point02-col .reason-point02-item p{
    font-weight:500;
}
.reason .reason-whole .reason-point02-area-image{
    text-align:center;
}
.reason .reason-whole .reason-point02-area-image img{
    border-radius:10px;
    border:2px solid;
    margin-bottom:0.5em;
}
.reason .reason-whole .reason-point02-area-image p{
    font-size:1.25rem;
    font-weight:500;
}

.reason .reason-whole .reason-point03-col{
    display:flex;
    justify-content:space-between;
    align-items:stretch;
    flex-wrap:wrap;
    gap:1em;
    max-width: 1100px;
    margin: 0 auto;
}
.reason .reason-whole .reason-point03-col .reason-point03-item{
    width:calc(50% - 1em);
    border:2px solid;
    border-radius:10px;
    padding:1em;
    display:flex;
    justify-content:space-between;
    align-items: center;
    gap: 3em;
}
.reason .reason-whole .reason-point03-col .reason-point03-item .reason-point03-left{
    width:122px;
}
.reason .reason-whole .reason-point03-col .reason-point03-item .reason-point03-right{
    width: calc(100% - 122px - 3em);
}
.reason .reason-whole .reason-point03-col .reason-point03-item .reason-point03-right > p{
    font-size:0.875rem;
    font-weight:500;
}
.reason .reason-whole .reason-point03-col .reason-point03-item .reason-point03-right .reason-point03-right-col{
    display:flex;
    justify-content:flex-start;
    align-items:center;
    gap:3em;
    position:relative;
}
.reason .reason-whole .reason-point03-col .reason-point03-item .reason-point03-right .reason-point03-right-col .reason-point03-nomal{
    font-size:1.1875rem;
    font-weight:bold;
}
.reason .reason-whole .reason-point03-col .reason-point03-item .reason-point03-right em{
    font-size:3.125rem;
    font-weight:bold;
    color:var(--keycolor);
    line-height: 1.2;
}
.reason .reason-whole .reason-point03-col .reason-point03-item .reason-point03-right em span{
    font-size:2rem;
}
.reason .reason-whole .reason-point03-col .reason-point03-item .reason-point03-right .reason-point03-right-col:before{
    content:"";
    width: 0;
    height: 0;
    border-style: solid;
    border-top: 20px solid transparent;
    border-bottom: 20px solid transparent;
    border-left: 30px solid var(--fontcolor);
    border-right: 0;
    position:absolute;
    left:6em;
}
 .reason .reason-whole .reason-point03-col .reason-point03-item .reason-point03-right .reason-point03-large{
     font-size:2rem;
     font-weight:600;
 }
 .reason .reason-whole .reason-point03-col .reason-point03-item .reason-point03-right .reason-point03-large span{
     font-size:2.5rem;
     line-height:1;
 }
.reason .reason-whole .reason-point03-col .reason-point03-item:last-child .reason-point03-right em{
    line-height: 0.4;
}
.reason-point-area input{
    opacity:0;
    width:0;
    height:0;
    position:absolute;
    bottom: 0;
}
@media screen and (max-width:1250px) {
    .reason .reason-whole .reason-point03-col .reason-point03-item{
        gap:2em;
    }
    .reason .reason-whole .reason-point03-col .reason-point03-item .reason-point03-right{
        width: calc(100% - 122px - 2em);
    }
    .reason .reason-whole .reason-point03-col .reason-point03-item .reason-point03-right .reason-point03-right-col{
        gap:2em;
    }
    .reason .reason-whole .reason-point03-col .reason-point03-item .reason-point03-right .reason-point03-right-col .reason-point03-nomal{
        font-size:1rem;
    }
    .reason .reason-whole .reason-point03-col .reason-point03-item .reason-point03-right em{
        font-size: 2.5rem;
    }
    .reason .reason-whole .reason-point03-col .reason-point03-item .reason-point03-right em span{
        font-size: 1.5rem;
    }
    .reason .reason-whole .reason-point03-col .reason-point03-item .reason-point03-right .reason-point03-right-col:before{
        border-top:14px solid transparent;
        border-bottom:14px solid transparent;
        border-left:15px solid var(--fontcolor);
        left:5.25em;
    }
}
@media screen and (max-width:1250px) {
    .reason .reason-whole .reason-no-cheep{
        padding-inline:15px;
    }
    .reason .reason-whole .reason-point-item .reason-point-area .reason-point01-list .reason-point01-item p{
        font-size:0.75rem;
    }
     .reason .reason-whole .reason-point-item .reason-point-area .reason-point01-list .reason-point01-item{
         width: calc((100% - 4em) / 5);
     }
}

@media screen and (max-width:1120px) {
    .reason .reason-top .reason-top-style{
        font-size:2rem;
    }
    .reason .reason-top .reason-top-style:before,
    .reason .reason-top .reason-top-style:after{
        width:100px;
        height: 90px;
    }
    .reason .reason-top .reason-top-col .reason-top-item .reason-top-text{
        padding: 2em 1em 2em 2em;
    }
    .reason .reason-whole .reason-point-item{
        padding:70px 20px 60px;
    }
    .reason .reason-whole .reason-point03-col{
        flex-wrap:wrap;
        max-width:450px;
    }
    .reason .reason-whole .reason-point03-col .reason-point03-item{
        width:450px;
    }
}
@media screen and (max-width:768px) {
    .reason{
        padding-top: 3em;
    }
    .reason .reason-top .reason-top-style{
        font-size: 1.71rem;
    }
    .reason .reason-top .reason-top-style:before,
    .reason .reason-top .reason-top-style:after{
        width: 58px;
        height: 53px;
    }
    .reason .reason-top .reason-top-style:before{
        inset: 2em auto 0 -2.25em;
    }
    .reason .reason-top .reason-top-style:after{
        inset: 2em -2.25em 0 auto;
    }
    .reason .reason-top .reason-top-style em{
        margin: 0.375em 0.25em 0;
        padding: 0.375em 0.75em 0.5em 0.25em;
    }
    .reason .reason-top .reason-top-style em:before{
        border-width:1px;
    }
    .reason .reason-top .reason-top-col{
        margin-bottom: 2.5em;
        gap: 2em;
    }
    .reason .reason-top .reason-top-col .reason-top-item{
        width:100%;
    }
    .reason .reason-top .reason-top-col .reason-top-item .reason-top-text .reason-top-number{
        left: -3.5em;
        top: -2em;
        width: 26%;
    }
    .reason .reason-top .reason-top-col .reason-top-item .reason-top-text .reason-top-style02{
        font-size: 1.14rem;
        padding-left: 1.5em;
    }
    .reason .reason-top .reason-top-col .reason-top-item .reason-top-text hgroup{
        margin-bottom:0.75em;
    }
    .reason .reason-top .reason-top-col .reason-top-item .reason-top-text > p{
        font-size:0.93rem;
        line-height: 1.75;
    }
    .reason .reason-top .reason-top-col .reason-top-item .reason-top-text{
        padding: 1.375em 1.5em;
        width: 82.5%;
        top: 0;
        margin-top: -5em;
        border-width: 1px;
        border-radius: 5px;
    }
    .reason .reason-top .reason-top-col .reason-top-item .reason-top-image{
        width:86%;
        border-radius:5px;
    }
    .reason .reason-whole .reason-no-cheep .reason-no-cheep-title{
        margin-bottom:1.5em;
    }
    .reason .reason-whole .reason-no-cheep .reason-no-cheep-title p:before{
        display:none;
    }
    .reason .reason-whole .reason-no-cheep .reason-no-cheep-title p span{
        font-size:1.29rem;
        padding-block: 0.25em;
    }
    .reason .reason-whole .reason-no-cheep .reason-no-cheep-title h2{
        font-size: 1.93rem;
        letter-spacing: -0.02em;
    }
    .reason .reason-whole .reason-no-cheep .reason-no-cheep-title h2 em{
        font-size:2.42rem;
    }
    .reason .reason-whole .reason-no-cheep > p{
        font-size:0.93rem;
        letter-spacing: -0.02em;
        line-height: 1.6;
        margin-bottom: 2em;
    }
     .reason .reason-whole .reason-point{
        padding-block: 6em 3.5em;
    }
     .reason .reason-whole .reason-point:before{
        border-top-width:22px;
     }
    .reason .reason-whole .reason-point-item{
        border-radius: 5px;
        border-width:3px;
        padding: 20px 9px 20px;
    }
     .reason .reason-whole .reason-point-item + .reason-point-item{
         margin-top: 4.5em;
     }
     .reason .reason-whole .reason-point-number{
        font-size:3.57rem;
        -webkit-text-stroke: 6px var(--whitecolor);
        top: -1em;
    }
    .reason .reason-whole .reason-point-number:before{
        width:108px;
    }
    .reason .reason-whole .reason-point-item h3{
        font-size:1.29rem;
        padding:0 0.25em 0.125em;
        margin-bottom: 2.5em;
    }
    .reason .reason-whole .reason-point-item.item03 h3{
        margin-bottom:1.5em;
    }
    .reason .reason-whole .reason-point-item.item01 .reason-point-wrap{
        gap:2em;
        margin-bottom: 2em;
        flex-wrap:wrap;
    }
    .reason .reason-whole .reason-point-item.item01 .reason-point-wrap .reason-point-check{
        width:100%;
        padding: 2em 15px;
        border-radius: 5px;
    }
    .reason .reason-whole .reason-point-item.item01 .reason-point-wrap .reason-point-check:before{
        content:"";
        width: 33px;
        height: 33px;
        inset: -1.25em 0 auto 0;
        margin:auto;
    }
    .reason .reason-whole .reason-point-wrap-style{
        font-size: 1.214rem;
    }
    .reason .reason-whole .reason-point-item.item01 .reason-point-wrap .reason-point-check .reason-point-wrap-style span{
        font-size: 0.86rem;
    }
    .reason .reason-whole .reason-point-item.item01 .reason-point-wrap .reason-point-check p{
        font-size:0.93rem;
    }
    .reason .reason-whole .reason-point-item.item01 .reason-point-wrap .reason-point-check p span{
        font-size:0.79rem;
    }
    .reason .reason-whole .reason-point-item.item01 .reason-point-wrap .reason-point-wrap-image{
        width:90%;
        margin:0 auto 1.25em;
    }
    .reason-point-area + .reason-point-area{
        margin-top:2em;
    }
    .reason-point-area .reason-point-area-style{
        font-size: 1rem;
        margin-bottom: 1.125em;
    }
    .reason .reason-whole .reason-point-item .reason-point-area .reason-point01-list{
         gap: 0 4%;
    }
     .reason .reason-whole .reason-point-item .reason-point-area .reason-point01-list .reason-point01-item{
         width: 48%;
         margin-bottom: 1em;
     }
     .reason .reason-whole .reason-point-item .reason-point-area .reason-point01-list .reason-point01-item .reason-point01-image{
         margin-bottom: 0.25em;
     }
     .reason .reason-whole .reason-point-item .reason-point-area .reason-point01-list .reason-point01-item .reason-point01-image img{
         border-radius: 5px;
         border-width: 1px;
     }
     .reason .reason-whole .reason-point-item .reason-point-area .reason-point01-list .reason-point01-item p{
         font-size: 0.86rem;
         line-height: 1.875;
     }
     .reason .reason-whole .reason-point-item .reason-point-area .reason-point01-list ~ label{
        display:block;
        margin: 0 auto;
        max-width:fit-content;
        font-weight:bold;
        font-size: 0.93rem;
    }
    .reason .reason-whole .reason-point-item .reason-point-area .reason-point01-list ~ label span{
        padding-right:1.5em;
        padding-bottom:0.125em;
        position:relative;
    }
     .reason .reason-whole .reason-point-item .reason-point-area .reason-point01-list ~ label span:before{
        content:"";
        width:100%;
        height:1px;
        background:var(--fontcolor);
        position:absolute;
        inset:auto 0 0 0;
        margin:auto;
    }
     .reason .reason-whole .reason-point-item .reason-point-area .reason-point01-list ~ label span:after{
        content:"";
        width: 6px;
        height: 6px;
        border-top: solid 1px;
        border-right: solid 1px;
        position: absolute;
        right:0.25em;
        top: 0.375em;
        transform: rotate(135deg);
    }
    .reason .reason-whole .reason-point-item .reason-point-area .reason-point01-list li:nth-child(n+5){
    	opacity:0;
    	visibility:hidden;
    	height:0;
    	transition:var(--hover);
    	margin: 0;
    }
    .reason .reason-whole:has(input:checked) .reason-point-item .reason-point-area .reason-point01-list li:nth-child(n+5){
    	opacity:1;
    	visibility:visible;
    	height:auto;
    	margin-bottom: 1em;
    }
    .reason .reason-whole:has(input:checked) .reason-point-item .reason-point-area .reason-point01-list ~ label{
    	display: none !important;
    }
    .reason .reason-whole .reason-point02-col{
        gap: 1.5em;
        margin-bottom: 3em;
    }
    .reason .reason-whole .reason-point02-col .reason-point02-item{
        width:100%;
        margin:0 auto;
    }
    .reason .reason-whole .reason-point02-col .reason-point02-item img{
        border-radius: 5px;
        border-width: 1px;
        margin-bottom:0;
    }
    .reason .reason-whole .reason-point02-col .reason-point02-item .reason-point02-image{
        width:80%;
        margin:0 auto 0.5em;
    }
    .reason .reason-whole .reason-point02-col .reason-point02-item p{
        font-weight:500;
        font-size: 0.93rem;
    }
    .reason .reason-whole .reason-point02-area-image{
        text-align:center;
        width: 80%;
        margin:0 auto;
    }
    .reason .reason-whole .reason-point02-area-image img{
        border-radius: 5px;
        border-width: 1px;
        margin-bottom:0.5em;
    }
    .reason .reason-whole .reason-point02-area-image p{
        font-size: 0.93rem;
        letter-spacing: -0.07em;
    }
    .reason .reason-whole .reason-point-area-slider{
        width:80%;
    }
    .reason .reason-whole .reason-point-area-slider .image img{
        border-radius:5px;
        border-width:1px;
    }
    .reason .reason-whole .reason-point-area-slider p{
        font-size:0.93rem;
    }
    .reason .reason-whole .reason-point-area-slider .slick-arrow.prev_icon{
        inset:-20% auto 0 -10%;
    }
    .reason .reason-whole .reason-point-area-slider .slick-arrow.next_icon{
        inset:-20% -10% 0 auto;
    }
    .reason .reason-whole .reason-point03-col .reason-point03-item{
        width:100%;
        gap:1em;
        border-radius: 5px;
        border-width: 1px;
        padding: 0.5em 1em;
    }
    .reason .reason-whole .reason-point03-col .reason-point03-item .reason-point03-left{
        width:69px;
    }
    .reason .reason-whole .reason-point03-col .reason-point03-item .reason-point03-right{
        width: calc(100% - 69px - 1em);
    }
    .reason .reason-whole .reason-point03-col .reason-point03-item .reason-point03-right > p{
        font-size: min(3vw,0.79rem);
    }
    .reason .reason-whole .reason-point03-col .reason-point03-item .reason-point03-right .reason-point03-right-col .reason-point03-nomal{
        font-size: min(3.2vw,0.86rem);
    }
    .reason .reason-whole .reason-point03-col .reason-point03-item .reason-point03-right em{
        font-size: min(8vw,2.07rem);
    }
    .reason .reason-whole .reason-point03-col .reason-point03-item .reason-point03-right em span{
        font-size: min(5.1vw,1.357rem);
    }
    .reason .reason-whole .reason-point03-col .reason-point03-item .reason-point03-right .reason-point03-right-col:before{
        border-top-width:11px;
        border-width:11px;
        border-left-width:16px;
        left: min(17vw,4.5em);
    }
    .reason .reason-whole .reason-point-number:before{
        bottom: -0.95em;
    }
     .reason .reason-whole .reason-point03-col .reason-point03-item .reason-point03-right .reason-point03-large{
         font-size: min(5.4vw,1.43rem);
     }
     .reason .reason-whole .reason-point03-col .reason-point03-item .reason-point03-right .reason-point03-large span{
         font-size: min(8vw,1.93rem);
     }
}
@media screen and (max-width:360px) {
     .reason .reason-whole .reason-point03-col .reason-point03-item .reason-point03-right > p{
        font-size: min(3vw,0.79rem);
    }
    .reason .reason-whole .reason-point03-col .reason-point03-item .reason-point03-right .reason-point03-right-col .reason-point03-nomal{
        font-size: min(3.1vw,0.86rem);
    }
    .reason .reason-whole .reason-point03-col .reason-point03-item .reason-point03-right em{
        font-size: min(6.5vw,2.07rem);
    }
    .reason .reason-whole .reason-point03-col .reason-point03-item .reason-point03-right em span{
        font-size: min(5.1vw,1.357rem);
    }
    .reason .reason-whole .reason-point03-col .reason-point03-item .reason-point03-right .reason-point03-right-col:before{
        left: min(17vw,4.5em);
    }
     .reason .reason-whole .reason-point03-col .reason-point03-item .reason-point03-right .reason-point03-large{
         font-size: min(5.4vw,1.43rem);
     }
     .reason .reason-whole .reason-point03-col .reason-point03-item .reason-point03-right .reason-point03-large span{
         font-size: min(8vw,1.93rem);
     }
}

.voice{
     background:var(--bgcolor02);
     position:relative;
     padding-block: 4em 5em;
}
.voice .voice-style{
    font-size:2.625rem;
    font-weight:bold;
    margin-bottom: 1.5em;
}
.voice .voice-list{
    margin-bottom: 2.5em;
}
.voice .voice-item{
    border-radius:10px;
    border: 2px solid;
    background:var(--whitecolor);
    margin-inline: 2em;
    padding: 1em 2em 2em;
    text-align: left;
    box-shadow: 7px 7px black;
    margin-bottom:1em;
    height: auto;
}
.voice .voice-person{
    display:flex;
    justify-content:flex-start;
    align-items:center;
    gap: 1em;
    margin-bottom: 0.5em;
}
.voice .voice-person .voice-iamge{
    width:62px;
}
.voice .voice-person .voice-text{
    width: calc(100% - 1em - 62px);
}
.voice time{
    color:#c3c3c3;
    display:block;
    margin-bottom: 0.25em;
}
.voice .star5_rating{
    position: relative;
    z-index: 0;
    display: inline-block;
    white-space: nowrap;
    color: #fac12e;
    font-size: 1.3125rem;
    letter-spacing:0.2em;
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    gap: 0.25em;
}
.voice .voice-item > p{
    font-weight:500;
    line-height:1.75;
}
.voice .slick-slider .slick-track{
    display:flex;
    align-items:stretch;
}
.voice .voice-btn .btn{
    margin:0 auto;
    width: 100%;
    max-width: 382px;
    min-height: 3.5em;
}
@media screen and (max-width:1400px) {
    .voice .voice-item{
       max-width:100%; 
    }
}
@media screen and (max-width:768px) {
    .voice{
        padding: 2em 15px 3.5em;
    }
    .voice .voice-style{
        font-size:1.93rem;
        margin-bottom: 1em;
    }
    .voice .voice-list{
        margin-bottom: 0.5em;
    }
    .voice .voice-list .slick-list{
        padding-left:0 !important;
    }
    .voice .voice-list-sp .slick-list{
        padding-right:0 !important;
    }
    .voice .voice-item{
        border-radius: 5px;
        border-width: 1px;
        margin-inline: 0.5em;
        padding: 1em;
        box-shadow: 4px 4px black;
        margin-bottom:1em;
    }
    .voice time,
    .voice .voice-item > p{
       font-size:0.79rem;
    }
    .voice .voice-person .voice-iamge{
        width:60px;
    }
    .voice .slick-track{
        overflow:hidden;
    }
    .voice .voice-btn .btn{
        margin: 1em auto 0;
        max-width: 382px;
        min-height: 3.5em;
        font-size:0.93rem;
        width: 84.25%;
        right:0;
        box-shadow: 3px 3px var(--fontcolor);
        text-decoration: none;
    }
}

/*speedy*/
.speedy{
    position:relative;
    padding-block: 5em 4em;
}
.speedy .speedy-col{
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;
    max-width: 1050px;
    margin:0 auto;
    gap: 5%;
}
.speedy .speedy-col .speedy-image{
    width: 52%;
}
.speedy .speedy-col .speedy-txt{
    width: 43%;
}
.speedy .speedy-col .speedy-txt .speedy-style{
    margin-bottom: 2.5em;
}
.speedy .speedy-col .speedy-txt p{
    font-size:1.125rem;
    font-weight:500;
    line-height: 2.5;
}
@media screen and (max-width:768px) {
    .speedy{
        padding-block: 3em 3em;
    }
    .speedy .speedy-col{
        gap: 1.5em;
        flex-direction:column-reverse;
    }
    .speedy .speedy-col .speedy-image{
        width: 90%;
    }
    .speedy .speedy-col .speedy-txt{
        width:100%;
    }
    .speedy .speedy-col .speedy-txt .speedy-style{
        width: 73%;
        margin: 0 auto 1.5em;
    }
    .speedy .speedy-col .speedy-txt p{
        font-size:0.93rem;
        text-align:center;
        line-height: 1.6;
    }
}

/*news*/
.news{
    background:var(--keycolor);
    position:relative;
    padding-block:6em;
}
.news .news-box{
    background:var(--whitecolor);
    border:5px solid;
    border-radius:10px;
    padding:50px;
}
.news .news-box input{
    position:absolute;
    width:0;
    height:0;
    bottom: 0;
}
.news .news-box hgroup{
    text-align:center;
    position:relative;
    margin-bottom: 2em;
}
.news .news-box hgroup .fukidashi{
    font-size:1.5rem;
    font-weight:bold;
    background:var(--fontcolor);
    color:var(--whitecolor);
    max-width:322px;
    margin: -3.25em auto 0.5em;
    border-radius:50px;
    padding:0.363em 1em;
    position:relative;
}
.news .news-box hgroup .fukidashi:before{
    content:"";
    position: absolute;
    width: 14px;
    height: 14px;
    background-color: #282828;
    clip-path: polygon(0% 0%, 100% 0%, 100% 100%);
    inset: auto auto -11px 2.5em;
}
.news .news-box hgroup h2{
    font-size:2.625rem;
    font-weight:bold;
}
.news .news-box label{
    display: none;
    margin:1em auto 0;
    max-width:fit-content;
    font-weight:bold;
    font-size: 1.25rem;
}
.news .news-box label span{
    padding-right:1.5em;
    padding-bottom:0.125em;
    position:relative;
}
.news .news-box label span:before{
    content:"";
    width:100%;
    height:1px;
    background:var(--fontcolor);
    position:absolute;
    inset:auto 0 0 0;
    margin:auto;
    transition:var(--hover);
    transform:scale(1,1);
    transform-origin:right top;
}
.news .news-box label span:after{
    content:"";
    width: 10px;
    height: 10px;
    border-top: solid 1px;
    border-right: solid 1px;
    position: absolute;
    right:0.5em;
    top:0.25em;
    transform: rotate(135deg);
    transition:var(--hover);
}
@media (any-hover: hover) {
    .news .news-box label:hover span:before{
        transform:scale(0,1);
        transform-origin:left top;
    }
    .news .news-box label:hover span:after{
        transform:translateY(3px) rotate(135deg);
    }
}
@media screen and (max-width:1100px) {
    .news .news-box{
        padding:50px 20px;
    }
}
@media screen and (max-width:768px) {
    .news{
        padding-block:3em;
    }
    .news .news-box{
        border-width:3px;
        border-radius:5px;
        padding: 50px 15px 30px;
        position: relative;
    }
    .news .news-box hgroup{
        margin-bottom: 1em;
    }
    .news .news-box hgroup .fukidashi{
        font-size: 1rem;
        max-width: 172px;
        margin: -4.75em auto 0.5em;
        padding: 0.363em 1em;
    }
    .news .news-box hgroup .fukidashi:before{
        width: 10px;
        height: 10px;
        inset: auto auto -5px 2.5em;
    }
    .news .news-box hgroup h2{
        font-size: 1.5rem;
    }
    .news .news-box label{
        display:none;
        margin:1em auto 0;
        max-width:fit-content;
        font-weight:bold;
        font-size: 0.93rem;
    }
    :root .style_news:has(li:nth-child(n+3)) label{
    	display: block;
    }
    :root input:checked ~ .style_news:has(li:nth-child(n+3))  label{
        display:none;
    }
    .news .news-box label span{
        padding-right: 1.5em;
        padding-bottom:0.125em;
        position:relative;
    }
    .news .news-box label span:before{
        content:"";
        width:100%;
        height:1px;
        background:var(--fontcolor);
        position:absolute;
        inset:auto 0 0 0;
        margin:auto;
        transition:var(--hover);
        transform:scale(1,1);
        transform-origin:right top;
    }
    .news .news-box label span:after{
        width: 6px;
        height: 6px;
        top: 0.5em;
    }
}


/*flow*/
.flow{
    background:var(--accent04);
    position:relative;
    padding-block: 5em 5em;
}
.flow .flow-box{
    background:var(--whitecolor);
    border:5px solid;
    border-radius:10px;
    padding: 50px 45px 70px;
}
.flow .flow-box h2{
    font-size:2.625rem;
    font-weight:bold;
    text-align:center;
    margin-bottom:1em;
}
.flow .flow-box .flow-image{
    margin-bottom: 3.5em;
}
.flow .flow-box .flow-wrap{
    background:var(--bgcolor03);
    padding: 45px 50px;
    border-radius:10px;
    position:relative;
}
.flow .flow-box .flow-wrap + .flow-wrap{
    margin-top:4em;
}
.flow .flow-box .flow-wrap:before{
    content:"";
    width:56px;
    height:56px;
    background:url(../img/top/img-check-brown.png) no-repeat center / contain;
    position:absolute;
    inset:-1.75em 0 auto 0;
    margin:auto;
}
.flow .flow-box h3{
    font-size:2rem;
    font-weight:bold;
    text-align:center;
    margin-bottom: 0.75em;
}
.flow .flow-box .flow-wrap .flow-document{
    display:flex;
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 0.5em;
}
.flow .flow-box .flow-wrap .flow-document li{
    width: calc(20% - 1em);
    background:var(--whitecolor);
    display:flex;
    justify-content:center;
    align-items:center;
    text-align:center;
    font-size:1rem;
    font-weight:bold;
    flex-direction:column;
    border-radius:10px;
    min-height:5.125rem;
    padding: 0.25em;
}
.flow .flow-box .flow-wrap .flow-document li em{
    font-size:0.875rem;
}
.flow .flow-box .flow-wrap .flow-document li span{
    font-size:0.75rem;
}
.flow .flow-box .flow-wrap .flow-document li a{
    text-decoration:underline;
    display: inline-block;
    line-height: 1.6;
    padding-bottom: 0.125em;
    text-decoration-color: var(--fontcolor);
}
.flow .flow-box .flow-wrap .flow-pay{
    display:flex;
    justify-content:center;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 4.75em;
    margin-bottom:2em;
}
.flow .flow-box .flow-wrap .flow-pay li{
    text-align:center;
}
.flow .flow-box .flow-wrap .flow-pay .image{
    height: 90px;
    display:flex;
    justify-content:center;
    align-items:center;
    margin-bottom: 0.5em;
}
.flow .flow-box .flow-wrap .flow-pay li p{
    font-size:1.5rem;
    font-weight:500;
}
.flow .flow-box .flow-wrap .flow-pay + p{
    text-align:center;
    font-size:0.875rem;
    font-weight:500;
}
@media (any-hover: hover) {
    .flow .flow-box .flow-wrap .flow-document li a:hover{
        text-decoration-color: transparent;
    }
}

@media screen and (max-width:1100px) {
    .flow .flow-box{
        padding:50px 20px;
    }
}
@media screen and (max-width:768px) {
    .flow{
        padding-block: 3em 3.5em;
    }
    .flow .flow-box{
        border-width:3px;
        border-radius:5px;
        padding: 30px 10px 30px;
    }
    .flow .flow-box h2{
        font-size: 1.5rem;
    }
    .flow .flow-box .flow-image{
        margin-bottom: 3em;
    }
    .flow .flow-box .flow-wrap{
        padding: 30px 10px;
        border-radius:5px;
    }
    .flow .flow-box .flow-wrap + .flow-wrap{
        margin-top: 3em;
    }
    .flow .flow-box .flow-wrap:before{
        width:34px;
        height:34px;
        inset:-1.25em 0 auto 0;
    }
    .flow .flow-box h3{
        font-size: 1.29rem;
    }
    .flow .flow-box .flow-wrap .flow-document{
        gap: 0.5em 2%;
    }
    .flow .flow-box .flow-wrap .flow-document li{
        width: 49%;
        font-size: 0.86rem;
        border-radius: 5px;
        min-height: 0;
        padding: 0.75em 0.25em;
    }
    .flow .flow-box .flow-wrap .flow-document li em{
        font-size:0.71rem;
    }
    .flow .flow-box .flow-wrap .flow-document li span{
        font-size:0.71rem;
        letter-spacing: -0.01em;
    }
    .flow .flow-box .flow-wrap .flow-pay{
        gap:1em;
    }
    .flow .flow-box .flow-wrap .flow-pay .image{
        height:57px;
    }
    .flow .flow-box .flow-wrap .flow-pay .image img{
        max-width:57px;
        max-height: 57px;
        width:auto;
        height:auto;
    }
    .flow .flow-box .flow-wrap .flow-pay li p{
        font-size:0.86rem;
    }
    .flow .flow-box .flow-wrap .flow-pay + p{
        font-size:0.643rem;
        text-align:left;
        max-width:fit-content;
        margin:0 auto;
    }
}

/*faq*/
.faq{
    position:relative;
    padding-block: 3em 6em;
    background: var(--bgcolor02);
}
.faq .faq-style{
    font-size:2.625rem;
    font-weight:bold;
    text-align:center;
    margin-bottom:1em;
}
.faq .faq_wrap{
    position:relative;
}
.faq .faq_wrap .faq-item{
    position:relative;
    border-radius:10px;
    border:2px solid;
    box-shadow: 9px 9px var(--fontcolor);
    padding: 30px 50px 35px;
    background: var(--whitecolor);
}
.faq .faq_wrap .faq-item dt{position: relative;cursor: pointer;}
.faq .faq_wrap .faq-item dt:before,
.faq .faq_wrap .faq-item dt:after{
    content:"";
    width:1.5em;
    height:3px;
    background:var(--fontcolor);
    position:absolute;
    inset:0 0 0 auto;
    margin:auto;
    transition:var(--hover);
}
.faq .faq_wrap .faq-item dt:after{
    transform:rotate(90deg);
}
.faq .faq_wrap .faq-item dt.opened:before{
    transform:rotate(180deg);
}
.faq .faq_wrap .faq-item dt.opened:after{
    transform:rotate(180deg);
}
.faq .faq_wrap .faq-item + .faq-item{
    margin-top: 1.5em;
}
.faq .faq_wrap .faq-item dt + dd{
    margin-top:1em;
    padding-top:1em;
    border-top:2px dashed #e8e8e8;
}

.faq .faq_wrap .faq-item .faq-col{
    display:flex;
    justify-content:space-between;
    align-items:stretch;
    flex-wrap:wrap;
    gap: 0.5em;
}
.faq .faq_wrap .faq-item .faq-col i{
    font-size:3rem;
    font-weight:bold;
    width: 0.75em;
    line-height: 1;
}
.faq .faq_wrap .faq-item .faq-col .faq-q{
    color:var(--keycolor)
}
.faq .faq_wrap .faq-item .faq-col .faq-a{
    color:var(--accent04)
}
.faq .faq_wrap .faq-item .faq-col .faq-q-title,
.faq .faq_wrap .faq-item .faq-col .faq-a-answer{
    width: calc(100% - 3.5em);
}
.faq .faq_wrap .faq-item .faq-col .faq-q-title{
    padding-top:0.5em;
    padding-right: 2em;
}
.faq .faq_wrap .faq-item .faq-col .faq-q-title p{
    color:var(--keycolor);
    font-size:1.75rem;
    font-weight:bold;
    text-align:left;
}
.faq .faq_wrap .faq-item .faq-col .faq-a-answer p{
    font-size:1.125rem;
    font-weight:500;
    line-height:1.6
}
@media screen and (max-width:1100px) {
   .faq .faq_wrap .faq-item{
        padding:20px 20px;
    }
}
@media screen and (max-width:768px) {
    .faq{
        padding-block: 2em 3em;
    }
    .faq .faq-style{
        font-size:1.964rem;
        margin-bottom: 0.75em;
    }
    .faq .faq_wrap{
        position:relative;
    }
    .faq .faq_wrap .faq-item{
        border-radius:5px;
        border-width:1px;
        box-shadow:3px 3px var(--fontcolor);
        padding: 15px 15px 20px;
    }
    .faq .faq_wrap .faq-item dt:before,
    .faq .faq_wrap .faq-item dt:after{
        width:1em;
        height:2px;
    }
    .faq .faq_wrap .faq-item + .faq-item{
        margin-top: 1.5em;
    }
    .faq .faq_wrap .faq-item .faq-col{
        gap: 0.5em;
    }
    .faq .faq_wrap .faq-item .faq-col i{
        font-size:1.71rem;
    }
    .faq .faq_wrap .faq-item .faq-col .faq-q-title,
    .faq .faq_wrap .faq-item .faq-col .faq-a-answer{
        width: calc(100% - 2em);
    }
    .faq .faq_wrap .faq-item .faq-col .faq-q-title{
        padding-top: 0.25em;
        padding-right: 1.5em;
    }
    .faq .faq_wrap .faq-item .faq-col .faq-q-title p{
        font-size: 1.07rem;
    }
    .faq .faq_wrap .faq-item .faq-col .faq-a-answer p{
        font-size: 0.93rem;
    }
    .faq .faq_wrap .faq-item dt + dd{
        border-width:1px;
    }
}


/*shop-intro*/
.shop-intro{
    padding-block: 7em 6em;
}
.shop-intro .shop-intro-box{
    background:var(--whitecolor);
    border:5px solid;
    border-radius:10px;
    padding:50px;
}
.shop-intro .shop-intro-box hgroup{
    text-align:center;
    position:relative;
    margin-bottom: 2em;
}
.shop-intro .shop-intro-box hgroup .fukidashi{
    font-size:1.5rem;
    font-weight:bold;
    background:var(--fontcolor);
    color:var(--whitecolor);
    max-width:322px;
    margin: -3.25em auto 0.5em;
    border-radius:50px;
    padding:0.363em 1em;
    position:relative;
}
.shop-intro .shop-intro-box hgroup .fukidashi:before{
    content:"";
    position: absolute;
    width: 14px;
    height: 14px;
    background-color: #282828;
    clip-path: polygon(0% 0%, 100% 0%, 100% 100%);
    inset: auto auto -11px 2.5em;
}
.shop-intro .shop-intro-box hgroup h2{
    font-size:2.625rem;
    font-weight:bold;
}
.shop-intro .shop-intro-box .shop-intro-wrap{
    display:flex;
    justify-content:space-between;
    align-items: center;
    flex-wrap:wrap;
    gap:4%;
    margin-bottom:2em;
}
.shop-intro .shop-intro-box .shop-intro-wrap .shop-intro-image{
    width: 46%;
}
.shop-intro .shop-intro-box .shop-intro-wrap .shop-intro-image img{
    border-radius:10px;
    border:2px solid;
}
.shop-intro .shop-intro-box .shop-intro-wrap .shop-intro-txt{
    width:50%;
}
.shop-intro .shop-intro-box .shop-intro-wrap .shop-intro-txt h3{
    font-size:1.75rem;
    font-weight:bold;
    color:var(--keycolor);
    margin-bottom: 0.75em;
}
.shop-intro .shop-intro-box .shop-intro-wrap .shop-intro-txt p{
    font-size:1.125rem;
    line-height: 1.75;
    font-weight: 500;
}
.shop-intro .shop-intro-box .shop-intro-wrap .shop-intro-txt span{
    font-size:0.875rem;
}
.shop-intro .shop-intro-box .shop-intro-wrap .shop-intro-txt p + p{
    margin-top: 1.25em;
}
.shop-intro .shop-intro-box .shop-intro-map{
    margin-bottom:2em;
}
.shop-intro .shop-intro-box .shop-group{
    background:var(--bgcolor03);
    padding: 30px 50px;
    border-radius:10px;
    position:relative;
}
.shop-intro .shop-intro-box .shop-group-col{
    display:flex;
    justify-content:space-between;
    align-items:stretch;
    max-width:825px;
    margin:0 auto;
    position: relative;
    padding-block: 2em;
}
.shop-intro .shop-intro-box .shop-group-col:before{
    content:"";
    width:2px;
    border-left:2px dashed #ccccca;
    position:absolute;
    inset:0 auto 0 calc(232px + 2.5em);
}
.shop-intro .shop-intro-box .shop-group-col > *{
    display:flex;
    justify-content:flex-start;
    align-items:stretch;
    gap: 1.5em 2em;
    flex-wrap: wrap;
}
.shop-intro .shop-intro-box .shop-group-col .shop-group-left{
    width: calc(232px + 3em);
    padding-right: 2.5em;
}
.shop-intro .shop-intro-box .shop-group-col .shop-group-right{
    width: calc(100% - 232px - 3em);
    padding-left: 2.5em;
}
.shop-intro .shop-intro-box .shop-group-col .shop-group-style{
    width:100%;
    font-size:2rem;
    font-weight:bold;
}
.shop-intro .shop-intro-box .shop-group-col .shop-group-item{
    background:var(--whitecolor);
    border-radius:10px;
    border:2px solid;
    max-width:236px;
}
.shop-intro .shop-intro-box .shop-group-col .shop-group-item .btn{
    font-size: 0.875rem;
    min-height: 2.35em;
    min-width: 0;
    max-width: 176px;
    width: 100%;
    padding: 0.25em 0.75em;
    right: 0;
    margin: 0 auto;
    box-shadow: 3px 3px var(--fontcolor);
    background: var(--bgcolor02);
    justify-content: flex-start;
    font-weight: 500;
}
.shop-intro .shop-intro-box .shop-group-col .shop-group-item .btn::before{
	content:"";
	width:6px;
	height: 6px;
	inset: 0 0.75em 0 auto;
	margin:auto;
    border-width:1px;
}
.shop-intro .shop-intro-box .shop-group-col .shop-group-item .shop-group-text{
    padding: 1em 0.5em 1.5em;
}
.shop-intro .shop-intro-box .shop-group-col .shop-group-item .shop-group-text p{
    font-size:1.125rem;
    font-weight:bold;
    text-align:center;
    margin-bottom:0.5em
}
.shop-intro .shop-intro-box .shop-group-col .shop-group-item .shop-group-image{
    border-radius:10px 10px 0 0;
    overflow:hidden;
}
@media (any-hover: hover) {
	.shop-intro .shop-intro-box .shop-group-col .shop-group-item .btn:hover {
		translate: 3px 3px;
		text-decoration: none;
		box-shadow: none;
	}
    .shop-intro .shop-intro-box .shop-group-col{
        padding-block:1em;
    }
}
@media screen and (max-device-width:1300px) {
    .shop-intro .shop-intro-box .shop-group-col{
        max-width: 850px;
    }
    .shop-intro .shop-intro-box .shop-group-col .shop-group-item .btn{
        max-width: 196px;
        letter-spacing:-0.05em;
    }
}
@media screen and (max-width:1100px) {
    .shop-intro .shop-intro-box{
        padding:50px 20px;
    }
    .shop-intro .shop-intro-box .shop-group{
        padding: 20px 10px;
    }
}

@media screen and (max-width:950px) {
    .shop-intro .shop-intro-box .shop-group-col > *{
        gap:1em 2%;
    }
    .shop-intro .shop-intro-box .shop-group-col .shop-group-left{
        width: 33%;
        padding-right:2%;
    }
    .shop-intro .shop-intro-box .shop-group-col .shop-group-right{
        width: 66%;
        padding-left:2%;
    }
    .shop-intro .shop-intro-box .shop-group-col .shop-group-item{
        width: 100%;
        max-width: 100%;
    }
    .shop-intro .shop-intro-box .shop-group-col .shop-group-right .shop-group-item{
        width:48%;
    }
    .shop-intro .shop-intro-box .shop-group-col:before{
        left:33%;
    }
}
@media screen and (max-width:768px) {
    .shop-intro{
        padding-block: 4em 3em;
    }
    .shop-intro .shop-intro-box{
        border-width:3px;
        border-radius: 5px;
        padding: 50px 15px 30px;
    }
    .shop-intro .shop-intro-box hgroup{
        margin-bottom: 1.25em;
    }
    .shop-intro .shop-intro-box hgroup .fukidashi{
        font-size: 0.93rem;
        max-width: 166px;
        margin: -5em auto 0.5em;
    }
    .shop-intro .shop-intro-box hgroup .fukidashi:before{
        width: 10px;
        height: 10px;
        inset: auto auto -7px 2.5em;
    }
    .shop-intro .shop-intro-box hgroup h2{
        font-size: 1.71rem;
    }
    .shop-intro .shop-intro-box .shop-intro-wrap{
        gap: 1.5em;
        margin-bottom: 1em;
    }
    .shop-intro .shop-intro-box .shop-intro-wrap .shop-intro-image{
        width: 95%;
        margin: 0 auto;
    }
    .shop-intro .shop-intro-box .shop-intro-wrap .shop-intro-txt{
        width:100%;
    }
    .shop-intro .shop-intro-box .shop-intro-wrap .shop-intro-image img{
        border-radius:5px;
        border-width:1px;
    }
    .shop-intro .shop-intro-box .shop-intro-wrap .shop-intro-txt h3{
        font-size: 1.357rem;
        margin-bottom: 0.75em;
    }
    .shop-intro .shop-intro-box .shop-intro-wrap .shop-intro-txt p{
        font-size: 0.93rem;
        font-weight: 500;
        line-height: 1.75;
        display: inline-block;
    }
    .shop-intro .shop-intro-box .shop-intro-wrap .shop-intro-txt span{
        font-size: 0.71rem;
    }
    .shop-intro .shop-intro-box .shop-intro-wrap .shop-intro-txt p + p{
        margin-top: 1.25em;
    }
    .shop-intro .shop-intro-box .shop-intro-map{
        margin-bottom: 1.5em;
    }
    .shop-intro .shop-intro-box .shop-intro-map iframe{
        height: 40vw;
    }
    .shop-intro .shop-intro-box .shop-group-col{
        padding-block:0;
        flex-wrap:wrap;
    }
    .shop-intro .shop-intro-box .shop-group-col:before{
        width:inherit;
        height:1px;
        border-left:0;
        border-bottom:1px dashed #ccccca;
        inset:0 0 0 0;
        margin:auto;
    }
    .shop-intro .shop-intro-box .shop-group-col > *{
        display:flex;
        justify-content:flex-start;
        align-items:stretch;
        gap: 1em 2em;
        flex-wrap: wrap;
    }
    .shop-intro .shop-intro-box .shop-group-col .shop-group-left{
        width:100%;
        padding-right:0;
        padding-bottom: 1em;
    }
    .shop-intro .shop-intro-box .shop-group-col .shop-group-right{
         width:100%;
         padding-left:0;
         padding-top: 1em;
         gap: 1em 2%;
         justify-content: space-around;
    }
    .shop-intro .shop-intro-box .shop-group-col .shop-group-right .shop-group-item{
        width:48%;
    }
    .shop-intro .shop-intro-box .shop-group-col .shop-group-item{
        width:48%;
        margin:0 auto;
        border-width: 1px;
        border-radius: 5px;
    }
    .shop-intro .shop-intro-box .shop-group-col .shop-group-item .shop-group-text p{
        font-size:0.86rem;
    }
    .shop-intro .shop-intro-box .shop-group-col .shop-group-style{
        font-size:1.43rem;
        text-align:center;
        line-height: 1;
    }
    .shop-intro .shop-intro-box .shop-group-col .shop-group-item .btn{
        font-size: 0.71rem;
        min-height: 1.875em;
        box-shadow:2px 2px var(--fontcolor);
        border-width:1px;
        text-decoration:none;
        padding: 0.125em 0.75em 0.25em;
    }
    .shop-intro .shop-intro-box .shop-group-col .shop-group-item .btn::before{
    	width: 4px;
    	height: 4px;
    	inset: 0 0.625em 0 auto;
    }
    .shop-intro .shop-intro-box .shop-group-col .shop-group-item .shop-group-text{
        padding: 0.625em 0.5em 1em;
    }
    .shop-intro .shop-intro-box .shop-group{
        padding:15px 10px 20px;
        border-radius: 5px;
    }
    .shop-intro .shop-intro-box .shop-group-col .shop-group-item .shop-group-image{
        border-radius:5px 5px 0 0;
    }
}



/*reservation*/
.reservation{
    position:relative;
    background:var(--accent01);
    padding-block: 3em 9em;
}
.reservation .reservation-style{
    position:relative;
    font-size: 2.625rem;
    font-weight:bold;
    text-align:center;
    max-width: fit-content;
    margin: 0 auto 0.5em;
}
.reservation .reservation-form{
    position:relative;
    background:var(--bgcolor03);
    padding:40px 100px 80px;
    border-radius: 10px;
    border: 2px solid;
}
.reservation .snow-monkey-form .smf-item__col--controls h3{
    margin-bottom: 0.25em;
    font-size:1.75rem;
	font-weight:bold;
}
.reservation :where(.wp-block-columns.is-layout-flex){
    gap:1em 2%;
}
.reservation .reservation-form:has([data-screen="complete"]){
    padding-bottom: 60px;
}
.reservation [data-screen="complete"] p{
    text-align:center;
    font-size:1.125rem;
    font-weight:500;
    line-height:2;
}
.reservation [data-screen="complete"] .smf-form--simple-table+.smf-action{
    margin:0;
}
@media screen and (max-width:1100px) {
    .reservation .reservation-form{
        padding:40px 30px 80px;
    }
}
@media screen and (max-width:768px) {
    .reservation{
        padding-block: 2em 5.5em;
    }
    .reservation .reservation-style{
        font-size: 1.964rem;
    }
    .reservation .reservation-form{
        padding: 20px 15px 30px;
        border-radius: 5px;
        border-width:1px;
    }
    .reservation .snow-monkey-form .smf-item__col--controls h3{
        font-size:1.357rem;
    }
    .reservation .reservation-form:has([data-screen="complete"]){
        padding-bottom:30px;
    }
    .reservation [data-screen="complete"] p{
        text-align:left;
        font-size:0.93rem;
        line-height:1.6;
    }
}
