@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Shippori+Mincho:wght@400;500;600;700&family=Zen+Kaku+Gothic+New:wght@300;400;500;700&display=swap');
/* =====================================================
   和彩堂ハウス works テーマCSS（works横展開・育咲テーマ移植）
   出典: 育咲 style.css の works スコープCSS＋永守ルートYの works.css を流用。
   パレットは和彩堂ブランド（アクセント #8B6914）と一致。works アーカイブ・詳細でのみ enqueue（works-common.php）。
   育咲・永守ディレクトリは無改変。
   ===================================================== */

/* =====================================================
   Phase 1: CSS変数 + タイポグラフィ + カラーシステム (2026-05)
   ===================================================== */
:root {
  --font-serif: 'Shippori Mincho', 'Yu Mincho', 'YuMincho', serif;
  --font-sans: 'Zen Kaku Gothic New', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', sans-serif;
  --color-main: #2B2B2B;
  --color-sub: #F5F2EA;
  --color-accent: #8B6914;
  --color-text: #3D3D3D;
  --color-border: #E5E0D5;
  --space-xs: 8px;
  --space-sm: 16px;
  --space-md: 24px;
  --space-lg: 48px;
  --space-xl: 96px;
  --space-2xl: 160px;
}

h1, h2, h3 {
  font-family: var(--font-serif) !important;
  font-weight: 500;
  letter-spacing: 0.05em;
}
body, p {
  font-family: var(--font-sans) !important;
  font-weight: 400;
  line-height: 1.9;
  letter-spacing: 0.04em;
}

/* Scroll Animation */
.js-fade-up { opacity: 0; transform: translateY(28px); transition: opacity 0.8s ease, transform 0.8s ease; }
.js-fade-only { opacity: 0; transition: opacity 1.0s ease; }
.js-slide-left { opacity: 0; transform: translateX(-30px); transition: opacity 0.8s ease, transform 0.8s ease; }
.js-slide-right { opacity: 0; transform: translateX(30px); transition: opacity 0.8s ease, transform 0.8s ease; }
.js-fade-up.is-visible,.js-fade-only.is-visible,.js-slide-left.is-visible,.js-slide-right.is-visible { opacity: 1; transform: translate(0, 0); }

/* =====================================================
   育咲ホーム — 施工事例 アーカイブ・詳細 CSS
   ===================================================== */

/* --- コンテナ共通 --- */
.ik-container {
    max-width: 1140px;
    margin: 0 auto;
    padding: 0 24px;
}

/* --- アーカイブ・詳細ページ サイドバー非表示 --- */
body.post-type-archive-works .l-main,
body.single-works .l-main {
    width: 100% !important;
    max-width: 100% !important;
}
body.post-type-archive-works .l-sidebar,
body.single-works .l-sidebar {
    display: none !important;
}

/* --- アーカイブ ヒーロー --- */
.ik-archive-hero {
    background: #2C2318;
    color: #F0EDE8;
    padding: 64px 24px 56px;
    text-align: center;
}
.ik-archive-hero__title {
    font-size: clamp(24px, 4vw, 40px);
    font-family: var(--font-serif);
    font-weight: 400;
    color: #F0EDE8;
    margin: 8px 0 12px;
}
.ik-archive-hero__sub {
    font-size: 15px;
    color: rgba(240,237,232,0.8);
    margin: 0;
}

/* --- 詳細 ヒーロー --- */
.ik-single-hero {
    background: #2C2318;
    color: #F0EDE8;
    padding: 64px 24px 56px;
    text-align: center;
}
/* ヒーロー 画像オーバーレイ型 */
.ik-single-hero--photo {
    background-color: #2C2318;
    background-size: cover;
    background-position: center center;
    position: relative;
    padding: 110px 24px 96px;
    min-height: 460px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.ik-single-hero--photo::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(160deg, rgba(20,15,8,0.55) 0%, rgba(20,15,8,0.78) 100%);
    pointer-events: none;
}
.ik-single-hero--photo .ik-single-hero__inner {
    position: relative;
    z-index: 1;
}
.ik-single-hero__catch {
    font-size: 14px;
    letter-spacing: 0.12em;
    color: rgba(240,237,232,0.75);
    margin: 0 0 8px;
}
.ik-single-hero__title {
    font-size: clamp(24px, 3.5vw, 40px);
    font-family: var(--font-serif);
    font-weight: 400;
    color: #F0EDE8;
    margin: 0 0 16px;
    text-shadow: 0 2px 12px rgba(0,0,0,0.4);
}
.ik-single-hero__tags {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: center;
    gap: 8px;
    flex-wrap: wrap;
}

