@charset "utf-8";

/*-------------------------------

 //showroom-arimaguchi

-------------------------------*/

#showroom-arimaguchi {
    *,
    *::before,
    *::after {
        box-sizing: border-box;
    }
    .cmn-ttl {
        .en {
            font-size: 40px;
        }
        .sub-txt {
            margin: 5px 0 0;
        }
    }

    @media (max-width: 768px) {
        .cmn-inner {
            width: calc(100% - 0);
        }
        .cmn-ttl {
            .en {
                font-size: 38px;
                line-height: 0.8;
            }
            .sub-txt {
                margin: 5px 0 0;
                font-size: 13px;
                line-height: 1.5;
            }
        }
    }
}

/* main-title */

.main-title {
    font-size: 35px;
    font-weight: 700;
    line-height: 1.3;
    text-align: center;

    @media (max-width: 768px) {
        font-size: 22px;
        line-height: 1.4;
        letter-spacing: 1.1px;
    }
}

/* reserve-button */

.reserve-button {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 320px;
    max-width: 100%;
    height: 58px;
    padding: 0 0 0 0.15em;
    border-radius: 29px;
    background: #343333;
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 2.25px;

    &::after {
        content: '';
        position: absolute;
        top: calc(50% - 5px);
        right: 33px;
        width: 10px;
        height: 10px;
        border-top: 2px solid #fff;
        border-right: 2px solid #fff;
        transform: rotate(45deg);
    }

    @media (max-width: 768px) {
        width: 275px;
        height: 56px;
        border-radius: 28px;
    }
}

/* consult-button */

.consult-button {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 325px;
    max-width: 100%;
    height: 60px;
    border-radius: 30px;
    background: #e8e865;
    color: #000;
    text-align: center;

    &::after {
        content: '';
        position: absolute;
        top: calc(50% - 4px);
        right: 24px;
        width: 8px;
        height: 8px;
        border-top: 2px solid #000;
        border-right: 2px solid #000;
        transform: rotate(45deg);
    }
    &.is-orange {
        background: #f5ba66;
    }
    .main {
        font-size: 15px;
        font-weight: 700;
        line-height: 1.3;
    }
    .sub {
        font-size: 12px;
        line-height: 1.5;
    }

    @media (max-width: 768px) {
        width: 275px;
        height: 56px;
        border-radius: 28px;

        .main {
            font-size: 12px;
            line-height: 1.4;
            letter-spacing: 1.2px;
        }
        .sub {
            font-size: 10px;
            line-height: 1.4;
            letter-spacing: 1px;
        }
    }
}

/* arimaguchi-hero-block */

.arimaguchi-hero-block {
    position: relative;
    height: 650px;
    padding: 210px 0 0;
    color: #fff;
    text-align: center;

    .key-image {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;

        picture {
            display: block;
            width: 100%;
            height: 100%;
        }
        img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }
    }
    .cmn-inner {
        position: relative;
    }
    .title {
        padding: 0 0 0 0.25em;
        font-size: 35px;
        font-weight: 700;
        line-height: 1.3;
        letter-spacing: 8.75px;
    }
    .hero-button {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 546px;
        max-width: 100%;
        height: 78px;
        margin: 50px auto 0;
        border-radius: 39px;
        background: #e8e865;
        color: #000;
        font-size: 23px;
        font-weight: 700;
        letter-spacing: 3.22px;

        &::before {
            content: '';
            position: absolute;
            top: calc(50% - 3px);
            right: 32px;
            width: 6px;
            height: 6px;
            border-top: 1.5px solid #000;
            border-right: 1.5px solid #000;
            transform: rotate(45deg);
        }
        &::after {
            content: '';
            position: absolute;
            top: calc(50% - 13px);
            right: 21px;
            width: 26px;
            height: 26px;
            border: 1px solid #000;
            border-radius: 50%;
        }
    }

    @media (max-width: 768px) {
        height: auto;
        padding: 0;
        color: #000;

        .key-image {
            height: calc(100vh - 180px);
            width: 100%;
            /* aspect-ratio: 10 / 16; */
            position: relative;
            top: auto;
            left: auto;

            picture {
                height: auto;
            }
            img {
                height: auto;
                aspect-ratio: 375 / 540;
            }
            video {
                position: absolute;
                top: 50%;
                left: 50%;
                width: 100%;
                height: 100%;
                transform: translate(-50%, -50%);
                object-fit: cover;
            }
        }
        .cmn-inner {
            width: 100%;
        }
        .hero-content {
            padding: 30px 20px 35px;
            background: #e8e864;
        }
        .title {
            padding: 0 0 0 2px;
            font-size: 24px;
            line-height: 1.2;
            letter-spacing: 2px;
        }
        .hero-button {
            width: 310px;
            height: 70px;
            margin: 15px auto 0;
            border-radius: 35px;
            background: #fff;
            font-size: 16px;
            line-height: 1.4;
            letter-spacing: 1.6px;

            &::before {
                right: 19px;
            }
            &::after {
                top: calc(50% - 10px);
                right: 12px;
                width: 20px;
                height: 20px;
            }
        }
    }
}

