@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Description: The Sumo — 墨・朱・金の和×迫力デザイン
    Version: 1.0.0
    Author: LOOS WEB STUDIO
*/

/* ============================================================
   The Sumo — Design System (Ink / Vermilion / Gold)
   ============================================================ */
:root{
  --sumo-ink:#0e0d0c;        /* 墨 */
  --sumo-ink2:#191714;       /* 墨（面） */
  --sumo-ink3:#241f1b;       /* 墨（淡） */
  --sumo-paper:#ece6da;      /* 生成り */
  --sumo-dim:#b3aa9c;        /* くすみ文字 */
  --sumo-vermilion:#c8102e;  /* 朱 */
  --sumo-vermilion-d:#9c0c23;
  --sumo-gold:#c9a227;       /* 金 */
  --sumo-line:rgba(201,162,39,.22);
}

/* ===== ベース ===== */
body{
  background:var(--sumo-ink)!important;
  color:var(--sumo-paper)!important;
  font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif!important;
  -webkit-font-smoothing:antialiased;
}
.l-container,.l-mainArea,.l-content,#content,.l-sidebar,.l-articleBody,.l-archive,.p-archive{ background:transparent!important; }

/* ===== 見出し：セリフで格式 ===== */
h1,h2,h3,h4,.c-postTitle__ttl,.p-archiveHeader__ttl,.c-widget__title,.p-postList__title{
  font-family:'Playfair Display',serif!important;
  color:var(--sumo-paper)!important;
  font-weight:700;
  letter-spacing:.004em;
  line-height:1.3;
}
.post_content h2{
  border:none!important;
  border-left:4px solid var(--sumo-vermilion)!important;
  background:transparent!important;
  padding:.15em 0 .15em .7em!important;
  margin:2em 0 .9em!important;
  font-size:1.65em;
}
.post_content h3{
  border:none!important;
  border-bottom:1px solid var(--sumo-line)!important;
  padding-bottom:.3em!important;
  color:var(--sumo-gold)!important;
  font-size:1.3em;
}

/* ===== リンク・アクセント ===== */
a{ color:var(--sumo-gold); transition:color .2s; }
a:hover{ color:var(--sumo-vermilion); }

/* ===== ヘッダー：墨＋朱の一本線 ===== */
.l-header,.l-header__inner,.c-gnav,.l-header.-onepage{
  background:var(--sumo-ink2)!important;
  border-bottom:2px solid var(--sumo-vermilion)!important;
  box-shadow:none!important;
}
.c-siteTitle a,.l-header__title a,.p-siteLogo a{
  font-family:'Playfair Display',serif!important;
  font-weight:900!important;
  letter-spacing:.2em!important;
  text-transform:uppercase;
  color:var(--sumo-paper)!important;
}
.c-gnav__item>a,.l-header a,.c-headNav a{ color:var(--sumo-paper)!important; }
.c-gnav__item>a:hover{ color:var(--sumo-gold)!important; }

/* ===== 記事カード ===== */
.p-postList__item,.c-postList__item,.p-blogCard,.swell-block-postLink,article.p-archiveList__item,.c-card{
  background:var(--sumo-ink2)!important;
  border:1px solid var(--sumo-line)!important;
  border-radius:2px!important;
  box-shadow:none!important;
}
.p-postList__title,.c-postList__title,.swell-block-postLink__title{ color:var(--sumo-paper)!important; }

/* ===== ボタン ===== */
.c-btn,.wp-block-button__link,.swell-block-button a,.p-postList__readmore{
  background:var(--sumo-vermilion)!important;
  color:#fff!important;
  border:none!important;
  border-radius:2px!important;
  letter-spacing:.05em;
  font-family:'Inter',sans-serif!important;
}
.c-btn:hover,.wp-block-button__link:hover{ background:var(--sumo-vermilion-d)!important; }

/* ===== フッター ===== */
.l-footer,.p-footerCopyright,.l-footer__inner{
  background:#080706!important;
  color:var(--sumo-dim)!important;
  border-top:1px solid var(--sumo-gold)!important;
}
.l-footer a{ color:var(--sumo-dim)!important; }
.l-footer a:hover{ color:var(--sumo-gold)!important; }

/* ===== サイドバー ===== */
.c-widget__title{
  border:none!important;
  border-left:3px solid var(--sumo-gold)!important;
  padding-left:.6em!important;
  color:var(--sumo-paper)!important;
  background:transparent!important;
}

