@charset "utf-8";
/* 診断サービスページ用の追加パーツ（テンプレートの色・書体の変数を使う） */

/* 統計 */
.stats {display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin:2.5rem 0 1rem;}
.stats div {background:#fff;border-top:3px solid var(--primary-color);padding:1.6rem 1.4rem;display:grid;gap:.4rem;align-content:start;}
.stats .num {font-family:var(--accent-font), var(--base-font);font-size:clamp(2.2rem,5vw,3.2rem);font-weight:500;color:var(--primary-color);line-height:1.1;}
.stats .num small {font-family:var(--base-font);font-size:.4em;margin-left:.2em;}
.stats .label {font-family:var(--heading-font);font-weight:600;}
.stats p {font-size:.88rem;line-height:1.8;opacity:.85;}
.src {font-size:.78rem;opacity:.7;text-align:center;}
@media (max-width:800px){.stats{grid-template-columns:1fr;}}

/* お悩み */
.worries {display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:2.4rem;}
.worries div {border:1px solid var(--bg-border-color);background:#fff;padding:1.4rem;display:grid;gap:.6rem;align-content:start;}
.worries h4 {margin:0;font-size:1.05rem;}
.worries h4::before {content:"";display:inline-block;width:.9em;height:.9em;border:2px solid var(--accent-color);border-radius:2px;margin-right:.6em;vertical-align:-.1em;}
.worries p {font-size:.9rem;line-height:1.9;}
@media (max-width:800px){.worries{grid-template-columns:1fr;}}

/* 足跡 */
.trace {display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;align-items:center;margin-top:2rem;}
.trace-card {background:#1c3d63;color:#fff;font-family:"Jost", ui-monospace, Menlo, monospace;border-radius:4px;padding:1.4rem 1.5rem;box-shadow:0 20px 40px -24px rgba(28,61,99,.6);min-width:0;}
.trace-card .head {display:flex;justify-content:space-between;font-size:.75rem;letter-spacing:.14em;opacity:.7;border-bottom:1px dashed rgba(255,255,255,.3);padding-bottom:.6rem;margin-bottom:.6rem;}
.trace-card dl {display:grid;grid-template-columns:auto 1fr;gap:.45rem 1.2rem;margin:0;font-size:.9rem;}
.trace-card dt {opacity:.65;font-family:var(--base-font);font-size:.8rem;}
.trace-card dd {margin:0;overflow-wrap:anywhere;}
@media (max-width:800px){.trace{grid-template-columns:1fr;}}

/* 事件簿 */
.cases {display:grid;gap:1.5rem;margin-top:2.4rem;}
.case {display:grid;grid-template-columns:9rem 1fr;gap:1.5rem;background:#fff;border:1px solid var(--bg-border-color);padding:1.6rem;}
.case .file {font-family:var(--accent-font), var(--base-font);letter-spacing:.14em;color:var(--accent-color);font-size:.85rem;}
.case .file b {display:block;font-size:1.8rem;color:var(--primary-color);letter-spacing:.04em;}
.case h4 {margin:0 0 .5rem;font-size:1.1rem;}
.case p {font-size:.92rem;line-height:1.9;}
.chain {display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.8rem;font-size:.8rem;}
.chain span {border:1px solid var(--primary-light-border-color);padding:.2em .7em;border-radius:99px;}
.chain span:not(:last-child)::after {content:"→";margin-left:.6em;opacity:.5;}
@media (max-width:700px){.case{grid-template-columns:1fr;gap:.6rem;}}

/* FAQ */
.faq {max-width:820px;margin:2rem auto 0;}
.faq details {border-bottom:1px solid var(--bg-border-color);}
.faq summary {cursor:pointer;list-style:none;padding:1.1rem 2.2rem 1.1rem 0;font-weight:500;position:relative;}
.faq summary::-webkit-details-marker {display:none;}
.faq summary::before {content:"Q.";font-family:var(--accent-font);color:var(--accent-color);margin-right:.6em;}
.faq summary::after {content:"+";position:absolute;right:.3rem;top:1rem;font-size:1.3rem;color:var(--primary-color);}
.faq details[open] summary::after {content:"−";}
.faq details p {padding:0 0 1.2rem 1.8em;font-size:.92rem;line-height:1.9;opacity:.85;}

/* スマホ表示の調整 */
@media (max-width:700px){
  /* 見出しを少し大きく、説明は左寄せで読みやすく */
  .mainimg .text h1 {font-size:clamp(24px,6.6vw,30px);}
  .mainimg .text p {text-align:left;}
  .mainimg .btn-container {justify-content:center;}

  /* 診断項目：名前と説明を縦に */
  .doc-list li {flex-wrap:wrap;gap:.2rem .8rem;}
  .doc-list li span {flex-basis:100%;padding-left:1.9em;}

  /* 流れ：1列で、番号とアイコンを左、説明を右 */
  .list2 {grid-template-columns:1fr;gap:0;}
  .list2 > div {display:grid;grid-template-columns:3.2rem 1fr;column-gap:1rem;align-items:start;padding:1rem 0;border-bottom:1px solid var(--bg-border-color);}
  .list2 > div::after {display:none !important;}
  .list2 .no {grid-row:1;grid-column:1;font-size:1.1rem;}
  .list2 .image {grid-row:2;grid-column:1;width:3rem;line-height:3rem;margin:0;}
  .list2 .text {grid-row:1 / span 2;grid-column:2;text-align:left;}
  .list2 .text p {font-size:.88rem;line-height:1.8;}

  /* 統計：数字とラベルを横並びにして短く */
  .stats {gap:.8rem;margin-top:1.6rem;}
  .stats div {grid-template-columns:auto 1fr;column-gap:1rem;align-items:center;padding:1rem;}
  .stats .num {font-size:2.2rem;grid-row:1 / span 2;}
  .stats p {grid-column:1 / -1;font-size:.84rem;}

  /* 事件簿・お悩み：余白を詰める */
  .case {padding:1.2rem;}
  .worries div {padding:1.1rem;}

  /* フッターのメニューを2列に */
  footer .menu {display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;}
  #contents img {max-width:100%;}
}


/* stats-mobile-override */
@media (max-width:700px){.stats div{display:grid}}
/* ===== フック（参考サイトと同じ型：小さな前置き＋太い大見出し） ===== */
.hook h2, #trace h2, #link3 h2, #link2 h2, #contact h2 {font-weight:700;letter-spacing:.04em;}
.hook h2 {font-size:clamp(1.6rem,3.3vw,2.5rem);line-height:1.45;}
.hook h2::before {display:none;}
.hook h2 span, #trace h2 span, #link3 h2 span, #link2 h2 span {font-size:.95rem;font-weight:700;color:var(--accent-color);letter-spacing:.08em;}
#trace h2, #link3 h2, #link2 h2 {font-size:clamp(1.4rem,2.8vw,2.1rem);}
br.sp {display:none;}
.hook .lead {max-width:44rem;line-height:2;}
.l {text-align:left !important;}

/* 統計：大きな数字のカード3枚、真ん中を強調 */
.bigstats {display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:2rem 0 .8rem;}
.bigstats > div {background:#fff;border-radius:10px;padding:1.6rem 1.5rem;display:grid;gap:.6rem;align-content:start;}
.bigstats .n {margin:0;font-family:var(--accent-font), var(--base-font);font-weight:600;font-size:clamp(3rem,6vw,4.4rem);line-height:1;color:var(--primary-color);letter-spacing:-.01em;font-variant-numeric:tabular-nums;}
.bigstats .n small {font-size:.42em;margin-left:.08em;font-weight:600;}
.bigstats p:not(.n) {margin:0;font-size:.9rem;line-height:1.8;}
.bigstats .hl {background:#16263a;color:#fff;}
.bigstats .hl .n {color:#f07a5a;}
.src.l {margin:.6rem 0 1.4rem;}

/* お悩み：アイコン＋太いタイトル＋一行 */
.pains {display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2rem;}
.pains > div {border:2px solid var(--primary-color);border-radius:10px;padding:1.3rem 1.3rem 1.2rem;background:#fff;display:grid;gap:.5rem;align-content:start;}
.pains .pi {width:2.6rem;height:2.6rem;border-radius:8px;background:var(--primary-light-color);display:grid;place-items:center;color:var(--primary-color);}
.pains .pi .ico {width:1.3rem;height:1.3rem;}
.pains h4 {margin:.4rem 0 0;font-size:clamp(1.1rem,1.8vw,1.4rem);font-weight:700;color:var(--primary-color);letter-spacing:.02em;}
.pains p {margin:0;font-size:.88rem;opacity:.8;}

/* 流れ：大きな番号付きの縦並び */
.steps {list-style:none;margin:2rem 0 0;padding:0;display:grid;}
.steps li {padding:1.4rem 0;border-bottom:1px solid var(--bg-border-color);display:grid;gap:.4rem;}
.steps .k {font-size:.78rem;font-weight:700;letter-spacing:.1em;opacity:.7;}
.steps h3 {margin:0;font-size:clamp(1.3rem,2.4vw,1.9rem);font-weight:700;line-height:1.4;letter-spacing:.02em;}
.steps h3 b {font-family:var(--accent-font), var(--base-font);color:var(--accent-color);margin-right:.5em;}
.steps p {margin:0;max-width:40rem;font-size:.92rem;line-height:1.9;}

/* 事件簿：カードのグリッド */
.casegrid {display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:2rem;}
.casegrid article {background:#fff;border:1px solid var(--bg-border-color);border-radius:10px;padding:1.4rem;display:grid;gap:.6rem;align-content:start;}
.casegrid .f {margin:0;display:flex;justify-content:space-between;font-size:.82rem;}
.casegrid .f b {color:#b4413a;font-family:var(--accent-font), var(--base-font);}
.casegrid .f span {opacity:.6;}
.casegrid h4 {margin:0;font-size:clamp(1.1rem,1.8vw,1.35rem);font-weight:700;line-height:1.5;}
.casegrid p:not(.f) {margin:0;font-size:.88rem;line-height:1.85;opacity:.85;}

@media (max-width:700px){
  br.sp {display:inline;}
  .bigstats, .pains, .casegrid {grid-template-columns:1fr;}
  .bigstats > div {padding:1.3rem 1.2rem;}
  .bigstats .n {font-size:3rem;}
  .hook h2 {font-size:clamp(1.45rem,6.2vw,1.9rem);}
}
@media (min-width:701px) and (max-width:1000px){
  .bigstats .n {font-size:2.8rem;}
  .pains h4 {font-size:1.05rem;}
}

.faq {margin-left:0;}

/* レポートでわかること */
.report {display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;align-items:start;margin-top:2rem;}
.countbox {border:2px solid var(--primary-color);border-radius:10px;background:#fff;padding:1rem 1.3rem;display:flex;align-items:center;gap:1.2rem;}
.countbox .cv {margin:0;white-space:nowrap;flex:none;font-family:var(--accent-font), var(--base-font);font-weight:600;font-size:3.2rem;line-height:1;color:#c2492f;}
.countbox .cv small {font-family:var(--base-font);font-size:.32em;color:var(--primary-color);margin-left:.2em;}
.countbox p:not(.cv) {margin:0;font-size:.88rem;line-height:1.7;}
.items {list-style:none;margin:1.2rem 0 0;padding:0;display:grid;gap:1rem;}
.items li {display:grid;grid-template-columns:2.2rem 1fr;gap:.9rem;align-items:start;}
.items .ii {width:2.2rem;height:2.2rem;border-radius:6px;background:#fff;display:grid;place-items:center;color:var(--primary-color);}
.items b {font-size:1rem;}
.items p {margin:.15rem 0 0;font-size:.85rem;line-height:1.7;opacity:.85;}
.sample {margin:0;background:#fff;border-radius:12px;box-shadow:0 24px 50px -30px rgba(28,61,99,.55);padding:1.4rem 1.5rem 1rem;font-size:.78rem;line-height:1.7;}
.sp-top {display:flex;justify-content:space-between;opacity:.7;font-size:.72rem;}
.sp-logo {font-family:var(--heading-font);font-weight:600;color:var(--primary-color);opacity:1;}
.sp-title {margin:.9rem 0 0;font-family:var(--heading-font);font-weight:700;font-size:1.2rem;display:flex;justify-content:space-between;align-items:center;gap:.5rem;border-bottom:2px solid var(--primary-color);padding-bottom:.4rem;}
.sp-tag {font-family:var(--accent-font), var(--base-font);font-size:.7rem;letter-spacing:.1em;color:#c2492f;border:1px solid #c2492f;padding:.1em .6em;border-radius:3px;}
.sp-dom {margin:.3rem 0 0;color:var(--accent-color);font-weight:700;}
.sp-note {margin:.5rem 0 0;opacity:.7;font-size:.7rem;}
.sp-h {margin:.9rem 0 .4rem;font-weight:700;color:var(--primary-color);}
.sp-sum {display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:.5rem;}
.sp-txt {background:var(--primary-light-color);border-radius:6px;padding:.6rem;font-size:.7rem;}
.sp-k {border:1px solid var(--bg-border-color);border-radius:6px;padding:.5rem;display:grid;align-content:start;}
.sp-k span {font-size:.7rem;font-weight:700;}
.sp-k b {font-family:var(--accent-font), var(--base-font);font-size:1.5rem;line-height:1.1;}
.sp-k small {font-size:.65rem;opacity:.7;}
.sp-k.bad span,.sp-k.bad b {color:#c2492f;} .sp-k.warn span,.sp-k.warn b {color:#b7791f;} .sp-k.ok span,.sp-k.ok b {color:#2e7d55;}
.sp-row {display:grid;grid-template-columns:1rem 1fr auto;gap:.6rem;align-items:center;border:1px solid var(--bg-border-color);border-radius:6px;padding:.45rem .6rem;margin-top:.4rem;}
.sp-row i {width:.8rem;height:.8rem;border-radius:50%;background:var(--primary-light-color);}
.sp-row em {font-style:normal;font-size:.68rem;font-weight:700;color:#b7791f;border:1px solid currentColor;border-radius:3px;padding:0 .5em;}
.sample figcaption {text-align:center;margin-top:1rem;font-size:.8rem;font-weight:700;}

/* 足跡（参考サイトと同じ静的な一覧） */
.trace2 {background:linear-gradient(115deg,#16263a 0 58%,var(--primary-color) 58% 100%);color:#fff;padding-block:clamp(56px,8vw,96px);}
.trace2-in {max-width:1100px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));display:grid;grid-template-columns:1.1fr 1fr;gap:2.5rem;align-items:center;}
.trace2 .eb {margin:0 0 .6rem;font-size:.95rem;font-weight:700;color:#8fc3cf;letter-spacing:.08em;}
.trace2 h2 {color:#fff;font-size:clamp(1.6rem,3.2vw,2.4rem);font-weight:700;line-height:1.45;letter-spacing:.04em;margin:0 0 1.2rem;display:block;}
.trace2 h2::before {display:none;}
.trace2-l p:not(.eb) {font-size:.92rem;line-height:2;opacity:.9;margin:0;}
.trace2-r {list-style:none;margin:0;padding:0;display:grid;gap:.6rem;}
.trace2-r li {display:flex;align-items:center;gap:.8rem;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.22);border-radius:8px;padding:.9rem 1.1rem;font-weight:700;font-size:.92rem;}
.trace2-r .ico {width:1.1rem;height:1.1rem;color:#f07a5a;flex:none;}

/* 料金カード */
.plans {display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:2rem 0 1rem;}
.plan {background:#fff;border:1px solid var(--bg-border-color);border-radius:10px;padding:1.5rem 1.4rem;display:grid;grid-template-rows:auto auto auto 1fr auto;gap:.7rem;}
.plan.main {border:2px solid #c2492f;}
.plan .pn {margin:0;font-family:var(--heading-font);font-weight:700;font-size:1.2rem;display:flex;align-items:center;gap:.5rem;}
.plan .pn span {font-family:var(--base-font);font-size:.7rem;font-weight:700;background:var(--primary-light-color);padding:.15em .6em;border-radius:3px;}
.plan .pp {margin:0;font-family:var(--heading-font);font-weight:700;font-size:1.6rem;color:var(--primary-color);}
.plan .pd {margin:0;font-size:.88rem;line-height:1.8;}
.plan ul {margin:0;padding-left:1.1em;font-size:.86rem;display:grid;gap:.3rem;align-content:start;}
.plan .btn {margin:.4rem 0 0;}
.plan .btn a {display:block;text-align:center;}

@media (max-width:860px){
  .report, .trace2-in {grid-template-columns:1fr;}
  .plans {grid-template-columns:1fr;}
  .trace2 {background:#16263a;}
}
@media (max-width:480px){
  .sp-sum {grid-template-columns:1fr 1fr 1fr;}
  .sp-txt {grid-column:1 / -1;}
}

/* 読みもの（トップ） */
#column .cards {margin-top:2.2rem;text-align:left;}
#column .more {text-align:center;margin-top:1.6rem;}
#column .more a {color:var(--primary-color);font-weight:700;}
#column .cards {grid-template-columns:repeat(3,1fr);}
@media (max-width:800px){#column .cards {grid-template-columns:1fr;}}

/* 角丸・影をなくして、テンプレート本来の直線的な見た目に */
*, *::before, *::after {border-radius:0 !important;}
.mainimg .indicator {border-radius:50% !important;}
.sample, .trace-card {box-shadow:none !important;border:1px solid var(--bg-border-color);}

/* ===== 見た目を落ち着かせる（色は紺1色、数字も見出しと同じ明朝、強調色なし） ===== */
.hook h2::before {display:block !important;}
.hook h2 span, #link3 h2 span, #link2 h2 span {font-family:var(--base-font) !important;font-size:.8rem !important;font-weight:400 !important;color:var(--primary-color) !important;letter-spacing:.1em !important;}
.hook h2 {font-weight:600 !important;font-size:clamp(1.5rem,2.8vw,2.1rem) !important;}

.figs3 {display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin:2rem 0 1rem;}
.figs3 > div {border-top:1px solid var(--primary-color);padding-top:1.2rem;}
.figs3 .n {margin:0 0 .4rem;font-family:var(--heading-font);font-weight:600;font-size:2rem;line-height:1.4;color:var(--primary-color);}
.figs3 p:not(.n) {margin:0;font-size:.9rem;line-height:1.9;}

.pains > div {border:1px solid var(--bg-border-color) !important;}
.pains h4 {font-family:var(--heading-font);font-weight:600 !important;font-size:1.1rem !important;margin:0 !important;}
.pains p {opacity:1 !important;}

.steps h3 {font-family:var(--heading-font);font-weight:600 !important;font-size:1.2rem !important;}
.steps p {font-size:.95rem !important;}

.checklist {width:100%;border-collapse:collapse;margin-top:1rem;font-size:.92rem;line-height:1.8;}
.checklist th, .checklist td {border-bottom:1px solid var(--bg-border-color);padding:.9rem .6rem;text-align:left;vertical-align:top;}
.checklist tr:first-child th, .checklist tr:first-child td {border-top:1px solid var(--bg-border-color);}
.checklist th {font-weight:500;white-space:nowrap;width:11em;}

.sp-tag {color:var(--primary-color) !important;border-color:var(--primary-color) !important;font-family:var(--base-font) !important;}
.sp-k.bad span,.sp-k.bad b,.sp-k.warn span,.sp-k.warn b,.sp-k.ok span,.sp-k.ok b {color:var(--primary-color) !important;}
.sp-row em {color:var(--primary-color) !important;}
.sp-k b {font-family:var(--heading-font) !important;}

.plan.main {border:2px solid var(--primary-color) !important;}
.casegrid .f b {color:var(--primary-color) !important;font-family:var(--base-font) !important;}
.casegrid h4 {font-family:var(--heading-font);font-weight:600 !important;}
.faq summary::before {font-family:var(--heading-font) !important;color:var(--primary-color) !important;}

@media (max-width:700px){
  .figs3 {grid-template-columns:1fr;gap:1.2rem;}
  .checklist th {white-space:normal;width:8em;}
}
.sp-dom, .sp-logo {color:var(--primary-color) !important;}

/* フックを読みやすく：見出しと数字を大きく、太く */
.hook h2 {font-weight:700 !important;font-size:clamp(1.8rem,3.6vw,2.7rem) !important;line-height:1.45 !important;}
.hook h2 span {font-weight:700 !important;font-size:.9rem !important;}
.figs3 {gap:2.5rem;margin:2.5rem 0 1rem;}
.figs3 > div {border-top:2px solid var(--primary-color);padding-top:1.4rem;}
.figs3 .n {font-weight:700;font-size:clamp(2.8rem,5.2vw,4rem);line-height:1.15;margin-bottom:.8rem;}
.figs3 .n small {font-size:.4em;margin-left:.15em;}
.figs3 p:not(.n) {font-size:.98rem;}
#stats .lead {font-family:var(--heading-font);font-weight:600;font-size:clamp(1.05rem,1.6vw,1.25rem);line-height:2;margin-top:2.5rem;color:var(--primary-color);}
.pains h4 {font-size:1.25rem !important;}
.steps h3 {font-size:1.45rem !important;}
@media (max-width:700px){.hook h2 {font-size:clamp(1.5rem,6.6vw,2rem) !important;}.figs3 .n {font-size:3rem;}}
.plan .pp small {font-size:.55em;margin-left:.1em;}
.mainimg .text p strong {font-family:var(--heading-font);font-size:1.15em;color:var(--primary-color);}

/* スマホのトップ：写真の下側を白へグラデーションでつなぎ、文字を重ねる（PCと同じ見え方に） */
@media (max-width:700px){
  .mainimg {display:flex !important;flex-direction:column-reverse !important;background:#fff;}
  .mainimg .image {position:relative;}
  .mainimg .img1 {aspect-ratio:4 / 3.4;}
  .mainimg .image::after {content:"";position:absolute;left:0;right:0;bottom:-1px;height:60%;z-index:1;pointer-events:none;
    background:linear-gradient(to bottom, rgba(255,255,255,0) 0%, rgba(255,255,255,.8) 55%, #fff 100%);}
  .mainimg .text {position:relative !important;z-index:2;margin-top:-30vw;padding:0 20px 2.5rem !important;align-items:flex-start !important;text-align:left !important;gap:1.2rem;}
  .mainimg .text h1 {font-size:clamp(26px,7.4vw,32px) !important;}
  .mainimg .text h1 br {display:inline !important;}
  .mainimg .btn-container {justify-content:flex-start !important;}
  .mainimg .slide-indicators {top:12px;bottom:auto !important;}
}

/* クリニックセキュリティ外来とは */
.about3 .n {font-size:clamp(1.3rem,2.2vw,1.6rem) !important;margin-bottom:.6rem !important;}
.plans {align-items:stretch;}
.plan {position:relative;grid-template-rows:auto auto auto auto 1fr auto !important;}
.plan:not(.main) {padding-top:calc(1.5rem + 1.9rem) !important;}
.plan .rec {margin:0;justify-self:start;background:var(--primary-color);color:#fff;font-size:.8rem;font-weight:700;padding:.2em .9em;letter-spacing:.1em;}
@media (max-width:860px){.plan:not(.main){padding-top:1.5rem !important;}}

/* パターンB：思い込み・定期検診の根拠 */
.myth > div {gap:.8rem !important;}
.myth h4 {font-size:1.15rem !important;line-height:1.6;}
.myth p {font-size:.92rem !important;line-height:1.95;opacity:1 !important;}
.plan .why {margin:0;font-size:.8rem;line-height:1.8;border-top:1px solid var(--bg-border-color);padding-top:.7rem;}
.plan.main {grid-template-rows:auto auto auto auto auto auto 1fr auto !important;}

/* 「詳しく読む」：各セクションから読みものへ */
.btn-arrow.more {margin:2rem 0 0;}
.btn-arrow.more a {display:inline-flex;align-items:center;gap:.6em;font-weight:500;border-bottom:1px solid var(--primary-color);padding:0 0 .3rem;}

/* 料金カード：「詳しく見る」を3枚とも下端にそろえる */
.plan {display:flex !important;flex-direction:column;gap:.7rem;}
.plan ul {flex:1 1 auto;align-content:start;}
.plan .btn {margin-top:auto !important;padding-top:.6rem;}
.plan.main .why {margin-top:0;}
.plan .rec {align-self:flex-start;}