/* reserve-tab */
.reserve-tab {
    position: fixed;
    top: 250px;
    right: 0;
    z-index: 100;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 57px;
    padding: 15px 0;
    border-radius: 8px 0 0 8px;
    background: #fff;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
    color: #000;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 3px;
    .text {
        writing-mode: vertical-rl;
    }

    &::after {
        content: '';
        width: 6px;
        height: 6px;
        margin: 5px 0 0;
        border-top: 1.5px solid #000;
        border-right: 1.5px solid #000;
        transform: rotate(45deg);
    }

    @media (max-width: 768px) {
        top: 420px;
        width: 30px;
        padding: 15px 0;
        border-radius: 6px 0 0 6px;
        font-size: 11px;
        &::after {
            width: 5px;
            height: 5px;
        }
    }
}

/* arimaguchi-intro-block */

.arimaguchi-intro-block {
    margin: 180px 0 0;

    .cmn-inner {
        display: flex;
        gap: 122px;
    }
    .image {
        flex: 0 1 538px;

        img {
            width: 100%;
            aspect-ratio: 538 / 717;
            object-fit: cover;
        }
        video {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }
    }
    .text-block {
        flex: 0 1 540px;
    }
    .main-title {
        font-size: 45px;
        font-weight: 900;
        line-height: 1.3;
        letter-spacing: 2.7px;
        text-align: left;
    }
    .description {
        margin: 70px 0 0;
        line-height: 1.5;
    }

    @media (max-width: 768px) {
        margin: 60px 0 0;

        .cmn-inner {
            flex-direction: column-reverse;
            gap: 0;
        }
        .image {
            flex: none;
            margin: 70px 0 0;
        }
        .text-block {
            flex: none;
        }
        .main-title {
            font-size: 28px;
            line-height: 1.2;
            letter-spacing: 1.68px;
            text-align: center;
        }
        .description {
            margin: 50px 0 0;
            font-size: 14px;
            line-height: 1.6;
            text-align: center;
        }
    }
}

/* arimaguchi-spec-block */