/* ===== 本文・細部 ===== */
.post_content{ color:var(--sumo-paper)!important; line-height:1.95; font-size:1.02em; }
.post_content a{ color:var(--sumo-gold)!important; text-decoration:underline; text-underline-offset:3px; }
.post_content strong{ color:#fff; }
blockquote{ border-left:3px solid var(--sumo-vermilion)!important; background:var(--sumo-ink2)!important; color:var(--sumo-dim)!important; }
hr,.wp-block-separator{ border:none!important; border-top:1px solid var(--sumo-line)!important; }
.post_content table th{ background:var(--sumo-ink3)!important; color:var(--sumo-gold)!important; }
.post_content table td,.post_content table th{ border-color:var(--sumo-line)!important; }

/* ===== AIOブロック（answer-block / key-takeaways）ダーク版 ===== */
.answer-block{ background:var(--sumo-ink2)!important; border:1px solid var(--sumo-line)!important; border-left:4px solid var(--sumo-vermilion)!important; color:var(--sumo-paper)!important; border-radius:2px; }
.key-takeaways{ background:var(--sumo-ink3)!important; color:var(--sumo-paper)!important; border-radius:2px; }
.key-takeaways strong{ color:var(--sumo-gold); }

/* ===== パンくず ===== */
.c-breadcrumb,.c-breadcrumb a{ color:var(--sumo-dim)!important; }

/* ===== 選択範囲 ===== */
::selection{ background:var(--sumo-vermilion); color:#fff; }

/* ============================================================
   トップページ ヒーロー & セクション
   ============================================================ */
.sumo-hero{
  position:relative; padding:6rem 1.5rem 5.5rem; text-align:center;
  background:radial-gradient(ellipse at 50% 28%, #241f1b 0%, var(--sumo-ink) 72%);
  border-bottom:2px solid var(--sumo-vermilion);
}
.sumo-hero__jp{ color:var(--sumo-vermilion); font-size:1.35rem; letter-spacing:.55em; margin:0 0 .7rem; padding-left:.55em; font-weight:500; }
.sumo-hero__title{
  font-family:'Playfair Display',serif!important; font-weight:900;
  font-size:clamp(3rem,9vw,6rem); letter-spacing:.18em; margin:0; color:var(--sumo-paper);
  text-shadow:0 2px 30px rgba(0,0,0,.5);
}
.sumo-hero__rule{ width:60px; height:2px; background:var(--sumo-gold)!important; margin:1.6rem auto!important; border:none!important; }
.sumo-hero__tagline{ max-width:640px; margin:0 auto 2rem; color:var(--sumo-dim); font-size:1.05rem; line-height:1.85; }
.sumo-hero__cta a{ display:inline-block; margin:.4rem; padding:.85em 1.9em; font-family:'Inter',sans-serif!important; letter-spacing:.05em; border-radius:2px; text-decoration:none!important; transition:opacity .2s; }
.sumo-hero__cta a.is-primary{ background:var(--sumo-vermilion); color:#fff!important; }
.sumo-hero__cta a.is-ghost{ border:1px solid var(--sumo-gold); color:var(--sumo-gold)!important; }
.sumo-hero__cta a:hover{ opacity:.82; }

.sumo-sec__head{ text-align:center; margin:3.8rem 0 1.8rem; }
.sumo-sec__jp{ color:var(--sumo-gold); letter-spacing:.42em; font-size:.82rem; display:block; margin-bottom:.45rem; padding-left:.42em; }
.sumo-sec__title{ font-family:'Playfair Display',serif!important; font-size:2rem; color:var(--sumo-paper); margin:0; }

.sumo-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:1rem; margin:1.5rem auto; max-width:1080px; }
.sumo-card{ display:block; padding:1.5em 1.4em; background:var(--sumo-ink2); border:1px solid var(--sumo-line); border-left:3px solid var(--sumo-vermilion); border-radius:2px; text-decoration:none!important; transition:transform .2s,border-color .2s; }
.sumo-card:hover{ transform:translateY(-3px); border-left-color:var(--sumo-gold); }
.sumo-card__name{ font-family:'Playfair Display',serif!important; font-size:1.3rem; color:var(--sumo-paper)!important; display:block; margin-bottom:.35em; }
.sumo-card__desc{ color:var(--sumo-dim)!important; font-size:.9rem; line-height:1.6; }

/* ===== 写真主役・ダイナミック刷新 ===== */
.sumo-hero{
  background-size:cover!important; background-position:center 28%!important; background-repeat:no-repeat;
  min-height:80vh!important; display:flex; align-items:center; justify-content:center;
  padding:2rem 1.5rem!important; border-bottom:3px solid var(--sumo-vermilion)!important;
}
.sumo-hero::before{ content:''; position:absolute; inset:0; background:linear-gradient(180deg, rgba(14,13,12,.45) 0%, rgba(14,13,12,.72) 55%, rgba(14,13,12,.9) 100%); z-index:0; }
.sumo-hero__inner{ position:relative; z-index:2; max-width:780px; animation:sumoFade 1.3s cubic-bezier(.2,.7,.2,1) both; }
.sumo-hero__title{ font-size:clamp(3.2rem,11vw,7rem)!important; text-shadow:0 4px 40px rgba(0,0,0,.7)!important; }
.sumo-hero__jp{ text-shadow:0 2px 16px rgba(0,0,0,.6); }
.sumo-hero__tagline{ color:#d8d2c6!important; text-shadow:0 1px 10px rgba(0,0,0,.7); }
@keyframes sumoFade{ from{opacity:0; transform:translateY(26px);} to{opacity:1; transform:none;} }

/* 写真カード */
.sumo-card{ padding:0!important; overflow:hidden; }
.sumo-card__img{ display:block; height:200px; background-size:cover; background-position:center 22%; transition:transform .5s ease; }
.sumo-card:hover .sumo-card__img{ transform:scale(1.07); }
.sumo-card__body{ display:block; padding:1.3em 1.4em; }
.sumo-card--text{ border-left-width:3px; }
.sumo-card--text .sumo-card__body{ padding:1.5em 1.4em; }

/* スクロールでふわっと（記事本文の力士写真） */
.post_content .wp-block-image img{ border:1px solid var(--sumo-line); border-radius:2px; }
.post_content figure.alignleft{ margin-right:1.5em; }

/* 記事冒頭の大型リード写真 */
.sumo-lead-photo{ margin:0 0 2em!important; }
.sumo-lead-photo img{ width:100%; height:auto; max-height:520px; object-fit:cover; object-position:center 25%; border-radius:2px; border:1px solid var(--sumo-line); display:block; }
.sumo-lead-photo figcaption{ color:var(--sumo-dim); font-size:.78rem; margin-top:.5em; text-align:right; font-style:italic; }
