@charset "utf-8";

/*-------------------------------------------------------------------------
CASE
-------------------------------------------------------------------------*/

/* LAYOUT
--------------------------- */
.case {
    width: 950px;
    margin: auto;
    padding: 64px 0  80px;
}
.case__section {
    margin: 0 0 80px;
}
    .case__hgroup {
        background-color: var(--main-color);
        padding-block: 37px 40px;
        position: relative;
        text-align: center;
    }
    .case__hgroup:after {
        content: "";
        width: 160px;
        height: 30px;
        background-color: inherit;
        clip-path: polygon(0 0, 100% 0, 50% 100%);
        position: absolute;
        top: calc(100% - 1px);
        left    : 0;
        right   : 0;
        margin  : auto;
    }
        .case__ttl {
            margin: 5px 0 0;
            font-family: var(--sub-font);
            font-size  : 28px;
            font-weight: normal;
            color      : #fff;
        }
    .case__contents {
        background-color: var(--body-color);
        padding: 80px 45px 30px;
    }
        .case__discription {
            margin: 0 0 30px;
            color: var(--main-color);
            text-align: center;
            font-weight: 600;
            letter-spacing: .1em;
        }
        .case__text {
            font-size: 14px;
            line-height: 1.85;
        }
        .case__text:not(:last-child){
            margin: 0 0 26px;
        }

/* #
--------------------------- */
.case-about {
    display        : flex;
    gap            : 20px;
    justify-content: space-between;
    margin: 0 0 56px;
}
    .case-about__section {
        flex: 1;
    }
        .case-about__ttl {
            background-color: #fff;
            border-bottom: 1px solid var(--main-color);
            border-right: 1px solid var(--main-color);
            display        : flex;
            gap            : 12px;
            align-items    : center;
            justify-content: center;
            margin: 0 0 20px;
            padding: 14px 0 13px;
            font-family: var(--sub-font);
            font-size  : 21px;
            font-weight: normal;
            color      : var(--main-color);
            letter-spacing: .15em;
        }

/* #
--------------------------- */
.case-flow {
    margin: 0 0 30px;
}
    .case-flow__ttl {
        background-color: #DADFF0;
        padding: 24px 0;
        font-family: var(--sub-font);
        font-size  : 21px;
        font-weight: normal;
        color      : var(--main-color);
        text-align: center;
        letter-spacing: .13em;
    }
    .case-flow__contents {
        background-color: #fff;
        padding: 30px 40px 40px;
    }

/* #
--------------------------- */
.case-comment {
    display    : flex;
    gap        : 36px;
    align-items: center;
}
    .case-comment__ttl {
        min-width: 230px;
        height: 199px;
        background: var(--accent-color) url("/images/sell/icn_comment.png") no-repeat center bottom 23px;
        border-radius: 10px;
        padding: 24px 0 0;
        position: relative;
        font-size: 21px;
        color    : #fff;
        text-align: center;
        letter-spacing: .1em;
    }
    .case-comment__ttl:after {
        content: "";
        width: 16px;
        height: 10px;
        background-color: inherit;
        clip-path: polygon(0 0, 100% 50%, 0 100%);
        position: absolute;
        top     : 0;
        bottom  : 0;
        left    : 100%;
        margin  : auto;
    }

/* #
--------------------------- */
.conclusion {
    background-color: var(--main-color);
    padding: 25px 25px 30px;
}
    .conclusion__ttl {
        background-color: #fff;
        margin: 0 0 15px;
        padding: 7px 0 6px;
        font-family: var(--sub-font);
        font-size  : 21px;
        font-weight: normal;
        color      : var(--main-color);
        text-align: center;
    }
    .conclusion__text {
        color: #fff;
    }

/* お問い合わせ
--------------------------- */