/* --- eyebrow --- */
.ik-eyebrow {
    font-family: 'Cormorant Garamond', serif;
    font-size: 13px;
    letter-spacing: 0.2em;
    color: rgba(240,237,232,0.6);
    margin: 0 0 4px;
    text-transform: uppercase;
}

/* --- フィルター --- */
.ik-filter {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 32px 0 24px;
}
.ik-filter__btn {
    padding: 6px 16px;
    border: 1px solid #8B6914;
    border-radius: 999px;
    font-size: 13px;
    color: #8B6914;
    text-decoration: none;
    transition: background 0.2s, color 0.2s;
}
.ik-filter__btn:hover,
.ik-filter__btn.is-active {
    background: #2C2318;
    color: #fff;
}
.ik-filter__count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    height: 18px;
    font-size: 10px;
    background: rgba(139,105,20,0.12);
    color: #8B6914;
    border-radius: 9px;
    padding: 0 4px;
    margin-left: 2px;
    vertical-align: middle;
    line-height: 1;
}
.ik-filter__btn.is-active .ik-filter__count,
.ik-filter__btn:hover .ik-filter__count {
    background: rgba(255,255,255,0.25);
    color: #fff;
}

/* --- 施工事例グリッド --- */
.ik-archive-main {
    padding: 0 0 80px;
    background: #FAFAF8;
}
.ik-works-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
    padding-bottom: 48px;
}
@media (max-width: 900px) {
    .ik-works-grid { grid-template-columns: repeat(2, 1fr); gap: 24px; }
}
@media (max-width: 600px) {
    .ik-works-grid { grid-template-columns: 1fr; gap: 20px; }
}

/* --- カード --- */
.ik-works-card {
    background: #fff;
    border-radius: 4px;
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.ik-works-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(0,0,0,0.12);
}
.ik-works-card__link {
    display: block;
    color: inherit;
    text-decoration: none;
}
.ik-works-card__thumb {
    position: relative;
    overflow: hidden;
    aspect-ratio: 4/3;
    background: #e8e4de;
}
.ik-works-card__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}
.ik-works-card:hover .ik-works-card__img {
    transform: scale(1.04);
}
.ik-works-card__img--noimg {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #999;
    font-size: 13px;
}
.ik-works-card__tags {
    position: absolute;
    bottom: 8px;
    left: 8px;
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: 4px;
    flex-wrap: wrap;
}
.ik-works-card__tag {
    background: rgba(44,35,24,0.85);
    color: #fff;
    font-size: 11px;
    padding: 3px 8px;
    border-radius: 2px;
}
.ik-works-card__body {
    padding: 16px;
}
.ik-works-card__title {
    font-size: 15px;
    font-weight: 500;
    color: #333;
    margin: 0 0 6px;
    line-height: 1.5;
    font-family: var(--font-serif);
}
.ik-works-card__catch {
    font-size: 13px;
    color: #666;
    margin: 0 0 8px;
    line-height: 1.5;
}
.ik-works-card__specs {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 4px 12px;
}
.ik-works-card__specs li {
    font-size: 12px;
    color: #888;
}
.ik-works-card__specs li::before {
    content: '';
}

/* --- 詳細ページ --- */
.ik-single-main {
    background: #FAFAF8;
    padding: 0 0 80px;
}
.ik-single-mainimg {
    margin-bottom: 48px;
}
.ik-single-mainimg__img {
    width: 100%;
    max-height: 560px;
    object-fit: cover;
    display: block;
}
.ik-single-spec {
    margin-bottom: 48px;
    padding: 32px;
    background: #fff;
    border-radius: 4px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}
