:root {
    /* clampの計算に必要な基準値 */
    --layout-width-min: 320;
    --layout-width-max: 930;
    --clamp-root-font-size: 17;

    --main: #50b9bf;
    --main_light: #ebf9f9;
    --light: #fff;
    --line: #dcdddd;

    --app: #e74069;
    --catalog: #fffa82;
    --contract: #f9bbd5;
    --insurance: #37b2b7;

    --cta_app: #f37312;
    --cta_catalog: #f6ba11;

    --plan_50: #ff388c;
    --plan_70: #38beff;
    --plan_100: #72c571;
}

*,
::before,
::after {
    /* 計算ロジック */
    --_clamp-slope: calc((var(--_clamp-max) - var(--_clamp-min)) / (var(--layout-width-max) - var(--layout-width-min)));
    --_clamp-y-axis-intersection: calc(var(--_clamp-min) - (var(--_clamp-slope) * var(--layout-width-min)));
    --_clamp-preferred-value: calc(var(--_clamp-y-axis-intersection) * (1rem / var(--clamp-root-font-size)) + (var(--_clamp-slope) * 100dvi));

    --clamp: clamp(calc(var(--_clamp-min) * (1rem / var(--clamp-root-font-size))),
            var(--_clamp-preferred-value),
            calc(var(--_clamp-max) * (1rem / var(--clamp-root-font-size))));
}

body {
    font-family: "Helvetica Neue", Helvetica, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}

body.popover-is-open a {
    pointer-events: none;
}

.mt00 {
    margin-top: 0 !important;
}

.mb00 {
    margin-bottom: 0 !important;
}

article {
    --_clamp-min: 24;
    --_clamp-max: 80;

    width: calc(100% - var(--clamp));
    max-width: 930px;
    margin-inline: auto;
}

.review {
    line-height: 1.6;
    font-feature-settings: "palt" 1;
    text-align: justify;
    letter-spacing: .1em;
    font-weight: 400;
    overflow: hidden;
    font-size: 1.1rem;

    margin: 16px 0 0;

    a {
        color: #11c;
    }

    &.btn {
        width: 100%;
        max-width: 500px;
        margin: 0 auto;
        display: block;
        background: var(--light);
        border: 1px solid var(--insurance);
        border-radius: 6px;
        -webkit-border-radius: 6px;
        -moz-border-radius: 6px;
        -ms-border-radius: 6px;
        -o-border-radius: 6px;
        transition: all .3s ease;
        box-shadow: 0 4px 0px #909090;

        >a {
            color: var(--insurance);
            font-weight: 600;
            padding: 16px 0;
            display: block;
            text-decoration: none;

            &::after {
                content: "→";
                margin-left: .5rem;
            }
        }

        @media (any-hover: hover) {
            &:hover {
                color: var(--insurance);
                background: var(--insurance);

                >a {
                    color: var(--light);
                }
            }
        }
    }

}


.review.btn.plan70 {
    border: 1px solid var(--plan_70);
}

.review.btn.plan70>a {
    color: var(--plan_70);
}

.review.btn.plan70:hover {
    background: var(--plan_70);
}

.review.btn.plan70:hover>a {
    color: var(--light);
}

small {
    display: inline-block;
    line-height: 1.4;
}

summary {
    list-style: none;
}

h3.heading {
    --_clamp-min: 18;
    --_clamp-max: 21;

    font-size: var(--clamp);
    text-align: center;
    margin: 7.5vw 0 5vw;
    letter-spacing: .05em;
    font-weight: 600;
    border-bottom: 1px solid #ccc;
    border-top: 1px solid #ccc;
    padding: 16px 8px;
    line-height: 1.4;
}

h4.heading {
    --_clamp-min: 16;
    --_clamp-max: 21;

    letter-spacing: .05em;
    font-weight: 500;
    font-feature-settings: "palt";
    font-size: var(--clamp);
    line-height: 1.4;
    font-weight: 600;
    margin: 3.75vw 0 2vw;
}

.redTxt {
    color: #e62e8a;
}

.hover {
    opacity: 1;
    transition: all .3s ease;

    @media (any-hover: hover) {
        &:hover {
            opacity: 0.6;
            ;
        }

        ;
    }

    ;
}


.nav-header__global-nav__item a {
    font-weight: 400;
}

.sp-360 {
    display: block;
}

@media(min-width: 360px) {
    .sp-360 {
        display: none;
    }
}

@media(min-width: 480px) {
    h3.heading {
        margin: 3vw 0 3vw;
    }
}

@media(min-width: 729px) {
    .nav-header__global-nav__item a {
        font-weight: 600;
    }
}

@media(min-width: 1025px) {
    h3.heading {
        margin: 24px 0 16px !important;
        text-align: left;
        color: #333;
        border-bottom: 1px solid #ccc;
        border-top: 1px solid #ccc;
        padding: 8px;
    }

    h4.heading {
        margin: 32px 0 16px;
    }
}

#hd_logo {
    padding: 16px;
}

#hd_logo h1 {
    font-size: 75%;
    margin: 0;
    color: #333;
}

#hd_logo a {
    display: inline-block;
}

#hd_logo a img {
    margin: 0;
    width: 230px;
}

.hd_inner01 {
    padding: 0;
    border-bottom: none !important;
}

.hd_inner02 {
    margin: 0 auto;
    padding: 16px;
    border-top: solid 1px var(--light);
}

#hd_tel {
    width: auto;
}

@media(min-width: 360px) {
    #hd_logo a img {
        max-width: 352px;
    }

    #hd_inner {
        min-height: 80px;
    }

}

@media(min-width: 729px) {
    .hd_inner02 {
        border-top: none;
        padding: 0;
    }

    .nav-header__conversion {
        display: none;
    }

}

@media(min-width: 768px) {
    #hd_logo a img {
        max-width: initial;
        width: 352px;
    }

}

.emergencyArea {
    width: 100%;
    background: var(--light);
    text-align: center;
    padding: 0 0 16px;
    margin-bottom: 10px;
}

.emergencyArea p {
    box-sizing: border-box;
    width: 100%;
    max-width: 930px;
    background-color: var(--light);
    margin: 0 auto;
    font-weight: 500;
    font-size: 1.1rem;
}

.emergencyArea p a {
    color: var(--plan_50);
}

@media screen and (max-width: 1024px) {
    .emergencyArea {
        margin: 0 20px 10px;
        width: 96%;
    }
}

@media screen and (max-width: 768px) {
    .emergencyArea {
        margin: 0;
        width: 100%;
    }
}

.open_btn {
    padding-inline: 0;
    color: #11c;
    text-decoration: underline;
    background: none;
    border: none;
    cursor: pointer;
}

@media(any-hover: hover) {
    .open_btn:hover {
        text-decoration: none;
    }
}

.modal_content {
    width: 90%;
    max-width: 930px;
    height: 94%;
    margin-inline: auto;
    padding-block: 32px;
    padding-inline: 16px;
    color: #333;
    border: none;
    translate: 0 20px;
    overflow-x: hidden;
    position: fixed;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    pointer-events: auto;
}

.modal_content .review {
    font-size: .85rem;
    line-height: 1.4;
}

.modal_content>button {
    display: grid;
    grid-template: "icon" 1px/1.5rem;
    align-items: center;
    block-size: 30px;
    aspect-ratio: 1;
    padding: 0;
    color: #7867ba;
    place-content: center;
    position: absolute;
    top: 16px;
    right: 16px;
    background: none;
    border: none;
    cursor: pointer;
}

.modal_content>button span {
    display: none;
}

.modal_content>button::before,
.modal_content>button::after {
    content: "";
    width: 100%;
    grid-area: icon;
    align-self: stretch;
    border-block-end: 4px solid;
    position: absolute;
    top: 0;
    left: 0;
}

.modal_content>button::before {
    rotate: 45deg;
}

.modal_content>button::after {
    rotate: -45deg;
}

@media(min-width: 729px) {
    .modal_content {
        height: -moz-fit-content;
        height: fit-content;
        margin-inline: 0;
    }
}

.img-area a {
    display: block;
}

.img-area a img {
    vertical-align: bottom;
}

.img-area {
    width: 100%;
    margin: 0 auto 40px;
    padding: 0;
    position: relative;
}

.img-area picture {
    margin: 0;
}

.img-area .modal_btn {
    margin-inline: auto 0;
    padding-inline: 0;
    font-family: "Helvetica Neue", Helvetica, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    display: block;
    font-size: 12px;
    text-align: left;
}

.img-area #modal {
    pointer-events: auto;
}

.img-area #modal::backdrop {
    background-color: rgba(0, 0, 0, .6);
}

@media(min-width: 729px) {
    .img-area {
        width: 90%;
        max-width: 930px;
        margin: 0 auto;
        padding-block: 16px;
        padding-inline: 0;
        -o-border-image: linear-gradient(var(--main_light) 0 0) 0 //0 100cqi;
            border-image:linear-gradient(var(--main_light) 0 0) fill 0 //0 100cqi;
            position:relative;
        ;
    }

    .img-area .modal_btn {
        margin-inline: 0;
        position: absolute;
        right: 10px;
        bottom: 20px;
    }

    .img-area .modal_content {
        height: 75dvh;
    }

    .img-area .modal_content .review {
        font-size: .9rem;
        line-height: 1.4;
    }
}

.startArea02 {
    padding: 0 8px 24px !important;
    position: relative;
}

.startArea02 .firstTxt {
    background: var(--light);
    padding: 5px;
    border-radius: 40px;
    background: #f3bf66;
    font-size: 14px;
    font-feature-settings: "palt" 1;
    text-align: center;
    letter-spacing: .1em;
    font-weight: 600;
}

.startArea02 .firstTxt .year,
.startArea02 .firstTxt .month,
.startArea02 .firstTxt .day {
    font-size: 14px;
}

.startArea02 .firstTxt .number {
    font-size: 16px;
}

.startArea02 .firstTxt .spTxt {
    display: inline-block;
}

.startArea02 .firstTxt .pcTxt {
    display: none;
}

.startArea02 .secondTxt {
    margin: 8px 0 0;
    font-size: 18px;
    font-feature-settings: "palt" 1;
    text-align: center;
    letter-spacing: .1em;
    font-weight: 600;
}

