@charset "UTF-8";
/* =========================================================
   プロフィールページ専用スタイル
   ヒーロー… トップページの .topSec03 に準拠
   年表……… policy ページに準拠
   後援会…… 既存の .topSec06 をそのまま利用（ここでは何も定義しない）
   ブレイクポイント 990px
   ========================================================= */

/* ---------- メインビジュアル ---------- */
.profileMv {
    background: #dfe7ee url(../img/top/pic_sec03.jpg) 50% 20% / cover no-repeat;
    min-height: 660px;
}
.profileMv_inner {
    max-width: 1000px;
    margin: 0 auto;
}
.profileMv_body { padding: 120px 0 100px; }
.profileMv_spPic { display: none; }

.profileMv .commonTitle { margin-bottom: 60px; text-align: left; }
.profileMv .commonTitle_01,
.profileMv .commonTitle_02 { text-align: left; }

.profileMv_birth {
    margin-bottom: 15px;
    font-size: 16px;
    line-height: 16px;
    letter-spacing: 0.1em;
    font-weight: 800;
    color: #0068b2;
}
.profileMv_birth strong {
    margin: 0 6px;
    font-size: 24px;
    line-height: 24px;
    font-weight: 800;
}
.profileMv_birth strong:first-child {
    margin-left: 0;
}
.profileMv_place {
    margin-bottom: 25px;
    font-size: 24px;
    line-height: 24px;
    letter-spacing: 0.1em;
    font-weight: 800;
    color: #0068b2;
}

.profileMvPosts {
    margin-top: 26px;
    font-size: 15px;
    line-height: 33px;
    letter-spacing: 0.05em;
    font-weight: 400;
    color: #000;
}
.profileMvList {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0 26px;
    max-width: 505px;
}
.profileMvList_label {
    font-size: 15px;
    line-height: 33px;
    letter-spacing: 0.05em;
    font-weight: 600;
    color: #0068b2;
    white-space: nowrap;
}
.profileMvList_value {
    margin: 0;
    font-size: 15px;
    line-height: 33px;
    letter-spacing: 0.05em;
    font-weight: 400;
    color: #000;
}

/* ---------- HISTORY 見出し（青帯） ---------- */
.profileHistoryHead {
    background: #0068b2;
    padding: 70px 20px;
    text-align: center;
}
.profileHistoryHead .commonTitle { margin: 0; }
.profileHistoryHead .commonTitle_01,
.profileHistoryHead .commonTitle_02 { color: #fff; }

/* ---------- HISTORY 年表 ---------- */
.profileHistory { padding: 80px 20px 100px; }
.profileHistory_inner { max-width: 1000px; margin: 0 auto; }
.profileHistoryGroup {
    margin: 0 0 56px;
    display: grid;
    grid-template-columns: 150px 1fr;
}
.profileHistoryGroup:last-child { margin-bottom: 0; }

.profileHistory_date,
.profileHistory_text {
    margin: 0;
    padding: 10px 0;
    border-bottom: 1px solid #d6e0ea;
    font-size: 15px;
    line-height: 33px;
    letter-spacing: 0.08em;
}
.profileHistory_date {
    font-weight: 800;
    color: #0068b2;
    text-align: right;
    padding-right: 28px;
    white-space: nowrap;
}
.profileHistory_text { font-weight: 300; color: #000; }

/* =========================================================
   990px 以下
   ========================================================= */
@media only screen and (max-width: 990px) {
    .profileMv {
        background-image: none;
        min-height: 0;
    }
    .profileMv_inner { padding: 0 22px; }
    .profileMv_body  { padding: 60px 0 24px; }
    .profileMv_spPic { display: block; margin: 24px -22px 0; }
    .profileMv_spPic img { display: block; width: 100%; height: auto; }

    .profileMv .commonTitle { margin-bottom: 34px; }
    .profileMv_birth { font-size: 14px; line-height: 14px; margin-bottom: 12px; }
    .profileMv_birth strong { margin: 0 4px; font-size: 20px; line-height: 20px; }
    .profileMv_place { font-size: 20px; line-height: 20px; margin-bottom: 20px; }

    .profileMvPosts { margin-top: 20px; font-size: 14px; line-height: 30px; }
    .profileMvList { gap: 0 16px; max-width: none; }
    .profileMvList_label,
    .profileMvList_value { font-size: 14px; line-height: 30px; }

    .profileHistoryHead { padding: 46px 20px; }
    .profileHistory { padding: 46px 22px 60px; }
    .profileHistoryGroup { display: block; margin-bottom: 36px; }
    .profileHistory_date {
        text-align: left;
        padding: 14px 0 0;
        border-bottom: none;
        font-size: 14px;
        line-height: 24px;
    }
    .profileHistory_text {
        padding: 0 0 12px;
        font-size: 14px;
        line-height: 26px;
    }
}


/* ===== HISTORY タイプライター ===== */
.js-typing .profileHistory_date .tw-c,
.js-typing .profileHistory_text .tw-c {
    opacity: 0;
    transition: opacity 0.01s linear;
}
.js-typing .profileHistory_date.is-typed .tw-c,
.js-typing .profileHistory_text.is-typed .tw-c {
    opacity: 1;
}
@media (prefers-reduced-motion: reduce) {
    .js-typing .profileHistory_date .tw-c,
    .js-typing .profileHistory_text .tw-c {
        opacity: 1;
        transition: none;
    }
}
