/* URIKO カスタムCSS */
/*==================================================
# 共通
==================================================*/

/* 表示切替（PC/SP） */
.pc-only {
    display: none;
}

.u-tab-none {
    display: none;
}

@media screen and (min-width: 768px) {
    .pc-only {
        display: block;
    }

    .sp-only {
        display: none;
    }
}

@media screen and (min-width: 1024px) {
    .u-tab-show {
        display: none;
    }

    .u-tab-none {
        display: block;
    }
}

/* Google Map */
iframe {
    aspect-ratio: 16 / 9;
    height: auto;
}

/* ZenKakuGothic */
.zen-kaku-gothic-new {
    font-family: "Zen Kaku Gothic New", sans-serif;
}

/* Lato */
.lato {
    font-family: "Lato", sans-serif;
}

/* font-weight500 */
.fw-500 {
    font-weight: 500;
}

/* 固定ページヘッダー */
.c-page-header[data-has-image=true] {
    height: 200px;
}

.c-page-header__title {
    color: #202020;
    font-family: "Zen Kaku Gothic New", sans-serif;
}

/* 投稿一覧 */
.c-meta__item--author {
    display: none;
}

.c-entry-summary__body {
    background: #fff;
}

.c-entry-summary--type-kaitori-case .c-entry-summary__figure img {
    object-fit: contain;
    background: #fff;
}

/* 電話 */
.tel-link a,
a.tel-link {
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.tel-link a::before,
a.tel-link::before {
    content: '';
    display: block;
    width: 24px;
    height: 24px;
    background-image: url('/wp-content/uploads/2026/05/icon-tel.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.box-narrow {
    width: fit-content  ;
}

.box-shadow {
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.08);
}

/* h2 */
body.page h2.wp-block-heading {
    font-size: 22px;
    font-weight: 700;
    line-height: 1.4;
    font-family: "Zen Kaku Gothic New", sans-serif;
}

body.page h2.wp-block-heading:not(.is-style-plain) {
    text-align: center;
    
    position: relative;
    padding-bottom: 8px;
    
}

body.page h2.wp-block-heading:not(.is-style-plain)::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 40px;
    height: 2px;
    background: #72D8E9;
}

@media screen and (min-width: 768px) {
    body.page h2.wp-block-heading {
        font-size: 32px;
    }
}

/* テーブル */
.wp-block-table table tr td:first-child {
    background: #E0F7FA;
    font-weight: 700;
    white-space: nowrap;
    padding: 14px 16px;
}

/* 各ステップの間に矢印を挿入（最初のステップを除く） */
.step-flow > *:not(:first-child) {
    position: relative;
}

.step-flow > *:not(:first-child)::before {
    content: "";
    display: inline-block;
    width: 32px;
    height: 32px;
    background: url('/wp-content/uploads/2026/05/arrow-step-flow.svg') no-repeat center / contain;
    flex-shrink: 0;
    top: 50%;
    transform: translateY(-50%);
    position: absolute;
    left: -40px;    
    }

    /* スマホでは縦並び＋矢印も下向きに */
    @media (max-width: 768px) {
    .step-flow {
        flex-direction: column;
    }

    .step-flow > *:not(:first-child)::before {
        top: -18px;
        left: 50%;
        transform: translateX(-50%) rotate(90deg);
        height: 20px;
        width: 20px;
    }
}

/* 買取可能な品目 */
.item-grid-wrapper {
    max-width: 896px;
}

.item-grid > * {
    position: relative;
  }
  
  .item-grid > *::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 32px 32px 0 0;
    border-color: #027F94 transparent transparent transparent;
    z-index: 1;
  }

/* 下層FV */
.fv-label {
    border: 1px solid #027F94;
    display: inline-block;
    font-weight: 700;
    line-height: 100%;
    padding: 6px 8px;
}

.fv-label--seizenseiri {
    border: 1px solid #002B91;
}

.fv-heading {
    margin-top: 8px;
}

