/*
 * free-pages.css — /free/ 配下ページ固有スタイル
 * ============================================
 *
 * ページ一覧:
 *   support: 安心の紹介
 *   promise: 第三者による保証
 *   flow: ご利用の流れ
 *   faq: よくある質問
 *   voice: お客様の声
 *   about: 私たちについて
 *
 * 共通コンポーネント（タイポグラフィ、ボタン、FAQ、voices、closing）は
 * common.css に定義されています。
 *
 * ============================================
 */

/* ===================================
 * タイトル・ナビ ラッパー（グラデーション背景）
 * =================================== */
.p-service-header {
    background: linear-gradient(180deg, var(--service-color-cream) 0%, var(--service-color-white) 100%);
}

/* タイトル部分（style.min.cssの上書き + 追加スタイル） */
.p-service-header .page-title--service {
    background: transparent;
}

.p-service-header .page-title__container {
    padding-block: var(--margin-xl);
    padding-left: calc(var(--margin--use--outside) + var(--margin-s));
}

.p-service-header .page-title__text {
    font-size: var(--clamp--font-size-3xl);
}

/* タイトル・パンくずの文字色 */
.p-service-header .page-title__text,
.p-service-header .breadcrumb,
.p-service-header .breadcrumb a {
    color: var(--service-color-text);
}

/* ナビ部分 */
.p-service-header .u-width {
    margin-top: 0;
    padding-block: var(--margin-m);
}

.p-service-header .p-nav-children {
    background-color: var(--service-color-white);
}

@media (max-width: 768px) {
    .p-service-header .u-width {
        padding-top: 0;
    }
}

/* ナビ下の余白 */
.p-service-header .u-mt-m {
    margin-top: 0;
    padding-bottom: var(--margin-l);
}


/* ===================================
 * service1: 安心の紹介
 * =================================== */
.p-support {
    background-color: var(--service-color-bg-gray);
}

/* -----------------------------------
 * service1: 安心の1社紹介 セクション
 * ----------------------------------- */

.p-support-intro__inner {
    max-width: 1140px;
    margin-inline: auto;
    padding-inline: var(--margin--use--outside);
    text-align: center;
}

.p-support-intro__upper .p-support-intro__inner {
    padding-block: min(var(--section), 80px) 0;
}

.p-support-intro__upper .p-service-section-subtitle {
    margin-bottom: 32px;
}

.p-support-intro__heading-orange {
    color: var(--service-color-orange);
    margin-bottom: 40px;
}

.p-support-intro__image {
    margin-bottom: 16px;
}

.p-support-intro__image img {
    width: 100%;
    height: auto;
}

.p-support-intro__upper .p-support-intro__image {
    max-width: 680px;
    margin-inline: auto;
}

.p-support-intro__upper .p-support-intro__image img {
    aspect-ratio: 800 / 502;
    object-fit: contain;
}

.p-support-intro__note {
    font-size: clamp(14px, calc(0.17vw + 12.7px), 16px);
    color: var(--service-color-text);
    margin-bottom: 40px;
}

.p-support-intro__upper .p-service-section-subtitle {
    margin-bottom: 16px;
}

.p-support-intro__upper .p-support-intro__text-bold {
    font-weight: 700;
    margin-top: 32px;
    margin-bottom: 50px;
}

/* --- 下部 --- */

.p-support-intro__lower .p-support-intro__inner {
    padding-block: 0 var(--section);
}

/* 白い枠 */
.p-support-intro__box {
    max-width: 1100px;
    margin-inline: auto;
    background-color: var(--service-color-white);
    border-radius: 30px;
    padding: 50px clamp(30px, calc(2.61vw + 9.9px), 60px);
    text-align: center;
}

.p-support-intro__box .p-service-section-title {
    margin-bottom: 16px;
}

.p-support-intro__box > .p-service-section-text {
    font-size: clamp(20px, calc(0.35vw + 17.3px), 24px);
    font-weight: 700;
    margin-bottom: 24px;
    line-height: 1.8;
}

.p-support-intro__box .p-support-intro__image {
    max-width: 700px;
    margin-inline: auto;
    margin-bottom: 30px;
}


/* アコーディオン */
.p-support-intro__accordion {
    display: block;
    width: 100%;
    max-width: 700px;
    margin-inline: auto;
    box-sizing: border-box;
    margin-bottom: 16px;
}

.p-support-intro__detail {
    width: 100%;
    margin-top: 0;
    padding: 10px 20px 20px;
    background-color: var(--service-color-beige);
    text-align: left;
    box-sizing: border-box;
}

.p-support-intro__detail > .p-service-section-text:first-child {
    text-align: center;
}

.p-support-intro__detail > .p-service-section-text {
    margin-bottom: 16px;
}

.p-support-intro__detail-heading {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 4px;
    color: var(--service-color-text);
}

.p-support-intro__detail-heading + .p-service-section-text {
    margin-top: 0;
    padding-bottom: 2px;
}

.p-support-intro__detail > .p-support-intro__detail-text-tight {
    margin-bottom: 4px;
}

.p-support-intro__detail .p-support-intro__detail-text-tight + .p-service-section-text {
    margin-block-start: 0;
}

.p-support-intro__detail-list {
    list-style: none;
    padding: 0;
    margin: 0 0 8px 0;
}

.p-support-intro__detail-list li {
    margin-bottom: 10px;
}

.p-support-intro__detail-list li:last-child {
    margin-bottom: 0;
}

.p-support-intro__detail-divider {
    width: 100%;
    height: 1px;
    background-color: var(--service-color-text);
    margin: 20px 0;
}

/* タイムライン */
.p-support-intro__timeline {
    list-style: none;
    padding: 0;
    margin: 0;
    position: relative;
}

.p-support-intro__timeline-item {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    position: relative;
    padding-bottom: 16px;
}

.p-support-intro__timeline-item:last-child {
    padding-bottom: 0;
}

.p-support-intro__timeline-item::before {
    content: '';
    position: absolute;
    left: 15px;
    top: 30px;
    width: 2px;
    height: calc(100% - 15px);
    background-color: var(--service-color-orange);
}

.p-support-intro__timeline-item:last-child::before {
    display: none;
}

.p-support-intro__timeline-num {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background-color: var(--service-color-orange);
    color: var(--service-color-white);
    font-weight: 700;
    font-size: 16px;
    position: relative;
    z-index: 1;
}

.p-support-intro__timeline-content {
    display: flex;
    flex-direction: column;
}

.p-support-intro__timeline .p-service-section-text {
    margin-bottom: 0;
}

.p-support-intro__timeline-note {
    font-size: 14px;
    color: var(--service-color-text);
    margin-top: 2px;
    line-height: 1.4;
}

/* アコーディオン内の画像 */
.p-support-intro__detail-image {
    margin-top: 20px;
}

.p-support-intro__detail-image img {
    width: 100%;
    height: auto;
}

/* 下部の注記（アコーディオン下） */
.p-support-intro__box .p-support-intro__note {
    font-size: 14px;
    margin-bottom: 40px;
}

/* 下部のオレンジ見出し */
.p-support-intro__box .p-support-intro__heading-orange {
    margin-bottom: 20px;
}


/* SP対応 */
@media (max-width: 768px) {
    .p-support-intro__upper .p-service-section-subtitle {
        font-size: clamp(18px, calc(0.96vw + 14.64px), 22px);
    }

    .p-support-intro__upper .p-service-section-subtitle:first-child {
        margin-bottom: 8px;
    }

    .p-support-intro__upper .p-support-intro__note ~ .p-service-section-subtitle {
        font-size: clamp(17px, calc(1.20vw + 12.8px), 22px);
        line-height: 1.6;
    }

    .p-support-intro__upper .p-support-intro__text-bold {
        margin-bottom: 30px;
    }

    .p-support-intro__upper .p-support-intro__image img {
        aspect-ratio: 340 / 213;
        object-fit: contain;
        background-color: var(--service-color-white);
    }

    .p-support-intro__upper .p-support-intro__image {
        margin-bottom: 0;
    }

    /* #1 なぜ、1社だけを ご紹介するのか: 28〜25 */
    .p-support-intro__upper .p-service-section-title {
        font-size: clamp(25px, calc(0.72vw + 22.48px), 28px);
    }

    .p-support-intro__upper .p-support-intro__inner {
        padding-block: var(--section-s) 0;
    }

    .p-support-intro__lower .p-support-intro__inner {
        padding-block: 0 var(--section-l);
    }

    .p-support-intro__box {
        border-radius: 0;
        padding: 30px var(--margin--use--outside) 25px;
    }

    .p-support-intro__heading-orange {
        margin-bottom: 12px;
    }

    .p-support-intro__box > .p-service-section-title--sm:first-child {
        margin-bottom: 12px;
    }

    .p-support-intro__box .p-support-intro__image {
        margin-bottom: 20px;
    }

    .p-support-intro__box > .p-service-section-text {
        font-size: clamp(17px, calc(0.72vw + 14.5px), 20px);
        margin-bottom: 19px;
    }

    /* #3 なぜ、そこまで厳しく選ぶのか: 24〜21 */
    .p-support-intro__box .p-service-section-title--sm {
        font-size: clamp(21px, calc(0.72vw + 18.48px), 24px);
    }

    .p-support-intro__box .p-support-intro__heading-orange {
        margin-bottom: 14px;
    }

    .p-support-intro__box .p-support-intro__note + .p-support-intro__heading-orange {
        margin-inline: calc(-1 * var(--margin--use--outside));
        letter-spacing: -0.01em;
    }

    .p-support-intro__box .p-support-intro__heading-orange + .p-service-section-text {
        margin-inline: calc(-1 * var(--margin--use--outside));
    }

    /* #2 その1社は、どう選んでいるのか: 30〜26 */
    .p-support-intro__box > .p-service-section-title--sm:first-child {
        font-size: clamp(26px, calc(0.96vw + 22.64px), 30px);
    }

    .p-support-intro__note {
        font-size: 12px;
        margin-top: 5px;
        margin-bottom: 32px;
    }

    .p-support-intro__box .p-support-intro__note {
        font-size: 12px;
        margin-bottom: 30px;
    }

    .p-support-intro__accordion {
        width: 100%;
        max-width: none;
    }

    .p-support-intro__detail {
        padding: 8px 16px 16px;
    }

    .p-support-intro__detail > .p-service-section-text:first-child {
        text-align: left;
    }

    .p-support-intro__detail-heading {
        font-size: clamp(17px, calc(0.72vw + 14.48px), 20px);
    }

    .p-support-intro__detail .p-service-section-text {
        font-size: clamp(14px, calc(0.48vw + 12.32px), 16px);
    }

    .p-support-intro__detail-list li {
        margin-bottom: 2px;
    }

    .p-support-intro__detail-divider {
        margin: 16px 0;
    }

    .p-support-intro__timeline-item {
        gap: 8px;
        padding-bottom: 12px;
    }

    .p-support-intro__timeline-item::before {
        left: 12px;
        top: 24px;
    }

    .p-support-intro__timeline-num {
        width: 24px;
        height: 24px;
        font-size: 14px;
    }

    .p-support-intro__timeline-note {
        font-size: 12px;
    }

    .p-support-intro__detail > .p-support-intro__timeline-note {
        margin-top: 10px;
    }

    .p-support-intro__lower .p-support-intro__image {
        max-width: 100%;
    }
}

@media (max-width: 540px) {
    .p-support-intro__upper .p-support-intro__note {
        text-align: right;
    }
}

/* -----------------------------------
 * service1: お客様の体験談 セクション
 * ----------------------------------- */
.p-support-stories {
    background-color: var(--service-color-white);
}

.p-support-stories__inner {
    max-width: 1140px;
    margin-inline: auto;
    padding-inline: var(--margin--use--outside);
    padding-block: var(--section);
    text-align: center;
}

.p-support-stories__inner .p-service-section-title {
    margin-bottom: 8px;
}

.p-support-stories__note {
    font-size: 14px;
    color: var(--service-color-text);
    margin-bottom: 40px;
}

.p-support-stories__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.p-support-stories__card {
    background-color: var(--service-color-cream);
    padding: 30px 24px;
    text-align: center;
}

.p-support-stories__card-title {
    font-weight: 500;
    font-size: 18px;
    line-height: 1.5;
    margin-bottom: 14px;
    color: var(--service-color-text);
}

.p-support-stories__card-divider {
    width: 100%;
    height: 1px;
    background-color: var(--service-color-text);
    margin-bottom: 14px;
}

.p-support-stories__card-text {
    font-size: 16px;
    line-height: 1.8;
    margin-bottom: 16px;
    color: var(--service-color-text);
    text-align: left;
}

.p-support-stories__card .p-support-stories__card-attr {
    margin-block-start: clamp(10px, calc(0.55vw + 6px), 20px);
}

