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