@charset "UTF-8";

:root {
    --color_text: #000;
    --color_white: #fff;
    --color_red: #C90003;
    --color_gray: #727272; /* faqのaなど */
    --color_darkgray: #404040; /* キャリアパスなど */
    --color_lightgray: #f1f1f1; /* 社員インタビュー背景、faq背景など。 */

    /* --max-width: 1920px; */
    --container: 1200px;
}

/* =============================================
    PCの設定（768px以上）
    => 1rem = 10px (固定)
============================================= */
html {
    font-size: 62.5%;
}

/* =============================================
    スマホの設定（767px以下）
    => 1rem = 10px (360px基準で可変)
============================================= */
@media screen and (max-width: 767px) {
    html {
        font-size: calc(100vw / 36.0);
    }
}

body {
    font-family: "Noto Sans JP", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    font-style: normal;
    font-size: 1.6rem;
    color: var(--color_text);
    max-width: 100%;
    overflow-x: hidden;
}
.meisho-lp-body-wrapper .font-roboto {
    font-family: "Roboto", sans-serif;
    font-style: italic;
    font-weight: bold;
}

.meisho-lp-body-wrapper {
    position: relative;
    /* max-width: var(--max-width); */
    margin: 0 auto;
}
.meisho-lp-body-wrapper .l-container {
    max-width: var(--container);
    margin-inline: auto;
    &.is-full {
        max-width: 100%;
    }
}

/* header */
.meisho-lp-body-wrapper .l-header {
    z-index: 999;
    position: fixed;
    width: 100%;
    /* max-width: var(--max-width); */
    margin-inline: auto;
    top: 0;
    & ul {
        display: flex;
        justify-content: flex-end;
    }
    & li.is-tel {
        width: 26.9rem;
        height: fit-content;
        pointer-events: none;
    }
    & li.is-contact {
        width: 22rem;
        height: fit-content;
    }
    & li.is-sp {
        display: none;
    }
}
@media screen and (max-width: 767px) {
    .meisho-lp-body-wrapper .l-header {
        & li.is-tel {
            width: 4.5rem;
            pointer-events: unset;
        }
        & li.is-contact {
            width: 4.5rem;
        }
        & li.is-pc {
            display: none;
        }
        & li.is-sp {
            display: block;
        }
    }
}

/* footer */
.meisho-lp-body-wrapper .l-footer {
    background-color: var(--color_text);
    .flex {
        max-width: 80%;
        margin-inline: auto;
        position: relative;
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding-block: 2rem;
        .address {
            color: var(--color_white);
            font-size: 1.4rem;
        }
        .copyright {
            color: var(--color_white);
            font-size: 1.4rem;
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            white-space: nowrap;
        }
    }
    & br.is-sp {
        display: none;
    }
}
@media screen and (max-width: 1270px) {
    .meisho-lp-body-wrapper .l-footer {
        .flex {
            padding-bottom: 8rem;
            .copyright {
                top: auto;
                bottom: 0;
                transform: translate(-50%, -100%);
            }
        }
    }
}
@media screen and (max-width: 767px) {
    .meisho-lp-body-wrapper .l-footer {
        .flex {
            padding-inline: 1rem;
            padding-top: 3rem;
            padding-bottom: 3rem;
            padding-right: 12rem;
            max-width: 100%;
            justify-content: center;
            align-items: flex-start;
            flex-direction: column;
            gap: 1.5rem;
            .address {
                font-size: 1.25rem;
                order: 2;
            }
            .copyright {
                font-size: 1.25rem;
                padding-top: 1rem;
                order: 3;
                position: relative;
                bottom: auto;
                left: auto;
                white-space: unset;
                transform: translate(0, 0);
            }
            .logo {
                order: 1;
                width: 100%;
                & img {
                    width: 14rem;
                }
            }
        }
        & br.is-sp {
            display: inline;
        }
    }
}

/* footer before content*/
.meisho-lp-body-wrapper .footer-before-content {
    z-index: 1;
    background-color: var(--color_white);
    padding-block: 4rem;
    .flex {
        display: flex;
        max-width: 80%;
        margin-inline: auto;
        gap: 3rem;
        justify-content: center;
        & a {
            display: block;
            height: 100%;
            &:first-of-type {
                flex: 1 1 26.3%;
                aspect-ratio: 282/170;
            }
            &:last-of-type {
                flex: 1 1 71%;
                aspect-ratio: 761/170;
            }
        }
    }
}
@media screen and (max-width: 767px) {
    .meisho-lp-body-wrapper .footer-before-content {
        .flex {
            min-width: 90%;
            flex-direction: column;
        }
    }
}

/* aタグについて */
.meisho-lp-body-wrapper a {
    transition: all 0.3s;
}
.meisho-lp-body-wrapper a:hover {
    opacity: 0.8;
}
/* pタグ SP テキストサイズ */
@media screen and (max-width: 767px) {
    .meisho-lp-body-wrapper p {
        font-size: 1.3rem;
    }
}

/* 区切り線のラッパー */
.meisho-lp-body-wrapper .divider-wrap {
    position: absolute;
    line-height: 0; /* SVGの下に隙間ができるのを防ぐおまじない */
    width: 100%;
    overflow: hidden; /* はみ出し防止 */
    left: 0;
    &.divider-top {
        top: 1px;
        transform: translate(0, -100%);
    }
    &.divider-bottom {
        bottom: 1px;
        transform: translate(0, 100%);
    }
    .divider-svg {
        display: block;
        width: 100%;
        height: 5vw;
        max-height: 10rem;
        min-height: 40px;
    }
}

.meisho-lp-body-wrapper br {
    &.is-sp {
        display: none;
    }
}
@media screen and (max-width: 767px) {
    .meisho-lp-body-wrapper br {
        &.is-pc {
            display: none;
        }
        &.is-sp {
            display: inline;
        }
    }
}

/* コンテンツ */
.meisho-lp-body-wrapper .fixed-btn {
    z-index: 999;
    position: fixed;
    bottom: 0;
    right: 0;
    width: 25rem;
}
@media screen and (max-width: 767px) {
    .meisho-lp-body-wrapper .fixed-btn {
        width: 14rem;
        max-width: 250px;
    }
}

.meisho-lp-body-wrapper .mv {
    & h1 img {
        width: 100%;
        height: fit-content;
        &.is-sp {
            display: none;
        }
    }
}
@media screen and (max-width: 767px) {
    .meisho-lp-body-wrapper .mv {
        & h1 img {
            &.is-pc {
                display: none;
            }
            &.is-sp {
                display: block;
            }
        }
    }
}

/* youtube埋め込み */
.meisho-lp-body-wrapper .youtube-movie {
    margin-top: 2rem;
    margin-inline: auto;
    text-align: center;
    max-width: 100rem;
    width: 100%;
    height: auto;
    aspect-ratio: 16/9;
    & iframe {
        max-width: 100rem;
        width: 100%;
        height: auto;
        aspect-ratio: 16 / 9;
    }
}
@media screen and (max-width: 767px) {
    .meisho-lp-body-wrapper .youtube-movie {
        padding-inline: 1rem;
    }
}

/* instagram埋め込み */
.meisho-lp-body-wrapper .instagram-wrap {
    margin-top: 4rem;
    margin-inline: auto;
    width: 100%;
    height: auto;
    aspect-ratio: 1020/690;
    padding-inline: 8rem;
    & iframe {
        width: 100%!important;
        height: auto!important;
        aspect-ratio: 1020/690;
    }
}
@media screen and (max-width: 767px) {
    .meisho-lp-body-wrapper .instagram-wrap {
        margin-top: 2rem;
        padding-inline: 2rem;
        aspect-ratio: auto!important;
    }
}