.p-support-stories__card-attr {
    font-size: 14px;
    line-height: 1.6;
    color: var(--service-color-text);
}

/* SP対応 */
@media (max-width: 768px) {
    .p-support-stories__inner {
        padding-block: var(--section-s);
    }

    .p-support-stories__note {
        font-size: 12px;
        margin-bottom: 24px;
    }

    .p-support-stories__list {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .p-support-stories__card {
        padding: 24px 16px;
    }

    .p-support-stories__card-title {
        font-size: clamp(17px, calc(0.72vw + 14.48px), 20px);
        margin-bottom: 10px;
    }

    .p-support-stories__card-divider {
        margin-bottom: 10px;
    }

    .p-support-stories__card-text {
        font-size: clamp(15px, calc(0.72vw + 12.48px), 18px);
        text-align: center;
    }

    .p-support-stories__card-attr {
        font-size: clamp(13px, calc(0.72vw + 10.48px), 16px);
    }

    /* #5 お客様の体験談: 26〜23 */
    .p-support-stories__inner .p-service-section-title {
        font-size: clamp(23px, calc(0.72vw + 20.48px), 26px);
    }
}

@media (max-width: 540px) {
    .p-support-stories__card-text {
        text-align: left;
    }
}

/* -----------------------------------
 * service1: クロージング セクション（固有の上書きのみ）
 * ----------------------------------- */
.p-support-closing .p-service-closing__inner {
    max-width: 1140px;
}

/* SP対応 */
@media (max-width: 768px) {
    /* 安心は、基準と責任から生まれます。: 30〜26 */
    .p-support-closing .p-service-section-title {
        font-size: clamp(26px, calc(0.96vw + 22.64px), 30px);
    }
}

/* -----------------------------------
 * service1: お客様の声セクション
 * ----------------------------------- */


/* ===================================
 * service2: 第三者による保証
 * =================================== */
/* -----------------------------------
 * service2: 3つの安心セクション
 * ----------------------------------- */
.p-promise-reassurance__inner {
    max-width: 1465px;
    margin-inline: auto;
    padding-inline: var(--margin--use--outside);
    padding-block: min(var(--section), 80px) var(--section);
}

/* ヘッダー */
.p-promise-reassurance__header {
    text-align: center;
    margin-bottom: 50px;
}

/* 白枠コンテンツ */
.p-promise-reassurance__box {
    max-width: 1460px;
    margin-inline: auto;
    padding-block: clamp(30px, calc(2.61vw + 9.94px), 60px);
    padding-inline: clamp(30px, calc(10.86vw - 53.51px), 155px);
    background-color: var(--service-color-white);
    display: flex;
    align-items: center;
    gap: clamp(20px, calc(6.08vw - 26.76px), 90px);
}

.p-promise-reassurance__box-text {
    flex: 60;
}

.p-promise-reassurance__box-text .p-service-section-subtitle {
    margin-bottom: 24px;
    margin-left: -0.4em;
}

.p-promise-reassurance__box-text .p-service-section-text {
    padding-left: 10px;
    letter-spacing: 0.1em;
}

.p-promise-reassurance__box-image {
    flex: 35;
    display: flex;
    justify-content: center;
    align-items: center;
}

.p-promise-reassurance__box-image img {
    width: 100%;
    max-width: 351px;
    height: auto;
}

/* タブレット対応 */
@media (max-width: 1024px) {
    .p-promise-reassurance__box-image {
        flex: 32;
    }
}

/* SP対応 */
@media (max-width: 768px) {
    .p-promise-reassurance__inner {
        padding-block: var(--section-s) var(--section-l);
    }

    .p-promise-reassurance__header {
        margin-bottom: 20px;
    }

    .p-promise-reassurance__box {
        flex-direction: column;
        gap: 24px;
        padding: 24px 16px;
    }

    .p-promise-reassurance__box-text {
        flex: none;
        width: 100%;
    }

    .p-promise-reassurance__box-text .p-service-section-text {
        padding-right: 0;
        line-height: 1.6;
    }

    .p-promise-reassurance__box-text .p-service-section-subtitle {
        margin-bottom: 8px;
        margin-inline: -16px;
        text-align: center;
    }

    .p-promise-reassurance__box-text p + p:where(:not(.not-give)) {
        margin-block-start: clamp(8px, calc(0.42vw + 5px), 15px);
    }

    .p-promise-reassurance__box-image {
        flex: none;
        width: 100%;
        max-width: 300px;
        margin-inline: auto;
    }
}

/* -----------------------------------
 * service2: 3つの安心カードセクション
 * ----------------------------------- */
.p-promise-cards {
    background-color: var(--service-color-white);
    padding-inline: var(--margin--use--outside);
    padding-top: var(--section);
    padding-bottom: 0;
}

.p-promise-cards__inner {
    max-width: 1100px;
    margin-inline: auto;
}

.p-promise-cards__item {
    padding-block: 40px;
    border-bottom: 1px solid var(--service-color-text);
}

.p-promise-cards__item:last-child {
    border-bottom: none;
}

.p-promise-cards__content {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: clamp(120px, calc(6.95vw + 66.55px), 200px);
    position: relative;
}

.p-promise-cards__text {
    flex: 45;
    padding-left: 5%;
}

.p-promise-cards__text .p-service-section-title--sm {
    margin-bottom: 12px;
}

.p-promise-cards__text .p-service-section-number {
    display: block;
    margin-bottom: 4px;
    margin-left: -5%;
}

.p-promise-cards__item--extra .p-service-section-subtitle {
    margin-left: 0;
}

.p-promise-cards__item--extra .p-promise-cards__content {
    gap: clamp(20px, calc(1.74vw + 6.62px), 40px);
}

.p-promise-cards__item--extra .p-promise-cards__text {
    flex: 11;
    padding-left: 0;
}

.p-promise-cards__item--extra {
    padding-bottom: 0;
}

.p-promise-cards__item--extra .p-promise-cards__image {
    flex: 10;
    max-width: 500px;
    padding-right: 0;
}

.p-promise-cards__image {
    flex: 25;
    max-width: 256px;
    padding-right: 5%;
    box-sizing: content-box;
}

.p-promise-cards__image img {
    width: 100%;
    height: auto;
}

/* バッジ（カード2, 3用） */
.p-promise-cards__badge {
    position: absolute;
    left: 62%;
    top: 0;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    width: clamp(85px, calc(1.30vw + 75px), 100px);
    height: clamp(85px, calc(1.30vw + 75px), 100px);
    background-color: var(--service-color-orange);
    border-radius: 50%;
    color: var(--service-color-white);
    font-size: clamp(17px, calc(0.09vw + 16.31px), 18px);
    font-weight: 700;
    text-align: center;
    line-height: 1.3;
}

.p-promise-cards__badge br {
    display: none;
}

.p-promise-cards__accordion {
    width: 90%;
    margin-top: 24px;
    margin-inline: auto;
}

.p-promise-cards__item--extra .p-promise-cards__accordion {
    margin-top: 30px;
}

.p-promise-cards__detail {
    width: 100%;
    padding: 10px 20px 20px;
    background-color: var(--service-color-beige);
    box-sizing: border-box;
}

.p-promise-cards__detail-note {
    font-size: 14px;
    color: var(--service-color-text);
    margin-top: 8px;
}

/* お客様の体験談セクション */
.p-promise-cards__experience {
    margin-top: 24px;
    padding-top: 24px;
    border-top: 1px solid var(--service-color-text);
    text-align: center;
}

.p-promise-cards__experience-title {
    font-weight: 500;
    font-size: clamp(24px, calc(0.35vw + 21.31px), 28px);
    line-height: 1.4;
    margin-bottom: 5px;
}

.p-promise-cards__experience-subtitle {
    font-weight: 500;
    font-size: clamp(20px, calc(0.17vw + 18.69px), 22px);
    line-height: 1.4;
    margin-block-start: 15px;
    margin-bottom: 2px;
}

.p-promise-cards__experience-text {
    text-align: left;
}

.p-promise-cards__experience p + p:where(:not(.not-give)) {
    margin-block-start: clamp(8px, calc(0.42vw + 5px), 15px);
}

.p-promise-cards__experience-image {
    width: 70%;
    max-width: 600px;
    margin-inline: auto;
    margin-bottom: 16px;
}

.p-promise-cards__experience-image img {
    width: 100%;
    height: auto;
}

.p-promise-cards__experience-info {
    font-weight: 500;
    font-size: 16px;
    line-height: 1.6;
    text-align: center;
    margin-bottom: -2px;
}

/* もう一つの安心（装飾付きタイトル） */
.p-promise-cards__extra-title {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    margin-bottom: 12px;
}

.p-promise-cards__extra-title::before,
.p-promise-cards__extra-title::after {
    content: '';
    display: inline-block;
    width: 2px;
    height: clamp(30px, calc(2.61vw + 9.94px), 50px);
    background-color: var(--service-color-orange);
    flex-shrink: 0;
}

.p-promise-cards__extra-title::before {
    transform: rotate(-20deg);
    margin-right: 0.6em;
}

.p-promise-cards__extra-title::after {
    transform: rotate(20deg);
    margin-left: 0.6em;
}

.p-promise-cards__extra-title-text {
    font-weight: 700;
    font-size: clamp(34px, calc(1.39vw + 23.3px), 50px);
    line-height: 1.4;
    letter-spacing: -0.01em;
    color: var(--service-color-orange);
}

/* SP対応 */
@media (max-width: 768px) {
    .p-promise-cards {
        padding-block: 0;
    }

    .p-promise-cards__item {
        padding-block: 30px;
    }

    .p-promise-cards__content {
        flex-direction: column;
        gap: 20px;
    }

    .p-promise-cards__text {
        width: 100%;
        padding-left: 0;
    }

    .p-promise-cards__text .p-service-section-number {
        margin-left: 0;
    }

    .p-promise-cards__item--extra .p-promise-cards__text {
        text-align: center;
    }

    .p-promise-cards__image {
        width: 100%;
        max-width: 256px;
        padding-inline: 0;
        margin-inline: auto;
    }

    .p-promise-cards__item--extra .p-promise-cards__image {
        max-width: 400px;
        padding-inline: 0;
        margin-inline: auto;
    }

    .p-promise-cards__accordion {
        width: 100%;
        margin-top: 16px;
    }

    .p-promise-cards__accordion .p-service-section-text {
        line-height: 1.6;
    }

    .p-promise-cards__extra-title {
        justify-content: center;
    }

    .p-promise-cards__extra-title::before,
    .p-promise-cards__extra-title::after {
        height: 36px;
    }

    .p-promise-cards__extra-title-text {
        font-size: clamp(33px, calc(0.24vw + 32.16px), 34px);
    }

    .p-promise-cards__badge {
        left: auto;
        right: 23%;
        top: auto;
        bottom: 65%;
        transform: translateY(50%);
        width: clamp(60px, calc(7.18vw + 34.87px), 90px);
        height: clamp(60px, calc(7.18vw + 34.87px), 90px);
        font-size: clamp(16px, calc(0.48vw + 14.32px), 18px);
    }

    .p-promise-cards__badge br {
        display: block;
    }
}

@media (max-width: 540px) {
    .p-promise-cards__badge {
        right: 10px;
    }

    .p-promise-cards__detail-note {
        font-size: 12px;
    }

    .p-promise-cards__experience {
        margin-top: 20px;
        padding-top: 20px;
    }

    .p-promise-cards__experience-title {
        font-size: clamp(20px, calc(0.48vw + 18.32px), 22px);
        margin-bottom: 16px;
    }

    .p-promise-cards__experience-subtitle {
        font-size: 16px;
        margin-bottom: 6px;
    }

    .p-promise-cards__experience-image {
        width: 100%;
        max-width: none;
        margin-bottom: 16px;
    }

    .p-promise-cards__experience-info {
        font-size: clamp(12.5px, calc(0.60vw + 10.4px), 15px);
        margin-bottom: 6px;
        margin-inline: -20px;
    }


}

/* -----------------------------------
 * service2: もしもの時はセクション
 * ----------------------------------- */
.p-promise-contact {
    background-color: var(--service-color-white);
    padding-inline: var(--margin--use--outside);
    padding-top: calc(var(--section-s) * 2 / 3);
    padding-bottom: var(--section-s);
}

.p-promise-contact__inner {
    max-width: 1100px;
    margin-inline: auto;
}

.p-promise-contact__content {
    text-align: center;
    background-color: var(--service-color-cream);
    border-radius: var(--radius-l);
    padding: clamp(30px, calc(1.74vw + 16.62px), 50px) clamp(20px, calc(1.74vw + 6.62px), 40px);
}

@media (min-width: 769px) {
    .p-promise-contact__content .p-service-section-title--sm {
        font-size: clamp(31.5px, calc(1.17vw + 22.5px), 45px);
    }
}

.p-promise-contact__desc {
    font-weight: 700;
    font-size: clamp(22px, calc(0.17vw + 20.69px), 24px);
    line-height: 1.6;
    margin-top: 10px;
}

.p-promise-contact__tel {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-top: 0;
    text-decoration: none;
    color: var(--service-color-text);
}

.p-promise-contact__tel-icon {
    width: auto;
    height: clamp(40px, calc(1.3vw + 30px), 55px);
}

.p-promise-contact__tel-number {
    font-weight: 700;
    font-size: clamp(55px, calc(1.74vw + 41.62px), 75px);
    letter-spacing: -0.02em;
    line-height: 1.6;
}

/* SP対応 */
@media (max-width: 768px) {
    .p-promise-contact {
        padding-top: 0;
        padding-bottom: var(--section-s);
    }


    .p-promise-contact__content .p-service-section-title--sm {
        font-size: clamp(22px, calc(1.67vw + 17.2px), 30px);
        margin-inline: calc(-1 * var(--margin--use--outside));
    }

    .p-promise-contact__desc {
        font-size: clamp(15.5px, calc(0.96vw + 12.65px), 20px);
        margin-top: 8px;
        margin-inline: calc(-1 * var(--margin--use--outside));
    }

    .p-promise-contact__tel {
        margin-top: 0;
    }

    .p-promise-contact__tel-icon {
        height: clamp(25px, calc(1.2vw + 20.8px), 30px);
    }

    .p-promise-contact__tel-number {
        font-size: clamp(30px, calc(2.39vw + 21.63px), 40px);
    }
}

/* ===================================
 * service3: ご利用の流れ
 * =================================== */
.p-flow-page {
    background-color: var(--service-color-white);
}

/* -----------------------------------
 * service3: はじめてでも大丈夫セクション
 * ----------------------------------- */
.p-flow-intro {
    background-color: var(--service-color-white);
}

.p-flow-intro__inner .p-service-section-title {
    margin-bottom: 24px;
}

@media (max-width: 768px) {
    .p-flow-intro__inner .p-service-section-title {
        margin-bottom: 8px;
    }
}

/* -----------------------------------
 * service3: ご利用の流れセクション
 * ----------------------------------- */
.p-flow-flow {
    background-color: var(--service-color-white);
    padding-inline: var(--margin--use--outside);
    padding-block: var(--section);
}

.p-flow-flow__inner {
    max-width: 1460px;
    margin-inline: auto;
}

/* ステップ共通 */
.p-flow-flow__step {
    display: flex;
    align-items: stretch;
    gap: clamp(16px, calc(2.09vw + 0px), 40px);
}

/* タイムライン（左側） */
.p-flow-flow__timeline {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex-shrink: 0;
    width: clamp(100px, calc(2.61vw + 79.94px), 130px);
}

.p-flow-flow__circle {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: clamp(90px, calc(3.48vw + 63.25px), 130px);
    height: clamp(90px, calc(3.48vw + 63.25px), 130px);
    border-radius: 50%;
    background-color: var(--service-color-orange);
    color: var(--service-color-white);
    flex-shrink: 0;
}

.p-flow-flow__circle--small {
    width: clamp(30px, calc(0.35vw + 27.31px), 34px);
    height: clamp(30px, calc(0.35vw + 27.31px), 34px);
}

.p-flow-flow__step-label {
    font-size: clamp(17px, calc(0.35vw + 14.31px), 21px);
    font-weight: 700;
    line-height: 1;
}

.p-flow-flow__step-num {
    font-size: clamp(27px, calc(0.70vw + 21.63px), 35px);
    font-weight: 700;
    line-height: 1;
}

.p-flow-flow__line {
    width: 3px;
    flex-grow: 1;
    min-height: 50px;
    background-color: var(--service-color-orange);
}

/* コンテンツ（右側） */
.p-flow-flow__content {
    flex: 1;
    padding-bottom: clamp(40px, calc(2.61vw + 20px), 70px);
}

.p-flow-flow__content--row {
    display: flex;
    align-items: flex-start;
    gap: clamp(16px, calc(1.22vw + 6.62px), 30px);
}

.p-flow-flow__text {
    flex: 5;
}

.p-flow-flow__image {
    flex: 6;
}

.p-flow-flow__image img {
    width: 100%;
    height: auto;
}

/* ヘッダー */
.p-flow-flow__header {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 24px;
}

/* バッジ */
.p-flow-flow__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 12px;
    font-size: clamp(20px, calc(0.70vw + 14.6px), 28px);
    font-weight: 700;
    line-height: 1.6;
    border-radius: 5px;
}