.arimaguchi-spec-block {
    margin: 170px 0 0;

    .spec-table {
        width: 850px;
        max-width: 100%;
        margin: 55px auto 0;
        padding: 15px 120px 15px 115px;
        border-collapse: separate;
        border-spacing: 0;
        box-sizing: border-box;
        background: #f5f5f5;
        font-size: 15px;
        line-height: 2;
        tr {
            & + tr {
                th,
                td {
                    border-top: 1px solid #fff;
                }
            }
        }

        th {
            font-weight: 400;
            text-align: left;
        }

        td {
            text-align: right;
        }
    }

    .slider {
        position: relative;
        width: 850px;
        max-width: calc(100% - 140px);
        margin: 140px auto 0;
        .image {
            position: relative;
            text-align: center;
            width: fit-content;
            margin: 0 auto;
            img {
                width: auto;
                /* aspect-ratio: 850 / 587; */
                object-fit: cover;
                height: 100%;
                max-height: 600px;
                margin: 0 auto;
            }
        }
        .caption {
            margin: 20px 20px 0;
        }

        .tag {
            position: absolute;
            top: 0;
            right: 0;
            display: flex;
            align-items: center;
            height: 40px;
            padding: 0 30px;
            background: rgba(0, 0, 0, 0.5);
            color: #fff;
            font-size: 16px;
            letter-spacing: 1px;
        }

        .swiper-controller {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            aspect-ratio: 850 / 587;
            pointer-events: none;
        }

        .swiper-button-prev,
        .swiper-button-next {
            top: calc(50% - 5px);
            width: 21px;
            height: 33px;
            margin: 0;
            pointer-events: auto;
            &::after {
                content: '';
                flex-shrink: 0;
                width: 23px;
                height: 23px;
                transform: rotate(45deg);
            }
        }

        .swiper-button-prev {
            left: -52px;
            &::after {
                margin: 0 0 0 10px;
                border-bottom: 3px solid #000;
                border-left: 3px solid #000;
            }
        }

        .swiper-button-next {
            right: -52px;
            &::after {
                margin: 0 10px 0 0;
                border-top: 3px solid #000;
                border-right: 3px solid #000;
            }
        }

        .swiper-scrollbar {
            position: relative;
            bottom: auto;
            left: auto;
            width: 425px;
            max-width: 100%;
            height: 3px;
            margin: 100px auto 0;
            border-radius: 0;
            background: #e5e5e5;
            cursor: pointer;
            touch-action: none;
            .swiper-scrollbar-drag {
                border-radius: 0;
                background: #4d4d4d;
            }
        }
    }

    .plan-list {
        display: flex;
        justify-content: center;
        gap: 140px;
        margin: 70px 0 0;
        > .item {
            width: 324px;
        }

        .label,
        .floor {
            font-size: 16px;
            font-weight: 700;
            line-height: 1.5;
            letter-spacing: 1.6px;
        }

        .floor-list {
            > .item {
                & + .item {
                    margin: 70px 0 0;
                    .image {
                        margin: 10px 0 0;
                    }
                }
            }
        }

        .image {
            margin: 15px 0 0;
            img {
                width: 100%;
                height: auto;
            }
        }
    }

    @media (max-width: 768px) {
        margin: 90px 0 0;

        .cmn-inner {
            padding: 35px 0 0;
            border-top: 1px solid #e6e6e6;
        }

        .slider {
            width: calc(100% - -50px);
            max-width: none;
            margin: 60px -25px 0;

            .image {
                width: auto;

                img {
                    /* aspect-ratio: 4 / 3; */
                    max-height: 300px;
                }
            }
            .swiper-slide {
                overflow: hidden;
            }

            .tag {
                height: 24px;
                padding: 0 10px;
                font-size: 12px;
            }

            .swiper-controller {
                aspect-ratio: 4 / 3;
            }

            .swiper-button-prev,
            .swiper-button-next {
                top: calc(50% - 12px);
                width: 24px;
                height: 24px;
                border-radius: 50%;
                background: #fff;
                &::after {
                    width: 6px;
                    height: 6px;
                    border-width: 2px;
                }
            }

            .swiper-button-prev {
                left: 10px;
                &::after {
                    margin: 0 0 0 2px;
                }
            }

            .swiper-button-next {
                right: 10px;
                &::after {
                    margin: 0 2px 0 0;
                }
            }

            .swiper-scrollbar {
                width: 275px;
                margin: 20px auto 0;
            }
        }
        .swipe-icon {
            position: absolute;
            top: 200px;
            left: 50%;
            z-index: 1;
            width: 70px;
            height: 70px;
            margin: 0 0 0 -35px;
            padding: 10px;
            border-radius: 50%;
            background: rgba(255, 255, 255, 0.9);
            box-shadow: 0 2px 10px rgba(0, 0, 0, 0.15);
            pointer-events: none;
            transition: opacity 0.3s;

            &.is-hidden {
                opacity: 0;
            }
            img {
                animation: arimaguchi-swipe 1.6s ease-in-out infinite;
            }
        }

        .spec-table {
            width: 270px;
            margin: 15px auto 0;
            padding: 10px 20px;
            font-size: 12px;
            line-height: 1.7;
        }

        .plan-list {
            display: block;
            margin: 40px 0 0;
            padding: 0 0 0 15px;
            display: none;

            > .item {
                width: auto;
                & + .item {
                    margin: 25px 0 0;
                }
            }

            .label,
            .floor {
                font-size: 13px;
                line-height: 1.4;
                letter-spacing: 1.3px;
            }

            .floor-list {
                display: flex;
                justify-content: space-between;
                > .item {
                    width: 52%;
                    & + .item {
                        width: 39%;
                        margin: 0;
                        .image {
                            margin: 15px 0 0;
                        }
                    }
                }
            }
        }
    }
}

