@charset "UTF-8";
:root{
    --header-height:8rem;
    --header-height-sp:7rem;
    --gradient-style:linear-gradient(163deg, #22649D 0%, #619DD0 91.72%)
}
@supports (-webkit-touch-callout:none){
    html{
        height:-webkit-fill-available
    }
    body{
        min-height:100vh;
        min-height:-webkit-fill-available
    }
}
html{
    font-size:62.5%
}
body{
    color:#2e3b47;
    font-size:1.6rem;
    line-height:1.2;
    font-family:"Noto Sans JP",sans-serif;
    font-optical-sizing:auto;
    font-weight:400;
    font-feature-settings:"palt";
    word-break:normal;
    overflow-wrap:break-word;
    position:relative;
    margin:0;
    overflow-x:hidden
}
body.fixed{
    position:fixed;
    width:100%;
    height:100%;
    left:0
}
body.is-opening-fixed{
    position:fixed;
    width:100%;
    overflow:hidden
}
body *{
    box-sizing:border-box
}
body.preload *{
    transition:none!important
}
::after,::before{
    box-sizing:border-box
}
input,select,textarea{
    font-size:16px
}
input:-ms-input-placeholder,select:-ms-input-placeholder,textarea:-ms-input-placeholder{
    font-family:"Noto Sans JP",sans-serif;
    color:#2e3b47;
    opacity:.6;
    font-size:1.6rem;
    line-height:1.875;
    letter-spacing:.1em
}
input::placeholder,select::placeholder,textarea::placeholder{
    font-family:"Noto Sans JP",sans-serif;
    color:#2e3b47;
    opacity:.6;
    font-size:1.6rem;
    line-height:1.875;
    letter-spacing:.1em
}
h1,h2,h3,h4,h5,h6,p{
    margin:0;
    padding:0;
    border:0;
    font-style:normal;
    vertical-align:baseline
}
h1,h2,h3,h4,h5,h6{
    color:#2e3b47;
    font-weight:400
}
dd,dl,dt{
    margin:0;
    padding:0
}
a{
    color:#2e3b47;
    transition:all .3s ease;
    text-decoration:none
}
a[href^="tel:"]{
    pointer-events:auto;
    text-decoration:none!important
}
a i{
    text-decoration:none
}
a img,a::after,a::before{
    transition:all .3s ease
}
img{
    max-width:100%;
    height:auto;
    vertical-align:bottom
}
em{
    font-style:italic
}
ol{
    margin:0;
    padding:0
}
ol li{
    margin:0;
    padding:0
}
ul{
    margin:0;
    padding:0;
    list-style:none
}
ul li{
    margin:0;
    padding:0
}
table{
    border-spacing:0
}
table td{
    position:relative;
    z-index:1;
    padding:0
}
table td.sp{
    z-index:2
}
table th{
    padding:0
}
figure{
    margin:0
}
br.pc{
    display:none
}
br.sp{
    display:inline
}
br.custom{
    display:inline
}
br.custom60{
    display:inline
}
.header{
    position:fixed;
    z-index:99;
    top:0;
    right:0;
    width:100%;
    height:var(--header-height-sp);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    padding-left:1.5rem;
    background-color:#fff
}
.header::before{
    content:"";
    width:100%;
    height:.4rem;
    background:var(--gradient-style);
    position:absolute;
    bottom:0;
    left:0
}
.header__logo{
    margin-top:-1rem
}
.header__logo>a{
    display:block
}
.header__logo img{
    width:14rem
}
.header__logo.is-appeared{
    opacity:1;
    pointer-events:all
}
.header__nav-overwrap{
    display:flex
}
.header__nav-wrap{
    display:none
}
.header__nav-list{
    display:flex;
    align-items:center;
    gap:3rem;
    gap:clamp(1.8rem,-.6rem + 1.875vw,3rem)
}
.header__nav-link{
    font-size:1.6rem;
    font-size:clamp(1.5rem,1.3rem + .15625vw,1.6rem);
    line-height:1.8;
    letter-spacing:.05em;
    color:#2e3b47;
    opacity:.7
}
.header__link-wrap{
    width:7rem
}
.header__link{
    height:100%;
    background:var(--gradient-style);
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:1rem;
    font-weight:700;
    color:#fff;
    font-size:1.6rem;
    line-height:1.6;
    letter-spacing:.01em
}
.header__link>.icon{
    margin-top:-1px
}
.header__link>.icon img{
    width:3.1rem
}
.header__link>.text{
    display:none
}
.header__sp-nav-btn{
    width:7rem;
    aspect-ratio:1;
    background-color:#2e3b47;
    border:none;
    display:grid;
    place-content:center;
    position:relative;
    z-index:1001;
    transition:opacity .2s ease
}
.header__sp-nav-btn>.line{
    position:relative;
    width:3rem;
    height:.18rem;
    background-color:#fff
}
.header__sp-nav-btn>.line::after,.header__sp-nav-btn>.line::before{
    content:"";
    position:absolute;
    left:0;
    width:3rem;
    height:.18rem;
    background-color:#fff
}
.header__sp-nav-btn>.line::before{
    top:-1rem
}
.header__sp-nav-btn>.line::after{
    bottom:-1rem
}
.header__sp-nav-btn>.line,.header__sp-nav-btn>.line::after,.header__sp-nav-btn>.line::before{
    transition:transform .25s ease,top .25s ease,bottom .25s ease,background-color .25s ease,opacity .2s ease
}
.header__sp-nav-wrap{
    position:fixed;
    top:7rem;
    right:0;
    bottom:0;
    left:0;
    overflow:auto;
    background-color:#f6f7f9;
    padding:6rem 3rem;
    z-index:1000;
    visibility:hidden;
    pointer-events:none;
    opacity:0;
    transform:translateY(-8px);
    transition:opacity .25s ease,transform .25s ease,visibility 0s linear .25s;
    background:#fff
}
.header__sp-nav-item{
    padding-inline:1rem;
    background:linear-gradient(to right,rgba(0,0,0,.2),rgba(0,0,0,.2) .2rem,transparent .4rem) repeat-x left top/.6rem 1px
}
.header__sp-nav-link{
    display:block;
    width:-moz-fit-content;
    width:fit-content;
    padding-block:3rem;
    padding-inline:1.6rem 0;
    font-weight:500;
    font-size:1.6rem;
    line-height:1.09;
    letter-spacing:.07em;
    position:relative
}
.header__sp-nav-link::before{
    content:"";
    position:absolute;
    top:50%;
    left:0;
    translate:0 -50%;
    background:url(../images/nav_link_icon.svg) no-repeat center/contain;
    width:.8rem;
    height:1.4rem
}
.header.is-open .header__sp-nav-wrap{
    visibility:visible;
    pointer-events:auto;
    opacity:1;
    transform:translateY(0);
    transition:opacity .25s ease,transform .25s ease
}
.header.is-open .header__sp-nav-btn>.line{
    background-color:transparent
}
.header.is-open .header__sp-nav-btn>.line::before{
    top:0;
    transform:rotate(45deg)
}
.header.is-open .header__sp-nav-btn>.line::after{
    bottom:auto;
    top:0;
    transform:rotate(-45deg)
}
.footer{
    padding:6rem 2rem 14rem
}
.footer__inner{
    display:flex;
    flex-direction:column;
    align-items:center
}
.footer__logo img{
    width:20rem
}
.footer__list{
    margin-top:2rem;
    display:grid;
    grid-template-columns:1fr;
    gap:1rem
}
.footer__list-link{
    text-align:center;
    display:block;
    font-weight:400;
    font-size:1.4rem;
    line-height:1.8;
    letter-spacing:.05em
}
.footer__copyright{
    margin-top:2rem
}
.footer__copyright small{
    font-weight:400;
    font-size:1.2rem;
    line-height:1.8;
    letter-spacing:.05em
}
.section-ttl-wrap{
    display:grid;
    place-content:center;
    place-items:center;
    gap:.5rem
}
.section-ttl{
    font-weight:700;
    font-size:3.2rem;
    line-height:1.2;
    letter-spacing:.07em
}
.section-ttl-en{
    position:relative;
    font-family:"Plus Jakarta Sans",sans-serif;
    text-transform:uppercase;
    font-weight:700;
    font-size:1rem;
    line-height:1.2;
    letter-spacing:.07em
}
.section-ttl-en::after,.section-ttl-en::before{
    content:"";
    position:absolute;
    top:50%;
    translate:0 -50%;
    width:1rem;
    height:.2rem;
    background-color:#9cbedd
}
.section-ttl-en::before{
    left:-1.5rem
}
.section-ttl-en::after{
    right:-1.5rem
}
.section-bgwrap{
    background-color:#edf2f5;
    padding:2rem 2rem;
    overflow:hidden
}
.common-layout{
    border-radius:2rem;
    background-color:#fff
}
.common{
    display:flex;
    flex-direction:column;
    padding-inline:2rem
}
.common__ttl-wrap{
    flex:1 0 auto
}
.common__ttl{
    font-weight:700;
    font-size:3.2rem;
    line-height:1.2;
    letter-spacing:.07em
}
.common__ttl-en{
    position:relative;
    font-family:"Plus Jakarta Sans",sans-serif;
    text-transform:uppercase;
    font-weight:700;
    font-size:1rem;
    line-height:1.2;
    letter-spacing:.07em;
    margin-top:.6rem;
    margin-left:1.5rem
}
.common__ttl-en::before{
    content:"";
    position:absolute;
    top:50%;
    left:-1.5rem;
    translate:0 -50%;
    width:1rem;
    height:.2rem;
    background-color:#9cbedd
}
.common__desc{
    margin-top:1.5rem;
    font-weight:400;
    font-size:1.6rem;
    line-height:1.6;
    letter-spacing:.07em
}
.common-catch{
    padding-inline:2rem;
    font-weight:700;
    font-size:2.4rem;
    line-height:1.3;
    letter-spacing:.05em;
    margin-top:3.5rem
}
.fixed-btn{
    position:fixed;
    bottom:0;
    left:0;
    z-index:11;
    width:100%
}
.fixed-btn a{
    display:block;
    position:relative;
    width:100%
}
.fixed-btn a .img img{
    width:100%
}
.mv{
    margin-top:var(--header-height-sp);
    position:relative;
    overflow:hidden;
    height:67rem
}
.mv::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:10;
    border:1.5rem solid #9cbedd;
    pointer-events:none
}
.mv__text-box{
    position:absolute;
    top:4.9rem;
    left:14.4927536232vw;
    z-index:1;
    width:100%
}
.mv__white{
    width:-moz-fit-content;
    width:fit-content;
    display:flex;
    align-items:center
}
.mv__white>.text{
    color:#fff;
    font-weight:700;
    font-size:1.4rem;
    font-size:clamp(1.4rem,.9450549451rem + 1.0989010989vw,2rem);
    line-height:1.4;
    letter-spacing:.05em
}
.mv__white>.text.m--orange{
    padding-inline:1.2rem .2rem;
    background-color:#f97d24
}
.mv__white>.text.m--base{
    padding-inline:.2rem 1.2rem;
    background-color:#2e3b47
}
.mv__catch{
    margin-top:1.6rem;
    font-weight:900;
    font-size:clamp(1.6rem,.8417582418rem + 1.8315018315vw,2.6rem);
    line-height:1.36;
    letter-spacing:.04em
}
.mv__text{
    margin-top:.4rem;
    font-weight:900;
    font-size:clamp(3.6rem,1.9318681319rem + 4.0293040293vw,5.8rem);
    line-height:1.3
}
.mv__logo{
    margin-top:1.6rem
}
.mv__logo img{
    width:20rem
}
.mv__img{
    position:relative;
    left:50%;
    translate:-50% 0;
    width:96rem
}
.mv__img img{
    width:96rem
}
.slide-wrap{
    position:relative;
    padding-top:5.1rem
}
.slide-wrap__text{
    padding:1.7rem 2rem;
    display:flex;
    flex-direction:row;
    align-items:center;
    justify-content:center;
    background:var(--gradient-style);
    width:100%;
    position:absolute;
    top:0;
    left:0
}
.slide-wrap__text>.text{
    font-weight:700;
    color:#fff;
    line-height:1.2;
    letter-spacing:.05em
}
.slide-wrap__text>.text.large{
    font-size:1.5rem
}
.slide-wrap__text>.text.small{
    font-size:1.5rem
}
.slide-wrap__text::before{
    content:"";
    width:2.4rem;
    height:1.2rem;
    position:absolute;
    bottom:-1.2rem;
    left:50%;
    translate:-50% 0;
    background:var(--gradient-style);
    clip-path:polygon(0 0,100% 0,50% 100%)
}
.slide{
    padding-block:.7rem 1rem;
    overflow:hidden
}
.slide .slick-slide{
    width:10rem;
    margin-inline:1rem
}
.structure{
    padding:7.9rem 2rem 0;
    background:url(../images/bg.png) repeat left top/auto
}
.structure__title{
    font-weight:700;
    font-size:2.4rem;
    line-height:2;
    letter-spacing:.05em
}
.structure__text{
    margin-top:.9rem;
    font-size:1.6rem;
    line-height:1.6;
    letter-spacing:.05em
}
.structure__img-wrap{
    margin-top:3.2rem;
    display:flex;
    align-items:flex-start;
    gap:1.5rem
}
.structure__catch{
    padding:2rem 1.3rem;
    background-color:#f97d24;
    border-radius:10rem;
    -ms-writing-mode:tb-rl;
    writing-mode:vertical-rl;
    font-feature-settings:initial;
    text-orientation:upright;
    color:#fff;
    font-weight:900;
    font-size:1.6rem;
    line-height:1.1;
    letter-spacing:.1em;
    text-align:center;
    white-space:nowrap
}
.structure__img img{
    max-width:48rem;
    width:100%
}
.structure__summary-wrap{
    margin-top:5rem;
    margin-inline:calc(50% - 50vw);
    padding:7.2rem 2rem 1.8rem;
    background-color:#2e3b47;
    position:relative
}
.structure__summary-wrap::before{
    content:"つまり";
    position:absolute;
    left:50%;
    top:0;
    translate:-50% 0;
    width:13.8rem;
    height:4.8rem;
    background-color:#fff;
    font-weight:700;
    font-size:1.6rem;
    line-height:1.6;
    letter-spacing:.07em;
    clip-path:polygon(0 0,100% 0,50% 100%);
    text-align:center
}
.structure__summary-text{
    color:#fff;
    font-weight:700;
    font-size:1.6rem;
    line-height:1.4;
    letter-spacing:.05em;
    text-align:center
}
.structure__summary-text>.color{
    color:#f0a400
}
.structure__summary-text.large{
    margin-top:.5rem;
    font-size:3.2rem;
    letter-spacing:.05em;
    text-align:justify;
    text-align-last:justify
}
.reason{
    overflow:hidden
}
.reason__title-wrap{
    padding-block:9.2rem 2.6rem;
    text-align:center
}
.reason__sub{
    font-weight:700;
    font-size:1.8rem;
    line-height:1.6;
    letter-spacing:.05em
}
.reason__title{
    font-weight:700;
    font-size:3.2rem;
    line-height:1.6;
    letter-spacing:.08em
}
.reason__title>.color{
    color:#f97d24
}
.reason__reasons{
    padding:4rem 2rem;
    background-color:#edf2f5;
    position:relative
}
.reason__reasons::before{
    content:"";
    width:5rem;
    height:2.5rem;
    background-color:#edf2f5;
    position:absolute;
    top:-2.5rem;
    left:50%;
    translate:-50% 0;
    clip-path:polygon(50% 0,100% 100%,0 100%)
}
.reason__reasons-list{
    margin-inline:auto;
    max-width:60rem;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:2rem
}
.reason__reasons-item{
    padding:3.4rem 2rem 2rem;
    border-radius:2rem;
    background-color:#fff;
    display:flex;
    flex-direction:column;
    align-items:center;
    width:100%
}
.reason__reasons-img img{
    width:30.4rem
}
.reason__reasons-text{
    padding:.5rem 1rem;
    margin-top:3rem;
    font-weight:500;
    color:#fff;
    font-size:1.4rem;
    line-height:1.3;
    letter-spacing:.05em;
    background-color:#2e3b47;
    border-radius:.5rem
}
.reason__reasons-text-large{
    margin-top:.8rem;
    font-weight:700;
    line-height:1.2;
    text-align:center
}
.reason__reasons-text-large>.large,.reason__reasons-text-large>.small{
    display:block;
    letter-spacing:.1em
}
.reason__reasons-text-large>.small{
    font-size:1.8rem
}
.reason__reasons-text-large>.large{
    margin-top:.3rem;
    font-size:3rem
}
.reason__reasons-text-large>.large>.color{
    color:#f97d24
}
.reason__reasons-ol{
    margin-top:2.5rem;
    width:100%;
    list-style:none
}
.reason__reasons-ol-item{
    padding:1.2rem 2rem 2rem;
    border:1px solid #2e3b47;
    border-radius:1rem
}
.reason__reasons-ol-item:not(:first-of-type){
    margin-top:1rem
}
.reason__reasons-ol-num{
    display:flex;
    align-items:center;
    gap:.5rem;
    color:#72b2ce;
    font-family:"Plus Jakarta Sans",sans-serif
}
.reason__reasons-ol-num>.ja{
    font-family:"Plus Jakarta Sans",sans-serif;
    font-weight:600;
    font-size:1.4rem;
    line-height:1.6;
    letter-spacing:.05em
}
.reason__reasons-ol-num>.num{
    font-family:"Plus Jakarta Sans",sans-serif;
    font-weight:700;
    font-size:1.8rem;
    line-height:1.6;
    letter-spacing:.05em
}
.reason__reasons-ol-text{
    font-weight:700;
    font-size:1.8rem;
    line-height:1.5;
    letter-spacing:.05em
}
.reason__scene{
    padding:4rem 2rem;
    background-color:rgba(156,190,221,.5);
    position:relative;
    overflow:hidden
}
.reason__scene-gear{
    position:absolute
}
.reason__scene-gear.m--top{
    top:-2.5rem;
    left:-9rem
}
.reason__scene-gear.m--top img{
    width:22rem
}
.reason__scene-gear.m--bottom{
    bottom:19rem;
    right:-5rem
}
.reason__scene-gear.m--bottom img{
    width:21.7rem
}
.reason__scene-container{
    position:relative;
    z-index:1
}
.reason__scene-inner{
    padding:.7rem;
    border:.3rem solid #fff;
    position:relative
}
.reason__scene-box{
    padding:3.2rem 2rem 2rem;
    background-color:#fff
}
.reason__scene-sub{
    font-weight:700;
    font-size:1.6rem;
    line-height:1.6;
    letter-spacing:.05em
}
.reason__scene-title{
    margin-top:.5rem;
    font-weight:700;
    font-size:2rem;
    line-height:1.6;
    letter-spacing:.05em
}
.reason__scene-list{
    margin-top:2.2rem;
    position:relative;
    z-index:1
}
.reason__scene-item{
    padding:3.9rem 2rem 2.2rem;
    border:.2rem solid #e6e6e6;
    background-color:#fff;
    display:flex;
    flex-direction:column;
    align-items:center;
    position:relative
}
.reason__scene-item:not(:first-of-type){
    margin-top:1rem
}
.reason__scene-img{
    position:absolute;
    top:2.8rem;
    left:calc(50% - 11.2rem);
    translate:-50% 0
}
.reason__scene-img img{
    width:5rem
}
.reason__scene-text-wrap{
    display:contents
}
.reason__scene-heading{
    font-weight:700;
    font-size:2rem;
    line-height:1.4;
    letter-spacing:.05em;
    text-align:center
}
.reason__scene-heading>.color{
    color:#f97d24
}
.reason__scene-contents{
    margin-top:2.5rem;
    font-size:1.6rem;
    line-height:1.6;
    letter-spacing:.05em
}
.reason__scene-material{
    position:absolute;
    top:4rem;
    right:2.7rem
}
.reason__scene-material img{
    width:7.1rem
}
.reason__pickup{
    padding:4.7rem 1.7rem 1.7rem;
    margin-top:5rem;
    width:100%;
    border:.3rem solid #fff;
    position:relative
}
.reason__pickup-title{
    width:31.8rem;
    height:4.2rem;
    display:grid;
    place-content:center;
    background-color:#f97d24;
    color:#fff;
    font-weight:700;
    font-size:1.6rem;
    line-height:1.6;
    letter-spacing:.05em;
    position:absolute;
    top:-2.1rem;
    left:50%;
    translate:-50% 0
}
.reason__pickup-title::after{
    content:"";
    width:1rem;
    height:.9rem;
    background-color:#ff9500;
    position:absolute;
    bottom:-.8rem;
    left:50%;
    translate:-50% 0;
    clip-path:polygon(0 0,100% 0,0 100%)
}
.reason__pickup-list{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(16.2rem,1fr));
    gap:1rem
}
.reason__pickup-item{
    padding:2rem;
    background-color:#fff;
    font-weight:500;
    font-size:1.4rem;
    line-height:1.5;
    letter-spacing:.05em;
    text-align:center
}
.cta-first{
    position:relative;
    z-index:2;
    padding:9.2rem 2rem 0;
    background-color:#fff
}
.cta-first__text-wrap{
    width:-moz-fit-content;
    width:fit-content;
    margin-inline:auto
}
.cta-first__text{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:.3rem;
    font-weight:700;
    font-size:1.8rem;
    line-height:1.4
}
.cta-first__text .color{
    color:#f97d24
}
.cta-first__text>.text{
    display:block;
    text-align:center
}
.cta-first__large{
    text-align:center;
    margin-top:.5rem;
    font-weight:700;
    font-size:3.2rem;
    line-height:1.4;
    letter-spacing:.1em
}
.cta-first__large .color{
    color:#f70
}
.cta-first__large>.pc-only{
    display:none
}
.cta-first__large>.sp-only{
    display:inline-block;
    text-align:center
}
.cta-first__large>.sp-only>.color{
    padding-inline:.5rem
}
.cta-first__link-wrap{
    position:relative;
    background-color:#2e3b47;
    margin:2.8rem calc(50% - 50vw) 0;
    padding:4.2rem 2rem 2rem
}
.cta-first__link-wrap::before{
    content:"";
    position:absolute;
    top:0;
    left:50%;
    translate:-50% 0;
    width:6rem;
    height:2rem;
    background-color:#fff;
    clip-path:polygon(0 0,100% 0,50% 100%)
}
.cta-first__link-text{
    text-align:center;
    color:#fff;
    font-weight:500;
    font-size:1.4rem;
    line-height:1.6;
    letter-spacing:.05em
}
.cta-first__btn-wrap{
    margin-top:1rem;
    margin-inline:auto;
    max-width:128rem;
    display:flex;
    flex-direction:column;
    gap:2rem
}
.cta-first__btn{
    text-align:center;
    max-width:50rem;
    width:100%;
    height:9.3rem;
    margin-inline:auto;
    border:.3rem solid #fff;
    border-radius:2rem;
    display:grid;
    place-content:center;
    font-weight:700;
    color:#fff;
    font-size:1.8rem;
    line-height:1.4;
    letter-spacing:.05em;
    position:relative
}
.cta-first__btn.link-trial{
    background-color:#f97d24
}
.cta-first__btn.link-contact{
    background-color:#2e8bb3
}
.cta-first__btn>.tab{
    border-radius:.3rem;
    border:.3rem solid #fff;
    background-color:#fff;
    display:grid;
    place-content:center;
    position:absolute;
    top:-.9rem;
    left:-1.1rem;
    width:10rem;
    height:3rem;
    color:#f97d24;
    font-weight:700;
    font-size:1.2rem;
    line-height:1.6;
    letter-spacing:.05em
}
.cta-first__btn>.tab::before{
    content:"";
    position:absolute;
    bottom:-.6rem;
    left:6.4rem;
    z-index:2;
    width:1.2rem;
    height:.6rem;
    background-color:#fff;
    clip-path:polygon(0 0,80% 0,100% 100%)
}
.cta-first__btn>.tab::after{
    content:"";
    position:absolute;
    bottom:-1rem;
    left:6.3rem;
    z-index:1;
    width:1.6rem;
    height:.9rem;
    background-color:#fff;
    clip-path:polygon(0 0,80% 0,100% 100%)
}
.voice{
    padding:7rem 0 5rem
}
.voice__catch{
    font-size:1.8rem
}
.voice__contents-wrap{
    position:relative;
    margin-top:2.5rem;
    border-top:1px solid #2e3b47;
    padding:4rem 2rem 0
}
.voice__material{
    position:absolute;
    top:-8.2rem;
    right:.8rem
}
.voice__material img{
    width:10rem
}
.voice__contents{
    display:grid;
    grid-template-columns:1fr;
    gap:4rem
}
.voice__item{
    display:flex;
    flex-direction:row-reverse;
    gap:1.7rem
}
.voice__txt{
    position:relative;
    background-color:#2e8bb3;
    border-radius:1rem;
    padding:3rem;
    min-height:25.1rem;
    display:flex;
    flex-direction:column
}
.voice__txt::before{
    content:"";
    position:absolute;
    top:1.9rem;
    left:-1.4rem;
    width:1.9rem;
    height:1.6rem;
    background-color:inherit;
    clip-path:polygon(0 0,100% 0,100% 100%);
    transform:5deg
}
.voice__txt>.txt{
    font-weight:500;
    color:#fff;
    font-size:1.6rem;
    line-height:1.6;
    letter-spacing:.03em
}
.voice__txt>.name{
    display:block;
    font-weight:500;
    font-size:1.4rem;
    line-height:1.8;
    letter-spacing:.05em;
    color:rgba(255,255,255,.5);
    margin-top:auto
}
.voice__img{
    flex-shrink:0
}
.voice__img img{
    width:6.9rem;
    aspect-ratio:1
}
.benefits{
    position:relative;
    margin-top:2rem;
    padding-block:7rem 5rem;
    padding-inline:2rem
}
.benefits__contents-wrap{
    position:relative;
    margin-top:1rem
}
.benefits__outer-material{
    position:absolute;
    top:-30rem;
    right:-4.5rem;
    width:15.6rem;
    height:9rem
}
.benefits__outer-material img{
    transform: scale(-1, 1);
}
.benefits__outer-material .achieve{
    position: absolute;
    width: 100%;
    left: 50%;
    top: 55%;
    transform: translate(-50%,-50%);
    color: #f97d24;
    font-size: clamp(1.4rem,1.8vw,3.2rem);
    font-weight: bold;
    text-align: center;
}
.benefits__outer-material .achieve span{
    display: block;
}
.benefits__outer-material .achieve .lead{
    color: #000;
    font-size: 90%;
}
.benefits__outer-material .achieve em{
    font-family: "Plus Jakarta Sans",sans-serif;;
    font-style: normal;
    font-size: 180%;
}
.benefits__contents{
    border:.2rem solid #2e3b47;
    padding:0 3rem;
    background-color:#fff;
    display:grid;
    grid-template-columns:1fr
}
.benefits__item{
    position:relative;
    padding:4rem 0;
    min-height:20.2rem;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:2rem
}
.benefits__item.m--border::after,.benefits__item.m--border::before{
    content:"";
    position:absolute;
    top:0;
    width:100%;
    height:.2rem;
    background:linear-gradient(to right,#2e3b47,#2e3b47 .4rem,transparent .4rem) repeat-x left bottom/.8rem .2rem
}
.benefits__item.m--border::before{
    left:0
}
.benefits__item.m--border::after{
    top:auto;
    bottom:0
}
.benefits__ttl{
    display:flex;
    align-items:center;
    background-color:#f97d24;
    color:#fff;
    font-weight:500;
    font-size:2rem;
    line-height:1.2;
    letter-spacing:.05em;
    padding-inline:2rem;
    border-radius:11.1rem
}
.benefits__ttl>.fz13{
    font-weight:500;
    font-size:1.4rem;
    line-height:1.2;
    letter-spacing:.05em
}
.benefits__ttl>.fz28{
    font-weight:500;
    font-size:2rem;
    line-height:1.2;
    letter-spacing:.05em
}
.benefits__benefit>.num{
    font-family:"Plus Jakarta Sans",sans-serif;
    font-weight:700;
    font-size:6rem;
    line-height:1
}
.benefits__benefit .unit{
    font-weight:700;
    font-size:2.5rem;
    line-height:1
}
.benefits__desc{
    font-weight:400;
    font-size:1.6rem;
    line-height:1.6;
    letter-spacing:.05em;
    margin-top:-.6rem
}
.benefits__material{
    position:absolute;
    top:25.4rem;
    right:2rem
}
.benefits__material img{
    width:10rem
}
.cases{
    margin-top:2rem;
    padding-top:7rem
}
.cases__contents-wrap{
    margin-top:4.5rem;
    border-top:1px solid #2e3b47
}
.cases__contents{
    display:grid;
    grid-template-columns:1fr
}
.cases__item{
    position:relative;
    display:flex;
    flex-direction:column;
    padding:2rem 2rem 4rem
}
.cases__item:last-of-type{
    border-top:1px solid #2e3b47
}
.cases__num{
    position:absolute;
    top:.8rem;
    right:.8rem;
    display:grid;
    place-content:center;
    place-items:center;
    background-color:#2e8bb3;
    border-radius:100vmax;
    width:5.8rem;
    aspect-ratio:1
}
.cases__num>.case{
    color:#fff;
    font-family:"Plus Jakarta Sans",sans-serif;
    font-weight:400;
    text-transform:uppercase;
    font-size:1rem;
    line-height:1;
    letter-spacing:.05em
}
.cases__num>.num{
    color:#fff;
    font-family:"Plus Jakarta Sans",sans-serif;
    font-weight:400;
    font-size:1.9rem;
    line-height:1;
    letter-spacing:.05em
}
.cases__about{
    color:#2e8bb3;
    text-align:center;
    font-weight:500;
    font-size:2rem;
    line-height:1.1;
    letter-spacing:.05em;
    order:1
}
.cases__desc-wrap{
    margin-top:2rem;
    order:2
}
.cases__desc{
    margin-top:2rem;
    font-weight:400;
    font-size:1.6rem;
    line-height:1.6;
    letter-spacing:.03em
}
.cases__desc-name{
    margin-top:1rem;
    font-weight:400;
    font-size:1.4rem;
    line-height:1.6;
    letter-spacing:.03em;
    color:rgba(0,0,0,.5)
}
.cases__img{
    order:0
}
.cases__img img{
    width:100%;
    aspect-ratio:668/404
}
.support{
    margin-top:2rem;
    padding:7rem 2rem 5rem
}
.support__contents{
    display:flex;
    flex-direction:column;
    gap:4rem
}
.support__catch{
    margin-top:3.3rem;
    font-weight:700;
    font-size:2.4rem;
    line-height:1.3;
    letter-spacing:.05em
}
.support__desc{
    margin-top:1rem;
    font-weight:400;
    font-size:1.6rem;
    line-height:1.6;
    letter-spacing:.03em
}
.support__note{
    margin-top:1.5rem;
    font-weight:400;
    font-size:1.4rem;
    line-height:1.6
}
.support__img-wrap img{
    width:33.4rem
}
.price{
    position:relative;
    background-color:#edf2f5;
    padding:21rem 2rem 6rem
}
.price__over-wrap{
    position:relative
}
.price__material{
    position:absolute;
    z-index:2;
    top:6.6rem;
    left:50%;
    translate:-50% 0
}
.price__material img{
    width:13.6rem
}
.price__desc{
    margin:3.5rem auto 0;
    width:-moz-fit-content;
    width:fit-content;
    font-weight:700;
    font-size:2rem;
    line-height:1.3;
    letter-spacing:.1em
}
.price__contents-inner{
    margin-top:1.5rem
}
.price__inline-box{
    display:grid;
    grid-template-columns:1fr;
    gap:3rem
}
.price__box-item{
    padding:3rem 2rem;
    margin-inline:auto;
    position:relative;
    max-width:45rem;
    width:100%;
    background-color:#fff;
    border-radius:2rem;
    display:flex;
    flex-direction:column;
    align-items:center
}
.price__box-item:nth-of-type(2)::before,.price__box-item:nth-of-type(3)::before{
    content:"";
    position:absolute;
    top:-2.5rem;
    left:50%;
    translate:-50% 0;
    background:url(../images/price_plus.svg) no-repeat center/contain;
    width:2rem;
    aspect-ratio:1
}
.price__box-item:nth-of-type(4){
    border:.4rem solid #2e8bb3
}
.price__box-item:nth-of-type(4)::before{
    content:"";
    position:absolute;
    top:-3rem;
    left:50%;
    translate:-50% 0;
    background:url(../images/price_equal_sp.svg) no-repeat center/contain;
    width:1.4rem;
    height:2.1rem
}
.price__box-txt{
    text-align:center;
    font-weight:400;
    font-size:2rem;
    line-height:1.4;
    letter-spacing:.05em
}
.price__box-txt:not(:has(br)){
    margin-top:.3rem
}
.price__box-num{
    margin-top:.6rem;
    white-space:nowrap;
    color:#2e8bb3
}
.price__box-num.m--minus{
    margin-top:.6rem
}
.price__box-num:has(.zero){
    margin-top:.6rem
}
.price__box-num:has(.sum){
    margin-top:.6rem
}
.price__box-num>.num{
    font-family:"Plus Jakarta Sans",sans-serif;
    font-weight:700;
    font-size:5rem;
    line-height:1
}
.price__box-num>.num.zero{
    font-size:7rem
}
.price__box-num>.unit{
    font-weight:700;
    font-size:2rem;
    line-height:1
}
.price__box-note{
    margin-top:.5rem;
    font-weight:400;
    font-size:1.4rem;
    letter-spacing:.05em;
    line-height:1.6
}
.price__note{
    margin-top:1rem;
    font-weight:400px;
    font-size:1.4rem;
    line-height:2;
    letter-spacing:.03em
}
.faq{
    background-color:#edf2f5;
    padding:13.8rem 2rem 15rem;
    position:relative;
    overflow-x:hidden
}
.faq::before{
    content:"";
    width:100%;
    height:8.5rem;
    background-color:#2e8bb3;
    position:absolute;
    top:0;
    left:50%;
    translate:-50% 0;
    clip-path:polygon(0 0,50% 32.9411764706%,100% 0,100% 58.8235294118%,50% 100%,0 58.8235294118%)
}
.faq__ttl{
    width:-moz-fit-content;
    width:fit-content;
    margin-inline:auto
}
.faq__list-wrap{
    margin-top:4rem
}
.faq__tab-menu{
    height:6rem;
    width:28rem;
    margin-inline:auto;
    position:relative
}
.faq__tab-initial{
    cursor:pointer
}
.faq__tab-initial>.txt{
    position:relative;
    height:6rem;
    font-size:1.4rem;
    line-height:1.5;
    letter-spacing:.05em;
    display:grid;
    place-items:center;
    padding-inline:3rem 6rem
}
.faq__tab-initial>.js-current{
    position:relative;
    justify-content:left
}
.faq__tab-initial>.js-current::before{
    content:"";
    position:absolute;
    top:50%;
    right:0;
    transform:translate(0,-50%);
    width:4rem;
    height:6rem;
    background:#2e3b47 url(../images/faq_tab_icon.svg) no-repeat center/1.2rem .8rem
}
.faq__tab-initial>.js-current.is-active::before{
    transform:translate(0,-50%) scale(1,-1)
}
.faq__tab-menu-list{
    position:relative;
    display:grid;
    grid-template-columns:1fr;
    height:auto
}
.faq__tab-menu-item{
    height:6rem;
    gap:.4rem;
    background-color:#fff;
    cursor:pointer;
    font-size:1.4rem;
    line-height:1.5;
    letter-spacing:.05em;
    padding-inline:3rem;
    display:grid;
    place-content:center;
    justify-content:left
}
.faq__tab-panel{
    margin-top:3rem;
    transition:all .3s
}
.faq__panel-box{
    display:none
}
.faq__panel-box.is-show{
    display:block
}
.faq__contents{
    position:relative;
    background-color:#fff;
    margin-top:3rem;
    padding:2.6rem 2rem 2.6rem 4rem;
    border:.3rem solid transparent;
    border-radius:2rem;
    cursor:pointer
}
.faq__contents.is-open{
    border-color:#2e8bb3
}
.faq__question{
    position:relative;
    font-size:1.6rem;
    font-weight:500;
    line-height:1.6;
    letter-spacing:.05em;
    padding-right:3rem
}
.faq__question::before{
    font-family:"Plus Jakarta Sans",sans-serif;
    content:"Q";
    position:absolute;
    top:-4.8rem;
    left:-5.6rem;
    color:#fff;
    font-size:1.9rem;
    font-weight:700;
    line-height:1;
    letter-spacing:.05em;
    width:5.6rem;
    aspect-ratio:1;
    border-radius:100vmax;
    background-color:#2e8bb3;
    display:grid;
    place-content:center
}
.faq__question::after{
    content:"";
    position:absolute;
    top:50%;
    right:0;
    translate:0 -50%;
    background:url(../images/faq_arrow.svg) no-repeat center/contain;
    width:1.7rem;
    height:1.9rem
}
.faq__question.is-open::after{
    background:url(../images/faq_arrow_active.svg) no-repeat center/contain
}
.faq__answer-wrap{
    transition:all .3s;
    opacity:0;
    visibility:hidden
}
.faq__answer-wrap.is-open{
    opacity:1;
    visibility:visible
}
.faq__answer-inner{
    margin-top:2rem
}
.faq__answer{
    position:relative;
    font-size:1.6rem;
    font-weight:400;
    line-height:1.6;
    letter-spacing:.1em
}
.cta{
    position:relative;
    background-color:#2e3b47;
    padding:4rem 2rem 3rem
}
.cta__material{
    position:absolute;
    top:-11rem;
    left:50%;
    translate:-50% 0
}
.cta__material img{
    width:12rem
}
.cta__link-wrap{
    margin-inline:auto;
    max-width:128rem;
    display:flex;
    flex-direction:column;
    gap:2rem
}
.cta__btn{
    text-align:center;
    max-width:50rem;
    width:100%;
    height:9.3rem;
    margin-inline:auto;
    border:.3rem solid #fff;
    border-radius:2rem;
    display:grid;
    place-content:center;
    font-weight:700;
    color:#fff;
    font-size:1.8rem;
    line-height:1.4;
    letter-spacing:.05em;
    position:relative
}
.cta__btn.link-trial{
    background-color:#f97d24
}
.cta__btn.link-contact{
    background-color:#2e8bb3
}
.cta__btn>.tab{
    border:.3rem solid #fff;
    border-radius:.3rem;
    background-color:#fff;
    display:grid;
    place-content:center;
    position:absolute;
    top:-.9rem;
    left:-1.1rem;
    width:10rem;
    height:3rem;
    color:#f97d24;
    font-weight:700;
    font-size:1.2rem;
    line-height:1.6;
    letter-spacing:.05em
}
.cta__btn>.tab::before{
    content:"";
    position:absolute;
    bottom:-.6rem;
    left:6.4rem;
    z-index:2;
    width:1.2rem;
    height:.6rem;
    background-color:#fff;
    clip-path:polygon(0 0,80% 0,100% 100%)
}
.cta__btn>.tab::after{
    content:"";
    position:absolute;
    bottom:-1rem;
    left:6.3rem;
    z-index:1;
    width:1.6rem;
    height:.9rem;
    background-color:#fff;
    clip-path:polygon(0 0,80% 0,100% 100%)
}
@media screen and (min-width:560px){
    .voice__txt{
        min-height:20rem
    }
}
@media (min-width:600px){
    br.custom60{
        display:none
    }
}
@media screen and (min-width:600px){
    .structure__img-wrap{
        justify-content:center
    }
    .reason__scene-material{
        top:2rem
    }
}
@media screen and (min-width:601px){
    .structure__summary-text.large{
        text-align:center;
        text-align-last:auto
    }
}
@media screen and (min-width:650px){
    .faq::before{
        clip-path:polygon(0 0,50% 44.7058823529%,100% 0,100% 52.9411764706%,50% 100%,0 52.9411764706%)
    }
}
@media screen and (min-width:651px){
    .fixed-btn{
        width:50%
    }
}
@media screen and (min-width:761px){
    .voice__txt{
        min-height:15rem
    }
}
@media screen and (min-width:769px){
    br.custom{
        display:none
    }
}
@media screen and (min-width:961px){
    body{
        font-size:1.8rem
    }
    a[href^="tel:"]{
        pointer-events:none;
        text-decoration:none!important
    }
    br.pc{
        display:inline
    }
    br.sp{
        display:none
    }
    .header{
        top:0;
        height:var(--header-height);
        padding-left:clamp(1.5rem,-1.5rem + 2.34375vw,3rem)
    }
    .header__logo{
        margin-top:0
    }
    .header__logo img{
        width:19.3rem
    }
    .header__nav-overwrap{
        display:contents
    }
    .header__nav-wrap{
        flex-shrink:.5;
        display:block
    }
    .header__link-wrap{
        position:static;
        height:100%;
        width:auto
    }
    .header__link{
        padding:0 3.2rem;
        width:clamp(24rem,16rem + 6.25vw,28rem);
        font-size:2.2rem
    }
    .header__link>.icon img{
        width:3.1rem
    }
    .header__link>.text{
        display:inline
    }
    .header__sp-nav-btn{
        display:none
    }
    .footer{
        padding:8rem 2rem
    }
    .footer__inner{
        display:block;
        max-width:128rem;
        margin-inline:auto
    }
    .footer__logo img{
        width:24.5rem
    }
    .footer__list{
        grid-template-columns:repeat(3,max-content);
        gap:3.5rem
    }
    .footer__list-link{
        text-align:start
    }
    .footer__copyright small{
        font-size:1.4rem
    }
    .section-ttl-wrap{
        gap:1.5rem
    }
    .section-ttl{
        font-size:6.8rem;
        letter-spacing:.15em
    }
    .section-ttl-en{
        font-size:2rem;
        letter-spacing:.14em
    }
    .section-ttl-en::after,.section-ttl-en::before{
        width:4.75rem
    }
    .section-ttl-en::before{
        left:-5.75rem
    }
    .section-ttl-en::after{
        right:-5.75rem
    }
    .section-bgwrap{
        padding:4rem 4rem
    }
    .common{
        flex-direction:row;
        justify-content:space-between;
        gap:2rem;
        max-width:172rem;
        margin-inline:auto;
        padding-inline:4rem
    }
    .common__ttl-wrap{
        flex:1 0 clamp(56rem,-44rem + 78.125vw,106rem)
    }
    .common__ttl{
        font-size:6.8rem;
        letter-spacing:.15em;
        white-space:nowrap
    }
    .common__ttl-en{
        font-size:2rem;
        letter-spacing:.14em;
        margin-top:1.5rem;
        margin-left:5.75rem
    }
    .common__ttl-en::before{
        left:-5.75rem;
        width:4.75rem
    }
    .common__desc{
        margin-top:1.5 rem;
        font-size:1.8rem;
        line-height:1.8
    }
    .common-catch{
        max-width:172rem;
        margin:4rem auto 0;
        padding-inline:4rem;
        font-size:4rem;
        line-height:1.2;
        letter-spacing:.1em
    }
    .fixed-btn{
        width:auto;
        bottom:0;
        left:auto;
        right:0
    }
    .fixed-btn a .img img{
        width:10rem
    }
    .mv{
        margin-top:var(--header-height);
        height:auto
    }
    .mv::before{
        border:3rem solid #9cbedd
    }
    .mv__text-box{
        top:clamp(6rem,-27.2rem + 25.9375vw,22.6rem);
        left:clamp(5rem,-17.8rem + 17.8125vw,16.4rem);
        translate:0 0
    }
    .mv__white>.text{
        font-size:clamp(2.2rem,.6rem + 1.25vw,3rem)
    }
    .mv__white>.text.m--orange{
        padding-inline:2.8rem .5rem
    }
    .mv__white>.text.m--base{
        padding-inline:.5rem 2.8rem
    }
    .mv__catch{
        font-size:clamp(3rem,1.8rem + .9375vw,3.6rem)
    }
    .mv__text{
        font-size:clamp(6.8rem,2.8rem + 3.125vw,8.8rem);
        line-height:1.2
    }
    .mv__logo{
        margin-top:4.1rem
    }
    .mv__logo img{
        width:45.9rem
    }
    .mv__img{
        left:auto;
        translate:0 0;
        width:auto
    }
    .mv__img img{
        width:192rem
    }
    .slide-wrap{
        padding-top:0
    }
    .slide-wrap__text{
        padding:1.5rem 2.2rem;
        flex-direction:column;
        gap:.3rem;
        width:-moz-fit-content;
        width:fit-content;
        top:2rem;
        left:0
    }
    .slide-wrap__text>.text.large{
        font-size:2.2rem
    }
    .slide-wrap__text>.text.small{
        font-size:1.7rem
    }
    .slide-wrap__text::before{
        display:none
    }
    .slide{
        padding-block:2rem
    }
    .slide .slick-slide{
        width:19rem
    }
    .structure{
        padding:11rem 2rem 0
    }
    .structure__inner{
        max-width:164rem;
        margin-inline:auto
    }
    .structure__title{
        font-size:5.8rem
    }
    .structure__text{
        margin-top:0;
        font-size:1.8rem
    }
    .structure__img-wrap{
        margin-top:6.9rem;
        display:block
    }
    .structure__catch{
        padding:.5rem 5rem;
        max-width:clamp(97rem,59rem + 29.6875vw,116rem);
        width:100%;
        border-radius:6rem;
        -ms-writing-mode:initial;
        writing-mode:initial;
        font-weight:700;
        font-size:clamp(2.4rem,1.4rem + .78125vw,2.9rem);
        line-height:1.4;
        letter-spacing:.08em
    }
    .structure__img{
        margin-top:calc(clamp(4rem,-6.8rem + 8.4375vw,9.4rem) * -1)
    }
    .structure__img img{
        width:164rem;
        max-width:100%
    }
    .structure__summary-wrap{
        margin-top:15rem;
        padding:8.7rem 2rem 5.8rem
    }
    .structure__summary-wrap::before{
        width:20.2rem;
        height:7rem;
        font-size:2.4rem
    }
    .structure__summary-text{
        font-size:2.8rem;
        letter-spacing:.07em;
        line-height:1.6
    }
    .structure__summary-text.large{
        margin-top:-.5rem;
        font-size:5.2rem;
        text-align:center
    }
    .reason__title-wrap{
        padding-block:23.8rem 3.5rem
    }
    .reason__sub{
        font-size:2.6rem;
        letter-spacing:.2em
    }
    .reason__title{
        margin-top:.5rem;
        font-size:5.8rem;
        line-height:1.5
    }
    .reason__reasons{
        margin-top:1.8rem;
        padding:6rem 2rem 10rem
    }
    .reason__reasons::before{
        width:9.4rem;
        height:4.7rem;
        top:-3.6rem
    }
    .reason__reasons-list{
        max-width:146rem;
        flex-direction:row;
        align-items:flex-start;
        gap:clamp(3rem,-5rem + 6.25vw,7rem)
    }
    .reason__reasons-item{
        padding:3.5rem clamp(5rem,3rem + 1.5625vw,6rem) 6rem
    }
    .reason__reasons-img img{
        width:57.5rem
    }
    .reason__reasons-text{
        padding:.4rem .9rem;
        margin-top:4.5rem;
        font-size:1.6rem;
        line-height:1.5
    }
    .reason__reasons-text-large{
        margin-top:1.2rem
    }
    .reason__reasons-text-large>.small{
        font-size:2.6rem
    }
    .reason__reasons-text-large>.large{
        font-size:4.2rem
    }
    .reason__reasons-ol{
        margin-top:4.4rem
    }
    .reason__reasons-ol-item{
        padding:1.1rem 3rem;
        display:grid;
        align-items:center;
        grid-template-columns:max-content 1fr;
        gap:3rem
    }
    .reason__reasons-ol-num{
        gap:.8rem
    }
    .reason__reasons-ol-num>.ja{
        font-size:1.6rem;
        letter-spacing:.2em
    }
    .reason__reasons-ol-num>.num{
        font-size:2.8rem;
        letter-spacing:.2em
    }
    .reason__reasons-ol-text{
        font-size:2rem
    }
    .reason__scene{
        padding:10rem 2rem
    }
    .reason__scene-gear.m--top{
        top:-14rem;
        left:-20rem
    }
    .reason__scene-gear.m--top img{
        width:66.9rem
    }
    .reason__scene-gear.m--bottom{
        bottom:-14rem;
        right:-17rem
    }
    .reason__scene-gear.m--bottom img{
        width:84.2rem
    }
    .reason__scene-container{
        max-width:146rem;
        margin-inline:auto
    }
    .reason__scene-inner{
        padding:1.2rem;
        border:.8rem solid #fff;
        max-width:128rem
    }
    .reason__scene-box{
        padding:8.8rem 10rem 10rem
    }
    .reason__scene-sub{
        font-size:2.66rem;
        letter-spacing:.11em
    }
    .reason__scene-title{
        margin-top:0;
        font-size:4.6rem;
        line-height:1.5
    }
    .reason__scene-list{
        margin-top:4.2rem;
        display:grid;
        grid-template-columns:repeat(2,1fr);
        gap:3rem;
        z-index:0
    }
    .reason__scene-item:not(:first-of-type){
        margin-top:0
    }
    .reason__scene-item{
        padding:3.5rem 1rem;
        border:.5rem solid #e6e6e6;
        flex-direction:row;
        align-items:flex-start;
        gap:3rem;
        max-width:none
    }
    .reason__scene-img{
        position:static;
        flex:0 0 14rem;
        translate:0 0
    }
    .reason__scene-img img{
        width:14rem
    }
    .reason__scene-text-wrap{
        display:block;
        flex:0 1 30.5rem
    }
    .reason__scene-heading{
        font-size:2.4rem;
        letter-spacing:.07em;
        text-align:start
    }
    .reason__scene-contents{
        margin-top:0;
        font-size:1.8rem;
        line-height:1.8;
        letter-spacing:.07em
    }
    .reason__scene-material{
        top:28rem;
        right:calc(clamp(4.5rem,-26.5rem + 24.21875vw,20rem) * -1)
    }
    .reason__scene-material img{
        width:clamp(18.4rem,-1.6rem + 15.625vw,28.4rem)
    }
    .reason__pickup{
        padding:6.5rem 7.5rem;
        margin-top:5rem;
        max-width:128rem;
        border:.5rem solid #fff
    }
    .reason__pickup-title{
        width:39rem;
        height:4.5rem;
        font-size:1.9rem;
        top:-2.2rem
    }
    .reason__pickup-list{
        gap:2rem;
        grid-template-columns:repeat(4,1fr)
    }
    .reason__pickup-item{
        padding:2.2rem 2rem;
        font-size:2.2rem
    }
    .cta-first{
        padding:13.5rem 2rem 0
    }
    .cta-first__text{
        font-size:3.2rem;
        gap:0
    }
    .cta-first__text>.text{
        display:inline;
        text-align:start
    }
    .cta-first__large{
        margin-top:1rem;
        text-align:start;
        display:flex;
        align-items:center;
        justify-content:center;
        gap:1.5rem;
        font-size:6.5rem
    }
    .cta-first__large>.pc-only{
        display:inline
    }
    .cta-first__large>.sp-only{
        display:none
    }
    .cta-first__link-wrap{
        margin:4rem calc(50% - 50vw) 0;
        padding:8.3rem 2rem 9rem
    }
    .cta-first__link-wrap::before{
        width:9rem;
        height:3.1rem
    }
    .cta-first__link-text{
        font-size:3rem;
        line-height:1.8
    }
    .cta-first__btn-wrap{
        margin-top:1.5rem;
        flex-direction:row;
        gap:3rem
    }
    .cta-first__btn{
        max-width:100%;
        border:.5rem solid #fff;
        height:16.3rem;
        font-size:3.2rem;
        letter-spacing:.1em
    }
    .cta-first__btn>.tab{
        border-radius:.6rem;
        top:-1.3rem;
        left:-1.7rem;
        width:16.2rem;
        height:4.9rem;
        font-size:2rem
    }
    .cta-first__btn>.tab::before{
        bottom:-1rem;
        left:11rem;
        width:2rem;
        height:1rem
    }
    .cta-first__btn>.tab::after{
        bottom:-1.5rem;
        left:10.9rem;
        width:2.4rem;
        height:1.4rem
    }
    .voice{
        padding:8rem 0 4rem
    }
    .voice__catch{
        margin-top:6rem;
        font-size:4rem;
        font-size:clamp(3.5rem,-.3636363636rem + 2.2727272727vw,4rem)
    }
    .voice__contents-wrap{
        margin-top:5rem;
        padding:4rem clamp(3rem,-3rem + 4.6875vw,6rem)
    }
    .voice__material{
        top:-20rem;
        right:7rem
    }
    .voice__material img{
        width:24.8rem
    }
    .voice__contents{
        grid-template-columns:repeat(4,1fr);
        gap:clamp(2.5rem,-4.5rem + 5.46875vw,6rem)
    }
    .voice__item{
        flex-direction:column;
        align-items:center;
        gap:3rem
    }
    .voice__txt{
        border-radius:4rem;
        padding:clamp(1.8rem,-.6rem + 1.875vw,3rem) clamp(2rem,-2rem + 3.125vw,4rem);
        min-height:28.7rem
    }
    .voice__txt::before{
        left:clamp(6rem,-4rem + 7.8125vw,11rem);
        bottom:-2.4rem;
        top:auto;
        width:3.9rem;
        height:2.6rem;
        clip-path:polygon(0 0,100% 0,100% 100%)
    }
    .voice__txt>.txt{
        font-size:clamp(1.6rem,1.2rem + .3125vw,1.8rem);
        line-height:1.8;
        letter-spacing:.05em
    }
    .voice__img{
        flex-shrink:1
    }
    .voice__img img{
        width:13rem
    }
    .benefits{
        margin-top:8rem;
        padding-block:8rem 10rem;
        padding-inline:0
    }
    .benefits__inner{
        max-width:172rem;
        margin-inline:auto
    }
    .benefits__contents-wrap{
        margin-top:6.5rem;
        padding-inline:4rem
    }
    .benefits__outer-material{
        top:-14.1rem;
        right:clamp(1rem,-31rem + 25vw,17rem);
        width:clamp(28rem,12rem + 12.5vw,36rem);
        height:auto;
        aspect-ratio:360/234
    }
    .benefits__outer-material .achieve{
        top: 48%;
    }
    .benefits__contents{
        border:.4rem solid #2e3b47;
        max-width:clamp(100rem,48rem + 40.625vw,126rem);
        padding:6rem 0;
        grid-template-columns:repeat(3,1fr)
    }
    .benefits__item{
        min-height:29.9rem;
        padding:5rem clamp(3rem,1rem + 1.5625vw,4rem) 2rem;
        gap:2.5rem
    }
    .benefits__item.m--border::after,.benefits__item.m--border::before{
        width:.2rem;
        height:100%;
        background:url(../images/dots_line.svg) repeat center top/contain
    }
    .benefits__item.m--border::after{
        right:0
    }
    .benefits__ttl{
        position:absolute;
        top:-8.5rem;
        left:50%;
        translate:-50% 0;
        display:grid;
        place-content:center;
        place-items:center;
        width:11.8rem;
        aspect-ratio:1;
        border-radius:100vmax;
        font-size:2.8rem;
        padding-inline:0
    }
    .benefits__ttl>.fz13{
        font-size:1.3rem
    }
    .benefits__ttl>.fz28{
        margin-top:1rem;
        font-size:2.8rem
    }
    .benefits__benefit>.num{
        font-size:8.2rem
    }
    .benefits__benefit .unit{
        font-size:3.6rem
    }
    .benefits__desc{
        font-size:1.8rem;
        line-height:1.8;
        padding-inline:clamp(4rem,3rem + .78125vw,4.5rem);
        margin-top:0
    }
    .benefits__material{
        top:auto;
        bottom:0;
        right:clamp(1rem,-13.8rem + 11.5625vw,8.4rem)
    }
    .benefits__material img{
        width:clamp(29rem,1rem + 21.875vw,43rem)
    }
    .cases{
        margin-top:8rem;
        padding-top:8rem
    }
    .cases__contents-wrap{
        margin-top:6rem
    }
    .cases__contents{
        grid-template-columns:repeat(2,1fr)
    }
    .cases__item{
        align-items:center;
        flex-direction:row-reverse;
        padding:4rem 4rem 6rem
    }
    .cases__item:first-of-type{
        border-right:1px solid #2e3b47
    }
    .cases__item:last-of-type{
        border-top:none
    }
    .cases__num{
        top:-.7rem;
        left:2.6rem;
        right:auto;
        width:7.6rem
    }
    .cases__num>.case{
        font-size:1.2rem
    }
    .cases__num>.num{
        font-size:2.5rem
    }
    .cases__about{
        text-align:start;
        line-height:1.3;
        order:0
    }
    .cases__desc-wrap{
        flex:0 1 46rem;
        margin-left:3rem;
        order:1;
        margin-top:0
    }
    .cases__desc{
        margin-top:1rem;
        font-size:1.8rem;
        line-height:1.8;
        letter-spacing:.05em
    }
    .cases__desc-name{
        letter-spacing:.05em;
        line-height:1.8
    }
    .cases__img{
        order:2;
        flex:0 1 34.9rem
    }
    .cases__img img{
        width:34.9rem;
        aspect-ratio:349/211
    }
    .support{
        margin-top:8rem;
        padding:4.4rem 10rem;
        padding:4.4rem clamp(5rem,-5rem + 7.8125vw,10rem)
    }
    .support__contents{
        max-width:164rem;
        margin-inline:auto;
        flex-direction:row;
        gap:9.7rem;
        align-items:center;
        justify-content:center
    }
    .support__text-wrap{
        flex:0 .8 91.7rem;
        margin-top:-1rem
    }
    .support__catch{
        margin-top:4rem;
        font-size:4rem
    }
    .support__desc{
        margin-top:2rem;
        font-size:1.8rem;
        line-height:1.8;
        letter-spacing:.05em
    }
    .support__note{
        margin-top:3rem;
        font-size:1.6rem
    }
    .support__img-wrap{
        flex:0 .2 63.1rem
    }
    .support__img-wrap img{
        width:63.1rem
    }
    .price{
        padding:38rem 2rem 7.8rem
    }
    .price__material{
        top:9.7rem
    }
    .price__material img{
        width:27.8rem
    }
    .price__desc{
        margin:8rem auto 0;
        font-size:4rem
    }
    .price__contents-inner{
        max-width:128rem;
        margin:4rem auto 0
    }
    .price__inline-box{
        grid-template-columns:repeat(4,1fr);
        gap:5.9rem
    }
    .price__box-item{
        max-width:none;
        padding:3rem 4rem
    }
    .price__box-item:nth-of-type(2)::before,.price__box-item:nth-of-type(3)::before{
        top:calc(50% + .5rem);
        left:-4.7rem;
        translate:0 -50%;
        width:3.3rem
    }
    .price__box-item:nth-of-type(4)::before{
        top:calc(50% + .5rem);
        left:-4.3rem;
        translate:0 -50%;
        background:url(../images/price_equal.svg) no-repeat center/contain;
        width:3rem;
        height:2.1rem
    }
    .price__box-txt:not(:has(br)){
        margin-top:1.3rem
    }
    .price__box-num{
        margin-top:2.6rem
    }
    .price__box-num.m--minus{
        margin-top:1rem
    }
    .price__box-num:has(.zero){
        margin-top:2.3rem
    }
    .price__box-num:has(.sum){
        margin-top:2rem
    }
    .price__box-num>.num{
        font-size:4.8rem
    }
    .price__box-num>.num.zero{
        font-size:7.7rem
    }
    .price__box-num>.unit{
        font-size:2.4rem
    }
    .price__box-note{
        margin-top:1.5rem
    }
    .price__note{
        margin-top:6rem;
        font-size:1.6rem;
        letter-spacing:.05em
    }
    .faq{
        padding:36rem 6rem 25rem
    }
    .faq::before{
        width:192rem;
        height:19.6rem;
        clip-path:polygon(0 0,50% 50%,100% 0,100% 50%,50% 100%,0 50%)
    }
    .faq__inner{
        max-width:128rem;
        margin-inline:auto
    }
    .faq__list-wrap{
        margin-top:3.5rem
    }
    .faq__tab-menu{
        height:auto;
        width:auto
    }
    .faq__tab-initial{
        display:none
    }
    .faq__tab-initial>.txt{
        padding-inline:0
    }
    .faq__tab-menu-list{
        max-width:112rem;
        margin-inline:auto;
        grid-template-columns:repeat(4,1fr)
    }
    .faq__tab-menu-item{
        text-align:center;
        justify-content:center;
        height:9.4rem;
        font-size:1.8rem;
        border-radius:0;
        padding-inline:0
    }
    .faq__tab-menu-item:nth-of-type(1){
        border-radius:9rem 0 0 9rem
    }
    .faq__tab-menu-item:nth-of-type(4){
        border-radius:0 9rem 9rem 0
    }
    .faq__tab-menu-item.current{
        background-color:#2e3b47;
        color:#fff;
        cursor:auto
    }
    .faq__tab-panel{
        margin-top:4rem
    }
    .faq__contents{
        max-width:122rem;
        margin-left:auto;
        padding:2rem 3rem 2rem 6rem;
        border:.5rem solid transparent;
        border-radius:4rem
    }
    .faq__question{
        font-size:2rem;
        padding-right:0
    }
    .faq__question::before{
        top:calc(-50% - .5rem);
        left:-10.3rem;
        font-size:2.8rem;
        width:8rem
    }
    .faq__answer-inner{
        margin-top:3.5rem;
        padding-bottom:1.5rem
    }
    .faq__answer{
        font-size:1.8rem;
        line-height:1.8
    }
    .cta{
        padding:8rem 4rem
    }
    .cta__material{
        top:-23rem
    }
    .cta__material img{
        width:25.6rem
    }
    .cta__link-wrap{
        flex-direction:row;
        gap:3rem
    }
    .cta__btn{
        max-width:100%;
        border:.5rem solid #fff;
        height:14.3rem;
        font-size:3.2rem;
        letter-spacing:.1em
    }
    .cta__btn>.tab{
        border-radius:.6rem;
        top:-1.3rem;
        left:-1.7rem;
        width:16.2rem;
        height:4.9rem;
        font-size:2rem
    }
    .cta__btn>.tab::before{
        bottom:-1rem;
        left:11rem;
        width:2rem;
        height:1rem
    }
    .cta__btn>.tab::after{
        bottom:-1.5rem;
        left:10.9rem;
        width:2.4rem;
        height:1.4rem
    }
}
@media screen and (min-width:1400px){
    .reason__scene-material{
        top:.5rem;
        right:calc(clamp(3rem,-31rem + 26.5625vw,20rem) * -1)
    }
}
@media screen and (min-width:1921px){
    .faq::before{
        width:100%;
        clip-path:polygon(0 0,50% 9.8rem,100% 0,100% 9.8rem,50% 100%,0 9.8rem)
    }
}
@media screen and (max-width:960px){
    .fixed-btn a::after{
        content:"";
        width:2.1rem;
        height:2.2rem;
        position:absolute;
        right:7.9rem;
        top:50%;
        transform:translate(0,-50%)
    }
    .fixed-btn a .img{
        display:block;
        width:100%;
        background-color:#ff6915
    }
    .benefits__common{
        padding-left:0
    }
    .benefits__common-catch{
        padding-left:0
    }
    .benefits__benefit{
        margin-top:-1rem
    }
    .faq__tab-inner{
        border:1px solid #2e3b47;
        width:100%;
        height:6rem;
        overflow:hidden;
        position:absolute;
        top:0;
        left:0;
        overflow:hidden;
        border-radius:3rem;
        background-color:#fff;
        transition:all .3s
    }
}
@media screen and (max-width:414px){
    html{
        font-size:2.4154589372vw
    }
}
@media (min-width:961px) and (max-width:1280px){
    html{
        font-size:.78125vw
    }
}
@media print{
    body{
        font-family:"メイリオ",Meiryo,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","ＭＳ Ｐゴシック",sans-serif
    }
}
@media (any-hover:hover){
    .fixed-btn a:hover{
        filter:brightness(1.2)
    }
}