.meisho-lp-body-wrapper .section01 {
    z-index: 1;
    position: relative;
    padding-top: 10rem;
    padding-bottom: calc(6rem + 5vw);
    overflow: hidden;
    background-color: var(--color_white);
    .bg-img1 {
        z-index: -1;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: fit-content;
        & img {
            width: 100%;
            height: fit-content;
            object-fit: contain;
            object-position: top;
        }
    }
    .bg-img2 {
        z-index: -2;
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 100%;
        & img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }
    }
    & h2 {
        text-align: center;
        font-size: 4.8rem;
        font-weight: bold;
        padding-inline: 1em;
        color: var(--color_white);
        .is-small {
            font-size: 0.75em;
        }
    }
    .grid {
        margin-top: 4rem;
        display: grid;
        grid-template-columns: 1fr 1fr;
        justify-content: center;
        column-gap: 2.4rem;
        row-gap: 1.2rem;
        width: fit-content;
        margin-inline: auto;
        padding-inline: 1em;
        .box {
            width: 100%;
            max-width: 52rem;
            height: fit-content;
        }
    }
    .arrow {
        display: block;
        margin-top: 6rem;
        margin-inline: auto;
        width: 15rem;
        height: auto;
        aspect-ratio: 5/2;
        clip-path: polygon(50% 100%, 0% 0%, 100% 0%);
        background-color: #ff0000;
    }
    .flex {
        margin-top: 4.5rem;
        display: flex;
        justify-content: center;
        align-items: center;
        padding-inline: 1em;
        .flex-item {
            width: 100%;
        }
        .flex-item:first-of-type {
            max-width: 337px;
        }
        .flex-item:nth-of-type(2) {
            max-width: 373px;
        }
        .flex-item:last-of-type {
            max-width: 337px;
        }
    }
    .img-1 {
            padding-inline: 15rem;
        & img {
            max-width: 79rem;
            margin-inline: auto;
        }
    }
    .img-add {
        position: relative;
        margin-top: 5rem;
        width: 100%;
        .img-add-text {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            max-width: 108rem;
            width: 79.4%;
            filter: drop-shadow(0px 0px 8px #000000);
        }
    }
    .img-2 {
        /* margin-top: 7.5rem; */
        margin-top: 5rem;
        margin-inline: auto;
        padding-inline: 13rem;
        & img {
            max-width: 81.6rem;
            margin-inline: auto;
        }
        &.is-sp {
            display: none;
        }
    }
    .flex-2 {
        display: flex;
        gap: 3.2rem;
        justify-content: center;
        align-items: center;
        max-width: 118rem;
        margin-top: 3rem;
        margin-inline: auto;
        padding-inline: 2em;
    }
    .left,
    .right {
        flex: 1;
    }
    .left {
        & img {
            max-width: 52.7rem;
        }
    }
    .right {
        & img {
            max-width: 51.4rem;
        }
    }
    & p {
        margin-top: 1em;
    }
}
@media screen and (max-width: 767px) {
    .meisho-lp-body-wrapper .section01 {
        padding-top: 6rem;
        padding-bottom: 4rem;
        .bg-img1 {
            top: 0;
            height: 50rem;
            & img {
                display: flex;
                align-items: flex-start;
                vertical-align: top;
                height: 100%;
                object-fit: cover;
            }
        }
        & h2 {
            font-size: 1.5rem;
        }
        .grid {
            margin-top: 1.5rem;
            grid-template-columns: 1fr;
            row-gap: 1rem;
        }
        .arrow {
            margin-top: 1.5rem;
            width: 7.5rem;
        }
        .flex {
            margin-top: 1.5rem;
        }
        .img-1 {
            padding-inline: 5rem;
        }
        .img-add {
            margin-top: 2rem;
            .img-add-text {
                width: 90%;
            }
        }
        .img-2 {
            margin-top: 2rem;
            padding-inline: 5rem;
            &.is-sp {
                display: block;
            }
            &.is-pc {
                display: none;
            }
        }
        .flex-2 {
            flex-direction: column-reverse;
            gap: 1rem;
            margin-top: 2rem;
            padding-inline: 1.5em;
            .left {
                flex: 1 1 auto;
                height: fit-content;
                aspect-ratio: 527/504;
            }
            .left img {
                height: fit-content;
                aspect-ratio: 527/504;
            }
        }
    }
}

.meisho-lp-body-wrapper .section02 {
    position: relative;
    background-color: var(--color_text);
    padding-top: 10rem;
    padding-bottom: 10rem;
    .img-1 {
        padding-inline: 18rem;
        & img {
            width: 99.8rem;
            margin-inline: auto;
        }
        &.is-sp {
            display: none;
        }
    }
    .content {
        margin-top: 4rem;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        padding-left: 7rem;
        .text {
            position: relative;
            padding-top: calc(8.5rem + 2rem);
            flex: 1;
            white-space: nowrap;
        }
        & p {
            color: var(--color_white);
        }
        & p:not(:first-of-type) {
            margin-top: 1em;
        }
        .img-2 {
            position: absolute;
            top: 0;
            width: 71.9rem;
            & img {
                width: 71.9rem;
            }
        }
        .img-3 {
            max-width: 86.1rem;
            & img {
                width: 86.1rem;
            }
        }
    }
}
@media screen and (max-width: 1000px) {
    .meisho-lp-body-wrapper .section02 {
        .content {
            padding-left: 2em;
            .text {
                padding-top: 10vw;
            }
            .img-2 {
                width: 60vw
            }
        }
    }
}
@media screen and (max-width: 767px) {
    .meisho-lp-body-wrapper .section02 {
        padding-top: 5rem;
        padding-bottom: 2rem;
        .img-1 {
            padding-inline: 1rem;
            &.is-pc {
                display: none;
            }
            &.is-sp {
                display: block;
            }
        }
        .content {
            flex-direction: column;
            margin-top: 3rem;
            padding-left: 1rem;
            .text {
                padding-top: 0;
            }
            .img-2 {
                position: relative;
                width: 95%;
                margin-bottom: 1.3rem;
            }
        }
    }
}