.reserve-area {
    height: 440px;
    background: url(/images/sell/reservation-bg.jpg);
    width: calc(100vw - 260px);
    background-size: cover;
    margin: 0 calc(50% - 50vw + 130px);
    position: relative;
    z-index: 1;
    justify-content: center;
    align-items: center;
    gap: 40px;
}
    .reserve-area::after {
        content: "";
        position: absolute;
        height: 100%;
        width: 100%;
        top: 0;
        left: 0;
        background-color: rgba(67, 76, 108, 0.6);
        z-index: -1;
    }
    .reservation {
        width: 420px;
        height: 245px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        text-align: center;
        background-color: var(--white);
        padding: 0 30px;
        align-items: center;
    }
        .reservation p {
            font-size: 28px;
            font-weight: 500;
            color: var(--accent-color);
            letter-spacing: 0.2em;
        }
        .reservation span {
            font-size: var(--font-size-24);
            color: var(--accent-color);
        }
        .reservation a {
            display: flex;
            justify-content: space-between;
            align-items: center;
            background-color: var(--main-color);
            color: var(--white);
            width: 270px;
            padding: 15px 18px;
            margin-top: 24px;
            border-radius: 4.6px;
        }
            .reservation .block {
                display: flex;
                align-items: center;
                gap: 8px;
                color: var(--white);
                font-size: var(--font-size-16);
            }
            .reservation a .arrow2 {
                display: block;
                width: 64px;
                height: 1.2px;
                background: var(--white);
                position: relative;
                right: 12.5px;
                z-index: 1;
            }
                .reservation a .arrow2::before {
                    content: "";
                    position: absolute;
                    right: 0;
                    top: 50%;
                    width: 25px;
                    height: 25px;
                    border-radius: 50%;
                    transform: translate(50%, -50%);
                    border: 1.2px solid var(--white);
                    z-index: 1;
                }
                .reservation a .arrow2::after {
                    content: "";
                    position: absolute;
                    right: 0;
                    top: 50%;
                    width: 6px;
                    height: 6px;
                    border-radius: 50%;
                    transform: translate(50%, -50%);
                    background: var(--white);
                    z-index: 1;
                }
                /* .reservation a:last-of-type .arrow2,
                .reservation a:last-of-type .arrow2::after {
                    background-color: var(--main-color);
                }
                .reservation a:last-of-type .arrow2::before {
                    border-color: var(--main-color);
                } */
    .reservation.satei {
        background-color: var(--main-color);
    }
        .reservation.satei .flex {
            gap: 10px;
        }
        .reservation.satei .img-wrapper {
            position: relative;
        }
            .reservation.satei .img-wrapper img:first-of-type {
                position: absolute;
                top: 50%;
                left: 50%;
                transform: translate(-50%, -50%);
                height: 33px;
                width: 40px;
                z-index: 0;
            }
            .reservation.satei .img-wrapper img:last-of-type {
                position: relative;
                z-index: 1;
            }
        .reservation.satei .text-wrapper {
            display: flex;
            flex-direction: column;
            align-items: flex-end;
        }
            .reservation.satei .text-wrapper span:not(.accent) {
                font-size: var(--font-size-12);
                padding: 1.6px 25px;
                color: var(--main-color);
                background-color: #DADFF0;
                border-radius: 30px;
                font-family: var(--default-font);
                font-weight: 700;
                position: relative;
                display: inline-block;
            }
                .reservation.satei .text-wrapper span::after {
                    content: "";
                    position: absolute;
                    /* background-color: #DADFF0; */
                    width: 0;
                    height: 0;
                    border-style: solid;
                    border-right: 9px solid transparent;
                    border-left: 9px solid transparent;
                    border-bottom: 9.8px solid #DADFF0;
                    border-top: 0;
                    transform: rotate(315deg);
                    bottom: -5px;
                    left: 30%;
                }
            .reservation.satei .text-wrapper p {
                font-size: var(--font-size-18);
                color: var(--white);
                font-weight: 500;
                margin-top: -10px;
            }
                .reservation.satei .text-wrapper p .accent {
                    color: var(--accent-color);
                    font-size: 43.5px;
                }

            .reservation.satei a {
                background-color: var(--white);
                color: var(--main-color);
                font-size: var(--font-size-16);
            }
                .reservation.satei a .arrow2 {
                    display: block;
                    width: 64px;
                    height: 1.2px;
                    background: var(--main-color);
                    position: relative;
                    right: 12.5px;
                    z-index: 1;
                }
                    .reservation.satei a .arrow2::before {
                        content: "";
                        position: absolute;
                        right: 0;
                        top: 50%;
                        width: 25px;
                        height: 25px;
                        border-radius: 50%;
                        transform: translate(50%, -50%);
                        border: 1.2px solid var(--main-color);
                        z-index: 1;
                    }
                    .reservation.satei a .arrow2::after {
                        content: "";
                        position: absolute;
                        right: 0;
                        top: 50%;
                        width: 6px;
                        height: 6px;
                        border-radius: 50%;
                        transform: translate(50%, -50%);
                        background: var(--main-color);
                        z-index: 1;
                    }




