
@import url('https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@500;700&display=swap');
/* ---------- tokens ---------- */
/* root tokens serve only the preview chrome (conversation wrapper) and follow the host theme via light-dark();
   the public-site palette is fixed inside .hp-site below so it never depends on the host theme */
#himawari-gentle-flow {
  --hp-ink: light-dark(#000,#f2f2f2);
  --hp-muted: light-dark(#555,#b3b3b3);
  --hp-action: light-dark(#003399,#9ec5ff);
  --hp-on-action: light-dark(#fff,#111);
  --hp-focus: light-dark(#003399,#9ec5ff);
  --hp-heading-font: "Zen Maru Gothic","Hiragino Maru Gothic ProN","Yu Gothic",Meiryo,sans-serif;
  font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,Osaka,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
  color: var(--hp-ink); font-size: 16px; line-height: 1.8; width: 100%; background: transparent;
}
#himawari-gentle-flow * { box-sizing: border-box; }
#himawari-gentle-flow [hidden] { display: none !important; }
#himawari-gentle-flow :is(button,input,select,textarea) { font: inherit; }
#himawari-gentle-flow button { white-space: normal; }
#himawari-gentle-flow p { margin: 0 0 16px; }
#himawari-gentle-flow :is(h1,h2,h3) { margin: 0; font-family: var(--hp-heading-font); font-weight: 700; line-height: 1.55; }
#himawari-gentle-flow h1 { font-size: 28.8px; letter-spacing: 4px; }
#himawari-gentle-flow h2 { font-size: 25.6px; letter-spacing: 4px; }
#himawari-gentle-flow h3 { font-size: 19.2px; letter-spacing: 2px; }
#himawari-gentle-flow :is(button,a,input,select,textarea,summary):focus-visible { outline: 3px solid var(--hp-focus); outline-offset: 3px; }
#himawari-gentle-flow .hp-page:focus { outline: none; }
#himawari-gentle-flow .hp-sr { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; clip-path: inset(50%); overflow: hidden; white-space: nowrap; }
/* icons: empty i[data-lucide] placeholders; the host's Lucide runtime swaps each for an inline svg that keeps these classes */
#himawari-gentle-flow .hp-icon { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0; }
#himawari-gentle-flow .hp-icon-lg { width: 22px; height: 22px; stroke-width: 1.8; }
#himawari-gentle-flow .hp-icon-xl { width: 30px; height: 30px; stroke-width: 1.7; }
/* ---------- preview chrome (conversation wrapper, not the public site) ---------- */
#himawari-gentle-flow .hp-preview-head { display: flex; align-items: center; justify-content: space-between; gap: 6px 16px; flex-wrap: wrap; padding: 0 96px 14px 0; font-size: 12px; color: var(--hp-muted); }
#himawari-gentle-flow .hp-preview-label { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
#himawari-gentle-flow .hp-preview-tag { border: 1px solid currentColor; border-radius: 4px; padding: 0 6px; font-weight: 600; line-height: 1.7; }
#himawari-gentle-flow .hp-screen-nav { display: flex; gap: 4px; flex-wrap: wrap; align-items: center; }
#himawari-gentle-flow .hp-screen-nav button { border: 0; background: transparent; color: var(--hp-muted); padding: 5px 8px; border-radius: 4px; font-size: 12px; }
#himawari-gentle-flow .hp-screen-nav button[aria-pressed=true] { background: var(--hp-action); color: var(--hp-on-action); }
#himawari-gentle-flow .hp-screen-nav-sep { width: 1px; height: 16px; background: currentColor; opacity: .35; margin: 0 4px; }
#himawari-gentle-flow .hp-screen-ref { outline: 1px dashed currentColor; outline-offset: -1px; }
#himawari-gentle-flow .hp-preview-note { flex-basis: 100%; margin: 0; font-size: 12px; line-height: 1.6; }
#himawari-gentle-flow .hp-preview-note:empty { display: none; }
/* ---------- site shell ---------- */
/* fixed public-site palette, taken from the existing theme (css/common.css, css/base.css):
   canvas/inputs #fff, text #000, links #039 (#003399) with #FF7898 hover, inline nav #555, buttons/selected accent #FF7898,
   dividers #aaa/#ccc, footer #FBFBFB, title band #efa1bd→#efc6c5 with white text.
   mint / cloud / slate-blue stay as hero-only illustration surround colours */
#himawari-gentle-flow .hp-site {
  color-scheme: light;
  --hp-paper: #fff;
  --hp-ink: #000;
  --hp-muted: #555;
  --hp-nav-ink: #555;
  --hp-link: #003399;
  --hp-brand-pink: #FF7898;
  --hp-line: #ccc;
  --hp-line-strong: #aaa;
  --hp-pale: #f2f2f2;
  --hp-gray-band: #FBFBFB;
  --hp-focus: #003399;
  --hp-error: oklch(46% .17 25);
  --hp-error-bg: oklch(97.5% .018 25);
  --hp-error-line: oklch(82% .08 25);
  --hp-mint: oklch(94% .029 166);
  --hp-blue-ink: oklch(38% .065 220);
  --hp-cloud: oklch(99.4% .003 166);
  --hp-letter-pink: oklch(96% .025 354);
  background: var(--hp-paper); color: var(--hp-ink);
}
#himawari-gentle-flow .hp-site>main { max-width: 960px; margin: 0 auto; }
#himawari-gentle-flow :is(.hp-content,.hp-form-content,.hp-footer) p { letter-spacing: 1px; }
#himawari-gentle-flow .hp-header { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 40px 16px; max-width: 960px; margin: 0 auto; }
#himawari-gentle-flow .hp-logo-button { border: 0; background: transparent; padding: 0; display: block; flex: 0 0 200px; }
#himawari-gentle-flow .hp-logo { display: block; width: 200px; height: auto; }
#himawari-gentle-flow .hp-main-menu { display: flex; align-items: center; justify-content: flex-end; gap: 22px; flex-wrap: wrap; font-family: var(--hp-heading-font); font-size: 16px; font-weight: 700; letter-spacing: 2px; color: var(--hp-nav-ink); }
#himawari-gentle-flow .hp-nav-box { border: 0; border-bottom: 2px solid transparent; background: transparent; color: inherit; padding: 4px 0 2px; font: inherit; letter-spacing: inherit; }
#himawari-gentle-flow .hp-nav-box:hover { border-bottom-color: currentColor; }
#himawari-gentle-flow .hp-nav-box[aria-current=page] { border-bottom-color: var(--hp-brand-pink); }
#himawari-gentle-flow .hp-mobile-toggle { display: none; }
#himawari-gentle-flow .hp-footer { margin-top: 40px; background: var(--hp-gray-band); padding: 60px 0 20px; color: var(--hp-ink); }
#himawari-gentle-flow .hp-footer-inner { max-width: 960px; margin: 0 auto; padding: 0 16px; display: flex; justify-content: space-between; align-items: flex-start; gap: 32px; }
#himawari-gentle-flow .hp-footer-logo-button { border: 0; background: transparent; padding: 0; display: block; }
#himawari-gentle-flow .hp-footer-logo-button img { display: block; width: 200px; height: auto; }
#himawari-gentle-flow .hp-footer-address { margin: 20px 0 0; font-size: 14px; line-height: 1.8; }
#himawari-gentle-flow .hp-footer-menu { display: flex; gap: 12px 20px; flex-wrap: wrap; justify-content: flex-end; align-items: center; max-width: 470px; font-size: 14px; color: var(--hp-nav-ink); }
#himawari-gentle-flow .hp-copyright { max-width: 960px; margin: 32px auto 0; padding: 0 16px; text-align: right; font-size: 12px; color: var(--hp-muted); }
#himawari-gentle-flow .hp-text-button { padding: 0; background: transparent; border: 0; color: var(--hp-link); text-decoration: underline; text-underline-offset: 4px; font-size: inherit; }
#himawari-gentle-flow .hp-text-button:hover { color: var(--hp-brand-pink); text-decoration-thickness: 2px; }
#himawari-gentle-flow .hp-breadcrumb { margin: 0 16px; padding: 16px 0; display: flex; align-items: center; gap: 6px; flex-wrap: wrap; font-size: 13.3333px; line-height: 1.4; color: var(--hp-ink); }
#himawari-gentle-flow .hp-breadcrumb .hp-text-button { text-decoration: none; }
#himawari-gentle-flow .hp-breadcrumb .hp-text-button:hover { text-decoration: underline 2px; }
/* ---------- shared title band (matches existing お問い合わせ page title) ---------- */
#himawari-gentle-flow .hp-title-band { margin: 16px 16px 0; padding: 40px; background: linear-gradient(90deg,#efa1bd,#efc6c5); border-radius: 8px; }
#himawari-gentle-flow .hp-title-band h1 { color: #fff; font-family: var(--hp-heading-font); font-size: 28.8px; line-height: 1.15; letter-spacing: 4px; font-weight: 700; }
/* ---------- illustrated hero (dedicated page + top entry) ---------- */
#himawari-gentle-flow .hp-meyasu-hero { position: relative; isolation: isolate; display: grid; grid-template-columns: minmax(0,1.3fr) minmax(0,.7fr); align-items: end; gap: 8px; margin: 10px 24px 0; padding: 14px 26px 0; background: var(--hp-letter-pink); border-radius: 23px 30px 20px 26px; overflow: hidden; }
#himawari-gentle-flow .hp-letter-space { position: relative; isolation: isolate; align-self: center; padding: 24px 26px 26px; text-align: center; margin-bottom: 14px; }
#himawari-gentle-flow .hp-letter-space::before { content: ""; position: absolute; inset: 12px -7px 10px; z-index: -1; background: var(--hp-cloud); border-radius: 48% 44% 47% 42% / 35% 39% 34% 36%; }
#himawari-gentle-flow .hp-cloud-lobes { position: absolute; inset: 0; z-index: -1; pointer-events: none; }
#himawari-gentle-flow .hp-cloud-lobes span { position: absolute; width: 43%; height: 37%; background: var(--hp-cloud); border-radius: 50%; }
#himawari-gentle-flow .hp-cloud-lobes span:nth-child(1) { left: 5%; top: 0; }
#himawari-gentle-flow .hp-cloud-lobes span:nth-child(2) { right: 6%; top: -3px; }
#himawari-gentle-flow .hp-cloud-lobes span:nth-child(3) { left: 8%; bottom: 0; }
#himawari-gentle-flow .hp-cloud-lobes span:nth-child(4) { right: 8%; bottom: -3px; }
#himawari-gentle-flow .hp-cloud-lobes span:nth-child(5) { left: 30%; top: -7px; width: 40%; height: 42%; }
#himawari-gentle-flow .hp-eyebrow { display: inline-flex; align-items: center; gap: 10px; font-family: var(--hp-heading-font); font-size: 18px; font-weight: 700; letter-spacing: .14em; color: var(--hp-blue-ink); margin-bottom: 6px; line-height: 1.5; }
#himawari-gentle-flow .hp-eyebrow::before, #himawari-gentle-flow .hp-eyebrow::after { content: ""; width: 18px; height: 2px; border-radius: 2px; background: var(--hp-brand-pink); flex-shrink: 0; }
#himawari-gentle-flow .hp-letter-heading { font-family: var(--hp-heading-font); color: var(--hp-blue-ink); font-size: 26px; font-weight: 700; line-height: 1.5; letter-spacing: .02em; margin-bottom: 10px; }
#himawari-gentle-flow .hp-letter-body { font-size: 15px; line-height: 1.8; margin-bottom: 16px; }
#himawari-gentle-flow .hp-hero-actions { display: flex; align-items: center; justify-content: center; gap: 10px 14px; flex-wrap: wrap; }
#himawari-gentle-flow .hp-letter-foot { font-size: 12px; color: var(--hp-muted); }
#himawari-gentle-flow .hp-meyasu-hero .hp-primary { max-width: 100%; }
#himawari-gentle-flow .hp-meyasu-art { align-self: end; padding: 0; margin: 0; display: flex; align-items: flex-end; justify-content: center; }
#himawari-gentle-flow .hp-meyasu-art img { display: block; width: 100%; max-width: 200px; height: auto; object-fit: contain; }
#himawari-gentle-flow .hp-index-hero { margin-top: 20px; padding: 12px 30px 0; background: var(--hp-mint); grid-template-columns: minmax(0,1.3fr) minmax(0,.7fr); }
#himawari-gentle-flow .hp-index-hero .hp-letter-space { padding: 24px 26px; }
#himawari-gentle-flow .hp-index-hero .hp-meyasu-art img { max-width: 186px; }
/* soft rainbow arc echoing the existing top slide: a clipped upper half of a pastel ring, behind the character */
#himawari-gentle-flow .hp-rainbow { --rb: 210px; position: absolute; z-index: -1; pointer-events: none; right: -130px; top: 6px; width: calc(var(--rb) * 2); height: calc(var(--rb) * 1.02); overflow: hidden; opacity: .55; }
#himawari-gentle-flow .hp-rainbow::before { content: ""; position: absolute; left: 0; top: 0; width: calc(var(--rb) * 2); height: calc(var(--rb) * 2); border-radius: 50%; background: radial-gradient(circle at center, transparent 0 calc(var(--rb) * .66), oklch(88% .06 320) calc(var(--rb) * .66) calc(var(--rb) * .715), oklch(87% .06 240) calc(var(--rb) * .715) calc(var(--rb) * .77), oklch(90% .07 150) calc(var(--rb) * .77) calc(var(--rb) * .825), oklch(93% .09 95) calc(var(--rb) * .825) calc(var(--rb) * .88), oklch(89% .08 55) calc(var(--rb) * .88) calc(var(--rb) * .935), oklch(86% .08 15) calc(var(--rb) * .935) calc(var(--rb) * .99), transparent calc(var(--rb) * .99)); }
#himawari-gentle-flow .hp-entry-box-name { font-size: 13px; line-height: 1.5; color: var(--hp-muted); margin-bottom: 6px; }
#himawari-gentle-flow .hp-box-jump { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 48px; max-width: 100%; border: 0; background: transparent; color: var(--hp-link); font-size: 15px; font-weight: 600; white-space: normal; text-decoration: underline; text-underline-offset: 6px; text-decoration-thickness: 2px; text-decoration-color: var(--hp-brand-pink); padding: 6px 2px; }
#himawari-gentle-flow .hp-box-jump:hover { color: var(--hp-brand-pink); }
/* ---------- dedicated page content ---------- */
#himawari-gentle-flow .hp-content { padding: 24px 16px 32px; }
#himawari-gentle-flow .hp-guide { margin: 0 0 40px; }
#himawari-gentle-flow .hp-guide-title { font-size: 16px; letter-spacing: .12em; color: var(--hp-ink); margin-bottom: 12px; display: flex; align-items: center; gap: 10px; }
#himawari-gentle-flow .hp-guide-title::after { content: ""; flex: 1; height: 1px; background: var(--hp-brand-pink); }
#himawari-gentle-flow .hp-guide-steps { list-style: none; margin: 0 0 12px; padding: 0; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
#himawari-gentle-flow .hp-guide-steps li { display: flex; align-items: center; gap: 12px; padding: 8px 0; font-size: 14px; font-weight: 400; line-height: 1.5; }
#himawari-gentle-flow .hp-guide-icon { display: none; }
#himawari-gentle-flow .hp-guide-text { display: flex; align-items: center; gap: 8px; min-width: 0; }
#himawari-gentle-flow .hp-guide-num { font-family: var(--hp-heading-font); font-size: 12px; color: var(--hp-link); border: 1px solid currentColor; border-radius: 50%; width: 20px; height: 20px; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }
#himawari-gentle-flow .hp-guide-notes { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px 18px; font-size: 13px; color: var(--hp-muted); }
#himawari-gentle-flow .hp-guide-notes li { display: inline-flex; align-items: center; gap: 6px; }
#himawari-gentle-flow .hp-guide-notes li::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--hp-brand-pink); flex-shrink: 0; }
#himawari-gentle-flow .hp-section-title { margin: 0 0 24px; font-size: 25.6px; line-height: 1.15; }
#himawari-gentle-flow #hp-box-list { scroll-margin-top: 16px; }
#himawari-gentle-flow .hp-box-card { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 24px 40px; border-top: 1px solid var(--hp-line); padding: 32px 0; background: var(--hp-paper); }
#himawari-gentle-flow .hp-box-mark { display: none; }
#himawari-gentle-flow .hp-upcoming .hp-box-mark { background: var(--hp-pale); color: var(--hp-muted); }
#himawari-gentle-flow .hp-upcoming h3 { color: var(--hp-muted); }
#himawari-gentle-flow .hp-box-status { margin: 0 0 6px; }
#himawari-gentle-flow .hp-box-card h3 { margin: 0 0 16px; padding-bottom: 4px; border-bottom: 1px solid var(--hp-brand-pink); line-height: 1.15; }
#himawari-gentle-flow .hp-box-body p { max-width: 38em; font-size: 16px; line-height: 1.8; margin-bottom: 16px; }
#himawari-gentle-flow .hp-box-action { display: flex; align-items: center; justify-content: flex-end; }
#himawari-gentle-flow .hp-box-action .hp-primary { flex-shrink: 0; }
#himawari-gentle-flow .hp-status { display: inline-block; font-size: 12px; line-height: 1.7; color: var(--hp-muted); padding: 1px 9px; background: var(--hp-pale); border: 1px solid var(--hp-line); border-radius: 999px; }
#himawari-gentle-flow .hp-status-open { color: var(--hp-muted); background: #fdf5f3; border-color: #efc6c5; }
#himawari-gentle-flow .hp-box-meta { color: var(--hp-muted); font-size: 12px !important; margin-bottom: 0 !important; }
#himawari-gentle-flow .hp-closed-label { color: var(--hp-muted); white-space: nowrap; font-size: 14px; }
#himawari-gentle-flow .hp-bottom-note { font-size: 12px; color: var(--hp-muted); margin-top: 21px; }
/* Primary controls match the actual .button on /activities/; touch targets stay at least 44px on mobile. */
#himawari-gentle-flow :is(.hp-primary,.hp-secondary) { display: inline-flex; align-items: center; justify-content: center; border-radius: 2em; border: 0; min-width: 164px; max-width: 100%; padding: .6em 2em; font-size: 16px; font-weight: 400; line-height: 1.15; letter-spacing: 1px; text-align: center; transition: transform .3s ease; }
#himawari-gentle-flow .hp-primary { background: var(--hp-brand-pink); color: #fff; }
#himawari-gentle-flow .hp-primary .hp-icon { display: none; }
#himawari-gentle-flow .hp-secondary { background: var(--hp-paper); box-shadow: inset 0 0 0 1px var(--hp-line-strong); color: var(--hp-link); }
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
  #himawari-gentle-flow .hp-primary:hover { transform: scale(1.05); }
}
/* ---------- form pages ---------- */
#himawari-gentle-flow .hp-form-content { padding: 28px 32px 15px; max-width: 720px; margin: 0 auto; }
#himawari-gentle-flow .hp-steps { list-style: none; padding: 0; margin: 0 auto 30px; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); max-width: 420px; color: var(--hp-muted); font-size: 13px; }
#himawari-gentle-flow .hp-steps li { position: relative; display: flex; flex-direction: column; align-items: center; gap: 6px; line-height: 1.4; }
#himawari-gentle-flow .hp-steps li + li::before { content: ""; position: absolute; top: 14px; right: 50%; width: 100%; height: 2px; background: var(--hp-line); }
#himawari-gentle-flow .hp-step-dot { position: relative; z-index: 1; width: 30px; height: 30px; border-radius: 50%; border: 2px solid var(--hp-line); background: var(--hp-paper); display: inline-flex; align-items: center; justify-content: center; font-family: var(--hp-heading-font); font-size: 13px; font-weight: 400; }
#himawari-gentle-flow .hp-steps [aria-current=step] { color: var(--hp-ink); font-weight: 700; }
#himawari-gentle-flow .hp-steps [aria-current=step] .hp-step-dot { background: var(--hp-brand-pink); border-color: var(--hp-brand-pink); color: #fff; }
#himawari-gentle-flow .hp-step-done { color: var(--hp-muted); }
#himawari-gentle-flow .hp-step-done .hp-step-dot { background: #fdf5f3; border-color: #efc6c5; color: var(--hp-muted); }
#himawari-gentle-flow .hp-step-done .hp-icon { width: 15px; height: 15px; stroke-width: 2.5; }
#himawari-gentle-flow .hp-steps .hp-step-done + li::before { background: #efc6c5; }
#himawari-gentle-flow .hp-form-intro { margin-bottom: 16px; }
#himawari-gentle-flow .hp-privacy-hint { font-size: 13px; padding: 12px 16px; background: var(--hp-pale); border: 1px solid var(--hp-line); border-radius: 8px; margin-bottom: 27px; }
#himawari-gentle-flow .hp-field { margin-bottom: 24px; }
#himawari-gentle-flow .hp-field>label { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; margin-bottom: 9px; font-weight: 700; letter-spacing: 1px; }
#himawari-gentle-flow .hp-required { display: inline-block; background: #fdf5f3; color: var(--hp-muted); font-size: 11px; font-weight: 400; padding: 0 6px; margin-left: 7px; border-radius: 3px; }
#himawari-gentle-flow .hp-optional { font-size: 11px; color: var(--hp-muted); font-weight: 400; }
#himawari-gentle-flow :is(textarea,select) { width: 100%; max-width: 100%; border: 1px solid var(--hp-line-strong); border-radius: 6px; background: var(--hp-paper); color: var(--hp-ink); padding: 11px 12px; font-size: 16px; }
#himawari-gentle-flow textarea { resize: vertical; min-height: 300px; line-height: 1.8; letter-spacing: 1px; }
#himawari-gentle-flow textarea::placeholder { color: var(--hp-muted); }
#himawari-gentle-flow .hp-field-foot { display: flex; justify-content: space-between; gap: 12px; font-size: 11px; color: var(--hp-muted); margin-top: 4px; }
#himawari-gentle-flow .hp-policy { border-top: 1px solid var(--hp-line); border-bottom: 1px solid var(--hp-line); padding: 14px 0; font-size: 13px; margin: 26px 0 18px; }
#himawari-gentle-flow .hp-policy summary { font-weight: 600; }
#himawari-gentle-flow .hp-policy p { margin: 12px 0 0; }
#himawari-gentle-flow .hp-consent { display: flex; align-items: flex-start; gap: 10px; padding: 10px 0; min-height: 44px; font-size: 14px; }
#himawari-gentle-flow .hp-consent input { width: 20px; height: 20px; margin: 3px 0 0; flex-shrink: 0; accent-color: var(--hp-link); }
#himawari-gentle-flow .hp-form-actions { display: flex; justify-content: center; margin: 27px 0 20px; }
#himawari-gentle-flow .hp-form-actions .hp-primary { min-width: 164px; }
#himawari-gentle-flow .hp-back-link { display: block; margin: 15px auto; padding: 7px 10px; border: 0; background: transparent; color: var(--hp-link); font-size: 13px; text-decoration: underline; text-underline-offset: 4px; }
#himawari-gentle-flow .hp-back-link:hover { color: var(--hp-brand-pink); text-decoration-thickness: 2px; }
#himawari-gentle-flow .hp-error { margin-top: 16px; padding: 12px 16px; border: 1px solid var(--hp-error-line); background: var(--hp-error-bg); border-radius: 8px; font-size: 14px; color: var(--hp-ink); }
#himawari-gentle-flow .hp-error p { margin: 0 0 4px; font-weight: 700; color: var(--hp-error); }
#himawari-gentle-flow .hp-error ul { margin: 0; padding-left: 1.3em; }
#himawari-gentle-flow [aria-invalid=true] { border-color: var(--hp-error); outline: 1px solid var(--hp-error); }
#himawari-gentle-flow .hp-review-list { margin: 22px 0 32px; }
#himawari-gentle-flow .hp-review-list>div { padding: 16px 0; border-top: 1px solid var(--hp-line); }
#himawari-gentle-flow .hp-review-list>div:last-child { border-bottom: 1px solid var(--hp-line); }
#himawari-gentle-flow dt { font-size: 13px; color: var(--hp-muted); margin-bottom: 8px; }
#himawari-gentle-flow dd { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; }
#himawari-gentle-flow .hp-review-actions { display: flex; justify-content: center; gap: 15px; flex-wrap: wrap; margin-top: 24px; }
#himawari-gentle-flow .hp-done-message { text-align: center; padding: 6px 0 12px; }
#himawari-gentle-flow .hp-done-art { display: block; width: 200px; height: auto; margin: 0 auto 4px; }
#himawari-gentle-flow .hp-done-message h2 { font-size: 24px; margin-bottom: 14px; color: var(--hp-ink); }
#himawari-gentle-flow .hp-receipt { font-size: 13px; color: var(--hp-muted); }
/* ---------- top page reference (existing top + proposed entry) ---------- */
#himawari-gentle-flow .hp-home-top { position: relative; isolation: isolate; overflow: hidden; padding-bottom: 28px; }
#himawari-gentle-flow .hp-home-blob { position: absolute; z-index: -1; left: -12%; top: -40px; width: 128%; max-width: none; height: auto; pointer-events: none; }
#himawari-gentle-flow .hp-home-slider { margin: 0 24px; }
#himawari-gentle-flow .hp-slide { position: relative; border-radius: 12px; overflow: hidden; }
#himawari-gentle-flow .hp-slide img { display: block; width: 100%; height: auto; }
#himawari-gentle-flow .hp-slide-arrow { position: absolute; top: 50%; transform: translateY(-50%); color: #fff; width: 40px; height: 56px; display: flex; align-items: center; justify-content: center; filter: drop-shadow(0 1px 2px rgba(0,0,0,.28)); }
#himawari-gentle-flow .hp-slide-arrow .hp-icon { width: 30px; height: 30px; stroke-width: 3; }
#himawari-gentle-flow .hp-slide-prev { left: 6px; }
#himawari-gentle-flow .hp-slide-next { right: 6px; }
#himawari-gentle-flow .hp-slide-caption { font-size: 12px; text-align: center; margin: 8px 0 12px; }
#himawari-gentle-flow .hp-slide-dots { display: flex; justify-content: center; gap: 12px; margin-bottom: 22px; }
#himawari-gentle-flow .hp-slide-dots span { width: 14px; height: 14px; border-radius: 50%; background: #fff; box-shadow: 0 1px 2px rgba(0,0,0,.14); }
#himawari-gentle-flow .hp-slide-dots .is-active { background: #1f5aa6; }
#himawari-gentle-flow .hp-home-entry { margin-top: 0; box-shadow: 0 10px 28px -16px oklch(55% .12 350 / .45); }
#himawari-gentle-flow .hp-home-intro { display: grid; grid-template-columns: minmax(0,1fr) 270px; align-items: center; gap: 24px 40px; margin: 36px 40px 0; }
#himawari-gentle-flow .hp-home-intro h2 { font-size: 27px; letter-spacing: .14em; margin-bottom: 16px; }
#himawari-gentle-flow .hp-home-intro p { font-size: 15px; line-height: 2; letter-spacing: .04em; margin: 0; }
#himawari-gentle-flow .hp-home-embrace { width: 100%; max-width: 270px; height: auto; justify-self: end; }
#himawari-gentle-flow .hp-home-continues { margin: 22px 32px 0; padding-top: 14px; border-top: 1px dashed var(--hp-line); font-size: 12px; color: var(--hp-muted); text-align: center; }
/* ---------- responsive ---------- */
@media(min-width:801px) {
  #himawari-gentle-flow .hp-home-entry .hp-letter-heading br { display: none; }
}
@media(max-width:800px) {
  #himawari-gentle-flow .hp-header { padding: 22px 24px; flex-wrap: wrap; gap: 16px; }
  #himawari-gentle-flow .hp-logo-button { flex-basis: 186px; }
  #himawari-gentle-flow .hp-logo { width: 186px; }
  #himawari-gentle-flow .hp-main-menu { gap: 14px; font-size: 13px; }
  #himawari-gentle-flow .hp-box-card { grid-template-columns: minmax(0,1fr); gap: 16px; }
  #himawari-gentle-flow .hp-box-action { grid-column: 1 / -1; justify-content: flex-start; }
  #himawari-gentle-flow .hp-upcoming .hp-box-action { justify-content: flex-start; }
  #himawari-gentle-flow .hp-home-intro { grid-template-columns: minmax(0,1fr); margin: 30px 24px 0; }
  #himawari-gentle-flow .hp-home-embrace { justify-self: center; max-width: 230px; }
  #himawari-gentle-flow .hp-guide-steps { gap: 8px; }
  #himawari-gentle-flow .hp-guide-steps li { flex-direction: column; text-align: center; gap: 6px; padding: 12px 6px 10px; font-size: 13px; }
  #himawari-gentle-flow .hp-guide-text { flex-direction: column; gap: 3px; }
}
@media(max-width:800px) and (min-width:561px) {
  #himawari-gentle-flow .hp-meyasu-hero { padding: 16px 20px 0; gap: 0; grid-template-columns: minmax(0,1.4fr) minmax(0,.6fr); }
  #himawari-gentle-flow .hp-letter-space { padding: 20px 14px 22px; }
  #himawari-gentle-flow .hp-letter-heading { font-size: 22px; }
  #himawari-gentle-flow .hp-index-hero .hp-letter-space { padding: 22px 10px; }
  #himawari-gentle-flow .hp-rainbow { --rb: 170px; right: -110px; }
}
@media(max-width:560px) {
  #himawari-gentle-flow .hp-preview-head { padding: 48px 0 14px; gap: 7px; }
  #himawari-gentle-flow .hp-screen-nav { gap: 2px; }
  #himawari-gentle-flow .hp-screen-nav button { padding: 7px 6px; min-height: 34px; }
  #himawari-gentle-flow .hp-header { padding: 18px 16px; gap: 12px; }
  #himawari-gentle-flow .hp-logo-button { flex: 0 1 180px; }
  #himawari-gentle-flow .hp-logo { width: 100%; max-width: 180px; }
  #himawari-gentle-flow .hp-mobile-toggle { display: inline-flex; align-items: center; gap: 6px; border: 0; border-radius: 2em; background: #f8aac2; color: #fff; padding: 0 12px 0 10px; min-height: 44px; font-size: 12px; font-weight: 400; }
  #himawari-gentle-flow .hp-mobile-toggle .hp-icon { width: 20px; height: 20px; }
  #himawari-gentle-flow .hp-main-menu { display: none; flex-basis: 100%; align-items: stretch; gap: 0; flex-direction: column; font-size: 14px; }
  #himawari-gentle-flow .hp-main-menu.hp-menu-open { display: flex; }
  #himawari-gentle-flow .hp-main-menu>span { padding: 11px 0; border-top: 1px solid var(--hp-line); }
  #himawari-gentle-flow .hp-nav-box { text-align: left; padding: 11px 0; border-top: 1px solid var(--hp-line); border-bottom: 0; }
  #himawari-gentle-flow .hp-nav-box[aria-current=page] { border: 0; margin-top: 6px; padding: 10px 12px; border-radius: 8px; background: var(--hp-pale); color: var(--hp-ink); }
  #himawari-gentle-flow .hp-home-slider { margin: 0 12px; }
  #himawari-gentle-flow .hp-slide { border-radius: 7px; }
  #himawari-gentle-flow .hp-slide-arrow { width: 28px; height: 40px; }
  #himawari-gentle-flow .hp-slide-arrow .hp-icon { width: 22px; height: 22px; }
  #himawari-gentle-flow .hp-slide-caption { margin-bottom: 8px; }
  #himawari-gentle-flow .hp-slide-dots { gap: 9px; margin-bottom: 16px; }
  #himawari-gentle-flow .hp-slide-dots span { width: 10px; height: 10px; }
  #himawari-gentle-flow .hp-home-blob { left: -70%; top: -10px; width: 230%; }
  #himawari-gentle-flow .hp-home-intro { margin: 26px 20px 0; }
  #himawari-gentle-flow .hp-home-intro h2 { font-size: 21px; letter-spacing: .08em; }
  #himawari-gentle-flow .hp-home-intro p { font-size: 14px; }
  #himawari-gentle-flow .hp-home-embrace { max-width: 200px; }
  #himawari-gentle-flow .hp-home-continues { margin: 18px 16px 0; }
  #himawari-gentle-flow .hp-title-band { margin: 8px 16px 0; padding: 40px; }
  #himawari-gentle-flow .hp-title-band h1 { font-size: 24px; }
  #himawari-gentle-flow h1 { font-size: 24px; letter-spacing: .04em; }
  #himawari-gentle-flow .hp-breadcrumb { margin: 0 16px; gap: 5px; font-size: 13.3333px; }
  #himawari-gentle-flow .hp-content { padding: 18px 16px 24px; }
  #himawari-gentle-flow .hp-desktop-break { display: none; }
  #himawari-gentle-flow .hp-guide { margin-bottom: 24px; }
  #himawari-gentle-flow .hp-guide-title { font-size: 14px; margin-bottom: 10px; }
  #himawari-gentle-flow .hp-guide-steps { gap: 6px; margin-bottom: 10px; }
  #himawari-gentle-flow .hp-guide-steps li { padding: 8px 0; font-size: 13px; }
  #himawari-gentle-flow .hp-guide-icon { width: 34px; height: 34px; }
  #himawari-gentle-flow .hp-guide-icon .hp-icon { width: 19px; height: 19px; }
  #himawari-gentle-flow .hp-guide-text { gap: 2px; }
  #himawari-gentle-flow .hp-guide-num { width: 18px; height: 18px; font-size: 11px; }
  #himawari-gentle-flow .hp-guide-notes { font-size: 12px; gap: 2px 12px; }
  #himawari-gentle-flow .hp-section-title { font-size: 20px; margin-bottom: 12px; }
  #himawari-gentle-flow .hp-box-card { padding: 24px 0; gap: 16px; }
  #himawari-gentle-flow .hp-box-action { justify-content: center; }
  #himawari-gentle-flow .hp-box-mark { width: 46px; height: 46px; margin-top: 0; }
  #himawari-gentle-flow .hp-box-mark .hp-icon { width: 24px; height: 24px; }
  #himawari-gentle-flow .hp-box-card h3 { font-size: 19px; }
  #himawari-gentle-flow .hp-meyasu-hero { margin: 4px 16px 0; padding: 22px 17px 0; grid-template-columns: minmax(0,1fr); gap: 10px; border-radius: 19px 25px 20px 23px; }
  #himawari-gentle-flow .hp-letter-space { padding: 20px 10px 22px; margin-bottom: 8px; }
  #himawari-gentle-flow .hp-letter-space::before { inset: 12px -3px; }
  #himawari-gentle-flow .hp-eyebrow { font-size: 16px; letter-spacing: .1em; gap: 8px; }
  #himawari-gentle-flow .hp-eyebrow::before, #himawari-gentle-flow .hp-eyebrow::after { width: 14px; }
  #himawari-gentle-flow .hp-letter-heading { font-size: 22px; line-height: 1.55; margin-bottom: 12px; letter-spacing: 0; }
  #himawari-gentle-flow .hp-letter-body { font-size: 14px; line-height: 1.8; margin-bottom: 16px; }
  #himawari-gentle-flow .hp-meyasu-hero .hp-primary { max-width: 100%; padding: .6em 1.4em; }
  #himawari-gentle-flow .hp-meyasu-art img { width: 125px; max-width: 100%; }
  #himawari-gentle-flow .hp-index-hero { margin-top: 8px; padding: 14px 12px 0; gap: 0; grid-template-columns: minmax(0,1fr) 112px; align-items: end; }
  #himawari-gentle-flow .hp-index-hero .hp-letter-space { padding: 16px 4px 16px; margin-bottom: 12px; }
  #himawari-gentle-flow .hp-index-hero .hp-eyebrow { font-size: 15px; letter-spacing: .08em; margin-bottom: 4px; }
  #himawari-gentle-flow .hp-index-hero .hp-eyebrow::before, #himawari-gentle-flow .hp-index-hero .hp-eyebrow::after { display: none; }
  #himawari-gentle-flow .hp-index-hero .hp-letter-heading { font-size: clamp(16px,5vw,19px); line-height: 1.5; margin-bottom: 6px; }
  #himawari-gentle-flow .hp-index-hero .hp-letter-body { font-size: 13px; line-height: 1.7; margin-bottom: 8px; }
  #himawari-gentle-flow .hp-index-hero .hp-box-jump { font-size: 14px; min-height: 44px; }
  #himawari-gentle-flow .hp-index-hero .hp-meyasu-art img { width: 112px; max-width: 100%; }
  #himawari-gentle-flow .hp-rainbow { --rb: 128px; right: -100px; top: 4px; opacity: .45; }
  #himawari-gentle-flow .hp-index-hero .hp-letter-body { display: none; }
  #himawari-gentle-flow .hp-form-content { padding: 23px 20px 12px; }
  #himawari-gentle-flow .hp-steps { font-size: 12px; margin-bottom: 25px; max-width: 320px; }
  #himawari-gentle-flow .hp-step-dot { width: 28px; height: 28px; font-size: 12px; }
  #himawari-gentle-flow .hp-steps li + li::before { top: 13px; }
  #himawari-gentle-flow :is(.hp-primary,.hp-secondary) { min-height: 44px; }
  #himawari-gentle-flow textarea { min-height: 220px; }
  #himawari-gentle-flow .hp-review-actions { flex-direction: column; gap: 12px; }
  #himawari-gentle-flow .hp-review-actions .hp-primary { order: -1; }
  #himawari-gentle-flow .hp-footer { margin-top: 32px; padding: 40px 0 20px; }
  #himawari-gentle-flow .hp-footer-inner { flex-direction: column; gap: 28px; }
  #himawari-gentle-flow .hp-footer-menu { justify-content: flex-start; gap: 10px 16px; }
  #himawari-gentle-flow .hp-copyright { text-align: left; }
  #himawari-gentle-flow .hp-done-art { width: 170px; }
  #himawari-gentle-flow .hp-done-message h2 { font-size: 21px; }
}
@media(max-width:359px) {
  #himawari-gentle-flow .hp-index-hero { grid-template-columns: minmax(0,1fr) 100px; }
  #himawari-gentle-flow .hp-index-hero .hp-meyasu-art img { width: 100px; }
  #himawari-gentle-flow .hp-guide-steps li { font-size: 12px; }
}
@media(prefers-reduced-motion:reduce) { #himawari-gentle-flow button { transition: none; } }

#himawari-gentle-flow a.hp-primary,#himawari-gentle-flow a.hp-secondary{text-decoration:none}#himawari-gentle-flow button{cursor:pointer}#himawari-gentle-flow button:disabled{opacity:.55;cursor:wait}#himawari-gentle-flow .hp-field input:not([type=checkbox]):not([type=radio]){width:100%;border:1px solid #aaa;border-radius:6px;padding:11px 12px;background:#fff;color:#000}#himawari-gentle-flow fieldset{border:0;padding:0;margin:0}#himawari-gentle-flow legend{font-weight:700;margin-bottom:9px}#himawari-gentle-flow .hp-choice{display:flex;gap:10px;align-items:center;min-height:44px}#himawari-gentle-flow .hp-choice input{width:20px;height:20px}#himawari-gentle-flow .hp-honey{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
/* Keep the existing site typography; compact, labelled date choices work at 320px. */
#himawari-gentle-flow .hp-date-select{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:10px}
#himawari-gentle-flow .hp-date-select label{min-width:0}
#himawari-gentle-flow .hp-date-select select{min-width:0;min-height:44px;padding-right:5px}
#himawari-gentle-flow legend .hp-required,#himawari-gentle-flow legend .hp-optional{margin-left:10px}
#himawari-gentle-flow .hp-field-foot{font-size:13px}