.p-flow-flow__badge--green {
    background-color: var(--service-color-green);
    color: var(--service-color-white);
}

.p-flow-flow__badge--orange {
    background-color: var(--service-color-orange);
    color: var(--service-color-white);
    padding-block: 2px;
}

.p-flow-flow__badge--outline {
    background-color: var(--service-color-white);
    color: var(--service-color-green);
    border: 2px solid var(--service-color-green);
    border-radius: 0;
    font-size: clamp(20px, calc(0.70vw + 14.6px), 28px);
}

@media (max-width: 768px) {
    .p-flow-flow__header {
        row-gap: 5px;
        align-items: center;
        margin-bottom: 0;
    }

    .p-flow-flow__badge {
        font-size: clamp(14px, calc(0.48vw + 12.32px), 16px);
        border-radius: 2px;
        padding: 1px 9px;
    }

    .p-flow-flow__badge--outline {
        font-size: clamp(14px, calc(0.48vw + 12.32px), 16px);
        border-radius: 0;
    }

    .p-flow-flow__badge--orange {
        padding: 1px 9px;
    }
}

/* タイトル */
.p-flow-flow__title {
    font-size: clamp(28px, calc(0.35vw + 25.31px), 32px);
    font-weight: 700;
    line-height: 1.4;
    margin-bottom: 12px;
}

.p-flow-flow__title--large {
    font-size: clamp(30px, calc(0.43vw + 26.69px), 35px);
    color: var(--service-color-orange);
    letter-spacing: -0.01em;
}

@media (max-width: 1279px) {
    .p-flow-flow__title--large span {
        display: block;
    }
}

.p-flow-flow__desc {
    width: 100%;
    margin-bottom: 0;
}

/* 電話・WEB 2カラム */
.p-flow-flow__contact {
    display: flex;
    align-items: stretch;
    gap: clamp(30px, calc(2.23vw + 7.14px), 50px);
    margin-bottom: 24px;
    max-width: 1000px;
}

@media (max-width: 1024px) {
    .p-flow-flow__contact {
        gap: clamp(8px, calc(4.71vw - 28.2px), 20px);
    }
}

.p-flow-flow__contact-phone,
.p-flow-flow__contact-web {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.p-flow-flow__contact-phone {
    width: fit-content;
    border-right: 1px solid #898989;
    padding-right: clamp(30px, calc(2.23vw + 7.14px), 50px);
}

@media (max-width: 1024px) {
    .p-flow-flow__contact-phone {
        padding-right: clamp(8px, calc(4.71vw - 28.2px), 20px);
    }
}

.p-flow-flow__contact-phone .p-flow-flow__contact-header {
    align-self: flex-start;
}

.p-flow-flow__contact-web {
    padding-top: 0;
}

.p-flow-flow__contact-header {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
}

.p-flow-flow__contact-title {
    font-size: clamp(22px, calc(0.52vw + 18px), 28px);
    font-weight: 700;
    color: var(--service-color-green);
}

.p-flow-flow__tel {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    color: var(--service-color-text);
    margin-top: 8px;
}

.p-flow-flow__tel-icon {
    width: clamp(45px, calc(0.87vw + 38.31px), 55px);
    height: auto;
}

.p-flow-flow__tel-number {
    font-size: clamp(32px, calc(1.39vw + 21.3px), 48px);
    font-weight: 700;
    line-height: 1.2;
}

.p-flow-flow__contact-phone-text {
    font-weight: 700;
}

.p-flow-flow__note {
    color: var(--service-color-text);
    margin-top: 4px;
    padding-inline-start: clamp(26px, calc(0.43vw + 22.7px), 31px);
}

.p-flow-flow__contact-web-title {
    font-size: clamp(22px, calc(0.52vw + 18px), 28px);
    font-weight: 700;
    color: var(--service-color-green);
    line-height: 1.5;
    margin-bottom: 12px;
    text-align: center;
}

.p-flow-flow__contact-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: fit-content;
    height: 56px;
    padding: 0 24px;
    margin-top: auto;
    background-color: var(--service-color-green-light);
    border: none;
    border-radius: 30px;
    color: var(--service-color-text);
    font-size: clamp(14px, calc(0.52vw + 10px), 20px);
    font-weight: 500;
    text-decoration: none;
    white-space: nowrap;
    transition: opacity 0.3s ease;
}

.p-flow-flow__contact-btn:hover {
    opacity: 0.7;
}

.p-flow-flow__contact-btn-icon {
    width: clamp(18px, calc(1.04vw + 10px), 30px);
    height: auto;
    flex-shrink: 0;
}

/* 資料請求ボックス */
.p-flow-flow__resource {
    background-color: var(--service-color-cream);
    padding: 30px;
    display: flex;
    align-items: flex-start;
    gap: 40px;
}

.p-flow-flow__resource-text {
    flex: 6.3;
    min-width: 0;
    overflow: visible;
}

.p-flow-flow__resource-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
}

@media (max-width: 1279px) {
    .p-flow-flow__resource-header {
        align-items: flex-start;
    }

    .p-flow-flow__resource-header .p-flow-flow__badge--orange {
        margin-top: 2px;
    }

    .p-flow-flow__resource-title span {
        display: block;
    }
}

.p-flow-flow__resource-title {
    font-size: clamp(32px, calc(0.52vw + 28px), 38px);
    font-weight: 700;
    line-height: 1.2;
    color: var(--service-color-green);
}

.p-flow-flow__resource-desc {
    margin-bottom: clamp(30px, calc(4.34vw - 3.4px), 80px);
}

.p-flow-flow__resource-bottom {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

.p-flow-flow__resource-link {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    width: 100%;
    min-width: 500px;
    height: 100px;
    padding: 0 24px;
    background-color: var(--service-color-green);
    border-radius: 50px;
    text-decoration: none;
    color: var(--service-color-white);
    transition: opacity 0.3s ease;
    box-sizing: border-box;
    overflow: visible;
}

.p-flow-flow__resource-books {
    margin-top: -30px;
}

.p-flow-flow__resource-link:hover {
    opacity: 0.8;
}

.p-flow-flow__resource-image {
    flex: 5;
    overflow: hidden;
    aspect-ratio: 125 / 96;
}

.p-flow-flow__resource-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1.37);
    transform-origin: 60% 33%;
}

.p-flow-flow__resource-books img {
    width: clamp(120px, calc(3.39vw + 94px), 159px);
    height: auto;
}

.p-flow-flow__resource-cta {
    display: flex;
    flex-direction: column;
}

.p-flow-flow__resource-cta-text {
    display: block;
    font-size: clamp(18px, calc(0.35vw + 15.3px), 22px);
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: -0.01em;
}

.p-flow-flow__resource-heart {
    width: 20px;
    height: auto;
}

.p-flow-flow__resource-btn {
    display: inline-block;
    font-size: clamp(25px, calc(0.26vw + 23px), 28px);
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: -0.01em;
}


.p-flow-flow__resource-note {
    width: 100%;
    font-size: 12px;
    color: var(--service-color-text);
    text-align: right;
    margin-top: 0;
}