.meisho-lp-body-wrapper .section03 {
    position: relative;
    background-image: url("../img/section03-bg.png");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    padding-top: calc(2px + 5vw);
    .block {
        position: relative;
        max-width: 80%;
        margin-top: -12rem;
        margin-inline: auto;
        background-color: var(--color_white);
        & h2 {
            background-color: var(--color_red);
            color: var(--color_white);
            padding: 3rem;
            text-align: center;
        }
        .block-inner {
            padding: 4rem;
        }
        .img-1 {
            & img {
                width: 49.1rem;
                margin-inline: auto;
            }
        }
        .flex {
            margin-top: 4rem;
            display: flex;
            justify-content: center;
            gap: 5rem;
        }
    }
    .img-heading {
        position: absolute;
        top: 0;
        left: 50%;
        transform: translate(-50%, 0);
        & img {
            width: 69.6rem;
            margin-inline: auto;
        }
    }
    .img-box {
        position: relative;
        margin-top: 8rem;
        &.is-sp {
            display: none;
        }
        .img-5,
        .img-6,
        .img-7,
        .img-8 {
            position: absolute;
            top: 50%;
            left: 50%;
            & img {
                width: 34.8rem;
                margin-inline: auto;
            }
        }
        .img-5 {
            transform: translate(calc(-50% - 100%), calc(-50% - 50%));
        }
        .img-6 {
            transform: translate(calc(-50% + 100%), calc(-50% - 25%));
        }
        .img-7 {
            transform: translate(calc(-50% - 70%), calc(-50% + 80%));
        }
        .img-8 {
            transform: translate(calc(-50% + 80%), calc(-50% + 105%));
        }
        .img-9 {
            & img {
                width: 100rem;
                margin-inline: auto;
            }
        }
    }
}
@media screen and (max-width: 1120px) {
    .meisho-lp-body-wrapper .section03 {
        .img-box {
            .img-5,
            .img-6,
            .img-7,
            .img-8 {
                & img {
                    width: 31vw;
                }
            }
            .img-9 {
                & img {
                    width: 90vw;
                }
            }
        }
    }
}
@media screen and (max-width: 767px) {
    .meisho-lp-body-wrapper .section03 {
        padding-bottom: 6rem;
        .block {
            max-width: 90%;
            margin-top: -3rem;
            & h2 {
                padding: 3rem;
                font-size: 2rem;
            }
            .block-inner {
                padding: 2rem 4rem;
            }
            .flex {
                margin-top: 2rem;
                gap: 1rem;
                flex-direction: column;
            }
        }
        .img-heading {
            width: 80%;
            & img {
                width: 100%;
            }
        }
        .img-box {
            margin-top: 2.5rem;
            padding-top: 12rem;
            padding-bottom: 1rem;
            &.is-pc {
                display: none;
            }
            &.is-sp {
                display: block;
            }
            .img-box-flex {
                margin-top: -6rem;
                max-width: 90%;
                margin-inline: auto;
                display: flex;
                flex-wrap: wrap;
                justify-content: center;
                gap: 2rem;
            }
            .img-5,
            .img-6,
            .img-7,
            .img-8 {
                position: relative;
                transform: translate(0, 0);
                top: auto;
                left: auto;
                right: auto;
                bottom: auto;
                flex: 1 1 calc(50% - 1rem);
                & img {
                    width: 100%;
                }
            }
            .img-9 {
                width: 100%;
                margin-top: -6rem;
                & img {
                    width: 100%;
                    object-fit: contain;
                }
            }
        }
    }
}

.meisho-lp-body-wrapper .section04 {
    position: relative;
    padding-block: 4rem;
    background-color: var(--color_white);
    & h2 {
        padding-inline: 15rem
    }
    .img {
        margin-top: 4rem;
        padding-inline: 8rem;
    }
}
@media screen and (max-width: 767px) {
    .meisho-lp-body-wrapper .section04 {
        padding-top: 2rem;
        padding-bottom: 5rem;
        & h2 {
            padding-inline: 4rem
        }
        .img {
            margin-top: 2rem;
            padding-inline: 2rem;
        }
    }
}

.meisho-lp-body-wrapper .section05 {
    z-index: 1;
    position: relative;
    padding-top: 10rem;
    padding-bottom: 30rem;
    overflow: hidden;
    background-color: var(--color_white);
    .bg-img {
        z-index: -1;
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        & img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }
    }
    & h2 {
        text-align: center;
        font-size: 4.8rem;
        font-weight: bold;
        padding-inline: 1em;
    }
    .flex {
        margin-top: 4rem;
        margin-inline: auto;
        display: flex;
        gap: 3rem;
        flex-wrap: wrap;
        max-width: 80%;
    }
    .box {
        position: relative;
        flex: 1 1 calc(50% - 1.5rem);
        box-shadow: 3px 3px 15px #00000022;
        background-color: var(--color_white);
    }
    .number {
        z-index: 1;
        position: absolute;
        top: 0;
        left: 0;
        color: var(--color_white);
        padding-left: 0.5rem;
        &::before {
            z-index: -1;
            position: absolute;
            content: "";
            top: 0;
            left: 0;
            width: 5.5rem;
            height: 5.5rem;
            clip-path: polygon(0% 100%, 0% 0%, 100% 0%);
            background-color: var(--color_red);
        }
    }
    .text-wrap {
        position: relative;
        padding: 2rem;
        & h3 {
            z-index: 1;
            position: relative;
            display: flex;
            align-items: center;
            justify-content: center;
            min-height: 3.5em;
            font-size: 2.4rem;
            color: var(--color_red);
            text-align: center;
            font-weight: bold;
        }
        & p {
            z-index: 1;
            position: relative;
            margin-top: 1rem;
        }
        .icon {
            position: absolute;
            top: 50%;
            right: 2rem;
            transform: translate(0, -50%);
        }
        .icon.is-opacity-70 {
            opacity: 0.7;
        }
    }
    .img-text {
        margin-top: 4rem;
        & img {
            width: 50rem;
            margin-inline: auto;
        }
    }
}
@media screen and (max-width: 1360px) {
    .meisho-lp-body-wrapper .section05 {
        padding-bottom: calc(18vw + 3rem);
    }
}
@media screen and (max-width: 767px) {
    .meisho-lp-body-wrapper .section05 {
        padding-top: 5rem;
        padding-bottom: calc(32.25vw + 3rem);
        & h2 {
            font-size: 1.8rem;
        }
        .flex {
            margin-top: 1.5rem;
            flex-direction: column;
            max-width: 90%;
            gap: 2rem;
        }
        .box {
            flex: 1 1 100%;
        }
        .text-wrap {
            padding: 1rem;
            & h3 {
                font-size: 1.5rem;
            }
            & p {
                margin-top: 0;
            }
            .icon {
                max-height: 10rem;
                img {
                    max-height: 10rem;
                    object-fit: contain;
                }
            }
        }
        .img-text {
            margin-top: 1rem;
        }
        .number::before {
            width: 5rem;
            height: 5rem;
        }
    }
}