@keyframes arimaguchi-swipe {
    0%,
    100% {
        transform: translateX(-6px);
    }
    50% {
        transform: translateX(6px);
    }
}

/* arimaguchi-feature-block */

.arimaguchi-feature-block {
    margin: 120px 0 0;

    .cmn-inner {
        max-width: 1044px;
    }
    .main-title {
        font-weight: 700;
    }
    .feature-list {
        display: flex;
        flex-wrap: wrap;
        gap: 36px 124px;
        margin: 80px 0 0;

        > .item {
            width: calc(50% - 62px);
        }
        .head {
            display: flex;
            align-items: center;
            height: 66px;
            background: #e8e865;

            &::after {
                content: '';
                flex: 1 1 0;
                min-width: 12px;
                max-width: 64px;
            }
        }
        .number {
            flex: 0 0 64px;
            font-size: 34px;
            font-weight: 700;
            line-height: 1.9;
            text-align: center;
        }
        .title {
            margin: 0 auto;
            font-size: 22px;
            font-weight: 700;
            line-height: 1.3;
            letter-spacing: 0.44px;
        }
        .image {
            position: relative;

            img {
                width: 100%;
                aspect-ratio: 460 / 322;
                object-fit: cover;
            }
        }
        .swiper-button-prev,
        .swiper-button-next {
            top: calc(50% - 8px);
            width: 32px;
            height: 32px;
            margin: 0;
            border-radius: 50%;
            background: rgba(255, 255, 255, 0.85);

            &::after {
                content: '';
                flex-shrink: 0;
                width: 8px;
                height: 8px;
                transform: rotate(45deg);
            }
        }
        .swiper-button-prev {
            left: 8px;

            &::after {
                margin: 0 0 0 5px;
                border-bottom: 2px solid #000;
                border-left: 2px solid #000;
            }
        }
        .swiper-button-next {
            right: 8px;

            &::after {
                margin: 0 5px 0 0;
                border-top: 2px solid #000;
                border-right: 2px solid #000;
            }
        }
        .description {
            margin: 10px 0 0;
            padding: 0 5px;
            font-size: 16px;
            line-height: 1.9;
        }
    }

    @media (max-width: 768px) {
        margin: 100px 0 0;

        .main-title {
            font-size: 24px;
            line-height: 1.5;
            letter-spacing: 1.92px;
        }
        .feature-list {
            display: block;
            margin: 40px 0 0;

            > .item {
                width: 100%;

                & + .item {
                    margin: 60px 0 0;
                }
            }
            .head {
                height: 48px;

                &::after {
                    max-width: 16px;
                }
            }
            .number {
                flex: 0 0 40px;
                font-size: 22px;
                line-height: 2.1;
            }
            .title {
                font-size: 15px;
                letter-spacing: 0.32px;
            }
            .image {
                margin: 20px 0 0;

                img {
                    aspect-ratio: 329 / 286;
                    border-radius: 8px;
                }
            }
            .swiper {
                /* margin: 0 -20px 0 0; */
            }
            .swiper-controller {
                display: none;
            }
            .description {
                margin: 10px 0 0;
                padding: 0;
                font-size: 14px;
                line-height: 2;
            }
        }
    }
}

/* arimaguchi-reserve-block */