.fv-heading-line {
    display: block;
    position: relative;
    padding-bottom: 8px;
    margin-bottom: 8px;
    background: var(--gradationGreen, linear-gradient(92deg, #027F94 14.35%, #12B9D5 46.36%, #1C84AC 81.59%));
background-clip: text;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
font-size: clamp(24px, 4vw, 40px);
font-weight: 900;
letter-spacing: 1.6px;
    width: fit-content;
}

.fv-heading-line:last-child {
    margin-top: 8px;
    margin-bottom: 0;
}

.fv-heading-line:after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 3px;
    background: linear-gradient(91deg, #002B91 0.17%, #1B86B3 32.63%, #1B4AB8 59.15%, #002B91 95.26%);
}

.fv-heading-line--seizenseiri {
    background: var(--gradation3, linear-gradient(89deg, #002B91 4.19%, #015593 28.52%, #027F94 52.84%, #002B91 94.54%));
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;

}

.fv-subcopy {
    font-size: 14px;
}

@media (min-width: 1024px) {
    .fv-label {
        font-size: 20px;
        padding: 8px 14px;
    }

    .fv-subcopy {
        font-size: 16px;
    }

}

/* サイドバー */
.sidebar-article-list .wp-block-latest-posts__post-date {
    margin-top: 6px;
    color: #888; 
    font-size: 0.85em;
  }

  .sidebar-article-list .wp-block-latest-posts__post-title {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .sidebar-article-list li {
    padding-bottom: 12px;
    margin-bottom: 12px;
    border-bottom: 1px solid #eee; /* 薄いグレーで主張しすぎない */
  }
  .sidebar-article-list li:last-child {
    border-bottom: none;
  }

/*==================================================
# 整理事例・買取事例
==================================================*/
/* 一覧カード */
.c-entry-summary__figure {
    margin-bottom: 0;
}

/* 物件タイプ・間取りのタグ */
.p-seiri-card__property {
    display: inline-block;
    font-size: 12px;
    color: #737373;
    border: 1px solid #737373;
    border-radius: 4px;
    padding: 2px 10px;
    margin-bottom: 8px;
    font-weight: 700;
    width: fit-content;
  }


/* 整理事例カード 費用テーブル */
.p-seiri-card__cost {
    margin: 12px 0 0;
    border: 1px solid #E5E9E9;
    border-radius: 8px;
    overflow: hidden;
  }
  
  /* 費用の各行 */
  .p-seiri-card__cost-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 14px;
    border-bottom: 1px solid #EEF1F1;
  }
  .p-seiri-card__cost-row:last-child {
    border-bottom: none;
  }
  
  /* ラベル（片付け費用・買取金額など） */
  .p-seiri-card__cost-label {
    margin: 0;
    font-size: 14px;
    font-weight: 700;
    color: #555;
  }
  
  /* 金額 */
  .p-seiri-card__cost-value {
    margin: 0;
    font-size: 15px;
    font-weight: 700;
    color: #1A3A5C;
  }
  
  /* ご請求金額の行（強調） */
  .p-seiri-card__cost-row--total {
    background: #EAF7F6;
    padding-top: 10px;
    padding-bottom: 10px;
  }
  
  /* ご請求金額のラベルと金額 */
  .p-seiri-card__cost-row--total .p-seiri-card__cost-label {
    font-weight: 700;
    color: #1A3A5C;
  }
  .p-seiri-card__cost-row--total .p-seiri-card__cost-value {
    font-size: 20px;
    color: #E8631F;
  }

/* 整理事例ショートコード：「事例一覧を見る」ボタン */
.p-seiri-cases__more {
    margin-top: 40px;
    text-align: center;
}

/*==================================================
# 買取
==================================================*/
/* 買取事例カード 金額エリア */
.p-kaitori-card__price {
    margin: 12px 0 4px;
    display: flex;
    flex-direction: column;
  }
  
  /* 「買取金額」ラベル */
  .p-kaitori-card__price-label {
    font-size: 14px;
    color: #666;
    font-weight: 700;
    margin-bottom: 2px;
  }
  
  /* 金額の数値 */
  .p-kaitori-card__price-value {
    font-size: 26px;
    font-weight: 700;
    color: #E8631F;
    line-height: 1.2;
  }
  
  /* エリア表記（控えめに） */
  .p-kaitori-card__area {
    font-size: 14px;
    color: #666;
    font-weight: 700;
    margin: 4px 0 0;
  }

/*==================================================
# Contact form 7
==================================================*/
/* --- フォーム全体の囲い（白カード） --- */
.list {
    max-width: 720px;
    margin: 0 auto;
    background: #fff;
    border: 1px solid #E5E9E9;
    border-radius: 12px;
    padding: 32px;
    box-sizing: border-box;
  }
  
  /* --- 各項目のまとまり --- */
  .list .box {
    margin-bottom: 20px;
  }
  .list .box:last-of-type {
    margin-bottom: 0;
  }
  
  /* --- ラベル --- */
  .list .ttl {
    display: flex;
    align-items: center;
    font-size: 15px;
    font-weight: 700;
    color: #1A3A5C;
    margin-bottom: 8px;
  }
  
  /* --- 必須バッジ --- */
  .list .ttl span {
    display: inline-block;
    margin-left: 8px;
    background: #E8631F;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    padding: 4px 8px;
    border-radius: 4px;
    letter-spacing: .04em;
  }
  
  /* --- 入力欄 共通（text / tel / email / textarea） --- */
  .list .input input[type="text"],
  .list .input input[type="tel"],
  .list .input input[type="email"],
  .list .input textarea {
    width: 100%;
    background: #F7F9F9;
    border: 1px solid #D8DEDE;
    border-radius: 8px;
    padding: 12px 14px;
    font-size: 16px; /* 16px未満にするとスマホで自動ズームするため固定 */
    color: #333;
    box-sizing: border-box;
    transition: border-color .2s, background-color .2s, box-shadow .2s;
    -webkit-appearance: none;
    appearance: none;
  }
  
  /* --- 入力欄 1行もの（高さ） --- */
  .list .input input[type="text"],
  .list .input input[type="tel"],
  .list .input input[type="email"] {
    height: 48px;
  }
  
  /* --- お問い合わせ内容（テキストエリア） --- */
  .list .input textarea {
    min-height: 160px;
    line-height: 1.7;
    resize: vertical;
  }
  
  /* --- プレースホルダー --- */
  .list .input ::placeholder {
    color: #AAB3B3;
  }
  
  /* --- フォーカス時 --- */
  .list .input input[type="text"]:focus,
  .list .input input[type="tel"]:focus,
  .list .input input[type="email"]:focus,
  .list .input textarea:focus {
    outline: none;
    background: #fff;
    border-color: #5BC8C5;
    box-shadow: 0 0 0 3px rgba(91, 200, 197, .18);
  }
  
  /* --- 個人情報同意（チェックボックス） --- */
  .list .agree {
    margin-top: 4px;
    padding: 14px 16px;
    background: #F7F9F9;
    border-radius: 8px;
    text-align: center;
  }
  .list .agree .wpcf7-list-item {
    margin: 0;
  }
  .list .agree .wpcf7-list-item label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    color: #1A3A5C;
    cursor: pointer;
  }
  .list .agree input[type="checkbox"] {
    width: 18px;
    height: 18px;
    accent-color: #5BC8C5;
    cursor: pointer;
    flex-shrink: 0;
  }
  
  /* --- 送信ボタン --- */
  input.submit {
    display: block;
    margin: 24px auto 0;
    min-width: 240px;
    background: #E8631F;
    color: #fff;
    font-size: 17px;
    font-weight: 700;
    border: none;
    border-radius: 8px;
    padding: 16px 32px;
    cursor: pointer;
    transition: background-color .2s, transform .1s;
    -webkit-appearance: none;
    appearance: none;
  }
  input.submit:hover {
    background: #D2530F;
  }
  input.submit:active {
    transform: scale(.98);
  }
  
  /* --- 送信中のスピナー位置調整 --- */
  .wpcf7 .wpcf7-spinner {
    margin: 16px auto 0;
    display: block;
  }
  
  @media screen and (max-width: 600px) {
    .list {
      padding: 20px 16px;
      border-radius: 10px;
    }
    .list .box {
      margin-bottom: 16px;
    }
    .list .ttl {
      font-size: 14px;
    }
    input.submit {
      width: 100%;
      min-width: 0;
      padding: 16px;
    }
  }

/*==================================================
# ヘッダー
==================================================*/
@media screen and (min-width: 1024px) {
    .l-header__content {
        border-bottom: 1px solid #DBDBDB;
    }

    .c-fluid-container:has(.l-2row-header__row) {
        padding-left: 0;
        padding-right: 0;
    }


    .l-2row-header__row {
        padding-left: var(--_container-margin-left);
        padding-right: var(--_container-margin-right);
    }

    .l-2row-header__row:first-child {
        border-bottom: 1px solid #DBDBDB;
    }

    .l-2row-header__row:last-child {
        margin-top: 0!important;
    }

    .l-2row-header .c-row__col--auto {
    flex: 0 0 auto;
  }
  
  .l-2row-header .c-row__col--fit.u-invisible-md-down {
    flex: 1;
  }

}

.header-utility {
    display: flex;
    gap: 24px;
    align-items: center;
    justify-content: flex-end;
}

.header-contact {
    text-align: center;
}


.header-contact__tel-link {
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
}

.header-contact__tel-number {
    color: #002B91;
    font-family: "Lato", sans-serif;
    font-size: 24px;
    font-weight: 700;
}

.header-contact__hours {
    font-size: 14px;
}

.header-cta {
    display: flex;
    gap: 24px;
    align-items: center;
}

.header-cta-button {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 250px;
    height: 56px;
    gap: 10px;
    font-size: 20px;
    text-decoration: none;
    border-radius: 8px;
    padding: 0 20px;
    transition: opacity 0.25s ease;
}

.header-cta-button:hover {
    opacity: 0.8;
}

.header-cta-button--mail {
    background: #FF7E2E;
}

.header-cta-button__label {
    color: #FFF;
    font-weight: 700;
    letter-spacing: 0.8px;
}

.header-cta-button--line {
    background: #07C755;
}

/* ドロップナビ */
.p-global-nav .c_drop-nav.c-navbar__item>a {
    color: #FFF;

}

.c_drop-nav--mail {
    background: #FF7E2E;

}

.c_drop-nav--line {
    background: #07C755;

}

/*==================================================
# トップページ
==================================================*/
/* FV */
.index-fv {
    display: flex;
    flex-direction: column;
    font-family: "Zen Kaku Gothic New", sans-serif;
}

.index-fv__pc-group {
    display: contents;
}

.index-fv__visual-main.sp-only {
    order: -1;
    margin: 0 auto;
    width: 100%;
}
  
  .index-fv__content {
    margin: 12px auto;
    padding: 0 20px;
    width: fit-content;
  }

  .index-fv__tag {
    color: #002B91;
    display: inline-block;
    font-size: 14px;
    font-weight: 700;
    line-height: 100%;
    padding: 6px 8px;
    border: 1px solid #002B91;
  }

  .index-fv__heading {
    margin-top: 8px;
    
  }

  .index-fv__heading-line {
  display: block;
  position: relative;
  padding-bottom: 8px;
  margin-bottom: 8px;
  background: var(--blueGradation, linear-gradient(91deg, #002B91 0.17%, #1B86B3 32.63%, #1B4AB8 59.15%, #002B91 95.26%));
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    width: fit-content;
    }

    .index-fv__heading-line:last-child {
    margin-bottom: 0;
    }

    .index-fv__heading-line::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 3px;
    background: linear-gradient(90deg, #4A90E2 0%, #002B91 100%);
    }

  .index-fv__heading-strong {
    font-size: 36px;
    font-weight: 900;
    line-height: 1;
  }

  .index-fv__heading-small {
    font-size: 28px;
    font-weight: 900;
  }

  .index-fv__lead {
    font-size: 14px;
    font-weight: 500;
    line-height: calc(22 / 14);
    color: #2B2B2B;
    margin-top: 12px;
  }

  .index-fv-badges {
    margin-top: 12px;
    list-style: none;
    padding: 0;
  }

  .index-fv-badge {
    width: 100px;
    height: 100px;
    max-width: 100%;
  background: url('/wp-content/uploads/2026/05/fv-badge-frame.png') center / contain no-repeat;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding-top: 12px;
  
}

.index-fv__row {
    align-items: center;
    justify-content: center;
    width: 100%;
}

.index-fv__row.sp-only {
    display: flex;
}

.index-fv__badge-group {
    display: flex;
    gap: 2px;
    flex-shrink: 0;
    position: relative;
}

.index-fv__row--01 .index-fv__badge-group {
    padding-left: 16px;
}

.index-fv__row--02 .index-fv__badge-group {
    padding-right: 16px;
}

.index-fv-badge,
.index-fv__visual-01,
.index-fv__visual-02 {
    flex-shrink: 0;
    position: relative;
}

.index-fv__visual-01,
.index-fv__visual-02 {
    width: calc(180 / 375 * 100%);
    aspect-ratio: 180 / 120;
    max-width: 100%;
    object-fit: cover;
    z-index: 1;
}

.index-fv__visual-01 {
    margin-left: -16px;
}

.index-fv__visual-02 {
    margin-right: -16px;
}

.index-fv__row--01 .index-fv__badge-group {
    z-index: 2;
}

.index-fv__row--02 .index-fv__badge-group {
    z-index: 2;
}

.index-fv-badge__text {
    font-weight: 700;
    display: block;
}

.index-fv-badge--01 .index-fv-badge__text, .index-fv-badge--04 .index-fv-badge__text {
    font-size: 14px;
    line-height: calc(16 / 14);
}

.index-fv-badge--03 .index-fv-badge__text {
    font-size: 15px;
    line-height: calc(18 / 15);
    letter-spacing: -0.03em;
}

.index-fv-badge__num {
    font-size: 18px;
}

  @media (min-width: 768px) {
    .index-fv {
      display: grid;
      grid-template-columns: 1fr 1fr;
      grid-template-areas:
        "group visual";
      max-width: 1440px;
    }

    .index-fv__pc-group {
        grid-area: group;
        display: flex;
        flex-direction: column;
        justify-content: center;
        width: fit-content ;
        margin-left: auto;
        padding: 60px 0 60px 30px;

    }

    .index-fv__content {
        margin: 0;
        padding: 0;
    }

    .index-fv__visual-main {
        grid-area: visual;
        width: 100%;
    }

    .index-fv__row.sp-only {
        display: none;
    }

    .index-fv-badges {
      display: flex;
      gap: 16px;
      margin-top: 22px;
      padding-left: 20px;
    }

  }

  @media (min-width: 1024px) {
    .index-fv {
        column-gap: 62px;
    }


    .index-fv__tag {
        font-size: 20px;
        padding: 8px 14px;
    }
    .index-fv__heading {
        margin-top: 16px;
    }

    .index-fv__heading-line {
        padding-bottom: 10px;
        margin-bottom: 4px;
    }

    .index-fv__heading-strong {
        font-size: 48px;
    }

    .index-fv__heading-small {
        font-size: 40px;
    }

    .index-fv__lead {
        margin-top: 14px;
        font-size: 16px;
    }
    .index-fv-badge {
        width: 120px;
        height: 120px;
    }

    .index-fv-badge--01 .index-fv-badge__text {
        font-size: 16px;
    }

    .index-fv-badge--01 .index-fv-badge__text-large {
        font-size: 20px;
    }

    .index-fv-badge--02 .index-fv-badge__text {
        font-size: 18px;
    }

    .index-fv-badge--02 .index-fv-badge__text-small {
        font-size: 16px;
    }

    .index-fv-badge--02 .index-fv-badge__text-large {
        font-size: 20px;
    }

    .index-fv-badge--03 .index-fv-badge__text {
        font-size: 20px;
    }

    .index-fv-badge--03 .index-fv-badge__text-small {
        font-size: 16px;
    }

    .index-fv-badge--04 .index-fv-badge__text {
        font-size: 16px;
    }

    .index-fv-badge--04 .index-fv-badge__num {
        font-size: 24px;
    }
  }

  /* CTA */
  .p-cta-banner {
    background: #72D8E9;
    padding: 44px 0 20px;
    position: relative;
}

.p-cta-banner__inner {
    max-width: 992px;
    margin: 0 auto;
    padding: 0 30px;
    position: relative;
}

.p-cta-banner__lead {
    display: inline-block;
    background: #fff;
    color: #002B91;
    font-size: 22px;
    font-weight: 700;
    padding: 6px 50px;
    border-radius: 4px;
    border: 3px solid #002B91;
    position: absolute;
    top: -72px;
    left: 50%;
    transform: translateX(-50%);
}

.p-cta-banner__lead::before {
    content: '';
    position: absolute;
    bottom: -14px;
    left: 50%;
    transform: translateX(-50%);
    border-left: 11px solid transparent;
    border-right: 11px solid transparent;
    border-top: 11px solid #002B91;
}

.p-cta-banner__lead::after {
    content: '';
    position: absolute;
    bottom: -8px;
    left: 50%;
    transform: translateX(-50%);
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    border-top: 8px solid #fff;
}

.p-cta-banner__buttons {
    display: flex;
    justify-content: center;
    gap: 40px;
}

.p-cta-banner__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 280px;
    height: 56px;
    color: #fff;
    font-weight: 700;
    font-size: 22px;
    text-decoration: none;
    border-radius: 8px;
    border: 1px solid #FFF;
    box-shadow: 4px 4px 0 #fff;
    transition: transform 0.1s ease, box-shadow 0.1s ease;
}

.p-cta-banner__button--tel  { background: #002B91; }
.p-cta-banner__button--mail { background: #FF7E2E; }
.p-cta-banner__button--line { background: #07C755; }

.p-cta-banner__button:hover {
    transform: translate(2px, 2px);
    box-shadow: 2px 2px 0 #fff;
}

.p-cta-banner__button:active {
    transform: translate(4px, 4px);
    box-shadow: 0 0 0 #fff;
}

/* お悩み */
.p-worries {
    background: url('/wp-content/uploads/2026/05/worries-bg-sp.png') no-repeat center / cover;
    padding-top: 40px;
}

.p-worries__inner {
    max-width: 1160px;
    margin: 0 auto;
    padding: 0 20px;
}

.p-section-heading {
    text-align: center;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.4;
    position: relative;
    padding-bottom: 8px;
    font-family: "Zen Kaku Gothic New", sans-serif;
}

.p-section-heading::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 40px;
    height: 2px;
    background: #72D8E9;
}

/* お悩みカードリスト */
.p-worries__list {
    margin-top: 24px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    list-style: none;
    padding: 0;
}

.p-worries__item {
    background: #fff;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.05);
}

.p-worries__image {
    width: 100%;
    height: auto;
    aspect-ratio: 160 / 106;
    object-fit: cover;
    display: block;
}

.p-worries__text {
    font-weight: 500;
    padding: 12px 10px 16px;
}

/* お悩みCTA（矢印 + キャラクター + 強調テキスト） */
.p-worries-cta {
    margin-top: 20px;
}

.p-worries-cta__arrow {
    display: block;
    width: 0;
    height: 0;
    margin: 0 auto;
    border-left: 100px solid transparent;
    border-right: 100px solid transparent;
    border-top: 20px solid #72D8E9;
}

.p-worries-cta__body {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    margin-top: 16px;
}

.p-worries-cta__char {
    flex-shrink: 0;
}

.p-worries-cta__char--left {
    width: 62px;
}

.p-worries-cta__char--right {
    width: 56px;
}



.p-worries-cta__text {
    padding-bottom: 40px;
    color: #002B91;
    text-align: center;
    font-size: 18px;
    font-weight: 900;
    letter-spacing: 0.72px;
    font-family: "Zen Kaku Gothic New", sans-serif;
}

.p-worries-cta__strong {
    color: #FF7E2E;
    font-size: 22px;
    font-weight: 900;
    letter-spacing: 0.88px;
}

.p-worries-cta__marker {
    background: linear-gradient(transparent 60%, #FEFF04 60%);
    padding: 0 4px;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
}

/* PC */
@media (min-width: 768px) {
    .p-worries {
        background-image: url('/wp-content/uploads/2026/05/worries-bg-pc.png');
        padding-top: 80px;
    }

    .p-section-heading {
        font-size: 32px;
        padding-bottom: 16px;
    }

    .p-section-heading::after {
        width: 80px;
        height: 4px;
    }

    .p-worries__list {
        margin-top: 32px;
        grid-template-columns: repeat(4, 1fr);
        gap: 28px;
    }

    .p-worries__item {
        padding: 16px;
    }

    .p-worries__text {
        font-size: 18px;
        padding: 12px 0 0 0;
    }

    .p-worries-cta {
        margin-top: 30px;
    }

    .p-worries-cta__arrow {
        border-left-width: 160px;
        border-right-width: 160px;
        border-top-width: 32px;
    }

    .p-worries-cta__body {
        gap: 24px;
        margin-top: 0;
        
    }

    .p-worries-cta__char--left {
        width: 120px;
    }

    .p-worries-cta__char--right {
        width: 114px;
    }

    .p-worries-cta__text {
        font-size: 32px;
        padding-bottom: 76px;
    }

    .p-worries-cta__strong {
        font-size: 32px;
    }
}

  /*==================================================
  # SP下部固定メニュー
  ==================================================*/
  .p-footer-sticky-nav .c-navbar__item>a {
    padding: 15px 0;
  }

  .c_sp-nav--tel {
    background: #002B91;
  }

  .c_sp-nav--mail {
    background: #FF7E2E;
  }

  .c_sp-nav--line {
    background: #07C755;
  }

  .p-footer-sticky-nav .c-navbar__item.c_sp-nav>a {
    color: #FFF;
    font-size: 14px;
    font-weight: 700;
  }

  .c_sp-nav svg {
    height: 18px;
  }

  @media screen and (max-width: 374px) {
    .p-footer-sticky-nav .c-navbar__item.c_sp-nav>a {
        font-size: 12px;
    }
  }

/* p-section-heading 左右ラインモディファイア */
.p-section-heading--lines {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 11px;
    padding-bottom: 0;
    font-family: "Zen Kaku Gothic New", sans-serif;
}

.p-section-heading--lines::after {
    position: static;
    transform: none;
    width: 24px;
    height: 1px;
    background: currentColor;
    order: 1;
}

.p-section-heading--lines::before {
    content: '';
    display: block;
    width: 24px;
    height: 1px;
    background: currentColor;
}

@media (min-width: 768px) {
    .p-section-heading--lines::after, .p-section-heading--lines::before {
        width: 48px;
    }
}

/* 選ばれる理由（共通コンポーネント） */
.p-reason {
    padding: 40px 0;
}

.p-reason__inner {
    max-width: 1096px;
    margin: 0 auto;
    padding: 0 20px;
}

.p-reason__list {
    list-style: none;
    padding: 0;
    margin: 24px 0 0;
}

.p-reason__list > li + li {
    margin-top: 24px;
}

.p-reason__item {
    background: #FFFCE4;
    overflow: hidden;
}

.p-reason__image img {
    width: 100%;
    height: auto;
    display: block;
}

.p-reason__body {
    padding: 12px 18px 32px;
}

.p-reason__title {
    color: #002B91;
    font-weight: 900;
    border-bottom: 1px solid currentColor;
    padding-bottom: 8px;
    margin: 0 0 12px;
}

.p-reason__title-prefix {
    color: #002B91;
    font-weight: 900;
    font-size: 16px;
    font-family: "Zen Kaku Gothic New", sans-serif;
}

.p-reason__title-num {
    color: #FF7E2E;
    font-size: 24px;
    font-family: "Zen Kaku Gothic New", sans-serif;
}

.p-reason__title-text {
    color: #002B91;
    font-size: 18px;
    font-weight: 700;
}

.p-reason__highlight {
    color: #FF7E2E;
    font-weight: 700;
}

.p-reason__cert {
    background: #fff;
    border: 2px solid #002B91;
    border-radius: 8px;
    overflow: hidden;
}

.p-reason__cert-heading {
    background: #002B91;
    font-size: 18px;
    color: #fff;
    text-align: center;
    font-weight: 700;
    padding: 8px;
    margin: 0;
}

.p-reason__cert-list {
    list-style: none;
    padding: 16px;
    margin: 0;
    display: grid;
    gap: 8px;
}

.p-reason__cert-item {
    position: relative;
    padding-left: 28px;
    font-size: 18px;
}

.p-reason__cert-item::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
    background: url('/wp-content/plugins/my-snow-monkey/assets/icons/icon-check.svg') center / contain no-repeat;
}

.p-reason__more {
    text-align: center;
    margin-top: 24px;
}

.p-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 16px 24px;
    background: #23BFD9;
    box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.15);
    color: #fff;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 700;
    transition: all 0.3s ease 0s;
    font-size: 18px;
    text-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
    font-family: "Zen Kaku Gothic New", sans-serif;
    width: 100%;
    max-width: 320px;
}

.p-button::after {
    content: '';
    display: inline-block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px 0 6px 8px;
    border-color: transparent transparent transparent currentColor;
    margin-left: 12px;
}

.p-button:hover {
    opacity: 0.8;
}

.p-reason__lead {
    text-align: center;
    font-weight: 700;
    margin-top: 30px;
    font-size: 18px;
    font-family: "Zen Kaku Gothic New", sans-serif;
}

.p-reason__lead-em {
    color: #FF7E2E;
    font-size: 22px;
}

.p-reason__marker {
    background: linear-gradient(transparent 60%, #FEFF04 60%);
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
    padding: 0 2px;
}

@media (min-width: 768px) {
    .p-reason {
        padding: 80px 0;
    }

    .p-reason__list {
        margin-top: 48px;
    }

    .p-reason__list > li + li {
    margin-top: 36px;
}

    .p-reason__item {
        display: grid;
        grid-template-columns: 285px 1fr;
        gap: 30px;
        align-items: center;
        filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.08));
    }

    .p-reason__body {
        padding: 24px 32px 24px 0;
    }

    .p-reason__title-num {
        font-size: 40px;
    }

    .p-reason__title-text {
        font-size: 24px;
    }

    .p-reason__text {
        font-size: 18px;
    }


    .p-reason__more {
        margin-top: 40px;
    }

    .p-reason__lead {
        margin-top: 40px;
        font-size: 28px;
    }

    .p-reason__lead-em {
        font-size: 32px;
    }
}

@media (min-width: 1024px) {
    .p-reason__cert-list {
        gap: 48px;
        grid-template-columns: repeat(3, 1fr);
        justify-items: center;
    }
    }

/* アウトラインボタン（共通コンポーネント） */
.p-outline-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 7px 10px;
    background: #FFF;
    color: #002B91;
    border: 1.6px solid #002B91;
    border-radius: 20px;
    text-decoration: none;
    font-weight: 700;
    transition: all 0.3s ease 0s;
    font-family: "Zen Kaku Gothic New", sans-serif;
}

.p-outline-button::after {
    content: '';
    display: inline-block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px 0 6px 8px;
    border-color: transparent transparent transparent currentColor;
    margin-left: 8px;
}

.p-outline-button:hover {
    background: #002B91;
    color: #fff;
}

@media (min-width: 768px) {
    .p-outline-button {
        padding-right: 12px;
        padding-left: 30px;
    }
}

/* サービス（共通コンポーネント） */
.p-service {
    padding: 40px 0;
    background: #E0F7FA;
}

.p-service__inner {
    max-width: 920px;
    margin: 0 auto;
    padding: 0 16px;
}

.p-service__lead {
    font-weight: 500;
    margin: 16px 0 0;
    font-size: 14px;
    line-height: 1.6;
    text-align: center;
}

.p-service__wrapper {
    position: relative;
    margin-top: 24px;
}

.p-service__list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}

.p-service__item {
    width: calc((100% - 16px) / 2);
    box-sizing: border-box;
    background: #FFF;
    border: 2px solid #72D8E9;
    border-radius: 8px;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.08);
    padding: 16px 12px 24px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.p-service__icon img {
    width: 80px;
    height: 80px;
}

.p-service__title {
    color: #FF7E2E;
    text-align: center;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-size: 20px;
    font-weight: 700;
    margin: 12px 0 8px;
}

.p-service__text {
    margin: 0 0 16px;
    flex-grow: 1;
    text-align: left;
}

.p-service__char {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 140px;
    height: 149.267px;
}

@media (min-width: 768px) {
    .p-service {
        padding: 80px 0;
    }

    .p-service__inner {
        padding: 0 30px;
    }


    .p-service__lead {
        font-size: 18px;
        margin-top: 40px;
    }

    .p-service__wrapper {
        margin-top: 40px;
    }

    .p-service__list {
        gap: 40px;
        justify-content: center;

    }


    .p-service__item {
        width: calc((100% - 80px) / 3);
        padding: 24px 22px;
    }

    .p-service__icon img {
        width: 100px;
        height: 100px;
    }

    .p-service__title {
        margin: 16px 0 12px;
    }

    .p-service__char {
        width: 162px;
        bottom: -80px;
        right: -30px;
    }
}

/* 注意喚起（共通コンポーネント） */
.p-caution {
    padding: 48px 0 40px;
}

.p-caution__inner {
    max-width: 1140px;
    margin: 0 auto;
    padding: 0 18px;
}

/* ショートコード用：左右パディングなし(ブロックエディタの親余白を二重に重ねないため) */
.p-caution--no-side-padding .p-caution__inner {
    padding-left: 0;
    padding-right: 0;
}

.p-caution__heading {
    font-size: 20px;
    margin: 0;
    text-align: center;
    font-family: "Zen Kaku Gothic New", sans-serif;
}


.p-caution__heading-text {
    border: 2px solid #000;
background: #FFFF0B;
    padding: 10px 44px;
    display: inline-block;
    position: relative;
    text-align: center;
    font-weight: 700;
}

.p-caution__heading-text::before,
.p-caution__heading-text::after {
    content: '';
    position: absolute;
    width: 3px;
    height: 35px;
    background: #000;
}

.p-caution__heading-text::before {
    top: -12px;
    left: 3px;
    transform:  rotate(45deg);
}

.p-caution__heading-text::after {
    bottom: -12px;
    right: 3px;
    transform: rotate(45deg);
}

.p-caution__heading-strong {
    color: #F00;
    font-size: 22px;
    font-weight: 700;
}

.p-caution__lead {
    margin: 33px 0 0;
    font-weight: 500;
}

.p-caution__list {
    list-style: none;
    padding: 0;
    margin: 24px auto 0;
    display: flex;
    flex-direction: column;
    gap: 20px;
    width: fit-content;
}

.p-caution__item {
    display: flex;
    align-items: stretch;
    background: #fff;
    border: 4px solid #E50000;
    border-radius: 8px;
    overflow: hidden;
}

.p-caution__item-icon {
    flex-shrink: 0;
    background: #E50000;
    padding: 12px;
    width: 48px;
    height: auto;
    box-sizing: content-box;
    align-self: stretch;
    object-fit: contain;
}

.p-caution__item-text {
    flex-grow: 1;
    text-align: center;
    color: #E60012;
    font-size: 20px;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 700;
    padding: 12px 8px;
    align-self: center;
}

.p-caution__conclusion {
    margin: 24px 0 0;
    color: #002B91;
    font-weight: 900;
    font-size: 18px;
    font-family: "Zen Kaku Gothic New", sans-serif;
}

.p-caution__brand {
    color: #002B91;
    font-size: 18px;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 900;
}

.p-caution__marker {
    background: linear-gradient(transparent 60%, #FEFF04 60%);
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
    color: #FF7E2E;
    padding: 0 2px;
    font-size: 22px;
}

@media (min-width: 768px) {
    .p-caution {
        padding: 80px 0;
    }

    .p-caution__inner {
        padding: 0 30px;
    }

    .p-caution__heading, .p-caution__heading-strong {
        font-size: 32px;
    }

    .p-caution__lead {
        font-size: 18px;
        margin-top: 32px;
        text-align: center;
    }


    .p-caution__item {
        flex: 1;
        max-width: 340px;
    }

    .p-caution__item-text {
        font-size: 22px;
        letter-spacing: -0.88px;

    }

    .p-caution__conclusion {
        font-size: 24px;
        margin-top: 54px;
        text-align: center;
    }

    .p-caution__brand, .p-caution__marker {
        font-size: 24px;
    }
}

@media (min-width: 1024px) {
    
    .p-caution__list {
        flex-direction: row;
        justify-content: center;
        gap: 32px;
        margin-top: 40px;
        width: 100%;
    }
}

/* 資格・認定（共通コンポーネント） */
.p-shikaku {
    padding: 40px 0 152px;
    background: #23BFD9;
    position: relative;
}

.p-shikaku__inner {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 18px;
}

.p-shikaku__heading {
    text-align: center;
    color: #FFF;
    font-size: 22px;
    font-weight: 700;
    font-family: "Zen Kaku Gothic New", sans-serif;
    position: relative;
    z-index: 1;
}

.p-shikaku__heading:before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 94%;
    height: 100%;
    background: #23BFD9;
    z-index: -1;
}

.p-shikaku__heading-strong {
    color: #FFFF0B;
    font-size: 22px;
    font-weight: 700;
}

.p-shikaku__wrapper {
    margin-top: -33px;
    padding: 60px 16px 32px;
    border: 2px solid #FFF;
}

.p-shikaku__list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
}