.meisho-lp-body-wrapper .section06 {
    z-index: 1;
    position: relative;
    padding-top: 30rem;
    padding-bottom: 30rem;
    background-color: var(--color_white);
    & h2 {
        text-align: center;
        font-size: 4.8rem;
        font-weight: bold;
        padding-inline: 1em;
    }
    .img-abs {
        position: absolute;
        top: 0;
        right: auto;
        left: 50%;
        padding-left: 0;
        transform: translate(-50%, -50%);
        width: 131rem;
        &.is-sp {
            display: none;
        }
    }
    .bg-img {
        z-index: -1;
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        & img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }
    }
    .flex {
        margin-top: 3rem;
        display: flex;
        justify-content: flex-start;
        padding-right: 3rem;
        gap: 2rem;
    }
    .left {
        &.is-sp {
            display: none;
        }
    }
    .right {
        position: relative;
        padding-top: 7rem;
        .heading3-1 {
            font-family: serif;
            position: absolute;
            top: 0;
            left: -14rem;
            font-size: 3.5rem;
            white-space: nowrap;
        }
        & p {
            font-weight: bold;
            &:not(:first-of-type) {
                margin-top: 1em;
            }
        }
    }
    .box {
        margin-top: 3rem;
        background-color: var(--color_white);
        box-shadow: 1.5rem 2rem var(--color_red);
        padding: 2rem;
        .heading3-2 {
            position: relative;
            font-size: 2rem;
            font-weight: bold;
            text-align: center;
            width: fit-content;
            margin-inline: auto;
            &::before,
            &::after {
                position: absolute;
                content: "";
                width: 1px;
                height: 80%;
                background-color: var(--color_text);
            }
            &::before {
                left: -1.5rem;
                bottom: 0;
                transform: rotate(-25deg);
            }
            &::after {
                right: -1.5rem;
                bottom: 0;
                transform: rotate(25deg);
            }
        }
        .box-img {
            margin-top: 1rem;
        }
        & p {
            font-weight: 400;
            margin-top: 1rem;
            text-align: center;
        }
    }
}
@media screen and (max-width: 1360px) {
    .meisho-lp-body-wrapper .section06 {
        padding-top: calc(18vw + 5rem);
        padding-bottom: calc(18vw + 5rem);

        .img-abs {
            right: 0;
            left: auto;
            padding-left: 5rem;
            transform: translate(0, -50%);
            width: auto;
        }
    }
}
@media screen and (max-width: 1200px) {
    .meisho-lp-body-wrapper .section06 {
        .flex {
            gap: 0rem;
        }
        .left {
            & img {
                object-position: -2rem;
            }
        }
    }
}
@media screen and (max-width: 1160px) {
    .meisho-lp-body-wrapper .section06 {
        .right {
            padding-top: 6rem;
            .heading3-1 {
                left: -12rem;
                font-size: 2.5rem;
            }
        }
    }
}
@media screen and (max-width: 767px) {
    .meisho-lp-body-wrapper .section06 {
        padding-top: calc(32.25vw + 5rem);
        padding-bottom: 35rem;
        & h2 {
            font-size: 2rem;
        }
        .img-abs {
            padding-left: 1rem;
            &.is-pc {
                display: none;
            }
            &.is-sp {
                display: block;
            }
        }
        .flex {
            margin-top: 2rem;
            padding-inline: 0;
            gap: 1rem;
            flex-direction: column;
        }
        .left {
            padding-right: 0;
            max-width: 30rem;
            margin-inline: auto;
            & img {
                object-position: 0;
            }
            &.is-pc {
                display: none;
            }
            &.is-sp {
                display: block;
            }
        }
        .right {
            padding-top: 0;
            padding-inline: 1rem;
            .heading3-1 {
                position: relative;
                top: auto;
                left: auto;
                font-size: 1.6rem;
                margin-bottom: 1rem;
            }
        }
        .box {
            max-width: calc(100% - 1rem);
            margin-inline: auto;
            margin-top: 1.5rem;
            box-shadow: 1rem 1.5rem var(--color_red);
            padding: 1rem;
            .heading3-2 {
                font-size: 1.6rem;
            }
        }
    }
}

.meisho-lp-body-wrapper .section07 {
    z-index: 1;
    position: relative;
    padding-top: 30rem;
    padding-bottom: calc(6rem + 5vw);
    background-color: var(--color_white);
    .img-abs {
        position: absolute;
        top: 0;
        left: 50%;
        padding-right: 0;
        transform: translate(-50%, -50%);
        width: 131rem;
        & .is-sp {
            display: none;
        }
    }
    .bg-img {
        z-index: -1;
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        & img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }
    }
    .text-wrap {
        position: absolute;
        top: 50%;
        left:5rem;
        transform: translate(0, -50%);
        & h2 {
            font-family: serif;
            color: var(--color_white);
            font-size: 3.5rem;
            .is-small {
                font-size: 0.75em;
            }
        }
        & p {
            color: var(--color_white);
            margin-top: 1em;
            font-weight: 700;
        }
        .is-sp {
            display: none;
        }
    }
    .flex {
        display: flex;
        max-width: 80%;
        margin-inline: auto;
        gap: 4rem;
    }
    .left {
        flex: 1 1 calc(50% - 2rem);
        & h2 {
            & img {
                width: 56.3rem;
                margin-left: 0;
            }
        }
        & p {
            margin-top: 3rem;
            color: var(--color_white);
        }
    }
    .right {
        flex: 1 1 calc(50% - 2rem);
        &.is-sp {
            display: none;
        }
    }
}
@media screen and (max-width: 1360px) {
    .meisho-lp-body-wrapper .section07 {
        padding-top: calc(18vw + 5rem);

        .img-abs {
            left: 0;
            padding-right: 5rem;
            transform: translate(0, -50%);
            width: auto;
        }
        .text-wrap {
            left: 5vw;
            & h2 {
                font-size: 2.5vw;
                &.is-pc {
                    display: none;
                }
            }
            & p {
                font-size: 1.25vw;
            }
        }
    }
}
@media screen and (max-width: 767px) {
    .meisho-lp-body-wrapper .section07 {
        padding-top: 35rem;
        .img-abs {
            width: 100%;
            padding-top: 1rem;
            padding-right: 0;
            /* & img {
                position: relative;
            } */

            & .is-pc {
                display: none;
            }
            & .is-sp {
                display: block;
            }
        }
        .text-wrap {
            background-color: #111111;
            position: relative;
            left: auto;
            top: -1px;
            transform: translate(0px, 0px);
            padding: 1rem;
            padding-bottom: 5rem;
            & h2 {
                font-size: 1.5rem;
                position: absolute;
                top: -8rem;
            }
            & p {
                font-size: 1rem;
            }
            .is-sp {
                display: inline;
            }
        }
        .flex {
            max-width: 90%;
            flex-direction: column;
            gap: 1rem;
        }
        .left {
            & h2 {
                & img {
                    width: 28rem;
                }
            }
            & p {
                margin-top: 1.5rem;
            }
        }
        .right {
            width: 26rem;
            margin-inline: auto;
            &.is-pc {
                display: none;
            }
            &.is-sp {
                display: block;
            }
        }
    }
}

.meisho-lp-body-wrapper .section08 {
    z-index: 3;
    position: relative;
    background-color: var(--color_darkgray);
    padding-top: 5rem;
    padding-bottom: 5rem;
    & h2 {
        text-align: center;
        font-size: 4.8rem;
        font-weight: bold;
        padding-inline: 1em;
        color: var(--color_white);
    }
    & h3 {
        margin-top: 2rem;
        font-family: serif;
        color: var(--color_white);
        font-size: 3.2rem;
        text-align: center;
        .is-red {
            padding: 0.5rem;
            background-color: var(--color_red);
        }
    }
    & p {
        text-align: center;
        font-family: serif;
        color: var(--color_white);
        font-size: 2.4rem;
    }
    .img {
        margin-top: 3rem;
        max-width: 80%;
        margin-inline: auto;
        &.is-sp {
            display: none;
        }
    }

    .divider-bottom {
        z-index: 1;
    }
}
@media screen and (max-width: 767px) {
    .meisho-lp-body-wrapper .section08 {
        & h2 {
            font-size: 2.5rem;
        }
        & h3 {
            font-size: 1.75rem;
        }
        & p {
            font-size: 1.5rem;
        }
        .img {
            margin-top: 1rem;
            max-width: 90%;
            &.is-sp {
                display: block;
            }
            &.is-pc {
                display: none;
            }
        }
    }
}