.ik-single-spec__title {
    font-size: 18px;
    font-family: var(--font-serif);
    color: #1e1a14;
    margin: 0 0 20px;
    padding-bottom: 12px;
    border-bottom: 2px solid #c8a96e;
    letter-spacing: 0.06em;
}
/* 物件データ 2カラム豪華グリッド */
.ik-spec-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1px;
    background: #c8a96e;
    border: 1px solid #c8a96e;
    border-radius: 4px;
    overflow: hidden;
    margin: 0;
    padding: 0;
    list-style: none;
}
.ik-spec-item {
    background: #fdf9f4;
    padding: 14px 20px 16px;
    display: flex;
    align-items: baseline;
    gap: 12px;
}
.ik-spec-item::before {
    content: none;
}
.ik-spec-item dt {
    font-size: 10px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #9a7242;
    font-weight: 700;
    margin: 0;
    border-left: 2px solid #c8a96e;
    padding-left: 8px;
    flex-shrink: 0;
    white-space: nowrap;
}
.ik-spec-item dd {
    font-size: 16px;
    font-weight: 700;
    color: #1e1a14;
    margin: 0;
    line-height: 1.4;
    font-family: var(--font-serif);
}
@media (max-width: 600px) {
    .ik-spec-grid { grid-template-columns: 1fr; }
}
.ik-spec-table {
    width: 100%;
    border-collapse: collapse;
}
.ik-spec-table th,
.ik-spec-table td {
    padding: 10px 12px;
    font-size: 14px;
    border-bottom: 1px solid #f0ede8;
    vertical-align: top;
}
.ik-spec-table th {
    width: 120px;
    color: #666;
    font-weight: normal;
    white-space: nowrap;
}
.ik-spec-table td {
    color: #333;
}
.ik-single-content {
    margin-bottom: 48px;
    font-size: 15px;
    line-height: 1.9;
    color: #555;
}
.ik-single-kodawari {
    margin-bottom: 48px;
    padding: 36px;
    background: #fff;
    border-radius: 4px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}
.ik-single-kodawari__title {
    font-size: 18px;
    font-family: var(--font-serif);
    color: #2B2B2B;
    margin: 0 0 24px;
    padding-bottom: 12px;
    border-bottom: 2px solid #c8a96e;
}
/* こだわりポイント: 写真+テキスト横並び */
.ik-kodawari-layout {
    display: flex;
    gap: 32px;
    align-items: flex-start;
}
.ik-kodawari-photo {
    flex: 0 0 44%;
    max-width: 44%;
}
.ik-kodawari-photo img {
    width: 100%;
    height: 280px;
    object-fit: cover;
    border-radius: 4px;
    display: block;
}
.ik-kodawari-layout .ik-single-kodawari__text {
    flex: 1;
    padding-top: 4px;
}
.ik-single-kodawari__text {
    font-size: 15px;
    line-height: 2.1;
    color: #444;
}
@media (max-width: 640px) {
    .ik-kodawari-layout { flex-direction: column; }
    .ik-kodawari-photo { flex: none; max-width: 100%; }
    .ik-kodawari-photo img { height: 220px; }
}