.startArea02 .secondTxt .txt {
    background: linear-gradient(transparent 70%, #ffff66 70%);
}

.startArea02 .secondTxt .txt .redTxt .number {
    font-size: 24px;
}

.startArea02 .secondTxt .txt .redTxt .year,
.startArea02 .secondTxt .txt .redTxt .month,
.startArea02 .secondTxt .txt .redTxt .day {
    font-size: 18px;
}

@media(min-width: 360px) {
    .startArea02 .firstTxt {
        padding: 0;
        background-color: var(--light);
    }

    .startArea02 .secondTxt {
        letter-spacing: .1em;
        font-size: 18px;
    }

    .startArea02 .secondTxt .txt .redTxt .number {
        font-size: 24px;
    }

    .startArea02 .secondTxt .txt .redTxt .year,
    .startArea02 .secondTxt .txt .redTxt .month,
    .startArea02 .secondTxt .txt .redTxt .day {
        font-size: 18px;
    }

    .bnArea {
        border-bottom: dotted 2px #82d7dc;
        padding: 15px !important;
    }

    .bnArea .mygo-pc-bnrArea {
        margin: 0;
    }

}

@media(min-width: 375px) {
    .startArea02 {
        .firstTxt {
            font-size: 14px;
            letter-spacing: .15em;

            .year,
            .month,
            .day {
                font-size: 12px;
            }

            .number {
                font-size: 16px;
            }
        }

        .secondTxt {
            letter-spacing: .1em;
            font-size: 18px;

            .number {
                font-size: 21px;
            }

            .year,
            .month,
            .day {
                font-size: 18px;
            }
        }

    }
}

@media(min-width: 412px) {
    .startArea02 {
        .firstTxt {
            font-size: 15px;
            letter-spacing: .1em;

            redTxt {
                font-size: 19px;
            }
        }

        .startArea02 .secondTxt {
            font-size: 18px;

            .number {
                font-size: 21px;
            }
        }
    }
}

@media(min-width: 768px) {
    .index-sec1 {
        padding: 0 0 40px;
    }

    .startArea02 {
        margin: 0 80px !important;
        padding: 0 0 40px !important;
        background-color: var(--light);

        .firstTxt {
            font-size: 25px;

            .year,
            .month,
            .day {
                font-size: 21px;
                letter-spacing: .1em;

            }

            .number {
                font-size: 29px;
            }
        }

        .secondTxt {
            font-size: 21px;
            margin: 0;

            .txt {
                letter-spacing: .15em;
            }

            .number {
                font-size: 21px;
            }

            .year,
            .month,
            .day {
                font-size: 21px;
                letter-spacing: .1em;
            }
        }
    }

    .bnArea {
        margin: 0 80px !important;
        padding: 40px 0 !important;
        border-bottom: none;
    }

}

@media(min-width: 1024px) {
    .index-sec1 {
        padding: 0 !important;
    }

    .startArea02 {
        display: flex;
        align-items: baseline;
        justify-content: center;
        margin: 0 40px !important;
        padding: 0 0 16px !important;

        .firstTxt {
            margin: 0;
            padding: 5px 20px;
            font-size: 22px;
            white-space: nowrap;

            .year,
            .month,
            .day {
                font-size: 18px;
            }

            .number {
                font-size: 26px;
            }
        }

        .secondTxt {
            font-size: 22px;
            white-space: nowrap;
            margin: 10px 0 0;

            .number {
                font-size: 32px;
            }

            .year,
            .month,
            .day {
                font-size: 24px;
            }
        }
    }

    .bnArea {
        display: flex;
        align-items: baseline;
        justify-content: center;
        margin: 0 40px !important;
        padding: 30px 0 40px !important;
    }

}

@media(min-width: 1025px) {
    .index-sec1 {
        padding: 0 0 16px !important;
    }

    .startArea02 {
        background: var(--main_light);
        margin: 0 !important;
        padding: 0 0 15px !important;

        .firstTxt {
            background: none;
            font-size: 18px;
            display: inline-block;
            padding: 0;
            margin: 0;

            .year,
            .month,
            .day {
                font-size: 22px;
            }

            .number {
                font-size: 22px;
            }

            .spTxt {
                display: none;
            }

            .pcTxt {
                display: inline-block;
            }
        }

        .secondTxt {
            font-size: 18px;
            display: inline-block;
            margin: 0;

            .pcTxt {
                display: none;
            }

            redTxt {
                font-size: 22px;
            }

            .number {
                font-size: 24px;
            }

            .year,
            .month,
            .day {
                font-size: 22px;
            }
        }

        .txtArea {
            background: var(--light);
            border-radius: 40px;
            padding: 0 0 3px;
            box-sizing: border-box;
            width: 100%;
            max-width: 930px;
        }
    }

    .bnArea {
        margin: 20px 0 0 !important;
        padding: 0 !important;
    }

}

.mv_cv_container {
    width: 100%;
    max-width: 930px;
    margin-inline: auto;
    padding-block: clamp(14px, 4.4vw, 24px) clamp(20px, 6.3vw, 24px);
    padding-inline: 20px;
    border-top: 1px solid #aad9dc;
    border-bottom: 1px solid #aad9dc;
    position: relative;
    border-image: linear-gradient(rgb(130, 215, 220) 0 0) fill 0 //0 100cqi;
        -o-border-image: linear-gradient(rgb(130, 215, 220) 0 0) 0 //0 100cqi;

        &::before {
        content: "ご検討中の方";
        font-size: clamp(13px, 4.4vw, 16px);
        font-weight: 500;
    }

    .mv_cv_inner {
        margin: 0;
        padding: 0;
        display: grid;
        gap: 16px 18px;
    }

    a {
        --_clamp-min: 6px;
        --_clamp-max: 10px;
        width: 100%;
        height: 100%;
        padding-block: min(18px, 6%) min(16px, 4%);
        display: grid;
        grid-template-columns: min-content auto;
        justify-content: center;
        align-items: center;
        gap: var(--clamp);
        font-family: "メイリオ", "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif;
        font-size: clamp(12px, 4vw, 20px);
        font-weight: 600;
        line-height: 1.25;
        text-decoration: none;
        box-shadow: 0 4px 0 #909090;
        border-radius: 6px;
        position: relative;
        transition: all .3s ease;

        &::before {
            content: "";
            display: inline-block;
            transition: all .3s ease;
            background-repeat: no-repeat;
            background-size: 100%;
        }
    }

    .app_btn {
        grid-column: 1/3;
    }

    .application {
        color: var(--light);
        border: 1px solid var(--app);
        background: var(--app);

        &::before {
            width: 18px;
            height: 24px;
            background-image: url(/indexfile/img/ico_top001.png);
            background-size: 18px 28px;
            background-position: 0 0;
        }

        @media (any-hover: hover) {
            &:hover {
                color: var(--app);
                background: var(--light);

                &::before {
                    background-image: url(/indexfile/images/ico_top001-hover.png);

                }

            }
        }
    }

    .catalog_btn {
        grid-column: 2/3;
        grid-row: 2/3;
    }

    .catalog {
        padding-inline: 5%;
        color: #333;
        border: 1px solid var(--catalog);
        background: var(--catalog);

        &::before {
            width: clamp(28px, 21.7100737101px + 1.9656019656vw, 36px);
            height: clamp(20px, 13.7100737101px + 1.9656019656vw, 28px);
            background-image: url(/indexfile/img/ico_top002.png);
        }

        @media (any-hover: hover) {
            &:hover {
                background: var(--light);
            }
        }
    }

    .contract_btn {
        height: -moz-fit-content;
        height: fit-content;
        margin-block-start: min(16px, 2%);
        grid-column: 1/3;
        grid-row: 3/4;
        position: relative;

        &::before {
            --_clamp-min: 13;
            --_clamp-max: 16;
            content: "ご契約者の方";
            font-size: var(--clamp);
            font-weight: 500;
        }
    }

    .contract {
        color: #333;
        border: 1px solid #f9d4e5;
        background: #f9d4e5;

        &::before {
            width: 22px;
            height: 25px;
            background-image: url(/indexfile/img/ico_top003.png);
            background-size: 22px 25px;
        }

        @media (any-hover: hover) {
            &:hover {
                color: var(--light);
                border: 1px solid var(--contract);
                background: var(--contract);

                &::before {
                    background-image: url(/indexfile/images/ico_top003-hover.png);
                }
            }
        }
    }

    .insurance_btn {
        grid-column: 1/2;
        grid-row: 2/3;
    }

    .insurance {
        padding-inline: 5%;
        color: var(--light);
        text-align: left;
        border: 1px solid var(--insurance);
        background: var(--insurance);

        &::before {
            width: clamp(24px, 20.855036855px + 0.9828009828vw, 28px);
            height: clamp(34px, 29.2825552826px + 1.4742014742vw, 40px);
            margin: auto;
            background-image: url(/indexfile/img/btn01_icon.png);
            translate: 0 -3px;
        }

        @media (any-hover: hover) {
            &:hover {
                color: var(--insurance);
                background: var(--light);

            }
        }
    }



    span {
        display: inline-block;
    }

    .pc_btn {
        display: none;
        cursor: none;
    }

    .pc_text {
        display: none;
    }

    .sp_btn {
        display: grid;
        cursor: pointer;
    }

    .sp_text {
        display: inline-block;
    }

}

@media screen and (min-width: 729px) {
    .mv_cv_container {
        width: 90%;
        padding-inline: 0;

        &::before {
            content: "";
        }

        .mv_cv_inner {
            grid-template-columns: repeat(2, 1fr);
        }

        a {
            padding-block: max(18px, 4%) max(12px, 3%);
            line-height: 1.4;
        }

        .app_btn {
            grid-column: initial;
        }

        .application {
            &::before {
                width: 33px;
                height: 22px;
                background-size: 33px 22px;
            }
        }

        .catalog_btn {
            grid-column: initial;
            grid-row: initial;
        }

        .catalog {
            padding-inline: 0;

            &:before {
                width: 34px;
                height: 26px;
            }
        }

        .contract_btn {
            margin-block-start: 0;
            grid-column: initial;
            grid-row: initial;

            &::before {
                content: "";
            }
        }

        .insurance_btn {
            grid-column: initial;
            grid-row: initial;
        }

        .insurance {
            padding-inline: 0;
            display: block;

            &::before {
                display: none;
            }

            .pc_text {
                width: -moz-fit-content;
                width: fit-content;
                margin-inline: auto;
                padding-inline-start: 24px;
                display: block;
                text-align: center;
                position: relative;

                &::before {
                    content: "";
                    width: 24px;
                    height: 36px;
                    background-image: url(/indexfile/img/btn01_icon.png);
                    background-repeat: no-repeat;
                    background-size: 25px;
                    position: absolute;
                    top: 36%;
                    left: -4px;
                    translate: 0 -50%;
                }
            }

            .big_txt {
                font-size: 24px;
                border-bottom: solid 1px #ff6;
                line-height: 1;
            }
        }

        .pc_btn {
            display: grid;
            cursor: pointer;
        }

        .pc_text {
            display: inline-block;
        }

        .sp_btn {
            display: none;
            cursor: none;
        }

        .sp_text {
            display: none;
        }
    }
}

.mainInner {
    width: 100% !important;
    max-width: 930px !important;
    margin: 0 auto;

    .txtArea {
        display: block;
    }
}

@media(min-width: 1025px) {
    .index-sec3 {
        max-width: 930px;
        margin: 0 auto 30px;
    }

    .index-sec4 {
        max-width: initial;

        .index-sec4List {
            max-width: 930px;
            margin: 0 auto;
        }
    }

    .index-sec4Area {
        width: 100%;
        max-width: 930px;

        li {
            height: 80px;

            &:first-child a::before {
                top: 10px;
            }

            &:nth-child(2) a::before {
                top: 16px;
            }
        }
    }

    .mainInner {
        margin: 0 auto;

        .btnArea {
            border-radius: 6px;
            margin: 0 auto;
            width: 80%;

            .btnTxt {
                margin: 0;
            }

            a::before {
                content: "";
                position: absolute;
                margin: auto;
                vertical-align: middle;
                left: 10px;
                top: 0;
                bottom: 0;
                margin: auto;
                width: 6px;
                height: 6px;
                transition: all .3s ease;
                transform: rotate(45deg);
            }
        }
    }

}

.index-sec4Area .index-btareaList {
    --_clamp-min: 30;
    --_clamp-max: 40;

    width: 100%;
    max-width: 400px;
    margin: 0 auto;
    padding: var(--clamp) 0;
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px 0;
    letter-spacing: .05em !important;
    -o-border-image: linear-gradient(rgb(130, 215, 220) 0 0) 0 //0 100cqi;
        border-image:linear-gradient(rgb(130, 215, 220) 0 0) fill 0 //0 100cqi;
}

.index-sec4Area .index-btareaList li {
    padding: 0;
    height: 75px;
    font-weight: 500;
    line-height: 1.3;
    box-shadow: 0px 0px 10px -5px #666;
    transition: all .3s ease;
}

.index-sec4Area .index-btareaList li a {
    --_clamp-min: 30;
    --_clamp-max: 40;

    width: 100%;
    height: 100%;
    padding-inline: var(--clamp) 0;
    color: var(--light);
    font-size: 1.5rem;
    font-weight: 700;
    letter-spacing: .1em;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: min-content;
    align-content: center;
    border: 2px solid var(--light);
    position: relative;
    transition: all .3s ease;
    text-decoration: none;
}

.index-sec4Area .index-btareaList li a .subTxt {
    display: block;
    font-size: 14px;
    font-weight: 300;
    letter-spacing: .02em;
}

.index-sec4Area .index-btareaList li a::before {
    background-repeat: no-repeat;
    background-size: contain;
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    transition: all .3s ease;
}

.index-sec4Area .index-btareaList li:first-child a {
    background: var(--cta_app);
}

.index-sec4Area .index-btareaList li:first-child a::before {
    content: "";
    background-image: url(/indexfile/img/ico_application.png);
    left: 10px;
    width: 28px;
    height: 40px;
}

@media(any-hover: hover) {
    .index-sec4Area .index-btareaList li:first-child a:hover {
        color: var(--cta_app);
        background: var(--light);
        border: 2px solid var(--cta_app);
    }

    .index-sec4Area .index-btareaList li:first-child a:hover::before {
        background-image: url(/indexfile/img/ico_application-hover.png);
        transition: all .3s ease;
    }

}

.index-sec4Area .index-btareaList li:nth-child(2) a {
    background: var(--cta_catalog);
}

.index-sec4Area .index-btareaList li:nth-child(2) a::before {
    content: "";
    background-image: url(/indexfile/img/ico_document.png);
    left: 8px;
    width: 30px;
    height: 34px;
    transition: all .3s ease;
}

@media(any-hover: hover) {
    .index-sec4Area .index-btareaList li:nth-child(2) a:hover {
        color: var(--cta_catalog);
        background: var(--light);
        border: 2px solid var(--cta_catalog);
    }

    .index-sec4Area .index-btareaList li:nth-child(2) a:hover::before {
        background-image: url(/indexfile/img/ico_document-hover.png);
        transition: all .3s ease;
    }

}

@media(min-width: 768px) {
    .index-sec4 {
        margin: 40px auto;
    }

    .index-sec4Area .index-btareaList {
        max-width: initial;
        margin: 0;
        padding: 40px 0;
        grid-template-columns: repeat(2, 1fr);
        gap: 0 16px;
    }

    .index-sec4Area .index-btareaList li {
        margin: 0;
        height: 80px;
    }

    .index-sec4Area .index-btareaList li a {
        padding-inline: 20px 0;
        font-size: clamp(24px, 3.1vw, 28px);
        letter-spacing: .02em;
    }

    .index-sec4Area .index-btareaList li a .subTxt {
        font-size: 14px;
        letter-spacing: .1em;
    }

    .index-sec4Area .index-btareaList li:first-child {
        margin: 0;
    }

    .index-sec4Area .index-btareaList li:first-child a::before {
        width: 35px;
        height: 50px;
        left: 20px;
    }

    .index-sec4Area .index-btareaList li:nth-child(2) {
        margin: 0;
    }

    .index-sec4Area .index-btareaList li:nth-child(2) a::before {
        width: 40px;
        height: 45px;
        left: 18px;
    }
}

.ornamentArea {
    /*padding-block: 10vw;*/
    padding-block: min(40px,10vw) min(40px,6vw);

    .catch {
        --_clamp-min: 14;
        --_clamp-max: 18;

        margin: 0 8px 4px 0;
        font-size: var(--clamp);
        font-weight: 600;
        line-height: 1.4;
        text-align: justify;
        letter-spacing: .03em;
        font-feature-settings: "palt" 1;

        sup {
            font-size: 66%;
            font-weight: 300;
        }
    }

    .ornamentArea__list {
        width: 100%;
        margin: 5vw 0 2vw;
        padding: 16px;
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
        align-items: center;
        gap: 12px;
        background: var(--main_light);

        .ornament_img {
            width: 26%;
        }

        .ornament_txt {
            width: 67%;
            margin: 0;
        }

        li {
            width: 100%;
            margin: 0;
        }

        p {
            --_clamp-min: 19;
            --_clamp-max: 34;

            margin: 0;
            padding: 0;
            color: #333;
            font-size: var(--clamp);
            font-weight: 700;
            font-feature-settings: "palt";
            text-align: justify;
            letter-spacing: .05em;
            line-height: 1.4;
            background: none;
        }

        .txt {
            --_clamp-min: 10;
            --_clamp-max: 21;

            font-size: var(--clamp);
            display: block;
        }

    }

    .award_container {
        width: 100%;
        margin: 24px auto 8px;
        padding: 4px;
        overflow: hidden;
        position: relative;
        background-color: #d29914;
        background-image: radial-gradient(at 33% 94%, #fbe3ac 0px, transparent 50%), radial-gradient(at 72% 4%, #fbe3ac 0px, transparent 50%);

        &::before {
            content: "";
            display: inline-block;
            padding-block-start: min(70%, 280px);
        }

        &::after {
            --_clamp-min: 12;
            --_clamp-max: 24;

            content: "";
            width: 20vw;
            max-width: 140px;
            height: var(--clamp);
            display: block;
            background: #8a1515;
            background: linear-gradient(90deg, #8a1515 0%, #9d0000 15%, #b83321 35%, #d05545 50%, #b83321 65%, #9d0000 85%, #8a1515 100%);
            position: absolute;
            top: 8%;
            left: 4%;
            translate: -50% -50%;
            rotate: -40deg;
            box-shadow: 3px 3px 8px rgba(78, 71, 50, .4);
        }
    }

    .award_inner {
        --_content-size: calc(100% - 10px);
        --_clamp-min: 19;
        --_clamp-max: 34;

        align-items: center;
        background-image: url(/uploads/2025/04/28/bg_nikkei_pc.png);
        background-repeat: no-repeat;
        background-size: cover;
        display: grid;
        font-size: var(--clamp);
        font-family: "Noto Serif JP", "Noto Serif", serif;
        font-weight: 700;
        font-feature-settings: "palt" 1;
        grid-template-columns: 25% auto;
        grid-template-rows: auto 10% 28% 4% auto;
        height: var(--_content-size);
        line-height: 1;
        left: 50%;
        letter-spacing: .05em;
        margin: 0;
        padding-block: 20px;
        padding-inline: min(4%, 20px);
        position: absolute;
        top: 50%;
        translate: -50% -50%;
        width: var(--_content-size);

        &::before {
            content: "";
            width: calc(100% - (2px + 2%));
            height: calc(100% - (2px + 6%));
            border: 1px solid #d19913;
            position: absolute;
            top: 50%;
            left: 50%;
            translate: -50% -50%;
        }

        &::after {
            content: "";
            width: 20vw;
            max-width: 140px;
            height: clamp(12px, 3vw + 3px, 24px);
            display: block;
            background: #8a1515;
            background: linear-gradient(90deg, #8a1515 0%, #9d0000 15%, #b83321 25%, #d05545 40%, #b83321 55%, #9d0000 85%, #8a1515 80%);
            position: absolute;
            top: 97%;
            left: 97%;
            translate: -50% -50%;
            rotate: -45deg;
            box-shadow: 3px 3px 8px rgba(78, 71, 50, .4);
        }

        li {
            background: #ab8420;
            background: linear-gradient(135deg, #ab8420 0%, #ad8319 29%, #bc9941 36%, #d6b159 52%, #b69032 72%, #B08822 84%, #ab8420 100%);
            background-clip: text;
            -webkit-background-clip: text;
            -webkit-text-fill-color: rgba(0, 0, 0, 0);
        }


        .bdr_b {
            --_clamp-min: 18;
            --_clamp-max: 24;
            background: #be993f;
            background: linear-gradient(118deg, #ad8319 0%, #ad8319 15%, #c39f4e 37%, #dab35e 58%, #c39f4e 62%, #b08822 70%, #ad8319 100%);
            background-clip: text;
            font-size: var(--clamp);
            font-weight: 800;
            grid-column: 1 / 5;
            grid-row: 1/2;
            line-height: 1.2;
            letter-spacing: -0.04em;
            margin-bottom: 0.4em;
            padding-block-end: 0.5em;
            -webkit-background-clip: text;
            -webkit-text-fill-color: rgba(0, 0, 0, 0);

            &::after {
                background-image: linear-gradient(to right, transparent -2%, #bb930a 6%, #bb930a 92%, transparent 100%);
                background-image: -webkit-linear-gradient(left, transparent -2%, #bb930a 6%, #bb930a 92%, transparent 100%);
                content: "";
                display: block;
                height: 2px;
                margin-top: .3em;
                width: 98%;
            }
        }

        .sub_text {
            --_clamp-min: 16;
            --_clamp-max: 20;

            font-family: initial;
            font-size: var(--clamp);
            grid-column: 2/5;
            grid-row: 2/3;
        }

        .main_text {
            --_clamp-min: 26;
            --_clamp-max: 56;

            font-size: var(--clamp);
            grid-column: 2/5;
            grid-row: 3/4;
            margin-block-start: -16px;
        }

        .note_text {
            background: linear-gradient(45deg, #7b632b);
            font-family: initial;
            font-size: 12px;
            font-weight: 500;
            grid-column: 1/5;
            grid-row: 5/6;
            letter-spacing: -0.02em;
            text-align: center;
            -webkit-background-clip: text;
        }

        .pc_block {
            display: inline;
        }
    }

    .award_img {
        grid-column: 1/2;
        grid-row: 2/4;

        img {
            width: 80%;
        }
    }

    .mn_block {
        display: block;
    }
}


@media(min-width: 360px) {
    .ornamentArea {
        .ornamentArea__list {
            .ornament_img {
                width: 27%;

                img {
                    max-width: 80px;
                }
            }

            .ornament_txt {
                width: 68%;
            }
        }
    }
}


@media(min-width: 375px) {
    .ornamentArea {
        .ornamentArea__list {
            .ornament_txt {
                width: 59%;
            }
        }
    }
}


@media(min-width: 390px) {
    .ornamentArea {
        .ornamentArea__list {
            .ornament_img {
                img {
                    max-width: 96px;
                }
            }

            .ornament_txt {
                width: 60%;
            }
        }
    }
}

@media(min-width: 428px) {
    .ornamentArea {
        .ornamentArea__list {
            .ornament_img {
                width: 28%;
            }

            .ornament_txt {
                width: 68%;
            }
        }
    }
}

@media(min-width: 480px) {
    .ornamentArea {
        padding: 8vw 0 8vw;
    }
}

@media(min-width: 600px) {
    .ornamentArea {
        .ornamentArea__list {
            .ornament_img {
                img {
                    max-width: 116px;
                }
            }

            .ornament_txt {
                width: 65%;
            }
        }
    }
}

@media(min-width: 768px) {
    .ornamentArea {
        padding: 4vw 0 4vw;

        .ornamentArea__list {
            .ornament_img {
                width: 24%;
            }

            .ornament_txt {
                width: 70%;
            }
        }
    }

    .ornamentArea {
        .award_container {
            &::before {
                padding-top: min(24%, 168px);
            }

            &::after {
                width: 16vw;
                height: 30px;
                top: 14%;
                left: 4%;
            }
        }

        .award_inner {
            grid-template-columns: 22% 22% min(56%, 410px) 0;
            height: calc(100% - 8px);
            grid-template-rows: initial;
            justify-content: center;
            margin: 0 auto;
            padding-block: 2%;
            padding-inline: min(4%, 50px) min(6%, 50px);
            width: calc(100% - 8px);

            &::before {
                width: calc(100% - 12px);
                height: calc(100% - (4px + 6%));
            }

            &::after {
                width: 16vw;
                height: 30px;
                top: 84%;
                left: 98%;
            }

            .award_img {
                img {
                    width: 100%;
                    max-width: 134px;
                }
            }

            .pc_block {
                display: block;
            }


            .bdr_b {
                grid-column: 2/4;
                grid-row: 1/2;
                padding-block-end: 0;
                padding-inline-start: 0.5rem;
            }


            .sub_text {
                --_border-style: 2px solid #000;

                background: #be993f;
                background: linear-gradient(140deg, #b08822 10%, #d6b159 40%, #d6b159 54%, #b08822 80%, #ab8420 100%);
                background-clip: text;
                border-image: linear-gradient(to right, #c8a146 0%, #d6b159 10%, #d6b159 99%, #b08822 100%) 2;
                border-top: var(--_border-style);
                border-bottom: var(--_border-style);
                grid-column: 2 / 3;
                grid-row: 2 / 4;
                line-height: 1.2;
                margin-inline-start: 1rem;
                padding-block: 4px;
            }


            .main_text {
                padding-block-end: 10px;

                background: #be993f;
                background: linear-gradient(135deg, #bc9941 0, #bc9941 36%, #d6b159 52%, #b18c30 62%, #B08822 82%, #ab8420 100%);
                background-clip: text;
                grid-column: 3 / 4;
                grid-row: 2 / 4;
                letter-spacing: -0.01em;

                span {
                    font-size: 0.9em;
                }
            }

            .note_text {
                --_border-style: 2px solid;
                grid-column: 3 / 4;
                grid-row: 4 / 5;
                line-height: 1.2;
                margin-block-start: -10px;
                padding-inline: 10px;
                text-align: right;
            }

            .award_img {
                grid-row: 1/4;
            }

            .mn_block {
                display: inline;
            }

        }
    }


}

@media only screen and (min-width: 1025px) {
    .ornamentArea {
        padding: 40px 0 40px !important;

        .ornamentArea__list {
            margin: 24px 0 8px;

            .ornament_txt {
                width: 67%;
            }
        }

        .award_txt {
            &:nth-child(5 of .pc_text) {
                text-indent: initial;
            }
        }
    }
}


.table_wrapper01 {
    padding: 24px 0 8px;
}

.table_wrapper01 .bordered {
    width: 100%;
    margin: 0;
}

.table_wrapper02 {
    padding: 0 0 60px;
}

.table_wrapper02 .bordered {
    width: 100%;
    margin: 0;
}

.tCaption {
    display: none;
}

@media only screen and (max-width: 728px) {
    .tCaption {
        display: block;
        margin: 0 0 5px !important;
        letter-spacing: .05em;
        line-height: 1.4;
        font-size: 10px !important;
        font-family: "メイリオ", "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif;
        font-weight: 300;
        text-align: left;
    }

    .tCaption small {
        margin: 0;
    }
}

@media only screen and (max-width: 800px) {
    .table_wrapper01 {
        width: auto;
        padding: 0;
        margin: 2vw 0;
    }

    .table_wrapper01 .bordered {
        margin: 0;
    }

    .table_wrapper02 {
        width: auto;
        padding: 0;
        margin: 1ex 0 1em;
        margin-bottom: 60px;
    }

    .table_wrapper02 .bordered {
        margin: 0;
    }

    .table_wrapper::-webkit-scrollbar {
        height: 5px;
    }

    .table_wrapper::-webkit-scrollbar-track {
        margin: 0 2px;
        background: #ccc;
        border-radius: 5px;
    }

    .table_wrapper::-webkit-scrollbar-thumb {
        border-radius: 5px;
        background: #666;
    }
}

@media only screen and (max-width: 767px) {
    .table_wrapper02 {
        margin-bottom: 60px;
    }
}

.normalTable {
    width: 100%;
    line-height: 1.2;
}

.normalTable th {
    font-weight: bold;
    background: var(--main_light);
    text-align: center;
    vertical-align: middle;
    letter-spacing: .1em;
    font-feature-settings: "palt" 1;
    font-weight: 500;
}

.normalTable td {
    background: var(--light);
    letter-spacing: .05em;
    font-feature-settings: "palt" 1;
}

.normalTable th,
.normalTable td {
    padding: 4px;
    border: 1px solid #ccc;
    font-size: .9rem;
    vertical-align: middle;
}

.normalTable .cell-50 {
    background: var(--plan_50);
    color: var(--light);
}

.normalTable .cell-70 {
    background: var(--plan_70);
    color: var(--light);
}

.normalTable .cell-100 {
    background: var(--plan_100);
    color: var(--light);
}

.normalTable .cell-50_td {
    background: var(--light);
}

.normalTable .cell-70_td {
    background: #effbfe;
}

.normalTable .cell-100_td {
    background: #f0fef2;
}

.normalTable .text-left {
    text-align: left;
}

.table01 th {
    width: 16.6666666667%;
    color: var(--light);
}

.table02 th {
    width: 25%;
    color: var(--light);
}

@media(min-width: 360px) {
    .normalTable {
        line-height: 1.4;
    }

    .normalTable td {
        padding: 8px;
    }

}

@media(min-width: 375px) {
    .normalTable th {
        padding: 8px;
    }

}

@media(min-width: 390px) {

    .normalTable th,
    .normalTable td {
        font-size: 1rem;
    }

}

@media(min-width: 480px) {

    .normalTable th,
    .normalTable td {
        font-size: 1.1rem;
    }

}

@media(min-width: 729px) {

    .normalTable th,
    .normalTable td {
        padding: 16px;
    }

    .normalTable .text-left {
        text-align: center;
        margin: 0 auto;
    }

    .normalTable .text-left .txt-in {
        display: inline-block;
        text-align: left;
        width: 500px;
    }

}

@media(min-width: 1024px) {
    .normalTable .text-left .txt-in {
        width: 610px;
    }

}

.ft_menu_inner02 li a {
    padding: 6px 0;
}

.site_info01 a {
    display: block;
}

.site_info01 a img {
    max-width: initial;
    width: 80% !important;
}

.ft_link02 ul li,
.ft_menu_inner01 ul li {
    text-align: left;
    line-height: 1.4;
    ;
    margin: 0 0 8px;
}

.ft_link02 ul li:last-child,
.ft_menu_inner01 ul li:last-child {
    margin: 0;
}

#ft_menu {
    text-align: left;
}

#site_info_inner {
    display: block;
}

#site_info_inner .site_info02 {
    padding: 0 15px 0 0;
    text-align: center;
    max-width: 930px !important;
}

#site_info_inner .site_info02 small {
    margin-bottom: 0;
}

#site_info_inner {
    width: auto;
}

@media(min-width: 1024px) {
    .site_info01 a img {
        width: 223px !important;
    }

    #site_info {
        padding: 15px;
    }

    #site_info_inner .site_info02 {
        text-align: right;
    }

}

@media(min-width: 1025px) {
    #site_info_inner {
        width: 930px !important;
    }

    #site_info_inner .site_info02 {
        padding: 0 15px 0 0;
        text-align: right;
        width: 930px !important;
    }

    #site_info_inner div {
        vertical-align: bottom;
    }

    .site_info01 a img {
        width: auto !important;
    }

}

.ft_menu_inner01 .trigger {
    color: var(--light);
}

#site_info_inner .site_info01 img {
    width: 80%;
}

.ft_menu_inner01 .trigger {
    background: url(/indexfile/img/accordion02_close.png) no-repeat 100% center;
    background-size: 13px 13px;
}

.ft_menu_inner01 .trigger.active {
    background: url(/indexfile/img/accordion02_open.png) no-repeat 100% center;
    background-size: 13px 13px;
    border-bottom: none;
}

.ft_menu_inner01 li a {
    color: #000;
}

.btn_contrac01 {
    background: #f9d4e5;
    font-weight: bold;
}

.btn_contrac01 a {
    text-decoration: none;
}

.btn_contrac01:hover {
    opacity: .6;
}

@media(min-width: 728px) {
    footer {
        background: var(--main_light);
    }

    .ft_link01 dt,
    .ft_link02 dt,
    .ft_link03 dt {
        border-bottom: 1px dotted #ccc;
        background: none;
        white-space: initial;
        overflow: initial;
        text-indent: initial;
        padding-bottom: .5em;
        font-size: .9rem;
        font-weight: 600;
        line-height: 1;
    }

    #ft_menu {
        background: none;
    }

    #ft_inner {
        padding: 10px 0 20px;
    }

    .pageTop a {
        width: 28px;
        height: 28px;
        display: block;
        float: right;
        text-indent: -9999px;
    }

    .btn_contrac01 {
        background: #f9d4e5;
    }

    .btn_contrac01 a {
        text-decoration: none;
        color: #333;
    }

    .btn_contrac01:hover {
        opacity: .6;
    }

}