.p-shikaku__item {
    text-align: center;
    max-width: 240px;
    width: 100%;
}

.p-shikaku__image {
    display: block;
    margin: 0 auto;
    max-width: 100%;
    height: auto;
    background: #FFF;
}

.p-shikaku__label {
    color: #FFF;
    margin: 8px 0 0;
    font-size: 14px;
}

.p-shikaku__label-title {
    font-size: 18px;
    font-weight: 700;
}

.p-shikaku__char {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 200px;
    height: auto;
}

@media (min-width: 768px) {
    .p-shikaku {
        padding: 80px 0;
    }

    .p-shikaku__inner {
        padding: 0 30px;
    }

    .p-shikaku__heading {
        width: fit-content;
        margin: 0 auto;
        padding: 0 20px;
    }

    .p-shikaku__heading:before {
        width: 100%;
    }

    .p-shikaku__heading, .p-shikaku__heading-strong {
        font-size: 32px;
    }

    .p-shikaku__wrapper {
        margin-top: -24px;
        padding: 48px 24px 46px;
        position: relative;
    }

    .p-shikaku__list {
        flex-direction: row;
        justify-content: center;
        align-items: flex-start;
        gap: 24px;
        flex-wrap: wrap;
    }

    .p-shikaku__item {
        flex: 1;
        max-width: 242px;
    }

    .p-shikaku__char {
        left: auto;
        right: 10px;
        bottom: -82px;
        transform: translateX(0);
    }
}