/* 矢印フロー */
.p-flow-flow__arrows {
    flex: 6;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.p-flow-flow__arrow-item {
    display: flex;
    align-items: center;
    justify-content: center;
    width: clamp(100px, calc(7.65vw + 41.17px), 188px);
    height: clamp(100px, calc(7.65vw + 41.17px), 188px);
    border: 2px solid var(--service-color-orange);
    border-radius: 50%;
    background-color: transparent;
    color: var(--service-color-orange);
    font-size: clamp(24px, calc(0.35vw + 21.31px), 28px);
    font-weight: 700;
}

.p-flow-flow__arrow-separator {
    width: 0;
    height: 0;
    border-top: 20px solid transparent;
    border-bottom: 20px solid transparent;
    border-left: clamp(10px, calc(0.87vw + 3.31px), 20px) solid var(--service-color-text);
}

/* アコーディオン */
.p-flow-flow__accordion-wrapper {
    margin-top: 24px;
}

.p-flow-flow__accordion {
    width: 100%;
}

.p-flow-flow__accordion-detail {
    padding: clamp(20px, calc(5.21vw - 20.06px), 80px);
    background-color: var(--service-color-beige);
}

.p-flow-flow__accordion-content {
    display: flex;
    align-items: stretch;
    gap: clamp(20px, calc(5.21vw - 20.06px), 80px);
}

.p-flow-flow__accordion-steps {
    flex: 10;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: space-between;
    gap: clamp(4px, calc(0.52vw - 0px), 10px);
}

.p-flow-flow__accordion-step {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: clamp(2px, calc(0.52vw - 2px), 8px) 12px;
    background-color: var(--service-color-white);
    box-sizing: border-box;
}

.p-flow-flow__accordion-step-text {
    color: var(--service-color-text);
    text-align: center;
}

.p-flow-flow__accordion-arrow {
    width: 0;
    height: 0;
    border-left: clamp(10px, calc(0.35vw + 11.31px), 14px) solid transparent;
    border-right: clamp(10px, calc(0.35vw + 11.31px), 14px) solid transparent;
    border-top: clamp(10px, calc(0.35vw + 11.31px), 14px) solid var(--service-color-text);
    margin: clamp(4px, calc(0.35vw + 5.31px), 8px) auto;
}

.p-flow-flow__accordion-image {
    flex: 9;
    overflow: hidden;
}

.p-flow-flow__accordion-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* 最後のステップ */
.p-flow-flow__step--last .p-flow-flow__content {
    padding-bottom: 0;
}

/* -----------------------------------
 * service3: 工事後も完全保証セクション
 * ----------------------------------- */
.p-flow-guarantee {
    background-color: #F1F6E8;
    padding-block: var(--section-s);
    padding-inline: var(--margin--use--outside);
}

.p-flow-guarantee__inner {
    display: flex;
    max-width: 1100px;
    margin-inline: auto;
}

.p-flow-guarantee__left {
    flex: 52;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    padding: 30px 30px 0;
    background-color: #F1F6E8;
    text-align: center;
}

.p-flow-guarantee__right {
    flex: 54;
    display: flex;
    align-items: center;
    padding: 16px clamp(20px, calc(1.74vw + 6.62px), 40px);
    background-color: var(--service-color-white);
}

.p-flow-guarantee__title {
    font-size: clamp(30px, calc(0.43vw + 26.69px), 35px);
    font-weight: 700;
    color: var(--service-color-text);
    margin-bottom: 20px;
}

.p-flow-guarantee__icon {
    width: clamp(60px, calc(2.61vw + 40px), 90px);
}

.p-flow-guarantee__icon img {
    width: 100%;
    height: auto;
}

/* SP対応 */
@media (max-width: 768px) {
    .p-flow-flow {
        padding-block: var(--section-s);
    }

    .p-flow-flow__step {
        display: grid;
        grid-template-columns: auto 1fr;
        column-gap: 24px;
        row-gap: 6px;
        align-items: start;
    }

    .p-flow-flow__timeline {
        grid-column: 1;
        grid-row: 1;
        width: auto;
    }

    .p-flow-flow__circle {
        width: clamp(70px, calc(3.59vw + 57.43px), 85px);
        height: clamp(70px, calc(3.59vw + 57.43px), 85px);
    }

    .p-flow-flow__circle--small {
        display: none;
    }

    .p-flow-flow__step-label {
        font-size: clamp(15px, calc(0.48vw + 13.32px), 17px);
    }

    .p-flow-flow__step-num {
        font-size: clamp(20px, calc(0.96vw + 16.64px), 24px);
    }

    .p-flow-flow__line {
        display: none;
    }

    .p-flow-flow__content {
        display: contents;
    }

    /* STEP 1: ヘッダー＆説明は円の横、その他はフル幅 */
    .p-flow-flow__header {
        grid-column: 2;
        grid-row: 1;
        align-self: start;
    }

    .p-flow-flow__contact {
        grid-column: 1 / -1;
    }

    .p-flow-flow__resource {
        grid-column: 1 / -1;
        margin-bottom: 30px;
    }

    /* STEP 2, 3: テキストは円の横、画像はフル幅 */
    .p-flow-flow__content--row {
        display: contents;
    }

    .p-flow-flow__text {
        grid-column: 2;
        grid-row: 1;
    }

    .p-flow-flow__image {
        grid-column: 1 / -1;
        width: 100%;
        margin-bottom: 30px;
        aspect-ratio: 33 / 17;
        overflow: hidden;
    }

    .p-flow-flow__image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .p-flow-flow__title {
        font-size: clamp(19px, calc(0.72vw + 16.48px), 22px);
        margin-bottom: 0;
    }

    /* 最後のステップは円なし */
    .p-flow-flow__step--last {
        display: block;
    }

    .p-flow-flow__step--last .p-flow-flow__timeline {
        display: none;
    }

    .p-flow-flow__step--last .p-flow-flow__content {
        display: block;
    }

    .p-flow-flow__step--last .p-flow-flow__content--row {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 16px;
    }

    .p-flow-flow__step--last .p-flow-flow__text {
        width: 100%;
        text-align: center;
    }

    .p-flow-flow__step--last .p-flow-flow__title {
        text-align: center;
    }

    .p-flow-flow__step--last .p-flow-flow__image {
        margin-bottom: 0;
    }

    /* SP用下向き矢印 */
    .p-flow-flow__sp-arrow {
        display: block;
        width: 0;
        height: 0;
        border-left: 18px solid transparent;
        border-right: 18px solid transparent;
        border-top: 18px solid var(--service-color-orange);
        margin: 0 auto 20px;
    }

    /* 電話・WEB */
    .p-flow-flow__contact {
        flex-direction: column;
        gap: 20px;
        padding-inline: 15px;
    }

    .p-flow-flow__contact-phone {
        width: 100%;
        border-right: none;
        padding-right: 0;
        align-items: center;
    }

    .p-flow-flow__contact-phone .p-flow-flow__contact-header {
        align-self: center;
    }

    .p-flow-flow__contact-header {
        justify-content: center;
        margin-bottom: 0;
    }

    .p-flow-flow__desc {
        line-height: 1.6;
    }

    .p-flow-flow__tel {
        justify-content: center;
        margin-top: 0;
    }

    .p-flow-flow__tel-icon {
        width: clamp(50px, calc(2.39vw + 41.63px), 60px);
    }

    .p-flow-flow__tel-number {
        font-size: clamp(36px, calc(3.35vw + 24.27px), 50px);
    }

    .p-flow-flow__contact-phone-text {
        font-weight: 500;
        margin-block: -2px;
    }

    .p-flow-flow__note {
        text-align: center;
        padding-inline-start: 0;
        margin-top: 0;
    }

    .p-flow-flow__contact-web {
        padding-top: 20px;
        border-top: 1px solid #898989;
        align-items: center;
    }

    .p-flow-flow__contact-title,
    .p-flow-flow__contact-web-title {
        font-size: clamp(20px, calc(0.48vw + 18.32px), 22px);
        text-align: center;
    }

    .p-flow-flow__contact-btn {
        width: 100%;
        max-width: 330px;
        height: 45px;
        margin-top: 0;
        font-size: 16px;
        align-self: center;
    }

    .p-flow-flow__contact-btn-icon {
        width: 25px;
    }

    /* 資料請求ボックス */
    .p-flow-flow__resource {
        padding: 26px 20px;
        flex-direction: column;
        align-items: stretch;
        gap: 16px;
    }

    .p-flow-flow__resource-text {
        display: contents;
    }

    .p-flow-flow__resource-header {
        order: 1;
        justify-content: flex-start;
        flex-wrap: nowrap;
        align-items: center;
        margin-bottom: 0;
    }

    .p-flow-flow__resource-header .p-flow-flow__badge--orange {
        margin-top: 0;
    }

    .p-flow-flow__resource-title {
        font-size: clamp(19px, calc(0.72vw + 16.5px), 22px);
    }

    .p-flow-flow__resource-title span {
        display: inline;
    }

    .p-flow-flow__resource-desc {
        order: 2;
        margin-bottom: 0;
    }

    .p-flow-flow__resource-image {
        order: 3;
        width: 100%;
        aspect-ratio: 33 / 19;
        overflow: hidden;
    }

    .p-flow-flow__resource-image img {
        transform: scale(1.12);
        object-position: 55% 20%;
    }

    .p-flow-flow__resource-bottom {
        order: 4;
        gap: 4px;
        flex-direction: column;
        align-items: center;
    }

    .p-flow-flow__resource-note {
        align-self: center;
        max-width: 330px;
        width: 100%;
        text-align: right;
    }

    .p-flow-flow__resource-link {
        width: 330px;
        min-width: auto;
        max-width: 100%;
        height: 68px;
        gap: 8px;
        padding: 0 16px 0 10px;
    }

    .p-flow-flow__resource-books {
        margin-top: 0;
    }

    .p-flow-flow__resource-books img {
        width: 80px;
    }

    .p-flow-flow__resource-cta-text {
        font-size: 12px;
        margin-bottom: 0;
    }

    .p-flow-flow__resource-btn {
        font-size: 16px;
    }

    .p-flow-flow__resource-cta {
        flex: 1;
        text-align: left;
    }

    /* 矢印フロー */
    .p-flow-flow__arrows {
        flex: none;
        width: 100%;
        max-width: 400px;
        margin-inline: auto;
        justify-content: space-between;
        gap: 0;
        order: 2;
    }

    .p-flow-flow__arrow-item {
        width: clamp(80px, calc(4.78vw + 63.27px), 100px);
        height: clamp(80px, calc(4.78vw + 63.27px), 100px);
        border-width: 1px;
        font-size: clamp(18px, calc(0.96vw + 14.64px), 22px);
    }

    .p-flow-flow__arrow-separator {
        border-top-width: 9px;
        border-bottom-width: 9px;
        border-left-width: clamp(9px, calc(1.2vw + 4.8px), 14px);
    }

    /* アコーディオン */
    .p-flow-flow__accordion-wrapper {
        margin-top: 20px;
    }

    .p-flow-flow__accordion-content {
        flex-direction: column;
    }

    .p-flow-flow__accordion-steps {
        gap: 6px;
    }

    .p-flow-flow__accordion-step {
        padding: 4px 16px;
    }

    .p-flow-flow__accordion-arrow {
        border-left-width: 14px;
        border-right-width: 14px;
        border-top-width: 12px;
        margin: 6px auto;
    }

    .p-flow-flow__accordion-image {
        flex: none;
        width: 100%;
        aspect-ratio: 33 / 17;
    }

    .p-flow-flow__accordion-image img {
        object-position: center 12%;
        transform: scale(1.18);
    }

    .p-flow-flow__step--last .p-flow-flow__text {
        text-align: center;
    }

    .p-flow-flow__title--large {
        font-size: clamp(19px, calc(0.72vw + 16.48px), 22px);
        text-align: center;
    }

    .p-flow-flow__title--large span {
        display: inline;
    }

    /* 工事後も完全保証 */
    .p-flow-guarantee {
        padding-block: var(--section-s);
    }

    .p-flow-guarantee__inner {
        flex-direction: column;
    }

    .p-flow-guarantee__left {
        padding: 0 20px 20px;
    }

    .p-flow-guarantee__right {
        padding: 20px 20px;
    }

    .p-flow-guarantee__right .p-service-section-text {
        line-height: 1.6;
        letter-spacing: -0.02em;
    }

    .p-flow-guarantee__title {
        font-size: clamp(19px, calc(0.72vw + 16.48px), 22px);
    }

    .p-flow-guarantee__icon {
        width: clamp(70px, calc(2.87vw + 59.95px), 82px);
    }
}

@media (max-width: 540px) {
    .p-flow-flow__contact-phone {
        align-items: flex-start;
    }

    .p-flow-flow__contact-phone .p-flow-flow__contact-header {
        align-self: flex-start;
    }

    .p-flow-flow__contact-header {
        justify-content: flex-start;
    }

    .p-flow-flow__tel {
        justify-content: flex-start;
    }

    .p-flow-flow__note {
        text-align: left;
    }

    .p-flow-flow__contact-web {
        align-items: flex-start;
    }

    .p-flow-flow__contact-title,
    .p-flow-flow__contact-web-title {
        text-align: left;
    }

    .p-flow-flow__step--last .p-flow-flow__title,
    .p-flow-flow__title--large {
        text-align: left;
    }

    .p-flow-flow__step--last .p-flow-flow__text {
        text-align: left;
    }
}

/* -----------------------------------
 * service3: クロージング（横並びレイアウト）
 * ----------------------------------- */
.p-flow-closing .p-service-closing__inner {
    max-width: 1460px;
    padding-block: calc(var(--section) - 20px);
}

.p-flow-closing__body {
    display: flex;
    align-items: center;
    gap: clamp(30px, calc(2.61vw + 10px), 60px);
}

.p-flow-closing__image {
    flex-shrink: 0;
    width: clamp(200px, calc(17.4vw + 66px), 400px);
}

.p-flow-closing__image img {
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    border-radius: 50%;
}

.p-flow-closing__text {
    flex: 1;
}

.p-flow-closing .p-service-closing__cta {
    margin-top: 48px;
}

@media (max-width: 768px) {
    .p-flow-closing__body {
        gap: 4px;
    }

    .p-flow-closing__image {
        width: clamp(120px, calc(19.14vw + 53px), 200px);
    }

    .p-flow-closing__text .p-service-section-title {
        font-size: clamp(17px, calc(0.67vw + 14.86px), 20px);
    }

    .p-flow-closing .p-service-closing__cta {
        margin-top: 30px;
    }

    .p-flow-closing__text {
        margin-left: calc(-1 * var(--margin--use--outside));
    }
}

@media (max-width: 768px) and (min-width: 541px) {
    .p-flow-closing .p-service-closing__inner {
        padding-inline: clamp(25px, calc(33.04vw - 153.75px), 100px);
    }
}

/* ===================================
 * service4: よくある質問
 * =================================== */

/* -----------------------------------
 * service4: イントロセクション（service3準拠）
 * ----------------------------------- */
.p-faq-page-intro {
    background-color: var(--service-color-white);
}

/* タイトル下線（PC: 3px dotted 薄い色） */
.p-faq-page-intro__title {
    padding-bottom: 8px;
    border-bottom: 3px dotted var(--service-color-text);
    width: fit-content;
    margin-inline: auto;
    margin-bottom: 30px;
}

/* SP対応 */
@media (max-width: 768px) {
    /* SP: 2px dashed */
    .p-faq-page-intro__title {
        padding-bottom: 6px;
        border-bottom: 2px dashed var(--service-color-text);
        margin-bottom: 20px;
    }
}

/* -----------------------------------
 * service4: まず知ってほしい3つのこと
 * ----------------------------------- */
.p-faq-page-points {
    background-color: var(--service-color-white);
    padding-inline: var(--margin--use--outside);
    padding-block: var(--section);
}

.p-faq-page-points__inner {
    max-width: 1100px;
    margin-inline: auto;
    text-align: center;
}

/* 装飾付き見出し（\ テキスト / スタイル） */
.p-faq-page-points__heading {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: clamp(30px, calc(2.61vw + 9.94px), 60px);
}

.p-faq-page-points__heading::before,
.p-faq-page-points__heading::after {
    content: '';
    display: inline-block;
    width: 2px;
    height: clamp(30px, calc(2.61vw + 9.94px), 50px);
    background-color: var(--service-color-green);
    flex-shrink: 0;
}

.p-faq-page-points__heading::before {
    transform: rotate(-20deg);
    margin-right: 0.8em;
}

.p-faq-page-points__heading::after {
    transform: rotate(20deg);
    margin-left: 0.8em;
}

.p-faq-page-points__heading-text {
    font-weight: 700;
    font-size: clamp(34px, calc(1.39vw + 23.3px), 50px);
    line-height: 1.4;
    letter-spacing: -0.01em;
    color: var(--service-color-green);
}

/* 3つの円カード */
.p-faq-page-points__list {
    display: flex;
    justify-content: center;
    gap: clamp(12px, calc(1.22vw + 2.6px), 26px);
    margin-bottom: clamp(40px, calc(3.47vw + 13.3px), 80px);
}

.p-faq-page-points__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: clamp(235px, calc(9.47vw + 162.2px), 344px);
    height: clamp(235px, calc(9.47vw + 162.2px), 344px);
    border-radius: 50%;
    border: 2px solid var(--service-color-green);
}