.newsArea .index_blog {
    max-width: 930px !important;
    min-width: initial !important;
    padding: 0 !important;
    text-align: center;
}

.newsArea .index_blog_inner {
    background: var(--light);
    text-align: left;
}

.newsArea .index_blog_inner .news-pcArea {
    display: none;
}

.newsArea .index_blog_inner dl {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    margin: 0 0 10px;
    padding: 0 0 10px;
    border-bottom: 1px dashed var(--main);
}

.newsArea .index_blog_inner dl dt {
    letter-spacing: .05em;
    font-size: 1.1rem;
}

.newsArea .index_blog_inner dl dd {
    letter-spacing: .05em;
    font-size: 1.1rem;
    line-height: 1.6;
}

.newsArea .index_blog_inner dl dd a {
    color: #333;
}

.newsArea .index_blog_inner .btnTxt {
    text-align: center;
    margin: 20px auto 0;
    width: 100%;
    max-width: 400px;
    background: var(--light);
}

.newsArea .index_blog_inner .btnTxt a {
    text-decoration: none;
    position: relative;
    display: block;
    font-size: 16px;
    height: 40px;
    line-height: 40px;
    color: #333;
    letter-spacing: .05em;
    transition: all .3s ease;
    border: 1px solid #ccc;
    border-radius: 4px;
}