.meisho-lp-body-wrapper .section09 {
    z-index: 2;
    position: relative;
    background-color: var(--color_lightgray);
    padding-top: 10rem;
    padding-bottom: 5rem;
    & h2 {
        padding-inline: 4rem;
        & img {
            width: 82.1rem;
            margin-inline: auto;
        }
    }
    .flex {
        margin-top: 4rem;
        display: flex;
        gap: 2.75rem;
        max-width: 90%;
        margin-inline: auto;
        &.flex-2 {
            flex-direction: row-reverse;
            .flex-img {
                display: none;
            }
            .left {
                .img:first-of-type {
                    padding-left: 0;
                    padding-right: 3rem;
                    & img {
                        width: 32.8rem;
                        margin-left: auto;
                        margin-right: 0;
                    }
                }
                .img:nth-of-type(2) {
                    padding-top: 2rem;
                    & img {
                        width: 24.4rem;
                        margin-right: 0;
                        margin-left: auto;
                    }
                }
                .img:last-of-type {
                    & img {
                        width: 24.5rem;
                        margin-left: 0;
                        margin-right: auto;
                    }
                }
            }
            .right h3 { font-feature-settings: "palt";}
        }
    }
    .left {
        flex: 0 0 40%;
        .img:first-of-type {
            padding-left: 2rem;
            & img {
                width: 32.1rem;
                margin-left: 0;
                margin-right: auto;
            }
        }
        .img:nth-of-type(3) {
            padding-block: 2rem;
            & img {
                width: 24.4rem;
                margin-right: 0;
                margin-left: auto;
            }
        }
        .img:last-of-type {
            & img {
                width: 24.5rem;
                margin-left: 0;
                margin-right: auto;
            }
        }
        .img.is-sp {
            display: none;
        }
    }
    .right {
        flex: 0 0 calc(60% - 2.75rem);
        .heading3-1 {
            font-family: serif;
            font-size: 3.5rem;
        }
        .border-bottom {
            width: fit-content;
            margin-top: 2rem;
            margin-bottom: 3rem;
            font-size: 2rem;
            font-weight: bold;
            border-bottom: 1px solid var(--color_text);
        }
        & h4 {
            margin-top: 0.75rem;
            font-size: 2.6rem;
            font-weight: bold;
        }
        & p:not([class]) {
            margin-top: 0.75rem;
            font-weight: 400;
        }
        .img.is-sp {
            display: none;
        }
    }
    .heading3-2 {
        margin-top: 6rem;
        font-size: 2.6rem;
        text-align: center;
    }
}
@media screen and (min-width: 1150px) {
    .meisho-lp-body-wrapper .section09 .is-pc-nowrap {
        white-space: nowrap;
    }
}
@media screen and (max-width: 767px) {
    .meisho-lp-body-wrapper .section09 {
        padding-top: 5rem;
        .flex {
            margin-top: 2rem;
            flex-direction: column;
            gap: 1rem;
            max-width: 90%;
            &.flex-2 {
                flex-direction: column;
                .flex-img {
                    display: flex;
                    gap: 1.5rem;
                    .img {
                        flex: 1 1 calc(50% - 0.75rem);
                    }
                    .img:first-of-type {
                        padding-bottom: 4.5rem;
                    }
                    .img:last-of-type {
                        padding-top: 4.5rem;
                    }
                }
                .left {
                    .img:first-of-type {
                        margin-inline: auto;
                        padding-right: 0;
                        width: 75% !important;
                    }
                }
                .right {
                    .heading3-1 {
                        display: block;
                        font-size: 1.7rem;
                        letter-spacing: -0.01em;
                        white-space: nowrap;
                    }
                    .border-bottom {
                        display: block;
                        margin-top: 0.4rem;
                        margin-bottom: 1rem;
                        font-size: 1.3rem;
                    }
                }
            }
        }
        .left {
            display: flex;
            flex: 1 1 100%;
            flex-wrap: wrap;
            gap: 1rem;
            .img {
                width: 100%!important;
                & img {
                    width: 100%!important;
                    margin-inline: auto!important;
                }
            }
            .img.is-pc {
                display: none;
            }
            .img.is-sp {
                display: block;
            }
        }
        .right {
            flex: 1 1 100%;
            .heading3-1 {
                display: none;
                font-size: 2rem;
            }
            .border-bottom {
                display: none;
                margin-top: 1rem;
                margin-bottom: 2rem;
                font-size: 1.3rem;
            }
            & h4 {
                font-size: 1.8rem;
                &:first-of-type {
                    margin-top: 0;
                }
            }
            .img {
                margin-top: 0.75rem;
                &.is-sp {
                    margin-top: 1.75rem;
                    display: block;
                }
            }
        }
        .heading3-2 {
            margin-top: 4rem;
            font-size: 1.8rem;
        }
    }
}

.meisho-lp-body-wrapper .section10 {
    z-index: 1;
    position: relative;
    padding-top: 20rem;
    padding-bottom: 10rem;
    background-color: var(--color_white);
    .bg-img {
        z-index: -1;
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        & img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }
    }
    .box {
        padding-top: 6rem;
        max-width: 80%;
        margin-inline: auto;
        background-color: var(--color_white);
        & h2 {
            & img {
                width: 80.7rem;
                margin-inline: auto;
            }
        }
    }
    .flex {
        margin-top: 4rem;
        padding-left: 7rem;
        display: flex;
        gap: 2rem;
    }
    .left {
        flex: 1 1 calc(100% - 22.2rem - 2rem);
    }
    & dl {
        padding-bottom: 4rem;
    }
    .dl-inner {
        position: relative;
        display: flex;
        gap: 2rem;
        &:not(:last-of-type) {
            padding-bottom: 4rem;
            &::after {
                position: absolute;
                content: "";
                width: 2px;
                height: calc(100% + 0.5rem);
                top: 0.75rem;
                left: 0.6rem;
                transform: translate(-50%, 0);
                background-color: #ccc;
            }
        }
        &::before {
            z-index: 1;
            position: absolute;
            content: "";
            top: 0.7rem;
            left: 0;
            width: 1.2rem;
            height: 1.2rem;
            border-radius: calc(infinity * 1px);
            background-color: var(--color_red);
        }
        & dt {
            white-space: nowrap;
            flex: 1 1 11rem;
            padding-left: 3rem;
            text-align: left;
            font-weight: bold;
        }
        & dd {
            flex: 1 1 calc(100% - 7rem - 2rem);
            &.is-sp {
                display: none;
            }
        }
    }
    .right {
        flex: 1 1 22.2rem;
        display: flex;
        align-items: flex-end;
        &.is-sp {
            display: none;
        }
    }
    & h3 {
        margin-top: 12rem;
        font-size: 2.6rem;
        text-align: center;
        color: var(--color_white);
        text-shadow: 3px 3px 10px #00000066;
    }
}
@media screen and (max-width: 767px) {
    .meisho-lp-body-wrapper .section10 {
        padding-top: 5rem;
        padding-bottom: 5rem;
        .box {
            max-width: 90%;
            padding-top: 2rem;
            & h2 {
                padding-inline: 2rem;
            }
        }
        .flex {
            margin-top: 2rem;
            padding-left: 0;
            flex-direction: column;
            gap: 1rem;
        }
        .right {
            &.is-pc {
                display: none;
            }
            &.is-sp {
                display: block;
            }
        }
        .left {
            flex: 1 1 100%;
        }
        & dl {
            padding-bottom: 2rem;
            font-size: 1.3rem;
        }
        .dl-inner {
            flex-direction: column;
            gap: 0;
            padding-left: 4rem;
            &:not(:last-of-type) {
                padding-bottom: 1.5rem;
                padding-right: 1rem;
                &::after {
                    left: 2.1rem;
                }
            }
            &:last-of-type {
                flex-direction: row;
                flex-wrap: wrap;
            }
            &::before {
                left: 1.5rem;
            }
            & dt {
                flex: 1 1 auto;
                text-align: left;
                padding-left: 0;
                &.is-last {
                    flex: 1 1 100%;
                }
            }
            & dd {
                flex: 1 1 auto;
                &.is-last {
                    flex: 0 0 18rem;
                }
                &.is-sp {
                    display: block;
                    flex: 0 0 8rem;
                    align-self: flex-end;
                    .right {
                        position: absolute;
                        bottom: 0;
                        right: 0;
                        width: 8rem;
                        transform: translateY(2rem);
                    }
                    & img {
                        width: 100%;
                    }
                }
                &.is-sp-pr {
                    padding-right: 7.5rem;
                }
            }
        }
        .right {
            flex: 1 1 auto;
            justify-content: flex-end;
            & img {
                width: 14rem;
            }
        }
        & h3 {
            margin-top: 3rem;
            font-size: 1.8rem;
        }
    }
}

