/*
Theme Name: Matsui Legal
Theme URI: https://matsui-legaloffice.com/
Author: 松井法務行政書士事務所
Description: 松井法務行政書士事務所専用のオリジナルテーマ
Version: 1.0
Text Domain: matsui-legal
*/
/* ========================================
   基本設定
======================================== */

:root {
    --navy: #082d5c;
    --deep-navy: #061f42;
    --gold: #c5a253;
    --white: #ffffff;
    --text: #17243a;
    --light-bg: #f7f8fa;
    --border: #d9dee7;
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    color: var(--text);
    background: var(--white);
    font-family:
        "Noto Sans JP",
        "Hiragino Kaku Gothic ProN",
        "Hiragino Sans",
        "Yu Gothic",
        Meiryo,
        sans-serif;
    line-height: 1.8;
}

img {
    display: block;
    max-width: 100%;
    height: auto;
}

a {
    color: inherit;
    text-decoration: none;
}


/* ========================================
   共通レイアウト
======================================== */

.container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}


/* ========================================
   ヘッダー
======================================== */

.site-header {
    background: var(--white);
}

.header-top {
    padding: 16px 0;
}

.header-top__inner {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;

    display: flex;
    justify-content: space-between;
    align-items: center;
}

.site-logo {
    font-size: 22px;
    font-weight: 700;
    color: var(--deep-navy);
}

.header-contact {
    display: flex;
    align-items: center;
    gap: 20px;
}

.header-phone {
    font-size: 18px;
    font-weight: 700;
    color: var(--deep-navy);
}

.header-consultation {
    padding: 8px 14px;
    background: var(--deep-navy);
    color: var(--white);
    font-size: 13px;
    border-radius: 3px;
}


/* ========================================
   ナビゲーション
======================================== */

.global-nav {
    background: var(--deep-navy);
    color: var(--white);
}

.global-nav__list {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
    padding: 0;

    display: flex;
    justify-content: center;

    list-style: none;
}

.global-nav__list li {
    border-left: 1px solid rgba(255,255,255,.15);
}

.global-nav__list li:last-child {
    border-right: 1px solid rgba(255,255,255,.15);
}

.global-nav__list a {
    display: block;
    padding: 13px 18px;

    font-size: 13px;
    font-weight: 600;
}


/* ========================================
   FV
======================================== */

.hero {
    padding: 65px 0 35px;
    background: var(--white);
}

.hero__inner {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;

    display: grid;
    grid-template-columns: 1fr 0.85fr;
    align-items: center;
    gap: 70px;
}

.hero__lead {
    margin: 0 0 4px;

    font-family: serif;
    font-size: 26px;
    font-weight: 700;

    color: var(--deep-navy);
}

.hero__title {
    margin: 0 0 20px;

    font-family: serif;
    font-size: clamp(42px, 5vw, 68px);
    line-height: 1.25;
    letter-spacing: .02em;

    color: var(--deep-navy);
}

.hero__title span {
    color: var(--gold);
}

.hero__text {
    margin: 0;

    font-size: 18px;
    font-weight: 600;
    line-height: 1.9;

    color: var(--text);
}

.hero__image {
    min-height: 360px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #f3f5f8;
    border: 1px solid var(--border);

    color: #8993a3;
}


/* ========================================
   スマホ
======================================== */

@media (max-width: 768px) {

    .header-top__inner {
        width: min(100% - 30px, 1180px);
    }

    .header-contact {
        display: none;
    }

    .site-logo {
        font-size: 17px;
    }

    .global-nav {
        display: none;
    }

    .hero {
        padding: 40px 0;
    }

    .hero__inner {
        width: min(100% - 30px, 1180px);

        grid-template-columns: 1fr;
        gap: 30px;
    }

    .hero__lead {
        font-size: 19px;
    }

    .hero__title {
        font-size: 40px;
    }

    .hero__text {
        font-size: 16px;
    }

    .hero__image {
        min-height: 260px;
    }
}
/* ========================================
   FV下 CTA
======================================== */

.hero-cta {
    padding: 0 0 40px;
    background: #ffffff;
}

.hero-cta__inner {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}

.hero-points {
    display: grid;
    grid-template-columns: repeat(3, 1fr);

    background: var(--deep-navy);
    border-radius: 4px;
    overflow: hidden;
}

.hero-point {
    min-height: 54px;

    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;

    color: var(--white);
    font-size: 14px;
    font-weight: 700;

    border-right: 1px solid rgba(255,255,255,.18);
}

.hero-point:last-child {
    border-right: none;
}

.hero-point__icon {
    color: var(--gold);
    font-size: 18px;
}

.hero-buttons {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;

    width: 78%;
    margin: 16px auto 0;
}

.hero-button {
    min-height: 52px;

    display: flex;
    align-items: center;
    justify-content: center;

    font-size: 15px;
    font-weight: 700;

    border-radius: 3px;
    transition: .2s;
}

.hero-button--line {
    background: var(--deep-navy);
    color: var(--white);
}

.hero-button--contact {
    background: var(--white);
    color: var(--deep-navy);

    border: 1px solid var(--gold);
}

.hero-button:hover {
    opacity: .85;
}


/* ========================================
   FV微調整
======================================== */

.hero {
    padding-bottom: 20px;
}


/* ========================================
   CTA スマホ
======================================== */

@media (max-width: 768px) {

    .hero-cta {
        padding-bottom: 30px;
    }

    .hero-cta__inner {
        width: min(100% - 30px, 1180px);
    }

    .hero-points {
        grid-template-columns: 1fr;
    }

    .hero-point {
        min-height: 48px;

        border-right: none;
        border-bottom: 1px solid rgba(255,255,255,.15);
    }

    .hero-point:last-child {
        border-bottom: none;
    }

    .hero-buttons {
        width: 100%;
        grid-template-columns: 1fr;
        gap: 10px;
    }
}
/* ========================================
   お悩み
======================================== */

.worries {
    padding: 55px 0 65px;
    background: #ffffff;
}

.worries__title {
    margin: 0 0 28px;
    text-align: center;

    color: var(--deep-navy);

    font-family: serif;
    font-size: 26px;
    font-weight: 700;
}

.worries__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
}

.worry-card {
    min-height: 145px;
    padding: 22px 15px;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    text-align: center;

    background: #ffffff;

    border: 1px solid var(--border);
    border-radius: 4px;
}

.worry-card__icon {
    margin-bottom: 9px;

    color: var(--deep-navy);
    font-size: 32px;
    line-height: 1;
}

.worry-card p {
    margin: 0;

    color: var(--deep-navy);

    font-size: 14px;
    font-weight: 700;
    line-height: 1.7;
}


/* 最後の2枚を中央寄せ */

.worry-card:nth-child(5) {
    grid-column: 2 / 3;
}

.worry-card:nth-child(6) {
    grid-column: 3 / 4;
}


/* 下部メッセージ */

.worries__message {
    margin-top: 24px;
    padding: 20px 25px;

    text-align: center;

    background: #f7f8fa;

    border-left: 4px solid var(--gold);
}

.worries__message p {
    margin: 0;

    color: var(--text);

    font-size: 15px;
    font-weight: 600;
}

.worries__message p + p {
    margin-top: 4px;
}


/* ========================================
   お悩み スマホ
======================================== */

@media (max-width: 768px) {

    .worries {
        padding: 40px 0;
    }

    .worries__title {
        margin-bottom: 22px;
        font-size: 22px;
    }

    .worries__grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }

    .worry-card {
        min-height: 130px;
        padding: 18px 10px;
    }

    .worry-card:nth-child(5),
    .worry-card:nth-child(6) {
        grid-column: auto;
    }

    .worry-card__icon {
        font-size: 28px;
    }

    .worry-card p {
        font-size: 13px;
    }

    .worries__message {
        margin-top: 18px;
        padding: 17px 15px;
    }

    .worries__message p {
        font-size: 14px;
    }
}
/* ========================================
   代表ストーリー
======================================== */

.story {
    padding: 70px 0;
    background: var(--deep-navy);
    color: var(--white);
}

.story__inner {
    display: grid;
    grid-template-columns: 0.85fr 1.45fr;
    gap: 55px;
    align-items: center;
}

.story__image {
    min-height: 360px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #ffffff;
    border: 1px solid rgba(255,255,255,.25);

    color: #929baa;
}

.story__lead {
    margin: 0 0 8px;

    color: var(--gold);

    font-size: 16px;
    font-weight: 700;
}

.story__title {
    margin: 0 0 24px;

    font-family: serif;
    font-size: 30px;
    line-height: 1.6;

    color: var(--white);
}

.story__text {
    margin: 0 0 14px;

    font-size: 15px;
    line-height: 2;

    color: rgba(255,255,255,.92);
}

.story__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-width: 220px;
    min-height: 48px;

    margin-top: 15px;
    padding: 10px 22px;

    border: 1px solid var(--gold);

    color: var(--white);

    font-size: 14px;
    font-weight: 700;
}

.story__button:hover {
    background: var(--gold);
    color: var(--deep-navy);
}


/* ========================================
   代表ストーリー スマホ
======================================== */

@media (max-width: 768px) {

    .story {
        padding: 45px 0;
    }

    .story__inner {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .story__image {
        min-height: 280px;
    }

    .story__title {
        font-size: 24px;
        line-height: 1.55;
    }

    .story__text {
        font-size: 14px;
        line-height: 1.9;
    }

    .story__button {
        width: 100%;
    }
}
/* ========================================
   運送業サポート
======================================== */

.transport-support {
    padding: 70px 0;
    background: #ffffff;
}

.section-heading {
    margin-bottom: 32px;
}

.section-heading__sub {
    margin: 0 0 5px;

    color: var(--deep-navy);

    font-size: 17px;
    font-weight: 700;
}

.section-heading__title {
    margin: 0;

    color: var(--deep-navy);

    font-family: serif;
    font-size: 30px;
    line-height: 1.5;
}

.transport-support__grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 10px;
}

.support-card {
    min-height: 120px;
    padding: 18px 8px;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    text-align: center;

    background: #ffffff;
    border: 1px solid var(--border);
    border-radius: 4px;
}

.support-card__icon {
    margin-bottom: 8px;

    font-size: 30px;
    line-height: 1;
}

.support-card p {
    margin: 0;

    color: var(--deep-navy);

    font-size: 13px;
    font-weight: 700;
    line-height: 1.5;
}

.transport-support__text {
    margin: 25px 0 22px;

    color: var(--text);

    font-size: 15px;
    line-height: 1.9;
}


/* ========================================
   運送料金
======================================== */

.transport-price {
    min-height: 78px;
    padding: 16px 24px;

    display: flex;
    justify-content: space-between;
    align-items: center;

    border: 1px solid var(--border);
    background: #ffffff;
}

.transport-price__label {
    color: var(--deep-navy);

    font-size: 16px;
    font-weight: 700;
}

.transport-price__right {
    display: flex;
    align-items: baseline;
    gap: 6px;

    color: var(--deep-navy);
}

.transport-price__right strong {
    font-family: serif;
    font-size: 30px;
}

.transport-price__right span {
    font-size: 12px;
}

.transport-support__button {
    width: 340px;
    min-height: 48px;

    margin: 18px auto 0;

    display: flex;
    align-items: center;
    justify-content: center;

    background: var(--deep-navy);
    color: var(--white);

    font-size: 14px;
    font-weight: 700;

    border-radius: 3px;
}

.transport-support__button:hover {
    opacity: .85;
}


/* ========================================
   運送業サポート スマホ
======================================== */

@media (max-width: 768px) {

    .transport-support {
        padding: 45px 0;
    }

    .section-heading__sub {
        font-size: 15px;
    }

    .section-heading__title {
        font-size: 24px;
    }

    .transport-support__grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }

    .support-card {
        min-height: 105px;
    }

    .transport-price {
        padding: 15px;

        flex-direction: column;
        align-items: flex-start;

        gap: 7px;
    }

    .transport-price__right strong {
        font-size: 26px;
    }

    .transport-support__button {
        width: 100%;
    }
}
/* ========================================
   取扱業務
======================================== */

.services {
    padding: 70px 0;
    background: #f7f8fa;
}

.services__heading {
    text-align: center;
}

.services__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;

    margin-top: 35px;
}

.service-card {
    position: relative;

    min-height: 230px;
    padding: 30px 18px 24px;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    text-align: center;

    background: #ffffff;
    border: 1px solid var(--border);

    transition: .25s;
}

.service-card:hover {
    transform: translateY(-4px);

    border-color: var(--gold);

    box-shadow:
        0 8px 25px rgba(6, 31, 66, .08);
}

.service-card__number {
    position: absolute;
    top: 14px;
    left: 16px;

    color: var(--gold);

    font-family: serif;
    font-size: 17px;
    font-weight: 700;
}

.service-card__icon {
    margin-bottom: 18px;

    font-size: 46px;
    line-height: 1;
}

.service-card__title {
    margin: 0 0 12px;

    color: var(--deep-navy);

    font-family: serif;
    font-size: 20px;
    line-height: 1.55;
}

.service-card__area {
    margin: 0;

    color: #657083;

    font-size: 12px;
    font-weight: 600;
}


/* ========================================
   取扱業務 スマホ
======================================== */

@media (max-width: 768px) {

    .services {
        padding: 45px 0;
    }

    .services__grid {
        grid-template-columns: repeat(2, 1fr);

        gap: 10px;

        margin-top: 25px;
    }

    .service-card {
        min-height: 190px;
        padding: 28px 10px 20px;
    }

    .service-card__icon {
        margin-bottom: 14px;
        font-size: 36px;
    }

    .service-card__title {
        font-size: 17px;
    }

    .service-card__area {
        font-size: 11px;
    }
}

@media (max-width: 480px) {

    .services__grid {
        grid-template-columns: 1fr;
    }

    .service-card {
        min-height: 170px;
    }
}
/* ========================================
   選ばれる理由
======================================== */

.reasons {
    padding: 70px 0;
    background: #ffffff;
}

.reasons__heading {
    text-align: center;
}

.reasons__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;

    margin-top: 35px;
}

.reason-card {
    position: relative;

    min-height: 260px;
    padding: 36px 28px 28px;

    background: #ffffff;
    border: 1px solid var(--border);
}

.reason-card__number {
    display: block;
    margin-bottom: 18px;

    color: var(--gold);

    font-family: serif;
    font-size: 18px;
    font-weight: 700;
}

.reason-card__title {
    margin: 0 0 18px;

    color: var(--deep-navy);

    font-family: serif;
    font-size: 23px;
    line-height: 1.5;
}

.reason-card__text {
    margin: 0;

    color: var(--text);

    font-size: 14px;
    line-height: 1.9;
}


/* ========================================
   事務スタッフサポート
======================================== */

.staff-support {
    margin-top: 25px;
    padding: 28px 32px;

    display: grid;
    grid-template-columns: 1.7fr .6fr;
    gap: 35px;
    align-items: center;

    background: #f7f8fa;
    border: 1px solid var(--border);
}

.staff-support__label {
    margin: 0 0 6px;

    color: var(--gold);

    font-size: 13px;
    font-weight: 700;
}

.staff-support__title {
    margin: 0 0 12px;

    color: var(--deep-navy);

    font-family: serif;
    font-size: 22px;
    line-height: 1.5;
}

.staff-support__text {
    margin: 0;

    color: var(--text);

    font-size: 14px;
    line-height: 1.9;
}

.staff-support__image {
    min-height: 130px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #ffffff;
    border: 1px solid var(--border);

    color: #8a94a3;

    font-size: 12px;
}


/* ========================================
   選ばれる理由 スマホ
======================================== */

@media (max-width: 768px) {

    .reasons {
        padding: 45px 0;
    }

    .reasons__grid {
        grid-template-columns: 1fr;

        gap: 12px;
        margin-top: 25px;
    }

    .reason-card {
        min-height: auto;
        padding: 28px 22px;
    }

    .reason-card__title {
        font-size: 20px;
    }

    .staff-support {
        grid-template-columns: 1fr;
        gap: 20px;

        padding: 24px 20px;
    }

    .staff-support__image {
        min-height: 180px;
    }
}
/* ========================================
   無料相談CTA
======================================== */

.consultation-cta {
    padding: 55px 0;
    background: var(--deep-navy);
}

.consultation-cta__inner {
    display: grid;
    grid-template-columns: 1.4fr .9fr;
    align-items: center;
    gap: 55px;
}

.consultation-cta__lead {
    margin: 0 0 4px;

    color: var(--gold);

    font-size: 16px;
    font-weight: 700;
}

.consultation-cta__title {
    margin: 0 0 10px;

    color: var(--white);

    font-family: serif;
    font-size: 34px;
}

.consultation-cta__text {
    margin: 0;

    color: rgba(255,255,255,.9);

    font-size: 14px;
    line-height: 1.9;
}

.consultation-cta__buttons {
    display: grid;
    gap: 10px;
}

.consultation-button {
    min-height: 52px;
    padding: 10px 20px;

    display: flex;
    align-items: center;
    justify-content: center;

    font-size: 14px;
    font-weight: 700;

    border-radius: 3px;
}

.consultation-button--line {
    background: var(--white);
    color: var(--deep-navy);
}

.consultation-button--form {
    color: var(--white);
    border: 1px solid var(--gold);
}

.consultation-button:hover {
    opacity: .85;
}


/* ========================================
   ご依頼の流れ
======================================== */

.flow {
    padding: 70px 0;
    background: #ffffff;
}

.flow__heading {
    text-align: center;
}

.flow__intro {
    margin: 12px 0 0;

    color: #657083;

    font-size: 14px;
}

.flow__list {
    max-width: 900px;
    margin: 38px auto 0;
}

.flow-step {
    position: relative;

    display: grid;
    grid-template-columns: 90px 1fr;
    gap: 25px;

    padding: 0 0 30px;
}

.flow-step:not(:last-child)::before {
    content: "";

    position: absolute;
    top: 52px;
    left: 44px;
    bottom: 0;

    width: 1px;

    background: #d7dce5;
}

.flow-step__number {
    position: relative;
    z-index: 2;

    width: 90px;
    height: 52px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: var(--deep-navy);
    color: var(--gold);

    font-family: serif;
    font-size: 17px;
    font-weight: 700;
}

.flow-step__content {
    padding: 3px 0 26px;

    border-bottom: 1px solid var(--border);
}

.flow-step__content h3 {
    margin: 0 0 5px;

    color: var(--deep-navy);

    font-family: serif;
    font-size: 19px;
}

.flow-step__content p {
    margin: 0;

    color: var(--text);

    font-size: 14px;
    line-height: 1.8;
}

.flow__button {
    width: 270px;
    min-height: 48px;

    margin: 5px auto 0;

    display: flex;
    align-items: center;
    justify-content: center;

    background: var(--deep-navy);
    color: var(--white);

    font-size: 14px;
    font-weight: 700;
}

.flow__button:hover {
    opacity: .85;
}


/* ========================================
   CTA・流れ スマホ
======================================== */

@media (max-width: 768px) {

    .consultation-cta {
        padding: 40px 0;
    }

    .consultation-cta__inner {
        grid-template-columns: 1fr;
        gap: 25px;
    }

    .consultation-cta__title {
        font-size: 28px;
    }

    .flow {
        padding: 45px 0;
    }

    .flow__list {
        margin-top: 28px;
    }

    .flow-step {
        grid-template-columns: 55px 1fr;
        gap: 15px;

        padding-bottom: 22px;
    }

    .flow-step__number {
        width: 55px;
        height: 45px;

        font-size: 14px;
    }

    .flow-step:not(:last-child)::before {
        top: 45px;
        left: 27px;
    }

    .flow-step__content {
        padding-bottom: 20px;
    }

    .flow-step__content h3 {
        font-size: 17px;
    }

    .flow-step__content p {
        font-size: 13px;
    }

    .flow__button {
        width: 100%;
    }
}
/* ========================================
   料金
======================================== */

.prices {
    padding: 70px 0;
    background: #f7f8fa;
}

.prices__heading {
    text-align: center;
}

.prices__intro {
    margin: 12px auto 0;
    max-width: 700px;

    color: #657083;

    font-size: 14px;
    line-height: 1.8;
}

.prices__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;

    margin-top: 35px;
}

.price-card {
    padding: 25px 20px;

    background: #ffffff;
    border: 1px solid var(--border);
}

.price-card__category {
    margin: 0 0 12px;

    color: var(--gold);

    font-size: 12px;
    font-weight: 700;
}

.price-card__title {
    min-height: 62px;
    margin: 0 0 20px;

    color: var(--deep-navy);

    font-family: serif;
    font-size: 17px;
    line-height: 1.6;
}

.price-card__price {
    margin: 0;

    color: var(--deep-navy);
}

.price-card__price strong {
    display: block;

    font-family: serif;
    font-size: 24px;
}

.price-card__price span {
    font-size: 11px;
}

.prices__note {
    margin: 18px 0 0;

    text-align: center;

    color: #657083;

    font-size: 12px;
}

.prices__button,
.faq__button,
.blog__button {
    width: 250px;
    min-height: 48px;

    margin: 25px auto 0;

    display: flex;
    align-items: center;
    justify-content: center;

    background: var(--deep-navy);
    color: var(--white);

    font-size: 14px;
    font-weight: 700;
}


/* ========================================
   FAQ
======================================== */

.faq {
    padding: 70px 0;
    background: #ffffff;
}

.faq__heading {
    text-align: center;
}

.faq__list {
    max-width: 900px;

    margin: 35px auto 0;
}

.faq-item {
    border-top: 1px solid var(--border);
}

.faq-item:last-child {
    border-bottom: 1px solid var(--border);
}

.faq-item summary {
    position: relative;

    padding: 20px 45px 20px 10px;

    display: flex;
    align-items: center;
    gap: 15px;

    color: var(--deep-navy);

    font-size: 15px;
    font-weight: 700;

    cursor: pointer;

    list-style: none;
}

.faq-item summary::-webkit-details-marker {
    display: none;
}

.faq-item summary::after {
    content: "+";

    position: absolute;
    right: 15px;

    color: var(--gold);

    font-size: 24px;
    font-weight: 400;
}

.faq-item[open] summary::after {
    content: "−";
}

.faq-item__mark {
    color: var(--gold);

    font-family: serif;
    font-size: 20px;
}

.faq-item__answer {
    padding: 0 20px 22px 42px;

    display: flex;
    gap: 15px;

    color: var(--text);
}

.faq-item__answer-mark {
    color: var(--deep-navy);

    font-family: serif;
    font-size: 20px;
    font-weight: 700;
}

.faq-item__answer p {
    margin: 0;

    font-size: 14px;
    line-height: 1.9;
}


/* ========================================
   ブログ
======================================== */

.blog {
    padding: 70px 0;
    background: #f7f8fa;
}

.blog__heading {
    text-align: center;
}

.blog__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;

    margin-top: 35px;
}

.blog-card {
    overflow: hidden;

    background: #ffffff;
    border: 1px solid var(--border);
}

.blog-card__image {
    aspect-ratio: 16 / 9;

    overflow: hidden;

    background: #e9edf3;
}

.blog-card__image img {
    width: 100%;
    height: 100%;

    object-fit: cover;
}

.blog-card__noimage {
    width: 100%;
    height: 100%;

    display: flex;
    align-items: center;
    justify-content: center;

    color: #8c96a6;

    font-family: serif;
    font-size: 18px;
}

.blog-card__content {
    padding: 18px;
}

.blog-card__content time {
    color: #8791a0;

    font-size: 11px;
}

.blog-card__content h3 {
    margin: 8px 0 0;

    color: var(--deep-navy);

    font-size: 15px;
    line-height: 1.7;
}

.blog__empty {
    grid-column: 1 / -1;

    text-align: center;

    color: #657083;
}


/* ========================================
   対応エリア
======================================== */

.area {
    padding: 70px 0;

    background: var(--deep-navy);

    color: var(--white);
}

.area__label {
    margin: 0 0 8px;

    color: var(--gold);

    font-size: 14px;
    font-weight: 700;
}

.area__title {
    margin: 0 0 30px;

    color: var(--white);

    font-family: serif;
    font-size: 30px;
    line-height: 1.6;
}

.area__details {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
}

.area-box {
    padding: 22px;

    border: 1px solid rgba(255,255,255,.2);
}

.area-box h3 {
    margin: 0 0 8px;

    color: var(--gold);

    font-size: 14px;
}

.area-box p {
    margin: 0;

    color: rgba(255,255,255,.9);

    font-size: 14px;
    line-height: 1.8;
}


/* ========================================
   スマホ
======================================== */

@media (max-width: 768px) {

    .prices,
    .faq,
    .blog,
    .area {
        padding: 45px 0;
    }

    .prices__grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }

    .price-card {
        padding: 20px 15px;
    }

    .price-card__price strong {
        font-size: 21px;
    }

    .faq-item summary {
        padding: 17px 40px 17px 5px;

        align-items: flex-start;

        font-size: 14px;
    }

    .faq-item__answer {
        padding: 0 10px 18px 5px;
    }

    .blog__grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .area__title {
        font-size: 24px;
    }

    .area__details {
        grid-template-columns: 1fr;
    }

    .prices__button,
    .faq__button,
    .blog__button {
        width: 100%;
    }
}

@media (max-width: 480px) {

    .prices__grid {
        grid-template-columns: 1fr;
    }
}
/* ========================================
   FV ACF画像
======================================== */

.hero__image {
    overflow: hidden;
}

.hero__photo {
    width: 100%;
    height: 100%;
    min-height: 360px;

    object-fit: cover;
    object-position: center;
}

@media (max-width: 768px) {

    .hero__photo {
        min-height: 260px;
    }
}
/* ========================================
   PCデザイン調整
======================================== */

/* 全体幅 */
.container,
.header-top__inner,
.global-nav__list,
.hero__inner,
.hero-cta__inner {
    width: min(1240px, calc(100% - 80px));
}


/* セクション共通 */
section {
    position: relative;
}


/* FV */
.hero {
    padding: 55px 0 20px;
}

.hero__inner {
    grid-template-columns: 1.05fr .95fr;
    gap: 55px;
}

.hero__lead {
    font-size: 22px;
    margin-bottom: 2px;
}

.hero__title {
    font-size: clamp(44px, 4.3vw, 62px);
    line-height: 1.22;
    margin-bottom: 18px;
}

.hero__text {
    font-size: 15px;
    line-height: 1.9;
}

.hero__image {
    min-height: 320px;
}

.hero__photo {
    min-height: 320px;
}


/* FV下CTA */
.hero-point {
    min-height: 48px;
    font-size: 13px;
}

.hero-buttons {
    margin-top: 12px;
    width: 72%;
}

.hero-button {
    min-height: 46px;
    font-size: 14px;
}


/* 共通見出し */
.section-heading__sub {
    font-size: 14px;
}

.section-heading__title {
    font-size: 27px;
}


/* お悩み */
.worries {
    padding: 42px 0 50px;
}

.worries__title {
    font-size: 24px;
    margin-bottom: 22px;
}

.worry-card {
    min-height: 125px;
    padding: 18px 12px;
}

.worry-card__icon {
    font-size: 26px;
}

.worry-card p {
    font-size: 13px;
}


/* 代表ストーリー */
.story {
    padding: 55px 0;
}

.story__inner {
    grid-template-columns: .8fr 1.5fr;
    gap: 45px;
}

.story__image {
    min-height: 310px;
}

.story__title {
    font-size: 27px;
    line-height: 1.55;
}

.story__text {
    font-size: 13px;
    line-height: 1.9;
}


/* 運送業サポート */
.transport-support {
    padding: 50px 0;
}

.support-card {
    min-height: 105px;
}

.support-card__icon {
    font-size: 26px;
}

.transport-price {
    min-height: 66px;
}


/* 取扱業務 */
.services {
    padding: 50px 0;
}

.service-card {
    min-height: 205px;
}

.service-card__icon {
    font-size: 38px;
}

.service-card__title {
    font-size: 18px;
}


/* 選ばれる理由 */
.reasons {
    padding: 50px 0;
}

.reason-card {
    min-height: 225px;
    padding: 30px 24px 24px;
}

.reason-card__title {
    font-size: 21px;
}

.staff-support {
    margin-top: 18px;
}


/* CTA */
.consultation-cta {
    padding: 42px 0;
}

.consultation-cta__title {
    font-size: 30px;
}


/* ご依頼の流れ */
.flow {
    padding: 50px 0;
}


/* 料金 */
.prices {
    padding: 50px 0;
}


/* FAQ */
.faq {
    padding: 50px 0;
}


/* ブログ */
.blog {
    padding: 50px 0;
}


/* 対応エリア */
.area {
    padding: 50px 0;
}

.area__title {
    font-size: 27px;
}
/* ========================================
   ご依頼の流れ PC横型
======================================== */

@media (min-width: 769px) {

    .flow {
        padding: 48px 0 55px;
    }

    .flow__list {
        max-width: 1240px;
        margin: 32px auto 0;

        display: grid;
        grid-template-columns: repeat(9, 1fr);
        gap: 0;
    }

    .flow-step {
        position: relative;

        display: flex;
        flex-direction: column;

        gap: 0;
        padding: 0;

        text-align: center;
    }


    /* STEP同士をつなぐ線 */

    .flow-step:not(:last-child)::before {
        content: "";

        position: absolute;

        top: 22px;
        left: 50%;
        bottom: auto;

        width: 100%;
        height: 1px;

        background: #cfd6e1;

        z-index: 0;
    }


    /* 番号 */

    .flow-step__number {
        position: relative;
        z-index: 2;

        width: 44px;
        height: 44px;

        margin: 0 auto 14px;

        display: flex;
        align-items: center;
        justify-content: center;

        background: var(--deep-navy);

        border-radius: 50%;

        color: var(--gold);

        font-family: serif;
        font-size: 12px;
        font-weight: 700;
    }


    /* テキスト部分 */

    .flow-step__content {
        padding: 0 7px;

        border-bottom: none;
    }

    .flow-step__content h3 {
        min-height: 42px;

        margin: 0 0 7px;

        color: var(--deep-navy);

        font-family:
            "Noto Sans JP",
            "Yu Gothic",
            sans-serif;

        font-size: 12px;
        font-weight: 700;

        line-height: 1.5;
    }

    .flow-step__content p {
        margin: 0;

        color: #657083;

        font-size: 10px;
        line-height: 1.65;
    }


    /* 詳しく見る */

    .flow__button {
        width: 250px;

        margin-top: 30px;
    }

}
/* ========================================
   主要料金 ワイヤーフレーム寄せ
======================================== */

.prices__list {
    max-width: 1000px;
    margin: 35px auto 0;

    background: #ffffff;
    border: 1px solid var(--border);
}

.price-row {
    display: grid;
    grid-template-columns: 55px 1fr 220px;
    align-items: center;

    min-height: 95px;

    border-bottom: 1px solid var(--border);
}

.price-row:last-child {
    border-bottom: none;
}

.price-row__number {
    height: 100%;

    display: flex;
    align-items: center;
    justify-content: center;

    color: var(--gold);

    font-family: serif;
    font-size: 16px;
    font-weight: 700;

    border-right: 1px solid var(--border);
}

.price-row__content {
    padding: 18px 24px;
}

.price-row__category {
    margin: 0 0 3px;

    color: var(--gold);

    font-size: 11px;
    font-weight: 700;
}

.price-row__content h3 {
    margin: 0 0 3px;

    color: var(--deep-navy);

    font-family: serif;
    font-size: 17px;
}

.price-row__detail {
    margin: 0;

    color: #657083;

    font-size: 11px;
}

.price-row__price {
    padding: 18px 24px;

    text-align: right;

    border-left: 1px solid var(--border);
}

.price-row__price strong {
    display: block;

    color: var(--deep-navy);

    font-family: serif;
    font-size: 23px;
}

.price-row__price span {
    color: #657083;

    font-size: 10px;
}


/* スマホ */

@media (max-width: 768px) {

    .price-row {
        grid-template-columns: 42px 1fr;
    }

    .price-row__number {
        grid-row: 1 / 3;
    }

    .price-row__content {
        padding: 16px;
    }

    .price-row__price {
        grid-column: 2;

        padding: 0 16px 16px;

        text-align: left;

        border-left: none;
    }

    .price-row__price strong {
        font-size: 21px;
    }
}
/* ========================================
   対応エリア ワイヤーフレーム寄せ
======================================== */

.area {
    padding: 50px 0;
    background: #f7f8fa;
    color: var(--text);
}

.area__top {
    display: grid;
    grid-template-columns: .8fr 1.8fr;
    gap: 35px;
    align-items: stretch;
}

.area__map {
    min-height: 230px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #ffffff;
    border: 1px solid var(--border);

    color: #8d97a6;
    font-size: 12px;
}

.area__label {
    margin: 0 0 5px;

    color: var(--gold);

    font-size: 13px;
    font-weight: 700;
}

.area__title {
    margin: 0 0 22px;

    color: var(--deep-navy);

    font-family: serif;
    font-size: 25px;
    line-height: 1.6;
}

.area__details {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
}

.area-box {
    padding: 17px;

    background: #ffffff;
    border: 1px solid var(--border);
}

.area-box h3 {
    margin: 0 0 6px;

    color: var(--deep-navy);

    font-size: 12px;
    line-height: 1.6;
}

.area-box p {
    margin: 0;

    color: #657083;

    font-size: 11px;
    line-height: 1.8;
}

@media (max-width: 768px) {

    .area__top {
        grid-template-columns: 1fr;
    }

    .area__map {
        min-height: 200px;
    }

    .area__details {
        grid-template-columns: 1fr;
    }

}
/* ========================================
   フッター ワイヤーフレーム寄せ
======================================== */

.site-footer {
    background: var(--deep-navy);
    color: var(--white);
}

.site-footer__inner {
    padding-top: 42px;
    padding-bottom: 42px;

    display: grid;
    grid-template-columns:
        1.5fr
        1fr
        1fr
        1fr
        .7fr
        1.5fr;

    gap: 28px;
}

.footer-office__name {
    margin: 0 0 4px;

    color: var(--white);

    font-family: serif;
    font-size: 18px;
    font-weight: 700;
}

.footer-office__catch {
    margin: 0 0 14px;

    color: var(--gold);

    font-size: 11px;
}

.footer-office__address {
    margin: 0 0 9px;

    color: rgba(255,255,255,.78);

    font-size: 11px;
    line-height: 1.8;
}

.footer-office__phone {
    display: block;

    margin-bottom: 12px;

    color: var(--white);

    font-size: 15px;
    font-weight: 700;
}

.footer-office__button {
    display: flex;
    align-items: center;
    justify-content: center;

    min-height: 38px;

    border: 1px solid var(--gold);

    color: var(--white);

    font-size: 10px;
}

.footer-column h3 {
    margin: 0 0 13px;

    color: var(--gold);

    font-size: 12px;
}

.footer-column a {
    display: block;

    margin-bottom: 6px;

    color: rgba(255,255,255,.8);

    font-size: 10px;
}

.footer-column a:hover {
    color: var(--gold);
}

.footer-qr {
    text-align: center;
}

.footer-qr__box {
    width: 90px;
    height: 90px;

    margin: 0 auto 8px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #ffffff;

    color: var(--deep-navy);

    font-size: 12px;
}

.footer-qr p {
    margin: 0;

    color: rgba(255,255,255,.75);

    font-size: 9px;
}

.footer-consultation {
    padding: 18px;

    border: 1px solid rgba(255,255,255,.25);
}

.footer-consultation__lead {
    margin: 0 0 5px;

    color: var(--gold);

    font-family: serif;
    font-size: 19px;
    font-weight: 700;
}

.footer-consultation__text {
    margin: 0 0 10px;

    color: var(--white);

    font-size: 11px;
    font-weight: 700;
}

.footer-consultation__small {
    margin: 0;

    color: rgba(255,255,255,.7);

    font-size: 9px;
    line-height: 1.7;
}

.site-footer__bottom {
    padding: 13px 20px;

    border-top: 1px solid rgba(255,255,255,.12);

    text-align: center;
}

.site-footer__bottom p {
    margin: 0;

    color: rgba(255,255,255,.55);

    font-size: 9px;
}


/* タブレット */

@media (max-width: 1100px) {

    .site-footer__inner {
        grid-template-columns: repeat(3, 1fr);
    }

}


/* スマホ */

@media (max-width: 768px) {

    .site-footer__inner {
        grid-template-columns: 1fr;
        gap: 28px;

        padding-top: 35px;
        padding-bottom: 35px;
    }

    .footer-qr {
        text-align: left;
    }

    .footer-qr__box {
        margin-left: 0;
    }

}
/* ========================================
   フッター ACFリンク追加
======================================== */

.footer-line-link {
    display: inline-block;
    margin-top: 8px;

    color: var(--gold);

    font-size: 9px;
    font-weight: 700;
}

.footer-consultation__buttons {
    margin-top: 14px;

    display: grid;
    gap: 7px;
}

.footer-consultation__buttons a {
    min-height: 34px;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 1px solid rgba(255,255,255,.35);

    color: var(--white);

    font-size: 9px;
    font-weight: 700;
}

.footer-consultation__buttons a:first-child {
    background: var(--white);
    color: var(--deep-navy);
}

.footer-consultation__buttons a:hover {
    opacity: .85;
}
.story__image {
    overflow: hidden;
}

.story__photo {
    width: 100%;
    height: 100%;
    min-height: 310px;
    object-fit: cover;
    object-position: center;
}

@media (max-width: 768px) {
    .story__photo {
        min-height: 280px;
    }
}
/* ========================================
   スタッフ画像 ACF
======================================== */

.staff-support__image {
    overflow: hidden;
}

.staff-support__photo {
    width: 100%;
    height: 100%;
    min-height: 130px;
    object-fit: cover;
    object-position: center;
}

@media (max-width: 768px) {

    .staff-support__photo {
        min-height: 180px;
    }

}
/* ========================================
   対応エリア ACF画像
======================================== */

.area__map {
    overflow: hidden;
}

.area__map-image {
    display: block;

    width: 100%;
    height: 100%;
    min-height: 230px;

    object-fit: cover;
    object-position: center;
}

@media (max-width: 768px) {

    .area__map-image {
        min-height: 200px;
    }

}
/* ========================================
   TOPページ アニメーション
======================================== */

/* スクロール表示前 */
.js-fade-up {
    opacity: 0;
    transform: translateY(30px);

    transition:
        opacity 0.8s ease,
        transform 0.8s ease;
}

/* 表示後 */
.js-fade-up.is-visible {
    opacity: 1;
    transform: translateY(0);
}


/* カードを順番に表示 */
.js-stagger > * {
    opacity: 0;
    transform: translateY(25px);

    transition:
        opacity 0.7s ease,
        transform 0.7s ease;
}

.js-stagger.is-visible > * {
    opacity: 1;
    transform: translateY(0);
}

.js-stagger.is-visible > *:nth-child(1) {
    transition-delay: 0.05s;
}

.js-stagger.is-visible > *:nth-child(2) {
    transition-delay: 0.12s;
}

.js-stagger.is-visible > *:nth-child(3) {
    transition-delay: 0.19s;
}

.js-stagger.is-visible > *:nth-child(4) {
    transition-delay: 0.26s;
}

.js-stagger.is-visible > *:nth-child(5) {
    transition-delay: 0.33s;
}

.js-stagger.is-visible > *:nth-child(6) {
    transition-delay: 0.40s;
}

.js-stagger.is-visible > *:nth-child(7) {
    transition-delay: 0.47s;
}

.js-stagger.is-visible > *:nth-child(8) {
    transition-delay: 0.54s;
}

.js-stagger.is-visible > *:nth-child(9) {
    transition-delay: 0.61s;
}


/* ========================================
   FV
======================================== */

.hero__content {
    animation: heroText 0.9s ease both;
}

.hero__image {
    animation: heroImage 1.1s ease 0.15s both;
}

@keyframes heroText {

    from {
        opacity: 0;
        transform: translateX(-25px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }

}

@keyframes heroImage {

    from {
        opacity: 0;
        transform: translateX(25px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }

}


/* ========================================
   ボタン
======================================== */

.hero-button,
.story__button,
.transport-support__button,
.consultation-button,
.flow__button,
.prices__button,
.faq__button,
.blog__button,
.footer-office__button {

    transition:
        transform 0.25s ease,
        opacity 0.25s ease;
}

@media (hover: hover) {

    .hero-button:hover,
    .story__button:hover,
    .transport-support__button:hover,
    .consultation-button:hover,
    .flow__button:hover,
    .prices__button:hover,
    .faq__button:hover,
    .blog__button:hover,
    .footer-office__button:hover {

        transform: translateY(-3px);
        opacity: 0.88;
    }

}


/* ========================================
   カード
======================================== */

.worry-card,
.support-card,
.service-card,
.reason-card,
.price-row,
.blog-card,
.area-box {

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;
}

@media (hover: hover) {

    .worry-card:hover,
    .support-card:hover,
    .service-card:hover,
    .reason-card:hover,
    .blog-card:hover,
    .area-box:hover {

        transform: translateY(-5px);

        box-shadow:
            0 10px 25px rgba(20, 35, 60, 0.10);
    }

}


/* ========================================
   動きを減らす設定への対応
======================================== */

@media (prefers-reduced-motion: reduce) {

    .js-fade-up,
    .js-stagger > *,
    .hero__content,
    .hero__image {

        opacity: 1 !important;
        transform: none !important;

        animation: none !important;
        transition: none !important;
    }

}
/* =========================================================
   運送業許可・各種手続ページ
   page-transport.php
========================================================= */

.transport-page {
    background: #ffffff;
    color: #1f2a44;
}

.transport-page *,
.transport-page *::before,
.transport-page *::after {
    box-sizing: border-box;
}

.section-space {
    padding: 100px 0;
}


/* =========================================================
   共通見出し
========================================================= */

.transport-page .section-title {
    max-width: 820px;
    margin: 0 auto 55px;
    text-align: center;
}

.transport-page .section-title__en {
    margin: 0 0 12px;
    color: #b49355;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.18em;
}

.transport-page .section-title h2 {
    margin: 0;
    color: #16243d;
    font-size: clamp(28px, 3vw, 42px);
    line-height: 1.45;
    letter-spacing: 0.03em;
}

.transport-page .section-title > p:not(.section-title__en) {
    margin: 20px 0 0;
    color: #596273;
    font-size: 16px;
    line-height: 2;
}


/* =========================================================
   下層ページFV
========================================================= */

.sub-hero {
    position: relative;
    overflow: hidden;
    background:
        linear-gradient(
            115deg,
            #111d33 0%,
            #1f355d 58%,
            #293f65 100%
        );
    color: #ffffff;
}

.sub-hero::before {
    content: "";
    position: absolute;
    top: -180px;
    right: -100px;
    width: 480px;
    height: 480px;
    border: 1px solid rgba(196, 165, 104, 0.18);
    border-radius: 50%;
}

.sub-hero__inner {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 1.15fr 0.85fr;
    gap: 70px;
    align-items: center;
    min-height: 600px;
    padding-top: 80px;
    padding-bottom: 80px;
}

.sub-hero__content {
    max-width: 720px;
}

.sub-hero__lead {
    display: inline-block;
    margin: 0 0 24px;
    padding-bottom: 7px;
    border-bottom: 1px solid #c4a568;
    color: #d6bc88;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.14em;
}

.sub-hero__title {
    margin: 0;
    color: #ffffff;
    font-size: clamp(36px, 4.2vw, 58px);
    font-weight: 700;
    line-height: 1.45;
    letter-spacing: 0.03em;
}

.sub-hero__text {
    max-width: 680px;
    margin: 28px 0 0;
    color: rgba(255, 255, 255, 0.84);
    font-size: 16px;
    line-height: 2;
}

.sub-hero__points {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 32px;
}

.sub-hero__points span {
    padding: 9px 16px;
    border: 1px solid rgba(214, 188, 136, 0.55);
    color: #f2e3c4;
    font-size: 13px;
    font-weight: 600;
}

.sub-hero__image {
    min-width: 0;
}

.sub-hero__photo {
    display: block;
    width: 100%;
    height: 420px;
    object-fit: cover;
    border-radius: 2px;
}

.sub-image-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 420px;
    border: 1px solid rgba(214, 188, 136, 0.45);
    background: rgba(255, 255, 255, 0.07);
    color: rgba(255, 255, 255, 0.7);
    font-size: 14px;
    letter-spacing: 0.08em;
}


/* =========================================================
   FV直下CTA
========================================================= */

.transport-mini-cta {
    position: relative;
    z-index: 2;
    background: #ffffff;
}

.transport-mini-cta__inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
    margin-top: -1px;
    padding: 30px 40px;
    border-bottom: 1px solid #e3e6eb;
    box-shadow: 0 12px 35px rgba(20, 35, 60, 0.06);
}

.transport-mini-cta__inner > p {
    margin: 0;
    color: #1f355d;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.7;
}

.transport-mini-cta__buttons {
    display: flex;
    gap: 12px;
}


/* =========================================================
   共通ボタン
========================================================= */

.transport-page .btn-main,
.transport-page .btn-outline,
.transport-page .btn-light,
.transport-page .btn-gold,
.transport-page .btn-outline-light {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 54px;
    padding: 14px 28px;
    text-decoration: none;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.03em;
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        background-color 0.25s ease,
        color 0.25s ease;
}

.transport-page .btn-main {
    border: 1px solid #1f355d;
    background: #1f355d;
    color: #ffffff;
}

.transport-page .btn-outline {
    border: 1px solid #1f355d;
    background: #ffffff;
    color: #1f355d;
}

.transport-page .btn-light {
    border: 1px solid #ffffff;
    background: #ffffff;
    color: #1f355d;
}

.transport-page .btn-gold {
    border: 1px solid #c4a568;
    background: #c4a568;
    color: #16243d;
}

.transport-page .btn-outline-light {
    border: 1px solid rgba(255, 255, 255, 0.7);
    color: #ffffff;
}

@media (hover: hover) {

    .transport-page .btn-main:hover,
    .transport-page .btn-outline:hover,
    .transport-page .btn-light:hover,
    .transport-page .btn-gold:hover,
    .transport-page .btn-outline-light:hover {
        transform: translateY(-3px);
        box-shadow: 0 10px 25px rgba(15, 30, 55, 0.15);
    }

}


/* =========================================================
   お悩み
========================================================= */

.transport-worries {
    background: #f7f8fa;
}

.transport-worries__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}

.transport-worry-card {
    position: relative;
    min-height: 180px;
    padding: 34px 28px 28px;
    border: 1px solid #e2e5e9;
    background: #ffffff;
    box-shadow: 0 8px 24px rgba(20, 35, 60, 0.035);
}

.transport-worry-card__number {
    display: block;
    margin-bottom: 20px;
    color: #b49355;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.1em;
}

.transport-worry-card p {
    margin: 0;
    color: #29374e;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.9;
}

.transport-worries__message {
    margin: 42px auto 0;
    text-align: center;
    color: #505b6d;
    font-size: 16px;
    line-height: 2;
}


/* =========================================================
   運送業に強い理由
========================================================= */

.transport-strength {
    overflow: hidden;
    background: #172844;
    color: #ffffff;
}

.transport-strength__inner {
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    align-items: stretch;
}

.transport-strength__image {
    min-height: 600px;
}

.transport-strength__photo {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 600px;
    object-fit: cover;
}

.transport-strength__image .sub-image-placeholder {
    height: 100%;
    min-height: 600px;
    border: 0;
    border-right: 1px solid rgba(255, 255, 255, 0.12);
}

.transport-strength__content {
    padding: 90px 0 90px 75px;
}

.transport-strength__label {
    margin: 0 0 18px;
    color: #d1b47c;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.18em;
}

.transport-strength__content h2 {
    margin: 0;
    color: #ffffff;
    font-size: clamp(30px, 3.5vw, 46px);
    line-height: 1.55;
}

.transport-strength__text {
    max-width: 680px;
    margin-top: 30px;
    color: rgba(255, 255, 255, 0.82);
    font-size: 16px;
    line-height: 2.05;
}

.transport-strength__text p {
    margin: 0 0 18px;
}

.transport-strength__content .btn-outline-light {
    margin-top: 20px;
}


/* =========================================================
   一般貨物自動車運送事業とは
========================================================= */

.transport-about {
    background: #ffffff;
}

.transport-about__box {
    position: relative;
    max-width: 900px;
    margin: 0 auto;
    padding: 45px 55px;
    border-left: 4px solid #b49355;
    background: #f7f8fa;
}

.transport-about__box p {
    margin: 0;
    color: #4b5668;
    font-size: 16px;
    line-height: 2.1;
}


/* =========================================================
   許可要件
========================================================= */

.transport-requirements {
    background: #f7f8fa;
}

.requirements-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}

.requirement-card {
    min-height: 245px;
    padding: 30px 24px;
    border: 1px solid #e1e4e8;
    background: #ffffff;
}

.requirement-card__number {
    color: #b49355;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.1em;
}

.requirement-card h3 {
    margin: 22px 0 15px;
    color: #1f355d;
    font-size: 19px;
    line-height: 1.55;
}

.requirement-card p {
    margin: 0;
    color: #606979;
    font-size: 14px;
    line-height: 1.9;
}

.requirements-note {
    max-width: 900px;
    margin: 35px auto 0;
    padding: 24px 30px;
    border: 1px solid rgba(180, 147, 85, 0.4);
    background: #ffffff;
}

.requirements-note p {
    margin: 0;
    text-align: center;
    color: #4d5869;
    font-size: 14px;
    line-height: 1.9;
}


/* =========================================================
   許可取得までの流れ
========================================================= */

.transport-flow {
    background: #ffffff;
}

.transport-flow__list {
    max-width: 920px;
    margin: 0 auto;
}

.transport-flow__item {
    position: relative;
    display: grid;
    grid-template-columns: 130px 1fr;
    align-items: center;
    min-height: 90px;
    border-bottom: 1px solid #e1e4e8;
}

.transport-flow__item:first-child {
    border-top: 1px solid #e1e4e8;
}

.transport-flow__item span {
    color: #b49355;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.08em;
}

.transport-flow__item h3 {
    margin: 0;
    color: #1f355d;
    font-size: 18px;
    line-height: 1.6;
}

.transport-flow__note {
    margin: 28px 0 0;
    text-align: center;
    color: #6c7480;
    font-size: 13px;
}


/* =========================================================
   行政書士に依頼するメリット
========================================================= */

.transport-merits {
    background: #172844;
}

.transport-merits .section-title h2 {
    color: #ffffff;
}

.transport-merits .section-title__en {
    color: #d1b47c;
}

.transport-merits__grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 12px;
}

.transport-merit-card {
    min-height: 290px;
    padding: 32px 23px;
    border: 1px solid rgba(255, 255, 255, 0.15);
    background: rgba(255, 255, 255, 0.045);
}

.transport-merit-card > span {
    color: #d1b47c;
    font-size: 13px;
    font-weight: 700;
}

.transport-merit-card h3 {
    margin: 25px 0 16px;
    color: #ffffff;
    font-size: 18px;
    line-height: 1.6;
}

.transport-merit-card p {
    margin: 0;
    color: rgba(255, 255, 255, 0.72);
    font-size: 14px;
    line-height: 1.9;
}


/* =========================================================
   許可取得後のサポート
========================================================= */

.transport-after {
    background: #f7f8fa;
}

.transport-after__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

.transport-after__grid > div {
    min-height: 150px;
    padding: 28px;
    border: 1px solid #e0e4e8;
    background: #ffffff;
}

.transport-after__grid span {
    color: #b49355;
    font-size: 13px;
    font-weight: 700;
}

.transport-after__grid h3 {
    margin: 18px 0 0;
    color: #1f355d;
    font-size: 17px;
    line-height: 1.7;
}


/* =========================================================
   運送業料金
========================================================= */

.transport-page-price {
    background: #ffffff;
}

.transport-price-list {
    max-width: 950px;
    margin: 0 auto;
    border-top: 2px solid #1f355d;
}

.transport-price-row {
    display: grid;
    grid-template-columns: 1fr auto 55px;
    gap: 20px;
    align-items: center;
    padding: 22px 20px;
    border-bottom: 1px solid #dfe3e8;
}

.transport-price-row > span {
    color: #2b374b;
    font-size: 15px;
    font-weight: 600;
}

.transport-price-row strong {
    color: #1f355d;
    font-size: 20px;
    white-space: nowrap;
}

.transport-price-row small {
    color: #737b87;
    font-size: 12px;
}

.transport-price-note {
    max-width: 950px;
    margin: 25px auto 0;
    color: #6c7480;
    font-size: 13px;
    line-height: 1.8;
}

.transport-price-more {
    width: fit-content;
    margin: 35px auto 0;
}


/* =========================================================
   FAQ
========================================================= */

.transport-page-faq {
    background: #f7f8fa;
}

.transport-faq__list {
    max-width: 900px;
    margin: 0 auto;
}

.transport-faq-item {
    border-bottom: 1px solid #dce1e6;
    background: #ffffff;
}

.transport-faq-item:first-child {
    border-top: 1px solid #dce1e6;
}

.transport-faq-item summary {
    position: relative;
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 25px 60px 25px 25px;
    color: #25344c;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.7;
    cursor: pointer;
    list-style: none;
}

.transport-faq-item summary::-webkit-details-marker {
    display: none;
}

.transport-faq-item summary::after {
    content: "+";
    position: absolute;
    top: 50%;
    right: 25px;
    transform: translateY(-50%);
    color: #b49355;
    font-size: 25px;
    font-weight: 300;
}

.transport-faq-item[open] summary::after {
    content: "−";
}

.transport-faq-item summary > span,
.transport-faq-item__answer > span {
    flex: 0 0 32px;
    color: #b49355;
    font-size: 18px;
    font-weight: 700;
}

.transport-faq-item__answer {
    display: flex;
    gap: 20px;
    padding: 0 60px 28px 25px;
}

.transport-faq-item__answer p {
    margin: 0;
    color: #596374;
    font-size: 15px;
    line-height: 1.95;
}


/* =========================================================
   対応エリア
========================================================= */

.transport-area {
    padding: 85px 0;
    background:
        linear-gradient(
            120deg,
            #edeff3 0%,
            #f8f9fa 100%
        );
}

.transport-area__inner {
    max-width: 900px;
    text-align: center;
}

.transport-area__label {
    margin: 0 0 15px;
    color: #b49355;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.18em;
}

.transport-area h2 {
    margin: 0;
    color: #1f355d;
    font-size: clamp(30px, 3.5vw, 44px);
    line-height: 1.5;
}

.transport-area h2 + p {
    margin: 22px 0 0;
    color: #596374;
    font-size: 16px;
    line-height: 2;
}


/* =========================================================
   最終CTA
========================================================= */

.transport-final-cta {
    position: relative;
    overflow: hidden;
    padding: 100px 0;
    background: #12213a;
    color: #ffffff;
}

.transport-final-cta::before {
    content: "";
    position: absolute;
    top: -220px;
    right: -120px;
    width: 520px;
    height: 520px;
    border: 1px solid rgba(196, 165, 104, 0.16);
    border-radius: 50%;
}

.transport-final-cta__inner {
    position: relative;
    z-index: 1;
    max-width: 850px;
    text-align: center;
}

.transport-final-cta__label {
    display: inline-block;
    margin: 0 0 20px;
    color: #d4b97f;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.12em;
}

.transport-final-cta h2 {
    margin: 0;
    color: #ffffff;
    font-size: clamp(30px, 3.6vw, 46px);
    line-height: 1.55;
}

.transport-final-cta h2 + p {
    max-width: 720px;
    margin: 25px auto 0;
    color: rgba(255, 255, 255, 0.78);
    font-size: 16px;
    line-height: 2;
}

.transport-final-cta__buttons {
    display: flex;
    justify-content: center;
    gap: 15px;
    margin-top: 38px;
}


/* =========================================================
   ホバー
========================================================= */

@media (hover: hover) {

    .transport-worry-card,
    .requirement-card,
    .transport-merit-card,
    .transport-after__grid > div {
        transition:
            transform 0.3s ease,
            box-shadow 0.3s ease,
            border-color 0.3s ease;
    }

    .transport-worry-card:hover,
    .requirement-card:hover,
    .transport-after__grid > div:hover {
        transform: translateY(-5px);
        border-color: rgba(180, 147, 85, 0.45);
        box-shadow: 0 14px 30px rgba(20, 35, 60, 0.08);
    }

    .transport-merit-card:hover {
        transform: translateY(-5px);
        border-color: rgba(209, 180, 124, 0.5);
    }

}


/* =========================================================
   タブレット
========================================================= */

@media (max-width: 1024px) {

    .section-space {
        padding: 80px 0;
    }

    .sub-hero__inner {
        grid-template-columns: 1fr 0.8fr;
        gap: 40px;
        min-height: 540px;
    }

    .sub-hero__photo,
    .sub-image-placeholder {
        min-height: 350px;
        height: 350px;
    }

    .transport-worries__grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .transport-strength__content {
        padding-left: 50px;
    }

    .requirements-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .transport-merits__grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .transport-merit-card:last-child {
        grid-column: 1 / -1;
        min-height: auto;
    }

}


/* =========================================================
   スマートフォン
========================================================= */

@media (max-width: 768px) {

    .section-space {
        padding: 65px 0;
    }

    .transport-page .section-title {
        margin-bottom: 35px;
        text-align: left;
    }

    .transport-page .section-title h2 {
        font-size: 27px;
    }


    /* FV */

    .sub-hero__inner {
        display: flex;
        flex-direction: column;
        gap: 35px;
        min-height: auto;
        padding-top: 60px;
        padding-bottom: 55px;
    }

    .sub-hero__content,
    .sub-hero__image {
        width: 100%;
    }

    .sub-hero__title {
        font-size: 34px;
        line-height: 1.5;
    }

    .sub-hero__text {
        margin-top: 22px;
        font-size: 15px;
        line-height: 1.9;
    }

    .sub-hero__points {
        margin-top: 25px;
    }

    .sub-hero__points span {
        padding: 7px 11px;
        font-size: 11px;
    }

    .sub-hero__photo,
    .sub-image-placeholder {
        width: 100%;
        height: 280px;
        min-height: 280px;
    }


    /* ミニCTA */

    .transport-mini-cta__inner {
        display: block;
        padding: 25px 0 30px;
        box-shadow: none;
    }

    .transport-mini-cta__inner > p {
        margin-bottom: 20px;
        text-align: center;
        font-size: 16px;
    }

    .transport-mini-cta__buttons {
        flex-direction: column;
    }

    .transport-mini-cta__buttons a {
        width: 100%;
    }


    /* お悩み */

    .transport-worries__grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .transport-worry-card {
        min-height: auto;
        padding: 25px 22px;
    }

    .transport-worry-card__number {
        margin-bottom: 12px;
    }

    .transport-worries__message {
        margin-top: 30px;
        text-align: left;
        font-size: 14px;
    }


    /* 強み */

    .transport-strength__inner {
        display: flex;
        flex-direction: column;
    }

    .transport-strength__image,
    .transport-strength__photo,
    .transport-strength__image .sub-image-placeholder {
        width: 100%;
        min-height: 320px;
        height: 320px;
    }

    .transport-strength__content {
        padding: 55px 0;
    }

    .transport-strength__content h2 {
        font-size: 28px;
    }

    .transport-strength__text {
        font-size: 15px;
        line-height: 1.95;
    }


    /* ABOUT */

    .transport-about__box {
        padding: 30px 25px;
    }

    .transport-about__box p {
        font-size: 15px;
        line-height: 1.95;
    }


    /* 要件 */

    .requirements-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .requirement-card {
        min-height: auto;
        padding: 25px 22px;
    }

    .requirement-card h3 {
        margin: 15px 0 10px;
    }

    .requirements-note {
        padding: 20px;
    }

    .requirements-note p {
        text-align: left;
    }


    /* 流れ */

    .transport-flow__item {
        grid-template-columns: 90px 1fr;
        min-height: 78px;
    }

    .transport-flow__item span {
        font-size: 11px;
    }

    .transport-flow__item h3 {
        font-size: 16px;
    }


    /* メリット */

    .transport-merits__grid {
        grid-template-columns: 1fr;
    }

    .transport-merit-card,
    .transport-merit-card:last-child {
        grid-column: auto;
        min-height: auto;
        padding: 27px 23px;
    }


    /* 許可後 */

    .transport-after__grid {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .transport-after__grid > div {
        min-height: auto;
        padding: 23px;
    }


    /* 料金 */

    .transport-price-row {
        grid-template-columns: 1fr auto;
        gap: 8px 15px;
        padding: 20px 10px;
    }

    .transport-price-row > span {
        grid-column: 1 / -1;
        font-size: 14px;
    }

    .transport-price-row strong {
        font-size: 19px;
    }

    .transport-price-row small {
        align-self: center;
    }

    .transport-price-more {
        width: 100%;
    }


    /* FAQ */

    .transport-faq-item summary {
        gap: 12px;
        padding: 22px 45px 22px 15px;
        font-size: 14px;
    }

    .transport-faq-item summary::after {
        right: 15px;
    }

    .transport-faq-item__answer {
        gap: 12px;
        padding: 0 15px 24px;
    }

    .transport-faq-item summary > span,
    .transport-faq-item__answer > span {
        flex-basis: 25px;
    }

    .transport-faq-item__answer p {
        font-size: 14px;
    }


    /* 対応エリア */

    .transport-area {
        padding: 65px 0;
    }

    .transport-area__inner {
        text-align: left;
    }

    .transport-area h2 {
        font-size: 28px;
    }


    /* 最終CTA */

    .transport-final-cta {
        padding: 70px 0;
    }

    .transport-final-cta__inner {
        text-align: left;
    }

    .transport-final-cta h2 {
        font-size: 28px;
    }

    .transport-final-cta__buttons {
        flex-direction: column;
        margin-top: 30px;
    }

    .transport-final-cta__buttons a {
        width: 100%;
    }

}


/* =========================================================
   小さいスマートフォン
========================================================= */

@media (max-width: 480px) {

    .sub-hero__title {
        font-size: 30px;
    }

    .sub-hero__points {
        display: grid;
        grid-template-columns: 1fr;
    }

    .sub-hero__points span {
        width: fit-content;
    }

    .transport-page .section-title h2,
    .transport-strength__content h2,
    .transport-area h2,
    .transport-final-cta h2 {
        font-size: 26px;
    }

}


/* =========================================================
   アニメーション設定
========================================================= */

@media (prefers-reduced-motion: reduce) {

    .transport-page .js-fade-up,
    .transport-page .js-stagger > * {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }

}
/* =========================================================
   建設業許可ページ
   page-construction.php
========================================================= */

.construction-page {
    background: #ffffff;
    color: #1f2a44;
}


/* =========================================================
   お悩み
========================================================= */

.construction-worries {
    background: #f7f8fa;
}


/* =========================================================
   建設業許可とは
========================================================= */

.construction-about {
    background: #ffffff;
}


/* =========================================================
   軽微な工事
========================================================= */

.construction-threshold {
    background: #f7f8fa;
}

.construction-threshold__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    max-width: 950px;
    margin: 0 auto;
}

.construction-threshold-card {
    min-height: 260px;
    padding: 38px 35px;
    border: 1px solid #dfe3e8;
    background: #ffffff;
    text-align: center;
}

.construction-threshold-card__label {
    margin: 0 0 22px;
    color: #b49355;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.08em;
}

.construction-threshold-card strong {
    display: block;
    margin-bottom: 18px;
    color: #1f355d;
    font-size: clamp(30px, 3.5vw, 44px);
    line-height: 1.3;
    font-family: serif;
}

.construction-threshold-card p:last-child {
    margin: 0;
    color: #5c6676;
    font-size: 15px;
    line-height: 1.9;
}


/* =========================================================
   許可要件
========================================================= */

.construction-requirements {
    background: #ffffff;
}


/* =========================================================
   一般・特定 / 知事・大臣 共通
========================================================= */

.construction-category,
.construction-authority {
    background: #f7f8fa;
}

.construction-authority {
    background: #ffffff;
}

.construction-category__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    max-width: 950px;
    margin: 0 auto;
}

.construction-category-card {
    position: relative;
    min-height: 300px;
    padding: 38px 34px;
    border: 1px solid #dfe3e8;
    background: #ffffff;
}

.construction-category-card > span {
    display: block;
    margin-bottom: 18px;
    color: #b49355;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.16em;
}

.construction-category-card h3 {
    margin: 0 0 18px;
    color: #1f355d;
    font-size: 26px;
    line-height: 1.4;
}

.construction-category-card p {
    margin: 0;
    color: #5d6676;
    font-size: 15px;
    line-height: 1.95;
}

.construction-category-card strong {
    display: block;
    margin-top: 28px;
    color: #1f355d;
    font-size: 30px;
    font-family: serif;
}

.construction-category-card small {
    display: block;
    margin-top: 6px;
    color: #757d89;
    font-size: 12px;
}


/* =========================================================
   流れ
========================================================= */

.construction-flow {
    background: #f7f8fa;
}


/* =========================================================
   許可後の手続
========================================================= */

.construction-after {
    background: #ffffff;
}


/* =========================================================
   建設業料金
========================================================= */

.construction-price {
    background: #f7f8fa;
}


/* =========================================================
   FAQ
========================================================= */

.construction-faq {
    background: #ffffff;
}


/* =========================================================
   ホバー
========================================================= */

@media (hover: hover) {

    .construction-threshold-card,
    .construction-category-card {
        transition:
            transform 0.3s ease,
            box-shadow 0.3s ease,
            border-color 0.3s ease;
    }

    .construction-threshold-card:hover,
    .construction-category-card:hover {
        transform: translateY(-5px);
        border-color: rgba(180, 147, 85, 0.5);
        box-shadow: 0 14px 30px rgba(20, 35, 60, 0.08);
    }

}


/* =========================================================
   タブレット
========================================================= */

@media (max-width: 1024px) {

    .construction-threshold__grid,
    .construction-category__grid {
        gap: 16px;
    }

    .construction-threshold-card,
    .construction-category-card {
        padding: 30px 26px;
    }

}


/* =========================================================
   スマートフォン
========================================================= */

@media (max-width: 768px) {

    .construction-threshold__grid,
    .construction-category__grid {
        grid-template-columns: 1fr;
    }

    .construction-threshold-card {
        min-height: auto;
        padding: 28px 22px;
        text-align: left;
    }

    .construction-threshold-card strong {
        font-size: 30px;
    }

    .construction-category-card {
        min-height: auto;
        padding: 28px 22px;
    }

    .construction-category-card h3 {
        font-size: 22px;
    }

    .construction-category-card strong {
        font-size: 26px;
    }

}


/* =========================================================
   アニメーション配慮
========================================================= */

@media (prefers-reduced-motion: reduce) {

    .construction-page .js-fade-up,
    .construction-page .js-stagger > * {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }

}
/* =========================================================
   産業廃棄物収集運搬業許可ページ
   page-industrial-waste.php
========================================================= */

.waste-page {
    background: #ffffff;
    color: #1f2a44;
}


/* =========================================================
   お悩み
========================================================= */

.waste-worries {
    background: #f7f8fa;
}


/* =========================================================
   産業廃棄物収集運搬業許可とは
========================================================= */

.waste-about {
    background: #ffffff;
}


/* =========================================================
   どこの自治体の許可が必要？
========================================================= */

.waste-area-rule {
    background: #f7f8fa;
}

.waste-route {
    display: grid;
    grid-template-columns: 1fr 70px 1fr 70px 1fr;
    align-items: stretch;
    gap: 0;

    max-width: 1100px;
    margin: 0 auto;
}

.waste-route__box {
    min-height: 240px;
    padding: 34px 28px;

    display: flex;
    flex-direction: column;

    border: 1px solid #dfe3e8;
    background: #ffffff;
}

.waste-route__box span {
    margin-bottom: 24px;

    color: #b49355;

    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.12em;
}

.waste-route__box h3 {
    margin: 0 0 16px;

    color: #1f355d;

    font-size: 21px;
    line-height: 1.5;
}

.waste-route__box p {
    margin: 0;

    color: #5d6675;

    font-size: 14px;
    line-height: 1.9;
}

.waste-route__arrow {
    display: flex;
    align-items: center;
    justify-content: center;

    color: #b49355;

    font-size: 30px;
    font-weight: 300;
}


/* =========================================================
   積替え保管
========================================================= */

.waste-storage {
    background: #ffffff;
}

.waste-storage .construction-category-card {
    min-height: 320px;
}


/* =========================================================
   許可要件
========================================================= */

.waste-requirements {
    background: #f7f8fa;
}


/* =========================================================
   許可までの流れ
========================================================= */

.waste-flow {
    background: #ffffff;
}


/* =========================================================
   許可後の手続
========================================================= */

.waste-after {
    background: #f7f8fa;
}


/* =========================================================
   料金
========================================================= */

.waste-price {
    background: #ffffff;
}


/* =========================================================
   FAQ
========================================================= */

.waste-faq {
    background: #f7f8fa;
}


/* =========================================================
   ホバー
========================================================= */

@media (hover: hover) {

    .waste-route__box {
        transition:
            transform 0.3s ease,
            box-shadow 0.3s ease,
            border-color 0.3s ease;
    }

    .waste-route__box:hover {
        transform: translateY(-5px);

        border-color: rgba(180, 147, 85, 0.5);

        box-shadow:
            0 14px 30px
            rgba(20, 35, 60, 0.08);
    }

}


/* =========================================================
   タブレット
========================================================= */

@media (max-width: 1024px) {

    .waste-route {
        grid-template-columns:
            1fr
            50px
            1fr
            50px
            1fr;
    }

    .waste-route__box {
        padding: 28px 22px;
    }

    .waste-route__box h3 {
        font-size: 18px;
    }

}


/* =========================================================
   スマートフォン
========================================================= */

@media (max-width: 768px) {

    .waste-route {
        display: flex;
        flex-direction: column;
        gap: 0;
    }

    .waste-route__box {
        min-height: auto;
        padding: 26px 22px;
    }

    .waste-route__box span {
        margin-bottom: 13px;
    }

    .waste-route__box h3 {
        margin-bottom: 10px;

        font-size: 18px;
    }

    .waste-route__arrow {
        height: 45px;

        transform: rotate(90deg);

        font-size: 25px;
    }

    .waste-storage .construction-category-card {
        min-height: auto;
    }

}


/* =========================================================
   アニメーション配慮
========================================================= */

@media (prefers-reduced-motion: reduce) {

    .waste-page .js-fade-up,
    .waste-page .js-stagger > * {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }

}
/* =========================================================
   自動車登録業務ページ
   page-car-registration.php
========================================================= */

.car-page {
    background: #ffffff;
    color: #1f2a44;
}


/* =========================================================
   お悩み
========================================================= */

.car-worries {
    background: #f7f8fa;
}


/* =========================================================
   自動車登録業務とは
========================================================= */

.car-about {
    background: #ffffff;
}


/* =========================================================
   対応できる手続
========================================================= */

.car-services {
    background: #f7f8fa;
}


/* =========================================================
   車庫証明 / 封印 共通
========================================================= */

.car-garage {
    background: #ffffff;
}

.car-seal {
    background: #f7f8fa;
}

.car-feature {
    display: grid;
    grid-template-columns: 1.15fr 0.85fr;
    gap: 55px;
    align-items: stretch;
}

.car-feature--reverse {
    grid-template-columns: 0.85fr 1.15fr;
}

.car-feature__content {
    padding: 45px 0;
}

.car-feature__content h2 {
    margin: 0 0 24px;
    color: #1f355d;
    font-size: clamp(30px, 3.4vw, 44px);
    line-height: 1.5;
}

.car-feature__content > p:not(.section-title__en) {
    margin: 0 0 18px;
    color: #5c6676;
    font-size: 15px;
    line-height: 1.95;
}

.car-feature__visual {
    display: flex;
    align-items: stretch;
}

.car-feature__visual .sub-image-placeholder {
    min-height: 380px;
    height: 100%;
    border: 1px solid #dfe3e8;
    background: #f3f5f7;
    color: #87909e;
}

.car-feature__price {
    display: grid;
    grid-template-columns: 1fr auto auto;
    gap: 18px;
    align-items: center;
    margin-top: 32px;
    padding: 22px 24px;
    border-top: 1px solid #1f355d;
    border-bottom: 1px solid #dfe3e8;
}

.car-feature__price span {
    color: #344156;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.7;
}

.car-feature__price strong {
    color: #1f355d;
    font-size: 25px;
    white-space: nowrap;
}

.car-feature__price small {
    color: #737c88;
    font-size: 11px;
}


/* =========================================================
   流れ
========================================================= */

.car-flow {
    background: #ffffff;
}


/* =========================================================
   料金
========================================================= */

.car-price {
    background: #f7f8fa;
}


/* =========================================================
   セット割
========================================================= */

.car-set-discount {
    max-width: 950px;
    margin: 45px auto 0;
    padding: 35px 40px;
    border: 1px solid rgba(180, 147, 85, 0.45);
    background: #ffffff;
}

.car-set-discount__label {
    margin: 0 0 10px;
    color: #b49355;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.16em;
}

.car-set-discount h3 {
    margin: 0;
    color: #1f355d;
    font-size: 23px;
    line-height: 1.6;
}

.car-set-discount__items {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
    margin-top: 25px;
}

.car-set-discount__items > div {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    padding: 20px 22px;
    background: #f7f8fa;
}

.car-set-discount__items span {
    color: #4c5768;
    font-size: 14px;
    font-weight: 600;
}

.car-set-discount__items strong {
    color: #1f355d;
    font-size: 20px;
}


/* =========================================================
   対応エリア
========================================================= */

.car-area {
    background: #ffffff;
}

.car-area__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 15px;
}

.car-area__grid > div {
    min-height: 165px;
    padding: 28px 24px;
    border: 1px solid #dfe3e8;
    background: #ffffff;
}

.car-area__grid span {
    display: block;
    margin-bottom: 18px;
    color: #b49355;
    font-size: 12px;
    font-weight: 700;
}

.car-area__grid h3 {
    margin: 0;
    color: #1f355d;
    font-size: 21px;
    line-height: 1.5;
}

.car-area__grid p {
    margin: 8px 0 0;
    color: #68717d;
    font-size: 13px;
}


/* =========================================================
   販売店向け
========================================================= */

.car-dealer {
    background: #172844;
    color: #ffffff;
}

.car-dealer__inner {
    display: grid;
    grid-template-columns: 1.35fr 0.65fr;
    gap: 50px;
    align-items: center;
}

.car-dealer__content h2 {
    margin: 0 0 25px;
    color: #ffffff;
    font-size: clamp(30px, 3.4vw, 44px);
    line-height: 1.55;
}

.car-dealer__content > p:not(.section-title__en) {
    margin: 0 0 15px;
    color: rgba(255,255,255,.78);
    font-size: 15px;
    line-height: 1.95;
}

.car-dealer__point {
    padding: 36px 30px;
    border: 1px solid rgba(255,255,255,.18);
    background: rgba(255,255,255,.04);
}

.car-dealer__point span {
    display: block;
    margin-bottom: 20px;
    color: #d1b47c;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.16em;
}

.car-dealer__point strong {
    color: #ffffff;
    font-size: 24px;
    line-height: 1.65;
}


/* =========================================================
   FAQ
========================================================= */

.car-faq {
    background: #f7f8fa;
}


/* =========================================================
   ホバー
========================================================= */

@media (hover: hover) {

    .car-area__grid > div,
    .car-set-discount__items > div {
        transition:
            transform 0.3s ease,
            box-shadow 0.3s ease,
            border-color 0.3s ease;
    }

    .car-area__grid > div:hover {
        transform: translateY(-5px);
        border-color: rgba(180, 147, 85, 0.5);
        box-shadow: 0 14px 30px rgba(20, 35, 60, 0.08);
    }

}


/* =========================================================
   タブレット
========================================================= */

@media (max-width: 1024px) {

    .car-feature {
        gap: 35px;
    }

    .car-feature__price {
        grid-template-columns: 1fr auto;
    }

    .car-feature__price small {
        grid-column: 2;
        text-align: right;
    }

    .car-area__grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .car-dealer__inner {
        grid-template-columns: 1fr 0.7fr;
    }

}


/* =========================================================
   スマートフォン
========================================================= */

@media (max-width: 768px) {

    .car-feature,
    .car-feature--reverse {
        display: flex;
        flex-direction: column;
        gap: 25px;
    }

    .car-feature--reverse .car-feature__visual {
        order: 2;
    }

    .car-feature--reverse .car-feature__content {
        order: 1;
    }

    .car-feature__content {
        padding: 0;
    }

    .car-feature__content h2 {
        font-size: 27px;
    }

    .car-feature__visual .sub-image-placeholder {
        min-height: 260px;
    }

    .car-feature__price {
        grid-template-columns: 1fr auto;
        gap: 8px 15px;
        padding: 18px 0;
    }

    .car-feature__price strong {
        font-size: 22px;
    }

    .car-feature__price small {
        grid-column: 2;
    }

    .car-set-discount {
        padding: 28px 20px;
    }

    .car-set-discount h3 {
        font-size: 21px;
    }

    .car-set-discount__items {
        grid-template-columns: 1fr;
    }

    .car-set-discount__items > div {
        padding: 18px;
    }

    .car-area__grid {
        grid-template-columns: 1fr;
    }

    .car-area__grid > div {
        min-height: auto;
        padding: 23px;
    }

    .car-dealer__inner {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .car-dealer__content h2 {
        font-size: 28px;
    }

    .car-dealer__point {
        padding: 26px 22px;
    }

    .car-dealer__point strong {
        font-size: 21px;
    }

}


/* =========================================================
   アニメーション配慮
========================================================= */

@media (prefers-reduced-motion: reduce) {

    .car-page .js-fade-up,
    .car-page .js-stagger > * {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }

}
/* =========================================================
   料金ページ
   page-price.php
========================================================= */

.price-page {
    background: #ffffff;
    color: #1f2a44;
}


/* =========================================================
   料金について
========================================================= */

.price-intro {
    background: #f7f8fa;
}


/* =========================================================
   業務別料金 共通
========================================================= */

.price-business {
    background: #ffffff;
}

.price-business--construction,
.price-business--car {
    background: #f7f8fa;
}

.price-business__header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 30px;

    margin-bottom: 40px;
}

.price-business__header > div {
    max-width: 720px;
}

.price-business__header h2 {
    margin: 0;

    color: #1f355d;

    font-size: clamp(30px, 3.4vw, 44px);
    line-height: 1.45;
}

.price-business__header h2 + p {
    margin: 18px 0 0;

    color: #5d6675;

    font-size: 15px;
    line-height: 1.9;
}

.price-business__header .btn-outline {
    flex: 0 0 auto;
}


/* =========================================================
   料金表
========================================================= */

.price-table {
    max-width: 1000px;

    margin: 0 auto;

    border-top: 2px solid #1f355d;

    background: #ffffff;
}

.price-table__row {
    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        auto
        55px;

    gap: 22px;

    align-items: center;

    min-height: 72px;

    padding: 19px 22px;

    border-bottom: 1px solid #dfe3e8;
}

.price-table__row > span {
    min-width: 0;

    color: #303d51;

    font-size: 15px;
    font-weight: 600;
    line-height: 1.7;
}

.price-table__row strong {
    color: #1f355d;

    font-size: 20px;
    font-weight: 700;

    white-space: nowrap;
}

.price-table__row small {
    color: #737c88;

    font-size: 11px;

    text-align: right;
}


/* =========================================================
   業務別注記
========================================================= */

.price-business__note {
    max-width: 1000px;

    margin: 18px auto 0;

    color: #6b7481;

    font-size: 13px;
    line-height: 1.8;
}


/* =========================================================
   自動車セット割
========================================================= */

.price-page .car-set-discount {
    max-width: 1000px;
}


/* =========================================================
   注意事項
========================================================= */

.price-notes {
    background: #f7f8fa;
}

.price-notes__box {
    max-width: 900px;

    margin: 0 auto;

    padding: 40px 45px;

    border: 1px solid #dfe3e8;

    background: #ffffff;
}

.price-notes__box ul {
    margin: 0;
    padding: 0;

    list-style: none;
}

.price-notes__box li {
    position: relative;

    margin: 0;
    padding: 18px 0 18px 28px;

    border-bottom: 1px solid #e5e8ec;

    color: #536071;

    font-size: 14px;
    line-height: 1.9;
}

.price-notes__box li:first-child {
    padding-top: 0;
}

.price-notes__box li:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.price-notes__box li::before {
    content: "";

    position: absolute;

    top: 29px;
    left: 3px;

    width: 7px;
    height: 7px;

    border: 1px solid #b49355;

    transform: rotate(45deg);
}

.price-notes__box li:first-child::before {
    top: 11px;
}


/* =========================================================
   各料金セクションの左アクセント
========================================================= */

.price-business__header {
    position: relative;

    padding-left: 22px;
}

.price-business__header::before {
    content: "";

    position: absolute;

    top: 4px;
    bottom: 4px;
    left: 0;

    width: 3px;

    background: #b49355;
}


/* =========================================================
   ホバー
========================================================= */

@media (hover: hover) {

    .price-table__row {
        transition:
            background-color 0.25s ease,
            transform 0.25s ease;
    }

    .price-table__row:hover {
        background: #faf8f3;
    }

}


/* =========================================================
   タブレット
========================================================= */

@media (max-width: 1024px) {

    .price-business__header {
        align-items: center;
    }

    .price-table__row {
        grid-template-columns:
            minmax(0, 1fr)
            auto
            45px;
    }

}


/* =========================================================
   スマートフォン
========================================================= */

@media (max-width: 768px) {

    .price-business__header {
        display: block;

        margin-bottom: 28px;

        padding-left: 16px;
    }

    .price-business__header h2 {
        font-size: 27px;
    }

    .price-business__header h2 + p {
        font-size: 14px;
    }

    .price-business__header .btn-outline {
        width: 100%;

        margin-top: 22px;
    }


    /* 料金表 */

    .price-table {
        border-top-width: 1px;
    }

    .price-table__row {
        grid-template-columns:
            minmax(0, 1fr)
            auto;

        gap: 8px 15px;

        min-height: auto;

        padding: 18px 10px;
    }

    .price-table__row > span {
        grid-column: 1 / -1;

        font-size: 14px;
    }

    .price-table__row strong {
        font-size: 19px;
    }

    .price-table__row small {
        align-self: center;
    }


    /* 注意事項 */

    .price-notes__box {
        padding: 28px 22px;
    }

    .price-notes__box li {
        padding-left: 24px;

        font-size: 13px;
    }

}


/* =========================================================
   小さいスマートフォン
========================================================= */

@media (max-width: 480px) {

    .price-business__header h2 {
        font-size: 25px;
    }

    .price-table__row strong {
        font-size: 18px;
    }

}


/* =========================================================
   アニメーション配慮
========================================================= */

@media (prefers-reduced-motion: reduce) {

    .price-page .js-fade-up,
    .price-page .js-stagger > * {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }

}
/* =========================================================
   ご依頼の流れページ
   page-flow.php
========================================================= */

.flow-page {
    background: #ffffff;
    color: #1f2a44;
}


/* =========================================================
   導入
========================================================= */

.flow-page-intro {
    background: #f7f8fa;
}


/* =========================================================
   タイムライン
========================================================= */

.flow-page-timeline {
    background: #ffffff;
}

.flow-timeline {
    position: relative;
    max-width: 980px;
    margin: 0 auto;
}

/* 縦ライン */
.flow-timeline::before {
    content: "";

    position: absolute;

    top: 0;
    bottom: 0;
    left: 79px;

    width: 1px;

    background: #d8dee6;
}

.flow-timeline__item {
    position: relative;

    display: grid;

    grid-template-columns:
        160px
        minmax(0, 1fr);

    gap: 35px;

    padding: 0 0 45px;
}

.flow-timeline__item:last-child {
    padding-bottom: 0;
}


/* =========================================================
   STEP番号
========================================================= */

.flow-timeline__number {
    position: relative;
    z-index: 2;

    width: 160px;
    min-height: 105px;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    border: 1px solid #d8dee6;

    background: #ffffff;
}


/*
 * ゴールドのひし形
 *
 * 以前はカード中央に配置していたため
 * 「01」と重なっていました。
 *
 * カード下部の縦ライン上へ移動します。
 */
.flow-timeline__number::before {
    content: "";

    position: absolute;

    left: 50%;
    bottom: -7px;

    width: 11px;
    height: 11px;

    transform:
        translateX(-50%)
        rotate(45deg);

    border: 2px solid #b49355;

    background: #ffffff;

    z-index: 3;
}


/* STEP */
.flow-timeline__number span {
    display: block;

    margin-bottom: 8px;

    color: #b49355;

    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.14em;
    line-height: 1;
}


/* 01 / 02 / 03... */
.flow-timeline__number strong {
    display: block;

    color: #1f355d;

    font-size: 28px;
    font-weight: 700;
    line-height: 1;
}


/* =========================================================
   STEP本文
========================================================= */

.flow-timeline__content {
    position: relative;

    padding: 30px 35px;

    border: 1px solid #e0e4e9;

    background: #f8f9fa;
}


/* 左側カードと本文をつなぐ横線 */
.flow-timeline__content::before {
    content: "";

    position: absolute;

    top: 46px;
    left: -36px;

    width: 35px;
    height: 1px;

    background: #d8dee6;
}


.flow-timeline__content h3 {
    margin: 0 0 14px;

    color: #1f355d;

    font-size: 21px;
    line-height: 1.55;
}


.flow-timeline__content p {
    margin: 0;

    color: #5a6575;

    font-size: 15px;
    line-height: 1.95;
}


/* =========================================================
   サポートポイント
========================================================= */

.flow-page-points {
    background: #f7f8fa;
}

.flow-page-points__grid {
    display: grid;

    grid-template-columns:
        repeat(4, 1fr);

    gap: 15px;
}

.flow-page-point {
    min-height: 235px;

    padding: 30px 25px;

    border: 1px solid #dfe3e8;

    background: #ffffff;
}

.flow-page-point > span {
    display: block;

    margin-bottom: 22px;

    color: #b49355;

    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.1em;
}

.flow-page-point h3 {
    margin: 0 0 15px;

    color: #1f355d;

    font-size: 18px;
    line-height: 1.6;
}

.flow-page-point p {
    margin: 0;

    color: #606a79;

    font-size: 14px;
    line-height: 1.9;
}


/* =========================================================
   注意事項
========================================================= */

.flow-page-notes {
    background: #ffffff;
}


/* =========================================================
   ホバー
========================================================= */

@media (hover: hover) {

    .flow-timeline__content,
    .flow-page-point {
        transition:
            transform 0.3s ease,
            box-shadow 0.3s ease,
            border-color 0.3s ease;
    }

    .flow-timeline__item:hover
    .flow-timeline__content {
        transform: translateX(5px);

        border-color:
            rgba(180, 147, 85, 0.45);

        box-shadow:
            0 12px 28px
            rgba(20, 35, 60, 0.06);
    }

    .flow-page-point:hover {
        transform: translateY(-5px);

        border-color:
            rgba(180, 147, 85, 0.45);

        box-shadow:
            0 14px 30px
            rgba(20, 35, 60, 0.08);
    }

}


/* =========================================================
   タブレット
========================================================= */

@media (max-width: 1024px) {

    .flow-page-points__grid {
        grid-template-columns:
            repeat(2, 1fr);
    }

}


/* =========================================================
   スマートフォン
========================================================= */

@media (max-width: 768px) {

    /*
     * PCではSTEPカード下に置いているひし形を、
     * スマホでは左側の縦ライン上へ配置します。
     */

    .flow-timeline::before {
        left: 25px;
    }


    .flow-timeline__item {
        display: block;

        padding-left: 55px;
        padding-bottom: 35px;
    }


    .flow-timeline__number {
        position: relative;

        width: auto;
        min-height: auto;

        display: flex;
        flex-direction: row;
        justify-content: flex-start;
        align-items: center;

        gap: 8px;

        padding: 0 0 14px;

        border: 0;

        background: transparent;
    }


    .flow-timeline__number::before {
        top: 8px;
        bottom: auto;
        left: -30px;

        width: 12px;
        height: 12px;

        transform:
            translate(-50%, -50%)
            rotate(45deg);
    }


    .flow-timeline__number span {
        margin: 0;

        font-size: 10px;
    }


    .flow-timeline__number strong {
        font-size: 20px;
    }


    .flow-timeline__content {
        padding: 24px 22px;
    }


    .flow-timeline__content::before {
        display: none;
    }


    .flow-timeline__content h3 {
        font-size: 18px;
    }


    .flow-timeline__content p {
        font-size: 14px;
    }


    /* サポートポイント */

    .flow-page-points__grid {
        grid-template-columns: 1fr;

        gap: 12px;
    }


    .flow-page-point {
        min-height: auto;

        padding: 25px 22px;
    }

}


/* =========================================================
   小さいスマートフォン
========================================================= */

@media (max-width: 480px) {

    .flow-timeline__item {
        padding-left: 48px;
    }

    .flow-timeline::before {
        left: 21px;
    }

    .flow-timeline__number::before {
        left: -27px;
    }

}


/* =========================================================
   アニメーション配慮
========================================================= */

@media (prefers-reduced-motion: reduce) {

    .flow-page .js-fade-up,
    .flow-page .js-stagger > * {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }

}
/* =========================================================
   よくある質問ページ
   page-faq.php
========================================================= */

.faq-page {
    background: #ffffff;
    color: #1f2a44;
}


/* =========================================================
   導入
========================================================= */

.faq-page-intro {
    background: #f7f8fa;
}


/* =========================================================
   カテゴリーナビ
========================================================= */

.faq-category-nav {
    padding: 45px 0;
    background: #ffffff;
    border-top: 1px solid #e4e8ec;
    border-bottom: 1px solid #e4e8ec;
}

.faq-category-nav__grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 12px;
}

.faq-category-nav__grid a {
    min-height: 92px;

    display: flex;
    flex-direction: column;
    justify-content: center;

    padding: 18px 20px;

    border: 1px solid #dfe3e8;

    background: #ffffff;

    color: #1f355d;
    text-decoration: none;

    font-size: 14px;
    font-weight: 700;
    line-height: 1.55;

    transition:
        transform 0.25s ease,
        border-color 0.25s ease,
        box-shadow 0.25s ease,
        background-color 0.25s ease;
}

.faq-category-nav__grid a span {
    display: block;

    margin-bottom: 8px;

    color: #b49355;

    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.12em;
}

@media (hover: hover) {

    .faq-category-nav__grid a:hover {
        transform: translateY(-4px);

        border-color:
            rgba(180, 147, 85, 0.5);

        background: #faf9f6;

        box-shadow:
            0 12px 26px
            rgba(20, 35, 60, 0.07);
    }

}


/* =========================================================
   FAQカテゴリセクション
========================================================= */

.faq-category-section {
    background: #ffffff;
}

.faq-category-section--alternate {
    background: #f7f8fa;
}


/* =========================================================
   FAQカテゴリ見出し
========================================================= */

.faq-category-section__header {
    max-width: 900px;

    margin: 0 auto 36px;

    padding-left: 22px;

    position: relative;
}

.faq-category-section__header::before {
    content: "";

    position: absolute;

    top: 3px;
    bottom: 3px;
    left: 0;

    width: 3px;

    background: #b49355;
}

.faq-category-section__header h2 {
    margin: 0;

    color: #1f355d;

    font-size: clamp(28px, 3.2vw, 40px);
    line-height: 1.5;
}

.faq-category-section__header .section-title__en {
    margin-bottom: 8px;
}


/* =========================================================
   FAQ一覧
========================================================= */

.faq-page-list {
    max-width: 900px;
    margin: 0 auto;
}


/* =========================================================
   FAQ1件
========================================================= */

.faq-page-item {
    border-bottom: 1px solid #dce1e6;
    background: #ffffff;
}

.faq-page-item:first-child {
    border-top: 1px solid #dce1e6;
}


/* =========================================================
   質問
========================================================= */

.faq-page-item summary {
    position: relative;

    display: flex;
    align-items: center;

    gap: 20px;

    min-height: 82px;

    padding: 22px 65px 22px 24px;

    cursor: pointer;

    list-style: none;

    color: #27364d;

    font-size: 15px;
    font-weight: 700;
    line-height: 1.8;
}

.faq-page-item summary::-webkit-details-marker {
    display: none;
}


/* ＋ */
.faq-page-item summary::after {
    content: "+";

    position: absolute;

    top: 50%;
    right: 25px;

    transform: translateY(-50%);

    color: #b49355;

    font-size: 26px;
    font-weight: 300;

    line-height: 1;
}


/* 開いたとき */
.faq-page-item[open] summary::after {
    content: "−";
}


/* Q */
.faq-page-item__q {
    flex: 0 0 36px;

    color: #b49355;

    font-size: 20px;
    font-weight: 700;
    font-family: serif;
}


/* 質問本文 */
.faq-page-item__question {
    flex: 1;
}


/* =========================================================
   回答
========================================================= */

.faq-page-item__answer {
    display: flex;

    gap: 20px;

    padding:
        0
        65px
        28px
        24px;
}


/* A */
.faq-page-item__a {
    flex: 0 0 36px;

    color: #1f355d;

    font-size: 20px;
    font-weight: 700;
    font-family: serif;
}


/* 回答本文 */
.faq-page-item__answer p {
    flex: 1;

    margin: 0;

    color: #596474;

    font-size: 14px;
    line-height: 2;
}


/* =========================================================
   open時
========================================================= */

.faq-page-item[open] {
    background: #faf9f6;
}

.faq-page-item[open] summary {
    color: #1f355d;
}


/* =========================================================
   スクロール位置調整
   ヘッダー固定時にもカテゴリ見出しが隠れにくくする
========================================================= */

#faq-transport,
#faq-construction,
#faq-waste,
#faq-car,
#faq-general {
    scroll-margin-top: 120px;
}


/* =========================================================
   ホバー
========================================================= */

@media (hover: hover) {

    .faq-page-item summary {
        transition:
            background-color 0.25s ease,
            color 0.25s ease;
    }

    .faq-page-item summary:hover {
        background: #faf9f6;
    }

}


/* =========================================================
   タブレット
========================================================= */

@media (max-width: 1024px) {

    .faq-category-nav__grid {
        grid-template-columns:
            repeat(3, 1fr);
    }

}


/* =========================================================
   スマートフォン
========================================================= */

@media (max-width: 768px) {

    /* カテゴリーナビ */

    .faq-category-nav {
        padding: 30px 0;
    }

    .faq-category-nav__grid {
        grid-template-columns: 1fr 1fr;

        gap: 8px;
    }

    .faq-category-nav__grid a {
        min-height: 78px;

        padding: 14px 15px;

        font-size: 12px;
    }

    .faq-category-nav__grid a:last-child {
        grid-column: 1 / -1;
    }


    /* カテゴリ見出し */

    .faq-category-section__header {
        margin-bottom: 25px;

        padding-left: 15px;
    }

    .faq-category-section__header h2 {
        font-size: 26px;
    }


    /* 質問 */

    .faq-page-item summary {
        gap: 12px;

        min-height: 72px;

        padding:
            19px
            45px
            19px
            15px;

        font-size: 14px;
    }

    .faq-page-item summary::after {
        right: 15px;

        font-size: 22px;
    }

    .faq-page-item__q {
        flex-basis: 25px;

        font-size: 17px;
    }


    /* 回答 */

    .faq-page-item__answer {
        gap: 12px;

        padding:
            0
            15px
            23px
            15px;
    }

    .faq-page-item__a {
        flex-basis: 25px;

        font-size: 17px;
    }

    .faq-page-item__answer p {
        font-size: 13px;
        line-height: 1.9;
    }


    /* スクロール位置 */

    #faq-transport,
    #faq-construction,
    #faq-waste,
    #faq-car,
    #faq-general {
        scroll-margin-top: 90px;
    }

}


/* =========================================================
   小さいスマートフォン
========================================================= */

@media (max-width: 480px) {

    .faq-category-nav__grid {
        grid-template-columns: 1fr;
    }

    .faq-category-nav__grid a:last-child {
        grid-column: auto;
    }

    .faq-category-nav__grid a {
        min-height: 65px;
    }

}


/* =========================================================
   アニメーション配慮
========================================================= */

@media (prefers-reduced-motion: reduce) {

    .faq-page .js-fade-up,
    .faq-page .js-stagger > * {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }

}
/* =========================================================
   FAQページ 最終微調整
========================================================= */

/* カテゴリーナビ */
.faq-category-nav__grid a {
    font-size: 15px;
}

/* FAQ質問 */
.faq-page-item summary {
    font-size: 16px;
}

/* FAQカテゴリ間の余白を少しコンパクトに */
.faq-category-section.section-space {
    padding-top: 75px;
    padding-bottom: 75px;
}

/* スマホ */
@media (max-width: 768px) {

    .faq-category-nav__grid a {
        font-size: 13px;
    }

    .faq-page-item summary {
        font-size: 14px;
    }

    .faq-category-section.section-space {
        padding-top: 55px;
        padding-bottom: 55px;
    }
}
/* =========================================================
   事務所案内ページ
   page-about.php
========================================================= */

.about-page {
    background: #ffffff;
    color: #1f2a44;
}


/* =========================================================
   プロフィール
========================================================= */

.about-profile {
    background: #ffffff;
}

.about-profile__inner {
    display: grid;
    grid-template-columns: 0.78fr 1.22fr;
    gap: 70px;
    align-items: stretch;
}

.about-profile__image {
    min-height: 560px;
}

.about-profile__photo {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 560px;
    object-fit: cover;
}

.about-profile__image .sub-image-placeholder {
    height: 100%;
    min-height: 560px;
    border: 1px solid #dfe3e8;
    background: #f3f5f7;
    color: #87909e;
}

.about-profile__content {
    padding: 25px 0;
}

.about-profile__position {
    margin: 0 0 10px;
    color: #b49355;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.1em;
}

.about-profile__content h3 {
    margin: 0 0 22px;
    color: #1f355d;
    font-size: 36px;
    line-height: 1.4;
}

.about-profile__catch {
    margin: 0 0 30px;
    padding: 0 0 24px;
    border-bottom: 1px solid #dfe3e8;
    color: #1f355d;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.7;
}

.about-profile__text {
    max-width: 680px;
}

.about-profile__text p {
    margin: 0 0 20px;
    color: #596474;
    font-size: 15px;
    line-height: 2.05;
}

.about-profile__text p:last-child {
    margin-bottom: 0;
}

.about-profile__text strong {
    color: #1f355d;
    font-weight: 700;
}


/* =========================================================
   行政書士を目指したきっかけ
========================================================= */

.about-reason {
    position: relative;
    overflow: hidden;
    background: #172844;
    color: #ffffff;
}

.about-reason::after {
    content: "";
    position: absolute;
    top: -170px;
    right: -120px;
    width: 430px;
    height: 430px;
    border: 1px solid rgba(196, 165, 104, 0.15);
    border-radius: 50%;
}

.about-reason__inner {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 0.72fr 1.28fr;
    gap: 70px;
    align-items: start;
}

.about-reason .section-title__en {
    color: #d1b47c;
}

.about-reason h2 {
    margin: 0;
    color: #ffffff;
    font-size: clamp(30px, 3.4vw, 44px);
    line-height: 1.55;
}

.about-reason__text {
    padding-left: 42px;
    border-left: 1px solid rgba(255, 255, 255, 0.18);
}

.about-reason__text p {
    margin: 0 0 22px;
    color: rgba(255, 255, 255, 0.82);
    font-size: 15px;
    line-height: 2.05;
}

.about-reason__quote {
    position: relative;
    margin: 32px 0 !important;
    padding: 28px 30px;
    border-top: 1px solid rgba(209, 180, 124, 0.55);
    border-bottom: 1px solid rgba(209, 180, 124, 0.55);
    color: #f0dfbb !important;
    font-size: 19px !important;
    font-weight: 700;
    line-height: 1.95 !important;
}


/* =========================================================
   経歴
========================================================= */

.about-history {
    background: #f7f8fa;
}

.about-history__timeline {
    max-width: 980px;
    margin: 0 auto;
}

.about-history__item {
    display: grid;
    grid-template-columns: 82px 1fr;
    gap: 28px;
    align-items: start;
    padding: 28px 0;
    border-bottom: 1px solid #dfe3e8;
}

.about-history__item:first-child {
    border-top: 1px solid #dfe3e8;
}

.about-history__item > span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 54px;
    border: 1px solid #b49355;
    background: #ffffff;
    color: #b49355;
    font-size: 13px;
    font-weight: 700;
}

.about-history__item h3 {
    margin: 0 0 9px;
    color: #1f355d;
    font-size: 19px;
    line-height: 1.55;
}

.about-history__item p {
    margin: 0;
    color: #5d6676;
    font-size: 14px;
    line-height: 1.9;
}


/* =========================================================
   現場経験を事業者サポートへ
========================================================= */

.about-field-support {
    background: #ffffff;
}

.about-field-support__inner {
    display: grid;
    grid-template-columns: 0.8fr 1.2fr;
    gap: 70px;
    align-items: start;
}

.about-field-support__heading {
    position: sticky;
    top: 120px;
}

.about-field-support__heading h2 {
    margin: 0;
    color: #1f355d;
    font-size: clamp(30px, 3.4vw, 44px);
    line-height: 1.55;
}

.about-field-support__text {
    padding-left: 40px;
    border-left: 1px solid #dfe3e8;
}

.about-field-support__text p {
    margin: 0 0 20px;
    color: #596474;
    font-size: 15px;
    line-height: 2.05;
}

.about-field-support__text strong {
    color: #b49355;
    font-weight: 700;
}


/* =========================================================
   「現場を知っている」ことが強み
========================================================= */

.about-strength {
    position: relative;
    overflow: hidden;
    background: #f5f6f8;
}

.about-strength__inner {
    max-width: 980px;
    margin: 0 auto;
}

.about-strength .section-title__en {
    text-align: center;
}

.about-strength h2 {
    margin: 0;
    text-align: center;
    color: #1f355d;
    font-size: clamp(32px, 3.8vw, 48px);
    line-height: 1.55;
}

.about-strength__lead {
    max-width: 850px;
    margin: 45px auto 0;
}

.about-strength__lead > p {
    margin: 0 0 22px;
    text-align: center;
    color: #596474;
    font-size: 15px;
    line-height: 1.9;
}

.about-strength__lead ul {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
    margin: 28px 0 32px;
    padding: 0;
    list-style: none;
}

.about-strength__lead li {
    position: relative;
    min-height: 130px;
    display: flex;
    align-items: center;
    padding: 26px 25px 26px 44px;
    border: 1px solid #dfe3e8;
    background: #ffffff;
    color: #1f355d;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.8;
}

.about-strength__lead li::before {
    content: "";
    position: absolute;
    left: 22px;
    width: 8px;
    height: 8px;
    border: 1px solid #b49355;
    transform: rotate(45deg);
}

.about-strength__text {
    max-width: 820px;
    margin: 40px auto 0;
    text-align: center;
}

.about-strength__text p {
    margin: 0 0 20px;
    color: #596474;
    font-size: 15px;
    line-height: 2;
}

.about-strength__closing {
    margin-top: 34px !important;
    padding: 30px 25px;
    border-top: 1px solid #b49355;
    border-bottom: 1px solid #b49355;
    color: #1f355d !important;
    font-size: 19px !important;
    font-weight: 700;
    line-height: 1.9 !important;
}


/* =========================================================
   事務サポート
========================================================= */

.about-staff {
    background: #ffffff;
}

.about-staff__inner {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: 60px;
    align-items: stretch;
}

.about-staff__content {
    padding: 40px 0;
}

.about-staff__content h2 {
    margin: 0 0 24px;
    color: #1f355d;
    font-size: clamp(28px, 3.2vw, 40px);
    line-height: 1.55;
}

.about-staff__content > p:not(.section-title__en) {
    margin: 0;
    color: #5c6676;
    font-size: 15px;
    line-height: 2;
}

.about-staff__image {
    min-height: 380px;
}

.about-staff__photo {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 380px;
    object-fit: cover;
}

.about-staff__image .sub-image-placeholder {
    height: 100%;
    min-height: 380px;
    border: 1px solid #dfe3e8;
    background: #f3f5f7;
    color: #87909e;
}


/* =========================================================
   事務所概要
========================================================= */

.about-office {
    background: #f7f8fa;
}

.about-office__table {
    max-width: 900px;
    margin: 0 auto;
    border-top: 2px solid #1f355d;
}

.about-office__row {
    display: grid;
    grid-template-columns: 220px 1fr;
    min-height: 70px;
    border-bottom: 1px solid #dfe3e8;
    background: #ffffff;
}

.about-office__row dt,
.about-office__row dd {
    margin: 0;
    padding: 20px 22px;
    line-height: 1.8;
}

.about-office__row dt {
    background: #f4f6f8;
    color: #1f355d;
    font-size: 14px;
    font-weight: 700;
}

.about-office__row dd {
    color: #586273;
    font-size: 14px;
}


/* =========================================================
   対応エリア
========================================================= */

.about-area {
    background: #ffffff;
}

.about-area__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}

.about-area-card {
    min-height: 250px;
    padding: 30px 26px;
    border: 1px solid #dfe3e8;
    background: #ffffff;
}

.about-area-card > span {
    display: block;
    margin-bottom: 20px;
    color: #b49355;
    font-size: 12px;
    font-weight: 700;
}

.about-area-card h3 {
    margin: 0 0 14px;
    color: #1f355d;
    font-size: 20px;
    line-height: 1.5;
}

.about-area-card strong {
    display: block;
    margin-bottom: 16px;
    color: #b49355;
    font-size: 18px;
    line-height: 1.5;
}

.about-area-card p {
    margin: 0;
    color: #5f6877;
    font-size: 14px;
    line-height: 1.9;
}


/* =========================================================
   ホバー
========================================================= */

@media (hover: hover) {

    .about-history__item,
    .about-area-card,
    .about-strength__lead li {
        transition:
            transform 0.3s ease,
            box-shadow 0.3s ease,
            border-color 0.3s ease;
    }

    .about-history__item:hover {
        transform: translateX(5px);
    }

    .about-area-card:hover,
    .about-strength__lead li:hover {
        transform: translateY(-5px);
        border-color: rgba(180, 147, 85, 0.45);
        box-shadow: 0 14px 30px rgba(20, 35, 60, 0.08);
    }

}


/* =========================================================
   タブレット
========================================================= */

@media (max-width: 1024px) {

    .about-profile__inner,
    .about-reason__inner,
    .about-field-support__inner,
    .about-staff__inner {
        gap: 42px;
    }

    .about-field-support__heading {
        position: static;
    }

    .about-strength__lead ul {
        grid-template-columns: 1fr;
    }

    .about-strength__lead li {
        min-height: auto;
    }

    .about-area__grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .about-area-card:last-child {
        grid-column: 1 / -1;
    }

}


/* =========================================================
   スマートフォン
========================================================= */

@media (max-width: 768px) {

    .about-profile__inner,
    .about-reason__inner,
    .about-field-support__inner,
    .about-staff__inner {
        grid-template-columns: 1fr;
    }


    /* プロフィール */

    .about-profile__image,
    .about-profile__photo,
    .about-profile__image .sub-image-placeholder {
        min-height: 330px;
        height: 330px;
    }

    .about-profile__content {
        padding: 0;
    }

    .about-profile__content h3 {
        font-size: 29px;
    }

    .about-profile__catch {
        font-size: 19px;
    }

    .about-profile__text p {
        font-size: 14px;
        line-height: 1.95;
    }


    /* 行政書士を目指したきっかけ */

    .about-reason h2 {
        font-size: 28px;
    }

    .about-reason__text {
        padding-left: 20px;
    }

    .about-reason__quote {
        padding: 22px 20px;
        font-size: 17px !important;
    }


    /* HISTORY */

    .about-history__item {
        grid-template-columns: 58px 1fr;
        gap: 15px;
        padding: 22px 0;
    }

    .about-history__item > span {
        width: 44px;
        height: 44px;
    }

    .about-history__item h3 {
        font-size: 17px;
    }


    /* 現場経験 */

    .about-field-support__heading h2 {
        font-size: 28px;
    }

    .about-field-support__text {
        padding-left: 20px;
    }

    .about-field-support__text p {
        font-size: 14px;
        line-height: 1.95;
    }


    /* 強み */

    .about-strength h2 {
        text-align: left;
        font-size: 28px;
    }

    .about-strength .section-title__en {
        text-align: left;
    }

    .about-strength__lead {
        margin-top: 30px;
    }

    .about-strength__lead > p {
        text-align: left;
    }

    .about-strength__lead ul {
        grid-template-columns: 1fr;
    }

    .about-strength__lead li {
        padding: 22px 20px 22px 42px;
    }

    .about-strength__text {
        text-align: left;
    }

    .about-strength__closing {
        padding: 24px 18px;
        font-size: 17px !important;
    }


    /* スタッフ */

    .about-staff__content {
        padding: 0;
    }

    .about-staff__content h2 {
        font-size: 27px;
    }

    .about-staff__image,
    .about-staff__photo,
    .about-staff__image .sub-image-placeholder {
        min-height: 280px;
        height: 280px;
    }


    /* 事務所概要 */

    .about-office__row {
        display: block;
    }

    .about-office__row dt {
        padding: 14px 16px 8px;
        background: #ffffff;
        color: #b49355;
    }

    .about-office__row dd {
        padding: 0 16px 16px;
    }


    /* 対応エリア */

    .about-area__grid {
        grid-template-columns: 1fr;
    }

    .about-area-card:last-child {
        grid-column: auto;
    }

    .about-area-card {
        min-height: auto;
        padding: 25px 22px;
    }

}


/* =========================================================
   小さいスマートフォン
========================================================= */

@media (max-width: 480px) {

    .about-profile__catch {
        font-size: 18px;
    }

    .about-reason h2,
    .about-field-support__heading h2,
    .about-strength h2,
    .about-staff__content h2 {
        font-size: 25px;
    }

}


/* =========================================================
   アニメーション配慮
========================================================= */

@media (prefers-reduced-motion: reduce) {

    .about-page .js-fade-up,
    .about-page .js-stagger > * {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }

}
/* =========================================================
   事務所案内ページ 最終微調整
========================================================= */

/* 代表プロフィールを少し広く見せる */
.about-profile__inner {
    grid-template-columns: 0.72fr 1.28fr;
}

/* 代表写真を少し縦長に */
.about-profile__image,
.about-profile__photo,
.about-profile__image .sub-image-placeholder {
    min-height: 600px;
}

/* 強み3カードの文字を少し読みやすく */
.about-strength__lead li {
    font-size: 15px;
}

/* HISTORY本文を少し読みやすく */
.about-history__item p {
    font-size: 15px;
}

/* スマホでは元の比率に戻す */
@media (max-width: 768px) {

    .about-profile__inner {
        grid-template-columns: 1fr;
    }

    .about-profile__image,
    .about-profile__photo,
    .about-profile__image .sub-image-placeholder {
        min-height: 330px;
        height: 330px;
    }

    .about-strength__lead li,
    .about-history__item p {
        font-size: 14px;
    }
}
/* =========================================================
   お問い合わせページ
   page-contact.php
========================================================= */

.contact-page {
    background: #fff;
    color: #1f2a44;
}


/* =========================================================
   初回相談
========================================================= */

.contact-first {
    background: #f7f8fa;
}

.contact-first .section-title {
    max-width: 760px;
    margin-bottom: 50px;
}

.contact-first__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}


/* =========================================================
   お問い合わせ方法カード
========================================================= */

.contact-method-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 390px;
    padding: 34px 30px;
    border: 1px solid #dfe3e8;
    background: #fff;
}

.contact-method-card__number {
    display: block;
    margin-bottom: 22px;
    color: #b49355;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .1em;
}

.contact-method-card__label {
    margin: 0 0 8px;
    color: #b49355;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .12em;
}

.contact-method-card h3 {
    margin: 0 0 18px;
    color: #1f355d;
    font-size: 23px;
    line-height: 1.5;
}

.contact-method-card > p:not(.contact-method-card__label) {
    margin: 0 0 28px;
    color: #5d6675;
    font-size: 14px;
    line-height: 1.9;
}

.contact-method-card .btn-main,
.contact-method-card .btn-outline,
.contact-phone-button {
    margin-top: auto;
}

.contact-method-card__notice {
    display: block;
    margin-top: auto;
    padding: 14px;
    background: #f4f5f7;
    color: #7a8290;
    font-size: 12px;
    line-height: 1.7;
}


/* 電話番号 */

.contact-phone-button {
    display: block;
    padding: 16px 15px;
    border: 1px solid #1f355d;
    color: #1f355d;
    text-align: center;
    text-decoration: none;
    font-size: 19px;
    font-weight: 700;
    letter-spacing: .04em;
    transition:
        background .3s ease,
        color .3s ease;
}

.contact-phone-button:hover {
    background: #1f355d;
    color: #fff;
}


/* =========================================================
   フォームセクション
========================================================= */

.contact-form-section {
    background: #fff;
}

.contact-form-section .section-title {
    max-width: 760px;
    margin-bottom: 50px;
}

.contact-form-box {
    max-width: 900px;
    margin: 0 auto;
    padding: 55px 65px;
    border: 1px solid #dfe3e8;
    background: #fff;
    box-shadow: 0 12px 40px rgba(25, 45, 75, .05);
}


/* =========================================================
   Contact Form 7
========================================================= */

.matsui-contact-form {
    width: 100%;
}

.matsui-contact-form .form-row {
    margin-bottom: 34px;
}

.matsui-contact-form .form-row:last-of-type {
    margin-bottom: 0;
}

.matsui-contact-form label {
    display: block;
    width: 100%;
}

.matsui-contact-form .form-label {
    display: block;
    margin-bottom: 12px;
    color: #1f355d;
    font-size: 15px;
    font-weight: 700;
}


/* 必須 */

.matsui-contact-form .required {
    display: inline-block;
    margin-left: 7px;
    padding: 3px 8px;
    background: #1f355d;
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.4;
    vertical-align: middle;
}


/* 任意 */

.matsui-contact-form .optional {
    display: inline-block;
    margin-left: 7px;
    padding: 3px 8px;
    border: 1px solid #b49355;
    color: #9a7b42;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.4;
    vertical-align: middle;
}


/* =========================================================
   テキスト入力
========================================================= */

.matsui-contact-form input[type="text"],
.matsui-contact-form input[type="email"],
.matsui-contact-form input[type="tel"],
.matsui-contact-form textarea {
    display: block;
    width: 100%;
    max-width: none;
    box-sizing: border-box;
    padding: 16px 18px;
    border: 1px solid #ccd2da;
    border-radius: 0;
    outline: none;
    background: #fff;
    color: #1f2a44;
    font-family: inherit;
    font-size: 15px;
    line-height: 1.7;
    transition:
        border-color .25s ease,
        box-shadow .25s ease,
        background .25s ease;
}

.matsui-contact-form textarea {
    min-height: 220px;
    resize: vertical;
}

.matsui-contact-form input::placeholder,
.matsui-contact-form textarea::placeholder {
    color: #a0a7b1;
}


/* フォーカス */

.matsui-contact-form input[type="text"]:focus,
.matsui-contact-form input[type="email"]:focus,
.matsui-contact-form input[type="tel"]:focus,
.matsui-contact-form textarea:focus {
    border-color: #b49355;
    box-shadow: 0 0 0 3px rgba(180, 147, 85, .10);
    background: #fff;
}


/* =========================================================
   ラジオボタン
========================================================= */

.matsui-contact-form .wpcf7-radio {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 24px;
}

.matsui-contact-form .wpcf7-list-item {
    margin: 0;
}

.matsui-contact-form .wpcf7-list-item label {
    display: inline-flex;
    align-items: center;
    width: auto;
    cursor: pointer;
}

.matsui-contact-form input[type="radio"] {
    width: 17px;
    height: 17px;
    margin: 0 8px 0 0;
    accent-color: #1f355d;
}

.matsui-contact-form .wpcf7-list-item-label {
    color: #4f5968;
    font-size: 14px;
    line-height: 1.6;
}


/* =========================================================
   プライバシーポリシー同意
========================================================= */

.form-row--privacy {
    margin-top: 42px;
    padding: 25px 28px;
    border: 1px solid #dfe3e8;
    background: #f7f8fa;
}

.form-row--privacy .wpcf7-list-item {
    display: inline-block;
}

.form-row--privacy label {
    display: inline-flex;
    align-items: center;
    width: auto;
}

.form-row--privacy input[type="checkbox"] {
    width: 18px;
    height: 18px;
    margin: 0 10px 0 0;
    accent-color: #1f355d;
}

.form-row--privacy a {
    color: #1f355d;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}


/* =========================================================
   送信ボタン
========================================================= */

.matsui-contact-form .form-submit {
    margin-top: 45px;
    text-align: center;
}

.matsui-contact-form input[type="submit"] {
    width: min(100%, 360px);
    min-height: 64px;
    padding: 16px 35px;
    border: 1px solid #b49355;
    border-radius: 0;
    background: #b49355;
    color: #fff;
    font-family: inherit;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .08em;
    cursor: pointer;
    transition:
        background .3s ease,
        color .3s ease,
        transform .3s ease;
}

.matsui-contact-form input[type="submit"]:hover {
    background: #1f355d;
    border-color: #1f355d;
    transform: translateY(-2px);
}


/* =========================================================
   Contact Form 7 メッセージ
========================================================= */

.wpcf7 form .wpcf7-response-output {
    margin: 30px 0 0;
    padding: 18px 20px;
    border: 1px solid #b49355;
    color: #1f355d;
    font-size: 14px;
    line-height: 1.8;
}

.wpcf7-not-valid-tip {
    margin-top: 7px;
    color: #b34b4b;
    font-size: 12px;
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output {
    border-color: #b49355;
}

.wpcf7 form.sent .wpcf7-response-output {
    border-color: #1f355d;
    background: #f5f7fa;
}


/* =========================================================
   フォーム準備中
========================================================= */

.contact-form-placeholder {
    padding: 60px 30px;
    background: #f7f8fa;
    text-align: center;
}

.contact-form-placeholder p {
    margin: 0 0 8px;
    color: #5d6675;
    line-height: 1.8;
}


/* =========================================================
   ご相談前の注意事項
========================================================= */

.contact-notes {
    background: #f7f8fa;
}

.contact-notes .section-title {
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}

.contact-notes .price-notes__box {
    max-width: 900px;
    margin: 35px auto 0;
}


/* =========================================================
   個人情報
========================================================= */

.contact-privacy {
    background: #fff;
}

.contact-privacy__inner {
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    gap: 70px;
    max-width: 900px;
    margin: 0 auto;
    padding: 45px 0;
    border-top: 1px solid #dfe3e8;
    border-bottom: 1px solid #dfe3e8;
}

.contact-privacy__inner h2 {
    margin: 0;
    color: #1f355d;
    font-size: 26px;
    line-height: 1.6;
}

.contact-privacy__inner > div:last-child p {
    margin: 0 0 22px;
    color: #596474;
    font-size: 14px;
    line-height: 2;
}

.contact-privacy .text-link {
    position: relative;
    display: inline-block;
    padding-bottom: 5px;
    color: #1f355d;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px solid #b49355;
}


/* =========================================================
   ホバー
========================================================= */

@media (hover: hover) {

    .contact-method-card {
        transition:
            transform .3s ease,
            box-shadow .3s ease,
            border-color .3s ease;
    }

    .contact-method-card:hover {
        transform: translateY(-5px);
        border-color: rgba(180, 147, 85, .45);
        box-shadow: 0 14px 32px rgba(20, 35, 60, .08);
    }

}


/* =========================================================
   タブレット
========================================================= */

@media (max-width: 1024px) {

    .contact-first__grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .contact-method-card:last-child {
        grid-column: 1 / -1;
        min-height: 300px;
    }

    .contact-form-box {
        padding: 45px;
    }

}


/* =========================================================
   スマートフォン
========================================================= */

@media (max-width: 768px) {

    .contact-first__grid {
        grid-template-columns: 1fr;
    }

    .contact-method-card,
    .contact-method-card:last-child {
        grid-column: auto;
        min-height: auto;
        padding: 28px 22px;
    }

    .contact-method-card .btn-main,
    .contact-method-card .btn-outline,
    .contact-phone-button {
        margin-top: 15px;
    }

    .contact-form-box {
        padding: 30px 20px;
    }

    .matsui-contact-form .form-row {
        margin-bottom: 28px;
    }

    .matsui-contact-form .wpcf7-radio {
        display: grid;
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .matsui-contact-form textarea {
        min-height: 180px;
    }

    .form-row--privacy {
        padding: 20px 16px;
    }

    .matsui-contact-form input[type="submit"] {
        width: 100%;
    }

    .contact-privacy__inner {
        grid-template-columns: 1fr;
        gap: 25px;
        padding: 35px 0;
    }

    .contact-privacy__inner h2 {
        font-size: 23px;
    }

}


/* =========================================================
   小さいスマートフォン
========================================================= */

@media (max-width: 480px) {

    .contact-form-box {
        padding: 25px 15px;
    }

    .contact-method-card h3 {
        font-size: 20px;
    }

}


/* =========================================================
   アニメーション配慮
========================================================= */

@media (prefers-reduced-motion: reduce) {

    .contact-page .js-fade-up,
    .contact-page .js-stagger > * {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }

}
/* =========================================================
   お問い合わせフォーム 最終調整
========================================================= */

/* フォーム全体を少し広げる */
.contact-form-box {
    max-width: 960px;
    padding: 65px 70px;
}

/* 各入力項目の間隔 */
.matsui-contact-form .form-row {
    margin-bottom: 38px;
}

/* 項目名 */
.matsui-contact-form .form-label {
    margin-bottom: 14px;
    font-size: 16px;
    line-height: 1.6;
}

/* 入力欄 */
.matsui-contact-form input[type="text"],
.matsui-contact-form input[type="email"],
.matsui-contact-form input[type="tel"],
.matsui-contact-form textarea {
    min-height: 54px;
    padding: 15px 18px;
    font-size: 15px;
}

/* ご相談内容 */
.matsui-contact-form textarea {
    min-height: 210px;
}

/* ご相談業務 */
.matsui-contact-form .wpcf7-radio {
    display: grid;
    grid-template-columns: repeat(3, auto);
    justify-content: start;
    column-gap: 28px;
    row-gap: 15px;
}

/* ラジオの文字 */
.matsui-contact-form .wpcf7-list-item-label {
    font-size: 14px;
    line-height: 1.7;
}

/* プライバシーポリシー */
.form-row--privacy {
    margin-top: 45px;
    padding: 24px 28px;
}

/* 送信ボタン */
.matsui-contact-form input[type="submit"] {
    width: 360px;
    min-height: 62px;
    font-size: 15px;
}


/* =========================================================
   タブレット
========================================================= */

@media (max-width: 1024px) {

    .contact-form-box {
        max-width: 90%;
        padding: 50px;
    }

    .matsui-contact-form .wpcf7-radio {
        grid-template-columns: repeat(2, auto);
    }

}


/* =========================================================
   スマートフォン
========================================================= */

@media (max-width: 768px) {

    .contact-form-box {
        max-width: 100%;
        padding: 32px 20px;
    }

    .matsui-contact-form .form-label {
        font-size: 15px;
    }

    .matsui-contact-form .wpcf7-radio {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .matsui-contact-form input[type="submit"] {
        width: 100%;
    }

}
/* =========================================================
   事務所案内ページ 微調整
   現場経験 / 私の強み
========================================================= */


/* =========================================================
   現場経験を、事業者のサポートへ
========================================================= */

.about-experience__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 70px;
    align-items: start;
    max-width: 1080px;
    margin: 50px auto 0;
}

.about-experience__main {
    max-width: 680px;
}

.about-experience__point {
    position: sticky;
    top: 120px;

    display: block;

    padding: 42px 34px;

    border: 1px solid #d7dde4;

    background: #ffffff;

    box-shadow:
        0 16px 35px
        rgba(20, 35, 60, 0.05);
}

.about-experience__point::before {
    content: "";

    display: block;

    width: 42px;
    height: 2px;

    margin-bottom: 25px;

    background: #b49355;
}

.about-experience__point span {
    display: block;

    margin-bottom: 20px;

    color: #b49355;

    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.16em;
}

.about-experience__point strong {
    display: block;

    color: #1f355d;

    font-size: 23px;
    font-weight: 700;

    line-height: 1.85;
}


/* 強調文 */
.about-experience__emphasis {
    margin: 32px 0 !important;

    padding: 24px 27px;

    border-left: 3px solid #b49355;

    background: #ffffff;

    color: #1f355d !important;

    font-size: 19px !important;
    font-weight: 700;

    line-height: 1.9 !important;
}


/* =========================================================
   「現場を知っている」ことが、私の強みです。
========================================================= */

.about-strength {
    background: #f7f8fa;
}

.about-strength__inner {
    max-width: 1000px;
    margin: 0 auto;
}


/* 英字見出し */
.about-strength__inner > .section-title__en {
    margin-bottom: 12px;

    text-align: center;
}


/* メイン見出し */
.about-strength__inner > h2 {
    max-width: 760px;

    margin:
        0
        auto
        48px;

    color: #1f355d;

    text-align: center;

    font-size: clamp(32px, 3.7vw, 46px);
    font-weight: 700;

    line-height: 1.6;
}


/* =========================================================
   3つのお悩み
========================================================= */

.about-strength__questions {
    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 18px;

    margin-bottom: 55px;
}

.about-strength__questions p {
    position: relative;

    display: flex;
    align-items: center;

    min-height: 145px;

    margin: 0;

    padding:
        28px
        24px
        28px
        52px;

    border: 1px solid #d9dee5;

    background: #ffffff;

    color: #1f355d;

    font-size: 15px;
    font-weight: 700;

    line-height: 1.85;

    box-shadow:
        0 10px 26px
        rgba(20, 35, 60, 0.04);
}


/* ?マーク */
.about-strength__questions p::before {
    content: "?";

    position: absolute;

    top: 50%;
    left: 20px;

    transform: translateY(-50%);

    color: #b49355;

    font-family: Georgia, serif;

    font-size: 25px;
    font-weight: 700;
}


/* ゴールド上ライン */
.about-strength__questions p::after {
    content: "";

    position: absolute;

    top: 0;
    left: 0;

    width: 46px;
    height: 2px;

    background: #b49355;
}


/* =========================================================
   強み本文
========================================================= */

.about-strength__text {
    max-width: 760px;

    margin: 0 auto;

    padding:
        38px
        42px;

    border-left: 3px solid #b49355;

    background: #ffffff;
}

.about-strength__text p {
    margin: 0 0 20px;

    color: #596474;

    font-size: 15px;

    line-height: 2.05;
}

.about-strength__text p:last-child {
    margin-bottom: 0;
}

.about-strength__text strong {
    color: #1f355d;

    font-size: 16px;
    font-weight: 700;

    line-height: 2;
}


/* =========================================================
   ホバー
========================================================= */

@media (hover: hover) {

    .about-strength__questions p,
    .about-experience__point {
        transition:
            transform 0.3s ease,
            border-color 0.3s ease,
            box-shadow 0.3s ease;
    }

    .about-strength__questions p:hover {
        transform: translateY(-5px);

        border-color:
            rgba(180, 147, 85, 0.5);

        box-shadow:
            0 15px 30px
            rgba(20, 35, 60, 0.08);
    }

    .about-experience__point:hover {
        transform: translateY(-4px);

        border-color:
            rgba(180, 147, 85, 0.5);

        box-shadow:
            0 18px 38px
            rgba(20, 35, 60, 0.09);
    }

}


/* =========================================================
   タブレット
========================================================= */

@media (max-width: 1024px) {

    .about-experience__inner {
        grid-template-columns:
            minmax(0, 1fr)
            300px;

        gap: 40px;
    }

    .about-experience__point {
        position: static;
    }

}


/* =========================================================
   スマートフォン
========================================================= */

@media (max-width: 768px) {

    /* 現場経験 */

    .about-experience__inner {
        grid-template-columns: 1fr;

        gap: 30px;

        margin-top: 35px;
    }

    .about-experience__main {
        max-width: none;
    }

    .about-experience__point {
        padding: 28px 24px;
    }

    .about-experience__point strong {
        font-size: 19px;
    }

    .about-experience__emphasis {
        margin: 25px 0 !important;

        padding: 20px;

        font-size: 17px !important;
    }


    /* 私の強み */

    .about-strength__inner > h2 {
        margin-bottom: 35px;

        font-size: 28px;
    }

    .about-strength__questions {
        grid-template-columns: 1fr;

        gap: 10px;

        margin-bottom: 35px;
    }

    .about-strength__questions p {
        min-height: auto;

        padding:
            21px
            20px
            21px
            48px;

        font-size: 14px;
    }

    .about-strength__questions p::before {
        left: 18px;

        font-size: 22px;
    }

    .about-strength__text {
        padding:
            28px
            22px;
    }

    .about-strength__text p {
        font-size: 14px;

        line-height: 1.95;
    }

}


/* =========================================================
   小さいスマートフォン
========================================================= */

@media (max-width: 480px) {

    .about-strength__inner > h2 {
        font-size: 25px;
    }

}
/* =========================================================
   自動車登録業務ページ
   page-car-registration.php
========================================================= */

.car-page {
    background: #ffffff;
    color: #1f2a44;
}


/* =========================================================
   FV
========================================================= */

.car-hero {
    background: #f7f8fa;
}


/* =========================================================
   お悩み
========================================================= */

.car-page .transport-worries {
    background: #ffffff;
}


/* =========================================================
   自動車登録について
========================================================= */

.car-page .transport-intro {
    background: #f7f8fa;
}


/* =========================================================
   対応できる手続
========================================================= */

.car-page .transport-requirements {
    background: #ffffff;
}


/* =========================================================
   車庫証明
========================================================= */

.car-garage {
    background: #f7f8fa;
}

.car-garage__inner {
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    gap: 60px;
    align-items: stretch;
}

.car-garage__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 35px 0;
}

.car-garage__content h2 {
    margin: 0 0 22px;
    color: #1f355d;
    font-size: clamp(30px, 3.4vw, 44px);
    line-height: 1.55;
}

.car-garage__content > p:not(.section-title__en) {
    margin: 0 0 18px;
    color: #596474;
    font-size: 15px;
    line-height: 2;
}

.car-garage__image {
    min-height: 390px;
}

.car-garage__image .sub-image-placeholder {
    width: 100%;
    height: 100%;
    min-height: 390px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #dfe3e8;
    background: #ffffff;
    color: #87909e;
}


/* =========================================================
   封印
========================================================= */

.car-seal {
    background: #ffffff;
}

.car-seal__inner {
    display: grid;
    grid-template-columns: 0.95fr 1.05fr;
    gap: 60px;
    align-items: stretch;
}

.car-seal__image {
    min-height: 390px;
}

.car-seal__image .sub-image-placeholder {
    width: 100%;
    height: 100%;
    min-height: 390px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #dfe3e8;
    background: #f3f5f7;
    color: #87909e;
}

.car-seal__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 35px 0;
}

.car-seal__content h2 {
    margin: 0 0 22px;
    color: #1f355d;
    font-size: clamp(30px, 3.4vw, 44px);
    line-height: 1.55;
}

.car-seal__content > p:not(.section-title__en) {
    margin: 0 0 18px;
    color: #596474;
    font-size: 15px;
    line-height: 2;
}


/* =========================================================
   車庫証明・封印 料金表示
========================================================= */

.car-price-simple {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 20px;
    align-items: center;

    margin-top: 25px;
    padding: 20px 0;

    border-top: 1px solid #1f355d;
    border-bottom: 1px solid #dfe3e8;
}

.car-price-simple span {
    color: #4a5667;
    font-size: 14px;
    font-weight: 700;
}

.car-price-simple strong {
    color: #1f355d;
    font-size: 25px;
    font-weight: 700;
    white-space: nowrap;
}

.car-note {
    margin-top: 15px !important;
    color: #707987 !important;
    font-size: 12px !important;
    line-height: 1.8 !important;
}


/* =========================================================
   ご依頼の流れ
========================================================= */

.car-page .transport-flow {
    background: #f7f8fa;
}


/* =========================================================
   メリット
========================================================= */

.car-page .transport-merits {
    background: #172844;
}

.car-page .transport-merits .section-title h2,
.car-page .transport-merits .section-title__en {
    color: #ffffff;
}

.car-page .transport-merits .section-title__en {
    color: #d1b47c;
}

.car-page .transport-merit-card {
    background: rgba(255, 255, 255, 0.04);
    border-color: rgba(255, 255, 255, 0.12);
}

.car-page .transport-merit-card h3 {
    color: #ffffff;
}

.car-page .transport-merit-card p {
    color: rgba(255, 255, 255, 0.76);
}


/* =========================================================
   料金
========================================================= */

.car-page .transport-price {
    background: #ffffff;
}


/* =========================================================
   自動車料金表
========================================================= */

.car-page .transport-price__table {
    max-width: 950px;
    margin: 0 auto;
    border-top: 2px solid #1f355d;
}

.car-page .transport-price__row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 20px;
    align-items: center;

    min-height: 70px;
    padding: 18px 22px;

    border-bottom: 1px solid #dfe3e8;
}

.car-page .transport-price__row span {
    color: #344155;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.7;
}

.car-page .transport-price__row strong {
    color: #1f355d;
    font-size: 20px;
    white-space: nowrap;
}

.car-page .transport-price__note {
    max-width: 950px;
    margin: 20px auto 0;
    color: #6b7481;
    font-size: 12px;
    line-height: 1.9;
}


/* =========================================================
   セット割引
========================================================= */

.car-discount {
    max-width: 950px;
    margin: 45px auto 0;

    padding: 34px 38px;

    border: 1px solid rgba(180, 147, 85, 0.45);

    background: #f7f8fa;
}

.car-discount h3 {
    margin: 0;
    color: #1f355d;
    font-size: 22px;
    line-height: 1.6;
}

.car-discount__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
    margin-top: 25px;
}

.car-discount__grid > div {
    display: flex;
    justify-content: space-between;
    align-items: center;

    gap: 20px;

    padding: 20px 22px;

    background: #ffffff;
}

.car-discount__grid span {
    color: #596474;
    font-size: 14px;
    font-weight: 600;
}

.car-discount__grid strong {
    color: #1f355d;
    font-size: 20px;
}


/* =========================================================
   対応エリア
========================================================= */

.car-page .transport-area {
    background: #f7f8fa;
}

.car-area__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 15px;
}

.car-area-card {
    min-height: 150px;
    padding: 28px 24px;

    border: 1px solid #dfe3e8;

    background: #ffffff;
}

.car-area-card span {
    display: block;
    margin-bottom: 18px;

    color: #b49355;

    font-size: 12px;
    font-weight: 700;
}

.car-area-card strong {
    color: #1f355d;
    font-size: 19px;
    line-height: 1.5;
}


/* =========================================================
   販売店向け
========================================================= */

.car-dealer {
    position: relative;
    overflow: hidden;

    background: #172844;

    color: #ffffff;
}

.car-dealer::before {
    content: "";

    position: absolute;
    top: -160px;
    right: -160px;

    width: 400px;
    height: 400px;

    border: 1px solid rgba(180, 147, 85, 0.12);
    border-radius: 50%;
}

.car-dealer__inner {
    position: relative;
    z-index: 2;

    display: grid;
    grid-template-columns: 1.3fr 0.7fr;

    gap: 55px;

    align-items: center;
}

.car-dealer__inner h2 {
    margin: 0 0 22px;

    color: #ffffff;

    font-size: clamp(30px, 3.4vw, 44px);
    line-height: 1.55;
}

.car-dealer__inner > div:first-child > p:not(.section-title__en) {
    margin: 0;

    color: rgba(255, 255, 255, 0.78);

    font-size: 15px;
    line-height: 2;
}

.car-dealer__box {
    padding: 36px 30px;

    border: 1px solid rgba(255, 255, 255, 0.18);

    background: rgba(255, 255, 255, 0.04);
}

.car-dealer__box span {
    display: block;

    margin-bottom: 20px;

    color: #d1b47c;

    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.15em;
}

.car-dealer__box strong {
    color: #ffffff;

    font-size: 22px;
    line-height: 1.75;
}


/* =========================================================
   FAQ
========================================================= */

.car-page .transport-faq {
    background: #f7f8fa;
}

.car-page .transport-faq__list {
    max-width: 900px;
    margin: 0 auto;
}

.car-page .transport-faq__item {
    border-bottom: 1px solid #dce1e6;
    background: #ffffff;
}

.car-page .transport-faq__item:first-child {
    border-top: 1px solid #dce1e6;
}

.car-page .transport-faq__item summary {
    position: relative;

    padding: 22px 55px 22px 24px;

    cursor: pointer;

    list-style: none;

    color: #1f355d;

    font-size: 15px;
    font-weight: 700;
    line-height: 1.8;
}

.car-page .transport-faq__item summary::-webkit-details-marker {
    display: none;
}

.car-page .transport-faq__item summary::after {
    content: "+";

    position: absolute;

    top: 50%;
    right: 22px;

    transform: translateY(-50%);

    color: #b49355;

    font-size: 24px;
    font-weight: 300;
}

.car-page .transport-faq__item[open] summary::after {
    content: "−";
}

.car-page .transport-faq__item > div {
    padding: 0 24px 24px;

    color: #596474;

    font-size: 14px;
    line-height: 2;
}

.car-page .transport-faq__item[open] {
    background: #faf9f6;
}


/* =========================================================
   ホバー
========================================================= */

@media (hover: hover) {

    .car-area-card,
    .car-discount__grid > div {
        transition:
            transform 0.3s ease,
            border-color 0.3s ease,
            box-shadow 0.3s ease;
    }

    .car-area-card:hover {
        transform: translateY(-5px);

        border-color: rgba(180, 147, 85, 0.5);

        box-shadow:
            0 14px 30px
            rgba(20, 35, 60, 0.08);
    }

}


/* =========================================================
   タブレット
========================================================= */

@media (max-width: 1024px) {

    .car-garage__inner,
    .car-seal__inner {
        gap: 40px;
    }

    .car-area__grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .car-dealer__inner {
        grid-template-columns: 1fr 0.75fr;
        gap: 40px;
    }

}


/* =========================================================
   スマートフォン
========================================================= */

@media (max-width: 768px) {

    /* 車庫証明 */

    .car-garage__inner {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .car-garage__content {
        padding: 0;
    }

    .car-garage__content h2 {
        font-size: 27px;
    }

    .car-garage__image,
    .car-garage__image .sub-image-placeholder {
        min-height: 280px;
    }


    /* 封印 */

    .car-seal__inner {
        display: flex;
        flex-direction: column;
        gap: 30px;
    }

    .car-seal__content {
        order: 1;
        padding: 0;
    }

    .car-seal__image {
        order: 2;
    }

    .car-seal__content h2 {
        font-size: 27px;
    }

    .car-seal__image,
    .car-seal__image .sub-image-placeholder {
        min-height: 280px;
    }


    /* 料金 */

    .car-price-simple strong {
        font-size: 21px;
    }

    .car-page .transport-price__row {
        grid-template-columns: 1fr;
        gap: 8px;
        padding: 18px 10px;
    }

    .car-page .transport-price__row strong {
        font-size: 19px;
    }


    /* セット割 */

    .car-discount {
        padding: 27px 20px;
    }

    .car-discount h3 {
        font-size: 20px;
    }

    .car-discount__grid {
        grid-template-columns: 1fr;
    }


    /* 対応エリア */

    .car-area__grid {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .car-area-card {
        min-height: auto;
        padding: 22px;
    }


    /* 販売店 */

    .car-dealer__inner {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .car-dealer__inner h2 {
        font-size: 27px;
    }

    .car-dealer__box {
        padding: 27px 22px;
    }

    .car-dealer__box strong {
        font-size: 19px;
    }


    /* FAQ */

    .car-page .transport-faq__item summary {
        padding:
            18px
            45px
            18px
            15px;

        font-size: 14px;
    }

    .car-page .transport-faq__item summary::after {
        right: 15px;
    }

    .car-page .transport-faq__item > div {
        padding:
            0
            15px
            20px;

        font-size: 13px;
    }

}


/* =========================================================
   小さいスマートフォン
========================================================= */

@media (max-width: 480px) {

    .car-garage__content h2,
    .car-seal__content h2,
    .car-dealer__inner h2 {
        font-size: 25px;
    }

    .car-price-simple {
        grid-template-columns: 1fr;
        gap: 7px;
    }

}


/* =========================================================
   アニメーション配慮
========================================================= */

@media (prefers-reduced-motion: reduce) {

    .car-page .js-fade-up,
    .car-page .js-stagger > * {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }

}
/* =========================================================
   自動車登録業務ページ
   page-car-registration.php
   松井法務行政書士事務所
========================================================= */

.car-page {
    background: #ffffff;
    color: #1f2a44;
}


/* =========================================================
   FV
========================================================= */

.car-page .car-hero {
    background: #172844;
    color: #ffffff;
}

.car-page .car-hero .sub-hero__lead {
    color: #d1b47c;
}

.car-page .car-hero .sub-hero__title {
    color: #ffffff;
}

.car-page .car-hero .sub-hero__text {
    color: rgba(255, 255, 255, 0.82);
}

.car-page .car-hero .sub-hero__points span {
    color: #ffffff;
}

.car-page .car-hero .sub-image-placeholder {
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.18);
    color: rgba(255, 255, 255, 0.58);
}


/* =========================================================
   お悩み
========================================================= */

.car-page .transport-worries {
    background: #ffffff;
}


/* =========================================================
   自動車登録について
========================================================= */

.car-page .transport-intro {
    background: #f7f8fa;
}


/* =========================================================
   対応できる自動車関連手続
========================================================= */

.car-page .transport-requirements {
    background: #ffffff;
}

.car-page .transport-requirements__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.car-page .transport-requirement-card {
    min-height: 220px;
    padding: 28px 24px;

    border: 1px solid #dfe3e8;
    background: #ffffff;
}

.car-page .transport-requirement-card > span {
    display: block;
    margin-bottom: 24px;

    color: #b49355;

    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.12em;
}

.car-page .transport-requirement-card h3 {
    margin: 0 0 14px;

    color: #1f355d;

    font-size: 19px;
    line-height: 1.5;
}

.car-page .transport-requirement-card p {
    margin: 0;

    color: #596474;

    font-size: 14px;
    line-height: 1.9;
}


/* =========================================================
   車庫証明
========================================================= */

.car-garage {
    background: #f7f8fa;
}

.car-garage__inner {
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    gap: 60px;
    align-items: stretch;
}

.car-garage__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 35px 0;
}

.car-garage__content h2 {
    margin: 0 0 22px;

    color: #1f355d;

    font-size: clamp(30px, 3.4vw, 44px);
    line-height: 1.55;
}

.car-garage__content > p:not(.section-title__en) {
    margin: 0 0 18px;

    color: #596474;

    font-size: 15px;
    line-height: 2;
}

.car-garage__image {
    min-height: 390px;
}

.car-garage__image .sub-image-placeholder {
    width: 100%;
    height: 100%;
    min-height: 390px;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 1px solid #dfe3e8;

    background: #ffffff;
    color: #87909e;
}


/* =========================================================
   封印
========================================================= */

.car-seal {
    background: #ffffff;
}

.car-seal__inner {
    display: grid;
    grid-template-columns: 0.95fr 1.05fr;
    gap: 60px;
    align-items: stretch;
}

.car-seal__image {
    min-height: 390px;
}

.car-seal__image .sub-image-placeholder {
    width: 100%;
    height: 100%;
    min-height: 390px;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 1px solid #dfe3e8;

    background: #f3f5f7;
    color: #87909e;
}

.car-seal__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 35px 0;
}

.car-seal__content h2 {
    margin: 0 0 22px;

    color: #1f355d;

    font-size: clamp(30px, 3.4vw, 44px);
    line-height: 1.55;
}

.car-seal__content > p:not(.section-title__en) {
    margin: 0 0 18px;

    color: #596474;

    font-size: 15px;
    line-height: 2;
}


/* =========================================================
   車庫証明・封印 料金
========================================================= */

.car-price-simple {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 20px;
    align-items: center;

    margin-top: 25px;
    padding: 20px 0;

    border-top: 1px solid #1f355d;
    border-bottom: 1px solid #dfe3e8;
}

.car-price-simple span {
    color: #4a5667;

    font-size: 14px;
    font-weight: 700;
}

.car-price-simple strong {
    color: #1f355d;

    font-size: 25px;
    font-weight: 700;

    white-space: nowrap;
}

.car-note {
    margin-top: 15px !important;

    color: #707987 !important;

    font-size: 12px !important;
    line-height: 1.8 !important;
}


/* =========================================================
   ご依頼の流れ
========================================================= */

.car-page .transport-flow {
    background: #f7f8fa;
}


/* =========================================================
   行政書士に依頼するメリット
========================================================= */

.car-page .transport-merits {
    background: #172844;
}

.car-page .transport-merits .section-title h2 {
    color: #ffffff;
}

.car-page .transport-merits .section-title__en {
    color: #d1b47c;
}

.car-page .transport-merit-card {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.12);
}

.car-page .transport-merit-card > span {
    color: #d1b47c;
}

.car-page .transport-merit-card h3 {
    color: #ffffff;
}

.car-page .transport-merit-card p {
    color: rgba(255, 255, 255, 0.76);
}


/* =========================================================
   料金
========================================================= */

.car-page .transport-price {
    background: #ffffff;
}

.car-page .transport-price__table {
    max-width: 950px;
    margin: 0 auto;

    border-top: 2px solid #1f355d;
}

.car-page .transport-price__row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 20px;
    align-items: center;

    min-height: 70px;
    padding: 18px 22px;

    border-bottom: 1px solid #dfe3e8;
}

.car-page .transport-price__row span {
    color: #344155;

    font-size: 15px;
    font-weight: 600;
    line-height: 1.7;
}

.car-page .transport-price__row strong {
    color: #1f355d;

    font-size: 20px;

    white-space: nowrap;
}

.car-page .transport-price__note {
    max-width: 950px;
    margin: 20px auto 0;

    color: #6b7481;

    font-size: 12px;
    line-height: 1.9;
}


/* =========================================================
   セット割引
========================================================= */

.car-discount {
    max-width: 950px;
    margin: 45px auto 0;
    padding: 34px 38px;

    border: 1px solid rgba(180, 147, 85, 0.45);

    background: #f7f8fa;
}

.car-discount .section-title__en {
    color: #b49355;
}

.car-discount h3 {
    margin: 0;

    color: #1f355d;

    font-size: 22px;
    line-height: 1.6;
}

.car-discount__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;

    margin-top: 25px;
}

.car-discount__grid > div {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;

    padding: 20px 22px;

    background: #ffffff;
}

.car-discount__grid span {
    color: #596474;

    font-size: 14px;
    font-weight: 600;
}

.car-discount__grid strong {
    color: #1f355d;

    font-size: 20px;
}


/* =========================================================
   対応エリア
========================================================= */

.car-page .transport-area {
    background: #f7f8fa;
}

.car-area__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 15px;
}

.car-area-card {
    min-height: 150px;
    padding: 28px 24px;

    border: 1px solid #dfe3e8;

    background: #ffffff;
}

.car-area-card span {
    display: block;

    margin-bottom: 18px;

    color: #b49355;

    font-size: 12px;
    font-weight: 700;
}

.car-area-card strong {
    color: #1f355d;

    font-size: 19px;
    line-height: 1.5;
}


/* =========================================================
   自動車販売店向け
========================================================= */

.car-dealer {
    position: relative;
    overflow: hidden;

    background: #172844;

    color: #ffffff;
}

.car-dealer::before {
    content: "";

    position: absolute;
    top: -160px;
    right: -160px;

    width: 400px;
    height: 400px;

    border: 1px solid rgba(180, 147, 85, 0.12);
    border-radius: 50%;
}

.car-dealer__inner {
    position: relative;
    z-index: 2;

    display: grid;
    grid-template-columns: 1.3fr 0.7fr;
    gap: 55px;
    align-items: center;
}

.car-dealer__inner .section-title__en {
    color: #d1b47c;
}

.car-dealer__inner h2 {
    margin: 0 0 22px;

    color: #ffffff;

    font-size: clamp(30px, 3.4vw, 44px);
    line-height: 1.55;
}

.car-dealer__inner > div:first-child > p:not(.section-title__en) {
    margin: 0;

    color: rgba(255, 255, 255, 0.78);

    font-size: 15px;
    line-height: 2;
}

.car-dealer__box {
    padding: 36px 30px;

    border: 1px solid rgba(255, 255, 255, 0.18);

    background: rgba(255, 255, 255, 0.04);
}

.car-dealer__box span {
    display: block;

    margin-bottom: 20px;

    color: #d1b47c;

    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.15em;
}

.car-dealer__box strong {
    color: #ffffff;

    font-size: 22px;
    line-height: 1.75;
}


/* =========================================================
   FAQ
========================================================= */

.car-page .transport-faq {
    background: #f7f8fa;
}

.car-page .transport-faq__list {
    max-width: 900px;
    margin: 0 auto;
}

.car-page .transport-faq__item {
    border-bottom: 1px solid #dce1e6;

    background: #ffffff;
}

.car-page .transport-faq__item:first-child {
    border-top: 1px solid #dce1e6;
}

.car-page .transport-faq__item summary {
    position: relative;

    padding: 22px 55px 22px 24px;

    cursor: pointer;
    list-style: none;

    color: #1f355d;

    font-size: 15px;
    font-weight: 700;
    line-height: 1.8;
}

.car-page .transport-faq__item summary::-webkit-details-marker {
    display: none;
}

.car-page .transport-faq__item summary::after {
    content: "+";

    position: absolute;
    top: 50%;
    right: 22px;

    transform: translateY(-50%);

    color: #b49355;

    font-size: 24px;
    font-weight: 300;
}

.car-page .transport-faq__item[open] summary::after {
    content: "−";
}

.car-page .transport-faq__item > div {
    padding: 0 24px 24px;

    color: #596474;

    font-size: 14px;
    line-height: 2;
}

.car-page .transport-faq__item[open] {
    background: #faf9f6;
}


/* =========================================================
   最終CTA
========================================================= */

.car-page .transport-final-cta {
    background: #172844;
}

.car-page .transport-final-cta__label {
    color: #d1b47c;
}

.car-page .transport-final-cta h2 {
    color: #ffffff;
}

.car-page .transport-final-cta p {
    color: rgba(255, 255, 255, 0.8);
}


/* =========================================================
   ホバー
========================================================= */

@media (hover: hover) {

    .car-page .transport-requirement-card,
    .car-area-card,
    .car-discount__grid > div {
        transition:
            transform 0.3s ease,
            border-color 0.3s ease,
            box-shadow 0.3s ease;
    }

    .car-page .transport-requirement-card:hover,
    .car-area-card:hover {
        transform: translateY(-5px);

        border-color: rgba(180, 147, 85, 0.5);

        box-shadow:
            0 14px 30px
            rgba(20, 35, 60, 0.08);
    }
}


/* =========================================================
   タブレット
========================================================= */

@media (max-width: 1024px) {

    .car-page .transport-requirements__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .car-garage__inner,
    .car-seal__inner {
        gap: 40px;
    }

    .car-area__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .car-dealer__inner {
        grid-template-columns: 1fr 0.75fr;
        gap: 40px;
    }
}


/* =========================================================
   スマートフォン
========================================================= */

@media (max-width: 768px) {

    /* FV */

    .car-page .car-hero {
        background: #172844;
    }


    /* 対応できる手続 */

    .car-page .transport-requirements__grid {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .car-page .transport-requirement-card {
        min-height: auto;
        padding: 23px 20px;
    }

    .car-page .transport-requirement-card > span {
        margin-bottom: 15px;
    }

    .car-page .transport-requirement-card h3 {
        font-size: 18px;
    }


    /* 車庫証明 */

    .car-garage__inner {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .car-garage__content {
        padding: 0;
    }

    .car-garage__content h2 {
        font-size: 27px;
    }

    .car-garage__image,
    .car-garage__image .sub-image-placeholder {
        min-height: 280px;
    }


    /* 封印 */

    .car-seal__inner {
        display: flex;
        flex-direction: column;
        gap: 30px;
    }

    .car-seal__content {
        order: 1;
        padding: 0;
    }

    .car-seal__image {
        order: 2;
    }

    .car-seal__content h2 {
        font-size: 27px;
    }

    .car-seal__image,
    .car-seal__image .sub-image-placeholder {
        min-height: 280px;
    }


    /* 料金 */

    .car-price-simple strong {
        font-size: 21px;
    }

    .car-page .transport-price__row {
        grid-template-columns: 1fr;
        gap: 8px;

        padding: 18px 10px;
    }

    .car-page .transport-price__row strong {
        font-size: 19px;
    }


    /* セット割 */

    .car-discount {
        padding: 27px 20px;
    }

    .car-discount h3 {
        font-size: 20px;
    }

    .car-discount__grid {
        grid-template-columns: 1fr;
    }


    /* 対応エリア */

    .car-area__grid {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .car-area-card {
        min-height: auto;
        padding: 22px;
    }


    /* 販売店 */

    .car-dealer__inner {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .car-dealer__inner h2 {
        font-size: 27px;
    }

    .car-dealer__box {
        padding: 27px 22px;
    }

    .car-dealer__box strong {
        font-size: 19px;
    }


    /* FAQ */

    .car-page .transport-faq__item summary {
        padding: 18px 45px 18px 15px;

        font-size: 14px;
    }

    .car-page .transport-faq__item summary::after {
        right: 15px;
    }

    .car-page .transport-faq__item > div {
        padding: 0 15px 20px;

        font-size: 13px;
    }
}


/* =========================================================
   小さいスマートフォン
========================================================= */

@media (max-width: 480px) {

    .car-garage__content h2,
    .car-seal__content h2,
    .car-dealer__inner h2 {
        font-size: 25px;
    }

    .car-price-simple {
        grid-template-columns: 1fr;
        gap: 7px;
    }

    .car-discount__grid > div {
        align-items: flex-start;
        flex-direction: column;
        gap: 6px;
    }
}


/* =========================================================
   アニメーション配慮
========================================================= */

@media (prefers-reduced-motion: reduce) {

    .car-page .js-fade-up,
    .car-page .js-stagger > * {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
}
/* =========================================================
   下層ページ 共通CTAボタン
   LINE / お問い合わせフォーム
========================================================= */

/* ボタンを横並び */
.transport-final-cta__buttons,
.final-cta__buttons,
.cta-buttons,
.office-final-cta__buttons,
.contact-final-cta__buttons {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 16px;

    margin-top: 32px;
}


/* =========================================================
   CTA内リンク 共通
========================================================= */

.transport-final-cta__buttons a,
.final-cta__buttons a,
.cta-buttons a,
.office-final-cta__buttons a,
.contact-final-cta__buttons a {
    display: inline-flex;
    justify-content: center;
    align-items: center;

    min-width: 240px;
    min-height: 56px;
    padding: 14px 28px;

    text-decoration: none !important;

    font-size: 15px;
    font-weight: 700;
    line-height: 1.4;

    transition:
        background-color 0.25s ease,
        color 0.25s ease,
        border-color 0.25s ease,
        transform 0.25s ease;
}


/* =========================================================
   1つ目：LINE
   ゴールド背景
========================================================= */

.transport-final-cta__buttons a:first-child,
.final-cta__buttons a:first-child,
.cta-buttons a:first-child,
.office-final-cta__buttons a:first-child,
.contact-final-cta__buttons a:first-child {
    background: #b49355 !important;
    border: 1px solid #b49355 !important;
    color: #ffffff !important;
}


/* =========================================================
   2つ目：お問い合わせフォーム
   白枠
========================================================= */

.transport-final-cta__buttons a:last-child,
.final-cta__buttons a:last-child,
.cta-buttons a:last-child,
.office-final-cta__buttons a:last-child,
.contact-final-cta__buttons a:last-child {
    background: transparent !important;
    border: 1px solid rgba(255, 255, 255, 0.75) !important;
    color: #ffffff !important;
}


/* =========================================================
   hover
========================================================= */

@media (hover: hover) {

    /* LINE */

    .transport-final-cta__buttons a:first-child:hover,
    .final-cta__buttons a:first-child:hover,
    .cta-buttons a:first-child:hover,
    .office-final-cta__buttons a:first-child:hover,
    .contact-final-cta__buttons a:first-child:hover {
        background: #c4a261 !important;
        border-color: #c4a261 !important;
        color: #ffffff !important;

        transform: translateY(-2px);
    }


    /* フォーム */

    .transport-final-cta__buttons a:last-child:hover,
    .final-cta__buttons a:last-child:hover,
    .cta-buttons a:last-child:hover,
    .office-final-cta__buttons a:last-child:hover,
    .contact-final-cta__buttons a:last-child:hover {
        background: #ffffff !important;
        border-color: #ffffff !important;
        color: #172844 !important;

        transform: translateY(-2px);
    }
}


/* =========================================================
   スマートフォン
========================================================= */

@media (max-width: 768px) {

    .transport-final-cta__buttons,
    .final-cta__buttons,
    .cta-buttons,
    .office-final-cta__buttons,
    .contact-final-cta__buttons {
        flex-direction: column;

        width: 100%;
        max-width: 340px;

        margin: 28px auto 0;

        gap: 12px;
    }


    .transport-final-cta__buttons a,
    .final-cta__buttons a,
    .cta-buttons a,
    .office-final-cta__buttons a,
    .contact-final-cta__buttons a {
        width: 100%;
        min-width: 0;
        min-height: 54px;

        padding: 14px 20px;

        font-size: 14px;
    }
}

/* =========================================================
   TOPページ スマホ表示 最終修正
   front-page.php 対応
========================================================= */

@media screen and (max-width: 768px) {

    /* =====================================================
       基本
    ===================================================== */

    html,
    body {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden;
    }

    *,
    *::before,
    *::after {
        box-sizing: border-box;
    }

    .top-page {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden;
    }

    .container {
        width: 100%;
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
        padding-left: 20px;
        padding-right: 20px;
    }


    /* =====================================================
       TOP FV
       ★ここを完全に1カラムへ
    ===================================================== */

    .top-page .hero {
        width: 100%;
        max-width: 100%;

        padding: 50px 0 45px;

        overflow: hidden;
    }

    .top-page .hero__inner {
        display: flex !important;
        flex-direction: column !important;

        grid-template-columns: none !important;

        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;

        margin: 0 auto !important;
        padding-left: 20px !important;
        padding-right: 20px !important;

        gap: 28px !important;
    }

    .top-page .hero__content {
        display: block;

        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;

        margin: 0 !important;
        padding: 0 !important;
    }

    .top-page .hero__lead {
        width: 100% !important;
        max-width: 100% !important;

        margin: 0 0 10px !important;

        font-size: 15px !important;
        line-height: 1.7 !important;

        word-break: keep-all !important;
        overflow-wrap: normal !important;
    }

    .top-page .hero__title {
        display: block;

        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;

        margin: 0 0 18px !important;

        color: #172844;

        font-size: 35px !important;
        font-weight: 700;
        line-height: 1.35 !important;

        letter-spacing: 0 !important;

        word-break: keep-all !important;
        overflow-wrap: normal !important;
    }

    .top-page .hero__title span {
        display: inline;

        color: #b49355;

        font-size: inherit !important;
        line-height: inherit !important;
    }

    .top-page .hero__text {
        display: block;

        width: 100% !important;
        max-width: 100% !important;

        margin: 0;

        font-size: 14px !important;
        line-height: 1.9 !important;

        word-break: normal;
    }


    /* =====================================================
       TOP FV画像
    ===================================================== */

    .top-page .hero__image {
        display: flex;

        align-items: center;
        justify-content: center;

        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;

        height: auto !important;
        min-height: 260px !important;

        margin: 0 !important;
        padding: 0 !important;
    }

    .top-page .hero__photo {
        display: block;

        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;

        object-fit: cover;
    }

    .top-page .hero__image > p {
        display: flex;

        align-items: center;
        justify-content: center;

        width: 100%;
        min-height: 260px;

        margin: 0;

        border: 1px solid #dfe3e8;

        background: #f3f5f7;

        color: #87909e;
    }


    /* =====================================================
       FV直下 3ポイント
    ===================================================== */

    .top-page .hero-cta {
        width: 100%;
    }

    .top-page .hero-cta__inner {
        width: 100%;
        max-width: 100%;

        padding-left: 20px;
        padding-right: 20px;
    }

    .top-page .hero-points {
        display: grid !important;
        grid-template-columns: 1fr !important;

        width: 100%;

        gap: 8px;
    }

    .top-page .hero-point {
        width: 100%;

        justify-content: flex-start;
    }


    /* =====================================================
       FVボタン
    ===================================================== */

    .top-page .hero-buttons {
        display: grid !important;
        grid-template-columns: 1fr !important;

        width: 100%;

        gap: 10px;

        margin-top: 15px;
    }

    .top-page .hero-button {
        display: flex;
        align-items: center;
        justify-content: center;

        width: 100% !important;
        min-width: 0 !important;
        min-height: 52px;

        margin: 0 !important;
    }


    /* =====================================================
       お悩み
    ===================================================== */

    .top-page .worries__grid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;

        gap: 10px;
    }

    .top-page .worry-card {
        width: 100%;
        min-width: 0;

        padding: 18px 12px;
    }


    /* =====================================================
       代表ストーリー
    ===================================================== */

    .top-page .story__inner {
        display: flex !important;
        flex-direction: column !important;

        grid-template-columns: none !important;

        width: 100%;
        max-width: 100%;

        gap: 28px;
    }

    .top-page .story__image,
    .top-page .story__content {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }


    /* =====================================================
       取扱業務
    ===================================================== */

    .top-page .services__grid {
        display: grid !important;
        grid-template-columns: 1fr !important;

        width: 100%;

        gap: 10px;
    }

    .top-page .service-card {
        width: 100%;
        min-width: 0;
    }


    /* =====================================================
       選ばれる理由
    ===================================================== */

    .top-page .reasons__grid {
        display: grid !important;
        grid-template-columns: 1fr !important;

        gap: 10px;
    }

    .top-page .staff-support {
        display: flex !important;
        flex-direction: column !important;

        grid-template-columns: none !important;

        gap: 25px;
    }

    .top-page .staff-support__content,
    .top-page .staff-support__image {
        width: 100% !important;
        max-width: 100% !important;
    }


    /* =====================================================
       中間CTA
    ===================================================== */

    .top-page .consultation-cta__inner {
        display: flex !important;
        flex-direction: column !important;

        grid-template-columns: none !important;

        gap: 25px;
    }

    .top-page .consultation-cta__content,
    .top-page .consultation-cta__buttons {
        width: 100%;
        max-width: 100%;
    }

    .top-page .consultation-cta__buttons {
        display: grid !important;
        grid-template-columns: 1fr !important;

        gap: 10px;
    }


    /* =====================================================
       ご依頼の流れ
    ===================================================== */

    .top-page .flow__list {
        width: 100%;
    }

    .top-page .flow-step {
        width: 100%;

        grid-template-columns: 45px minmax(0, 1fr) !important;
    }


    /* =====================================================
       料金
    ===================================================== */

    .top-page .price-row {
        display: grid !important;

        grid-template-columns:
            34px
            minmax(0, 1fr) !important;

        gap: 10px !important;
    }

    .top-page .price-row__price {
        grid-column: 2;

        width: 100%;

        margin-top: 8px;

        text-align: left !important;
    }


    /* =====================================================
       ブログ
    ===================================================== */

    .top-page .blog__grid {
        display: grid !important;
        grid-template-columns: 1fr !important;

        gap: 15px;
    }


    /* =====================================================
       対応エリア
    ===================================================== */

    .top-page .area__top {
        display: flex !important;
        flex-direction: column !important;

        grid-template-columns: none !important;

        gap: 28px;
    }

    .top-page .area__map,
    .top-page .area__content {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .top-page .area__details {
        display: grid !important;
        grid-template-columns: 1fr !important;

        gap: 10px;
    }
}
/* =========================================================
   375px以下
========================================================= */

@media screen and (max-width: 375px) {

    .site-logo {
        font-size: 15px;
    }

    .top-page .hero__title {
        font-size: 32px !important;
    }
}

/* =========================================================
   ハンバーガーメニュー 完成版
   header.php / animation.js 対応
========================================================= */

/* PCではハンバーガーボタン・モバイルCTAを非表示 */
.menu-toggle {
    display: none;
}

.global-nav__mobile-cta {
    display: none;
}


/* =========================================================
   スマートフォン
========================================================= */

@media screen and (max-width: 768px) {

    /* -----------------------------------------
       ヘッダー
    ----------------------------------------- */

    .site-header {
        position: relative;
        z-index: 9999;
        width: 100%;
        background: #ffffff;
    }

    .header-top {
        position: relative;
        z-index: 2;
        width: 100%;
        padding: 0;
        background: #ffffff;
    }

    .header-top__inner {
        position: relative;

        display: flex;
        align-items: center;
        justify-content: space-between;

        width: 100%;
        max-width: none;
        min-height: 68px;

        margin: 0;
        padding: 0 70px 0 18px;
    }

    .site-logo {
        position: relative;
        z-index: 3;

        display: block;

        width: auto;
        max-width: 100%;

        margin: 0;

        color: var(--deep-navy);
        font-size: 16px;
        font-weight: 700;
        line-height: 1.4;

        white-space: nowrap;
        text-decoration: none;
    }

    .header-contact {
        display: none !important;
    }


    /* -----------------------------------------
       ハンバーガーボタン
    ----------------------------------------- */

    .menu-toggle {
        position: absolute !important;

        top: 50% !important;
        right: 16px !important;

        z-index: 100001 !important;

        display: flex !important;
        flex-direction: column;
        align-items: center;
        justify-content: center;

        width: 44px !important;
        height: 44px !important;

        margin: 0 !important;
        padding: 0 !important;

        transform: translateY(-50%);

        border: 0 !important;
        border-radius: 0;
        background: transparent !important;

        appearance: none;
        -webkit-appearance: none;

        cursor: pointer;
    }

    .menu-toggle span {
        display: block !important;

        width: 26px !important;
        height: 2px !important;

        margin: 3px 0 !important;
        padding: 0 !important;

        border: 0 !important;
        background: var(--deep-navy) !important;

        opacity: 1 !important;

        transition:
            transform 0.3s ease,
            opacity 0.3s ease,
            background-color 0.3s ease;
    }


    /* -----------------------------------------
       開いた時は×
    ----------------------------------------- */

    .menu-toggle.is-open {
        position: fixed !important;

        top: 12px !important;
        right: 16px !important;

        transform: none !important;
    }

    .menu-toggle.is-open span {
        background: #ffffff !important;
    }

    .menu-toggle.is-open span:nth-child(1) {
        transform: translateY(8px) rotate(45deg);
    }

    .menu-toggle.is-open span:nth-child(2) {
        opacity: 0 !important;
    }

    .menu-toggle.is-open span:nth-child(3) {
        transform: translateY(-8px) rotate(-45deg);
    }


    /* -----------------------------------------
       PC用ナビ帯をスマホでは高さ0にする
       パネル自体はfixedで表示
    ----------------------------------------- */

    .global-nav {
        position: static !important;

        display: block !important;

        width: 100% !important;
        height: 0 !important;

        margin: 0 !important;
        padding: 0 !important;

        overflow: visible !important;

        background: transparent !important;
    }


    /* -----------------------------------------
       スライドメニュー
    ----------------------------------------- */

    .global-nav__panel {
        position: fixed !important;

        top: 0 !important;
        right: 0 !important;
        bottom: auto !important;
        left: auto !important;

        z-index: 100000 !important;

        display: block !important;

        width: 86vw !important;
        max-width: 360px !important;
        min-width: 280px !important;

        height: 100vh !important;
        height: 100dvh !important;

        margin: 0 !important;
        padding: 82px 22px 35px !important;

        overflow-x: hidden !important;
        overflow-y: auto !important;

        background: var(--deep-navy) !important;
        color: #ffffff !important;

        visibility: hidden !important;
        opacity: 0 !important;

        transform: translateX(100%) !important;

        pointer-events: none !important;

        transition:
            transform 0.3s ease,
            opacity 0.3s ease,
            visibility 0.3s ease !important;
    }

    .global-nav__panel.is-open {
        visibility: visible !important;
        opacity: 1 !important;

        transform: translateX(0) !important;

        pointer-events: auto !important;
    }


    /* -----------------------------------------
       メニュー一覧
    ----------------------------------------- */

    .global-nav__panel .global-nav__list {
        display: block !important;

        width: 100% !important;
        max-width: none !important;

        margin: 0 !important;
        padding: 0 !important;

        background: transparent !important;

        list-style: none !important;
    }

    .global-nav__panel .global-nav__list li {
        display: block !important;

        width: 100% !important;

        margin: 0 !important;
        padding: 0 !important;

        background: transparent !important;

        border-left: 0 !important;
        border-right: 0 !important;
        border-bottom:
            1px solid rgba(255, 255, 255, 0.16) !important;
    }

    .global-nav__panel .global-nav__list li:first-child {
        border-top:
            1px solid rgba(255, 255, 255, 0.16) !important;
    }

    .global-nav__panel .global-nav__list li a {
        display: block !important;

        width: 100% !important;

        margin: 0 !important;
        padding: 15px 4px !important;

        background: transparent !important;

        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;

        font-size: 14px !important;
        font-weight: 600 !important;
        line-height: 1.5 !important;

        text-align: left !important;
        text-decoration: none !important;
        white-space: normal !important;

        opacity: 1 !important;
        visibility: visible !important;
    }


    /* -----------------------------------------
       モバイルメニュー下部CTA
    ----------------------------------------- */

    .global-nav__mobile-cta {
        display: grid !important;
        grid-template-columns: 1fr !important;

        gap: 10px !important;

        width: 100% !important;

        margin-top: 28px !important;
    }

    .global-nav__mobile-cta a {
        display: flex !important;

        align-items: center !important;
        justify-content: center !important;

        width: 100% !important;
        min-height: 50px !important;

        padding: 12px 15px !important;

        font-size: 14px !important;
        font-weight: 700 !important;

        text-decoration: none !important;
    }

    .global-nav__line {
        border: 1px solid var(--gold) !important;
        background: var(--gold) !important;

        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
    }

    .global-nav__contact {
        border:
            1px solid rgba(255, 255, 255, 0.75) !important;

        background: transparent !important;

        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
    }


    /* -----------------------------------------
       メニュー表示中
    ----------------------------------------- */

    body.menu-open {
        overflow: hidden !important;
    }
}


/* =========================================================
   PC
========================================================= */

@media screen and (min-width: 769px) {

    .menu-toggle {
        display: none !important;
    }

    .global-nav {
        display: block !important;
    }

    .global-nav__panel {
        position: static !important;

        display: block !important;

        width: auto !important;
        max-width: none !important;
        min-width: 0 !important;
        height: auto !important;

        margin: 0 !important;
        padding: 0 !important;

        overflow: visible !important;

        background: transparent !important;

        visibility: visible !important;
        opacity: 1 !important;

        transform: none !important;

        pointer-events: auto !important;
    }

    .global-nav__mobile-cta {
        display: none !important;
    }
}


/* =========================================================
   動きを減らす設定
========================================================= */

@media (prefers-reduced-motion: reduce) {

    .menu-toggle span,
    .global-nav__panel {
        transition: none !important;
    }
}
/* =========================================================
   ハンバーガー 閉じるボタン最終修正
========================================================= */

@media screen and (max-width: 768px) {

    /* メニューを最前面 */
    .global-nav__panel {
        z-index: 99998 !important;
    }

    /* ☰ / × ボタンをメニューよりさらに前へ */
    .menu-toggle {
        z-index: 100000 !important;
        pointer-events: auto !important;
    }

    /* 開いている時 */
    .menu-toggle.is-open {
        position: fixed !important;
        top: 18px !important;
        right: 18px !important;

        width: 44px !important;
        height: 44px !important;

        transform: none !important;

        background: transparent !important;

        z-index: 100000 !important;
        pointer-events: auto !important;
    }

    /* ×を白にする */
    .menu-toggle.is-open span {
        position: absolute !important;

        width: 28px !important;
        height: 2px !important;

        margin: 0 !important;

        background: #ffffff !important;
    }

    .menu-toggle.is-open span:nth-child(1) {
        transform: rotate(45deg) !important;
    }

    .menu-toggle.is-open span:nth-child(2) {
        opacity: 0 !important;
    }

    .menu-toggle.is-open span:nth-child(3) {
        transform: rotate(-45deg) !important;
    }
}
@media screen and (max-width: 768px) {

    .site-header {
        position: relative;
        z-index: 9999;
    }

    .menu-toggle {
        position: absolute !important;
        top: 12px !important;
        right: 16px !important;

        display: flex !important;
        flex-direction: column;
        align-items: center;
        justify-content: center;

        width: 44px !important;
        height: 44px !important;

        padding: 0 !important;
        margin: 0 !important;

        border: 0 !important;
        background: transparent !important;

        z-index: 100001 !important;
        cursor: pointer;
    }

    .menu-toggle span {
        display: block !important;

        width: 26px !important;
        height: 2px !important;

        margin: 3px 0 !important;

        background: #0b2a50 !important;

        transition: 0.3s ease;
    }


    /* メニュー */
    .global-nav__panel {
        position: fixed !important;

        top: 0 !important;
        right: 0 !important;

        width: 86vw !important;
        max-width: 360px !important;
        height: 100dvh !important;

        padding: 75px 22px 35px !important;

        background: #0b2a50 !important;

        transform: translateX(100%) !important;

        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;

        z-index: 100000 !important;

        transition:
            transform 0.3s ease,
            opacity 0.3s ease;
    }


    .global-nav__panel.is-open {
        transform: translateX(0) !important;

        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
    }


    /* 開いたらボタンを固定 */
    .menu-toggle.is-open {
        position: fixed !important;

        top: 12px !important;
        right: 16px !important;

        z-index: 100001 !important;
    }


    /* 三本線 → × */
    .menu-toggle.is-open span {
        position: absolute !important;

        margin: 0 !important;

        background: #ffffff !important;
    }

    .menu-toggle.is-open span:nth-child(1) {
        transform: rotate(45deg) !important;
    }

    .menu-toggle.is-open span:nth-child(2) {
        opacity: 0 !important;
    }

    .menu-toggle.is-open span:nth-child(3) {
        transform: rotate(-45deg) !important;
    }


    body.menu-open {
        overflow: hidden !important;
    }
}
/* =========================================================
   ハンバーガー ×ボタン位置修正
   WordPress管理バー対応
========================================================= */

@media screen and (max-width: 768px) {

    /* 通常 */
    .menu-toggle.is-open {
        position: fixed !important;

        top: 12px !important;
        right: 16px !important;

        width: 44px !important;
        height: 44px !important;

        z-index: 100001 !important;

        transform: none !important;

        display: flex !important;
        align-items: center;
        justify-content: center;

        pointer-events: auto !important;
    }


    /* WordPressログイン中 */
    body.admin-bar .menu-toggle.is-open {
        top: 58px !important;
    }


    /* ×の線 */
    .menu-toggle.is-open span {
        position: absolute !important;

        display: block !important;

        width: 27px !important;
        height: 2px !important;

        margin: 0 !important;

        background: #ffffff !important;

        opacity: 1 !important;
    }


    .menu-toggle.is-open span:nth-child(1) {
        transform: rotate(45deg) !important;
    }


    .menu-toggle.is-open span:nth-child(2) {
        opacity: 0 !important;
    }


    .menu-toggle.is-open span:nth-child(3) {
        transform: rotate(-45deg) !important;
    }
}
/* =========================================================
   建設業許可ページ
   スマホ専用 最終調整
========================================================= */

@media screen and (max-width: 768px) {

    /* =====================================================
       ページ全体
    ===================================================== */

    .construction-page {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden;
    }

    .construction-page .container {
        width: 100%;
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
        padding-left: 20px;
        padding-right: 20px;
    }

    .construction-page .section-space {
        padding-top: 48px;
        padding-bottom: 48px;
    }


    /* =====================================================
       FV
    ===================================================== */

    .construction-page .sub-hero {
        padding-top: 46px;
        padding-bottom: 42px;
    }

    .construction-page .sub-hero__inner {
        display: flex !important;
        flex-direction: column !important;

        width: 100%;
        max-width: 100%;

        gap: 28px;
    }

    .construction-page .sub-hero__content,
    .construction-page .sub-hero__image {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .construction-page .sub-hero__lead {
        margin-bottom: 10px;

        font-size: 12px !important;
        line-height: 1.6;

        letter-spacing: 0.08em;
    }

    .construction-page .sub-hero__title {
        margin: 0 0 18px;

        font-size: 31px !important;
        line-height: 1.45 !important;

        letter-spacing: 0 !important;

        word-break: keep-all;
    }

    .construction-page .sub-hero__text {
        margin: 0;

        font-size: 14px !important;
        line-height: 1.9 !important;
    }

    .construction-page .sub-hero__points {
        display: flex;
        flex-wrap: wrap;

        gap: 8px 10px;

        margin-top: 20px;
    }

    .construction-page .sub-hero__points span {
        font-size: 11px;
        line-height: 1.5;
    }

    .construction-page .sub-hero__image,
    .construction-page .sub-image-placeholder {
        min-height: 250px !important;
    }


    /* =====================================================
       FV直下 ミニCTA
    ===================================================== */

    .construction-page .transport-mini-cta {
        padding: 18px 0;
    }

    .construction-page .transport-mini-cta__inner {
        display: flex !important;
        flex-direction: column !important;

        gap: 14px;

        text-align: center;
    }

    .construction-page .transport-mini-cta__inner > p {
        margin: 0;

        font-size: 13px;
        line-height: 1.8;
    }

    .construction-page .transport-mini-cta__buttons {
        display: grid !important;
        grid-template-columns: 1fr !important;

        width: 100%;

        gap: 10px;
    }

    .construction-page .transport-mini-cta__buttons a {
        width: 100%;
        min-height: 50px;

        font-size: 13px;
    }


    /* =====================================================
       共通見出し
    ===================================================== */

    .construction-page .section-title {
        margin-bottom: 25px;
    }

    .construction-page .section-title__en {
        margin-bottom: 5px;

        font-size: 10px !important;
        letter-spacing: 0.12em;
    }

    .construction-page .section-title h2 {
        margin: 0;

        font-size: 24px !important;
        line-height: 1.55 !important;

        word-break: keep-all;
    }


    /* =====================================================
       お悩み
    ===================================================== */

    .construction-page .transport-worries__grid {
        display: grid !important;
        grid-template-columns: 1fr !important;

        gap: 10px;
    }

    .construction-page .transport-worry-card {
        min-height: auto !important;

        padding: 20px 18px !important;

        text-align: left !important;
    }

    .construction-page .transport-worry-card span {
        display: block;

        margin-bottom: 8px;

        font-size: 10px;
    }

    .construction-page .transport-worry-card p {
        margin: 0;

        font-size: 14px !important;
        line-height: 1.8 !important;
    }


    /* =====================================================
       建設業許可とは
    ===================================================== */

    .construction-page .transport-intro__inner {
        display: block !important;
    }

    .construction-page .transport-intro__heading,
    .construction-page .transport-intro__content {
        width: 100%;
        max-width: 100%;
    }

    .construction-page .transport-intro__content {
        margin-top: 20px;

        padding-left: 18px;

        border-left: 2px solid #c5a253;
    }

    .construction-page .transport-intro__content p {
        font-size: 14px !important;
        line-height: 2 !important;
    }


    /* =====================================================
       金額基準
       500万円 / 1,500万円
    ===================================================== */

    .construction-page .construction-threshold__grid,
    .construction-page .threshold-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;

        gap: 12px;
    }

    .construction-page .construction-threshold__card,
    .construction-page .threshold-card {
        min-height: auto !important;

        padding: 25px 20px !important;
    }

    .construction-page .construction-threshold__card strong,
    .construction-page .threshold-card strong {
        font-size: 27px !important;
        line-height: 1.3;
    }

    .construction-page .construction-threshold__card p,
    .construction-page .threshold-card p {
        font-size: 13px;
        line-height: 1.8;
    }


    /* =====================================================
       許可要件カード
    ===================================================== */

    .construction-page .transport-requirements__grid {
        display: grid !important;
        grid-template-columns: 1fr !important;

        gap: 10px;
    }

    .construction-page .transport-requirement-card {
        min-height: auto !important;

        padding: 22px 18px !important;
    }

    .construction-page .transport-requirement-card > span {
        margin-bottom: 11px;

        font-size: 10px;
    }

    .construction-page .transport-requirement-card h3 {
        margin: 0 0 10px;

        font-size: 17px !important;
        line-height: 1.55 !important;
    }

    .construction-page .transport-requirement-card p {
        margin: 0;

        font-size: 13px !important;
        line-height: 1.9 !important;
    }


    /* =====================================================
       財産的基礎等 2カード
    ===================================================== */

    .construction-page .construction-finance__grid,
    .construction-page .finance-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;

        gap: 12px;
    }

    .construction-page .construction-finance__card,
    .construction-page .finance-card {
        padding: 23px 18px !important;
    }

    .construction-page .construction-finance__card h3,
    .construction-page .finance-card h3 {
        font-size: 17px !important;
        line-height: 1.55;
    }

    .construction-page .construction-finance__card p,
    .construction-page .finance-card p {
        font-size: 13px;
        line-height: 1.9;
    }


    /* =====================================================
       許可取得までの流れ
    ===================================================== */

    .construction-page .transport-flow__list {
        width: 100%;
        max-width: 100%;
    }

    .construction-page .transport-flow__item {
        display: grid !important;

        grid-template-columns: 62px minmax(0, 1fr) !important;

        gap: 14px;

        width: 100%;

        padding: 16px 0;

        border-bottom: 1px solid #d9dee7;
    }

    .construction-page .transport-flow__item span {
        font-size: 10px !important;
        line-height: 1.5;
    }

    .construction-page .transport-flow__item h3 {
        margin: 0;

        font-size: 15px !important;
        line-height: 1.65 !important;
    }


    /* =====================================================
       行政書士に依頼するメリット
    ===================================================== */

    .construction-page .transport-merits {
        padding-top: 48px;
        padding-bottom: 48px;
    }

    .construction-page .transport-merits__grid {
        display: grid !important;
        grid-template-columns: 1fr !important;

        gap: 10px;
    }

    .construction-page .transport-merit-card {
        min-height: auto !important;

        padding: 22px 18px !important;
    }

    .construction-page .transport-merit-card > span {
        margin-bottom: 10px;

        font-size: 10px;
    }

    .construction-page .transport-merit-card h3 {
        margin: 0 0 9px;

        font-size: 16px !important;
        line-height: 1.55;
    }

    .construction-page .transport-merit-card p {
        margin: 0;

        font-size: 13px !important;
        line-height: 1.9 !important;
    }


    /* =====================================================
       サポート内容
    ===================================================== */

    .construction-page .transport-support__grid,
    .construction-page .construction-support__grid {
        display: grid !important;
        grid-template-columns: 1fr !important;

        gap: 10px;
    }

    .construction-page .transport-support-card,
    .construction-page .construction-support-card {
        min-height: auto !important;

        padding: 20px 18px !important;
    }


    /* =====================================================
       料金
    ===================================================== */

    .construction-page .transport-price__table {
        width: 100%;
        max-width: 100%;
    }

    .construction-page .transport-price__row {
        display: grid !important;

        grid-template-columns: 1fr !important;

        gap: 7px;

        min-height: auto;

        padding: 17px 5px !important;
    }

    .construction-page .transport-price__row span {
        font-size: 13px !important;
        line-height: 1.7;
    }

    .construction-page .transport-price__row strong {
        font-size: 18px !important;

        text-align: left;

        white-space: normal;
    }

    .construction-page .transport-price__note {
        margin-top: 16px;

        font-size: 11px !important;
        line-height: 1.8;
    }


    /* =====================================================
       FAQ
    ===================================================== */

    .construction-page .transport-faq__list {
        width: 100%;
        max-width: 100%;
    }

    .construction-page .transport-faq__item summary {
        padding:
            17px
            43px
            17px
            14px !important;

        font-size: 13px !important;
        line-height: 1.75 !important;
    }

    .construction-page .transport-faq__item summary::after {
        right: 14px;
    }

    .construction-page .transport-faq__item > div {
        padding:
            0
            14px
            19px !important;

        font-size: 13px !important;
        line-height: 1.9;
    }


    /* =====================================================
       対応エリア
    ===================================================== */

    .construction-page .transport-area {
        text-align: center;
    }

    .construction-page .transport-area h2 {
        font-size: 22px !important;
        line-height: 1.55;
    }

    .construction-page .transport-area p {
        font-size: 13px;
        line-height: 1.8;
    }


    /* =====================================================
       最終CTA
    ===================================================== */

    .construction-page .transport-final-cta {
        padding-top: 48px;
        padding-bottom: 48px;
    }

    .construction-page .transport-final-cta__inner {
        width: 100%;
        max-width: 100%;

        padding-left: 20px;
        padding-right: 20px;
    }

    .construction-page .transport-final-cta__label {
        margin-bottom: 9px;

        font-size: 11px !important;
    }

    .construction-page .transport-final-cta h2 {
        margin-bottom: 15px;

        font-size: 24px !important;
        line-height: 1.55 !important;
    }

    .construction-page .transport-final-cta p {
        font-size: 13px !important;
        line-height: 1.9 !important;
    }

    .construction-page .transport-final-cta__buttons {
        display: grid !important;
        grid-template-columns: 1fr !important;

        width: 100%;
        max-width: 330px;

        gap: 10px;

        margin: 25px auto 0;
    }

    .construction-page .transport-final-cta__buttons a {
        display: flex;
        align-items: center;
        justify-content: center;

        width: 100% !important;
        min-width: 0 !important;
        min-height: 50px;

        padding: 12px 15px;

        font-size: 13px !important;
    }


    /* =====================================================
       長い文字の横はみ出し防止
    ===================================================== */

    .construction-page h1,
    .construction-page h2,
    .construction-page h3,
    .construction-page p,
    .construction-page span,
    .construction-page a {
        overflow-wrap: anywhere;
    }
}


/* =========================================================
   375px以下
========================================================= */

@media screen and (max-width: 375px) {

    .construction-page .container {
        padding-left: 17px;
        padding-right: 17px;
    }

    .construction-page .sub-hero__title {
        font-size: 28px !important;
    }

    .construction-page .section-title h2 {
        font-size: 22px !important;
    }

    .construction-page .transport-final-cta h2 {
        font-size: 22px !important;
    }
}
/* =========================================================
   運送業許可ページ
   スマホ専用 最終調整
========================================================= */

@media screen and (max-width: 768px) {

    /* =====================================================
       ページ全体
    ===================================================== */

    .transport-page {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden;
    }

    .transport-page .container {
        width: 100%;
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
        padding-left: 20px;
        padding-right: 20px;
    }

    .transport-page .section-space {
        padding-top: 48px;
        padding-bottom: 48px;
    }


    /* =====================================================
       FV
    ===================================================== */

    .transport-page .sub-hero {
        padding-top: 46px;
        padding-bottom: 42px;
    }

    .transport-page .sub-hero__inner {
        display: flex !important;
        flex-direction: column !important;

        width: 100%;
        max-width: 100%;

        gap: 28px;
    }

    .transport-page .sub-hero__content,
    .transport-page .sub-hero__image {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .transport-page .sub-hero__lead {
        margin-bottom: 10px;

        font-size: 12px !important;
        line-height: 1.6;

        letter-spacing: 0.08em;
    }

    .transport-page .sub-hero__title {
        margin: 0 0 18px;

        font-size: 31px !important;
        line-height: 1.45 !important;

        letter-spacing: 0 !important;

        word-break: keep-all;
    }

    .transport-page .sub-hero__text {
        margin: 0;

        font-size: 14px !important;
        line-height: 1.9 !important;
    }

    .transport-page .sub-hero__points {
        display: flex;
        flex-wrap: wrap;

        gap: 8px 10px;

        margin-top: 20px;
    }

    .transport-page .sub-hero__points span {
        width: auto;
        max-width: 100%;

        font-size: 11px !important;
        line-height: 1.5;
    }

    .transport-page .sub-hero__image,
    .transport-page .sub-image-placeholder {
        min-height: 250px !important;
    }


    /* =====================================================
       FV直下CTA
    ===================================================== */

    .transport-page .transport-mini-cta {
        padding: 18px 0;
    }

    .transport-page .transport-mini-cta__inner {
        display: flex !important;
        flex-direction: column !important;

        gap: 14px;

        text-align: center;
    }

    .transport-page .transport-mini-cta__inner > p {
        margin: 0;

        font-size: 13px !important;
        line-height: 1.8;
    }

    .transport-page .transport-mini-cta__buttons {
        display: grid !important;
        grid-template-columns: 1fr !important;

        width: 100%;

        gap: 10px;
    }

    .transport-page .transport-mini-cta__buttons a {
        width: 100%;
        min-height: 50px;

        font-size: 13px !important;
    }


    /* =====================================================
       共通見出し
    ===================================================== */

    .transport-page .section-title {
        margin-bottom: 25px;
    }

    .transport-page .section-title__en {
        margin-bottom: 5px;

        font-size: 10px !important;
        letter-spacing: 0.12em;
    }

    .transport-page .section-title h2 {
        margin: 0;

        font-size: 24px !important;
        line-height: 1.55 !important;

        word-break: keep-all;
    }


    /* =====================================================
       お悩み
    ===================================================== */

    .transport-page .transport-worries__grid {
        display: grid !important;
        grid-template-columns: 1fr !important;

        gap: 10px;
    }

    .transport-page .transport-worry-card {
        min-height: auto !important;

        padding: 20px 18px !important;

        text-align: left !important;
    }

    .transport-page .transport-worry-card span {
        display: block;

        margin-bottom: 8px;

        font-size: 10px !important;
    }

    .transport-page .transport-worry-card p {
        margin: 0;

        font-size: 14px !important;
        line-height: 1.8 !important;
    }


    /* =====================================================
       代表・強みセクション
    ===================================================== */

    .transport-page .transport-strength__inner {
        display: flex !important;
        flex-direction: column !important;

        grid-template-columns: 1fr !important;

        gap: 28px;
    }

    .transport-page .transport-strength__image,
    .transport-page .transport-strength__content {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .transport-page .transport-strength__image {
        min-height: 250px !important;
    }

    .transport-page .transport-strength__content h2 {
        font-size: 24px !important;
        line-height: 1.55 !important;
    }

    .transport-page .transport-strength__content p {
        font-size: 14px !important;
        line-height: 1.95 !important;
    }


    /* =====================================================
       運送業許可とは
    ===================================================== */

    .transport-page .transport-intro__inner {
        display: block !important;
    }

    .transport-page .transport-intro__heading,
    .transport-page .transport-intro__content {
        width: 100%;
        max-width: 100%;
    }

    .transport-page .transport-intro__content {
        margin-top: 20px;

        padding-left: 18px;

        border-left: 2px solid var(--gold);
    }

    .transport-page .transport-intro__content p {
        font-size: 14px !important;
        line-height: 2 !important;
    }


    /* =====================================================
       許可要件
    ===================================================== */

    .transport-page .transport-requirements__grid {
        display: grid !important;
        grid-template-columns: 1fr !important;

        gap: 10px;
    }

    .transport-page .transport-requirement-card {
        min-height: auto !important;

        padding: 22px 18px !important;
    }

    .transport-page .transport-requirement-card > span {
        margin-bottom: 11px;

        font-size: 10px !important;
    }

    .transport-page .transport-requirement-card h3 {
        margin: 0 0 10px;

        font-size: 17px !important;
        line-height: 1.55 !important;
    }

    .transport-page .transport-requirement-card p {
        margin: 0;

        font-size: 13px !important;
        line-height: 1.9 !important;
    }


    /* =====================================================
       許可取得までの流れ
    ===================================================== */

    .transport-page .transport-flow__list {
        width: 100%;
        max-width: 100%;
    }

    .transport-page .transport-flow__item {
        display: grid !important;

        grid-template-columns: 62px minmax(0, 1fr) !important;

        gap: 14px;

        width: 100%;

        padding: 16px 0;

        border-bottom: 1px solid #d9dee7;
    }

    .transport-page .transport-flow__item span {
        font-size: 10px !important;
        line-height: 1.5;
    }

    .transport-page .transport-flow__item h3 {
        margin: 0;

        font-size: 15px !important;
        line-height: 1.65 !important;
    }

    .transport-page .transport-flow__item p {
        margin-top: 5px;

        font-size: 12px !important;
        line-height: 1.8 !important;
    }


    /* =====================================================
       メリット
    ===================================================== */

    .transport-page .transport-merits {
        padding-top: 48px;
        padding-bottom: 48px;
    }

    .transport-page .transport-merits__grid {
        display: grid !important;
        grid-template-columns: 1fr !important;

        gap: 10px;
    }

    .transport-page .transport-merit-card {
        min-height: auto !important;

        padding: 22px 18px !important;
    }

    .transport-page .transport-merit-card > span {
        margin-bottom: 10px;

        font-size: 10px !important;
    }

    .transport-page .transport-merit-card h3 {
        margin: 0 0 9px;

        font-size: 16px !important;
        line-height: 1.55;
    }

    .transport-page .transport-merit-card p {
        margin: 0;

        font-size: 13px !important;
        line-height: 1.9 !important;
    }


    /* =====================================================
       サポート内容
    ===================================================== */

    .transport-page .transport-support__grid {
        display: grid !important;
        grid-template-columns: 1fr !important;

        gap: 10px;
    }

    .transport-page .transport-support-card {
        min-height: auto !important;

        padding: 20px 18px !important;
    }

    .transport-page .transport-support-card h3 {
        font-size: 16px !important;
        line-height: 1.55;
    }

    .transport-page .transport-support-card p {
        font-size: 13px !important;
        line-height: 1.8;
    }


    /* =====================================================
       料金
    ===================================================== */

    .transport-page .transport-price__table {
        width: 100%;
        max-width: 100%;
    }

    .transport-page .transport-price__row {
        display: grid !important;

        grid-template-columns: 1fr !important;

        gap: 7px;

        min-height: auto !important;

        padding: 17px 5px !important;
    }

    .transport-page .transport-price__row span {
        font-size: 13px !important;
        line-height: 1.7;
    }

    .transport-page .transport-price__row strong {
        font-size: 18px !important;

        text-align: left !important;

        white-space: normal !important;
    }

    .transport-page .transport-price__note {
        margin-top: 16px;

        font-size: 11px !important;
        line-height: 1.8;
    }


    /* =====================================================
       FAQ
    ===================================================== */

    .transport-page .transport-faq__list {
        width: 100%;
        max-width: 100%;
    }

    .transport-page .transport-faq__item summary {
        padding:
            17px
            43px
            17px
            14px !important;

        font-size: 13px !important;
        line-height: 1.75 !important;
    }

    .transport-page .transport-faq__item summary::after {
        right: 14px;
    }

    .transport-page .transport-faq__item > div {
        padding:
            0
            14px
            19px !important;

        font-size: 13px !important;
        line-height: 1.9;
    }


    /* =====================================================
       対応エリア
    ===================================================== */

    .transport-page .transport-area {
        text-align: center;
    }

    .transport-page .transport-area h2 {
        font-size: 22px !important;
        line-height: 1.55;
    }

    .transport-page .transport-area p {
        font-size: 13px !important;
        line-height: 1.8;
    }


    /* =====================================================
       最終CTA
    ===================================================== */

    .transport-page .transport-final-cta {
        padding-top: 48px;
        padding-bottom: 48px;
    }

    .transport-page .transport-final-cta__inner {
        width: 100%;
        max-width: 100%;

        padding-left: 20px;
        padding-right: 20px;
    }

    .transport-page .transport-final-cta__label {
        margin-bottom: 9px;

        font-size: 11px !important;
    }

    .transport-page .transport-final-cta h2 {
        margin-bottom: 15px;

        font-size: 24px !important;
        line-height: 1.55 !important;
    }

    .transport-page .transport-final-cta p {
        font-size: 13px !important;
        line-height: 1.9 !important;
    }

    .transport-page .transport-final-cta__buttons {
        display: grid !important;
        grid-template-columns: 1fr !important;

        width: 100%;
        max-width: 330px;

        gap: 10px;

        margin: 25px auto 0;
    }

    .transport-page .transport-final-cta__buttons a {
        display: flex;
        align-items: center;
        justify-content: center;

        width: 100% !important;
        min-width: 0 !important;
        min-height: 50px;

        padding: 12px 15px;

        font-size: 13px !important;
    }


    /* =====================================================
       横はみ出し対策
    ===================================================== */

    .transport-page h1,
    .transport-page h2,
    .transport-page h3,
    .transport-page p,
    .transport-page span,
    .transport-page a {
        overflow-wrap: anywhere;
    }
}


/* =========================================================
   375px以下
========================================================= */

@media screen and (max-width: 375px) {

    .transport-page .container {
        padding-left: 17px;
        padding-right: 17px;
    }

    .transport-page .sub-hero__title {
        font-size: 28px !important;
    }

    .transport-page .section-title h2 {
        font-size: 22px !important;
    }

    .transport-page .transport-final-cta h2 {
        font-size: 22px !important;
    }
}
/* =========================================================
   産業廃棄物収集運搬業許可ページ
   スマホ専用 最終調整
========================================================= */

@media screen and (max-width: 768px) {

    /* =====================================================
       ページ全体
    ===================================================== */

    .industrial-waste-page {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden;
    }

    .industrial-waste-page .container {
        width: 100%;
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
        padding-left: 20px;
        padding-right: 20px;
    }

    .industrial-waste-page .section-space {
        padding-top: 48px;
        padding-bottom: 48px;
    }


    /* =====================================================
       FV
    ===================================================== */

    .industrial-waste-page .sub-hero {
        padding-top: 46px;
        padding-bottom: 42px;
    }

    .industrial-waste-page .sub-hero__inner {
        display: flex !important;
        flex-direction: column !important;

        width: 100%;
        max-width: 100%;

        gap: 28px;
    }

    .industrial-waste-page .sub-hero__content,
    .industrial-waste-page .sub-hero__image {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .industrial-waste-page .sub-hero__lead {
        margin-bottom: 10px;

        font-size: 12px !important;
        line-height: 1.6;

        letter-spacing: 0.08em;
    }

    .industrial-waste-page .sub-hero__title {
        margin: 0 0 18px;

        font-size: 30px !important;
        line-height: 1.45 !important;

        letter-spacing: 0 !important;

        word-break: keep-all;
    }

    .industrial-waste-page .sub-hero__text {
        margin: 0;

        font-size: 14px !important;
        line-height: 1.9 !important;
    }

    .industrial-waste-page .sub-hero__points {
        display: flex;
        flex-wrap: wrap;

        gap: 8px 10px;

        margin-top: 20px;
    }

    .industrial-waste-page .sub-hero__points span {
        width: auto;
        max-width: 100%;

        font-size: 11px !important;
        line-height: 1.5;
    }

    .industrial-waste-page .sub-hero__image,
    .industrial-waste-page .sub-image-placeholder {
        min-height: 250px !important;
    }


    /* =====================================================
       FV直下 CTA
    ===================================================== */

    .industrial-waste-page .transport-mini-cta {
        padding: 18px 0;
    }

    .industrial-waste-page .transport-mini-cta__inner {
        display: flex !important;
        flex-direction: column !important;

        gap: 14px;

        text-align: center;
    }

    .industrial-waste-page .transport-mini-cta__inner > p {
        margin: 0;

        font-size: 13px !important;
        line-height: 1.8;
    }

    .industrial-waste-page .transport-mini-cta__buttons {
        display: grid !important;
        grid-template-columns: 1fr !important;

        width: 100%;

        gap: 10px;
    }

    .industrial-waste-page .transport-mini-cta__buttons a {
        width: 100%;
        min-height: 50px;

        font-size: 13px !important;
    }


    /* =====================================================
       共通見出し
    ===================================================== */

    .industrial-waste-page .section-title {
        margin-bottom: 25px;
    }

    .industrial-waste-page .section-title__en {
        margin-bottom: 5px;

        font-size: 10px !important;
        letter-spacing: 0.12em;
    }

    .industrial-waste-page .section-title h2 {
        margin: 0;

        font-size: 24px !important;
        line-height: 1.55 !important;

        word-break: keep-all;
    }


    /* =====================================================
       お悩み
    ===================================================== */

    .industrial-waste-page .transport-worries__grid {
        display: grid !important;
        grid-template-columns: 1fr !important;

        gap: 10px;
    }

    .industrial-waste-page .transport-worry-card {
        min-height: auto !important;

        padding: 20px 18px !important;

        text-align: left !important;
    }

    .industrial-waste-page .transport-worry-card span {
        display: block;

        margin-bottom: 8px;

        font-size: 10px !important;
    }

    .industrial-waste-page .transport-worry-card p {
        margin: 0;

        font-size: 14px !important;
        line-height: 1.8 !important;
    }


    /* =====================================================
       産業廃棄物収集運搬業許可とは
    ===================================================== */

    .industrial-waste-page .transport-intro__inner {
        display: block !important;
    }

    .industrial-waste-page .transport-intro__heading,
    .industrial-waste-page .transport-intro__content {
        width: 100%;
        max-width: 100%;
    }

    .industrial-waste-page .transport-intro__content {
        margin-top: 20px;

        padding-left: 18px;

        border-left: 2px solid var(--gold);
    }

    .industrial-waste-page .transport-intro__content p {
        font-size: 14px !important;
        line-height: 2 !important;
    }


    /* =====================================================
       許可の全体像
    ===================================================== */

    .industrial-waste-page .transport-requirements__grid {
        display: grid !important;
        grid-template-columns: 1fr !important;

        gap: 10px;
    }

    .industrial-waste-page .transport-requirement-card {
        min-height: auto !important;

        padding: 22px 18px !important;
    }

    .industrial-waste-page .transport-requirement-card > span {
        margin-bottom: 11px;

        font-size: 10px !important;
    }

    .industrial-waste-page .transport-requirement-card h3 {
        margin: 0 0 10px;

        font-size: 17px !important;
        line-height: 1.55 !important;
    }

    .industrial-waste-page .transport-requirement-card p {
        margin: 0;

        font-size: 13px !important;
        line-height: 1.9 !important;
    }


    /* =====================================================
       講習・財務・施設などの要件
    ===================================================== */

    .industrial-waste-page .industrial-condition__grid,
    .industrial-waste-page .condition-grid,
    .industrial-waste-page .requirement-detail-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;

        gap: 12px;
    }

    .industrial-waste-page .industrial-condition__card,
    .industrial-waste-page .condition-card,
    .industrial-waste-page .requirement-detail-card {
        min-height: auto !important;

        padding: 22px 18px !important;
    }

    .industrial-waste-page .industrial-condition__card h3,
    .industrial-waste-page .condition-card h3,
    .industrial-waste-page .requirement-detail-card h3 {
        margin-bottom: 10px;

        font-size: 17px !important;
        line-height: 1.55;
    }

    .industrial-waste-page .industrial-condition__card p,
    .industrial-waste-page .condition-card p,
    .industrial-waste-page .requirement-detail-card p {
        font-size: 13px !important;
        line-height: 1.9 !important;
    }


    /* =====================================================
       積替え保管
    ===================================================== */

    .industrial-waste-page .industrial-storage__inner,
    .industrial-waste-page .storage-section__inner {
        display: flex !important;
        flex-direction: column !important;

        grid-template-columns: 1fr !important;

        gap: 28px;
    }

    .industrial-waste-page .industrial-storage__content,
    .industrial-waste-page .industrial-storage__image,
    .industrial-waste-page .storage-section__content,
    .industrial-waste-page .storage-section__image {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .industrial-waste-page .industrial-storage__content h2,
    .industrial-waste-page .storage-section__content h2 {
        font-size: 24px !important;
        line-height: 1.55;
    }

    .industrial-waste-page .industrial-storage__content p,
    .industrial-waste-page .storage-section__content p {
        font-size: 14px !important;
        line-height: 1.95;
    }

    .industrial-waste-page .industrial-storage__image,
    .industrial-waste-page .storage-section__image {
        min-height: 240px !important;
    }


    /* =====================================================
       許可取得までの流れ
    ===================================================== */

    .industrial-waste-page .transport-flow__list {
        width: 100%;
        max-width: 100%;
    }

    .industrial-waste-page .transport-flow__item {
        display: grid !important;

        grid-template-columns: 62px minmax(0, 1fr) !important;

        gap: 14px;

        width: 100%;

        padding: 16px 0;

        border-bottom: 1px solid #d9dee7;
    }

    .industrial-waste-page .transport-flow__item span {
        font-size: 10px !important;
        line-height: 1.5;
    }

    .industrial-waste-page .transport-flow__item h3 {
        margin: 0;

        font-size: 15px !important;
        line-height: 1.65 !important;
    }

    .industrial-waste-page .transport-flow__item p {
        margin-top: 5px;

        font-size: 12px !important;
        line-height: 1.8 !important;
    }


    /* =====================================================
       行政書士に依頼するメリット
    ===================================================== */

    .industrial-waste-page .transport-merits {
        padding-top: 48px;
        padding-bottom: 48px;
    }

    .industrial-waste-page .transport-merits__grid {
        display: grid !important;
        grid-template-columns: 1fr !important;

        gap: 10px;
    }

    .industrial-waste-page .transport-merit-card {
        min-height: auto !important;

        padding: 22px 18px !important;
    }

    .industrial-waste-page .transport-merit-card > span {
        margin-bottom: 10px;

        font-size: 10px !important;
    }

    .industrial-waste-page .transport-merit-card h3 {
        margin: 0 0 9px;

        font-size: 16px !important;
        line-height: 1.55;
    }

    .industrial-waste-page .transport-merit-card p {
        margin: 0;

        font-size: 13px !important;
        line-height: 1.9 !important;
    }


    /* =====================================================
       サポート内容
    ===================================================== */

    .industrial-waste-page .transport-support__grid,
    .industrial-waste-page .industrial-support__grid {
        display: grid !important;
        grid-template-columns: 1fr !important;

        gap: 10px;
    }

    .industrial-waste-page .transport-support-card,
    .industrial-waste-page .industrial-support-card {
        min-height: auto !important;

        padding: 20px 18px !important;
    }

    .industrial-waste-page .transport-support-card h3,
    .industrial-waste-page .industrial-support-card h3 {
        font-size: 16px !important;
        line-height: 1.55;
    }

    .industrial-waste-page .transport-support-card p,
    .industrial-waste-page .industrial-support-card p {
        font-size: 13px !important;
        line-height: 1.8;
    }


    /* =====================================================
       料金
    ===================================================== */

    .industrial-waste-page .transport-price__table {
        width: 100%;
        max-width: 100%;
    }

    .industrial-waste-page .transport-price__row {
        display: grid !important;

        grid-template-columns: 1fr !important;

        gap: 7px;

        min-height: auto !important;

        padding: 17px 5px !important;
    }

    .industrial-waste-page .transport-price__row span {
        font-size: 13px !important;
        line-height: 1.7;
    }

    .industrial-waste-page .transport-price__row strong {
        font-size: 18px !important;

        text-align: left !important;

        white-space: normal !important;
    }

    .industrial-waste-page .transport-price__note {
        margin-top: 16px;

        font-size: 11px !important;
        line-height: 1.8;
    }


    /* =====================================================
       FAQ
    ===================================================== */

    .industrial-waste-page .transport-faq__list {
        width: 100%;
        max-width: 100%;
    }

    .industrial-waste-page .transport-faq__item summary {
        padding:
            17px
            43px
            17px
            14px !important;

        font-size: 13px !important;
        line-height: 1.75 !important;
    }

    .industrial-waste-page .transport-faq__item summary::after {
        right: 14px;
    }

    .industrial-waste-page .transport-faq__item > div {
        padding:
            0
            14px
            19px !important;

        font-size: 13px !important;
        line-height: 1.9;
    }


    /* =====================================================
       対応エリア
    ===================================================== */

    .industrial-waste-page .transport-area {
        text-align: center;
    }

    .industrial-waste-page .transport-area h2 {
        font-size: 22px !important;
        line-height: 1.55;
    }

    .industrial-waste-page .transport-area p {
        font-size: 13px !important;
        line-height: 1.8;
    }


    /* =====================================================
       最終CTA
    ===================================================== */

    .industrial-waste-page .transport-final-cta {
        padding-top: 48px;
        padding-bottom: 48px;
    }

    .industrial-waste-page .transport-final-cta__inner {
        width: 100%;
        max-width: 100%;

        padding-left: 20px;
        padding-right: 20px;
    }

    .industrial-waste-page .transport-final-cta__label {
        margin-bottom: 9px;

        font-size: 11px !important;
    }

    .industrial-waste-page .transport-final-cta h2 {
        margin-bottom: 15px;

        font-size: 24px !important;
        line-height: 1.55 !important;
    }

    .industrial-waste-page .transport-final-cta p {
        font-size: 13px !important;
        line-height: 1.9 !important;
    }

    .industrial-waste-page .transport-final-cta__buttons {
        display: grid !important;
        grid-template-columns: 1fr !important;

        width: 100%;
        max-width: 330px;

        gap: 10px;

        margin: 25px auto 0;
    }

    .industrial-waste-page .transport-final-cta__buttons a {
        display: flex;
        align-items: center;
        justify-content: center;

        width: 100% !important;
        min-width: 0 !important;
        min-height: 50px;

        padding: 12px 15px;

        font-size: 13px !important;
    }


    /* =====================================================
       横はみ出し対策
    ===================================================== */

    .industrial-waste-page h1,
    .industrial-waste-page h2,
    .industrial-waste-page h3,
    .industrial-waste-page p,
    .industrial-waste-page span,
    .industrial-waste-page a {
        overflow-wrap: anywhere;
    }
}


/* =========================================================
   375px以下
========================================================= */

@media screen and (max-width: 375px) {

    .industrial-waste-page .container {
        padding-left: 17px;
        padding-right: 17px;
    }

    .industrial-waste-page .sub-hero__title {
        font-size: 27px !important;
    }

    .industrial-waste-page .section-title h2 {
        font-size: 22px !important;
    }

    .industrial-waste-page .transport-final-cta h2 {
        font-size: 22px !important;
    }
}
/* =========================================================
   自動車登録業務ページ
   スマホ専用 最終調整
========================================================= */

@media screen and (max-width: 768px) {

    /* =====================================================
       ページ全体
    ===================================================== */

    .car-registration-page {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden;
    }

    .car-registration-page .container {
        width: 100%;
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
        padding-left: 20px;
        padding-right: 20px;
    }

    .car-registration-page .section-space {
        padding-top: 48px;
        padding-bottom: 48px;
    }


    /* =====================================================
       FV
    ===================================================== */

    .car-registration-page .sub-hero {
        padding-top: 46px;
        padding-bottom: 42px;
    }

    .car-registration-page .sub-hero__inner {
        display: flex !important;
        flex-direction: column !important;

        width: 100%;
        max-width: 100%;

        gap: 28px;
    }

    .car-registration-page .sub-hero__content,
    .car-registration-page .sub-hero__image {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .car-registration-page .sub-hero__lead {
        margin-bottom: 10px;

        font-size: 12px !important;
        line-height: 1.6;
        letter-spacing: 0.08em;
    }

    .car-registration-page .sub-hero__title {
        margin: 0 0 18px;

        font-size: 30px !important;
        line-height: 1.45 !important;

        letter-spacing: 0 !important;

        word-break: keep-all;
    }

    .car-registration-page .sub-hero__text {
        margin: 0;

        font-size: 14px !important;
        line-height: 1.9 !important;
    }

    .car-registration-page .sub-hero__points {
        display: flex;
        flex-wrap: wrap;

        gap: 8px 10px;

        margin-top: 20px;
    }

    .car-registration-page .sub-hero__points span {
        width: auto;
        max-width: 100%;

        font-size: 11px !important;
        line-height: 1.5;
    }

    .car-registration-page .sub-hero__image,
    .car-registration-page .sub-image-placeholder {
        min-height: 250px !important;
    }


    /* =====================================================
       FV直下CTA
    ===================================================== */

    .car-registration-page .transport-mini-cta {
        padding: 18px 0;
    }

    .car-registration-page .transport-mini-cta__inner {
        display: flex !important;
        flex-direction: column !important;

        gap: 14px;

        text-align: center;
    }

    .car-registration-page .transport-mini-cta__inner > p {
        margin: 0;

        font-size: 13px !important;
        line-height: 1.8;
    }

    .car-registration-page .transport-mini-cta__buttons {
        display: grid !important;
        grid-template-columns: 1fr !important;

        width: 100%;

        gap: 10px;
    }

    .car-registration-page .transport-mini-cta__buttons a {
        width: 100%;
        min-height: 50px;

        font-size: 13px !important;
    }


    /* =====================================================
       共通見出し
    ===================================================== */

    .car-registration-page .section-title {
        margin-bottom: 25px;
    }

    .car-registration-page .section-title__en {
        margin-bottom: 5px;

        font-size: 10px !important;
        letter-spacing: 0.12em;
    }

    .car-registration-page .section-title h2 {
        margin: 0;

        font-size: 24px !important;
        line-height: 1.55 !important;

        word-break: keep-all;
    }


    /* =====================================================
       お悩み
    ===================================================== */

    .car-registration-page .transport-worries__grid {
        display: grid !important;
        grid-template-columns: 1fr !important;

        gap: 10px;
    }

    .car-registration-page .transport-worry-card {
        min-height: auto !important;

        padding: 20px 18px !important;

        text-align: left !important;
    }

    .car-registration-page .transport-worry-card span {
        display: block;

        margin-bottom: 8px;

        font-size: 10px !important;
    }

    .car-registration-page .transport-worry-card p {
        margin: 0;

        font-size: 14px !important;
        line-height: 1.8 !important;
    }


    /* =====================================================
       自動車登録業務とは
    ===================================================== */

    .car-registration-page .transport-intro__inner {
        display: block !important;
    }

    .car-registration-page .transport-intro__heading,
    .car-registration-page .transport-intro__content {
        width: 100%;
        max-width: 100%;
    }

    .car-registration-page .transport-intro__content {
        margin-top: 20px;

        padding-left: 18px;

        border-left: 2px solid var(--gold);
    }

    .car-registration-page .transport-intro__content p {
        font-size: 14px !important;
        line-height: 2 !important;
    }


    /* =====================================================
       対応できる手続
    ===================================================== */

    .car-registration-page .transport-support__grid,
    .car-registration-page .car-service__grid,
    .car-registration-page .vehicle-service__grid {
        display: grid !important;
        grid-template-columns: 1fr !important;

        gap: 10px;
    }

    .car-registration-page .transport-support-card,
    .car-registration-page .car-service-card,
    .car-registration-page .vehicle-service-card {
        min-height: auto !important;

        padding: 20px 18px !important;
    }

    .car-registration-page .transport-support-card h3,
    .car-registration-page .car-service-card h3,
    .car-registration-page .vehicle-service-card h3 {
        margin: 0 0 8px;

        font-size: 16px !important;
        line-height: 1.55;
    }

    .car-registration-page .transport-support-card p,
    .car-registration-page .car-service-card p,
    .car-registration-page .vehicle-service-card p {
        margin: 0;

        font-size: 13px !important;
        line-height: 1.8;
    }


    /* =====================================================
       車庫証明
    ===================================================== */

    .car-registration-page .car-certificate__inner,
    .car-registration-page .garage-certificate__inner {
        display: flex !important;
        flex-direction: column !important;

        grid-template-columns: 1fr !important;

        gap: 28px;
    }

    .car-registration-page .car-certificate__content,
    .car-registration-page .car-certificate__image,
    .car-registration-page .garage-certificate__content,
    .car-registration-page .garage-certificate__image {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .car-registration-page .car-certificate__content h2,
    .car-registration-page .garage-certificate__content h2 {
        font-size: 24px !important;
        line-height: 1.55;
    }

    .car-registration-page .car-certificate__content p,
    .car-registration-page .garage-certificate__content p {
        font-size: 14px !important;
        line-height: 1.95;
    }

    .car-registration-page .car-certificate__image,
    .car-registration-page .garage-certificate__image {
        min-height: 230px !important;
    }


    /* =====================================================
       封印
    ===================================================== */

    .car-registration-page .seal-section__inner,
    .car-registration-page .car-seal__inner {
        display: flex !important;
        flex-direction: column !important;

        grid-template-columns: 1fr !important;

        gap: 28px;
    }

    .car-registration-page .seal-section__content,
    .car-registration-page .seal-section__image,
    .car-registration-page .car-seal__content,
    .car-registration-page .car-seal__image {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .car-registration-page .seal-section__content h2,
    .car-registration-page .car-seal__content h2 {
        font-size: 24px !important;
        line-height: 1.55;
    }

    .car-registration-page .seal-section__content p,
    .car-registration-page .car-seal__content p {
        font-size: 14px !important;
        line-height: 1.95;
    }

    .car-registration-page .seal-section__image,
    .car-registration-page .car-seal__image {
        min-height: 230px !important;
    }


    /* =====================================================
       ご依頼から手続完了まで
    ===================================================== */

    .car-registration-page .transport-flow__list {
        width: 100%;
        max-width: 100%;
    }

    .car-registration-page .transport-flow__item {
        display: grid !important;

        grid-template-columns: 62px minmax(0, 1fr) !important;

        gap: 14px;

        width: 100%;

        padding: 16px 0;

        border-bottom: 1px solid #d9dee7;
    }

    .car-registration-page .transport-flow__item span {
        font-size: 10px !important;
        line-height: 1.5;
    }

    .car-registration-page .transport-flow__item h3 {
        margin: 0;

        font-size: 15px !important;
        line-height: 1.65 !important;
    }

    .car-registration-page .transport-flow__item p {
        margin-top: 5px;

        font-size: 12px !important;
        line-height: 1.8 !important;
    }


    /* =====================================================
       行政書士に依頼するメリット
    ===================================================== */

    .car-registration-page .transport-merits {
        padding-top: 48px;
        padding-bottom: 48px;
    }

    .car-registration-page .transport-merits__grid {
        display: grid !important;
        grid-template-columns: 1fr !important;

        gap: 10px;
    }

    .car-registration-page .transport-merit-card {
        min-height: auto !important;

        padding: 22px 18px !important;
    }

    .car-registration-page .transport-merit-card > span {
        margin-bottom: 10px;

        font-size: 10px !important;
    }

    .car-registration-page .transport-merit-card h3 {
        margin: 0 0 9px;

        font-size: 16px !important;
        line-height: 1.55;
    }

    .car-registration-page .transport-merit-card p {
        margin: 0;

        font-size: 13px !important;
        line-height: 1.9 !important;
    }


    /* =====================================================
       自動車関連業務 料金
    ===================================================== */

    .car-registration-page .transport-price__table,
    .car-registration-page .vehicle-price__table {
        width: 100%;
        max-width: 100%;
    }

    .car-registration-page .transport-price__row,
    .car-registration-page .vehicle-price__row {
        display: grid !important;

        grid-template-columns: 1fr !important;

        gap: 7px;

        min-height: auto !important;

        padding: 17px 5px !important;
    }

    .car-registration-page .transport-price__row span,
    .car-registration-page .vehicle-price__row span {
        font-size: 13px !important;
        line-height: 1.7;
    }

    .car-registration-page .transport-price__row strong,
    .car-registration-page .vehicle-price__row strong {
        font-size: 18px !important;

        text-align: left !important;

        white-space: normal !important;
    }

    .car-registration-page .transport-price__note,
    .car-registration-page .vehicle-price__note {
        margin-top: 16px;

        font-size: 11px !important;
        line-height: 1.8;
    }


    /* =====================================================
       セット割
    ===================================================== */

    .car-registration-page .set-discount,
    .car-registration-page .vehicle-discount {
        margin-top: 18px;

        padding: 20px 16px !important;
    }

    .car-registration-page .set-discount h3,
    .car-registration-page .vehicle-discount h3 {
        font-size: 16px !important;
        line-height: 1.55;
    }

    .car-registration-page .set-discount__grid,
    .car-registration-page .vehicle-discount__grid {
        display: grid !important;
        grid-template-columns: 1fr !important;

        gap: 8px;
    }


    /* =====================================================
       対応エリア
    ===================================================== */

    .car-registration-page .transport-area {
        text-align: center;
    }

    .car-registration-page .transport-area h2 {
        font-size: 22px !important;
        line-height: 1.55;
    }

    .car-registration-page .transport-area p {
        font-size: 13px !important;
        line-height: 1.8;
    }

    .car-registration-page .area-grid,
    .car-registration-page .vehicle-area__grid {
        display: grid !important;
        grid-template-columns: 1fr !important;

        gap: 10px;
    }


    /* =====================================================
       自動車販売店向け
    ===================================================== */

    .car-registration-page .dealer-section__inner,
    .car-registration-page .vehicle-dealer__inner {
        display: flex !important;
        flex-direction: column !important;

        grid-template-columns: 1fr !important;

        gap: 24px;
    }

    .car-registration-page .dealer-section__content,
    .car-registration-page .dealer-section__box,
    .car-registration-page .vehicle-dealer__content,
    .car-registration-page .vehicle-dealer__box {
        width: 100% !important;
        max-width: 100% !important;
    }

    .car-registration-page .dealer-section__content h2,
    .car-registration-page .vehicle-dealer__content h2 {
        font-size: 22px !important;
        line-height: 1.55;
    }

    .car-registration-page .dealer-section__content p,
    .car-registration-page .vehicle-dealer__content p {
        font-size: 13px !important;
        line-height: 1.9;
    }


    /* =====================================================
       FAQ
    ===================================================== */

    .car-registration-page .transport-faq__list {
        width: 100%;
        max-width: 100%;
    }

    .car-registration-page .transport-faq__item summary {
        padding:
            17px
            43px
            17px
            14px !important;

        font-size: 13px !important;
        line-height: 1.75 !important;
    }

    .car-registration-page .transport-faq__item summary::after {
        right: 14px;
    }

    .car-registration-page .transport-faq__item > div {
        padding:
            0
            14px
            19px !important;

        font-size: 13px !important;
        line-height: 1.9;
    }


    /* =====================================================
       最終CTA
    ===================================================== */

    .car-registration-page .transport-final-cta {
        padding-top: 48px;
        padding-bottom: 48px;
    }

    .car-registration-page .transport-final-cta__inner {
        width: 100%;
        max-width: 100%;

        padding-left: 20px;
        padding-right: 20px;
    }

    .car-registration-page .transport-final-cta__label {
        margin-bottom: 9px;

        font-size: 11px !important;
    }

    .car-registration-page .transport-final-cta h2 {
        margin-bottom: 15px;

        font-size: 24px !important;
        line-height: 1.55 !important;
    }

    .car-registration-page .transport-final-cta p {
        font-size: 13px !important;
        line-height: 1.9 !important;
    }

    .car-registration-page .transport-final-cta__buttons {
        display: grid !important;
        grid-template-columns: 1fr !important;

        width: 100%;
        max-width: 330px;

        gap: 10px;

        margin: 25px auto 0;
    }

    .car-registration-page .transport-final-cta__buttons a {
        display: flex;
        align-items: center;
        justify-content: center;

        width: 100% !important;
        min-width: 0 !important;
        min-height: 50px;

        padding: 12px 15px;

        font-size: 13px !important;
    }


    /* =====================================================
       横はみ出し防止
    ===================================================== */

    .car-registration-page h1,
    .car-registration-page h2,
    .car-registration-page h3,
    .car-registration-page p,
    .car-registration-page span,
    .car-registration-page a {
        overflow-wrap: anywhere;
    }
}


/* =========================================================
   375px以下
========================================================= */

@media screen and (max-width: 375px) {

    .car-registration-page .container {
        padding-left: 17px;
        padding-right: 17px;
    }

    .car-registration-page .sub-hero__title {
        font-size: 27px !important;
    }

    .car-registration-page .section-title h2 {
        font-size: 22px !important;
    }

    .car-registration-page .transport-final-cta h2 {
        font-size: 22px !important;
    }
}
/* =========================================================
   ご依頼の流れページ
   スマホ専用 最終調整
========================================================= */

@media screen and (max-width: 768px) {

    /* =====================================================
       ページ全体
    ===================================================== */

    .flow-page {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden;
    }

    .flow-page .container {
        width: 100%;
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
        padding-left: 20px;
        padding-right: 20px;
    }


    /* =====================================================
       FV
    ===================================================== */

    .flow-page .sub-hero {
        padding-top: 42px !important;
        padding-bottom: 38px !important;
    }

    .flow-page .sub-hero__inner {
        display: flex !important;
        flex-direction: column !important;

        width: 100%;
        max-width: 100%;

        gap: 26px !important;
    }

    .flow-page .sub-hero__content,
    .flow-page .sub-hero__image {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .flow-page .sub-hero__lead {
        margin-bottom: 9px;

        font-size: 11px !important;
        line-height: 1.6;

        letter-spacing: 0.08em;
    }

    .flow-page .sub-hero__title {
        margin: 0 0 17px;

        font-size: 29px !important;
        line-height: 1.45 !important;

        letter-spacing: 0 !important;

        word-break: keep-all;
    }

    .flow-page .sub-hero__text {
        margin: 0;

        font-size: 13px !important;
        line-height: 1.9 !important;
    }

    .flow-page .sub-hero__points {
        display: flex;
        flex-wrap: wrap;

        gap: 8px;

        margin-top: 18px;
    }

    .flow-page .sub-hero__points span {
        font-size: 10px !important;
        line-height: 1.5;
    }

    .flow-page .sub-hero__image,
    .flow-page .sub-image-placeholder {
        width: 100% !important;
        min-height: 220px !important;
        height: 220px !important;
    }


    /* =====================================================
       FV直下
    ===================================================== */

    .flow-page .transport-mini-cta,
    .flow-page .flow-mini-cta {
        padding: 17px 0;
    }

    .flow-page .transport-mini-cta__inner,
    .flow-page .flow-mini-cta__inner {
        display: flex !important;
        flex-direction: column !important;

        gap: 12px;

        text-align: center;
    }

    .flow-page .transport-mini-cta__inner p,
    .flow-page .flow-mini-cta__inner p {
        margin: 0;

        font-size: 12px !important;
        line-height: 1.8;
    }


    /* =====================================================
       共通セクション
    ===================================================== */

    .flow-page section {
        max-width: 100%;
    }

    .flow-page .section-space {
        padding-top: 48px;
        padding-bottom: 48px;
    }

    .flow-page .section-title {
        margin-bottom: 26px;
    }

    .flow-page .section-title__en {
        margin-bottom: 6px;

        font-size: 10px !important;
        letter-spacing: 0.12em;
    }

    .flow-page .section-title h2 {
        margin: 0;

        font-size: 23px !important;
        line-height: 1.55 !important;

        word-break: keep-all;
    }


    /* =====================================================
       「ご相談から完了まで」
    ===================================================== */

    .flow-page .flow-intro {
        padding-top: 48px;
        padding-bottom: 42px;
    }

    .flow-page .flow-intro p {
        font-size: 13px !important;
        line-height: 1.95 !important;
    }


    /* =====================================================
       STEP 01～09
    ===================================================== */

    .flow-page .flow-steps,
    .flow-page .flow-list {
        position: relative;

        width: 100%;
        max-width: 100%;
    }


    /* 左側の縦ライン */

    .flow-page .flow-steps::before,
    .flow-page .flow-list::before {
        left: 8px !important;
    }


    /* 各STEP */

    .flow-page .flow-step,
    .flow-page .flow-item {
        position: relative;

        width: 100%;
        max-width: 100%;

        margin: 0 0 14px !important;
        padding:
            18px
            16px
            18px
            28px !important;
    }


    /* STEP番号 */

    .flow-page .flow-step__number,
    .flow-page .flow-item__number {
        margin-bottom: 7px;

        font-size: 10px !important;
        line-height: 1.4;

        letter-spacing: 0.08em;
    }


    /* STEPタイトル */

    .flow-page .flow-step h3,
    .flow-page .flow-item h3 {
        margin: 0 0 8px;

        font-size: 16px !important;
        line-height: 1.55 !important;
    }


    /* STEP本文 */

    .flow-page .flow-step p,
    .flow-page .flow-item p {
        margin: 0;

        font-size: 13px !important;
        line-height: 1.9 !important;
    }


    /* =====================================================
       初めての方にも、分かりやすく進めます
    ===================================================== */

    .flow-page .flow-support,
    .flow-page .flow-points {
        padding-top: 48px;
        padding-bottom: 48px;
    }

    .flow-page .flow-support__grid,
    .flow-page .flow-points__grid {
        display: grid !important;

        grid-template-columns: 1fr !important;

        gap: 10px !important;

        width: 100%;
    }

    .flow-page .flow-support__card,
    .flow-page .flow-point-card {
        width: 100%;
        min-height: auto !important;

        padding: 21px 18px !important;
    }

    .flow-page .flow-support__card span,
    .flow-page .flow-point-card span {
        display: block;

        margin-bottom: 8px;

        font-size: 10px !important;
    }

    .flow-page .flow-support__card h3,
    .flow-page .flow-point-card h3 {
        margin: 0 0 8px;

        font-size: 16px !important;
        line-height: 1.55 !important;
    }

    .flow-page .flow-support__card p,
    .flow-page .flow-point-card p {
        margin: 0;

        font-size: 13px !important;
        line-height: 1.85 !important;
    }


    /* =====================================================
       ご依頼前にご確認ください
    ===================================================== */

    .flow-page .flow-notes,
    .flow-page .before-request {
        padding-top: 46px;
        padding-bottom: 46px;
    }

    .flow-page .flow-notes__box,
    .flow-page .before-request__box {
        width: 100%;

        padding: 20px 18px !important;
    }

    .flow-page .flow-notes li,
    .flow-page .before-request li {
        margin-bottom: 11px;

        font-size: 13px !important;
        line-height: 1.85 !important;
    }

    .flow-page .flow-notes li:last-child,
    .flow-page .before-request li:last-child {
        margin-bottom: 0;
    }


    /* =====================================================
       最終CTA
    ===================================================== */

    .flow-page .transport-final-cta,
    .flow-page .flow-final-cta {
        padding-top: 48px !important;
        padding-bottom: 48px !important;
    }

    .flow-page .transport-final-cta__inner,
    .flow-page .flow-final-cta__inner {
        width: 100%;
        max-width: 100%;

        padding-left: 20px;
        padding-right: 20px;

        text-align: center;
    }

    .flow-page .transport-final-cta__label,
    .flow-page .flow-final-cta__label {
        margin-bottom: 8px;

        font-size: 10px !important;
    }

    .flow-page .transport-final-cta h2,
    .flow-page .flow-final-cta h2 {
        margin-bottom: 14px;

        font-size: 23px !important;
        line-height: 1.55 !important;

        word-break: keep-all;
    }

    .flow-page .transport-final-cta p,
    .flow-page .flow-final-cta p {
        font-size: 13px !important;
        line-height: 1.9 !important;
    }

    .flow-page .transport-final-cta__buttons,
    .flow-page .flow-final-cta__buttons {
        display: grid !important;

        grid-template-columns: 1fr !important;

        width: 100%;
        max-width: 330px;

        gap: 10px;

        margin: 24px auto 0;
    }

    .flow-page .transport-final-cta__buttons a,
    .flow-page .flow-final-cta__buttons a {
        display: flex;
        align-items: center;
        justify-content: center;

        width: 100% !important;
        min-height: 50px;

        padding: 12px 15px;

        font-size: 13px !important;
    }


    /* =====================================================
       横スクロール・文字切れ防止
    ===================================================== */

    .flow-page *,
    .flow-page *::before,
    .flow-page *::after {
        box-sizing: border-box;
    }

    .flow-page img {
        max-width: 100%;
        height: auto;
    }

    .flow-page h1,
    .flow-page h2,
    .flow-page h3,
    .flow-page p,
    .flow-page li,
    .flow-page span,
    .flow-page a {
        overflow-wrap: anywhere;
    }
}


/* =========================================================
   375px以下
========================================================= */

@media screen and (max-width: 375px) {

    .flow-page .container {
        padding-left: 17px;
        padding-right: 17px;
    }

    .flow-page .sub-hero__title {
        font-size: 27px !important;
    }

    .flow-page .section-title h2 {
        font-size: 21px !important;
    }

    .flow-page .transport-final-cta h2,
    .flow-page .flow-final-cta h2 {
        font-size: 21px !important;
    }
}
/* =========================================================
   料金ページ
   スマホ専用 最終調整
   PCには影響しません
========================================================= */

@media screen and (max-width: 768px) {

    /* =====================================================
       基本
    ===================================================== */

    .price-page {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden;
    }

    .price-page *,
    .price-page *::before,
    .price-page *::after {
        box-sizing: border-box;
    }

    .price-page .container {
        width: 100%;
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
        padding-left: 20px;
        padding-right: 20px;
    }

    .price-page img {
        max-width: 100%;
        height: auto;
    }


    /* =====================================================
       FV
       料金ページは少しコンパクトにする
    ===================================================== */

    .price-page .sub-hero {
        padding-top: 38px !important;
        padding-bottom: 34px !important;
    }

    .price-page .sub-hero__inner {
        display: flex !important;
        flex-direction: column !important;
        gap: 25px !important;

        width: 100%;
        max-width: 100%;
    }

    .price-page .sub-hero__content,
    .price-page .sub-hero__image {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .price-page .sub-hero__lead {
        margin: 0 0 9px;

        font-size: 10px !important;
        line-height: 1.5;
        letter-spacing: 0.1em;
    }

    .price-page .sub-hero__title {
        margin: 0 0 16px;

        font-size: 28px !important;
        line-height: 1.45 !important;
        letter-spacing: 0 !important;

        word-break: keep-all;
    }

    .price-page .sub-hero__text {
        margin: 0;

        font-size: 13px !important;
        line-height: 1.9 !important;
    }

    .price-page .sub-hero__points {
        display: flex;
        flex-wrap: wrap;

        gap: 7px 9px;

        margin-top: 17px;
    }

    .price-page .sub-hero__points span {
        font-size: 10px !important;
        line-height: 1.5;
    }

    .price-page .sub-hero__image,
    .price-page .sub-image-placeholder {
        width: 100% !important;
        height: 190px !important;
        min-height: 190px !important;
    }

    .price-page .sub-hero__photo {
        width: 100%;
        height: 190px !important;
        object-fit: cover;
    }


    /* =====================================================
       FV直下CTA
    ===================================================== */

    .price-page .transport-mini-cta {
        padding: 15px 0 !important;
    }

    .price-page .transport-mini-cta__inner {
        display: flex !important;
        flex-direction: column !important;

        gap: 12px !important;

        text-align: center;
    }

    .price-page .transport-mini-cta__inner > p {
        margin: 0;

        font-size: 12px !important;
        line-height: 1.8 !important;
    }

    .price-page .transport-mini-cta__buttons {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;

        width: 100%;

        gap: 7px !important;
    }

    .price-page .transport-mini-cta__buttons a {
        display: flex;
        align-items: center;
        justify-content: center;

        width: 100% !important;
        min-width: 0 !important;
        min-height: 42px;

        padding: 9px 6px !important;

        font-size: 10px !important;
        line-height: 1.4;

        text-align: center;
    }


    /* =====================================================
       セクション共通
    ===================================================== */

    .price-page .section-space {
        padding-top: 45px !important;
        padding-bottom: 45px !important;
    }

    .price-page .section-title {
        margin-bottom: 22px !important;
    }

    .price-page .section-title__en {
        margin: 0 0 6px;

        font-size: 9px !important;
        line-height: 1.4;

        letter-spacing: 0.13em;
    }

    .price-page .section-title h2 {
        margin: 0;

        font-size: 22px !important;
        line-height: 1.5 !important;
    }


    /* =====================================================
       料金について
    ===================================================== */

    .price-page .price-intro {
        padding-top: 42px !important;
        padding-bottom: 42px !important;
    }

    .price-page .price-intro .section-title {
        margin-bottom: 18px !important;
    }

    .price-page .transport-about__box {
        width: 100%;

        padding: 18px 16px !important;
    }

    .price-page .transport-about__box p {
        margin: 0;

        font-size: 12px !important;
        line-height: 1.9 !important;
    }


    /* =====================================================
       各料金カテゴリー
    ===================================================== */

    .price-page .price-business {
        position: relative;

        padding-top: 45px !important;
        padding-bottom: 45px !important;
    }

    .price-page .price-business__header {
        display: flex !important;
        flex-direction: column !important;

        align-items: stretch !important;

        gap: 17px !important;

        margin-bottom: 24px !important;
    }

    .price-page .price-business__header > div {
        width: 100%;
    }

    .price-page .price-business__header .section-title__en {
        margin-bottom: 5px;

        font-size: 9px !important;
    }

    .price-page .price-business__header h2 {
        position: relative;

        margin: 0 0 10px !important;
        padding-bottom: 11px;

        font-size: 22px !important;
        line-height: 1.45 !important;
    }

    /* 見出し下ゴールドライン */

    .price-page .price-business__header h2::after {
        content: "";

        position: absolute;
        left: 0;
        bottom: 0;

        width: 42px;
        height: 2px;

        background: #c5a052;
    }

    .price-page .price-business__header p:not(.section-title__en) {
        margin: 0;

        font-size: 12px !important;
        line-height: 1.8 !important;
    }

    /* 各業務ページへのボタン */

    .price-page .price-business__header > .btn-outline {
        align-self: flex-start;

        width: auto !important;
        min-width: 0 !important;

        padding: 9px 15px !important;

        font-size: 10px !important;
        line-height: 1.4;
    }


    /* =====================================================
       料金表
    ===================================================== */

    .price-page .price-table {
        width: 100%;

        border-top: 2px solid #18304f;
    }

    .price-page .price-table__row {
        display: grid !important;

        /*
         * 1段目 業務名
         * 2段目 金額・税込
         */
        grid-template-columns: 1fr auto !important;

        width: 100%;

        gap: 5px 10px !important;

        padding: 14px 10px !important;

        border-bottom: 1px solid #dfe3e8;
    }

    /* 業務名 */

    .price-page .price-table__row > span {
        grid-column: 1 / -1;

        display: block;

        width: 100%;

        font-size: 12px !important;
        font-weight: 600 !important;
        line-height: 1.6 !important;

        color: #102844;
    }

    /* 金額 */

    .price-page .price-table__row > strong {
        grid-column: 1;

        display: block;

        margin: 0;

        font-size: 15px !important;
        font-weight: 700 !important;
        line-height: 1.4 !important;

        color: #102844;
    }

    /* 税込 */

    .price-page .price-table__row > small {
        grid-column: 2;

        align-self: center;

        font-size: 9px !important;
        line-height: 1.3;

        color: #6f7883;
    }


    /* =====================================================
       運送業
       最重要業務なので見出しを少し強調
    ===================================================== */

    .price-page .price-business--transport
    .price-business__header h2 {
        font-size: 24px !important;
    }


    /* =====================================================
       産廃注記
    ===================================================== */

    .price-page .price-business__note {
        margin: 13px 0 0;

        font-size: 10px !important;
        line-height: 1.7 !important;

        color: #5f6873;
    }


    /* =====================================================
       自動車 セット割
    ===================================================== */

    .price-page .car-set-discount {
        margin-top: 25px !important;

        padding: 20px 16px !important;

        border: 1px solid #d5b46a;
    }

    .price-page .car-set-discount__label {
        margin: 0 0 5px;

        font-size: 9px !important;
        line-height: 1.4;

        letter-spacing: 0.12em;
    }

    .price-page .car-set-discount h3 {
        margin: 0 0 16px;

        font-size: 16px !important;
        line-height: 1.6 !important;
    }

    .price-page .car-set-discount__items {
        display: grid !important;

        grid-template-columns: 1fr 1fr !important;

        width: 100%;

        gap: 8px !important;
    }

    .price-page .car-set-discount__items > div {
        padding: 12px 7px !important;

        text-align: center;
    }

    .price-page .car-set-discount__items span {
        display: block;

        margin-bottom: 5px;

        font-size: 10px !important;
    }

    .price-page .car-set-discount__items strong {
        display: block;

        font-size: 14px !important;
        line-height: 1.4;
    }


    /* =====================================================
       注意事項
    ===================================================== */

    .price-page .price-notes {
        padding-top: 44px !important;
        padding-bottom: 44px !important;
    }

    .price-page .price-notes__box {
        width: 100%;

        padding: 18px 16px !important;
    }

    .price-page .price-notes__box ul {
        margin: 0;
        padding: 0;

        list-style: none;
    }

    .price-page .price-notes__box li {
        position: relative;

        margin: 0;
        padding:
            11px
            0
            11px
            18px;

        border-bottom: 1px solid #e4e7ea;

        font-size: 12px !important;
        line-height: 1.85 !important;
    }

    .price-page .price-notes__box li:first-child {
        padding-top: 0;
    }

    .price-page .price-notes__box li:last-child {
        padding-bottom: 0;

        border-bottom: 0;
    }

    .price-page .price-notes__box li::before {
        content: "◇";

        position: absolute;
        left: 0;

        color: #c5a052;
    }


    /* =====================================================
       最終CTA
    ===================================================== */

    .price-page .transport-final-cta {
        padding-top: 47px !important;
        padding-bottom: 47px !important;
    }

    .price-page .transport-final-cta__inner {
        width: 100%;
        max-width: 100%;

        padding-left: 20px !important;
        padding-right: 20px !important;

        text-align: center;
    }

    .price-page .transport-final-cta__label {
        margin: 0 0 8px;

        font-size: 9px !important;
        line-height: 1.5;
    }

    .price-page .transport-final-cta h2 {
        margin: 0 0 14px;

        font-size: 22px !important;
        line-height: 1.55 !important;

        word-break: keep-all;
    }

    .price-page .transport-final-cta__inner > p:not(
        .transport-final-cta__label
    ) {
        margin: 0;

        font-size: 12px !important;
        line-height: 1.9 !important;
    }

    .price-page .transport-final-cta__buttons {
        display: grid !important;

        grid-template-columns: 1fr !important;

        width: 100%;
        max-width: 330px;

        gap: 9px !important;

        margin: 22px auto 0 !important;
    }

    .price-page .transport-final-cta__buttons a {
        display: flex;
        align-items: center;
        justify-content: center;

        width: 100% !important;
        min-height: 47px;

        padding: 11px 15px !important;

        font-size: 12px !important;
    }


    /* =====================================================
       長い文字のはみ出し防止
    ===================================================== */

    .price-page h1,
    .price-page h2,
    .price-page h3,
    .price-page p,
    .price-page li,
    .price-page span,
    .price-page strong,
    .price-page small,
    .price-page a {
        overflow-wrap: anywhere;
    }

}


/* =========================================================
   375px以下
========================================================= */

@media screen and (max-width: 375px) {

    .price-page .container {
        padding-left: 17px;
        padding-right: 17px;
    }

    .price-page .sub-hero__title {
        font-size: 26px !important;
    }

    .price-page .price-business__header h2 {
        font-size: 21px !important;
    }

    .price-page .price-business--transport
    .price-business__header h2 {
        font-size: 22px !important;
    }

    .price-page .price-table__row {
        padding-left: 8px !important;
        padding-right: 8px !important;
    }

    .price-page .price-table__row > span {
        font-size: 11px !important;
    }

    .price-page .price-table__row > strong {
        font-size: 14px !important;
    }

    .price-page .transport-final-cta h2 {
        font-size: 20px !important;
    }

}
/* =========================================================
   事務所案内ページ
   スマホ専用 最終調整
========================================================= */

@media screen and (max-width: 768px) {

    /* =====================================================
       ページ全体
    ===================================================== */

    .about-page {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden;
    }

    .about-page *,
    .about-page *::before,
    .about-page *::after {
        box-sizing: border-box;
    }

    .about-page .container {
        width: 100%;
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
        padding-left: 20px;
        padding-right: 20px;
    }

    .about-page .section-space {
        padding-top: 48px !important;
        padding-bottom: 48px !important;
    }

    .about-page img {
        max-width: 100%;
        height: auto;
    }


    /* =====================================================
       FV
    ===================================================== */

    .about-page .sub-hero {
        padding-top: 42px !important;
        padding-bottom: 38px !important;
    }

    .about-page .sub-hero__inner {
        display: flex !important;
        flex-direction: column !important;

        width: 100%;
        max-width: 100%;

        gap: 26px !important;
    }

    .about-page .sub-hero__content,
    .about-page .sub-hero__image {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .about-page .sub-hero__lead {
        margin: 0 0 9px;

        font-size: 10px !important;
        line-height: 1.5;
        letter-spacing: 0.1em;
    }

    .about-page .sub-hero__title {
        margin: 0 0 16px;

        font-size: 29px !important;
        line-height: 1.45 !important;
        letter-spacing: 0 !important;

        word-break: keep-all;
    }

    .about-page .sub-hero__text {
        margin: 0;

        font-size: 13px !important;
        line-height: 1.9 !important;
    }

    .about-page .sub-hero__points {
        display: flex;
        flex-wrap: wrap;

        gap: 7px 9px;

        margin-top: 18px;
    }

    .about-page .sub-hero__points span {
        font-size: 10px !important;
        line-height: 1.5;
    }

    .about-page .sub-hero__image,
    .about-page .sub-image-placeholder {
        width: 100% !important;
        height: 210px !important;
        min-height: 210px !important;
    }

    .about-page .sub-hero__photo {
        width: 100% !important;
        height: 210px !important;

        object-fit: cover;
    }


    /* =====================================================
       FV直下CTA
    ===================================================== */

    .about-page .transport-mini-cta {
        padding: 15px 0 !important;
    }

    .about-page .transport-mini-cta__inner {
        display: flex !important;
        flex-direction: column !important;

        gap: 12px !important;

        text-align: center;
    }

    .about-page .transport-mini-cta__inner > p {
        margin: 0;

        font-size: 12px !important;
        line-height: 1.8 !important;
    }

    .about-page .transport-mini-cta__buttons {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;

        width: 100%;

        gap: 7px !important;
    }

    .about-page .transport-mini-cta__buttons a {
        display: flex;
        align-items: center;
        justify-content: center;

        width: 100% !important;
        min-width: 0 !important;
        min-height: 42px;

        padding: 9px 6px !important;

        font-size: 10px !important;
        line-height: 1.4;

        text-align: center;
    }


    /* =====================================================
       共通見出し
    ===================================================== */

    .about-page .section-title {
        margin-bottom: 24px !important;
    }

    .about-page .section-title__en {
        margin: 0 0 6px;

        font-size: 9px !important;
        line-height: 1.4;
        letter-spacing: 0.13em;
    }

    .about-page .section-title h2 {
        margin: 0;

        font-size: 22px !important;
        line-height: 1.5 !important;

        word-break: keep-all;
    }


    /* =====================================================
       代表プロフィール
    ===================================================== */

    .about-page .about-profile {
        padding-top: 48px !important;
        padding-bottom: 48px !important;
    }

    .about-page .about-profile__inner {
        display: flex !important;
        flex-direction: column !important;

        gap: 26px !important;

        width: 100%;
    }

    .about-page .about-profile__image,
    .about-page .about-profile__content {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .about-page .about-profile__image {
        max-width: 280px !important;
        margin: 0 auto;
    }

    .about-page .about-profile__image .sub-image-placeholder {
        height: 330px !important;
        min-height: 330px !important;
    }

    .about-page .about-profile__photo {
        display: block;

        width: 100% !important;
        height: auto !important;

        object-fit: cover;
    }

    .about-page .about-profile__position {
        margin: 0 0 5px;

        font-size: 10px !important;
        letter-spacing: 0.1em;
    }

    .about-page .about-profile__content h3 {
        margin: 0 0 15px;

        font-size: 24px !important;
        line-height: 1.4 !important;
    }

    .about-page .about-profile__catch {
        margin-bottom: 22px;
        padding-bottom: 18px;

        border-bottom: 1px solid #dfe3e8;
    }

    .about-page .about-profile__catch strong {
        font-size: 15px !important;
        line-height: 1.75 !important;
    }

    .about-page .about-profile__text p {
        margin: 0 0 16px;

        font-size: 13px !important;
        line-height: 1.95 !important;
    }

    .about-page .about-profile__text p:last-child {
        margin-bottom: 0;
    }


    /* =====================================================
       行政書士を目指したきっかけ
    ===================================================== */

    .about-page .about-reason {
        padding-top: 48px !important;
        padding-bottom: 48px !important;
    }

    .about-page .about-reason__inner {
        display: flex !important;
        flex-direction: column !important;

        gap: 24px !important;
    }

    .about-page .about-reason__inner > div {
        width: 100% !important;
        max-width: 100% !important;
    }

    .about-page .about-reason h2 {
        margin: 0;

        font-size: 24px !important;
        line-height: 1.5 !important;
    }

    .about-page .about-reason__text p {
        margin: 0 0 15px;

        font-size: 13px !important;
        line-height: 1.95 !important;
    }

    .about-page .about-reason__quote {
        margin: 20px 0 !important;
        padding: 18px 16px !important;

        border-left: 2px solid #c5a052;
    }

    .about-page .about-reason__quote strong {
        font-size: 14px !important;
        line-height: 1.85 !important;
    }


    /* =====================================================
       現場経験を事業者のサポートへ
    ===================================================== */

    .about-page .about-experience__inner {
        display: flex !important;
        flex-direction: column !important;

        gap: 24px !important;

        width: 100%;
    }

    .about-page .about-experience__main,
    .about-page .about-experience__point {
        width: 100% !important;
        max-width: 100% !important;
    }

    .about-page .about-experience__main p {
        margin: 0 0 15px;

        font-size: 13px !important;
        line-height: 1.95 !important;
    }

    .about-page .about-experience__emphasis {
        padding: 15px 0 !important;

        font-size: 15px !important;
        font-weight: 700;
        line-height: 1.75 !important;
    }

    .about-page .about-experience__point {
        padding: 20px 18px !important;
    }

    .about-page .about-experience__point span {
        display: block;

        margin-bottom: 8px;

        font-size: 9px !important;
        letter-spacing: 0.1em;
    }

    .about-page .about-experience__point strong {
        font-size: 17px !important;
        line-height: 1.65 !important;
    }


    /* =====================================================
       「現場を知っている」ことが強み
    ===================================================== */

    .about-page .about-strength {
        padding-top: 48px !important;
        padding-bottom: 48px !important;
    }

    .about-page .about-strength__inner {
        width: 100%;
        max-width: 100%;

        text-align: left !important;
    }

    .about-page .about-strength__inner h2 {
        margin: 0 0 23px;

        font-size: 23px !important;
        line-height: 1.55 !important;
    }

    .about-page .about-strength__questions {
        display: grid !important;
        grid-template-columns: 1fr !important;

        gap: 8px !important;

        width: 100%;

        margin-bottom: 22px !important;
    }

    .about-page .about-strength__questions p {
        width: 100%;

        margin: 0 !important;
        padding: 13px 14px !important;

        font-size: 12px !important;
        line-height: 1.7 !important;
    }

    .about-page .about-strength__text {
        width: 100%;
        max-width: 100%;

        margin: 0;
        padding: 0;
    }

    .about-page .about-strength__text p {
        margin: 0 0 15px;

        font-size: 13px !important;
        line-height: 1.95 !important;
    }

    .about-page .about-strength__text p:last-child {
        margin-bottom: 0;
    }


    /* =====================================================
       事務スタッフ
    ===================================================== */

    .about-page .about-staff__inner {
        display: flex !important;
        flex-direction: column !important;

        gap: 25px !important;

        width: 100%;
    }

    .about-page .about-staff__content,
    .about-page .about-staff__image {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .about-page .about-staff__content h2 {
        margin: 0 0 15px;

        font-size: 22px !important;
        line-height: 1.55 !important;
    }

    .about-page .about-staff__content > p:not(.section-title__en) {
        margin: 0;

        font-size: 13px !important;
        line-height: 1.95 !important;
    }

    .about-page .about-staff__image {
        max-width: 300px !important;
        margin: 0 auto;
    }

    .about-page .about-staff__image .sub-image-placeholder {
        height: 240px !important;
        min-height: 240px !important;
    }

    .about-page .about-staff__photo {
        display: block;

        width: 100% !important;
        height: auto !important;
    }


    /* =====================================================
       事務所概要
    ===================================================== */

    .about-page .about-office__table {
        width: 100%;

        margin: 0;
    }

    .about-page .about-office__row {
        display: grid !important;

        grid-template-columns: 1fr !important;

        gap: 6px !important;

        width: 100%;

        padding: 15px 4px !important;

        border-bottom: 1px solid #dde2e7;
    }

    .about-page .about-office__row:first-child {
        border-top: 2px solid #17304e;
    }

    .about-page .about-office__row dt {
        margin: 0;

        font-size: 10px !important;
        font-weight: 700;
        line-height: 1.5;

        color: #b08d4f;
    }

    .about-page .about-office__row dd {
        margin: 0;

        font-size: 13px !important;
        line-height: 1.8 !important;

        color: #172844;
    }

    .about-page .about-office__row dd a {
        color: inherit;
        text-decoration: none;
    }


    /* =====================================================
       対応エリア
    ===================================================== */

    .about-page .about-area__grid {
        display: grid !important;
        grid-template-columns: 1fr !important;

        gap: 10px !important;

        width: 100%;
    }

    .about-page .about-area-card {
        width: 100%;
        min-height: auto !important;

        padding: 20px 18px !important;
    }

    .about-page .about-area-card > span {
        display: block;

        margin-bottom: 9px;

        font-size: 9px !important;

        color: #b08d4f;
    }

    .about-page .about-area-card h3 {
        margin: 0 0 7px;

        font-size: 16px !important;
        line-height: 1.5;
    }

    .about-page .about-area-card strong {
        display: block;

        margin-bottom: 8px;

        font-size: 13px !important;
        line-height: 1.6;
    }

    .about-page .about-area-card p {
        margin: 0;

        font-size: 12px !important;
        line-height: 1.85 !important;
    }


    /* =====================================================
       最終CTA
    ===================================================== */

    .about-page .transport-final-cta {
        padding-top: 48px !important;
        padding-bottom: 48px !important;
    }

    .about-page .transport-final-cta__inner {
        width: 100%;
        max-width: 100%;

        padding-left: 20px !important;
        padding-right: 20px !important;

        text-align: center;
    }

    .about-page .transport-final-cta__label {
        margin: 0 0 8px;

        font-size: 9px !important;
        line-height: 1.5;
    }

    .about-page .transport-final-cta h2 {
        margin: 0 0 14px;

        font-size: 22px !important;
        line-height: 1.55 !important;

        word-break: keep-all;
    }

    .about-page .transport-final-cta__inner > p:not(
        .transport-final-cta__label
    ) {
        margin: 0;

        font-size: 12px !important;
        line-height: 1.9 !important;
    }

    .about-page .transport-final-cta__buttons {
        display: grid !important;

        grid-template-columns: 1fr !important;

        width: 100%;
        max-width: 330px;

        gap: 9px !important;

        margin: 22px auto 0 !important;
    }

    .about-page .transport-final-cta__buttons a {
        display: flex;
        align-items: center;
        justify-content: center;

        width: 100% !important;
        min-height: 47px;

        padding: 11px 15px !important;

        font-size: 12px !important;
    }


    /* =====================================================
       文字はみ出し防止
    ===================================================== */

    .about-page h1,
    .about-page h2,
    .about-page h3,
    .about-page p,
    .about-page dt,
    .about-page dd,
    .about-page span,
    .about-page strong,
    .about-page a {
        overflow-wrap: anywhere;
    }
}


/* =========================================================
   375px以下
========================================================= */

@media screen and (max-width: 375px) {

    .about-page .container {
        padding-left: 17px;
        padding-right: 17px;
    }

    .about-page .sub-hero__title {
        font-size: 26px !important;
    }

    .about-page .section-title h2 {
        font-size: 21px !important;
    }

    .about-page .about-reason h2,
    .about-page .about-strength__inner h2 {
        font-size: 21px !important;
    }

    .about-page .about-profile__content h3 {
        font-size: 22px !important;
    }

    .about-page .transport-final-cta h2 {
        font-size: 20px !important;
    }
}
/* =========================================================
   全ページ共通
   FV下・ミニCTA ボタンデザイン
========================================================= */

.transport-mini-cta {
    background: #ffffff;
    border-bottom: 1px solid #e1e5ea;
}

.transport-mini-cta__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;

    padding-top: 24px;
    padding-bottom: 24px;
}


/* CTA上部の案内文 */
.transport-mini-cta__inner > p {
    margin: 0;

    color: #102844;

    font-size: 16px;
    font-weight: 700;
    line-height: 1.7;
}


/* ボタンエリア */
.transport-mini-cta__buttons {
    display: flex;
    align-items: center;

    gap: 12px;
}


/* ボタン共通 */
.transport-mini-cta__buttons a {
    display: flex;
    align-items: center;
    justify-content: center;

    min-width: 190px;
    min-height: 52px;

    padding: 13px 22px;

    font-size: 14px;
    font-weight: 700;
    line-height: 1.4;

    text-align: center;
    text-decoration: none;

    transition:
        background-color 0.25s ease,
        color 0.25s ease,
        border-color 0.25s ease,
        transform 0.25s ease;
}


/* =========================================================
   LINE
   ゴールド
========================================================= */

.transport-mini-cta__buttons .btn-gold,
.transport-mini-cta__buttons a:first-child {
    background: #c5a052;
    border: 1px solid #c5a052;

    color: #ffffff;
}


/* LINE ホバー */
.transport-mini-cta__buttons .btn-gold:hover,
.transport-mini-cta__buttons a:first-child:hover {
    background: #ad8941;
    border-color: #ad8941;

    color: #ffffff;

    transform: translateY(-2px);
}


/* =========================================================
   お問い合わせフォーム
   ネイビー
========================================================= */

.transport-mini-cta__buttons .btn-outline,
.transport-mini-cta__buttons a:last-child {
    background: #102844;
    border: 1px solid #102844;

    color: #ffffff;
}


/* お問い合わせ ホバー */
.transport-mini-cta__buttons .btn-outline:hover,
.transport-mini-cta__buttons a:last-child:hover {
    background: #ffffff;

    color: #102844;

    transform: translateY(-2px);
}


/* =========================================================
   スマホ
========================================================= */

@media screen and (max-width: 768px) {

    .transport-mini-cta {
        padding: 0 !important;
    }

    .transport-mini-cta__inner {
        display: block !important;

        padding-top: 20px !important;
        padding-bottom: 20px !important;
    }


    /* 案内文 */
    .transport-mini-cta__inner > p {
        margin: 0 0 15px !important;

        font-size: 13px !important;
        font-weight: 700 !important;
        line-height: 1.7 !important;

        text-align: center;
    }


    /* 2ボタン横並び */
    .transport-mini-cta__buttons {
        display: grid !important;

        grid-template-columns: 1fr 1fr !important;

        gap: 8px !important;

        width: 100% !important;
    }


    .transport-mini-cta__buttons a {
        width: 100% !important;
        min-width: 0 !important;
        min-height: 44px !important;

        padding: 10px 6px !important;

        font-size: 11px !important;
        font-weight: 700 !important;
    }

}


/* =========================================================
   かなり小さいスマホ
========================================================= */

@media screen and (max-width: 360px) {

    .transport-mini-cta__buttons {
        grid-template-columns: 1fr !important;
    }

    .transport-mini-cta__buttons a {
        min-height: 46px !important;
        font-size: 12px !important;
    }

}
/* =========================================================
   事務所案内
   「現場を知っている」質問カード
   ?重なり修正
========================================================= */

.about-page .about-strength__questions p {
    position: relative;

    padding:
        18px
        18px
        18px
        58px !important;
}


/* 疑問符 */
.about-page .about-strength__questions p::before {
    position: absolute;

    top: 50%;
    left: 22px;

    transform: translateY(-50%);

    margin: 0 !important;

    color: #b9954f;

    font-size: 30px;
    font-weight: 700;
    line-height: 1;

    z-index: 1;
}


/* =========================================================
   スマホ
========================================================= */

@media screen and (max-width: 768px) {

    .about-page .about-strength__questions p {
        padding:
            15px
            14px
            15px
            46px !important;
    }

    .about-page .about-strength__questions p::before {
        left: 16px;

        font-size: 25px;
    }

}
/* =========================================================
   事務所案内
   EXPERIENCE文章
   左ゴールド線との余白調整
========================================================= */

.about-page .about-experience__main {
    border-left: 3px solid #c5a052;

    padding-left: 28px !important;
}


/* 中の文章に余計な左位置指定がある場合をリセット */
.about-page .about-experience__main p {
    margin-left: 0 !important;
}


/* 強調文章 */
.about-page .about-experience__emphasis {
    margin-left: 0 !important;
}


/* =========================================================
   スマホ
========================================================= */

@media screen and (max-width: 768px) {

    .about-page .about-experience__main {
        padding-left: 20px !important;
    }

}
/* =========================================================
   事務所案内 スマホ最終微調整
========================================================= */

@media screen and (max-width: 768px) {

    /* -------------------------
       代表プロフィール本文
    ------------------------- */

    .about-page .about-profile__text p {
        font-size: 13px !important;
        line-height: 2 !important;
        margin-bottom: 18px !important;
    }

    .about-page .about-profile__text p:last-child {
        margin-bottom: 0 !important;
    }


    /* -------------------------
       行政書士を目指したきっかけ
    ------------------------- */

    .about-page .about-reason__inner {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }

    .about-page .about-reason__text p {
        line-height: 2 !important;
        margin-bottom: 18px !important;
    }


    /* -------------------------
       現場経験
       ゴールド線と文章
    ------------------------- */

    .about-page .about-experience__main {
        padding-left: 20px !important;
    }

    .about-page .about-experience__main p {
        line-height: 2 !important;
        margin-bottom: 18px !important;
    }


    /* -------------------------
       強み・質問カード
    ------------------------- */

    .about-page .about-strength__questions {
        margin-bottom: 28px !important;
    }

    .about-page .about-strength__questions p {
        padding: 16px 14px 16px 48px !important;
        line-height: 1.7 !important;
    }

    .about-page .about-strength__questions p::before {
        left: 16px !important;
    }

    .about-page .about-strength__text {
        margin-top: 0 !important;
    }

    .about-page .about-strength__text p {
        line-height: 2 !important;
        margin-bottom: 18px !important;
    }


    /* -------------------------
       スタッフ紹介
    ------------------------- */

    .about-page .about-staff__content p {
        line-height: 2 !important;
    }


    /* -------------------------
       事務所概要
    ------------------------- */

    .about-page .about-office__row {
        padding: 17px 4px !important;
    }

    .about-page .about-office__row dt {
        margin-bottom: 7px !important;
    }

    .about-page .about-office__row dd {
        line-height: 1.8 !important;
    }


    /* -------------------------
       対応エリア
    ------------------------- */

    .about-page .about-area-card {
        padding: 20px 18px !important;
    }

    .about-page .about-area-card p {
        line-height: 1.85 !important;
    }

}
/* =========================================================
   事務所案内
   ゴールド縦線 最終修正
========================================================= */

/* 親側に付いている可能性のある線を削除 */
.about-page .about-experience__inner {
    border-left: none !important;
}


/* 縦線は本文ブロックだけに付ける */
.about-page .about-experience__main {
    position: relative;

    border-left: 3px solid #c5a052 !important;

    padding-left: 32px !important;
}


/* 本文 */
.about-page .about-experience__main p {
    margin-left: 0 !important;
    padding-left: 0 !important;
}


/* 強調文 */
.about-page .about-experience__emphasis {
    margin-left: 0 !important;
    padding-left: 0 !important;
}


/* =========================================================
   スマホ
========================================================= */

@media screen and (max-width: 768px) {

    .about-page .about-experience__inner {
        border-left: none !important;
        padding-left: 0 !important;
    }

    .about-page .about-experience__main {
        border-left: 3px solid #c5a052 !important;

        /* 線と文章の間 */
        padding-left: 24px !important;

        /* 右側も確保 */
        padding-right: 4px !important;
    }

    .about-page .about-experience__main p {
        margin-left: 0 !important;
        padding-left: 0 !important;
    }

    .about-page .about-experience__emphasis {
        margin-left: 0 !important;
        padding-left: 0 !important;
    }

}
/* =========================================================
   事務所案内
   ゴールド縦線と文章の間隔 最終修正
========================================================= */

@media screen and (max-width: 768px) {

    /* =====================================================
       「現場を知っている」ことが、私の強みです。
       下の本文ボックス
    ===================================================== */

    .about-page .about-strength__text {
        padding:
            28px
            20px
            28px
            32px !important;

        border-left:
            3px solid #b49355 !important;
    }

    .about-page .about-strength__text p,
    .about-page .about-strength__text strong {
        margin-left: 0 !important;
        padding-left: 0 !important;
    }


    /* =====================================================
       「実際に運送の現場で20年以上～」
       強調文
    ===================================================== */

    .about-page .about-experience__emphasis {
        margin:
            25px
            0 !important;

        padding:
            20px
            18px
            20px
            30px !important;

        border-left:
            3px solid #b49355 !important;
    }

}
/* =========================================================
   お問い合わせページ
   スマホ専用 最終調整
========================================================= */

@media screen and (max-width: 768px) {

    /* =====================================================
       ページ全体
    ===================================================== */

    .contact-page {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden;
    }

    .contact-page *,
    .contact-page *::before,
    .contact-page *::after {
        box-sizing: border-box;
    }

    .contact-page .container {
        width: 100%;
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
        padding-left: 20px;
        padding-right: 20px;
    }


    /* =====================================================
       FV
    ===================================================== */

    .contact-page .sub-hero {
        padding-top: 42px !important;
        padding-bottom: 38px !important;
    }

    .contact-page .sub-hero__inner {
        display: flex !important;
        flex-direction: column !important;

        gap: 26px !important;

        width: 100%;
        max-width: 100%;
    }

    .contact-page .sub-hero__content,
    .contact-page .sub-hero__image {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .contact-page .sub-hero__lead {
        margin-bottom: 8px;

        font-size: 10px !important;
        line-height: 1.5;
        letter-spacing: 0.1em;
    }

    .contact-page .sub-hero__title {
        margin: 0 0 16px;

        font-size: 28px !important;
        line-height: 1.45 !important;

        letter-spacing: 0 !important;

        word-break: keep-all;
    }

    .contact-page .sub-hero__text {
        margin: 0;

        font-size: 13px !important;
        line-height: 1.9 !important;
    }

    .contact-page .sub-hero__points {
        display: flex;
        flex-wrap: wrap;

        gap: 7px 9px;

        margin-top: 18px;
    }

    .contact-page .sub-hero__points span {
        font-size: 10px !important;
        line-height: 1.5;
    }

    .contact-page .sub-hero__image,
    .contact-page .sub-image-placeholder {
        width: 100% !important;

        height: 210px !important;
        min-height: 210px !important;
    }


    /* =====================================================
       初回相談案内
    ===================================================== */

    .contact-page .contact-consultation {
        padding-top: 44px !important;
        padding-bottom: 44px !important;
    }

    .contact-page .contact-consultation__grid {
        display: grid !important;

        grid-template-columns: 1fr !important;

        gap: 10px !important;
    }

    .contact-page .contact-consultation-card {
        width: 100%;

        min-height: auto !important;

        padding: 20px 18px !important;
    }

    .contact-page .contact-consultation-card > span {
        display: block;

        margin-bottom: 7px;

        font-size: 9px !important;
    }

    .contact-page .contact-consultation-card h3 {
        margin: 0 0 8px;

        font-size: 16px !important;
        line-height: 1.55;
    }

    .contact-page .contact-consultation-card p {
        margin: 0;

        font-size: 12px !important;
        line-height: 1.85 !important;
    }

    .contact-page .contact-consultation-card a {
        font-size: 13px !important;
    }


    /* =====================================================
       お問い合わせフォームセクション
    ===================================================== */

    .contact-page .contact-form-section {
        padding-top: 48px !important;
        padding-bottom: 48px !important;
    }

    .contact-page .contact-form-section .section-title {
        margin-bottom: 24px !important;
    }

    .contact-page .contact-form-section .section-title__en {
        font-size: 9px !important;
        letter-spacing: 0.12em;
    }

    .contact-page .contact-form-section .section-title h2 {
        font-size: 22px !important;
        line-height: 1.5 !important;
    }


    /* =====================================================
       フォーム本体
    ===================================================== */

    .contact-page .contact-form-wrap,
    .contact-page .wpcf7 {
        width: 100% !important;
        max-width: 100% !important;

        margin: 0 auto;
    }

    .contact-page .wpcf7 form {
        width: 100%;

        padding: 24px 18px !important;
    }


    /* =====================================================
       各フォーム項目
    ===================================================== */

    .contact-page .wpcf7 form > p {
        margin: 0 0 18px !important;
    }

    .contact-page .wpcf7 form > p:last-child {
        margin-bottom: 0 !important;
    }


    /* ラベル */
    .contact-page .wpcf7 label {
        display: block;

        margin-bottom: 7px;

        color: #172844;

        font-size: 12px !important;
        font-weight: 700;

        line-height: 1.6;
    }


    /* 必須・任意 */
    .contact-page .wpcf7 label span,
    .contact-page .required,
    .contact-page .optional {
        font-size: 9px !important;
    }


    /* =====================================================
       入力欄
    ===================================================== */

    .contact-page .wpcf7 input[type="text"],
    .contact-page .wpcf7 input[type="email"],
    .contact-page .wpcf7 input[type="tel"],
    .contact-page .wpcf7 input[type="url"],
    .contact-page .wpcf7 input[type="number"],
    .contact-page .wpcf7 select,
    .contact-page .wpcf7 textarea {
        display: block;

        width: 100% !important;
        max-width: 100% !important;

        margin: 0;

        padding: 11px 12px !important;

        border: 1px solid #d7dde4;

        background: #ffffff;

        color: #172844;

        font-size: 13px !important;
        line-height: 1.6;

        border-radius: 0;
    }

    .contact-page .wpcf7 input[type="text"],
    .contact-page .wpcf7 input[type="email"],
    .contact-page .wpcf7 input[type="tel"],
    .contact-page .wpcf7 select {
        min-height: 44px;
    }

    .contact-page .wpcf7 textarea {
        min-height: 150px !important;

        resize: vertical;
    }


    /* フォーカス */
    .contact-page .wpcf7 input:focus,
    .contact-page .wpcf7 select:focus,
    .contact-page .wpcf7 textarea:focus {
        outline: none;

        border-color: #b49355;

        box-shadow:
            0 0 0 2px
            rgba(180, 147, 85, 0.12);
    }


    /* =====================================================
       ラジオ・チェックボックス
    ===================================================== */

    .contact-page .wpcf7-list-item {
        display: block !important;

        margin: 0 0 8px 0 !important;
    }

    .contact-page .wpcf7-list-item:last-child {
        margin-bottom: 0 !important;
    }

    .contact-page .wpcf7-list-item label {
        display: inline-flex;

        align-items: flex-start;

        gap: 7px;

        margin: 0;

        font-size: 12px !important;
        font-weight: 400;

        line-height: 1.7;
    }

    .contact-page .wpcf7 input[type="radio"],
    .contact-page .wpcf7 input[type="checkbox"] {
        flex: 0 0 auto;

        margin-top: 3px;
    }


    /* =====================================================
       プライバシーポリシー同意
    ===================================================== */

    .contact-page .contact-privacy,
    .contact-page .privacy-check {
        margin-top: 20px !important;

        padding: 15px 14px !important;

        background: #f5f6f8;
    }

    .contact-page .contact-privacy label,
    .contact-page .privacy-check label {
        font-size: 11px !important;
        line-height: 1.7;
    }


    /* =====================================================
       送信ボタン
    ===================================================== */

    .contact-page .wpcf7 input[type="submit"],
    .contact-page .wpcf7 button[type="submit"] {
        display: flex;

        align-items: center;
        justify-content: center;

        width: 100% !important;
        max-width: 300px;

        min-height: 48px;

        margin: 22px auto 0 !important;

        padding: 12px 18px !important;

        border: 1px solid #b49355;

        background: #b49355;

        color: #ffffff;

        font-size: 13px !important;
        font-weight: 700;

        cursor: pointer;

        transition:
            background-color 0.25s ease,
            border-color 0.25s ease;
    }

    .contact-page .wpcf7 input[type="submit"]:hover,
    .contact-page .wpcf7 button[type="submit"]:hover {
        background: #9f7f43;

        border-color: #9f7f43;
    }


    /* =====================================================
       Contact Form 7メッセージ
    ===================================================== */

    .contact-page .wpcf7-response-output {
        margin: 20px 0 0 !important;

        padding: 12px 14px !important;

        font-size: 12px !important;
        line-height: 1.7;
    }

    .contact-page .wpcf7-not-valid-tip {
        margin-top: 5px;

        font-size: 11px !important;
        line-height: 1.6;
    }


    /* =====================================================
       ご相談前の注意
    ===================================================== */

    .contact-page .contact-before,
    .contact-page .before-contact {
        padding-top: 46px !important;
        padding-bottom: 46px !important;
    }

    .contact-page .contact-before__box,
    .contact-page .before-contact__box {
        width: 100%;

        padding: 18px 16px !important;
    }

    .contact-page .contact-before li,
    .contact-page .before-contact li {
        margin-bottom: 10px;

        font-size: 12px !important;
        line-height: 1.85 !important;
    }


    /* =====================================================
       プライバシー
    ===================================================== */

    .contact-page .contact-privacy-section {
        padding-top: 44px !important;
        padding-bottom: 44px !important;
    }

    .contact-page .contact-privacy-section h2 {
        font-size: 20px !important;
        line-height: 1.5;
    }

    .contact-page .contact-privacy-section p {
        font-size: 12px !important;
        line-height: 1.9;
    }


    /* =====================================================
       最終CTA
    ===================================================== */

    .contact-page .transport-final-cta {
        padding-top: 48px !important;
        padding-bottom: 48px !important;
    }

    .contact-page .transport-final-cta__inner {
        width: 100%;
        max-width: 100%;

        padding-left: 20px !important;
        padding-right: 20px !important;

        text-align: center;
    }

    .contact-page .transport-final-cta__label {
        margin-bottom: 8px;

        font-size: 9px !important;
    }

    .contact-page .transport-final-cta h2 {
        margin-bottom: 14px;

        font-size: 22px !important;
        line-height: 1.55 !important;

        word-break: keep-all;
    }

    .contact-page .transport-final-cta p {
        font-size: 12px !important;
        line-height: 1.9 !important;
    }

    .contact-page .transport-final-cta__buttons {
        display: grid !important;

        grid-template-columns: 1fr !important;

        width: 100%;
        max-width: 330px;

        gap: 9px;

        margin: 22px auto 0 !important;
    }

    .contact-page .transport-final-cta__buttons a {
        width: 100% !important;
        min-height: 47px;

        font-size: 12px !important;
    }

}


/* =========================================================
   375px以下
========================================================= */

@media screen and (max-width: 375px) {

    .contact-page .container {
        padding-left: 17px;
        padding-right: 17px;
    }

    .contact-page .sub-hero__title {
        font-size: 26px !important;
    }

    .contact-page .contact-form-section .section-title h2 {
        font-size: 21px !important;
    }

    .contact-page .wpcf7 form {
        padding: 22px 15px !important;
    }

    .contact-page .transport-final-cta h2 {
        font-size: 20px !important;
    }

}
/* =========================================================
   対応エリアページ
========================================================= */

.area-services {
    background: #f6f7f9;
}

.area-services__grid {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 24px;
}


.area-service-card {
    position: relative;

    display: flex;
    flex-direction: column;

    min-height: 390px;

    padding: 38px 34px;

    border: 1px solid #d9dee5;

    background: #ffffff;
}


.area-service-card__number {
    margin-bottom: 6px;

    color: #b49355;

    font-size: 12px;
    font-weight: 700;
}


.area-service-card__en {
    margin: 0 0 14px;

    color: #7a8491;

    font-size: 10px;
    letter-spacing: 0.1em;
}


.area-service-card h3 {
    margin: 0 0 14px;

    color: #172844;

    font-size: 24px;
    line-height: 1.5;
}


.area-service-card strong {
    display: block;

    margin-bottom: 16px;

    color: #b49355;

    font-size: 16px;
    line-height: 1.7;
}


.area-service-card > p:not(
    .area-service-card__en
) {
    margin: 0 0 24px;

    color: #596474;

    font-size: 14px;
    line-height: 1.9;
}


.area-service-card .btn-outline {
    margin-top: auto;

    align-self: flex-start;
}


/* =========================================================
   遠方相談
========================================================= */

.area-online {
    background: #172844;
    color: #ffffff;
}


.area-online__inner {
    display: grid;

    grid-template-columns:
        minmax(0, 0.8fr)
        minmax(0, 1.2fr);

    gap: 80px;

    align-items: start;
}


.area-online .section-title__en {
    color: #c5a052;
}


.area-online h2 {
    margin: 0;

    color: #ffffff;

    font-size: 34px;
    line-height: 1.55;
}


.area-online__content {
    padding-left: 30px;

    border-left:
        2px solid #c5a052;
}


.area-online__content p {
    margin: 0 0 20px;

    color:
        rgba(255, 255, 255, 0.88);

    font-size: 15px;
    line-height: 2;
}


.area-online__content p:last-child {
    margin-bottom: 0;
}


/* =========================================================
   注意事項
========================================================= */

.area-notes__box {
    max-width: 900px;

    margin:
        0
        auto;

    padding:
        30px
        34px;

    border:
        1px solid #d9dee5;

    background:
        #ffffff;
}


.area-notes__box ul {
    margin: 0;
    padding: 0;

    list-style: none;
}


.area-notes__box li {
    position: relative;

    padding:
        16px
        0
        16px
        24px;

    border-bottom:
        1px solid #e4e7eb;

    color:
        #596474;

    font-size: 14px;
    line-height: 1.9;
}


.area-notes__box li::before {
    content: "◇";

    position: absolute;

    top: 16px;
    left: 0;

    color: #b49355;
}


.area-notes__box li:last-child {
    border-bottom: 0;
}


/* =========================================================
   対応エリア
   スマホ
========================================================= */

@media screen and (max-width: 768px) {

    .area-page {
        width: 100%;
        max-width: 100%;

        overflow-x: hidden;
    }


    .area-page .container {
        width: 100%;
        max-width: 100%;

        padding-left: 20px;
        padding-right: 20px;
    }


    /* FV */

    .area-page .sub-hero {
        padding-top: 42px !important;
        padding-bottom: 38px !important;
    }


    .area-page .sub-hero__inner {
        display: flex !important;

        flex-direction: column !important;

        gap: 26px !important;
    }


    .area-page .sub-hero__content,
    .area-page .sub-hero__image {
        width: 100% !important;
        max-width: 100% !important;
    }


    .area-page .sub-hero__title {
        font-size: 28px !important;

        line-height: 1.45 !important;
    }


    .area-page .sub-hero__text {
        font-size: 13px !important;

        line-height: 1.9 !important;
    }


    .area-page .sub-hero__image,
    .area-page .sub-image-placeholder {
        height: 210px !important;

        min-height: 210px !important;
    }


    /* 業務カード */

    .area-services__grid {
        grid-template-columns:
            1fr !important;

        gap: 10px !important;
    }


    .area-service-card {
        min-height: auto;

        padding:
            22px
            18px;
    }


    .area-service-card h3 {
        font-size: 18px;

        line-height: 1.55;
    }


    .area-service-card strong {
        margin-bottom: 10px;

        font-size: 14px;
    }


    .area-service-card
    > p:not(.area-service-card__en) {

        margin-bottom: 18px;

        font-size: 13px;

        line-height: 1.85;
    }


    .area-service-card .btn-outline {
        width: 100%;

        text-align: center;
    }


    /* 遠方相談 */

    .area-online__inner {
        display: flex !important;

        flex-direction: column !important;

        gap: 25px !important;
    }


    .area-online h2 {
        font-size: 23px;

        line-height: 1.55;
    }


    .area-online__content {
        width: 100%;

        padding-left: 22px;
    }


    .area-online__content p {
        margin-bottom: 16px;

        font-size: 13px;

        line-height: 1.95;
    }


    /* 注意事項 */

    .area-notes__box {
        padding:
            18px
            16px;
    }


    .area-notes__box li {
        padding:
            12px
            0
            12px
            20px;

        font-size: 12px;

        line-height: 1.85;
    }


    .area-notes__box li::before {
        top: 12px;
    }

}

/* =========================================================
   BLOG PAGE
========================================================= */

.blog-list-section {
    background: #f7f8fa;
}


/* =========================================================
   カテゴリナビ
========================================================= */

.blog-category-nav {
    display: flex;
    flex-wrap: wrap;

    gap: 8px;

    margin-bottom: 45px;
}


.blog-category-nav a {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    min-height: 40px;

    padding: 8px 17px;

    border: 1px solid #d7dde4;

    background: #ffffff;

    color: #596474;

    font-size: 12px;
    font-weight: 600;

    line-height: 1.4;

    text-decoration: none;

    transition:
        background-color 0.25s ease,
        color 0.25s ease,
        border-color 0.25s ease;
}


.blog-category-nav a:hover,
.blog-category-nav a.is-active {

    border-color: #172844;

    background: #172844;

    color: #ffffff;
}



/* =========================================================
   BLOG GRID
========================================================= */

.blog-list-grid {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 30px 24px;
}



/* =========================================================
   BLOG CARD
========================================================= */

.blog-list-card {
    display: flex;
    flex-direction: column;

    min-width: 0;

    overflow: hidden;

    border: 1px solid #e0e4e9;

    background: #ffffff;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease;
}


.blog-list-card:hover {
    transform: translateY(-4px);

    border-color:
        rgba(180, 147, 85, 0.55);

    box-shadow:
        0 15px 35px
        rgba(23, 40, 68, 0.08);
}



/* =========================================================
   IMAGE
========================================================= */

.blog-list-card__image {
    display: block;

    width: 100%;

    aspect-ratio: 3 / 2;

    overflow: hidden;

    background: #eef1f4;
}


.blog-list-card__photo {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;

    transition:
        transform 0.4s ease;
}


.blog-list-card:hover
.blog-list-card__photo {

    transform: scale(1.035);
}


.blog-list-card__placeholder {
    display: flex;

    align-items: center;
    justify-content: center;

    width: 100%;
    height: 100%;

    color: #b49355;

    font-size: 12px;
    font-weight: 700;

    letter-spacing: 0.18em;
}



/* =========================================================
   CONTENT
========================================================= */

.blog-list-card__content {
    display: flex;
    flex: 1;
    flex-direction: column;

    padding: 24px 22px 25px;
}



/* meta */

.blog-list-card__meta {
    display: flex;

    flex-wrap: wrap;
    align-items: center;

    gap: 8px 12px;

    margin-bottom: 14px;
}


.blog-list-card__meta time {
    color: #89919c;

    font-size: 10px;

    letter-spacing: 0.04em;
}


.blog-list-card__meta span {
    padding: 4px 8px;

    background:
        rgba(180, 147, 85, 0.1);

    color: #9d7b3e;

    font-size: 9px;
    font-weight: 700;
}



/* title */

.blog-list-card__title {
    margin: 0 0 13px;

    font-size: 18px;
    line-height: 1.65;
}


.blog-list-card__title a {
    color: #172844;

    text-decoration: none;
}



/* excerpt */

.blog-list-card__excerpt {
    margin: 0 0 20px;

    color: #657080;

    font-size: 13px;
    line-height: 1.9;
}



/* more */

.blog-list-card__more {
    display: inline-flex;

    align-items: center;

    gap: 10px;

    margin-top: auto;

    color: #172844;

    font-size: 11px;
    font-weight: 700;

    text-decoration: none;
}


.blog-list-card__more span {
    color: #b49355;

    font-size: 16px;

    transition:
        transform 0.25s ease;
}


.blog-list-card__more:hover span {
    transform:
        translateX(4px);
}



/* =========================================================
   PAGINATION
========================================================= */

.blog-pagination {
    display: flex;

    justify-content: center;

    margin-top: 55px;
}


.blog-pagination .page-numbers {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    width: 42px;
    height: 42px;

    margin: 0 3px;

    border:
        1px solid #d7dde4;

    background: #ffffff;

    color: #172844;

    font-size: 12px;

    text-decoration: none;
}


.blog-pagination .page-numbers.current,
.blog-pagination .page-numbers:hover {

    border-color: #172844;

    background: #172844;

    color: #ffffff;
}



/* =========================================================
   EMPTY
========================================================= */

.blog-empty {
    padding:
        70px
        20px;

    text-align: center;

    background: #ffffff;
}


.blog-empty p {
    margin: 0 0 25px;

    color: #596474;

    font-size: 14px;
}



/* =========================================================
   BLOG スマホ
========================================================= */

@media screen and (max-width: 768px) {

    .blog-page {
        width: 100%;
        max-width: 100%;

        overflow-x: hidden;
    }


    /* -----------------------------------------
       FV
    ----------------------------------------- */

    .blog-page .sub-hero {
        padding-top: 42px !important;
        padding-bottom: 38px !important;
    }


    .blog-page .sub-hero__inner {
        display: flex !important;

        flex-direction: column !important;

        gap: 26px !important;
    }


    .blog-page .sub-hero__content,
    .blog-page .sub-hero__image {
        width: 100% !important;
        max-width: 100% !important;
    }


    .blog-page .sub-hero__title {
        font-size: 28px !important;

        line-height: 1.45 !important;
    }


    .blog-page .sub-hero__text {
        font-size: 13px !important;

        line-height: 1.9 !important;
    }


    .blog-page .sub-hero__image,
    .blog-page .sub-image-placeholder {

        height: 210px !important;

        min-height: 210px !important;
    }


    /* -----------------------------------------
       カテゴリ
    ----------------------------------------- */

    .blog-category-nav {
        gap: 6px;

        margin-bottom: 30px;
    }


    .blog-category-nav a {
        min-height: 36px;

        padding:
            7px
            12px;

        font-size: 10px;
    }


    /* -----------------------------------------
       記事
    ----------------------------------------- */

    .blog-list-grid {
        grid-template-columns:
            1fr !important;

        gap: 14px !important;
    }


    .blog-list-card {
        width: 100%;
    }


    .blog-list-card__content {
        padding:
            19px
            17px
            20px;
    }


    .blog-list-card__meta {
        margin-bottom: 11px;
    }


    .blog-list-card__title {
        margin-bottom: 10px;

        font-size: 16px;

        line-height: 1.6;
    }


    .blog-list-card__excerpt {
        margin-bottom: 17px;

        font-size: 12px;

        line-height: 1.85;
    }


    /* -----------------------------------------
       ページネーション
    ----------------------------------------- */

    .blog-pagination {
        margin-top: 35px;
    }


    .blog-pagination .page-numbers {
        width: 38px;
        height: 38px;

        font-size: 11px;
    }

}
/* =========================================================
   SINGLE BLOG
   松井法務行政書士事務所
========================================================= */

.single-blog-page {
    background: #ffffff;
}


/* =========================================================
   ARTICLE HEADER
========================================================= */

.single-blog-header {
    padding: 65px 0 60px;

    background: #172844;

    color: #ffffff;
}


.single-blog-header__inner {
    max-width: 950px;

    margin: 0 auto;
}


/* パンくず */

.single-blog-breadcrumb {
    display: flex;
    flex-wrap: wrap;

    align-items: center;

    gap: 8px;

    margin-bottom: 35px;

    color: rgba(255, 255, 255, 0.55);

    font-size: 10px;

    line-height: 1.7;
}


.single-blog-breadcrumb a {
    color: rgba(255, 255, 255, 0.75);

    text-decoration: none;
}


.single-blog-breadcrumb a:hover {
    color: #d2ad63;
}


.single-blog-breadcrumb > span:last-child {
    max-width: 400px;

    overflow: hidden;

    white-space: nowrap;

    text-overflow: ellipsis;
}


/* カテゴリ */

.single-blog-category {
    display: flex;
    flex-wrap: wrap;

    gap: 6px;

    margin-bottom: 20px;
}


.single-blog-category a {
    display: inline-block;

    padding: 5px 10px;

    border: 1px solid rgba(210, 173, 99, 0.65);

    color: #d2ad63;

    font-size: 9px;
    font-weight: 700;

    text-decoration: none;
}


/* タイトル */

.single-blog-title {
    max-width: 850px;

    margin: 0;

    color: #ffffff;

    font-size: clamp(28px, 3.2vw, 42px);

    font-weight: 700;

    line-height: 1.55;

    letter-spacing: 0.02em;
}


/* 日付 */

.single-blog-date {
    display: flex;
    flex-wrap: wrap;

    align-items: center;

    gap: 7px;

    margin-top: 25px;

    color: rgba(255, 255, 255, 0.7);

    font-size: 10px;
}


.single-blog-date > span {
    color: #d2ad63;

    font-weight: 700;
}


.single-blog-date__updated {
    margin-left: 12px;
}



/* =========================================================
   MAIN
========================================================= */

.single-blog-main {
    padding: 75px 0 95px;

    background: #f7f8fa;
}


.single-blog-layout {
    width: 100%;

    max-width: 900px;

    margin: 0 auto;
}


.single-blog-article {
    padding: 50px 65px;

    background: #ffffff;

    box-shadow:
        0 10px 35px
        rgba(23, 40, 68, 0.05);
}



/* =========================================================
   THUMBNAIL
========================================================= */

.single-blog-thumbnail {
    width: 100%;

    margin-bottom: 50px;

    overflow: hidden;
}


.single-blog-thumbnail__image {
    display: block;

    width: 100%;
    height: auto;

    max-height: 500px;

    object-fit: cover;
}



/* =========================================================
   ARTICLE CONTENT
========================================================= */

.single-blog-content {
    color: #354052;

    font-size: 15px;

    line-height: 2.05;
}


.single-blog-content > *:first-child {
    margin-top: 0;
}


.single-blog-content p {
    margin: 0 0 28px;
}


/* H2 */

.single-blog-content h2 {
    position: relative;

    margin: 65px 0 28px;

    padding:
        19px
        22px
        19px
        27px;

    border-left:
        4px solid #b49355;

    background: #172844;

    color: #ffffff;

    font-size: 24px;

    line-height: 1.6;
}


/* H3 */

.single-blog-content h3 {
    margin: 50px 0 22px;

    padding-bottom: 12px;

    border-bottom:
        2px solid #b49355;

    color: #172844;

    font-size: 20px;

    line-height: 1.6;
}


/* H4 */

.single-blog-content h4 {
    margin: 40px 0 18px;

    color: #172844;

    font-size: 17px;

    line-height: 1.7;
}


/* リンク */

.single-blog-content a {
    color: #866725;

    font-weight: 600;

    text-decoration: underline;

    text-underline-offset: 3px;
}


/* リスト */

.single-blog-content ul,
.single-blog-content ol {
    margin: 25px 0 30px;

    padding-left: 28px;
}


.single-blog-content li {
    margin-bottom: 10px;

    line-height: 1.9;
}


.single-blog-content li::marker {
    color: #b49355;

    font-weight: 700;
}


/* 引用 */

.single-blog-content blockquote {
    margin: 35px 0;

    padding: 25px 28px;

    border-left:
        3px solid #b49355;

    background: #f5f6f8;

    color: #596474;
}


.single-blog-content blockquote p:last-child {
    margin-bottom: 0;
}


/* 画像 */

.single-blog-content img {
    max-width: 100%;
    height: auto;
}


/* テーブル */

.single-blog-content table {
    width: 100%;

    margin: 35px 0;

    border-collapse: collapse;

    font-size: 13px;
}


.single-blog-content th,
.single-blog-content td {
    padding: 14px 15px;

    border: 1px solid #dce1e7;

    text-align: left;

    vertical-align: top;
}


.single-blog-content th {
    background: #172844;

    color: #ffffff;
}



/* =========================================================
   NOTICE
========================================================= */

.single-blog-notice {
    margin-top: 55px;

    padding: 25px 28px;

    border:
        1px solid #e1e4e8;

    background: #f7f8fa;
}


.single-blog-notice__title {
    margin: 0 0 10px;

    color: #172844;

    font-size: 13px;
    font-weight: 700;
}


.single-blog-notice p:last-child {
    margin: 0;

    color: #667181;

    font-size: 11px;

    line-height: 1.9;
}



/* =========================================================
   ARTICLE CTA
========================================================= */

.single-blog-consultation {
    margin-top: 45px;

    padding: 40px;

    background: #172844;

    color: #ffffff;

    text-align: center;
}


.single-blog-consultation__label {
    margin: 0 0 13px;

    color: #d2ad63;

    font-size: 10px;
    font-weight: 700;
}


.single-blog-consultation h2 {
    margin: 0 0 17px;

    color: #ffffff;

    font-size: 24px;

    line-height: 1.55;
}


.single-blog-consultation > p:not(
    .single-blog-consultation__label
) {
    margin: 0;

    color: rgba(255, 255, 255, 0.75);

    font-size: 12px;

    line-height: 1.9;
}


.single-blog-consultation__buttons {
    display: flex;

    justify-content: center;

    gap: 10px;

    margin-top: 25px;
}


.single-blog-consultation__buttons a {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    min-width: 210px;
    min-height: 48px;

    padding: 12px 20px;

    font-size: 11px;
    font-weight: 700;

    text-decoration: none;

    transition:
        transform 0.2s ease,
        background-color 0.2s ease;
}


.single-blog-consultation__line {
    background: #b49355;

    color: #ffffff;
}


.single-blog-consultation__form {
    border:
        1px solid rgba(255, 255, 255, 0.6);

    color: #ffffff;
}


.single-blog-consultation__buttons a:hover {
    transform: translateY(-2px);
}



/* =========================================================
   PREV / NEXT
========================================================= */

.single-blog-navigation {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 1px;

    margin-top: 55px;

    background: #dce1e7;

    border: 1px solid #dce1e7;
}


.single-blog-navigation__item {
    min-width: 0;

    padding: 22px;

    background: #ffffff;
}


.single-blog-navigation__item p {
    margin: 0 0 10px;

    color: #b49355;

    font-size: 9px;
    font-weight: 700;

    letter-spacing: 0.15em;
}


.single-blog-navigation__item a {
    display: flex;

    align-items: center;

    gap: 12px;

    color: #172844;

    text-decoration: none;
}


.single-blog-navigation__item strong {
    font-size: 12px;

    line-height: 1.7;
}


.single-blog-navigation__item a > span {
    flex-shrink: 0;

    color: #b49355;
}


.single-blog-navigation__item--next {
    text-align: right;
}


.single-blog-navigation__item--next a {
    justify-content: flex-end;
}



/* =========================================================
   BACK
========================================================= */

.single-blog-back {
    margin-top: 35px;

    text-align: center;
}


.single-blog-back a {
    color: #172844;

    font-size: 11px;
    font-weight: 700;

    text-decoration: none;
}


.single-blog-back a:hover {
    color: #b49355;
}



/* =========================================================
   MOBILE
========================================================= */

@media screen and (max-width: 768px) {


    /* -----------------------------------------
       HEADER
    ----------------------------------------- */

    .single-blog-header {
        padding:
            42px
            0
            45px;
    }


    .single-blog-header__inner {
        width: 100%;

        padding-left: 20px;
        padding-right: 20px;
    }


    .single-blog-breadcrumb {
        margin-bottom: 25px;

        font-size: 9px;
    }


    .single-blog-breadcrumb > span:last-child {
        max-width: 160px;
    }


    .single-blog-category {
        margin-bottom: 15px;
    }


    .single-blog-title {
        font-size: 26px;

        line-height: 1.55;
    }


    .single-blog-date {
        margin-top: 18px;

        font-size: 9px;
    }



    /* -----------------------------------------
       MAIN
    ----------------------------------------- */

    .single-blog-main {
        padding:
            30px
            0
            55px;
    }


    .single-blog-main > .container {
        padding-left: 14px;
        padding-right: 14px;
    }


    .single-blog-article {
        padding:
            25px
            18px
            35px;
    }



    /* -----------------------------------------
       THUMBNAIL
    ----------------------------------------- */

    .single-blog-thumbnail {
        margin-bottom: 30px;
    }



    /* -----------------------------------------
       CONTENT
    ----------------------------------------- */

    .single-blog-content {
        font-size: 13px;

        line-height: 2;
    }


    .single-blog-content p {
        margin-bottom: 22px;
    }


    .single-blog-content h2 {
        margin:
            45px
            0
            22px;

        padding:
            16px
            15px
            16px
            18px;

        font-size: 19px;
    }


    .single-blog-content h3 {
        margin:
            38px
            0
            18px;

        font-size: 17px;
    }


    .single-blog-content h4 {
        margin:
            32px
            0
            15px;

        font-size: 15px;
    }


    .single-blog-content ul,
    .single-blog-content ol {
        padding-left: 22px;
    }


    /* テーブルを横スクロール */

    .single-blog-content table {
        display: block;

        overflow-x: auto;

        white-space: nowrap;

        -webkit-overflow-scrolling: touch;
    }



    /* -----------------------------------------
       NOTICE
    ----------------------------------------- */

    .single-blog-notice {
        margin-top: 40px;

        padding: 20px 17px;
    }



    /* -----------------------------------------
       CTA
    ----------------------------------------- */

    .single-blog-consultation {
        margin-top: 35px;

        padding:
            30px
            18px;
    }


    .single-blog-consultation h2 {
        font-size: 20px;
    }


    .single-blog-consultation__buttons {
        flex-direction: column;

        gap: 8px;
    }


    .single-blog-consultation__buttons a {
        width: 100%;

        min-width: 0;
    }



    /* -----------------------------------------
       PREV NEXT
    ----------------------------------------- */

    .single-blog-navigation {
        grid-template-columns: 1fr;

        margin-top: 40px;
    }


    .single-blog-navigation__item {
        padding: 18px;
    }


    .single-blog-navigation__item--next {
        text-align: left;
    }


    .single-blog-navigation__item--next a {
        justify-content: space-between;
    }


    .single-blog-navigation__item strong {
        font-size: 11px;
    }

}
/* =========================================================
   PRIVACY POLICY
========================================================= */

.privacy-page {
    background: #ffffff;
}


/* =========================================================
   CONTENT
========================================================= */

.privacy-content {
    background: #f7f8fa;
}


.privacy-content__inner {
    max-width: 900px;

    margin: 0 auto;

    padding: 65px 70px;

    background: #ffffff;

    box-shadow:
        0 10px 35px
        rgba(23, 40, 68, 0.04);
}


/* 導入 */

.privacy-intro {
    margin: 0 0 60px;

    color: #4c5868;

    font-size: 14px;

    line-height: 2.1;
}


/* =========================================================
   SECTION
========================================================= */

.privacy-section {
    margin-top: 55px;
}


.privacy-section:first-of-type {
    margin-top: 0;
}


.privacy-section__number {
    margin: 0 0 6px;

    color: #b49355;

    font-size: 10px;
    font-weight: 700;

    letter-spacing: 0.15em;
}


.privacy-section h2 {
    margin: 0 0 22px;

    padding-bottom: 13px;

    border-bottom:
        1px solid #dce1e7;

    color: #172844;

    font-size: 22px;

    line-height: 1.6;
}


.privacy-section p {
    margin: 0 0 18px;

    color: #596474;

    font-size: 13px;

    line-height: 2;
}


.privacy-section ul {
    margin: 22px 0;

    padding-left: 24px;
}


.privacy-section li {
    margin-bottom: 10px;

    color: #596474;

    font-size: 13px;

    line-height: 1.9;
}


.privacy-section li::marker {
    color: #b49355;
}


/* =========================================================
   OFFICE INFO
========================================================= */

.privacy-office-info {
    margin-top: 25px;

    padding: 28px;

    border-left:
        3px solid #b49355;

    background: #f7f8fa;
}


.privacy-office-info p {
    margin-bottom: 10px;
}


.privacy-office-info strong {
    color: #172844;

    font-size: 15px;
}


/* お問い合わせ */

.privacy-contact-button {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    min-width: 230px;
    min-height: 48px;

    margin-top: 12px;

    padding: 12px 20px;

    background: #172844;

    color: #ffffff;

    font-size: 11px;
    font-weight: 700;

    text-decoration: none;

    transition:
        background-color 0.25s ease,
        transform 0.25s ease;
}


.privacy-contact-button:hover {
    background: #b49355;

    color: #ffffff;

    transform: translateY(-2px);
}


/* =========================================================
   DATE
========================================================= */

.privacy-date {
    margin-top: 65px;

    padding-top: 25px;

    border-top:
        1px solid #dce1e7;

    text-align: right;
}


.privacy-date p {
    margin: 0;

    color: #89919c;

    font-size: 10px;
}


/* =========================================================
   MOBILE
========================================================= */

@media screen and (max-width: 768px) {

    .privacy-content__inner {
        padding:
            35px
            20px;
    }


    .privacy-intro {
        margin-bottom: 45px;

        font-size: 12px;

        line-height: 2;
    }


    .privacy-section {
        margin-top: 42px;
    }


    .privacy-section h2 {
        margin-bottom: 18px;

        font-size: 18px;

        line-height: 1.6;
    }


    .privacy-section p,
    .privacy-section li {
        font-size: 12px;

        line-height: 1.95;
    }


    .privacy-section ul {
        padding-left: 21px;
    }


    .privacy-office-info {
        padding:
            22px
            18px
            22px
            24px;
    }


    .privacy-contact-button {
        width: 100%;

        min-width: 0;
    }


    .privacy-date {
        margin-top: 50px;
    }

}
/* =========================================================
   HOME VOICE
   お客様の声
========================================================= */

.home-voice {
    background: #f7f8fa;
}


/* リード */

.home-voice__lead {
    max-width: 680px;

    margin:
        20px
        auto
        0;

    color: #657080;

    font-size: 13px;

    line-height: 1.9;

    text-align: center;
}


/* =========================================================
   GRID
========================================================= */

.home-voice__grid {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 22px;

    margin-top: 45px;
}


/* =========================================================
   CARD
========================================================= */

.home-voice-card {
    position: relative;

    display: flex;

    flex-direction: column;

    min-height: 330px;

    padding:
        30px
        28px
        27px;

    border:
        1px solid #e0e4e9;

    background: #ffffff;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease;
}


.home-voice-card:hover {
    transform: translateY(-4px);

    border-color:
        rgba(180, 147, 85, 0.55);

    box-shadow:
        0 14px 35px
        rgba(23, 40, 68, 0.07);
}


/* 上部 */

.home-voice-card__top {
    display: flex;

    align-items: flex-start;
    justify-content: space-between;

    gap: 15px;

    margin-bottom: 20px;
}


/* 引用符 */

.home-voice-card__quote {
    color: #b49355;

    font-family: Georgia, serif;

    font-size: 52px;

    line-height: 0.8;
}


/* 業務ラベル */

.home-voice-card__category {
    display: inline-flex;

    align-items: center;

    min-height: 27px;

    padding:
        5px
        10px;

    background:
        rgba(180, 147, 85, 0.11);

    color: #987639;

    font-size: 9px;

    font-weight: 700;
}


/* タイトル */

.home-voice-card h3 {
    margin:
        0
        0
        17px;

    color: #172844;

    font-size: 18px;

    line-height: 1.65;
}


/* 本文 */

.home-voice-card__text {
    margin: 0;

    color: #596474;

    font-size: 12px;

    line-height: 2;
}


/* 属性 */

.home-voice-card__profile {
    margin:
        auto
        0
        0;

    padding-top: 25px;

    color: #8b939e;

    font-size: 10px;

    font-weight: 600;
}


/* =========================================================
   NOTE
========================================================= */

.home-voice__note {
    margin:
        25px
        0
        0;

    color: #9299a2;

    font-size: 9px;

    line-height: 1.8;

    text-align: right;
}


/* =========================================================
   TABLET
========================================================= */

@media screen and (max-width: 1024px) {

    .home-voice__grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media screen and (max-width: 768px) {

    .home-voice__lead {
        margin-top: 15px;

        font-size: 12px;

        line-height: 1.9;

        text-align: left;
    }


    .home-voice__grid {
        grid-template-columns:
            1fr;

        gap: 12px;

        margin-top: 30px;
    }


    .home-voice-card {
        min-height: 0;

        padding:
            24px
            20px
            22px;
    }


    .home-voice-card__top {
        margin-bottom: 15px;
    }


    .home-voice-card__quote {
        font-size: 44px;
    }


    .home-voice-card h3 {
        margin-bottom: 13px;

        font-size: 16px;

        line-height: 1.6;
    }


    .home-voice-card__text {
        font-size: 12px;

        line-height: 1.95;
    }


    .home-voice-card__profile {
        padding-top: 18px;
    }


    .home-voice__note {
        margin-top: 18px;

        font-size: 9px;

        text-align: left;
    }

}
/* =========================================================
   HOME VOICE - FINAL
========================================================= */

.home-voice {
    width: 100%;
    padding: 72px 0 76px;
    background: #f7f8fa;
}


/* 全体幅 */

.home-voice > .container {
    width: min(1120px, calc(100% - 48px));
    margin: 0 auto;
}


/* =========================================================
   見出し
========================================================= */

.home-voice .section-heading {
    margin: 0 0 42px;
    text-align: center;
}


/* 「お客様の声」を英字VOICEへ */

.home-voice .section-heading__sub {
    margin: 0 0 8px;
    color: #b49355;
    font-size: 0;
    font-weight: 700;
    letter-spacing: .15em;
}

.home-voice .section-heading__sub::after {
    content: "VOICE";
    font-size: 11px;
}


/* メインタイトル */

.home-voice .section-heading__title {
    margin: 0;
    color: #172844;
    font-family: serif;
    font-size: clamp(26px, 3vw, 34px);
    font-weight: 600;
    line-height: 1.55;
}


/* 説明文 */

.home-voice__lead {
    max-width: 680px;
    margin: 16px auto 0;
    color: #667181;
    font-size: 13px;
    line-height: 1.9;
    text-align: center;
}


/* =========================================================
   口コミ一覧
========================================================= */

.home-voice__grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 20px !important;
    width: 100%;
    margin: 0 !important;
}


/* =========================================================
   口コミカード
========================================================= */

.home-voice-card {
    position: relative;
    display: flex !important;
    flex-direction: column;
    width: 100%;
    min-width: 0;
    min-height: 320px;
    margin: 0 !important;
    padding: 30px 27px 26px !important;
    border: 1px solid #dfe3e8;
    background: #ffffff;
    box-shadow: 0 8px 25px rgba(23, 40, 68, .045);
}


/* カード上部 */

.home-voice-card__top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 15px;
    margin: 0 0 22px;
}


/* 引用符 */

.home-voice-card__quote {
    display: block;
    color: #b49355;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 54px;
    line-height: .65;
}


/* 業務名 */

.home-voice-card__category {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 28px;
    padding: 5px 11px;
    background: rgba(180, 147, 85, .12);
    color: #967438;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.5;
}


/* 口コミタイトル */

.home-voice-card__title,
.home-voice-card h3 {
    margin: 0 0 17px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: #172844 !important;
    font-family: serif;
    font-size: 19px !important;
    font-weight: 700;
    line-height: 1.65;
}


/* 本文 */

.home-voice-card__text {
    margin: 0 !important;
    color: #505d6e;
    font-size: 13px !important;
    font-weight: 400;
    line-height: 2;
}


/* お客様情報 */

.home-voice-card__profile {
    margin: auto 0 0 !important;
    padding: 25px 0 0;
    color: #7e8794;
    font-size: 11px !important;
    font-weight: 600;
}


/* 下部にゴールドライン */

.home-voice-card::after {
    content: "";
    position: absolute;
    right: 27px;
    bottom: 0;
    left: 27px;
    height: 2px;
    background: #b49355;
    transform: scaleX(.25);
    transform-origin: left;
    transition: transform .3s ease;
}


.home-voice-card:hover {
    transform: translateY(-4px);
    border-color: rgba(180, 147, 85, .6);
    box-shadow: 0 14px 35px rgba(23, 40, 68, .08);
}


.home-voice-card:hover::after {
    transform: scaleX(1);
}


/* =========================================================
   注意書き
========================================================= */

.home-voice__note {
    margin: 22px 0 0 !important;
    color: #8a939f;
    font-size: 10px !important;
    line-height: 1.8;
    text-align: right;
}


/* =========================================================
   TABLET
========================================================= */

@media screen and (max-width: 1024px) {

    .home-voice__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media screen and (max-width: 768px) {

    .home-voice {
        padding: 50px 0;
    }


    .home-voice > .container {
        width: min(100% - 32px, 1120px);
    }


    .home-voice .section-heading {
        margin-bottom: 30px;
    }


    .home-voice .section-heading__title {
        font-size: 24px;
    }


    .home-voice__lead {
        margin-top: 12px;
        font-size: 12px;
        line-height: 1.9;
    }


    .home-voice__grid {
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }


    .home-voice-card {
        min-height: 0;
        padding: 25px 21px 23px !important;
    }


    .home-voice-card__quote {
        font-size: 46px;
    }


    .home-voice-card__title,
    .home-voice-card h3 {
        font-size: 17px !important;
    }


    .home-voice-card__text {
        font-size: 12px !important;
    }


    .home-voice-card__profile {
        padding-top: 20px;
        font-size: 10px !important;
    }


    .home-voice-card::after {
        right: 21px;
        left: 21px;
    }


    .home-voice__note {
        margin-top: 17px !important;
        font-size: 9px !important;
        text-align: left;
    }

}
/* =========================================================
   一般貨物自動車運送事業の新規許可
   page-transport-new-permit.php
========================================================= */

.transport-new-page {
    --tn-navy: #172844;
    --tn-deep-navy: #0f1d32;
    --tn-gold: #b49355;
    --tn-light: #f6f7f9;
    --tn-border: #dfe3e8;
    --tn-text: #2a3340;
    color: var(--tn-text);
}

.transport-new-page .container {
    width: min(1120px, calc(100% - 48px));
    margin-inline: auto;
}

.transport-new-narrow {
    max-width: 880px;
}

.transport-new-kicker {
    margin: 0 0 12px;
    color: var(--tn-gold);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .18em;
}

.transport-new-heading {
    max-width: 820px;
    margin: 0 auto 44px;
    text-align: center;
}

.transport-new-heading h2 {
    margin: 0;
    color: var(--tn-navy);
    font-size: clamp(30px, 4vw, 44px);
    line-height: 1.4;
}

.transport-new-heading > p:last-child {
    margin: 20px auto 0;
    line-height: 2;
}

.transport-new-hero {
    padding: 84px 0;
    background: linear-gradient(115deg, #eef1f5 0%, #ffffff 62%);
}

.transport-new-hero__inner {
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    gap: 64px;
    align-items: center;
}

.transport-new-hero__label {
    margin: 0 0 18px;
    color: var(--tn-gold);
    font-weight: 700;
    letter-spacing: .08em;
}

.transport-new-hero__title {
    margin: 0;
    color: var(--tn-deep-navy);
    font-size: clamp(38px, 5vw, 62px);
    line-height: 1.35;
}

.transport-new-hero__text {
    margin: 26px 0 0;
    font-size: 17px;
    line-height: 2;
}

.transport-new-hero__badges {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 28px;
}

.transport-new-hero__badges span {
    padding: 9px 14px;
    border: 1px solid var(--tn-gold);
    background: #fff;
    color: var(--tn-navy);
    font-size: 13px;
    font-weight: 700;
}

.transport-new-hero__buttons,
.transport-new-final-cta__buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 34px;
}

.transport-new-btn {
    display: inline-flex;
    min-height: 52px;
    padding: 12px 24px;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    font-weight: 700;
    transition: opacity .2s ease, transform .2s ease;
}

.transport-new-btn:hover {
    opacity: .88;
    transform: translateY(-2px);
}

.transport-new-btn--line {
    background: var(--tn-navy);
    color: #fff;
}

.transport-new-btn--outline {
    border: 1px solid var(--tn-navy);
    background: #fff;
    color: var(--tn-navy);
}

.transport-new-btn--white {
    border: 1px solid #fff;
    background: #fff;
    color: var(--tn-navy);
}

.transport-new-hero__image {
    min-height: 480px;
}

.transport-new-hero__photo,
.transport-new-image-placeholder {
    width: 100%;
    height: 100%;
    min-height: 480px;
    object-fit: cover;
}

.transport-new-image-placeholder {
    display: grid;
    place-items: center;
    background: #dfe4ea;
    color: #6c7580;
}

.transport-new-mini-cta {
    padding: 18px 0;
    background: var(--tn-deep-navy);
    color: #fff;
}

.transport-new-mini-cta__inner {
    display: flex;
    gap: 24px;
    align-items: center;
    justify-content: space-between;
}

.transport-new-mini-cta p {
    margin: 0;
}

.transport-new-mini-cta a {
    color: #fff;
    font-weight: 700;
}

.transport-new-intro {
    padding: 100px 0;
    text-align: center;
}

.transport-new-intro h2 {
    margin: 0;
    color: var(--tn-navy);
    font-size: clamp(30px, 4vw, 42px);
    line-height: 1.55;
}

.transport-new-intro .transport-new-narrow > p:last-child {
    margin: 30px 0 0;
    line-height: 2.1;
}

.transport-new-worries,
.transport-new-flow,
.transport-new-merits,
.transport-new-faq {
    padding: 100px 0;
    background: var(--tn-light);
}

.transport-new-worries__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.transport-new-worry-card {
    min-height: 150px;
    padding: 26px;
    border: 1px solid var(--tn-border);
    background: #fff;
}

.transport-new-worry-card span {
    color: var(--tn-gold);
    font-size: 13px;
    font-weight: 700;
}

.transport-new-worry-card p {
    margin: 14px 0 0;
    font-weight: 700;
    line-height: 1.8;
}

.transport-new-message {
    max-width: 840px;
    margin: 42px auto 0;
    padding: 26px 30px;
    border-left: 4px solid var(--tn-gold);
    background: #fff;
}

.transport-new-message strong {
    color: var(--tn-navy);
    font-size: 18px;
}

.transport-new-message p {
    margin: 10px 0 0;
    line-height: 1.9;
}

.transport-new-requirements,
.transport-new-documents,
.transport-new-price,
.transport-new-area,
.transport-new-related {
    padding: 100px 0;
}

.transport-new-requirements__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.transport-new-requirement-card {
    position: relative;
    padding: 30px;
    border: 1px solid var(--tn-border);
    background: #fff;
}

.transport-new-requirement-card__number {
    color: var(--tn-gold);
    font-size: 14px;
    font-weight: 700;
}

.transport-new-requirement-card h3 {
    margin: 10px 0 0;
    color: var(--tn-navy);
    font-size: 22px;
}

.transport-new-requirement-card p {
    margin: 14px 0 0;
    line-height: 1.9;
}

.transport-new-note {
    margin: 28px 0 0;
    color: #69717b;
    font-size: 13px;
    line-height: 1.8;
}

.transport-new-flow__list {
    max-width: 900px;
    margin: 0 auto;
}

.transport-new-flow-step {
    display: grid;
    grid-template-columns: 120px 1fr;
    gap: 24px;
    padding: 28px 0;
    border-bottom: 1px solid var(--tn-border);
}

.transport-new-flow-step__number {
    color: var(--tn-gold);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .08em;
}

.transport-new-flow-step__content h3 {
    margin: 0;
    color: var(--tn-navy);
    font-size: 22px;
}

.transport-new-flow-step__content p {
    margin: 10px 0 0;
    line-height: 1.9;
}

.transport-new-documents__box {
    padding: 38px 42px;
    border: 1px solid var(--tn-border);
    border-top: 4px solid var(--tn-gold);
    background: #fff;
}

.transport-new-documents__box p {
    margin: 0;
    line-height: 2.05;
}

.transport-new-merits__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

.transport-new-merit-card {
    padding: 34px 28px;
    background: #fff;
    border: 1px solid var(--tn-border);
}

.transport-new-merit-card > span {
    color: var(--tn-gold);
    font-weight: 700;
}

.transport-new-merit-card h3 {
    margin: 14px 0 0;
    color: var(--tn-navy);
    font-size: 20px;
    line-height: 1.6;
}

.transport-new-merit-card p {
    margin: 14px 0 0;
    line-height: 1.9;
}

.transport-new-price-card {
    display: flex;
    gap: 30px;
    align-items: center;
    justify-content: space-between;
    padding: 36px 40px;
    border: 1px solid var(--tn-border);
    background: #fff;
}

.transport-new-price-card__label {
    margin: 0 0 8px;
    color: var(--tn-gold);
    font-size: 13px;
    font-weight: 700;
}

.transport-new-price-card h3 {
    margin: 0;
    color: var(--tn-navy);
    font-size: 22px;
}

.transport-new-price-card__price {
    text-align: right;
}

.transport-new-price-card__price strong {
    color: var(--tn-navy);
    font-size: clamp(30px, 4vw, 42px);
}

.transport-new-price-card__price span {
    font-size: 13px;
}

.transport-new-price__note {
    margin: 22px 0 0;
    color: #5e6670;
    font-size: 13px;
    line-height: 1.8;
}

.transport-new-text-link {
    display: inline-block;
    margin-top: 22px;
    color: var(--tn-navy);
    font-weight: 700;
}

.transport-new-area {
    background: #eef1f5;
}

.transport-new-area__inner {
    display: flex;
    gap: 40px;
    align-items: center;
    justify-content: space-between;
}

.transport-new-area h2 {
    margin: 0;
    color: var(--tn-navy);
    font-size: clamp(30px, 4vw, 42px);
}

.transport-new-area p:last-child {
    margin: 18px 0 0;
    line-height: 2;
}

.transport-new-faq__list {
    border-top: 1px solid var(--tn-border);
}

.transport-new-faq-item {
    border-bottom: 1px solid var(--tn-border);
    background: #fff;
}

.transport-new-faq-item summary {
    display: flex;
    gap: 18px;
    align-items: flex-start;
    padding: 24px;
    cursor: pointer;
    color: var(--tn-navy);
    font-weight: 700;
    line-height: 1.7;
}

.transport-new-faq-item summary span,
.transport-new-faq-item__answer > span {
    flex: 0 0 auto;
    color: var(--tn-gold);
    font-weight: 700;
}

.transport-new-faq-item__answer {
    display: flex;
    gap: 18px;
    padding: 0 24px 26px;
}

.transport-new-faq-item__answer p {
    margin: 0;
    line-height: 1.9;
}

.transport-new-related__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.transport-new-related-card {
    display: flex;
    gap: 20px;
    align-items: center;
    justify-content: space-between;
    padding: 24px 26px;
    border: 1px solid var(--tn-border);
    color: var(--tn-navy);
    text-decoration: none;
    font-weight: 700;
}

.transport-new-related-card:hover {
    border-color: var(--tn-gold);
}

.transport-new-related__parent {
    margin-top: 28px;
    text-align: center;
}

.transport-new-related__parent a {
    color: var(--tn-navy);
    font-weight: 700;
}

.transport-new-final-cta {
    padding: 92px 0;
    background: var(--tn-deep-navy);
    color: #fff;
    text-align: center;
}

.transport-new-final-cta__inner {
    max-width: 850px;
}

.transport-new-final-cta__label {
    margin: 0 0 16px;
    color: #d9bd84;
    font-weight: 700;
    letter-spacing: .08em;
}

.transport-new-final-cta h2 {
    margin: 0;
    color: #fff;
    font-size: clamp(32px, 4vw, 46px);
    line-height: 1.5;
}

.transport-new-final-cta__inner > p:not(.transport-new-final-cta__label) {
    margin: 22px 0 0;
    line-height: 2;
}

.transport-new-final-cta__buttons {
    justify-content: center;
}

@media (max-width: 900px) {
    .transport-new-hero__inner {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .transport-new-hero__image {
        min-height: 360px;
    }

    .transport-new-hero__photo,
    .transport-new-image-placeholder {
        min-height: 360px;
    }

    .transport-new-worries__grid,
    .transport-new-merits__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    .transport-new-page .container {
        width: min(100% - 32px, 1120px);
    }

    .transport-new-hero,
    .transport-new-intro,
    .transport-new-worries,
    .transport-new-requirements,
    .transport-new-flow,
    .transport-new-documents,
    .transport-new-merits,
    .transport-new-price,
    .transport-new-area,
    .transport-new-faq,
    .transport-new-related,
    .transport-new-final-cta {
        padding-top: 70px;
        padding-bottom: 70px;
    }

    .transport-new-hero__title {
        font-size: 38px;
    }

    .transport-new-hero__buttons,
    .transport-new-final-cta__buttons {
        flex-direction: column;
    }

    .transport-new-btn {
        width: 100%;
    }

    .transport-new-mini-cta__inner {
        display: block;
        text-align: center;
    }

    .transport-new-mini-cta a {
        display: inline-block;
        margin-top: 8px;
    }

    .transport-new-worries__grid,
    .transport-new-requirements__grid,
    .transport-new-merits__grid,
    .transport-new-related__grid {
        grid-template-columns: 1fr;
    }

    .transport-new-flow-step {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .transport-new-price-card,
    .transport-new-area__inner {
        display: block;
    }

    .transport-new-price-card__price {
        margin-top: 22px;
        text-align: left;
    }

    .transport-new-area .transport-new-btn {
        margin-top: 28px;
    }

    .transport-new-documents__box {
        padding: 28px 24px;
    }
}
/* =========================================================
   運送業・個別手続ページ 共通CSS
   transport-service-pages.css
========================================================= */
.transport-service-page{
  --ts-navy:#172844;--ts-deep:#0f1d32;--ts-gold:#b49355;
  --ts-light:#f6f7f9;--ts-border:#dfe3e8;--ts-text:#2a3340;
  color:var(--ts-text);
}
.transport-service-page .container{width:min(1120px,calc(100% - 48px));margin-inline:auto}
.transport-service-page .narrow{max-width:880px}
.ts-kicker{margin:0 0 12px;color:var(--ts-gold);font-size:12px;font-weight:700;letter-spacing:.18em}
.ts-heading{max-width:820px;margin:0 auto 44px;text-align:center}
.ts-heading h2{margin:0;color:var(--ts-navy);font-size:clamp(30px,4vw,44px);line-height:1.4}
.ts-heading>p:last-child{margin:20px auto 0;line-height:2}
.ts-hero{padding:84px 0;background:linear-gradient(115deg,#eef1f5 0%,#fff 62%)}
.ts-hero__inner{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center}
.ts-hero__label{margin:0 0 18px;color:var(--ts-gold);font-weight:700;letter-spacing:.08em}
.ts-hero h1{margin:0;color:var(--ts-deep);font-size:clamp(38px,5vw,60px);line-height:1.35}
.ts-hero__text{margin:26px 0 0;font-size:17px;line-height:2}
.ts-badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.ts-badges span{padding:9px 14px;border:1px solid var(--ts-gold);background:#fff;color:var(--ts-navy);font-size:13px;font-weight:700}
.ts-buttons{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}
.ts-btn{display:inline-flex;min-height:52px;padding:12px 24px;align-items:center;justify-content:center;text-decoration:none;font-weight:700;transition:.2s}
.ts-btn:hover{opacity:.88;transform:translateY(-2px)}
.ts-btn--main{background:var(--ts-navy);color:#fff}.ts-btn--outline{border:1px solid var(--ts-navy);background:#fff;color:var(--ts-navy)}
.ts-btn--white{border:1px solid #fff;background:#fff;color:var(--ts-navy)}
.ts-hero__image,.ts-photo,.ts-placeholder{width:100%;min-height:450px}
.ts-photo{height:450px;object-fit:cover}.ts-placeholder{display:grid;place-items:center;background:#dfe4ea;color:#6c7580}
.ts-mini{padding:18px 0;background:var(--ts-deep);color:#fff}
.ts-mini__inner{display:flex;gap:24px;align-items:center;justify-content:space-between}.ts-mini p{margin:0}.ts-mini a{color:#fff;font-weight:700}
.ts-section{padding:96px 0}.ts-section--light{background:var(--ts-light)}
.ts-intro{text-align:center}.ts-intro h2{margin:0;color:var(--ts-navy);font-size:clamp(30px,4vw,42px);line-height:1.55}.ts-intro p:last-child{margin:28px 0 0;line-height:2.05}
.ts-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.ts-card{padding:28px;border:1px solid var(--ts-border);background:#fff}
.ts-card__num{color:var(--ts-gold);font-size:13px;font-weight:700}.ts-card h3{margin:12px 0 0;color:var(--ts-navy);font-size:21px;line-height:1.55}.ts-card p{margin:14px 0 0;line-height:1.9}
.ts-flow{max-width:900px;margin:0 auto}.ts-step{display:grid;grid-template-columns:120px 1fr;gap:24px;padding:28px 0;border-bottom:1px solid var(--ts-border)}
.ts-step__num{color:var(--ts-gold);font-size:13px;font-weight:700}.ts-step h3{margin:0;color:var(--ts-navy);font-size:22px}.ts-step p{margin:10px 0 0;line-height:1.9}
.ts-box{padding:36px 40px;border:1px solid var(--ts-border);border-top:4px solid var(--ts-gold);background:#fff;line-height:2}
.ts-price{display:flex;gap:30px;align-items:center;justify-content:space-between;padding:36px 40px;border:1px solid var(--ts-border);background:#fff}
.ts-price h3{margin:0;color:var(--ts-navy);font-size:22px}.ts-price strong{color:var(--ts-navy);font-size:clamp(30px,4vw,42px)}.ts-price small{display:block;margin-top:14px;line-height:1.8;color:#5e6670}
.ts-faq{border-top:1px solid var(--ts-border)}.ts-faq details{border-bottom:1px solid var(--ts-border);background:#fff}.ts-faq summary{display:flex;gap:18px;padding:24px;cursor:pointer;color:var(--ts-navy);font-weight:700}.ts-faq summary span,.ts-answer>span{color:var(--ts-gold);font-weight:700}.ts-answer{display:flex;gap:18px;padding:0 24px 26px}.ts-answer p{margin:0;line-height:1.9}
.ts-related{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.ts-related a{display:flex;justify-content:space-between;gap:20px;padding:24px 26px;border:1px solid var(--ts-border);color:var(--ts-navy);text-decoration:none;font-weight:700}
.ts-final{padding:92px 0;background:var(--ts-deep);color:#fff;text-align:center}.ts-final__inner{max-width:850px}.ts-final h2{margin:0;color:#fff;font-size:clamp(32px,4vw,46px);line-height:1.5}.ts-final p{line-height:2}.ts-final .ts-buttons{justify-content:center}
@media(max-width:900px){.ts-hero__inner{grid-template-columns:1fr}.ts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){
 .transport-service-page .container{width:min(100% - 32px,1120px)}
 .ts-hero,.ts-section,.ts-final{padding-top:70px;padding-bottom:70px}
 .ts-grid,.ts-related{grid-template-columns:1fr}.ts-step{grid-template-columns:1fr;gap:10px}
 .ts-price,.ts-mini__inner{display:block}.ts-price strong{display:block;margin-top:18px}
 .ts-buttons{flex-direction:column}.ts-btn{width:100%}.ts-mini{text-align:center}.ts-mini a{display:inline-block;margin-top:8px}
}
/* =========================================================
   運送業親ページ：個別手続への導線
========================================================= */
.transport-services{background:#f7f8fa;}
.transport-services .section-title{margin-bottom:54px;}
.transport-service-group{margin-top:48px;}
.transport-service-group:first-of-type{margin-top:0;}
.transport-service-group__heading{display:flex;align-items:flex-start;gap:18px;margin-bottom:22px;}
.transport-service-group__heading>span{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border:1px solid #b49355;color:#b49355;font-weight:700;font-size:13px;}
.transport-service-group__heading p{margin:0 0 4px;color:#b49355;font-size:11px;font-weight:700;letter-spacing:.16em;}
.transport-service-group__heading h3{margin:0;color:#172844;font-size:clamp(22px,3vw,30px);line-height:1.5;}
.transport-service-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
.transport-service-links--single{grid-template-columns:1fr;}
.transport-service-links--two{grid-template-columns:repeat(2,minmax(0,1fr));}
.transport-service-link{display:flex;justify-content:space-between;gap:22px;min-height:170px;padding:28px 30px;border:1px solid #dde2e8;background:#fff;color:#25344b;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;}
.transport-service-link:hover{transform:translateY(-3px);border-color:#b49355;box-shadow:0 12px 30px rgba(20,36,60,.08);}
.transport-service-link--featured{min-height:auto;padding:34px 36px;border-top:3px solid #b49355;}
.transport-service-link__label{display:block;margin-bottom:9px;color:#b49355;font-size:11px;font-weight:700;letter-spacing:.15em;}
.transport-service-link h4{margin:0;color:#172844;font-size:19px;line-height:1.55;}
.transport-service-link p{margin:12px 0 0;color:#596474;font-size:14px;line-height:1.85;}
.transport-service-link__arrow{align-self:center;color:#b49355;font-size:23px;transition:transform .2s ease;}
.transport-service-link:hover .transport-service-link__arrow{transform:translateX(4px);}
.transport-services__note{margin:42px auto 0;text-align:center;color:#596474;line-height:1.9;}
@media(max-width:900px){.transport-service-links{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:640px){.transport-service-group{margin-top:38px}.transport-service-links,.transport-service-links--two{grid-template-columns:1fr}.transport-service-link,.transport-service-link--featured{min-height:auto;padding:24px 22px}.transport-service-group__heading{gap:13px}.transport-service-group__heading>span{flex-basis:38px;width:38px;height:38px}}
/* =========================================================
   建設業 個別サービスページ共通CSS
   FAQ表示統一版
   ========================================================= */

.construction-service-page{
  --cs-navy:#102746;
  --cs-navy2:#1b3559;
  --cs-gold:#c7a55b;
  --cs-bg:#f6f7f9;
  --cs-line:#e2e6eb;
  --cs-text:#1f2a44;
  color:var(--cs-text);
}

.cs-container{
  width:min(1120px,92%);
  margin:auto;
}

.cs-narrow{
  width:min(860px,92%);
  margin:auto;
}


/* =========================
   HERO
========================= */

.cs-hero{
  background:linear-gradient(135deg,#102746,#1a3458);
  color:#fff;
  padding:92px 0 78px;
}

.cs-hero__inner{
  display:grid;
  grid-template-columns:1.18fr .82fr;
  gap:56px;
  align-items:center;
}

.cs-hero__label,
.cs-kicker{
  font-size:12px;
  letter-spacing:.18em;
  color:var(--cs-gold);
  font-weight:700;
}

.cs-hero h1{
  font-size:clamp(34px,4.6vw,58px);
  line-height:1.35;
  margin:14px 0 22px;
}

.cs-hero__text{
  line-height:2;
}

.cs-placeholder{
  min-height:330px;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.15);
}

.cs-photo{
  width:100%;
  min-height:330px;
  object-fit:cover;
}

.cs-badges{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin:26px 0;
}

.cs-badges span{
  border:1px solid rgba(255,255,255,.35);
  padding:8px 12px;
  font-size:13px;
}

.cs-buttons{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:24px;
}

.cs-btn{
  display:inline-flex;
  justify-content:center;
  align-items:center;
  padding:14px 22px;
  text-decoration:none;
  font-weight:700;
}

.cs-btn--main{
  background:var(--cs-gold);
  color:#fff;
}

.cs-btn--outline{
  border:1px solid #fff;
  color:#fff;
}

.cs-btn--white{
  background:#fff;
  color:var(--cs-navy);
}


/* =========================
   MINI CTA
========================= */

.cs-mini{
  border-bottom:1px solid var(--cs-line);
}

.cs-mini__inner{
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:center;
  padding:18px 0;
}

.cs-mini a{
  color:var(--cs-navy);
  font-weight:700;
}


/* =========================
   SECTION
========================= */

.cs-section{
  padding:82px 0;
}

.cs-section--light{
  background:var(--cs-bg);
}

.cs-heading{
  text-align:center;
  margin-bottom:42px;
}

.cs-heading h2,
.cs-intro h2{
  font-size:clamp(28px,3vw,40px);
  line-height:1.45;
  margin:8px 0 14px;
}

.cs-heading p,
.cs-intro p{
  line-height:2;
}


/* =========================
   CHECK CARD
========================= */

.cs-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}

.cs-card{
  background:#fff;
  border:1px solid var(--cs-line);
  padding:28px;
}

.cs-card__num{
  color:var(--cs-gold);
  font-size:13px;
  font-weight:700;
}

.cs-card h3{
  font-size:20px;
  margin:12px 0;
}

.cs-card p{
  line-height:1.9;
}


/* =========================
   BOX
========================= */

.cs-box{
  border-left:3px solid var(--cs-gold);
  background:#fff;
  padding:28px;
  line-height:2;
}


/* =========================
   FLOW
========================= */

.cs-flow{
  display:grid;
  gap:14px;
}

.cs-step{
  display:grid;
  grid-template-columns:130px 1fr;
  gap:22px;
  background:#fff;
  border:1px solid var(--cs-line);
  padding:24px;
}

.cs-step__num{
  color:var(--cs-gold);
  font-weight:700;
}

.cs-step h3{
  margin:0 0 8px;
}

.cs-step p{
  margin:0;
  line-height:1.8;
}


/* =========================
   PRICE
========================= */

.cs-price{
  display:flex;
  justify-content:space-between;
  gap:24px;
  align-items:center;
  background:#fff;
  border:1px solid var(--cs-line);
  padding:28px;
}

.cs-price h3{
  margin:0;
}

.cs-price strong{
  font-size:30px;
  color:var(--cs-navy);
}


/* =========================================================
   FAQ
   他ページと同じ見え方に統一
========================================================= */

.cs-faq{
  width:100%;
  max-width:860px;
  margin:0 auto;
}

.cs-faq details{
  position:relative;
  background:#fff;
  border:1px solid #e4e8ed;
  margin:0 0 10px;
  padding:0;
  overflow:hidden;
}

.cs-faq summary{
  position:relative;
  display:block;
  cursor:pointer;
  list-style:none;
  padding:20px 58px 20px 52px;
  margin:0;
  color:var(--cs-navy);
  font-size:15px;
  line-height:1.7;
  font-weight:700;
  transition:background-color .2s ease;
}

.cs-faq summary::-webkit-details-marker{
  display:none;
}

.cs-faq summary::marker{
  display:none;
  content:"";
}

.cs-faq summary:hover{
  background:#fafbfc;
}

/* 右側の＋ */
.cs-faq summary::after{
  content:"+";
  position:absolute;
  right:22px;
  top:50%;
  transform:translateY(-50%);
  color:var(--cs-gold);
  font-size:22px;
  line-height:1;
  font-weight:400;
}

/* 開いたときは－ */
.cs-faq details[open] summary::after{
  content:"−";
}

/*
  PHP側にすでに「Q　」が入っているため、
  Q自体は文字として残しつつゴールドの印象に近づける。
  下の疑似要素は縦ラインとして使用。
*/
.cs-faq summary::before{
  content:"";
  position:absolute;
  left:28px;
  top:50%;
  width:2px;
  height:18px;
  transform:translateY(-50%);
  background:var(--cs-gold);
}

/* 回答 */
.cs-answer{
  position:relative;
  margin:0;
  padding:18px 58px 22px 52px;
  border-top:1px solid #edf0f3;
  background:#fff;
  color:#4d5969;
  font-size:14px;
  line-height:1.9;
}

.cs-answer::before{
  content:"";
  position:absolute;
  left:28px;
  top:24px;
  width:2px;
  height:18px;
  background:var(--cs-gold);
}

.cs-faq details[open]{
  box-shadow:0 7px 20px rgba(16,39,70,.05);
}


/* =========================
   RELATED
========================= */

.cs-related{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:14px;
}

.cs-related a{
  display:flex;
  justify-content:space-between;
  gap:12px;
  background:#fff;
  border:1px solid var(--cs-line);
  padding:20px;
  text-decoration:none;
  color:var(--cs-navy);
  font-weight:700;
}


/* =========================
   FINAL CTA
========================= */

.cs-final{
  background:var(--cs-navy);
  color:#fff;
  padding:78px 0;
  text-align:center;
}

.cs-final h2{
  margin:10px 0 16px;
}

.cs-final p{
  line-height:2;
}

.cs-final .cs-buttons{
  justify-content:center;
}


/* =========================
   RESPONSIVE
========================= */

@media(max-width:900px){

  .cs-hero__inner{
    grid-template-columns:1fr;
  }

  .cs-grid{
    grid-template-columns:repeat(2,1fr);
  }

}

@media(max-width:640px){

  .cs-section{
    padding:58px 0;
  }

  .cs-grid,
  .cs-related{
    grid-template-columns:1fr;
  }

  .cs-step{
    grid-template-columns:1fr;
  }

  .cs-price,
  .cs-mini__inner{
    flex-direction:column;
    align-items:flex-start;
  }

  .cs-faq summary{
    padding:18px 48px 18px 40px;
    font-size:14px;
  }

  .cs-faq summary::before{
    left:20px;
  }

  .cs-faq summary::after{
    right:18px;
  }

  .cs-answer{
    padding:17px 40px 20px 40px;
  }

  .cs-answer::before{
    left:20px;
  }

}

/* =========================================================
   建設業個別ページ
   FAQ + FAQ直下CTA 表示統一用
   style.css の一番下に追加
   ========================================================= */

/* ---------- FAQ セクション ---------- */

.construction-service-page .cs-faq{
  width:100%;
  max-width:1120px;
  margin:0 auto;
  border-top:1px solid #d9dee6;
}

.construction-service-page .cs-faq details{
  margin:0;
  padding:0;
  background:transparent;
  border:0;
  border-bottom:1px solid #d9dee6;
  box-shadow:none;
  overflow:visible;
}

.construction-service-page .cs-faq summary{
  position:relative;
  display:grid;
  grid-template-columns:54px 1fr 30px;
  align-items:center;
  gap:10px;
  min-height:100px;
  margin:0;
  padding:0 28px;
  list-style:none;
  cursor:pointer;
  background:transparent;
  color:#102746;
  font-size:17px;
  line-height:1.7;
  font-weight:700;
}

.construction-service-page .cs-faq summary::-webkit-details-marker{
  display:none;
}

.construction-service-page .cs-faq summary::marker{
  content:"";
}

/* PHP内に入っている「Q　」をそのままゴールド表示 */
.construction-service-page .cs-faq summary{
  color:#102746;
}

/* 以前追加した縦線を消す */
.construction-service-page .cs-faq summary::before{
  display:none !important;
  content:none !important;
}

/* 右側 ＋ */
.construction-service-page .cs-faq summary::after{
  content:"+";
  position:static;
  display:block;
  transform:none;
  justify-self:end;
  color:#b89549;
  font-size:30px;
  line-height:1;
  font-weight:300;
}

/* 開いた時 － */
.construction-service-page .cs-faq details[open] summary::after{
  content:"−";
}

/*
 PHPでは summary の先頭に「Q　」が直接入っているため、
 見本のようにQだけを完全に別色にするにはPHP変更が必要。
 ここではレイアウト・余白・＋位置を見本に統一。
*/

/* 回答 */
.construction-service-page .cs-answer{
  position:relative;
  margin:0;
  padding:0 82px 30px 92px;
  border:0;
  background:transparent;
  color:#4c596a;
  font-size:15px;
  line-height:1.9;
}

.construction-service-page .cs-answer::before{
  display:none !important;
  content:none !important;
}


/* ---------- FAQ見出し ---------- */

.construction-service-page .cs-faq + *{
  margin-top:0;
}


/* =========================================================
   FAQ直下のCTAを見本に近づける
   ※現在のPHPでは最終CTAがページ末尾にあるため、
     CTA自体の見た目を同じテイストに変更
   ========================================================= */

.construction-service-page .cs-final{
  padding:0;
  background:#f5f6f8;
  color:#102746;
  text-align:left;
  border-top:1px solid #e1e5ea;
  border-bottom:1px solid #e1e5ea;
}

.construction-service-page .cs-final > .cs-container{
  width:min(1200px,94%);
  min-height:126px;
  display:grid;
  grid-template-columns:1fr auto;
  grid-template-areas:
    "label buttons"
    "title buttons"
    "text buttons";
  column-gap:54px;
  align-items:center;
  padding:26px 0;
}

.construction-service-page .cs-final .cs-kicker{
  grid-area:label;
  display:none;
}

.construction-service-page .cs-final h2{
  grid-area:title;
  margin:0 0 4px;
  color:#102746;
  font-size:18px;
  line-height:1.6;
  font-weight:700;
}

.construction-service-page .cs-final p{
  grid-area:text;
  margin:0;
  color:#596576;
  font-size:13px;
  line-height:1.7;
}

.construction-service-page .cs-final .cs-buttons{
  grid-area:buttons;
  display:flex;
  flex-wrap:nowrap;
  justify-content:flex-end;
  gap:14px;
  margin:0;
}

.construction-service-page .cs-final .cs-btn{
  min-width:230px;
  min-height:62px;
  padding:16px 26px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:16px;
  font-weight:700;
}

.construction-service-page .cs-final .cs-btn--main{
  background:#c8a351;
  color:#fff;
  border:1px solid #c8a351;
}

.construction-service-page .cs-final .cs-btn--white{
  background:#102746;
  color:#fff;
  border:1px solid #102746;
}


/* ---------- SP ---------- */

@media(max-width:767px){

  .construction-service-page .cs-faq summary{
    grid-template-columns:38px 1fr 24px;
    min-height:78px;
    padding:0 16px;
    gap:6px;
    font-size:14px;
  }

  .construction-service-page .cs-faq summary::after{
    font-size:25px;
  }

  .construction-service-page .cs-answer{
    padding:0 48px 22px 54px;
    font-size:14px;
  }

  .construction-service-page .cs-final > .cs-container{
    min-height:0;
    display:block;
    padding:30px 0;
    text-align:center;
  }

  .construction-service-page .cs-final h2{
    font-size:17px;
    margin-bottom:7px;
  }

  .construction-service-page .cs-final p{
    font-size:13px;
  }

  .construction-service-page .cs-final .cs-buttons{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    margin-top:20px;
  }

  .construction-service-page .cs-final .cs-btn{
    width:100%;
    min-width:0;
    min-height:54px;
  }
}
/* =========================================================
   建設業個別ページ FAQ 完全修正版
   添付見本と同じ横並び表示
   style.css の一番最後に追加してください
   ========================================================= */

.construction-service-page .cs-faq{
  width:100%;
  max-width:860px;
  margin:0 auto;
  border-top:1px solid #d7dde5;
}

.construction-service-page .cs-faq-item{
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-bottom:1px solid #d7dde5 !important;
  background:transparent !important;
  box-shadow:none !important;
  overflow:visible !important;
}

/* 質問行 */
.construction-service-page .cs-faq-item > summary{
  position:relative;
  display:grid !important;
  grid-template-columns:44px minmax(0,1fr) 36px;
  align-items:center;
  column-gap:18px;
  min-height:96px;
  margin:0 !important;
  padding:0 18px 0 28px !important;
  list-style:none !important;
  cursor:pointer;
  background:transparent !important;
  color:#102746 !important;
}

.construction-service-page .cs-faq-item > summary::-webkit-details-marker{
  display:none;
}

.construction-service-page .cs-faq-item > summary::marker{
  content:"";
}

/* 以前の疑似要素をリセット */
.construction-service-page .cs-faq-item > summary::before{
  content:none !important;
  display:none !important;
}

/* Q */
.construction-service-page .cs-faq-q{
  display:block;
  color:#bd9848;
  font-size:22px;
  line-height:1;
  font-weight:700;
  text-align:left;
  white-space:nowrap;
}

/* 質問本文 */
.construction-service-page .cs-faq-question{
  display:block;
  min-width:0;
  color:#102746;
  font-size:16px;
  line-height:1.7;
  font-weight:700;
  word-break:normal;
  overflow-wrap:anywhere;
}

/* ＋ / － */
.construction-service-page .cs-faq-item > summary::after{
  content:"+";
  position:static !important;
  display:block !important;
  justify-self:end;
  transform:none !important;
  color:#bd9848;
  font-size:28px;
  line-height:1;
  font-weight:300;
}

.construction-service-page .cs-faq-item[open] > summary::after{
  content:"−";
}

/* 回答 */
.construction-service-page .cs-answer{
  display:grid !important;
  grid-template-columns:44px minmax(0,1fr);
  column-gap:18px;
  margin:0 !important;
  padding:0 72px 28px 28px !important;
  border:0 !important;
  background:transparent !important;
}

.construction-service-page .cs-answer::before{
  content:none !important;
  display:none !important;
}

.construction-service-page .cs-faq-a{
  display:block;
  color:#bd9848;
  font-size:20px;
  line-height:1.7;
  font-weight:700;
}

.construction-service-page .cs-answer p{
  margin:0 !important;
  color:#4d5969;
  font-size:14px;
  line-height:1.9;
}

/* hover */
.construction-service-page .cs-faq-item > summary:hover{
  background:#fafbfc !important;
}

/* スマホ */
@media(max-width:767px){

  .construction-service-page .cs-faq-item > summary{
    grid-template-columns:30px minmax(0,1fr) 26px;
    column-gap:10px;
    min-height:76px;
    padding:0 12px 0 14px !important;
  }

  .construction-service-page .cs-faq-q{
    font-size:18px;
  }

  .construction-service-page .cs-faq-question{
    font-size:14px;
  }

  .construction-service-page .cs-faq-item > summary::after{
    font-size:23px;
  }

  .construction-service-page .cs-answer{
    grid-template-columns:30px minmax(0,1fr);
    column-gap:10px;
    padding:0 42px 22px 14px !important;
  }

  .construction-service-page .cs-faq-a{
    font-size:17px;
  }

  .construction-service-page .cs-answer p{
    font-size:13px;
  }
}
/* =========================================
   建設業個別ページ
   HERO下 無料相談CTA
========================================= */

.construction-service-page .cs-mini {
    background: #fff;
    border-top: 0;
    border-bottom: 1px solid #e1e5ea;
}

.construction-service-page .cs-mini__inner {
    width: min(1200px, 92%);
    min-height: 126px;
    margin: 0 auto;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 50px;
    padding: 24px 0;
}


/* 左側文章 */

.construction-service-page .cs-mini__message {
    flex: 1;
}

.construction-service-page .cs-mini__message p {
    margin: 0;

    color: #102746;
    font-size: 16px;
    line-height: 1.8;
}

.construction-service-page .cs-mini__message strong {
    font-size: 18px;
    font-weight: 700;
}


/* 右側ボタン */

.construction-service-page .cs-mini__buttons {
    flex-shrink: 0;

    display: flex;
    align-items: center;

    gap: 14px;
}


/* ボタン共通 */

.construction-service-page .cs-mini__btn {
    min-width: 230px;
    min-height: 62px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 15px 25px;

    text-decoration: none;

    font-size: 16px;
    line-height: 1.4;
    font-weight: 700;

    transition:
        opacity .25s ease,
        transform .25s ease;
}

.construction-service-page .cs-mini__btn:hover {
    opacity: .85;
    transform: translateY(-2px);
}


/* LINE */

.construction-service-page .cs-mini__btn--line {
    background: #c8a351;
    border: 1px solid #c8a351;
    color: #fff;
}


/* お問い合わせ */

.construction-service-page .cs-mini__btn--contact {
    background: #102746;
    border: 1px solid #102746;
    color: #fff;
}


/* =========================================
   スマホ
========================================= */

@media (max-width: 767px) {

    .construction-service-page .cs-mini__inner {
        min-height: auto;

        flex-direction: column;
        align-items: stretch;

        gap: 20px;
        padding: 28px 0;
    }

    .construction-service-page .cs-mini__message {
        text-align: center;
    }

    .construction-service-page .cs-mini__message p {
        font-size: 14px;
    }

    .construction-service-page .cs-mini__message strong {
        font-size: 16px;
    }

    .construction-service-page .cs-mini__buttons {
        display: grid;
        grid-template-columns: 1fr;

        width: 100%;
        gap: 10px;
    }

    .construction-service-page .cs-mini__btn {
        width: 100%;
        min-width: 0;
        min-height: 54px;

        font-size: 14px;
    }
}
/* =========================================================
   建設業個別ページ FAQ 最終修正版
   質問文が縦に崩れる問題を解消
   style.css の一番最後に追加してください
   ========================================================= */

.construction-service-page .cs-faq{
    width: 100%;
    max-width: 860px;
    margin: 0 auto;
    border-top: 1px solid #d7dde5;
}

/* FAQ1件 */
.construction-service-page .cs-faq details,
.construction-service-page .cs-faq-item{
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-bottom: 1px solid #d7dde5 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
}

/* 質問行 */
.construction-service-page .cs-faq details > summary,
.construction-service-page .cs-faq-item > summary{
    position: relative !important;

    display: flex !important;
    align-items: center !important;

    width: 100% !important;
    min-width: 0 !important;
    min-height: 92px !important;

    margin: 0 !important;
    padding: 22px 68px 22px 28px !important;

    list-style: none !important;
    cursor: pointer;

    background: transparent !important;
    color: #102746 !important;

    box-sizing: border-box !important;
}

.construction-service-page .cs-faq summary::-webkit-details-marker{
    display: none !important;
}

.construction-service-page .cs-faq summary::marker{
    content: "" !important;
}

/* 以前の装飾を完全解除 */
.construction-service-page .cs-faq summary::before{
    display: none !important;
    content: none !important;
}

/* Q */
.construction-service-page .cs-faq-q{
    flex: 0 0 44px !important;
    width: 44px !important;
    min-width: 44px !important;

    display: block !important;

    margin: 0 18px 0 0 !important;

    color: #bd9848 !important;
    font-size: 22px !important;
    line-height: 1 !important;
    font-weight: 700 !important;

    white-space: nowrap !important;
}

/* 質問本文 */
.construction-service-page .cs-faq-question{
    flex: 1 1 auto !important;

    display: block !important;

    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #102746 !important;
    font-size: 16px !important;
    line-height: 1.7 !important;
    font-weight: 700 !important;

    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    writing-mode: horizontal-tb !important;
}

/* 右端の＋ */
.construction-service-page .cs-faq summary::after{
    content: "+" !important;

    position: absolute !important;
    top: 50% !important;
    right: 28px !important;

    display: block !important;

    width: 24px !important;
    height: 24px !important;

    margin: 0 !important;

    transform: translateY(-50%) !important;

    color: #bd9848 !important;
    font-size: 28px !important;
    line-height: 24px !important;
    font-weight: 300 !important;
    text-align: center !important;
}

/* 開いたとき */
.construction-service-page .cs-faq details[open] > summary::after{
    content: "−" !important;
}

/* 回答 */
.construction-service-page .cs-answer{
    display: flex !important;
    align-items: flex-start !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 68px 26px 28px !important;

    border: 0 !important;
    background: transparent !important;

    box-sizing: border-box !important;
}

.construction-service-page .cs-answer::before{
    display: none !important;
    content: none !important;
}

/* A */
.construction-service-page .cs-faq-a{
    flex: 0 0 44px !important;
    width: 44px !important;
    min-width: 44px !important;

    display: block !important;

    margin: 0 18px 0 0 !important;

    color: #bd9848 !important;
    font-size: 20px !important;
    line-height: 1.8 !important;
    font-weight: 700 !important;
}

/* 回答本文 */
.construction-service-page .cs-answer p{
    flex: 1 1 auto !important;

    width: auto !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #4d5969 !important;
    font-size: 14px !important;
    line-height: 1.9 !important;

    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    writing-mode: horizontal-tb !important;
}

/* hover */
.construction-service-page .cs-faq summary:hover{
    background: #fafbfc !important;
}


/* =========================================================
   スマホ
   ========================================================= */

@media (max-width: 767px){

    .construction-service-page .cs-faq details > summary,
    .construction-service-page .cs-faq-item > summary{
        min-height: 76px !important;
        padding: 18px 48px 18px 16px !important;
    }

    .construction-service-page .cs-faq-q{
        flex-basis: 30px !important;
        width: 30px !important;
        min-width: 30px !important;

        margin-right: 10px !important;

        font-size: 18px !important;
    }

    .construction-service-page .cs-faq-question{
        font-size: 14px !important;
        line-height: 1.7 !important;
    }

    .construction-service-page .cs-faq summary::after{
        right: 14px !important;

        font-size: 23px !important;
    }

    .construction-service-page .cs-answer{
        padding: 0 48px 22px 16px !important;
    }

    .construction-service-page .cs-faq-a{
        flex-basis: 30px !important;
        width: 30px !important;
        min-width: 30px !important;

        margin-right: 10px !important;

        font-size: 17px !important;
    }

    .construction-service-page .cs-answer p{
        font-size: 13px !important;
    }
}
/* =========================================================
   建設業個別ページ
   FLOW（ご相談から完了までの流れ）修正CSS
   style.css の一番最後に追加してください
   ========================================================= */

.construction-service-page .cs-flow{
    position:relative;
    display:block !important;

    width:100%;
    max-width:760px;
    margin:0 auto;
    padding:0 !important;
}

/* 左側の縦ライン */
.construction-service-page .cs-flow::before{
    content:"";
    position:absolute;

    top:24px;
    bottom:24px;
    left:52px;

    width:1px;

    background:#d9dee6;
}

/* 1ステップ */
.construction-service-page .cs-step{
    position:relative;

    display:grid !important;
    grid-template-columns:105px minmax(0,1fr) !important;
    align-items:start;

    width:100% !important;

    gap:24px !important;

    margin:0 !important;
    padding:24px 0 !important;

    background:transparent !important;
    border:0 !important;
    border-bottom:1px solid #e1e5ea !important;

    box-shadow:none !important;
}

/* 最後だけ下線なし */
.construction-service-page .cs-step:last-child{
    border-bottom:0 !important;
}

/* STEP 01 */
.construction-service-page .cs-step__num{
    position:relative;
    z-index:2;

    display:block;

    margin:0 !important;
    padding:0 !important;

    color:#bd9848 !important;

    font-size:12px !important;
    line-height:1.4 !important;
    font-weight:700 !important;
    letter-spacing:.04em !important;

    background:#fff !important;
}

/* 丸印 */
.construction-service-page .cs-step__num::before{
    content:"";

    position:absolute;
    top:4px;
    left:48px;

    width:9px;
    height:9px;

    border:2px solid #bd9848;
    border-radius:50%;

    background:#fff;

    box-sizing:border-box;
}

/* タイトル・本文 */
.construction-service-page .cs-step > div:last-child{
    min-width:0;
}

.construction-service-page .cs-step h3{
    margin:0 0 6px !important;

    color:#102746 !important;

    font-size:16px !important;
    line-height:1.6 !important;
    font-weight:700 !important;
}

.construction-service-page .cs-step p{
    margin:0 !important;

    color:#596576 !important;

    font-size:14px !important;
    line-height:1.8 !important;
}

/* =========================================================
   スマホ
   ========================================================= */

@media(max-width:767px){

    .construction-service-page .cs-flow{
        max-width:100%;
    }

    .construction-service-page .cs-flow::before{
        left:34px;
        top:20px;
        bottom:20px;
    }

    .construction-service-page .cs-step{
        grid-template-columns:70px minmax(0,1fr) !important;

        gap:16px !important;

        padding:20px 0 !important;
    }

    .construction-service-page .cs-step__num{
        font-size:11px !important;
    }

    .construction-service-page .cs-step__num::before{
        left:30px;

        width:8px;
        height:8px;
    }

    .construction-service-page .cs-step h3{
        font-size:15px !important;
    }

    .construction-service-page .cs-step p{
        font-size:13px !important;
    }
}
/* =========================================================
   建設業個別ページ
   FLOW 添付見本合わせ
   style.css の一番最後に追加してください
   ========================================================= */

.construction-service-page .cs-flow{
    display:block !important;
    width:100% !important;
    max-width:960px !important;
    margin:0 auto !important;
    padding:0 !important;
}

/* 以前の縦ラインを消す */
.construction-service-page .cs-flow::before{
    content:none !important;
    display:none !important;
}

/* 各STEP行 */
.construction-service-page .cs-step{
    display:grid !important;
    grid-template-columns:140px minmax(0,1fr) !important;
    align-items:center !important;

    width:100% !important;
    min-height:92px !important;

    gap:28px !important;

    margin:0 !important;
    padding:0 0 !important;

    background:transparent !important;
    border:0 !important;
    border-top:1px solid #d9dee6 !important;

    box-shadow:none !important;
}

/* 最後の行の下線 */
.construction-service-page .cs-step:last-child{
    border-bottom:1px solid #d9dee6 !important;
}

/* STEP 01 */
.construction-service-page .cs-step__num{
    position:static !important;

    display:block !important;

    margin:0 !important;
    padding:0 !important;

    background:transparent !important;

    color:#bd9848 !important;

    font-size:14px !important;
    line-height:1.4 !important;
    font-weight:700 !important;
    letter-spacing:.04em !important;

    white-space:nowrap !important;
}

/* 以前の丸印を消す */
.construction-service-page .cs-step__num::before{
    content:none !important;
    display:none !important;
}

/* 右側 */
.construction-service-page .cs-step > div:last-child{
    min-width:0 !important;
}

/* 見出し */
.construction-service-page .cs-step h3{
    margin:0 !important;
    padding:0 !important;

    color:#102746 !important;

    font-size:18px !important;
    line-height:1.6 !important;
    font-weight:700 !important;
}

/* 添付見本は説明文なしのため非表示 */
.construction-service-page .cs-step p{
    display:none !important;
}


/* FLOWセクション全体の背景を薄いグレーへ */
.construction-service-page .cs-section:has(.cs-flow){
    background:#f5f6f8 !important;
}

/* 見出しを左寄せに */
.construction-service-page .cs-section:has(.cs-flow) .cs-heading{
    max-width:960px !important;
    margin:0 auto 28px !important;
    text-align:left !important;
}

.construction-service-page .cs-section:has(.cs-flow) .cs-heading .cs-kicker{
    margin-bottom:16px !important;
    color:#102746 !important;
    font-size:14px !important;
    letter-spacing:0 !important;
    font-weight:400 !important;
}

.construction-service-page .cs-section:has(.cs-flow) .cs-heading h2{
    margin:0 !important;

    color:#102746 !important;

    font-size:28px !important;
    line-height:1.5 !important;
    font-weight:700 !important;
}


/* =========================================================
   スマホ
   ========================================================= */

@media(max-width:767px){

    .construction-service-page .cs-flow{
        max-width:100% !important;
    }

    .construction-service-page .cs-step{
        grid-template-columns:90px minmax(0,1fr) !important;

        min-height:74px !important;

        gap:14px !important;
    }

    .construction-service-page .cs-step__num{
        font-size:12px !important;
    }

    .construction-service-page .cs-step h3{
        font-size:15px !important;
    }

    .construction-service-page .cs-section:has(.cs-flow) .cs-heading{
        max-width:100% !important;
        margin-bottom:20px !important;
    }

    .construction-service-page .cs-section:has(.cs-flow) .cs-heading .cs-kicker{
        margin-bottom:10px !important;
        font-size:12px !important;
    }

    .construction-service-page .cs-section:has(.cs-flow) .cs-heading h2{
        font-size:22px !important;
    }
}
/* =========================================================
   建設業親ページ：手続別リンク
   style.css の一番最後に追加
========================================================= */

.construction-service-links{
    background:#f5f6f8;
}

.construction-service-links .section-title{
    margin-bottom:42px;
}

.construction-service-links__grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
}

.construction-service-link-card{
    position:relative;
    display:grid;
    grid-template-columns:52px minmax(0,1fr) 28px;
    gap:18px;
    align-items:start;
    min-height:190px;
    padding:30px;
    background:#fff;
    border:1px solid #e1e5ea;
    color:#102746;
    text-decoration:none;
    transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}

.construction-service-link-card:hover{
    transform:translateY(-3px);
    box-shadow:0 12px 30px rgba(16,39,70,.08);
    border-color:#c8a351;
}

.construction-service-link-card__number{
    color:#c09a4c;
    font-size:13px;
    font-weight:700;
    letter-spacing:.08em;
}

.construction-service-link-card__label{
    margin:0 0 8px;
    color:#c09a4c;
    font-size:10px;
    font-weight:700;
    letter-spacing:.14em;
}

.construction-service-link-card h3{
    margin:0 0 12px;
    color:#102746;
    font-size:22px;
    line-height:1.45;
}

.construction-service-link-card div > p:last-child{
    margin:0;
    color:#596576;
    font-size:14px;
    line-height:1.9;
}

.construction-service-link-card__arrow{
    justify-self:end;
    color:#c09a4c;
    font-size:22px;
    line-height:1;
}

@media(max-width:767px){
    .construction-service-links__grid{
        grid-template-columns:1fr;
    }

    .construction-service-link-card{
        grid-template-columns:38px minmax(0,1fr) 22px;
        gap:12px;
        min-height:0;
        padding:24px 18px;
    }

    .construction-service-link-card h3{
        font-size:19px;
    }

    .construction-service-link-card div > p:last-child{
        font-size:13px;
    }
}
/* =========================================================
   産業廃棄物収集運搬業 個別ページ共通CSS
   style.css の一番最後に追加
========================================================= */

.waste-service-page{
  --ws-navy:#102746;
  --ws-gold:#c7a55b;
  --ws-bg:#f5f6f8;
  --ws-line:#dfe4ea;
  --ws-text:#1f2a44;
  color:var(--ws-text);
}

.ws-container{width:min(1120px,92%);margin:auto}
.ws-narrow{width:min(860px,92%);margin:auto}

.ws-hero{
  background:linear-gradient(135deg,#102746,#1a3458);
  color:#fff;
  padding:92px 0 78px;
}

.ws-hero__inner{
  display:grid;
  grid-template-columns:1.18fr .82fr;
  gap:56px;
  align-items:center;
}

.ws-kicker,.ws-hero__label{
  color:var(--ws-gold);
  font-size:12px;
  letter-spacing:.18em;
  font-weight:700;
}

.ws-hero h1{
  margin:14px 0 22px;
  font-size:clamp(34px,4.6vw,58px);
  line-height:1.35;
}

.ws-hero__text{line-height:2}
.ws-photo{width:100%;min-height:330px;object-fit:cover}
.ws-placeholder{
  min-height:330px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.15);
  background:rgba(255,255,255,.08);
}

.ws-badges{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin:26px 0;
}

.ws-badges span{
  padding:8px 12px;
  border:1px solid rgba(255,255,255,.35);
  font-size:13px;
}

.ws-buttons{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:24px;
}

.ws-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:14px 22px;
  text-decoration:none;
  font-weight:700;
}

.ws-btn--main{background:var(--ws-gold);color:#fff}
.ws-btn--outline{border:1px solid #fff;color:#fff}
.ws-btn--white{background:#fff;color:var(--ws-navy)}

.ws-mini{
  background:#fff;
  border-bottom:1px solid var(--ws-line);
}

.ws-mini__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:34px;
  min-height:112px;
  padding:20px 0;
}

.ws-mini__buttons{display:flex;gap:12px;flex-shrink:0}
.ws-mini__btn{
  min-width:210px;
  min-height:56px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:14px 22px;
  text-decoration:none;
  font-weight:700;
}
.ws-mini__btn--line{background:var(--ws-gold);color:#fff}
.ws-mini__btn--contact{background:var(--ws-navy);color:#fff}

.ws-section{padding:82px 0}
.ws-section--light{background:var(--ws-bg)}

.ws-heading{text-align:center;margin-bottom:42px}
.ws-heading h2,.ws-intro h2{
  margin:8px 0 14px;
  font-size:clamp(28px,3vw,40px);
  line-height:1.45;
}
.ws-heading p,.ws-intro p{line-height:2}

.ws-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}

.ws-card{
  padding:28px;
  background:#fff;
  border:1px solid var(--ws-line);
}

.ws-card__num{color:var(--ws-gold);font-weight:700}
.ws-card h3{margin:12px 0;font-size:20px}
.ws-card p{line-height:1.9}

.ws-box{
  padding:28px;
  border-left:3px solid var(--ws-gold);
  background:#fff;
  line-height:2;
}

/* FLOW：他ページと同じ横罫線型 */
.ws-flow{
  width:100%;
  max-width:960px;
  margin:0 auto;
  border-top:1px solid #d9dee6;
}

.ws-step{
  display:grid;
  grid-template-columns:140px minmax(0,1fr);
  align-items:center;
  min-height:92px;
  gap:28px;
  border-bottom:1px solid #d9dee6;
}

.ws-step__num{
  color:#bd9848;
  font-size:14px;
  font-weight:700;
}

.ws-step h3{
  margin:0;
  color:var(--ws-navy);
  font-size:18px;
}

.ws-step p{display:none}

.ws-price{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
  padding:28px;
  background:#fff;
  border:1px solid var(--ws-line);
}

.ws-price h3{margin:0}
.ws-price strong{color:var(--ws-navy);font-size:30px}

/* FAQ：他ページと同じ横罫線型 */
.ws-faq{
  width:100%;
  max-width:860px;
  margin:auto;
  border-top:1px solid #d7dde5;
}

.ws-faq details{
  margin:0;
  border-bottom:1px solid #d7dde5;
}

.ws-faq summary{
  position:relative;
  display:flex;
  align-items:center;
  min-height:92px;
  padding:20px 64px 20px 28px;
  list-style:none;
  cursor:pointer;
}

.ws-faq summary::-webkit-details-marker{display:none}
.ws-faq-q{
  flex:0 0 42px;
  margin-right:16px;
  color:#bd9848;
  font-size:21px;
  font-weight:700;
}
.ws-faq-question{
  flex:1;
  color:var(--ws-navy);
  font-size:16px;
  font-weight:700;
  line-height:1.7;
}
.ws-faq summary::after{
  content:"+";
  position:absolute;
  top:50%;
  right:26px;
  transform:translateY(-50%);
  color:#bd9848;
  font-size:28px;
}
.ws-faq details[open] summary::after{content:"−"}

.ws-answer{
  display:flex;
  padding:0 64px 26px 28px;
}
.ws-faq-a{
  flex:0 0 42px;
  margin-right:16px;
  color:#bd9848;
  font-size:20px;
  font-weight:700;
}
.ws-answer p{
  margin:0;
  color:#4d5969;
  font-size:14px;
  line-height:1.9;
}

.ws-related{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:14px;
}

.ws-related a{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:20px;
  background:#fff;
  border:1px solid var(--ws-line);
  color:var(--ws-navy);
  text-decoration:none;
  font-weight:700;
}

.ws-final{
  padding:78px 0;
  background:var(--ws-navy);
  color:#fff;
  text-align:center;
}
.ws-final .ws-buttons{justify-content:center}

@media(max-width:900px){
  .ws-hero__inner{grid-template-columns:1fr}
  .ws-grid{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:767px){
  .ws-section{padding:58px 0}
  .ws-grid,.ws-related{grid-template-columns:1fr}
  .ws-mini__inner{flex-direction:column;align-items:stretch}
  .ws-mini__buttons{display:grid;grid-template-columns:1fr}
  .ws-mini__btn{min-width:0;width:100%}
  .ws-step{grid-template-columns:90px minmax(0,1fr);min-height:74px;gap:14px}
  .ws-step__num{font-size:12px}
  .ws-step h3{font-size:15px}
  .ws-price{flex-direction:column;align-items:flex-start}
  .ws-faq summary{min-height:76px;padding:18px 46px 18px 16px}
  .ws-faq-q{flex-basis:30px;margin-right:10px;font-size:18px}
  .ws-faq-question{font-size:14px}
  .ws-answer{padding:0 46px 22px 16px}
  .ws-faq-a{flex-basis:30px;margin-right:10px;font-size:17px}
  .ws-answer p{font-size:13px}
}
/* =========================================================
   産廃親ページ：手続別リンク
   style.css の一番最後に追加
========================================================= */

.waste-service-links{
    background:#f5f6f8;
}

.waste-service-links .section-title{
    margin-bottom:42px;
}

.waste-service-links__grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
}

.waste-service-link-card{
    position:relative;
    display:grid;
    grid-template-columns:44px minmax(0,1fr) 24px;
    gap:14px;
    align-items:start;
    min-height:220px;
    padding:30px 24px;
    background:#fff;
    border:1px solid #e1e5ea;
    color:#102746;
    text-decoration:none;
    transition:
        transform .25s ease,
        box-shadow .25s ease,
        border-color .25s ease;
}

.waste-service-link-card:hover{
    transform:translateY(-3px);
    box-shadow:0 12px 30px rgba(16,39,70,.08);
    border-color:#c8a351;
}

.waste-service-link-card__number{
    color:#c09a4c;
    font-size:13px;
    font-weight:700;
    letter-spacing:.08em;
}

.waste-service-link-card__label{
    margin:0 0 8px;
    color:#c09a4c;
    font-size:10px;
    font-weight:700;
    letter-spacing:.14em;
}

.waste-service-link-card h3{
    margin:0 0 12px;
    color:#102746;
    font-size:22px;
    line-height:1.45;
}

.waste-service-link-card div > p:last-child{
    margin:0;
    color:#596576;
    font-size:14px;
    line-height:1.9;
}

.waste-service-link-card__arrow{
    justify-self:end;
    color:#c09a4c;
    font-size:22px;
    line-height:1;
}

@media(max-width:900px){
    .waste-service-links__grid{
        grid-template-columns:1fr;
    }

    .waste-service-link-card{
        grid-template-columns:42px minmax(0,1fr) 22px;
        min-height:0;
    }
}

@media(max-width:767px){
    .waste-service-link-card{
        grid-template-columns:36px minmax(0,1fr) 20px;
        gap:10px;
        padding:24px 18px;
    }

    .waste-service-link-card h3{
        font-size:19px;
    }

    .waste-service-link-card div > p:last-child{
        font-size:13px;
    }
}
/* =========================================================
   自動車登録・車庫証明 個別ページ共通CSS
   style.css の一番最後に追加
========================================================= */

.car-service-page{
  --cr-navy:#102746;
  --cr-gold:#c7a55b;
  --cr-bg:#f5f6f8;
  --cr-line:#dfe4ea;
  --cr-text:#1f2a44;
  color:var(--cr-text);
}

.cr-container{width:min(1120px,92%);margin:auto}
.cr-narrow{width:min(860px,92%);margin:auto}

.cr-hero{
  background:linear-gradient(135deg,#102746,#1a3458);
  color:#fff;
  padding:92px 0 78px;
}

.cr-hero__inner{
  display:grid;
  grid-template-columns:1.18fr .82fr;
  gap:56px;
  align-items:center;
}

.cr-kicker,.cr-hero__label{
  color:var(--cr-gold);
  font-size:12px;
  letter-spacing:.18em;
  font-weight:700;
}

.cr-hero h1{
  margin:14px 0 22px;
  font-size:clamp(34px,4.6vw,58px);
  line-height:1.35;
}

.cr-hero__text{line-height:2}
.cr-photo{width:100%;min-height:330px;object-fit:cover}
.cr-placeholder{
  min-height:330px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.15);
  background:rgba(255,255,255,.08);
}

.cr-badges{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin:26px 0;
}

.cr-badges span{
  padding:8px 12px;
  border:1px solid rgba(255,255,255,.35);
  font-size:13px;
}

.cr-buttons{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:24px;
}

.cr-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:14px 22px;
  text-decoration:none;
  font-weight:700;
}

.cr-btn--main{background:var(--cr-gold);color:#fff}
.cr-btn--outline{border:1px solid #fff;color:#fff}
.cr-btn--white{background:#fff;color:var(--cr-navy)}

.cr-mini{
  background:#fff;
  border-bottom:1px solid var(--cr-line);
}

.cr-mini__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:34px;
  min-height:112px;
  padding:20px 0;
}

.cr-mini__buttons{display:flex;gap:12px;flex-shrink:0}
.cr-mini__btn{
  min-width:210px;
  min-height:56px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:14px 22px;
  text-decoration:none;
  font-weight:700;
}
.cr-mini__btn--line{background:var(--cr-gold);color:#fff}
.cr-mini__btn--contact{background:var(--cr-navy);color:#fff}

.cr-section{padding:82px 0}
.cr-section--light{background:var(--cr-bg)}

.cr-heading{text-align:center;margin-bottom:42px}
.cr-heading h2,.cr-intro h2{
  margin:8px 0 14px;
  font-size:clamp(28px,3vw,40px);
  line-height:1.45;
}
.cr-heading p,.cr-intro p{line-height:2}

.cr-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}

.cr-card{
  padding:28px;
  background:#fff;
  border:1px solid var(--cr-line);
}

.cr-card__num{color:var(--cr-gold);font-weight:700}
.cr-card h3{margin:12px 0;font-size:20px}
.cr-card p{line-height:1.9}

.cr-box{
  padding:28px;
  border-left:3px solid var(--cr-gold);
  background:#fff;
  line-height:2;
}

.cr-flow{
  width:100%;
  max-width:960px;
  margin:0 auto;
  border-top:1px solid #d9dee6;
}

.cr-step{
  display:grid;
  grid-template-columns:140px minmax(0,1fr);
  align-items:center;
  min-height:92px;
  gap:28px;
  border-bottom:1px solid #d9dee6;
}

.cr-step__num{
  color:#bd9848;
  font-size:14px;
  font-weight:700;
}

.cr-step h3{
  margin:0;
  color:var(--cr-navy);
  font-size:18px;
}

.cr-step p{display:none}

.cr-price{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
  padding:28px;
  background:#fff;
  border:1px solid var(--cr-line);
}

.cr-price h3{margin:0}
.cr-price strong{color:var(--cr-navy);font-size:30px}

.cr-faq{
  width:100%;
  max-width:860px;
  margin:auto;
  border-top:1px solid #d7dde5;
}

.cr-faq details{
  margin:0;
  border-bottom:1px solid #d7dde5;
}

.cr-faq summary{
  position:relative;
  display:flex;
  align-items:center;
  min-height:92px;
  padding:20px 64px 20px 28px;
  list-style:none;
  cursor:pointer;
}

.cr-faq summary::-webkit-details-marker{display:none}
.cr-faq-q{
  flex:0 0 42px;
  margin-right:16px;
  color:#bd9848;
  font-size:21px;
  font-weight:700;
}
.cr-faq-question{
  flex:1;
  color:var(--cr-navy);
  font-size:16px;
  font-weight:700;
  line-height:1.7;
}
.cr-faq summary::after{
  content:"+";
  position:absolute;
  top:50%;
  right:26px;
  transform:translateY(-50%);
  color:#bd9848;
  font-size:28px;
}
.cr-faq details[open] summary::after{content:"−"}

.cr-answer{
  display:flex;
  padding:0 64px 26px 28px;
}
.cr-faq-a{
  flex:0 0 42px;
  margin-right:16px;
  color:#bd9848;
  font-size:20px;
  font-weight:700;
}
.cr-answer p{
  margin:0;
  color:#4d5969;
  font-size:14px;
  line-height:1.9;
}

.cr-related{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:14px;
}

.cr-related a{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:20px;
  background:#fff;
  border:1px solid var(--cr-line);
  color:var(--cr-navy);
  text-decoration:none;
  font-weight:700;
}

.cr-final{
  padding:78px 0;
  background:var(--cr-navy);
  color:#fff;
  text-align:center;
}
.cr-final .cr-buttons{justify-content:center}

@media(max-width:900px){
  .cr-hero__inner{grid-template-columns:1fr}
  .cr-grid{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:767px){
  .cr-section{padding:58px 0}
  .cr-grid,.cr-related{grid-template-columns:1fr}
  .cr-mini__inner{flex-direction:column;align-items:stretch}
  .cr-mini__buttons{display:grid;grid-template-columns:1fr}
  .cr-mini__btn{min-width:0;width:100%}
  .cr-step{grid-template-columns:90px minmax(0,1fr);min-height:74px;gap:14px}
  .cr-step__num{font-size:12px}
  .cr-step h3{font-size:15px}
  .cr-price{flex-direction:column;align-items:flex-start}
  .cr-faq summary{min-height:76px;padding:18px 46px 18px 16px}
  .cr-faq-q{flex-basis:30px;margin-right:10px;font-size:18px}
  .cr-faq-question{font-size:14px}
  .cr-answer{padding:0 46px 22px 16px}
  .cr-faq-a{flex-basis:30px;margin-right:10px;font-size:17px}
  .cr-answer p{font-size:13px}
}
/* =========================================================
   自動車登録 親ページ：個別ページ導線
   style.css の一番最後に追加
========================================================= */

.car-service-links{
    background:#f5f6f8;
}

.car-service-links .section-title{
    margin-bottom:42px;
}

.car-service-links__grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
}

.car-service-link-card{
    position:relative;
    display:grid;
    grid-template-columns:44px minmax(0,1fr) 24px;
    gap:14px;
    align-items:start;
    min-height:210px;
    padding:30px 26px;
    background:#fff;
    border:1px solid #e1e5ea;
    color:#102746;
    text-decoration:none;
    transition:
        transform .25s ease,
        box-shadow .25s ease,
        border-color .25s ease;
}

.car-service-link-card:hover{
    transform:translateY(-3px);
    border-color:#c8a351;
    box-shadow:0 12px 30px rgba(16,39,70,.08);
}

.car-service-link-card__number{
    color:#c09a4c;
    font-size:13px;
    font-weight:700;
    letter-spacing:.08em;
}

.car-service-link-card__label{
    margin:0 0 8px;
    color:#c09a4c;
    font-size:10px;
    font-weight:700;
    letter-spacing:.14em;
}

.car-service-link-card h3{
    margin:0 0 12px;
    color:#102746;
    font-size:22px;
    line-height:1.45;
}

.car-service-link-card div > p:last-child{
    margin:0;
    color:#596576;
    font-size:14px;
    line-height:1.9;
}

.car-service-link-card__arrow{
    justify-self:end;
    color:#c09a4c;
    font-size:22px;
    line-height:1;
}

@media(max-width:800px){

    .car-service-links__grid{
        grid-template-columns:1fr;
    }

    .car-service-link-card{
        min-height:0;
    }
}

@media(max-width:767px){

    .car-service-link-card{
        grid-template-columns:36px minmax(0,1fr) 20px;
        gap:10px;
        padding:24px 18px;
    }

    .car-service-link-card h3{
        font-size:19px;
    }

    .car-service-link-card div > p:last-child{
        font-size:13px;
    }
}
/* =========================================================
   自動車登録 親ページ：個別ページ導線
   style.css の一番最後に追加
========================================================= */

.car-service-links{
    background:#f5f6f8;
}

.car-service-links .section-title{
    margin-bottom:42px;
}

.car-service-links__grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
}

.car-service-link-card{
    position:relative;
    display:grid;
    grid-template-columns:44px minmax(0,1fr) 24px;
    gap:14px;
    align-items:start;
    min-height:210px;
    padding:30px 26px;
    background:#fff;
    border:1px solid #e1e5ea;
    color:#102746;
    text-decoration:none;
    transition:
        transform .25s ease,
        box-shadow .25s ease,
        border-color .25s ease;
}

.car-service-link-card:hover{
    transform:translateY(-3px);
    border-color:#c8a351;
    box-shadow:0 12px 30px rgba(16,39,70,.08);
}

.car-service-link-card__number{
    color:#c09a4c;
    font-size:13px;
    font-weight:700;
    letter-spacing:.08em;
}

.car-service-link-card__label{
    margin:0 0 8px;
    color:#c09a4c;
    font-size:10px;
    font-weight:700;
    letter-spacing:.14em;
}

.car-service-link-card h3{
    margin:0 0 12px;
    color:#102746;
    font-size:22px;
    line-height:1.45;
}

.car-service-link-card div > p:last-child{
    margin:0;
    color:#596576;
    font-size:14px;
    line-height:1.9;
}

.car-service-link-card__arrow{
    justify-self:end;
    color:#c09a4c;
    font-size:22px;
    line-height:1;
}

@media(max-width:800px){

    .car-service-links__grid{
        grid-template-columns:1fr;
    }

    .car-service-link-card{
        min-height:0;
    }
}

@media(max-width:767px){

    .car-service-link-card{
        grid-template-columns:36px minmax(0,1fr) 20px;
        gap:10px;
        padding:24px 18px;
    }

    .car-service-link-card h3{
        font-size:19px;
    }

    .car-service-link-card div > p:last-child{
        font-size:13px;
    }
}
/* =========================================================
   自動車登録 親ページ FAQ 最終修正
========================================================= */

.car-page .transport-faq {
    background: #f5f6f8;
}

.car-page .transport-faq .container {
    max-width: 960px;
}

/* FAQ全体 */
.car-page .transport-faq__list {
    width: 100%;
    max-width: 860px;
    margin: 0 auto;
    border-top: 1px solid #d8dde5;
}

/* 既存カードデザインを解除 */
.car-page .transport-faq__item {
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    border-bottom: 1px solid #d8dde5 !important;
}

/* 質問 */
.car-page .transport-faq__item summary {
    position: relative !important;
    display: flex !important;
    align-items: center !important;

    min-height: 92px;
    margin: 0 !important;
    padding: 20px 65px 20px 76px !important;

    color: #102746 !important;
    background: transparent !important;

    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.7 !important;

    list-style: none !important;
    cursor: pointer;
}

/* ブラウザ標準マーカー削除 */
.car-page .transport-faq__item summary::-webkit-details-marker {
    display: none;
}

.car-page .transport-faq__item summary::marker {
    display: none;
    content: "";
}

/* 左側 Q */
.car-page .transport-faq__item summary::before {
    content: "Q";

    position: absolute;
    left: 28px;
    top: 50%;
    transform: translateY(-50%);

    color: #bd9848;
    font-size: 21px;
    font-weight: 700;
    line-height: 1;
}

/* 右側 ＋ */
.car-page .transport-faq__item summary::after {
    content: "+";

    position: absolute;
    right: 27px;
    top: 50%;
    transform: translateY(-50%);

    color: #bd9848;
    font-size: 28px;
    font-weight: 300;
    line-height: 1;
}

/* 開いたとき − */
.car-page .transport-faq__item[open] summary::after {
    content: "−";
}

/* 回答 */
.car-page .transport-faq__item > div {
    position: relative;

    margin: 0 !important;
    padding: 0 65px 28px 76px !important;

    color: #596576 !important;
    background: transparent !important;

    font-size: 14px !important;
    line-height: 1.9 !important;
}

/* 左側 A */
.car-page .transport-faq__item > div::before {
    content: "A";

    position: absolute;
    left: 28px;
    top: 1px;

    color: #bd9848;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.5;
}

/* ホバー */
.car-page .transport-faq__item summary:hover {
    color: #bd9848 !important;
}


/* =========================================================
   スマホ
========================================================= */

@media (max-width: 767px) {

    .car-page .transport-faq__item summary {
        min-height: 76px;

        padding:
            18px
            48px
            18px
            52px !important;

        font-size: 14px !important;
    }

    .car-page .transport-faq__item summary::before {
        left: 17px;
        font-size: 18px;
    }

    .car-page .transport-faq__item summary::after {
        right: 17px;
        font-size: 24px;
    }

    .car-page .transport-faq__item > div {
        padding:
            0
            48px
            22px
            52px !important;

        font-size: 13px !important;
    }

    .car-page .transport-faq__item > div::before {
        left: 17px;
        font-size: 18px;
    }
}
/* =========================================================
   全ページ共通 FAQ 統一デザイン
   添付画像のデザインに合わせる
   style.css の一番最後に追加
========================================================= */

/* ---------- FAQ セクション基本 ---------- */
.transport-faq,
.waste-faq,
.cs-section:has(.cs-faq),
.ws-section:has(.ws-faq),
.ts-section:has(.ts-faq),
.cr-section:has(.cr-faq) {
    background: #ffffff !important;
}

/* ---------- FAQ 幅 ---------- */
.transport-faq__list,
.ts-faq,
.cs-faq,
.ws-faq,
.cr-faq {
    width: 100% !important;
    max-width: 1180px !important;
    margin: 0 auto !important;
    border-top: 1px solid #d7dde5 !important;
}

/* ---------- 各 FAQ 行 ---------- */
.transport-faq__item,
.transport-faq-item,
.ts-faq details,
.cs-faq details,
.ws-faq details,
.cr-faq details {
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    border-bottom: 1px solid #d7dde5 !important;
}

/* ---------- summary 共通 ---------- */
.transport-faq__item summary,
.transport-faq-item summary,
.ts-faq summary,
.cs-faq summary,
.ws-faq summary,
.cr-faq summary {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    min-height: 96px !important;
    margin: 0 !important;
    padding: 22px 78px 22px 70px !important;
    color: #102746 !important;
    background: transparent !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.65 !important;
    list-style: none !important;
    cursor: pointer !important;
}

/* 標準マーカー削除 */
.transport-faq__item summary::-webkit-details-marker,
.transport-faq-item summary::-webkit-details-marker,
.ts-faq summary::-webkit-details-marker,
.cs-faq summary::-webkit-details-marker,
.ws-faq summary::-webkit-details-marker,
.cr-faq summary::-webkit-details-marker {
    display: none !important;
}

.transport-faq__item summary::marker,
.transport-faq-item summary::marker,
.ts-faq summary::marker,
.cs-faq summary::marker,
.ws-faq summary::marker,
.cr-faq summary::marker {
    content: "" !important;
}

/* ---------- 左 Q ---------- */
/* Q span が存在するページ */
.ts-faq-q,
.cs-faq-q,
.ws-faq-q,
.cr-faq-q,
.transport-faq-item summary > span:first-child {
    flex: 0 0 34px !important;
    margin-right: 16px !important;
    color: #c5a04d !important;
    font-size: 26px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
}

/* Q span がない親ページ用 */
.transport-faq__item summary::before {
    content: "Q" !important;
    position: absolute !important;
    left: 14px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    color: #c5a04d !important;
    font-size: 26px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
}

/* ---------- 質問テキスト ---------- */
.ts-faq-question,
.cs-faq-question,
.ws-faq-question,
.cr-faq-question {
    flex: 1 1 auto !important;
    color: #102746 !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.65 !important;
}

/* ---------- 右 + ---------- */
.transport-faq__item summary::after,
.transport-faq-item summary::after,
.ts-faq summary::after,
.cs-faq summary::after,
.ws-faq summary::after,
.cr-faq summary::after {
    content: "+" !important;
    position: absolute !important;
    right: 18px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    color: #c5a04d !important;
    font-size: 31px !important;
    font-weight: 300 !important;
    line-height: 1 !important;
}

/* 開いた時は − */
.transport-faq__item[open] summary::after,
.transport-faq-item[open] summary::after,
.ts-faq details[open] summary::after,
.cs-faq details[open] summary::after,
.ws-faq details[open] summary::after,
.cr-faq details[open] summary::after {
    content: "−" !important;
}

/* ---------- 回答 ---------- */
.transport-faq__item > div,
.transport-faq-item__answer,
.ts-answer,
.cs-answer,
.ws-answer,
.cr-answer {
    position: relative !important;
    display: flex !important;
    align-items: flex-start !important;
    margin: 0 !important;
    padding: 0 78px 30px 70px !important;
    color: #596576 !important;
    background: transparent !important;
    font-size: 15px !important;
    line-height: 1.95 !important;
}

/* 回答 A span */
.ts-faq-a,
.cs-faq-a,
.ws-faq-a,
.cr-faq-a,
.transport-faq-item__answer > span:first-child {
    flex: 0 0 34px !important;
    margin-right: 16px !important;
    color: #c5a04d !important;
    font-size: 24px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
}

/* A span がない親ページ */
.transport-faq__item > div::before {
    content: "A" !important;
    position: absolute !important;
    left: 14px !important;
    top: 0 !important;
    color: #c5a04d !important;
    font-size: 24px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
}

.transport-faq__item > div p,
.transport-faq-item__answer p,
.ts-answer p,
.cs-answer p,
.ws-answer p,
.cr-answer p {
    margin: 0 !important;
    flex: 1 1 auto !important;
}

/* ---------- hover ---------- */
.transport-faq__item summary:hover,
.transport-faq-item summary:hover,
.ts-faq summary:hover,
.cs-faq summary:hover,
.ws-faq summary:hover,
.cr-faq summary:hover {
    color: #102746 !important;
    background: #fafbfc !important;
}

/* =========================================================
   「よくある質問をもっと見る」ボタン
   PHP側で .faq-more-wrap / .faq-more-button を使う
========================================================= */

.faq-more-wrap {
    margin-top: 34px !important;
    text-align: center !important;
}

.faq-more-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 330px !important;
    min-height: 64px !important;
    padding: 16px 34px !important;
    background: #102746 !important;
    color: #ffffff !important;
    text-decoration: none !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    letter-spacing: .02em !important;
    transition: opacity .25s ease, transform .25s ease !important;
}

.faq-more-button:hover {
    opacity: .9 !important;
    transform: translateY(-2px) !important;
}

/* =========================================================
   スマホ
========================================================= */
@media (max-width: 767px) {

    .transport-faq__item summary,
    .transport-faq-item summary,
    .ts-faq summary,
    .cs-faq summary,
    .ws-faq summary,
    .cr-faq summary {
        min-height: 78px !important;
        padding: 18px 48px 18px 48px !important;
        font-size: 14px !important;
    }

    .ts-faq-q,
    .cs-faq-q,
    .ws-faq-q,
    .cr-faq-q,
    .transport-faq-item summary > span:first-child {
        flex-basis: 25px !important;
        margin-right: 9px !important;
        font-size: 20px !important;
    }

    .transport-faq__item summary::before {
        left: 14px !important;
        font-size: 20px !important;
    }

    .ts-faq-question,
    .cs-faq-question,
    .ws-faq-question,
    .cr-faq-question {
        font-size: 14px !important;
    }

    .transport-faq__item summary::after,
    .transport-faq-item summary::after,
    .ts-faq summary::after,
    .cs-faq summary::after,
    .ws-faq summary::after,
    .cr-faq summary::after {
        right: 14px !important;
        font-size: 25px !important;
    }

    .transport-faq__item > div,
    .transport-faq-item__answer,
    .ts-answer,
    .cs-answer,
    .ws-answer,
    .cr-answer {
        padding: 0 48px 22px 48px !important;
        font-size: 13px !important;
    }

    .ts-faq-a,
    .cs-faq-a,
    .ws-faq-a,
    .cr-faq-a,
    .transport-faq-item__answer > span:first-child {
        flex-basis: 25px !important;
        margin-right: 9px !important;
        font-size: 19px !important;
    }

    .transport-faq__item > div::before {
        left: 14px !important;
        font-size: 19px !important;
    }

    .faq-more-button {
        width: 100% !important;
        min-width: 0 !important;
        min-height: 58px !important;
        font-size: 14px !important;
    }
}

/* =========================================================
   全ページ共通 FAQ 統一デザイン
   添付画像のデザインに合わせる
   style.css の一番最後に追加
========================================================= */

/* ---------- FAQ セクション基本 ---------- */
.transport-faq,
.waste-faq,
.cs-section:has(.cs-faq),
.ws-section:has(.ws-faq),
.ts-section:has(.ts-faq),
.cr-section:has(.cr-faq) {
    background: #ffffff !important;
}

/* ---------- FAQ 幅 ---------- */
.transport-faq__list,
.ts-faq,
.cs-faq,
.ws-faq,
.cr-faq {
    width: 100% !important;
    max-width: 1180px !important;
    margin: 0 auto !important;
    border-top: 1px solid #d7dde5 !important;
}

/* ---------- 各 FAQ 行 ---------- */
.transport-faq__item,
.transport-faq-item,
.ts-faq details,
.cs-faq details,
.ws-faq details,
.cr-faq details {
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    border-bottom: 1px solid #d7dde5 !important;
}

/* ---------- summary 共通 ---------- */
.transport-faq__item summary,
.transport-faq-item summary,
.ts-faq summary,
.cs-faq summary,
.ws-faq summary,
.cr-faq summary {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    min-height: 96px !important;
    margin: 0 !important;
    padding: 22px 78px 22px 70px !important;
    color: #102746 !important;
    background: transparent !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.65 !important;
    list-style: none !important;
    cursor: pointer !important;
}

/* 標準マーカー削除 */
.transport-faq__item summary::-webkit-details-marker,
.transport-faq-item summary::-webkit-details-marker,
.ts-faq summary::-webkit-details-marker,
.cs-faq summary::-webkit-details-marker,
.ws-faq summary::-webkit-details-marker,
.cr-faq summary::-webkit-details-marker {
    display: none !important;
}

.transport-faq__item summary::marker,
.transport-faq-item summary::marker,
.ts-faq summary::marker,
.cs-faq summary::marker,
.ws-faq summary::marker,
.cr-faq summary::marker {
    content: "" !important;
}

/* ---------- 左 Q ---------- */
/* Q span が存在するページ */
.ts-faq-q,
.cs-faq-q,
.ws-faq-q,
.cr-faq-q,
.transport-faq-item summary > span:first-child {
    flex: 0 0 34px !important;
    margin-right: 16px !important;
    color: #c5a04d !important;
    font-size: 26px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
}

/* Q span がない親ページ用 */
.transport-faq__item summary::before {
    content: "Q" !important;
    position: absolute !important;
    left: 14px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    color: #c5a04d !important;
    font-size: 26px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
}

/* ---------- 質問テキスト ---------- */
.ts-faq-question,
.cs-faq-question,
.ws-faq-question,
.cr-faq-question {
    flex: 1 1 auto !important;
    color: #102746 !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.65 !important;
}

/* ---------- 右 + ---------- */
.transport-faq__item summary::after,
.transport-faq-item summary::after,
.ts-faq summary::after,
.cs-faq summary::after,
.ws-faq summary::after,
.cr-faq summary::after {
    content: "+" !important;
    position: absolute !important;
    right: 18px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    color: #c5a04d !important;
    font-size: 31px !important;
    font-weight: 300 !important;
    line-height: 1 !important;
}

/* 開いた時は − */
.transport-faq__item[open] summary::after,
.transport-faq-item[open] summary::after,
.ts-faq details[open] summary::after,
.cs-faq details[open] summary::after,
.ws-faq details[open] summary::after,
.cr-faq details[open] summary::after {
    content: "−" !important;
}

/* ---------- 回答 ---------- */
.transport-faq__item > div,
.transport-faq-item__answer,
.ts-answer,
.cs-answer,
.ws-answer,
.cr-answer {
    position: relative !important;
    display: flex !important;
    align-items: flex-start !important;
    margin: 0 !important;
    padding: 0 78px 30px 70px !important;
    color: #596576 !important;
    background: transparent !important;
    font-size: 15px !important;
    line-height: 1.95 !important;
}

/* 回答 A span */
.ts-faq-a,
.cs-faq-a,
.ws-faq-a,
.cr-faq-a,
.transport-faq-item__answer > span:first-child {
    flex: 0 0 34px !important;
    margin-right: 16px !important;
    color: #c5a04d !important;
    font-size: 24px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
}

/* A span がない親ページ */
.transport-faq__item > div::before {
    content: "A" !important;
    position: absolute !important;
    left: 14px !important;
    top: 0 !important;
    color: #c5a04d !important;
    font-size: 24px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
}

.transport-faq__item > div p,
.transport-faq-item__answer p,
.ts-answer p,
.cs-answer p,
.ws-answer p,
.cr-answer p {
    margin: 0 !important;
    flex: 1 1 auto !important;
}

/* ---------- hover ---------- */
.transport-faq__item summary:hover,
.transport-faq-item summary:hover,
.ts-faq summary:hover,
.cs-faq summary:hover,
.ws-faq summary:hover,
.cr-faq summary:hover {
    color: #102746 !important;
    background: #fafbfc !important;
}

/* =========================================================
   「よくある質問をもっと見る」ボタン
   PHP側で .faq-more-wrap / .faq-more-button を使う
========================================================= */

.faq-more-wrap {
    margin-top: 34px !important;
    text-align: center !important;
}

.faq-more-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 330px !important;
    min-height: 64px !important;
    padding: 16px 34px !important;
    background: #102746 !important;
    color: #ffffff !important;
    text-decoration: none !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    letter-spacing: .02em !important;
    transition: opacity .25s ease, transform .25s ease !important;
}

.faq-more-button:hover {
    opacity: .9 !important;
    transform: translateY(-2px) !important;
}

/* =========================================================
   スマホ
========================================================= */
@media (max-width: 767px) {

    .transport-faq__item summary,
    .transport-faq-item summary,
    .ts-faq summary,
    .cs-faq summary,
    .ws-faq summary,
    .cr-faq summary {
        min-height: 78px !important;
        padding: 18px 48px 18px 48px !important;
        font-size: 14px !important;
    }

    .ts-faq-q,
    .cs-faq-q,
    .ws-faq-q,
    .cr-faq-q,
    .transport-faq-item summary > span:first-child {
        flex-basis: 25px !important;
        margin-right: 9px !important;
        font-size: 20px !important;
    }

    .transport-faq__item summary::before {
        left: 14px !important;
        font-size: 20px !important;
    }

    .ts-faq-question,
    .cs-faq-question,
    .ws-faq-question,
    .cr-faq-question {
        font-size: 14px !important;
    }

    .transport-faq__item summary::after,
    .transport-faq-item summary::after,
    .ts-faq summary::after,
    .cs-faq summary::after,
    .ws-faq summary::after,
    .cr-faq summary::after {
        right: 14px !important;
        font-size: 25px !important;
    }

    .transport-faq__item > div,
    .transport-faq-item__answer,
    .ts-answer,
    .cs-answer,
    .ws-answer,
    .cr-answer {
        padding: 0 48px 22px 48px !important;
        font-size: 13px !important;
    }

    .ts-faq-a,
    .cs-faq-a,
    .ws-faq-a,
    .cr-faq-a,
    .transport-faq-item__answer > span:first-child {
        flex-basis: 25px !important;
        margin-right: 9px !important;
        font-size: 19px !important;
    }

    .transport-faq__item > div::before {
        left: 14px !important;
        font-size: 19px !important;
    }

    .faq-more-button {
        width: 100% !important;
        min-width: 0 !important;
        min-height: 58px !important;
        font-size: 14px !important;
    }
}

/* =========================================================
   運送業・全子ページ FAQ 最終統一
========================================================= */

.transport-service-page .ts-faq {
    width: 100% !important;
    max-width: 1000px !important;
    margin: 0 auto !important;
    border-top: 1px solid #d8dde5 !important;
    background: transparent !important;
}

/* 1行 */
.transport-service-page .ts-faq details {
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid #d8dde5 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

/* 質問 */
.transport-service-page .ts-faq summary {
    position: relative !important;

    display: flex !important;
    align-items: center !important;

    width: 100% !important;
    min-height: 92px !important;

    margin: 0 !important;
    padding: 20px 70px 20px 18px !important;

    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;

    list-style: none !important;
    cursor: pointer !important;
}

.transport-service-page .ts-faq summary::-webkit-details-marker {
    display: none !important;
}

/* Q */
.transport-service-page .ts-faq-q {
    display: block !important;
    flex: 0 0 38px !important;

    margin: 0 18px 0 0 !important;

    color: #c5a04d !important;

    font-size: 25px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
}

/* 質問文章 */
.transport-service-page .ts-faq-question {
    display: block !important;
    flex: 1 1 auto !important;

    width: auto !important;
    margin: 0 !important;

    color: #102746 !important;

    font-size: 17px !important;
    font-weight: 700 !important;
    line-height: 1.7 !important;

    writing-mode: horizontal-tb !important;
    word-break: normal !important;
}

/* ＋ */
.transport-service-page .ts-faq summary::after {
    content: "+" !important;

    position: absolute !important;
    top: 50% !important;
    right: 20px !important;

    transform: translateY(-50%) !important;

    color: #c5a04d !important;

    font-size: 29px !important;
    font-weight: 300 !important;
    line-height: 1 !important;
}

/* 開いた場合 */
.transport-service-page .ts-faq details[open] summary::after {
    content: "−" !important;
}

/* 回答 */
.transport-service-page .ts-answer {
    display: flex !important;
    align-items: flex-start !important;

    margin: 0 !important;
    padding: 0 70px 28px 18px !important;

    background: transparent !important;
    border: 0 !important;
}

/* A */
.transport-service-page .ts-faq-a {
    display: block !important;
    flex: 0 0 38px !important;

    margin: 2px 18px 0 0 !important;

    color: #c5a04d !important;

    font-size: 23px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
}

/* 回答文章 */
.transport-service-page .ts-answer p {
    display: block !important;
    flex: 1 1 auto !important;

    width: auto !important;
    margin: 0 !important;

    color: #596576 !important;

    font-size: 14px !important;
    line-height: 1.9 !important;

    writing-mode: horizontal-tb !important;
}

/* hover */
.transport-service-page .ts-faq summary:hover {
    background: #fafbfc !important;
}


/* =========================================================
   スマホ
========================================================= */

@media (max-width: 767px) {

    .transport-service-page .ts-faq summary {
        min-height: 76px !important;
        padding: 17px 45px 17px 10px !important;
    }

    .transport-service-page .ts-faq-q {
        flex-basis: 28px !important;
        margin-right: 9px !important;
        font-size: 20px !important;
    }

    .transport-service-page .ts-faq-question {
        font-size: 14px !important;
        line-height: 1.65 !important;
    }

    .transport-service-page .ts-faq summary::after {
        right: 10px !important;
        font-size: 24px !important;
    }

    .transport-service-page .ts-answer {
        padding: 0 45px 22px 10px !important;
    }

    .transport-service-page .ts-faq-a {
        flex-basis: 28px !important;
        margin-right: 9px !important;
        font-size: 19px !important;
    }

    .transport-service-page .ts-answer p {
        font-size: 13px !important;
    }
}/* =========================================================
   全ページ共通 FAQ 統一デザイン
   添付画像のデザインに合わせる
   style.css の一番最後に追加
========================================================= */

/* ---------- FAQ セクション基本 ---------- */
.transport-faq,
.waste-faq,
.cs-section:has(.cs-faq),
.ws-section:has(.ws-faq),
.ts-section:has(.ts-faq),
.cr-section:has(.cr-faq) {
    background: #ffffff !important;
}

/* ---------- FAQ 幅 ---------- */
.transport-faq__list,
.ts-faq,
.cs-faq,
.ws-faq,
.cr-faq {
    width: 100% !important;
    max-width: 1180px !important;
    margin: 0 auto !important;
    border-top: 1px solid #d7dde5 !important;
}

/* ---------- 各 FAQ 行 ---------- */
.transport-faq__item,
.transport-faq-item,
.ts-faq details,
.cs-faq details,
.ws-faq details,
.cr-faq details {
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    border-bottom: 1px solid #d7dde5 !important;
}

/* ---------- summary 共通 ---------- */
.transport-faq__item summary,
.transport-faq-item summary,
.ts-faq summary,
.cs-faq summary,
.ws-faq summary,
.cr-faq summary {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    min-height: 96px !important;
    margin: 0 !important;
    padding: 22px 78px 22px 70px !important;
    color: #102746 !important;
    background: transparent !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.65 !important;
    list-style: none !important;
    cursor: pointer !important;
}

/* 標準マーカー削除 */
.transport-faq__item summary::-webkit-details-marker,
.transport-faq-item summary::-webkit-details-marker,
.ts-faq summary::-webkit-details-marker,
.cs-faq summary::-webkit-details-marker,
.ws-faq summary::-webkit-details-marker,
.cr-faq summary::-webkit-details-marker {
    display: none !important;
}

.transport-faq__item summary::marker,
.transport-faq-item summary::marker,
.ts-faq summary::marker,
.cs-faq summary::marker,
.ws-faq summary::marker,
.cr-faq summary::marker {
    content: "" !important;
}

/* ---------- 左 Q ---------- */
/* Q span が存在するページ */
.ts-faq-q,
.cs-faq-q,
.ws-faq-q,
.cr-faq-q,
.transport-faq-item summary > span:first-child {
    flex: 0 0 34px !important;
    margin-right: 16px !important;
    color: #c5a04d !important;
    font-size: 26px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
}

/* Q span がない親ページ用 */
.transport-faq__item summary::before {
    content: "Q" !important;
    position: absolute !important;
    left: 14px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    color: #c5a04d !important;
    font-size: 26px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
}

/* ---------- 質問テキスト ---------- */
.ts-faq-question,
.cs-faq-question,
.ws-faq-question,
.cr-faq-question {
    flex: 1 1 auto !important;
    color: #102746 !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.65 !important;
}

/* ---------- 右 + ---------- */
.transport-faq__item summary::after,
.transport-faq-item summary::after,
.ts-faq summary::after,
.cs-faq summary::after,
.ws-faq summary::after,
.cr-faq summary::after {
    content: "+" !important;
    position: absolute !important;
    right: 18px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    color: #c5a04d !important;
    font-size: 31px !important;
    font-weight: 300 !important;
    line-height: 1 !important;
}

/* 開いた時は − */
.transport-faq__item[open] summary::after,
.transport-faq-item[open] summary::after,
.ts-faq details[open] summary::after,
.cs-faq details[open] summary::after,
.ws-faq details[open] summary::after,
.cr-faq details[open] summary::after {
    content: "−" !important;
}

/* ---------- 回答 ---------- */
.transport-faq__item > div,
.transport-faq-item__answer,
.ts-answer,
.cs-answer,
.ws-answer,
.cr-answer {
    position: relative !important;
    display: flex !important;
    align-items: flex-start !important;
    margin: 0 !important;
    padding: 0 78px 30px 70px !important;
    color: #596576 !important;
    background: transparent !important;
    font-size: 15px !important;
    line-height: 1.95 !important;
}

/* 回答 A span */
.ts-faq-a,
.cs-faq-a,
.ws-faq-a,
.cr-faq-a,
.transport-faq-item__answer > span:first-child {
    flex: 0 0 34px !important;
    margin-right: 16px !important;
    color: #c5a04d !important;
    font-size: 24px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
}

/* A span がない親ページ */
.transport-faq__item > div::before {
    content: "A" !important;
    position: absolute !important;
    left: 14px !important;
    top: 0 !important;
    color: #c5a04d !important;
    font-size: 24px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
}

.transport-faq__item > div p,
.transport-faq-item__answer p,
.ts-answer p,
.cs-answer p,
.ws-answer p,
.cr-answer p {
    margin: 0 !important;
    flex: 1 1 auto !important;
}

/* ---------- hover ---------- */
.transport-faq__item summary:hover,
.transport-faq-item summary:hover,
.ts-faq summary:hover,
.cs-faq summary:hover,
.ws-faq summary:hover,
.cr-faq summary:hover {
    color: #102746 !important;
    background: #fafbfc !important;
}

/* =========================================================
   「よくある質問をもっと見る」ボタン
   PHP側で .faq-more-wrap / .faq-more-button を使う
========================================================= */

.faq-more-wrap {
    margin-top: 34px !important;
    text-align: center !important;
}

.faq-more-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 330px !important;
    min-height: 64px !important;
    padding: 16px 34px !important;
    background: #102746 !important;
    color: #ffffff !important;
    text-decoration: none !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    letter-spacing: .02em !important;
    transition: opacity .25s ease, transform .25s ease !important;
}

.faq-more-button:hover {
    opacity: .9 !important;
    transform: translateY(-2px) !important;
}

/* =========================================================
   スマホ
========================================================= */
@media (max-width: 767px) {

    .transport-faq__item summary,
    .transport-faq-item summary,
    .ts-faq summary,
    .cs-faq summary,
    .ws-faq summary,
    .cr-faq summary {
        min-height: 78px !important;
        padding: 18px 48px 18px 48px !important;
        font-size: 14px !important;
    }

    .ts-faq-q,
    .cs-faq-q,
    .ws-faq-q,
    .cr-faq-q,
    .transport-faq-item summary > span:first-child {
        flex-basis: 25px !important;
        margin-right: 9px !important;
        font-size: 20px !important;
    }

    .transport-faq__item summary::before {
        left: 14px !important;
        font-size: 20px !important;
    }

    .ts-faq-question,
    .cs-faq-question,
    .ws-faq-question,
    .cr-faq-question {
        font-size: 14px !important;
    }

    .transport-faq__item summary::after,
    .transport-faq-item summary::after,
    .ts-faq summary::after,
    .cs-faq summary::after,
    .ws-faq summary::after,
    .cr-faq summary::after {
        right: 14px !important;
        font-size: 25px !important;
    }

    .transport-faq__item > div,
    .transport-faq-item__answer,
    .ts-answer,
    .cs-answer,
    .ws-answer,
    .cr-answer {
        padding: 0 48px 22px 48px !important;
        font-size: 13px !important;
    }

    .ts-faq-a,
    .cs-faq-a,
    .ws-faq-a,
    .cr-faq-a,
    .transport-faq-item__answer > span:first-child {
        flex-basis: 25px !important;
        margin-right: 9px !important;
        font-size: 19px !important;
    }

    .transport-faq__item > div::before {
        left: 14px !important;
        font-size: 19px !important;
    }

    .faq-more-button {
        width: 100% !important;
        min-width: 0 !important;
        min-height: 58px !important;
        font-size: 14px !important;
    }
}
/* =========================================================
   子ページ FAQ 完全統一・最終上書き
   運送業 / 建設業 / 産廃 / 自動車登録
   style.css の一番最後に追加
========================================================= */

/* FAQセクション背景 */
.transport-service-page .ts-section:has(.ts-faq),
.construction-service-page .cs-section:has(.cs-faq),
.waste-service-page .ws-section:has(.ws-faq),
.car-service-page .cr-section:has(.cr-faq){
    background:#fff !important;
}

/* FAQ全体 */
.transport-service-page .ts-faq,
.construction-service-page .cs-faq,
.waste-service-page .ws-faq,
.car-service-page .cr-faq{
    width:100% !important;
    max-width:1180px !important;
    margin:0 auto !important;
    padding:0 !important;
    background:transparent !important;
    border-top:1px solid #d9dee6 !important;
}

/* 1行 */
.transport-service-page .ts-faq details,
.construction-service-page .cs-faq details,
.waste-service-page .ws-faq details,
.car-service-page .cr-faq details{
    display:block !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    background:transparent !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    border-bottom:1px solid #d9dee6 !important;
}

/* 質問行 */
.transport-service-page .ts-faq details > summary,
.construction-service-page .cs-faq details > summary,
.waste-service-page .ws-faq details > summary,
.car-service-page .cr-faq details > summary{
    position:relative !important;
    display:flex !important;
    align-items:center !important;
    width:100% !important;
    min-height:102px !important;
    margin:0 !important;
    padding:22px 76px 22px 18px !important;
    background:transparent !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    color:#102746 !important;
    list-style:none !important;
    cursor:pointer !important;
}

.transport-service-page .ts-faq summary::-webkit-details-marker,
.construction-service-page .cs-faq summary::-webkit-details-marker,
.waste-service-page .ws-faq summary::-webkit-details-marker,
.car-service-page .cr-faq summary::-webkit-details-marker{
    display:none !important;
}

/* Q */
.transport-service-page .ts-faq-q,
.construction-service-page .cs-faq-q,
.waste-service-page .ws-faq-q,
.car-service-page .cr-faq-q{
    display:block !important;
    flex:0 0 38px !important;
    width:38px !important;
    margin:0 18px 0 0 !important;
    color:#c5a04d !important;
    font-size:27px !important;
    font-weight:700 !important;
    line-height:1 !important;
}

/* 質問文 */
.transport-service-page .ts-faq-question,
.construction-service-page .cs-faq-question,
.waste-service-page .ws-faq-question,
.car-service-page .cr-faq-question{
    display:block !important;
    flex:1 1 auto !important;
    width:auto !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    color:#102746 !important;
    font-size:18px !important;
    font-weight:700 !important;
    line-height:1.7 !important;
    writing-mode:horizontal-tb !important;
    white-space:normal !important;
    word-break:normal !important;
}

/* 右＋ */
.transport-service-page .ts-faq details > summary::after,
.construction-service-page .cs-faq details > summary::after,
.waste-service-page .ws-faq details > summary::after,
.car-service-page .cr-faq details > summary::after{
    content:"+" !important;
    position:absolute !important;
    top:50% !important;
    right:20px !important;
    transform:translateY(-50%) !important;
    color:#c5a04d !important;
    font-size:32px !important;
    font-weight:300 !important;
    line-height:1 !important;
}

.transport-service-page .ts-faq details[open] > summary::after,
.construction-service-page .cs-faq details[open] > summary::after,
.waste-service-page .ws-faq details[open] > summary::after,
.car-service-page .cr-faq details[open] > summary::after{
    content:"−" !important;
}

/* 回答 */
.transport-service-page .ts-answer,
.construction-service-page .cs-answer,
.waste-service-page .ws-answer,
.car-service-page .cr-answer{
    display:flex !important;
    align-items:flex-start !important;
    width:100% !important;
    margin:0 !important;
    padding:0 76px 30px 18px !important;
    background:transparent !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
}

.transport-service-page .ts-faq-a,
.construction-service-page .cs-faq-a,
.waste-service-page .ws-faq-a,
.car-service-page .cr-faq-a{
    display:block !important;
    flex:0 0 38px !important;
    width:38px !important;
    margin:2px 18px 0 0 !important;
    color:#c5a04d !important;
    font-size:25px !important;
    font-weight:700 !important;
    line-height:1 !important;
}

.transport-service-page .ts-answer p,
.construction-service-page .cs-answer p,
.waste-service-page .ws-answer p,
.car-service-page .cr-answer p{
    display:block !important;
    flex:1 1 auto !important;
    width:auto !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    color:#596576 !important;
    font-size:15px !important;
    line-height:1.95 !important;
    writing-mode:horizontal-tb !important;
}

/* Hover */
.transport-service-page .ts-faq summary:hover,
.construction-service-page .cs-faq summary:hover,
.waste-service-page .ws-faq summary:hover,
.car-service-page .cr-faq summary:hover{
    background:#fafbfc !important;
}

/* スマホ */
@media(max-width:767px){

    .transport-service-page .ts-faq details > summary,
    .construction-service-page .cs-faq details > summary,
    .waste-service-page .ws-faq details > summary,
    .car-service-page .cr-faq details > summary{
        min-height:78px !important;
        padding:17px 46px 17px 10px !important;
    }

    .transport-service-page .ts-faq-q,
    .construction-service-page .cs-faq-q,
    .waste-service-page .ws-faq-q,
    .car-service-page .cr-faq-q{
        flex-basis:28px !important;
        width:28px !important;
        margin-right:9px !important;
        font-size:20px !important;
    }

    .transport-service-page .ts-faq-question,
    .construction-service-page .cs-faq-question,
    .waste-service-page .ws-faq-question,
    .car-service-page .cr-faq-question{
        font-size:14px !important;
        line-height:1.65 !important;
    }

    .transport-service-page .ts-faq details > summary::after,
    .construction-service-page .cs-faq details > summary::after,
    .waste-service-page .ws-faq details > summary::after,
    .car-service-page .cr-faq details > summary::after{
        right:10px !important;
        font-size:25px !important;
    }

    .transport-service-page .ts-answer,
    .construction-service-page .cs-answer,
    .waste-service-page .ws-answer,
    .car-service-page .cr-answer{
        padding:0 46px 22px 10px !important;
    }

    .transport-service-page .ts-faq-a,
    .construction-service-page .cs-faq-a,
    .waste-service-page .ws-faq-a,
    .car-service-page .cr-faq-a{
        flex-basis:28px !important;
        width:28px !important;
        margin-right:9px !important;
        font-size:19px !important;
    }

    .transport-service-page .ts-answer p,
    .construction-service-page .cs-answer p,
    .waste-service-page .ws-answer p,
    .car-service-page .cr-answer p{
        font-size:13px !important;
    }
}

/* =====================================================================
   2026-08-29 全ページデザイン統一 最終レイヤー
   このブロックより前の個別調整は残し、最後に共通デザインで上書きします。
   対象：
   ・運送業 親ページ / 子ページ
   ・建設業 親ページ / 子ページ
   ・産業廃棄物 親ページ / 子ページ
   ・自動車登録 親ページ / 子ページ
   ・その他下層ページの共通パーツ
===================================================================== */

:root{
    --site-navy:#102746;
    --site-deep-navy:#061f42;
    --site-gold:#c5a04d;
    --site-white:#ffffff;
    --site-text:#27364c;
    --site-muted:#667286;
    --site-light:#f5f6f8;
    --site-border:#d9dee6;
    --site-shadow:0 10px 28px rgba(16,39,70,.07);
    --site-content:1180px;
    --site-narrow:880px;
    --site-section-space:80px;
}


/* =====================================================================
   1. 全下層ページ 共通レイアウト
===================================================================== */

:is(
    .transport-page,
    .construction-page,
    .waste-page,
    .industrial-waste-page,
    .car-page,
    .car-registration-page,
    .transport-service-page,
    .construction-service-page,
    .waste-service-page,
    .car-service-page
){
    color:var(--site-text);
    background:var(--site-white);
}

:is(
    .transport-page,
    .construction-page,
    .waste-page,
    .industrial-waste-page,
    .car-page,
    .car-registration-page
) .container,
:is(
    .transport-service-page .ts-container,
    .construction-service-page .cs-container,
    .waste-service-page .ws-container,
    .car-service-page .cr-container
){
    width:min(var(--site-content), calc(100% - 48px)) !important;
    max-width:var(--site-content) !important;
    margin-left:auto !important;
    margin-right:auto !important;
}

:is(
    .transport-service-page .ts-narrow,
    .construction-service-page .cs-narrow,
    .waste-service-page .ws-narrow,
    .car-service-page .cr-narrow
){
    width:min(var(--site-narrow), calc(100% - 48px)) !important;
    max-width:var(--site-narrow) !important;
    margin-left:auto !important;
    margin-right:auto !important;
}

.section-space,
:is(
    .transport-service-page .ts-section,
    .construction-service-page .cs-section,
    .waste-service-page .ws-section,
    .car-service-page .cr-section
){
    padding-top:var(--site-section-space) !important;
    padding-bottom:var(--site-section-space) !important;
}


/* =====================================================================
   2. 見出しデザイン統一
===================================================================== */

:is(
    .section-title,
    .transport-service-page .ts-heading,
    .construction-service-page .cs-heading,
    .waste-service-page .ws-heading,
    .car-service-page .cr-heading
){
    margin-bottom:42px !important;
    text-align:center !important;
}

:is(
    .section-title__en,
    .transport-service-page .ts-kicker,
    .construction-service-page .cs-kicker,
    .waste-service-page .ws-kicker,
    .car-service-page .cr-kicker
){
    margin:0 0 8px !important;
    color:var(--site-gold) !important;
    font-size:12px !important;
    font-weight:700 !important;
    line-height:1.4 !important;
    letter-spacing:.14em !important;
    text-transform:uppercase;
}

:is(
    .section-title h2,
    .transport-service-page .ts-heading h2,
    .construction-service-page .cs-heading h2,
    .waste-service-page .ws-heading h2,
    .car-service-page .cr-heading h2,
    .transport-service-page .ts-intro h2,
    .construction-service-page .cs-intro h2,
    .waste-service-page .ws-intro h2,
    .car-service-page .cr-intro h2
){
    margin:0 !important;
    color:var(--site-navy) !important;
    font-family:"Noto Sans JP","Hiragino Sans","Yu Gothic",sans-serif !important;
    font-size:clamp(28px,3vw,38px) !important;
    font-weight:700 !important;
    line-height:1.5 !important;
    letter-spacing:.01em !important;
}

:is(
    .section-title > p:not(.section-title__en),
    .transport-service-page .ts-heading > p:not(.ts-kicker),
    .construction-service-page .cs-heading > p:not(.cs-kicker),
    .waste-service-page .ws-heading > p:not(.ws-kicker),
    .car-service-page .cr-heading > p:not(.cr-kicker)
){
    max-width:760px;
    margin:14px auto 0 !important;
    color:var(--site-muted) !important;
    font-size:14px !important;
    line-height:1.9 !important;
}


/* =====================================================================
   3. 親ページ FV 統一
===================================================================== */

:is(
    .transport-page,
    .construction-page,
    .waste-page,
    .industrial-waste-page,
    .car-page,
    .car-registration-page
) .sub-hero{
    padding:74px 0 66px !important;
    background:var(--site-navy) !important;
    color:#fff !important;
}

:is(
    .transport-page,
    .construction-page,
    .waste-page,
    .industrial-waste-page,
    .car-page,
    .car-registration-page
) .sub-hero__inner{
    display:grid !important;
    grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr) !important;
    gap:56px !important;
    align-items:center !important;
}

:is(
    .transport-page,
    .construction-page,
    .waste-page,
    .industrial-waste-page,
    .car-page,
    .car-registration-page
) .sub-hero__lead{
    margin:0 0 12px !important;
    color:var(--site-gold) !important;
    font-size:12px !important;
    font-weight:700 !important;
    letter-spacing:.13em !important;
}

:is(
    .transport-page,
    .construction-page,
    .waste-page,
    .industrial-waste-page,
    .car-page,
    .car-registration-page
) .sub-hero__title{
    margin:0 0 22px !important;
    color:#fff !important;
    font-size:clamp(36px,4vw,56px) !important;
    font-weight:700 !important;
    line-height:1.35 !important;
}

:is(
    .transport-page,
    .construction-page,
    .waste-page,
    .industrial-waste-page,
    .car-page,
    .car-registration-page
) .sub-hero__text{
    margin:0 !important;
    color:rgba(255,255,255,.88) !important;
    font-size:15px !important;
    line-height:2 !important;
}

:is(
    .transport-page,
    .construction-page,
    .waste-page,
    .industrial-waste-page,
    .car-page,
    .car-registration-page
) .sub-hero__image{
    min-height:340px !important;
}

:is(
    .transport-page,
    .construction-page,
    .waste-page,
    .industrial-waste-page,
    .car-page,
    .car-registration-page
) :is(.sub-image-placeholder,.sub-hero__photo){
    width:100% !important;
    min-height:340px !important;
    height:100% !important;
    object-fit:cover !important;
}

:is(
    .transport-page,
    .construction-page,
    .waste-page,
    .industrial-waste-page,
    .car-page,
    .car-registration-page
) .sub-image-placeholder{
    display:grid !important;
    place-items:center !important;
    background:rgba(255,255,255,.08) !important;
    border:1px solid rgba(255,255,255,.12) !important;
    color:rgba(255,255,255,.55) !important;
}


/* =====================================================================
   4. 子ページ FV 統一
===================================================================== */

:is(
    .transport-service-page .ts-hero,
    .construction-service-page .cs-hero,
    .waste-service-page .ws-hero,
    .car-service-page .cr-hero
){
    padding:74px 0 66px !important;
    background:linear-gradient(135deg,var(--site-navy),var(--site-deep-navy)) !important;
    color:#fff !important;
}

:is(
    .transport-service-page .ts-hero__inner,
    .construction-service-page .cs-hero__inner,
    .waste-service-page .ws-hero__inner,
    .car-service-page .cr-hero__inner
){
    display:grid !important;
    grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr) !important;
    gap:56px !important;
    align-items:center !important;
}

:is(
    .transport-service-page .ts-hero__label,
    .construction-service-page .cs-hero__label,
    .waste-service-page .ws-hero__label,
    .car-service-page .cr-hero__label
){
    margin:0 0 12px !important;
    color:var(--site-gold) !important;
    font-size:12px !important;
    font-weight:700 !important;
    letter-spacing:.13em !important;
}

:is(
    .transport-service-page .ts-hero h1,
    .construction-service-page .cs-hero h1,
    .waste-service-page .ws-hero h1,
    .car-service-page .cr-hero h1
){
    margin:0 0 22px !important;
    color:#fff !important;
    font-size:clamp(36px,4vw,56px) !important;
    font-weight:700 !important;
    line-height:1.35 !important;
}

:is(
    .transport-service-page .ts-hero__text,
    .construction-service-page .cs-hero__text,
    .waste-service-page .ws-hero__text,
    .car-service-page .cr-hero__text
){
    margin:0 !important;
    color:rgba(255,255,255,.88) !important;
    font-size:15px !important;
    line-height:2 !important;
}

:is(
    .transport-service-page .ts-photo,
    .construction-service-page .cs-photo,
    .waste-service-page .ws-photo,
    .car-service-page .cr-photo,
    .transport-service-page .ts-placeholder,
    .construction-service-page .cs-placeholder,
    .waste-service-page .ws-placeholder,
    .car-service-page .cr-placeholder
){
    width:100% !important;
    min-height:340px !important;
    height:100% !important;
}

:is(
    .transport-service-page .ts-photo,
    .construction-service-page .cs-photo,
    .waste-service-page .ws-photo,
    .car-service-page .cr-photo
){
    object-fit:cover !important;
}

:is(
    .transport-service-page .ts-placeholder,
    .construction-service-page .cs-placeholder,
    .waste-service-page .ws-placeholder,
    .car-service-page .cr-placeholder
){
    display:grid !important;
    place-items:center !important;
    background:rgba(255,255,255,.08) !important;
    border:1px solid rgba(255,255,255,.12) !important;
    color:rgba(255,255,255,.55) !important;
}


/* =====================================================================
   5. FV直下 CTA 統一
===================================================================== */

.transport-mini-cta,
:is(
    .transport-service-page .ts-mini,
    .construction-service-page .cs-mini,
    .waste-service-page .ws-mini,
    .car-service-page .cr-mini
){
    padding:0 !important;
    background:#fff !important;
    border-top:0 !important;
    border-bottom:1px solid var(--site-border) !important;
}

.transport-mini-cta__inner,
:is(
    .transport-service-page .ts-mini__inner,
    .construction-service-page .cs-mini__inner,
    .waste-service-page .ws-mini__inner,
    .car-service-page .cr-mini__inner
){
    width:min(var(--site-content), calc(100% - 48px)) !important;
    max-width:var(--site-content) !important;
    min-height:118px !important;
    margin:0 auto !important;
    padding:24px 0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:40px !important;
}

.transport-mini-cta__inner p,
:is(
    .transport-service-page .ts-mini__inner p,
    .construction-service-page .cs-mini__inner p,
    .waste-service-page .ws-mini__inner p,
    .car-service-page .cr-mini__inner p
){
    margin:0 !important;
    color:var(--site-navy) !important;
    font-size:15px !important;
    line-height:1.8 !important;
}

.transport-mini-cta__buttons,
:is(
    .transport-service-page .ts-mini__buttons,
    .construction-service-page .cs-mini__buttons,
    .waste-service-page .ws-mini__buttons,
    .car-service-page .cr-mini__buttons
){
    display:flex !important;
    align-items:center !important;
    gap:12px !important;
    flex-shrink:0 !important;
}


/* =====================================================================
   6. 共通ボタン
===================================================================== */

:is(
    .btn-main,
    .btn-outline,
    .ts-btn,
    .cs-btn,
    .ws-btn,
    .cr-btn,
    .ts-mini__btn,
    .cs-mini__btn,
    .ws-mini__btn,
    .cr-mini__btn
){
    min-height:54px !important;
    padding:14px 24px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    border-radius:0 !important;
    font-size:14px !important;
    font-weight:700 !important;
    line-height:1.4 !important;
    text-decoration:none !important;
    transition:opacity .2s ease,transform .2s ease !important;
}

:is(
    .ts-btn--main,
    .cs-btn--main,
    .ws-btn--main,
    .cr-btn--main,
    .ts-mini__btn--line,
    .cs-mini__btn--line,
    .ws-mini__btn--line,
    .cr-mini__btn--line
){
    background:var(--site-gold) !important;
    border:1px solid var(--site-gold) !important;
    color:#fff !important;
}

:is(
    .ts-mini__btn--contact,
    .cs-mini__btn--contact,
    .ws-mini__btn--contact,
    .cr-mini__btn--contact
){
    background:var(--site-navy) !important;
    border:1px solid var(--site-navy) !important;
    color:#fff !important;
}

:is(
    .ts-btn,
    .cs-btn,
    .ws-btn,
    .cr-btn,
    .ts-mini__btn,
    .cs-mini__btn,
    .ws-mini__btn,
    .cr-mini__btn
):hover{
    opacity:.88 !important;
    transform:translateY(-2px) !important;
}


/* =====================================================================
   7. セクション背景・本文
===================================================================== */

:is(
    .transport-service-page .ts-section--light,
    .construction-service-page .cs-section--light,
    .waste-service-page .ws-section--light,
    .car-service-page .cr-section--light
){
    background:var(--site-light) !important;
}

:is(
    .transport-service-page .ts-intro p,
    .construction-service-page .cs-intro p,
    .waste-service-page .ws-intro p,
    .car-service-page .cr-intro p
){
    color:var(--site-text) !important;
    font-size:15px !important;
    line-height:2 !important;
}


/* =====================================================================
   8. カードデザイン統一
===================================================================== */

:is(
    .transport-service-page .ts-grid,
    .construction-service-page .cs-grid,
    .waste-service-page .ws-grid,
    .car-service-page .cr-grid
){
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:18px !important;
}

:is(
    .transport-service-page .ts-card,
    .construction-service-page .cs-card,
    .waste-service-page .ws-card,
    .car-service-page .cr-card
){
    min-height:210px !important;
    padding:30px 26px !important;
    background:#fff !important;
    border:1px solid var(--site-border) !important;
    border-radius:0 !important;
    box-shadow:none !important;
}

:is(
    .transport-service-page .ts-card__num,
    .construction-service-page .cs-card__num,
    .waste-service-page .ws-card__num,
    .car-service-page .cr-card__num
){
    display:block !important;
    margin-bottom:12px !important;
    color:var(--site-gold) !important;
    font-size:13px !important;
    font-weight:700 !important;
}

:is(
    .transport-service-page .ts-card h3,
    .construction-service-page .cs-card h3,
    .waste-service-page .ws-card h3,
    .car-service-page .cr-card h3
){
    margin:0 0 12px !important;
    color:var(--site-navy) !important;
    font-size:19px !important;
    font-weight:700 !important;
    line-height:1.55 !important;
}

:is(
    .transport-service-page .ts-card p,
    .construction-service-page .cs-card p,
    .waste-service-page .ws-card p,
    .car-service-page .cr-card p
){
    margin:0 !important;
    color:var(--site-muted) !important;
    font-size:14px !important;
    line-height:1.9 !important;
}


/* =====================================================================
   9. 補足BOX 統一
===================================================================== */

:is(
    .transport-service-page .ts-box,
    .construction-service-page .cs-box,
    .waste-service-page .ws-box,
    .car-service-page .cr-box
){
    padding:28px 30px !important;
    background:#fff !important;
    border:1px solid var(--site-border) !important;
    border-left:3px solid var(--site-gold) !important;
    border-radius:0 !important;
    color:var(--site-text) !important;
    font-size:14px !important;
    line-height:2 !important;
}


/* =====================================================================
   10. FLOW 統一
===================================================================== */

:is(
    .transport-service-page .ts-flow,
    .construction-service-page .cs-flow,
    .waste-service-page .ws-flow,
    .car-service-page .cr-flow
){
    width:100% !important;
    max-width:960px !important;
    margin:0 auto !important;
    border-top:1px solid var(--site-border) !important;
}

:is(
    .transport-service-page .ts-step,
    .construction-service-page .cs-step,
    .waste-service-page .ws-step,
    .car-service-page .cr-step
){
    min-height:92px !important;
    margin:0 !important;
    padding:0 !important;
    display:grid !important;
    grid-template-columns:140px minmax(0,1fr) !important;
    gap:28px !important;
    align-items:center !important;
    background:transparent !important;
    border:0 !important;
    border-bottom:1px solid var(--site-border) !important;
    border-radius:0 !important;
    box-shadow:none !important;
}

:is(
    .transport-service-page .ts-step__num,
    .construction-service-page .cs-step__num,
    .waste-service-page .ws-step__num,
    .car-service-page .cr-step__num
){
    color:var(--site-gold) !important;
    font-size:13px !important;
    font-weight:700 !important;
    letter-spacing:.04em !important;
}

:is(
    .transport-service-page .ts-step h3,
    .construction-service-page .cs-step h3,
    .waste-service-page .ws-step h3,
    .car-service-page .cr-step h3
){
    margin:0 !important;
    color:var(--site-navy) !important;
    font-size:17px !important;
    font-weight:700 !important;
    line-height:1.55 !important;
}

:is(
    .transport-service-page .ts-step p,
    .construction-service-page .cs-step p,
    .waste-service-page .ws-step p,
    .car-service-page .cr-step p
){
    display:none !important;
}


/* =====================================================================
   11. 料金ブロック 統一
===================================================================== */

:is(
    .transport-service-page .ts-price,
    .construction-service-page .cs-price,
    .waste-service-page .ws-price,
    .car-service-page .cr-price
){
    min-height:104px !important;
    padding:26px 30px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:24px !important;
    background:#fff !important;
    border:1px solid var(--site-border) !important;
    border-radius:0 !important;
}

:is(
    .transport-service-page .ts-price h3,
    .construction-service-page .cs-price h3,
    .waste-service-page .ws-price h3,
    .car-service-page .cr-price h3
){
    margin:0 !important;
    color:var(--site-navy) !important;
    font-size:17px !important;
    font-weight:700 !important;
}

:is(
    .transport-service-page .ts-price strong,
    .construction-service-page .cs-price strong,
    .waste-service-page .ws-price strong,
    .car-service-page .cr-price strong
){
    color:var(--site-navy) !important;
    font-size:30px !important;
    font-weight:700 !important;
}


/* =====================================================================
   12. FAQ 完全統一
===================================================================== */

:is(
    .faq__list,
    .transport-faq__list,
    .ts-faq,
    .cs-faq,
    .ws-faq,
    .cr-faq
){
    width:100% !important;
    max-width:1000px !important;
    margin:35px auto 0 !important;
    padding:0 !important;
    background:transparent !important;
    border-top:1px solid var(--site-border) !important;
}

:is(
    .faq-item,
    .transport-faq__item,
    .transport-faq-item,
    .ts-faq details,
    .cs-faq details,
    .ws-faq details,
    .cr-faq details
){
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    background:transparent !important;
    border:0 !important;
    border-bottom:1px solid var(--site-border) !important;
    border-radius:0 !important;
    box-shadow:none !important;
}

:is(
    .faq-item summary,
    .transport-faq__item summary,
    .transport-faq-item summary,
    .ts-faq summary,
    .cs-faq summary,
    .ws-faq summary,
    .cr-faq summary
){
    position:relative !important;
    width:100% !important;
    min-height:96px !important;
    margin:0 !important;
    padding:22px 72px 22px 18px !important;
    display:flex !important;
    align-items:center !important;
    gap:16px !important;
    background:transparent !important;
    border:0 !important;
    color:var(--site-navy) !important;
    font-size:17px !important;
    font-weight:700 !important;
    line-height:1.7 !important;
    list-style:none !important;
    cursor:pointer !important;
}

:is(
    .faq-item summary,
    .transport-faq__item summary,
    .transport-faq-item summary,
    .ts-faq summary,
    .cs-faq summary,
    .ws-faq summary,
    .cr-faq summary
)::-webkit-details-marker{
    display:none !important;
}

:is(
    .faq-item__mark,
    .ts-faq-q,
    .cs-faq-q,
    .ws-faq-q,
    .cr-faq-q,
    .transport-faq-item summary > span:first-child
){
    flex:0 0 34px !important;
    width:34px !important;
    margin:0 !important;
    color:var(--site-gold) !important;
    font-size:24px !important;
    font-weight:700 !important;
    line-height:1 !important;
}

:is(
    .ts-faq-question,
    .cs-faq-question,
    .ws-faq-question,
    .cr-faq-question
){
    flex:1 1 auto !important;
    min-width:0 !important;
    margin:0 !important;
    color:var(--site-navy) !important;
    font-size:17px !important;
    font-weight:700 !important;
    line-height:1.7 !important;
    writing-mode:horizontal-tb !important;
    word-break:normal !important;
}

:is(
    .faq-item summary,
    .transport-faq__item summary,
    .transport-faq-item summary,
    .ts-faq summary,
    .cs-faq summary,
    .ws-faq summary,
    .cr-faq summary
)::after{
    content:"+" !important;
    position:absolute !important;
    top:50% !important;
    right:20px !important;
    transform:translateY(-50%) !important;
    color:var(--site-gold) !important;
    font-size:30px !important;
    font-weight:300 !important;
    line-height:1 !important;
}

:is(
    .faq-item[open] summary,
    .transport-faq__item[open] summary,
    .transport-faq-item[open] summary,
    .ts-faq details[open] summary,
    .cs-faq details[open] summary,
    .ws-faq details[open] summary,
    .cr-faq details[open] summary
)::after{
    content:"−" !important;
}

:is(
    .faq-item__answer,
    .transport-faq__item > div,
    .transport-faq-item__answer,
    .ts-answer,
    .cs-answer,
    .ws-answer,
    .cr-answer
){
    width:100% !important;
    margin:0 !important;
    padding:0 72px 28px 18px !important;
    display:flex !important;
    align-items:flex-start !important;
    gap:16px !important;
    background:transparent !important;
    border:0 !important;
    color:var(--site-muted) !important;
    font-size:14px !important;
    line-height:1.95 !important;
}

:is(
    .faq-item__answer-mark,
    .ts-faq-a,
    .cs-faq-a,
    .ws-faq-a,
    .cr-faq-a,
    .transport-faq-item__answer > span:first-child
){
    flex:0 0 34px !important;
    width:34px !important;
    margin:2px 0 0 !important;
    color:var(--site-gold) !important;
    font-size:22px !important;
    font-weight:700 !important;
    line-height:1 !important;
}

:is(
    .faq-item__answer p,
    .transport-faq-item__answer p,
    .ts-answer p,
    .cs-answer p,
    .ws-answer p,
    .cr-answer p
){
    flex:1 1 auto !important;
    min-width:0 !important;
    margin:0 !important;
    color:var(--site-muted) !important;
    font-size:14px !important;
    line-height:1.95 !important;
}


/* Q/A span がない親ページ用 */
.transport-faq__item summary::before{
    content:"Q" !important;
    flex:0 0 34px !important;
    position:static !important;
    display:block !important;
    transform:none !important;
    color:var(--site-gold) !important;
    font-size:24px !important;
    font-weight:700 !important;
    line-height:1 !important;
}

.transport-faq__item > div::before{
    content:"A" !important;
    flex:0 0 34px !important;
    position:static !important;
    display:block !important;
    color:var(--site-gold) !important;
    font-size:22px !important;
    font-weight:700 !important;
    line-height:1 !important;
}


/* =====================================================================
   13. 関連ページリンク 統一
===================================================================== */

:is(
    .transport-service-page .ts-related,
    .construction-service-page .cs-related,
    .waste-service-page .ws-related,
    .car-service-page .cr-related
){
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:14px !important;
}

:is(
    .transport-service-page .ts-related a,
    .construction-service-page .cs-related a,
    .waste-service-page .ws-related a,
    .car-service-page .cr-related a
){
    min-height:72px !important;
    padding:18px 22px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:16px !important;
    background:#fff !important;
    border:1px solid var(--site-border) !important;
    color:var(--site-navy) !important;
    font-size:14px !important;
    font-weight:700 !important;
    text-decoration:none !important;
}

:is(
    .transport-service-page .ts-related a,
    .construction-service-page .cs-related a,
    .waste-service-page .ws-related a,
    .car-service-page .cr-related a
):hover{
    border-color:var(--site-gold) !important;
    box-shadow:var(--site-shadow) !important;
}


/* =====================================================================
   14. 最終CTA 統一
===================================================================== */

:is(
    .transport-final-cta,
    .transport-service-page .ts-final,
    .construction-service-page .cs-final,
    .waste-service-page .ws-final,
    .car-service-page .cr-final
){
    padding:68px 0 !important;
    background:var(--site-navy) !important;
    color:#fff !important;
    text-align:center !important;
    border:0 !important;
}

:is(
    .transport-final-cta h2,
    .transport-service-page .ts-final h2,
    .construction-service-page .cs-final h2,
    .waste-service-page .ws-final h2,
    .car-service-page .cr-final h2
){
    margin:8px 0 14px !important;
    color:#fff !important;
    font-size:clamp(26px,3vw,36px) !important;
    font-weight:700 !important;
    line-height:1.55 !important;
}

:is(
    .transport-final-cta p,
    .transport-service-page .ts-final p,
    .construction-service-page .cs-final p,
    .waste-service-page .ws-final p,
    .car-service-page .cr-final p
){
    color:rgba(255,255,255,.86) !important;
    font-size:14px !important;
    line-height:1.9 !important;
}

:is(
    .transport-final-cta__buttons,
    .transport-service-page .ts-final .ts-buttons,
    .construction-service-page .cs-final .cs-buttons,
    .waste-service-page .ws-final .ws-buttons,
    .car-service-page .cr-final .cr-buttons
){
    margin-top:28px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:12px !important;
}

:is(
    .transport-final-cta__buttons a,
    .transport-service-page .ts-final a,
    .construction-service-page .cs-final a,
    .waste-service-page .ws-final a,
    .car-service-page .cr-final a
){
    min-width:220px !important;
    min-height:54px !important;
}


/* =====================================================================
   15. 親ページ 手続カード導線 統一
===================================================================== */

:is(
    .transport-service-links,
    .construction-service-links,
    .waste-service-links,
    .car-service-links
){
    background:var(--site-light) !important;
}

:is(
    .transport-service-links__grid,
    .construction-service-links__grid,
    .waste-service-links__grid,
    .car-service-links__grid
){
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:18px !important;
}

:is(
    .transport-service-link-card,
    .construction-service-link-card,
    .waste-service-link-card,
    .car-service-link-card
){
    min-height:200px !important;
    padding:28px 24px !important;
    background:#fff !important;
    border:1px solid var(--site-border) !important;
    color:var(--site-navy) !important;
    border-radius:0 !important;
    box-shadow:none !important;
}

:is(
    .transport-service-link-card,
    .construction-service-link-card,
    .waste-service-link-card,
    .car-service-link-card
):hover{
    transform:translateY(-3px) !important;
    border-color:var(--site-gold) !important;
    box-shadow:var(--site-shadow) !important;
}


/* =====================================================================
   16. PC / Tablet
===================================================================== */

@media(max-width:980px){

    :is(
        .transport-page,
        .construction-page,
        .waste-page,
        .industrial-waste-page,
        .car-page,
        .car-registration-page
    ) .sub-hero__inner,
    :is(
        .transport-service-page .ts-hero__inner,
        .construction-service-page .cs-hero__inner,
        .waste-service-page .ws-hero__inner,
        .car-service-page .cr-hero__inner
    ){
        grid-template-columns:1fr !important;
        gap:34px !important;
    }

    :is(
        .transport-service-page .ts-grid,
        .construction-service-page .cs-grid,
        .waste-service-page .ws-grid,
        .car-service-page .cr-grid
    ){
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }
}


/* =====================================================================
   17. スマホ
===================================================================== */

@media(max-width:767px){

    :root{
        --site-section-space:54px;
    }

    :is(
        .transport-page,
        .construction-page,
        .waste-page,
        .industrial-waste-page,
        .car-page,
        .car-registration-page
    ) .container,
    :is(
        .transport-service-page .ts-container,
        .construction-service-page .cs-container,
        .waste-service-page .ws-container,
        .car-service-page .cr-container,
        .transport-service-page .ts-narrow,
        .construction-service-page .cs-narrow,
        .waste-service-page .ws-narrow,
        .car-service-page .cr-narrow
    ){
        width:calc(100% - 32px) !important;
    }

    :is(
        .transport-page,
        .construction-page,
        .waste-page,
        .industrial-waste-page,
        .car-page,
        .car-registration-page
    ) .sub-hero,
    :is(
        .transport-service-page .ts-hero,
        .construction-service-page .cs-hero,
        .waste-service-page .ws-hero,
        .car-service-page .cr-hero
    ){
        padding:50px 0 46px !important;
    }

    :is(
        .transport-page,
        .construction-page,
        .waste-page,
        .industrial-waste-page,
        .car-page,
        .car-registration-page
    ) .sub-hero__title,
    :is(
        .transport-service-page .ts-hero h1,
        .construction-service-page .cs-hero h1,
        .waste-service-page .ws-hero h1,
        .car-service-page .cr-hero h1
    ){
        font-size:30px !important;
        line-height:1.45 !important;
    }

    :is(
        .transport-page,
        .construction-page,
        .waste-page,
        .industrial-waste-page,
        .car-page,
        .car-registration-page
    ) .sub-hero__image,
    :is(
        .transport-page,
        .construction-page,
        .waste-page,
        .industrial-waste-page,
        .car-page,
        .car-registration-page
    ) :is(.sub-image-placeholder,.sub-hero__photo),
    :is(
        .transport-service-page .ts-photo,
        .construction-service-page .cs-photo,
        .waste-service-page .ws-photo,
        .car-service-page .cr-photo,
        .transport-service-page .ts-placeholder,
        .construction-service-page .cs-placeholder,
        .waste-service-page .ws-placeholder,
        .car-service-page .cr-placeholder
    ){
        min-height:240px !important;
    }

    .transport-mini-cta__inner,
    :is(
        .transport-service-page .ts-mini__inner,
        .construction-service-page .cs-mini__inner,
        .waste-service-page .ws-mini__inner,
        .car-service-page .cr-mini__inner
    ){
        width:calc(100% - 32px) !important;
        min-height:0 !important;
        padding:26px 0 !important;
        flex-direction:column !important;
        align-items:stretch !important;
        gap:18px !important;
        text-align:center !important;
    }

    .transport-mini-cta__buttons,
    :is(
        .transport-service-page .ts-mini__buttons,
        .construction-service-page .cs-mini__buttons,
        .waste-service-page .ws-mini__buttons,
        .car-service-page .cr-mini__buttons
    ){
        display:grid !important;
        grid-template-columns:1fr !important;
        width:100% !important;
    }

    :is(
        .transport-service-page .ts-grid,
        .construction-service-page .cs-grid,
        .waste-service-page .ws-grid,
        .car-service-page .cr-grid,
        .transport-service-page .ts-related,
        .construction-service-page .cs-related,
        .waste-service-page .ws-related,
        .car-service-page .cr-related,
        .transport-service-links__grid,
        .construction-service-links__grid,
        .waste-service-links__grid,
        .car-service-links__grid
    ){
        grid-template-columns:1fr !important;
    }

    :is(
        .transport-service-page .ts-card,
        .construction-service-page .cs-card,
        .waste-service-page .ws-card,
        .car-service-page .cr-card
    ){
        min-height:0 !important;
        padding:24px 20px !important;
    }

    :is(
        .transport-service-page .ts-step,
        .construction-service-page .cs-step,
        .waste-service-page .ws-step,
        .car-service-page .cr-step
    ){
        min-height:76px !important;
        grid-template-columns:88px minmax(0,1fr) !important;
        gap:14px !important;
    }

    :is(
        .transport-service-page .ts-step h3,
        .construction-service-page .cs-step h3,
        .waste-service-page .ws-step h3,
        .car-service-page .cr-step h3
    ){
        font-size:14px !important;
    }

    :is(
        .transport-service-page .ts-price,
        .construction-service-page .cs-price,
        .waste-service-page .ws-price,
        .car-service-page .cr-price
    ){
        flex-direction:column !important;
        align-items:flex-start !important;
        padding:24px 20px !important;
    }

    :is(
        .faq-item summary,
        .transport-faq__item summary,
        .transport-faq-item summary,
        .ts-faq summary,
        .cs-faq summary,
        .ws-faq summary,
        .cr-faq summary
    ){
        min-height:78px !important;
        padding:17px 46px 17px 10px !important;
        gap:10px !important;
        font-size:14px !important;
    }

    :is(
        .faq-item__mark,
        .ts-faq-q,
        .cs-faq-q,
        .ws-faq-q,
        .cr-faq-q,
        .transport-faq-item summary > span:first-child
    ){
        flex-basis:28px !important;
        width:28px !important;
        font-size:20px !important;
    }

    :is(
        .ts-faq-question,
        .cs-faq-question,
        .ws-faq-question,
        .cr-faq-question
    ){
        font-size:14px !important;
    }

    :is(
        .faq-item__answer,
        .transport-faq__item > div,
        .transport-faq-item__answer,
        .ts-answer,
        .cs-answer,
        .ws-answer,
        .cr-answer
    ){
        padding:0 46px 22px 10px !important;
        gap:10px !important;
        font-size:13px !important;
    }

    :is(
        .faq-item__answer-mark,
        .ts-faq-a,
        .cs-faq-a,
        .ws-faq-a,
        .cr-faq-a,
        .transport-faq-item__answer > span:first-child
    ){
        flex-basis:28px !important;
        width:28px !important;
        font-size:19px !important;
    }

    :is(
        .transport-final-cta__buttons,
        .transport-service-page .ts-final .ts-buttons,
        .construction-service-page .cs-final .cs-buttons,
        .waste-service-page .ws-final .ws-buttons,
        .car-service-page .cr-final .cr-buttons
    ){
        width:min(330px,100%) !important;
        margin:24px auto 0 !important;
        display:grid !important;
        grid-template-columns:1fr !important;
    }

    :is(
        .transport-final-cta__buttons a,
        .transport-service-page .ts-final a,
        .construction-service-page .cs-final a,
        .waste-service-page .ws-final a,
        .car-service-page .cr-final a
    ){
        width:100% !important;
        min-width:0 !important;
    }
}

/* =====================================================================
   2026-08-29 全ページデザイン統一 最終レイヤー
   このブロックより前の個別調整は残し、最後に共通デザインで上書きします。
   対象：
   ・運送業 親ページ / 子ページ
   ・建設業 親ページ / 子ページ
   ・産業廃棄物 親ページ / 子ページ
   ・自動車登録 親ページ / 子ページ
   ・その他下層ページの共通パーツ
===================================================================== */

:root{
    --site-navy:#102746;
    --site-deep-navy:#061f42;
    --site-gold:#c5a04d;
    --site-white:#ffffff;
    --site-text:#27364c;
    --site-muted:#667286;
    --site-light:#f5f6f8;
    --site-border:#d9dee6;
    --site-shadow:0 10px 28px rgba(16,39,70,.07);
    --site-content:1180px;
    --site-narrow:880px;
    --site-section-space:80px;
}


/* =====================================================================
   1. 全下層ページ 共通レイアウト
===================================================================== */

:is(
    .transport-page,
    .construction-page,
    .waste-page,
    .industrial-waste-page,
    .car-page,
    .car-registration-page,
    .transport-service-page,
    .construction-service-page,
    .waste-service-page,
    .car-service-page
){
    color:var(--site-text);
    background:var(--site-white);
}

:is(
    .transport-page,
    .construction-page,
    .waste-page,
    .industrial-waste-page,
    .car-page,
    .car-registration-page
) .container,
:is(
    .transport-service-page .ts-container,
    .construction-service-page .cs-container,
    .waste-service-page .ws-container,
    .car-service-page .cr-container
){
    width:min(var(--site-content), calc(100% - 48px)) !important;
    max-width:var(--site-content) !important;
    margin-left:auto !important;
    margin-right:auto !important;
}

:is(
    .transport-service-page .ts-narrow,
    .construction-service-page .cs-narrow,
    .waste-service-page .ws-narrow,
    .car-service-page .cr-narrow
){
    width:min(var(--site-narrow), calc(100% - 48px)) !important;
    max-width:var(--site-narrow) !important;
    margin-left:auto !important;
    margin-right:auto !important;
}

.section-space,
:is(
    .transport-service-page .ts-section,
    .construction-service-page .cs-section,
    .waste-service-page .ws-section,
    .car-service-page .cr-section
){
    padding-top:var(--site-section-space) !important;
    padding-bottom:var(--site-section-space) !important;
}


/* =====================================================================
   2. 見出しデザイン統一
===================================================================== */

:is(
    .section-title,
    .transport-service-page .ts-heading,
    .construction-service-page .cs-heading,
    .waste-service-page .ws-heading,
    .car-service-page .cr-heading
){
    margin-bottom:42px !important;
    text-align:center !important;
}

:is(
    .section-title__en,
    .transport-service-page .ts-kicker,
    .construction-service-page .cs-kicker,
    .waste-service-page .ws-kicker,
    .car-service-page .cr-kicker
){
    margin:0 0 8px !important;
    color:var(--site-gold) !important;
    font-size:12px !important;
    font-weight:700 !important;
    line-height:1.4 !important;
    letter-spacing:.14em !important;
    text-transform:uppercase;
}

:is(
    .section-title h2,
    .transport-service-page .ts-heading h2,
    .construction-service-page .cs-heading h2,
    .waste-service-page .ws-heading h2,
    .car-service-page .cr-heading h2,
    .transport-service-page .ts-intro h2,
    .construction-service-page .cs-intro h2,
    .waste-service-page .ws-intro h2,
    .car-service-page .cr-intro h2
){
    margin:0 !important;
    color:var(--site-navy) !important;
    font-family:"Noto Sans JP","Hiragino Sans","Yu Gothic",sans-serif !important;
    font-size:clamp(28px,3vw,38px) !important;
    font-weight:700 !important;
    line-height:1.5 !important;
    letter-spacing:.01em !important;
}

:is(
    .section-title > p:not(.section-title__en),
    .transport-service-page .ts-heading > p:not(.ts-kicker),
    .construction-service-page .cs-heading > p:not(.cs-kicker),
    .waste-service-page .ws-heading > p:not(.ws-kicker),
    .car-service-page .cr-heading > p:not(.cr-kicker)
){
    max-width:760px;
    margin:14px auto 0 !important;
    color:var(--site-muted) !important;
    font-size:14px !important;
    line-height:1.9 !important;
}


/* =====================================================================
   3. 親ページ FV 統一
===================================================================== */

:is(
    .transport-page,
    .construction-page,
    .waste-page,
    .industrial-waste-page,
    .car-page,
    .car-registration-page
) .sub-hero{
    padding:74px 0 66px !important;
    background:var(--site-navy) !important;
    color:#fff !important;
}

:is(
    .transport-page,
    .construction-page,
    .waste-page,
    .industrial-waste-page,
    .car-page,
    .car-registration-page
) .sub-hero__inner{
    display:grid !important;
    grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr) !important;
    gap:56px !important;
    align-items:center !important;
}

:is(
    .transport-page,
    .construction-page,
    .waste-page,
    .industrial-waste-page,
    .car-page,
    .car-registration-page
) .sub-hero__lead{
    margin:0 0 12px !important;
    color:var(--site-gold) !important;
    font-size:12px !important;
    font-weight:700 !important;
    letter-spacing:.13em !important;
}

:is(
    .transport-page,
    .construction-page,
    .waste-page,
    .industrial-waste-page,
    .car-page,
    .car-registration-page
) .sub-hero__title{
    margin:0 0 22px !important;
    color:#fff !important;
    font-size:clamp(36px,4vw,56px) !important;
    font-weight:700 !important;
    line-height:1.35 !important;
}

:is(
    .transport-page,
    .construction-page,
    .waste-page,
    .industrial-waste-page,
    .car-page,
    .car-registration-page
) .sub-hero__text{
    margin:0 !important;
    color:rgba(255,255,255,.88) !important;
    font-size:15px !important;
    line-height:2 !important;
}

:is(
    .transport-page,
    .construction-page,
    .waste-page,
    .industrial-waste-page,
    .car-page,
    .car-registration-page
) .sub-hero__image{
    min-height:340px !important;
}

:is(
    .transport-page,
    .construction-page,
    .waste-page,
    .industrial-waste-page,
    .car-page,
    .car-registration-page
) :is(.sub-image-placeholder,.sub-hero__photo){
    width:100% !important;
    min-height:340px !important;
    height:100% !important;
    object-fit:cover !important;
}

:is(
    .transport-page,
    .construction-page,
    .waste-page,
    .industrial-waste-page,
    .car-page,
    .car-registration-page
) .sub-image-placeholder{
    display:grid !important;
    place-items:center !important;
    background:rgba(255,255,255,.08) !important;
    border:1px solid rgba(255,255,255,.12) !important;
    color:rgba(255,255,255,.55) !important;
}


/* =====================================================================
   4. 子ページ FV 統一
===================================================================== */

:is(
    .transport-service-page .ts-hero,
    .construction-service-page .cs-hero,
    .waste-service-page .ws-hero,
    .car-service-page .cr-hero
){
    padding:74px 0 66px !important;
    background:linear-gradient(135deg,var(--site-navy),var(--site-deep-navy)) !important;
    color:#fff !important;
}

:is(
    .transport-service-page .ts-hero__inner,
    .construction-service-page .cs-hero__inner,
    .waste-service-page .ws-hero__inner,
    .car-service-page .cr-hero__inner
){
    display:grid !important;
    grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr) !important;
    gap:56px !important;
    align-items:center !important;
}

:is(
    .transport-service-page .ts-hero__label,
    .construction-service-page .cs-hero__label,
    .waste-service-page .ws-hero__label,
    .car-service-page .cr-hero__label
){
    margin:0 0 12px !important;
    color:var(--site-gold) !important;
    font-size:12px !important;
    font-weight:700 !important;
    letter-spacing:.13em !important;
}

:is(
    .transport-service-page .ts-hero h1,
    .construction-service-page .cs-hero h1,
    .waste-service-page .ws-hero h1,
    .car-service-page .cr-hero h1
){
    margin:0 0 22px !important;
    color:#fff !important;
    font-size:clamp(36px,4vw,56px) !important;
    font-weight:700 !important;
    line-height:1.35 !important;
}

:is(
    .transport-service-page .ts-hero__text,
    .construction-service-page .cs-hero__text,
    .waste-service-page .ws-hero__text,
    .car-service-page .cr-hero__text
){
    margin:0 !important;
    color:rgba(255,255,255,.88) !important;
    font-size:15px !important;
    line-height:2 !important;
}

:is(
    .transport-service-page .ts-photo,
    .construction-service-page .cs-photo,
    .waste-service-page .ws-photo,
    .car-service-page .cr-photo,
    .transport-service-page .ts-placeholder,
    .construction-service-page .cs-placeholder,
    .waste-service-page .ws-placeholder,
    .car-service-page .cr-placeholder
){
    width:100% !important;
    min-height:340px !important;
    height:100% !important;
}

:is(
    .transport-service-page .ts-photo,
    .construction-service-page .cs-photo,
    .waste-service-page .ws-photo,
    .car-service-page .cr-photo
){
    object-fit:cover !important;
}

:is(
    .transport-service-page .ts-placeholder,
    .construction-service-page .cs-placeholder,
    .waste-service-page .ws-placeholder,
    .car-service-page .cr-placeholder
){
    display:grid !important;
    place-items:center !important;
    background:rgba(255,255,255,.08) !important;
    border:1px solid rgba(255,255,255,.12) !important;
    color:rgba(255,255,255,.55) !important;
}


/* =====================================================================
   5. FV直下 CTA 統一
===================================================================== */

.transport-mini-cta,
:is(
    .transport-service-page .ts-mini,
    .construction-service-page .cs-mini,
    .waste-service-page .ws-mini,
    .car-service-page .cr-mini
){
    padding:0 !important;
    background:#fff !important;
    border-top:0 !important;
    border-bottom:1px solid var(--site-border) !important;
}

.transport-mini-cta__inner,
:is(
    .transport-service-page .ts-mini__inner,
    .construction-service-page .cs-mini__inner,
    .waste-service-page .ws-mini__inner,
    .car-service-page .cr-mini__inner
){
    width:min(var(--site-content), calc(100% - 48px)) !important;
    max-width:var(--site-content) !important;
    min-height:118px !important;
    margin:0 auto !important;
    padding:24px 0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:40px !important;
}

.transport-mini-cta__inner p,
:is(
    .transport-service-page .ts-mini__inner p,
    .construction-service-page .cs-mini__inner p,
    .waste-service-page .ws-mini__inner p,
    .car-service-page .cr-mini__inner p
){
    margin:0 !important;
    color:var(--site-navy) !important;
    font-size:15px !important;
    line-height:1.8 !important;
}

.transport-mini-cta__buttons,
:is(
    .transport-service-page .ts-mini__buttons,
    .construction-service-page .cs-mini__buttons,
    .waste-service-page .ws-mini__buttons,
    .car-service-page .cr-mini__buttons
){
    display:flex !important;
    align-items:center !important;
    gap:12px !important;
    flex-shrink:0 !important;
}


/* =====================================================================
   6. 共通ボタン
===================================================================== */

:is(
    .btn-main,
    .btn-outline,
    .ts-btn,
    .cs-btn,
    .ws-btn,
    .cr-btn,
    .ts-mini__btn,
    .cs-mini__btn,
    .ws-mini__btn,
    .cr-mini__btn
){
    min-height:54px !important;
    padding:14px 24px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    border-radius:0 !important;
    font-size:14px !important;
    font-weight:700 !important;
    line-height:1.4 !important;
    text-decoration:none !important;
    transition:opacity .2s ease,transform .2s ease !important;
}

:is(
    .ts-btn--main,
    .cs-btn--main,
    .ws-btn--main,
    .cr-btn--main,
    .ts-mini__btn--line,
    .cs-mini__btn--line,
    .ws-mini__btn--line,
    .cr-mini__btn--line
){
    background:var(--site-gold) !important;
    border:1px solid var(--site-gold) !important;
    color:#fff !important;
}

:is(
    .ts-mini__btn--contact,
    .cs-mini__btn--contact,
    .ws-mini__btn--contact,
    .cr-mini__btn--contact
){
    background:var(--site-navy) !important;
    border:1px solid var(--site-navy) !important;
    color:#fff !important;
}

:is(
    .ts-btn,
    .cs-btn,
    .ws-btn,
    .cr-btn,
    .ts-mini__btn,
    .cs-mini__btn,
    .ws-mini__btn,
    .cr-mini__btn
):hover{
    opacity:.88 !important;
    transform:translateY(-2px) !important;
}


/* =====================================================================
   7. セクション背景・本文
===================================================================== */

:is(
    .transport-service-page .ts-section--light,
    .construction-service-page .cs-section--light,
    .waste-service-page .ws-section--light,
    .car-service-page .cr-section--light
){
    background:var(--site-light) !important;
}

:is(
    .transport-service-page .ts-intro p,
    .construction-service-page .cs-intro p,
    .waste-service-page .ws-intro p,
    .car-service-page .cr-intro p
){
    color:var(--site-text) !important;
    font-size:15px !important;
    line-height:2 !important;
}


/* =====================================================================
   8. カードデザイン統一
===================================================================== */

:is(
    .transport-service-page .ts-grid,
    .construction-service-page .cs-grid,
    .waste-service-page .ws-grid,
    .car-service-page .cr-grid
){
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:18px !important;
}

:is(
    .transport-service-page .ts-card,
    .construction-service-page .cs-card,
    .waste-service-page .ws-card,
    .car-service-page .cr-card
){
    min-height:210px !important;
    padding:30px 26px !important;
    background:#fff !important;
    border:1px solid var(--site-border) !important;
    border-radius:0 !important;
    box-shadow:none !important;
}

:is(
    .transport-service-page .ts-card__num,
    .construction-service-page .cs-card__num,
    .waste-service-page .ws-card__num,
    .car-service-page .cr-card__num
){
    display:block !important;
    margin-bottom:12px !important;
    color:var(--site-gold) !important;
    font-size:13px !important;
    font-weight:700 !important;
}

:is(
    .transport-service-page .ts-card h3,
    .construction-service-page .cs-card h3,
    .waste-service-page .ws-card h3,
    .car-service-page .cr-card h3
){
    margin:0 0 12px !important;
    color:var(--site-navy) !important;
    font-size:19px !important;
    font-weight:700 !important;
    line-height:1.55 !important;
}

:is(
    .transport-service-page .ts-card p,
    .construction-service-page .cs-card p,
    .waste-service-page .ws-card p,
    .car-service-page .cr-card p
){
    margin:0 !important;
    color:var(--site-muted) !important;
    font-size:14px !important;
    line-height:1.9 !important;
}


/* =====================================================================
   9. 補足BOX 統一
===================================================================== */

:is(
    .transport-service-page .ts-box,
    .construction-service-page .cs-box,
    .waste-service-page .ws-box,
    .car-service-page .cr-box
){
    padding:28px 30px !important;
    background:#fff !important;
    border:1px solid var(--site-border) !important;
    border-left:3px solid var(--site-gold) !important;
    border-radius:0 !important;
    color:var(--site-text) !important;
    font-size:14px !important;
    line-height:2 !important;
}


/* =====================================================================
   10. FLOW 統一
===================================================================== */

:is(
    .transport-service-page .ts-flow,
    .construction-service-page .cs-flow,
    .waste-service-page .ws-flow,
    .car-service-page .cr-flow
){
    width:100% !important;
    max-width:960px !important;
    margin:0 auto !important;
    border-top:1px solid var(--site-border) !important;
}

:is(
    .transport-service-page .ts-step,
    .construction-service-page .cs-step,
    .waste-service-page .ws-step,
    .car-service-page .cr-step
){
    min-height:92px !important;
    margin:0 !important;
    padding:0 !important;
    display:grid !important;
    grid-template-columns:140px minmax(0,1fr) !important;
    gap:28px !important;
    align-items:center !important;
    background:transparent !important;
    border:0 !important;
    border-bottom:1px solid var(--site-border) !important;
    border-radius:0 !important;
    box-shadow:none !important;
}

:is(
    .transport-service-page .ts-step__num,
    .construction-service-page .cs-step__num,
    .waste-service-page .ws-step__num,
    .car-service-page .cr-step__num
){
    color:var(--site-gold) !important;
    font-size:13px !important;
    font-weight:700 !important;
    letter-spacing:.04em !important;
}

:is(
    .transport-service-page .ts-step h3,
    .construction-service-page .cs-step h3,
    .waste-service-page .ws-step h3,
    .car-service-page .cr-step h3
){
    margin:0 !important;
    color:var(--site-navy) !important;
    font-size:17px !important;
    font-weight:700 !important;
    line-height:1.55 !important;
}

:is(
    .transport-service-page .ts-step p,
    .construction-service-page .cs-step p,
    .waste-service-page .ws-step p,
    .car-service-page .cr-step p
){
    display:none !important;
}


/* =====================================================================
   11. 料金ブロック 統一
===================================================================== */

:is(
    .transport-service-page .ts-price,
    .construction-service-page .cs-price,
    .waste-service-page .ws-price,
    .car-service-page .cr-price
){
    min-height:104px !important;
    padding:26px 30px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:24px !important;
    background:#fff !important;
    border:1px solid var(--site-border) !important;
    border-radius:0 !important;
}

:is(
    .transport-service-page .ts-price h3,
    .construction-service-page .cs-price h3,
    .waste-service-page .ws-price h3,
    .car-service-page .cr-price h3
){
    margin:0 !important;
    color:var(--site-navy) !important;
    font-size:17px !important;
    font-weight:700 !important;
}

:is(
    .transport-service-page .ts-price strong,
    .construction-service-page .cs-price strong,
    .waste-service-page .ws-price strong,
    .car-service-page .cr-price strong
){
    color:var(--site-navy) !important;
    font-size:30px !important;
    font-weight:700 !important;
}


/* =====================================================================
   12. FAQ 完全統一
===================================================================== */

:is(
    .faq__list,
    .transport-faq__list,
    .ts-faq,
    .cs-faq,
    .ws-faq,
    .cr-faq
){
    width:100% !important;
    max-width:1000px !important;
    margin:35px auto 0 !important;
    padding:0 !important;
    background:transparent !important;
    border-top:1px solid var(--site-border) !important;
}

:is(
    .faq-item,
    .transport-faq__item,
    .transport-faq-item,
    .ts-faq details,
    .cs-faq details,
    .ws-faq details,
    .cr-faq details
){
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    background:transparent !important;
    border:0 !important;
    border-bottom:1px solid var(--site-border) !important;
    border-radius:0 !important;
    box-shadow:none !important;
}

:is(
    .faq-item summary,
    .transport-faq__item summary,
    .transport-faq-item summary,
    .ts-faq summary,
    .cs-faq summary,
    .ws-faq summary,
    .cr-faq summary
){
    position:relative !important;
    width:100% !important;
    min-height:96px !important;
    margin:0 !important;
    padding:22px 72px 22px 18px !important;
    display:flex !important;
    align-items:center !important;
    gap:16px !important;
    background:transparent !important;
    border:0 !important;
    color:var(--site-navy) !important;
    font-size:17px !important;
    font-weight:700 !important;
    line-height:1.7 !important;
    list-style:none !important;
    cursor:pointer !important;
}

:is(
    .faq-item summary,
    .transport-faq__item summary,
    .transport-faq-item summary,
    .ts-faq summary,
    .cs-faq summary,
    .ws-faq summary,
    .cr-faq summary
)::-webkit-details-marker{
    display:none !important;
}

:is(
    .faq-item__mark,
    .ts-faq-q,
    .cs-faq-q,
    .ws-faq-q,
    .cr-faq-q,
    .transport-faq-item summary > span:first-child
){
    flex:0 0 34px !important;
    width:34px !important;
    margin:0 !important;
    color:var(--site-gold) !important;
    font-size:24px !important;
    font-weight:700 !important;
    line-height:1 !important;
}

:is(
    .ts-faq-question,
    .cs-faq-question,
    .ws-faq-question,
    .cr-faq-question
){
    flex:1 1 auto !important;
    min-width:0 !important;
    margin:0 !important;
    color:var(--site-navy) !important;
    font-size:17px !important;
    font-weight:700 !important;
    line-height:1.7 !important;
    writing-mode:horizontal-tb !important;
    word-break:normal !important;
}

:is(
    .faq-item summary,
    .transport-faq__item summary,
    .transport-faq-item summary,
    .ts-faq summary,
    .cs-faq summary,
    .ws-faq summary,
    .cr-faq summary
)::after{
    content:"+" !important;
    position:absolute !important;
    top:50% !important;
    right:20px !important;
    transform:translateY(-50%) !important;
    color:var(--site-gold) !important;
    font-size:30px !important;
    font-weight:300 !important;
    line-height:1 !important;
}

:is(
    .faq-item[open] summary,
    .transport-faq__item[open] summary,
    .transport-faq-item[open] summary,
    .ts-faq details[open] summary,
    .cs-faq details[open] summary,
    .ws-faq details[open] summary,
    .cr-faq details[open] summary
)::after{
    content:"−" !important;
}

:is(
    .faq-item__answer,
    .transport-faq__item > div,
    .transport-faq-item__answer,
    .ts-answer,
    .cs-answer,
    .ws-answer,
    .cr-answer
){
    width:100% !important;
    margin:0 !important;
    padding:0 72px 28px 18px !important;
    display:flex !important;
    align-items:flex-start !important;
    gap:16px !important;
    background:transparent !important;
    border:0 !important;
    color:var(--site-muted) !important;
    font-size:14px !important;
    line-height:1.95 !important;
}

:is(
    .faq-item__answer-mark,
    .ts-faq-a,
    .cs-faq-a,
    .ws-faq-a,
    .cr-faq-a,
    .transport-faq-item__answer > span:first-child
){
    flex:0 0 34px !important;
    width:34px !important;
    margin:2px 0 0 !important;
    color:var(--site-gold) !important;
    font-size:22px !important;
    font-weight:700 !important;
    line-height:1 !important;
}

:is(
    .faq-item__answer p,
    .transport-faq-item__answer p,
    .ts-answer p,
    .cs-answer p,
    .ws-answer p,
    .cr-answer p
){
    flex:1 1 auto !important;
    min-width:0 !important;
    margin:0 !important;
    color:var(--site-muted) !important;
    font-size:14px !important;
    line-height:1.95 !important;
}


/* Q/A span がない親ページ用 */
.transport-faq__item summary::before{
    content:"Q" !important;
    flex:0 0 34px !important;
    position:static !important;
    display:block !important;
    transform:none !important;
    color:var(--site-gold) !important;
    font-size:24px !important;
    font-weight:700 !important;
    line-height:1 !important;
}

.transport-faq__item > div::before{
    content:"A" !important;
    flex:0 0 34px !important;
    position:static !important;
    display:block !important;
    color:var(--site-gold) !important;
    font-size:22px !important;
    font-weight:700 !important;
    line-height:1 !important;
}


/* =====================================================================
   13. 関連ページリンク 統一
===================================================================== */

:is(
    .transport-service-page .ts-related,
    .construction-service-page .cs-related,
    .waste-service-page .ws-related,
    .car-service-page .cr-related
){
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:14px !important;
}

:is(
    .transport-service-page .ts-related a,
    .construction-service-page .cs-related a,
    .waste-service-page .ws-related a,
    .car-service-page .cr-related a
){
    min-height:72px !important;
    padding:18px 22px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:16px !important;
    background:#fff !important;
    border:1px solid var(--site-border) !important;
    color:var(--site-navy) !important;
    font-size:14px !important;
    font-weight:700 !important;
    text-decoration:none !important;
}

:is(
    .transport-service-page .ts-related a,
    .construction-service-page .cs-related a,
    .waste-service-page .ws-related a,
    .car-service-page .cr-related a
):hover{
    border-color:var(--site-gold) !important;
    box-shadow:var(--site-shadow) !important;
}


/* =====================================================================
   14. 最終CTA 統一
===================================================================== */

:is(
    .transport-final-cta,
    .transport-service-page .ts-final,
    .construction-service-page .cs-final,
    .waste-service-page .ws-final,
    .car-service-page .cr-final
){
    padding:68px 0 !important;
    background:var(--site-navy) !important;
    color:#fff !important;
    text-align:center !important;
    border:0 !important;
}

:is(
    .transport-final-cta h2,
    .transport-service-page .ts-final h2,
    .construction-service-page .cs-final h2,
    .waste-service-page .ws-final h2,
    .car-service-page .cr-final h2
){
    margin:8px 0 14px !important;
    color:#fff !important;
    font-size:clamp(26px,3vw,36px) !important;
    font-weight:700 !important;
    line-height:1.55 !important;
}

:is(
    .transport-final-cta p,
    .transport-service-page .ts-final p,
    .construction-service-page .cs-final p,
    .waste-service-page .ws-final p,
    .car-service-page .cr-final p
){
    color:rgba(255,255,255,.86) !important;
    font-size:14px !important;
    line-height:1.9 !important;
}

:is(
    .transport-final-cta__buttons,
    .transport-service-page .ts-final .ts-buttons,
    .construction-service-page .cs-final .cs-buttons,
    .waste-service-page .ws-final .ws-buttons,
    .car-service-page .cr-final .cr-buttons
){
    margin-top:28px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:12px !important;
}

:is(
    .transport-final-cta__buttons a,
    .transport-service-page .ts-final a,
    .construction-service-page .cs-final a,
    .waste-service-page .ws-final a,
    .car-service-page .cr-final a
){
    min-width:220px !important;
    min-height:54px !important;
}


/* =====================================================================
   15. 親ページ 手続カード導線 統一
===================================================================== */

:is(
    .transport-service-links,
    .construction-service-links,
    .waste-service-links,
    .car-service-links
){
    background:var(--site-light) !important;
}

:is(
    .transport-service-links__grid,
    .construction-service-links__grid,
    .waste-service-links__grid,
    .car-service-links__grid
){
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:18px !important;
}

:is(
    .transport-service-link-card,
    .construction-service-link-card,
    .waste-service-link-card,
    .car-service-link-card
){
    min-height:200px !important;
    padding:28px 24px !important;
    background:#fff !important;
    border:1px solid var(--site-border) !important;
    color:var(--site-navy) !important;
    border-radius:0 !important;
    box-shadow:none !important;
}

:is(
    .transport-service-link-card,
    .construction-service-link-card,
    .waste-service-link-card,
    .car-service-link-card
):hover{
    transform:translateY(-3px) !important;
    border-color:var(--site-gold) !important;
    box-shadow:var(--site-shadow) !important;
}


/* =====================================================================
   16. PC / Tablet
===================================================================== */

@media(max-width:980px){

    :is(
        .transport-page,
        .construction-page,
        .waste-page,
        .industrial-waste-page,
        .car-page,
        .car-registration-page
    ) .sub-hero__inner,
    :is(
        .transport-service-page .ts-hero__inner,
        .construction-service-page .cs-hero__inner,
        .waste-service-page .ws-hero__inner,
        .car-service-page .cr-hero__inner
    ){
        grid-template-columns:1fr !important;
        gap:34px !important;
    }

    :is(
        .transport-service-page .ts-grid,
        .construction-service-page .cs-grid,
        .waste-service-page .ws-grid,
        .car-service-page .cr-grid
    ){
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }
}


/* =====================================================================
   17. スマホ
===================================================================== */

@media(max-width:767px){

    :root{
        --site-section-space:54px;
    }

    :is(
        .transport-page,
        .construction-page,
        .waste-page,
        .industrial-waste-page,
        .car-page,
        .car-registration-page
    ) .container,
    :is(
        .transport-service-page .ts-container,
        .construction-service-page .cs-container,
        .waste-service-page .ws-container,
        .car-service-page .cr-container,
        .transport-service-page .ts-narrow,
        .construction-service-page .cs-narrow,
        .waste-service-page .ws-narrow,
        .car-service-page .cr-narrow
    ){
        width:calc(100% - 32px) !important;
    }

    :is(
        .transport-page,
        .construction-page,
        .waste-page,
        .industrial-waste-page,
        .car-page,
        .car-registration-page
    ) .sub-hero,
    :is(
        .transport-service-page .ts-hero,
        .construction-service-page .cs-hero,
        .waste-service-page .ws-hero,
        .car-service-page .cr-hero
    ){
        padding:50px 0 46px !important;
    }

    :is(
        .transport-page,
        .construction-page,
        .waste-page,
        .industrial-waste-page,
        .car-page,
        .car-registration-page
    ) .sub-hero__title,
    :is(
        .transport-service-page .ts-hero h1,
        .construction-service-page .cs-hero h1,
        .waste-service-page .ws-hero h1,
        .car-service-page .cr-hero h1
    ){
        font-size:30px !important;
        line-height:1.45 !important;
    }

    :is(
        .transport-page,
        .construction-page,
        .waste-page,
        .industrial-waste-page,
        .car-page,
        .car-registration-page
    ) .sub-hero__image,
    :is(
        .transport-page,
        .construction-page,
        .waste-page,
        .industrial-waste-page,
        .car-page,
        .car-registration-page
    ) :is(.sub-image-placeholder,.sub-hero__photo),
    :is(
        .transport-service-page .ts-photo,
        .construction-service-page .cs-photo,
        .waste-service-page .ws-photo,
        .car-service-page .cr-photo,
        .transport-service-page .ts-placeholder,
        .construction-service-page .cs-placeholder,
        .waste-service-page .ws-placeholder,
        .car-service-page .cr-placeholder
    ){
        min-height:240px !important;
    }

    .transport-mini-cta__inner,
    :is(
        .transport-service-page .ts-mini__inner,
        .construction-service-page .cs-mini__inner,
        .waste-service-page .ws-mini__inner,
        .car-service-page .cr-mini__inner
    ){
        width:calc(100% - 32px) !important;
        min-height:0 !important;
        padding:26px 0 !important;
        flex-direction:column !important;
        align-items:stretch !important;
        gap:18px !important;
        text-align:center !important;
    }

    .transport-mini-cta__buttons,
    :is(
        .transport-service-page .ts-mini__buttons,
        .construction-service-page .cs-mini__buttons,
        .waste-service-page .ws-mini__buttons,
        .car-service-page .cr-mini__buttons
    ){
        display:grid !important;
        grid-template-columns:1fr !important;
        width:100% !important;
    }

    :is(
        .transport-service-page .ts-grid,
        .construction-service-page .cs-grid,
        .waste-service-page .ws-grid,
        .car-service-page .cr-grid,
        .transport-service-page .ts-related,
        .construction-service-page .cs-related,
        .waste-service-page .ws-related,
        .car-service-page .cr-related,
        .transport-service-links__grid,
        .construction-service-links__grid,
        .waste-service-links__grid,
        .car-service-links__grid
    ){
        grid-template-columns:1fr !important;
    }

    :is(
        .transport-service-page .ts-card,
        .construction-service-page .cs-card,
        .waste-service-page .ws-card,
        .car-service-page .cr-card
    ){
        min-height:0 !important;
        padding:24px 20px !important;
    }

    :is(
        .transport-service-page .ts-step,
        .construction-service-page .cs-step,
        .waste-service-page .ws-step,
        .car-service-page .cr-step
    ){
        min-height:76px !important;
        grid-template-columns:88px minmax(0,1fr) !important;
        gap:14px !important;
    }

    :is(
        .transport-service-page .ts-step h3,
        .construction-service-page .cs-step h3,
        .waste-service-page .ws-step h3,
        .car-service-page .cr-step h3
    ){
        font-size:14px !important;
    }

    :is(
        .transport-service-page .ts-price,
        .construction-service-page .cs-price,
        .waste-service-page .ws-price,
        .car-service-page .cr-price
    ){
        flex-direction:column !important;
        align-items:flex-start !important;
        padding:24px 20px !important;
    }

    :is(
        .faq-item summary,
        .transport-faq__item summary,
        .transport-faq-item summary,
        .ts-faq summary,
        .cs-faq summary,
        .ws-faq summary,
        .cr-faq summary
    ){
        min-height:78px !important;
        padding:17px 46px 17px 10px !important;
        gap:10px !important;
        font-size:14px !important;
    }

    :is(
        .faq-item__mark,
        .ts-faq-q,
        .cs-faq-q,
        .ws-faq-q,
        .cr-faq-q,
        .transport-faq-item summary > span:first-child
    ){
        flex-basis:28px !important;
        width:28px !important;
        font-size:20px !important;
    }

    :is(
        .ts-faq-question,
        .cs-faq-question,
        .ws-faq-question,
        .cr-faq-question
    ){
        font-size:14px !important;
    }

    :is(
        .faq-item__answer,
        .transport-faq__item > div,
        .transport-faq-item__answer,
        .ts-answer,
        .cs-answer,
        .ws-answer,
        .cr-answer
    ){
        padding:0 46px 22px 10px !important;
        gap:10px !important;
        font-size:13px !important;
    }

    :is(
        .faq-item__answer-mark,
        .ts-faq-a,
        .cs-faq-a,
        .ws-faq-a,
        .cr-faq-a,
        .transport-faq-item__answer > span:first-child
    ){
        flex-basis:28px !important;
        width:28px !important;
        font-size:19px !important;
    }

    :is(
        .transport-final-cta__buttons,
        .transport-service-page .ts-final .ts-buttons,
        .construction-service-page .cs-final .cs-buttons,
        .waste-service-page .ws-final .ws-buttons,
        .car-service-page .cr-final .cr-buttons
    ){
        width:min(330px,100%) !important;
        margin:24px auto 0 !important;
        display:grid !important;
        grid-template-columns:1fr !important;
    }

    :is(
        .transport-final-cta__buttons a,
        .transport-service-page .ts-final a,
        .construction-service-page .cs-final a,
        .waste-service-page .ws-final a,
        .car-service-page .cr-final a
    ){
        width:100% !important;
        min-width:0 !important;
    }
}
/* ============================================================
   松井法務行政書士事務所
   全子ページをTOPページと同じデザイントーンへ統一
   2026-08-29
   ------------------------------------------------------------
   対象
   ・運送業子ページ        .transport-service-page / .transport-new-page
   ・建設業子ページ        .construction-service-page
   ・産廃子ページ          .waste-service-page
   ・自動車登録子ページ    .car-service-page

   ★ style.css の一番最後に追加してください
============================================================ */

:root{
    --child-navy:#172844;
    --child-deep:#0d213d;
    --child-gold:#b49355;
    --child-white:#ffffff;
    --child-bg:#f4f6f8;
    --child-border:#dfe3e8;
    --child-text:#3d4858;
    --child-muted:#697485;
    --child-max:1180px;
    --child-narrow:900px;
}

/* ============================================================
   01 基本
============================================================ */

:is(
    .transport-service-page,
    .transport-new-page,
    .construction-service-page,
    .waste-service-page,
    .car-service-page
){
    width:100% !important;
    max-width:100% !important;
    overflow-x:hidden !important;
    background:#fff !important;
    color:var(--child-text) !important;
    font-family:"Noto Sans JP","Hiragino Sans","Yu Gothic",sans-serif !important;
}

/* 通常幅 */
:is(
    .transport-service-page .container:not(.narrow),
    .transport-new-page .container:not(.transport-new-narrow),
    .construction-service-page .cs-container,
    .waste-service-page .ws-container,
    .car-service-page .cr-container
){
    width:min(var(--child-max),calc(100% - 48px)) !important;
    max-width:var(--child-max) !important;
    margin-left:auto !important;
    margin-right:auto !important;
}

/* 狭い本文幅 */
:is(
    .transport-service-page .container.narrow,
    .transport-new-page .transport-new-narrow,
    .construction-service-page .cs-narrow,
    .waste-service-page .ws-narrow,
    .car-service-page .cr-narrow
){
    width:min(var(--child-narrow),calc(100% - 48px)) !important;
    max-width:var(--child-narrow) !important;
    margin-left:auto !important;
    margin-right:auto !important;
}


/* ============================================================
   02 FV
   TOPと同様：白背景 / 左文章 / 右画像 / 濃紺見出し
============================================================ */

:is(
    .transport-service-page .ts-hero,
    .transport-new-page .transport-new-hero,
    .construction-service-page .cs-hero,
    .waste-service-page .ws-hero,
    .car-service-page .cr-hero
){
    width:100% !important;
    padding:72px 0 64px !important;
    background:#fff !important;
    color:var(--child-navy) !important;
}

:is(
    .transport-service-page .ts-hero__inner,
    .transport-new-page .transport-new-hero__inner,
    .construction-service-page .cs-hero__inner,
    .waste-service-page .ws-hero__inner,
    .car-service-page .cr-hero__inner
){
    display:grid !important;
    grid-template-columns:minmax(0,1.06fr) minmax(360px,.94fr) !important;
    gap:62px !important;
    align-items:center !important;
}

/* FV小見出し */
:is(
    .transport-service-page .ts-hero__label,
    .transport-new-page .transport-new-hero__label,
    .construction-service-page .cs-hero__label,
    .waste-service-page .ws-hero__label,
    .car-service-page .cr-hero__label
){
    margin:0 0 13px !important;
    color:var(--child-gold) !important;
    font-size:13px !important;
    font-weight:700 !important;
    line-height:1.6 !important;
    letter-spacing:.08em !important;
}

/* FVタイトル */
:is(
    .transport-service-page .ts-hero h1,
    .transport-new-page .transport-new-hero__title,
    .construction-service-page .cs-hero h1,
    .waste-service-page .ws-hero h1,
    .car-service-page .cr-hero h1
){
    margin:0 0 20px !important;
    color:var(--child-navy) !important;
    font-size:clamp(36px,4vw,52px) !important;
    font-weight:700 !important;
    line-height:1.35 !important;
    letter-spacing:0 !important;
}

/* FV本文 */
:is(
    .transport-service-page .ts-hero__text,
    .transport-new-page .transport-new-hero__text,
    .construction-service-page .cs-hero__text,
    .waste-service-page .ws-hero__text,
    .car-service-page .cr-hero__text
){
    margin:0 !important;
    color:var(--child-text) !important;
    font-size:14px !important;
    line-height:1.95 !important;
}

/* FV画像 */
:is(
    .transport-service-page .ts-photo,
    .transport-new-page .transport-new-hero__photo,
    .construction-service-page .cs-photo,
    .waste-service-page .ws-photo,
    .car-service-page .cr-photo
){
    display:block !important;
    width:100% !important;
    height:390px !important;
    object-fit:cover !important;
}

/* 画像未設定 */
:is(
    .transport-service-page .ts-placeholder,
    .transport-new-page .transport-new-image-placeholder,
    .construction-service-page .cs-placeholder,
    .waste-service-page .ws-placeholder,
    .car-service-page .cr-placeholder
){
    width:100% !important;
    height:390px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    background:#eef1f4 !important;
    border:1px solid var(--child-border) !important;
    color:#8993a0 !important;
}

/* バッジ */
:is(
    .transport-service-page .ts-badges,
    .transport-new-page .transport-new-hero__badges,
    .construction-service-page .cs-badges,
    .waste-service-page .ws-badges,
    .car-service-page .cr-badges
){
    display:flex !important;
    flex-wrap:wrap !important;
    gap:8px !important;
    margin:24px 0 0 !important;
}

:is(
    .transport-service-page .ts-badges,
    .transport-new-page .transport-new-hero__badges,
    .construction-service-page .cs-badges,
    .waste-service-page .ws-badges,
    .car-service-page .cr-badges
) span{
    padding:7px 12px !important;
    background:#fff !important;
    border:1px solid var(--child-border) !important;
    color:var(--child-navy) !important;
    font-size:12px !important;
}


/* ============================================================
   03 FV内ボタン
============================================================ */

:is(
    .ts-buttons,
    .transport-new-hero__buttons,
    .cs-buttons,
    .ws-buttons,
    .cr-buttons
){
    display:flex !important;
    flex-wrap:wrap !important;
    gap:12px !important;
    margin-top:24px !important;
}

:is(
    .ts-btn,
    .transport-new-btn,
    .cs-btn,
    .ws-btn,
    .cr-btn
){
    min-height:54px !important;
    padding:14px 24px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    border-radius:0 !important;
    text-decoration:none !important;
    font-size:14px !important;
    font-weight:700 !important;
    transition:.2s ease !important;
}

:is(
    .ts-btn--main,
    .transport-new-btn--line,
    .cs-btn--main,
    .ws-btn--main,
    .cr-btn--main
){
    background:var(--child-gold) !important;
    border:1px solid var(--child-gold) !important;
    color:#fff !important;
}

:is(
    .ts-btn--outline,
    .transport-new-btn--outline,
    .cs-btn--outline,
    .ws-btn--outline,
    .cr-btn--outline
){
    background:#fff !important;
    border:1px solid var(--child-navy) !important;
    color:var(--child-navy) !important;
}

:is(
    .ts-btn,
    .transport-new-btn,
    .cs-btn,
    .ws-btn,
    .cr-btn
):hover{
    opacity:.85 !important;
    transform:translateY(-2px) !important;
}


/* ============================================================
   04 FV直下CTA
   TOPページのhero-ctaと同じ濃紺帯
============================================================ */

:is(
    .transport-service-page .ts-mini,
    .transport-new-page .transport-new-mini-cta,
    .construction-service-page .cs-mini,
    .waste-service-page .ws-mini,
    .car-service-page .cr-mini
){
    width:100% !important;
    padding:0 !important;
    background:var(--child-navy) !important;
    border:0 !important;
}

:is(
    .transport-service-page .ts-mini__inner,
    .transport-new-page .transport-new-mini-cta__inner,
    .construction-service-page .cs-mini__inner,
    .waste-service-page .ws-mini__inner,
    .car-service-page .cr-mini__inner
){
    min-height:90px !important;
    padding:18px 0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:30px !important;
}

:is(
    .transport-service-page .ts-mini__inner p,
    .transport-new-page .transport-new-mini-cta__inner p,
    .construction-service-page .cs-mini__inner p,
    .waste-service-page .ws-mini__inner p,
    .car-service-page .cr-mini__inner p
){
    margin:0 !important;
    color:#fff !important;
    font-size:14px !important;
    line-height:1.8 !important;
}

:is(
    .transport-service-page .ts-mini__inner strong,
    .transport-new-page .transport-new-mini-cta__inner strong,
    .construction-service-page .cs-mini__inner strong,
    .waste-service-page .ws-mini__inner strong,
    .car-service-page .cr-mini__inner strong
){
    color:var(--child-gold) !important;
}

/* mini CTAボタン */
:is(
    .ts-mini__btn,
    .cs-mini__btn,
    .ws-mini__btn,
    .cr-mini__btn,
    .transport-new-mini-cta__inner > a,
    .transport-service-page .ts-mini__inner > a:not([class])
){
    min-height:50px !important;
    padding:12px 20px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    border:1px solid #fff !important;
    background:transparent !important;
    color:#fff !important;
    text-decoration:none !important;
    font-size:13px !important;
    font-weight:700 !important;
}

:is(.ts-mini__btn--line,.cs-mini__btn--line,.ws-mini__btn--line,.cr-mini__btn--line){
    background:var(--child-gold) !important;
    border-color:var(--child-gold) !important;
}


/* ============================================================
   05 セクション
   TOP同様：白 / 薄グレーの交互
============================================================ */

:is(
    .transport-service-page .ts-section,
    .construction-service-page .cs-section,
    .waste-service-page .ws-section,
    .car-service-page .cr-section,
    .transport-new-page .transport-new-intro,
    .transport-new-page .transport-new-worries,
    .transport-new-page .transport-new-requirements,
    .transport-new-page .transport-new-flow,
    .transport-new-page .transport-new-documents,
    .transport-new-page .transport-new-merits,
    .transport-new-page .transport-new-price,
    .transport-new-page .transport-new-area,
    .transport-new-page .transport-new-faq,
    .transport-new-page .transport-new-related
){
    padding:82px 0 !important;
}

/* 明背景 */
:is(
    .transport-service-page .ts-section--light,
    .construction-service-page .cs-section--light,
    .waste-service-page .ws-section--light,
    .car-service-page .cr-section--light,
    .transport-new-page .transport-new-worries,
    .transport-new-page .transport-new-flow,
    .transport-new-page .transport-new-merits,
    .transport-new-page .transport-new-area,
    .transport-new-page .transport-new-related
){
    background:var(--child-bg) !important;
}

/* 白背景 */
:is(
    .transport-service-page .ts-section:not(.ts-section--light),
    .construction-service-page .cs-section:not(.cs-section--light),
    .waste-service-page .ws-section:not(.ws-section--light),
    .car-service-page .cr-section:not(.cr-section--light),
    .transport-new-page .transport-new-intro,
    .transport-new-page .transport-new-requirements,
    .transport-new-page .transport-new-documents,
    .transport-new-page .transport-new-price,
    .transport-new-page .transport-new-faq
){
    background:#fff !important;
}


/* ============================================================
   06 見出し
============================================================ */

:is(
    .ts-heading,
    .cs-heading,
    .ws-heading,
    .cr-heading,
    .transport-new-heading
){
    margin-bottom:42px !important;
    text-align:center !important;
}

:is(
    .ts-kicker,
    .cs-kicker,
    .ws-kicker,
    .cr-kicker,
    .transport-new-kicker
){
    margin:0 0 9px !important;
    color:var(--child-gold) !important;
    font-size:12px !important;
    font-weight:700 !important;
    line-height:1.5 !important;
    letter-spacing:.13em !important;
}

:is(
    .ts-heading h2,
    .cs-heading h2,
    .ws-heading h2,
    .cr-heading h2,
    .transport-new-heading h2
){
    margin:0 !important;
    color:var(--child-navy) !important;
    font-size:clamp(28px,3vw,38px) !important;
    font-weight:700 !important;
    line-height:1.5 !important;
}

/* introだけ左寄せ */
:is(
    .ts-intro,
    .cs-intro,
    .ws-intro,
    .cr-intro,
    .transport-new-intro
){
    text-align:left !important;
}

:is(
    .ts-intro h2,
    .cs-intro h2,
    .ws-intro h2,
    .cr-intro h2,
    .transport-new-intro h2
){
    margin:0 0 20px !important;
    color:var(--child-navy) !important;
    font-size:clamp(28px,3vw,38px) !important;
    line-height:1.55 !important;
}

:is(
    .ts-intro p,
    .cs-intro p,
    .ws-intro p,
    .cr-intro p,
    .transport-new-intro p
){
    color:var(--child-text) !important;
    font-size:15px !important;
    line-height:2 !important;
}


/* ============================================================
   07 カード
   TOPのworry/service cardと同じフラットな白カード
============================================================ */

:is(
    .ts-grid,
    .cs-grid,
    .ws-grid,
    .cr-grid,
    .transport-new-worries__grid,
    .transport-new-requirements__grid,
    .transport-new-merits__grid
){
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:16px !important;
}

:is(
    .ts-card,
    .cs-card,
    .ws-card,
    .cr-card,
    .transport-new-worry-card,
    .transport-new-requirement-card,
    .transport-new-merit-card
){
    padding:28px 24px !important;
    background:#fff !important;
    border:1px solid var(--child-border) !important;
    border-radius:0 !important;
    box-shadow:none !important;
}

:is(
    .ts-card__num,
    .cs-card__num,
    .ws-card__num,
    .cr-card__num,
    .transport-new-worry-card > span,
    .transport-new-requirement-card__number,
    .transport-new-merit-card > span
){
    display:block !important;
    margin-bottom:12px !important;
    color:var(--child-gold) !important;
    font-size:13px !important;
    font-weight:700 !important;
}

:is(
    .ts-card h3,
    .cs-card h3,
    .ws-card h3,
    .cr-card h3,
    .transport-new-requirement-card h3,
    .transport-new-merit-card h3
){
    margin:0 0 12px !important;
    color:var(--child-navy) !important;
    font-size:18px !important;
    font-weight:700 !important;
    line-height:1.55 !important;
}

:is(
    .ts-card p,
    .cs-card p,
    .ws-card p,
    .cr-card p,
    .transport-new-worry-card p,
    .transport-new-requirement-card p,
    .transport-new-merit-card p
){
    margin:0 !important;
    color:var(--child-muted) !important;
    font-size:14px !important;
    line-height:1.9 !important;
}


/* ============================================================
   08 IMPORTANT / SUPPORT / DOCUMENTS
============================================================ */

:is(
    .ts-box,
    .cs-box,
    .ws-box,
    .cr-box,
    .transport-new-documents__box,
    .transport-new-message
){
    padding:30px !important;
    background:#fff !important;
    border:1px solid var(--child-border) !important;
    border-left:3px solid var(--child-gold) !important;
    border-radius:0 !important;
    box-shadow:none !important;
    color:var(--child-text) !important;
    font-size:14px !important;
    line-height:2 !important;
}


/* ============================================================
   09 FLOW
   TOPのご依頼の流れ同様：横罫線＋STEP＋タイトル
============================================================ */

:is(
    .ts-flow,
    .cs-flow,
    .ws-flow,
    .cr-flow,
    .transport-new-flow__list
){
    width:100% !important;
    max-width:980px !important;
    margin:0 auto !important;
    border-top:1px solid var(--child-border) !important;
}

:is(
    .ts-step,
    .cs-step,
    .ws-step,
    .cr-step,
    .transport-new-flow-step
){
    min-height:94px !important;
    display:grid !important;
    grid-template-columns:145px minmax(0,1fr) !important;
    gap:30px !important;
    align-items:center !important;
    margin:0 !important;
    padding:0 !important;
    background:transparent !important;
    border:0 !important;
    border-bottom:1px solid var(--child-border) !important;
    box-shadow:none !important;
}

:is(
    .ts-step__num,
    .cs-step__num,
    .ws-step__num,
    .cr-step__num,
    .transport-new-flow-step__number
){
    color:var(--child-gold) !important;
    font-size:13px !important;
    font-weight:700 !important;
}

:is(
    .ts-step h3,
    .cs-step h3,
    .ws-step h3,
    .cr-step h3,
    .transport-new-flow-step h3
){
    margin:0 !important;
    color:var(--child-navy) !important;
    font-size:17px !important;
    font-weight:700 !important;
    line-height:1.55 !important;
}

/* TOPと同様、流れでは説明文を省略 */
:is(
    .ts-step p,
    .cs-step p,
    .ws-step p,
    .cr-step p,
    .transport-new-flow-step p
){
    display:none !important;
}


/* ============================================================
   10 料金
============================================================ */

:is(
    .ts-price,
    .cs-price,
    .ws-price,
    .cr-price,
    .transport-new-price-card
){
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:24px !important;
    min-height:112px !important;
    padding:28px 30px !important;
    background:#fff !important;
    border-top:1px solid var(--child-border) !important;
    border-bottom:1px solid var(--child-border) !important;
    border-left:0 !important;
    border-right:0 !important;
    box-shadow:none !important;
}

:is(
    .ts-price h3,
    .cs-price h3,
    .ws-price h3,
    .cr-price h3,
    .transport-new-price-card h3
){
    margin:0 !important;
    color:var(--child-navy) !important;
    font-size:17px !important;
    line-height:1.6 !important;
}

:is(
    .ts-price strong,
    .cs-price strong,
    .ws-price strong,
    .cr-price strong,
    .transport-new-price-card strong
){
    color:var(--child-navy) !important;
    font-size:30px !important;
    font-weight:700 !important;
}


/* ============================================================
   11 FAQ
============================================================ */

:is(
    .ts-faq,
    .cs-faq,
    .ws-faq,
    .cr-faq,
    .transport-new-faq__list
){
    width:100% !important;
    max-width:1000px !important;
    margin:0 auto !important;
    border-top:1px solid var(--child-border) !important;
}

:is(
    .ts-faq details,
    .cs-faq details,
    .ws-faq details,
    .cr-faq details,
    .transport-new-faq-item
){
    margin:0 !important;
    padding:0 !important;
    background:transparent !important;
    border:0 !important;
    border-bottom:1px solid var(--child-border) !important;
    border-radius:0 !important;
    box-shadow:none !important;
}

:is(
    .ts-faq summary,
    .cs-faq summary,
    .ws-faq summary,
    .cr-faq summary,
    .transport-new-faq-item summary
){
    position:relative !important;
    min-height:94px !important;
    padding:20px 68px 20px 18px !important;
    display:flex !important;
    align-items:center !important;
    gap:16px !important;
    color:var(--child-navy) !important;
    font-size:16px !important;
    font-weight:700 !important;
    list-style:none !important;
    cursor:pointer !important;
}

:is(
    .ts-faq summary > span:first-child,
    .cs-faq-q,
    .ws-faq-q,
    .cr-faq-q,
    .transport-new-faq-item summary > span:first-child
){
    flex:0 0 34px !important;
    width:34px !important;
    color:var(--child-gold) !important;
    font-size:24px !important;
    font-weight:700 !important;
}

:is(
    .ts-faq summary,
    .cs-faq summary,
    .ws-faq summary,
    .cr-faq summary,
    .transport-new-faq-item summary
)::after{
    content:"+" !important;
    position:absolute !important;
    top:50% !important;
    right:20px !important;
    transform:translateY(-50%) !important;
    color:var(--child-gold) !important;
    font-size:30px !important;
    font-weight:300 !important;
}

:is(
    .ts-faq details[open] summary,
    .cs-faq details[open] summary,
    .ws-faq details[open] summary,
    .cr-faq details[open] summary,
    .transport-new-faq-item[open] summary
)::after{
    content:"−" !important;
}

:is(
    .ts-answer,
    .cs-answer,
    .ws-answer,
    .cr-answer,
    .transport-new-faq-item__answer
){
    display:flex !important;
    align-items:flex-start !important;
    gap:16px !important;
    padding:0 68px 28px 18px !important;
    color:var(--child-muted) !important;
}

:is(
    .ts-answer > span:first-child,
    .cs-faq-a,
    .ws-faq-a,
    .cr-faq-a,
    .transport-new-faq-item__answer > span:first-child
){
    flex:0 0 34px !important;
    width:34px !important;
    color:var(--child-gold) !important;
    font-size:22px !important;
    font-weight:700 !important;
}


/* ============================================================
   12 RELATED
============================================================ */

:is(
    .ts-related,
    .cs-related,
    .ws-related,
    .cr-related,
    .transport-new-related__grid
){
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:14px !important;
}

:is(
    .ts-related a,
    .cs-related a,
    .ws-related a,
    .cr-related a,
    .transport-new-related-card
){
    min-height:76px !important;
    padding:20px 22px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    background:#fff !important;
    border:1px solid var(--child-border) !important;
    color:var(--child-navy) !important;
    font-size:14px !important;
    font-weight:700 !important;
    text-decoration:none !important;
}

:is(
    .ts-related a,
    .cs-related a,
    .ws-related a,
    .cr-related a,
    .transport-new-related-card
):hover{
    border-color:var(--child-gold) !important;
}


/* ============================================================
   13 最終CTA
   TOP同様：濃紺背景＋白文字＋ゴールドCTA
============================================================ */

:is(
    .ts-final,
    .cs-final,
    .ws-final,
    .cr-final,
    .transport-new-final-cta
){
    padding:70px 0 !important;
    background:var(--child-navy) !important;
    color:#fff !important;
    text-align:center !important;
}

:is(
    .ts-final h2,
    .cs-final h2,
    .ws-final h2,
    .cr-final h2,
    .transport-new-final-cta h2
){
    margin:8px 0 14px !important;
    color:#fff !important;
    font-size:clamp(26px,3vw,36px) !important;
    line-height:1.55 !important;
}

:is(
    .ts-final p,
    .cs-final p,
    .ws-final p,
    .cr-final p,
    .transport-new-final-cta p
){
    color:rgba(255,255,255,.86) !important;
    font-size:14px !important;
    line-height:1.9 !important;
}


/* ============================================================
   14 TABLET
============================================================ */

@media(max-width:980px){

    :is(
        .transport-service-page .ts-hero__inner,
        .transport-new-page .transport-new-hero__inner,
        .construction-service-page .cs-hero__inner,
        .waste-service-page .ws-hero__inner,
        .car-service-page .cr-hero__inner
    ){
        grid-template-columns:1fr !important;
        gap:34px !important;
    }

    :is(
        .ts-grid,
        .cs-grid,
        .ws-grid,
        .cr-grid,
        .transport-new-worries__grid,
        .transport-new-requirements__grid,
        .transport-new-merits__grid
    ){
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }
}


/* ============================================================
   15 MOBILE
============================================================ */

@media(max-width:767px){

    :is(
        .transport-service-page .container:not(.narrow),
        .transport-service-page .container.narrow,
        .transport-new-page .container,
        .construction-service-page .cs-container,
        .construction-service-page .cs-narrow,
        .waste-service-page .ws-container,
        .waste-service-page .ws-narrow,
        .car-service-page .cr-container,
        .car-service-page .cr-narrow
    ){
        width:calc(100% - 36px) !important;
    }

    :is(
        .transport-service-page .ts-hero,
        .transport-new-page .transport-new-hero,
        .construction-service-page .cs-hero,
        .waste-service-page .ws-hero,
        .car-service-page .cr-hero
    ){
        padding:48px 0 42px !important;
    }

    :is(
        .transport-service-page .ts-hero h1,
        .transport-new-page .transport-new-hero__title,
        .construction-service-page .cs-hero h1,
        .waste-service-page .ws-hero h1,
        .car-service-page .cr-hero h1
    ){
        font-size:32px !important;
        line-height:1.4 !important;
    }

    :is(
        .ts-photo,
        .transport-new-hero__photo,
        .cs-photo,
        .ws-photo,
        .cr-photo,
        .ts-placeholder,
        .transport-new-image-placeholder,
        .cs-placeholder,
        .ws-placeholder,
        .cr-placeholder
    ){
        height:260px !important;
        min-height:260px !important;
    }

    :is(
        .transport-service-page .ts-mini__inner,
        .transport-new-page .transport-new-mini-cta__inner,
        .construction-service-page .cs-mini__inner,
        .waste-service-page .ws-mini__inner,
        .car-service-page .cr-mini__inner
    ){
        padding:24px 0 !important;
        flex-direction:column !important;
        align-items:stretch !important;
        text-align:center !important;
    }

    :is(
        .ts-section,
        .cs-section,
        .ws-section,
        .cr-section,
        .transport-new-intro,
        .transport-new-worries,
        .transport-new-requirements,
        .transport-new-flow,
        .transport-new-documents,
        .transport-new-merits,
        .transport-new-price,
        .transport-new-area,
        .transport-new-faq,
        .transport-new-related
    ){
        padding:54px 0 !important;
    }

    :is(
        .ts-grid,
        .cs-grid,
        .ws-grid,
        .cr-grid,
        .transport-new-worries__grid,
        .transport-new-requirements__grid,
        .transport-new-merits__grid,
        .ts-related,
        .cs-related,
        .ws-related,
        .cr-related,
        .transport-new-related__grid
    ){
        grid-template-columns:1fr !important;
    }

    :is(
        .ts-step,
        .cs-step,
        .ws-step,
        .cr-step,
        .transport-new-flow-step
    ){
        min-height:76px !important;
        grid-template-columns:88px minmax(0,1fr) !important;
        gap:14px !important;
    }

    :is(
        .ts-price,
        .cs-price,
        .ws-price,
        .cr-price,
        .transport-new-price-card
    ){
        flex-direction:column !important;
        align-items:flex-start !important;
        padding:22px 18px !important;
    }

    :is(
        .ts-faq summary,
        .cs-faq summary,
        .ws-faq summary,
        .cr-faq summary,
        .transport-new-faq-item summary
    ){
        min-height:76px !important;
        padding:16px 46px 16px 10px !important;
        gap:10px !important;
        font-size:14px !important;
    }

    :is(
        .ts-answer,
        .cs-answer,
        .ws-answer,
        .cr-answer,
        .transport-new-faq-item__answer
    ){
        padding:0 46px 22px 10px !important;
        gap:10px !important;
    }

    :is(
        .ts-final .ts-buttons,
        .cs-final .cs-buttons,
        .ws-final .ws-buttons,
        .cr-final .cr-buttons,
        .transport-new-final-cta__buttons
    ){
        width:min(330px,100%) !important;
        margin:24px auto 0 !important;
        display:grid !important;
        grid-template-columns:1fr !important;
    }
}


/* ============================================================
   FINAL CONSOLIDATED CHILD-PAGE STYLES
   松井法務行政書士事務所
   2026-08-29

   目的
   - 現在の完成画面を維持
   - 運送業 / 建設業 / 産廃 / 自動車 の子ページを共通化
   - PC / タブレット / スマホの余白・FLOW・FAQ・RELATEDを統一
   - 既存の重複CSSが残っていても、この最終ブロックを最優先
============================================================ */

:root{
    --final-navy:#082d5c;
    --final-deep:#061f42;
    --final-gold:#c5a253;
    --final-white:#ffffff;
    --final-text:#17243a;
    --final-light:#f7f8fa;
    --final-border:#d9dee7;
    --final-muted:#5e6670;
    --final-max:1180px;
    --final-narrow:900px;
}

/* ============================================================
   01. 対象ページ共通
============================================================ */

:is(
    .transport-service-page,
    .transport-new-page,
    .construction-service-page,
    .waste-service-page,
    .car-service-page
){
    width:100%;
    max-width:100%;
    overflow-x:hidden;
    color:var(--final-text);
    background:var(--final-white);
}

/* 横幅 */
:is(
    .transport-service-page .container,
    .transport-new-page .container,
    .construction-service-page .cs-container,
    .waste-service-page .ws-container,
    .car-service-page .cr-container
){
    width:min(var(--final-max), calc(100% - 40px)) !important;
    max-width:var(--final-max) !important;
    margin-left:auto !important;
    margin-right:auto !important;
}

:is(
    .transport-service-page .container.narrow,
    .transport-new-page .transport-new-narrow,
    .construction-service-page .cs-narrow,
    .waste-service-page .ws-narrow,
    .car-service-page .cr-narrow
){
    width:min(var(--final-narrow), calc(100% - 40px)) !important;
    max-width:var(--final-narrow) !important;
    margin-left:auto !important;
    margin-right:auto !important;
}

/* ============================================================
   02. FV
============================================================ */

:is(
    .transport-service-page .ts-hero,
    .transport-new-page .transport-new-hero,
    .construction-service-page .cs-hero,
    .waste-service-page .ws-hero,
    .car-service-page .cr-hero
){
    padding:64px 0 54px !important;
    background:#fff !important;
}

:is(
    .transport-service-page .ts-hero__inner,
    .transport-new-page .transport-new-hero__inner,
    .construction-service-page .cs-hero__inner,
    .waste-service-page .ws-hero__inner,
    .car-service-page .cr-hero__inner
){
    display:grid !important;
    grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr) !important;
    align-items:center !important;
    gap:64px !important;
}

:is(
    .transport-service-page .ts-hero__label,
    .transport-new-page .transport-new-hero__label,
    .construction-service-page .cs-hero__label,
    .waste-service-page .ws-hero__label,
    .car-service-page .cr-hero__label
){
    margin:0 0 10px !important;
    color:var(--final-gold) !important;
    font-size:13px !important;
    font-weight:700 !important;
    line-height:1.6 !important;
    letter-spacing:.08em !important;
}

:is(
    .transport-service-page .ts-hero h1,
    .transport-new-page .transport-new-hero__title,
    .construction-service-page .cs-hero h1,
    .waste-service-page .ws-hero h1,
    .car-service-page .cr-hero h1
){
    margin:0 0 18px !important;
    color:var(--final-deep) !important;
    font-size:clamp(36px,4vw,52px) !important;
    line-height:1.34 !important;
    font-weight:700 !important;
}

:is(
    .transport-service-page .ts-hero__text,
    .transport-new-page .transport-new-hero__text,
    .construction-service-page .cs-hero__text,
    .waste-service-page .ws-hero__text,
    .car-service-page .cr-hero__text
){
    margin:0 !important;
    color:var(--final-text) !important;
    font-size:14px !important;
    line-height:1.95 !important;
}

:is(
    .transport-service-page .ts-photo,
    .transport-new-page .transport-new-hero__photo,
    .construction-service-page .cs-photo,
    .waste-service-page .ws-photo,
    .car-service-page .cr-photo,
    .transport-service-page .ts-placeholder,
    .transport-new-page .transport-new-image-placeholder,
    .construction-service-page .cs-placeholder,
    .waste-service-page .ws-placeholder,
    .car-service-page .cr-placeholder
){
    width:100% !important;
    height:390px !important;
    min-height:390px !important;
    object-fit:cover !important;
}

/* ============================================================
   03. FV直下CTA
============================================================ */

:is(
    .transport-service-page .ts-mini,
    .transport-new-page .transport-new-mini-cta,
    .construction-service-page .cs-mini,
    .waste-service-page .ws-mini,
    .car-service-page .cr-mini
){
    padding:0 !important;
    background:var(--final-deep) !important;
    border:0 !important;
}

:is(
    .transport-service-page .ts-mini__inner,
    .transport-new-page .transport-new-mini-cta__inner,
    .construction-service-page .cs-mini__inner,
    .waste-service-page .ws-mini__inner,
    .car-service-page .cr-mini__inner
){
    min-height:78px !important;
    padding:16px 0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:24px !important;
}

:is(
    .transport-service-page .ts-mini__inner p,
    .transport-new-page .transport-new-mini-cta__inner p,
    .construction-service-page .cs-mini__inner p,
    .waste-service-page .ws-mini__inner p,
    .car-service-page .cr-mini__inner p
){
    margin:0 !important;
    color:#fff !important;
    font-size:13px !important;
    line-height:1.8 !important;
}

:is(
    .transport-service-page .ts-mini__inner strong,
    .transport-new-page .transport-new-mini-cta__inner strong,
    .construction-service-page .cs-mini__inner strong,
    .waste-service-page .ws-mini__inner strong,
    .car-service-page .cr-mini__inner strong
){
    color:var(--final-gold) !important;
}

/* ============================================================
   04. セクション余白
============================================================ */

:is(
    .transport-service-page .ts-section,
    .construction-service-page .cs-section,
    .waste-service-page .ws-section,
    .car-service-page .cr-section,
    .transport-new-page .transport-new-intro,
    .transport-new-page .transport-new-worries,
    .transport-new-page .transport-new-requirements,
    .transport-new-page .transport-new-flow,
    .transport-new-page .transport-new-documents,
    .transport-new-page .transport-new-merits,
    .transport-new-page .transport-new-price,
    .transport-new-page .transport-new-area,
    .transport-new-page .transport-new-faq,
    .transport-new-page .transport-new-related
){
    padding-top:78px !important;
    padding-bottom:78px !important;
}

/* ============================================================
   05. 見出し
============================================================ */

:is(
    .ts-heading,
    .cs-heading,
    .ws-heading,
    .cr-heading,
    .transport-new-heading
){
    margin-bottom:36px !important;
    text-align:center !important;
}

:is(
    .ts-kicker,
    .cs-kicker,
    .ws-kicker,
    .cr-kicker,
    .transport-new-kicker
){
    margin:0 0 8px !important;
    color:var(--final-gold) !important;
    font-size:12px !important;
    font-weight:700 !important;
    letter-spacing:.12em !important;
}

:is(
    .ts-heading h2,
    .cs-heading h2,
    .ws-heading h2,
    .cr-heading h2,
    .transport-new-heading h2
){
    margin:0 !important;
    color:var(--final-deep) !important;
    font-size:clamp(28px,3vw,38px) !important;
    line-height:1.5 !important;
}

/* ============================================================
   06. カード
============================================================ */

:is(
    .ts-grid,
    .cs-grid,
    .ws-grid,
    .cr-grid,
    .transport-new-worries__grid,
    .transport-new-requirements__grid,
    .transport-new-merits__grid
){
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:16px !important;
}

:is(
    .ts-card,
    .cs-card,
    .ws-card,
    .cr-card,
    .transport-new-worry-card,
    .transport-new-requirement-card,
    .transport-new-merit-card
){
    min-height:0 !important;
    padding:26px 22px !important;
    background:#fff !important;
    border:1px solid var(--final-border) !important;
    border-radius:0 !important;
    box-shadow:none !important;
}

/* ============================================================
   07. FLOW
   - STEP01欠落対策
   - 全子ページ共通
============================================================ */

:is(
    .ts-flow,
    .cs-flow,
    .ws-flow,
    .cr-flow,
    .transport-new-flow__list
){
    width:100% !important;
    max-width:900px !important;
    margin:0 auto !important;
    border-top:1px solid var(--final-border) !important;
}

:is(
    .ts-step,
    .cs-step,
    .ws-step,
    .cr-step,
    .transport-new-flow-step
){
    display:grid !important;
    visibility:visible !important;
    opacity:1 !important;
    grid-template-columns:140px minmax(0,1fr) !important;
    align-items:center !important;
    gap:24px !important;
    width:100% !important;
    min-height:86px !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-bottom:1px solid var(--final-border) !important;
    background:transparent !important;
    box-shadow:none !important;
}

/* STEP01も必ず表示 */
:is(
    .ts-flow > .ts-step:first-child,
    .cs-flow > .cs-step:first-child,
    .ws-flow > .ws-step:first-child,
    .cr-flow > .cr-step:first-child,
    .transport-new-flow__list > .transport-new-flow-step:first-child
){
    display:grid !important;
    visibility:visible !important;
    opacity:1 !important;
    min-height:86px !important;
    border-top:0 !important;
    border-bottom:1px solid var(--final-border) !important;
}

:is(
    .ts-step__num,
    .cs-step__num,
    .ws-step__num,
    .cr-step__num,
    .transport-new-flow-step__number
){
    position:static !important;
    display:block !important;
    margin:0 !important;
    padding:0 !important;
    color:var(--final-gold) !important;
    background:transparent !important;
    font-size:12px !important;
    font-weight:700 !important;
    letter-spacing:.04em !important;
    white-space:nowrap !important;
}

:is(
    .ts-step__num,
    .cs-step__num,
    .ws-step__num,
    .cr-step__num,
    .transport-new-flow-step__number
)::before,
:is(
    .ts-step__num,
    .cs-step__num,
    .ws-step__num,
    .cr-step__num,
    .transport-new-flow-step__number
)::after{
    content:none !important;
    display:none !important;
}

:is(
    .ts-step h3,
    .cs-step h3,
    .ws-step h3,
    .cr-step h3,
    .transport-new-flow-step h3
){
    margin:0 !important;
    padding:0 !important;
    color:var(--final-deep) !important;
    font-size:16px !important;
    font-weight:700 !important;
    line-height:1.55 !important;
}

:is(
    .ts-step p,
    .cs-step p,
    .ws-step p,
    .cr-step p,
    .transport-new-flow-step p
){
    display:none !important;
}

/* ============================================================
   08. 料金
============================================================ */

:is(
    .ts-price,
    .cs-price,
    .ws-price,
    .cr-price,
    .transport-new-price-card
){
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:24px !important;
    min-height:96px !important;
    padding:24px 28px !important;
    background:#fff !important;
    border:1px solid var(--final-border) !important;
    border-radius:0 !important;
    box-shadow:none !important;
}

/* ============================================================
   09. FAQ
============================================================ */

:is(
    .ts-faq,
    .cs-faq,
    .ws-faq,
    .cr-faq,
    .transport-new-faq__list
){
    width:100% !important;
    max-width:900px !important;
    margin:0 auto !important;
    border-top:1px solid var(--final-border) !important;
}

:is(
    .ts-faq details,
    .cs-faq details,
    .ws-faq details,
    .cr-faq details,
    .transport-new-faq-item
){
    margin:0 !important;
    padding:0 !important;
    background:transparent !important;
    border:0 !important;
    border-bottom:1px solid var(--final-border) !important;
    border-radius:0 !important;
    box-shadow:none !important;
}

:is(
    .ts-faq summary,
    .cs-faq summary,
    .ws-faq summary,
    .cr-faq summary,
    .transport-new-faq-item summary
){
    position:relative !important;
    min-height:82px !important;
    padding:18px 56px 18px 12px !important;
    display:flex !important;
    align-items:center !important;
    gap:14px !important;
    color:var(--final-deep) !important;
    font-size:15px !important;
    font-weight:700 !important;
    line-height:1.7 !important;
    list-style:none !important;
    cursor:pointer !important;
}

:is(
    .ts-faq summary,
    .cs-faq summary,
    .ws-faq summary,
    .cr-faq summary,
    .transport-new-faq-item summary
)::-webkit-details-marker{
    display:none !important;
}

:is(
    .ts-faq summary,
    .cs-faq summary,
    .ws-faq summary,
    .cr-faq summary,
    .transport-new-faq-item summary
)::after{
    content:"+" !important;
    position:absolute !important;
    right:14px !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    color:var(--final-gold) !important;
    font-size:26px !important;
    line-height:1 !important;
    font-weight:300 !important;
}

:is(
    .ts-faq details[open] summary,
    .cs-faq details[open] summary,
    .ws-faq details[open] summary,
    .cr-faq details[open] summary,
    .transport-new-faq-item[open] summary
)::after{
    content:"−" !important;
}

/* ============================================================
   10. RELATED
============================================================ */

:is(
    .ts-related,
    .cs-related,
    .ws-related,
    .cr-related,
    .transport-new-related__grid
){
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:12px !important;
}

:is(
    .ts-related a,
    .cs-related a,
    .ws-related a,
    .cr-related a,
    .transport-new-related-card
){
    min-height:68px !important;
    padding:18px 20px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    background:#fff !important;
    border:1px solid var(--final-border) !important;
    color:var(--final-deep) !important;
    font-size:14px !important;
    font-weight:700 !important;
    text-decoration:none !important;
    transition:border-color .2s ease, transform .2s ease !important;
}

:is(
    .ts-related a,
    .cs-related a,
    .ws-related a,
    .cr-related a,
    .transport-new-related-card
):hover{
    border-color:var(--final-gold) !important;
    transform:translateY(-1px) !important;
}

/* ============================================================
   11. 最終CTA
============================================================ */

:is(
    .ts-final,
    .cs-final,
    .ws-final,
    .cr-final,
    .transport-new-final-cta
){
    padding:68px 0 !important;
    background:var(--final-deep) !important;
    color:#fff !important;
    text-align:center !important;
}

:is(
    .ts-final h2,
    .cs-final h2,
    .ws-final h2,
    .cr-final h2,
    .transport-new-final-cta h2
){
    margin:8px 0 14px !important;
    color:#fff !important;
    font-size:clamp(27px,3vw,38px) !important;
    line-height:1.5 !important;
}

/* ============================================================
   12. TABLET
============================================================ */

@media (max-width: 980px){

    :is(
        .transport-service-page .ts-hero__inner,
        .transport-new-page .transport-new-hero__inner,
        .construction-service-page .cs-hero__inner,
        .waste-service-page .ws-hero__inner,
        .car-service-page .cr-hero__inner
    ){
        grid-template-columns:1fr !important;
        gap:32px !important;
    }

    :is(
        .ts-grid,
        .cs-grid,
        .ws-grid,
        .cr-grid,
        .transport-new-worries__grid,
        .transport-new-requirements__grid,
        .transport-new-merits__grid
    ){
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }
}

/* ============================================================
   13. SMARTPHONE
============================================================ */

@media (max-width: 767px){

    :is(
        .transport-service-page .container,
        .transport-new-page .container,
        .construction-service-page .cs-container,
        .construction-service-page .cs-narrow,
        .waste-service-page .ws-container,
        .waste-service-page .ws-narrow,
        .car-service-page .cr-container,
        .car-service-page .cr-narrow
    ){
        width:calc(100% - 32px) !important;
        max-width:none !important;
    }

    /* FV */
    :is(
        .transport-service-page .ts-hero,
        .transport-new-page .transport-new-hero,
        .construction-service-page .cs-hero,
        .waste-service-page .ws-hero,
        .car-service-page .cr-hero
    ){
        padding:38px 0 34px !important;
    }

    :is(
        .transport-service-page .ts-hero__inner,
        .transport-new-page .transport-new-hero__inner,
        .construction-service-page .cs-hero__inner,
        .waste-service-page .ws-hero__inner,
        .car-service-page .cr-hero__inner
    ){
        grid-template-columns:1fr !important;
        gap:24px !important;
    }

    :is(
        .transport-service-page .ts-hero h1,
        .transport-new-page .transport-new-hero__title,
        .construction-service-page .cs-hero h1,
        .waste-service-page .ws-hero h1,
        .car-service-page .cr-hero h1
    ){
        font-size:30px !important;
        line-height:1.38 !important;
    }

    :is(
        .transport-service-page .ts-hero__text,
        .transport-new-page .transport-new-hero__text,
        .construction-service-page .cs-hero__text,
        .waste-service-page .ws-hero__text,
        .car-service-page .cr-hero__text
    ){
        font-size:13px !important;
        line-height:1.9 !important;
    }

    :is(
        .transport-service-page .ts-photo,
        .transport-new-page .transport-new-hero__photo,
        .construction-service-page .cs-photo,
        .waste-service-page .ws-photo,
        .car-service-page .cr-photo,
        .transport-service-page .ts-placeholder,
        .transport-new-page .transport-new-image-placeholder,
        .construction-service-page .cs-placeholder,
        .waste-service-page .ws-placeholder,
        .car-service-page .cr-placeholder
    ){
        height:240px !important;
        min-height:240px !important;
    }

    /* FV直下CTA */
    :is(
        .transport-service-page .ts-mini__inner,
        .transport-new-page .transport-new-mini-cta__inner,
        .construction-service-page .cs-mini__inner,
        .waste-service-page .ws-mini__inner,
        .car-service-page .cr-mini__inner
    ){
        min-height:0 !important;
        padding:20px 0 !important;
        flex-direction:column !important;
        align-items:stretch !important;
        gap:12px !important;
        text-align:center !important;
    }

    :is(
        .ts-mini__buttons,
        .cs-mini__buttons,
        .ws-mini__buttons,
        .cr-mini__buttons
    ){
        width:100% !important;
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:8px !important;
    }

    :is(
        .ts-mini__btn,
        .cs-mini__btn,
        .ws-mini__btn,
        .cr-mini__btn,
        .transport-new-mini-cta__inner > a
    ){
        width:100% !important;
        min-width:0 !important;
    }

    /* セクション */
    :is(
        .transport-service-page .ts-section,
        .construction-service-page .cs-section,
        .waste-service-page .ws-section,
        .car-service-page .cr-section,
        .transport-new-page .transport-new-intro,
        .transport-new-page .transport-new-worries,
        .transport-new-page .transport-new-requirements,
        .transport-new-page .transport-new-flow,
        .transport-new-page .transport-new-documents,
        .transport-new-page .transport-new-merits,
        .transport-new-page .transport-new-price,
        .transport-new-page .transport-new-area,
        .transport-new-page .transport-new-faq,
        .transport-new-page .transport-new-related
    ){
        padding-top:50px !important;
        padding-bottom:50px !important;
    }

    :is(
        .ts-heading,
        .cs-heading,
        .ws-heading,
        .cr-heading,
        .transport-new-heading
    ){
        margin-bottom:28px !important;
    }

    :is(
        .ts-heading h2,
        .cs-heading h2,
        .ws-heading h2,
        .cr-heading h2,
        .transport-new-heading h2
    ){
        font-size:25px !important;
        line-height:1.5 !important;
    }

    /* カード */
    :is(
        .ts-grid,
        .cs-grid,
        .ws-grid,
        .cr-grid,
        .transport-new-worries__grid,
        .transport-new-requirements__grid,
        .transport-new-merits__grid
    ){
        grid-template-columns:1fr !important;
        gap:10px !important;
    }

    :is(
        .ts-card,
        .cs-card,
        .ws-card,
        .cr-card,
        .transport-new-worry-card,
        .transport-new-requirement-card,
        .transport-new-merit-card
    ){
        padding:20px 18px !important;
    }

    /* FLOW */
    :is(
        .ts-flow,
        .cs-flow,
        .ws-flow,
        .cr-flow,
        .transport-new-flow__list
    ){
        width:100% !important;
        max-width:100% !important;
    }

    :is(
        .ts-step,
        .cs-step,
        .ws-step,
        .cr-step,
        .transport-new-flow-step,
        .ts-flow > .ts-step:first-child,
        .cs-flow > .cs-step:first-child,
        .ws-flow > .ws-step:first-child,
        .cr-flow > .cr-step:first-child,
        .transport-new-flow__list > .transport-new-flow-step:first-child
    ){
        grid-template-columns:76px minmax(0,1fr) !important;
        min-height:64px !important;
        gap:10px !important;
        padding:0 !important;
    }

    :is(
        .ts-step__num,
        .cs-step__num,
        .ws-step__num,
        .cr-step__num,
        .transport-new-flow-step__number
    ){
        font-size:10px !important;
    }

    :is(
        .ts-step h3,
        .cs-step h3,
        .ws-step h3,
        .cr-step h3,
        .transport-new-flow-step h3
    ){
        font-size:14px !important;
        line-height:1.45 !important;
    }

    /* 料金 */
    :is(
        .ts-price,
        .cs-price,
        .ws-price,
        .cr-price,
        .transport-new-price-card
    ){
        min-height:0 !important;
        padding:20px 18px !important;
        flex-direction:column !important;
        align-items:flex-start !important;
        gap:10px !important;
    }

    /* FAQ */
    :is(
        .ts-faq summary,
        .cs-faq summary,
        .ws-faq summary,
        .cr-faq summary,
        .transport-new-faq-item summary
    ){
        min-height:68px !important;
        padding:15px 42px 15px 8px !important;
        gap:8px !important;
        font-size:13px !important;
        line-height:1.6 !important;
    }

    :is(
        .ts-faq summary,
        .cs-faq summary,
        .ws-faq summary,
        .cr-faq summary,
        .transport-new-faq-item summary
    )::after{
        right:8px !important;
        font-size:22px !important;
    }

    :is(
        .ts-answer,
        .cs-answer,
        .ws-answer,
        .cr-answer,
        .transport-new-faq-item__answer
    ){
        padding:0 42px 18px 8px !important;
        gap:8px !important;
        font-size:13px !important;
        line-height:1.8 !important;
    }

    /* RELATED */
    :is(
        .ts-related,
        .cs-related,
        .ws-related,
        .cr-related,
        .transport-new-related__grid
    ){
        grid-template-columns:1fr !important;
        gap:8px !important;
    }

    :is(
        .ts-related a,
        .cs-related a,
        .ws-related a,
        .cr-related a,
        .transport-new-related-card
    ){
        min-height:58px !important;
        padding:15px 16px !important;
        font-size:13px !important;
    }

    /* 最終CTA */
    :is(
        .ts-final,
        .cs-final,
        .ws-final,
        .cr-final,
        .transport-new-final-cta
    ){
        padding:48px 0 !important;
    }

    :is(
        .ts-final h2,
        .cs-final h2,
        .ws-final h2,
        .cr-final h2,
        .transport-new-final-cta h2
    ){
        font-size:24px !important;
        line-height:1.5 !important;
    }

    :is(
        .ts-final .ts-buttons,
        .cs-final .cs-buttons,
        .ws-final .ws-buttons,
        .cr-final .cr-buttons,
        .transport-new-final-cta__buttons
    ){
        width:100% !important;
        max-width:330px !important;
        margin:22px auto 0 !important;
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:8px !important;
    }
}


/* ============================================================
   FINAL ADJUSTMENT
   子ページ「WORRIES」カード：TOPページ基準に統一
   - 本文は太字
   - カードの高さ・余白をTOPページに近づける
   - PCは3列／タブレット・スマホは2列
   - WORRIES以外のCHECK POINTカード等には影響させない
============================================================ */

/* WORRIESグリッド：カード幅がTOPページに近くなるよう最大幅を調整 */
:is(
    .transport-service-page .ts-worries .ts-grid,
    .transport-new-page .transport-new-worries__grid,
    .construction-service-page .cs-worries .cs-grid,
    .waste-service-page .ws-worries .ws-grid,
    .car-service-page .cr-worries .cr-grid
){
    width:100% !important;
    max-width:900px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:14px !important;
    align-items:stretch !important;
}

/* WORRIESカード本体：TOPページ .worry-card を基準 */
:is(
    .transport-service-page .ts-worries .ts-card,
    .transport-new-page .transport-new-worry-card,
    .construction-service-page .cs-worries .cs-card,
    .waste-service-page .ws-worries .ws-card,
    .car-service-page .cr-worries .cr-card
){
    min-height:145px !important;
    height:auto !important;
    padding:22px 15px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    background:#fff !important;
    border:1px solid var(--border) !important;
    border-radius:4px !important;
    box-shadow:none !important;
}

/* 番号 */
:is(
    .transport-service-page .ts-worries .ts-card__num,
    .transport-new-page .transport-new-worry-card > span:first-child,
    .construction-service-page .cs-worries .cs-card__num,
    .waste-service-page .ws-worries .ws-card__num,
    .car-service-page .cr-worries .cr-card__num
){
    display:block !important;
    margin:0 0 9px !important;
    color:var(--gold) !important;
    font-size:12px !important;
    font-weight:700 !important;
    line-height:1.2 !important;
    letter-spacing:.08em !important;
}

/* WORRIES本文：TOPページ同様に太字 */
:is(
    .transport-service-page .ts-worries .ts-card h3,
    .transport-service-page .ts-worries .ts-card p,
    .transport-new-page .transport-new-worry-card h3,
    .transport-new-page .transport-new-worry-card p,
    .construction-service-page .cs-worries .cs-card h3,
    .construction-service-page .cs-worries .cs-card p,
    .waste-service-page .ws-worries .ws-card h3,
    .waste-service-page .ws-worries .ws-card p,
    .car-service-page .cr-worries .cr-card h3,
    .car-service-page .cr-worries .cr-card p
){
    margin:0 !important;
    color:var(--deep-navy) !important;
    font-size:14px !important;
    font-weight:700 !important;
    line-height:1.7 !important;
    text-align:center !important;
}

/* h3＋説明文の構成になっている場合は説明文だけ少し間隔を空ける */
:is(
    .transport-service-page .ts-worries .ts-card h3,
    .transport-new-page .transport-new-worry-card h3,
    .construction-service-page .cs-worries .cs-card h3,
    .waste-service-page .ws-worries .ws-card h3,
    .car-service-page .cr-worries .cr-card h3
) + p{
    margin-top:6px !important;
    font-weight:700 !important;
}

/* タブレット：TOPページに近い2列 */
@media (max-width:900px){
    :is(
        .transport-service-page .ts-worries .ts-grid,
        .transport-new-page .transport-new-worries__grid,
        .construction-service-page .cs-worries .cs-grid,
        .waste-service-page .ws-worries .ws-grid,
        .car-service-page .cr-worries .cr-grid
    ){
        max-width:620px !important;
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        gap:10px !important;
    }
}

/* スマホ：TOPページと同じ2列・コンパクトサイズ */
@media (max-width:767px){
    :is(
        .transport-service-page .ts-worries .ts-grid,
        .transport-new-page .transport-new-worries__grid,
        .construction-service-page .cs-worries .cs-grid,
        .waste-service-page .ws-worries .ws-grid,
        .car-service-page .cr-worries .cr-grid
    ){
        max-width:none !important;
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        gap:10px !important;
    }

    :is(
        .transport-service-page .ts-worries .ts-card,
        .transport-new-page .transport-new-worry-card,
        .construction-service-page .cs-worries .cs-card,
        .waste-service-page .ws-worries .ws-card,
        .car-service-page .cr-worries .cr-card
    ){
        min-height:130px !important;
        padding:18px 10px !important;
    }

    :is(
        .transport-service-page .ts-worries .ts-card__num,
        .transport-new-page .transport-new-worry-card > span:first-child,
        .construction-service-page .cs-worries .cs-card__num,
        .waste-service-page .ws-worries .ws-card__num,
        .car-service-page .cr-worries .cr-card__num
    ){
        margin-bottom:7px !important;
        font-size:10px !important;
    }

    :is(
        .transport-service-page .ts-worries .ts-card h3,
        .transport-service-page .ts-worries .ts-card p,
        .transport-new-page .transport-new-worry-card h3,
        .transport-new-page .transport-new-worry-card p,
        .construction-service-page .cs-worries .cs-card h3,
        .construction-service-page .cs-worries .cs-card p,
        .waste-service-page .ws-worries .ws-card h3,
        .waste-service-page .ws-worries .ws-card p,
        .car-service-page .cr-worries .cr-card h3,
        .car-service-page .cr-worries .cr-card p
    ){
        font-size:13px !important;
        font-weight:700 !important;
        line-height:1.6 !important;
    }
}

/* =========================================================
   ヘッダー
   ロゴマーク ＋ 松井法務行政書士事務所
   ========================================================= */

.site-branding {
    display: flex;
    align-items: center;
    flex-shrink: 0;
}

.site-branding__link {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    text-decoration: none;
    color: var(--deep-navy);
}

.site-branding__logo {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.site-branding__logo-image {
    display: block;
    width: auto;
    height: 58px;
    max-width: 90px;
    object-fit: contain;
}

.site-branding__name {
    display: block;
    color: var(--deep-navy);
    font-size: 20px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0.04em;
    white-space: nowrap;
}


/* ヘッダー全体の高さを整える */

.header-top {
    padding: 12px 0;
}

.header-top__inner {
    min-height: 62px;
}


/* =========================================================
   タブレット
   ========================================================= */

@media (max-width: 1000px) {

    .site-branding__logo-image {
        height: 50px;
        max-width: 78px;
    }

    .site-branding__name {
        font-size: 17px;
    }

}


/* =========================================================
   スマホ
   ========================================================= */

@media (max-width: 767px) {

    .header-top {
        padding: 8px 0;
    }

    .header-top__inner {
        min-height: 52px;
    }

    .site-branding {
        min-width: 0;
    }

    .site-branding__link {
        gap: 8px;
        min-width: 0;
    }

    .site-branding__logo-image {
        width: auto;
        height: 42px;
        max-width: 60px;
    }

    .site-branding__name {
        font-size: 14px;
        font-weight: 700;
        line-height: 1.35;
        letter-spacing: 0;
        white-space: nowrap;
    }

}


/* かなり幅の狭いスマホ */

@media (max-width: 390px) {

    .site-branding__link {
        gap: 6px;
    }

    .site-branding__logo-image {
        height: 37px;
        max-width: 52px;
    }

    .site-branding__name {
        font-size: 12px;
    }

}
/* =========================================================
   全ページ共通アニメーション
   style.css の一番最後に追加
========================================================= */

.js-fade-up,
.js-fade-left,
.js-fade-right,
.js-fade-in {
    opacity: 0;
    will-change: opacity, transform;
    transition:
        opacity 0.75s cubic-bezier(.22, .61, .36, 1),
        transform 0.75s cubic-bezier(.22, .61, .36, 1);
}

.js-fade-up { transform: translateY(34px); }
.js-fade-left { transform: translateX(-42px); }
.js-fade-right { transform: translateX(42px); }
.js-fade-in { transform: none; }

.js-fade-up.is-visible,
.js-fade-left.is-visible,
.js-fade-right.is-visible,
.js-fade-in.is-visible,
.js-fade-up.is-show,
.js-fade-left.is-show,
.js-fade-right.is-show,
.js-fade-in.is-show {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

.js-delay-1 { transition-delay: 0.05s; }
.js-delay-2 { transition-delay: 0.12s; }
.js-delay-3 { transition-delay: 0.19s; }
.js-delay-4 { transition-delay: 0.26s; }
.js-delay-5 { transition-delay: 0.33s; }
.js-delay-6 { transition-delay: 0.40s; }

main [class*="hero"] .js-fade-left,
main [class*="hero"] .js-fade-right,
.hero .js-fade-left,
.hero .js-fade-right,
.fv .js-fade-left,
.fv .js-fade-right {
    transition-duration: 0.9s;
}

@media screen and (max-width: 767px) {
    .js-fade-up { transform: translateY(22px); }
    .js-fade-left { transform: translateX(-18px); }
    .js-fade-right { transform: translateX(18px); }

    .js-fade-up,
    .js-fade-left,
    .js-fade-right,
    .js-fade-in {
        transition-duration: 0.65s;
    }

    .js-delay-1 { transition-delay: 0.03s; }
    .js-delay-2 { transition-delay: 0.08s; }
    .js-delay-3 { transition-delay: 0.13s; }
    .js-delay-4 { transition-delay: 0.18s; }
    .js-delay-5 { transition-delay: 0.23s; }
    .js-delay-6 { transition-delay: 0.28s; }
}

@media (prefers-reduced-motion: reduce) {
    .js-fade-up,
    .js-fade-left,
    .js-fade-right,
    .js-fade-in {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
}
/* =========================================================
   FOOTER 最終調整
========================================================= */

.site-footer {
    overflow: hidden;
}

.site-footer__inner {
    display: grid !important;

    grid-template-columns:
        minmax(240px, 1.25fr)
        minmax(190px, .9fr)
        minmax(160px, .75fr)
        minmax(180px, .8fr)
        minmax(280px, 1.25fr);

    grid-template-areas:
        "office services guide qr consultation"
        "support support support support support";

    column-gap: 42px;
    row-gap: 60px;

    align-items: start;

    width: min(1500px, calc(100% - 60px));
    max-width: 1500px;
    margin: 0 auto;
}


/* =========================================================
   各ブロック配置
========================================================= */

.footer-office {
    grid-area: office;
    min-width: 0;
}

.footer-services {
    grid-area: services;
    min-width: 0;
}

.footer-guide {
    grid-area: guide;
    min-width: 0;
}

.footer-qr {
    grid-area: qr;
    min-width: 0;
}

.footer-consultation {
    grid-area: consultation;
    min-width: 0;
}

.footer-support {
    grid-area: support;

    width: 100%;
    min-width: 0;

    padding-top: 42px;

    border-top: 1px solid rgba(255, 255, 255, .14);
}


/* =========================================================
   取扱業務
========================================================= */

.footer-services a {
    display: block;

    margin-top: 12px;

    line-height: 1.75;
}

.footer-services a:first-of-type {
    margin-top: 0;
}


/* =========================================================
   サポート内容
========================================================= */

.footer-support > h3 {
    margin-bottom: 28px;
}

.footer-support__grid {
    display: grid;

    grid-template-columns: repeat(4, minmax(0, 1fr));

    gap: 42px;
}


/* 各業務 */

.footer-support__group {
    min-width: 0;
}


/* 業務名 */

.footer-support__title {
    margin: 0 0 18px;

    color: #c5a253;

    font-size: 18px;
    font-weight: 700;

    line-height: 1.5;
}


/* 各手続 */

.footer-support__group a {
    display: block;

    margin-top: 9px;

    color: rgba(255, 255, 255, .82);

    font-size: 14px;

    line-height: 1.75;

    transition:
        color .2s ease,
        transform .2s ease;
}

.footer-support__group a:first-of-type {
    margin-top: 0;
}


/* hover */

@media (hover: hover) {

    .footer-support__group a:hover,
    .footer-services a:hover,
    .footer-guide a:hover {
        color: #c5a253;
    }

    .footer-support__group a:hover {
        transform: translateX(3px);
    }

}


/* =========================================================
   QR
========================================================= */

.footer-qr {
    text-align: center;
}

.footer-qr__image,
.footer-qr__box {
    width: 150px;
    height: 150px;

    max-width: 100%;

    margin-left: auto;
    margin-right: auto;

    object-fit: contain;
}

.footer-qr__lead {
    max-width: 170px;

    margin-left: auto;
    margin-right: auto;

    font-size: 12px;
    line-height: 1.6;
}


/* =========================================================
   初回相談
========================================================= */

.footer-consultation {
    width: 100%;
}

.footer-consultation__lead {
    font-size: clamp(20px, 1.6vw, 28px);
}


/* =========================================================
   1300px以下
========================================================= */

@media (max-width: 1300px) {

    .site-footer__inner {

        grid-template-columns:
            minmax(230px, 1.2fr)
            minmax(180px, .9fr)
            minmax(150px, .75fr)
            minmax(150px, .7fr)
            minmax(240px, 1.2fr);

        column-gap: 26px;

        width: min(1180px, calc(100% - 40px));
    }

    .footer-qr__image,
    .footer-qr__box {
        width: 130px;
        height: 130px;
    }

}


/* =========================================================
   タブレット
========================================================= */

@media (max-width: 1050px) {

    .site-footer__inner {

        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        grid-template-areas:
            "office consultation"
            "services guide"
            "qr qr"
            "support support";

        gap: 44px 36px;

        width: min(100% - 40px, 900px);
    }


    .footer-qr {
        width: 100%;
    }


    .footer-support__grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap: 38px 40px;
    }

}


/* =========================================================
   スマホ
========================================================= */

@media (max-width: 767px) {

    .site-footer__inner {

        display: grid !important;

        grid-template-columns: 1fr;

        grid-template-areas:
            "office"
            "services"
            "guide"
            "support"
            "qr"
            "consultation";

        gap: 42px;

        width: min(100% - 30px, 600px);
    }


    .footer-support {
        padding-top: 34px;
    }


    .footer-support__grid {

        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap: 34px 22px;
    }


    .footer-support__title {
        margin-bottom: 14px;

        font-size: 16px;
    }


    .footer-support__group a {
        margin-top: 8px;

        font-size: 13px;
    }


    .footer-qr__image,
    .footer-qr__box {
        width: 145px;
        height: 145px;
    }

}


/* =========================================================
   小さいスマホ
========================================================= */

@media (max-width: 480px) {

    .footer-support__grid {
        grid-template-columns: 1fr;

        gap: 32px;
    }

}
/* =========================================================
   FOOTER サポート内容 微調整
========================================================= */

.footer-support {
    padding-top: 34px;
}

.footer-support > h3 {
    margin-bottom: 22px;
}

.footer-support__grid {
    gap: 36px;
}

.footer-support__title {
    margin-bottom: 14px;
}

.footer-support__group a {
    margin-top: 7px;
    line-height: 1.65;
}


/* 運送業だけ縦に長くなりすぎないよう少し詰める */
.footer-support__group:first-child a {
    margin-top: 6px;
}


/* PCで下段全体を少しコンパクトに */
@media (min-width: 1051px) {

    .footer-support__grid {
        align-items: start;
    }

    .footer-support__group {
        padding-right: 10px;
    }

}
/* =========================================================
   フッター サポート内容
   業務名の文字サイズ調整
========================================================= */

.footer-support__title {
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.5 !important;
    margin-bottom: 12px !important;
}


/* スマホ */
@media (max-width: 767px) {

    .footer-support__title {
        font-size: 14px !important;
    }

}
/* =========================================================
   フッター
   2段目の業務見出しを1段目と同じサイズに統一
========================================================= */

.footer-support__title {
    margin: 0 0 12px !important;

    color: #c5a253 !important;

    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.6 !important;
}


/* スマホも同じサイズ感 */
@media (max-width: 767px) {

    .footer-support__title {
        font-size: 13px !important;
    }

}
/* =========================================================
   フッター見出しサイズ統一
========================================================= */

.site-footer .footer-column > h3,
.site-footer .footer-support > h3,
.site-footer .footer-support__title {
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.6 !important;
    color: #c5a253 !important;
}

/* 2段目の業務名だけ余白調整 */
.site-footer .footer-support__title {
    margin: 0 0 12px !important;
}
/* =========================================================
   フッター
   1段目・2段目のリンク文字サイズを完全統一
========================================================= */

/* 1段目：取扱業務・事務所案内
   2段目：サポート内容の各手続 */
.site-footer .footer-services a,
.site-footer .footer-guide a,
.site-footer .footer-support__group a {
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;
}


/* 2段目リンクの上下間隔 */
.site-footer .footer-support__group a {
    margin-top: 9px !important;
}


/* スマホ */
@media (max-width: 767px) {

    .site-footer .footer-services a,
    .site-footer .footer-guide a,
    .site-footer .footer-support__group a {
        font-size: 14px !important;
    }

}
/* =========================================================
   運送業 新規許可ページ
   カードデザイン最終調整
========================================================= */


/* =========================================================
   1. WORRIES
   「こんなお悩みはありませんか？」
========================================================= */

.transport-new-page .transport-new-worries__grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 14px !important;

    max-width: 920px;
    margin-left: auto;
    margin-right: auto;
}

.transport-new-page .transport-new-worry-card {
    min-height: 145px !important;
    height: auto !important;

    padding: 22px 20px !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;

    text-align: center !important;

    background: #ffffff !important;
    border: 1px solid #e2e5e9 !important;
    border-radius: 4px !important;

    box-shadow: none !important;
}


/* WORRIES番号 */

.transport-new-page .transport-new-worry-card > span:first-child {
    display: block !important;

    margin: 0 0 10px !important;

    color: #b49355 !important;

    font-size: 12px !important;
    font-weight: 700 !important;

    line-height: 1.2 !important;
    letter-spacing: .08em !important;
}


/* WORRIES本文 */

.transport-new-page .transport-new-worry-card h3,
.transport-new-page .transport-new-worry-card p {
    margin: 0 !important;

    color: #172844 !important;

    font-size: 14px !important;
    font-weight: 700 !important;

    line-height: 1.7 !important;
}


/* h3の後に説明文がある場合 */

.transport-new-page .transport-new-worry-card h3 + p {
    margin-top: 7px !important;

    font-size: 13px !important;
    font-weight: 600 !important;
}


/* =========================================================
   2. 新規許可で確認する主なポイント
========================================================= */

.transport-new-page .transport-new-requirements__grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;

    gap: 16px !important;

    align-items: stretch !important;
}

.transport-new-page .transport-new-requirement-card {
    min-height: 185px !important;

    padding: 26px 24px !important;

    background: #ffffff !important;

    border: 1px solid #e2e5e9 !important;
    border-top: 2px solid #b49355 !important;

    border-radius: 0 !important;

    box-shadow: none !important;
}


/* 番号 */

.transport-new-page
.transport-new-requirement-card__number {
    display: block !important;

    margin: 0 0 12px !important;

    color: #b49355 !important;

    font-size: 12px !important;
    font-weight: 700 !important;

    letter-spacing: .08em !important;
}


/* タイトル */

.transport-new-page
.transport-new-requirement-card h3 {
    margin: 0 0 10px !important;

    color: #172844 !important;

    font-size: 17px !important;
    font-weight: 700 !important;

    line-height: 1.55 !important;
}


/* 説明 */

.transport-new-page
.transport-new-requirement-card p {
    margin: 0 !important;

    color: #505b6d !important;

    font-size: 13px !important;

    line-height: 1.8 !important;
}


/* =========================================================
   3. 行政書士に依頼するメリット
========================================================= */

.transport-new-page .transport-new-merits__grid {
    display: grid !important;

    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;

    gap: 16px !important;

    align-items: stretch !important;
}

.transport-new-page .transport-new-merit-card {
    min-height: 165px !important;

    padding: 26px 24px !important;

    background: #ffffff !important;

    border: 1px solid #e2e5e9 !important;

    border-radius: 0 !important;

    box-shadow: none !important;
}


/* 番号 */

.transport-new-page
.transport-new-merit-card > span:first-child {
    display: block !important;

    margin: 0 0 12px !important;

    color: #b49355 !important;

    font-size: 12px !important;
    font-weight: 700 !important;

    letter-spacing: .08em !important;
}


/* タイトル */

.transport-new-page
.transport-new-merit-card h3 {
    margin: 0 0 10px !important;

    color: #172844 !important;

    font-size: 16px !important;
    font-weight: 700 !important;

    line-height: 1.55 !important;
}


/* 本文 */

.transport-new-page
.transport-new-merit-card p {
    margin: 0 !important;

    color: #505b6d !important;

    font-size: 13px !important;

    line-height: 1.8 !important;
}


/* =========================================================
   タブレット
========================================================= */

@media (max-width: 900px) {

    .transport-new-page .transport-new-worries__grid,
    .transport-new-page .transport-new-requirements__grid,
    .transport-new-page .transport-new-merits__grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;
    }

}


/* =========================================================
   スマホ
========================================================= */

@media (max-width: 767px) {

    /* WORRIESはTOPページ同様2列 */

    .transport-new-page .transport-new-worries__grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;

        gap: 10px !important;
    }


    .transport-new-page .transport-new-worry-card {
        min-height: 130px !important;

        padding: 18px 12px !important;
    }


    .transport-new-page .transport-new-worry-card h3,
    .transport-new-page .transport-new-worry-card p {
        font-size: 13px !important;
    }


    /* 確認ポイント・メリットは1列 */

    .transport-new-page .transport-new-requirements__grid,
    .transport-new-page .transport-new-merits__grid {
        grid-template-columns: 1fr !important;

        gap: 12px !important;
    }


    .transport-new-page .transport-new-requirement-card,
    .transport-new-page .transport-new-merit-card {
        min-height: 0 !important;

        padding: 22px 20px !important;
    }


    .transport-new-page
    .transport-new-requirement-card h3 {
        font-size: 16px !important;
    }


    .transport-new-page
    .transport-new-merit-card h3 {
        font-size: 16px !important;
    }

}

/* =========================================================
   増車・減車手続ページ
   スマホ表示 最終調整
   対象：page-transport-vehicle-change.php
   PCには影響しません
   style.css の一番最後に追加
========================================================= */

@media screen and (max-width: 767px) {

    /* ---------------------------------------------------------
       0. ページ全体
    --------------------------------------------------------- */
    .transport-service-page {
        overflow-x: hidden !important;
    }

    .transport-service-page .container,
    .transport-service-page .container.narrow {
        width: calc(100% - 32px) !important;
        max-width: none !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }


    /* ---------------------------------------------------------
       1. FV
    --------------------------------------------------------- */
    .transport-service-page .ts-hero {
        padding: 36px 0 24px !important;
    }

    .transport-service-page .ts-hero__inner {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 24px !important;
        align-items: stretch !important;
    }

    .transport-service-page .ts-hero__label {
        margin: 0 0 8px !important;
        font-size: 12px !important;
        line-height: 1.5 !important;
        letter-spacing: .08em !important;
    }

    .transport-service-page .ts-hero h1 {
        margin: 0 0 16px !important;
        font-size: clamp(26px, 8vw, 34px) !important;
        line-height: 1.45 !important;
        letter-spacing: 0 !important;
    }

    .transport-service-page .ts-hero__text {
        margin: 0 !important;
        font-size: 14px !important;
        line-height: 1.9 !important;
    }

    .transport-service-page .ts-badges {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 7px !important;
        margin-top: 16px !important;
    }

    .transport-service-page .ts-badges span {
        padding: 7px 10px !important;
        font-size: 11px !important;
        line-height: 1.4 !important;
    }

    .transport-service-page .ts-buttons {
        width: 100% !important;
        margin-top: 18px !important;
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 9px !important;
    }

    .transport-service-page .ts-btn {
        width: 100% !important;
        min-width: 0 !important;
        min-height: 50px !important;
        padding: 12px 16px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
        font-size: 13px !important;
        line-height: 1.5 !important;
    }

    /* FV写真 */
    .transport-service-page .ts-hero__image {
        width: 100% !important;
        min-height: 0 !important;
        height: auto !important;
        aspect-ratio: 16 / 10 !important;
        overflow: hidden !important;
        background: #f2f4f7 !important;
    }

    .transport-service-page .ts-hero__image .ts-photo {
        width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
        max-height: none !important;
        object-fit: cover !important;
        object-position: center !important;
        display: block !important;
    }

    .transport-service-page .ts-placeholder {
        width: 100% !important;
        height: 100% !important;
        min-height: 220px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 20px !important;
        text-align: center !important;
        font-size: 12px !important;
    }


    /* ---------------------------------------------------------
       2. FV直下ミニCTA
    --------------------------------------------------------- */
    .transport-service-page .ts-mini {
        padding: 14px 0 !important;
    }

    .transport-service-page .ts-mini__inner {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 8px !important;
        text-align: center !important;
    }

    .transport-service-page .ts-mini__inner p {
        margin: 0 !important;
        font-size: 12px !important;
        line-height: 1.7 !important;
    }

    .transport-service-page .ts-mini__inner a {
        display: inline-flex !important;
        justify-content: center !important;
        margin: 0 !important;
        font-size: 12px !important;
        font-weight: 700 !important;
    }


    /* ---------------------------------------------------------
       3. 共通セクション
    --------------------------------------------------------- */
    .transport-service-page .ts-section {
        padding: 48px 0 !important;
    }

    .transport-service-page .ts-section .ts-kicker {
        margin-bottom: 7px !important;
        font-size: 10px !important;
        letter-spacing: .15em !important;
    }

    .transport-service-page .ts-heading {
        margin-bottom: 24px !important;
    }

    .transport-service-page .ts-heading h2,
    .transport-service-page .ts-intro h2 {
        margin-top: 0 !important;
        margin-bottom: 12px !important;
        font-size: 23px !important;
        line-height: 1.55 !important;
    }

    .transport-service-page .ts-heading > p:not(.ts-kicker),
    .transport-service-page .ts-intro p:not(.ts-kicker) {
        font-size: 13px !important;
        line-height: 1.9 !important;
    }


    /* ---------------------------------------------------------
       4. WORRIES / CHECK POINT カード
    --------------------------------------------------------- */
    .transport-service-page .ts-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }

    .transport-service-page .ts-card {
        min-height: 0 !important;
        padding: 20px 18px !important;
    }

    .transport-service-page .ts-card__num {
        display: block !important;
        margin-bottom: 8px !important;
        font-size: 12px !important;
    }

    .transport-service-page .ts-card h3 {
        margin: 0 0 7px !important;
        font-size: 16px !important;
        line-height: 1.55 !important;
    }

    .transport-service-page .ts-card p {
        margin: 0 !important;
        font-size: 13px !important;
        line-height: 1.8 !important;
    }

    /* WORRIESカードの文を少し強めに */
    .transport-service-page .ts-section--light .ts-grid .ts-card > p:only-of-type {
        font-weight: 600 !important;
        color: #17243a !important;
    }


    /* ---------------------------------------------------------
       5. FLOW
    --------------------------------------------------------- */
    .transport-service-page .ts-flow {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 9px !important;
    }

    .transport-service-page .ts-step {
        min-height: 0 !important;
        display: grid !important;
        grid-template-columns: 78px minmax(0, 1fr) !important;
        gap: 14px !important;
        padding: 16px !important;
        align-items: start !important;
    }

    .transport-service-page .ts-step__num {
        font-size: 11px !important;
        line-height: 1.4 !important;
        white-space: nowrap !important;
    }

    .transport-service-page .ts-step h3 {
        margin: 0 0 5px !important;
        font-size: 15px !important;
        line-height: 1.5 !important;
    }

    .transport-service-page .ts-step p {
        margin: 0 !important;
        font-size: 12px !important;
        line-height: 1.75 !important;
    }


    /* ---------------------------------------------------------
       6. SUPPORT
    --------------------------------------------------------- */
    .transport-service-page .ts-box {
        padding: 21px 18px !important;
        font-size: 13px !important;
        line-height: 1.9 !important;
    }


    /* ---------------------------------------------------------
       7. PRICE
    --------------------------------------------------------- */
    .transport-service-page .ts-price {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 12px !important;
        padding: 22px 18px !important;
    }

    .transport-service-page .ts-price h3 {
        margin: 0 !important;
        font-size: 16px !important;
        line-height: 1.6 !important;
    }

    .transport-service-page .ts-price strong {
        display: inline-block !important;
        margin: 0 !important;
        font-size: 29px !important;
        line-height: 1.25 !important;
    }

    .transport-service-page .ts-price span {
        font-size: 11px !important;
    }

    .transport-service-page .ts-price + small,
    .transport-service-page .ts-section small {
        display: block !important;
        margin-top: 12px !important;
        font-size: 11px !important;
        line-height: 1.8 !important;
    }


    /* ---------------------------------------------------------
       8. FAQ
    --------------------------------------------------------- */
    .transport-service-page .ts-faq details {
        margin: 0 !important;
    }

    .transport-service-page .ts-faq summary {
        position: relative !important;
        min-height: 68px !important;
        padding: 16px 42px 16px 12px !important;
        gap: 10px !important;
        align-items: flex-start !important;
        font-size: 13px !important;
        line-height: 1.65 !important;
    }

    .transport-service-page .ts-faq summary > span:first-child {
        flex: 0 0 22px !important;
        width: 22px !important;
        font-size: 17px !important;
        line-height: 1.4 !important;
    }

    .transport-service-page .ts-faq summary::after {
        right: 12px !important;
        font-size: 22px !important;
    }

    .transport-service-page .ts-answer {
        padding: 0 12px 18px 12px !important;
        gap: 10px !important;
        align-items: flex-start !important;
    }

    .transport-service-page .ts-answer > span:first-child {
        flex: 0 0 22px !important;
        width: 22px !important;
        font-size: 16px !important;
    }

    .transport-service-page .ts-answer p {
        font-size: 12px !important;
        line-height: 1.8 !important;
    }


    /* ---------------------------------------------------------
       9. RELATED
    --------------------------------------------------------- */
    .transport-service-page .ts-related {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 8px !important;
    }

    .transport-service-page .ts-related a {
        min-height: 58px !important;
        padding: 14px 15px !important;
        gap: 10px !important;
        align-items: center !important;
        font-size: 13px !important;
        line-height: 1.55 !important;
    }


    /* ---------------------------------------------------------
       10. 最終CTA
    --------------------------------------------------------- */
    .transport-service-page .ts-final {
        padding: 48px 0 !important;
    }

    .transport-service-page .ts-final__inner {
        width: calc(100% - 32px) !important;
        max-width: none !important;
    }

    .transport-service-page .ts-final h2 {
        margin: 0 !important;
        font-size: 24px !important;
        line-height: 1.55 !important;
    }

    .transport-service-page .ts-final > .container p,
    .transport-service-page .ts-final__inner > p:not(.ts-kicker) {
        font-size: 13px !important;
        line-height: 1.9 !important;
    }

    .transport-service-page .ts-final .ts-buttons {
        width: 100% !important;
        max-width: 330px !important;
        margin: 22px auto 0 !important;
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 8px !important;
    }
}


/* =========================================================
   かなり幅の狭いスマホ
========================================================= */
@media screen and (max-width: 390px) {

    .transport-service-page .container,
    .transport-service-page .container.narrow,
    .transport-service-page .ts-final__inner {
        width: calc(100% - 24px) !important;
    }

    .transport-service-page .ts-hero h1 {
        font-size: 25px !important;
    }

    .transport-service-page .ts-step {
        grid-template-columns: 70px minmax(0, 1fr) !important;
        gap: 10px !important;
        padding: 14px !important;
    }

    .transport-service-page .ts-card {
        padding: 18px 15px !important;
    }
}

/* =========================================================
   スマホ用フッター 最終コンパクト版
   松井法務行政書士事務所
   PC版には影響しません
   style.css の一番最後に追加
========================================================= */

@media screen and (max-width: 767px) {

    /* =====================================================
       フッター全体
    ===================================================== */
    .site-footer .site-footer__inner {
        width: calc(100% - 32px) !important;
        max-width: 600px !important;

        margin-left: auto !important;
        margin-right: auto !important;

        padding-top: 32px !important;
        padding-bottom: 30px !important;

        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;

        grid-template-areas:
            "office office"
            "services guide"
            "support support"
            "qr qr"
            "consultation consultation" !important;

        column-gap: 24px !important;
        row-gap: 30px !important;
    }


    /* =====================================================
       事務所情報
    ===================================================== */
    .site-footer .footer-office {
        grid-area: office !important;
    }

    .site-footer .footer-office__name {
        margin-bottom: 4px !important;
        font-size: 18px !important;
        line-height: 1.5 !important;
    }

    .site-footer .footer-office__catch {
        margin-bottom: 10px !important;
        font-size: 11px !important;
    }

    .site-footer .footer-office__address {
        margin-bottom: 7px !important;
        font-size: 11px !important;
        line-height: 1.7 !important;
    }

    .site-footer .footer-office__phone {
        margin-bottom: 10px !important;
        font-size: 15px !important;
    }

    .site-footer .footer-office__button {
        width: 100% !important;
        max-width: 300px !important;

        min-height: 42px !important;
        padding: 8px 14px !important;

        font-size: 11px !important;
    }


    /* =====================================================
       取扱業務 / 事務所案内
       スマホでは左右2列
    ===================================================== */
    .site-footer .footer-services {
        grid-area: services !important;
    }

    .site-footer .footer-guide {
        grid-area: guide !important;
    }

    .site-footer .footer-column > h3,
    .site-footer .footer-support > h3 {
        margin: 0 0 12px !important;

        color: #c5a253 !important;

        font-size: 13px !important;
        line-height: 1.5 !important;
    }

    .site-footer .footer-services a,
    .site-footer .footer-guide a {
        margin: 0 0 7px !important;

        font-size: 12px !important;
        line-height: 1.6 !important;
    }


    /* =====================================================
       サポート内容
       1列化されていたものを2列に戻す
    ===================================================== */
    .site-footer .footer-support {
        grid-area: support !important;

        padding-top: 0 !important;
        margin-top: 0 !important;
    }

    .site-footer .footer-support > h3 {
        margin-bottom: 16px !important;
    }

    .site-footer .footer-support__grid {
        width: 100% !important;

        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;

        column-gap: 24px !important;
        row-gap: 25px !important;
    }

    .site-footer .footer-support__group {
        min-width: 0 !important;
    }

    .site-footer .footer-support__title {
        margin: 0 0 9px !important;

        color: #c5a253 !important;

        font-size: 13px !important;
        line-height: 1.5 !important;
    }

    .site-footer .footer-support__group a,
    .site-footer .footer-support__group:first-child a {
        margin: 0 0 6px !important;

        font-size: 12px !important;
        line-height: 1.55 !important;

        word-break: normal !important;
        overflow-wrap: anywhere !important;
    }


    /* =====================================================
       QR / LINE
    ===================================================== */
    .site-footer .footer-qr {
        grid-area: qr !important;

        width: 100% !important;

        padding-top: 2px !important;

        text-align: center !important;
    }

    .site-footer .footer-qr__image-link {
        display: block !important;
        width: fit-content !important;

        margin: 0 auto !important;
    }

    .site-footer .footer-qr__image,
    .site-footer .footer-qr__box {
        width: 140px !important;
        height: 140px !important;

        max-width: 140px !important;

        margin: 0 auto !important;

        object-fit: contain !important;
    }

    .site-footer .footer-qr__lead {
        max-width: none !important;

        margin: 9px 0 0 !important;

        font-size: 11px !important;
        line-height: 1.5 !important;
    }

    .site-footer .footer-line-id {
        margin: 5px 0 0 !important;
        font-size: 10px !important;
    }

    .site-footer .footer-line-link {
        display: inline-block !important;

        margin-top: 6px !important;

        font-size: 11px !important;
        line-height: 1.5 !important;
    }


    /* =====================================================
       初回相談
    ===================================================== */
    .site-footer .footer-consultation {
        grid-area: consultation !important;

        width: 100% !important;

        padding: 20px 18px !important;

        border: 1px solid rgba(255,255,255,.25) !important;
    }

    .site-footer .footer-consultation__lead {
        margin: 0 0 6px !important;

        font-size: 22px !important;
        line-height: 1.45 !important;
    }

    .site-footer .footer-consultation__text {
        margin: 0 0 8px !important;

        font-size: 12px !important;
        line-height: 1.6 !important;
    }

    .site-footer .footer-consultation__small {
        margin: 0 !important;

        font-size: 10px !important;
        line-height: 1.7 !important;
    }

    .site-footer .footer-consultation__buttons {
        margin-top: 13px !important;

        display: grid !important;
        grid-template-columns: 1fr !important;

        gap: 7px !important;
    }

    .site-footer .footer-consultation__buttons a {
        min-height: 44px !important;
        padding: 9px 12px !important;

        font-size: 11px !important;
    }


    /* =====================================================
       コピーライト
    ===================================================== */
    .site-footer .site-footer__bottom {
        padding: 13px 16px !important;
    }

    .site-footer .site-footer__bottom p {
        margin: 0 !important;

        font-size: 10px !important;
        line-height: 1.5 !important;
    }
}


/* =========================================================
   390px以下
   ここでもサポート内容は2列を維持
========================================================= */
@media screen and (max-width: 390px) {

    .site-footer .site-footer__inner {
        width: calc(100% - 24px) !important;

        column-gap: 16px !important;
        row-gap: 26px !important;
    }

    .site-footer .footer-support__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;

        column-gap: 16px !important;
        row-gap: 22px !important;
    }

    .site-footer .footer-services a,
    .site-footer .footer-guide a,
    .site-footer .footer-support__group a {
        font-size: 11px !important;
    }

    .site-footer .footer-support__title {
        font-size: 12px !important;
    }

    .site-footer .footer-qr__image,
    .site-footer .footer-qr__box {
        width: 132px !important;
        height: 132px !important;
        max-width: 132px !important;
    }

    .site-footer .footer-consultation {
        padding: 18px 15px !important;
    }

    .site-footer .footer-consultation__lead {
        font-size: 20px !important;
    }
}
/* =========================================================
   スマホフッター 最終微調整
   QR・相談CTAをコンパクト化
========================================================= */

@media screen and (max-width: 767px) {

    /* QRエリア */
    .site-footer .footer-qr {
        padding-top: 0 !important;
        margin: 0 !important;
    }

    /* QRコードを少し小さく */
    .site-footer .footer-qr__image,
    .site-footer .footer-qr__box {
        width: 120px !important;
        height: 120px !important;
        max-width: 120px !important;
        margin: 0 auto !important;
    }

    /* QR下の説明 */
    .site-footer .footer-qr__lead {
        margin: 7px 0 0 !important;
        font-size: 10px !important;
        line-height: 1.5 !important;
    }

    /* LINE IDがある場合 */
    .site-footer .footer-line-id {
        margin-top: 3px !important;
        font-size: 9px !important;
    }

    /* LINEで相談する */
    .site-footer .footer-line-link {
        margin-top: 5px !important;
        font-size: 11px !important;
        line-height: 1.4 !important;
    }


    /* -----------------------------------------
       初回相談枠
    ----------------------------------------- */

    .site-footer .footer-consultation {
        padding: 17px 16px !important;
    }

    .site-footer .footer-consultation__lead {
        margin: 0 0 5px !important;
        font-size: 20px !important;
        line-height: 1.4 !important;
    }

    .site-footer .footer-consultation__text {
        margin: 0 0 6px !important;
        font-size: 11px !important;
        line-height: 1.55 !important;
    }

    .site-footer .footer-consultation__small {
        font-size: 9px !important;
        line-height: 1.65 !important;
    }

    .site-footer .footer-consultation__buttons {
        margin-top: 11px !important;
        gap: 6px !important;
    }

    .site-footer .footer-consultation__buttons a {
        min-height: 40px !important;
        padding: 8px 10px !important;
        font-size: 10px !important;
    }


    /* -----------------------------------------
       QR → 初回相談の間隔
    ----------------------------------------- */

    .site-footer .site-footer__inner {
        row-gap: 25px !important;
    }


    /* -----------------------------------------
       長い業務名を少し調整
    ----------------------------------------- */

    .site-footer .footer-support__title {
        font-size: 12px !important;
        line-height: 1.5 !important;
    }


    /* -----------------------------------------
       コピーライト
    ----------------------------------------- */

    .site-footer .site-footer__bottom {
        padding: 11px 14px !important;
    }

    .site-footer .site-footer__bottom p {
        font-size: 9px !important;
    }
}


/* 390px以下 */
@media screen and (max-width: 390px) {

    .site-footer .footer-qr__image,
    .site-footer .footer-qr__box {
        width: 115px !important;
        height: 115px !important;
        max-width: 115px !important;
    }

    .site-footer .footer-consultation {
        padding: 15px 13px !important;
    }

    .site-footer .footer-consultation__lead {
        font-size: 19px !important;
    }
}

/* =========================================================
   自動車登録 親ページ
   スマホ表示 最終調整
   対象：page-car-registration.php
   PC版には影響しません
   style.css の一番最後に追加
========================================================= */

@media screen and (max-width: 767px) {

    /* =====================================================
       0. ページ全体
    ===================================================== */
    .car-page {
        overflow-x: hidden !important;
    }

    .car-page .container {
        width: calc(100% - 32px) !important;
        max-width: none !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .car-page .section-space {
        padding-top: 48px !important;
        padding-bottom: 48px !important;
    }


    /* =====================================================
       1. FV
    ===================================================== */
    .car-page .car-hero {
        padding: 36px 0 26px !important;
    }

    .car-page .car-hero .sub-hero__inner {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 22px !important;
        align-items: stretch !important;
    }

    .car-page .car-hero .sub-hero__content,
    .car-page .car-hero .sub-hero__image {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .car-page .car-hero .sub-hero__lead {
        margin: 0 0 7px !important;
        font-size: 11px !important;
        line-height: 1.5 !important;
        letter-spacing: .08em !important;
    }

    .car-page .car-hero .sub-hero__title {
        margin: 0 0 14px !important;
        font-size: clamp(27px, 8vw, 34px) !important;
        line-height: 1.45 !important;
        letter-spacing: 0 !important;
    }

    .car-page .car-hero .sub-hero__text {
        margin: 0 !important;
        font-size: 14px !important;
        line-height: 1.9 !important;
    }

    .car-page .car-hero .sub-hero__points {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 7px 9px !important;
        margin-top: 16px !important;
    }

    .car-page .car-hero .sub-hero__points span {
        font-size: 10px !important;
        line-height: 1.5 !important;
    }

    .car-page .car-hero .sub-hero__image {
        height: auto !important;
        min-height: 0 !important;
        aspect-ratio: 16 / 10 !important;
        overflow: hidden !important;
    }

    .car-page .car-hero .sub-hero__photo,
    .car-page .car-hero .sub-image-placeholder {
        width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
        max-height: none !important;
    }

    .car-page .car-hero .sub-hero__photo {
        object-fit: cover !important;
        object-position: center !important;
    }


    /* =====================================================
       2. FV直下CTA
    ===================================================== */
    .car-page .transport-mini-cta {
        padding: 14px 0 !important;
    }

    .car-page .transport-mini-cta__inner {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 10px !important;
        text-align: center !important;
    }

    .car-page .transport-mini-cta__inner > p {
        margin: 0 !important;
        font-size: 12px !important;
        line-height: 1.7 !important;
    }

    .car-page .transport-mini-cta__buttons {
        width: 100% !important;
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 8px !important;
    }

    .car-page .transport-mini-cta__buttons a {
        width: 100% !important;
        min-height: 46px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 10px 14px !important;
        font-size: 12px !important;
    }


    /* =====================================================
       3. 共通見出し
    ===================================================== */
    .car-page .section-title {
        margin-bottom: 24px !important;
    }

    .car-page .section-title__en {
        margin-bottom: 6px !important;
        font-size: 9px !important;
        letter-spacing: .13em !important;
    }

    .car-page .section-title h2,
    .car-page .car-garage__content h2,
    .car-page .car-seal__content h2 {
        font-size: 23px !important;
        line-height: 1.55 !important;
    }

    .car-page .section-title > p,
    .car-page .car-garage__content > p,
    .car-page .car-seal__content > p {
        font-size: 13px !important;
        line-height: 1.9 !important;
    }


    /* =====================================================
       4. こんなお悩みありませんか？
    ===================================================== */
    .car-page .car-worries .worries__grid,
    .car-page .car-worries .transport-worries__grid,
    .car-page .car-worries .car-worries__grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }

    .car-page .car-worries .worry-card,
    .car-page .car-worries .transport-worry-card,
    .car-page .car-worries .car-worry-card {
        min-height: 0 !important;
        padding: 18px 16px !important;
    }

    .car-page .car-worries p {
        font-size: 13px !important;
        line-height: 1.75 !important;
    }


    /* =====================================================
       5. 自動車登録業務について / 対応業務
    ===================================================== */
    .car-page .car-about,
    .car-page .car-services {
        padding-top: 48px !important;
        padding-bottom: 48px !important;
    }

    .car-page .car-services .transport-support__grid,
    .car-page .car-services .car-services__grid,
    .car-page .car-services .services-grid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px !important;
    }

    .car-page .car-services .transport-support-card,
    .car-page .car-services .car-service-card,
    .car-page .car-services .vehicle-service-card {
        min-height: 0 !important;
        padding: 17px 10px !important;
    }

    .car-page .car-services h3 {
        font-size: 14px !important;
        line-height: 1.5 !important;
    }

    .car-page .car-services p {
        font-size: 11px !important;
        line-height: 1.65 !important;
    }


    /* =====================================================
       6. 車庫証明
    ===================================================== */
    .car-page .car-garage__inner,
    .car-page .car-feature:not(.car-feature--reverse) {
        display: flex !important;
        flex-direction: column !important;
        grid-template-columns: 1fr !important;
        gap: 22px !important;
    }

    .car-page .car-garage__content,
    .car-page .car-garage__image {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .car-page .car-garage__image {
        order: 2 !important;
        min-height: 0 !important;
        aspect-ratio: 16 / 10 !important;
        overflow: hidden !important;
    }

    .car-page .car-garage__content {
        order: 1 !important;
    }

    .car-page .car-garage__image .car-section-photo,
    .car-page .car-garage__image img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        display: block !important;
    }

    .car-page .car-price-simple {
        margin-top: 14px !important;
        padding: 13px 0 !important;
    }

    .car-page .car-price-simple span {
        font-size: 11px !important;
    }

    .car-page .car-price-simple strong {
        font-size: 20px !important;
    }


    /* =====================================================
       7. 封印
    ===================================================== */
    .car-page .car-seal__inner,
    .car-page .car-feature--reverse {
        display: flex !important;
        flex-direction: column !important;
        grid-template-columns: 1fr !important;
        gap: 22px !important;
    }

    .car-page .car-seal__content,
    .car-page .car-seal__image {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .car-page .car-seal__content {
        order: 1 !important;
    }

    .car-page .car-seal__image {
        order: 2 !important;
        min-height: 0 !important;
        aspect-ratio: 16 / 10 !important;
        overflow: hidden !important;
    }

    .car-page .car-seal__image .car-section-photo,
    .car-page .car-seal__image img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        display: block !important;
    }


    /* =====================================================
       8. 自動車手続の個別ご案内
    ===================================================== */
    .car-page .car-service-links__grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 9px !important;
    }

    .car-page .car-service-link-card {
        min-height: 0 !important;
        padding: 16px 14px !important;
        gap: 10px !important;
        align-items: center !important;
    }

    .car-page .car-service-link-card__number {
        font-size: 11px !important;
    }

    .car-page .car-service-link-card__label {
        margin-bottom: 3px !important;
        font-size: 8px !important;
        letter-spacing: .08em !important;
    }

    .car-page .car-service-link-card h3 {
        margin: 0 0 4px !important;
        font-size: 15px !important;
        line-height: 1.5 !important;
    }

    .car-page .car-service-link-card p {
        margin: 0 !important;
        font-size: 11px !important;
        line-height: 1.65 !important;
    }


    /* =====================================================
       9. 手続の流れ
    ===================================================== */
    .car-page .transport-flow__list {
        width: 100% !important;
        max-width: 100% !important;
    }

    .car-page .transport-flow__item {
        display: grid !important;
        grid-template-columns: 58px minmax(0, 1fr) !important;
        gap: 12px !important;
        width: 100% !important;
        padding: 14px 0 !important;
    }

    .car-page .transport-flow__number,
    .car-page .transport-flow__num {
        font-size: 11px !important;
    }

    .car-page .transport-flow__item h3 {
        margin: 0 0 4px !important;
        font-size: 14px !important;
        line-height: 1.5 !important;
    }

    .car-page .transport-flow__item p {
        margin: 0 !important;
        font-size: 12px !important;
        line-height: 1.7 !important;
    }


    /* =====================================================
       10. 料金
    ===================================================== */
    .car-page .transport-price-table,
    .car-page .car-price-table,
    .car-page .price-table {
        width: 100% !important;
        font-size: 12px !important;
    }

    .car-page .transport-price-row,
    .car-page .car-price-row,
    .car-page .price-row {
        min-height: 0 !important;
    }

    .car-page .transport-price-row > *,
    .car-page .car-price-row > *,
    .car-page .price-row > * {
        padding-top: 12px !important;
        padding-bottom: 12px !important;
    }

    .car-page .price-row__content h3 {
        font-size: 14px !important;
        line-height: 1.5 !important;
    }

    .car-page .price-row__price strong {
        font-size: 19px !important;
    }


    /* =====================================================
       11. 対応エリア
    ===================================================== */
    .car-page .area__top {
        display: flex !important;
        flex-direction: column !important;
        gap: 22px !important;
    }

    .car-page .area__map,
    .car-page .area__content {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .car-page .area__map {
        min-height: 0 !important;
        aspect-ratio: 16 / 10 !important;
        overflow: hidden !important;
    }

    .car-page .area__map img,
    .car-page .area__map-image {
        width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
        object-fit: cover !important;
    }

    .car-page .area__details {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 9px !important;
    }

    .car-page .area-box {
        padding: 14px 12px !important;
    }

    .car-page .area-box h3 {
        font-size: 12px !important;
    }

    .car-page .area-box p {
        font-size: 10px !important;
        line-height: 1.6 !important;
    }


    /* =====================================================
       12. FAQ
    ===================================================== */
    .car-page .transport-faq__item summary {
        position: relative !important;
        min-height: 64px !important;
        padding: 15px 40px 15px 12px !important;
        font-size: 13px !important;
        line-height: 1.6 !important;
    }

    .car-page .transport-faq__item summary::after {
        right: 12px !important;
        font-size: 21px !important;
    }

    .car-page .transport-faq__item > div {
        padding: 0 12px 18px 12px !important;
        font-size: 12px !important;
        line-height: 1.8 !important;
    }


    /* =====================================================
       13. 最終CTA
    ===================================================== */
    .car-page .transport-final-cta {
        padding: 46px 0 !important;
    }

    .car-page .transport-final-cta__inner {
        width: calc(100% - 32px) !important;
        max-width: none !important;
    }

    .car-page .transport-final-cta__label {
        font-size: 10px !important;
    }

    .car-page .transport-final-cta h2 {
        margin: 0 !important;
        font-size: 23px !important;
        line-height: 1.55 !important;
    }

    .car-page .transport-final-cta__inner > p:not(.transport-final-cta__label) {
        font-size: 12px !important;
        line-height: 1.8 !important;
    }

    .car-page .transport-final-cta__buttons {
        width: 100% !important;
        max-width: 330px !important;
        margin: 20px auto 0 !important;
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 8px !important;
    }

    .car-page .transport-final-cta__buttons a {
        width: 100% !important;
        min-height: 44px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 9px 12px !important;
        font-size: 11px !important;
    }
}


/* =========================================================
   390px以下
========================================================= */
@media screen and (max-width: 390px) {

    .car-page .container,
    .car-page .transport-final-cta__inner {
        width: calc(100% - 24px) !important;
    }

    .car-page .car-hero .sub-hero__title {
        font-size: 26px !important;
    }

    .car-page .car-services .transport-support__grid,
    .car-page .car-services .car-services__grid,
    .car-page .car-services .services-grid {
        grid-template-columns: 1fr !important;
    }

    .car-page .area__details {
        grid-template-columns: 1fr 1fr !important;
    }
}

/* =========================================================
   一般貨物自動車運送事業「新規許可」ページ
   PC＋スマホ 最終調整
   対象：page-transport-new-permit.php
   style.css の一番最後に追加
========================================================= */

/* =========================================================
   PC
========================================================= */
@media screen and (min-width: 981px) {

    /* 全体幅 */
    .transport-new-page .container {
        width: min(1180px, calc(100% - 64px)) !important;
        max-width: 1180px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .transport-new-page .transport-new-narrow {
        width: min(980px, calc(100% - 64px)) !important;
        max-width: 980px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    /* FV */
    .transport-new-page .transport-new-hero {
        padding: 58px 0 46px !important;
    }

    .transport-new-page .transport-new-hero__inner {
        grid-template-columns: minmax(0, 1fr) minmax(380px, .92fr) !important;
        gap: 54px !important;
        align-items: center !important;
    }

    .transport-new-page .transport-new-hero__title {
        font-size: clamp(38px, 4vw, 52px) !important;
        line-height: 1.35 !important;
    }

    .transport-new-page .transport-new-hero__photo,
    .transport-new-page .transport-new-image-placeholder {
        height: 320px !important;
        min-height: 320px !important;
    }

    /* セクション共通 */
    .transport-new-page :is(
        .transport-new-intro,
        .transport-new-worries,
        .transport-new-requirements,
        .transport-new-flow,
        .transport-new-documents,
        .transport-new-merits,
        .transport-new-price,
        .transport-new-area,
        .transport-new-faq,
        .transport-new-related
    ) {
        padding-top: 64px !important;
        padding-bottom: 64px !important;
    }

    .transport-new-page .transport-new-heading {
        margin-bottom: 30px !important;
    }

    .transport-new-page .transport-new-heading h2 {
        font-size: 30px !important;
        line-height: 1.5 !important;
    }

    /* カード類 */
    .transport-new-page .transport-new-worries__grid,
    .transport-new-page .transport-new-requirements__grid {
        max-width: 1040px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        gap: 14px !important;
    }

    .transport-new-page .transport-new-worry-card,
    .transport-new-page .transport-new-requirement-card {
        min-height: 150px !important;
        padding: 24px 22px !important;
    }

    /* メリット */
    .transport-new-page .transport-new-merits__grid {
        max-width: 1040px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        gap: 16px !important;
    }

    /* FLOW */
    .transport-new-page .transport-new-flow__list {
        max-width: 980px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    /* 料金 */
    .transport-new-page .transport-new-price-card {
        padding: 30px 34px !important;
    }

    /* FAQ */
    .transport-new-page .transport-new-faq__list {
        max-width: 980px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    /* RELATED */
    .transport-new-page .transport-new-related__grid {
        max-width: 1040px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        gap: 14px !important;
    }
}


/* =========================================================
   タブレット
========================================================= */
@media screen and (min-width: 768px) and (max-width: 980px) {

    .transport-new-page .container,
    .transport-new-page .transport-new-narrow {
        width: calc(100% - 48px) !important;
    }

    .transport-new-page .transport-new-hero {
        padding: 50px 0 42px !important;
    }

    .transport-new-page .transport-new-hero__inner {
        grid-template-columns: 1fr 1fr !important;
        gap: 34px !important;
    }

    .transport-new-page .transport-new-hero__title {
        font-size: 36px !important;
    }

    .transport-new-page .transport-new-hero__photo,
    .transport-new-page .transport-new-image-placeholder {
        height: 280px !important;
        min-height: 280px !important;
    }
}


/* =========================================================
   スマホ
========================================================= */
@media screen and (max-width: 767px) {

    /* -----------------------------------------
       ページ全体
    ----------------------------------------- */
    .transport-new-page {
        overflow-x: hidden !important;
    }

    .transport-new-page .container,
    .transport-new-page .transport-new-narrow {
        width: calc(100% - 32px) !important;
        max-width: none !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }


    /* -----------------------------------------
       FV
    ----------------------------------------- */
    .transport-new-page .transport-new-hero {
        padding: 34px 0 26px !important;
    }

    .transport-new-page .transport-new-hero__inner {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 22px !important;
    }

    .transport-new-page .transport-new-hero__label {
        margin-bottom: 7px !important;
        font-size: 10px !important;
        line-height: 1.5 !important;
    }

    .transport-new-page .transport-new-hero__title {
        margin-bottom: 14px !important;
        font-size: 28px !important;
        line-height: 1.42 !important;
        letter-spacing: 0 !important;
    }

    .transport-new-page .transport-new-hero__text {
        font-size: 13px !important;
        line-height: 1.85 !important;
    }

    .transport-new-page .transport-new-hero__photo,
    .transport-new-page .transport-new-image-placeholder {
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        aspect-ratio: 16 / 10 !important;
        object-fit: cover !important;
    }

    .transport-new-page .transport-new-hero__buttons {
        width: 100% !important;
        margin-top: 16px !important;
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 8px !important;
    }

    .transport-new-page .transport-new-btn {
        width: 100% !important;
        min-width: 0 !important;
        min-height: 46px !important;
        padding: 10px 14px !important;
        font-size: 12px !important;
    }


    /* -----------------------------------------
       FV直下CTA
    ----------------------------------------- */
    .transport-new-page .transport-new-mini-cta__inner {
        padding: 15px 0 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 8px !important;
        text-align: center !important;
    }

    .transport-new-page .transport-new-mini-cta__inner p {
        margin: 0 !important;
        font-size: 11px !important;
        line-height: 1.7 !important;
    }


    /* -----------------------------------------
       セクション共通
    ----------------------------------------- */
    .transport-new-page :is(
        .transport-new-intro,
        .transport-new-worries,
        .transport-new-requirements,
        .transport-new-flow,
        .transport-new-documents,
        .transport-new-merits,
        .transport-new-price,
        .transport-new-area,
        .transport-new-faq,
        .transport-new-related
    ) {
        padding-top: 46px !important;
        padding-bottom: 46px !important;
    }

    .transport-new-page .transport-new-heading {
        margin-bottom: 22px !important;
    }

    .transport-new-page .transport-new-kicker {
        margin-bottom: 6px !important;
        font-size: 9px !important;
        letter-spacing: .12em !important;
    }

    .transport-new-page .transport-new-heading h2,
    .transport-new-page .transport-new-intro h2,
    .transport-new-page .transport-new-area h2 {
        font-size: 22px !important;
        line-height: 1.55 !important;
    }

    .transport-new-page .transport-new-heading p,
    .transport-new-page .transport-new-intro p,
    .transport-new-page .transport-new-area p {
        font-size: 12px !important;
        line-height: 1.85 !important;
    }


    /* -----------------------------------------
       WORRIES
    ----------------------------------------- */
    .transport-new-page .transport-new-worries__grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 9px !important;
    }

    .transport-new-page .transport-new-worry-card {
        min-height: 0 !important;
        padding: 18px 16px !important;
    }

    .transport-new-page .transport-new-worry-card p {
        font-size: 12px !important;
        line-height: 1.75 !important;
    }


    /* -----------------------------------------
       REQUIREMENTS
    ----------------------------------------- */
    .transport-new-page .transport-new-requirements__grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }

    .transport-new-page .transport-new-requirement-card {
        min-height: 0 !important;
        padding: 18px 16px !important;
    }

    .transport-new-page .transport-new-requirement-card h3 {
        font-size: 15px !important;
        line-height: 1.5 !important;
    }

    .transport-new-page .transport-new-requirement-card p {
        font-size: 12px !important;
        line-height: 1.75 !important;
    }


    /* -----------------------------------------
       FLOW
    ----------------------------------------- */
    .transport-new-page .transport-new-flow__list {
        width: 100% !important;
    }

    .transport-new-page .transport-new-flow-step {
        min-height: 0 !important;
        padding: 14px 0 !important;
    }

    .transport-new-page .transport-new-flow-step__number {
        font-size: 10px !important;
    }

    .transport-new-page .transport-new-flow-step h3 {
        font-size: 14px !important;
        line-height: 1.5 !important;
    }

    .transport-new-page .transport-new-flow-step p {
        font-size: 11px !important;
        line-height: 1.7 !important;
    }


    /* -----------------------------------------
       書類
    ----------------------------------------- */
    .transport-new-page .transport-new-documents__list,
    .transport-new-page .transport-new-documents__grid {
        gap: 8px !important;
    }

    .transport-new-page .transport-new-document-item {
        padding-top: 12px !important;
        padding-bottom: 12px !important;
    }

    .transport-new-page .transport-new-document-item p {
        font-size: 12px !important;
        line-height: 1.7 !important;
    }


    /* -----------------------------------------
       メリット
    ----------------------------------------- */
    .transport-new-page .transport-new-merits__grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }

    .transport-new-page .transport-new-merit-card {
        min-height: 0 !important;
        padding: 18px 16px !important;
    }

    .transport-new-page .transport-new-merit-card h3 {
        font-size: 15px !important;
    }

    .transport-new-page .transport-new-merit-card p {
        font-size: 12px !important;
        line-height: 1.75 !important;
    }


    /* -----------------------------------------
       料金
    ----------------------------------------- */
    .transport-new-page .transport-new-price-card {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 12px !important;
        padding: 20px 17px !important;
    }

    .transport-new-page .transport-new-price-card__label {
        font-size: 9px !important;
    }

    .transport-new-page .transport-new-price-card h3 {
        font-size: 15px !important;
        line-height: 1.55 !important;
    }

    .transport-new-page .transport-new-price-card__price strong {
        font-size: 28px !important;
    }

    .transport-new-page .transport-new-price__note {
        font-size: 10px !important;
        line-height: 1.7 !important;
    }


    /* -----------------------------------------
       AREA
    ----------------------------------------- */
    .transport-new-page .transport-new-area__inner {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 18px !important;
    }


    /* -----------------------------------------
       FAQ
    ----------------------------------------- */
    .transport-new-page .transport-new-faq-item summary {
        min-height: 64px !important;
        padding: 15px 40px 15px 12px !important;
        gap: 9px !important;
        font-size: 13px !important;
        line-height: 1.6 !important;
    }

    .transport-new-page .transport-new-faq-item summary > span {
        flex: 0 0 22px !important;
        width: 22px !important;
        font-size: 17px !important;
    }

    .transport-new-page .transport-new-faq-item__answer {
        padding: 0 12px 18px 12px !important;
        gap: 9px !important;
    }

    .transport-new-page .transport-new-faq-item__answer > span {
        flex: 0 0 22px !important;
        width: 22px !important;
        font-size: 16px !important;
    }

    .transport-new-page .transport-new-faq-item__answer p {
        font-size: 12px !important;
        line-height: 1.8 !important;
    }


    /* -----------------------------------------
       RELATED
    ----------------------------------------- */
    .transport-new-page .transport-new-related__grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 8px !important;
    }

    .transport-new-page .transport-new-related-card {
        min-height: 56px !important;
        padding: 14px 15px !important;
        font-size: 12px !important;
    }

    .transport-new-page .transport-new-related__parent {
        margin-top: 16px !important;
        font-size: 11px !important;
    }


    /* -----------------------------------------
       最終CTA
    ----------------------------------------- */
    .transport-new-page .transport-new-final-cta {
        padding: 46px 0 !important;
    }

    .transport-new-page .transport-new-final-cta h2 {
        font-size: 23px !important;
        line-height: 1.55 !important;
    }

    .transport-new-page .transport-new-final-cta p {
        font-size: 12px !important;
        line-height: 1.8 !important;
    }

    .transport-new-page .transport-new-final-cta__buttons {
        width: 100% !important;
        max-width: 330px !important;
        margin: 20px auto 0 !important;
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 8px !important;
    }
}


/* =========================================================
   小さいスマホ
========================================================= */
@media screen and (max-width: 390px) {

    .transport-new-page .container,
    .transport-new-page .transport-new-narrow {
        width: calc(100% - 24px) !important;
    }

    .transport-new-page .transport-new-hero__title {
        font-size: 26px !important;
    }

    .transport-new-page .transport-new-heading h2,
    .transport-new-page .transport-new-intro h2,
    .transport-new-page .transport-new-area h2 {
        font-size: 21px !important;
    }
}
/* =========================================================
   営業所の新設・移転・変更ページ
   レイアウト最終調整
   style.css の一番最後に追加
========================================================= */

/* SUPPORT：PCは3カード */
.transport-service-page .ts-office-support__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.transport-service-page .ts-office-support__card {
    position: relative;
    min-width: 0;
    padding: 28px 24px;
    border: 1px solid var(--border, #d9dee7);
    background: #fff;
}

.transport-service-page .ts-office-support__num {
    display: block;
    margin-bottom: 14px;
    color: var(--gold, #c5a253);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .08em;
}

.transport-service-page .ts-office-support__card h3 {
    margin: 0 0 12px;
    color: var(--deep-navy, #061f42);
    font-size: 18px;
    line-height: 1.55;
}

.transport-service-page .ts-office-support__card p {
    margin: 0;
    color: var(--text, #17243a);
    font-size: 14px;
    line-height: 1.85;
}

/* スマホ */
@media screen and (max-width: 767px) {

    /* FVを少しコンパクトに */
    .transport-service-page .ts-hero {
        padding-top: 30px !important;
        padding-bottom: 24px !important;
    }

    .transport-service-page .ts-hero__inner {
        gap: 18px !important;
    }

    .transport-service-page .ts-hero__image {
        min-height: 0 !important;
        height: auto !important;
        aspect-ratio: 16 / 9 !important;
        overflow: hidden !important;
    }

    .transport-service-page .ts-hero__image .ts-photo {
        width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
        object-fit: cover !important;
        display: block !important;
    }

    /* WORRIES / CHECK POINT のカード余白を縮小 */
    .transport-service-page .ts-grid {
        gap: 9px !important;
    }

    .transport-service-page .ts-card {
        min-height: 0 !important;
        padding: 16px 14px !important;
    }

    .transport-service-page .ts-card__num {
        margin-bottom: 7px !important;
    }

    .transport-service-page .ts-card h3 {
        margin-bottom: 6px !important;
        font-size: 14px !important;
        line-height: 1.5 !important;
    }

    .transport-service-page .ts-card p {
        margin-bottom: 0 !important;
        font-size: 12px !important;
        line-height: 1.7 !important;
    }

    /* SUPPORT：スマホは1列 */
    .transport-service-page .ts-office-support__grid {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }

    .transport-service-page .ts-office-support__card {
        padding: 18px 16px !important;
    }

    .transport-service-page .ts-office-support__num {
        margin-bottom: 8px !important;
        font-size: 10px !important;
    }

    .transport-service-page .ts-office-support__card h3 {
        margin-bottom: 7px !important;
        font-size: 15px !important;
    }

    .transport-service-page .ts-office-support__card p {
        font-size: 12px !important;
        line-height: 1.75 !important;
    }
}
/* =========================================================
   営業所変更ページ
   「こんなお悩みはありませんか？」カード調整
========================================================= */

/* PC */
.transport-service-page .ts-section--light .ts-grid .ts-card {
    min-height: 115px !important;
    padding: 18px 20px !important;
}

.transport-service-page .ts-section--light .ts-grid .ts-card p {
    margin: 0 !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    line-height: 1.65 !important;
}


/* スマホ */
@media screen and (max-width: 767px) {

    .transport-service-page .ts-section--light .ts-grid {
        gap: 8px !important;
    }

    .transport-service-page .ts-section--light .ts-grid .ts-card {
        min-height: 0 !important;
        padding: 13px 14px !important;
    }

    .transport-service-page .ts-section--light .ts-grid .ts-card__num {
        margin-bottom: 5px !important;
        font-size: 9px !important;
    }

    .transport-service-page .ts-section--light .ts-grid .ts-card p {
        margin: 0 !important;
        font-size: 12px !important;
        font-weight: 600 !important;
        line-height: 1.6 !important;
    }
}
/* =========================================================
   お悩みカード
   文字の太さをCHECK POINTの見出しと統一
========================================================= */

.transport-service-page .ts-section--light .ts-grid .ts-card p {
    font-weight: 700 !important;
}


/* スマホ */
@media screen and (max-width: 767px) {

    .transport-service-page .ts-section--light .ts-grid .ts-card p {
        font-weight: 700 !important;
    }
}
/* =========================================================
   お悩みカード
   CHECK POINT見出しと文字の太さ・色を統一
========================================================= */

.transport-service-page .ts-section--light .ts-grid .ts-card p {
    color: #17243a !important;
    font-weight: 700 !important;
}


/* スマホ */
@media screen and (max-width: 767px) {

    .transport-service-page .ts-section--light .ts-grid .ts-card p {
        color: #17243a !important;
        font-weight: 700 !important;
    }
}
/* =========================================================
   車庫の新設・移転・変更ページ
   営業所ページとデザイン統一
   style.css の一番最後に追加
========================================================= */

/* お悩みカード：CHECK POINT見出しと同じ印象に */
.transport-garage-change-page .garage-worries-section .ts-grid {
    gap: 12px;
}

.transport-garage-change-page .garage-worries-section .ts-card {
    min-height: 105px !important;
    padding: 17px 18px !important;
}

.transport-garage-change-page .garage-worries-section .ts-card p {
    margin: 0 !important;
    color: #17243a !important;
    font-weight: 700 !important;
    line-height: 1.6 !important;
}

/* SUPPORT：PCは3列 */
.transport-garage-change-page .garage-support-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.transport-garage-change-page .garage-support-card {
    min-width: 0;
    padding: 28px 24px;
    background: #fff;
    border: 1px solid var(--border, #d9dee7);
}

.transport-garage-change-page .garage-support-card__num {
    display: block;
    margin-bottom: 14px;
    color: var(--gold, #c5a253);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .08em;
}

.transport-garage-change-page .garage-support-card h3 {
    margin: 0 0 12px;
    color: var(--deep-navy, #061f42);
    font-size: 18px;
    line-height: 1.55;
    font-weight: 700;
}

.transport-garage-change-page .garage-support-card p {
    margin: 0;
    color: var(--text, #17243a);
    font-size: 14px;
    line-height: 1.85;
}


/* =========================================================
   スマホ
========================================================= */
@media screen and (max-width: 767px) {

    /* FVを少しコンパクトに */
    .transport-garage-change-page .ts-hero {
        padding-top: 30px !important;
        padding-bottom: 24px !important;
    }

    .transport-garage-change-page .ts-hero__inner {
        gap: 18px !important;
    }

    .transport-garage-change-page .ts-hero__image {
        min-height: 0 !important;
        height: auto !important;
        aspect-ratio: 16 / 9 !important;
        overflow: hidden !important;
    }

    .transport-garage-change-page .ts-hero__image .ts-photo {
        display: block !important;
        width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
        object-fit: cover !important;
    }

    /* お悩みカード */
    .transport-garage-change-page .garage-worries-section .ts-grid {
        gap: 8px !important;
    }

    .transport-garage-change-page .garage-worries-section .ts-card {
        min-height: 0 !important;
        padding: 13px 14px !important;
    }

    .transport-garage-change-page .garage-worries-section .ts-card__num {
        margin-bottom: 5px !important;
        font-size: 9px !important;
    }

    .transport-garage-change-page .garage-worries-section .ts-card p {
        margin: 0 !important;
        color: #17243a !important;
        font-size: 12px !important;
        font-weight: 700 !important;
        line-height: 1.6 !important;
    }

    /* CHECK POINTは少しコンパクトに */
    .transport-garage-change-page .garage-check-section .ts-grid {
        gap: 9px !important;
    }

    .transport-garage-change-page .garage-check-section .ts-card {
        min-height: 0 !important;
        padding: 16px 14px !important;
    }

    .transport-garage-change-page .garage-check-section .ts-card h3 {
        margin-bottom: 6px !important;
        font-size: 14px !important;
        line-height: 1.5 !important;
    }

    .transport-garage-change-page .garage-check-section .ts-card p {
        margin-bottom: 0 !important;
        font-size: 12px !important;
        line-height: 1.7 !important;
    }

    /* SUPPORT：スマホは1列 */
    .transport-garage-change-page .garage-support-grid {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }

    .transport-garage-change-page .garage-support-card {
        padding: 18px 16px !important;
    }

    .transport-garage-change-page .garage-support-card__num {
        margin-bottom: 8px !important;
        font-size: 10px !important;
    }

    .transport-garage-change-page .garage-support-card h3 {
        margin-bottom: 7px !important;
        font-size: 15px !important;
    }

    .transport-garage-change-page .garage-support-card p {
        font-size: 12px !important;
        line-height: 1.75 !important;
    }
}
/* =========================================================
   休憩・睡眠施設の新設・移転・変更ページ
   営業所・車庫ページとデザイン統一
   style.css の一番最後に追加
========================================================= */

/* SUPPORT：PCは3列 */
.transport-rest-facility-change-page .rest-support-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.transport-rest-facility-change-page .rest-support-card {
    min-width: 0;
    padding: 28px 24px;
    background: #fff;
    border: 1px solid var(--border, #d9dee7);
}

.transport-rest-facility-change-page .rest-support-card__num {
    display: block;
    margin-bottom: 14px;
    color: var(--gold, #c5a253);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .08em;
}

.transport-rest-facility-change-page .rest-support-card h3 {
    margin: 0 0 12px;
    color: var(--deep-navy, #061f42);
    font-size: 18px;
    line-height: 1.55;
    font-weight: 700;
}

.transport-rest-facility-change-page .rest-support-card p {
    margin: 0;
    color: var(--text, #17243a);
    font-size: 14px;
    line-height: 1.85;
}

/* スマホ */
@media screen and (max-width: 767px) {

    /* FVを少しコンパクトに */
    .transport-rest-facility-change-page .ts-hero {
        padding-top: 30px !important;
        padding-bottom: 24px !important;
    }

    .transport-rest-facility-change-page .ts-hero__inner {
        gap: 18px !important;
    }

    .transport-rest-facility-change-page .ts-hero__image {
        min-height: 0 !important;
        height: auto !important;
        aspect-ratio: 16 / 9 !important;
        overflow: hidden !important;
    }

    .transport-rest-facility-change-page .ts-hero__image .ts-photo {
        display: block !important;
        width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
        object-fit: cover !important;
    }

    /* CHECK POINTカードを少しコンパクトに */
    .transport-rest-facility-change-page .rest-check-section .ts-grid {
        gap: 9px !important;
    }

    .transport-rest-facility-change-page .rest-check-section .ts-card {
        min-height: 0 !important;
        padding: 15px 14px !important;
    }

    .transport-rest-facility-change-page .rest-check-section .ts-card__num {
        margin-bottom: 5px !important;
        font-size: 9px !important;
    }

    .transport-rest-facility-change-page .rest-check-section .ts-card h3 {
        margin-bottom: 6px !important;
        font-size: 14px !important;
        line-height: 1.5 !important;
    }

    .transport-rest-facility-change-page .rest-check-section .ts-card p {
        margin-bottom: 0 !important;
        font-size: 12px !important;
        line-height: 1.7 !important;
    }

    /* SUPPORT：スマホは1列 */
    .transport-rest-facility-change-page .rest-support-grid {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }

    .transport-rest-facility-change-page .rest-support-card {
        padding: 18px 16px !important;
    }

    .transport-rest-facility-change-page .rest-support-card__num {
        margin-bottom: 8px !important;
        font-size: 10px !important;
    }

    .transport-rest-facility-change-page .rest-support-card h3 {
        margin-bottom: 7px !important;
        font-size: 15px !important;
    }

    .transport-rest-facility-change-page .rest-support-card p {
        font-size: 12px !important;
        line-height: 1.75 !important;
    }
}
/* =========================================================
   営業所・車庫等の複数施設同時変更ページ
   最終レイアウト調整
   style.css の一番最後に追加
========================================================= */

/* SUPPORT：PC 3列 */
.transport-facility-change-page .facility-support-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.transport-facility-change-page .facility-support-card {
    min-width: 0;
    padding: 28px 24px;
    background: #fff;
    border: 1px solid var(--border, #d9dee7);
}

.transport-facility-change-page .facility-support-card__num {
    display: block;
    margin-bottom: 14px;
    color: var(--gold, #c5a253);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .08em;
}

.transport-facility-change-page .facility-support-card h3 {
    margin: 0 0 12px;
    color: var(--deep-navy, #061f42);
    font-size: 18px;
    line-height: 1.55;
    font-weight: 700;
}

.transport-facility-change-page .facility-support-card p {
    margin: 0;
    color: var(--text, #17243a);
    font-size: 14px;
    line-height: 1.85;
}

/* スマホ */
@media screen and (max-width: 767px) {

    /* CHECK POINTを少しコンパクトに */
    .transport-facility-change-page .facility-check-section .ts-grid {
        gap: 9px !important;
    }

    .transport-facility-change-page .facility-check-section .ts-card {
        min-height: 0 !important;
        padding: 15px 14px !important;
    }

    .transport-facility-change-page .facility-check-section .ts-card__num {
        margin-bottom: 5px !important;
        font-size: 9px !important;
    }

    .transport-facility-change-page .facility-check-section .ts-card h3 {
        margin-bottom: 6px !important;
        font-size: 14px !important;
        line-height: 1.5 !important;
    }

    .transport-facility-change-page .facility-check-section .ts-card p {
        margin-bottom: 0 !important;
        font-size: 12px !important;
        line-height: 1.7 !important;
    }

    /* SUPPORT：スマホ 1列 */
    .transport-facility-change-page .facility-support-grid {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }

    .transport-facility-change-page .facility-support-card {
        padding: 18px 16px !important;
    }

    .transport-facility-change-page .facility-support-card__num {
        margin-bottom: 8px !important;
        font-size: 10px !important;
    }

    .transport-facility-change-page .facility-support-card h3 {
        margin-bottom: 7px !important;
        font-size: 15px !important;
    }

    .transport-facility-change-page .facility-support-card p {
        font-size: 12px !important;
        line-height: 1.75 !important;
    }
}
/* =========================================================
   増車・減車手続ページ
   最終レイアウト調整
   style.css の一番最後に追加
========================================================= */

/* お悩みカード：営業所ページと同じ見え方 */
.transport-vehicle-change-page .vehicle-worries-section .ts-grid {
    gap: 12px;
}

.transport-vehicle-change-page .vehicle-worries-section .ts-card {
    min-height: 105px !important;
    padding: 17px 18px !important;
}

.transport-vehicle-change-page .vehicle-worries-section .ts-card p {
    margin: 0 !important;
    color: #17243a !important;
    font-weight: 700 !important;
    line-height: 1.6 !important;
}

/* SUPPORT：PCは3列 */
.transport-vehicle-change-page .vehicle-support-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.transport-vehicle-change-page .vehicle-support-card {
    min-width: 0;
    padding: 28px 24px;
    background: #fff;
    border: 1px solid var(--border, #d9dee7);
}

.transport-vehicle-change-page .vehicle-support-card__num {
    display: block;
    margin-bottom: 14px;
    color: var(--gold, #c5a253);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .08em;
}

.transport-vehicle-change-page .vehicle-support-card h3 {
    margin: 0 0 12px;
    color: var(--deep-navy, #061f42);
    font-size: 18px;
    line-height: 1.55;
    font-weight: 700;
}

.transport-vehicle-change-page .vehicle-support-card p {
    margin: 0;
    color: var(--text, #17243a);
    font-size: 14px;
    line-height: 1.85;
}

/* =========================================================
   スマホ
========================================================= */
@media screen and (max-width: 767px) {

    /* お悩みカードを少しコンパクトに */
    .transport-vehicle-change-page .vehicle-worries-section .ts-grid {
        gap: 8px !important;
    }

    .transport-vehicle-change-page .vehicle-worries-section .ts-card {
        min-height: 0 !important;
        padding: 13px 14px !important;
    }

    .transport-vehicle-change-page .vehicle-worries-section .ts-card__num {
        margin-bottom: 5px !important;
        font-size: 9px !important;
    }

    .transport-vehicle-change-page .vehicle-worries-section .ts-card p {
        margin: 0 !important;
        color: #17243a !important;
        font-size: 12px !important;
        font-weight: 700 !important;
        line-height: 1.6 !important;
    }

    /* CHECK POINTカードを少しコンパクトに */
    .transport-vehicle-change-page .vehicle-check-section .ts-grid {
        gap: 9px !important;
    }

    .transport-vehicle-change-page .vehicle-check-section .ts-card {
        min-height: 0 !important;
        padding: 15px 14px !important;
    }

    .transport-vehicle-change-page .vehicle-check-section .ts-card__num {
        margin-bottom: 5px !important;
        font-size: 9px !important;
    }

    .transport-vehicle-change-page .vehicle-check-section .ts-card h3 {
        margin-bottom: 6px !important;
        font-size: 14px !important;
        line-height: 1.5 !important;
    }

    .transport-vehicle-change-page .vehicle-check-section .ts-card p {
        margin-bottom: 0 !important;
        font-size: 12px !important;
        line-height: 1.7 !important;
    }

    /* SUPPORT：スマホは1列 */
    .transport-vehicle-change-page .vehicle-support-grid {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }

    .transport-vehicle-change-page .vehicle-support-card {
        padding: 18px 16px !important;
    }

    .transport-vehicle-change-page .vehicle-support-card__num {
        margin-bottom: 8px !important;
        font-size: 10px !important;
    }

    .transport-vehicle-change-page .vehicle-support-card h3 {
        margin-bottom: 7px !important;
        font-size: 15px !important;
    }

    .transport-vehicle-change-page .vehicle-support-card p {
        font-size: 12px !important;
        line-height: 1.75 !important;
    }
}
/* =========================================================
   各種変更届ページ
   最終レイアウト調整
   style.css の一番最後に追加
========================================================= */

/* SUPPORT：PCは3列 */
.transport-change-notification-page .change-support-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.transport-change-notification-page .change-support-card {
    min-width: 0;
    padding: 28px 24px;
    background: #fff;
    border: 1px solid var(--border, #d9dee7);
}

.transport-change-notification-page .change-support-card__num {
    display: block;
    margin-bottom: 14px;
    color: var(--gold, #c5a253);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .08em;
}

.transport-change-notification-page .change-support-card h3 {
    margin: 0 0 12px;
    color: var(--deep-navy, #061f42);
    font-size: 18px;
    line-height: 1.55;
    font-weight: 700;
}

.transport-change-notification-page .change-support-card p {
    margin: 0;
    color: var(--text, #17243a);
    font-size: 14px;
    line-height: 1.85;
}

/* =========================================================
   スマホ
========================================================= */
@media screen and (max-width: 767px) {

    /* 主な変更手続カードを少しコンパクトに */
    .transport-change-notification-page .change-examples-section .ts-grid {
        gap: 9px !important;
    }

    .transport-change-notification-page .change-examples-section .ts-card {
        min-height: 0 !important;
        padding: 15px 14px !important;
    }

    .transport-change-notification-page .change-examples-section .ts-card__num {
        margin-bottom: 5px !important;
        font-size: 9px !important;
    }

    .transport-change-notification-page .change-examples-section .ts-card h3 {
        margin-bottom: 6px !important;
        font-size: 14px !important;
        line-height: 1.5 !important;
    }

    .transport-change-notification-page .change-examples-section .ts-card p {
        margin-bottom: 0 !important;
        font-size: 12px !important;
        line-height: 1.7 !important;
    }

    /* SUPPORT：スマホは1列 */
    .transport-change-notification-page .change-support-grid {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }

    .transport-change-notification-page .change-support-card {
        padding: 18px 16px !important;
    }

    .transport-change-notification-page .change-support-card__num {
        margin-bottom: 8px !important;
        font-size: 10px !important;
    }

    .transport-change-notification-page .change-support-card h3 {
        margin-bottom: 7px !important;
        font-size: 15px !important;
    }

    .transport-change-notification-page .change-support-card p {
        font-size: 12px !important;
        line-height: 1.75 !important;
    }
}
/* =========================================================
   建設業許可ページ
   スマホ最終コンパクト調整
   PC版には影響しません
   style.css の一番最後に追加
========================================================= */

@media screen and (max-width: 767px) {

    /* =====================================================
       建設業ページ全体：セクション間を少し詰める
    ===================================================== */
    .construction-page .section-space {
        padding-top: 46px !important;
        padding-bottom: 46px !important;
    }

    .construction-page .section-title {
        margin-bottom: 24px !important;
    }

    .construction-page .section-title__en {
        margin-bottom: 6px !important;
    }

    .construction-page .section-title h2 {
        margin-bottom: 0 !important;
    }


    /* =====================================================
       こんなお悩みありませんか？
       カードを少し小さく
    ===================================================== */
    .construction-page .transport-worries__grid {
        gap: 8px !important;
    }

    .construction-page .transport-worry-card {
        min-height: 0 !important;
        padding: 13px 14px !important;
    }

    .construction-page .transport-worry-card__number {
        margin-bottom: 5px !important;
        font-size: 9px !important;
    }

    .construction-page .transport-worry-card p {
        margin: 0 !important;
        font-size: 12px !important;
        line-height: 1.6 !important;
    }

    .construction-page .transport-worries__message {
        margin-top: 20px !important;
    }


    /* =====================================================
       建設業ページ内のカード類
       上下余白を少し圧縮
    ===================================================== */
    .construction-page [class*="card"],
    .construction-page [class*="box"] {
        min-height: 0;
    }

    .construction-page .transport-point-card,
    .construction-page .transport-service-card,
    .construction-page .transport-benefit-card,
    .construction-page .transport-reason-card {
        padding-top: 16px !important;
        padding-bottom: 16px !important;
    }


    /* =====================================================
       料金
       行間を少しコンパクトに
    ===================================================== */
    .construction-page .transport-price-row {
        min-height: 0 !important;
        padding-top: 11px !important;
        padding-bottom: 11px !important;
    }

    .construction-page .transport-price-note {
        margin-top: 14px !important;
        line-height: 1.65 !important;
    }


    /* =====================================================
       フッター
       構成は変えず、縦の長さだけ少し縮める
    ===================================================== */
    .site-footer .site-footer__inner {
        padding-top: 26px !important;
        padding-bottom: 24px !important;
        row-gap: 24px !important;
    }

    .site-footer .footer-column > h3,
    .site-footer .footer-support > h3 {
        margin-bottom: 9px !important;
    }

    .site-footer .footer-services a,
    .site-footer .footer-guide a {
        margin-bottom: 5px !important;
        line-height: 1.5 !important;
    }

    .site-footer .footer-support > h3 {
        margin-bottom: 12px !important;
    }

    .site-footer .footer-support__grid {
        row-gap: 18px !important;
    }

    .site-footer .footer-support__title {
        margin-bottom: 6px !important;
    }

    .site-footer .footer-support__group a,
    .site-footer .footer-support__group:first-child a {
        margin-bottom: 4px !important;
        line-height: 1.45 !important;
    }

    /* LINE QR周辺 */
    .site-footer .footer-qr {
        padding-top: 0 !important;
    }

    .site-footer .footer-qr__image,
    .site-footer .footer-qr__box {
        width: 115px !important;
        height: 115px !important;
        max-width: 115px !important;
    }

    .site-footer .footer-qr__lead {
        margin-top: 8px !important;
        margin-bottom: 5px !important;
        line-height: 1.5 !important;
    }

    .site-footer .footer-line-link {
        margin-top: 4px !important;
    }

    /* 初回相談ボックス */
    .site-footer .footer-consultation {
        padding: 18px 14px !important;
    }

    .site-footer .footer-consultation__lead {
        margin-bottom: 7px !important;
    }

    .site-footer .footer-consultation__text {
        margin-bottom: 7px !important;
        line-height: 1.5 !important;
    }

    .site-footer .footer-consultation__small {
        margin-bottom: 10px !important;
        line-height: 1.5 !important;
    }

    .site-footer .footer-consultation__buttons {
        gap: 7px !important;
    }

    .site-footer__bottom {
        padding-top: 13px !important;
        padding-bottom: 13px !important;
    }
}


/* 小さいスマホではさらに少しだけ詰める */
@media screen and (max-width: 390px) {

    .construction-page .section-space {
        padding-top: 42px !important;
        padding-bottom: 42px !important;
    }

    .site-footer .site-footer__inner {
        row-gap: 21px !important;
    }

    .site-footer .footer-support__grid {
        row-gap: 16px !important;
    }

    .site-footer .footer-qr__image,
    .site-footer .footer-qr__box {
        width: 110px !important;
        height: 110px !important;
        max-width: 110px !important;
    }
}
/* =========================================================
   建設業許可・新規申請ページ
   スマホ最終コンパクト調整
   PC表示は変更しません
========================================================= */

@media (max-width: 767px) {

    /* -----------------------------------------
       FV：縦方向を少しコンパクトに
    ----------------------------------------- */
    .construction-new-page .cs-hero,
    .construction-new-page .construction-hero,
    .construction-new-page .ts-hero {
        padding-top: 34px !important;
        padding-bottom: 30px !important;
    }

    .construction-new-page .cs-hero__inner,
    .construction-new-page .construction-hero__inner,
    .construction-new-page .ts-hero__inner {
        gap: 24px !important;
    }

    .construction-new-page .cs-hero__text,
    .construction-new-page .construction-hero__text,
    .construction-new-page .ts-hero__text {
        margin-top: 14px !important;
        margin-bottom: 16px !important;
    }

    .construction-new-page .cs-badges,
    .construction-new-page .construction-badges,
    .construction-new-page .ts-badges {
        margin-top: 14px !important;
        margin-bottom: 16px !important;
        gap: 8px !important;
    }

    .construction-new-page .cs-buttons,
    .construction-new-page .construction-buttons,
    .construction-new-page .ts-buttons {
        gap: 10px !important;
    }

    .construction-new-page .cs-hero__image,
    .construction-new-page .construction-hero__image,
    .construction-new-page .ts-hero__image {
        margin-top: 0 !important;
    }

    /* -----------------------------------------
       FV直下ミニCTA
    ----------------------------------------- */
    .construction-new-page .cs-mini,
    .construction-new-page .construction-mini,
    .construction-new-page .ts-mini {
        padding-top: 12px !important;
        padding-bottom: 12px !important;
    }

    .construction-new-page .cs-mini__inner,
    .construction-new-page .construction-mini__inner,
    .construction-new-page .ts-mini__inner {
        gap: 8px !important;
    }

    /* -----------------------------------------
       セクション全体の余白を少し圧縮
    ----------------------------------------- */
    .construction-new-page .cs-section,
    .construction-new-page .construction-section,
    .construction-new-page .ts-section {
        padding-top: 52px !important;
        padding-bottom: 52px !important;
    }

    /* INTROは少しだけゆったり残す */
    .construction-new-page .cs-intro,
    .construction-new-page .construction-intro,
    .construction-new-page .ts-intro {
        padding-top: 46px !important;
        padding-bottom: 46px !important;
    }

    /* -----------------------------------------
       セクション見出し
    ----------------------------------------- */
    .construction-new-page .cs-heading,
    .construction-new-page .construction-heading,
    .construction-new-page .ts-heading {
        margin-bottom: 24px !important;
    }

    /* -----------------------------------------
       CHECK POINTカード
       上下paddingを15～20％程度圧縮
    ----------------------------------------- */
    .construction-new-page .cs-card,
    .construction-new-page .construction-card,
    .construction-new-page .ts-card {
        padding: 20px 18px !important;
        min-height: 0 !important;
    }

    .construction-new-page .cs-card h3,
    .construction-new-page .construction-card h3,
    .construction-new-page .ts-card h3 {
        margin-top: 8px !important;
        margin-bottom: 8px !important;
    }

    .construction-new-page .cs-card p,
    .construction-new-page .construction-card p,
    .construction-new-page .ts-card p {
        margin-bottom: 0 !important;
    }

    .construction-new-page .cs-grid,
    .construction-new-page .construction-grid,
    .construction-new-page .ts-grid {
        gap: 12px !important;
    }

    /* -----------------------------------------
       FLOW
    ----------------------------------------- */
    .construction-new-page .cs-flow,
    .construction-new-page .construction-flow,
    .construction-new-page .ts-flow {
        gap: 0 !important;
    }

    .construction-new-page .cs-step,
    .construction-new-page .construction-step,
    .construction-new-page .ts-step {
        padding-top: 14px !important;
        padding-bottom: 14px !important;
    }

    /* -----------------------------------------
       PRICE
    ----------------------------------------- */
    .construction-new-page .cs-price,
    .construction-new-page .construction-price,
    .construction-new-page .ts-price {
        padding: 20px 16px !important;
    }

    /* -----------------------------------------
       FAQ / RELATED
       現在の見やすさは維持しつつ少しだけ圧縮
    ----------------------------------------- */
    .construction-new-page .cs-faq details,
    .construction-new-page .construction-faq details,
    .construction-new-page .ts-faq details {
        margin-bottom: 8px !important;
    }

    .construction-new-page .cs-related,
    .construction-new-page .construction-related,
    .construction-new-page .ts-related {
        gap: 10px !important;
    }

    /* -----------------------------------------
       最終CTA
       高さだけ少し圧縮
    ----------------------------------------- */
    .construction-new-page .cs-final,
    .construction-new-page .construction-final,
    .construction-new-page .ts-final {
        padding-top: 48px !important;
        padding-bottom: 48px !important;
    }
}


/* 390px以下はさらに少しだけコンパクト */
@media (max-width: 390px) {

    .construction-new-page .cs-hero,
    .construction-new-page .construction-hero,
    .construction-new-page .ts-hero {
        padding-top: 28px !important;
        padding-bottom: 26px !important;
    }

    .construction-new-page .cs-section,
    .construction-new-page .construction-section,
    .construction-new-page .ts-section {
        padding-top: 46px !important;
        padding-bottom: 46px !important;
    }

    .construction-new-page .cs-card,
    .construction-new-page .construction-card,
    .construction-new-page .ts-card {
        padding: 18px 16px !important;
    }

    .construction-new-page .cs-step,
    .construction-new-page .construction-step,
    .construction-new-page .ts-step {
        padding-top: 12px !important;
        padding-bottom: 12px !important;
    }
}
/* =========================================================
   建設業許可・更新申請ページ
   スマホ最終コンパクト調整
   PC表示は変更しません
========================================================= */

@media (max-width: 767px) {

    /* FV */
    .construction-renewal-page .cs-hero,
    .construction-renewal-page .construction-hero,
    .construction-renewal-page .ts-hero {
        padding-top: 34px !important;
        padding-bottom: 30px !important;
    }

    .construction-renewal-page .cs-hero__inner,
    .construction-renewal-page .construction-hero__inner,
    .construction-renewal-page .ts-hero__inner {
        gap: 24px !important;
    }

    .construction-renewal-page .cs-hero__text,
    .construction-renewal-page .construction-hero__text,
    .construction-renewal-page .ts-hero__text {
        margin-top: 14px !important;
        margin-bottom: 16px !important;
    }

    .construction-renewal-page .cs-badges,
    .construction-renewal-page .construction-badges,
    .construction-renewal-page .ts-badges {
        margin-top: 14px !important;
        margin-bottom: 16px !important;
        gap: 8px !important;
    }

    .construction-renewal-page .cs-buttons,
    .construction-renewal-page .construction-buttons,
    .construction-renewal-page .ts-buttons {
        gap: 10px !important;
    }

    .construction-renewal-page .cs-hero__image,
    .construction-renewal-page .construction-hero__image,
    .construction-renewal-page .ts-hero__image {
        margin-top: 0 !important;
    }

    /* FV直下のミニCTA */
    .construction-renewal-page .cs-mini,
    .construction-renewal-page .construction-mini,
    .construction-renewal-page .ts-mini {
        padding-top: 12px !important;
        padding-bottom: 12px !important;
    }

    .construction-renewal-page .cs-mini__inner,
    .construction-renewal-page .construction-mini__inner,
    .construction-renewal-page .ts-mini__inner {
        gap: 8px !important;
    }

    /* セクション間隔 */
    .construction-renewal-page .cs-section,
    .construction-renewal-page .construction-section,
    .construction-renewal-page .ts-section {
        padding-top: 52px !important;
        padding-bottom: 52px !important;
    }

    .construction-renewal-page .cs-intro,
    .construction-renewal-page .construction-intro,
    .construction-renewal-page .ts-intro {
        padding-top: 46px !important;
        padding-bottom: 46px !important;
    }

    /* 見出し */
    .construction-renewal-page .cs-heading,
    .construction-renewal-page .construction-heading,
    .construction-renewal-page .ts-heading {
        margin-bottom: 24px !important;
    }

    /* CHECK POINT */
    .construction-renewal-page .cs-card,
    .construction-renewal-page .construction-card,
    .construction-renewal-page .ts-card {
        padding: 20px 18px !important;
        min-height: 0 !important;
    }

    .construction-renewal-page .cs-card h3,
    .construction-renewal-page .construction-card h3,
    .construction-renewal-page .ts-card h3 {
        margin-top: 8px !important;
        margin-bottom: 8px !important;
    }

    .construction-renewal-page .cs-card p,
    .construction-renewal-page .construction-card p,
    .construction-renewal-page .ts-card p {
        margin-bottom: 0 !important;
    }

    .construction-renewal-page .cs-grid,
    .construction-renewal-page .construction-grid,
    .construction-renewal-page .ts-grid {
        gap: 12px !important;
    }

    /* 注意・補足ボックス */
    .construction-renewal-page .cs-box,
    .construction-renewal-page .construction-box,
    .construction-renewal-page .ts-box {
        padding: 20px 18px !important;
    }

    /* FLOW */
    .construction-renewal-page .cs-flow,
    .construction-renewal-page .construction-flow,
    .construction-renewal-page .ts-flow {
        gap: 0 !important;
    }

    .construction-renewal-page .cs-step,
    .construction-renewal-page .construction-step,
    .construction-renewal-page .ts-step {
        padding-top: 14px !important;
        padding-bottom: 14px !important;
    }

    /* PRICE */
    .construction-renewal-page .cs-price,
    .construction-renewal-page .construction-price,
    .construction-renewal-page .ts-price {
        padding: 20px 16px !important;
    }

    /* FAQ / RELATED */
    .construction-renewal-page .cs-faq details,
    .construction-renewal-page .construction-faq details,
    .construction-renewal-page .ts-faq details {
        margin-bottom: 8px !important;
    }

    .construction-renewal-page .cs-related,
    .construction-renewal-page .construction-related,
    .construction-renewal-page .ts-related {
        gap: 10px !important;
    }

    /* 最終CTA */
    .construction-renewal-page .cs-final,
    .construction-renewal-page .construction-final,
    .construction-renewal-page .ts-final {
        padding-top: 48px !important;
        padding-bottom: 48px !important;
    }
}


/* 390px以下 */
@media (max-width: 390px) {

    .construction-renewal-page .cs-hero,
    .construction-renewal-page .construction-hero,
    .construction-renewal-page .ts-hero {
        padding-top: 28px !important;
        padding-bottom: 26px !important;
    }

    .construction-renewal-page .cs-section,
    .construction-renewal-page .construction-section,
    .construction-renewal-page .ts-section {
        padding-top: 46px !important;
        padding-bottom: 46px !important;
    }

    .construction-renewal-page .cs-card,
    .construction-renewal-page .construction-card,
    .construction-renewal-page .ts-card {
        padding: 18px 16px !important;
    }

    .construction-renewal-page .cs-box,
    .construction-renewal-page .construction-box,
    .construction-renewal-page .ts-box {
        padding: 18px 16px !important;
    }

    .construction-renewal-page .cs-step,
    .construction-renewal-page .construction-step,
    .construction-renewal-page .ts-step {
        padding-top: 12px !important;
        padding-bottom: 12px !important;
    }
}
/* =========================================================
   建設業許可・業種追加ページ
   スマホ最終コンパクト調整
   PC表示は変更しません
========================================================= */

@media (max-width: 767px) {

    /* FV */
    .construction-add-category-page .cs-hero {
        padding-top: 34px !important;
        padding-bottom: 30px !important;
    }

    .construction-add-category-page .cs-hero__inner {
        gap: 24px !important;
    }

    .construction-add-category-page .cs-hero__text {
        margin-top: 14px !important;
        margin-bottom: 16px !important;
    }

    .construction-add-category-page .cs-badges {
        margin-top: 14px !important;
        margin-bottom: 16px !important;
        gap: 8px !important;
    }

    .construction-add-category-page .cs-buttons {
        gap: 10px !important;
    }

    .construction-add-category-page .cs-hero__image {
        margin-top: 0 !important;
    }

    /* FV直下ミニCTA */
    .construction-add-category-page .cs-mini {
        padding-top: 12px !important;
        padding-bottom: 12px !important;
    }

    .construction-add-category-page .cs-mini__inner {
        gap: 8px !important;
    }

    /* セクション余白 */
    .construction-add-category-page .cs-section {
        padding-top: 52px !important;
        padding-bottom: 52px !important;
    }

    .construction-add-category-page .cs-intro {
        padding-top: 46px !important;
        padding-bottom: 46px !important;
    }

    /* 見出し */
    .construction-add-category-page .cs-heading {
        margin-bottom: 24px !important;
    }

    /* CHECK POINTカード */
    .construction-add-category-page .cs-grid {
        gap: 12px !important;
    }

    .construction-add-category-page .cs-card {
        padding: 20px 18px !important;
        min-height: 0 !important;
    }

    .construction-add-category-page .cs-card h3 {
        margin-top: 8px !important;
        margin-bottom: 8px !important;
    }

    .construction-add-category-page .cs-card p {
        margin-bottom: 0 !important;
    }

    /* FLOW */
    .construction-add-category-page .cs-flow {
        gap: 0 !important;
    }

    .construction-add-category-page .cs-step {
        padding-top: 14px !important;
        padding-bottom: 14px !important;
    }

    /* PRICE */
    .construction-add-category-page .cs-price {
        padding: 20px 16px !important;
    }

    /* FAQ */
    .construction-add-category-page .cs-faq details {
        margin-bottom: 8px !important;
    }

    /* RELATED */
    .construction-add-category-page .cs-related {
        gap: 10px !important;
    }

    /* 最終CTA */
    .construction-add-category-page .cs-final {
        padding-top: 48px !important;
        padding-bottom: 48px !important;
    }
}


/* 390px以下 */
@media (max-width: 390px) {

    .construction-add-category-page .cs-hero {
        padding-top: 28px !important;
        padding-bottom: 26px !important;
    }

    .construction-add-category-page .cs-section {
        padding-top: 46px !important;
        padding-bottom: 46px !important;
    }

    .construction-add-category-page .cs-card {
        padding: 18px 16px !important;
    }

    .construction-add-category-page .cs-step {
        padding-top: 12px !important;
        padding-bottom: 12px !important;
    }
}
/* =========================================================
   建設業許可・決算変更届ページ
   スマホ最終コンパクト調整
   PC表示は変更しません
========================================================= */

@media (max-width: 767px) {

    /* FV */
    .construction-financial-report-page .cs-hero {
        padding-top: 34px !important;
        padding-bottom: 30px !important;
    }

    .construction-financial-report-page .cs-hero__inner {
        gap: 24px !important;
    }

    .construction-financial-report-page .cs-hero__text {
        margin-top: 14px !important;
        margin-bottom: 16px !important;
    }

    .construction-financial-report-page .cs-badges {
        margin-top: 14px !important;
        margin-bottom: 16px !important;
        gap: 8px !important;
    }

    .construction-financial-report-page .cs-buttons {
        gap: 10px !important;
    }

    .construction-financial-report-page .cs-hero__image {
        margin-top: 0 !important;
    }

    /* FV直下ミニCTA */
    .construction-financial-report-page .cs-mini {
        padding-top: 12px !important;
        padding-bottom: 12px !important;
    }

    .construction-financial-report-page .cs-mini__inner {
        gap: 8px !important;
    }

    /* セクション余白 */
    .construction-financial-report-page .cs-section {
        padding-top: 52px !important;
        padding-bottom: 52px !important;
    }

    .construction-financial-report-page .cs-intro {
        padding-top: 46px !important;
        padding-bottom: 46px !important;
    }

    /* 見出し */
    .construction-financial-report-page .cs-heading {
        margin-bottom: 24px !important;
    }

    /* CHECK POINT */
    .construction-financial-report-page .cs-grid {
        gap: 12px !important;
    }

    .construction-financial-report-page .cs-card {
        padding: 20px 18px !important;
        min-height: 0 !important;
    }

    .construction-financial-report-page .cs-card h3 {
        margin-top: 8px !important;
        margin-bottom: 8px !important;
    }

    .construction-financial-report-page .cs-card p {
        margin-bottom: 0 !important;
    }

    /* FLOW */
    .construction-financial-report-page .cs-flow {
        gap: 0 !important;
    }

    .construction-financial-report-page .cs-step {
        padding-top: 14px !important;
        padding-bottom: 14px !important;
    }

    /* PRICE */
    .construction-financial-report-page .cs-price {
        padding: 20px 16px !important;
    }

    /* FAQ */
    .construction-financial-report-page .cs-faq details {
        margin-bottom: 8px !important;
    }

    /* RELATED */
    .construction-financial-report-page .cs-related {
        gap: 10px !important;
    }

    /* 最終CTA */
    .construction-financial-report-page .cs-final {
        padding-top: 48px !important;
        padding-bottom: 48px !important;
    }
}


/* 390px以下 */
@media (max-width: 390px) {

    .construction-financial-report-page .cs-hero {
        padding-top: 28px !important;
        padding-bottom: 26px !important;
    }

    .construction-financial-report-page .cs-section {
        padding-top: 46px !important;
        padding-bottom: 46px !important;
    }

    .construction-financial-report-page .cs-card {
        padding: 18px 16px !important;
    }

    .construction-financial-report-page .cs-step {
        padding-top: 12px !important;
        padding-bottom: 12px !important;
    }
}
/* =========================================================
   建設業許可・各種変更届ページ
   スマホ最終コンパクト調整
   PC表示は変更しません
========================================================= */

@media (max-width: 767px) {

    .construction-change-notification-page .cs-hero {
        padding-top: 34px !important;
        padding-bottom: 30px !important;
    }

    .construction-change-notification-page .cs-hero__inner {
        gap: 24px !important;
    }

    .construction-change-notification-page .cs-hero__text {
        margin-top: 14px !important;
        margin-bottom: 16px !important;
    }

    .construction-change-notification-page .cs-badges {
        margin-top: 14px !important;
        margin-bottom: 16px !important;
        gap: 8px !important;
    }

    .construction-change-notification-page .cs-buttons {
        gap: 10px !important;
    }

    .construction-change-notification-page .cs-hero__image {
        margin-top: 0 !important;
    }

    .construction-change-notification-page .cs-mini {
        padding-top: 12px !important;
        padding-bottom: 12px !important;
    }

    .construction-change-notification-page .cs-mini__inner {
        gap: 8px !important;
    }

    .construction-change-notification-page .cs-section {
        padding-top: 52px !important;
        padding-bottom: 52px !important;
    }

    .construction-change-notification-page .cs-intro {
        padding-top: 46px !important;
        padding-bottom: 46px !important;
    }

    .construction-change-notification-page .cs-heading {
        margin-bottom: 24px !important;
    }

    .construction-change-notification-page .cs-grid {
        gap: 12px !important;
    }

    .construction-change-notification-page .cs-card {
        padding: 20px 18px !important;
        min-height: 0 !important;
    }

    .construction-change-notification-page .cs-card h3 {
        margin-top: 8px !important;
        margin-bottom: 8px !important;
    }

    .construction-change-notification-page .cs-card p {
        margin-bottom: 0 !important;
    }

    .construction-change-notification-page .cs-flow {
        gap: 0 !important;
    }

    .construction-change-notification-page .cs-step {
        padding-top: 14px !important;
        padding-bottom: 14px !important;
    }

    .construction-change-notification-page .cs-price {
        padding: 0 !important;
    }

    .construction-change-notification-page .cs-price__row {
        padding: 18px 16px !important;
        gap: 8px !important;
    }

    .construction-change-notification-page .cs-price__row + .cs-price__row {
        border-top: 1px solid #d9dee7 !important;
    }

    .construction-change-notification-page .cs-faq details {
        margin-bottom: 8px !important;
    }

    .construction-change-notification-page .cs-related {
        gap: 10px !important;
    }

    .construction-change-notification-page .cs-final {
        padding-top: 48px !important;
        padding-bottom: 48px !important;
    }
}

@media (max-width: 390px) {

    .construction-change-notification-page .cs-hero {
        padding-top: 28px !important;
        padding-bottom: 26px !important;
    }

    .construction-change-notification-page .cs-section {
        padding-top: 46px !important;
        padding-bottom: 46px !important;
    }

    .construction-change-notification-page .cs-card {
        padding: 18px 16px !important;
    }

    .construction-change-notification-page .cs-step {
        padding-top: 12px !important;
        padding-bottom: 12px !important;
    }

    .construction-change-notification-page .cs-price__row {
        padding: 16px 14px !important;
    }
}
/* =========================================================
   産業廃棄物収集運搬業・新規許可ページ
   スマホ最終コンパクト調整
   PC表示は変更しません
========================================================= */

@media (max-width: 767px) {

    /* FV */
    .industrial-waste-new-page .cs-hero {
        padding-top: 34px !important;
        padding-bottom: 30px !important;
    }

    .industrial-waste-new-page .cs-hero__inner {
        gap: 24px !important;
    }

    .industrial-waste-new-page .cs-hero__text {
        margin-top: 14px !important;
        margin-bottom: 16px !important;
    }

    .industrial-waste-new-page .cs-badges {
        margin-top: 14px !important;
        margin-bottom: 16px !important;
        gap: 8px !important;
    }

    .industrial-waste-new-page .cs-buttons {
        gap: 10px !important;
    }

    .industrial-waste-new-page .cs-hero__image {
        margin-top: 0 !important;
    }

    /* FV直下CTA */
    .industrial-waste-new-page .cs-mini {
        padding-top: 12px !important;
        padding-bottom: 12px !important;
    }

    .industrial-waste-new-page .cs-mini__inner {
        gap: 8px !important;
    }

    /* 各セクション */
    .industrial-waste-new-page .cs-section {
        padding-top: 52px !important;
        padding-bottom: 52px !important;
    }

    .industrial-waste-new-page .cs-intro {
        padding-top: 46px !important;
        padding-bottom: 46px !important;
    }

    .industrial-waste-new-page .cs-heading {
        margin-bottom: 24px !important;
    }

    /* CHECK POINT */
    .industrial-waste-new-page .cs-grid {
        gap: 12px !important;
    }

    .industrial-waste-new-page .cs-card {
        padding: 20px 18px !important;
        min-height: 0 !important;
    }

    .industrial-waste-new-page .cs-card h3 {
        margin-top: 8px !important;
        margin-bottom: 8px !important;
    }

    .industrial-waste-new-page .cs-card p {
        margin-bottom: 0 !important;
    }

    /* IMPORTANT */
    .industrial-waste-new-page .cs-box {
        padding-top: 18px !important;
        padding-bottom: 18px !important;
    }

    /* FLOW */
    .industrial-waste-new-page .cs-flow {
        gap: 0 !important;
    }

    .industrial-waste-new-page .cs-step {
        padding-top: 14px !important;
        padding-bottom: 14px !important;
    }

    /* PRICE */
    .industrial-waste-new-page .cs-price {
        padding: 20px 16px !important;
    }

    /* FAQ */
    .industrial-waste-new-page .cs-faq details {
        margin-bottom: 8px !important;
    }

    /* RELATED */
    .industrial-waste-new-page .cs-related {
        gap: 10px !important;
    }

    /* 最終CTA */
    .industrial-waste-new-page .cs-final {
        padding-top: 48px !important;
        padding-bottom: 48px !important;
    }
}


/* 390px以下 */
@media (max-width: 390px) {

    .industrial-waste-new-page .cs-hero {
        padding-top: 28px !important;
        padding-bottom: 26px !important;
    }

    .industrial-waste-new-page .cs-section {
        padding-top: 46px !important;
        padding-bottom: 46px !important;
    }

    .industrial-waste-new-page .cs-card {
        padding: 18px 16px !important;
    }

    .industrial-waste-new-page .cs-step {
        padding-top: 12px !important;
        padding-bottom: 12px !important;
    }

    .industrial-waste-new-page .cs-price {
        padding: 18px 14px !important;
    }

    .industrial-waste-new-page .cs-final {
        padding-top: 44px !important;
        padding-bottom: 44px !important;
    }
}
/* =========================================================
   産業廃棄物収集運搬業・更新ページ
   スマホ最終コンパクト調整
   PC表示は変更しません
========================================================= */

@media (max-width: 767px) {

    /* FV */
    .industrial-waste-renewal-page .cs-hero {
        padding-top: 34px !important;
        padding-bottom: 30px !important;
    }

    .industrial-waste-renewal-page .cs-hero__inner {
        gap: 24px !important;
    }

    .industrial-waste-renewal-page .cs-hero__text {
        margin-top: 14px !important;
        margin-bottom: 16px !important;
    }

    .industrial-waste-renewal-page .cs-badges {
        margin-top: 14px !important;
        margin-bottom: 16px !important;
        gap: 8px !important;
    }

    .industrial-waste-renewal-page .cs-buttons {
        gap: 10px !important;
    }

    .industrial-waste-renewal-page .cs-hero__image {
        margin-top: 0 !important;
    }

    /* FV直下CTA */
    .industrial-waste-renewal-page .cs-mini {
        padding-top: 12px !important;
        padding-bottom: 12px !important;
    }

    .industrial-waste-renewal-page .cs-mini__inner {
        gap: 8px !important;
    }

    /* 各セクション */
    .industrial-waste-renewal-page .cs-section {
        padding-top: 52px !important;
        padding-bottom: 52px !important;
    }

    .industrial-waste-renewal-page .cs-intro {
        padding-top: 46px !important;
        padding-bottom: 46px !important;
    }

    .industrial-waste-renewal-page .cs-heading {
        margin-bottom: 24px !important;
    }

    /* CHECK POINT */
    .industrial-waste-renewal-page .cs-grid {
        gap: 12px !important;
    }

    .industrial-waste-renewal-page .cs-card {
        padding: 20px 18px !important;
        min-height: 0 !important;
    }

    .industrial-waste-renewal-page .cs-card h3 {
        margin-top: 8px !important;
        margin-bottom: 8px !important;
    }

    .industrial-waste-renewal-page .cs-card p {
        margin-bottom: 0 !important;
    }

    /* IMPORTANT */
    .industrial-waste-renewal-page .cs-box {
        padding-top: 18px !important;
        padding-bottom: 18px !important;
    }

    /* FLOW */
    .industrial-waste-renewal-page .cs-flow {
        gap: 0 !important;
    }

    .industrial-waste-renewal-page .cs-step {
        padding-top: 14px !important;
        padding-bottom: 14px !important;
    }

    /* PRICE */
    .industrial-waste-renewal-page .cs-price {
        padding: 20px 16px !important;
    }

    /* FAQ */
    .industrial-waste-renewal-page .cs-faq details {
        margin-bottom: 8px !important;
    }

    /* RELATED */
    .industrial-waste-renewal-page .cs-related {
        gap: 10px !important;
    }

    /* 最終CTA */
    .industrial-waste-renewal-page .cs-final {
        padding-top: 48px !important;
        padding-bottom: 48px !important;
    }
}


/* 390px以下 */
@media (max-width: 390px) {

    .industrial-waste-renewal-page .cs-hero {
        padding-top: 28px !important;
        padding-bottom: 26px !important;
    }

    .industrial-waste-renewal-page .cs-section {
        padding-top: 46px !important;
        padding-bottom: 46px !important;
    }

    .industrial-waste-renewal-page .cs-card {
        padding: 18px 16px !important;
    }

    .industrial-waste-renewal-page .cs-step {
        padding-top: 12px !important;
        padding-bottom: 12px !important;
    }

    .industrial-waste-renewal-page .cs-price {
        padding: 18px 14px !important;
    }

    .industrial-waste-renewal-page .cs-final {
        padding-top: 44px !important;
        padding-bottom: 44px !important;
    }
}
/* =========================================================
   産業廃棄物収集運搬業・事業範囲変更ページ
   スマホ最終コンパクト調整
   PC表示は変更しません
========================================================= */

@media (max-width: 767px) {

    /* FV */
    .industrial-waste-change-page .cs-hero {
        padding-top: 34px !important;
        padding-bottom: 30px !important;
    }

    .industrial-waste-change-page .cs-hero__inner {
        gap: 24px !important;
    }

    .industrial-waste-change-page .cs-hero__text {
        margin-top: 14px !important;
        margin-bottom: 16px !important;
    }

    .industrial-waste-change-page .cs-badges {
        margin-top: 14px !important;
        margin-bottom: 16px !important;
        gap: 8px !important;
    }

    .industrial-waste-change-page .cs-buttons {
        gap: 10px !important;
    }

    .industrial-waste-change-page .cs-hero__image {
        margin-top: 0 !important;
    }

    /* FV直下CTA */
    .industrial-waste-change-page .cs-mini {
        padding-top: 12px !important;
        padding-bottom: 12px !important;
    }

    .industrial-waste-change-page .cs-mini__inner {
        gap: 8px !important;
    }

    /* 各セクション */
    .industrial-waste-change-page .cs-section {
        padding-top: 52px !important;
        padding-bottom: 52px !important;
    }

    .industrial-waste-change-page .cs-intro {
        padding-top: 46px !important;
        padding-bottom: 46px !important;
    }

    .industrial-waste-change-page .cs-heading {
        margin-bottom: 24px !important;
    }

    /* CHECK POINT */
    .industrial-waste-change-page .cs-grid {
        gap: 12px !important;
    }

    .industrial-waste-change-page .cs-card {
        padding: 20px 18px !important;
        min-height: 0 !important;
    }

    .industrial-waste-change-page .cs-card h3 {
        margin-top: 8px !important;
        margin-bottom: 8px !important;
    }

    .industrial-waste-change-page .cs-card p {
        margin-bottom: 0 !important;
    }

    /* IMPORTANT */
    .industrial-waste-change-page .cs-box {
        padding-top: 18px !important;
        padding-bottom: 18px !important;
    }

    /* FLOW */
    .industrial-waste-change-page .cs-flow {
        gap: 0 !important;
    }

    .industrial-waste-change-page .cs-step {
        padding-top: 14px !important;
        padding-bottom: 14px !important;
    }

    /* PRICE */
    .industrial-waste-change-page .cs-price {
        padding: 20px 16px !important;
    }

    /* FAQ */
    .industrial-waste-change-page .cs-faq details {
        margin-bottom: 8px !important;
    }

    /* RELATED */
    .industrial-waste-change-page .cs-related {
        gap: 10px !important;
    }

    /* 最終CTA */
    .industrial-waste-change-page .cs-final {
        padding-top: 48px !important;
        padding-bottom: 48px !important;
    }
}


/* 390px以下 */
@media (max-width: 390px) {

    .industrial-waste-change-page .cs-hero {
        padding-top: 28px !important;
        padding-bottom: 26px !important;
    }

    .industrial-waste-change-page .cs-section {
        padding-top: 46px !important;
        padding-bottom: 46px !important;
    }

    .industrial-waste-change-page .cs-card {
        padding: 18px 16px !important;
    }

    .industrial-waste-change-page .cs-step {
        padding-top: 12px !important;
        padding-bottom: 12px !important;
    }

    .industrial-waste-change-page .cs-price {
        padding: 18px 14px !important;
    }

    .industrial-waste-change-page .cs-final {
        padding-top: 44px !important;
        padding-bottom: 44px !important;
    }
}
/* =========================================================
   自動車・新規登録ページ
   スマホ最終コンパクト調整
   PC表示は変更しません
========================================================= */

@media (max-width: 767px) {

    /* FV */
    .car-new-page .cr-hero {
        padding-top: 34px !important;
        padding-bottom: 30px !important;
    }

    .car-new-page .cr-hero__inner {
        gap: 24px !important;
    }

    .car-new-page .cr-hero__text {
        margin-top: 14px !important;
        margin-bottom: 16px !important;
    }

    .car-new-page .cr-badges {
        margin-top: 14px !important;
        margin-bottom: 16px !important;
        gap: 8px !important;
    }

    .car-new-page .cr-buttons {
        gap: 10px !important;
    }

    .car-new-page .cr-hero__image {
        margin-top: 0 !important;
    }

    /* FV直下CTA */
    .car-new-page .cr-mini {
        padding-top: 12px !important;
        padding-bottom: 12px !important;
    }

    .car-new-page .cr-mini__inner {
        gap: 8px !important;
    }

    /* 各セクション */
    .car-new-page .cr-section {
        padding-top: 52px !important;
        padding-bottom: 52px !important;
    }

    .car-new-page .cr-intro {
        padding-top: 46px !important;
        padding-bottom: 46px !important;
    }

    .car-new-page .cr-heading {
        margin-bottom: 24px !important;
    }

    /* CASE / CHECK POINT */
    .car-new-page .cr-grid {
        gap: 12px !important;
    }

    .car-new-page .cr-card {
        padding: 20px 18px !important;
        min-height: 0 !important;
    }

    .car-new-page .cr-card h3 {
        margin-top: 8px !important;
        margin-bottom: 8px !important;
    }

    .car-new-page .cr-card p {
        margin-bottom: 0 !important;
    }

    /* DOCUMENTS / SUPPORT */
    .car-new-page .cr-box {
        padding-top: 18px !important;
        padding-bottom: 18px !important;
    }

    /* FLOW */
    .car-new-page .cr-flow {
        gap: 0 !important;
    }

    .car-new-page .cr-step {
        padding-top: 14px !important;
        padding-bottom: 14px !important;
    }

    /* PRICE */
    .car-new-page .cr-price {
        padding: 20px 16px !important;
    }

    /* FAQ */
    .car-new-page .cr-faq details {
        margin-bottom: 8px !important;
    }

    /* RELATED */
    .car-new-page .cr-related {
        gap: 10px !important;
    }

    /* 最終CTA */
    .car-new-page .cr-final {
        padding-top: 48px !important;
        padding-bottom: 48px !important;
    }
}


/* 390px以下 */
@media (max-width: 390px) {

    .car-new-page .cr-hero {
        padding-top: 28px !important;
        padding-bottom: 26px !important;
    }

    .car-new-page .cr-section {
        padding-top: 46px !important;
        padding-bottom: 46px !important;
    }

    .car-new-page .cr-card {
        padding: 18px 16px !important;
    }

    .car-new-page .cr-step {
        padding-top: 12px !important;
        padding-bottom: 12px !important;
    }

    .car-new-page .cr-price {
        padding: 18px 14px !important;
    }

    .car-new-page .cr-final {
        padding-top: 44px !important;
        padding-bottom: 44px !important;
    }
}
/* =========================================================
   自動車・移転登録（名義変更）ページ
   スマホ最終コンパクト調整
   PC表示は変更しません
========================================================= */

@media (max-width: 767px) {

    /* FV */
    .car-transfer-page .cr-hero {
        padding-top: 34px !important;
        padding-bottom: 30px !important;
    }

    .car-transfer-page .cr-hero__inner {
        gap: 24px !important;
    }

    .car-transfer-page .cr-hero__text {
        margin-top: 14px !important;
        margin-bottom: 16px !important;
    }

    .car-transfer-page .cr-badges {
        margin-top: 14px !important;
        margin-bottom: 16px !important;
        gap: 8px !important;
    }

    .car-transfer-page .cr-buttons {
        gap: 10px !important;
    }

    .car-transfer-page .cr-hero__image {
        margin-top: 0 !important;
    }

    /* FV直下CTA */
    .car-transfer-page .cr-mini {
        padding-top: 12px !important;
        padding-bottom: 12px !important;
    }

    .car-transfer-page .cr-mini__inner {
        gap: 8px !important;
    }

    /* 各セクション */
    .car-transfer-page .cr-section {
        padding-top: 52px !important;
        padding-bottom: 52px !important;
    }

    .car-transfer-page .cr-intro {
        padding-top: 46px !important;
        padding-bottom: 46px !important;
    }

    .car-transfer-page .cr-heading {
        margin-bottom: 24px !important;
    }

    /* CHECK POINT */
    .car-transfer-page .cr-grid {
        gap: 12px !important;
    }

    .car-transfer-page .cr-card {
        padding: 20px 18px !important;
        min-height: 0 !important;
    }

    .car-transfer-page .cr-card h3 {
        margin-top: 8px !important;
        margin-bottom: 8px !important;
    }

    .car-transfer-page .cr-card p {
        margin-bottom: 0 !important;
    }

    /* IMPORTANT */
    .car-transfer-page .cr-box {
        padding-top: 18px !important;
        padding-bottom: 18px !important;
    }

    /* FLOW */
    .car-transfer-page .cr-flow {
        gap: 0 !important;
    }

    .car-transfer-page .cr-step {
        padding-top: 14px !important;
        padding-bottom: 14px !important;
    }

    /* PRICE */
    .car-transfer-page .cr-price {
        padding: 20px 16px !important;
    }

    /* FAQ */
    .car-transfer-page .cr-faq details {
        margin-bottom: 8px !important;
    }

    /* RELATED */
    .car-transfer-page .cr-related {
        gap: 10px !important;
    }

    /* 最終CTA */
    .car-transfer-page .cr-final {
        padding-top: 48px !important;
        padding-bottom: 48px !important;
    }
}


/* 390px以下 */
@media (max-width: 390px) {

    .car-transfer-page .cr-hero {
        padding-top: 28px !important;
        padding-bottom: 26px !important;
    }

    .car-transfer-page .cr-section {
        padding-top: 46px !important;
        padding-bottom: 46px !important;
    }

    .car-transfer-page .cr-card {
        padding: 18px 16px !important;
    }

    .car-transfer-page .cr-step {
        padding-top: 12px !important;
        padding-bottom: 12px !important;
    }

    .car-transfer-page .cr-price {
        padding: 18px 14px !important;
    }

    .car-transfer-page .cr-final {
        padding-top: 44px !important;
        padding-bottom: 44px !important;
    }
}
/* =========================================================
   自動車・変更登録ページ
   スマホ最終コンパクト調整
   PC表示は変更しません
========================================================= */

@media (max-width: 767px) {

    /* FV */
    .car-change-page .cr-hero {
        padding-top: 34px !important;
        padding-bottom: 30px !important;
    }

    .car-change-page .cr-hero__inner {
        gap: 24px !important;
    }

    .car-change-page .cr-hero__text {
        margin-top: 14px !important;
        margin-bottom: 16px !important;
    }

    .car-change-page .cr-badges {
        margin-top: 14px !important;
        margin-bottom: 16px !important;
        gap: 8px !important;
    }

    .car-change-page .cr-buttons {
        gap: 10px !important;
    }

    .car-change-page .cr-hero__image {
        margin-top: 0 !important;
    }

    /* FV直下CTA */
    .car-change-page .cr-mini {
        padding-top: 12px !important;
        padding-bottom: 12px !important;
    }

    .car-change-page .cr-mini__inner {
        gap: 8px !important;
    }

    /* 各セクション */
    .car-change-page .cr-section {
        padding-top: 52px !important;
        padding-bottom: 52px !important;
    }

    .car-change-page .cr-intro {
        padding-top: 46px !important;
        padding-bottom: 46px !important;
    }

    .car-change-page .cr-heading {
        margin-bottom: 24px !important;
    }

    /* CHECK POINT */
    .car-change-page .cr-grid {
        gap: 12px !important;
    }

    .car-change-page .cr-card {
        padding: 20px 18px !important;
        min-height: 0 !important;
    }

    .car-change-page .cr-card h3 {
        margin-top: 8px !important;
        margin-bottom: 8px !important;
    }

    .car-change-page .cr-card p {
        margin-bottom: 0 !important;
    }

    /* IMPORTANT */
    .car-change-page .cr-box {
        padding-top: 18px !important;
        padding-bottom: 18px !important;
    }

    /* FLOW */
    .car-change-page .cr-flow {
        gap: 0 !important;
    }

    .car-change-page .cr-step {
        padding-top: 14px !important;
        padding-bottom: 14px !important;
    }

    /* PRICE */
    .car-change-page .cr-price {
        padding: 20px 16px !important;
    }

    /* FAQ */
    .car-change-page .cr-faq details {
        margin-bottom: 8px !important;
    }

    /* RELATED */
    .car-change-page .cr-related {
        gap: 10px !important;
    }

    /* 最終CTA */
    .car-change-page .cr-final {
        padding-top: 48px !important;
        padding-bottom: 48px !important;
    }
}


/* 390px以下 */
@media (max-width: 390px) {

    .car-change-page .cr-hero {
        padding-top: 28px !important;
        padding-bottom: 26px !important;
    }

    .car-change-page .cr-section {
        padding-top: 46px !important;
        padding-bottom: 46px !important;
    }

    .car-change-page .cr-card {
        padding: 18px 16px !important;
    }

    .car-change-page .cr-step {
        padding-top: 12px !important;
        padding-bottom: 12px !important;
    }

    .car-change-page .cr-price {
        padding: 18px 14px !important;
    }

    .car-change-page .cr-final {
        padding-top: 44px !important;
        padding-bottom: 44px !important;
    }
}
/* =========================================================
   自動車・車庫証明ページ
   スマホ最終コンパクト調整
   PC表示は変更しません
========================================================= */

@media (max-width: 767px) {

    /* FV */
    .car-garage-certificate-page .cr-hero {
        padding-top: 34px !important;
        padding-bottom: 30px !important;
    }

    .car-garage-certificate-page .cr-hero__inner {
        gap: 24px !important;
    }

    .car-garage-certificate-page .cr-hero__text {
        margin-top: 14px !important;
        margin-bottom: 16px !important;
    }

    .car-garage-certificate-page .cr-badges {
        margin-top: 14px !important;
        margin-bottom: 16px !important;
        gap: 8px !important;
    }

    .car-garage-certificate-page .cr-buttons {
        gap: 10px !important;
    }

    .car-garage-certificate-page .cr-hero__image {
        margin-top: 0 !important;
    }

    /* FV直下CTA */
    .car-garage-certificate-page .cr-mini {
        padding-top: 12px !important;
        padding-bottom: 12px !important;
    }

    .car-garage-certificate-page .cr-mini__inner {
        gap: 8px !important;
    }

    /* 各セクション */
    .car-garage-certificate-page .cr-section {
        padding-top: 52px !important;
        padding-bottom: 52px !important;
    }

    .car-garage-certificate-page .cr-intro {
        padding-top: 46px !important;
        padding-bottom: 46px !important;
    }

    .car-garage-certificate-page .cr-heading {
        margin-bottom: 24px !important;
    }

    /* CHECK POINT */
    .car-garage-certificate-page .cr-grid {
        gap: 12px !important;
    }

    .car-garage-certificate-page .cr-card {
        padding: 20px 18px !important;
        min-height: 0 !important;
    }

    .car-garage-certificate-page .cr-card h3 {
        margin-top: 8px !important;
        margin-bottom: 8px !important;
    }

    .car-garage-certificate-page .cr-card p {
        margin-bottom: 0 !important;
    }

    /* IMPORTANT */
    .car-garage-certificate-page .cr-box {
        padding-top: 18px !important;
        padding-bottom: 18px !important;
    }

    /* FLOW */
    .car-garage-certificate-page .cr-flow {
        gap: 0 !important;
    }

    .car-garage-certificate-page .cr-step {
        padding-top: 14px !important;
        padding-bottom: 14px !important;
    }

    /* PRICE */
    .car-garage-certificate-page .cr-price {
        padding: 20px 16px !important;
    }

    /* FAQ */
    .car-garage-certificate-page .cr-faq details {
        margin-bottom: 8px !important;
    }

    /* RELATED */
    .car-garage-certificate-page .cr-related {
        gap: 10px !important;
    }

    /* 最終CTA */
    .car-garage-certificate-page .cr-final {
        padding-top: 48px !important;
        padding-bottom: 48px !important;
    }
}


/* 390px以下 */
@media (max-width: 390px) {

    .car-garage-certificate-page .cr-hero {
        padding-top: 28px !important;
        padding-bottom: 26px !important;
    }

    .car-garage-certificate-page .cr-section {
        padding-top: 46px !important;
        padding-bottom: 46px !important;
    }

    .car-garage-certificate-page .cr-card {
        padding: 18px 16px !important;
    }

    .car-garage-certificate-page .cr-step {
        padding-top: 12px !important;
        padding-bottom: 12px !important;
    }

    .car-garage-certificate-page .cr-price {
        padding: 18px 14px !important;
    }

    .car-garage-certificate-page .cr-final {
        padding-top: 44px !important;
        padding-bottom: 44px !important;
    }
}
/* =========================================================
   自動車・封印ページ
   スマホ最終コンパクト調整
   PC表示は変更しません
========================================================= */

@media (max-width: 767px) {

    /* FV */
    .car-seal-page .cr-hero {
        padding-top: 34px !important;
        padding-bottom: 30px !important;
    }

    .car-seal-page .cr-hero__inner {
        gap: 24px !important;
    }

    .car-seal-page .cr-hero__text {
        margin-top: 14px !important;
        margin-bottom: 16px !important;
    }

    .car-seal-page .cr-badges {
        margin-top: 14px !important;
        margin-bottom: 16px !important;
        gap: 8px !important;
    }

    .car-seal-page .cr-buttons {
        gap: 10px !important;
    }

    .car-seal-page .cr-hero__image {
        margin-top: 0 !important;
    }

    /* FV直下CTA */
    .car-seal-page .cr-mini {
        padding-top: 12px !important;
        padding-bottom: 12px !important;
    }

    .car-seal-page .cr-mini__inner {
        gap: 8px !important;
    }

    /* 各セクション */
    .car-seal-page .cr-section {
        padding-top: 52px !important;
        padding-bottom: 52px !important;
    }

    .car-seal-page .cr-intro {
        padding-top: 46px !important;
        padding-bottom: 46px !important;
    }

    .car-seal-page .cr-heading {
        margin-bottom: 24px !important;
    }

    /* CHECK POINT */
    .car-seal-page .cr-grid {
        gap: 12px !important;
    }

    .car-seal-page .cr-card {
        padding: 20px 18px !important;
        min-height: 0 !important;
    }

    .car-seal-page .cr-card h3 {
        margin-top: 8px !important;
        margin-bottom: 8px !important;
    }

    .car-seal-page .cr-card p {
        margin-bottom: 0 !important;
    }

    /* IMPORTANT */
    .car-seal-page .cr-box {
        padding-top: 18px !important;
        padding-bottom: 18px !important;
    }

    /* FLOW */
    .car-seal-page .cr-flow {
        gap: 0 !important;
    }

    .car-seal-page .cr-step {
        padding-top: 14px !important;
        padding-bottom: 14px !important;
    }

    /* PRICE */
    .car-seal-page .cr-price {
        padding: 20px 16px !important;
    }

    /* FAQ */
    .car-seal-page .cr-faq details {
        margin-bottom: 8px !important;
    }

    /* RELATED */
    .car-seal-page .cr-related {
        gap: 10px !important;
    }

    /* 最終CTA */
    .car-seal-page .cr-final {
        padding-top: 48px !important;
        padding-bottom: 48px !important;
    }
}


/* 390px以下 */
@media (max-width: 390px) {

    .car-seal-page .cr-hero {
        padding-top: 28px !important;
        padding-bottom: 26px !important;
    }

    .car-seal-page .cr-section {
        padding-top: 46px !important;
        padding-bottom: 46px !important;
    }

    .car-seal-page .cr-card {
        padding: 18px 16px !important;
    }

    .car-seal-page .cr-step {
        padding-top: 12px !important;
        padding-bottom: 12px !important;
    }

    .car-seal-page .cr-price {
        padding: 18px 14px !important;
    }

    .car-seal-page .cr-final {
        padding-top: 44px !important;
        padding-bottom: 44px !important;
    }
}
/* =========================================================
   事務所案内
   Googleマップ・アクセス
========================================================= */

.about-access {
    background: #f7f8fa;
}

.about-access__inner {
    max-width: 1000px;
    margin: 0 auto;
}

.about-access__info {
    margin-bottom: 24px;
    padding-left: 20px;
    border-left: 3px solid #c5a253;
}

.about-access__label {
    margin: 0 0 8px;
    color: #082d5c;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0.04em;
}

.about-access__address {
    margin: 0;
    color: #17243a;
    font-size: 15px;
    line-height: 1.8;
}

.about-access__map {
    width: 100%;
    overflow: hidden;
    border-radius: 4px;
    box-shadow: 0 8px 30px rgba(6, 31, 66, 0.10);
}

.about-access__map iframe {
    display: block;
    width: 100%;
    height: 450px;
    border: 0;
}


/* =========================================================
   スマホ
========================================================= */

@media (max-width: 767px) {

    .about-access__info {
        margin-bottom: 18px;
        padding-left: 14px;
    }

    .about-access__label {
        font-size: 16px;
    }

    .about-access__address {
        font-size: 14px;
        line-height: 1.7;
    }

    .about-access__map {
        border-radius: 3px;
    }

    .about-access__map iframe {
        height: 320px;
    }

}


/* 小さいスマホ */

@media (max-width: 390px) {

    .about-access__map iframe {
        height: 280px;
    }

}
/* =========================================================
   LINE CTA
   全ページ共通・LINE公式カラー
========================================================= */

/* LINEリンクとして使用しているCTA */
a[href*="lin.ee"],
a[href*="line.me"] {
    background: #06C755 !important;
    border-color: #06C755 !important;
    color: #ffffff !important;
}

/* hover */
a[href*="lin.ee"]:hover,
a[href*="line.me"]:hover {
    background: #05b84d !important;
    border-color: #05b84d !important;
    color: #ffffff !important;
    opacity: 1;
}

/* focus */
a[href*="lin.ee"]:focus-visible,
a[href*="line.me"]:focus-visible {
    outline: 3px solid rgba(6, 199, 85, 0.28);
    outline-offset: 3px;
}


/* =========================================================
   ヘッダー・スマホメニュー内LINE
========================================================= */

.global-nav__line {
    background: #06C755 !important;
    border-color: #06C755 !important;
    color: #ffffff !important;
}

.global-nav__line:hover {
    background: #05b84d !important;
    border-color: #05b84d !important;
    color: #ffffff !important;
}


/* =========================================================
   フッターLINEリンク
========================================================= */

.footer-line-link {
    background: #06C755 !important;
    border-color: #06C755 !important;
    color: #ffffff !important;
}

.footer-line-link:hover {
    background: #05b84d !important;
    border-color: #05b84d !important;
    color: #ffffff !important;
}

/* =========================================================
   松井法務行政書士事務所
   TOPページ 集客改善 最終レイヤー
   2026-09-02

   ・TOPページだけに適用
   ・既存下層ページへ影響させない
   ・ネイビー / 濃紺 / ゴールド / 白
   ・スマホ最適化
========================================================= */


/* =========================================================
   0. TOP 共通
========================================================= */

.top-page {
    --top-navy: #082d5c;
    --top-deep: #061f42;
    --top-gold: #c5a253;
    --top-text: #17243a;
    --top-muted: #657083;
    --top-light: #f7f8fa;
    --top-border: #d9dee7;
    --top-white: #ffffff;

    overflow-x: hidden;
}


/* TOPのみ横幅を統一 */

.top-page .container,
.top-page .hero__inner,
.top-page .hero-cta__inner {
    width: min(1180px, calc(100% - 40px));
    margin-left: auto;
    margin-right: auto;
}


/* =========================================================
   1. ファーストビュー
========================================================= */

.top-page .hero {
    padding: 58px 0 24px;
    background:
        linear-gradient(
            135deg,
            #ffffff 0%,
            #ffffff 68%,
            #f7f8fa 100%
        );
}


.top-page .hero__inner {
    grid-template-columns: 1.08fr .92fr;
    gap: 58px;
    align-items: center;
}


/* 小見出し */

.top-page .hero__lead {
    position: relative;

    display: inline-block;

    margin: 0 0 12px;
    padding-left: 32px;

    color: var(--top-deep);

    font-size: 19px;
    font-weight: 700;
    line-height: 1.5;
}


.top-page .hero__lead::before {
    content: "";

    position: absolute;
    top: 50%;
    left: 0;

    width: 22px;
    height: 2px;

    background: var(--top-gold);

    transform: translateY(-50%);
}


/* メインタイトル */

.top-page .hero__title {
    margin: 0 0 22px;

    color: var(--top-deep);

    font-size: clamp(45px, 4.4vw, 62px);
    line-height: 1.25;
    letter-spacing: .015em;
}


.top-page .hero__title span {
    color: var(--top-gold);
}


/* 説明 */

.top-page .hero__text {
    max-width: 600px;

    color: var(--top-text);

    font-size: 16px;
    font-weight: 600;
    line-height: 1.95;
}


/* 写真 */

.top-page .hero__image {
    position: relative;

    min-height: 350px;

    border: none;
    background: #eef1f5;

    box-shadow: 0 18px 45px rgba(6, 31, 66, .10);
}


.top-page .hero__image::after {
    content: "";

    position: absolute;
    right: -10px;
    bottom: -10px;

    width: 58%;
    height: 58%;

    border-right: 2px solid var(--top-gold);
    border-bottom: 2px solid var(--top-gold);

    pointer-events: none;
}


.top-page .hero__photo {
    width: 100%;
    min-height: 350px;
    height: 100%;

    object-fit: cover;
}


/* =========================================================
   2. FV直下ポイント・CTA
========================================================= */

.top-page .hero-cta {
    padding: 0 0 46px;
    background: #ffffff;
}


.top-page .hero-points {
    border-radius: 0;

    background: var(--top-deep);

    box-shadow: 0 8px 24px rgba(6, 31, 66, .08);
}


.top-page .hero-point {
    min-height: 52px;

    font-size: 13px;
    letter-spacing: .01em;
}


.top-page .hero-point__icon {
    color: var(--top-gold);
}


.top-page .hero-buttons {
    width: min(720px, 100%);

    margin: 18px auto 0;

    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}


.top-page .hero-button {
    min-height: 54px;

    border-radius: 2px;

    font-size: 14px;

    transition:
        transform .2s ease,
        box-shadow .2s ease,
        opacity .2s ease;
}


.top-page .hero-button:hover {
    opacity: 1;
    transform: translateY(-2px);
}


.top-page .hero-button--line {
    background: var(--top-deep);
    color: #ffffff;

    box-shadow: 0 7px 18px rgba(6, 31, 66, .15);
}


.top-page .hero-button--contact {
    border: 1px solid var(--top-gold);

    background: #ffffff;
    color: var(--top-deep);
}


/* =========================================================
   3. お悩み
========================================================= */

.top-page .worries {
    padding: 58px 0 64px;

    background: var(--top-light);
}


.top-page .worries__title {
    margin-bottom: 34px;

    color: var(--top-deep);

    font-size: 27px;
    line-height: 1.5;
}


.top-page .worries__title::after {
    content: "";

    display: block;

    width: 42px;
    height: 2px;

    margin: 14px auto 0;

    background: var(--top-gold);
}


.top-page .worry-card {
    min-height: 140px;

    padding: 24px 15px;

    border: 1px solid #e0e4ea;

    background: #ffffff;

    box-shadow: 0 5px 18px rgba(6, 31, 66, .035);

    transition:
        transform .2s ease,
        border-color .2s ease,
        box-shadow .2s ease;
}


.top-page .worry-card:hover {
    transform: translateY(-3px);

    border-color: rgba(197, 162, 83, .65);

    box-shadow: 0 10px 25px rgba(6, 31, 66, .07);
}


.top-page .worry-card__icon {
    margin-bottom: 12px;

    font-size: 30px;
}


.top-page .worry-card p {
    color: var(--top-deep);

    font-size: 14px;
    line-height: 1.65;
}


.top-page .worries__message {
    max-width: 850px;

    margin: 30px auto 0;
    padding: 22px 28px;

    background: #ffffff;

    border-left: 4px solid var(--top-gold);

    box-shadow: 0 5px 18px rgba(6, 31, 66, .035);
}


/* =========================================================
   4. 代表ストーリー
========================================================= */

.top-page .story {
    padding: 68px 0;

    background:
        linear-gradient(
            135deg,
            #061f42 0%,
            #0a3262 100%
        );
}


.top-page .story__inner {
    gap: 58px;
}


.top-page .story__image {
    overflow: hidden;

    min-height: 340px;

    border: 1px solid rgba(255,255,255,.15);

    background: #ffffff;

    box-shadow: 0 18px 40px rgba(0,0,0,.15);
}


.top-page .story__photo {
    width: 100%;
    height: 100%;

    object-fit: cover;
}


.top-page .story__lead {
    margin-bottom: 10px;

    color: var(--top-gold);

    font-size: 15px;
}


.top-page .story__title {
    margin-bottom: 24px;

    font-size: 29px;
    line-height: 1.55;
}


.top-page .story__text {
    margin-bottom: 14px;

    font-size: 14px;
    line-height: 1.95;
}


.top-page .story__button {
    min-height: 50px;

    margin-top: 20px;

    border: 1px solid var(--top-gold);

    transition:
        background .2s ease,
        color .2s ease;
}


/* =========================================================
   5. 運送業サポート
   TOPの最重要業務として強調
========================================================= */

.top-page .transport-support {
    position: relative;

    padding: 72px 0;

    background: #ffffff;
}


.top-page .transport-support::before {
    content: "TRANSPORT";

    position: absolute;
    top: 18px;
    right: 4%;

    color: rgba(6, 31, 66, .035);

    font-family: serif;
    font-size: clamp(55px, 8vw, 110px);
    font-weight: 700;
    line-height: 1;

    pointer-events: none;
}


.top-page .transport-support .section-heading {
    position: relative;
    z-index: 2;

    text-align: center;
}


.top-page .transport-support .section-heading__sub {
    color: var(--top-gold);

    font-size: 15px;
}


.top-page .transport-support .section-heading__title {
    max-width: 780px;

    margin: 0 auto;

    color: var(--top-deep);

    font-size: 30px;
}


.top-page .transport-support__grid {
    position: relative;
    z-index: 2;

    margin-top: 36px;

    gap: 12px;
}


.top-page .support-card {
    min-height: 125px;

    padding: 20px 10px;

    border: 1px solid var(--top-border);

    background: #ffffff;

    transition:
        border-color .2s ease,
        transform .2s ease,
        box-shadow .2s ease;
}


.top-page .support-card:hover {
    transform: translateY(-3px);

    border-color: var(--top-gold);

    box-shadow: 0 8px 20px rgba(6,31,66,.06);
}


.top-page .support-card p {
    font-size: 13px;
}


.top-page .transport-support__text {
    max-width: 760px;

    margin: 28px auto 26px;

    text-align: center;

    font-size: 15px;
}


.top-page .transport-price {
    max-width: 820px;

    margin-left: auto;
    margin-right: auto;

    border: 1px solid rgba(197,162,83,.55);

    background: #fffdf8;
}


.top-page .transport-price__right strong {
    color: var(--top-deep);

    font-size: 29px;
}


.top-page .transport-support__button {
    width: min(380px, 100%);

    min-height: 52px;

    margin-top: 22px;

    background: var(--top-deep);

    box-shadow: 0 7px 18px rgba(6,31,66,.12);
}


/* =========================================================
   6. その他取扱業務
========================================================= */

.top-page .services {
    padding: 64px 0;

    background: var(--top-light);
}


.top-page .services__heading {
    max-width: 760px;

    margin-left: auto;
    margin-right: auto;
}


.top-page .services__grid {
    gap: 16px;

    margin-top: 34px;
}


/* 運送業だけ少し強調 */

.top-page .service-card:first-child {
    border: 1px solid var(--top-gold);

    background:
        linear-gradient(
            180deg,
            #ffffff 0%,
            #fffdf7 100%
        );

    box-shadow: 0 8px 25px rgba(6, 31, 66, .06);
}


.top-page .service-card {
    min-height: 215px;

    border-radius: 2px;
}


.top-page .service-card__number {
    color: var(--top-gold);
}


.top-page .service-card__title {
    font-size: 19px;
}


/* =========================================================
   7. 選ばれる理由
========================================================= */

.top-page .reasons {
    padding: 68px 0;

    background: #ffffff;
}


.top-page .reasons__grid {
    gap: 16px;

    margin-top: 34px;
}


.top-page .reason-card {
    min-height: 235px;

    padding: 32px 26px;

    border-top: 3px solid var(--top-gold);

    box-shadow: 0 7px 22px rgba(6,31,66,.045);
}


.top-page .reason-card__number {
    margin-bottom: 14px;
}


.top-page .reason-card__title {
    margin-bottom: 14px;

    font-size: 21px;
}


.top-page .reason-card__text {
    font-size: 14px;
}


/* スタッフ */

.top-page .staff-support {
    margin-top: 24px;

    border: none;
    border-left: 4px solid var(--top-gold);

    background: var(--top-light);
}


/* =========================================================
   8. 無料相談CTA
========================================================= */

.top-page .consultation-cta {
    padding: 55px 0;

    background:
        linear-gradient(
            135deg,
            #061f42,
            #0b3568
        );
}


.top-page .consultation-cta__title {
    font-size: 32px;
}


.top-page .consultation-button {
    min-height: 54px;

    transition:
        transform .2s ease,
        opacity .2s ease;
}


.top-page .consultation-button:hover {
    opacity: 1;
    transform: translateY(-2px);
}


.top-page .consultation-button--line {
    background: #ffffff;
    color: var(--top-deep);

    box-shadow: 0 7px 18px rgba(0,0,0,.12);
}


/* =========================================================
   9. 流れ・料金・FAQ・ブログ 共通
========================================================= */

.top-page .flow,
.top-page .prices,
.top-page .faq,
.top-page .blog {
    padding-top: 64px;
    padding-bottom: 64px;
}


.top-page .section-heading {
    margin-bottom: 34px;
}


.top-page .section-heading__sub {
    color: var(--top-gold);

    font-size: 14px;
    letter-spacing: .03em;
}


.top-page .section-heading__title {
    color: var(--top-deep);

    font-size: 28px;
}


/* =========================================================
   10. 料金
========================================================= */

.top-page .prices {
    background: var(--top-light);
}


.top-page .prices__list {
    overflow: hidden;

    border: 1px solid var(--top-border);

    box-shadow: 0 8px 24px rgba(6,31,66,.04);
}


.top-page .price-row {
    background: #ffffff;
}


.top-page .price-row__category {
    color: var(--top-gold);
}


.top-page .price-row__price strong {
    color: var(--top-deep);
}


/* =========================================================
   11. FAQ
========================================================= */

.top-page .faq {
    background: #ffffff;
}


.top-page .faq__list {
    max-width: 920px;
}


.top-page .faq-item summary {
    transition: background .2s ease;
}


.top-page .faq-item summary:hover {
    background: #fafbfc;
}


/* =========================================================
   12. ブログ
========================================================= */

.top-page .blog {
    background: var(--top-light);
}


.top-page .blog-card {
    border: 1px solid var(--top-border);

    background: #ffffff;

    transition:
        transform .2s ease,
        box-shadow .2s ease,
        border-color .2s ease;
}


.top-page .blog-card:hover {
    transform: translateY(-4px);

    border-color: rgba(197,162,83,.65);

    box-shadow: 0 10px 26px rgba(6,31,66,.07);
}


.top-page .blog-card__content {
    padding: 20px;
}


.top-page .blog-card__content h3 {
    font-size: 15px;
}


/* =========================================================
   13. 対応エリア
========================================================= */

.top-page .area {
    padding: 64px 0;

    background: #ffffff;
}


.top-page .area__top {
    gap: 42px;
}


.top-page .area__map {
    overflow: hidden;

    box-shadow: 0 8px 22px rgba(6,31,66,.05);
}


.top-page .area-box {
    background: var(--top-light);

    border: 1px solid var(--top-border);
}


/* =========================================================
   14. 共通ボタン
========================================================= */

.top-page .transport-support__button,
.top-page .flow__button,
.top-page .prices__button,
.top-page .faq__button,
.top-page .blog__button {
    border-radius: 2px;

    background: var(--top-deep);
    color: #ffffff;

    transition:
        transform .2s ease,
        box-shadow .2s ease,
        opacity .2s ease;
}


.top-page .transport-support__button:hover,
.top-page .flow__button:hover,
.top-page .prices__button:hover,
.top-page .faq__button:hover,
.top-page .blog__button:hover {
    opacity: 1;

    transform: translateY(-2px);

    box-shadow: 0 7px 18px rgba(6,31,66,.12);
}


/* =========================================================
   スマートフォン
========================================================= */

@media screen and (max-width: 768px) {

    /* ------------------------------
       共通横幅
    ------------------------------ */

    .top-page .container,
    .top-page .hero__inner,
    .top-page .hero-cta__inner {
        width: calc(100% - 32px);
    }


    /* ------------------------------
       FV
    ------------------------------ */

    .top-page .hero {
        padding: 32px 0 18px;
    }


    .top-page .hero__inner {
        grid-template-columns: 1fr;

        gap: 24px;
    }


    .top-page .hero__lead {
        margin-bottom: 9px;
        padding-left: 26px;

        font-size: 16px;
    }


    .top-page .hero__lead::before {
        width: 18px;
    }


    .top-page .hero__title {
        margin-bottom: 16px;

        font-size: clamp(34px, 10vw, 42px);
        line-height: 1.28;
    }


    .top-page .hero__text {
        font-size: 14px;
        line-height: 1.85;
    }


    .top-page .hero__image,
    .top-page .hero__photo {
        min-height: 245px;
    }


    .top-page .hero__image::after {
        right: -6px;
        bottom: -6px;
    }


    /* ------------------------------
       FVポイント
    ------------------------------ */

    .top-page .hero-cta {
        padding-bottom: 34px;
    }


    .top-page .hero-points {
        grid-template-columns: 1fr;
    }


    .top-page .hero-point {
        min-height: 43px;

        justify-content: flex-start;

        padding: 0 16px;

        font-size: 12px;
    }


    .top-page .hero-buttons {
        grid-template-columns: 1fr;

        gap: 9px;

        margin-top: 12px;
    }


    .top-page .hero-button {
        min-height: 50px;
    }


    /* ------------------------------
       お悩み
    ------------------------------ */

    .top-page .worries {
        padding: 44px 0 48px;
    }


    .top-page .worries__title {
        margin-bottom: 26px;

        font-size: 22px;
    }


    .top-page .worries__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));

        gap: 9px;
    }


    .top-page .worry-card {
        min-height: 118px;

        padding: 16px 8px;
    }


    .top-page .worry-card__icon {
        margin-bottom: 8px;

        font-size: 25px;
    }


    .top-page .worry-card p {
        font-size: 12px;
        line-height: 1.6;
    }


    .top-page .worries__message {
        margin-top: 20px;
        padding: 17px 15px;

        text-align: left;
    }


    .top-page .worries__message p {
        font-size: 13px;
        line-height: 1.8;
    }


    /* ------------------------------
       代表
    ------------------------------ */

    .top-page .story {
        padding: 46px 0;
    }


    .top-page .story__inner {
        gap: 26px;
    }


    .top-page .story__image {
        min-height: 260px;
    }


    .top-page .story__lead {
        font-size: 13px;
    }


    .top-page .story__title {
        margin-bottom: 18px;

        font-size: 22px;
        line-height: 1.55;
    }


    .top-page .story__text {
        font-size: 13px;
        line-height: 1.85;
    }


    /* ------------------------------
       運送業
    ------------------------------ */

    .top-page .transport-support {
        padding: 50px 0;
    }


    .top-page .transport-support::before {
        top: 10px;

        font-size: 52px;
    }


    .top-page .transport-support .section-heading__title {
        font-size: 23px;
    }


    .top-page .transport-support__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));

        gap: 9px;
    }


    .top-page .support-card {
        min-height: 100px;

        padding: 14px 6px;
    }


    .top-page .support-card__icon {
        font-size: 25px;
    }


    .top-page .support-card p {
        font-size: 12px;
    }


    .top-page .transport-support__text {
        margin: 22px auto;

        text-align: left;

        font-size: 13px;
    }


    .top-page .transport-price {
        padding: 16px;

        gap: 5px;
    }


    .top-page .transport-price__label {
        font-size: 13px;
    }


    .top-page .transport-price__right strong {
        font-size: 24px;
    }


    /* ------------------------------
       取扱業務
    ------------------------------ */

    .top-page .services {
        padding: 48px 0;
    }


    .top-page .services__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));

        gap: 9px;
    }


    .top-page .service-card {
        min-height: 155px;

        padding: 26px 8px 16px;
    }


    .top-page .service-card__icon {
        margin-bottom: 9px;

        font-size: 30px;
    }


    .top-page .service-card__title {
        margin-bottom: 7px;

        font-size: 15px;
        line-height: 1.5;
    }


    .top-page .service-card__area {
        font-size: 10px;
    }


    /* ------------------------------
       選ばれる理由
    ------------------------------ */

    .top-page .reasons {
        padding: 48px 0;
    }


    .top-page .reason-card {
        min-height: auto;

        padding: 24px 20px;
    }


    .top-page .reason-card__number {
        margin-bottom: 9px;
    }


    .top-page .reason-card__title {
        margin-bottom: 10px;

        font-size: 18px;
    }


    .top-page .reason-card__text {
        font-size: 13px;
        line-height: 1.8;
    }


    .top-page .staff-support {
        padding: 22px 18px;
    }


    /* ------------------------------
       CTA
    ------------------------------ */

    .top-page .consultation-cta {
        padding: 42px 0;
    }


    .top-page .consultation-cta__title {
        font-size: 25px;
    }


    .top-page .consultation-cta__text {
        font-size: 13px;
    }


    /* ------------------------------
       共通セクション
    ------------------------------ */

    .top-page .flow,
    .top-page .prices,
    .top-page .faq,
    .top-page .blog,
    .top-page .area {
        padding-top: 48px;
        padding-bottom: 48px;
    }


    .top-page .section-heading {
        margin-bottom: 26px;
    }


    .top-page .section-heading__title {
        font-size: 22px;
        line-height: 1.55;
    }


    .top-page .section-heading__sub {
        font-size: 12px;
    }


    /* ------------------------------
       ブログ
    ------------------------------ */

    .top-page .blog__grid {
        grid-template-columns: 1fr;

        gap: 12px;
    }


    .top-page .blog-card__content {
        padding: 15px;
    }


    .top-page .blog-card__content h3 {
        font-size: 14px;
    }


    /* ------------------------------
       共通ボタン
    ------------------------------ */

    .top-page .transport-support__button,
    .top-page .flow__button,
    .top-page .prices__button,
    .top-page .faq__button,
    .top-page .blog__button {
        width: 100%;

        min-height: 49px;

        font-size: 13px;
    }

}


/* =========================================================
   480px以下
========================================================= */

@media screen and (max-width: 480px) {

    .top-page .hero__title {
        font-size: 35px;
    }


    /*
     取扱業務は1列にせず2列を維持。
     TOPページが縦長になりすぎるのを防止。
    */

    .top-page .services__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }


    .top-page .service-card {
        min-height: 150px;
    }


    .top-page .service-card__number {
        top: 9px;
        left: 10px;

        font-size: 13px;
    }

}
/* =========================================================
   TOP ご依頼の流れ 5STEP対応
========================================================= */

@media screen and (min-width: 769px) {

    .top-page .flow__list {
        max-width: 1000px;
        grid-template-columns: repeat(5, 1fr);
    }

    .top-page .flow-step__content {
        padding-left: 12px;
        padding-right: 12px;
    }

    .top-page .flow-step__content h3 {
        min-height: 44px;
        font-size: 14px;
    }

    .top-page .flow-step__content p {
        font-size: 11px;
        line-height: 1.7;
    }
}
/* =========================================================
   ブログ記事 中間CTA
========================================================= */

.article-mini-cta {
    margin: 36px 0 44px;
    padding: 28px;
    background: #102a4c;
    text-align: center;
}

.article-mini-cta__title {
    margin: 0 0 12px !important;
    color: #ffffff !important;
    font-size: 19px !important;
    font-weight: 700;
}

.article-mini-cta p {
    color: #ffffff !important;
    line-height: 1.8;
}

.article-mini-cta__button {
    display: inline-block;
    margin-top: 10px;
    padding: 12px 30px;
    background: #c5a45d;
    color: #ffffff !important;
    font-weight: 700;
    text-decoration: none !important;
    border-radius: 3px;
    transition: opacity 0.3s ease;
}

.article-mini-cta__button:hover {
    opacity: 0.85;
}

@media screen and (max-width: 768px) {

    .article-mini-cta {
        margin: 30px 0 36px;
        padding: 24px 18px;
    }

    .article-mini-cta__title {
        font-size: 18px !important;
    }

    .article-mini-cta__button {
        width: 100%;
        padding: 14px 16px;
    }
}
/* =========================================================
   FOOTER / SITEMAP
   松井法務行政書士事務所
   既存フッターに追記してください
========================================================= */

/* サイトマップをフッター1段目の下に横幅いっぱいで配置 */
.site-footer .footer-sitemap {
    grid-column: 1 / -1;
    width: 100%;
    margin-top: 56px;
    padding-top: 40px;
    border-top: 1px solid rgba(255, 255, 255, 0.18);
}

.footer-sitemap__heading {
    margin-bottom: 28px;
}

.footer-sitemap__label {
    margin: 0 0 6px;
    color: #c9a13b;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.14em;
}

.footer-sitemap__heading h2 {
    margin: 0;
    color: #ffffff;
    font-size: clamp(24px, 2vw, 32px);
    line-height: 1.4;
}

.footer-sitemap__grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 32px;
}

.footer-sitemap__group h3 {
    margin: 0 0 16px;
    color: #c9a13b;
    font-size: 15px;
    line-height: 1.65;
}

.footer-sitemap__group h3 a {
    color: #c9a13b;
    text-decoration: none;
}

.footer-sitemap__group h3 a:hover {
    color: #ffffff;
}

.footer-sitemap__group ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.footer-sitemap__group li {
    margin: 0 0 9px;
    color: rgba(255, 255, 255, 0.78);
    font-size: 13px;
    line-height: 1.7;
}

.footer-sitemap__group li a {
    color: rgba(255, 255, 255, 0.78);
    text-decoration: none;
    transition: color 0.2s ease;
}

.footer-sitemap__group li a:hover {
    color: #c9a13b;
}

/* 運送業相談料金の注記 */
.footer-consultation__note {
    margin: 12px 0 0;
    color: rgba(255, 255, 255, 0.76);
    font-size: 12px;
    line-height: 1.75;
}

/* PCで事務所案内だけ2段目に落ちる場合の調整 */
@media (min-width: 1200px) {
    .site-footer__inner {
        align-items: start;
    }

    .footer-office,
    .footer-column,
    .footer-qr,
    .footer-consultation {
        min-width: 0;
    }
}

/* タブレット */
@media (max-width: 1199px) {
    .footer-sitemap__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

/* スマホ */
@media (max-width: 767px) {
    .site-footer .footer-sitemap {
        margin-top: 36px;
        padding-top: 30px;
    }

    .footer-sitemap__grid {
        grid-template-columns: 1fr;
        gap: 26px;
    }

    .footer-sitemap__group {
        padding-bottom: 22px;
        border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    }

    .footer-sitemap__group:last-child {
        padding-bottom: 0;
        border-bottom: 0;
    }

    .footer-sitemap__group h3 {
        margin-bottom: 12px;
        font-size: 16px;
    }

    .footer-sitemap__group li {
        margin-bottom: 8px;
        font-size: 14px;
    }
}
/* =========================================================
   お問い合わせページ
   フォーム・フォームセクションを常時表示
========================================================= */

.contact-page .contact-form-section,
.contact-page .contact-form-section.js-fade-up,
.contact-page .contact-form-box,
.contact-page .contact-form-box.js-fade-up,
.contact-page .contact-form-wrap,
.contact-page .contact-form-wrap.js-fade-up,
.contact-page .wpcf7,
.contact-page .wpcf7-form {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    display: block !important;
}


/* Contact Form 7 入力欄 */

.contact-page .wpcf7-form-control-wrap {
    opacity: 1 !important;
    visibility: visible !important;
}

.contact-page .wpcf7 input,
.contact-page .wpcf7 textarea,
.contact-page .wpcf7 select,
.contact-page .wpcf7 button,
.contact-page .wpcf7 input[type="submit"] {
    opacity: 1 !important;
    visibility: visible !important;
}


/* お問い合わせページでは
   フォーム部分だけスクロールアニメーションを無効化 */

.contact-page .contact-form-section .js-fade-up,
.contact-page .contact-form-section .js-fade-left,
.contact-page .contact-form-section .js-fade-right,
.contact-page .contact-form-section .js-fade-in,
.contact-page .contact-form-section .js-stagger > * {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
}
/* =========================================================
   ブログ記事 スマホ表示保証
========================================================= */

@media screen and (max-width: 768px) {

    .single-blog-page,
    .single-blog-header,
    .single-blog-main,
    .single-blog-layout,
    .single-blog-article,
    .single-blog-content,
    .single-blog-thumbnail,
    .single-blog-notice,
    .single-blog-consultation,
    .single-blog-navigation,
    .single-blog-back {

        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
    }

    .single-blog-main,
    .single-blog-layout,
    .single-blog-article,
    .single-blog-content {
        display: block !important;
    }

    .single-blog-page .js-fade-up,
    .single-blog-page .js-fade-in,
    .single-blog-page .js-fade-left,
    .single-blog-page .js-fade-right,
    .single-blog-page .js-stagger > * {

        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
    }
}
/* ブログ本文 表示確認用 */
.single-blog-content {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    color: #222 !important;
    background: #fff !important;
}

.single-blog-content p,
.single-blog-content li,
.single-blog-content div,
.single-blog-content span {
    color: #222 !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* =========================================================
   2026-09-07 HP改善：TOP運送カードリンク / スマホ固定CTA
========================================================= */
.support-card--link {
    color: inherit;
    text-decoration: none;
    cursor: pointer;
}

.support-card--link:focus-visible {
    outline: 3px solid currentColor;
    outline-offset: 3px;
}

.mobile-fixed-cta {
    display: none;
}

@media screen and (max-width: 768px) {
    body {
        padding-bottom: calc(64px + env(safe-area-inset-bottom));
    }

    .mobile-fixed-cta {
        position: fixed;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 99990;
        display: grid;
        grid-template-columns: 0.8fr 0.8fr 1.4fr;
        min-height: 64px;
        padding-bottom: env(safe-area-inset-bottom);
        background: #ffffff;
        box-shadow: 0 -4px 18px rgba(0, 0, 0, 0.16);
    }

    .mobile-fixed-cta a {
        display: flex;
        align-items: center;
        justify-content: center;
        min-width: 0;
        padding: 10px 6px;
        font-size: 13px;
        font-weight: 700;
        line-height: 1.25;
        text-align: center;
        text-decoration: none;
    }

    .mobile-fixed-cta__phone,
    .mobile-fixed-cta__line {
        border-right: 1px solid rgba(255, 255, 255, 0.25);
        background: var(--deep-navy);
        color: #ffffff;
        -webkit-text-fill-color: #ffffff;
    }

    .mobile-fixed-cta__contact {
        background: var(--gold);
        color: #ffffff;
        -webkit-text-fill-color: #ffffff;
    }
}
/* ブログ記事内CTA 文字色修正 */
.article-mini-cta,
.article-mini-cta p,
.article-mini-cta .article-mini-cta__title {
    color: #ffffff !important;
}