/*------------------------------------
共通
------------------------------------*/
.main{
    overflow: hidden;
}

.section{
    padding: 120px 0 180px;
    position: relative;
}

/*-- セクションタイトル --*/

.section__title{
    font-size: 56px;
    font-weight: bold;
    letter-spacing: 0.05em;
    line-height: 1.3;
    text-align: center;
    padding-top: 70px;
    position: relative;
}

.section__title .--small{
    display: block;
    font-size: 44px;
    line-height: 1.3;
    margin-bottom: 0.3em;
}
.section__title .--small::first-letter{
    color: var(--green02);
}
.section__title::before{
    content: attr(data-title);
    color: var(--green-subtitle);
    font-family: var(--en);
    font-size: 23px;
    letter-spacing: 0;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
}

.section__contents{
    padding-top: 95px;
}

/*-- 見出し下ライン --*/

.title-line {
    display: inline-block;
    height: 1px;
    position: absolute;
    left: 0;
    top: 0;
}

.title-line.--section {
    width: 35px;
    left: 50%;
    transform: translateX(-50%);
    top: 42px;
}

.title-line::before,.title-line::after{
    content: "";
    display: block;
    height: 1px;
    position: absolute;
}

.title-line::before{
    background-color: var(--green02);
    width: 100%;
    left: 0;
}

.title-line::after{
    background-color: var(--orange);
    width: 50%;
    right: 0;
    z-index: 1;
}

.link-block a{
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: calc(1px / 0);
    color: #fff;
    font-size: 18px;
    font-weight: bold;
    width: 100%;
    max-width: 316px;
    height: 62px;
    margin-inline: auto;
}

.link-block a span{
    position: relative;
}

.link-block a span::before{
    content: "";
    display: block;
    background-image: url(../img/common/icon-arrow-circle.svg);
    background-repeat: no-repeat;
    background-size: contain;
    width: 15px;
    aspect-ratio: 1/1;
    position: absolute;
    top: 52%;
    transform: translateY(-50%);
    right: -50px;
}

@media screen and (max-width: 1194px){
    .section{
        padding: max(70px, 10vw) 0 max(80px, 15vw);
    }

    .section__title {
        font-size: clamp(30px, 5vw, 56px);
        padding-top: clamp(50px, 9.58vw, 70px);
    }

    .section__title::before {
        font-size: clamp(16px, 3vw, 23px);
    }

    .title-line.--section {
        top: clamp(30px, 6.4vw, 42px);
    }

    .section__title .--small {
        font-size: max(20px, 3.68vw);
    }
}

@media screen and (max-width: 399px){
    .link-block a{
        font-size: 16px;
    }
}

