/* 料金ページ — pricing.html / pricing.js */
.pricing-body{background:var(--paper);color:var(--ink)}
.pricing-header{max-width:1600px}
.pricing-nav{display:flex;align-items:center;gap:26px;font-size:11px}
.pricing-nav>a:not(.button){white-space:nowrap;position:relative;padding:8px 0}
.pricing-nav>a.is-current{color:var(--green);font-weight:600}
.pricing-nav>a.is-current::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--green)}
.pricing-contact{padding:12px 20px;font-size:10px}

.pricing-main{max-width:1120px;margin:0 auto;padding:56px 4.8% 90px}
.pricing-hero{max-width:720px}
.pricing-hero h1{font-family:var(--serif);font-size:40px;line-height:1.5;letter-spacing:.1em;margin:14px 0 0}
.pricing-intro{margin-top:22px;font-size:12.5px;line-height:2.15;color:#4d5b46}

.pricing-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:44px 0 8px;padding:10px 0;background:var(--paper);position:-webkit-sticky;position:sticky;top:0;z-index:12}
.pricing-tabs a{display:inline-flex;align-items:center;gap:8px;padding:11px 18px;border:1px solid var(--line);border-radius:999px;font-size:11px;letter-spacing:.06em;background:#fff;transition:background .2s,color .2s,border-color .2s}
.pricing-tabs a:hover{border-color:var(--green);color:var(--green)}
.pricing-tabs a.is-current{background:var(--green);border-color:var(--green);color:#fff}
.pricing-tabs a small{font-size:8px;letter-spacing:.14em;opacity:.7}

.pricing-loading{font-size:12px;color:#86917d;padding:40px 0}

.pricing-section{margin-top:44px;scroll-margin-top:96px}
.pricing-section>h2{font-family:var(--serif);font-size:26px;letter-spacing:.08em;line-height:1.6;display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.pricing-section>h2 small{font-family:var(--sans);font-size:9px;letter-spacing:.18em;color:var(--green);font-weight:500}
.pricing-summary{margin-top:14px;font-size:12.5px;line-height:2.1;color:#4d5b46;max-width:760px}

.pricing-table{width:100%;border-collapse:collapse;margin-top:26px;font-size:12.5px}
.pricing-table thead th{font-weight:500;font-size:10px;letter-spacing:.14em;color:#86917d;text-align:left;padding:0 14px 12px;border-bottom:1px solid var(--line)}
.pricing-table thead th.is-price{text-align:right;white-space:nowrap}
.pricing-table tbody td{padding:16px 14px;border-bottom:1px solid #e6e9e0;vertical-align:top}
.pricing-table tbody tr:hover{background:#fbfcf8}
.pricing-table .col-name{width:34%;font-weight:500}
.pricing-table .col-price{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;font-size:13.5px;letter-spacing:.02em}
.pricing-table .col-note{font-size:11px;color:#86917d;line-height:1.8}

.pricing-notes{margin:20px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:9px;max-width:820px}
.pricing-notes li{position:relative;padding-left:18px;font-size:11.5px;line-height:1.95;color:#5c6a54}
.pricing-notes li::before{content:"";position:absolute;left:2px;top:.75em;width:5px;height:5px;border-radius:50%;background:#b6c6ad}

#payments-section{margin-top:64px;padding-top:44px;border-top:1px solid var(--line)}
#payments-section>h2{font-family:var(--serif);font-size:22px;letter-spacing:.08em}

.pricing-disclaimer{margin-top:52px;padding:20px 22px;background:#eef1e8;border-radius:3px;font-size:11px;line-height:1.95;color:#5c6a54}
.pricing-back{margin-top:38px}
.pricing-footer{max-width:1120px;margin:0 auto;padding:0 4.8% 60px}

@media(max-width:860px){
  .pricing-nav{display:none}
  .pricing-tabs{top:0;padding:8px 0}
  .pricing-main{padding:36px 6% 64px}
  .pricing-hero h1{font-size:28px}
  .pricing-intro{font-size:12px;line-height:2}
  .pricing-tabs{gap:6px;margin-top:30px;overflow-x:auto;flex-wrap:nowrap;padding-bottom:8px;-webkit-overflow-scrolling:touch}
  .pricing-tabs a{padding:9px 14px;font-size:10px;flex:0 0 auto}
  .pricing-section{margin-top:32px}
  .pricing-section>h2{font-size:20px}
  .pricing-table{font-size:11.5px}
  .pricing-table thead{display:none}
  .pricing-table tbody tr{display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:14px 0;border-bottom:1px solid #e6e9e0}
  .pricing-table tbody td{border:0;padding:0}
  .pricing-table .col-name{grid-column:1;font-size:12.5px}
  .pricing-table .col-price{grid-column:2;grid-row:1;text-align:right}
  .pricing-table .col-note{grid-column:1/-1;font-size:10.5px;margin-top:4px}
  .pricing-disclaimer{font-size:10.5px}
}
