:root{
  --paper:#eef3f9; --paper-2:#f6f9fc; --card:#ffffff;
  --ink:#1b2a3c; --ink-soft:#54677d; --ink-faint:#8a9bb0;
  --line:#dce6f1; --line-soft:#e8eef6;
  --sky:#3a82c2; --sky-deep:#275d8e; --sky-mid:#6aa6d6; --sky-soft:#cfe1f2; --sky-wash:#e8f1fa;
  --sun:#f3c45f; --sun-deep:#dba62f; --sun-soft:#fbe7be;
  --cloud:#b9c6d6;
  --t-setsumei:#2a5d8f; --t-setsumei-bg:#e6f0fa;
  --t-bunkasai:#a9791b; --t-bunkasai-bg:#fbeecb;
  --t-moshi:#4a7a44;    --t-moshi-bg:#e8f1e6;
  --t-taiken:#8a4c80;   --t-taiken-bg:#f4e9f2;
  --c-boys:#2a5d8f;  --c-boys-bg:#e6f0fa;
  --c-girls:#b1466b; --c-girls-bg:#f7e6ec;
  --c-coed:#4a7a44;  --c-coed-bg:#e8f1e6;
  --c-other:#737a82; --c-other-bg:#ecedef;
  --res-open:#3a82c2;  --res-open-bg:#e8f1fa;
  --res-close:#c2615f; --res-close-bg:#f6e8e7;
  --res-urgent:#d23b34;--res-urgent-bg:#fbe3e1;
  --res-before:#7a8a99;--res-before-bg:#eef2f6;
  --mincho:"Shippori Mincho",serif;
  --gothic:"Zen Kaku Gothic New",sans-serif;
  --shadow-sm:0 1px 2px rgba(27,42,60,.05),0 2px 8px rgba(27,42,60,.04);
  --shadow-md:0 2px 6px rgba(27,42,60,.06),0 12px 30px rgba(27,42,60,.08);
  --r:14px;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{font-family:var(--gothic);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;line-height:1.6;}
a{color:inherit;text-decoration:none;}
.wrap{width:1200px;max-width:calc(100% - 48px);margin:0 auto;}

/* ===== ヘッダー ===== */
.head{position:sticky;top:0;z-index:200;background:rgba(246,249,252,.9);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line);}
.head .bar{display:flex;align-items:center;gap:20px;height:64px;}
.brand{display:flex;align-items:center;gap:10px;cursor:pointer;}
.glyph{position:relative;width:34px;height:34px;flex:0 0 auto;}
.glyph .sun{position:absolute;right:2px;top:1px;width:20px;height:20px;border-radius:50%;background:radial-gradient(circle at 38% 35%,#ffe9ab,var(--sun) 60%,var(--sun-deep));box-shadow:0 0 0 4px rgba(243,196,95,.2);}
.glyph .cloud{position:absolute;left:0;bottom:2px;width:25px;height:13px;border-radius:999px;background:#fff;box-shadow:0 1px 0 rgba(27,42,60,.06);}
.glyph .cloud::before{content:"";position:absolute;left:4px;top:-6px;width:13px;height:13px;border-radius:50%;background:#fff;}
.glyph .cloud::after{content:"";position:absolute;left:12px;top:-8px;width:10px;height:10px;border-radius:50%;background:#fff;}
.brand .name{font-family:var(--mincho);font-weight:700;font-size:19px;letter-spacing:.04em;}
.brand .name small{display:block;font-family:var(--gothic);font-weight:500;font-size:9px;letter-spacing:.26em;color:var(--sky-deep);margin-top:1px;}
.nav{margin-left:auto;display:flex;align-items:center;gap:2px;}
.nav a{font-size:13.5px;font-weight:500;color:var(--ink-soft);padding:7px 12px;border-radius:999px;transition:.15s;white-space:nowrap;}
.nav a:hover{color:var(--sky-deep);background:var(--sky-wash);}
.nav a.active{color:var(--sky-deep);background:var(--sky-wash);font-weight:700;}

/* ===== フッター ===== */
.foot{background:var(--ink);color:#b9c8d6;margin-top:0;}
.foot .bar{display:flex;align-items:center;gap:20px;padding:22px 0;flex-wrap:wrap;}
.foot .fname{font-family:var(--mincho);font-size:15px;color:#fff;font-weight:700;}
.foot .flinks{margin-left:auto;display:flex;gap:20px;flex-wrap:wrap;}
.foot .flinks a{font-size:12.5px;color:#b9c8d6;transition:.15s;}
.foot .flinks a:hover{color:#fff;}
.foot .disc{font-size:11px;color:#637484;width:100%;border-top:1px solid rgba(255,255,255,.08);padding-top:12px;line-height:1.8;}
.foot .copy{font-size:11.5px;color:#7f93a8;}

/* ===== ドキュメントページ ===== */
.doc{max-width:760px;margin:0 auto;padding:40px 0 64px;}
.doc h1{font-family:var(--mincho);font-size:26px;font-weight:700;letter-spacing:.02em;margin:0 0 .3em;line-height:1.4;}
.doc .doc-date{font-size:12px;color:var(--ink-faint);margin:0 0 1.6em;}
.doc h2{font-family:var(--mincho);font-size:18px;font-weight:700;letter-spacing:.02em;margin:2.2em 0 .8em;padding-bottom:.4em;border-bottom:1px solid var(--line-soft);color:var(--ink);}
.doc p,.doc li{font-size:14px;color:var(--ink-soft);line-height:1.9;}
.doc p{margin:0 0 1em;}
.doc strong{color:var(--ink);font-weight:700;}
.doc ul{padding-left:1.4em;margin:0 0 1em;}
.doc li{margin:.4em 0;}
.doc a{color:var(--sky-deep);text-decoration:underline;text-underline-offset:3px;}
.doc a:hover{color:var(--sky);}
.doc .lead{font-size:15px;color:var(--ink-soft);line-height:1.9;margin:0 0 1.6em;}
.doc .note{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px 20px;font-size:13px;line-height:1.9;color:var(--ink-soft);margin:1.6em 0 0;box-shadow:var(--shadow-sm);}
.doc .note p{font-size:13px;margin:0 0 .6em;}
.doc .note p:last-child{margin-bottom:0;}

/* ===== 埋め込みフォーム ===== */
.doc .form-embed{width:100%;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--card);box-shadow:var(--shadow-sm);margin:1.4em 0;}
.doc .form-embed iframe{display:block;width:100%;border:0;}

/* ===== レスポンシブ ===== */
@media(max-width:960px){
  .wrap{max-width:calc(100% - 32px);}
}
@media(max-width:600px){
  .head .nav{display:none;}
  .doc{padding:28px 0 48px;}
  .doc h1{font-size:22px;}
  .doc h2{font-size:17px;}
}
@media(max-width:480px){
  .head .bar{height:50px;}
  .brand .name{font-size:15px;}
  .brand .name small{display:none;}
  .glyph{width:26px;height:26px;}
  .wrap{max-width:calc(100% - 24px);}
}
