:root {
  color-scheme: light;
  font-family: "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic", system-ui, sans-serif;
  color: #242526;
  background: #f7f7f7;
  font-synthesis: none;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; }
a { color: inherit; }
.manual-header {
  min-height: 76px;
  padding: 18px clamp(24px, 4vw, 52px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  background: #fff;
  border-bottom: 1px solid #e3e4e5;
}
.manual-brand { display: flex; align-items: center; gap: 12px; white-space: nowrap; }
.manual-brand strong { font-size: 28px; font-weight: 800; letter-spacing: -.08em; line-height: 1; }
.manual-brand span { font-size: 11px; font-weight: 700; letter-spacing: .08em; color: #737578; }
.manual-back { color: #426d50; font-size: 14px; font-weight: 700; text-decoration: none; }
.manual-back:hover, .manual-step a:hover { text-decoration: underline; }
.manual-back:focus-visible, a:focus-visible { outline: 3px solid #72a080; outline-offset: 4px; }
.manual-main { width: min(100% - 48px, 1040px); margin: 0 auto; padding: 64px 0 100px; }
.manual-heading { margin-bottom: 34px; }
h1 { margin: 0; font-size: clamp(32px, 5vw, 48px); letter-spacing: -.04em; line-height: 1.3; }
.manual-heading > p:last-child { margin: 14px 0 0; color: #65686b; font-size: 17px; }
.manual-toc { display: flex; flex-wrap: wrap; gap: 9px; margin-bottom: 48px; }
.manual-toc a { padding: 8px 12px; border: 1px solid #dbe3dc; border-radius: 8px; background: #fff; color: #426d50; font-size: 13px; font-weight: 700; text-decoration: none; }
.manual-toc a:hover { background: #edf5ef; }
.manual-intro { margin-bottom: 18px; }
.manual-intro h2 { margin: 0 0 10px; font-size: 25px; }
.manual-intro p { max-width: 760px; margin: 0; color: #65686b; font-size: 15px; line-height: 1.9; }
.manual-step { padding: 38px 0 44px; border-bottom: 1px solid #dedfe1; scroll-margin-top: 24px; }
.manual-step-copy { display: flex; align-items: flex-start; gap: 16px; max-width: 800px; }
.manual-step-number { flex: 0 0 36px; height: 36px; display: inline-grid; place-items: center; border-radius: 50%; background: #3d8056; color: #fff; font-size: 17px; font-weight: 800; }
.manual-step h3 { margin: 1px 0 11px; font-size: clamp(20px, 3vw, 25px); line-height: 1.4; }
.manual-step p { margin: 0 0 12px; color: #515457; font-size: 15px; line-height: 1.9; }
.manual-step p:last-child { margin-bottom: 0; }
.manual-step strong { color: #242526; }
.manual-step a { color: #316d47; font-weight: 700; }
.manual-step .manual-note { color: #6b6d70; font-size: 13px; }
.manual-shot { margin: 22px 0 0 52px; padding: 13px; border: 1px solid #e3e4e5; border-radius: 14px; background: #fff; }
.manual-shot img { display: block; width: 100%; height: auto; border-radius: 7px; }
.manual-shot figcaption { margin: 10px 4px 1px; color: #76797b; font-size: 12px; }
.manual-help { margin-top: 46px; padding: 26px 30px; border: 1px solid #dbe3dc; border-radius: 14px; background: #edf5ef; }
.manual-help h2 { margin: 0 0 10px; font-size: 20px; }
.manual-help ul { margin: 0; padding-left: 1.4em; color: #475b4c; font-size: 14px; line-height: 1.9; }
.manual-help li + li { margin-top: 5px; }
@media (max-width: 640px) {
  .manual-header { min-height: 66px; padding: 16px; }
  .manual-brand { gap: 8px; }
  .manual-brand strong { font-size: 25px; }
  .manual-brand span { font-size: 9px; }
  .manual-back { font-size: 12px; }
  .manual-main { width: min(100% - 30px, 1040px); padding: 36px 0 70px; }
  .manual-toc { margin-bottom: 36px; }
  .manual-step { padding: 30px 0 34px; }
  .manual-step-copy { gap: 11px; }
  .manual-step-number { flex-basis: 32px; height: 32px; font-size: 15px; }
  .manual-shot { margin-left: 0; padding: 7px; }
  .manual-help { padding: 22px 18px; }
}