.newsArea .index_blog_inner .btnTxt a::before {
    content: "";
    position: absolute;
    margin: auto;
    vertical-align: middle;
    left: 10px;
    top: 0;
    bottom: 0;
    width: 6px;
    height: 6px;
    border-top: 1px solid #333;
    border-right: 1px solid #333;
    transition: all .3s ease;
    transform: rotate(45deg);
}

.newsArea .index_blog_inner .btnTxt a:hover {
    color: var(--light);
    background: #ccc;
    border: 1px solid #ccc;
}

.newsArea .index_blog_inner .btnTxt a:hover::before {
    border-top: 1px solid var(--light);
    border-right: 1px solid var(--light);
}

@media(min-width: 412px) {
    .newsArea .index_blog_inner dl {
        display: column nowrap !important;
    }

    .newsArea .index_blog_inner dl dt {
        width: 34%;
        text-align: center;
        margin-right: 2%;
        padding-top: 5px;
    }

    .newsArea .index_blog_inner dl dd {
        width: 64%;
    }
}

@media(min-width: 414px) {
    .newsArea .index_blog_inner dl {
        display: column nowrap !important;
    }

    .newsArea .index_blog_inner dl dt {
        width: 30%;
        text-align: center;
        margin-right: 2%;
        padding-top: 5px;
    }

    .newsArea .index_blog_inner dl dd {
        width: 68%;
    }


}

