
.fv { border-bottom: 2px solid #000; overflow: hidden; height: calc(100vh - 77px); }
.fv-side { width: 40px; max-height: 100%; overflow: hidden; }
.fv-side-wrap { height: 1400px; animation: marquee_animation_vertical 16s linear infinite; }
.fv-side-wrap.reverse { animation-direction: reverse; }
.fv-side p { padding: 0.25rem 0; font-size: 18px; font-weight: 600; writing-mode: vertical-lr; display: flex; flex-wrap: wrap; line-height: 40px; letter-spacing: 2px; box-sizing: border-box;}
.fv-side p span { transform: rotate(90deg); display: block; }
.fv-side p span.punc { transform: rotate(90deg) scale(-1); }
.fv-side .reverse p { flex-direction: row-reverse; }
.fv-side .reverse p span { transform: rotate(-90deg); }
.fv-side .reverse span.punc { transform: rotate(-90deg) scale(-1); }


.fv-main { width: calc(100% - 80px); border-right: 2px solid #000; border-left: 2px solid #000; box-sizing: border-box; overflow: hidden; }
.fv-main::before { z-index: 1; }
.fv-main-content { text-align: center; z-index: 2; }
.fv-main-content h2 { width: 350px; margin: auto; }
.fv-main-content h2 span { padding: 0 0.5rem; font-size: 1.5rem; font-weight: 600; display: inline-block; background-color: #000; color: #fff; margin: 0.25rem 0; }
.fv-main-content .txt { padding: 2rem 0 2rem; font-weight: 800; line-height: 125%; font-size: 4rem; }
.fv-main-content .txt .num { font-size: 7rem; }
.fv-main-content .txt .num small { font-size: 4.5rem; }
.fv-main-content .txt .big { font-size: 5.25rem; }
.fv-main-content .txt .big small { font-size: 3.5rem; }
.fv-main-content ul li { width: 118px; margin: 0 10px; }
.fv-bg-text { position: absolute; top: 0; padding-top: 2rem; line-height: 100%; z-index: 0; font-size: 128px; font-weight: 900; color:  #fff; pointer-events: none; text-align: center; }

.fv-images { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 100%; z-index: 1; }
.fv-images-wrap { position: relative; padding-top: 56%; }
.fv-img-box { position: absolute; left: 100%; }
.fv-img-box .center_all { position: relative; border-radius: 8%; } 
.fv-img-box.img1 { width: 15%; top: 0; z-index: 2; }
.fv-img-box.img2 { width: 8%; top: 32%; z-index: 3; }
.fv-img-box.img3 { width: 12%; top: 20%; z-index: 2; }
.fv-img-box.img4 { width: 22%; top: 50%; }
.fv-img-box.img5 { width: 8%; top: 80%; z-index: 3; }
.fv-img-box.img6 { width: 8%; top: 14%; z-index: 3; }
.fv-img-box.img7 { width: 22%; top: 7%; }
.fv-img-box.img8 { width: 10%; top: 56%; z-index: 2; }
.fv-img-box.img9 { width: 10%; top: 72%; z-index: 2; }
.fv-img-box.img10 { width: 17%; top: 64%; }

.intro { padding: 4rem 0; }
.intro::before { z-index: 1; }
.intro-grapchics img { width: 48%; max-width: 428px; }
.intro-grapchics .box { width: 48%; max-width: 440px; min-height: 440px; }
.intro-grapchics .txt { font-weight: 600; line-height: 220%; }
.intro-grapchics .txt .circle { width: 168px; height: 90px; left: -2rem; top: 1rem; background: url(../img/index/circle.png) no-repeat center center; background-size: 100% auto; display: block; position: absolute; z-index: 0; }
.intro-grapchics .txt span { z-index: 2; }

.intro-marquee { z-index: 0; width: 100%; overflow: hidden; }
.intro-marquee .marquee-wrap { width: 4392px; font-size: 6.5rem; font-weight: 600; color: #fff; animation: marquee_animation 32s linear infinite;  }
.intro-marquee .marquee-wrap span { width: 1464px; display: block; }

.intro-points { padding: 2rem 0; }
.intro-points ul { padding: 2rem 0; }
.intro-points ul li { width: 32%; max-width: 302px; }

.danger { padding: 4rem 0; color: #fff; }
.danger::before { opacity: 0.2; }
.danger h3 { padding-bottom: 4rem; }
.danger .wbox { padding: 4rem 2rem 2rem; }
.danger .wbox .ttl { position: absolute; top: -30px; width: 100%; left: 0; }
.danger .wbox .ttl span { display: inline-block; padding: 0 3.5rem; background-color: #000;  height: 60px; line-height: 60px; border-radius: 50px; position: static; }
.danger .wbox dl { color: #000; margin: 0; }
.danger .wbox dl dt { text-align: left; padding: 0.5rem 0; box-sizing: border-box; width: 100px; }
.danger .wbox dl dd { border-left: 2px solid #000; padding: 0.5rem 0; box-sizing: border-box; width: calc(100% - 100px); margin: 0; display: flex; align-items: center; }
.danger .wbox dl dd .bar { height: 50px; overflow: hidden; display: flex; align-items: center; box-sizing: border-box; padding-left: 6rem; }
.danger .wbox dl dd .bar span { color: #fff; font-size: 2.25rem; font-weight: 600; line-height: 100%; width: 200px; text-align: left; }
.danger .wbox dl dd .bar span small { font-size: 1.25rem; display: inline-block; vertical-align: middle; }
.danger .four_years { width: 147px; right: 1rem; top: 1rem; position: absolute; }
.danger .note { padding: 2rem 0; }

.bg-txt {  pointer-events: none; user-select: none; color: #fff; font-size: 10rem; line-height: 100%; width: 100%; left: 0;  z-index: 0; position: absolute; }

.problem { padding: 7.5rem 0 2rem;  }
.problem .bg-txt { top: 2rem; opacity: 0.1; }
.problem h3 { padding-bottom: 2rem; }
.problem h3 img { width: 180px; }
.problem h3 span { display: block; color: #fff; }
.problem ul li { padding: 3rem 1rem 2rem; position: relative; box-sizing: border-box; width: 24%; }
.problem ul li .num { width: 52px; height: 52px; position: absolute; line-height: 52px; top: 1rem; left: 1rem; color: #fff;
    background: url(../img/index/bg-num.png) no-repeat center center; background-size: 100% auto;
}
.problem ul li img {  width: 70%; max-width: 152px; }
.problem ul li .txt { line-height: 130%; margin-top: 0.5rem; height: 94px; display: flex; align-items: center; justify-content: center; }
 
.solution { padding: 20rem 0 10rem; overflow: hidden; }
.solution .bg-txt  { top: 9rem; }
.solution::before { z-index: 1; }
.solution::after { width: 100%; height: 100px; top: -1px; left: 0; 
    background: #000;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.solution .solution-txt { width: 94%; max-width: 584px; margin: auto; z-index: 3; }
.solution .solution-txt .hl { position: absolute; max-width: 248px; left: 0; top: 18%; }
.solution-images { position: absolute; bottom: 4rem; left: 50%; transform: translate(-50%, 0); width: 1600px; z-index: 2; }
.solution-images-wrap { padding-top: 32%; position: relative; }
.solution-images-wrap img { position: absolute; }
.solution-images-wrap .img1 { width: 10%; top: 0; left: 6%; }
.solution-images-wrap .img2 { width: 10%; top: 0; left: 84%; }
.solution-images-wrap .img3 { width: 21%; top: 49%; left: 4%; }
.solution-images-wrap .img4 { width: 18%; top: 44%; left: 74%; }

.scheme-top,
.scheme-bottom { position: absolute; width: 100%; height: 90px; }
.scheme-top { border-top-right-radius: 150px; border-top-left-radius: 150px; bottom: 0; left: 0; }
.scheme-bottom { top: 0; border-bottom-right-radius: 150px; border-bottom-left-radius: 150px; }
.scheme-top::before,
.scheme-bottom::before  { opacity: 0.2; }

.scheme { padding: 4rem 0 0; overflow: hidden; }
.scheme::before { opacity: 0.2; }

.scheme-points { padding: 4rem 0 8rem; }
.scheme-points::after { animation: spin 60s linear infinite; top: 0; left: 0; right: 0; z-index: 0; width: 1166px; height: 1166px; background: url(../img/index/txt-scheme.png) no-repeat center center; background-size: 100% auto; }
.scheme-points-ttl { padding: 1rem 0 2rem; }
.scheme-points-ttl p { min-width: 400px; display: inline-block; padding: 0.25rem 0; background: url(../img/common/line.png) repeat-x bottom center; background-size: 16px auto; }
.scheme-points-ttl p span { font-size: 6.5rem; line-height: 100%; }
.scheme-points ul { padding: 2rem 0 0; margin-left: -20px; }
.scheme-points ul li { width: calc((100% - 60px) / 3); margin-bottom: 5rem; box-sizing: border-box; margin-left: 20px; }
.scheme-points ul li a { padding: 3rem 1rem 4rem; border: none; display: flex; }
.scheme-points ul li a::after { position: absolute; content: ''; display: block; width: 30px; height: 30px; bottom: 1.5rem; margin: auto; left: 0; right: 0;
    background: url(../img/index/arw-down2.png) no-repeat center center;
    background-size: 100% auto;
}
.scheme-points ul li .num { width: 73px; position: absolute; top: -36px; left: 0; right: 0; margin: auto; }
.scheme-points ul li .point-txt { width: 100%; min-height: 144px; display: flex; align-items: center; flex-wrap: wrap; justify-content: center; align-content: center; }
.scheme-points ul li p { font-size: 1.75rem; }
.scheme-points ul li .hl-wrap .hl { line-height: 120%; }

.scheme-row { padding: 4rem 0; }
.scheme-row.border { border-bottom: 1px solid #000; }
.scheme-row-ttl .num { padding-right: 2rem; }
.scheme-row-ttl .num img { width: 100px; position: relative; }
.scheme-row-ttl .num img:nth-child(2) { margin-left: -0.75rem; z-index: 0; }
.scheme-row-content { padding: 2rem 0; }
.scheme-row-content .link a { display: inline-block; border-bottom: 2px solid #000; }
.scheme-row-content .link a._after { padding-right: 1.5rem; }
.scheme-row-content .link a::after { width: 1rem; height: 10px; right: 1%; top: 0; bottom: 0; transition: 0.2s;
    background: url(../img/index/arw.png) no-repeat center center;
    background-size: 100% auto;
}
.scheme-row-content .link a:hover::after { right: 0%; }
.scheme-row-content .ttl { margin-bottom: 2rem; font-weight: 600; }
.scheme-row-content .ttl .wbox { border-radius: 0; padding: 0.25rem 0.25rem; line-height: 100%; display: inline-block; }
.scheme-row-content .ttl .hl { padding: 0; }

.scheme-row-content .left { width: 48%; max-width: 650px; }
.scheme-row-content .right { width: 48%; max-width: 1100px; }

.scheme-row .marquee { overflow: hidden; padding: 1rem 0 0; }
.scheme-row .marquee ul { width: 5760px;  animation: marquee_animation 60s linear infinite; }
.scheme-row .marquee ul li { width: 296px; border-radius: 0.5rem; border: 2px solid #000; overflow: hidden; margin-left: 20px; }
.scheme-row .marquee.reverse ul { animation-direction: reverse; }

.scheme1 .left,
.scheme5 .left { max-width: 650px; width: 60%; }
.scheme1 .right,
.scheme5 .right { max-width: 325px; width: 38%; }
.scheme1 .scheme-row { padding-top: 0; }

.scheme5 .marquee ul { animation-direction: reverse; }

.compare { padding: 12rem 0 4rem; }
.compare-ttl h4 { padding: 1rem 0 2rem; }
.compare-tab li { width: 48%; }
.compare .hl-wrap { padding-top: 4rem; max-width: 640px; margin: auto; }

.moreover { padding: 0 0 4rem;  }
.moreover-ttl { padding-bottom: 3rem; max-width: 530px; margin: auto; }
.moreover-ttl .uline-dash { padding-top: 1.5rem; }
.moreover-txt { max-width: 695px; }

.merit { padding: 4rem 0; overflow: hidden; }
.merit-wrap { padding: 4rem 0; border-radius: 2rem; }
.merit-wrap::before { opacity: 0.2; }
.merit-ttl h4 { margin: 0 0 3rem; display: inline-block; }
.merit-ttl h4 span { line-height: 120%; }
.merit-ttl h4 .circle { width: 212px; height: 84px; right: 0; bottom: 0.5rem; position: absolute; z-index: -1;
    background: url(../img/index/circle2.png) no-repeat center center;
    background-size: 100% auto;
}

.merit .swiper { overflow: visible; max-width: 775px; position: relative; }
.merit .swiper-slide { width: 775px; box-sizing: border-box; padding: 3rem 2rem; border: none; transform: scale(0.85); transition: 0.5s; }
.merit .swiper-slide img { max-width: 360px; width: 70%; }
.merit .swiper-slide .ttl { margin-top: 1rem; font-size: 1.75rem; }
.merit .swiper-slide .txt { padding-top: 1rem; line-height: 150%; }
.merit .swiper-slide-active { transform: scale(1); }
.merit .swiper-pagination { position: relative; padding: 2rem 0 0; }

.swiper-arrows { bottom: 0; left: 0; position: absolute; width: 100%; height: 100%; pointer-events: none; }
.swiper-arrows .arw { width: 60px; position: absolute; top: 0; bottom: 0; margin: auto; pointer-events: all; cursor: pointer; }
.swiper-arrows .arw.prev { left: -30px; transform: rotate(-180deg); }
.swiper-arrows .arw.next { right: -30px; }
.swiper-pagination-bullet { background-color: #fff; opacity: 1; width: 12px; height: 12px; margin: 0 0.5rem !important; }
.swiper-pagination-bullet-active { background-color: #000; }

.change { padding: 2rem 0 10rem; }
.change::before { z-index: 1; }
.change .bg-txt { position: static; width: 94%; max-width: 1380px; margin: auto; font-size: 8rem; }
.change-wrap { padding: 4rem 0 0; box-sizing: border-box; min-height: 608px; }
.change-wrap p { line-height: 180%; padding-top: 0.25rem; }
.change-wrap p .hl { padding: 0; }

.contact { padding: 4rem 0; border-top-left-radius: 1.5rem; border-top-right-radius: 1.5rem; }
.contact::before { opacity: 0.3; }
.contact h5 { line-height: 100%; font-size: 9rem; font-weight: 600; position: absolute; width: 100%; top: -4.5rem; }
.contact-txt { padding: 2rem 0; line-height: 150%; font-weight: 600; }
.contact .inner { max-width: 940px; }
.contact .wbox { width: 80%; box-sizing: border-box; padding: 3rem 2rem 2rem; border: none; }
.contact .wbox .icon { width: 52px; }
.contact .wbox-txt { min-height: 84px; margin: 1rem 0 1.5rem; }
.contact .wbox-txt p { line-height: 140%; }
.contact .btn { height: 60px; line-height: 60px; display: inline-block; font-size: 14px; width: 49%; box-sizing: border-box; padding: 0 1rem; color: #fff; }

/* -------------------------------------------- tablet */

@media screen and (max-width: 1100px) {

    .bg-txt { font-size: 8rem; }

    .fv-images { width: 160%; }

    .intro-grapchics img { width: 40%; }
    .intro-grapchics .box { width: 55%; }
    .intro-grapchics .txt .circle { width: 142px; height: 72px; left: -1.5rem; }

    .intro-marquee .marquee-wrap { font-size: 4rem; width: 2706px; }
    .intro-marquee .marquee-wrap span { width: 902px; }
    .intro-points { padding-bottom: 0; }

    .danger .four_years { width: 120px; }
    .danger .wbox dl dt { width: 80px; }
    .danger .wbox dl dd .bar span { font-size: 2rem; }
    .danger .wbox dl dd .bar span small { font-size: 1rem; }

    .problem h3 img { width: 150px; }
    .problem ul li { width: 49%; margin-bottom: 2%; }
    .problem ul li .num { width: 45px; height: 45px; line-height: 45px; }

    .scheme { padding-top: 0; }
    .scheme-points { padding: 2rem 0 0; }
    .scheme-points::after { width: 100%; bottom: 0; }
    .scheme-points-ttl p span { font-size: 5.25rem; }
    .scheme-points ul li { margin-bottom: 2.5rem; }
    .scheme-points ul li p { font-size: 1.25rem; }
    .scheme-points ul li .point-txt { min-height: 96px; }
    .scheme-points ul li .num { width: 50px; top: -25px; }
    .scheme-points ul li a { padding: 2rem 1rem 4rem; }
    .scheme-points ul li a::after { bottom: 1rem; }

    .scheme-top { border-top-right-radius: 30px; border-top-left-radius: 30px; }
    .scheme-bottom { border-bottom-right-radius: 30px; border-bottom-left-radius: 30px; }
    .scheme-top,
    .scheme-bottom { height: 50px; }
    .scheme-row { padding: 2rem 0; }
    .scheme-row-ttl .num { padding-right: 1rem; }
    .scheme-row-ttl .num img { width: 70px; }
    .scheme-row-ttl .bubble { height: 45px; line-height: 45px; padding: 0 1.5rem; }

    .scheme-row-content .left { width: 58%; }
    .scheme-row-content .right { width: 40%; }
    
    .scheme-row .marquee ul { width: 3960px; }
    .scheme-row .marquee ul li { width: 200px; }

    .solution::after { height: 50px; }

    .compare { padding: 8rem 0 4rem; }
    .compare-ttl h4 { padding: 1rem 0 2rem; line-height: 120%; }
    .compare-tab li { width: 49%; }
    .compare .hl-wrap { padding-top: 2rem; }

    .moreover-ttl { padding-bottom: 2rem; }
    .moreover-txt { width: 80%; }
    
    .merit { padding: 4rem 0 2rem; }
    .merit-ttl h4 { font-size: 2rem; }
    .merit-ttl h4 span { font-size: 4rem; }
    .merit-ttl h4 .circle { width: 138px; height: 55px; bottom: 2rem; }
    .merit .swiper-slide { width: 600px; padding: 2rem 1rem; }
    .merit .swiper-slide .ttl { font-size: 1.5rem; }

    .change .bg-txt { font-size: 6rem; }
    .change-wrap { padding-top: 2rem;  min-height: 424px }
    .change-wrap p { line-height: 180%; }
    .change-wrap .fs-38 { font-size: 1.675rem; }

    .contact h5 { font-size: 6rem; top: -3rem; }
    .contact .wbox .icon { width: 40px; }
    .contact-txt { padding: 1rem 0; }
    .contact .wbox-txt { margin: 1rem 0; }
    .contact .wbox { padding: 3rem 2rem 2rem; }
    .contact .btn { padding: 0 0.5rem; width: 100%; }
}

/* -------------------------------------------- sp */

@media screen and (max-width: 767px) {

    .bg-txt { font-size: 5rem; } 

    .fv-side { width: 100%; height: auto; border-bottom: 2px solid #000; }
    .fv-side p { font-size: 14px; line-height: 30px; height: 30px; letter-spacing: 0; padding: 0; }
    .fv-side-wrap { animation: marquee_animation 16s linear infinite; height: auto; width: 1092px; display: flex; }
    .fv-side p { writing-mode: unset; }
    .fv-side p span { transform: unset !important; }

    .fv { height: calc(100vh - 105px); height: calc(100dvh - 105px); }
    .fv-main { width: 100%; height: 100%; border: none; border-bottom: 2px solid #000; }
    .fv-bg-text { font-size: 6rem;  }

    .fv-main-content h2 span { font-size: 1.375rem; }
    .fv-main-content .txt { font-size: 3rem; line-height: 140%; padding: 1rem 0; }
    .fv-main-content .txt .num { font-size: 5.75rem; }
    .fv-main-content .txt .num small { font-size: 3.5rem; }
    .fv-main-content .txt .big { font-size: 4.25rem; }
    .fv-main-content ul li { width: 90px; margin: 0 0.5rem; }
    .fv-images { width: 263%; }

    .intro { padding: 2rem 0; }
    .intro-grapchics { padding-bottom: 2rem; }
    .intro-grapchics .box { padding-bottom: 2rem; width: 94%; margin: auto; min-height: 280px; }
    .intro-grapchics .txt { line-height: 200%; }
    .intro-grapchics img { width: 88%; margin: auto; max-width: 420px; display: block; }
    .intro-grapchics .txt .circle { width: 110px; height: 56px; left: -1rem; }
    
    .intro-points h3 { font-size: 1.5rem; font-size: clamp(1.5rem, 5.5vw, 2.5rem); padding-bottom: 1rem; }
    .intro-points ul { justify-content: center; padding: 1rem 0; }
    .intro-points ul li { width: 84%; margin-bottom: 1rem; max-width: 280px; }
    .intro-points .hl-wrap .hl { font-size: clamp(1.75rem, 6vw, 2.75rem); }

    .danger { padding-bottom: 3rem; }
    .danger .wbox { padding: 3rem 4% 1.5rem; }
    .danger .wbox .ttl { top: -20px; }
    .danger .wbox .ttl span { width: 88%; font-size: 1.25rem; padding: 0 4rem 0 1rem; height: 40px; line-height: 40px; }
    .danger .four_years { width: 70px; z-index: 2; top: -35px; }
    .danger h3 { font-size: 1.5rem; font-size: clamp(1.5rem, 5.75vw, 2.5rem); }
    .danger .wbox dl dt { width: 55px; font-size: 1.25rem; padding: 0.5rem 0; }
    .danger .wbox dl dd { width: calc(100% - 55px); padding: 0.25rem 0; }
    .danger .wbox dl dd .bar { padding-left: 1rem; height: 40px; justify-content: flex-start; flex-wrap: wrap; }
    .danger .wbox dl dd .bar span { font-size: 1.375rem; width: auto; }
    .danger .wbox dl dd .bar span small { font-size: 12px; }
    .danger .wbox dl dd .bar .period { font-size: 11px; }
    .danger .note { font-size: 10px; padding: 1rem 0 2rem; }

    .problem { padding: 5rem 0 2rem; }
    .problem h3 img { width: 120px; }
    .problem h3 span { font-size: 1.675rem; }
    .problem ul li { padding: 2.75rem 0.5rem 1rem; }
    .problem ul li .num { top: 0.5rem; left: 0.5rem; width: 35px; height: 35px; line-height: 35px; }
    .problem ul li .txt { height: 62px; line-height: 140%; }

    .solution::after { height: 30px; }
    .solution { padding: 12rem 0; }
    .solution .bg-txt { top: 4rem; }
    .solution .solution-txt { width: 86%; }
    .solution-images { width: 102%; max-width: 604px; }
    .solution-images-wrap { padding-top: 92%; }

    .solution .solution-txt .hl { max-width: none; width: 40%; }
    .solution-images-wrap .img1 { width: 17%; top: 3%; left: 6%; }
    .solution-images-wrap .img2 { width: 17%; top: 3%; left: 77%; }
    .solution-images-wrap .img3 { top: auto; bottom: 1rem; width: 36%; left: 8%; }
    .solution-images-wrap .img4 { top:auto; bottom: 1rem; width: 36%; left: 54%; }

    .scheme-top,
    .scheme-bottom { height: 40px; }

    .scheme { padding-bottom: 2rem; }
    .scheme-points { padding-top: 4rem; }
    .scheme-points::after { top: 0; bottom: auto; width: 94vw; height: 94vw; }

    .scheme-points-ttl { padding-top: 0.75rem; }
    .scheme-points-ttl p { min-width: 0; }
    .scheme-points-ttl p span { font-size: 4.75rem; }
    .scheme-points ul { margin: auto; max-width: 320px; padding: 0; }
    .scheme-points ul li { margin: 0; margin-bottom: 1rem; width: 100%; }
    .scheme-points ul li .num { position: static; width: 36px; }
    .scheme-points ul li a { display: flex; justify-content: flex-start; padding: 1rem 1rem; }
    .scheme-points ul li .point-txt { min-height: 0; width: calc(100% - 36px); padding-right: 25px; justify-content: flex-start; box-sizing: border-box; }
    .scheme-points ul li p { font-size: 17px; padding-left: 1rem; min-height: 0; text-align: left;   }
    .scheme-points ul li .hl-wrap .hl { padding: 0; }
    .scheme-points ul li a::after { bottom: 0; top: 0; right: 1rem; left: auto; width: 20px; height: 20px; }

    .scheme-row-ttl { text-align: center; justify-content: center;  }
    .scheme-row-ttl .num { padding: 0 0 1rem; }
    .scheme-row-ttl .bubble { height: auto; line-height: 140%; padding: 0.5rem 2rem; box-sizing: border-box; min-width: 70%; }
    .scheme-row-content { display: block; }
    .scheme-row-content .col { width: 100%; max-width: none; }
    .scheme-row-content .ttl p { line-height: 140%; }
    .scheme-row-content .ttl .wbox { font-size: 1.75rem; font-size: clamp(1.75rem, 5vw, 3rem); padding: 0.375rem; }
    .scheme-row-content .ttl .hl-wrap .hl { padding:0; }
    .scheme-row-content .ttl .hl-wrap .hl::after { height: 0.5rem; }
    .scheme-row-content .link { text-align: right; }
    .scheme-row-content .txt { padding-bottom: 1.5rem; }

    .scheme-row-content .ttl .fs-28 { font-size: clamp(1.25rem, 5vw, 2rem); }
    .scheme-row-content .ttl .fs-32 { font-size: clamp(1.375rem, 5vw, 2rem); }
    .scheme-row-content .ttl .fs-40 { font-size: clamp(2rem, 8vw, 3rem); }
    .scheme-row-content .ttl .fs-60 { font-size: clamp(2.75rem, 10vw, 5rem); }

    #scheme1 { padding-bottom: 2rem; }
    #scheme5 .scheme-row-content .ttl .fs-40 { font-size: clamp(1rem, 6.5vw, 3rem); }

    .scheme-row { padding: 2rem 0 0; }
    .scheme-row .marquee ul { width: 2880px; animation-duration: 42s; }
    .scheme-row .marquee ul li { width: 150px; margin-left: 10px; }

    .compare-tab li { width: 100%; display: none; border-top: 6px solid #595959; }
    .compare-tab .flex { justify-content: space-around; }
    .compare-tab-btn { min-width: 46%; background-color: #000; color: #fff; font-size: 1.25rem; padding: 0.25rem 1rem; box-sizing: border-box; cursor: pointer;
        border-top-left-radius: 0.75rem;
        border-top-right-radius: 0.75rem;
    }
    .compare-tab-btn:first-child { background-color: #595959; }

    #compare-tab2 { border-color: #000; }

    .moreover { padding-bottom: 0; }
    
    .merit-ttl h4 { line-height: 120%; font-size: 2rem; padding-top: 1rem; margin-bottom: 2rem; }
    .merit-ttl h4 span { font-size: 2.5rem; line-height: 100%; }
    .merit-ttl h4 .circle { width: 115px; height: 50px; bottom: -5px; }
    .merit-wrap { padding: 3rem 0 2rem; }
    .merit .swiper-slide { width: 240px; padding: 2rem 6%; }
    .merit .swiper-slide img { width: 100%; }
    .merit .swiper-slide .ttl { margin-top: 0.5rem; font-size: 1.125rem; line-height: 120%; height: 56px; display: flex; align-items: center; }
    .merit .swiper-slide .ttl p { width: 100%; }
    .merit .swiper-slide .txt { font-size: 12px; text-align: left; padding-top: 0.5rem; }
    .merit .swiper-slide .txt br { display: none; }

    .swiper-arrows { width: 240px; margin: auto; left: 0; right: 0; }
    .swiper-arrows .arw { width: 40px; }
    .swiper-arrows .arw.prev { left: -20px; }
    .swiper-arrows .arw.next { right: -20px; }
    .swiper-pagination-bullet { width: 8px; height: 8px; }

    .change { padding: 0 0 6rem; }
    .change .bg-txt { font-size: 2.25rem; line-height: 120%; width: 88%; }

    .contact h5 { font-size: 5rem; top: -2.5rem; }
    .contact .wbox { width: 100%; margin-bottom: 1rem; padding: 2rem; }
    .contact .wbox .icon { width: 32px; }
    .contact .wbox-txt { height: auto; min-height: 0; }
    .contact .btn { margin: 0.5rem 0; line-height: 140%; padding: 1rem; height: auto; min-width: 0; font-weight: 600; font-size: 16px; }
}