@media (min-width: 1024px) {

    .p-shikaku__char {
        width: 280px;


    }
}

/* 事例紹介(共通コンポーネント) */
.p-case {
    padding: 40px 0;
    background: url('/wp-content/uploads/2026/05/case-bg-sp.png') center / cover no-repeat;
}

.p-case__inner {
    max-width: 1096px;
    margin: 0 auto;
    padding: 0 16px;
}

.p-case__lead {
    text-align: center;
    margin: 22px 0 0;
    font-weight: 500;
}

.p-case__list {
    list-style: none;
    padding: 0;
    margin: 24px 0 0;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.p-case__item {
    background: #FFF;
    border-radius: 8px;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.08);
    overflow: hidden;
}

.p-case__link {
    display: block;
    color: inherit;
    text-decoration: none;
    padding-bottom: 20px;
}

.p-case__image {
    aspect-ratio: 280 / 180;
    overflow: hidden;
}

.p-case__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.p-case__meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px 0;
    gap: 8px;
}

.p-case__category {
    border-radius: 4px;
    background: #002B91;
    color: #FFF;
    font-size: 14px;
    font-weight: 500;
    padding: 4px 10px;
}

.p-case__date {
    color: #7E7E7E;
    font-family: "Lato", sans-serif;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.56px;
}