/* 数字: PC 65px（45.5〜65） */
.p-faq-page-points__num {
    font-weight: 700;
    font-size: clamp(45.5px, calc(1.69vw + 32.5px), 65px);
    line-height: 1.2;
    color: var(--service-color-green);
}

/* テキスト: PC 28px（19.6〜28）, 700 */
.p-faq-page-points__text {
    font-weight: 700;
    font-size: clamp(16px, calc(1.04vw + 8px), 28px);
    line-height: 1.6;
    letter-spacing: -0.01em;
    text-align: center;
    margin-top: 4px;
}

/* なぜ、すべて無料なの？ */
.p-faq-page-points__why {
    text-align: center;
}

.p-faq-page-points__why .p-service-section-subtitle {
    margin-bottom: 16px;
}

.p-faq-page-points__why .p-service-section-text {
    font-size: clamp(20px, calc(0.35vw + 17.3px), 24px);
}

/* 900px以下で改行表示 */
.p-faq-page-points__br {
    display: none;
}

@media (max-width: 900px) {
    .p-faq-page-points__br {
        display: block;
    }
}

/* SP対応 */
@media (max-width: 768px) {
    .p-faq-page-points {
        padding-block: var(--section-s);
    }

    .p-faq-page-points__heading {
        margin-bottom: 12px;
    }

    .p-faq-page-points__heading-text {
        font-size: clamp(21px, calc(0.72vw + 18.5px), 24px);
    }

    /* SP: 円ではなくリスト形式 */
    .p-faq-page-points__list {
        flex-direction: column;
        gap: 0;
        margin-bottom: 30px;
    }

    .p-faq-page-points__item {
        flex-direction: row;
        align-items: flex-start;
        width: 100%;
        height: auto;
        border-radius: 0;
        border: none;
        position: relative;
        padding: 10px 8px;
        justify-content: flex-start;
        gap: 10px;
    }

    .p-faq-page-points__item::after {
        content: '';
        position: absolute;
        bottom: 0;
        left: 8px;
        right: 8px;
        border-bottom: 1px solid var(--service-color-green);
    }

    .p-faq-page-points__item:first-child {
        border-top: none;
    }

    .p-faq-page-points__num {
        font-size: clamp(28px, calc(1.67vw + 22.2px), 35px);
        flex-shrink: 0;
        width: 32px;
        text-align: center;
    }

    .p-faq-page-points__text {
        text-align: left;
        font-size: clamp(17px, calc(1.20vw + 12.8px), 22px);
    }

    .p-faq-page-points__why .p-service-section-subtitle {
        font-size: clamp(21px, calc(0.72vw + 18.5px), 24px);
        margin-bottom: 12px;
    }

    .p-faq-page-points__why .p-service-section-text {
        font-size: clamp(15px, calc(1.67vw + 9.15px), 22px);
        text-align: left;
        letter-spacing: -0.02em;
    }
}

@media (max-width: 350px) {
    .p-faq-page-points__why .p-service-section-text {
        margin-inline: calc(-1/3 * var(--margin--use--outside));
    }
}

/* -----------------------------------
 * service4: 多くいただくご質問（FAQ）
 * ----------------------------------- */
.p-faq-page-faq__heading {
    text-align: center;
    margin-bottom: 40px;
}

.p-faq-page-faq .p-service-faq__inner + .p-service-faq__inner {
    margin-top: 30px;
}

.p-faq-page-faq .p-service-faq__desc {
    font-weight: 700;
}

@media (max-width: 768px) {
    .p-faq-page-faq__heading {
        margin-bottom: 24px;
    }

    .p-faq-page-faq .p-service-faq__inner + .p-service-faq__inner {
        margin-top: 20px;
    }

    .p-faq-page-faq .p-service-faq__desc {
        font-weight: 500;
        text-align: left;
        font-size: clamp(14px, calc(0.72vw + 11.48px), 17px);
    }

}

@media (max-width: 350px) {
    .p-faq-page-faq .p-service-faq__desc {
        margin-inline: -10px;
    }
}

/* -----------------------------------
 * service4: クロージング
 * ----------------------------------- */
.p-faq-page-closing {
    background-color: var(--service-color-white);
}

.p-faq-page-closing__inner {
    max-width: 1340px;
    margin-inline: auto;
    padding-inline: var(--margin--use--outside);
    padding-block: min(var(--section), 80px);
    text-align: center;
}

.p-faq-page-closing__text {
    margin-top: 24px;
}

.p-faq-page-closing__link {
    color: var(--service-color-link);
    text-decoration: underline;
    transition: opacity 0.3s ease;
}

.p-faq-page-closing__link:hover {
    opacity: 0.6;
}

@media (max-width: 768px) {
    .p-faq-page-closing__inner {
        padding-block: var(--section-s);
    }

    .p-faq-page-closing__text {
        margin-top: 16px;
    }
}

/* ===================================
 * service5: お客様の声
 * =================================== */

/* -----------------------------------
 * service5: イントロセクション（service3準拠）
 * ----------------------------------- */
.p-voice-page {
    background-color: var(--service-color-white);
}

.p-voice-intro__inner .p-service-section-title {
    margin-bottom: 24px;
}

.p-voice-intro__inner .p-service-voices__note {
    margin-top: 16px;
}

/* SP対応 */
@media (max-width: 768px) {
    .p-voice-intro__inner .p-service-section-title {
        font-size: clamp(18px, calc(2.68vw + 9.42px), 30px);
        margin-bottom: 10px;
    }

    .p-voice-intro__inner .p-service-section-subtitle {
        font-size: clamp(15px, calc(2.23vw + 7.86px), 25px);
    }
}

/* -----------------------------------
 * service5: お客様の声コンテンツ（セクション2〜5ラッパー）
 * ----------------------------------- */
.p-voice-voices {
    background-color: var(--service-color-white);
    padding-inline: var(--margin--use--outside);
    padding-block: var(--section);
}

.p-voice-voices__inner {
    max-width: 1460px;
    margin-inline: auto;
}

/* -----------------------------------
 * service5: 目次ナビ
 * ----------------------------------- */
.p-voice-nav {
    text-align: center;
}

/* 装飾付き見出し（service4と同じスタイル） */
.p-voice-nav__heading {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: clamp(15px, calc(1.30vw + 5px), 30px);
}

.p-voice-nav__heading::before,
.p-voice-nav__heading::after {
    content: '';
    display: inline-block;
    width: 2px;
    height: clamp(30px, calc(2.61vw + 9.94px), 50px);
    background-color: var(--service-color-green);
    flex-shrink: 0;
}

.p-voice-nav__heading::before {
    transform: rotate(-20deg);
    margin-right: 0.8em;
}

.p-voice-nav__heading::after {
    transform: rotate(20deg);
    margin-left: 0.8em;
}

.p-voice-nav__heading-text {
    font-weight: 700;
    font-size: clamp(34px, calc(1.39vw + 23.3px), 50px);
    line-height: 1.4;
    letter-spacing: -0.01em;
    color: var(--service-color-green);
}

.p-voice-nav .p-service-section-subtitle {
    margin-bottom: clamp(30px, calc(2.61vw + 9.94px), 60px);
}

/* カード3列 */
.p-voice-nav__cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(16px, calc(1.22vw + 6.6px), 30px);
}

.p-voice-nav__card {
    display: flex;
    flex-direction: column;
    align-items: center;
    border: 1px solid var(--service-color-text);
    padding: clamp(16px, calc(1.56vw + 4px), 34px) clamp(16px, calc(1.04vw + 8px), 28px);
    color: var(--service-color-text);
}

.p-voice-nav__card-title {
    font-weight: 700;
    font-size: clamp(16px, calc(0.70vw + 10.6px), 24px);
    line-height: 1.4;
    margin-bottom: 21px;
}

/* PC: 画像エリアを固定高さにして3カード揃える */
.p-voice-nav__card-image {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 130px;
    margin-bottom: 16px;
}

.p-voice-nav__card-image img {
    max-width: 100%;
    max-height: 100%;
    height: auto;
    width: auto;
    object-fit: contain;
}

.p-voice-nav__card-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 500;
    font-size: clamp(14px, calc(0.35vw + 11.3px), 18px);
    width: 100%;
    max-width: 248px;
    height: 56px;
    margin-inline: auto;
    margin-top: auto;
    padding: 0;
    background-color: var(--service-color-green-light);
    border-radius: 30px;
    color: var(--service-color-text);
    text-decoration: none;
    transition: opacity 0.3s;
}

.p-voice-nav__card-btn:hover {
    opacity: 0.7;
}

