﻿/* ==========================================================================
   LIGHT THEME  /  和紙白 × 墨 × 朱
   日本の投資教育LPの作法：余白・細線・明朝・克制された色
   ========================================================================== */

body.theme-washi{
  --bg:        #FAF9F6;
  --bg-2:      #F3F1EB;
  --bg-3:      #EDEAE2;
  --white:     #1A1A1A;   /* 反転：本文色として使う */
  --muted:     rgba(26,26,26,.62);
  --muted-2:   rgba(26,26,26,.38);
  --line:      rgba(26,26,26,.10);
  --line-2:    rgba(26,26,26,.20);
  --gold:      #B23A2E;   /* 朱 */
  --gold-lt:   #C9503F;
  --green:     #06C755;
  --red:       #B23A2E;
  --blue:      #1F3A5F;

  --serif: "Noto Serif JP","Shippori Mincho","Hiragino Mincho ProN","Yu Mincho","Songti SC",serif;

  background:var(--bg);
  color:var(--white);
}

/* ---------- 見出しは明朝で ---------- */
.theme-washi h1,
.theme-washi h2,
.theme-washi h3,
.theme-washi h4,
.theme-washi .honest__title,
.theme-washi .prob__n,
.theme-washi .tst__q{
  font-family:var(--serif);
  font-weight:600;
  letter-spacing:.02em;
}

/* ---------- 余白を広く ---------- */
.theme-washi .sec{ padding:clamp(96px,11vw,180px) 0; }
.theme-washi .sec--tight{ padding:clamp(64px,7vw,104px) 0; }

/* ---------- セクション背景は白と薄い紙色の交互 ---------- */
.theme-washi .sec--alt,
.theme-washi .sec--dark2{ background:var(--bg-2); }
.theme-washi .cta{ background:var(--bg-2); }

/* ---------- ナビ ---------- */
.theme-washi .nav--solid{
  background:rgba(250,249,246,.92);
  box-shadow:0 1px 0 rgba(26,26,26,.08);
}
.theme-washi .brand{ color:var(--white); }
.theme-washi .nav__links a{ color:rgba(26,26,26,.62); }
.theme-washi .nav__links a:hover{ color:var(--white); }
.theme-washi .nav__burger span{ background:var(--white); }

/* ---------- HERO ---------- */
.theme-washi .hero{
  background:var(--bg);
  padding:132px 0 0;
}
.theme-washi .hero__glow{
  background:
    radial-gradient(900px 620px at 82% 8%, rgba(178,58,46,.07), transparent 62%),
    radial-gradient(700px 500px at 6% 96%, rgba(31,58,95,.05), transparent 68%);
}
.theme-washi .hero__grid{
  opacity:.5;
  background-image:
    linear-gradient(to right, rgba(26,26,26,.045) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(26,26,26,.045) 1px, transparent 1px);
  mask-image:radial-gradient(ellipse 78% 62% at 40% 38%, #000 20%, transparent 100%);
}
.theme-washi .tagline{
  border:0; background:none; padding:0;
  color:var(--gold);
  font-size:11.5px; letter-spacing:.24em;
  font-weight:700;
}
.theme-washi .tagline i{ background:var(--gold); }
.theme-washi .hero h1{
  font-size:clamp(30px,4.6vw,62px);
  line-height:1.42;
  letter-spacing:.005em;
  color:var(--white);
}
.theme-washi .hero h1 .u::after{
  height:1px; bottom:-2px;
  background:var(--gold); opacity:.9;
}
.theme-washi .hero p.lead{ color:var(--muted); line-height:2.1; }
.theme-washi .gold{ color:var(--gold); }

/* ヒーロー写真：アーチ型に抜く */
.theme-washi .hero__figure{
  align-items:flex-end;
  padding:0 6px;
}
.theme-washi .hero__figure img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 16%;
  border-radius:250px 250px 2px 2px;
  filter:saturate(.95) contrast(1.02);
  box-shadow:0 36px 80px rgba(26,26,26,.10);
}
.theme-washi .hero__figure img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 18%;
  border-radius:260px 260px 3px 3px;
  filter:saturate(.95) contrast(1.02);
  box-shadow:0 40px 90px rgba(26,26,26,.10);
}
.theme-washi .profile__box img{
  object-fit:cover;
}
.theme-washi .figure__badge{
  background:rgba(250,249,246,.94);
  border:1px solid var(--line-2);
  color:var(--muted);
  backdrop-filter:blur(6px);
}
.theme-washi .figure__badge b{ color:var(--gold); }

