/* ハピマリ サブページ共通（site.css の変数・部品を前提とする） */
.global-nav{gap:22px;}
.global-nav a{font-size:16px;}
.global-nav a[aria-current="page"]{color:var(--secondary);font-weight:700;}
@media (max-width:1100px){.global-nav{gap:16px;}.global-nav a{font-size:15px;}}
@media (max-width:760px){.global-nav a{font-size:18px;}}

.container.narrow{max-width:860px;}

/* ページ見出し */
.page-hero{
  background:var(--section);
  border-bottom:1px solid var(--line);
  padding:64px 0 60px;
}
.crumb{font-size:15px;color:var(--text-soft);margin-bottom:22px;}
.crumb a{color:inherit;}
.page-title{
  font-family:var(--serif);font-weight:600;
  font-size:clamp(32px,5vw,48px);line-height:1.5;letter-spacing:.06em;
  margin-bottom:18px;
}
.page-lead{color:var(--text-soft);max-width:38em;}

/* 安心安全：項目カード */
.topic-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.topic{
  background:var(--white);border:1px solid var(--line);border-radius:16px;
  padding:30px 28px 34px;
}
.topic-no{font-family:var(--serif);font-size:15px;letter-spacing:.24em;color:var(--secondary);margin-bottom:12px;}
.topic-icon{
  width:60px;height:60px;border-radius:50%;
  background:var(--section);color:var(--secondary);
  display:grid;place-items:center;margin-bottom:18px;
}
.topic h3{font-size:20px;font-weight:700;letter-spacing:.04em;margin-bottom:10px;line-height:1.55;}
.topic p:last-child{font-size:17px;color:var(--text-soft);line-height:1.85;}
@media (max-width:900px){.topic-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:640px){.topic-grid{grid-template-columns:1fr;}}

.check-list{list-style:none;display:grid;gap:16px;}
.check-list li{
  background:var(--white);border:1px solid var(--line);border-radius:14px;
  padding:22px 26px 22px 64px;position:relative;color:var(--text-soft);font-size:18px;
}
.check-list li::before{
  content:"";position:absolute;left:24px;top:30px;width:20px;height:11px;
  border-left:3px solid var(--secondary);border-bottom:3px solid var(--secondary);
  transform:rotate(-45deg);
}
.check-list strong{display:block;color:var(--text);font-size:19px;margin-bottom:2px;}

.note-box{background:var(--white);border:1px solid var(--line);border-radius:16px;padding:28px 32px;margin-top:8px;}
.note-title{font-size:20px;margin-bottom:12px;}
.plain-list{list-style:none;display:grid;gap:12px;}
.plain-list li{padding-left:1.2em;text-indent:-1.2em;color:var(--text-soft);font-size:18px;}
.plain-list li::before{content:"・";color:var(--secondary);}
.related{margin-top:28px;}
.text-link{font-weight:700;color:var(--secondary);text-decoration:none;}
.text-link::after{content:" →";}
.text-link:hover{text-decoration:underline;}

/* 機能 */
.feat-row{
  display:grid;grid-template-columns:60px 1fr;gap:26px;align-items:start;
  padding:34px 0;border-bottom:1px solid var(--line);
}
.feat-row:first-child{padding-top:0;}
.feat-tag{font-size:14px;font-weight:700;letter-spacing:.14em;color:var(--secondary);margin-bottom:4px;}
.feat-row h3{font-family:var(--serif);font-size:25px;font-weight:600;letter-spacing:.05em;margin-bottom:10px;line-height:1.5;}
.feat-row p:last-child{color:var(--text-soft);font-size:18px;}
.feat-row .topic-icon{margin:0;}

/* 使い方 */
.guide-steps{list-style:none;counter-reset:g;display:grid;gap:22px;margin-bottom:40px;}
.guide-steps li{
  counter-increment:g;position:relative;
  background:var(--white);border:1px solid var(--line);border-radius:16px;
  padding:30px 32px 32px 96px;
}
.guide-steps li::before{
  content:counter(g);position:absolute;left:30px;top:24px;
  font-family:var(--serif);font-size:48px;line-height:1;color:var(--secondary);
}
.guide-steps h3{font-size:22px;margin-bottom:8px;}
.guide-steps p{color:var(--text-soft);font-size:18px;}
.step-note{margin-top:10px;font-size:16px;background:var(--section);border-radius:10px;padding:10px 14px;}
@media (max-width:640px){
  .guide-steps li{padding:84px 22px 26px;}
  .guide-steps li::before{left:22px;top:22px;}
}

/* お知らせ */
.news-list{list-style:none;border-top:1px solid var(--line);}
.news-item{
  display:grid;grid-template-columns:110px 130px 1fr;gap:20px;align-items:baseline;
  padding:22px 4px;border-bottom:1px solid var(--line);
}
.news-item time{color:var(--text-soft);font-size:17px;}
.news-tag{
  justify-self:start;font-size:14px;font-weight:700;letter-spacing:.08em;color:var(--secondary);
  background:var(--section);border-radius:999px;padding:3px 14px;
}
.news-item a{font-weight:500;color:var(--text);}
.news-item a:hover{color:var(--secondary);}
.news-empty{padding:48px 0;text-align:center;color:var(--text-soft);border-bottom:1px solid var(--line);}
.news-empty[hidden]{display:none;}
@media (max-width:640px){.news-item{grid-template-columns:1fr;gap:8px;}}

/* FAQ */
.faq-cat{
  font-family:var(--serif);font-size:24px;font-weight:600;letter-spacing:.06em;
  margin:48px 0 18px;color:var(--secondary);
}
.faq-cat:first-of-type{margin-top:0;}
.faq-list{max-width:none;}