/* SP対応 */
@media (max-width: 768px) {
    .p-voice-voices {
        padding-block: var(--section-s);
    }

    .p-voice-nav__heading {
        margin-bottom: 8px;
    }

    .p-voice-nav__heading-text {
        font-size: clamp(20px, calc(1.20vw + 15.8px), 25px);
    }

    .p-voice-nav .p-service-section-subtitle {
        font-size: clamp(17px, calc(0.67vw + 14.86px), 20px);
        margin-bottom: 24px;
    }

    .p-voice-nav__cards {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    /* SP: 横並び（画像左・コンテンツ右） */
    .p-voice-nav__card {
        display: grid;
        grid-template-columns: 65px 1fr;
        grid-template-rows: auto auto;
        align-items: center;
        width: 100%;
        max-width: 380px;
        margin-inline: auto;
        padding: 14px 16px;
        gap: 8px 20px;
    }

    .p-voice-nav__card-image {
        grid-column: 1;
        grid-row: 1 / 3;
        height: auto;
        margin-bottom: 0;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .p-voice-nav__card-image img {
        max-width: 100%;
        height: auto;
    }

    .p-voice-nav__card:nth-child(2) .p-voice-nav__card-image img {
        max-width: 80%;
    }

    .p-voice-nav__card:nth-child(3) .p-voice-nav__card-image img {
        max-width: 90%;
    }

    .p-voice-nav__card-title {
        grid-column: 2;
        grid-row: 1;
        font-size: clamp(17px, calc(0.72vw + 14.5px), 20px);
        margin-bottom: 0;
        text-align: center;
    }

    .p-voice-nav__card-btn {
        grid-column: 2;
        grid-row: 2;
        font-size: 16px;
        width: 100%;
        max-width: 226px;
        height: 40px;
        padding: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        justify-self: center;
    }
}

/* -----------------------------------
 * service5: お客様の声コンテンツ共通
 * ----------------------------------- */
.p-voice-voice {
    max-width: 1100px;
    margin-inline: auto;
    padding-block: clamp(20px, calc(2.61vw + 0px), 50px);
}

.p-voice-nav + .p-voice-voice {
    padding-top: var(--section);
}

.p-voice-voice__inner {
    padding-inline: var(--margin--use--outside);
}

/* 見出し: 2px枠線ボックス */
.p-voice-voice__heading {
    text-align: center;
    margin-bottom: 32px;
}

.p-voice-voice__heading-text {
    display: block;
    font-weight: 700;
    font-size: clamp(26px, calc(1.04vw + 18px), 38px);
    line-height: 1.4;
    letter-spacing: -0.01em;
    color: var(--service-color-green);
    border: 2px solid var(--service-color-green);
    padding: 8px 24px;
}

.p-voice-voice .p-service-section-subtitle {
    text-align: center;
    margin-bottom: 32px;
    font-weight: 700;
    font-size: clamp(20px, calc(0.35vw + 17.3px), 24px);
}

/* メイン画像 */
.p-voice-voice__image {
    max-width: 700px;
    margin-inline: auto;
    margin-bottom: 40px;
    aspect-ratio: 70 / 45;
    overflow: hidden;
}

.p-voice-voice__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.p-voice-voice__caption {
    font-weight: 700;
    font-size: 14px;
    margin-top: 8px;
    text-align: right;
}

@media (max-width: 768px) {
    .p-voice-voice__caption {
        font-size: 12px;
    }
}

/* アコーディオンリスト */
.p-voice-voice__list {
    display: flex;
    flex-direction: column;
}

.p-voice-voice__item {
    border-bottom: 1px solid var(--service-color-text);
}

.p-voice-voice__item:first-child {
    border-top: none;
}

/* Q部分 */
.p-voice-voice__question {
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 20px 0;
    cursor: pointer;
    list-style: none;
}

.p-voice-voice__question::-webkit-details-marker {
    display: none;
}

/* 質問テキスト */
.p-voice-voice__question-content {
    flex: 1;
}

.p-voice-voice__question-title {
    display: block;
    font-weight: 700;
    font-size: clamp(22px, calc(0.52vw + 18px), 28px);
    line-height: 1.6;
}

.p-voice-voice__question-desc {
    display: block;
    font-weight: 500;
    font-size: 18px;
    line-height: 1.6;
    margin-top: 4px;
    color: var(--service-color-text);
}

/* トグルアイコン（+/-）オレンジ */
.p-voice-voice__toggle {
    position: relative;
    flex-shrink: 0;
    width: 24px;
    height: 24px;
}

.p-voice-voice__toggle::before,
.p-voice-voice__toggle::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    background-color: var(--service-color-orange);
    transition: transform 0.3s ease;
}

.p-voice-voice__toggle::before {
    width: 20px;
    height: 2px;
    transform: translate(-50%, -50%);
}

.p-voice-voice__toggle::after {
    width: 2px;
    height: 20px;
    transform: translate(-50%, -50%);
}

.p-voice-voice__item[open] .p-voice-voice__toggle::after {
    transform: translate(-50%, -50%) rotate(90deg);
}

/* A部分（アイコンなし、クリーム背景） */
.p-voice-voice__answer {
    padding: 24px clamp(24px, calc(0.52vw + 20px), 30px);
    margin-bottom: 20px;
    background-color: var(--service-color-cream);
}

.p-voice-voice__answer .p-service-section-text {
    line-height: 1.6;
}

.p-voice-voice__customer {
    font-weight: 500;
    font-size: 16px;
    text-align: right;
    margin-block-start: 0;
}

/* フッターテキスト */
.p-service-section-subtitle.p-voice-voice__footer {
    text-align: center;
    margin-top: 48px;
    font-size: clamp(18px, calc(0.52vw + 14px), 24px);
    font-weight: 700;
}

/* SP対応 */
@media (max-width: 768px) {
    .p-voice-voice {
        padding-block: clamp(16px, calc(1.91vw + 9.3px), 24px);
    }

    .p-voice-voice__inner {
        padding-inline: 0;
    }

    .p-voice-voice__heading {
        margin-bottom: 20px;
    }

    .p-voice-voice__heading-text {
        font-size: clamp(20px, calc(0.96vw + 16.64px), 24px);
        padding: 6px 16px;
    }

    .p-voice-voice .p-service-section-subtitle {
        margin-bottom: 20px;
        font-weight: 700;
        font-size: clamp(15px, calc(1.77vw + 8.81px), 22.4px);
    }

    #service5-life {
        padding-top: var(--section-s);
    }

    #service5-worry {
        padding-top: 0;
    }

    #service5-life .p-voice-voice__question,
    #service5-worry .p-voice-voice__question {
        padding-left: 10px;
    }

    #service5-life .p-service-section-subtitle:not(.p-voice-voice__footer),
    #service5-worry .p-service-section-subtitle:not(.p-voice-voice__footer) {
        font-weight: 500;
        font-size: clamp(15px, calc(0.72vw + 12.48px), 18px);
    }

    #service5-life .p-service-section-subtitle:not(.p-voice-voice__footer) {
        letter-spacing: -0.04em;
        white-space: nowrap;
        margin-inline: calc(-1 * var(--margin--use--outside));
    }

    .p-voice-voice__image {
        aspect-ratio: 33 / 17;
        margin-bottom: 8px;
    }

    .p-voice-voice__image img {
        object-position: top;
    }

    #service5-life .p-voice-voice__image img {
        object-position: center;
    }

    .p-voice-voice__question {
        position: relative;
        align-items: flex-start;
        gap: 8px;
        padding: 16px 0;
        padding-right: 24px;
    }

    .p-voice-voice__toggle {
        position: absolute;
        right: 0;
        top: 18px;
        width: 18px;
        height: 18px;
    }

    .p-voice-voice__toggle::before {
        width: 14px;
    }

    .p-voice-voice__toggle::after {
        height: 14px;
    }

    .p-voice-voice__question-title,
    .p-voice-voice__question-desc,
    .p-voice-voice__answer .p-service-section-text {
        font-size: clamp(14.5px, calc(0.84vw + 11.56px), 18px);
    }

    .p-voice-voice__question-title {
        font-weight: 700;
        line-height: 1.4;
        letter-spacing: -0.02em;
    }

    .p-voice-voice__question-desc {
        line-height: 1.4;
    }

    .p-voice-voice__answer {
        gap: 12px;
        padding: 16px;
        margin-bottom: 16px;
    }

    .p-voice-voice__answer .p-service-section-text {
        line-height: 1.4;
    }

    .p-voice-voice__customer {
        font-size: 12px;
    }

    .p-service-section-subtitle.p-voice-voice__footer {
        font-size: clamp(20px, calc(0.96vw + 16.64px), 24px);
        margin-top: 20px;
    }
}

/* voice クロージングのリンクスタイルは common.css の
   .p-service-closing__next / .p-service-closing__link に統合済み */

/* -----------------------------------
 * service5: 10年後の声
 * ----------------------------------- */
.p-voice-decade {
    max-width: 1460px;
    margin-inline: auto;
    margin-top: 40px;
    border: 5px solid var(--service-color-green-light);
    border-radius: 30px;
    padding: clamp(20px, calc(1.74vw + 6.62px), 40px) clamp(20px, calc(8.69vw - 46.9px), 120px);
}

.p-voice-decade__header {
    text-align: center;
    margin-bottom: clamp(20px, calc(1.74vw + 6.62px), 40px);
}

.p-voice-decade__title {
    font-weight: 700;
    font-size: clamp(33.6px, calc(1.25vw + 24px), 48px);
    line-height: 1.4;
    color: var(--service-color-green);
}

.p-voice-decade__subtitle {
    font-weight: 700;
    font-size: clamp(19.6px, calc(0.73vw + 14px), 28px);
    line-height: 1.6;
    margin-top: 8px;
}

.p-voice-decade__cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(16px, calc(0.69vw + 10.7px), 24px);
    max-width: 1100px;
    margin-inline: auto;
}

.p-voice-decade__card {
    background-color: #F2F8E9;
    padding: clamp(16px, calc(0.69vw + 10.7px), 24px) clamp(10px, calc(1.22vw + 0.62px), 24px);
    text-align: center;
}

.p-voice-decade__card-heading {
    font-weight: 500;
    font-size: clamp(17px, calc(0.26vw + 15px), 20px);
    line-height: 1.6;
    letter-spacing: -0.02em;
    padding-bottom: 16px;
    margin-bottom: 16px;
    border-bottom: 1px solid var(--service-color-text);
}

.p-voice-decade__card p + p {
    margin-block-start: 0;
}

.p-voice-decade__card p + p.p-voice-decade__card-attr {
    margin-block-start: 12px;
}

.p-voice-decade__card-text {
    text-align: left;
}

.p-voice-decade__br {
    display: none;
}

.p-voice-decade__br--pc {
    display: block;
}

.p-voice-decade__card-attr {
    font-weight: 500;
    font-size: clamp(14px, calc(0.17vw + 12.7px), 16px);
    line-height: 1.6;
    margin-top: 12px;
}

@media (max-width: 1024px) {
    .p-voice-decade__br {
        display: block;
    }

    .p-voice-decade__br--pc {
        display: none;
    }
}

