/*
Theme Name: MIGAKI Refresh 2026
Theme URI: https://migakimarketing.com/
Author: MIGAKI Marketing LLC
Description: ホームページ2DAY（2026-10）で作り直したMIGAKIマーケティング合同会社のブロックテーマ。3つの活動の入口・短いLPの詳細ページ・ブログを同じトーンで案内する。静的版 outputs/homepage-step19 から build-theme.mjs で生成。
Version: 0.6.14
Requires at least: 6.6
Requires PHP: 8.2
Text Domain: migaki-refresh-2026
*/
:root {
  color-scheme: light;
  --ink: #503729;
  --muted: #665044;
  --accent: #9e482d;
  --paper: #faf7f2;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif; }
img { display: block; max-width: 100%; }

.skip-link { position: absolute; left: 12px; top: -60px; z-index: 20; padding: 12px 16px; color: #fff; background: var(--ink); }
.skip-link:focus { top: 12px; }

.site-header { position: relative; z-index: 3; background: #fff; }
.header-inner { width: min(100% - 72px, 1280px); height: 88px; margin: auto; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.brand-logo { width: 250px; height: auto; }
.preview-label { font-size: 12px; letter-spacing: .06em; color: #746d65; }

.hero { position: relative; isolation: isolate; min-height: min(790px, calc(100svh - 88px)); overflow: hidden; background: #efe4d6; }
.hero-image, .hero-shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.hero-image { object-fit: cover; object-position: center; z-index: -2; }
.hero-shade { z-index: -1; background: linear-gradient(90deg, rgba(250,247,242,.95) 0%, rgba(250,247,242,.88) 32%, rgba(250,247,242,.54) 49%, rgba(250,247,242,0) 69%); }
.hero-inner { width: min(100% - 72px, 1280px); min-height: inherit; margin: auto; display: flex; align-items: center; padding: 52px 0 64px; }
.hero-copy { width: min(100%, 600px); }
.hero h1 { margin: 0; font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif; font-size: clamp(40px, 4vw, 58px); line-height: 1.33; letter-spacing: -.045em; font-weight: 600; }
.hero h1 span { display: block; }
.hero-sub { max-width: 560px; margin: 30px 0 0; font-size: clamp(18px, 1.45vw, 21px); line-height: 1.85; font-weight: 600; }
.hero-detail { max-width: 560px; margin-top: 25px; font-size: 16px; font-weight: 500; line-height: 1.95; color: var(--ink); }
.hero-detail p { margin: 0 0 7px; text-wrap: pretty; }
.hero-cta { display: inline-flex; align-items: center; justify-content: center; gap: 24px; max-width: 100%; min-width: 190px; min-height: 52px; margin-top: 27px; padding: 12px 22px; border-radius: 3px; color: #fff; background: var(--accent); text-decoration: none; font-size: 15px; font-weight: 700; letter-spacing: .04em; }
.hero-cta:hover { background: #84371f; }
.hero-cta:focus-visible { outline: 3px solid #2b2925; outline-offset: 4px; }

.activities { scroll-margin-top: 20px; padding: 84px 0 112px; background: #faf8f4; }
.activities-inner { width: min(100% - 72px, 1280px); margin: auto; }
.section-kicker { margin: 0; color: var(--accent); letter-spacing: .18em; font-size: 12px; font-weight: 700; }
.activities h2 { margin: 12px 0 34px; font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif; font-size: clamp(29px, 3vw, 38px); font-weight: 600; }
.activity-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.activity-card { min-height: 310px; padding: 30px 28px; border: 1px solid #e7ddd1; background: #fff; display: flex; flex-direction: column; }
.activity-number { color: var(--accent); font-family: Georgia, serif; font-size: 15px; }
.activity-card h3 { margin: 15px 0 14px; font-size: 23px; font-weight: 700; }
.activity-card p { margin: 0; line-height: 1.8; font-size: 15px; color: var(--muted); }
.card-link { align-self: flex-start; margin-top: auto; padding-top: 26px; color: var(--accent); font-size: 15px; font-weight: 700; letter-spacing: .02em; }
.card-link span { margin-left: 10px; }

@media (max-width: 920px) {
  .header-inner, .hero-inner, .activities-inner { width: min(100% - 44px, 1280px); }
  .hero-copy { width: min(100%, 520px); }
  .hero h1 { font-size: clamp(36px, 4.8vw, 48px); }
  .activity-grid { gap: 12px; }
  .activity-card { padding: 24px 20px; }
}

@media (max-width: 960px) {
  .header-inner { width: calc(100% - 36px); height: 70px; }
  .brand-logo { width: 190px; }
  .preview-label { font-size: 10px; text-align: right; }
  .hero { min-height: 660px; }
  .hero-image { object-position: 65% center; }
  .hero-shade { background: linear-gradient(90deg, rgba(250,247,242,.95) 0%, rgba(250,247,242,.91) 48%, rgba(250,247,242,.65) 76%, rgba(250,247,242,.08) 100%); }
  .hero-inner { width: 100%; padding: 48px 22px 68px; }
  .hero-copy { width: min(100%, 520px); }
  .hero h1 { font-size: clamp(31px, 8vw, 39px); line-height: 1.35; letter-spacing: -.055em; }
  .hero-sub { margin-top: 22px; font-size: 17px; line-height: 1.75; }
  .hero-detail { margin-top: 18px; font-size: 16px; line-height: 1.9; }
  .hero-detail p { margin-bottom: 5px; }
  .hero-cta { margin-top: 20px; min-height: 50px; }
  .activities { padding: 64px 0 80px; }
  .activities-inner { width: calc(100% - 36px); }
  .activity-grid { grid-template-columns: 1fr; gap: 14px; }
  .activity-card { min-height: 240px; }
}

@media (max-width: 600px) {
  .hero { min-height: 720px; }
  .hero-inner { align-items: flex-start; padding: 36px 22px 160px; }
  .hero-shade { background: linear-gradient(180deg, rgba(250,247,242,.94) 0%, rgba(250,247,242,.87) 58%, rgba(250,247,242,.5) 78%, rgba(250,247,242,.08) 100%); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}





/* Keep each headline sentence on one line within its own copy column. */
.hero-copy { container-type: inline-size; }
.hero h1 { font-size: clamp(20px, 7cqw, 44px); line-height: 1.5; letter-spacing: -.045em; }
.hero h1 span { white-space: nowrap; }


.wrap{width:min(1120px,calc(100% - 48px));margin:auto}.section{padding:96px 0}.section h2,.closing h2{font-family:"Yu Mincho",serif;font-weight:500;font-size:clamp(25px,3vw,36px);line-height:1.6;margin:12px 0 36px}.section p{line-height:2}.tinted{background:#f1ebe3}.section h3{font-size:22px;line-height:1.7}.activity-card h4{font-size:18px;line-height:1.7;font-weight:500}.text-link{color:inherit;text-decoration:none;border-bottom:1px solid #bda08b;padding:6px 0;display:inline-flex;gap:16px;align-items:center}.text-link:hover{color:#9e482d}.activity-card .text-link{margin-top:auto;align-self:flex-start}.activity-card{display:flex;flex-direction:column}.reason{display:grid;grid-template-columns:1fr 1.7fr;gap:56px;padding:32px 0;border-bottom:1px solid #d8cabf}.reason h3{margin-top:0}.reason p:first-child{margin-top:0}.voice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.voice{padding:28px;background:#faf7f2;border-top:3px solid #bd784f}.voice h3{font-size:20px}.voice blockquote{margin:0}.caption{font-size:13px;color:#665044}.about-grid{display:grid;grid-template-columns:180px 1fr;gap:64px}.portrait{width:180px;height:180px;object-fit:cover;border-radius:50%}.prose{max-width:760px;margin:auto}.prose p{margin:24px 0}.narrow{max-width:820px}.section details{border-bottom:1px solid #d8cabf;padding:22px 0}.section summary{cursor:pointer;font-size:17px;line-height:1.8}.section details p{padding:0 24px}.closing{padding:72px 0;text-align:center;background:#eae0d4}.closing p{line-height:2}.closing h2{margin-bottom:20px}footer{padding:60px 0 24px;background:#fff}footer p{line-height:1.8}.footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;margin-bottom:48px}footer nav{display:grid;grid-template-columns:1fr 1fr;gap:14px 24px}footer nav a{font-size:14px;border:0}.sns{margin-top:32px}.sns>p{font-size:14px}.sns>div{display:flex;gap:24px;flex-wrap:wrap}.sns a{font-size:15px}.header-inner{max-width:1320px;width:calc(100% - 48px)}#navigation{display:flex;gap:24px}#navigation a{font-size:13px;border:0;gap:0}#navigation a span{display:none}.menu-toggle{display:none}.page-links{display:flex;gap:36px;margin-top:40px}.company-table{display:grid;grid-template-columns:180px 1fr;margin:0 0 40px}.company-table dt,.company-table dd{padding:24px 0;border-bottom:1px solid #d8cabf;margin:0;line-height:1.8}.profile-intro{display:flex;gap:40px;align-items:center;max-width:760px;margin:0 auto 60px}.profile-intro .portrait{width:220px;height:220px}.profile-intro h2{margin:0}.story{border-top:1px solid #d8cabf;margin-top:64px;padding-top:48px}.story h3{margin-top:40px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #9e482d;outline-offset:6px}section[id]{scroll-margin-top:24px}
@media(max-width:1050px){.menu-toggle{display:block;background:none;border:1px solid #bda08b;padding:10px;color:#503729;font:inherit;font-size:13px}#navigation{display:none;position:absolute;top:70px;left:0;right:0;background:#fff;padding:24px;z-index:20;box-shadow:0 12px 20px #50372915}#navigation.open{display:grid}.header-inner{height:70px}.brand-logo{width:190px}.voice-grid{grid-template-columns:1fr}.reason{gap:28px}}
@media(max-width:600px){.section{padding:60px 0}.wrap{width:calc(100% - 40px)}.reason,.about-grid,.footer-grid{grid-template-columns:1fr;gap:20px}.about-grid .portrait{width:130px;height:130px}.reason h3{font-size:20px}.profile-intro{display:block}.profile-intro .portrait{width:180px;height:180px;margin-bottom:24px}.company-table{grid-template-columns:95px 1fr}.company-table dt,.company-table dd{font-size:14px}.closing{padding:56px 0}.closing .hero-cta{font-size:14px}.page-links{gap:24px}.section h2{margin-bottom:28px}}
.section h1{font-family:"Yu Mincho",serif;font-weight:500;font-size:clamp(25px,3vw,36px);line-height:1.6;margin:12px 0 36px}.section h1,.section h2,.section h3,.closing h2{word-break:auto-phrase;text-wrap:balance}.section-lead{word-break:auto-phrase;font-size:19px;font-weight:700;line-height:1.8!important;margin-top:0}.person-name{font-family:"Yu Mincho",serif;font-size:20px;margin:20px 0 4px}.person-title{word-break:auto-phrase;font-size:13px;line-height:1.8!important;margin:0;color:#665044}footer .brand-logo{width:160px}
@media(max-width:600px){.section h1{margin-bottom:28px}.profile-intro .portrait{width:150px;height:150px}.about-grid .page-links{flex-wrap:wrap}}
#navigation a{font-size:15px;font-weight:500;letter-spacing:.04em;white-space:nowrap}#navigation a:hover{color:#9e482d}
@media(min-width:901px){.menu-toggle{display:none!important}#navigation{display:flex!important;position:static;padding:0;box-shadow:none;background:none;gap:28px}.header-inner{height:88px}}
@media(min-width:901px) and (max-width:1050px){#navigation{gap:20px}#navigation a{font-size:14px}}
@media(max-width:900px){#navigation a{font-size:15px;padding:12px 0}}
.sns>div{gap:28px}.sns-link{display:inline-flex;align-items:center;gap:10px;color:inherit;text-decoration:none;font-size:15px;padding:6px 0}.sns-link:hover span{color:#9e482d;text-decoration:underline}.sns-icon{flex:none;display:block}
footer nav a{word-break:auto-phrase}
.detail-hero{padding:88px 0 80px}.detail-hero h1{font-family:"Yu Mincho",serif;font-weight:500;font-size:clamp(28px,3.4vw,40px);line-height:1.5;margin:12px 0 20px}.detail-catch{font-size:clamp(20px,2.4vw,26px);font-weight:700;line-height:1.7;margin:0 0 24px;word-break:auto-phrase;text-wrap:balance}.detail-hero p{line-height:2}.detail-hero .hero-cta{margin-top:20px}
.check-list{list-style:none;padding:0;margin:32px 0 0;display:grid;gap:12px}.check-list li{position:relative;padding:16px 20px 16px 52px;background:#faf7f2;line-height:1.8}.check-list li::before{content:"";position:absolute;left:22px;top:24px;width:13px;height:7px;border-left:2px solid #9e482d;border-bottom:2px solid #9e482d;transform:rotate(-45deg)}
.step-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:24px}.step-grid>li{background:#fff;padding:28px;border-top:3px solid #bd784f}.step-grid h3{margin:8px 0 12px;font-size:20px}.step-grid p{margin:0 0 12px}.dot-list{margin:0;padding-left:1.2em;line-height:1.9;font-size:15px}.step-grid+p{margin-top:32px}
.instructor{display:grid;grid-template-columns:160px 1fr;gap:40px;align-items:start}.instructor .portrait{width:160px;height:160px}.final-note{margin-top:24px}
@media(max-width:600px){.detail-hero{padding:56px 0}.instructor{grid-template-columns:1fr;gap:20px}.instructor .portrait{width:120px;height:120px}.check-list li{padding:14px 16px 14px 44px;font-size:15px}.check-list li::before{left:16px;top:22px}}
.step-grid h3{word-break:auto-phrase;line-height:1.7}
/* Step20 画面修正：1カラムで左端をそろえる／語中改行を防ぐ */
.subpage .prose,.subpage .profile-intro{margin-left:0;margin-right:0}
.detail-page .narrow{max-width:960px}.detail-page .section p,.detail-page .check-list,.detail-page details,.detail-page .instructor{max-width:760px}.detail-page .step-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.activity-card h4,.voice h3,.reason h3{word-break:auto-phrase}.nobr{white-space:nowrap}.about-grid{grid-template-columns:200px 1fr}.person-title{font-size:12px}
@media(max-width:600px){.about-grid{grid-template-columns:1fr}}
#faq details{max-width:820px}
/* 優先順位診断の案内 */
.diag-band{padding:0 0 72px}.diag-box{background:#fff;border:1px solid #e3d5c8;border-left:4px solid #bd784f;padding:36px 40px;max-width:760px}.diag-box h2{font-size:clamp(20px,2.2vw,26px)!important;margin:8px 0 16px!important;word-break:auto-phrase}.diag-name{font-weight:700;margin:0 0 8px}.diag-box .hero-cta{margin-top:16px}.diag-box .caption{margin:12px 0 0}
@media(max-width:600px){.diag-band{padding:0 0 48px}.diag-box{padding:28px 22px}}
/* 0.6.1 お客様の声：原文は変えず、語の途中で折らず行の長さをそろえる（6行以内はbalance、長い文はpretty） */
.voice blockquote p{word-break:auto-phrase;text-wrap:balance}
@supports not (text-wrap:balance){.voice blockquote p{text-wrap:pretty}}
.voice .ph{display:inline-block;max-width:100%}.voice-grid{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:1050px){.voice-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:600px){.footer-grid{grid-template-columns:minmax(0,1fr)}footer nav{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* 0.6.2 お客様の声：PCは「見出し左・引用右」の縦並び（3件の文字量差が目立たない配置。本人「文字量のバランス悪い」） */
@media(min-width:1051px){
.voice-grid{grid-template-columns:minmax(0,1fr);gap:0}
.voice{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.7fr);gap:56px;align-items:start;background:none;border-top:0;border-bottom:1px solid #d8cabf;padding:36px 0}
.voice:first-child{border-top:1px solid #d8cabf}
.voice h3{margin:0;font-size:20px;line-height:1.7}
.voice blockquote{margin:0;padding-left:24px;border-left:3px solid #bd784f}
.voice blockquote p{margin:0}

}

/* ===== WordPress用：ブロックテーマの余白をリセット ===== */
.wp-site-blocks>*{margin-block:0}
.wp-site-blocks{padding:0}
body{line-height:normal}

/* ===== ブログ一覧・カテゴリー・記事（新デザインのトーンに合わせる） ===== */
.blog-main{padding:80px 0 96px}
.blog-head{margin-bottom:40px}
.blog-head h1,.blog-head .wp-block-query-title,.blog-head .wp-block-post-title{font-family:"Yu Mincho","Noto Serif JP",serif;font-weight:500;font-size:clamp(28px,3.2vw,38px);line-height:1.5;margin:12px 0 0;color:var(--ink)}
.blog-cats{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;margin:0 0 40px}
.blog-cats li a{display:inline-block;padding:9px 18px;border:1px solid #bda08b;border-radius:999px;color:var(--ink);text-decoration:none;font-size:14px;background:#fff}
.blog-cats li a:hover,.blog-cats li.current-cat a{background:var(--accent);border-color:var(--accent);color:#fff}

.blog-grid .wp-block-post-template{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:28px;list-style:none;padding:0;margin:0}
.blog-card{height:100%;display:flex;flex-direction:column;background:#fff;border-top:3px solid #bd784f}
.blog-card .wp-block-post-featured-image{margin:0;aspect-ratio:1.91;overflow:hidden;background:#f1ebe3}
.blog-card .wp-block-post-featured-image img{width:100%;height:100%;object-fit:cover}
.blog-card-body{padding:22px 24px 26px}
.blog-card .wp-block-post-terms{font-size:12px;letter-spacing:.04em;margin:0 0 6px}
.blog-card .wp-block-post-terms a{color:var(--accent);text-decoration:none}
.blog-card .wp-block-post-date{font-size:13px;color:var(--muted);margin:0 0 8px}
.blog-card .wp-block-post-title{font-family:"Yu Mincho","Noto Serif JP",serif;font-size:19px!important;font-weight:600;line-height:1.6;margin:0;word-break:auto-phrase}
.blog-card .wp-block-post-title a{color:var(--ink);text-decoration:none}
.blog-card .wp-block-post-title a:hover{color:var(--accent)}
.blog-card .wp-block-post-excerpt{font-size:14px;line-height:1.9;color:var(--muted);margin-top:10px}
.blog-card .wp-block-post-excerpt__excerpt{display:-webkit-box;margin:0;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3}
.blog-card .wp-block-post-excerpt__more-text{display:none}
.wp-block-query-pagination{margin-top:48px;gap:16px;font-size:15px}
.wp-block-query-pagination a{color:var(--ink)}
.wp-block-query-pagination .current{color:var(--accent);font-weight:700}
.wp-block-query-no-results{color:var(--muted)}

/* 記事 */
.article{max-width:760px}
.migaki-breadcrumb{font-size:13px;color:var(--muted);margin:0 0 20px}
.migaki-breadcrumb a{color:var(--muted)}
.article .wp-block-post-terms{font-size:13px;margin:0 0 8px}
.article .wp-block-post-terms a{color:var(--accent);text-decoration:none}
.article>.wp-block-post-title{font-family:"Yu Mincho","Noto Serif JP",serif;font-weight:600;font-size:clamp(26px,3.2vw,36px);line-height:1.5;margin:0 0 12px;color:var(--ink);word-break:auto-phrase;text-wrap:balance}
.article>.wp-block-post-date{font-size:13px;color:var(--muted);margin:0 0 32px}
.article .wp-block-post-content{font-size:16px;line-height:2;color:var(--ink)}
.article .wp-block-post-content p{margin:0 0 1.4em}
.article .wp-block-post-content h2{font-family:"Yu Mincho","Noto Serif JP",serif;font-weight:600;font-size:clamp(22px,2.4vw,26px);line-height:1.6;margin:2.6em 0 1em;padding-bottom:12px;border-bottom:1px solid #d8cabf;color:var(--ink)}
.article .wp-block-post-content h3{font-size:19px;font-weight:700;line-height:1.7;margin:2em 0 .8em;color:var(--ink)}
.article .wp-block-post-content a{color:var(--accent)}
.article .wp-block-post-content strong{font-weight:700}
.article .wp-block-post-content ul,.article .wp-block-post-content ol{padding-left:1.4em;margin:0 0 1.4em}
.article .wp-block-post-content blockquote{margin:1.6em 0;padding:16px 24px;background:#f1ebe3;border-left:3px solid #bd784f}
.article .wp-block-post-content img{height:auto;border-radius:2px}
.article .wp-block-post-content figure{margin:1.6em 0}
.article-diag{margin:56px 0 0}
.article-diag .diag-box{max-width:none}
.migaki-article-links{margin:48px 0 0;padding-top:24px;border-top:1px solid #d8cabf;font-size:15px}
.migaki-article-links a{color:var(--ink)}
.article-related-title{font-family:"Yu Mincho","Noto Serif JP",serif;font-weight:500;font-size:24px;margin:56px 0 20px;color:var(--ink)}
.migaki-related-posts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:0;margin:0;list-style:none}
.migaki-related-posts li{padding:18px 20px;background:#fff;border-top:3px solid #bd784f;line-height:1.7}
.migaki-related-posts time{display:block;margin-bottom:6px;color:var(--muted);font-size:12px}
.migaki-related-posts a{color:var(--ink);text-decoration:none;font-weight:600}
.migaki-related-posts a:hover{color:var(--accent)}

/* 固定ページ（プライバシーポリシーなど） */
.plain-page{max-width:760px}
.plain-page>.wp-block-post-title{font-family:"Yu Mincho","Noto Serif JP",serif;font-weight:500;font-size:clamp(26px,3vw,36px);line-height:1.5;margin:0 0 32px;color:var(--ink)}
.plain-page .wp-block-post-content{line-height:2}

@media(max-width:600px){
  .blog-main{padding:56px 0 72px}
  .blog-grid .wp-block-post-template{grid-template-columns:1fr;gap:20px}
  .migaki-related-posts{grid-template-columns:1fr}
  .article .wp-block-post-content{font-size:15px}
}

/* 記事217：承認済みのタイトル改行を維持（旧テーマから継承） */
.postid-217 .article>.wp-block-post-title{font-size:0}
.postid-217 .article>.wp-block-post-title::before,.postid-217 .article>.wp-block-post-title::after{display:block;white-space:nowrap;font-size:clamp(16px,4.6vw,2.25rem);line-height:1.5}
.postid-217 .article>.wp-block-post-title::before{content:"学んでいるのに、なぜか前に進めない。"}
.postid-217 .article>.wp-block-post-title::after{content:"足りないのは「選ぶ基準」かもしれません。"}

/* 0.6.4: TOPの案内と「知る→学ぶ→実践する」ページ */
.learning-pickup{padding:78px 0 86px;background:#faf7f2}.learning-pickup h2{font-family:"Yu Mincho",serif;font-weight:500;font-size:clamp(27px,3vw,38px);line-height:1.5;margin:14px 0}.learning-pickup-intro{font-size:16px;line-height:1.9;color:#665044}.learning-pickup-panel{display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:25px;background:#fff;padding:31px 34px;margin-top:31px;border-radius:22px 4px 22px 4px;box-shadow:0 18px 40px rgba(80,55,41,.08)}.learning-pickup-icon{width:58px;height:58px;display:grid;place-items:center;border-radius:50%;background:#f2dfcf;color:#9e482d;font-size:27px}.learning-pickup-label{font-size:12px;color:#9e482d;font-weight:700}.learning-pickup-panel h3{font-size:22px;margin:7px 0 9px}.learning-pickup-panel p{font-size:14px;line-height:1.85;color:#665044;margin:0}.learning-pickup-panel .hero-cta{margin:0;white-space:nowrap}.learning-pickup-foot{font-size:13px;color:#665044;margin:17px 0 0}.learning-page{display:block}.learning-page .seminar-expired{font-size:16px;line-height:1.8;padding:26px;background:#fff;border-radius:16px}.learning-page .seminar-expired[hidden]{display:none}@media(max-width:900px){.learning-pickup-panel{grid-template-columns:50px 1fr}.learning-pickup-panel .hero-cta{grid-column:2;justify-self:start}}@media(max-width:640px){.learning-pickup{padding:60px 0}.learning-pickup-panel{grid-template-columns:1fr;padding:24px;gap:12px}.learning-pickup-panel .hero-cta{grid-column:1;justify-self:stretch;margin-top:8px}.learning-pickup-icon{width:46px;height:46px}}

.learning-page{--ink:#503729;--muted:#6f5b4e;--accent:#a55032;--warm:#bd784f;--paper:#faf7f2;--soft:#f2ebe3;--line:#dfd2c7}
.learning-page *{box-sizing:border-box}
.learning-page{margin:0;background:var(--paper);color:var(--ink);font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif}
.learning-page a{color:inherit}
.learning-page img{display:block;max-width:100%}
.learning-page .wrap{width:min(1120px,calc(100% - 48px));margin:auto}
.learning-page .demo-ribbon{background:#503729;color:#fff;text-align:center;font-size:11px;letter-spacing:.14em;padding:7px}
.learning-page .header{height:88px;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:0 max(36px,calc((100vw - 1280px)/2));position:relative;z-index:4}
.learning-page .brand img{width:250px;height:auto}
.learning-page .header nav{display:flex;gap:28px}
.learning-page .header nav a{text-decoration:none;font-size:14px;white-space:nowrap}
.learning-page .header nav a:hover{text-decoration:underline;text-underline-offset:5px}
.learning-page .eyebrow{font-size:12px;font-weight:700;letter-spacing:.2em;color:var(--accent);margin:0 0 15px}
.learning-page .hero{min-height:570px;position:relative;isolation:isolate;display:flex;align-items:center;overflow:hidden}
.learning-page .hero-photo,.learning-page .hero-shade{position:absolute;inset:0;width:100%;height:100%}
.learning-page .hero-photo{object-fit:cover;z-index:-2}
.learning-page .hero-shade{z-index:-1;background:linear-gradient(90deg,rgba(250,247,242,.96),rgba(250,247,242,.86) 36%,rgba(250,247,242,.08) 73%)}
.learning-page .hero-content{width:min(1280px,calc(100% - 72px));margin:auto}
.learning-page .hero h1,.learning-page .feature h2,.learning-page .work h2,.learning-page .about h2,.learning-page .landing-head h1,.learning-page .learning-section h2,.learning-page .materials h2,.learning-page .ending h2{font-family:"Yu Mincho","Noto Serif JP",serif;font-weight:500;letter-spacing:-.04em}
.learning-page .hero h1{font-size:clamp(32px,4vw,54px);line-height:1.5;margin:0}
.learning-page .hero-lead{font-size:19px;line-height:1.9;font-weight:600;margin:27px 0 0}
.learning-page .hero-link{display:inline-flex;gap:24px;align-items:center;text-decoration:none;background:var(--accent);color:#fff;padding:15px 23px;margin-top:29px;font-size:14px;font-weight:700}
.learning-page .hero-link:hover,.learning-page .button:hover{background:#873c22}
.learning-page .feature{padding:78px 0 86px}
.learning-page .feature-heading{max-width:750px}
.learning-page .feature h2{font-size:clamp(27px,3vw,38px);line-height:1.5;margin:0 0 14px}
.learning-page .feature-heading p:last-child,.learning-page .section-heading p:last-child{font-size:16px;line-height:1.9;margin:0;color:var(--muted)}
.learning-page .feature-card{display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:25px;border:1px solid var(--line);background:#fff;padding:31px 34px;margin-top:31px;box-shadow:0 16px 36px rgba(80,55,41,.05)}
.learning-page .feature-icon{height:58px;width:58px;border-radius:50%;background:#f4e4d7;color:var(--accent);display:grid;place-items:center;font-size:27px}
.learning-page .small-label{display:inline-block;color:var(--accent);font-size:12px;letter-spacing:.08em;font-weight:700}
.learning-page .feature-card h3{font-size:22px;margin:7px 0 9px}
.learning-page .feature-card p{font-size:14px;line-height:1.85;color:var(--muted);margin:0;max-width:550px}
.learning-page .button{background:var(--accent);color:#fff;text-decoration:none;padding:16px 21px;display:inline-flex;align-items:center;justify-content:center;gap:22px;font-size:14px;font-weight:700;white-space:nowrap;min-height:52px}
.learning-page .feature-foot{font-size:13px;color:var(--muted);margin:17px 0 0 0}
.learning-page .work{background:var(--soft);padding:85px 0}
.learning-page .work h2,.learning-page .about h2{font-size:36px;margin:0 0 30px}
.learning-page .work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:19px}
.learning-page .work-grid article{background:#fff;border:1px solid var(--line);padding:29px;min-height:185px}
.learning-page .work-grid span{color:var(--accent);font-family:Georgia,serif}
.learning-page .work-grid h3{font-size:21px;margin:15px 0 9px}
.learning-page .work-grid p{line-height:1.8;color:var(--muted);font-size:14px;margin:0}
.learning-page .about{padding:85px 0}
.learning-page .about p:last-child{font-size:18px}
.learning-page footer{background:#fff;padding:30px max(24px,calc((100vw - 1120px)/2));font-size:12px;color:var(--muted);display:flex;justify-content:space-between}
.learning-page .landing-head{background:linear-gradient(110deg,#f3ece4,#faf7f2 67%);border-bottom:1px solid var(--line);padding:100px 0 85px}
.learning-page .landing-head h1{font-size:clamp(32px,4.3vw,53px);line-height:1.5;margin:0 0 20px}
.learning-page .landing-head p:not(.eyebrow){font-size:18px;line-height:1.9;margin:0}
.learning-page .jump-links{display:flex;gap:14px;margin-top:38px}
.learning-page .jump-links a{background:#fff;border:1px solid var(--line);text-decoration:none;padding:16px 22px;min-width:230px;display:flex;justify-content:space-between;gap:20px;font-size:14px;font-weight:700}
.learning-page .jump-links a:hover{border-color:var(--accent);color:var(--accent)}
.learning-page .learning-section,.learning-page .materials{padding-top:91px;padding-bottom:96px;scroll-margin-top:20px}
.learning-page .section-heading{display:grid;grid-template-columns:70px minmax(0,750px);gap:25px}
.learning-page .section-index{font-family:Georgia,serif;color:var(--warm);font-size:46px;line-height:1}
.learning-page .section-heading h2{font-size:clamp(27px,3vw,38px);line-height:1.5;margin:0 0 16px}
.learning-page .seminar-card{display:grid;grid-template-columns:130px minmax(0,1fr) auto;gap:32px;align-items:center;background:#fff;border:1px solid var(--line);padding:32px;margin-top:38px}
.learning-page .seminar-date{height:120px;background:#f3e5d9;display:flex;flex-direction:column;justify-content:center;align-items:center;color:var(--accent)}
.learning-page .seminar-date strong{font-family:Georgia,serif;font-size:37px;font-weight:400}
.learning-page .seminar-date span{font-size:10px;letter-spacing:.13em}
.learning-page .seminar-text h3{font-size:22px;line-height:1.5;margin:8px 0}
.learning-page .seminar-text p{font-size:14px;line-height:1.8;color:var(--muted);margin:0}
.learning-page .seminar-text .meta{margin-top:10px;font-weight:700}
.learning-page .section-note{font-size:12px;color:var(--muted);margin:17px 0 0 95px}
.learning-page .materials{background:var(--soft)}
.learning-page .material-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:38px}
.learning-page .material-card{background:#fff;border-top:3px solid var(--warm);padding:34px;display:flex;flex-direction:column;min-height:295px}
.learning-page .material-card h3{font-size:24px;margin:12px 0}
.learning-page .material-card p{line-height:1.9;color:var(--muted);font-size:15px;margin:0 0 30px}
.learning-page .outline-button{margin-top:auto;align-self:flex-start;border:1px solid var(--accent);color:var(--accent);padding:13px 18px;text-decoration:none;font-size:14px;font-weight:700;display:inline-flex;gap:21px}
.learning-page .outline-button:hover{background:#fff6f1}
.learning-page .ending{text-align:center;padding:86px 0 100px}
.learning-page .ending h2{font-size:31px;margin:0}
.learning-page .ending p{line-height:1.8}
.learning-page .ending a{display:inline-block;margin-top:18px;color:var(--accent);font-weight:700;text-underline-offset:6px}
.learning-page a:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
@media(max-width:900px){.learning-page .header{height:70px;padding:0 22px}
.learning-page .brand img{width:190px}
.learning-page .header nav{gap:14px}
.learning-page .header nav a{font-size:12px}
.learning-page .feature-card{grid-template-columns:50px 1fr}
.learning-page .feature-card .button{grid-column:2;justify-self:start}
.learning-page .seminar-card{grid-template-columns:105px 1fr}
.learning-page .seminar-card .button{grid-column:2;justify-self:start}
.learning-page .seminar-date{width:105px;height:105px}}
@media(max-width:640px){.learning-page .wrap{width:calc(100% - 40px)}
.learning-page .header nav a:nth-child(1),.learning-page .header nav a:nth-child(3){display:none}
.learning-page .hero{min-height:650px;align-items:flex-start}
.learning-page .hero-photo{object-position:67% center}
.learning-page .hero-shade{background:linear-gradient(180deg,rgba(250,247,242,.96),rgba(250,247,242,.86) 58%,rgba(250,247,242,.16))}
.learning-page .hero-content{width:calc(100% - 40px);padding-top:46px}
.learning-page .hero h1{font-size:clamp(27px,7.4vw,36px);line-height:1.55}
.learning-page .hero-lead{font-size:16px}
.learning-page .feature{padding:60px 0}
.learning-page .feature h2{font-size:29px}
.learning-page .feature-heading p:last-child br,.learning-page .landing-head p br{display:none}
.learning-page .feature-card{grid-template-columns:1fr;padding:24px;gap:12px}
.learning-page .feature-icon{height:46px;width:46px;font-size:22px}
.learning-page .feature-card h3{font-size:20px}
.learning-page .feature-card .button{grid-column:1;justify-self:stretch;margin-top:8px}
.learning-page .work{padding:60px 0}
.learning-page .work-grid,.learning-page .material-grid{grid-template-columns:1fr}
.learning-page .about{padding:65px 0}
.learning-page .landing-head{padding:69px 0 61px}
.learning-page .landing-head h1{font-size:32px}
.learning-page .landing-head p:not(.eyebrow){font-size:16px}
.learning-page .jump-links{flex-direction:column}
.learning-page .jump-links a{min-width:0}
.learning-page .learning-section,.learning-page .materials{padding-top:65px;padding-bottom:70px}
.learning-page .section-heading{grid-template-columns:1fr;gap:12px}
.learning-page .section-index{font-size:35px}
.learning-page .seminar-card{grid-template-columns:1fr;gap:18px;padding:24px}
.learning-page .seminar-date{height:78px;width:90px}
.learning-page .seminar-date strong{font-size:27px}
.learning-page .seminar-card .button{grid-column:1;justify-self:stretch}
.learning-page .section-note{margin-left:0}
.learning-page .material-card{min-height:260px;padding:27px}
.learning-page .ending{padding:70px 0}
.learning-page .ending h2{font-size:26px}
.learning-page footer{display:block;text-align:center}
.learning-page footer span{display:block;margin-top:6px}}
.learning-page .step-flow{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:0;margin:32px 0 0;max-width:850px}
.learning-page .step-flow li{background:#fff;border:1px solid var(--line);padding:17px 19px;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.learning-page .step-flow span{font-family:Georgia,serif;color:var(--accent);font-size:18px}
.learning-page .step-flow strong{font-size:16px}
.learning-page .step-flow small{color:var(--muted);font-size:12px;width:100%;padding-left:31px}
@media(max-width:640px){.learning-page .step-flow{grid-template-columns:1fr;gap:8px}
.learning-page .step-flow li{padding:13px 16px}
.learning-page .step-flow small{width:auto;padding-left:0;margin-left:auto}}
.learning-page .landing-head{position:relative;overflow:hidden;background:radial-gradient(circle at 87% 21%,rgba(192,135,91,.21),transparent 28%),linear-gradient(115deg,#f1e8dd,#faf7f2 72%)}
.learning-page .landing-head::after{content:"";position:absolute;right:-95px;top:105px;width:330px;height:330px;border:1px solid rgba(165,80,50,.14);border-radius:50%;pointer-events:none}
.learning-page .landing-head .wrap{position:relative;z-index:1}
.learning-page .step-flow{max-width:920px;gap:0;margin:42px 0 0;position:relative}
.learning-page .step-flow::before{content:"";position:absolute;top:22px;left:38px;right:38px;border-top:1px solid #c9ad98}
.learning-page .step-flow li{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:0 16px;background:transparent;border:0}
.learning-page .step-flow span{display:grid;place-items:center;width:45px;height:45px;border-radius:50%;background:#f8f1e9;border:1px solid #bd8768;font-size:15px;margin-bottom:10px}
.learning-page .step-flow strong{font-family:"Yu Mincho","Noto Serif JP",serif;font-size:19px;font-weight:600}
.learning-page .step-flow small{width:auto;padding:0;font-size:12px}
.learning-page .jump-links{margin-top:34px}
.learning-page .jump-links a{background:transparent;border:0;border-bottom:1px solid #b7866b;padding:14px 2px;min-width:225px}
.learning-page .learning-section{position:relative}
.learning-page .learning-section::before{content:"";position:absolute;right:-42px;top:74px;width:190px;height:190px;border-radius:50%;background:#f5e7d8;opacity:.6;z-index:-1}
.learning-page .seminar-card{border:0;border-radius:22px 4px 22px 4px;box-shadow:0 20px 48px rgba(80,55,41,.08);padding:30px 36px}
.learning-page .seminar-card + .seminar-card{margin-top:18px}
.learning-page .seminar-date{border-radius:50%;width:120px;height:120px;background:#f0ddcb}
.learning-page .section-note{margin-left:0}
.learning-page .materials{background:linear-gradient(165deg,#eee5da 0%,#f5eee7 60%,#eee5da 100%)}
.learning-page .material-grid{gap:28px}
.learning-page .material-card{border:0;border-radius:4px 26px 4px 26px;box-shadow:0 15px 35px rgba(80,55,41,.05);position:relative;padding:41px 38px}
.learning-page .material-card::before{content:"";width:44px;height:3px;background:var(--warm);margin-bottom:16px}
.learning-page .material-card:nth-child(2){background:#fffaf5;border-radius:26px 4px 26px 4px;transform:translateY(20px)}
.learning-page .ending{padding-top:112px}
.learning-page .feature-card{border:0;border-radius:22px 4px 22px 4px;box-shadow:0 18px 40px rgba(80,55,41,.08)}
.learning-page .feature-icon{background:#f2dfcf}
@media(max-width:640px){.learning-page .landing-head::after{right:-135px;top:160px;width:250px;height:250px}
.learning-page .step-flow{gap:0;margin-top:34px}
.learning-page .step-flow::before{top:20px;bottom:20px;left:22px;right:auto;border-top:0;border-left:1px solid #c9ad98}
.learning-page .step-flow li{min-height:76px;padding:0 0 0 0;display:grid;grid-template-columns:45px 1fr;column-gap:14px;align-items:start}
.learning-page .step-flow span{grid-row:1/3;margin:0}
.learning-page .step-flow strong{align-self:end;font-size:18px}
.learning-page .step-flow small{align-self:start}
.learning-page .jump-links{gap:4px}
.learning-page .jump-links a{min-width:0}
.learning-page .learning-section::before{right:-80px;width:140px;height:140px}
.learning-page .seminar-card{padding:26px;border-radius:18px 4px 18px 4px}
.learning-page .seminar-date{height:90px;width:90px}
.learning-page .material-grid{gap:18px}
.learning-page .material-card{padding:30px;border-radius:4px 20px 4px 20px}
.learning-page .material-card:nth-child(2){transform:none;border-radius:20px 4px 20px 4px}
.learning-page .ending{padding-top:80px}}
.learning-page .landing-head::after{right:-75px;top:120px;width:380px;height:380px;border:0;background:url("/wp-content/themes/migaki-refresh-2026/assets/hero-nordic-home-office-orange-v2.jpg") 76% center/cover no-repeat;opacity:.15;box-shadow:0 0 0 22px rgba(255,255,255,.22)}
@media(max-width:640px){.learning-page .landing-head::after{right:-150px;top:200px;width:260px;height:260px;opacity:.10}}
.learning-page .seminar-card[hidden]{display:none}

/* 0.6.6: approved concise homepage hero; scoped to avoid learning/detail pages. */
.hero.hero--refined { min-height: 650px; background: var(--paper); }
.hero--refined .hero-image { inset: 24px 0 0 auto; width: 64%; height: calc(100% - 24px); border-top-left-radius: 220px; object-position: 70% center; }
.hero--refined .hero-shade { background: linear-gradient(90deg,#faf7f2 0%,#faf7f2 33%,rgba(250,247,242,.98) 40%,rgba(250,247,242,.85) 49%,rgba(250,247,242,.16) 65%,transparent 76%); }
.hero--refined .hero-inner { min-height: 650px; padding: 88px 0 92px; }
.hero--refined .hero-copy { width: min(72%,870px); container-type: normal; }
.hero--refined h1 { font-size: clamp(32px,3.2vw,46px); line-height: 1.65; letter-spacing: -.025em; font-weight: 500; }
.hero--refined h1 span { white-space: normal; }
.hero--refined .hero-title-phrase { display: inline-block; }
.hero--refined .hero-sub { max-width: 720px; margin: 28px 0 0; font-size: clamp(17px,1.45vw,20px); font-weight: 500; line-height: 1.85; }
.hero--refined .hero-sub span { display: inline-block; }
.hero--refined .hero-summary { max-width: 580px; margin: 28px 0 0; font-size: 16px; line-height: 1.9; }
.hero--refined .hero-summary span { display: inline-block; }
.hero--refined .hero-cta { margin-top: 34px; min-height: 54px; padding: 14px 26px; font-size: 16px; font-weight: 500; }
.home-purpose { padding: 60px 0; background: #f1ebe3; }
.home-purpose-grid { display: grid; grid-template-columns: .9fr 1.35fr; gap: 64px; align-items: start; }
.home-purpose h2 { margin: 12px 0 0; font-family: "Noto Serif JP","Yu Mincho",serif; font-size: clamp(24px,2.4vw,30px); font-weight: 500; line-height: 1.7; }
.home-purpose-copy { border-left: 1px solid #cdbbaa; padding-left: 42px; }
.home-purpose-copy p { margin: 0 0 16px; line-height: 1.9; font-size: 16px; }
.home-purpose-copy p:last-child { margin-bottom: 0; }
@media (max-width: 1100px) and (min-width: 761px) {
  .hero--refined .hero-copy { width: 84%; }
  .hero--refined .hero-shade { background: linear-gradient(90deg,#faf7f2 0%,rgba(250,247,242,.98) 42%,rgba(250,247,242,.86) 60%,rgba(250,247,242,.15) 85%); }
}
@media (max-width: 760px) {
  .hero.hero--refined { min-height: 0; display: flex; flex-direction: column; overflow: hidden; }
  .hero--refined .hero-inner { order: 0; min-height: 0; width: 100%; padding: 38px 24px 34px; }
  .hero--refined .hero-copy { width: 100%; }
  .hero--refined h1 { font-size: clamp(27px,6.2vw,34px); line-height: 1.65; letter-spacing: -.035em; }
  .hero--refined .hero-sub { margin-top: 22px; font-size: 17px; line-height: 1.85; }
  .hero--refined .hero-summary { margin-top: 20px; font-size: 16px; line-height: 1.85; }
  .hero--refined .hero-cta { margin-top: 25px; min-height: 52px; font-size: 15px; gap: 16px; }
  .hero--refined .hero-image { position: relative; inset: auto; order: 1; z-index: auto; width: calc(100% - 24px); height: 220px; margin-left: 24px; object-position: 68% 60%; border-top-left-radius: 90px; }
  .hero--refined .hero-shade { display: none; }
  .home-purpose { padding: 42px 0; }
  .home-purpose-grid { grid-template-columns: 1fr; gap: 22px; }
  .home-purpose-copy { border-left: 0; border-top: 1px solid #cdbbaa; padding: 22px 0 0; }
}

/* 0.6.7: editorial visual system across the complete site. */
:root { --serif: "Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif; --line: #d9c8b9; --soft: #f1ebe3; }
body { font-weight:400; }
.section-kicker,.learning-page .eyebrow { display:flex; align-items:center; gap:18px; font-size:11px; letter-spacing:.16em; font-weight:500; }
.section-kicker::after,.learning-page .eyebrow::after { content:""; width:44px; height:1px; background:var(--accent); }
.text-link { min-height:44px; }
.hero-cta,.learning-page .button,.learning-page .outline-button { font-weight:500; border-radius:2px; transition:background-color .2s,color .2s; }
.hero.hero--refined { min-height:690px; margin:0 0 0; background:#faf7f2; }
.hero--refined .hero-image { inset:24px 0 0 auto; width:66%; height:calc(100% - 24px); border-top-left-radius:200px; object-position:66% center; }
.hero--refined .hero-shade { display:none; }
.hero--refined .hero-inner { min-height:690px; padding:75px 0; }
.hero--refined .hero-copy { width:61%; padding:34px 38px 42px 0; background:#faf7f2; border-bottom-right-radius:70px; }
.hero--refined h1 { font-size:clamp(30px,3vw,43px); line-height:1.65; }
.hero--refined .hero-sub { font-size:18px; }
.hero--refined .hero-summary { padding-top:22px; border-top:1px solid #b9856c; width:fit-content; margin-top:25px; }
.hero--refined .hero-cta { min-width:268px; justify-content:space-between; }
#activities { background:#faf7f2; }
#activities .activity-grid { gap:32px; }
#activities .activity-card { background:transparent; border:0; padding:0 0 20px; border-bottom:1px solid #b99981; }
.activity-photo { width:100%; aspect-ratio:1.5; object-fit:cover; margin:0 0 24px; }
#activities .activity-number { order:-2; font-size:20px; font-style:italic; margin:0 0 12px; display:flex; align-items:center; gap:16px; }
#activities .activity-number::after { content:""; height:1px; background:#c5ad9a; flex:1; }
#activities .activity-photo { order:-1; }
#activities .activity-card h3 { font-family:var(--serif); font-size:25px; font-weight:500; margin:0 0 12px; }
#activities .activity-card h4 { font-size:16px; font-weight:500; margin:0 0 18px; }
#activities .activity-card p { font-size:15px; line-height:1.95; }
#activities .activity-card .text-link { width:100%; justify-content:space-between; border:0; padding:20px 0 0; }
.detail-hero { position:relative; isolation:isolate; background:#f1ebe3; padding:92px 0; min-height:500px; overflow:hidden; }
.detail-hero::before { content:""; position:absolute; inset:30px 0 0 57%; z-index:-1; background:var(--page-photo) center/cover; border-top-left-radius:160px; }
.detail-hero::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,#f1ebe3 0%,#f1ebe3 42%,rgba(241,235,227,.94) 53%,rgba(241,235,227,.05) 76%); }
.detail-page--life { --page-photo:url("/wp-content/themes/migaki-refresh-2026/assets/editorial-journal.jpg"); }
.detail-page--business { --page-photo:url("/wp-content/themes/migaki-refresh-2026/assets/editorial-office.jpg"); }
.detail-page--crypto { --page-photo:url("/wp-content/themes/migaki-refresh-2026/assets/editorial-learning.jpg"); }
.detail-page .detail-hero .wrap { max-width:1120px; }
.detail-hero .wrap>p,.detail-hero h1 { max-width:640px; }
.detail-hero h1 { font-family:var(--serif); font-size:clamp(32px,3.2vw,44px); font-weight:500; margin:18px 0 26px; }
.detail-hero .detail-catch { font-family:var(--serif); font-weight:500; font-size:24px; }
.detail-hero p:not(.section-kicker):not(.detail-catch) { font-size:16px; line-height:1.95; max-width:580px; }
.detail-page .section { padding:84px 0; }
.detail-page .section h2 { font-family:var(--serif); font-size:clamp(25px,2.6vw,34px); font-weight:500; }
.detail-page .section h3 { font-family:var(--serif); font-size:21px; font-weight:500; }
.detail-page .section p { font-size:16px; line-height:2; }
.detail-page .section-lead { font-weight:500; }
.detail-page .check-list { background:#fff; padding:12px 28px; border-top:1px solid #c5ad9a; border-bottom:1px solid #c5ad9a; gap:0; }
.detail-page .check-list li { background:transparent; padding:20px 0 20px 30px; border-bottom:1px solid #eadfd4; }
.detail-page .check-list li:last-child { border:0; }
.detail-page .check-list li::before { left:0; top:29px; }
.detail-page .step-grid { gap:30px; }
.detail-page .step-grid>li { border-top:1px solid #b78c71; padding:24px 0; background:transparent; }
.detail-page .activity-number { font-size:24px; font-style:italic; }
.diag-band { padding-top:40px; background:#faf7f2; }
.diag-box { border:1px solid #d9c8b9; border-left:0; padding:38px 42px; background:linear-gradient(115deg,#fff,#f6eee5); }
.diag-box h2 { font-family:var(--serif); font-weight:500; }
.detail-page .instructor { gap:36px; padding-top:20px; }
.portrait { border-radius:48px 2px 48px 2px; }
.page-masthead { min-height:270px; padding:50px 0 55px; margin-bottom:58px; border-bottom:1px solid #c9b6a7; position:relative; }
.page-masthead::after { content:""; position:absolute; right:0; top:28px; bottom:28px; width:30%; background:url("/wp-content/themes/migaki-refresh-2026/assets/editorial-journal.jpg") center/cover; border-top-left-radius:80px; }
.page-masthead h1,.page-masthead .section-kicker { max-width:65%; position:relative; z-index:1; }
.section.subpage { padding-top:28px; }
.subpage .wrap.narrow { max-width:1120px; }
.subpage .prose { max-width:760px; }
.subpage .prose h2,.subpage .prose h3 { font-family:var(--serif); font-weight:500; }
.subpage .prose h3 { font-size:24px; margin-top:44px; }
.subpage .prose p { font-size:16px; line-height:2.05; }
.subpage .profile-intro { max-width:100%; padding:36px 42px; background:#f1ebe3; gap:48px; margin-bottom:56px; }
.subpage .profile-intro .portrait { width:190px; height:190px; }
.company-table { grid-template-columns:190px 1fr; max-width:900px; border-top:1px solid #b99981; }
.company-table dt { font-weight:500; background:#f1ebe3; padding:26px 24px; }
.company-table dd { padding:26px 32px; background:#fff; }
.story { padding-top:36px; }
.closing { margin:0 32px 48px; padding:66px 28px; text-align:left; background:#eae0d4; border-top-left-radius:65px; }
.closing .wrap { position:relative; }
.closing h2 { font-family:var(--serif); font-weight:500; font-size:clamp(25px,2.7vw,34px); max-width:850px; }
.closing p { max-width:800px; font-size:16px; }
.closing .hero-cta { margin-top:22px; }
footer { padding:65px 0 26px; border-top:1px solid #e5d8cc; }
footer .footer-grid { grid-template-columns:1.2fr 1fr; gap:80px; }
footer .brand-logo { width:220px; }
footer nav a { border-bottom:1px solid #eadfd4; padding:10px 0; justify-content:space-between; }
footer small { display:block; padding-top:22px; border-top:1px solid #eadfd4; color:var(--muted); }
.learning-page .landing-head { background:#f1ebe3; padding:80px 0; }
.learning-page .landing-head::after { width:32%; height:calc(100% - 70px); right:0; top:35px; border-radius:120px 0 0 0; background-image:url("/wp-content/themes/migaki-refresh-2026/assets/editorial-journal.jpg"); opacity:.23; box-shadow:none; }
.learning-page .landing-head h1 { font-family:var(--serif); font-size:clamp(29px,3.3vw,44px); font-weight:500; max-width:800px; }
.learning-page .landing-head p:not(.eyebrow) { font-size:17px; }
.learning-page .step-flow { max-width:850px; }
.learning-page .step-flow span { border-radius:0; border:0; background:#f1ebe3; width:44px; }
.learning-page .step-flow::before { border-color:#b99981; }
.learning-page .step-flow strong { font-weight:500; font-size:18px; }
.learning-page .seminar-card,.learning-page .material-card,.learning-page .feature-card { border-radius:0; box-shadow:none; border-top:1px solid #b99981; padding:32px; }
.learning-page .seminar-date { border-radius:0; background:#f1ebe3; }
.learning-page .seminar-text h3,.learning-page .material-card h3 { font-family:var(--serif); font-weight:500; font-size:24px; }
.learning-page .material-card:nth-child(2) { border-radius:0; transform:none; background:#fff; }
.learning-page .material-card::before { height:1px; }
.learning-page .materials { background:#f1ebe3; }
.learning-page .section-heading h2,.learning-page .ending h2 { font-family:var(--serif); font-weight:500; font-size:clamp(25px,2.6vw,34px); }
.learning-page .section-index { font-size:30px; font-style:italic; color:#9e482d; }
.learning-page .learning-section::before { display:none; }
.learning-page .ending { margin:0 32px 48px; padding:66px 28px; background:#eae0d4; text-align:left; border-top-left-radius:65px; }
.blog-main { padding:70px 0 100px; }
.blog-head { padding:30px 0 42px; border-bottom:1px solid #c9b6a7; margin-bottom:34px; }
.blog-head h1,.blog-head .wp-block-query-title { font-size:clamp(30px,3vw,42px); font-family:var(--serif); font-weight:500; }
.blog-cats { gap:10px 24px; }
.blog-cats li a { padding:9px 0; border:0; border-bottom:1px solid #c9b6a7; border-radius:0; background:transparent; min-height:44px; }
.blog-cats li a:hover,.blog-cats li.current-cat a { color:#9e482d; background:transparent; border-color:#9e482d; }
.blog-grid .wp-block-post-template { gap:40px 30px; }
.blog-card { background:transparent; border:0; border-bottom:1px solid #c9b6a7; }
.blog-card .wp-block-post-featured-image { aspect-ratio:1.5; }
.blog-card-body { padding:22px 0 28px; }
.blog-card .wp-block-post-title { font-family:var(--serif); font-weight:500; font-size:21px!important; line-height:1.75; }
.blog-card .wp-block-post-excerpt { font-size:15px; }
.article { max-width:800px; }
.article>.wp-block-post-title { font-family:var(--serif); font-size:clamp(27px,3vw,39px); font-weight:500; line-height:1.65; }
.article>.wp-block-post-date { padding-bottom:28px; border-bottom:1px solid #c9b6a7; }
.article .wp-block-post-content { font-size:17px; line-height:2.05; }
.article .wp-block-post-content h2 { font-weight:500; font-size:27px; border-bottom:1px solid #b99981; }
.article .wp-block-post-content h3 { font-family:var(--serif); font-weight:500; font-size:22px; }
.article .wp-block-post-content blockquote { padding:24px 30px; border-left:2px solid #b99981; }
.migaki-related-posts li { background:transparent; border-top:1px solid #b99981; padding:22px 0; }
.plain-page>.wp-block-post-title { padding-bottom:30px; border-bottom:1px solid #c9b6a7; font-size:clamp(28px,3vw,40px); }
@media(max-width:1100px) and (min-width:761px) {
 .hero--refined .hero-copy { width:78%; }
 .detail-hero::before { left:48%; opacity:.45; }
 .detail-hero::after { background:linear-gradient(90deg,#f1ebe3 20%,rgba(241,235,227,.93) 60%,rgba(241,235,227,.35)); }
}
@media(max-width:900px) {
 .learning-page .seminar-card { grid-template-columns:100px minmax(0,1fr); }
 .learning-page .seminar-card .button { grid-column:2; justify-self:start; }
 footer .footer-grid { gap:36px; }
}
@media(max-width:760px) {
 .hero.hero--refined { min-height:0; }
 .hero--refined .hero-inner { min-height:0; padding:34px 24px 30px; }
 .hero--refined .hero-copy { width:100%; padding:0; border-radius:0; }
 .hero--refined h1 { font-size:clamp(27px,6.2vw,34px); }
 .hero--refined .hero-sub { font-size:17px; }
 .hero--refined .hero-summary { margin-top:20px; padding-top:18px; }
 .hero--refined .hero-image { inset:auto; width:calc(100% - 24px); height:250px; border-top-left-radius:100px; }
 #activities .activity-grid { grid-template-columns:1fr; gap:40px; }
 #activities .activity-card { min-height:0; }
 .detail-hero { min-height:0; padding:50px 0 210px; }
 .detail-hero::before { inset:auto 0 0 24px; height:185px; border-top-left-radius:80px; }
 .detail-hero::after { background:linear-gradient(180deg,#f1ebe3 0%,#f1ebe3 calc(100% - 210px),transparent calc(100% - 175px)); }
 .detail-hero h1 { font-size:32px; }
 .detail-hero .detail-catch { font-size:21px; }
 .detail-page .section { padding:56px 0; }
 .detail-page .step-grid { grid-template-columns:1fr; gap:8px; }
 .detail-page .check-list { padding:6px 20px; }
 .diag-box { padding:28px 22px; }
 .page-masthead { min-height:0; padding:30px 0 34px; margin-bottom:36px; }
 .page-masthead::after { width:25%; top:20px; bottom:20px; border-top-left-radius:45px; opacity:.5; }
 .page-masthead h1 { font-size:29px; max-width:75%; }
 .subpage .profile-intro { display:flex; flex-direction:column; align-items:flex-start; gap:24px; padding:28px 24px; }
 .subpage .profile-intro .portrait { width:160px; height:160px; }
 .company-table { grid-template-columns:90px minmax(0,1fr); }
 .company-table dt { padding:20px 12px; font-size:14px; }
 .company-table dd { padding:20px 16px; font-size:14px; overflow-wrap:anywhere; }
 .closing,.learning-page .ending { margin:0 16px 30px; padding:44px 8px; border-top-left-radius:40px; }
 .closing .hero-cta { max-width:100%; min-width:0; font-size:14px; gap:14px; }
 footer { padding-top:44px; }
 footer .footer-grid { grid-template-columns:1fr; gap:36px; }
 .learning-page .landing-head { padding:50px 0; }
 .learning-page .landing-head::after { width:44%; opacity:.12; }
 .learning-page .landing-head h1 { font-size:29px; }
 .learning-page .seminar-card { grid-template-columns:1fr; padding:24px; }
 .learning-page .seminar-card .button { grid-column:1; justify-self:stretch; white-space:normal; }
 .learning-page .seminar-date { width:100px; height:90px; }
 .learning-page .material-card { padding:28px 24px; }
 .learning-page .step-flow span { background:#f1ebe3; }
 .blog-main { padding:42px 0 65px; }
 .blog-grid .wp-block-post-template { grid-template-columns:1fr; gap:30px; }
 .article .wp-block-post-content { font-size:16px; }
 .article .wp-block-post-content h2 { font-size:23px; }
 .article .wp-block-post-content h3 { font-size:20px; }
 .blog-cats { gap:8px 18px; }
}
@media(prefers-reduced-motion:reduce) { .hero-cta,.learning-page .button { transition:none; } }

/* 0.6.8: no protruding copy panel; a continuous paper surface meets the photograph. */
.hero--refined .hero-image { width:61%; border-top-left-radius:180px; }
.hero--refined .hero-copy { background:transparent; border-radius:0; }
.hero--refined .hero-shade { display:block; background:linear-gradient(90deg,#faf7f2 0%,#faf7f2 33%,rgba(250,247,242,.98) 40%,rgba(250,247,242,.9) 47%,rgba(250,247,242,.12) 62%,transparent 72%); }
@media(max-width:1100px) and (min-width:761px) {
 .hero--refined .hero-shade { background:linear-gradient(90deg,#faf7f2 0%,#faf7f2 30%,rgba(250,247,242,.97) 48%,rgba(250,247,242,.86) 62%,rgba(250,247,242,.12) 85%); }
}
@media(max-width:760px) {
 .hero--refined .hero-image { width:calc(100% - 24px); border-top-left-radius:100px; }
 .hero--refined .hero-shade { display:none; }
}

/* Design study: mature warmth with a little playful detail. */
.hero-cta,.learning-page .button { border-radius:7px 22px 7px 22px; padding:12px 14px 12px 25px; gap:24px; min-height:58px; box-shadow:0 4px 0 #d7bca9; font-weight:500; }
.hero-cta>span,.learning-page .button>span { display:inline-grid; place-items:center; flex:none; width:32px; height:32px; border:1px solid #e6c4b4; border-radius:50%; font-size:18px; }
.hero-cta:hover,.learning-page .button:hover { background:#84371f; }
.learning-page .outline-button { border-radius:7px 20px 7px 20px; padding:10px 13px 10px 22px; gap:30px; align-items:center; font-weight:500; }
.learning-page .outline-button>span { width:30px; height:30px; display:inline-grid; place-items:center; border-radius:50%; background:#f1e3d8; }
.learning-page .step-flow { gap:16px; margin-top:48px; }
.learning-page .step-flow::before { display:none; }
.learning-page .step-flow li { background:rgba(255,255,255,.72); border:1px solid #dfcbbc; padding:30px 24px 23px; border-radius:8px 28px 8px 28px; gap:6px; }
.learning-page .step-flow span { position:absolute; top:-23px; left:22px; width:45px; height:45px; display:grid; place-items:center; margin:0; border:1px solid #b97c5d; border-radius:50%; background:#faf7f2; box-shadow:0 0 0 5px #f1ebe3; font:italic 22px Georgia,serif; color:#9e482d; }
.learning-page .step-flow strong { font-size:19px; line-height:1.6; }
.learning-page .step-flow small { font-size:12px; color:#665044; }
.learning-page .jump-links { margin-top:30px; gap:24px; }
.learning-page .jump-links a { min-height:48px; gap:20px; padding:8px 0; align-items:center; font-weight:500; }
.learning-page .jump-links a>span { width:28px; height:28px; border-radius:50%; background:#9e482d; color:white; display:inline-grid; place-items:center; }
.learning-page .section-index { font:italic 35px Georgia,serif; width:62px; height:62px; display:grid; place-items:center; border:1px solid #bc886c; border-radius:50% 50% 6px 50%; background:#f7eee5; }
.learning-page .section-heading { align-items:start; }
.learning-page .seminar-card { border:1px solid #ddc7b6; border-radius:8px 30px 8px 30px; box-shadow:0 7px 0 #eee2d7; }
.learning-page .seminar-date { border-radius:50% 50% 8px 50%; border:1px solid #d7b49a; background:#f7e8db; }
.learning-page .material-card,.learning-page .material-card:nth-child(2) { border:1px solid #dec9b9; border-radius:8px 28px 8px 28px; }
.learning-page .material-card::before { width:44px; height:2px; background:#bb7956; }
#activities .activity-number { font:italic 23px Georgia,serif; }
#activities .activity-number::after { background:linear-gradient(90deg,#c19b81,transparent); }
#activities .activity-photo { border-radius:6px 28px 6px 28px; }
#activities .activity-card .text-link>span { width:30px; height:30px; border:1px solid #b8896c; border-radius:50%; display:inline-grid; place-items:center; }
.detail-page .step-grid>li { position:relative; border:1px solid #dec9b9; border-radius:8px 26px 8px 26px; padding:36px 24px 24px; margin-top:20px; }
.detail-page .step-grid .activity-number { position:absolute; top:-21px; left:22px; display:grid; place-items:center; width:42px; height:42px; border:1px solid #ba8163; border-radius:50%; background:#faf7f2; font:italic 21px Georgia,serif; }
@media(max-width:760px) {
 .hero-cta,.learning-page .button { min-height:56px; font-size:14px; gap:15px; }
 .learning-page .step-flow { grid-template-columns:1fr; gap:23px; }
 .learning-page .step-flow li { display:flex; flex-direction:column; min-height:0; padding:20px 22px 18px 70px; gap:3px; }
 .learning-page .step-flow span { top:19px; left:16px; width:38px; height:38px; font-size:20px; box-shadow:none; }
 .learning-page .step-flow strong,.learning-page .step-flow small { align-self:auto; margin:0; }
 .learning-page .step-flow small { padding:0; }
 .learning-page .section-index { width:48px; height:48px; font-size:28px; }
 .learning-page .section-heading { grid-template-columns:48px minmax(0,1fr); gap:16px; }
 .learning-page .section-heading h2 { font-size:25px; }
 .learning-page .seminar-date { width:90px; height:90px; }
 .learning-page .seminar-card { padding:24px; }
 .learning-page .jump-links { gap:8px; }
}
/* Keep the numbered steps inside the left copy column; show the photo at full strength. */
.learning-page .landing-head::after { opacity:1; }
@media(min-width:901px) {
 .learning-page .landing-head .wrap>h1,
 .learning-page .landing-head .wrap>p,
 .learning-page .landing-head .step-flow,
 .learning-page .landing-head .jump-links { max-width:calc(100% - 370px); }
 .learning-page .landing-head .step-flow { gap:14px; }
 .learning-page .landing-head .step-flow li { padding-left:20px; padding-right:16px; min-width:0; }
 .learning-page .landing-head .step-flow strong { font-size:18px; }
 .learning-page .landing-head .jump-links { gap:22px; }
 .learning-page .landing-head .jump-links a { min-width:0; flex:1; font-size:13px; }
}
@media(min-width:901px) and (max-width:1100px) {
 .learning-page .landing-head .step-flow { grid-template-columns:1fr; gap:10px; margin-top:28px; }
 .learning-page .landing-head .step-flow li { padding:14px 16px 14px 66px; gap:2px; }
 .learning-page .landing-head .step-flow span { width:36px; height:36px; left:16px; top:16px; box-shadow:none; font-size:19px; }
 .learning-page .landing-head .step-flow strong { font-size:17px; }
}
@media(max-width:900px) {
 .learning-page .landing-head { padding-bottom:0; }
 .learning-page .landing-head::after { position:relative; display:block; inset:auto; width:calc(100% - 48px); height:240px; margin:32px 24px 0; border-radius:75px 0 0 0; opacity:1; background-position:center 58%; }
}

/* Approved common action button: russet surface, soft corners, circled direction. */
a.migaki-button,.hero--refined a.migaki-button,.closing a.migaki-button,.diag-box a.migaki-button,.learning-page a.migaki-button,
.learning-page .landing-head .jump-links a.migaki-button,
.learning-page .ending a.migaki-button {
 display:inline-flex; align-items:center; justify-content:space-between; gap:24px;
 min-width:0; min-height:58px; max-width:100%; width:fit-content;
 padding:12px 14px 12px 25px; border:1px solid transparent;
 border-radius:7px 22px 7px 22px; background:#9e482d; color:#fff;
 box-shadow:0 4px 0 #d7bca9; text-decoration:none;
 font-size:15px; font-weight:500; line-height:1.6; white-space:normal;
 transition:background-color .2s;
}
a.migaki-button>span,.learning-page a.migaki-button>span,
.learning-page .landing-head .jump-links a.migaki-button>span {
 flex:none; display:inline-grid; place-items:center; width:32px; height:32px;
 border:1px solid #e6c4b4; border-radius:50%; background:transparent; color:#fff;
 font:400 18px/1 sans-serif;
}
a.migaki-button:hover,.learning-page a.migaki-button:hover,
.learning-page .landing-head .jump-links a.migaki-button:hover { background:#84371f; color:#fff; border-color:transparent; }
a.migaki-button:focus-visible { outline:3px solid #503729; outline-offset:6px; }
.learning-page .landing-head .jump-links a.migaki-button { flex:1; width:auto; }
.learning-page .outline-button.migaki-button { margin-top:auto; }
@media(max-width:760px) {
 a.migaki-button,.hero--refined a.migaki-button,.closing a.migaki-button,.diag-box a.migaki-button,.learning-page a.migaki-button,
 .learning-page .landing-head .jump-links a.migaki-button,
 .learning-page .ending a.migaki-button { min-height:56px; font-size:14px; gap:16px; padding-left:20px; }
 .learning-page .landing-head .jump-links { gap:14px; }
 .learning-page .landing-head .jump-links a.migaki-button { width:100%; flex:auto; }
}
@media(prefers-reduced-motion:reduce) { a.migaki-button { transition:none; } }


/* TOP diagnosis entrance: existing hero copy and photo remain intact. */
.hero-diagnosis-entry{margin-top:28px;max-width:100%}
.hero-diagnosis-entry .hero-diagnosis-button{margin-top:0;max-width:100%;gap:20px;box-sizing:border-box}
.hero-diagnosis-entry .hero-diagnosis-label{display:inline;flex:1;min-width:0;width:auto;height:auto;border:0;border-radius:0;font:inherit;white-space:normal;text-wrap:balance}
.hero-diagnosis-entry .hero-diagnosis-note{font-size:13px;line-height:1.8;margin:13px 0 6px;color:#665044;letter-spacing:0}
.hero-diagnosis-note>span{display:inline-block}
.hero-activities-link{display:inline-flex;align-items:center;gap:12px;min-height:44px;font-size:14px;line-height:1.7;color:#665044;text-underline-offset:5px;text-decoration:underline}
.hero-activities-link:hover{color:#9e482d}
@media(max-width:640px){.hero-diagnosis-entry{margin-top:24px}.hero-diagnosis-entry .hero-diagnosis-button{width:100%;padding:16px 18px;gap:12px;font-size:14px;line-height:1.7;min-height:62px}.hero-diagnosis-entry .hero-diagnosis-note{font-size:12px;line-height:1.9}.hero-activities-link{font-size:13px}}

/* Three activities: see all three choices, including links, in one desktop view. */
@media(min-width:901px){
 #activities.section{padding:36px 0 40px}
 #activities .section-kicker{margin:0 0 8px}
 #activities h2{margin:0 0 22px;font-size:32px;line-height:1.5}
 #activities .activity-grid{gap:28px;align-items:stretch}
 #activities .activity-card{min-height:0;padding-bottom:12px}
 #activities .activity-number{font-size:20px;margin-bottom:10px}
 #activities .activity-photo{height:clamp(100px,19vh,160px);aspect-ratio:auto;object-fit:cover;margin-bottom:16px;flex:none}
 #activities .activity-card h3{font-size:23px;line-height:1.5;margin-bottom:8px}
 #activities .activity-card h4{font-size:15px;line-height:1.7;margin:0 0 12px;min-height:51px}
 #activities .activity-card p{font-size:14px;line-height:1.85;margin:0 0 10px}
 #activities .activity-card .text-link{padding-top:8px;min-height:44px;box-sizing:border-box}
}
@media(max-width:900px){
 #activities .activity-photo{height:auto;aspect-ratio:1.8;object-fit:cover}
}

/* 0.6.13: new diagnosis first, previous diagnosis as a text link. */
.diag-box .diag-legacy{margin:18px 0 0;font-size:13px;line-height:1.8}
.diag-box .diag-legacy a{color:#665044;text-underline-offset:4px;text-decoration:underline;font-weight:400}
.diag-box .hero-cta{max-width:100%;box-sizing:border-box;white-space:normal;text-wrap:balance}
.detail-page--life .session-note{font-size:16px;font-weight:600;margin:16px 0}
@media(max-width:640px){.diag-box .hero-cta{font-size:14px;gap:12px;padding:16px 18px}.diag-box .diag-legacy{font-size:12px}.diag-box .caption{font-size:12px;line-height:1.9}}

.diag-box .diag-phrase{display:inline-block}
.diag-box .diag-name,.diag-box .caption{text-wrap:balance}

/* Published blog editorial 0.6.14 */
/* 0.6.10: an editorial reading entrance, with article-specific featured photos. */
.blog-main:has(.blog-index.blog-editorial) { padding:0 0 96px; }
.blog-index.blog-editorial { max-width:1120px; }
.blog-index.blog-editorial .blog-head { padding:76px 0 52px; margin:0 0 32px; position:relative; border-bottom:1px solid #c9b6a7; }
.blog-index.blog-editorial .blog-head::before { content:""; position:absolute; top:0; bottom:0; left:calc((1120px - 100vw)/2); right:calc((1120px - 100vw)/2); background:#f1ebe3; z-index:-1; }
.blog-index.blog-editorial .blog-head .section-kicker { margin:0 0 20px; }
.blog-index.blog-editorial .blog-head h1 { margin:0 0 24px; font:500 clamp(29px,3vw,42px)/1.65 var(--serif); letter-spacing:.015em; text-wrap:balance; }
.blog-intro { margin:0; max-width:700px; font-size:16px; line-height:1.9; color:#665044; }
.blog-index.blog-editorial .blog-cats { margin:0 0 42px; gap:12px; align-items:center; }
.blog-index.blog-editorial .blog-cats::before { content:"テーマから読む"; margin-right:10px; font-size:12px; color:#665044; }
.blog-index.blog-editorial .blog-cats li a { display:inline-flex; align-items:center; gap:22px; border:1px solid #d5bbA7; padding:10px 18px; border-radius:4px 18px 4px 18px; background:#fffaf5; }
.blog-index.blog-editorial .blog-cats li a::after { content:"→"; color:#9e482d; }
.blog-index.blog-editorial .blog-cats li a:hover { background:#f1e3d8; }
.blog-index.blog-editorial .blog-grid .wp-block-post-template { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:48px 32px; }
.blog-index.blog-editorial .blog-card { height:100%; background:#fffdf9; border:1px solid #e6d7ca; border-radius:6px 28px 6px 28px; overflow:hidden; padding:0; position:relative; }
.blog-index.blog-editorial .blog-card .wp-block-post-featured-image { aspect-ratio:1.6; margin:0; border-radius:0; background:#efe4d6; }
.blog-index.blog-editorial .blog-card .wp-block-post-featured-image a { display:block; height:100%; }
.blog-index.blog-editorial .blog-card .wp-block-post-featured-image img { width:100%; height:100%; object-fit:cover; }
.blog-index.blog-editorial .blog-card-body { padding:26px 30px 30px; display:flex; flex-direction:column; flex:1; }
.blog-index.blog-editorial .blog-card .wp-block-post-terms { font-size:11px; letter-spacing:.035em; margin-bottom:12px; }
.blog-index.blog-editorial .blog-card .wp-block-post-date { font-size:12px; margin-bottom:14px; }
.blog-index.blog-editorial .blog-card .wp-block-post-title { font:500 23px/1.7 var(--serif)!important; margin:0; text-wrap:balance; }
.blog-index.blog-editorial .blog-card .wp-block-read-more { order:2; align-self:flex-start; margin-top:24px; font-size:14px; min-height:52px; }
.blog-index.blog-editorial .blog-card .wp-block-read-more::after { content:"→"; display:grid; place-items:center; flex:none; width:30px; height:30px; border:1px solid #e6c4b4; border-radius:50%; font:400 17px/1 sans-serif; }
.blog-index.blog-editorial .blog-card .wp-block-post-excerpt { order:1; margin:18px 0 0; font-size:15px; line-height:1.9; }
.blog-index.blog-editorial .blog-grid .wp-block-post-template>li:first-child { grid-column:1/-1; }
.blog-index.blog-editorial .blog-grid .wp-block-post-template>li:first-child .blog-card { display:grid; grid-template-columns:1.18fr 1fr; border-radius:6px 36px 6px 36px; }
.blog-index.blog-editorial .blog-grid .wp-block-post-template>li:first-child .wp-block-post-featured-image { aspect-ratio:auto; height:100%; min-height:370px; }
.blog-index.blog-editorial .blog-grid .wp-block-post-template>li:first-child .blog-card-body { justify-content:center; padding:38px 42px; }
.blog-index.blog-editorial .blog-grid .wp-block-post-template>li:first-child .wp-block-post-title { font-size:29px!important; }
.blog-index.blog-editorial .wp-block-query-pagination { justify-content:center; align-items:center; padding:24px 0 0; }
.blog-index.blog-editorial .wp-block-query-pagination-numbers { display:flex; gap:9px; align-items:center; }
.blog-index.blog-editorial .page-numbers { min-width:42px; min-height:42px; display:inline-grid; place-items:center; border:1px solid #d3bba8; border-radius:50%; text-decoration:none; }
.blog-index.blog-editorial .page-numbers.current { background:#9e482d; color:#fff; border-color:#9e482d; }
.blog-index.blog-editorial .page-numbers.dots { border:0; }
@media(max-width:1168px) { .blog-index.blog-editorial .blog-head::before { left:-24px; right:-24px; } }
@media(max-width:900px) {
 .blog-index.blog-editorial .blog-head { padding:52px 0 38px; }
 .blog-index.blog-editorial .blog-head h1 { font-size:32px; }
 .blog-index.blog-editorial .blog-grid .wp-block-post-template>li:first-child .blog-card-body { padding:26px; }
 .blog-index.blog-editorial .blog-grid .wp-block-post-template>li:first-child .wp-block-post-title { font-size:24px!important; }
 .blog-index.blog-editorial .blog-grid .wp-block-post-template>li:first-child .wp-block-post-featured-image { min-height:330px; }
}
@media(max-width:640px) {
 .blog-main:has(.blog-index.blog-editorial) { padding-bottom:64px; }
 .blog-index.blog-editorial .blog-head { padding:38px 0 32px; margin-bottom:26px; }
 .blog-index.blog-editorial .blog-head::before { left:-20px; right:-20px; }
 .blog-index.blog-editorial .blog-head h1 { font-size:28px; margin-bottom:18px; }
 .blog-intro { font-size:15px; }
 .blog-index.blog-editorial .blog-cats { gap:10px; margin-bottom:30px; }
 .blog-index.blog-editorial .blog-cats::before { flex-basis:100%; }
 .blog-index.blog-editorial .blog-cats li a { padding:10px 14px; font-size:13px; gap:14px; }
 .blog-index.blog-editorial .blog-grid .wp-block-post-template { grid-template-columns:1fr; gap:28px; }
 .blog-index.blog-editorial .blog-grid .wp-block-post-template>li:first-child .blog-card { display:flex; }
 .blog-index.blog-editorial .blog-grid .wp-block-post-template>li:first-child .wp-block-post-featured-image { aspect-ratio:1.6; height:auto; min-height:0; }
 .blog-index.blog-editorial .blog-card-body,.blog-index.blog-editorial .blog-grid .wp-block-post-template>li:first-child .blog-card-body { padding:22px 22px 25px; }
 .blog-index.blog-editorial .blog-card .wp-block-post-title,.blog-index.blog-editorial .blog-grid .wp-block-post-template>li:first-child .wp-block-post-title { font-size:22px!important; }
 .blog-index.blog-editorial .wp-block-query-pagination { flex-wrap:wrap; gap:15px; }
 .blog-index.blog-editorial .page-numbers { min-width:36px; min-height:40px; }
}

/* Blog entrance study: quiet copy on the left, a clear editorial photo on the right. */
.blog-index.blog-editorial .blog-head.blog-head--photo{display:grid;grid-template-columns:1fr 1.06fr;gap:60px;align-items:center;padding:44px 0 38px;margin-bottom:30px}
.blog-head--photo .blog-heading-copy{min-width:0}
.blog-index.blog-editorial .blog-head--photo .section-kicker{margin-bottom:16px}
.blog-index.blog-editorial .blog-head--photo h1{font-size:36px;line-height:1.6;margin:0 0 18px;letter-spacing:.025em}
.blog-head--photo h1 span{display:block}
.blog-head--photo .blog-intro{font-size:14px;line-height:1.95;max-width:430px}
.blog-heading-photo{margin:0;position:relative}
.blog-heading-photo img{display:block;width:100%;height:275px;object-fit:cover;object-position:50% 62%;border-radius:6px 62px 6px 32px}
.blog-heading-photo::after{content:"";display:block;width:92px;height:3px;background:#b66d4b;position:absolute;bottom:-13px;left:24px}
@media(max-width:900px){.blog-index.blog-editorial .blog-head.blog-head--photo{gap:28px}.blog-index.blog-editorial .blog-head--photo h1{font-size:29px}.blog-heading-photo img{height:250px}}
@media(max-width:640px){
 .blog-index.blog-editorial .blog-head.blog-head--photo{grid-template-columns:1fr;gap:23px;padding:30px 0 32px;margin-bottom:26px}
 .blog-index.blog-editorial .blog-head--photo .section-kicker{margin-bottom:11px}
 .blog-index.blog-editorial .blog-head--photo h1{font-size:27px;line-height:1.6;margin-bottom:14px}
 .blog-head--photo .blog-intro{font-size:14px;line-height:1.9}
 .blog-heading-photo img{height:172px;border-radius:5px 42px 5px 24px}
 .blog-heading-photo::after{width:64px;left:18px;bottom:-10px;height:2px}
}