@media(min-width: 768px) {
    .newsArea .index_blog_inner {
        width: auto;
    }

    .newsArea .index_blog_inner dl {
        margin: 0 0 20px;
        padding: 0 0 20px;
    }

    .newsArea .index_blog_inner dl dt {
        width: 16%;
        margin-right: 0;
        padding: 0;
        text-align: left;
    }

    .newsArea .index_blog_inner dl dd {
        width: 84%;
    }

    .newsArea .index_blog_inner .btnTxt {
        width: 80%;
    }

    .newsArea .index_blog_inner .btnTxt a {
        height: 40px;
        line-height: 40px;
        font-size: 16px;
    }

    .newsArea .index_blog_inner .btnTxt a::before {
        width: 6px;
        height: 6px;
    }
}

@media(min-width: 1024px) {
    .newsArea .index_blog {
        margin: 0 auto 10px;
    }

    .newsArea .index_blog_inner {
        float: none;
    }

    .newsArea .index_blog_inner dl {
        display: flex;
    }

    .newsArea .index_blog_inner dl dt {
        width: 16%;
        border-right: none;
        text-align: left;
        margin-right: 0;
        font-weight: normal;
    }

    .newsArea .index_blog_inner dl dd {
        width: 84%;
    }

    .newsArea .index_blog_inner .spTxt {
        display: none;
    }

    .newsArea .index_blog_inner .news-pcArea {
        display: flex;
        width: 100%;
        margin: 40px 0 0;
    }

    .newsArea .index_blog_inner .news-pcArea h3 {
        flex-basis: 16%;
        font-size: 16px;
        height: 40px;
        line-height: 40px;
    }

    .newsArea .index_blog_inner .news-pcArea .btnArea {
        display: flex;
        justify-content: space-around;
        flex-basis: 84%;
    }

    .newsArea .index_blog_inner .news-pcArea .btnArea .btnTxt {
        margin: 0;
        width: calc(33.3333333333% - 20px);
    }

    .newsArea .index_blog_inner .news-pcArea .btnArea .btnTxt a {
        font-size: 14px;
    }


}

@media(min-width: 1025px) {
    .newsArea .index_blog {
        max-width: 930px !important;
        margin: 0 auto 10px;
    }


}

.faq_container {
    margin: 0;
    padding-block: 16px;
    padding-inline: 16px;
    background: var(--main_light);
    border-radius: 6px;
}

.faq_container .faq_txt {
    width: -moz-fit-content;
    width: fit-content;
    margin-block: 20px 0;
    margin-inline: auto 0;
    display: block;
    font-size: 1rem;
}

.faq_container .faq_txt a {
    color: #333;
}

.faq_container details {
    border-bottom: 1px solid var(--main);
}

.faq_container details summary {
    padding-block: 20px 16px;
    display: grid;
    grid-template-columns: min-content 1fr min-content;
    align-items: center;
    justify-items: flex-start;
    gap: 0 16px;
    font-family: "メイリオ", "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif;
    font-size: 1.1rem;
    font-weight: 600;
    font-feature-settings: "palt" 1;
    text-align: justify;
    word-break: break-all;
    line-height: 1.4;
    letter-spacing: .05em;
    position: relative;
    transition: all ease .3s;
    cursor: pointer;
}

.faq_container details summary::-webkit-details-marker {
    display: none;
}

.faq_container details summary::before {
    content: "Q";
    width: 40px;
    aspect-ratio: 1/1;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--light);
    font-size: 1.1rem;
    background: var(--main);
    ;
    border-radius: 6px;
}

.faq_container details summary::after {
    content: "";
    width: clamp(20px, 1.5vw + 15px, 26px);
    aspect-ratio: 1/1;
    display: inline-block;
    background: url(/indexfile/images/circle_plus.png);
    background-size: clamp(20px, 1.5vw + 15px, 26px);
    background-repeat: no-repeat;
}

.faq_container details .answer_area {
    margin-block: 16px 0;
    padding-block: 16px;
    padding-inline: 15px;
    font-family: "メイリオ", "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif;
    font-size: 1.1rem;
    font-weight: 600;
    font-feature-settings: "palt" 1;
    text-align: justify;
    word-break: break-all;
    line-height: 1.4;
    letter-spacing: .05em;
    background: var(--light);
    position: relative;
    transition: all ease .3s;
}

.faq_container details .answer_area .bold {
    font-weight: bold;
}

.faq_container details .answer_area .txt {
    padding-block: 0 16px;
    color: var(--app);
    font-size: 1.1rem;
    letter-spacing: .01em;
    display: grid;
    grid-template-columns: min-content 1fr;
    align-items: center;
    gap: 0 10px;
}

.faq_container details .answer_area .txt::before {
    content: "A";
    width: 40px;
    aspect-ratio: 1/1;
    color: var(--light);
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--app);
    border-radius: 6px;
    box-sizing: border-box;
}

.faq_container details .answer_area small>span {
    font-size: .8rem;
}

.faq_container details:nth-of-type(3) {
    border-bottom: none;
}

.faq_container details[open] {
    border-bottom: none;
}

.faq_container details[open] summary::after {
    background-image: url(/indexfile/images/circle_minus.png);
}

.faq_container:has(.active) details:not([open]):nth-of-type(3) {
    border-bottom: 1px solid var(--main);
}

.faq_container:has(.active) details:last-of-type {
    border-bottom: none;
}

.accordion_faq {
    overflow: hidden;
    position: relative;
    display: none;
}

.accordion_trigger_btn {
    width: -moz-fit-content;
    width: fit-content;
    min-width: 200px;
    margin-block-start: 20px;
    margin-inline: auto;
    padding-block: 12px;
    padding-inline: 1em;
    display: block;
    font-weight: bold;
    background: var(--light);
    border: 2px solid var(--main);
    ;
    border-radius: 6px;
    transition: all ease .3s;
    cursor: pointer;
    position: relative;
}

.accordion_trigger_btn::before {
    content: "もっと見る";
}

.accordion_trigger_btn::after {
    content: "";
    width: 10px;
    height: 10px;
    position: absolute;
    border-right: 2px solid var(--main);
    ;
    border-bottom: 2px solid var(--main);
    ;
    position: absolute;
    top: 44%;
    right: 8%;
    rotate: 45deg;
    translate: 0 -50%;
}

@media(any-hover: hover) {
    .accordion_trigger_btn:hover {
        color: rgba(51, 51, 51, .6);
        border: 2px solid rgba(80, 185, 191, .6);
    }


}

.accordion_trigger_btn.active::before {
    content: "閉じる";
}

.accordion_trigger_btn.active::after {
    top: 56%;
    rotate: -135deg;
}

.faqArea-button {
    width: 100%;
    min-width: 200px;
    max-width: 300px;
    margin-block: 16px 0;
    margin-inline: auto;
    padding-block: 12px;
    padding-inline: 24px 1em;
    display: block;
    color: var(--main);
    ;
    font-size: 1rem;
    letter-spacing: .05em;
    text-align: center;
    line-height: 1.2;
    background: var(--light);
    border: 1px solid var(--main);
    ;
    border-radius: 6px;
    text-decoration: none;
    position: relative;
}

@media(any-hover: hover) {
    .faqArea-button:hover {
        color: rgba(80, 185, 191, .6);
        border: 1px solid rgba(80, 185, 191, .6);
    }


}

.faqArea-button::before {
    content: "";
    width: 8px;
    aspect-ratio: 1/1;
    display: block;
    border-top: 1px solid var(--main);
    ;
    border-right: 1px solid var(--main);
    ;
    rotate: 45deg;
    position: absolute;
    top: 50%;
    left: 6px;
    translate: 0 -50%;
}

@media screen and (min-width: 728px) {
    .faq_container {
        padding-block: 24px;
        padding-inline: 24px;
    }

    .faq_container details summary {
        padding-block: 16px;
        font-size: 1.2rem;
    }

    .faq_container details summary::before {
        font-size: 1.2rem;
    }

    .faq_container details summary::after {
        width: 22px;
        background-size: 22px;
    }

    .faq_container details .answer_area {
        padding-block: 24px;
        padding-inline: 24px;
        font-size: 1.2rem;
    }

    .faq_container details .answer_area .txt {
        font-size: 1.2rem;
    }


}

.br320-360 {
    display: block;
}

@media only screen and (min-width: 360px) {
    .br320-360 {
        display: none;
    }


}

.normalList {
    list-style-type: disc;
    padding-left: 1.6em;
}

.normalList li {
    text-align: left;
    letter-spacing: .05em;
    font-size: 1.1rem;
    margin: 0 0 .5em;
    line-height: 1.4;
}

.normalList li:last-child {
    margin: 0;
}

.normal_orderList {
    list-style-type: decimal;
    padding-left: 1.6em;
}

.normal_orderList li {
    text-align: left;
    letter-spacing: .03em;
    font-size: 1.1rem;
    margin: 0 0 4px;
}

.normal_orderList li:last-child {
    margin: 0;
}

.checkList {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    flex-direction: column;
    padding-left: 1.6em;
}

.checkList li {
    font-size: 1.1rem;
    letter-spacing: .05em;
    text-align: left;
    position: relative;
    display: flex;
    line-height: 1.4;
}

.checkList li .txt {
    padding-left: 32px;
}

.checkList li::before {
    content: "";
    background-image: url(/indexfile/img/ico_check.png);
    background-size: 26px 22px;
    background-repeat: no-repeat;
    width: 26px;
    height: 22px;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
}

.list_wrap {
    border: 1px solid #ccc;
    border-radius: 6px;
    padding: 16px;
    padding-left: 2.6em !important;
}

.contentIn {
    margin: 4vw 0 8vw;
}

.pdf {
    padding-right: 18px;
    background: url(/common/img/img_pdf.svg) 100% 40% no-repeat;
    background-size: 16px 16px;
}

.external {
    padding-right: 21px;
    background: url(/common/img/img_external.svg) 100% 40% no-repeat;
    background-size: 16px 16px;
}