.p-case__title {
    font-size: 18px;
    font-weight: 700;
    margin-top: 12px;
    padding: 0 16px;
}

.p-case__button {
    display: flex;
    width: fit-content;
    margin: 20px auto 0;
}

.p-case__empty {
    text-align: center;
    padding: 40px 0;
    color: #666;
    font-weight: 500;
}

.p-case__more {
    margin-top: 40px;
    text-align: center;
}

@media (min-width: 768px) {
    .p-case {
        padding: 80px 0;
        background-image: url('/wp-content/uploads/2026/05/case-bg-pc.png');
    }

    .p-case__inner {
        padding: 0 30px;
    }

    .p-case__lead {
        font-size: 18px;
        margin-top: 40px;
    }

    .p-case__list {
        flex-direction: row;
        justify-content: center;
        gap: 32px;
        margin-top: 40px;
    }

    .p-case__item {
        flex: 1;
        max-width: 280px;
    }


    .p-case__more {
        margin-top: 50px;
    }
}

/* お客様の声(共通コンポーネント) */
.p-voice {
    padding: 40px 0;
    background: #F9F9F9;
}

.p-voice__inner {
    max-width: 960px;
    margin: 0 auto;
    padding: 0 16px;
}

.p-voice__lead {
    text-align: center;
    margin: 24px 0 0;
    font-weight: 500;
}

.p-voice__reviews {
    margin-top: 24px;
}

@media (min-width: 768px) {
    .p-voice {
        padding: 80px 0;
    }

    .p-voice__inner {
        padding: 0 30px;
    }

    .p-voice__lead {
        font-size: 16px;
        margin-top: 24px;
    }

    .p-voice__reviews {
        margin-top: 48px;
    }
}

/* 問い合わせCTA（共通コンポーネント） */
.p-contact-cta {
    position: relative;
    padding: 40px 0;
    background-image: url('/wp-content/uploads/2026/05/contact-cta-bg-sp.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.p-contact-cta__inner {
    max-width: 980px;
    margin: 0 auto;
    padding: 0 16px;
}

.p-contact-cta__card {
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.80);
}

.p-contact-cta__heading {
    background: #002B91;
    color: #FFF;
    border-radius: 16px 16px 0 0;
    text-align: center;
    font-size: 22px;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 700;
    padding: 12px 0;
}

.p-contact-cta__body {
    border-radius: 0 0 16px 16px;
    padding: 18px 20px 24px;
    text-align: center;
    font-family: "Zen Kaku Gothic New", sans-serif;
}

.p-contact-cta__lead {
    font-weight: 500;
}