/* --- 前後ナビ --- */
.ik-single-nav {
    display: flex;
    gap: 16px;
    margin-bottom: 32px;
}
.ik-single-nav__btn {
    flex: 1;
    padding: 20px;
    background: #fff;
    border: 1px solid #e0ddd8;
    border-radius: 4px;
    text-decoration: none;
    color: #333;
    transition: border-color 0.2s;
}
.ik-single-nav__btn:hover { border-color: #8B6914; }
.ik-single-nav__btn--next { text-align: right; }
.ik-single-nav__label { display: block; font-size: 12px; color: #888; margin-bottom: 4px; }
.ik-single-nav__title { display: block; font-size: 14px; }
.ik-single-back { text-align: center; margin-top: 16px; }

/* --- CTA セクション --- */
.ik-cta-section {
    background: #2B2B2B;
    padding: 72px 24px;
    text-align: center;
}
.ik-cta-section .ik-eyebrow { color: rgba(240,237,232,0.6); }
.ik-cta-section__title {
    font-size: clamp(22px, 3vw, 36px);
    font-family: var(--font-serif);
    color: #F0EDE8;
    margin: 8px 0 12px;
    font-weight: 400;
}
.ik-cta-section__text {
    font-size: 15px;
    color: rgba(240,237,232,0.75);
    margin: 0 0 32px;
}

/* --- ボタン --- */
.ik-btn {
    display: inline-block;
    padding: 14px 40px;
    border-radius: 2px;
    font-size: 14px;
    letter-spacing: 0.1em;
    text-decoration: none;
    transition: background 0.2s, color 0.2s;
}
.ik-btn--primary {
    background: #F0EDE8;
    color: #2B2B2B;
    border: 1px solid #F0EDE8;
}
.ik-btn--primary:hover {
    background: transparent;
    color: #F0EDE8;
}
.ik-btn--outline {
    background: transparent;
    color: #8B6914;
    border: 1px solid #8B6914;
}
.ik-btn--outline:hover {
    background: #8B6914;
    color: #fff;
}

/* --- ページネーション --- */
.ik-pagination {
    text-align: center;
    padding: 8px 0;
}
.ik-pagination .page-numbers {
    display: inline-block;
    padding: 6px 12px;
    margin: 0 2px;
    border: 1px solid #ccc;
    color: #333;
    text-decoration: none;
    font-size: 14px;
    border-radius: 2px;
}
.ik-pagination .page-numbers.current,
.ik-pagination .page-numbers:hover {
    background: #8B6914;
    color: #fff;
    border-color: #8B6914;
}
.ik-no-posts { text-align: center; padding: 48px; color: #888; }


   施工事例詳細 追加セクション（Phase 2）
   ============================== */

/* 共通セクション見出し */
/* 英語サブテキスト */
.ik-section-en {
    display: block;
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 11px;
    letter-spacing: 0.3em;
    color: #c8a96e;
    text-transform: uppercase;
    margin-bottom: 4px;
    font-weight: 400;
}
.ik-single-section-title {
    font-size: 20px;
    font-family: var(--font-serif);
    color: #1e1a14;
    margin: 0 0 20px;
    padding-left: 14px;
    border-left: 3px solid #c8a96e;
    line-height: 1.4;
}

/* 家づくりのきっかけ */
.ik-single-trigger {
    margin-bottom: 48px;
    padding: 32px;
    background: #fff;
    border-radius: 4px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}
.ik-single-trigger__text {
    font-size: 14px;
    line-height: 2;
    color: #555;
    margin: 0;
}

/* ギャラリー マソンリーグリッド */
.ik-single-gallery {
    margin-bottom: 48px;
}
.ik-gallery-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-auto-rows: auto;
    gap: 8px;
}
.ik-gallery-item {
    display: flex;
    flex-direction: column;
    overflow: hidden;
}
/* 1枚目：2列×2行分の大画面 */
.ik-gallery-item:nth-child(1) {
    grid-column: span 2;
    grid-row: span 2;
}
.ik-gallery-grid img {
    width: 100%;
    height: 200px;
    flex: none;
    object-fit: cover;
    display: block;
    border-radius: 4px;
    transition: transform 0.4s ease;
}
/* 1枚目は2行分の高さ */
.ik-gallery-item:nth-child(1) img {
    height: 408px;
}
.ik-gallery-item:hover img {
    transform: scale(1.04);
}
.ik-gallery-cap {
    font-size: 12px;
    color: #666;
    margin: 6px 0 0;
    line-height: 1.5;
}
@media (max-width: 640px) {
    .ik-gallery-grid {
        grid-template-columns: repeat(2, 1fr);
        grid-auto-rows: 180px;
    }
    .ik-gallery-item:nth-child(1) {
        grid-column: span 2;
        grid-row: span 1;
    }
}

/* 仕様・素材 */
.ik-single-materials {
    margin-bottom: 48px;
    padding: 32px;
    background: #fff;
    border-radius: 4px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}
.ik-material-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 4px;
}
.ik-material-badge {
    display: inline-block;
    padding: 6px 14px;
    border: 1px solid #c8a96e;
    border-radius: 3px;
    font-size: 13px;
    color: #9a7242;
    background: #fdf9f4;
    letter-spacing: 0.04em;
    line-height: 1.4;
}
.ik-single-materials__text {
    font-size: 14px;
    line-height: 2;
    color: #555;
    margin: 0;
}

/* 施主様の声 大型クォート */
.ik-single-voice {
    margin-bottom: 48px;
}
.ik-voice-blockquote {
    position: relative;
    margin: 0;
    padding: 48px 40px 36px 64px;
    background: #f9f7f3;
    border: none;
    border-radius: 8px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06);
    font-size: 16px;
    line-height: 2.1;
    color: #444;
    font-style: normal;
}
.ik-voice-blockquote::before {
    content: '\201C';
    font-family: Georgia, var(--font-serif);
    font-size: 90px;
    color: #c8a96e;
    opacity: 0.65;
    position: absolute;
    top: 4px;
    left: 16px;
    line-height: 1;
    pointer-events: none;
}

/* ==============================
   設計士コメント
   ============================== */