.meisho-lp-body-wrapper .section11 {
    z-index: 1;
    position: relative;
    padding-top: 10rem;
    padding-bottom: calc(10rem + 17.72vw - 2rem);
    background-color: var(--color_text);
    overflow-x: hidden;
    .bg-img {
        z-index: -1;
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        & img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }
    }
    & h2 {
        text-align: center;
        font-size: 4.8rem;
        font-weight: bold;
        padding-inline: 1em;
        color: var(--color_white);
    }
    .flex {
        display: flex;
        max-width: 80%;
        margin-inline: auto;
    }
    .flex-right {
        margin-top: 3rem;
        justify-content: flex-end;
        padding-left: 6rem;
    }
    .flex-left {
        margin-top: 4.5rem;
        justify-content: flex-start;
        padding-right: 6rem;
        padding-left: 3rem;
    }
    .box {
        display: flex;
        align-items: center;
    }
    .box-right {
        margin-right: -6rem;
        position: relative;
        transform: translate(-9rem, 0);
    }
    .name {
        color: var(--color_white);
        font-size: 2.4rem;
    }
    .role {
        color: var(--color_white);
        font-size: 1.2rem;
        font-weight: 400;
        width: fit-content;
        border-top: 1px solid var(--color_white);
    }
    & dt {
        margin-top: 1rem;
        position: relative;
        padding-left: 1rem;
        color: var(--color_white);
        font-size: 2rem;
        &::before {
            position: absolute;
            content: "";
            left: 0;
            width: 2px;
            height: 70%;
            top: 50%;
            transform: translate(0, -50%);
            background-color: var(--color_red);
        }
    }
    & dd {
        color: var(--color_white);
        font-weight: 400;
        font-size: 1.5rem;
        &:last-of-type {
            font-feature-settings: "palt";
            letter-spacing: 0.01em;
            white-space: nowrap;
        }
    }
}
@media screen and (max-width: 1360px) {
    .meisho-lp-body-wrapper .section11 {
        .flex {
            max-width: 100%;
        }
        .flex-right {
            padding-left: 8rem;
        }
        .flex-left {
            padding-right: 8rem;
        }
    }
}
@media screen and (max-width: 1000px) {
    .meisho-lp-body-wrapper .section11 {
        .box-right {
            margin-right: -3rem;
            transform: translate(-6rem, 0);
        }
    }
}
@media screen and (max-width: 767px) {
    .meisho-lp-body-wrapper .section11 {
        padding-top: 5rem;
        padding-bottom: calc(5rem + 17.72vw - 2rem);
        .bg-img {
            & img {
                object-position: center -4rem;
            }
        }
        & h2 {
            font-size: 2.5rem;
        }
        .flex {
            flex-direction: column;
            gap: 3rem;
            position: relative;
            transform: translate(0.8rem, 0);
        }
        .flex-right {
            margin-top: 2rem;
            padding-left: 2.4rem;
            padding-right: 0rem;
        }
        .flex-left {
            margin-top: 3rem;
            padding-left: 2.4rem;
            padding-right: 0rem;
        }
        .box-right {
            transform: translate(-4rem, 0);
            margin-right: 0;
        }
        .name {
            font-size: 2rem;
        }
        .role {
            font-size: 1rem;
        }
        & dt {
            font-size: 1.5rem;
        }
        & dd {
            font-size: 1.25rem;
        }
    }
}

