@charset "UTF-8";

/*------------------------------------*\
    $CONTENTS
\*------------------------------------*/
/**
 * CONTENTS............目次
 * UNDER_BANNER........下部バナー
 * CONTENTS............コンテンツ
 */





/*------------------------------------*\
    $CONTENTS
\*------------------------------------*/
.voice {
    padding-top: clamp(48px, calc(100vw * (50 / var(--innerContainerSize))), 50px);
    padding-bottom: calc(100px - clamp(4px, calc(100vw * (27 / 2560)), 27px));
}

    .voice__inner--noimage {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(min(385px, 100%), 1fr));
        column-gap: max(48px, 5%);
        row-gap: 130px;
    }

        .voice__block {
            position: relative;
            display: flex;
            flex-wrap: wrap;
            column-gap: max(24px, 5.46875%);
            row-gap: 32px;
            padding-bottom: clamp(48px, calc(100vw * (62 / var(--innerContainerSize))), 62px);
        }
        .voice__block:not(:last-of-type) {
            margin-bottom: clamp(48px, calc(100vw * (64 / var(--innerContainerSize))), 64px);
            border-bottom: 2px solid var(--primaryColor-500);
        }
        .voice__inner--noimage .voice__block {
            flex-direction: column;
            padding-bottom: 0;
            margin-bottom: 0;
            border-bottom: 0;
        }
        @media screen and (min-width: 987px) {
            .voice__inner--noimage .voice__block:nth-of-type(odd):not(:first-of-type)::before {
                content: "";
                position: absolute;
                top: -66px;
                left: 0;
                width: min(1280px, calc(100vw * (311 / 375)));
                height: 2px;
                background-color: var(--primaryColor-500);
            }
        }
        @media screen and (max-width: 986px) {
            .voice__inner--noimage .voice__block:not(:first-of-type)::before {
                content: "";
                position: absolute;
                top: -66px;
                left: 0;
                width: min(1280px, calc(100vw * (311 / 375)));
                height: 2px;
                background-color: var(--primaryColor-500);
            }
        }

            .voice__head {
                display: grid;
                grid-template-columns: clamp(96px, calc(100vw * (110 / var(--innerContainerSize))), 110px) 1fr;
                column-gap: 16px;
                align-items: center;
                width: 100%;
                height: fit-content;
                margin-bottom: 24px;
            }

                .voice__head__image,
                .voice__head__image img { aspect-ratio: 1 / 1 }

                .voice__head__prof { font-family: var(--fontSub) }
                @media screen and (min-width: 768px) {
                    .voice__head__prof { font-size: clamp(1.6rem, calc(100vw * (24 / var(--innerContainerSize))), 2.4rem) }
                }
                @media screen and (max-width: 767px) {
                    .voice__head__prof { font-size: 2.0rem }
                }

                    .voice__head__prof strong {
                        margin-right: calc(1em * (6 / 36));
                        color: #0175d8;
                        font-size: 1.5em;
                        font-weight: 700;
                    }
                    .voice__head__prof b {
                        margin-right: calc(1em * (13 / 36));
                        margin-left: calc(1em * (10 / 36));
                        font-weight: 700;
                    }
                    .voice__head__prof span {
                        font-size: calc(1em * (16 / 24));
                    }

            .voice__image {
                flex-grow: 1;
                width: 52.8125%;
            }
            .voice__image img {
                aspect-ratio: 676 / 340;
                width: 100%;
                height: 100%;
                object-fit: contain;
            }
            .voice__inner--noimage .voice__image { display: none }

            .voice__content {
                flex-grow: 1;
                width: 41.71875%;
            }
            .voice__inner--noimage .voice__content {
                flex-grow: 1;
                display: flex;
                flex-direction: column;
                justify-content: space-between;
                width: 100%;
                /* height: 100%; */
            }

                /* .voice__head {
                    display: flex;
                    column-gap: min(16px, calc(100% * (16 / 534)));
                    margin-bottom: calc(100% * (31 / 534));
                }
                @media screen and (max-width: 767px) {
                    .voice__inner .voice__head { margin-left: calc(100% * (64 / 534)) }
                }

                    .voice__icon {
                        position: relative;
                        width: min(110px, calc(100% * (110 / 534)));
                    }
                    .voice__icon img {
                        aspect-ratio: 1 / 1;
                        width: 100%;
                        height: 100%;
                        object-fit: contain;
                    }
                    .voice__icon span {
                        position: absolute;
                        top: -1.8125em;
                        left: calc(-100% * (131 / 110));
                        display: block;
                        width: 8.1875em;
                        height: 6.8125em;
                        padding-top: 2.125em;
                        padding-left: .5em;
                        background-image: url(../images/voice/icon-bubble.svg);
                        background-repeat: no-repeat;
                        background-position: 50% 0;
                        background-size: cover;
                        font-family: var(--font);
                        font-size: clamp(1.0rem, calc(100vw * (16 / var(--innerContainerSize))), 1.6rem);
                        line-height: 1.3125;
                        letter-spacing: .1em;
                        text-align: center;
                    }
                    .voice__inner--noimage .voice__icon span { display: none }

                    .voice__head__text {
                        flex-grow: 1;
                        width: calc(100% * (408 / 534));
                        padding-top: min(17px, calc(100% * (17 / 534)));
                    }

                        .voice__title {
                            margin-bottom: calc(1em * (12 / 18));
                            font-family: var(--font);
                            font-size: clamp(1.6rem, calc(100vw * (18 / var(--innerContainerSize))), 1.8rem);
                            letter-spacing: .05em;
                        }

                        .voice__profile {
                            width: fit-content;
                            border-bottom: 2px solid var(--primaryColor-500);
                            padding-bottom: calc(1em * (4 / 14));
                            font-family: var(--font);
                            font-size: clamp(1.0rem, calc(100vw * (14 / var(--innerContainerSize))), 1.4rem);
                            line-height: calc(24 / 14);
                            letter-spacing: .05em;
                        }
                        .voice__profile strong {
                            display: inline-block;
                            margin-left: calc(1em * (9 / 24));
                            margin-right: calc(1em * (5 / 24));
                            font-size: calc(1em * (24 / 14));
                            font-weight: 400;
                            letter-spacing: .05em;
                        } */


                .voice__text {
                    padding-left: min(6px, calc(100% * (6 / 534)));
                    margin-bottom: min(40px, calc(100% * (40 / 534)));
                    font-family: var(--font);
                    font-size: clamp(1.4rem, calc(100vw * (16 / var(--innerContainerSize))), 1.6rem);
                    line-height: 1.75;
                    letter-spacing: .05em;
                }

                .voice__table {
                    width: calc(100% + 4px);
                    table-layout: fixed;
                    margin-inline: -2px;
                    border-collapse: separate;
                    border-spacing: 2px;
                    font-size: clamp(1.4rem, calc(100vw * (16 / var(--innerContainerSize))), 1.6rem);
                }
                .voice__inner--noimage .voice__table { display: none }

                    .voice__table :is(th, td) {
                        text-align: center;
                        vertical-align: middle;
                    }
                    .voice__table thead th {
                        height: 30px;
                        padding-left: .2em;
                        background-color: var(--primaryColor-500);
                        color: white;
                        font-family: var(--fontEnSub);
                        letter-spacing: .2em;
                    }
                    .voice__table tbody :is(th, td) {
                        height: 40px;
                        background-color: var(--primaryColor-100);
                        letter-spacing: .05em;
                    }
                    .voice__table tbody th { font-weight: 500 }
                    .voice__table tbody td {
                        font-family: var(--fontEnSub);
                        font-size: 1.125em;
                    }
                    .voice__table tbody td strong {
                        display: inline-block;
                        margin-right: 0.2em;
                        color: var(--primaryColor-500);
                        font-size: calc(1em * (20 / 18));
                        font-weight: 400;
                    }


                .voice__staff {
                    display: grid;
                    grid-template-columns: 80px 1fr;
                    align-items: center;
                    column-gap: max(12px, calc(100% * (17 / 572)));
                    padding-top: max(18px, calc(100% * (21 / 608)));
                    padding-inline: max(16px, calc(100% * (18 / 608)));
                    padding-bottom: max(18px, calc(100% * (19 / 608)));
                    margin-top: auto;
                    border-radius: 10px;
                    background-color: var(--primaryColor-100);
                }
                .voice__inner .voice__staff { display: none }
                @media screen and (max-width: 767px) {
                    .voice__staff {
                        display: block;
                    }
                }

                    .voice__staff__profile img {
                        aspect-ratio: 1 / 1;
                        width: 100%;
                        height: 100%;
                        object-fit: contain;
                    }
                    @media screen and (max-width: 767px) {
                        .voice__staff__profile {
                            float: left;
                            margin-right: 24px;
                        }
                    }

                    .voice__staff__name {
                        padding-left: .05em;
                        font-family: var(--fontSub);
                        font-size: clamp(1.4rem, calc(100vw * (16 / var(--innerContainerSize))), 1.6rem);
                        line-height: 1.625;
                        letter-spacing: .05em;
                        text-align: center;
                    }
                    .voice__staff__name strong {
                        color: var(--primaryColor-800);
                        font-size: 1.125em;
                        font-weight: 500;
                        line-height: calc(22 / 18);
                    }


                .voice__staff__comment {
                    font-size: clamp(1.4rem, calc(100vw * (16 / var(--innerContainerSize))), 1.6rem);
                    line-height: 1.75;
                }