.ik-designer-section {
    margin-top: 48px;
}
.ik-designer-card {
    background: #f9f7f3;
    border-radius: 8px;
    padding: 32px 36px;
    border-left: 4px solid #8B6914;
}
/* 大型横並びレイアウト */
.ik-designer-card--wide {
    display: flex;
    gap: 40px;
    align-items: flex-start;
    border-left: none;
    border-top: 3px solid #c8a96e;
    padding-top: 36px;
}
.ik-designer-card__left {
    flex: 0 0 160px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}
.ik-designer-card--wide .ik-designer-avatar__img,
.ik-designer-card--wide .ik-designer-avatar__default {
    width: 120px;
    height: 120px;
    flex-shrink: 0;
}
.ik-designer-card--wide .ik-designer-avatar__meta {
    align-items: center;
    gap: 6px;
}
.ik-designer-card--wide .ik-designer-name {
    font-size: 17px;
}
.ik-designer-card__right {
    flex: 1;
    padding-top: 4px;
}
.ik-designer-avatar {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 20px;
}
.ik-designer-avatar__img {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
    box-shadow: 0 2px 8px rgba(0,0,0,0.12);
}
.ik-designer-avatar__default {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: #2C2318;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}
.ik-designer-avatar__default span {
    color: #fff;
    font-size: 26px;
    font-family: var(--font-serif);
    font-weight: 500;
}
.ik-designer-avatar__meta {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.ik-designer-role {
    font-size: 11px;
    color: #8B6914;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    font-weight: 600;
}
.ik-designer-name {
    font-size: 16px;
    font-family: var(--font-serif);
    color: #2a2a2a;
    font-weight: 500;
}
.ik-designer-comment {
    font-size: 15px;
    line-height: 1.9;
    color: #444;
    margin: 0;
}
@media (max-width: 600px) {
    .ik-designer-card { padding: 24px 20px; }
    .ik-designer-card--wide { flex-direction: column; gap: 24px; }
    .ik-designer-card__left { flex: none; width: 100%; flex-direction: row; text-align: left; align-items: center; }
    .ik-designer-card--wide .ik-designer-avatar__img,
    .ik-designer-card--wide .ik-designer-avatar__default { width: 80px; height: 80px; }
    .ik-designer-avatar__meta { align-items: flex-start; }
    .ik-material-badge { font-size: 12px; padding: 4px 10px; }
}

/* ==============================
   Related Works セクション
   ============================== */

/* ik-single-back（2ボタン版）*/
.ik-single-back {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    margin-top: 16px;
}
.ik-single-back .ik-btn {
    flex: 1 1 auto;
    text-align: center;
    min-width: 180px;
}

/* Related Works セクション */
.ik-related-section {
    background: #2C2318;
    padding: 72px 24px;
}
.ik-related-head {
    text-align: center;
    margin-bottom: 48px;
}
.ik-related-head__en {
    display: block;
    font-family: 'Cormorant Garamond', serif;
    font-size: 13px;
    letter-spacing: 0.25em;
    color: rgba(240,237,232,0.5);
    text-transform: uppercase;
    margin-bottom: 8px;
}
.ik-related-head__ja {
    font-size: 22px;
    font-family: var(--font-serif);
    font-weight: 400;
    color: #F0EDE8;
    margin: 0;
}
.ik-related-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 24px;
    max-width: 1000px;
    margin: 0 auto;
}
@media (max-width: 900px) {
    .ik-related-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
    .ik-related-grid { grid-template-columns: 1fr; }
}
.ik-related-card {
    display: block;
    text-decoration: none;
    background: rgba(255,255,255,0.06);
    border-radius: 4px;
    overflow: hidden;
    transition: background 0.25s ease, transform 0.25s ease;
}
.ik-related-card:hover {
    background: rgba(255,255,255,0.12);
    transform: translateY(-3px);
}
.ik-related-card__thumb {
    position: relative;
    aspect-ratio: 4/3;
    overflow: hidden;
    background: #2a401e;
}
.ik-related-card__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}
.ik-related-card:hover .ik-related-card__img {
    transform: scale(1.04);
}
.ik-related-card__noimg {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(240,237,232,0.3);
    font-size: 24px;
}
.ik-related-card__body {
    padding: 16px;
}
.ik-related-card__tag {
    display: inline-block;
    font-size: 11px;
    color: rgba(240,237,232,0.6);
    border: 1px solid rgba(240,237,232,0.25);
    padding: 2px 8px;
    border-radius: 2px;
    margin-bottom: 8px;
    letter-spacing: 0.06em;
}
.ik-related-card__title {
    font-size: 14px;
    font-family: var(--font-serif);
    color: #F0EDE8;
    margin: 0 0 4px;
    line-height: 1.5;
    font-weight: 500;
}
.ik-related-card__catch {
    font-size: 12px;
    color: rgba(240,237,232,0.55);
    margin: 0;
    line-height: 1.5;
}