.phoneArea {
    margin: 2vw auto 0;
    max-width: 434px;
    line-height: 1;
    text-align: left;
}

.phoneArea .phoneArea_heading {
    margin: 0 0 4px;
    line-height: 1.2;
}

.phoneArea .phoneArea_heading p:first-of-type {
    font-size: clamp(18px, 2.6vw, 18px);
}

.phoneArea .phoneArea_heading p:last-of-type {
    font-size: clamp(16px, 2.6vw, 16px);
    border-bottom: 1px solid #ccc;
    padding-bottom: .2em;
    margin: 0 0 8px;
}

.phoneArea .phoneArea_heading p {
    font-size: clamp(14px, 2.6vw, 16px);
    margin: 0;
    font-weight: 500;
}

.phoneArea .phoneArea_second {
    display: flex;
    align-items: center;
    color: var(--plan_50);
    ;
    gap: 8px;
}

.phoneArea .phoneArea_second .txt {
    border: 1px solid var(--plan_50);
    ;
    border-radius: 6px;
    padding: 2px;
    font-size: clamp(12px, 2.1vw, 14px);
    text-align: center;
    line-height: 1.2;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    flex-direction: column;
    align-items: center;
}

.phoneArea .phoneArea_second .txt .small {
    font-size: 80%;
    display: block;
}

.phoneArea .phoneArea_second .phone {
    font-size: clamp(18px, 7.9vw, 47px);
    font-weight: 700;
    line-height: 1;
}

.phoneArea .phoneArea_second .phone a {
    color: var(--plan_50);
    ;
    text-decoration: none;
}

@media only screen and (min-width: 1025px) {
    .phoneArea {
        margin: 16px auto 0;
    }

    .list_wrap {
        padding: 32px;
        padding-left: 3.4em !important;
    }


}

.section {
    padding: 14vw 0 10vw;
}

.section h2 {
    font-size: clamp(21px, 5.1vw, 24px);
    font-weight: 700;
    letter-spacing: .1em;
    margin: 0 0 5vw;
    background: var(--main);
    ;
    color: var(--light);
    font-feature-settings: "palt";
    padding: 16px 16px 14px;
    line-height: 1.4;
}

.section h2.min {
    font-size: clamp(20px, 5.1vw, 24px);
}

.conversionArea+.section {
    padding: 10vw 0;
}

.campaignArea .campaignArea__in figure a {
    display: block;
}

.pointArea .review {
    margin: 0;
    font-size: 1rem;
}

.pointArea sup {
    font-size: clamp(9px, 2.8vw, 12px);
}

.pointArea .pointArea__list {
    display: grid;
    grid-template-columns: 1fr;
    align-items: stretch;
    flex-wrap: wrap;
    justify-items: center;
    justify-content: center;
    align-items: center;
    margin: 0 0 5vw;
    gap: 16px;
    counter-reset: number 0;
}

.pointArea .pointArea__list>li {
    width: 100%;
    max-width: 600px;
    height: 100%;
    display: grid;
    grid-template-rows: 120px 1fr;
    grid-template-rows: auto 1fr;
    transition: all .3s ease;
    position: relative;
}

.pointArea .pointArea__list>li:last-child .txt {
    padding: 24px 16px;
}

.pointArea .pointArea__list h3 {
    width: 100%;
    min-height: 120px;
    display: grid;
    align-items: center;
    font-size: clamp(18px, 3.9vw, 21px);
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: .03em;
    background: var(--main_light);
    border: 1px solid #ccc;
    overflow: hidden;
}

.pointArea .pointArea__list h3 .txt {
    position: relative;
    display: block;
}

.pointArea .pointArea__list h3 .txt::before {
    position: absolute;
    left: -2%;
    top: 50%;
    translate: 0 -50%;
    font-size: 5.6rem;
    color: var(--main);
    ;
    opacity: .18;
    counter-increment: number 1;
    content: "0" counter(number);
}

.pointArea .pointArea__list .pointArea__content {
    border: 1px solid #ccc;
    border-top: none;
    padding: 16px;
    flex-grow: 1;
}

@media screen and (min-width: 1025px) {
    .pointArea .pointArea__list {
        grid-template-columns: repeat(2, 1fr);
        justify-items: initial;
    }

}

.evaluationArea .contentIn {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
    gap: 30px 20px;
    width: 100%;
    margin: 0;
}

.evaluationArea .contentIn .evaluation__content {
    display: grid;
    grid-template-columns: 100px 1fr;
    grid-template-rows: subgrid;
    grid-row: span 2;
    gap: 10px 20px;
    align-items: center;
    text-align: left;
    background: #eff9fa;
    padding: 24px;
    border-radius: 6px;
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
    -ms-border-radius: 6px;
    -o-border-radius: 6px;
}

.evaluationArea .contentIn .evaluation__content picture {
    grid-row: 1/2;
    grid-column: 1/2;
    margin: 0;
}

.evaluationArea .contentIn .evaluation__content picture img {
    aspect-ratio: 1/1;
    -o-object-fit: contain;
    object-fit: contain;
}

.evaluationArea .contentIn .evaluation__content div {
    grid-row: 1/2;
    grid-column: 2/3;
    line-height: 1.2;
}

.evaluationArea .contentIn .evaluation__content div>* {
    font-weight: 700;
}

.evaluationArea .contentIn .evaluation__content div h3 {
    font-size: 1.1rem;
}

.evaluationArea .contentIn .evaluation__content p {
    grid-row: 2/3;
    grid-column: 1/3;
    font-size: .9rem;
    align-self: start;
}

.veterinarianArea__list {
    display: grid;
    grid-template-columns: 1fr;
    justify-content: center;
    gap: clamp(8px, 1.2vw, 16px);
}

.veterinarianArea__list li {
    padding-block: min(6vw, 30px);
    display: grid;
    grid-template-columns: 60px auto;
    align-items: center;
    justify-items: center;
    justify-content: space-evenly;
    gap: 0 8px;
    background: var(--main_light);
}

.veterinarianArea__list li .txt {
    color: #333;
    display: block;
    line-height: 1.2;
    font-size: .9rem;
    letter-spacing: .05em;
    text-align: center;
}

.veterinarianArea__list li img {
    width: auto;
    max-width: 60px;
    height: auto;
    max-height: 44px;
}

.veterinarianArea__list li:nth-of-type(3) {
    justify-items: flex-end;
}

.planlList {
    display: grid;
    grid-template-columns: 1fr;
    justify-content: space-evenly;
    align-items: center;
    gap: 26px;
}

.planlList li {
    width: 100%;
    line-height: 1.4;
}

.planlList li a {
    margin-block-start: 6px;
    padding: 16px;
    display: block;
    color: var(--light);
    font-size: 1.1rem;
    letter-spacing: .05em;
    text-decoration: none;
    font-weight: 600;
    border-radius: 6px;
    box-shadow: 0 4px 0px #909090;
    transition: all .3s ease;
}

.planlList .plan50 {
    background: var(--plan_50);
    ;
    border: 1px solid var(--plan_50);
}

@media(any-hover: hover) {
    .planlList .plan50:hover {
        color: var(--plan_50);
        background: var(--light);
    }

}

.planlList .plan70 {
    background: var(--plan_70);
    border: 1px solid var(--plan_70);
}

@media(any-hover: hover) {
    .planlList .plan70:hover {
        color: var(--plan_70);
        background: var(--light);
    }

}

.planlList .plan100 {
    background: var(--plan_100);
    border: 1px solid var(--plan_100);
}

@media(any-hover: hover) {
    .planlList .plan100:hover {
        color: var(--plan_100);
        background: var(--light);
    }

}

.insuranceArea .insuranceArea__list {
    display: grid;
    grid-template-columns: 1fr;
    justify-content: center;
    gap: 16px;
    margin: 0 0 .5vw;
}

.insuranceArea .insuranceArea__list li {
    width: 100%;
}

.insuranceArea .insuranceArea__listIn {
    background: #eff9fa;
    padding: 4vw;
    display: grid;
    grid-template-columns: clamp(100px, 34vw, 200px) auto;
    justify-content: space-evenly;
    align-items: center;
    gap: 16px;
}

.insuranceArea .insuranceArea__listIn li a {
    color: #11c;
}

.insuranceArea .insuranceArea__listIn li figure {
    max-width: 350px;
    margin: 0 auto;
}

.insuranceArea .insuranceArea__listIn li figure img {
    transition: all .3s ease;
}

.insuranceArea .insuranceArea__listIn li h4 {
    margin: 0 0 1vw;
    font-size: 1.2rem;
    font-weight: 500;
    letter-spacing: .1em;
    line-height: 1.2;
    transition: all .3s ease;
}

.insuranceArea .insuranceArea__listIn li h4 .txt {
    font-size: .9rem;
    display: block;
    line-height: 1.2;
}

.insuranceArea .insuranceArea__listIn li .txt {
    margin: 0;
    font-weight: 500;
    font-size: .9rem;
    letter-spacing: .05em;
    line-height: 1.4;
    transition: all .3s ease;
}

.recommendedArea .recommendedArea__in h3 {
    letter-spacing: .05em;
    font-weight: 700;
    font-feature-settings: "palt";
    font-size: clamp(18px, 4.6vw, 21px);
    line-height: 1.4;
    text-align: center;
    margin: 0 0 8px;
}

.recommendedArea .recommendedArea__in .amountArea__heading {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}

.recommendedArea .recommendedArea__in .amountArea__heading h5 {
    padding: 8px;
    letter-spacing: .05em;
    font-weight: 500;
    font-size: 1rem;
    color: var(--light);
    line-height: 1.2;
    font-weight: 600;
    font-size: clamp(16px, 4.9vw, 24px);
    line-height: 1.2;
}

.recommendedArea .recommendedArea__in .amountArea__heading h5 .txt {
    display: block;
    font-size: clamp(12px, 3.6vw, 16px);
    font-weight: 500;
}

.recommendedArea .recommendedArea__in .amountArea__heading h5:first-child {
    background: var(--app);
    border-radius: 6px 0 0 0;
    width: 65%;
}

.recommendedArea .recommendedArea__in .amountArea__heading h5:nth-child(2) {
    background: #f9d4e5;
    color: #333;
    border-radius: 0 6px 0 0;
    width: 35%;
}

.recommendedArea .recommendedArea__in .amountArea__table {
    border: 1px solid #ccc;
    border-top: none;
    width: 100%;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    padding: 16px;
    gap: 8px;
}

.recommendedArea .recommendedArea__in .amountArea__table thead {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    text-align: center;
}

.recommendedArea .recommendedArea__in .amountArea__table thead tr {
    width: 100%;
    display: flex;
    justify-content: space-evenly;
}

.recommendedArea .recommendedArea__in .amountArea__table thead tr th {
    text-align: center;
}

.recommendedArea .recommendedArea__in .amountArea__table thead tr th,
.recommendedArea .recommendedArea__in .amountArea__table thead tr td {
    font-size: 1.1rem;
    padding-bottom: 4px;
    letter-spacing: .05em;
}

.recommendedArea .recommendedArea__in .amountArea__table tbody {
    display: flex;
    width: 100%;
}

.recommendedArea .recommendedArea__in .amountArea__table tbody tr {
    display: flex;
    width: 100%;
    justify-content: space-evenly;
}

