/* ==========================================================
   Aboutページ
   ========================================================== */
.ahero{position:relative;padding:120px 0 74px;overflow:hidden;isolation:isolate}
.ahero-bg{position:absolute;inset:0;z-index:-2;overflow:hidden}
.ahero-bg img{width:100%;height:100%;object-fit:cover;object-position:70% 40%}
.ahero-bg::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(252,249,244,.5) 0%,rgba(252,249,244,.1) 26%,rgba(252,249,244,.55) 74%,var(--cream) 100%)}
.ahero .kicker{display:flex;align-items:center;gap:11px;font-family:var(--en);font-size:12.5px;
  font-weight:600;letter-spacing:.3em;color:#7A5A25;margin:0 0 16px;
  text-shadow:0 1px 2px rgba(255,252,246,.98),0 0 9px rgba(255,252,246,.95)}
.ahero .kicker::before{content:"";width:36px;height:1px;flex:none;background:linear-gradient(90deg,rgba(138,107,51,.15),#9C7A34)}
.ahero h1{
  font-family:var(--mincho);font-weight:600;font-size:clamp(28px,3.8vw,50px);line-height:1.5;
  letter-spacing:.02em;margin:0 0 22px;max-width:20em;
  background:linear-gradient(104deg,#231A0D,#33260F 30%,#4A3717 62%,#5E4720 86%,#6B5124);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  filter:drop-shadow(0 1px 2px rgba(255,252,246,.98)) drop-shadow(0 0 10px rgba(255,251,243,.85))}
.ahero p{font-family:var(--serif-jp);font-size:14.5px;line-height:2.1;color:#4A3A26;margin:0;max-width:38em;
  text-shadow:0 1px 2px rgba(255,252,246,.98),0 0 10px rgba(255,252,246,.9)}

/* 数字 */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:44px;
  background:linear-gradient(180deg,#FDFBF6,#FAF5EA);border:1px solid var(--line);border-radius:10px;overflow:hidden}
.stat{padding:26px 22px;text-align:center;border-left:1px solid var(--line-soft)}
.stat:first-child{border-left:0}
.stat b{display:block;font-family:var(--sans);font-weight:600;font-variant-numeric:tabular-nums;
  font-size:34px;line-height:1.1;letter-spacing:.01em;color:#7A5C29}
.stat b i{font-style:normal;font-size:15px;margin-left:3px}
.stat span{display:block;margin-top:9px;font-size:11px;color:var(--ink-mute);letter-spacing:.05em}
.stat-note{display:block;margin-top:5px;font-size:9.5px;letter-spacing:.04em;color:#B0A48E}

/* ミッション */
/* 画像を本文の高さに合わせる */
/* 右の写真を画面の右端まで抜く。左右対称の中央寄せだけだと単調になるため */

/* セクション上端に合わせる */

/* 行の高さを本文基準にする */

/* 流れ（縦タイムライン） */
.flow5{position:relative;margin-top:8px}

.fstep{display:grid;grid-template-columns:54px minmax(0,1fr);gap:22px;padding:20px 0;position:relative}
/* 線の上下の空きを揃えて、番号と番号のちょうど中間に線が来るようにする。
   数字の行ボックスは各ステップの上から36〜63px。次の番号は「自分の高さ+36px」の位置に来るので、
   top と bottom のはみ出し量の合計を 36+63=99 に保てば、ステップの高さが変わっても中央を維持できる */
.fstep::before{
  content:"";position:absolute;left:27px;top:81px;bottom:-18px;width:1px;
  background:rgba(200,170,110,.55)}
.fstep:last-child::before{display:none}
.fstep .no{
  position:relative;display:flex;align-items:flex-start;justify-content:center;padding-top:11px;
  font-family:var(--sans);font-weight:600;font-variant-numeric:tabular-nums;font-size:19px;
  letter-spacing:.02em;color:#A8874C;background:none;z-index:1}
.fstep h3{font-family:var(--serif-jp);font-weight:600;font-size:15px;letter-spacing:.05em;
  color:var(--ink-strong);margin:12px 0 8px}
.fstep p{margin:0;font-size:12.5px;line-height:1.95;color:var(--ink-mute)}
.fstep .term{display:inline-block;margin-top:9px;font-size:10.5px;letter-spacing:.06em;color:var(--gold-deep);
  background:#F7F1E4;border:1px solid rgba(200,170,110,.3);border-radius:99px;padding:4px 11px}

/* 掲載プラン */
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
/* プランがひとつのときは中央に置き、幅を絞る */
/* 単独プラン用の横長パネル */
.plan-single{position:relative}
.plan-single-in{
  display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr);gap:44px;align-items:center;
  background:linear-gradient(150deg,#FFFDF9,#FAF5EA);border:1px solid var(--line);
  border-radius:var(--r-lg);padding:44px 46px;box-shadow:var(--shadow-m)}
.plan-eyebrow{font-family:var(--en);font-size:11.5px;font-weight:600;letter-spacing:.26em;
  color:var(--gold-deep);margin:0 0 12px}
.plan-lead h3{font-family:var(--mincho);font-weight:600;font-size:26px;letter-spacing:.06em;
  color:var(--ink-strong);margin:0 0 14px;line-height:1.5}
.plan-desc{font-size:13px;line-height:2;color:#5A4B39;margin:0 0 20px}
.plan-price{font-family:var(--serif-jp);font-weight:600;font-size:17px;color:var(--gold-deep);
  letter-spacing:.05em;margin:0 0 24px;padding:14px 0;
  border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}
.plan-price span{font-family:var(--sans);font-weight:400;font-size:12px;color:var(--ink-mute);margin-left:2px}
.plan-lead .btn{width:100%;justify-content:center}
.plan-items{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:20px 24px}
.plan-items li{display:grid;grid-template-columns:34px minmax(0,1fr);gap:4px 13px;align-items:center}
.plan-items .ic{grid-row:1/3;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;
  color:var(--gold-deep);border:1px solid rgba(196,166,108,.5)}
.plan-items b{grid-column:2;font-family:var(--serif-jp);font-weight:600;font-size:12.5px;color:var(--ink-strong)}
.plan-items li > span:not(.ic){grid-column:2;font-size:10.5px;line-height:1.7;color:var(--ink-mute)}
.plan-note{margin:22px auto 0;max-width:780px;font-size:11.5px;line-height:1.95;color:var(--ink-mute);text-align:center}
@media(max-width:1080px){
  .plan-single-in{grid-template-columns:1fr;gap:32px;padding:34px 30px}
}
@media(max-width:720px){
  .plan-single-in{padding:28px 22px;gap:26px}
  .plan-lead h3{font-size:22px}
  .plan-items{grid-template-columns:1fr;gap:16px}
}
.plan{
  position:relative;background:none;border:1px solid var(--line);border-radius:10px;padding:30px 26px 28px;
  box-shadow:none;display:flex;flex-direction:column;
  transition:transform .5s var(--ease),box-shadow .5s var(--ease),border-color .5s}
.plan:hover{transform:translateY(-5px);box-shadow:var(--shadow-l);border-color:var(--gold-soft)}
.plan--rec{background:#fff;border-color:var(--gold-soft);box-shadow:var(--shadow-m)}
.plans--single .plan--rec::before{content:none}
.plan--rec::before{
  content:"おすすめ";position:absolute;top:-11px;left:26px;font-size:10.5px;letter-spacing:.12em;color:#fff;
  background:linear-gradient(135deg,#B18F51,#8C6C34);padding:5px 13px;border-radius:2px;
  box-shadow:0 3px 10px rgba(138,107,51,.28)}
.plan h3{font-family:var(--mincho);font-weight:600;font-size:19px;letter-spacing:.06em;color:var(--ink-strong);margin:0 0 8px}
.plan .sub{font-size:11px;line-height:1.8;color:var(--ink-mute);margin:0 0 18px;min-height:3.4em}
.plan .price{font-family:var(--sans);font-size:13px;color:var(--gold-deep);letter-spacing:.05em;
  padding:12px 0;border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);margin-bottom:18px}
.plan ul{list-style:none;margin:0 0 22px;padding:0;flex:1}
.plan li{display:flex;gap:9px;font-size:12px;line-height:1.85;color:#5A4B39;margin-bottom:9px}
.plan li::before{content:"";width:14px;height:8px;flex:none;margin-top:6px;
  border-left:1.5px solid var(--gold);border-bottom:1.5px solid var(--gold);transform:rotate(-45deg)}
.plan .btn{justify-content:center}

/* FAQ */

/* 会社情報 */

@media(max-width:1080px){
  .stats{grid-template-columns:1fr 1fr}
  .stat:nth-child(3){border-left:0}
  .stat:nth-child(n+3){border-top:1px solid var(--line-soft)}
  .plans{grid-template-columns:1fr}
  .plan--rec{order:-1}
}
@media(max-width:720px){
  .ahero{padding:96px 0 56px}
  .stat{padding:20px 12px}
  .stat b{font-size:27px}
  .fstep{grid-template-columns:44px minmax(0,1fr);gap:16px}
  .fstep .no{font-size:16px;padding-top:10px}
  .fstep::before{left:21px;top:77px;bottom:-14px}
}

