/* 特定商取引法・プライバシーポリシー・キャンセルポリシー 共通スタイル */
:root{
  --bg:#fcfbf8;
  --surface:#ffffff;
  --ink:#2f3d5c;
  --ink-soft:#5d6880;
  --mute:#8f97a8;
  --line:rgba(74,99,152,.16);
  --brand:#4a6398;
  --brand-tint:rgba(74,99,152,.07);
  --logo:"Italiana",serif;
  --serif:"Shippori Mincho",serif;
  --sans:"Zen Kaku Gothic New",system-ui,sans-serif;
  --latin:"Cormorant Garamond",serif;
}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--bg);color:var(--ink);font-family:var(--sans);line-height:2;letter-spacing:.05em;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:var(--brand)}
.wrap{width:100%;max-width:760px;margin:0 auto;padding:0 16px}

.glow{position:fixed;inset:0;pointer-events:none;z-index:-1;filter:blur(90px);opacity:.4}
.glow i{position:absolute;border-radius:50%}
.glow i:nth-child(1){width:44vmax;height:44vmax;background:#c9b8ec;top:-20vmax;left:-14vmax}
.glow i:nth-child(2){width:32vmax;height:32vmax;background:#fbe3a0;top:-12vmax;right:-10vmax}

header{border-bottom:1px solid var(--line);background:rgba(252,251,248,.75);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);position:sticky;top:0;z-index:10}
header .wrap{display:flex;justify-content:space-between;align-items:center;height:72px}
.logo{display:inline-flex;align-items:center;font-family:var(--logo);font-size:1.7rem;color:var(--brand);text-decoration:none}
.logo img{height:32px;width:auto}
header nav a{font-size:.8rem;text-decoration:none;color:var(--ink-soft)}
header nav a:hover{color:var(--brand)}

main{padding:72px 0 96px}
.en{font-family:var(--latin);color:var(--brand);font-size:.82rem;letter-spacing:.4em;text-transform:uppercase;display:block}
h1{font-family:var(--serif);font-weight:500;font-size:clamp(1.5rem,5vw,2rem);letter-spacing:.12em;line-height:1.7;margin:14px 0 20px}
.lead{color:var(--ink-soft);font-size:.92rem}

.doc{margin-top:48px;background:rgba(255,255,255,.82);border:1px solid var(--line);border-radius:6px;padding:clamp(24px,5vw,48px)}
.doc h2{font-family:var(--serif);font-weight:500;font-size:1.05rem;letter-spacing:.1em;padding-left:14px;border-left:2px solid var(--brand);line-height:1.7;margin:40px 0 14px}
.doc h2:first-child{margin-top:0}
.doc p,.doc li{color:var(--ink-soft);font-size:.92rem}
.doc p+p{margin-top:.8em}
.doc ul,.doc ol{padding-left:1.4em;margin-top:.6em}
.doc li+li{margin-top:.3em}

/* 表形式（特商法） */
.table{display:grid;grid-template-columns:180px 1fr;border-top:1px solid var(--line)}
.table dt,.table dd{padding:18px 0;border-bottom:1px solid var(--line);font-size:.92rem}
.table dt{font-family:var(--serif);color:var(--ink);letter-spacing:.08em;padding-right:16px}
.table dd{color:var(--ink-soft)}
@media (max-width:600px){.table{grid-template-columns:1fr}.table dt{border-bottom:none;padding-bottom:0}.table dd{padding-top:2px}}

/* キャンセル料の表 */
.fee{width:100%;border-collapse:collapse;margin-top:12px;font-size:.92rem}
.fee th,.fee td{padding:14px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.fee th{font-weight:400;color:var(--ink-soft)}
.fee td{font-family:var(--latin);font-size:1.25rem;color:var(--brand);white-space:nowrap;text-align:right}
.fee td.free{font-family:var(--sans);font-size:.92rem;letter-spacing:.05em;color:var(--ink-soft)}
.fee tr:first-child th,.fee tr:first-child td{border-top:1px solid var(--line)}
.note{margin-top:14px;font-size:.84rem;color:var(--mute)}

.dates{margin-top:40px;text-align:right;font-size:.84rem;color:var(--mute)}

.back{display:inline-flex;gap:10px;margin-top:40px;font-size:.88rem;text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:4px}
.back:hover{border-color:var(--brand)}

footer{border-top:1px solid var(--line);padding:36px 0 44px;text-align:center}
footer nav{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 24px;font-size:.8rem;margin-bottom:16px}
footer nav a{color:var(--ink-soft);text-decoration:none}
footer nav a[aria-current="page"]{color:var(--brand)}
footer small{font-family:var(--latin);letter-spacing:.2em;color:var(--mute);font-size:.78rem}