@media (max-width: 768px) {
    .p-voice-decade {
        border-width: 3px;
        border-radius: 15px;
        padding: clamp(16px, calc(0.96vw + 12.64px), 20px);
        margin-top: calc(var(--section-s) / 2);
    }

    .p-voice-decade__header {
        margin-bottom: 24px;
    }

    .p-voice-decade__title {
        font-size: clamp(21.6px, calc(2.87vw + 11.6px), 33.6px);
    }

    .p-voice-decade__subtitle {
        font-size: clamp(16px, calc(0.45vw + 14.56px), 18px);
    }

    .p-voice-decade__cards {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .p-voice-decade__card {
        padding: 20px clamp(12px, calc(1.91vw + 5.31px), 20px);
    }

    .p-voice-decade__card-heading {
        text-align: left;
        font-size: clamp(15.5px, calc(0.60vw + 13.4px), 18px);
        padding-bottom: 8px;
        margin-bottom: 8px;
        margin-right: calc(-1 * clamp(12px, calc(1.91vw + 5.31px), 20px));
        border-bottom: none;
        position: relative;
    }

    .p-voice-decade__card-heading::after {
        content: '';
        position: absolute;
        bottom: 0;
        left: 0;
        right: clamp(12px, calc(1.91vw + 5.31px), 20px);
        height: 1px;
        background-color: var(--service-color-text);
    }

    .p-voice-decade__card-text {
        text-align: left;
        line-height: 1.6;
    }

    .p-voice-decade__card-attr {
        font-size: clamp(11px, calc(0.67vw + 8.86px), 14px);
        text-align: right;
        margin-left: calc(-1 * clamp(12px, calc(1.91vw + 5.31px), 20px));
    }

    .p-voice-decade__br,
    .p-voice-decade__br--pc {
        display: none;
    }
}

/* ===================================
 * service6: 私たちについて
 * =================================== */

/* -----------------------------------
 * service6: 紹介して終わりにしない
 * ----------------------------------- */
.p-about-about__inner {
    max-width: 1280px;
    margin-inline: auto;
    padding-inline: var(--margin--use--outside);
    padding-block: min(var(--section), 80px) var(--section);
}

.p-about-about__header {
    max-width: 1100px;
    margin-inline: auto;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 40px;
}

.p-about-about__text-area {
    flex: 1;
    min-width: 0;
}

.p-about-about__text-area .p-service-section-title {
    margin-bottom: clamp(20px, calc(1.22vw + 10.6px), 34px);
}

.p-about-about__text-area .p-service-section-text {
    line-height: 1.8;
}

.p-about-about__image {
    flex-shrink: 0;
    width: 50%;
}

.p-about-about__image img {
    width: 100%;
    height: auto;
}

/* SP対応 */
@media (max-width: 768px) {
    .p-about-about__inner {
        padding-block: var(--section-s) var(--section-l);
    }

    .p-about-about__header {
        flex-direction: column;
        gap: 24px;
    }

    .p-about-about__text-area .p-service-section-title {
        font-size: clamp(21px, calc(0.72vw + 18.48px), 24px);
        margin-bottom: 6px;
        text-align: center;
    }

    .p-about-about__image {
        width: 100%;
    }

    .p-about-about__image img {
        aspect-ratio: 33 / 17;
        object-fit: cover;
        object-position: top;
    }
}

/* -----------------------------------
 * service6: 共通見出し
 * ----------------------------------- */
.p-about-heading {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: clamp(20px, calc(0.87vw + 13.31px), 30px);
    font-weight: 700;
    font-size: clamp(26px, calc(0.52vw + 22px), 32px);
    color: var(--service-color-green);
    line-height: 1.4;
}

.p-about-heading__icon {
    font-size: clamp(24px, calc(0.52vw + 20px), 30px);
    line-height: 1;
}

/* -----------------------------------
 * service6: 運営会社情報
 * ----------------------------------- */
.p-about-company {
    background-color: var(--service-color-white);
}

.p-about-company__inner {
    max-width: 1280px;
    margin-inline: auto;
    padding-inline: var(--margin--use--outside);
    padding-block: var(--section);
}

.p-about-company__list {
    max-width: 1100px;
    margin-inline: auto;
}

.p-about-company .p-about-heading {
    max-width: 1100px;
    margin-inline: auto;
}

.p-about-company__item {
    display: flex;
    align-items: baseline;
    padding-block: 16px;
    border-bottom: 1px solid var(--service-color-text);
    gap: 40px;
}

.p-about-company__label {
    flex: 1;
    min-width: 5em;
    font-weight: 500;
    font-size: clamp(18px, calc(0.35vw + 15.31px), 22px);
    line-height: 1.6;
}

.p-about-company__value {
    flex: 5;
    font-weight: 500;
    font-size: clamp(18px, calc(0.35vw + 15.31px), 22px);
    line-height: 1.6;
}

/* SP対応 */
@media (max-width: 768px) {
    .p-about-heading {
        font-size: clamp(17px, calc(0.72vw + 14.48px), 20px);
    }

    .p-about-heading__icon {
        font-size: clamp(14px, calc(1.44vw + 8.96px), 20px);
    }

    .p-about-company__inner {
        padding-block: var(--section-s) var(--section);
    }

    .p-about-company__item {
        flex-direction: column;
        gap: 2px;
        padding-block: 12px;
    }

    .p-about-company__item:first-child {
        padding-top: 0;
    }

    .p-about-company__label {
        font-size: clamp(15px, calc(0.72vw + 12.48px), 18px);
    }

    .p-about-company__value {
        font-size: clamp(15px, calc(0.72vw + 12.48px), 18px);
    }
}

/* -----------------------------------
 * service6: 代表挨拶
 * ----------------------------------- */
.p-about-greeting {
    background-color: var(--service-color-cream);
}

.p-about-greeting__inner {
    max-width: 1460px;
    margin-inline: auto;
    padding-inline: var(--margin--use--outside);
    padding-block: var(--section);
}

.p-about-greeting__main {
    display: grid;
    grid-template-columns: 6fr 5fr;
    gap: clamp(20px, calc(5.21vw + -20.1px), 80px);
    align-items: start;
    padding-inline: clamp(20px, calc(11.29vw - 66.8px), 150px);
}

.p-about-greeting__text-area {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: clamp(16px, calc(0.69vw + 10.69px), 24px);
}

.p-about-greeting__text-area > * {
    margin-block: 0;
}

.p-about-greeting__title {
    font-weight: 700;
    font-size: clamp(22px, calc(0.52vw + 18px), 28px);
    line-height: 1.6;
}

.p-about-greeting__text-area > .p-service-section-text {
    line-height: 1.8;
}

.p-about-greeting__accordion[open] .p-service-btn--outline {
    border-bottom-color: var(--service-color-white);
}

.p-about-greeting__accordion-detail {
    margin-top: 0;
    padding: 10px 20px 20px;
    background-color: var(--service-color-white);
    border: 1px solid var(--service-color-text);
    border-top: none;
    line-height: 1.8;
}

.p-about-greeting__accordion-detail p + p,
.p-about-decade__accordion-detail p + p,
.p-about-media__accordion-detail p + p,
.p-about-social__accordion-detail p + p,
.p-about-founding__accordion-detail p + p {
    margin-block-start: 5px;
}

.p-about-greeting__subtitle {
    font-size: clamp(17px, calc(0.43vw + 13.69px), 22px);
}

.p-about-greeting__representative {
    font-weight: 700;
}

.p-about-greeting__image {
    min-width: 0;
    margin-right: calc(-1 * clamp(20px, calc(11.29vw - 66.8px), 150px));
}

.p-about-greeting__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* SP */
@media (max-width: 768px) {
    .p-about-greeting__inner {
        padding-block: var(--section-s);
    }

    .p-about-greeting__main {
        grid-template-columns: 1fr;
        gap: 0;
        padding-inline: 0;
    }

    .p-about-greeting__text-area {
        display: contents;
    }

    .p-about-greeting__text-area > * {
        margin-block: 0;
    }

    .p-about-greeting__text-area > .p-about-heading { order: 1; }
    .p-about-greeting__title { order: 2; margin-top: 10px; }
    .p-about-greeting__text-area > .p-service-section-text { order: 3; margin-top: 10px; }
    .p-about-greeting__image { order: 4; margin-top: 24px; }
    .p-about-greeting__accordion { order: 5; margin-top: 10px; }
    .p-about-greeting__subtitle { order: 6; }
    .p-about-greeting__text-area > .p-about-greeting__representative { order: 7; }

    .p-about-greeting__title {
        font-size: clamp(19px, calc(0.72vw + 16.48px), 22px);
    }

    .p-about-greeting__subtitle {
        font-size: clamp(17px, calc(0.72vw + 14.48px), 20px);
        margin-top: 24px;
    }

    .p-about-greeting__representative {
        font-weight: 500;
    }

    .p-about-greeting__accordion-detail {
        padding: 10px 16px 16px;
    }

    .p-about-greeting__image {
        width: 100%;
        margin-right: 0;
    }

    .p-about-greeting__image img {
        height: auto;
        aspect-ratio: 33 / 23;
        object-fit: cover;
        object-position: center 20%;
    }
}

/* -----------------------------------
 * service6: お客様の「10年後」の声
 * ----------------------------------- */
.p-about-decade {
    background-color: var(--service-color-white);
}

.p-about-decade__inner {
    max-width: 1280px;
    margin-inline: auto;
    padding-inline: var(--margin--use--outside);
    padding-block: var(--section);
}

.p-about-decade__header {
    text-align: center;
    margin-bottom: clamp(24px, calc(1.39vw + 13.31px), 40px);
}

.p-about-decade__header > .p-service-section-title--sm {
    margin-bottom: clamp(12px, calc(0.69vw + 6.69px), 20px);
}

.p-about-decade__subtitle {
    font-size: clamp(22px, calc(0.52vw + 18px), 28px);
    margin-bottom: 12px;
}

.p-about-decade__note {
    margin-top: 8px;
    font-size: clamp(14px, calc(0.17vw + 12.69px), 16px);
    color: var(--service-color-text);
    line-height: 1.6;
}

.p-about-decade__cards {
    max-width: 1100px;
    margin-inline: auto;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(16px, calc(0.69vw + 10.7px), 24px);
    align-items: start;
}

.p-about-decade__card {
    --card-padding: clamp(20px, calc(0.87vw + 13.31px), 30px);
    background-color: var(--service-color-cream);
    border: none;
    border-radius: 30px;
    padding: var(--card-padding);
    text-align: center;
    display: flex;
    flex-direction: column;
}

.p-about-decade__card-heading {
    font-weight: 700;
    font-size: clamp(18px, calc(0.35vw + 15.31px), 22px);
    line-height: 1.6;
    color: var(--service-color-green);
    margin-bottom: 8px;
}

.p-about-decade__card-attr {
    font-size: clamp(10px, calc(0.35vw + 7.31px), 14px);
    line-height: 1.6;
    margin-bottom: 20px;
}

.p-about-decade__card p + p {
    margin-block-start: 0;
}

.p-about-decade__accordion {
    margin-top: auto;
}

.p-about-decade__accordion[open] .p-service-btn--outline {
    border-bottom-color: var(--service-color-white);
}

.p-about-decade__accordion-detail {
    display: none;
    padding: 10px 20px 20px;
    text-align: left;
    line-height: 1.8;
    background-color: var(--service-color-white);
    border: 1px solid var(--service-color-text);
    border-top: none;
}

.p-about-decade__card:has(.p-about-decade__accordion[open]) > .p-about-decade__accordion-detail {
    display: block;
}

/* SP */
@media (max-width: 768px) {
    .p-about-decade__inner {
        padding-block: var(--section-s);
    }

    .p-about-decade__cards {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .p-about-decade__card {
        --card-padding: 20px;
        padding: 24px var(--card-padding);
    }

    .p-about-decade__card-heading {
        font-size: clamp(17px, calc(0.72vw + 14.48px), 20px);
    }

    .p-about-decade__card-attr {
        font-size: clamp(13px, calc(0.48vw + 11.32px), 15px);
    }

    .p-about-decade__subtitle {
        font-size: clamp(17px, calc(0.72vw + 14.48px), 20px);
    }

    .p-about-decade__note {
        font-size: 12px;
    }

    .p-about-decade__accordion-detail {
        padding: 10px 16px 16px;
        max-width: 500px;
        margin-inline: auto;
    }

    .p-about-decade__accordion .p-service-btn {
        max-width: 500px;
        margin-inline: auto;
    }
}

/* ===================================
 * about: 約束（decade内）
 * =================================== */
.p-about-promise {
    padding-top: var(--section-s);
    text-align: center;
}

.p-about-promise .p-service-section-title--sm {
    margin-bottom: clamp(24px, calc(2.26vw + 6.62px), 50px);
}

.p-about-promise__image {
    width: clamp(450px, 45vw, 700px);
    margin-inline: auto;
}

.p-about-promise__image img {
    width: 100%;
    height: auto;
}

/* SP */
@media (max-width: 768px) {
    .p-about-promise {
        padding-top: var(--section-s);
    }

    .p-about-promise .p-service-section-title--sm {
        font-size: clamp(22px, calc(1.91vw + 15.32px), 30px);
        margin-inline: calc(-1 * var(--margin--use--outside));
    }

    .p-about-promise__image {
        width: 100%;
    }

    .p-about-promise__image img {
        aspect-ratio: 33 / 20;
        object-fit: cover;
        object-position: top;
    }
}

/* ===================================
 * about セクション6: メディア実績
 * =================================== */
.p-about-media {
    background-color: var(--service-color-bg-gray);
}

.p-about-media__inner {
    max-width: 1280px;
    margin-inline: auto;
    padding-inline: var(--margin--use--outside);
    padding-top: var(--section-s);
    padding-bottom: clamp(20px, calc(1.74vw + 6.62px), 40px);
}

.p-about-media__layout {
    max-width: 1100px;
    margin-inline: auto;
    display: grid;
    grid-template-columns: 4fr 6fr;
    column-gap: clamp(24px, calc(3.13vw + 0px), 60px);
}

.p-about-media__text-area {
    display: flex;
    flex-direction: column;
    gap: clamp(16px, calc(0.69vw + 10.69px), 24px);
}

.p-about-media__text-area > * {
    margin-block: 0;
}

.p-about-media__image-area {
    grid-column: 2;
    grid-row: 1 / 5;
}

.p-about-media__image-area img {
    width: 100%;
    aspect-ratio: 612 / 340;
    object-fit: cover;
    object-position: center 80%;
}

.p-about-media__caption {
    margin-top: 8px;
    font-size: clamp(12px, calc(0.17vw + 10.7px), 14px);
    color: var(--service-color-text);
    line-height: 1.6;
    text-align: left;
}

.p-about-media__accordion {
    grid-column: 1;
    margin-top: clamp(16px, calc(0.69vw + 10.7px), 24px);
    margin-bottom: clamp(12px, calc(0.52vw + 8px), 20px);
}

.p-about-media__accordion > summary {
    width: 350px;
    box-sizing: border-box;
}

.p-about-media__note {
    grid-column: 1;
}

.p-about-media__accordion-detail {
    max-width: 1100px;
    margin-inline: auto;
    display: none;
    margin-top: 24px;
}

.p-about-media__inner:has(.p-about-media__accordion[open]) > .p-about-media__accordion-detail {
    display: block;
}

.p-about-media__accordion-detail {
    font-size: clamp(16px, calc(0.17vw + 14.66px), 18px);
}

.p-about-media__note--after-detail {
    max-width: 1100px;
    margin-inline: auto;
    display: none;
}

.p-about-media__inner:has(.p-about-media__accordion[open]) > .p-about-media__layout > .p-about-media__note {
    display: none;
}

.p-about-media__inner:has(.p-about-media__accordion[open]) > .p-about-media__note--after-detail {
    display: block;
    margin-top: clamp(12px, calc(0.52vw + 8px), 20px);
}

.p-about-media__category {
    padding-block: 20px;
    border-top: 1px solid #ccc;
}

.p-about-media__category:first-child {
    border-top: none;
}

.p-about-media__category:last-child {
    border-bottom: 1px solid #ccc;
}

.p-about-media__category-title {
    font-weight: 700;
    font-size: clamp(22px, calc(0.52vw + 18px), 28px);
    margin-bottom: 12px;
}

.p-about-media__category-body {
    line-height: 1.8;
}

.p-about-media__category-body--tv {
    columns: 2;
    column-gap: 40px;
}

.p-about-media__category-body--newspaper {
    columns: 2;
    column-gap: 40px;
}

.p-about-media__category-body--newspaper p {
    line-height: 2;
    margin-block: 0;
}

.p-about-media__books-layout {
    display: flex;
    gap: clamp(16px, calc(1.39vw + 5.31px), 32px);
    align-items: flex-start;
}

.p-about-media__category-body--books {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
    font-weight: 500;
    line-height: 1.8;
}

.p-about-media__book-covers {
    flex-shrink: 0;
    width: 40%;
}

.p-about-media__book-covers img {
    max-width: 100%;
    height: auto;
}

.p-about-media__book-meta {
    font-size: clamp(14px, calc(0.17vw + 12.69px), 16px);
}

@media (max-width: 768px) {
    .p-about-media__book-meta {
        font-size: clamp(13px, calc(0.48vw + 11.32px), 15px);
    }
}

.p-about-media__more {
    text-align: right;
    margin-top: 4px;
}

@media (max-width: 1280px) {
    .p-about-media__layout {
        grid-template-columns: 4fr 5fr;
    }
}

/* SP */
@media (max-width: 768px) {
    .p-about-media__inner {
        padding-block: var(--section-s) var(--section);
    }

    .p-about-media__text-area {
        gap: 8px;
    }

    .p-about-media__layout {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .p-about-media__image-area {
        grid-column: auto;
        grid-row: auto;
        margin-top: 20px;
    }

    .p-about-media__image-area img {
        aspect-ratio: 33 / 20;
        object-fit: cover;
    }

    .p-about-media__accordion {
        grid-column: auto;
    }

    .p-about-media__note {
        grid-column: auto;
        display: none;
    }

    .p-about-media__category:first-child {
        padding-top: 0;
    }

    .p-about-media__caption {
        text-align: left;
        font-size: clamp(13px, calc(0.48vw + 11.32px), 15px);
    }

    .p-about-media__accordion {
        margin-top: 24px;
    }

    .p-about-media__accordion > summary {
        width: 100%;
        box-sizing: border-box;
    }

    .p-about-media__category-body--tv {
        columns: 1;
    }

    .p-about-media__category-body--newspaper {
        columns: 2;
        column-gap: 0;
        width: 80%;
    }

    .p-about-media__category-title {
        font-size: clamp(17px, calc(0.72vw + 14.48px), 20px);
    }

    .p-about-media__accordion-detail {
        font-size: clamp(15px, calc(0.45vw + 13.57px), 17px);
        margin-top: 12px;
    }

    .p-about-media__books-layout {
        flex-direction: column;
    }

    .p-about-media__book-covers {
        width: 100%;
    }

    .p-about-media__category-body--books {
        font-size: inherit;
    }
}

/* ===================================
 * about セクション7: 社会貢献
 * =================================== */
.p-about-social {
    background-color: var(--service-color-bg-gray);
}

.p-about-social__inner {
    max-width: 1280px;
    margin-inline: auto;
    padding-inline: var(--margin--use--outside);
    padding-top: clamp(20px, calc(1.74vw + 6.62px), 40px);
    padding-bottom: clamp(20px, calc(1.74vw + 6.62px), 40px);
}

.p-about-social__layout {
    max-width: 1100px;
    margin-inline: auto;
    display: grid;
    grid-template-columns: 6fr 4fr;
    column-gap: clamp(24px, calc(3.13vw + 0px), 60px);
}

.p-about-social__image-area {
    grid-column: 1;
    grid-row: 1 / 5;
}

.p-about-social__image-area img {
    width: 100%;
    aspect-ratio: 612 / 340;
    object-fit: cover;
}

.p-about-social__text-area {
    grid-column: 2;
    display: flex;
    flex-direction: column;
    gap: clamp(16px, calc(0.69vw + 10.69px), 24px);
    padding-left: clamp(16px, calc(1.74vw + 2.62px), 36px);
}

.p-about-social__text-area > * {
    margin-block: 0;
}

.p-about-social__accordion {
    grid-column: 2;
    margin-top: clamp(16px, calc(0.69vw + 10.7px), 24px);
    margin-bottom: clamp(12px, calc(0.52vw + 8px), 20px);
    padding-left: clamp(16px, calc(1.74vw + 2.62px), 36px);
}

.p-about-social__accordion > summary {
    width: 300px;
    box-sizing: border-box;
}

.p-about-social__note {
    grid-column: 2;
    padding-left: clamp(16px, calc(1.74vw + 2.62px), 36px);
}

.p-about-social__accordion-detail {
    max-width: 1100px;
    margin-inline: auto;
    display: none;
    margin-top: 24px;
}

.p-about-social__inner:has(.p-about-social__accordion[open]) > .p-about-social__accordion-detail {
    display: block;
}

.p-about-social__accordion-detail {
    font-size: 16px;
}

.p-about-social__note--after-detail {
    max-width: 1100px;
    margin-inline: auto;
    display: none;
}

.p-about-social__inner:has(.p-about-social__accordion[open]) > .p-about-social__layout > .p-about-social__note {
    display: none;
}

.p-about-social__inner:has(.p-about-social__accordion[open]) > .p-about-social__note--after-detail {
    display: block;
    margin-top: clamp(12px, calc(0.52vw + 8px), 20px);
}

.p-about-social__item {
    padding-block: 20px;
    border-top: 1px solid #ccc;
}

.p-about-social__item:first-child {
    border-top: none;
}

.p-about-social__item:last-child {
    border-bottom: 1px solid #ccc;
}

.p-about-social__item--with-image {
    display: flex;
    gap: 24px;
    align-items: flex-start;
}

.p-about-social__item-text {
    flex: 1;
}

.p-about-social__item-image {
    width: 27%;
    flex-shrink: 0;
    padding-right: 16px;
}

.p-about-social__item-image img {
    width: 100%;
    height: auto;
}

.p-about-social__item-title {
    font-weight: 700;
    font-size: clamp(22px, calc(0.52vw + 18px), 28px);
    margin-bottom: 8px;
}

@media (max-width: 1280px) {
    .p-about-social__layout {
        grid-template-columns: 5.5fr 4fr;
    }
}

@media (max-width: 900px) {
    .p-about-social__text-area,
    .p-about-social__accordion,
    .p-about-social__note {
        padding-left: 0;
    }
}

/* SP */
@media (max-width: 768px) {
    .p-about-social__inner {
        padding-block: 0 var(--section);
    }

    .p-about-social__layout {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .p-about-social__image-area {
        grid-column: auto;
        grid-row: auto;
        order: 2;
        margin-top: 20px;
    }

    .p-about-social__image-area img {
        aspect-ratio: 33 / 20;
        object-fit: cover;
    }

    .p-about-social__text-area {
        grid-column: auto;
        order: 1;
    }

    .p-about-social__accordion {
        grid-column: auto;
        order: 4;
    }

    .p-about-social__note {
        grid-column: auto;
        order: 3;
        margin-top: 24px;
    }

    .p-about-social__accordion {
        margin-top: 24px;
    }

    .p-about-social__accordion > summary {
        width: 100%;
        box-sizing: border-box;
    }

    .p-about-social__item:first-child {
        padding-top: 0;
    }

    .p-about-social__item-title {
        font-size: clamp(17px, calc(0.72vw + 14.48px), 20px);
    }

    .p-about-social__item--with-image {
        flex-direction: column;
    }

    .p-about-social__item-image {
        width: 90%;
        margin-inline: auto;
        padding-right: 0;
    }

    .p-about-social__accordion-detail {
        font-size: clamp(15px, calc(0.24vw + 14.16px), 16px);
        margin-top: 12px;
    }
}

/* ===================================
 * about セクション8: この事業を始めた理由
 * =================================== */
.p-about-founding {
    background-color: var(--service-color-bg-gray);
}

.p-about-founding__inner {
    max-width: 1280px;
    margin-inline: auto;
    padding-inline: var(--margin--use--outside);
    padding-top: var(--section-s);
    padding-bottom: var(--section-s);
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.p-about-founding__title {
    margin-bottom: clamp(24px, calc(1.39vw + 13.31px), 40px);
}

.p-about-founding__subtitle {
    font-size: clamp(22px, calc(0.52vw + 18px), 28px);
    margin-bottom: 10px;
}

.p-about-founding__subtitle + .p-about-founding__text {
    margin-block-start: 0;
}

@media (max-width: 768px) {
    .p-about-founding__subtitle {
        font-size: clamp(17px, calc(0.72vw + 14.48px), 20px);
    }
}

.p-about-founding__text {
    margin-bottom: clamp(20px, calc(1.04vw + 12px), 32px);
}

.p-about-founding__image {
    max-width: 700px;
    margin-inline: auto;
    margin-bottom: clamp(16px, calc(0.69vw + 10.7px), 24px);
}

.p-about-founding__image img {
    width: 100%;
    height: auto;
}

.p-about-founding__accordion {
    margin-bottom: clamp(12px, calc(0.52vw + 8px), 20px);
}

.p-about-founding__accordion > summary {
    width: 300px;
    margin-inline: auto;
}

.p-about-founding__accordion-detail {
    max-width: none;
    width: auto;
    display: none;
    margin-top: 24px;
    text-align: left;
    background-color: var(--service-color-white);
    margin-inline: calc(-1 * var(--margin--use--outside));
    padding-inline: var(--margin--use--outside);
    padding-block: 24px;
}

.p-about-founding__inner:has(.p-about-founding__accordion[open]) > .p-about-founding__accordion-detail {
    display: block;
}

.p-about-founding__story {
    margin-top: 32px;
}

.p-about-founding__story-heading {
    font-weight: 700;
    font-size: clamp(20px, calc(0.35vw + 17.31px), 24px);
    color: var(--service-color-green);
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 12px;
}

.p-about-founding__story-heading::before {
    content: '';
    width: 40px;
    height: 2px;
    background-color: var(--service-color-green);
    flex-shrink: 0;
}

.p-about-founding__footer {
    margin-top: clamp(24px, calc(1.39vw + 13.31px), 40px);
}

/* PC: 画像をアコーディオンの後に配置 */
@media (min-width: 769px) {
    .p-about-founding__image {
        order: 1;
    }

    .p-about-founding__accordion-detail {
        order: 1;
    }

    .p-about-founding__footer {
        order: 2;
    }
}

/* SP */
@media (max-width: 768px) {
    .p-about-founding__inner {
        padding-block: 0 var(--section);
    }

    .p-about-founding__text {
        margin-bottom: 0;
    }

    .p-about-founding__accordion {
        margin-top: 24px;
        width: 100%;
    }

    .p-about-founding__accordion > summary {
        width: 100%;
        box-sizing: border-box;
    }

    .p-about-founding__accordion-detail {
        margin-top: 12px;
    }

    .p-about-founding__story {
        margin-top: 20px;
    }

    .p-about-founding__story-heading {
        font-size: clamp(17px, calc(0.72vw + 14.48px), 20px);
    }

    .p-about .p-service-cta-btn__sub {
        font-size: 16px;
    }

    .p-about .p-service-cta-btn__main {
        font-size: 20px;
    }
}
