/* F-GUARD サブページ共通スタイル（本体LPと同じ設計に合わせています） */
:root{
  --paper:#FCFBF9;
  --paper-2:#F1EEE9;
  --ink:#14191F;
  --ink-2:#5D6670;
  --brand:#036EB8;
  --brand-dk:#02528A;
  --night:#0A1620;
  --ember:#C1471C;
  --line:#DFDAD2;
  --col:44rem;
  --pad:1.5rem;
  --mincho:"Zen Old Mincho",'Hiragino Mincho ProN','Yu Mincho',serif;
  --gothic:"Zen Kaku Gothic New",'Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif;
}
*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:var(--gothic);font-size:16px;line-height:1.95;letter-spacing:.02em;
  font-feature-settings:"palt" 1;
}
img{max-width:100%;display:block;}
a{color:var(--brand);}
h1,h2,h3{margin:0;line-height:1.55;}
p{margin:0 0 1.2em;}
p:last-child{margin-bottom:0;}

.col{max-width:var(--col);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad);}

/* ヘッダー */
.head{
  position:sticky;top:0;z-index:50;
  display:flex;align-items:center;gap:1rem;padding:.6rem 1.1rem;
  background:rgba(252,251,249,.94);
  -webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px);
  border-bottom:1px solid var(--line);
}
.head__mark{display:flex;align-items:center;gap:.55rem;text-decoration:none;color:inherit;margin-right:auto;}
.head__mark img{height:32px;width:auto;}
.head__mark b{font-family:var(--mincho);font-size:.95rem;letter-spacing:.14em;font-weight:600;}

/* 見出し */
.page-head{padding-top:3.5rem;padding-bottom:1.2rem;text-align:center;}
.page-head h1{
  font-family:var(--mincho);font-weight:600;
  font-size:clamp(1.3rem,5vw,1.9rem);letter-spacing:.03em;
}
.page-head p{margin-top:.9rem;font-size:.9rem;color:var(--ink-2);}
.page-body{padding-bottom:4.5rem;}

/* 表 */
.tbl{width:100%;border-collapse:collapse;font-size:.9rem;line-height:1.9;}
.tbl th,.tbl td{text-align:left;vertical-align:top;padding:1rem 0;border-bottom:1px solid var(--line);}
.tbl th{width:11em;font-weight:500;color:var(--ink-2);}
@media(max-width:560px){
  .tbl th,.tbl td{display:block;width:auto;}
  .tbl th{border-bottom:0;padding:.9rem 0 .1rem;font-size:.78rem;}
  .tbl td{padding:0 0 .9rem;}
}

/* 条文 */
.article{margin-bottom:2.4rem;}
.article h2{
  font-size:1rem;font-weight:700;margin-bottom:.6rem;
  padding-left:.7rem;border-left:3px solid var(--brand);
}
.article p,.article li{font-size:.9rem;line-height:1.95;color:var(--ink-2);}
.article ol,.article ul{margin:0 0 1.2em;padding-left:1.4em;}
.article li{margin-bottom:.35em;}

/* フォーム */
.form{margin-top:1rem;}
.field{margin-bottom:1.6rem;}
.field > label{display:block;font-size:.88rem;font-weight:700;margin-bottom:.45rem;}
.req{
  display:inline-block;margin-left:.5em;padding:.05em .5em;border-radius:2px;
  background:var(--ember);color:#fff;font-size:.68rem;font-weight:700;letter-spacing:.06em;
  vertical-align:.1em;
}
.opt{
  display:inline-block;margin-left:.5em;padding:.05em .5em;border-radius:2px;
  background:var(--line);color:var(--ink-2);font-size:.68rem;font-weight:700;letter-spacing:.06em;
  vertical-align:.1em;
}
.hint{display:block;font-size:.76rem;font-weight:400;color:var(--ink-2);margin-top:.2rem;}
input[type=text],input[type=email],input[type=tel],select,textarea{
  width:100%;font-family:inherit;font-size:1rem;color:var(--ink);
  background:#fff;border:1px solid var(--line);border-radius:4px;
  padding:.75rem .8rem;line-height:1.6;
}
textarea{min-height:9rem;resize:vertical;}
select{appearance:none;-webkit-appearance:none;background-image:none;}
input:focus,select:focus,textarea:focus{outline:2px solid var(--brand);outline-offset:1px;border-color:var(--brand);}
.checks{display:grid;gap:.5rem;}
.checks label{display:flex;align-items:flex-start;gap:.55rem;font-size:.9rem;line-height:1.7;}
.checks input{margin-top:.35rem;flex:none;}
.agree{
  background:var(--paper-2);border-radius:4px;padding:1.1rem 1.2rem;margin:2rem 0 1.8rem;
  font-size:.88rem;line-height:1.8;
}
.agree label{display:flex;align-items:flex-start;gap:.55rem;}
.agree input{margin-top:.35rem;flex:none;}
.btn{
  display:block;width:100%;max-width:22rem;margin:0 auto;text-align:center;text-decoration:none;
  background:var(--brand);color:#fff;border:0;border-radius:999px;cursor:pointer;
  font-family:inherit;font-weight:700;font-size:1rem;letter-spacing:.06em;padding:1.05rem 2rem;
  box-shadow:0 4px 16px rgba(3,110,184,.28);transition:background .18s ease;
}
.btn:hover,.btn:focus-visible{background:var(--brand-dk);}
.note{font-size:.78rem;line-height:1.85;color:var(--ink-2);}
.note-box{
  border:1px solid var(--line);border-left:2px solid #B9B2A6;background:#F5F3EF;
  padding:1.1rem 1.2rem;font-size:.82rem;line-height:1.85;color:var(--ink-2);
  border-radius:0 4px 4px 0;margin-bottom:2rem;
}

/* 未確定の項目（公開前に必ず埋めること） */
.todo{background:#FFF6D9;border-bottom:1px dashed #C9A227;padding:0 .25em;color:#7A6A2E;}

/* フッター */
.foot{
  padding-top:2.6rem;padding-bottom:3.2rem;border-top:1px solid var(--line);
  text-align:center;font-size:.8rem;line-height:1.9;color:var(--ink-2);
}
.foot__logo{width:38px;margin:0 auto 1.2rem;opacity:.75;}
.foot ul{list-style:none;margin:1.4rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem 1.4rem;justify-content:center;}
.foot ul a{text-decoration:none;color:inherit;border-bottom:1px solid var(--line);}
.foot ul a:hover{color:var(--brand);border-color:var(--brand);}
.copy{margin-top:2rem;font-size:.72rem;color:#8A9199;}