.meisho-lp-body-wrapper .section12 {
    z-index: 1;
    position: relative;
    padding-top: calc(10rem + 17.72vw - 2rem);
    padding-bottom: 10rem;
    background-color: var(--color_white);
    .img-abs {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        transform: translateY(-50%);
        & .img-text {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            filter: drop-shadow(0px 0px 8px #000000);
            max-width: 90rem;
            width: 66%;
        }
    }
    & h2 {
        text-align: center;
        font-size: 4.8rem;
        font-weight: bold;
        padding-inline: 1em;
    }
    .box {
        margin-top: 6rem;
        position: relative;
        max-width: 80%;
        margin-inline: auto;
        background-color: var(--color_white);
        box-shadow: 3px 3px 15px #00000022;
        & h3 {
            background-color: var(--color_red);
            color: var(--color_white);
            padding: 3rem;
            text-align: center;
            font-size: 2.8rem;
        }
        & ul {
            display: flex;
            justify-content: space-around;
            gap: 1rem;
            padding-block: 3rem;
        }
        & li {
            display: flex;
            align-items: center;
            gap: 1rem;
            font-weight: bold;
            font-size: 2rem;
        }
    }
    & dl {
        margin-top: 4rem;
        max-width: 80%;
        margin-inline: auto;
        .dl-inner {
            display: flex;
            gap: 2rem;
            padding-block: 1rem;
            &:not(:last-of-type) {
                border-bottom: 1px dotted var(--color_gray);
            }
        }
        & dt {
            flex: 1 1 15rem;
            background-color: #e1e1e1;
            padding: 1rem;
            font-weight: bold;
        }
        & dd {
            flex: 1 1 calc(100% - 15rem - 2rem);
            padding: 1rem;
        }
        .flex-list {
            display: flex;
            flex-wrap: wrap;
            /* & li:nth-of-type(odd) {
            } */
            li {
                width: 18rem;
            }
            & li:nth-of-type(even) {
                margin-right: calc(100% - 36rem);
            }
        }
        .flex {
            display: flex;
            gap: 1rem;
            align-items: center;
            .left {
                width: 3rem;
            }
            .right {
                width: calc(100% - 3rem - 1rem);
            }
            &.is-mt,
            .is-mt {
                margin-top: 1rem;
            }
            .is-large {
                font-size: 1.8rem;
            }
            .googlemap {
                display: block;
                width: 12.2rem;
            }
        }
        .support-content {
            padding-block: 0!important;
            .support-text {
                font-size: 1.3rem;
                padding: 0.25em 0.4em;
                &.is-red {
                    background: #C70003;
                    color: white;
                }
                &.is-border {
                    margin-top: 3.6rem;
                    border: 1px solid #C70003;
                    color: #C70003;
                }
            }
            .wrapper {
                padding-inline: 1.6rem;
            }
            .support-flex {
                display: flex;
                align-items: center;
                &.flex-1 {
                    margin-top: 1.6rem;
                    margin-bottom: 2.4rem;
                    gap: 1.2rem;
                    .left {
                        flex: 0 0 40%;
                    }
                    .right {
                        flex: 0 0 calc(60% - 1.2rem);
                    }
                }
                &.flex-2 {
                    margin-top: 1.6rem;
                    .left {
                        flex: 0 0 45%;
                    }
                    .right {
                        position: relative;
                        transform: translateX(-2.5%);
                        flex: 0 0 57%;
                    }
                }
                &.flex-3 {
                    margin-top: 1.6rem;
                    margin-bottom: 2.4rem;
                    align-items: flex-end;
                    .left {
                        flex: 0 0 45%;
                    }
                    .right {
                        position: relative;
                        transform: translateX(-2%);
                        flex: 0 0 57%;
                    }
                }
                &.flex-4 {
                    gap: 1.2rem;
                    .left {
                        flex: 0 0 calc(60% - 1.2rem);
                        font-size: 1.2rem;
                        .text-sm {
                            font-size: 1rem;
                        }
                    }
                    .right {
                        flex: 0 0 40%;
                    }
                }
                &.flex-5 {
                    margin-top: 2.4rem;
                    margin-bottom: 1.6rem;
                    gap: 1.2rem;
                    .left {
                        flex: 0 0 40%;
                    }
                    .right {
                        flex: 0 0 calc(60% - 1.2rem);
                    }
                }
            }
            .text-large {
                margin-top: 1.6rem;
                font-size: 2rem;
            }
            .font-bold {
                font-weight: bold;
            }
            .text-sm {
                font-size: 1.2rem;
            }
            .bg-yellow {
                margin-top: 1.6rem;
                background: #F8DB00;
                padding: 0.4em 0.75em;
                font-weight: bold;
            }
            .bg-gray {
                background: #F2F2F2;
                padding: 1em 0.75em;
                p {
                    margin-top: 2rem;
                    font-size: 1.3rem;
                }
            }
            .shop-text {
                margin-top: 2.4rem;
                margin-bottom: 1.2rem;
                font-weight: bold;
                font-size: 1.8rem;
                border-left: 3px solid var(--color_text);
                padding-left: 0.4em;
                &.no-mt {
                    margin-top: 0;
                }
            }
            .ul-flex {
                display: flex;
            }
            .shop-list {
                flex: 0 0 25%;
                font-size: 1.2rem;
                li {
                    padding-right: 0.4em;
                }
            }
        }
    }
}
@media screen and (max-width: 767px) {
    .meisho-lp-body-wrapper .section12 {
        padding-top: calc(5rem + 17.72vw - 2rem);
        padding-bottom: 5rem;
        .img-abs {
            & .img-text {
                width: 78%;
            }
        }
        & h2 {
            font-size: 2.5rem;
        }
        .box {
            margin-top: 2rem;
            max-width: 90%;
            & h3 {
                padding: 3rem;
                font-size: 2rem;
            }
            & ul {
                flex-direction: column;
                padding-block: 2rem;
                width: fit-content;
                margin-inline: auto;
            }
            & li {
                font-size: 1.6rem;
            }
        }
        & dl {
            margin-top: 2rem;
            max-width: 90%;
            font-size: 1.3rem;
            .dl-inner {
                flex-direction: column;
                gap: 0;
                &:not(:last-of-type) {
                    border-bottom: none;
                }
            }
            & dt {
                flex: 1 1 auto;
            }
            & dd {
                flex: 1 1 auto;
            }
            .flex-list li {
                width: 50%;
            }
            .flex-list li:nth-of-type(even) {
                margin-right: 0;
            }
            .flex .is-large {
                font-size: 1.5rem;
            }
            .support-content {
                padding: 1rem!important;
                .support-text {
                    font-size: 1.2rem;
                    &.is-border {
                        margin-top: 2.4rem;
                    }
                }
                .wrapper {
                    padding-inline: 0;
                }
                .support-flex {
                    &.flex-1 {
                        flex-direction: column-reverse;
                        margin-top: 1rem;
                        margin-bottom: 1rem;
                        gap: 0.6rem;
                        .left {
                            flex: 1 1 auto;
                        }
                        .right {
                            flex: 1 1 auto;
                            max-width: 320px;
                        }
                    }
                    &.flex-2 {
                        flex-direction: column;
                        margin-top: 1rem;
                        .left {
                            flex: 1 1 auto;
                        }
                        .right {
                            transform: translateX(0);
                            flex: 1 1 auto;
                        }
                    }
                    &.flex-3 {
                        flex-direction: column;
                        margin-top: 1rem;
                        margin-bottom: 1rem;
                        align-items: center;
                        .left {
                            flex: 1 1 auto;
                        }
                        .right {
                            position: relative;
                            transform: translateX(0);
                            flex: 1 1 auto;
                        }
                    }
                    &.flex-4 {
                        flex-direction: column;
                        gap: 0.6rem;
                        .left {
                            flex: 0 0 100%;
                            font-size: 1.2rem;
                            .text-sm {
                                font-size: 1.1rem;
                            }
                        }
                        .right {
                            flex: 1 1 auto;
                        }
                    }
                    &.flex-5 {
                        flex-direction: column-reverse;
                        margin-top: 2rem;
                        margin-bottom: 1rem;
                        gap: 0.6rem;
                        .left {
                            flex: 1 1 auto;
                        }
                        .right {
                            flex: 1 1 auto;
                            max-width: 320px;
                        }
                    }
                }
                .text-large {
                    margin-top: 1.6rem;
                    font-size: 2rem;
                }
                .text-sm {
                    font-size: 1.3rem;
                }
                .bg-yellow {
                    margin-top: 1.2rem;
                    padding: 0.4em 0.75em;
                }
                .bg-gray {
                    padding: 1em 0.75em;
                    p {
                        margin-top: 2rem;
                        font-size: 1.3rem;
                    }
                }
                .shop-text {
                    margin-top: 2.4rem;
                    margin-bottom: 1.2rem;
                    font-weight: bold;
                    font-size: 1.8rem;
                    border-left: 3px solid var(--color_text);
                    padding-left: 0.4em;
                    &.no-mt {
                        margin-top: 0;
                    }
                }
                .ul-flex {
                    display: flex;
                    flex-wrap: wrap;
                    row-gap: 0.75em;
                }
                .shop-list {
                    flex: 0 0 50%;
                    font-size: 1.2rem;
                    li {
                        padding-right: 0.4em;
                    }
                }
            }
        }
    }
}

.meisho-lp-body-wrapper .faq-contact-wrap {
    z-index: 1;
    position: relative;
    padding-bottom: 4rem;
    overflow: hidden;
    background-color: var(--color_white);
    .bg-img {
        z-index: -1;
        position: absolute;
        width: 100%;
        height: 100%;
        max-height: calc(100% - 5rem);
        bottom: 0;
        left: 0;
        & img {
            object-position: center bottom;
            object-fit: cover;
            height: 100%;
        }
    }
}

.meisho-lp-body-wrapper .section13 {
    .block {
        position: relative;
        max-width: 80%;
        /* margin-top: -40%; */
        margin-inline: auto;
        background-color: var(--color_lightgray);
        & h2 {
            background-color: var(--color_red);
            color: var(--color_white);
            padding: 3rem;
            text-align: center;
        }
    }
    .faq-block {
        padding: 3rem;
    }
    .faq-item {
        &:not(:first-of-type) {
            margin-top: 2rem;
        }
    }
    .faq-check {
        display: none;
    }
    .faq-q {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 1rem;
        padding: 3rem;
        background-color: var(--color_white);
        cursor: pointer;
    }
    .faq-text-wrap {
        display: flex;
        align-items: center;
        gap: 1rem;
        flex: 1;
    }
    .faq-icon {
        width: 6rem;
        flex-shrink: 0; /* 縮小させない */
    }
    .faq-text {
        font-weight: bold;
    }
    .faq-toggle {
        position: relative;
        display: block;
        width: 2rem;
        height: 2rem;
        flex-shrink: 0; /* 縮小させない */
        border-radius: 50%;
        border: 2px solid var(--color_gray);
        &::before,
        &::after {
            position: absolute;
            content: "";
            top: 50%;
            left: 50%;
            width: 75%;
            height: 2px;
            background-color: var(--color_gray);
        }
        &::before {
            transform: translate(-50%, -50%);
        }
        &::after {
            transition: all 0.3s;
            transform: translate(-50%, -50%) rotate(90deg);
        }
    }
    .faq-a {
        display: grid;
        grid-template-rows: 0fr; /* 閉じた状態: 高さ0 */
        transition: 0.3s ease-out; /* なめらかに動かす時間 */
        opacity: 0;
        padding: 0;
        background-color: var(--color_gray);
    }
    .faq-a-inner {
        overflow: hidden; /* コンテンツを隠すために必須 */
        display: flex;    /* Aアイコンとテキストを横並び */
        align-items: center;
        gap: 1rem;
        color: var(--color_white);
    }
    .faq-check:checked + .faq-q + .faq-a {
        grid-template-rows: 1fr; /* コンテンツの高さまで開く */
        opacity: 1;
        padding: 3rem;
    }
    .faq-check:checked + .faq-q .faq-toggle::after {
        transform: translate(-50%, -50%) rotate(0deg);
    }
}
@media screen and (max-width: 767px) {
    .meisho-lp-body-wrapper .section13 {
        .block {
            max-width: 90%;
            /* margin-top: -3rem; */
            & h2 {
                padding: 3rem;
                font-size: 2rem;
            }
        }
        .faq-block {
            padding: 2rem;
        }
        .faq-q {
            padding: 1.5rem;
        }
        .faq-text-wrap {
            gap: 0.75rem;
        }
        .faq-icon {
            width: 4rem;
        }
        .faq-text {
            font-size: 1.4rem;
        }
        .faq-a-inner {
            gap: 0.75rem;
        }
        .faq-check:checked + .faq-q + .faq-a {
            padding: 1.5rem;
        }
    }
}

.meisho-lp-body-wrapper .contact {
    .form-wrap {
        margin-top: 4rem;
        padding-block: 4rem;
        padding-inline: 8rem;
        max-width: 80%;
        margin-inline: auto;
        background-color: var(--color_white);
        border-top: 1rem solid var(--color_darkgray);
        & > h2 {
            text-align: center;
            font-size: 4.8rem;
            font-weight: bold;
            padding-inline: 1em;
        }
        & > p {
            margin-top: 2rem;
            text-align: center;
            font-weight: bold;
        }
        & .img {
            pointer-events: none;
            margin-top: 2rem;
            display: block;
            max-width: 100%;
            width: 32.2rem;
            margin-inline: auto;
        }
    }
    & form {
        margin-top: 3rem;
        .form-step {
            display: none;
        }

        .form-step.active {
            display: block;
        }
        .form-row {
            display: flex;
            padding-block: 2rem;
            padding-left: 2rem;
            padding-right: 4rem;
            border-bottom: 1px dotted #ccc;
        }
        .form-label {
            width: 24rem;
            padding-right: 4rem;
            text-align: right;
            font-weight: bold;
            &.is-mt {
                margin-top: 0.3em;
            }
            .required {
                font-size: 0.75em;
                padding: 0.25em;
                color: var(--color_white);
                background-color: #ff0000;
                border-radius: 4px;
                margin-left: 0.4em;
            }
        }
        .form-input {
            flex: 1;
        }
        & input[type="text"],
        & input[type="email"],
        & textarea {
            display: block;
            padding: 0.8rem;
            box-sizing: border-box;
            border: 1px solid #ccc;
            border-radius: 6px;
        }
        & input[type="text"] {
            width: 80%;
            height: 4rem;
        }
        & input[type="email"] {
            width: 100%;
            height: 4rem;
        }
        & textarea {
            width: 100%;
            height: 20rem;
        }
        .form-input-radio {
            display: flex;
            gap: 1.5rem;
            & label {
                display: flex;
                align-items: center;
            }
        }
        & input[type="radio"] {
            position: relative;
            appearance: none;
            width: 0.8em;
            height: 0.8em;
            margin-top: 0.1em;
            margin-left: 0;
            margin-bottom: 0;
            margin-right: 0.25em;
            border: 1px solid #ccc;
            border-radius: calc(infinity * 1px);
            &:checked {
                border: none;
            }
            &:checked::before {
                position: absolute;
                content: "";
                width: 100%;
                height: 100%;
                inset: 0;
                border-radius: calc(infinity * 1px);
                background-color: #0088F6;
            }
            &:checked::after {
                position: absolute;
                content: "";
                width: 40%;
                height: 40%;
                top: 50%;
                left: 50%;
                transform: translate(-50%, -50%);
                border-radius: calc(infinity * 1px);
                background-color: var(--color_white);
            }
        }
        .form-check {
            margin-top: 2rem;
            text-align: center;
            & a {
                color: var(--color_text);
            }
            & label {
                display: flex;
                align-items: center;
                justify-content: center;
                width: fit-content;
                margin-inline: auto;
            }
            & input {
                opacity: 0.5;
                width: 1em;
                height: 1em;
                margin: 0.1em 0.4em 0 0;
                &:checked {
                    opacity: 1;
                }
            }
        }
        .actions {
            margin-top: 3rem;
            text-align: center;
            & button {
                cursor: pointer;
                padding-inline: 4rem;
                padding-block: 0.75rem;
                border-radius: 0.8rem;
                font-size: 2rem;
                color: var(--color_white);
                background-color: #333;
                border: none;
                font-weight: bold;
                &:disabled {
                    pointer-events: none;
                    opacity: 0.5;
                    background-color: var(--color_darkgray);
                }
                &.btn-back {
                    background: var(--color_lightgray);
                    color: var(--color_text);
                    border: 1px solid var(--color_gray);
                    &:hover {
                        opacity: 0.5;
                    }
                }
                &:hover {
                    opacity: 0.8;
                }
            }
        }
        & h3 {
            font-size: 2.5rem;
        }
        #confirmArea {
            display: flex;
            margin-top: 2rem;
            flex-direction: column;
            gap: 0.4rem;
        }
    }
}
@media screen and (max-width: 1000px) {
    .meisho-lp-body-wrapper .contact {
        .form-wrap {
            padding-inline: 4rem;
        }
    }
}
@media screen and (max-width: 767px) {
    .meisho-lp-body-wrapper .contact {
        .form-wrap {
            box-shadow: 3px 3px 15px #00000022;
            margin-top: 4rem;
            padding-block: 2rem;
            padding-inline: 2rem;
            max-width: 90%;
            & > h2 {
                font-size: 2.5rem;
            }
            & > p {
                margin-top: 1.5rem;
            }
            & .img {
                margin-top: 1.5rem;
                max-width: 322px;
                width: 24rem;
                pointer-events: unset;
            }
        }
        & form {
            margin-top: 2rem;
            .form-row {
                flex-direction: column;
                justify-content: flex-start;
                align-items: flex-start;
                padding-block: 1.5rem;
                padding-left: 1rem;
                padding-right: 1rem;
                border-bottom: none;
                gap: 0.6rem;
            }
            .form-label {
                width: auto;
                padding-right: 0;
                text-align: left;
                &.is-mt {
                    margin-top: 0;
                }
                .required {
                    padding: 0 0.25em;
                }
            }
            .form-input {
                width: 100%;
            }
            & input[type="text"],
            & input[type="email"],
            & textarea {
                width: 100%;
            }
            .form-input-radio {
                gap: 0;
                flex-direction: column;
                & label {
                    display: flex;
                    align-items: center;
                }
            }
            .form-check {
                margin-top: 0.5rem;
            }
            .actions {
                margin-top: 2rem;
                display: flex;
                gap: 0.4rem;
                flex-direction: column;
                & button {
                    font-size: 1.6rem;
                }
            }
            & h3 {
                font-size: 1.75rem;
            }
            #confirmArea {
                margin-top: 1.5rem;
            }
        }
    }
}