/* 数字帯：枠をやめて、細い罫線だけ */
.theme-washi .stats{
  border-top:1px solid var(--line-2);
  margin-top:clamp(56px,6vw,88px);
}
.theme-washi .stats > div{ padding:32px 24px 0 0; }
.theme-washi .stats .n{
  font-family:var(--serif);
  font-size:clamp(26px,2.8vw,40px);
  font-weight:600;
  color:var(--white);
  letter-spacing:0;
}
.theme-washi .stats .n span{
  font-family:var(--sans); font-size:.38em; color:var(--muted-2); margin-left:5px;
}
.theme-washi .stats .t{ font-size:11px; color:var(--muted-2); letter-spacing:.12em; }

/* ---------- eyebrow ---------- */
.theme-washi .eyebrow{
  color:var(--gold);
  font-size:10.5px; letter-spacing:.32em;
  font-weight:700;
}
.theme-washi .eyebrow::after{ background:var(--gold); opacity:.35; width:40px; }

/* ---------- 見出し ---------- */
.theme-washi .h2{
  font-size:clamp(26px,3.4vw,44px);
  line-height:1.55;
  letter-spacing:.03em;
  margin-bottom:28px;
}
.theme-washi .lead{ color:var(--muted); line-height:2.05; font-size:clamp(14.5px,1.1vw,16px); }

/* ---------- PROBLEM ---------- */
.theme-washi .prob-grid{
  background:transparent; border:0;
  gap:clamp(20px,3vw,40px);
  margin-top:64px;
}
.theme-washi .prob{
  background:transparent;
  padding:0 0 0 26px;
  border-left:1px solid var(--line-2);
}
.theme-washi .prob__n{ color:var(--gold); font-size:clamp(28px,3vw,42px); }
.theme-washi .prob__n span{ color:var(--muted-2); }
.theme-washi .prob p{ color:var(--muted); line-height:2; }
.theme-washi .prob__src{ border-top:0; color:var(--muted-2); margin-top:18px; padding-top:0; }
.theme-washi .prob-conclusion{ font-family:var(--serif); font-weight:600; letter-spacing:.04em; }

/* ---------- PROFILE ---------- */
.theme-washi .profile__box{
  background:var(--bg-3);
  border:0;
}
.theme-washi .profile__box img{
  filter:saturate(.92);
  object-fit:cover;
}
.theme-washi .profile__cap{
  background:rgba(250,249,246,.92);
  border-top:1px solid var(--line);
  color:var(--muted-2);
}
.theme-washi .cred{ border-bottom:1px solid var(--line); }
.theme-washi .cred__k{ color:var(--gold); }
.theme-washi .cred__v{ color:var(--muted); }
.theme-washi .tl__i::before{ background:var(--gold); }
.theme-washi .tl__i{ border-left:1px solid var(--line-2); }
.theme-washi .tl__y{ color:var(--gold); }
.theme-washi .tl__d{ color:var(--muted); }

/* ---------- CARDS ---------- */
.theme-washi .cards{
  background:transparent; border:0;
  gap:0;
  margin-top:64px;
  border-top:1px solid var(--line-2);
}
.theme-washi .card{
  background:transparent;
  padding:38px 32px 38px 0;
  border-bottom:1px solid var(--line);
  border-left:1px solid var(--line);
  padding-left:32px;
}
.theme-washi .card:first-child{ border-left:0; }
.theme-washi .card:hover{ background:rgba(178,58,46,.025); }
.theme-washi .card__n{ color:var(--gold); font-family:var(--serif); letter-spacing:.2em; }
.theme-washi .card h3{ color:var(--white); line-height:1.6; }
.theme-washi .card p{ color:var(--muted); line-height:2; }
.theme-washi .card__meta{ border-top:0; color:var(--muted-2); padding-top:12px; margin-top:26px; }

/* ---------- DAYS ---------- */
.theme-washi .days{ gap:0; margin-top:64px; border-top:1px solid var(--line-2); }
.theme-washi .day{
  border:0; border-left:1px solid var(--line);
  padding:36px 28px 36px 26px;
  background:transparent;
}
.theme-washi .day:first-child{ border-left:0; padding-left:0; }
.theme-washi .day__n{
  background:none; color:var(--gold);
  padding:0; font-family:var(--serif);
  letter-spacing:.22em; font-size:11px;
  border-bottom:1px solid var(--gold);
  display:inline-block; padding-bottom:6px;
}
.theme-washi .day h4{ color:var(--white); line-height:1.65; }
.theme-washi .day p{ color:var(--muted); line-height:2; }