.arimaguchi-reserve-block {
    margin: 100px 0 0;
    padding: 70px 0 80px;
    background: #5f7046;

    .cmn-ttl {
        color: #fff;
    }
    .arimaguchi-reserve-catch{
        font-size: 24px;
        color: #E8E865;
        text-align: center;
        margin: 10px 0 0;
    }
    .reserve-list {
        display: flex;
        gap: 50px;
        margin: 30px 0 0;

        > .item {
            display: flex;
            flex-direction: column;
            align-items: center;
            width: calc(50% - 25px);
            padding: 60px 0 30px;
            border-radius: 20px;
            background: #fff;
        }
        .title {
            font-size: 30px;
            font-weight: 700;
            line-height: 1.4;
            letter-spacing: 2.1px;
        }
        .label {
            width: 236px;
            margin: 30px 0 0;
            background: #d9d9d9;
            font-size: 15px;
            font-weight: 700;
            line-height: 2.2;
            text-align: center;
        }
    }
    .check-list {
        align-self: flex-start;
        margin: 10px 0 0 100px;

        > .item {
            position: relative;
            padding: 0 0 0 30px;
            font-size: 16px;
            line-height: 1.8;

            &::before {
                content: '';
                position: absolute;
                top: 6px;
                left: 0;
                width: 18px;
                height: 18px;
                border-radius: 50%;
                background: #758f4e;
            }
            &::after {
                content: '';
                position: absolute;
                top: 10px;
                left: 6px;
                width: 5px;
                height: 8px;
                border-right: 2px solid #fff;
                border-bottom: 2px solid #fff;
                transform: rotate(45deg);
            }
        }
    }
    .reserve-button {
        margin: 100px 0 0;
    }
    .choice-block {
        width: calc(100% - 148px);
        margin: 15px 0 0;
        padding: 15px 0 0;
        border-top: 1px solid #a3a3a3;
        text-align: center;

        .lead {
            font-size: 14px;
            font-weight: 700;
            line-height: 1.5;
        }
    }
    .choice-list {
        margin: 10px 0 0;

        > .item {
            & + .item {
                margin: 10px 0 0;
            }
        }
        .consult-button {
            margin: 0 auto;
        }
    }
    .note-block {
        display: flex;
        align-items: center;
        justify-content: center;
        margin: 30px 0 0;
        color: #fff;

        .title {
            flex: 0 0 124px;
            font-size: 15px;
            font-weight: 700;
        }
    }
    .note-list {
        flex: 0 1 656px;
        padding: 0 0 0 60px;
        border-left: 1px solid rgba(255, 255, 255, 0.6);
        font-size: 14px;
        line-height: 1.6;

        > .item {
            &::before {
                content: '●';
                margin: 0 5px 0 0;
            }
        }
    }

    @media (max-width: 768px) {
        margin: 90px 0 0;
        padding: 40px 0 30px;

        .arimaguchi-reserve-catch{
            font-size: 18px;
            margin: 10px 0 0;
        }

        .reserve-list {
            display: block;
            margin: 20px 0 0;

            > .item {
                width: 100%;
                padding: 30px 30px 30px;

                & + .item {
                    margin: 10px 0 0;
                }
            }
            .title {
                font-size: 22px;
                line-height: 1.5;
                letter-spacing: 1.1px;
            }
            .label {
                width: 135px;
                margin: 20px 0 0;
                font-size: 11px;
                line-height: 1.6;
            }
        }
        .check-list {
            margin: 15px 0 0 10px;

            > .item {
                min-height: 26px;
                padding: 0 0 0 30px;
                font-size: 14px;
                line-height: 1.2;

                &::before {
                    top: 0;
                    width: 16px;
                    height: 16px;
                }
                &::after {
                    top: 3px;
                    left: 5px;
                    width: 5px;
                    height: 7px;
                }
                & + .item {
                    margin: 5px 0 0;
                }
            }
        }
        .reserve-button {
            width: 100%;
            margin: 40px 0 0;
        }
        .choice-block {
            width: 100%;
            margin: 30px 0 0;

            .lead {
                font-size: 12px;
                line-height: 1.6;
                letter-spacing: 2.4px;
            }
        }
        .choice-list {
            > .item {
                & + .item {
                    margin: 5px 0 0;
                }
            }
            .consult-button {
                width: 100%;
            }
        }
        .note-block {
            display: block;
            margin: 20px 0 0;

            .title {
                font-size: 11px;
                line-height: 1.5;
            }
        }
        .note-list {
            margin: 5px 0 0;
            padding: 0;
            border-left: none;
            font-size: 11px;
            line-height: 1.5;

            > .item {
                padding: 0 0 0 1.4em;
                text-indent: -1.4em;
            }
        }
    }
}