.p-contact-cta__columns {
    margin-top: 12px;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.p-contact-cta__tel {
    padding: 13px 0;
    border-top: 1px solid #A6A6A6;;
    border-bottom: 1px solid #A6A6A6;;
}

.p-contact-cta__tel-lead {
    font-weight: 500;
}

.p-contact-cta__tel-link {
    display: inline-flex;
    gap: 4px;
    text-decoration: none;
    color: inherit;
    justify-content: center;
}

.p-contact-cta__tel-icon {
    width: 20px;
    height: auto;
}

.p-contact-cta__tel-number {
    font-family: "Lato", sans-serif;
    font-weight: 600;
    font-size: 24px;
    letter-spacing: 0.96px;
    
}

.p-contact-cta__tel-hours {
    font-size: 14px;
    font-weight: 500;
}

.p-contact-cta__buttons {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.p-contact-cta__button-group {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.p-contact-cta__button {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    max-width: 280px;
    padding: 14px 0;
    border-radius: 8px;
    color: #FFF;
    text-decoration: none;
    border: 2px solid #fff;
    transition: all 0.3s ease;
}

.p-contact-cta__button:hover {
    opacity: 0.9;
}

.p-contact-cta__button--mail {
    background: #FF7E2E;
}

.p-contact-cta__button--line {
    background: #07C755;
}

.p-contact-cta__button-icon {
    height: auto;
    flex-shrink: 0;
}

.p-contact-cta__button--mail .p-contact-cta__button-icon {
    width: 26px;
}

.p-contact-cta__button--line .p-contact-cta__button-icon {
    width: 36px;
}

.p-contact-cta__button-label {
    font-size: 20px;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 700;
}

.p-contact-cta__button-note {
    font-size: 18px;
    font-weight: 500;
}

.p-contact-cta--variant2 {
    background-image: url('/wp-content/uploads/2026/05/contact-cta2-bg-sp.jpg');
}

.p-contact-cta.p-contact-cta--no-bg {
    background-image: none;
}

@media (min-width: 768px) {
    .p-contact-cta {
        padding: 70px 0;
        background-image: url('/wp-content/uploads/2026/05/contact-cta-bg-pc.jpg');
    }

    .p-contact-cta__inner {
        padding: 0 30px;
    }

    .p-contact-cta--variant2 {
        background-image: url('/wp-content/uploads/2026/05/contact-cta2-bg-pc.png');
    }

    .p-contact-cta__card {
        position: relative;
    }

    .p-contact-cta__heading {
        position: absolute;
        top: -30px;
        left: 50%;
        transform: translateX(-50%);
        font-size: 28px;
        padding: 9px 30px;
        border-radius: 30px;
        width: fit-content;
        min-width: 680px;
    }

    .p-contact-cta__body {
        border-radius: 16px;
        padding: 50px 30px 24px;
    }

    .p-contact-cta__lead {
        font-size: 20px;
    }

    .p-contact-cta__columns {
        flex-direction: row;
        align-items: flex-start;
        gap: 54px;
        margin-top: 20px;
    }

    .p-contact-cta__tel {
        flex: 1;
        padding: 24px 0;
        display: flex;
        flex-direction: column;
        justify-content: center;
        margin-top: 16px;
    }

    .p-contact-cta__tel-lead {
        font-size: 20px;
    }

    .p-contact-cta__tel-number {
        font-size: 36px;
        margin-top: 4px;
    }

    .p-contact-cta__tel-icon {
        width: 32px;
    }

    .p-contact-cta__tel-hours {
        font-size: 16px;
        margin-top: 4px;
    }

    .p-contact-cta__buttons {
        flex: 1;
        justify-content: center;
    }

    .p-contact-cta__button {
        max-width: 100%;
        padding: 16px 24px;
    }

}

@media (min-width: 1024px) {
    .p-contact-cta__tel-number {
        font-size: 40px;
    }

    .p-contact-cta__button-label {
        font-size: 26px;
    }
}

/* 代表挨拶（共通コンポーネント） */
.p-daihyou {
    padding: 40px 16px 0;
    background-color: #DAF2F7;
    background-image: url('/wp-content/uploads/2026/05/index-daihyou-bg-sp.png');
    background-size: cover;
    background-position: center top;
    background-repeat: no-repeat;
    overflow: hidden;
}

.p-daihyou__inner {
    max-width: 1000px;
    margin: 0 auto;
    padding: 0 16px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.p-daihyou__image {
    display: block;
    width: 280px;
    height: auto;
    margin-top: 32px;
    order: 2;
}

.p-daihyou__body {
    width: 100%;
    order: 1;
}

.p-daihyou__heading {
    text-align: center;
    padding-bottom: 16px;
    border-bottom: 2px solid #72D8E9;
}

.p-daihyou__heading::after {
    display: none;
}

.p-daihyou__text {
    margin-top: 24px;
    font-size: 18px;
}

.p-daihyou__text p + p {
    margin-top: 1em;
}

.p-daihyou__more {
    margin-top: 40px;
    text-align: center;
}

@media (min-width: 768px) {
    .p-daihyou {
        padding: 80px 0 0;
        background-image: url('/wp-content/uploads/2026/05/index-daihyou-bg-pc.png');
    }

    .p-daihyou__inner {
        flex-direction: row;
        align-items: flex-end;
        gap: 60px;
        padding: 0 30px;
    }

    .p-daihyou__image {
        order: 1;
        width: 250px;
        margin-top: 0;
        flex-shrink: 0;
        align-self: flex-end;
    }

    .p-daihyou__body {
        order: 2;
        flex: 1;
        padding-bottom: 80px;
    }

    .p-daihyou__text {
        margin-top: 40px;
    }

    .p-daihyou__more {
        margin-top: 50px;
    }
}

/* 対応エリア（共通コンポーネント） */
.p-area {
    padding: 40px 0;
    background: #FFFCE4;
}

.p-area__inner {
    max-width: 960px;
    margin: 0 auto;
    padding: 0 16px;
}

.p-area__lead {
    text-align: center;
    margin-top: 24px;
    font-weight: 500;
}

.p-area__map {
    position: relative;
    background: #FFF;
    border-radius: 16px;
    padding: 30px 30px 42px;
    margin-top: 20px;
    border: 1px solid #FAE077;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.08);
}

.p-area__map-image {
    display: block;
    max-width: 320px;
    width: 100%;
    margin: 0 auto;
}

.p-area__char {
    position: absolute;
    right: 12px;
    bottom: 0px;
    width: 100px;
}

.p-area__more {
    margin-top: 30px;
    text-align: center;
}

@media (min-width: 768px) {
    .p-area {
        padding: 80px 0;
    }

    .p-area__inner {
        padding: 0 30px;
    }

    .p-area__lead {
        font-size: 18px;
        margin-top: 40px;
    }

    .p-area__map {
        padding: 30px 0;
        margin: 30px auto 0;
        max-width: 640px;
    }

    .p-area__char {
        width: 130px;
        right: 24px;
    }

    .p-area__more {
        margin-top: 50px;
    }
}

/* FAQ（共通コンポーネント） */
.p-faq {
    padding: 40px 0;
    background: #FFF;
}

.p-faq__inner {
    max-width: 980px;
    padding: 0 16px;
    margin: 0 auto;
}

.p-faq__list {
    list-style: none;
    margin: 24px 0 0;
    padding: 0;
}

.p-faq__item {
    font-family: "Zen Kaku Gothic New", sans-serif;
}

.p-faq__item + .p-faq__item {
    border-top: 1px dashed #888;
}

.p-faq__details {
    border-bottom: 1px dashed #888;
}

.p-faq__question {
    appearance: none;
    background: transparent;
    border: 0;
    color: inherit;
    text-align: left;
    width: 100%;
    cursor: pointer;
    display: grid;
    grid-template-columns: 32px 1fr 24px;
    gap: 12px;
    padding: 18px 4px;
    font-weight: 700;
    line-height: 1.5;
    font-family: inherit;
    font-size: inherit;
}

.p-faq__mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    font-family: "Lato", sans-serif;
    font-weight: 600;
    font-size: 16px;
    line-height: 1;
    flex-shrink: 0;
}

.p-faq__mark--q {
    background: #23BFD9;
    color: #FFF;
}

.p-faq__mark--a {
    background: #FFF;
    color: #23BFD9;
    border: 1px solid #23BFD9;
}

.p-faq__question-text {
    font-size: 18px;
    font-weight: 700;
}

.p-faq__toggle {
    position: relative;
    width: 20px;
    height: 20px;
    display: inline-block;
    justify-self: end;
    margin-top: 4px;
}

.p-faq__toggle::before,
.p-faq__toggle::after {
    content: '';
    position: absolute;
    background: #1A1A1A;
    top: 50%;
    left: 50%;
    width: 16px;
    height: 2px;
    border-radius: 1px;
}

.p-faq__toggle::before {
    transform: translate(-50%, -50%);
}

.p-faq__toggle::after {
    transform: translate(-50%, -50%) rotate(90deg);
    transition: transform 0.3s ease;
}

.p-faq__details.is-open .p-faq__toggle::after {
    transform: translate(-50%, -50%) rotate(0deg);
}

.p-faq__answer {
    box-sizing: border-box;
    display: grid;
    grid-template-columns: 32px 1fr;
    gap: 12px;
    padding: 4px 4px 0;
    overflow: hidden;
    height: 0;
}

.p-faq__details.is-open .p-faq__answer {
    height: auto;
}

.p-faq__answer-body {
    font-weight: 500;
    padding-bottom: 20px;
}

.p-faq__answer-text {
    margin: 0;
    font-size: 14px;
    color: #333;
}

.p-faq__answer-link {
    margin: 12px 0 0;
    font-size: 14px;
}

.p-faq__answer-link a {
    color: #FF7E2E;
    text-decoration: underline;
    text-underline-offset: 4px;
    font-weight: 700;
}

.p-faq__more {
    text-align: center;
    margin-top: 32px;
}

@media (min-width: 768px) {
    .p-faq {
        padding: 80px 0;
    }
    
    .p-faq__inner {
        padding: 0 30px;
    }

    .p-faq__list {
        margin-top: 50px;
    }

    .p-faq__question {
        padding: 20px 24px;
        gap: 24px;
    }

    .p-faq__mark {
        width: 32px;
        height: 32px;
        font-size: 24px;
    }

    .p-faq__question-text {
        font-size: 22px;
    }

    .p-faq__answer {
        padding: 0 24px;
    }

    .p-faq__answer-body {
        padding-bottom: 24px;
    }

    .p-faq__answer-text {
        font-size: 18px;
    }

    .p-faq__more {
        margin-top: 50px;
    }
}

/* コラム（共通コンポーネント） */
.p-column {
    padding: 40px 0;
    background: #F9F9F9;
}

.p-column__inner {
    max-width: 980px;
    padding: 0 16px;
    margin: 0 auto;
}

.p-column__lead {
    text-align: center;
    margin-top: 24px;
    font-weight: 500;
}

.p-column__list {
    list-style: none;
    margin: 24px auto 0;

    padding: 0;
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
}

.p-column__item {
    max-width: 280px;
    background: #FFF;
    border-radius: 8px;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.08);
    overflow: hidden;
    margin: 0 auto;
}

.p-column__link {
    display: flex;
    flex-direction: column;
    padding: 0 0 24px;
    text-decoration: none;
    color: inherit;
    height: 100%;
}

.p-column__image {
    aspect-ratio: 280 / 180;
    overflow: hidden;
}

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

.p-column__meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 16px 0;
}

.p-column__category {
    background: #002B91;
    font-family: "Zen Kaku Gothic New", sans-serif;
    color: #FFF;
    font-size: 14px;
    font-weight: 500;
    padding: 2px 4px;
    border-radius: 4px;
}

.p-column__date {
    font-family: "Lato", sans-serif;
    font-size: 14px;
    color: #7E7E7E;
    font-weight: 700;
}

.p-column__title {
    font-size: 18px;
    font-weight: 700;
    margin: 12px 16px 0;
    flex: 1;
}

.p-column__button {
    margin: 16px auto 0;
    align-self: center;
}

.p-column__more {
    text-align: center;
    margin-top: 40px;
}

.p-column__empty {
    text-align: center;
    padding: 40px;
    color: #555;
    list-style: none;
}

@media (min-width: 768px) {
    .p-column {
        padding: 80px 30px;
    }

    .p-column__lead {
        font-size: 18px;
        font-weight: 500;
        margin-top: 50px;
    }

    .p-column__list {
        grid-template-columns: repeat(3, 1fr);
        gap: 40px;
        margin-top: 40px;
    }

    .p-column__more {
        margin-top: 50px;
    }
}

/* Instagram（共通コンポーネント） */
.p-instagram {
    padding: 40px 0;
    background: #FFF;
}

.p-instagram__inner {
    max-width: 1116px;
    margin: 0 auto;
    padding: 0 16px;
}

.p-instagram__feed {
    margin-top: 24px;
}

.p-instagram__feed:empty {
    min-height: 200px;
    background: #F5F5F5;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.p-instagram__feed:empty::before {
    content: 'Instagramフィードはプラグイン設定後に表示されます';
    color: #999;
    font-size: 13px;
}

.p-instagram__more {
    margin-top: 40px;
    text-align: center;
}

@media (min-width: 768px) {
    .p-instagram {
        padding: 80px 0;
    }

    .p-instagram__inner {
        padding: 0 30px;
    }

    .p-instagram__feed {
        margin-top: 50px;
    }

    .p-instagram__feed:empty {
        min-height: 280px;
    }

    .p-instagram__more {
        margin-top: 50px;
    }
}

/* 新着情報（共通コンポーネント） */
.p-news {
    padding: 40px 0;
    background-image: url('/wp-content/uploads/2026/05/index-news-bg-sp.png');
    background-size: cover;
    background-position: center;
}

.p-news__inner {
    max-width: 980px;
    padding: 0 16px;
    margin: 0 auto;
}

.p-news__box {
    background: #FFF;
    border-radius: 16px;
    padding: 8px 12px 30px;
    margin-top: 24px;
    background: rgba(255, 255, 255, 0.80);
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.08);
}

.p-news__list {
    list-style: none;
    margin: 0;
    padding: 0;
    border-bottom: 1px dashed #737373;
}

.p-news__item + .p-news__item {
    border-top: 1px dashed #737373;
}

.p-news__link {
    display: grid;
    grid-template-columns: 1fr 32px;
    grid-template-rows: auto auto;
    align-items: center;
    padding: 16px 0 16px 8px;
    text-decoration: none;
    color: inherit;
    transition: opacity 0.2s;
    column-gap: 18px;
}

.p-news__link:hover {
    opacity: 0.7;
}

.p-news__date {
    grid-column: 1;
    grid-row: 1;
    font-family: "Lato", sans-serif;
    font-weight: 700;
    font-size: 14px;
    color: #002B91;
}

.p-news__title {
    grid-column: 1;
    grid-row: 2;
    font-weight: 500;
    font-family: "Zen Kaku Gothic New", sans-serif;
    margin: 4px 0 0;
    font-size: 16px;
}

.p-news__arrow {
    grid-column: 2;
    grid-row: 1 / 3;
    width: 24px;
    height: 24px;
    justify-self: end;
    align-self: center;
}

.p-news__more {
    text-align: center;
    margin-top: 40px;
}

.p-news__no-post {
    text-align: center;
    padding: 24px;
    color: #737373;
    margin: 0;
}