/*------------------------------------
fv
------------------------------------*/
.fv{
    background-image: url(../img/top/fv/fv-bg_pc.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: right;
    aspect-ratio: 1920/744;
    position: relative;
}

.webp .fv{
    background-image: url(../img/top/fv/fv-bg_pc.jpg.webp);
}

.fv__catch {
    position: absolute;
    top: 48%;
    left: calc(50% + -210px);
    transform: translate(-50%, -50%);
}

.fv__catch-title{
    font-size: 36px;
    font-weight: bold;
}

.fv__catch-title .--top{
    color: #fff;
    font-family: var(--mincho);
    letter-spacing: 0.05em;
    padding-left: 1.472em;
    position: relative;
}

.fv__catch-title .--top::before{
    content: "";
    display: block;
    background-image: url(../img/common/logo.svg);
    background-repeat: no-repeat;
    background-size: contain;
    width: 1.472em;
    aspect-ratio: 1/1;
    position: absolute;
    left: 0;
}

.fv__catch-title .--bottom{
    border-radius: 5px;
    color: var(--green-fv);
    letter-spacing: 0.03em;
    width: fit-content;
    background-color: #e8f6ea;
    padding: 0 1.5em 0.1em 0.5em;
    margin-top: 0.2em;
    position: relative;
}

.fv__catch-title .--bottom::before{
    content: "";
    display: block;
    background-image: url(../img/top/fv/tantei.svg);
    background-repeat: no-repeat;
    background-size: contain;
    width: 2.166em;
    aspect-ratio: 1/1;
    position: absolute;
    top: 50%;
    right: -1.2em;
    transform: translateY(-50%);
}

.fv__catch-text{
    color: #fff;
    font-size: 52px;
    font-weight: bold;
    letter-spacing: 0.02em;
    line-height: 1.7;
    margin-top: 0.3em;
}

.fv__catch-text .--small{
    font-size: 0.846em;
}

.fv__catch-text .text-yellow{
    position: relative;
}

.fv__catch-text .text-yellow::before{
    content: "";
    display: block;
    width: 100%;
    height: 1.346em;
    background-image: radial-gradient(circle, #ffffff 0.0673em, transparent 0.0673em);
    background-position: left bottom;
    background-repeat: repeat-x;
    background-size: 0.2884em 0.1346em;
    position: absolute;
    bottom: -0.15em;
    left: 0;
}

@media screen and (max-width: 1499px){
    .fv__catch-title {
        font-size: 28px;
    }

    .fv__catch-text {
        font-size: 44px;
    }
}

@media screen and (max-width: 1194px){
    .fv__catch {
        transform: translateY(-50%);
        left: 5vw;
        top: 44%;
    }

    .fv__catch-title {
        font-size: 2.34vw;
    }

    .fv__catch-text {
        font-size: 3.685vw;
    }
}

@media screen and (max-width: 767px){
    .fv{
        background-image: url(../img/top/fv/fv-bg_sp.jpg);
        aspect-ratio: 780/1110;
    }

    .webp .fv{
        background-image: url(../img/top/fv/fv-bg_sp.jpg.webp);
    }

    .fv__catch{
        text-align: center;
        width: 100%;
        transform: translateY(-50%);
        left: 0;
        top: 49.5%;
    }

    .fv__catch-title{
        font-size: 6.153vw;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .fv__catch-title .--top{
        width: fit-content;
        margin-inline: auto;
        padding-right: 0.7em;
    }

    .fv__catch-title .--bottom{
        margin-inline: auto;
        margin-top: 0.15em;
		margin-left: 1em;
        margin-right: .8em;
        padding: 0 1.6em 0.05em 0.5em;
        position: relative;
        left: -3.589vw;
    }

    .fv__catch-title .--bottom::before {
        width: 14.1vw;
    }

    .fv__catch-text{
        font-size: 8.717vw;
        line-height: 1.86;
        letter-spacing: 0.03em;
        margin-top: 1em;
        text-shadow: 0 0 3vw #2684677d,0 0 0.2em #2684677d,0 0 0.2em #2684677d,0 0 0.2em #2684677d,0 0 0.2em #2684677d,0 0 0.2em #2684677d,0 0 0.1em #2684677d,0 0 0.1em #2684677d,0 0 0.1em #2684677d,0 0 0.1em #2684677d;
    }

    .fv__catch-text .sp-large{
        font-size: 10.7vw;
    }

    .fv__catch-text .text-yellow::before{
        content: none;
    }

    .fv__catch-text .sp-dot span{
        position: relative;
    }

    .fv__catch-text .sp-dot span::before{
        content: "";
        display: block;
        width: 0.2em;
        aspect-ratio: 1/1;
        background-color: var(--yellow);
        border-radius: 50%;
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        top: -0.2em;
        box-shadow: 0 0 3vw #2684677d,0 0 0.2em #2684677d,0 0 0.2em #2684677d,0 0 0.2em #2684677d,0 0 0.2em #2684677d,0 0 0.2em #2684677d,0 0 0.1em #2684677d,0 0 0.1em #2684677d,0 0 0.1em #2684677d,0 0 0.1em #2684677d;
    }
}

/*------------------------------------
point
------------------------------------*/
.point {
    background-color: #f2f7f9;
    padding: 75px 0 50px;
}

.point__items{
    display: flex;
    gap:  25px;
    justify-content: space-between;
}

.point__item{
    flex-basis: 30.8%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 7px;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-align: center;
    padding-top: 16px;
    position: relative;
}

.point__item::before,.point__item::after{
    content: "";
    background-repeat: no-repeat;
    background-size: contain;
    width: 58px;
    aspect-ratio: 58/154;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

.point__item::before{
    background-image: url(../img/top/fv/gekeikan-left.svg);
    left: 0;
}

.point__item::after{
    background-image: url(../img/top/fv/gekeikan-rigft.svg);
    right: 0;
}

.point__item:nth-of-type(2) {
    flex-basis: 32%;
    padding-top: 40px;
    gap: 12px;
}

.point__item-crown {
    background-image: url(../img/top/fv/oukan.svg);
    background-repeat: no-repeat;
    background-size: contain;
    width: 42px;
    aspect-ratio: 33/25;
    position: absolute;
    top: -10px;
    left: 51%;
    transform: translateX(-50%);
}
.point__item .text-orange{
    color: var(--orange);
    font-size: 48px;
    line-height: 1;
}

.point__item .text-green{
    color: var(--green01);
    font-size: 29.5px;
    line-height: 1.3;
}

.point__item-means{
    display: flex;
    position: absolute;
    top: -56px;
    left: 50%;
    transform: translateX(-50%);
}

.point__item-mean{
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgb(18,165,70);
    background: linear-gradient(45deg, rgba(18,165,70,1) 0%, rgba(18,165,70,1) 49%, rgba(16,114,50,1) 52%, rgba(16,114,50,1) 100%);
    border: 3px solid #fff;
    border-radius: 50%;
    color: #fff;
    font-size: 23px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.05em;
    width: 73px;
    aspect-ratio: 1/1;
}

.point__item-mean.--tel{
    display: none;
}

.point__item-mean.--mail{
    font-size: 1.13em;
}
@media screen and (max-width: 1400px){
    .point__item .text-orange{
        font-size: 40px;
    }
}
@media (min-width: 768px) and (max-width: 1194px) {
    .point {
        padding: 6.28vw 0 4.18vw;
    }

    .point__item-means {
        top: -4.69vw;
    }

    .point__item-mean {
        border: 0.25vw solid #fff;
        font-size: 1.92vw;
        width: 6.11vw;;
    }

    .point__item .text-green {
        font-size: 2.47vw;
    }

    .point__item .text-orange {
        font-size: 3.2vw;
    }

    .point__item-mean.--mail {
        font-size: 1.5vw;
    }

    .point__item::before, .point__item::after {
        width: 4.85vw;
    }

    .point__item-crown {
        width: 3.52vw;
    }

    .point__item {
        padding-top: 1.34vw;
        gap: 0.58vw;
    }

    .point__item:nth-of-type(2) {
        flex-basis: 32%;
        padding-top: 3.35vw;
        gap: 1vw;
    }
}

@media screen and (max-width: 767px){
    .point {
        padding: 9.8vw 0 6.5vw;
    }

    .point__items {
        gap: 7.8vw 6.5vw;
        justify-content: space-between;
        flex-wrap: wrap;
    }

    .point__item:first-of-type{
        /*flex-basis: 100%;
        margin: 0 25%;*/
        flex-basis: calc((100% - 6.5vw) / 2);
    }

    .point__item:nth-of-type(n+2){
        flex-basis: calc((100% - 6.5vw) / 2);
    }

    .point__item .text-green {
        font-size: 3.125vw;
    }

    .point__item .text-orange {
        font-size: 4.95vw;
    }

    .point__item::before, .point__item::after {
        width: 6.25vw;
    }

    .point__item-mean {
        font-size: 2.47vw;
        width: 8.6vw;
        border: 0.4vw solid #fff;
    }

    .point__item-mean.--mail {
        font-size: 2.08vw;
    }

    .point__item-means {
        top: -6.5vw;
    }

    .point__item-crown {
        width: 5.4vw;
        top: -1vw;
    }

    .point__item {
        gap: 0.9vw;
        padding-top: 2.08vw;
    }

    .point__item:nth-of-type(2) {
        padding-top: 5.2vw;
        gap: 1.5625vw;
    }
}

@media screen and (max-width: 499px){
    .point {
        padding: 18vw 0 6.5vw;
    }

    .point .inner{
        padding-left: 4vw;
        padding-right: 4vw;
    }
    .point__items {
        gap: 7vw 4vw;
    }

    .point__item:nth-of-type(n+2) {
        flex-basis: calc((100% - 4vw) / 2);
    }

    .point__item .text-orange {
        font-size: 6vw;
    }

    .point__item .text-green {
        font-size: 4.5vw;
    }

    .point__item-means {
        top: -13vw;
    }

    .point__item-mean {
        font-size: 3.6vw;
        width: 13vw;
        border-width: 0.6vw;
    }

    .point__item-mean.--mail {
        font-size: 3.2vw;
    }

    .point__item::before, .point__item::after {
        width: 7vw;
    }

    .point__item-crown {
        width: 7vw;
        top: -3vw;
    }
}

/*------------------------------------
about
------------------------------------*/
.about{
    padding: 180px 0;
}

.about__items > *+*{
    margin-top: 150px;
}

.about__item{
    display: flex;
}

.about__item:nth-of-type(even){
    flex-direction: row-reverse;
}

.about__item-body{
    flex-basis: 50%;
}

.about__item-heading{
    position: relative;
    z-index: 0;
}

.about__title-order{
    color: rgb(204 213 219 / 30%);
    font-family: var(--en);
    font-size: 150px;
    font-style: italic;
    line-height: 1;
    position: absolute;
    right: -10px;
    bottom: 5px;
    z-index: -1;
}

.about__title-sub{
    display: block;
    color: #fff;
    font-family: var(--mincho);
    font-size: 25px;
    font-weight: 900;
    letter-spacing: 0.11em;
    line-height: 1;
    width: fit-content;
    padding: 0.25em 0.7em 0.3em;
}

.about__title-main{
    font-size: 38px;
    font-weight: bold;
    letter-spacing: 0.03em;
    line-height: calc(63.8/38);
    margin-top: 8px;
}

.about__item-textbox{
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: calc(45/18);
    font-feature-settings: normal;
    text-align: justify;
    margin-top: 28px;
    padding-top: 28px;
    position: relative;
}

.about__item-text .text-green{
    font-weight: bold;
}

.title-line.--about{
    width: 70px;
    left: 0;
}

.about__item-imgbox{
    flex-basis: 50%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 28px;
}

.about__item:nth-of-type(odd) .about__item-imgbox{
    padding-left: 70px;
    margin-top: 58px;
}

.about__item:nth-of-type(even) .about__item-imgbox{
    padding-right: 70px;
    padding-top: 10px;
}

.about__item:nth-of-type(odd) .about__item-img:nth-of-type(1),
.about__item:nth-of-type(even) .about__item-img:nth-of-type(2){
    padding-top: 40px;
}

.about__link{
    margin-top: 100px;
}

@media screen and (max-width: 1194px){
    .about {
        padding: max(80px, 15vw) 0;
    }

    .about__title-main {
        font-size: 3.18vw;
    }

    .about__title-order {
        font-size: 12.5vw;
    }

    .about__items > *+* {
        margin-top: 100px;
    }
}

@media screen and (max-width: 1023px){
    .about__item {
        align-items: center;
    }

    .about__item-textbox {
        font-size: 16px;
        margin-top: 2.7vw;
        padding-top: 2.7vw;
    }

    .about__item-imgbox {
        gap: 2vw;
    }

    .about__item:nth-of-type(odd) .about__item-imgbox {
        padding-left: 5vw;
        margin-top: 0;
    }

    .about__item:nth-of-type(even) .about__item-imgbox {
        padding-right: 5vw;
    }

    .about__title-order {
        right: -30px;
    }

    .about__title-sub {
        font-size: 20px;
    }
}

@media screen and (max-width: 767px){
    .about__item,
    .about__item:nth-of-type(even) {
        flex-direction: column;
    }

    .about__title-main {
        font-size: 36px;
        line-height: 1.5;
    }

    .about__title-order {
        font-size: 130px;
        right: 0;
    }

    .about__item:nth-of-type(odd) .about__item-imgbox {
        padding-left: 0;
    }

    .about__item:nth-of-type(even) .about__item-imgbox {
        padding-right: 0;
        padding-top: 0;
    }

    .about__item-textbox {
        margin-top: 30px;
        padding-top: 30px;
    }

    .about__item-imgbox{
        margin-top: 30px !important;
        width: 80%;
        margin-inline: auto;
    }

    .about__item-img img{
        aspect-ratio: 3/4;
        object-fit: cover;
    }

    .about__link {
        margin-top: 60px;
    }
}

@media screen and (max-width: 599px){
    .about__title-main {
        font-size: max(22px, 6vw);
    }

    .about__title-sub {
        font-size: max(16px, 3.3vw);
    }

    .about__title-order {
        font-size: max(90px, 20vw);
    }

    .about__item-textbox {
        line-height: 2.2;
        margin-top: 1.6em;
        padding-top: 1.6em;
    }

    .about__item-imgbox {
        width: 90%;
    }

    .about__items > *+* {
        margin-top: 80px;
    }
}

/*------------------------------------
purpose/目的
------------------------------------*/
.purpose__slider-wrap{
    position: relative;
}

.swiper-backface-hidden .swiper-slide {
    transition: .3s;
}

.purpose__slider-items{
    margin-top: 115px;
    padding-bottom: 155px;
    position: relative;
    left: calc(50%);
}

.purpose__slider-item{
    display: flex;
    flex-direction: column-reverse;
    width: 480px;
    height: auto;
    margin-left: 20px;
    margin-right: 20px;
    box-shadow: 0px 0px 21px 8px rgba(172 184 196/ 0.3);
}

.purpose__slider-body{
    flex: 1;
    background-repeat: no-repeat;
    background-position: bottom right;
    margin-bottom: auto;
    padding: 30px 40px 80px;
}

.purpose__slider-body.--01{
    background-image: url(../img/top/purpose/slider-item-bg01.jpg);
}

.webp .purpose__slider-body.--01{
    background-image: url(../img/top/purpose/slider-item-bg01.jpg.webp);
}

.purpose__slider-body.--02{
    background-image: url(../img/top/purpose/slider-item-bg02.jpg);
}

.webp .purpose__slider-body.--02{
    background-image: url(../img/top/purpose/slider-item-bg02.jpg.webp);
}

.purpose__slider-body.--03{
    background-image: url(../img/top/purpose/slider-item-bg03.jpg);
}

.webp .purpose__slider-body.--03{
    background-image: url(../img/top/purpose/slider-item-bg03.jpg.webp);
}

.purpose__slider-body.--04{
    background-image: url(../img/top/purpose/slider-item-bg04.jpg);
}

.webp .purpose__slider-body.--04{
    background-image: url(../img/top/purpose/slider-item-bg04.jpg.webp);
}

.purpose__slider-body.--05{
    background-image: url(../img/top/purpose/slider-item-bg05.jpg);
}

.webp .purpose__slider-body.--05{
    background-image: url(../img/top/purpose/slider-item-bg05.jpg.webp);
}

.purpose__slider-title{
    display: flex;
    flex-direction: column;
    justify-content: center;
    color: #01763f;
    font-family: var(--mincho);
    font-size: 38px;
    font-weight: 900;
    letter-spacing: 0.03em;
    line-height: calc(55.34/38);
    text-align: center;
    height: 2.9em;
}

.purpose__slider-title-sub{
    background-color: #01763f;
    border-radius: calc(1px/0);
    color: #fff;
    font-size: 22px;
    font-weight: 900;
    letter-spacing: 0.05em;
    line-height: 1.2;
    text-align: center;
    padding: 0.34em 0.5em 0.46em;
    margin-top: 30px;
}

.purpose__slider-img img{
    aspect-ratio: 480/180;
    height: 100%;
    object-fit: cover;
}

.purpose__slider-text{
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: calc(36/16);
    text-align: justify;
    margin-top: 28px;
}

.purpose__slider-text > *+*{
    margin-top: 2.1em;
}

.swiper-pagination{
    bottom: 14px !important;
}

.swiper-pagination-bullet{
    background-color: #969696 !important;
    width: 10px;
    height: 10px;
    margin: 0 6px !important;
    opacity: 1 !important;
}

.swiper-button-prev, .swiper-button-next {
    height: 50px;
    width: 50px;
    top: auto;
    bottom: 0;
    transform: translateX(-50%);
}

.swiper-button-prev {
    left: calc(50% - 130px);
}

.swiper-button-next {
    right: calc(50% + -180px);
}

.swiper-button-prev:after,
.swiper-button-next:after{
    width: 100%;
    height: 100%;
    content: "";
    background-size: contain;
    background-repeat: no-repeat;
}

.swiper-button-prev:after {
    background-image: url(../img/top/purpose/slider-arrow.svg);
    transform: rotate(180deg);
}

.swiper-button-next:after {
    background-image: url(../img/top/purpose/slider-arrow.svg);
}

.swiper-pagination-bullet-active{
    background-color: var(--orange) !important;
}

@media (min-width: 1195px) and (max-width: 1599px) {
    .purpose__slider-item {
        width: 30vw;
        margin-left: 1.25vw;
        margin-right: 1.25vw;
    }

    .purpose__slider-title {
        font-size: 2.375vw;
    }

    .purpose__slider-title-sub {
        font-size: 1.375vw;
        margin-top: 1.875vw;
    }

    .purpose__slider-body {
        padding: 1.875vw 2.5vw 5vw;
    }
}

@media screen and (max-width: 1194px){
    .purpose__slider-items {
        padding-bottom: max(90px, 12vw);
    }

    .purpose__slider-item {
        width: 350px;
        margin-left: 15px;
        margin-right: 15px;
    }

    .purpose__slider-body {
        padding: 20px 20px 50px;
        background-size: 90%;
    }

    .purpose__slider-items {
        margin-top: 90px;
    }

    .purpose__slider-title {
        font-size: 28px;
    }

    .purpose__slider-title-sub {
        font-size: 18px;
        margin-top: 18px;
    }
}

@media screen and (max-width: 1023px){
    .purpose__slider-items {
        left: 0;
    }

    .swiper-button-prev, .swiper-button-next {
        height: 40px;
        width: 40px;
    }

    .swiper-button-prev {
        left: calc(50% - 110px);
    }

    .swiper-button-next {
        right: calc(50% + -150px);
    }

    .swiper-pagination {
        bottom: 10px !important;
    }
}

@media screen and (max-width: 767px){
    .purpose__slider-items {
        margin-top: 60px;
    }

    /*spでページネーションは左右端配置*/
    .purpose .swiper-button-prev, .purpose .swiper-button-next {
        height: 50px;
        width: 50px;
    }

    .purpose .swiper-button-next:before {
        left: 31%;
        top: 16%;
        transform: rotate(-135deg) translate(-50%, -50%);
    }

    .purpose .swiper-button-prev:before {
        left: 41%;
        top: 59%;
        transform: rotate(45deg) translate(-50%, -50%);
    }

    .purpose .swiper-button-prev:before, .purpose .swiper-button-next:before {
        content: '';
        display: inline-block;
        width: 15px;
        height: 15px;
        border-left: 4px solid #fff;
        border-bottom: 4px solid #fff;
        position: absolute;
        z-index: 1;
    }

    .purpose .swiper-button-next:after,
    .purpose .swiper-button-prev:after {
        background-image: none;
        background-color: var(--orange);
    }

    .purpose .swiper-button-prev, .purpose .swiper-button-next,
    .voice .swiper-button-prev, .voice .swiper-button-next {
        top: 50%;
    }
    .purpose .swiper-button-next,
    .voice .swiper-button-next {
        right: -25px !important;
    }
    .purpose .swiper-button-prev,
    .voice .swiper-button-prev {
        left: 25px !important;
    }
    .purpose .swiper-button-next:after,
    .purpose .swiper-button-prev:after,
    .voice .swiper-button-next:after,
    .voice .swiper-button-prev:after{
        border-radius: 0 !important;
        opacity: 0.8;
    }
    .purpose .swiper-pagination{
        display: none;
    }
    .purpose__slider-items {
        padding-bottom: 40px;
    }
}

@media screen and (max-width: 499px){
    .purpose__slider-item {
        margin-left: 2.5vw;
        margin-right: 2.5vw;
        width: 90%;
    }

    .purpose__slider-text > *+* {
        margin-top: 1.5em;
    }

    .swiper-button-prev, .swiper-button-next {
        height: 35px;
        width: 35px;
    }

    .swiper-pagination {
        bottom: 6px !important;
    }

    .purpose .swiper-button-prev,
    .voice .swiper-button-prev {
        left: calc(50% - 90px);
    }

    .purpose .swiper-button-next,
    .voice .swiper-button-next {
        right: calc(50% + -125px);
    }
}

@media screen and (max-width: 399px){
    .purpose__slider-title {
        font-size: 6vw;
    }

    .purpose__slider-title-sub {
        font-size: 16px;
        margin-top: 16px;
    }

    .purpose__slider-text {
        margin-top: 20px;
        line-height: 2.2;
    }

    .purpose__slider-text > *+* {
        margin-top: 1em;
    }
}

/*------------------------------------
merit/メリット
------------------------------------*/
.merit{
    background-color: #f2f7f9;
}

.merit__items{

    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 38px 0;
    margin-top: 130px;
}

.merit__item{
    flex-basis: calc(250px + 120px);
    letter-spacing: 0.05em;
}

.merit__item-img{
    width: 250px;
    margin-inline: auto;
    position: relative;
    filter: drop-shadow(0px 0px 20px rgba(172 184 196/ 0.13));
}

.merit__item-order{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: #fff;
    font-weight: 500;
    line-height: 1;
    width: 72px;
    aspect-ratio: 1/1;
    position: absolute;
    top: -10px;
    left: 10px;
}

.merit__item-order .--text{
    font-size: 18px;
}

.merit__item-order .--num{
    font-size: 28px;
}

.merit__item-text{
    color: var(--green02);
    font-size: 22px;
    font-weight: bold;
    line-height: calc(33.8/22);
    text-align: center;
    margin-top: 20px;
}

.merit__link{
    margin-top: 88px;
}

.merit__link a{
    gap: 15px;
    position: relative;
}

.merit__link a::after{
    content: "";
    display: block;
    background-image: url(../img/common/icon-arrow-circle.svg);
    background-repeat: no-repeat;
    background-size: contain;
    width: 15px;
    aspect-ratio: 1/1;
    position: static;
    margin-top: 3px;
}

.merit__link a span::before{
    content: none;
}

.merit__possible{
    padding-top: 160px;
}

.merit__possible-title{
    letter-spacing: 0;
    width: fit-content;
    margin: 0 auto;
    padding-top: 0;
    position: relative;
}

.merit__possible-title::before,
.merit__possible-title::after{
    content: "";
    background-image: url(../img/top/merit/merit__possible-title-dot.svg);
    background-repeat: no-repeat;
    background-size: contain;
    width: 1.4642em;
    aspect-ratio: 82/128;
    position: absolute;
    top: auto;
    bottom: 0;
}

.merit__possible-title::before{
    left: -1.846em;
    transform: scale(-1, 1);
    font-size: inherit;
}

.merit__possible-title::after{
    right: -1.846em;

}

.merit__possible-title .--bg {
    display: inline-block;
    color: #fff;
    padding: 0.04em 0.3em 0.1em;
    margin-right: 0.1em;
}

.merit__possible-items{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap:  75px;
    margin-top: 80px;
}

.merit__possible-item{
    display: flex;
    flex-direction: column;
}

.merit__possible-item-title{
    background-size: cover;
    background-repeat: no-repeat;
    border-radius: 20px 20px 0 0;
    text-align: center;
    padding: 50px 10px 40px;
}

.merit__possible-item-title .--text{
    display: inline-block;
    background-color: #fff;
    border-radius: 5px;
    font-family: var(--mincho);
    font-size: 32px;
    font-weight: 900;
    letter-spacing: 0.03em;
    line-height: 1.4;
    min-width: 233px;
    padding: 0.25em 0.5em 0.35em;
}

.merit__possible-item:nth-of-type(1) .merit__possible-item-title{
    background-image: url(../img/top/merit/merit__possible-titlebg01.jpg);
}

.webp .merit__possible-item:nth-of-type(1) .merit__possible-item-title{
    background-image: url(../img/top/merit/merit__possible-titlebg01.jpg.webp);
}

.merit__possible-item:nth-of-type(2) .merit__possible-item-title{
    background-image: url(../img/top/merit/merit__possible-titlebg02.jpg);
}

.webp .merit__possible-item:nth-of-type(2) .merit__possible-item-title{
    background-image: url(../img/top/merit/merit__possible-titlebg02.jpg.webp);
}

.merit__possible-subitems{
    flex: 1;
    background-color: #fff;
    background-size: auto;
    background-repeat: no-repeat;
    background-position: right bottom;
    padding: 44px 100px;
}

.merit__possible-subitems > *+*{
    margin-top: 0.6em;
}

.merit__possible-item:nth-of-type(1) .merit__possible-subitems{
    background-image: url(../img/top/merit/merit__possible-bg01.jpg);
}

.webp .merit__possible-item:nth-of-type(1) .merit__possible-subitems{
    background-image: url(../img/top/merit/merit__possible-bg01.jpg.webp);
}

.merit__possible-item:nth-of-type(2) .merit__possible-subitems{
    background-image: url(../img/top/merit/merit__possible-bg02.jpg);
}

.webp .merit__possible-item:nth-of-type(2) .merit__possible-subitems{
    background-image: url(../img/top/merit/merit__possible-bg02.jpg.webp);
}

.merit__possible-subitem{
    font-size: 22px;
    font-weight: bold;
    letter-spacing: 0.05em;
    line-height: 1.4;
    padding-left: 2em;
    position: relative;
}

.merit__possible-subitem::before {
    content: '';
    display: inline-block;
    width: 0.9em;
    height: 0.65em;
    border-left: 0.27em solid #be4b06;
    border-bottom: 0.27em solid #be4b06;
    transform: rotate(-45deg);
    position: absolute;
    left: 0;
    top: 0.3lh;
}

@media screen and (max-width: 1299px){
    .merit__possible-items {
        gap: 5.5vw;
    }

    .merit__possible-subitems {
        padding: 40px 7vw;
    }

    .merit__possible-item-title .--text {
        font-size: max(20px, 2.5vw);
    }
}

@media screen and (max-width: 1249px){
    .merit__item {
        flex-basis: calc(230px + 120px);
    }

    .merit__item-img {
        width: 230px;
    }
}

@media screen and (max-width: 1194px){
    .merit__possible {
        padding-top: max(80px, 13.4vw);
    }

    .merit__possible-subitems {
        padding: 40px 5vw;
    }

    .merit__possible-items {
        gap: 4vw;
    }
}

@media screen and (max-width: 1023px){
    .merit__items {
        margin-top: max(60px, 9.8vw);
    }

    .merit__item-text {
        font-size: 20px;
    }

    .merit__item {
        flex-basis: calc(230px + 100px);
    }

    .merit__possible-items {
        margin-top: 70px;
    }

    .merit__possible-subitems {
        padding: 30px 4vw;
    }

    .merit__possible-subitem {
        font-size: 20px;
        padding-left: 1.6em;
    }
}

@media screen and (max-width: 767px){
    .merit__item {
        flex-basis: 50%;
    }

    .merit__item-img {
        width: min(37.5vw, 230px);
    }

    .merit__item-text {
        padding-inline: 1vw;
    }

    .merit__link {
        margin-top: 60px;
    }

    .merit__possible-title {
        font-size: clamp(32px, 5vw, 56px);
    }

    .merit__possible-items {
        grid-template-columns: 1fr;
        gap: 60px;
        margin-top: 50px;
        max-width: 600px;
        margin-inline: auto;
    }

    .merit__possible-item-title .--text {
        font-size: 26px;
    }

    .merit__possible-subitems {
        padding: 40px 10vw;
    }

    .merit__possible-subitem {
        font-size: 22px;
        padding-left: 1.6em;
    }
}

@media screen and (max-width: 599px){
    .merit__item-text {
        font-size: max(16px, 3.3vw);
    }

    .merit__item-order {
        width: 12vw;
    }

    .merit__item-order .--text {
        font-size: 3vw;
    }

    .merit__item-order .--num {
        font-size: 4.66vw;
    }

    .merit__possible-title {
        font-size: 5.5vw;
    }

    .merit__possible-item-title .--text {
        font-size: 24px;
    }

    .merit__possible-subitem {
        font-size: 20px;
    }

    .merit__possible-items {
        gap: 50px;
    }
}

@media screen and (max-width: 499px){
    .merit__possible-item-title .--text {
        font-size: max(18px, 4.8vw);
    }

    .merit__possible-title {
        font-size: max(24px, 6vw);
    }

    .merit__possible-title::after {
        right: -1.6em;
    }

    .merit__possible-title::before {
        left: -1.6em;
    }

    .merit__possible-subitems {
        padding-left: 5vw;
        padding-right: 5vw;
    }

    .merit__possible-subitem {
        font-size: 18px;
    }
}

@media screen and (max-width: 359px){
    .merit__item-text {
        font-size: 4.4vw;
    }
}

/*------------------------------------
reason/選ばれる理由
------------------------------------*/
.reason{
    overflow: hidden;
    padding-bottom: 180px;
}

.reason__items{
    margin-top: 145px;
}

.reason__item{
    position: relative;
    z-index: 0;
}

.reason__item{
    padding: 105px 0 90px;
    min-height: 510px;
}

.reason__item:first-of-type{
    padding-top: 0;
}

.reason__item:nth-of-type(even)::before{
    content: "";
    display: block;
    background-color: #fff;
    height: 100%;
    width: 100vw;
    position: absolute;
    left: calc((100% - 100vw) / 2);
    top: 0;
    z-index: -1;
}

.reason__item-body{
    display: flex;
    justify-content: space-between;
    gap: 110px;
    margin-top: 30px;
}

.reason__item-text{
    flex: 1;
}

.reason__item-heading{
    display: flex;
    align-items: flex-start;
    gap: 40px;
}

.reason__item-heading-order{
    flex-basis: 101px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin-top: 6px;
}

.reason__item-heading-order .--text{
    display: block;
    color: #fff;
    font-family: var(--mincho);
    font-size: 25px;
    font-weight: 900;
    letter-spacing: 0.11em;
    text-align: center;
    width: 100%;
    height: 40px;
}

.reason__item-heading-order .--num{
    color: #ccd5db;
    font-family: var(--en);
    font-size: 110px;
    font-style: italic;
    font-weight: 400;
    line-height: 0.5;
    position: relative;
    top: -7px;
    left: -4px;
}

.reason__item-title{
    flex: 1;
    font-size: 30px;
    font-weight: 900;
    letter-spacing: 0.05em;
    line-height: 1.8;
}

.reason__item-title .--top{
    display: block;
}

.reason__item-title .--bottom{
    font-size: 1.4666em;
    margin-right: -5em;
    display: block;
}

.reason__item-list{
    font-size: 22px;
    font-weight: 600;
    letter-spacing: 0.05em;
    line-height: calc(39.6 / 22);
    padding: 0.4em 0 0.6em 1.8em;
    position: relative;
}

.reason__item-list::before{
    content: "";
    display: inline-block;
    width: 0.863em;
    aspect-ratio: 1/1;
    background-color: var(--orange);
    border-radius: 50%;
    position: absolute;
    left: 0.2em;
    top: 0.5lh;
}

.reason__item-list::after{
    content: "";
    display: block;
    background-image: radial-gradient(circle, #b6d0c0 2px, transparent 2px);
    background-position: left bottom;
    background-repeat: repeat-x;
    background-size: 9px 4px;
    height: 4px;
    width: 100%;
    position: absolute;
    left: 0;
    bottom: 0;
}

.reason__item-list .text-green{
    font-weight: 900;
}

.reason__item.top-narrow .reason__item-img{
    margin-top: -125px;
}

.reason__item-img{
    flex-basis: 34%;
}

.reason__item-img img{
    border-radius: 0 0 0 35px;
}

@media screen and (max-width: 1299px){
    .reason__item-body {
        gap: 8.46vw;
    }
}

@media screen and (max-width: 1194px){
    .reason {
        padding-bottom: max(80px, 15vw);
    }

    .reason__items {
        margin-top: max(80px, 12vw);
    }

    .reason__item {
        min-height: 42vw;
        padding: max(70px, 8.8vw) 0 max(70px, 7.5vw);
    }

    .reason__item.top-narrow .reason__item-img {
        margin-top: 0;
    }

    .reason__item-list {
        font-size: 20px;
    }


    .reason__item-heading {
        gap: 3.3vw;
    }

    .reason__item-heading-order {
        flex-basis: 8.5vw;
    }

    .reason__item-heading-order .--text {
        font-size: 2.51vw;
        height: 3.6vw;
    }

    .reason__item-heading-order .--num {
        font-size: 9.2vw;
        top: -0.5vw;
    }

    .reason__item-title {
        font-size: max(22px, 2.51vw);
        line-height: 1.7;
    }
}

@media screen and (max-width: 1023px){
    .reason__item-list {
        font-size: 18px;
        line-height: 1.8;
        padding: 0.6em 0 0.8em 1.8em;
    }

    .reason__item-body {
        gap: 6vw;
        align-items: center;
    }
}

@media screen and (max-width: 767px){
    .reason__item-body {
        flex-direction: column;
        gap: 40px;
    }

    .reason__item-text {
        width: 100%;
    }

    .reason__items {
        margin-inline: auto;
        max-width: 600px;
    }

    .reason__item-title {
        font-size: max(18px, 3.4vw);
    }

    .reason__item-heading-order .--num {
        font-size: max(50px, 13vw);
    }

    .reason__item-heading-order .--text {
        font-size: max(12px, 2.34vw);
        height: max(20px, 3.8vw);
    }

    .reason__item-title .--bottom {
        margin-right: 0;
    }

    .reason__item-img {
        width: 80%;
        max-width: 400px;
    }

    .reason__item-img img {
        aspect-ratio: 200/120;
        object-fit: cover;
    }

    .reason__item-list::before {
        top: 1.1em;
    }
}

@media screen and (max-width: 399px){
    .reason__item-title {
        font-size: max(16px, 3.4vw);
    }
}

/*------------------------------------
service/4つの無料サービス
------------------------------------*/
.service{
    background-color: #f2f7f9;
    padding-bottom: 0;
    position: relative;
    z-index: 0;
}

.service::before{
    content: "";
    display: block;
    background: rgb(146,213,146);
    background: linear-gradient(90deg, rgba(146,213,146,1) 0%, rgba(131,199,212,1) 100%);
    height: 580px;
    width: 100vw;
    position: absolute;
    bottom: -430px;
    left: 0;
    z-index: -1;
}

.service__title .--middle {
    background-color: var(--green02);
    color: #fff;
    width: fit-content;
    margin-inline: auto;
    line-height: 1;
    padding: 0.1em 0.1em 0.15em;
}

.service__title .--middle span{
    font-size: 0.892em;
    position: relative;
    top: -2px;
}

.service__title .--bottom{
    line-height: 0.7;
}

.service__title .--large{
    font-size: 1.57em;
}

.service__items{
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 40px;
    margin-top: 100px;
}

.service__item-order{
    display: flex;
    flex-direction: column;
    justify-content: center;
    background-image: url(../img/top/service/service-icon.svg);
    background-repeat: no-repeat;
    background-size: contain;
    color: #01763f;
    font-size: 15px;
    font-weight: bold;
    letter-spacing: 0.05em;
    line-height: 1.1;
    width: 101px;
    aspect-ratio: 1/1;
    margin-left: -23px;
}

.service__item-order-body {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    margin-top: -1.4em;
    margin-left: 1.2em;
}

.service__item-order-num{
    font-size: 1.53em;
}

.service__item {
    display: flex;
    flex-direction: column;
}

.service__item-body{
    flex: 1;
    display: flex;
    flex-direction: column-reverse;
    background-color: #fff;
    border-radius: 8px;
    margin-top: 30px;
    padding: 0 20px 22px;
}

.service__item-text{
    flex: 1;
}

.service__item-title{
    color: var(--green02);
    font-size: 24px;
    font-weight: bold;
    line-height: calc(33.8/24);
    text-align: center;

    background-image: radial-gradient(circle, #429971 4px, transparent 4px);
    background-position: left bottom;
    background-repeat: repeat-x;
    background-size: 16px 8px;
    padding-bottom: 0.9em;
    margin-inline: 10px;
    margin-top: 15px;
}

.service__item-detail{
    font-size: 18px;
    font-weight: bold;
    line-height: calc(33.8/18);
    text-align: center;
    margin-top: 0.7em;
}

.service__item-img{
    width: 189px;
    aspect-ratio: 1/1;
    margin-top: -55px;
    margin-inline: auto;
}

.service__item-img img{
    height: 100%;
    object-fit: cover;
}

@media (min-width: 1024px) and (max-width: 1299px) {
    .service::before {
        height: 45vw;
        bottom: -33vw;
    }

    .service__items {
        gap: 3vw;
    }

    .service__item-body {
        border-radius: 8px;
        margin-top: 2.3vw;
        padding: 0 1.538vw 1.69vw;
    }

    .service__item-title {
        font-size: 1.8vw;
        background-image: radial-gradient(circle, #429971 0.166em, transparent 0.166em);
        background-size: 0.666em 0.333em;
        padding-bottom: 0.9em;
        margin-inline: 0.416em;
        margin-top: 0.625em;
    }

    .service__item-order {
        font-size: 1.154vw;
        width: 7.7vw;
        margin-left: -1.77vw;
    }

    .service__item-img {
        width: 14.6vw;
        margin-top: -4.23vw;
    }

    .service__item-detail {
        font-size: 1.4vw;
    }
}

@media screen and (max-width: 1023px){
    .service__items {
        grid-template-columns: 1fr 1fr;
        gap: min(85.8vw, 40px) min(85.8vw, 20px);
        margin-top: 30px;
    }

    .service::before {
        height: 490px;
        bottom: -360px;
    }
}

@media screen and (max-width: 767px){
    .service::before {
        height: 500px;
    }
}

@media (min-width: 400px) and (max-width: 767px) {
    .service__items {
        margin-top: 60px;
    }

    .service__item-order {
        font-size: max(10px, 2vw);
        width: 13vw;
        margin-left: -2.6vw;
    }

    .service__item-body {
        margin-top: 3.9vw;
        padding: 0 2.6vw 4vw;
    }

    .service__item-title {
        background-image: radial-gradient(circle, #429971 0.166em, transparent 0.166em);
        background-size: 0.666em 0.333em;
        padding-bottom: 0.9em;
        margin-inline: 0.416em;
        margin-top: 0.625em;
    }

    .service__item-img {
        width: clamp(100px, 29vw, 190px);
    }
}

@media (min-width: 400px) and (max-width: 609px) {
    .service__item-body {
        margin-top: 7vw;
    }

    .service__item-title {
        font-size: 3.9vw;
    }

    .service__item-detail {
        font-size: max(16px, 2.95vw);
        line-height: 1.6;
    }

    .service__items {
        gap: 40px 4vw;
    }

    .service__item-title {
        font-size: max(16px, 3.9vw);
        margin-inline: 0.1em;
    }
}

@media screen and (max-width: 499px){
    .service::before {
        height: 460px;
        bottom: -330px;
    }
}

@media screen and (max-width: 399px){
    .service__items {
        grid-template-columns: 1fr;
    }

    .service__item-order {
        font-size: 3.75vw;
        width: 25vw;
        margin-left: 0;
    }

    .service__item-img {
        width: 160px;
        margin-top: -70px;
    }

    .service__item-title {
        font-size: 22px;
        margin-inline: 12px;
    }
}

/*------------------------------------
promise/お約束
------------------------------------*/
.promise{
    padding: 90px 0 220px;
    position: relative;
}

.promise__title{
    color: #fff;
    font-family: var(--mincho);
    font-weight: 900;
    text-shadow: 0px 0px 9px rgb(1 118 63 / 51%),0px 0px 17px rgb(1 118 63 / 51%);
    padding-top: 32px;
    letter-spacing: 0;
}

.promise__title::before {
    text-shadow: none
}

.promise__title span{
    font-size: 0.857em;
    padding: 0 1.7em;
    position: relative;
}

.promise__title span::before,
.promise__title span::after{
    content: "";
    display: inline-block;
    background-repeat: no-repeat;
    background-size: contain;
    width: 1.3125em;
    aspect-ratio: 63/54;
    position: absolute;
}

.promise__title span::before{
    background-image: url(../img/top/promise/promise-title-left.png);
    top: -0.28em;
    left: 0;
}

.webp .promise__title span::before{
    background-image: url(../img/top/promise/promise-title-left.png.webp);
}

.promise__title span::after{
    background-image: url(../img/top/promise/promise-title-right.png);
    bottom: -0.5em;
    right: -0.1em;
}

.webp .promise__title span::after{
    background-image: url(../img/top/promise/promise-title-right.png.webp);
}

.promise__body-title .--line.is-sp{
    display: contents;
}

.promise__contents{
    display: flex;
    margin-top: 65px;
}

.promise__body{
    flex: 1;
}

.promise__body-title{
    font-size: 38px;
    font-weight: bold;
    letter-spacing: 0.05em;
    line-height: 1.3;
}

.promise__body-title > *+*{
    margin-top:  9px;
}

.promise__body-title .--line{
    display: inline-block;
    background-color: #fff;
    padding: 0.1em 0.2em;
}

.promise__body-text{
    font-weight: bold;
    letter-spacing: 0.02em;
    line-height: calc(36/16);
    margin-top: 66px;
    margin-right: 90px;
    font-feature-settings: normal;
    text-align: justify;
}

.promise__body-text > *+*{
    margin-top: 2.2em;
}

.promise__img-box{
    flex-basis: 45%;
    display: grid;
    gap: 17px;
    grid-template-columns: 1fr 1fr;
    margin-right: -155px;
}

.promise__img:first-of-type{
    margin-top: 40px;
}

@media screen and (max-width: 1599px){
    .promise__img-box {
        flex-basis: 33.75vw;
        margin-right: calc(((1200px - 100vw) / 2) + 30px);
    }
}

@media screen and (max-width: 1299px){
    .promise__img-box {
        flex-basis: 36%;
        margin-right: 0;
    }

    .promise__body-title {
        font-size: 2.8vw;
    }

    .promise__body-text {
        margin-right: 7vw;
    }
}

@media screen and (max-width: 1194px){
    .promise{
        padding: max(60px, 7.5vw) 0 max(90px, 18vw);
    }

    .promise__contents {
        align-items: center;
    }

    .promise__body-text {
        margin-top: 50px;
    }
}

@media screen and (max-width: 1023px){
    .promise{
        padding-top: 80px;
    }

    .promise__title span {
        font-size: 40px;
    }

    .promise__contents {
        flex-wrap: wrap;
        margin-top: 50px;
    }

    .promise__body {
        display: contents;
    }

    .promise__body-title {
        font-size: 32px;
    }

    .promise__body-text {
        margin-right: 0;
    }

    .promise__img-box {
        flex-basis: 60%;
        margin-inline: auto;
        margin-top: 40px;
    }

}

@media screen and (max-width: 767px){
    .promise {
        padding-top: 60px;
    }

    .promise__body-title {
        font-size: 28px;
    }

    .promise__title span {
        padding: 0 1.2em;
        font-size: 34px;
    }

    .promise__body-title .--line.is-pc{
        display: contents;
    }

    .promise__body-title .--line.is-sp{
        display: block;
        width: fit-content;
    }

    .promise__body-title .--line.is-sp:nth-of-type(n+2){
        margin-top: 5px;
    }

    .promise__body-title > *+* {
        margin-top: 5px;
    }

    .promise__body-text {
        line-height: 2.2;
    }

    .promise__body-title{
        display: flex;
        flex-direction: column;
        align-items: center;
        margin-inline: auto;
    }

    .promise__body-text > *+* {
        margin-top: 1.5em;
    }

    .promise__img-box {
        margin-top: 30px;
        flex-basis: 95%;
        max-width: 400px;
    }
}

@media screen and (max-width: 499px){
    .promise__body-title {
        font-size: 24px;
    }

    .promise__title span {
        font-size: 30px;
    }
}

@media screen and (max-width: 399px){
    .promise__title span {
        font-size: 25px;
    }

    .promise__body-title {
        font-size: 22px;
    }
}

/*------------------------------------
voice/お客様の声
------------------------------------*/
.voice{
    background-color: #f6f6f6;
    padding-bottom: 110px;
}

.voice__slider-items {
    margin-top: 90px;
    padding-bottom: 130px;
    position: relative;
}

.voice__slider-item{
    display: flex;
    flex-direction: column-reverse;
    border-radius: 18px;
    width: 460px;
    height: auto;
    margin-inline: 30px;
    box-shadow: 0px 0px 21px 8px rgba(172 184 196/ 0.3);
    padding: 45px 35px 55px;
}

.voice__slider-body {
    flex: 1;
    margin-bottom: auto;
    padding-top: 15px;
    display: flex;
    flex-direction: column;
}

.voice__level{
    display: flex;
    align-items: center;
}

.voice__level dt{
    font-size: 24px;
    font-weight: bold;
    flex-basis: 2.8em;
    letter-spacing: 0.025em;
}

.voice__level-star{
    display: inline-block;
    background-image: url(../img/top/voice/icon-star.svg);
    background-repeat: no-repeat;
    background-size: contain;
    width: 26px;
    aspect-ratio: 1;
    margin-right: 5px;
}

.voice__slider-title{
    border-bottom: 1px solid #868988;
    color: #dd4f02;
    font-size: 20px;
    font-weight: bold;
    line-height: 2;
    margin-top: 22px;
    padding-bottom: 24px;
}

.voice__slider-text{
    font-size: 15px;
    font-weight: 600;
    line-height: calc(36/15);
    text-align: justify;
    margin-top: 20px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 5;
    overflow: hidden;
}

.voice__slider-text.--narrow{
    line-height: 2;
}

.voice__slider-link {
    text-align: center;
    margin-top: auto;
    padding-top: 25px;
}

.voice__btn{
    display: inline-block;
    border-radius: calc(1px / 0);
    background-color: var(--pink);
    color: #fff;
    font-size: 18px;
    font-weight: bold;
    letter-spacing: 0.09em;
    text-align: center;
    width: 234px;
    height: 60px;
    line-height: 60px;
    position: relative;
    border: none;
}

.voice__btn:hover{
    cursor: pointer;
}

.voice__btn::before{
    content: "";
    display: inline-block;
    background-image: url(../img/common/icon_arrow.svg);
    background-repeat: no-repeat;
    background-size: contain;
    width: 10px;
    aspect-ratio: 10/15;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 15px;
}

.voice__slider-img{
    height: 147px;
    text-align: center;
}

.voice__slider-img img{
    width: auto;
}

.voice .swiper-pagination-bullet {
    background-color: #b9b9b9 !important;
    width: 22px;
    height: 22px;
    margin: 0 10px !important;
    opacity: 1 !important;
}

.voice .swiper-button-prev, .voice .swiper-button-next {
    height: 63px;
    width: 63px;
}

.voice .swiper-button-next:after {
    background-image: none;
    background-color: #ff8c19;
    border-radius: 50%;
}

.voice .swiper-button-prev:after {
    background-image: none;
    background-color: #ff8c19;
    border-radius: 50%;
}

.voice .swiper-button-prev:before,
.voice .swiper-button-next:before {
    content: '';
    display: inline-block;
    width: 15px;
    height: 15px;
    border-left: 4px solid #fff;
    border-bottom: 4px solid #fff;
    position: absolute;
    z-index: 1;
}

.voice .swiper-button-prev:before {
    left: 42%;
    top: 55%;
    transform: rotate(45deg) translate(-50%, -50%);
}

.voice .swiper-button-next:before {
    left: 35%;
    top: 22%;
    transform: rotate(-135deg) translate(-50%, -50%);
}

.voice .swiper-button-next {
    right: calc(50% + -220px);
}

.voice .swiper-button-prev {
    left: calc(50% - 165px);
}

.voice .swiper-pagination-bullet-active {
    background-color: var(--orange) !important;
}

/*モーダル*/
.modal {
    display: none; /* デフォルトでは非表示 */
    position: fixed;
    z-index: 100;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0, 0, 0, 0.5);
}

.modal-content {
    background-color: #fefefe;
    padding: 20px;
    border: 1px solid #888;
    width: 80%;
    max-width: 1000px;
    border-radius: 6px;

    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.modal-img{
    max-width: 600px;
    margin-inline: auto;
}


.modal-close__area{
    text-align: center;
    margin-top: 30px;
}

.modal-close {
    background-color: var(--pink);
    border-radius: calc(2px / 0);
    color: #fff;
    font-weight: bold;
    display: inline-block;
    border: none;
    padding: 0.8em 4em;
}

.modal-close:hover{
    cursor: pointer;
}

.close:hover,
.close:focus {
    color: black;
    text-decoration: none;
    cursor: pointer;
}

body.no-scroll {
    overflow: hidden; /* スクロールを無効にする */
}

@media (min-width: 1195px) and (max-width: 1599px) {
    .voice__slider-item {
        width: 30vw;
        margin-left: 1.25vw;
        margin-right: 1.25vw;
    }
}

@media screen and (max-width: 1194px){
    .voice{
        padding-bottom: max(60px, 9.2vw);
    }

    .voice__slider-items {
        padding-bottom: max(90px, 12vw);
    }

    .voice__slider-item {
        width: 350px;
        margin-left: 15px;
        margin-right: 15px;
    }

    .voice__slider-img {
        height: 120px;
    }

    .voice__slider-items {
        margin-top: 90px;
    }

    .voice__level dt {
        font-size: 20px;
    }

    .voice__level-star {
        width: 22px;
        margin-top: 2px;
    }

    .voice__slider-title {
        font-size: 18px;
        line-height: 1.8;
    }
}

@media screen and (max-width: 1023px){
    .voice__slider-img {
        height: 110px;
    }

    .voice__slider-items {
        left: 0;
        margin-top: 80px;
    }

    .voice .swiper-button-prev, .swiper-button-next {
        height: 40px;
        width: 40px;
    }

    .voice .swiper-button-prev {
        left: calc(50% - 120px);
    }

    .voice .swiper-button-next {
        right: calc(50% + -170px);
    }

    .voice .swiper-pagination {
        bottom: 10px !important;
    }

    .voice .swiper-pagination-bullet {
        width: 16px;
        height: 16px;
        margin: 0 8px !important;
    }

    .voice .swiper-button-prev, .voice .swiper-button-next {
        height: 50px;
        width: 50px;
    }

    .voice .swiper-button-next:before {
        left: 31%;
        top: 16%;
    }

    .voice .swiper-button-prev:before {
        left: 41%;
        top: 59%;
    }
}

@media screen and (max-width: 767px){
    .voice__slider-items {
        margin-top: 60px;
    }

    .voice .swiper-pagination{
        display: none;
    }

    .modal-content {
        top: 45%;
    }

    /*ページネーション非表示のため調整*/
    .voice__slider-items {
        padding-bottom: 40px;
    }
}

@media screen and (max-width: 499px){
    .voice__slider-item {
        margin-left: 2.5vw;
        margin-right: 2.5vw;
        width: 90%;
    }

    .voice__slider-text > *+* {
        margin-top: 1.5em;
    }

    .voice .swiper-button-prev, .voice .swiper-button-next {
        height: 40px;
        width: 40px;
    }

    .voice .swiper-pagination {
        bottom: 6px !important;
    }

    .voice .swiper-button-prev {
        left: calc(50% - 90px);
    }

    .voice .swiper-button-next {
        right: calc(50% + -130px);
    }

    .voice .swiper-pagination-bullet {
        width: 14px;
        height: 14px;
        margin: 0 6px !important;
    }

    .voice .swiper-button-prev:before, .voice .swiper-button-next:before {
        width: 13px;
        height: 13px;
    }

    .voice .swiper-button-next:before {
        left: 30%;
        top: 14%;
    }
}

@media screen and (max-width: 399px){
    .voice__slider-text {
        margin-top: 20px;
        line-height: 2.2;
    }

    .voice__slider-text > *+* {
        margin-top: 1em;
    }

    /*ページネーション両端配置調整*/
    .purpose .swiper-button-prev, .purpose .swiper-button-next {
        height: 40px;
        width: 40px;
    }
    .purpose .swiper-button-next:before {
        left: 24%;
        top: 6%;
    }
    .swiper-button-next {
        right: -20px !important;
    }
    .swiper-button-prev {
        left: 20px !important;
    }
}

/*------------------------------------
voice/アンケート調査
------------------------------------*/
.survey{
    background-color: #f6f6f6;
    padding-bottom: 180px;
}

.survey__title{
    font-size: 44px;
    text-align: left;
    padding-top: 60px;
}

.survey__title::before{
    font-size: 22px;
    left: 0;
    transform: none;
}

.survey__list{
    margin-top: 67px;
}

.slider-thumbnail__text{
    border-bottom: 1px solid #d8d8d8;
    font-size: 32px;
    font-weight: bold;
    letter-spacing: 0.05em;
    padding: 0.8em 0 0.75em 1.6em;
    margin-right: 14%;
    position: relative;
}

.slider-thumbnail__text::before{
    content: "";
    display: block;
    background-repeat: no-repeat;
    background-size: contain;
    height: 1.3125em;
    aspect-ratio: 38/42;
    position: absolute;
    left: 0;
    top: 54%;
    transform: translateY(-50%);
}

.slider-thumbnail__text .--arrow {
    display: inline-block;
    width: 24px;
    aspect-ratio: 1/1;
    background-color: transparent;
    border-radius: 50%;
    position: absolute;
    top: 54%;
    left: 12.6em;
    transform: translateY(-50%);
}

.slider-thumbnail__text .--arrow::before {
    content: '';
    display: inline-block;
    width: 9px;
    height: 9px;
    border-left: 3px solid var(--green02);
    border-bottom: 3px solid var(--green02);
    transform: rotate(-135deg);
    position: absolute;
    z-index: 1;
    top: 34%;
    left: 25%;
}

.survey__thumb-item:hover .slider-thumbnail__text .--arrow,
.swiper-slide-thumb-active .slider-thumbnail__text .--arrow{
    background: rgb(143,210,143);
    background: linear-gradient(90deg, rgba(143,210,143,1) 0%, rgba(128,196,210,1) 100%);
}

.survey__thumb-item:hover .slider-thumbnail__text .--arrow::before,
.swiper-slide-thumb-active .slider-thumbnail__text .--arrow::before{
    border-color: #fff;
}

.survey__thumb-item:hover{
    cursor: pointer;
}

.survey__thumb-item:nth-of-type(1) p::before{
    background-image: url(../img/top/survey/list-icon01.png);
}

.webp .survey__thumb-item:nth-of-type(1) p::before{
    background-image: url(../img/top/survey/list-icon01.png.webp);
}

.survey__thumb-item:nth-of-type(2) p::before{
    background-image: url(../img/top/survey/list-icon02.png);
}

.webp .survey__thumb-item:nth-of-type(2) p::before{
    background-image: url(../img/top/survey/list-icon02.png.webp);
}

.survey__thumb-item:nth-of-type(3) p::before{
    background-image: url(../img/top/survey/list-icon03.png);
}

.webp .survey__thumb-item:nth-of-type(3) p::before{
    background-image: url(../img/top/survey/list-icon03.png.webp);
}

.survey__thumb-item:nth-of-type(4) p::before{
    background-image: url(../img/top/survey/list-icon04.png);
}

.webp .survey__thumb-item:nth-of-type(4) p::before{
    background-image: url(../img/top/survey/list-icon04.png.webp);
}

.survey__thumb-item.swiper-slide-thumb-active:nth-of-type(1) p::before,
.survey__thumb-item:nth-of-type(1) p:hover::before{
    background-image: url(../img/top/survey/list-icon01_hover.png);
}

.webp .survey__thumb-item.swiper-slide-thumb-active:nth-of-type(1) p::before,
.webp .survey__thumb-item:nth-of-type(1) p:hover::before{
    background-image: url(../img/top/survey/list-icon01_hover.png.webp);
}

.survey__thumb-item.swiper-slide-thumb-active:nth-of-type(2) p::before,
.survey__thumb-item:nth-of-type(2) p:hover::before{
    background-image: url(../img/top/survey/list-icon02_hover.png);
}

.webp .survey__thumb-item.swiper-slide-thumb-active:nth-of-type(2) p::before,
.webp .survey__thumb-item:nth-of-type(2) p:hover::before{
    background-image: url(../img/top/survey/list-icon02_hover.png.webp);
}

.survey__thumb-item.swiper-slide-thumb-active:nth-of-type(3) p::before,
.survey__thumb-item:nth-of-type(3) p:hover::before{
    background-image: url(../img/top/survey/list-icon03_hover.png);
}

.webp .survey__thumb-item.swiper-slide-thumb-active:nth-of-type(3) p::before,
.webp .survey__thumb-item:nth-of-type(3) p:hover::before{
    background-image: url(../img/top/survey/list-icon03_hover.png.webp);
}

.survey__thumb-item.swiper-slide-thumb-active:nth-of-type(4) p::before,
.survey__thumb-item:nth-of-type(4) p:hover::before{
    background-image: url(../img/top/survey/list-icon04_hover.png);
}

.webp .survey__thumb-item.swiper-slide-thumb-active:nth-of-type(4) p::before,
.webp .survey__thumb-item:nth-of-type(4) p:hover::before{
    background-image: url(../img/top/survey/list-icon04_hover.png.webp);
}


.slider-thumbnail .swiper-slide {
    transition: opacity .5s;
}
.slider-thumbnail .swiper-slide.swiper-slide-thumb-active {
    opacity: 1;
}

.survey__contents{
    position: relative;
    z-index: 0;
}

.survey__graph {
    width: calc(100% - 58%);
    position: absolute;
    top: 0;
    right: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 100%;
    padding-left: 110px;
}

.survey__graph::before{
    content: "";
    display: block;
    background: rgb(143,210,143);
    background: linear-gradient(90deg, rgba(143,210,143,1) 0%, rgba(128,196,210,1) 100%);
    height: calc(100% - 120px);
    width: calc(100% + ((100vw - 100%) / 2));
    position: absolute;
    right: calc((100% - 100vw) / 2);
    top: 50%;
    transform: translateY(-50%);
    z-index: -1;
}

.survey-slider__items{
    width: 400px;
    margin-top: -25px;
    padding-bottom: 75px;
}

.survey__body{
    background-color: #fff;
    width: 58%;
    padding: 125px 0 160px;
    position: relative;
}

.survey__body::before{
    content: "";
    display: block;
    background-color: #fff;
    width: calc((100vw - 100%) / 2);
    height: 100%;
    position: absolute;
    top: 0;
    left: calc((100% - 100vw) / 2);
}

.survey__list-items{
    display: flex;
    flex-direction: column;
    transform: none !important;
}

.survey__graph-title {
    font-size: 35px;
    font-weight: bold;
    letter-spacing: .05em;
    text-align: center;
    width: 380px;
    padding: 0.2em 0;
    border-radius: calc(1px / 0);
    background-color: #fff;
    position: relative;
    left: 14px;
    white-space: nowrap;
    margin-left: -10px;
}

.survey__graph-title::before{
    content: "";
    display: inline-block;
    width: 0;
    height: 0;
    border-style: solid;
    border-right: 10px solid transparent;
    border-left: 10px solid transparent;
    border-top: 15px solid #ffffff;
    border-bottom: 0;
    position: absolute;
    bottom: -14px;
    left: 50%;
    transform: translateX(-50%);
}

.survey-slider__img{
    margin-top: 40px;
    width: 345px;
    margin-inline: auto;
}

.survey .swiper-button-prev, .survey .swiper-button-next{
    height: 40px;
    width: 40px;
    z-index: 20;
}

.survey .swiper-button-next {
    right: calc(50% + -125px) !important;
}

.survey .swiper-button-prev {
    left: calc(50% - 80px) !important;
}

.survey .swiper-button-next:after,
.survey .swiper-button-prev:after {
    background-image: none;
    background-color: #fff;
    border-radius: 50%;
}

.survey .swiper-button-prev:before,
.survey .swiper-button-next:before {
    content: '';
    display: inline-block;
    width: 10px;
    height: 10px;
    border-left: 2px solid var(--orange);
    border-bottom: 2px solid var(--orange);
    position: absolute;
    z-index: 1;
}

.survey .swiper-button-prev:before {
    left: 42%;
    top: 55%;
    transform: rotate(45deg) translate(-50%, -50%);
}

.survey .swiper-button-next:before {
    left: 35%;
    top: 22%;
    transform: rotate(-135deg) translate(-50%, -50%);
}

.survey .swiper-pagination{
    color: #fff;
    font-size: 36px;
    letter-spacing: -0.08em;
    font-weight: bold;
    bottom: -4px !important;
}

@media screen and (max-width: 1399px){
    .survey__graph {
        padding-left: 5vw;
    }

    .survey__graph-title {
        font-size: 32px;
        width: 350px;
        margin-inline: auto;
        left: 0;
    }

    .survey-slider__img {
        width: 300px;
    }
}

@media screen and (max-width: 1194px){
    .survey__title {
        font-size: 38px;
        padding-top: 50px;
    }

    .survey__body {
        width: 53%;
        padding: 90px 0 110px;
    }

    .survey__graph {
        width: calc(100% - 53%);
    }

    .slider-thumbnail__text {
        font-size: 28px;
    }

    .survey-slider__items {
        width: 350px;
    }

    .survey__graph {
        padding-left: 0;
    }

    .survey__graph-title {
        font-size: 28px;
        width: 290px;
    }

    .survey-slider__img {
        width: 200px;
    }

    .survey__list {
        margin-top: 50px;
    }
}

@media screen and (max-width: 1023px){
    .survey__body {
        padding: 60px 0 80px;
    }

    .survey__title {
        font-size: 28px;
        padding-top: 38px;
    }

    .survey__title::before {
        font-size: 20px;
    }

    .survey__list {
        margin-top: 40px;
    }

    .slider-thumbnail__text {
        font-size: 22px;
    }

    .slider-thumbnail__text .--arrow::before {
        top: 30%;
    }

    .survey-slider__items {
        padding-inline: 20px;
        padding-bottom: 70px;
    }

    .survey__graph::before {
        height: calc(100% - 80px);
    }

    .survey__graph-title {
        font-size: 22px;
        padding-bottom: 0.3em;
        width: 250px;
    }

    .survey .swiper-pagination {
        font-size: 30px;
        bottom: 0 !important;
    }
}

@media screen and (max-width: 767px){
    .survey {
        padding-bottom: 0;
    }

    .survey__title {
        text-align: center;
        font-size: max(24px, 4vw);
    }

    .survey__title::before {
        font-size: clamp(16px, 3vw, 23px);
        left: 50%;
        transform: translateX(-50%);
    }

    .survey__contents{
        display: flex;
        flex-direction: column-reverse;
    }

    .survey__graph{
        position: relative;
        width: 100%;
        padding: 50px 0;
    }

    .survey__graph::before {
        height: 100%;
        top: 0;
        transform: none;
        width: 100vw;
    }

    .survey-slider__items{
        margin-top: 0;
    }

    .survey__body {
        width: 100%;
        padding-bottom: 50px;
    }

    .survey__body::before {
        width: 100vw;
        top: 0;
        left: -5vw;
    }

    .survey__list-items {
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: space-between;
    }

    .slider-thumbnail .swiper-slide {
        flex-basis: 47%;
        width: auto;
    }

    .slider-thumbnail__text {
        margin-right: 0;
        font-size: 20px;
    }

    .slider-thumbnail__text .--arrow {
        left: auto;
        right: 10px;
    }
}

@media screen and (max-width: 599px){
    .survey__list-items {
        flex-direction: column;
    }

    .slider-thumbnail__text {
        padding-left: 2.2em;
    }

    .slider-thumbnail__text::before {
        left: 0.3em;
    }
}

@media screen and (max-width: 499px){
    .survey__list {
        margin-top: 20px;
    }

    .slider-thumbnail__text {
        padding: 0.7em 0 0.65em 2em;
    }

    .survey__body {
        padding-bottom: 25px;
    }

    .survey__graph {
        padding: 25px 0;
    }

    .survey__graph-title::before {
        border-right: 6px solid transparent;
        border-left: 6px solid transparent;
        border-top: 10px solid #ffffff;
        bottom: -9px;
    }

    .survey-slider__img {
        margin-top: 25px;
    }

    .survey-slider__items {
        padding-bottom: 60px;
    }
}

@media screen and (max-width: 399px){
    .slider-thumbnail__text {
        font-size: 18px;
    }

    .survey__graph-title {
        font-size: 18px;
    }

    .survey-slider__items {
        padding-inline: 0;
        padding-bottom: 60px;
        width: 100%;
    }
}

/*------------------------------------
case/ご相談例
------------------------------------*/
.case{
    padding-bottom: 205px;
}

.case__contents{
    position: relative;
    margin-top: 95px;
}

.case__contents::before,
.case__contents::after{
    content: "";
    background-repeat: no-repeat;
    background-size: cover;
    position: absolute;
    top: 0;
    width: 530px;
    aspect-ratio: 530/660;
    z-index: -1;
}

.case__contents::before{
    background-image: url(../img/top/case/case01.jpg);
    left: calc((100% - 100vw) / 2);
    top: -200px;
}

.webp .case__contents::before{
    background-image: url(../img/top/case/case01.jpg.webp);
}

.case__contents.woman::before{
    background-image: url(../img/top/case/case01-woman.jpg);
    left: calc((100% - 100vw) / 2);
    top: -200px;
}

.webp .case__contents.woman::before{
    background-image: url(../img/top/case/case01-woman.jpg.webp);
}
.case__contents::after{
    background-image: url(../img/top/case/case02.jpg);
    right: calc((100% - 100vw) / 2);
    top: 300px;
}

.webp .case__contents::after{
    background-image: url(../img/top/case/case02.jpg.webp);
}

.case__contents-box{
    background-color: #fff;
    border-radius:  50px;
    padding: 45px 75px 45px;
    position: relative;
}

.case__contents-box.is-show{
    padding-bottom: 140px;
}

.case__contents-box::before{
    content: "";
    display: inline-block;
    background-image: url(../img/top/case/icon-fukidashi.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: 60px;
    aspect-ratio: 60/58;
    position: absolute;
    top: -35px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1;
}

.webp .case__contents-box::before{
    background-image: url(../img/top/case/icon-fukidashi.png.webp);
}

.case__heading{
    display: flex;
}

.case__heading::after{
    content: "";
    display: block;
    background-image: url(../img/top/case/icon-man.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: 128px;
    aspect-ratio: 128/141;
    margin-right: -1em;
}

.webp .case__heading::after{
    background-image: url(../img/top/case/icon-man.png.webp);
}

.case__heading.woman::after{
    background-image: url(../img/top/case/icon-woman.png);
}
.webp  .case__heading.woman::after{
    background-image: url(../img/top/case/icon-woman.png.webp );
}

.case__contents-title{
    font-size: 32px;
    line-height: calc(62/32);
    letter-spacing: 0.04em;
    flex: 1;
    text-indent: -0.8em;
    padding-left: 0.9em;
}

.case__contents-title .--main{
    padding-right: 1.6em;
}

.case__contents-title .--main::before,
.case__contents-title .--main::after{
    content: "";
    display: inline-block;
    background-repeat: no-repeat;
    background-size: contain;
    width: 0.8125em;
    aspect-ratio: 26/22;
    position: relative;
}

.case__contents-title .--main::before{
    background-image: url(../img/top/case/case__double-quote-left.png);
    top: -0.4em;
    right: 0.4em;
}

.webp .case__contents-title .--main::before{
    background-image: url(../img/top/case/case__double-quote-left.png.webp);
}

.case__contents-title .--main::after{
    background-image: url(../img/top/case/case__double-quote-right.png);
    top: -0.4em;
    right: -0.4em;
}

.webp .case__contents-title .--main::after{
    background-image: url(../img/top/case/case__double-quote-right.png.webp);
}

.case__contents-title .--status{
    font-size: 0.5625em;
    display: inline-block;
}

.case__contents-detail{
    border-top: 1px solid var(--green02);
    font-weight: 500;
    line-height: calc(34/16);
    letter-spacing: 0.06em;
    margin-top: 13px;
    padding-top: 34px;
    font-feature-settings: normal;
    text-align: justify;
}

.accordion-text > *+*{
    margin-top: 2em;
}

.accordion {
    position: relative;
}
.case-btn {
    display: inline-block;
    border-radius: calc(1px / 0);
    background-color: var(--pink);
    color: #fff;
    font-size: 18px;
    font-weight: bold;
    letter-spacing: 0.09em;
    text-align: center;
    width: 234px;
    height: 60px;
    line-height: 60px;
    border: none;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    transition: all .2s;
    z-index: 1;
}

.case-btn::before {
    content: "";
    display: inline-block;
    background-image: url(../img/common/icon_arrow.svg);
    background-repeat: no-repeat;
    background-size: contain;
    width: 10px;
    aspect-ratio: 10/15;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 15px;
}

.case-btn:hover::before {
    background-image: url(../img/common/icon_arrow-pink.png);
}

.webp .case-btn:hover::before {
    background-image: url(../img/common/icon_arrow-pink.png.webp);
}

  /* ボタン */

  /* 続きを読むボタンの表記 */
.case-btn::after {
    content: "続きを読む";
}
  /* ボタンhover時のスタイル */
.case-btn:hover {
    background-color: #fff;
    color: var(--pink);
    border: 1px solid var(--pink);
}
.accordion-text {
    overflow: hidden; /* テキストを隠す */
    position: relative;
}
  /* 最初に見えてるテキストエリアの高さ */
.accordion-text.is-hide {
    height: 26em;
}
/* テキストをグラデーションで隠す */
.accordion-text::before {
    background: #fff;
    bottom: 0;
    content: "";
    height: 60px;
     /* グラデーションで隠す高さ */
    position: absolute;
    width: 100%;
}

/* 閉じるボタンの位置 */
.case-btn.is-show {
    bottom: -5em;
}
/* 閉じるボタンの表記 */
.case-btn.is-show::after {
    content: "閉じる";
}
/* 続きを見るボタンをクリックしたらテキストを隠しているグラデーションを消す */
.case-btn.is-show + .accordion-text::before {
    display: none;
}

.case__caution{
    background-color: #f2f2f0;
    border-radius: 10px;
    color: #f15a5a;
    font-size: 14px;
    font-weight: bold;
    font-feature-settings: normal;
    letter-spacing: 0.06em;
    line-height: calc(34/14);
    max-width: 750px;
    margin-inline: auto;
    margin-top: 10px;
    padding: 30px 45px;
    position: relative;
    overflow: hidden;
    position: relative;
    z-index: 0;
}

.case__caution::before {
    content: "";
    display: block;
    background-repeat: no-repeat;
    background-size: contain;
    background-image: url(../img/top/case/icon-glass.svg);
    width: 120px;
    aspect-ratio: 115/130;
    position: absolute;
    bottom: -16px;
    right: 7px;
    z-index: -1;
}

@media screen and (max-width: 1920px){
    .case__contents::before, .case__contents::after {
        width: max(300px, 27.5vw);
    }

    .case__contents::before {
        top: -10.416vw;
    }
}
@media screen and (max-width: 1194px){
    .case {
        padding-bottom: max(100px, 17vw);
    }

    .case__contents::before {
        top: -60px;
    }

    .case__contents-box {
        border-radius: 40px;
        padding: 40px 6vw;
    }

    .case__contents-title {
        font-size: max(22px, 2.85vw);
    }

    .case__heading::after {
        width: clamp(80px, 11vw, 128px);
    }
}

@media screen and (max-width: 1023px){
    .case__contents-box::before {
        width: 50px;
        top: -25px;
    }
}

@media screen and (max-width: 767px){
    .case__contents-detail {
        padding-top: 30px;
        line-height: 2;
    }

    .case__contents::before, .case__contents::after {
        width: 33vw;
    }

    .case__contents::before {
        top: -40px;
    }

    .case__contents-box::before {
        width: 40px;
        top: -15px;
    }

    .case__contents-title {
        font-size: 20px;
    }

    .case__contents-box {
        padding: 40px 5vw;
    }

    .case__caution {
        padding: 30px 5vw;
    }

    .case__contents::after{
        content: none;
    }
}

@media screen and (max-width: 599px){
    .case__contents-title {
        font-size: 18px;
    }

    .case__heading::after {
        width: 70px;
    }

    .accordion-text > *+* {
        margin-top: 1.7em;
    }
}

@media screen and (max-width: 599px){
    .case__heading {
        flex-direction: column;
        gap: 20px;
    }

    .case__heading::after {
        margin-inline: auto;
    }
}
