/* ============================================================
   editorial.css — 誌面風デザインレイヤー
   premium.css・ページ内<style>の後に読み込み、body.editorial で発動。
   思想：紙面。罫線と文字組で見せる。動かない。飾らない。
   ============================================================ */

body.editorial{background:#f7f5ef}

/* アニメーション全廃（誌面は動かない） */
body.editorial .reveal{opacity:1 !important;transform:none !important;transition:none !important}

/* 透かし文字は使わない */
body.editorial .kanji{display:none !important}

/* ---------- マストヘッド（旧 page-hero） ---------- */
body.editorial .page-hero{padding:128px 0 0;background:#f7f5ef;overflow:visible}
body.editorial .page-hero .breadcrumb{
  font-family:var(--sans);font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--ink-dim);border-bottom:1px solid var(--line-2);padding-bottom:10px}
body.editorial .page-hero .overline{color:var(--ink);font-size:11px;letter-spacing:.3em;margin-top:30px}
body.editorial .page-hero .overline::before{background:var(--ink);opacity:1}
body.editorial .page-hero h1{
  font-family:var(--serif);font-weight:800;
  font-size:clamp(40px,6.4vw,76px);letter-spacing:.015em;line-height:1.08;margin-top:14px}
body.editorial .page-hero .lead{
  max-width:620px;font-size:13.5px;line-height:2.05;color:var(--ink-dim);margin-top:20px}
/* 見出し下の二重罫 */
body.editorial .page-hero .wrap::after{
  content:"";display:block;margin-top:36px;height:5px;
  border-top:2px solid var(--ink);border-bottom:1px solid var(--ink)}
/* 縦書きの箴言 */
body.editorial .tategaki{
  position:absolute;top:148px;right:max(18px,calc((100vw - var(--maxw))/2 - 34px));
  writing-mode:vertical-rl;font-family:var(--serif);font-weight:500;
  font-size:13px;letter-spacing:.42em;color:var(--ink-dim);opacity:.6;
  pointer-events:none;user-select:none}

/* 検索フォーム（マストヘッド内） */
body.editorial .hero-search-form,
body.editorial .search-hero-form{max-width:640px;margin-top:26px;gap:0}
body.editorial .hero-search-form input[type=search],
body.editorial .search-hero-form input[type=search]{
  height:52px;border:1px solid var(--ink);border-right:0;background:#fff;
  font-size:15px;border-radius:0}
body.editorial .hero-search-form input[type=search]:focus,
body.editorial .search-hero-form input[type=search]:focus{outline:none;border-color:var(--ink)}
body.editorial .hero-search-form button,
body.editorial .search-hero-form button{
  height:52px;padding:0 28px;background:var(--ink);border:1px solid var(--ink);
  color:#fff;font-size:14px;letter-spacing:.14em;border-radius:0}
body.editorial .hero-search-form button:hover,
body.editorial .search-hero-form button:hover{background:var(--gold-2);border-color:var(--gold-2)}

body.editorial footer.site .foot-col .hero-search-form{margin:8px 0 0;max-width:100%;gap:10px}
body.editorial footer.site .foot-col .hero-search-form input[type=search]{
  height:38px;border:1px solid rgba(15,23,42,.16);font-size:var(--footer-text-size,13px)}
body.editorial footer.site .foot-col .hero-search-form button{
  height:38px;padding:0 16px;font-size:var(--footer-text-size,13px);letter-spacing:.02em}

/* ---------- 見出し（章扉） ---------- */
body.editorial .directory-lead .overline,
body.editorial .section-titleline .overline{color:var(--ink);letter-spacing:.26em}
body.editorial .directory-lead h2,
body.editorial .section-titleline h2{
  font-family:var(--serif);font-weight:700;font-size:26px;letter-spacing:.03em;
  display:flex;align-items:center;gap:12px}
body.editorial .directory-lead h2::before,
body.editorial .section-titleline h2::before{
  content:"";width:11px;height:11px;background:var(--ink);flex:0 0 auto}
body.editorial .directory-lead{border-bottom:0;padding-bottom:0;margin-bottom:20px}
body.editorial .directory-lead p{font-size:13px;line-height:1.95;color:var(--muted)}
body.editorial .total-meter strong{
  font-family:var(--serif-en);font-weight:600;font-size:48px;letter-spacing:.01em}
body.editorial .total-meter span{font-size:12px;letter-spacing:.08em}
body.editorial .column-directory{background:none;padding:48px 0 92px}
body.editorial .directory-section{margin-top:64px}
body.editorial .section-link{
  font-size:12px;letter-spacing:.08em;color:var(--ink-dim);
  text-decoration:underline;text-underline-offset:4px}

/* ---------- 目的別索引（旧 topic-card） ---------- */
body.editorial .topic-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:0 60px;
  border-top:2px solid var(--ink);position:relative}
body.editorial .topic-grid::before{
  content:"";position:absolute;top:0;bottom:0;left:50%;width:1px;background:var(--line)}
body.editorial .topic-card{
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 16px;align-items:baseline;
  background:none;border:0;border-bottom:1px solid var(--line-2);border-radius:0;
  box-shadow:none;padding:16px 4px 14px;transition:background .15s ease;transform:none}
body.editorial .topic-card:hover{background:rgba(23,19,15,.04);transform:none;box-shadow:none}
body.editorial .topic-card strong{
  grid-column:1;grid-row:1;font-family:var(--serif);font-weight:700;
  font-size:18px;letter-spacing:.02em;color:var(--ink)}
body.editorial .topic-card .topic-count{
  grid-column:2;grid-row:1;font-family:var(--serif-en);font-size:14px;
  color:var(--ink-dim);background:none;border:0;padding:0;letter-spacing:.02em}
body.editorial .topic-card > span:not(.topic-count){
  grid-column:1 / -1;grid-row:2;font-size:12.5px;line-height:1.85;color:var(--muted)}

/* ---------- 記事一覧（旧 article-row） ---------- */
body.editorial .article-list{border-top:2px solid var(--ink)}
body.editorial .article-row{
  display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:20px;align-items:start;
  background:none;border:0;border-bottom:1px solid var(--line-2);border-radius:0;
  box-shadow:none;padding:18px 4px;transition:background .15s ease;transform:none}
body.editorial .article-row:hover{background:rgba(23,19,15,.04);transform:none;box-shadow:none}
body.editorial .row-vol{
  font-family:var(--serif-en);font-size:13px;letter-spacing:.04em;
  color:var(--ink-dim);padding-top:3px;background:none;border:0}
body.editorial .article-row .row-main strong,
body.editorial .search-row .row-main strong{
  font-family:var(--serif);font-weight:700;font-size:17px;line-height:1.55;color:var(--ink)}
body.editorial .article-row:hover .row-main strong,
body.editorial .search-row:hover .row-main strong{color:var(--gold-2)}
body.editorial .article-row .row-main p,
body.editorial .search-row .row-main p{
  font-size:12.5px;line-height:1.85;color:var(--muted);margin-top:5px}
body.editorial .article-row .row-category,
body.editorial .search-row .row-category{
  font-size:11px;letter-spacing:.05em;color:var(--ink-dim);
  border:1px solid var(--line-2);background:none;padding:4px 10px;
  white-space:nowrap;max-width:none;text-align:center}

/* ---------- 検索ページ ---------- */
body.editorial .search-section{padding:0 0 92px}
body.editorial .search-filters{
  gap:0;margin:40px 0 0;border-bottom:1px solid var(--line-2);flex-wrap:wrap}
body.editorial .search-filters button{
  border:0;background:none;min-height:46px;padding:0 16px;
  font-size:13.5px;letter-spacing:.04em;color:var(--muted)}
body.editorial .search-filters button:hover{color:var(--ink);border:0}
body.editorial .search-filters button.on{
  color:var(--ink);font-weight:700;background:none;border:0;
  box-shadow:inset 0 -2px 0 var(--ink)}
body.editorial .search-meta{
  border-top:0;padding-top:16px;font-size:12.5px;letter-spacing:.03em;color:var(--ink-dim)}
body.editorial .search-results{border-top:2px solid var(--ink)}
body.editorial .search-row{padding:18px 4px;border-bottom:1px solid var(--line-2);transition:background .15s ease}
body.editorial .search-row:hover{background:rgba(23,19,15,.04)}
body.editorial .search-empty,
body.editorial .search-hint{border-top:0;text-align:left;font-size:13px;line-height:2}

/* ---------- CTA帯・ボタン ---------- */
body.editorial .cta-band{
  background:#f1efe6;border-top:2px solid var(--ink);border-bottom:1px solid var(--ink)}
body.editorial .btn{border-radius:0}

/* ---------- レスポンシブ ---------- */
@media(max-width:960px){
  body.editorial .topic-grid{grid-template-columns:1fr;gap:0}
  body.editorial .topic-grid::before{display:none}
}
@media(max-width:760px){
  body.editorial .page-hero{padding:108px 0 0}
  body.editorial .tategaki{display:none}
  body.editorial .page-hero h1{font-size:clamp(34px,9vw,48px)}
  body.editorial .article-row{grid-template-columns:1fr;gap:6px}
  body.editorial .row-vol{padding-top:0}
  body.editorial .article-row .row-category,
  body.editorial .search-row .row-category{justify-self:start}
  body.editorial[class*="series-"] .page-hero::after{height:min(26vh,240px)}
  body.editorial .ed-photo img{height:min(34vh,300px)}
}

/* ============================================================
   全体展開 追補：記事本文（prose）・要点box・LP/トップの角丸抹消
   ============================================================ */

/* 記事ページのマストヘッドは見出しを一回り小さく（長文タイトル対応） */
body.editorial:has(.prose) .page-hero h1{
  font-size:clamp(28px,3.8vw,46px);line-height:1.35;letter-spacing:.02em}
body.editorial:has(.prose) .page-hero{padding-bottom:0}

/* 記事本文の組版 */
body.editorial .prose{max-width:760px}
body.editorial .prose p{font-family:var(--serif-body);font-size:15.5px;line-height:2.15;letter-spacing:.015em}
body.editorial .prose h2{
  font-size:21px;font-weight:700;margin:54px 0 16px;padding-top:22px;
  border-top:1px solid var(--line-2);display:flex;align-items:center;gap:10px}
body.editorial .prose h2::before{content:"";width:9px;height:9px;background:var(--ink);flex:0 0 auto}
body.editorial .prose h3{font-family:var(--serif);font-weight:700;font-size:17px;
  margin:34px 0 10px;padding-left:12px;border-left:2px solid var(--ink)}

/* 要点box：角丸カード → 罫囲みの紙面コラム */
body.editorial .prose .box{
  border:1px solid var(--ink);border-radius:0;background:none;padding:24px 28px;position:relative}
body.editorial .prose .box::before{
  content:"";position:absolute;inset:3px;border:1px solid var(--line);pointer-events:none}
body.editorial .prose .box .k{color:var(--ink);letter-spacing:.24em}

/* 代表プロフィール：来歴は読ませる情報なので、濃い背景を使わない */
body.editorial .profile .bio{
  margin-top:38px;
  padding:24px 28px;
  background:#fffdf8;
  border:1px solid var(--line-2);
  border-left:3px solid var(--ink);
}
body.editorial .profile .bio .k{
  color:var(--ink);
  font-weight:700;
  letter-spacing:.22em;
}
body.editorial .profile .bio p{
  color:var(--ink-dim);
  font-size:14px;
  line-height:2;
}

/* 記事下のコラム内検索帯 */
body.editorial .article-search-box{
  border-top:2px solid var(--ink);border-bottom:1px solid var(--ink)}
body.editorial .article-search-label{color:var(--ink)}

/* トップ・LPの共通調整：角丸と動きを抑える（構成は現状維持） */
body.editorial .pcard,body.editorial .ai-card,body.editorial .re-item,
body.editorial .stat,body.editorial .step,body.editorial .panel,
body.editorial .topic-card,body.editorial .chips span,body.editorial .faq details{border-radius:0}

/* ============================================================
   写真帯：マストヘッド直下（コラム各シリーズ）
   ============================================================ */
body.editorial[class*="series-"] .page-hero::after{
  content:"";display:block;height:min(38vh,420px);margin-top:0;
  background:var(--hero-photo) center/cover no-repeat;
  border-bottom:1px solid var(--ink)}
body.series-room-search{--hero-photo:url(/assets/photos/yoyogi-day.webp)}
body.series-baibai{--hero-photo:url(/assets/photos/tokyo-aerial-dusk.webp)}
body.series-buy{--hero-photo:url(/assets/photos/shinjuku-day.webp)}
body.series-sell{--hero-photo:url(/assets/photos/tokyo-aerial-night.webp)}
body.series-kanri{--hero-photo:url(/assets/photos/shinjuku-night-bldg.webp)}
body.series-foreign{--hero-photo:url(/assets/photos/kabukicho-neon-night.webp)}
body.series-hub{--hero-photo:url(/assets/photos/asakusa-night.webp)}
body.series-en-rental{--hero-photo:url(/assets/photos/tokyo-aerial-blue.webp)}
body.series-area-index{--hero-photo:url(/assets/photos/asakusa-night.webp)}
body.series-area-shinjuku{--hero-photo:url(/assets/photos/shinjuku-day.webp)}
body.series-area-shibuya{--hero-photo:url(/assets/photos/shinjuku-night-street.webp)}
body.series-area-minato{--hero-photo:url(/assets/photos/tokyo-tower-dusk.webp)}
body.series-area-chuo{--hero-photo:url(/assets/photos/tokyo-aerial-night.webp)}
body.series-area-koto{--hero-photo:url(/assets/photos/tokyo-aerial-dusk.webp)}
body.series-area-meguro{--hero-photo:url(/assets/photos/yoyogi-day.webp)}
body.series-area-shinagawa{--hero-photo:url(/assets/photos/shinjuku-night-bldg.webp)}

/* ============================================================
   写真figure：トップページ（ヒーロー直下）
   ============================================================ */
body.editorial .ed-photo{margin:0}
body.editorial .ed-photo img{
  display:block;width:100%;height:min(52vh,560px);object-fit:cover;
  border-top:2px solid var(--ink);border-bottom:1px solid var(--ink)}
body.editorial .ed-photo figcaption{
  font-family:var(--sans);font-size:3.5px;letter-spacing:.14em;text-transform:uppercase;
  color:color-mix(in srgb,var(--ink-dim) 42%,transparent);padding:8px 20px;border-bottom:1px solid var(--line-2)}