.recommendedArea .recommendedArea__in .amountArea__table tbody tr th {
    font-size: clamp(21px, 4.7vw, 24px);
}

.recommendedArea .recommendedArea__in .amountArea__table tbody tr td {
    font-size: clamp(21px, 4.7vw, 24px);
}

.recommendedArea .recommendedArea__in .amountArea__table tbody tr th,
.recommendedArea .recommendedArea__in .amountArea__table tbody tr td {
    font-weight: 600;
    letter-spacing: .1em;
}

.recommendedArea .recommendedArea__in .priceArea {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.recommendedArea .recommendedArea__in .priceArea .price__inner {
    width: 48%;
    padding: 1.5em 0;
    display: flex;
    flex-direction: column;
    align-items: stretch;
}

.recommendedArea .recommendedArea__in .priceArea .price__inner:first-child {
    background-image: linear-gradient(to right, var(--line) 40%, transparent 40%);
    background-size: 7% 3%;
    background-repeat: repeat-x;
    background-position: right bottom;
}

.recommendedArea .recommendedArea__in .priceArea .price__inner:nth-child(2) {
    width: 52%;
    background-image: linear-gradient(to bottom, var(--line) 50%, transparent 50%), linear-gradient(to right, var(--line) 40%, transparent 40%);
    background-size: 3% 7%, 7% 3%;
    background-repeat: repeat-y, repeat-x;
    background-position: top left, left bottom;
}

.recommendedArea .recommendedArea__in .priceArea .price__inner:last-child {
    width: 52%;
    background-image: linear-gradient(to top, var(--line) 50%, transparent 50%);
    background-size: 3% 7%;
    background-repeat: repeat-y;
    background-position: top left;
}

.recommendedArea .recommendedArea__in .priceArea div {
    flex-grow: 1;
}

.recommendedArea .recommendedArea__in .priceArea div picture {
    width: 40%;
    margin: 0 auto 8px;
    flex-grow: 1;
    position: relative;
}

.recommendedArea .recommendedArea__in .priceArea div picture::before {
    content: "";
    display: block;
    clear: both;
}

.recommendedArea .recommendedArea__in .priceArea div picture::after {
    content: "";
    display: block;
    padding-top: 100%;
}

.recommendedArea .recommendedArea__in .priceArea div picture source {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

.recommendedArea .recommendedArea__in .priceArea div picture img {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

.recommendedArea .recommendedArea__in .priceArea div p {
    flex-grow: 1;
    font-weight: 700;
    line-height: 1;
}

.recommendedArea .recommendedArea__in .priceArea div p span {
    font-weight: normal;
    font-size: .85rem;
}

.recommendedArea .recommendedArea__in .priceArea h4 {
    font-size: clamp(21px, 4.7vw, 24px);
    font-weight: 700;
    line-height: 1.4;
}

.recommendedArea .recommendedArea__in .priceArea h4 span {
    margin: 0 8px 0 0;
    padding: 4px 8px;
    color: var(--light);
    font-size: .8rem;
    font-weight: normal;
    vertical-align: middle;
    background: var(--plan_70);
    border-radius: 12px;
    -webkit-border-radius: 12px;
    -moz-border-radius: 12px;
    -ms-border-radius: 12px;
    -o-border-radius: 12px;
}

.commentArea {
    margin-block-end: 48px;
    display: grid;
    align-items: center;
    justify-items: center;
    gap: 8px;
}

.commentArea figure {
    max-width: 150px;
    margin: 0;
}

.commentArea figure img {
    transition: all .3s ease;
}

.commentArea figure .review {
    font-weight: 600;
    text-align: center;
    margin: 5px 0 0;
}

.commentArea .comment_wrap {
    padding-block-end: 32px;
    position: relative;
}

.commentArea summary {
    text-decoration: underline;
    list-style: none;
    position: absolute;
    bottom: -4px;
    right: 50%;
    translate: 50% 0;
    cursor: pointer;
}

.commentArea:last-child {
    margin: 0 0 24px;
}

.commentArea:last-child figure {
    max-width: 150px;
}

.flowList li {
    margin: 0 0 clamp(32px, 7.2vw, 54px);
}

.flowList li>.txt {
    font-size: clamp(18px, 3.9vw, 21px);
    letter-spacing: .03em;
    background: var(--main_light);
    padding: 8px;
    font-weight: 600;
    display: block;
    border-radius: 12px;
    position: relative;
    margin: 0 0 5vw;
}

.flowList li .txt::after {
    content: "";
    width: 24px;
    height: 14px;
    background: var(--main_light);
    position: absolute;
    top: 98%;
    left: 50%;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    translate: -50% 0;
}

.flowList .flowList__list {
    list-style-type: decimal;
    padding-left: 2em;
    margin: 24px 0 0;
}

.flowList .flowList__list li {
    text-align: left;
    letter-spacing: .03em;
    font-size: 1.1rem;
    margin: 0 0 .5em;
    line-height: 1.2;
}

.flowList .flowList__list li:last-child {
    margin: 0;
}

@media(min-width: 390px) {
    .veterinarianArea__list {
        grid-template-columns: repeat(2, 1fr);
    }

}

@media(min-width: 480px) {

    .conversionArea+.section,
    .section {
        padding: 8vw 0 8vw;
    }

    .conversionArea+.section h2,
    .section h2 {
        margin: 4vw 0;
    }

    .flowList li>.txt {
        margin: 0 0 clamp(24px, 2.4vw, 40px);
    }

}

@media(min-width: 600px) {
    .veterinarianArea__list {
        grid-template-columns: repeat(3, 1fr);
    }

    .veterinarianArea__list li:nth-of-type(3) {
        justify-items: center;
    }

}

@media(min-width: 768px) {
    article {
        width: 90%;
        max-width: 930px;
        margin-inline: auto;
    }

    .nav-header {
        padding: 0 20px;
    }

    #hd_tel {
        right: 20px;
    }

    .contentIn {
        margin: 2vw 0 4vw;
    }

    .conversionArea+.section,
    .section {
        padding: 4vw 0 4vw;
    }

    .conversionArea+.section h2,
    .section h2 {
        margin: 4vw 0;
    }

    .section:last-child {
        padding: 40px 40px 160px;
    }

    .insuranceArea .insuranceArea__listIn li {
        width: 100%;
    }

    .insuranceArea .insuranceArea__listIn li h4 {
        font-size: 1.4rem;
    }

    .recommendedArea .recommendedArea__in .amountArea .amountArea__table thead tr th,
    .recommendedArea .recommendedArea__in .amountArea .amountArea__table thead tr td {
        font-size: 1.4rem;
    }

    .recommendedArea .recommendedArea__in .priceArea .price__inner:first-child {
        width: 25%;
        background-image: linear-gradient(to bottom, var(--line) 50%, transparent 50%);
        background-size: 2% 7%;
        background-repeat: repeat-y;
        background-position: right bottom;
    }

    .recommendedArea .recommendedArea__in .priceArea .price__inner:nth-child(2) {
        width: 25%;
        background-image: linear-gradient(to bottom, var(--line) 50%, transparent 50%);
        background-size: 2% 7%;
        background-repeat: repeat-y;
        background-position: right bottom;
    }

    .recommendedArea .recommendedArea__in .priceArea .price__inner:nth-child(3) {
        width: 25%;
        background-image: linear-gradient(to bottom, var(--line) 50%, transparent 50%);
        background-size: 2% 7%;
        background-repeat: repeat-y;
        background-position: right bottom;
    }

    .recommendedArea .recommendedArea__in .priceArea .price__inner:last-child {
        width: 25%;
        background-image: none;
    }

    .recommendedArea .recommendedArea__in .priceArea .price__inner div picture {
        width: 32%;
    }

    .recommendedArea .commentArea {
        margin-block-end: 8px;
        padding-inline: 20px;
        grid-template-columns: clamp(82px, 7.3vw, 110px) 1fr;
        gap: 32px;
    }

    .recommendedArea .comment_container summary {
        display: none;
    }

    .pointArea {
        padding: 0 0 4vw;
    }

    .pointArea .pointArea__list {
        margin: 0 0 40px;
    }

    .pointArea .pointArea__list h3 .txt::before {
        left: 0;
    }

    .veterinarianArea__list {
        grid-template-columns: repeat(6, 1fr);
    }

    .veterinarianArea__list li {
        padding-block: clamp(18px, 2.4vw, 20px);
        display: block grid;
        grid-template-rows: subgrid;
        grid-template-columns: 1fr;
        grid-row: span 2;
        justify-items: center;
        gap: 8px;
    }

    .flowArea {
        padding: 0 0 4vw;
    }

    .flowArea .flowList>li {
        margin: 0 0 clamp(30px, 3.8vw, 72px);
    }

    .planlList {
        grid-template-columns: repeat(3, 1fr);
    }

    .planlList li {
        display: block grid;
        grid-template-rows: subgrid;
        grid-row: span 2;
        letter-spacing: -0.05em;
        gap: 10px;
    }

    .planlList li a {
        margin-block-start: 0;
    }

}

@media(min-width: 1024px) {
    .nav-header {
        padding: 0 20px;
    }

    #hd_tel {
        right: 0;
    }

}

@media(min-width: 1025px) {
    .nav-header {
        padding: 0;
    }

    .contentIn {
        margin: 24px 0 48px;
    }

    .conversionArea+.section,
    .section {
        padding: 80px 0 40px;
    }

    .conversionArea+.section h2,
    .section h2 {
        margin: 0 0 24px;
    }

    .insuranceArea .insuranceArea__list {
        grid-template-columns: repeat(2, calc((100% - 24px) / 2));
        gap: 24px;
    }

    .insuranceArea .insuranceArea__list li {
        width: 100%;
    }

    .insuranceArea .insuranceArea__list li .insuranceArea__listIn {
        justify-content: center;
        padding: 24px;
    }

}

.ft_menu_inner02 .btn_sns01 .container_sns {
    padding: 4px 0;
}

.modal_wrap input {
    display: none;
}

.open_button {
    cursor: pointer;
}

.open_button small {
    border-bottom: 1px solid #11c;
    color: #11c;
    margin: 0 0 .5em;
    transition: all .3s ease;
    line-height: 1;
}

.open_button small:hover {
    border-bottom: 1px solid #333;
    color: #333;
}

.modal_overlay {
    display: flex;
    justify-content: center;
    overflow: auto;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, .6);
    opacity: 0;
    transition: opacity .1s, transform 0s .1s;
    transform: scale(0);
}

.modal_trigger {
    position: absolute;
    width: 100%;
    height: 100%;
}

.close_button {
    position: absolute;
    top: 16px;
    right: 16px;
    font-size: 21px;
    cursor: pointer;
}

.modal_wrap input:checked~.modal_overlay {
    opacity: 1;
    transform: scale(1);
    transition: opacity .1s;
}

.w500 {
    font-weight: 500 !important;
}

.notice_area {
    margin: 1% auto;
    border: solid 1px var(--plan_50);
    ;
    border-radius: 5px;
    color: var(--plan_50);
    ;
    padding: 20px;
    max-width: 930px;
}

.notice_area .notice_area_list li {
    display: flex;
    font-size: 1rem;
    letter-spacing: .05em;
    justify-content: center;
    align-items: center;
}