@media (min-width: 768px) {
    .p-news {
        padding: 80px 0;
        background-image: url('/wp-content/uploads/2026/05/index-news-bg-pc.png');
    }

    .p-news__inner {
        padding: 0 30px;
    }

    .p-news__box {
        padding: 30px 60px 40px;
        margin-top: 40px;
    }

    .p-news__link {
        grid-template-columns: 80px 1fr 24px;
        grid-template-rows: auto;
        padding: 20px;
        column-gap: 24px;
    }

    .p-news__date {
        grid-column: 1;
        grid-row: 1;
        font-size: 16px;
    }

    .p-news__title {
        grid-column: 2;
        grid-row: 1;
        font-size: 18px;
        margin: 0;
    }

    .p-news__arrow {
        grid-column: 3;
        grid-row: 1;
    }

    .p-news__more {
        margin-top: 40px;
    }
}

/* フッター（共通コンポーネント） */
.p-footer {
    background: #23BFD9;
    color: #FFF;
    padding: 40px 24px 24px;
    font-family: "Zen Kaku Gothic New", sans-serif;
}

.p-footer__inner {
    max-width: 1200px;
    margin: 0 auto;
}

.p-footer__head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 24px;
    flex-wrap: wrap;
}

.p-footer__brand {
    text-align: left;
}

.p-footer__brand-link {
    display: block;
    text-decoration: none;
    color: inherit;
    transition: opacity 0.2s;
}

.p-footer__brand-link:hover {
    opacity: 0.85;
}

.p-footer__brand-sub {
    display: block;
    font-size: 12px;
    letter-spacing: 0.06em;
    margin-bottom: 2px;
    font-weight: 500;
}

.p-footer__brand-name {
    display: block;
    font-family: "Lato", sans-serif;
    font-size: 32px;
    font-weight: 700;
    letter-spacing: 0.06em;
    line-height: 1.1;
}

.p-footer__tel {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: inherit;
    text-decoration: none;
    font-family: "Lato", sans-serif;
    font-weight: 700;
    font-size: 22px;
    margin-top: 12px;
    line-height: 1;
}

.p-footer__tel-icon {
    width: 20px;
    height: auto;
    filter: brightness(0) invert(1);
}

.p-footer__hours {
    font-size: 16px;
}

.p-footer__sns {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    gap: 16px;
    flex-shrink: 0;
}

.p-footer__sns-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: opacity 0.2s;
}

.p-footer__sns-link:hover {
    opacity: 0.8;
}

.p-footer__sns-icon {
    width: 32px;
    height: 32px;
    display: block;
}

.p-footer__nav {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px 24px;
    padding: 40px 0 0;
}

.p-footer__col-head {
    margin: 0 0 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid #fff;
}

.p-footer__col-en {
    display: block;
    font-family: "Lato", sans-serif;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.05em;
    line-height: 1;
    margin-bottom: 4px;
}

.p-footer__col-ja {
    display: block;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.2;
}

.p-footer__list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.p-footer__list-item + .p-footer__list-item {
    margin-top: 14px;
}

.p-footer__list-link {
    color: inherit;
    text-decoration: none;
    font-size: 14px;
    line-height: 1.4;
    transition: opacity 0.2s;
    display: inline-block;
    font-weight: 500;
}

.p-footer__list-link:hover {
    opacity: 0.75;
    text-decoration: underline;
    text-underline-offset: 4px;
}

.p-footer__copyright {
    margin: 32px 0 0;
    text-align: center;
    font-family: "Lato", sans-serif;
    font-size: 13px;
}

@media (min-width: 768px) {
    .p-footer {
        padding: 60px 40px 28px;
    }

    .p-footer__brand-name {
        font-size: 36px;
    }

    .p-footer__sns {
        gap: 40px;
    }

    .p-footer__sns-icon {
        width: 48px;
        height: 48px;
    }

    .p-footer__nav {
        grid-template-columns: repeat(4, 1fr);
        gap: 40px;
        padding-top: 50px;
    }

    .p-footer__copyright {
        margin-top: 48px;
    }
}

/*==================================================
# 整理事例 詳細ページ
==================================================*/

/* 共通：セクション見出し */
.p-seiri-detail__heading {
    font-size: 20px;
    font-weight: 700;
    color: #1A3A5C;
    border-left: 4px solid #5BC8C5;
    padding-left: 12px;
    margin: 48px 0 20px;
    line-height: 1.4;
}

/* 事例の基本情報セクション：見出し + 2カラム横並び（事例情報 / 費用テーブル） */
.p-seiri-detail__basic {
    margin-top: 48px;
}


.p-seiri-detail__basic-wrap {
    display: flex;
    gap: 24px;
}

.p-seiri-detail__info {
    flex: 1;
    margin: 0;
    background: #F7F9F9;
    border: 1px solid #E5E9E9;
    border-radius: 8px;
    padding: 0;
    overflow: hidden;
}

.p-seiri-detail__cost {
    flex: 1;
    margin: 0;
}

@media (max-width: 767px) {
    .p-seiri-detail__basic-wrap {
        flex-direction: column;
        gap: 16px;
    }
}

.p-seiri-detail__info-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 16px;
    border-bottom: 1px solid #EEF1F1;
    margin: 0;
}

.p-seiri-detail__info-row:last-child {
    border-bottom: none;
}

.p-seiri-detail__info-label {
    font-size: 14px;
    color: #666;
    font-weight: 700;
    margin: 0;
    flex-shrink: 0;
    width: 8em;
}

.p-seiri-detail__info-value {
    font-size: 15px;
    color: #1A3A5C;
    font-weight: 500;
    margin: 0;
    text-align: right;
    flex: 1;
}

/* 費用テーブル（一覧の .p-seiri-card__cost 系がそのまま効く。詳細では金額を大きく） */
.p-seiri-detail__cost .p-seiri-card__cost {
    margin-top: 0;
}

.p-seiri-detail__cost .p-seiri-card__cost-row--total .p-seiri-card__cost-value {
    font-size: 24px;
}

/* Before / After 比較 */
.p-seiri-detail__beforeafter {
    margin-top: 32px;
}

.p-seiri-detail__beforeafter-grid {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.p-seiri-detail__beforeafter-item {
    margin: 0;
    flex: 1;
}

.p-seiri-detail__beforeafter-label {
    display: inline-block;
    background: #888;
    color: #FFF;
    font-size: 12px;
    font-weight: 700;
    padding: 4px 12px;
    border-radius: 4px;
    margin-bottom: 8px;
    letter-spacing: 0.05em;
}

.p-seiri-detail__beforeafter-item--after .p-seiri-detail__beforeafter-label {
    background: #E8631F;
}

.p-seiri-detail__beforeafter-image {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 8px;
}

@media (min-width: 768px) {
    .p-seiri-detail__beforeafter-grid {
        flex-direction: row;
        gap: 32px;
    }
}

/* 事例の概要 */
.p-seiri-detail__summary {
    margin-top: 32px;
}

.p-seiri-detail__summary-body {
    line-height: 1.8;
    font-size: 16px;
    color: #333;
}

.p-seiri-detail__summary-body p {
    margin: 0 0 1em;
}

.p-seiri-detail__summary-body p:last-child {
    margin-bottom: 0;
}

/* お客様の声 */
.p-seiri-detail__voice {
    margin-top: 48px;
}

.p-seiri-detail__voice-title {
    font-size: 16px;
    font-weight: 700;
    color: #1A3A5C;
    margin: 0 0 12px;
    padding-left: 12px;
    border-left: 4px solid #5BC8C5;
}

.p-seiri-detail__voice-balloon {
    background: #EAF7F6;
    border-radius: 12px;
    padding: 20px 24px;
    position: relative;
}

.p-seiri-detail__voice-balloon::before {
    content: '"';
    position: absolute;
    top: 8px;
    left: 14px;
    font-size: 40px;
    line-height: 1;
    color: #5BC8C5;
    opacity: 0.4;
    font-family: Georgia, serif;
}

.p-seiri-detail__voice-text {
    color: #333;
    line-height: 1.8;
    font-size: 15px;
    margin: 0;
    position: relative;
    padding-left: 24px;
}

.p-seiri-detail__voice-text p {
    margin: 0 0 1em;
}

.p-seiri-detail__voice-text p:last-child {
    margin-bottom: 0;
}

.p-seiri-detail__voice-attribute {
    text-align: right;
    font-size: 13px;
    color: #888;
    margin: 8px 0 0;
}

/* 買取品目（最大2枚、PCで横並び・SPで縦並び） */
.p-seiri-detail__items {
    margin-top: 32px;
}

.p-seiri-detail__items-grid {
    display: flex;
    flex-direction: column;
    gap: 16px;
    max-width: 720px;
    margin: 0 auto;
}

.p-seiri-detail__items-figure {
    margin: 0 auto;
    max-width: 320px;
    width: 100%;
}

.p-seiri-detail__items-image {
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    border-radius: 8px;
}

@media (min-width: 768px) {
    .p-seiri-detail__items-grid {
        flex-direction: row;
        justify-content: center;
        gap: 24px;
    }
}

/* 関連事例 */
.p-seiri-detail__related {
    margin-top: 64px;
}

/* 事例詳細ページ：Snow Monkey 標準の前後ナビ非表示 */
.single-seiri-case .c-prev-next-nav,
.single-kaitori-case .c-prev-next-nav {
    display: none;
}

/* SPサイズ調整 */
@media (max-width: 767px) {
    .p-seiri-detail__heading {
        font-size: 18px;
        margin: 40px 0 16px;
    }

    .p-seiri-detail__info-row {
        padding: 10px 12px;
    }

    .p-seiri-detail__info-label {
        font-size: 13px;
        width: 7em;
    }

    .p-seiri-detail__info-value {
        font-size: 14px;
    }

    .p-seiri-detail__cost .p-seiri-card__cost-row--total .p-seiri-card__cost-value {
        font-size: 20px;
    }

    .p-seiri-detail__summary-body {
        font-size: 15px;
    }

    .p-seiri-detail__voice-balloon {
        padding: 16px 18px;
    }

    .p-seiri-detail__voice-text {
        font-size: 14px;
        padding-left: 20px;
    }
}

/*==================================================
# 買取事例 詳細ページ
==================================================*/

/* 共通セクション見出し（整理事例詳細と同じ装飾） */
.p-kaitori-detail__heading {
    font-size: 20px;
    font-weight: 700;
    color: #1A3A5C;
    border-left: 4px solid #5BC8C5;
    padding-left: 12px;
    margin: 48px 0 20px;
    line-height: 1.4;
}

/* 詳細ページ上部：写真＋情報の2カラム */
.p-kaitori-detail__main {
    margin-top: 32px;
}

.p-kaitori-detail__main-wrap {
    display: flex;
    gap: 40px;
    align-items: flex-start;
}

.p-kaitori-detail__main-image {
    flex: 1;
    max-width: 480px;
}

.p-kaitori-detail__main-image img {
    width: 100%;
    height: auto;
    border-radius: 8px;
    display: block;
}

.p-kaitori-detail__main-info {
    flex: 1;
}

/* 買取金額ボックス */
.p-kaitori-detail__price-box {
    background: #EAF7F6;
    border-radius: 8px;
    padding: 20px;
    text-align: center;
    margin-bottom: 20px;
}

.p-kaitori-detail__price-label {
    display: block;
    font-size: 14px;
    color: #1A3A5C;
    margin-bottom: 4px;
}

.p-kaitori-detail__price-value {
    display: block;
    font-size: 32px;
    font-weight: 700;
    color: #E8631F;
    line-height: 1.2;
}

/* スペック表（dt/dd 直接セレクタ） */
.p-kaitori-detail__spec {
    margin: 0;
    padding: 0;
}

.p-kaitori-detail__spec-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 12px;
    border-bottom: 1px solid #EEF1F1;
    margin: 0;
}