/* ---------- HONEST ---------- */
.theme-washi .honest__list li{ border-bottom:1px solid var(--line); color:var(--white); }
.theme-washi .honest__list li em{
  color:var(--gold);
  border:0; padding:0;
  font-size:11px; letter-spacing:.14em;
}
.theme-washi .honest__after{ color:var(--gold); font-family:var(--serif); font-weight:600; }

/* ---------- RISK ---------- */
.theme-washi .risk-list{ border-top:1px solid var(--line-2); }
.theme-washi .risk{ border-bottom:1px solid var(--line); }
.theme-washi .risk__mark{ color:var(--gold); opacity:.45; }
.theme-washi .risk b{ color:var(--white); }
.theme-washi .risk p{ color:var(--muted); line-height:2; }
.theme-washi .risk-after{ font-family:var(--serif); font-weight:600; }

/* ---------- VOICE ---------- */
.theme-washi .tst__c{
  background:var(--bg);
  border:1px solid var(--line);
}
.theme-washi .tst__q{ color:var(--gold); opacity:.35; }
.theme-washi .tst__c p{ color:var(--muted); line-height:2.05; }
.theme-washi .tst__who{ border-top:1px solid var(--line); }
.theme-washi .tst__av{
  background:rgba(178,58,46,.06);
  border:1px solid rgba(178,58,46,.2);
  color:var(--gold);
}
.theme-washi .tst__n{ color:var(--white); }
.theme-washi .tst__m{ color:var(--muted-2); }

/* ---------- FAQ ---------- */
.theme-washi .faq{ border-top:1px solid var(--line-2); }
.theme-washi .faq__i{ border-bottom:1px solid var(--line); }
.theme-washi .faq__q{ color:var(--white); font-family:var(--serif); font-weight:600; }
.theme-washi .faq__q:hover{ color:var(--gold); }
.theme-washi .faq__q::after{ color:var(--gold); }
.theme-washi .faq__a p{ color:var(--muted); line-height:2.05; }
.theme-washi .faq__a a{ color:var(--gold); }

/* ---------- CTA ---------- */
.theme-washi .cta::before{
  background:radial-gradient(760px 440px at 26% 20%, rgba(178,58,46,.05), transparent 66%);
}
.theme-washi .cta h2{ color:var(--white); }
.theme-washi .cta p{ color:var(--muted); }
.theme-washi .cta__list li{ color:var(--muted); }
.theme-washi .cta__list li::before{ color:var(--gold); }
.theme-washi .steps{
  background:#fff;
  border:1px solid var(--line);
  box-shadow:0 20px 60px rgba(26,26,26,.05);
}
.theme-washi .steps__hd{ color:var(--gold); border-bottom:1px solid var(--line); }
.theme-washi .step{ border-bottom:1px solid var(--line); }
.theme-washi .step__n{ box-shadow:none; }
.theme-washi .step__b b{ color:var(--white); }
.theme-washi .step__b p{ color:var(--muted); }
.theme-washi .steps__foot{ color:var(--muted-2); border-top:1px solid var(--line); }

/* ---------- FOOTER ---------- */
.theme-washi .foot{
  background:var(--bg-2);
  border-top:1px solid var(--line);
  color:var(--muted-2);
}
.theme-washi .foot__brand{ color:var(--white); font-family:var(--serif); letter-spacing:.12em; }
.theme-washi .foot__h{ color:var(--gold); }
.theme-washi .foot__dl dt{ color:var(--muted-2); }
.theme-washi .foot__dl dd{ color:var(--muted); }
.theme-washi .foot__links a{ color:var(--muted); }
.theme-washi .foot__links a:hover{ color:var(--gold); }
.theme-washi .foot__legal{ border-top:1px solid var(--line); color:var(--muted-2); }
.theme-washi .foot__cr{ border-top:1px solid var(--line); }

/* ---------- 追従バー ---------- */
.theme-washi .floatbar{
  background:rgba(250,249,246,.94);
  border-top:1px solid var(--line-2);
}

/* ---------- ボタン（LINEは緑のまま） ---------- */
.theme-washi .btn-line{
  box-shadow:0 8px 26px rgba(6,199,85,.22);
}

/* ---------- モバイル ---------- */
@media (max-width:1024px){
  .theme-washi .prob{ border-left:0; padding-left:0; border-top:1px solid var(--line-2); padding-top:26px; }
  .theme-washi .prob:first-child{ border-top:0; padding-top:0; }
  .theme-washi .cards{ border-top:1px solid var(--line-2); }
  .theme-washi .card{ border-left:0; padding-left:0; }
  .theme-washi .day{ border-left:0; padding-left:0; border-top:1px solid var(--line); }
  .theme-washi .day:first-child{ border-top:0; }
}
