@charset "utf-8";
/*====================
Article header
=====================*/

.container--voice {
    background: linear-gradient(303deg, #F7F2EC 9.55%, #F7F0E8 57.32%, #EEE3D6 85.48%) no-repeat;
    max-width: 100%;
    margin: 0 auto;
    width: 100%;
    background-size: cover;
    background-position: top;
}

.page-mv__container {
    position: relative;
}

.title__wrap--voice {
    width: 360px;
    position: absolute;
    top: 60px;
    left: 13.8%;
}

.section--title--voice {
    color: var(--primary-white);
    text-align: center;
    font-family: "Bonheur Royale";
    font-size: 20rem;
    font-weight: 400;

    /* title_shadow */
    text-shadow: 0px 2px 4px rgba(0, 0, 0, 0.25);
}

.section--title--voice::after {
    content: '';
    position: absolute;
    background: var(--primary-white);
    width: 360px;
    height: 2px;
    rotate: -45deg;
    display: inline-block;
    bottom: 200px;
    right: -16%;
}

.page-mv__container {
    min-height: 500px;
    position: relative;
    z-index: 0;
}

.page-mv__img {
    width: 80%;
    max-width: 1000px;
    position: absolute;
    top: 0;
    right: 0;
    z-index: -1;
}

.page-mv__img--sp {
    display: none;
}

.breadcrumbs__top {
    color: var(--primary-blue);
    font-family: "Cormorant Garamond";
    font-size: 2rem;
    font-weight: 500;
    line-height: normal;
    text-decoration-line: underline;
    text-underline-offset: 4px;
}

.breadcrumbs__pege {
    color: var(--primary-black);
    font-family: "Cormorant Garamond";
    font-size: 2rem;
    font-weight: 400;
}


/* common sp(599px以下） */
@media screen and (max-width: 599px) {
    .title__wrap--voice {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        width: 174px;
        top: 100px;
        left: 4%;
    }

    .section--title--voice {
        font-size: 10rem;
        color: var(--primary-white);
    }

    .section--title--voice::after {
        content: '';
        position: absolute;
        background: var(--primary-white);
        width: 150px;
        height: 1px;
        rotate: -45deg;
        display: inline-block;
        top: 94px;
        right: 0%;
    }

    .page-mv__img {
        display: none;
    }

    .page-mv__img--sp {
        display: unset;
        width: 328px;
        position: absolute;
        top: 70px;
        right: 0;
        z-index: -1;
    }

    .breadcrumbs {
        margin-top: 135px;
    }

    .breadcrumbs__top {
        font-size: 1.6rem;
    }

    .breadcrumbs__pege {
        font-size: 1.6rem;
    }
}

/* sp 599px */

/*====================
voice
=====================*/
.section--voice {
    display: flex;
    padding: 150px 10.4% 200px;
    flex-direction: column;
    align-items: center;
    gap: 60px;
}

.voice__container {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 60px;
}

.voice__list-wrap {
    display: flex;
    width: 100%;
    flex-direction: column;
    align-items: center;
    gap: 100px;
}

.voice__list {
    background: var(--primary-white);
    border-radius: 45px 0px;
    display: flex;
    width: 100%;
    padding: 80px;
    flex-direction: column;
    align-items: center;
    gap: 60px;
}

.v-img {
    width: 128px;
    height: auto;
}

.voice__list--item {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 60px;
}

.list--item--box--voice {
    display: flex;
    /* width: 420px; */
    flex-direction: column;
    /* align-items: center; */
    padding-left: 20px;
    gap: 30px;
}

.list--itemTitle--voice {
    font-size: 2.8rem;
}

.list--txt {
    font-family: "Zen Kaku Gothic New";
    font-size: 1.6rem;
    line-height: 2;
}

.voice__line {
    border-top: 1px solid;
    /* 上線だけ表示 */
    color: var(--primary-blue);
    margin: 20px 0;
    /* 上下の余白 */
    display: block;
    width: 100%;
}

.list--sub {
    font-family: "Zen Kaku Gothic New";
    color: var(--primary-blue);
    font-size: 1.6rem;
    line-height: 2;
}

.voice__link {
    color: var(--primary-blue);
    font-size: 1.6rem;
    line-height: 2;
    text-decoration: underline;
    /* アンダーライン */
    color: var(--primary-blue);
    /* 本文と同系色で自然に */
    transition: color 0.3s;
}

.voice__link:hover {
    color: burlywood;
    /* ホバー時に少し色を変えるとアクセント */
}

.list--sub--voice {
    margin-bottom: 2em;
    line-height: 1.6;
}

/* 1. リストアイテム（親要素）にFlexboxを設定 */
.list--sub--voice {
    display: flex;
    /* 垂直方向の配置を上端揃え (flex-start) に変更。
       これにより、複数行のテキストの場合でもアイコンが一番上の行に固定されます。 */
    align-items: flex-start; 
}

/* 2. アイコンコンテナのスタイル */
.voice__icon {
    /* アイコン部分が縮まないように固定 */
    flex-shrink: 0; 
    /* アイコンとテキストの間隔を確保 */
    margin-right: 10px; 
    /* アイコンを下に３pxずらすことで、テキストの一行目に対して視覚的に中央に揃えます。
       (20pxのアイコンを標準的な行の高さに対して中央に寄せるための調整値です) */
    margin-top: 3px; 
}

/* 3. アイコン画像のサイズ設定 (20px x 20px) */
.voice__icon img {
    display: block;
    width: 20px;
    height: 20px;
}


/* common sp(599px以下） */
@media screen and (max-width: 599px) {
    .section--voice {
        display: flex;
        padding: 0px 4.2% 120px;
        flex-direction: column;
        align-items: center;
        gap: 60px;
        align-self: stretch;
    }

    .voice__list-wrap {
        width: 100%;
        padding: 0;
    }

    .voice__list {
        width: 100%;
        padding: 40px 4.2%;
    }

    .voice__list--item {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 40px;
    }

    .list--item--box--voice {
        width: 100%;
    }

    .list--itemTitle--voice {
        font-size: 2.4rem;
        text-align: center;
    }

    .list--sub--voice {
        margin-bottom: 2em;
        line-height: 1.8;
    }

}

/* sp 599px */