/* ============================================================
   永守固有works 詳細セクション（Y-1 新規・出典: 永守本番 wh-* を ik-* へ移植・育咲パレットに調整）
   ============================================================ */

/* 施工ポイント */
.ik-single-points { margin-bottom: 48px; }
.ik-points-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 20px;
}
.ik-point-item {
    background: #fff;
    border-top: 2px solid #c8a96e;
    border-radius: 4px;
    padding: 24px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}
.ik-point-item__num {
    display: block;
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 32px;
    color: #c8a96e;
    line-height: 1;
    margin-bottom: 10px;
}
.ik-point-item__text { font-size: 14px; line-height: 1.9; color: #555; margin: 0; }

/* 構造解説 */
.ik-single-structure {
    margin-bottom: 48px;
    padding: 36px;
    background: #f8f5ee;
    border-radius: 4px;
}
.ik-structure-lead { max-width: 58em; font-size: 14px; line-height: 2; color: #555; margin: 0 0 28px; }
.ik-structure-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.ik-structure-card { background: #fff; border-top: 2px solid #c8a96e; border-radius: 4px; padding: 20px; }
.ik-structure-index { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 28px; color: #c8a96e; line-height: 1; margin: 0 0 10px; }
.ik-structure-card h3 { margin: 0 0 8px; font-size: 16px; font-family: var(--font-serif); color: #1e1a14; }
.ik-structure-card p { margin: 0; font-size: 13px; line-height: 1.9; color: #555; }
@media (max-width: 768px) { .ik-structure-grid { grid-template-columns: 1fr; } }

/* 工程スナップ */
.ik-single-process { margin-bottom: 48px; }
.ik-process-lead { max-width: 58em; font-size: 14px; line-height: 2; color: #555; margin: 0 0 20px; }
.ik-process-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.ik-process-item img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; border-radius: 4px; }
@media (max-width: 768px) { .ik-process-grid { grid-template-columns: 1fr; } }

/* Before / After */
.ik-single-beforeafter { margin-bottom: 48px; }
.ik-ba-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.ik-ba-item { position: relative; margin: 0; background: #fff; border-radius: 4px; overflow: hidden; box-shadow: 0 2px 8px rgba(0,0,0,0.05); }
.ik-ba-item img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; }
.ik-ba-label {
    position: absolute; top: 12px; left: 12px; z-index: 1;
    font-family: 'Cormorant Garamond', Georgia, serif; font-size: 12px; letter-spacing: 0.15em;
    color: #fff; background: rgba(44,35,24,0.85); padding: 4px 12px; border-radius: 2px;
}
.ik-ba-item--after .ik-ba-label { background: rgba(200,169,110,0.95); }
.ik-ba-caption { font-size: 13px; line-height: 1.8; color: #555; margin: 0; padding: 14px 16px; }
@media (max-width: 600px) { .ik-ba-grid { grid-template-columns: 1fr; } }

/* オーナー視点の価値 */
.ik-single-ownervalue { margin-bottom: 48px; }
.ik-ownervalue-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.ik-ownervalue-item { background: #fff; border-left: 2px solid #c8a96e; border-radius: 4px; padding: 18px; box-shadow: 0 2px 8px rgba(0,0,0,0.05); }
.ik-ownervalue-item p { margin: 0; font-size: 13px; line-height: 1.9; color: #555; }
@media (max-width: 768px) { .ik-ownervalue-list { grid-template-columns: 1fr; } }

/* アーカイブヒーロー 全幅（背景はソリッドネイビーの .ik-archive-hero 基本スタイルを使用） */
#body_wrap:not(.home) .ik-archive-hero { width: 100vw; max-width: 100vw; margin-left: calc(50% - 50vw); position: relative; }

/* CTA ボタン（SWELLブロックリンク調・育咲と同等） */
.ik-cta-section .wp-block-button__link,
.ik-cta-section .swell-block-btn__link {
    background: #8B6914 !important; color: #fff !important; border: 2px solid #8B6914 !important;
    padding: 14px 32px !important; border-radius: 4px !important; font-weight: 600 !important; letter-spacing: 0.08em !important;
}