.notice_area .notice_area_list li time {
    padding: 0 10px 0 0;
}

.notice_area .notice_area_list li a {
    color: var(--plan_50);
}

@media screen and (max-width: 728px) {
    .notice_area {
        margin: 4%;
        padding: 4%;
    }

    .notice_area .notice_area_list li {
        display: inline-block;
        text-align: left;
    }

    .notice_area .notice_area_list li time {
        font-size: .9rem;
        padding: 0;
    }

}

.note_wrap {
    width: 96%;
    margin: 0 auto;
    border: 1px solid #ccc;
    border-radius: 4px;
}

.note_wrap .open_btn {
    font-size: .85rem;
}

.note_wrap .modal_content .review {
    font-size: .85rem;
}

.note_wrap #att_1,
.note_wrap #att_2 {
    pointer-events: auto;
}

.note_wrap #att_1::backdrop,
.note_wrap #att_2::backdrop {
    background-color: rgba(0, 0, 0, .6);
}

.note_wrap .number_list {
    line-height: 1.4;
}

.note_ttl {
    color: #8a8a8a;
    position: relative;
    cursor: pointer;
    font-size: 1rem;
    font-weight: normal;
    padding: 1% 3% 1% 2%;
    transition: all .5s ease;
    text-align: left;
}

.note_ttl::after {
    content: "";
    width: 10px;
    aspect-ratio: 1/1;
    display: inline-block;
    border-bottom: 3px solid #8a8a8a;
    border-left: 3px solid #8a8a8a;
    position: absolute;
    top: 46%;
    right: 24px;
    translate: -50% -50%;
    rotate: -45deg;
}

.note_ttl.close {
    color: var(--light);
    background: #bbb;
}

.note_ttl.close::after {
    content: "";
    border-bottom: 3px solid var(--light);
    border-left: 3px solid var(--light);
    translate: -50% 0;
    rotate: 135deg;
}

.note_txt {
    display: none;
    margin: 2% 3% 3%;
    padding: 3%;
    text-align: left;
}

.note_txt .open_btn {
    margin-block-end: .5em;
    line-height: 1;
    cursor: pointer;
}

@media screen and (max-width: 728px) {
    .note_wrap {
        width: 100%;
    }

    .note_ttl {
        padding: .5em;
    }

    .note_ttl::after {
        width: 8px;
        top: 45%;
        right: 4%;
    }

    .note_ttl.close::after {
        top: 44%;
        right: 4%;
    }

    .pointArea .pointArea__list sup {
        font-size: clamp(9px, 2.8vw, 12px);
    }

    .pointArea .pointArea__list h3 sup {
        font-weight: normal;
    }

    .pointArea .note_txt>.review {
        margin: 0 0 6px 0;
    }

    .pointArea .note_txt .open_button>small {
        margin: 0;
    }

}

.veterinarianArea__content sup {
    font-size: clamp(9px, 2.8vw, 12px);
}

.index-sec1 picture {
    margin-bottom: 0;
}

.usefulList {
    padding-left: 1.6em;
    font-size: 1.1rem;
    text-align: left;
    list-style-type: disc;
}

.usefulList li {
    margin-bottom: .5em;
}

.disc01 {
    margin-left: 16px;
    text-align: left;
    list-style: disc;
}

.index-sec1 {
    background: var(--main_light);
}

.index-sec1.swiperArea {
    width: 100%;
}

.index-sec1.swiperArea .img-area {
    width: 100%;
    max-width: 930px;
    margin: 0 auto;
    padding: 16px 0 24px;
    position: relative;
}

.index-sec1 .swiper-wrapper {
    max-height: clamp(295px, 40vw, 365px);
    margin-bottom: 10px;
}

.mv-Swiper li {
    display: flex;
    justify-content: center;
    align-items: center;
}

.mv-Swiper a {
    margin: 0;
}

.mv-Swiper picture {
    margin: 0;
}

.mv-Swiper picture img {
    max-width: inherit;
    max-height: clamp(295px, 40vw, 365px);
}

.mv-Swiper .swiper-button-prev {
    left: 10px;
}

.mv-Swiper .swiper-button-prev::after {
    padding-right: .2em;
}

.mv-Swiper .swiper-button-next {
    right: 10px;
    padding-left: .2em;
    padding-right: 0;
}

.index-sec1 .swiper-horizontal>.swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal,
.swiper-pagination-custom,
.swiper-pagination-fraction {
    bottom: 0;
}

.index-sec1 .swiper-button-prev:after,
.index-sec1 .swiper-button-next:after {
    width: 32px;
    height: 38px;
    color: var(--light);
    font-size: 20px;
    font-weight: 600;
    background: var(--main);
    ;
    line-height: 2;
    opacity: .6;
    transition: all ease .3s;
    -webkit-transition: all ease .3s;
    -moz-transition: all ease .3s;
    -ms-transition: all ease .3s;
    -o-transition: all ease .3s;
    border-radius: 8px;
    -webkit-border-radius: 8px;
    -moz-border-radius: 8px;
    -ms-border-radius: 8px;
    -o-border-radius: 8px;
}

.swiper-button-next:after {
    padding-left: .3em;
    padding-right: .1em;
}

.swiper-pagination-bullet-active {
    opacity: var(--swiper-pagination-bullet-opacity, 1);
    background: var(--main);
}

.swiper-horizontal>.swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal,
.swiper-pagination-custom,
.swiper-pagination-fraction {
    bottom: -40px;
}

.index-sec1 .img-area .swiper-pagination-bullet {
    width: 12px;
    height: 12px;
    opacity: 1;
    background: var(--light);
    border: 1px solid var(--main);
    ;
    position: initial;
    display: inline-block;
}

.index-sec1 .img-area .swiper-pagination-bullet-active {
    background: var(--main);
}

.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 8px;
}

.column-Swiper .swiper-horizontal>.swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal,
.swiper-pagination-custom,
.swiper-pagination-fraction {
    bottom: 0;
}

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

    .index-sec1,
    .startArea02 {
        background: var(--light);
    }

    .index-sec1 .swiper-wrapper {
        max-height: inherit;
        padding-bottom: 20px;
    }

    .index-sec1.swiperArea .img-area {
        margin-bottom: 24px;
        padding: 16px 0 24px;
    }

    .mv-Swiper .swiper-slide {
        height: auto;
    }

    .mv-Swiper li {
        display: block;
    }

    .mv-Swiper picture img {
        max-height: inherit;
    }

    .index-sec1 .img-area .li01 span {
        position: inherit;
        text-align: right;
    }

    .garfield a {
        height: 100%;
        display: block;
    }

    .garfield picture {
        height: 100%;
        display: block;
    }

    .garfield picture img {
        height: 100%;
    }

    .mv-Swiper .swiper-button-next,
    .mv-Swiper .swiper-button-prev {
        top: inherit;
        bottom: 0;
    }

    .mv-Swiper img {
        border-radius: 0;
    }

    .index-sec1 .img-area:has(.garfield) {
        margin: 0 auto 20px;
    }

    .swiper-button-next:after {
        padding-left: .15em;
        padding-right: .1em;
    }

}

.recommendedArea .swiper {
    height: auto;
    padding-block-end: 32px;
    padding-inline: 58px;
}

.recommendedArea .swiper-wrapper {
    align-items: stretch;
}

.swiper-content {
    height: initial;
}

.swiper_item {
    height: 100%;
    padding-block: 20px;
    padding-inline: clamp(20px, 5.8vw, 28px);
    border: 2px solid #a0d3d6;
    border-radius: 20px;
}

.user_title {
    margin-block-end: 10px;
    display: grid;
    grid-template-columns: clamp(72px, 9.8vw, 80px) auto;
    align-items: center;
    gap: 0 clamp(10px, 1.4vw, 16px);
}

.user_title figure {
    grid-row: 1/3;
}

.user_title img {
    max-width: 76px;
    max-height: 100px;
}

.user_title h3 {
    font-size: 1rem;
    font-weight: 700;
    font-feature-settings: "palt";
    text-align: left;
    line-height: 1.4;
    letter-spacing: .05em;
    grid-column: 2/3;
    grid-row: 2/3;
}

.user_title .user_info {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0 5px;
}

.user_title .user_info li {
    width: -moz-fit-content;
    width: fit-content;
    margin-block: calc((1em - 1lh)/2);
    padding: 2px 8px;
    font-size: .85rem;
    background: #e7f9fa;
    border-radius: 6px;
}

.user_comment p {
    font-size: .95rem;
}

.user_comment .review:not(.mt00) {
    margin: 12px 0 0;
}

.swiper-button-prev:after {
    width: 24px;
    height: 32px;
    padding: 0;
    font-size: 0;
    clip-path: polygon(0 50%, 100% 0, 100% 100%);
    background: #82d7dc;
}

.swiper-button-next:after {
    width: 24px;
    height: 32px;
    padding: 0;
    font-size: 0;
    clip-path: polygon(0 0, 100% 50%, 0 100%);
    background: #82d7dc;
}

@media screen and (max-width: 728px) {
    .recommendedArea .swiper {
        padding-inline: 0;
        overflow: initial;
    }

    .recommendedArea .user_title {
        max-width: 320px;
        margin-inline: auto;
        margin-block-end: 16px;
        grid-template-columns: 70px auto;
        justify-content: center;
        gap: 10px 12px;
    }

    .recommendedArea .user_title figure {
        grid-column: 1/2;
        grid-row: 1/2;
    }

    .recommendedArea .user_title h3 {
        text-align: center;
        grid-column: 1/3;
        grid-row: 2/3;
    }

    .recommendedArea .user_title .user_info {
        grid-column: 2/3;
        grid-row: 1/2;
        translate: inherit;
        gap: 16px 8px;
    }

    .recommendedArea .swiper-button-prev {
        left: -16px;
    }

    .recommendedArea .swiper-button-next {
        right: -16px;
    }

    .recommendedArea .swiper-button-prev:after,
    .recommendedArea .swiper-button-next:after {
        width: 20px;
        height: 28px;
    }

}

.case_payment_content p {
    text-align: left;
}

.case_payment_inner {
    width: 100%;
    padding-inline: 52px;
}

.line_box {
    width: 100%;
    border: 1px solid #b5b5b5;
    margin-bottom: 20px;
    font-size: 16px;
}

.line_box td {
    padding: 3px;
}

.line_box td p {
    line-height: 1.5em;
    padding: 3px 5px;
}

.line_box .setsumei {
    background: url(/common/img/sankaku_next.gif) no-repeat right center;
    padding: 8px 12px;
    font-weight: bold;
}

.line_box .days {
    padding: 8px 12px;
    font-weight: bold;
    line-height: 120%;
}

.box_center {
    text-align: center;
}

.box_right {
    text-align: right;
}

.bggray_top {
    background: #e7e7e7;
}

.bggray_top td {
    text-align: center;
}

.bggray {
    background: #f8f8f8;
}

.line_rb {
    border-bottom: 1px solid #b5b5b5;
    border-right: 1px solid #b5b5b5;
}

.line_r {
    border-right: 1px solid #b5b5b5;
}

.line_b {
    border-bottom: 1px solid #b5b5b5;
}

@media screen and (max-width: 728px) {
    .case_payment_inner {
        padding-inline: 0;
    }

}