/* arimaguchi-area-block */

.arimaguchi-area-block {
    margin: 110px 0 0;

    .cmn-inner {
        max-width: 680px;
    }
    .image {
        margin: 40px 0 0;

        img {
            width: 100%;
            object-fit: cover;
        }
    }
    .description {
        margin: 15px 0 0;
        line-height: 1.8;
    }
    .access-block {
        display: flex;
        align-items: flex-start;
        gap: 81px;
        width: 765px;
        max-width: calc(50vw + 340px);
        margin: 80px 0 0;
    }
    .map {
        flex: 0 1 400px;

        img {
            width: 100%;
            aspect-ratio: 400 / 246;
            object-fit: cover;
        }
    }
    .access-list {
        flex: 0 0 284px;
        padding: 5px 0 0;
        font-size: 13px;
        line-height: 1.5;
        letter-spacing: 0;

        > .item {
            & + .item {
                margin: 30px 0 0;
            }
        }
        dt {
            display: flex;
            align-items: center;
            gap: 12px;
            color: #75904e;
            font-size: 12px;
            line-height: 1.6;
            font-weight: 700;

            &::after {
                content: '';
                flex: 1 1 0;
                height: 1px;
                background: #c8cfc0;
            }
        }
        dd {
            margin: 5px 0 0;
            font-size: 13px;
        }
        strong {
            font-weight: 700;
        }
    }

    @media (max-width: 768px) {
        margin: 90px 0 0;

        .image {
            margin: 20px 0 0;

            img {
                aspect-ratio: 335 / 218;
            }
        }
        .description {
            font-size: 14px;
            line-height: 2;
        }
        .access-block {
            display: block;
            width: auto;
            max-width: none;
            margin: 40px 0 0;

            .map iframe {
                width: 100%;
            }
        }
        .access-list {
            padding: 30px 0 0;

            > .item {
                & + .item {
                    margin: 30px 0 0;
                }
            }
            dt {
                font-size: 14px;
                line-height: 1.4;
            }
            dd {
                margin: 5px 0 0;
            }
        }
    }
}

/* arimaguchi-spot-block */

.arimaguchi-spot-block {
    margin: 130px 0 0;

    .spot-list {
        display: flex;
        gap: 56px;
        margin: 50px 0 0;

        > .item {
            width: calc(25% - 42px);
        }
        .image {
            img {
                width: 100%;
                aspect-ratio: 257 / 258;
                object-fit: cover;
            }
        }
        .title {
            margin: 10px 0 0;
            font-size: 18px;
            font-weight: 700;
            line-height: 1.5;
        }
        .description {
            margin: 15px 0 0;
            color: #444;
            font-size: 14px;
            line-height: 1.4;
        }
    }

    @media (max-width: 768px) {
        margin: 120px 0 0;

        .spot-list {
            flex-wrap: wrap;
            gap: 44px 22px;
            margin: 40px 0 0;

            > .item {
                width: calc(50% - 11px);
            }
            .title {
                margin: 5px 0 0;
                font-size: 14px;
                line-height: 1.5;
            }
            .description {
                margin: 10px 0 0;
                font-size: 11px;
                line-height: 1.8;
            }
        }
    }
}

/* arimaguchi-progress-block */

.arimaguchi-progress-block {
    margin: 150px 0 0;

    .cmn-inner {
        max-width: 680px;
    }
    .movie {
        margin: 60px 0 0;

        img {
            width: 100%;
            aspect-ratio: 680 / 380;
            object-fit: cover;
        }
    }

    @media (max-width: 768px) {
        margin: 90px 0 0;

        .main-title {
            font-size: 18px;
            line-height: 1.5;
            letter-spacing: 0.9px;
        }
        .movie {
            margin: 10px 10px 0;
        }
    }
}

/* arimaguchi-faq-block */