.p-kaitori-detail__spec-row:last-child {
    border-bottom: none;
}

.p-kaitori-detail__spec-row dt {
    font-size: 14px;
    color: #666;
    font-weight: 700;
    margin: 0;
    flex-shrink: 0;
    width: 6em;
}

.p-kaitori-detail__spec-row dd {
    font-size: 15px;
    color: #1A3A5C;
    font-weight: 500;
    margin: 0;
    text-align: right;
    flex: 1;
}

/* 品物について */
.p-kaitori-detail__description {
    margin: 32px auto 0;
}

.p-kaitori-detail__description-body {
    line-height: 1.8;
    font-size: 16px;
    color: #333;
}

.p-kaitori-detail__description-body p {
    margin: 0 0 1em;
}

.p-kaitori-detail__description-body p:last-child {
    margin-bottom: 0;
}

/* 追加写真：PC2カラム / SP1カラム、正方形トリミング */
.p-kaitori-detail__sub-images {
    margin: 32px auto 0;
}

.p-kaitori-detail__sub-images-grid {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.p-kaitori-detail__sub-image {
    flex: 1;
}

.p-kaitori-detail__sub-image img {
    display: block;
    width: 100%;
    border-radius: 8px;
}

@media (min-width: 768px) {
    .p-kaitori-detail__sub-images-grid {
        flex-direction: row;
        justify-content: center;
        gap: 24px;
    }
}

/* 関連事例 */
.p-kaitori-detail__related {
    margin-top: 64px;
}

/* SP最適化 */
@media (max-width: 767px) {
    .p-kaitori-detail__heading {
        font-size: 18px;
        margin: 40px 0 16px;
    }

    .p-kaitori-detail__main-wrap {
        flex-direction: column;
        gap: 24px;
    }

    .p-kaitori-detail__main-image,
    .p-kaitori-detail__main-info {
        max-width: 100%;
        width: 100%;
    }

    .p-kaitori-detail__price-value {
        font-size: 26px;
    }

    .p-kaitori-detail__spec-row {
        padding: 10px 12px;
    }

    .p-kaitori-detail__spec-row dt {
        font-size: 13px;
        width: 5em;
    }

    .p-kaitori-detail__spec-row dd {
        font-size: 14px;
    }

    .p-kaitori-detail__description-body {
        font-size: 15px;
    }
}

/*==================================================
# ブログ記事 本文の見出し（投稿タイプ post の single のみ）
==================================================*/

/* h2：ネイビー薄背景 + 左ネイビーボーダー（直接の子のみ→ボックスブロック内のh2は除外） */
.single-post .c-entry__content > h2 {
    background: #E8EDF2;
    border: none;
    border-left: 5px solid #1A3A5C;
    border-radius: 0;
    color: #1A3A5C;
    padding: 12px 16px;
    font-size: 21px;
    font-weight: 500;
    line-height: 1.4;
    margin: 2em 0 1em;
    text-align: left;
    position: static;
    padding-bottom: 12px;
}

/* 共通CSSで付けている水色下線(::after)を打ち消し */
.single-post .c-entry__content > h2::after {
    content: none;
    display: none;
}

/* h3：左にネイビー細ボーダーのみ */
.single-post .c-entry__content > h3 {
    background: none;
    border: none;
    border-left: 4px solid #1A3A5C;
    border-radius: 0;
    color: #1A3A5C;
    padding: 2px 0 2px 12px;
    font-size: 17px;
    font-weight: 500;
    line-height: 1.4;
    margin: 1.5em 0 0.8em;
}

@media (max-width: 767px) {
    .single-post .c-entry__content > h2 {
        font-size: 18px;
        padding: 10px 14px;
        padding-bottom: 10px;
    }
}

/*==================================================
# お知らせアーカイブ（/news/）
==================================================*/
/* TOPの新着情報(p-news)と同じ見た目に揃える：SP=縦並び / PC=横並び */
.post-type-archive-news .c-entries {
    display: block;
    margin: 0;
}

.post-type-archive-news .c-entries__item {
    display: block;
    flex: none;
    max-width: 100%;
    padding: 0;
    margin: 0;
}

/* Snow Monkey 標準カードの装飾を打ち消し、ふつうのリンクに */
.post-type-archive-news .c-entries__item > a {
    display: block;
    padding: 16px 4px;
    border-bottom: 1px dashed #CFD4D7;
    border-radius: 0;
    box-shadow: none;
    transition: opacity 0.2s;
}

.post-type-archive-news .c-entries__item > a:hover {
    box-shadow: none;
    opacity: 0.7;
}

/* カード中身：SP は日付の下にタイトル */
.p-news-archive__row {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto auto;
    column-gap: 16px;
}

.p-news-archive__date {
    grid-column: 1;
    grid-row: 1;
    font-family: "Lato", sans-serif;
    font-weight: 700;
    color: #002B91;
    font-size: 14px;
}

.p-news-archive__title {
    grid-column: 1;
    grid-row: 2;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.5;
    color: #1A1A1A;
    margin: 4px 0 0;
}

/* PC は日付 120px・タイトル を横並び */
@media (min-width: 768px) {
    .post-type-archive-news .c-entries__item > a {
        padding: 20px 0;
    }

    .p-news-archive__row {
        grid-template-columns: 120px 1fr;
        grid-template-rows: auto;
        column-gap: 24px;
        align-items: center;
    }

    .p-news-archive__date {
        font-size: 16px;
    }

    .p-news-archive__title {
        grid-column: 2;
        grid-row: 1;
        font-size: 15px;
        margin: 0;
    }
}

/*==================================================
# 「一覧に戻る」ボタン（詳細ページ共通）
==================================================*/
.p-back-to-archive {
    margin-top: 48px;
    text-align: center;
}

.p-back-to-archive__link {
    display: inline-flex;
    align-items: center;
    padding: 12px 28px 12px 44px;
    background: #FFF;
    border: 1.5px solid #002B91;
    border-radius: 30px;
    color: #002B91;
    font-weight: 700;
    text-decoration: none;
    position: relative;
    transition: background-color 0.2s, color 0.2s;
    font-family: "Zen Kaku Gothic New", sans-serif;
}

.p-back-to-archive__link::before {
    content: '';
    position: absolute;
    left: 22px;
    top: 50%;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px 8px 6px 0;
    border-color: transparent currentColor transparent transparent;
    transform: translateY(-50%);
}

.p-back-to-archive__link:hover {
    background: #002B91;
    color: #FFF;
}

@media (max-width: 767px) {
    .p-back-to-archive {
        margin-top: 40px;
    }
    .p-back-to-archive__link {
        padding: 10px 24px 10px 40px;
        font-size: 14px;
    }
}

/* 事例ショートコード：lead="true" 時の説明文 */
.p-seiri-cases__lead,
.p-kaitori-cases__lead {
    margin: 0 0 24px;
    text-align: center;
    line-height: 1.8;
    color: #333;
}

/*==================================================
# イラスト変更の注釈（アイキャッチ下部に重ねる）
==================================================*/
/* 注釈を載せるアイキャッチ系ラッパーを基準に */
.c-entry-summary__figure,
.p-case__image,
.p-kaitori-detail__main-image,
.single-seiri-case .c-eyecatch {
    position: relative;
}

/* 整理事例詳細のアイキャッチ：画像幅にフィットさせ、注釈帯の間延びを防ぐ */
.single-seiri-case .c-eyecatch {
    width: fit-content;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}

.single-seiri-case .c-eyecatch img {
    display: block;
    max-width: 100%;
    height: auto;
}

.p-illust-note {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 2;
    background: rgba(0, 0, 0, 0.55);
    color: #FFF;
    font-size: 11px;
    line-height: 1.4;
    padding: 5px 10px;
    letter-spacing: 0.02em;
}

@media (min-width: 768px) {
    .p-illust-note {
        font-size: 12px;
        padding: 6px 12px;
    }
}