.arimaguchi-faq-block {
    margin: 160px 0 0;
    padding: 40px 0 80px;
    background: #d9d9d9;

    .cmn-inner {
        max-width: 850px;
    }
    .main-title {
        font-size: 30px;
        line-height: 1.4;
        letter-spacing: 2.1px;
        text-align: left;
    }
    .faq-list {
        margin: 20px 0 0;

        > .item {
            background: #fff;

            & + .item {
                margin: 10px 0 0;
            }
        }
        dt {
            position: relative;
            display: flex;
            align-items: center;
            height: 60px;
            padding: 0 70px 5px 40px;
            font-size: 16px;
            font-weight: 700;
            cursor: pointer;

            &::before {
                content: 'Q';
                margin: 0 20px 0 0;
            }
            &::after {
                content: '';
                position: absolute;
                top: calc(50% - 8px);
                right: 36px;
                width: 10px;
                height: 10px;
                border-right: 2px solid #000;
                border-bottom: 2px solid #000;
                transform: scaleY(0.8) rotate(45deg);
            }
            &.open::after {
                top: calc(50% - 3px);
                transform: scaleY(0.8) rotate(-135deg);
            }
        }
        dd {
            padding: 0 40px 20px 70px;
            /* font-size: 14px; */
            line-height: 1.5;
        }
    }

    @media (max-width: 768px) {
        margin: 60px 0 0;
        padding: 40px 0 40px;

        .main-title {
            font-size: 22px;
            line-height: 1.4;
            letter-spacing: 1.1px;
            text-align: center;
        }
        .faq-list {
            margin: 30px 0 0;

            dt {
                height: auto;
                min-height: 55px;
                padding: 5px 40px 5px 20px;
                font-size: 12px;
                line-height: 1.4;

                &::before {
                    margin: 0 15px 0 0;
                }
                &::after {
                    top: calc(50% - 6px);
                    right: 22px;
                    width: 7px;
                    height: 7px;
                    border-right: 1.5px solid #999;
                    border-bottom: 1.5px solid #999;
                }
                &.open::after {
                    top: calc(50% - 2px);
                }
            }
            dd {
                padding: 0 20px 15px 40px;
                font-size: 13px;
                line-height: 1.5;
            }
        }
    }
}

/* arimaguchi-cta-block */

.arimaguchi-cta-block {
    margin: 60px 0 0;
    padding: 0 0 110px;
    text-align: center;

    .cmn-inner {
        max-width: 850px;
    }
    .arimaguchi-cta-catch{
        font-size: 24px;
        color: #f08647;
        text-align: center;
        margin: 0 0 10px;
    }
    .title {
        font-size: 20px;
        font-weight: 700;
        line-height: 1.5;
    }
    .reserve-button {
        margin: 20px auto 0;
    }
    .consult-block {
        margin: 60px 0 0;
        padding: 50px 0 0;
        border-top: 1px solid #a3a3a3;
    }
    .cta-list {
        display: flex;
        justify-content: center;
        gap: 118px;
        margin: 30px 0 0;

        > .item {
            flex: 0 1 325px;
        }
        .label {
            font-size: 16px;
            line-height: 1.5;
            white-space: nowrap;
        }
    }
    .consult-button {
        margin: 10px 0 0;

        &::after {
            right: 36px;
        }
        .main {
            font-size: 12px;
            line-height: 1.2;
            letter-spacing: 1.8px;
        }
    }

    @media (max-width: 768px) {
        margin: 60px 0 0;
        padding: 0 0 80px;

        .arimaguchi-cta-catch{
            font-size: 18px;
        }
        .title {
            font-size: 17px;
            line-height: 1.5;
        }
        .reserve-button {
            margin: 10px auto 0;
        }
        .consult-block {
            width: 275px;
            max-width: 100%;
            margin: 30px auto 0;
            padding: 20px 0 0;
        }
        .cta-list {
            display: block;
            margin: 15px 0 0;

            > .item {
                & + .item {
                    margin: 15px 0 0;
                }
            }
            .label {
                font-size: 11px;
                line-height: 1.5;
                letter-spacing: 0;
            }
        }
        .consult-button {
            margin: 5px auto 0;

            .main {
                line-height: 1.3;
                letter-spacing: 1.2px;
            }
        }
    }
}
