[hidden] { display: none !important; }

/* H02: these styles apply only to the two adopted local prototype pages. */
.mushimeku-preview { --mk-ink:#073e38; --mk-blue:#e6f6fc; --mk-green:#eaf3d9; --mk-earth:#f8ecce; color:var(--mk-ink); background:var(--mk-blue); }
.mushimeku-preview .skip-link { top:0; transform:translateY(-100%); }
.mushimeku-preview .skip-link:focus { top:12px; transform:none; }
.mushimeku-preview .site-header { background:#eaf8fcf5; border-bottom-color:#d1e6e9; }
.mushimeku-preview .brand strong { font-family:'Hiragino Maru Gothic ProN','Yu Gothic',sans-serif; font-size:32px; font-weight:900; letter-spacing:.025em; color:var(--mk-ink); }
.mushimeku-preview .brand-mark,.mushimeku-preview .brand small { display:none; }
.mushimeku-preview .global-nav a { color:var(--mk-ink); }
.mushimeku-preview .site-footer .footer-logo { color:#fffdf3; }
.mushimeku-preview .mk-grass-edges { display:none; }
.mushimeku-preview .mk-page { background:linear-gradient(180deg,#dff4fc 0%,#eef9fc 650px,#fffdf6 1100px); }
.mushimeku-preview .mk-hero { display:grid; grid-template-columns:minmax(0,.87fr) minmax(0,1.13fr); gap:38px; align-items:center; padding-block:60px 38px; }
.mushimeku-preview .mk-hero__copy { min-width:0; }
.mushimeku-preview .mk-eyebrow { font-weight:700; font-size:14px; letter-spacing:.05em; margin:0 0 18px; }
.mushimeku-preview .mk-hero h1 { font-family:'Hiragino Maru Gothic ProN','Yu Gothic',sans-serif; font-size:clamp(30px,3.3vw,46px); line-height:1.5; font-weight:900; letter-spacing:.01em; margin:0 0 22px; max-width:13em; overflow-wrap:anywhere; }
.mushimeku-preview .mk-hero h1 span { display:block; }
.mushimeku-preview .mk-support { font-size:16px; line-height:2; max-width:29em; margin:0 0 18px; }
.mushimeku-preview .mk-policy { color:#526663; font-size:14px; line-height:1.8; margin:0 0 22px; }
.mushimeku-preview .mk-actions { display:flex; flex-direction:column; align-items:flex-start; gap:12px; margin-top:24px; }
.mushimeku-preview a { text-underline-offset:.25em; }
.mushimeku-preview .mk-primary { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:52px; padding:14px 24px; border-radius:999px; color:#fff; background:#075344; text-decoration:none; font-weight:700; font-size:16px; line-height:1.6; text-align:center; }
.mushimeku-preview .mk-primary:hover { background:#0a6655; }
.mushimeku-preview .mk-secondary { display:inline-flex; align-items:center; min-height:44px; padding:5px 16px; font-weight:700; }
.mushimeku-preview .mk-scene { min-width:0; }
.mushimeku-preview .mk-scene__figure { margin:0; }
.mushimeku-preview .mk-scene__figure picture { display:block; overflow:hidden; border-radius:74px 28px 68px 34px; background:#d9eff4; }
.mushimeku-preview .mk-scene__figure img { display:block; width:100%; height:auto; aspect-ratio:1586/992; object-fit:contain; }
.mushimeku-preview .mk-scene__figure figcaption { font-size:12px; color:#586d68; line-height:1.8; padding:8px 8px 0; text-align:right; }
.mushimeku-preview .mk-choice-buttons,.mushimeku-preview .mk-choices nav { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-top:18px; }
.mushimeku-preview .mk-choice-buttons button,.mushimeku-preview .mk-choices nav a { display:flex; align-items:center; justify-content:center; gap:8px; min-width:0; min-height:48px; border:1px solid #c5d7c9; border-radius:999px; padding:9px 8px; font:inherit; font-weight:700; font-size:14px; color:var(--mk-ink); background:#fffdf7; text-decoration:none; cursor:pointer; }
.mushimeku-preview .mk-choice-buttons button[aria-pressed=true] { color:white; border-color:#075344; background:#075344; }
.mushimeku-preview .mk-choice-dot { width:11px; height:15px; border:1.5px solid currentColor; border-radius:70% 15% 70% 15%; flex-shrink:0; transform:rotate(15deg); }
.mushimeku-preview .mk-scene__lead { text-align:center; font-size:17px; font-weight:700; line-height:1.8; margin:18px 0 4px; }
.mushimeku-preview .mk-choice-hint { font-size:13px; text-align:center; color:#536863; margin:4px 0 0; }
.mushimeku-preview .mk-image-fallback { border:1px solid #becfc3; border-radius:16px; padding:20px; background:#fffdf7; line-height:1.9; }
.mushimeku-preview .mk-observation-notes,.mushimeku-preview .mk-summary,.mushimeku-preview .mk-exits,.mushimeku-preview .mk-reading,.mushimeku-preview .mk-existing { padding-block:46px; }
.mushimeku-preview .mk-page h2 { font-size:clamp(23px,2.2vw,30px); line-height:1.7; font-weight:800; letter-spacing:.025em; margin:0 0 18px; overflow-wrap:anywhere; }
.mushimeku-preview .mk-page h3 { font-size:20px; line-height:1.7; font-weight:700; margin:0 0 16px; overflow-wrap:anywhere; }
.mushimeku-preview .mk-intro-text { max-width:53em; line-height:2; font-size:16px; }
.mushimeku-preview .mk-panels { margin-top:24px; }
.mushimeku-preview .mk-panel { background:#fffdf6; border:1px solid #d3dfcd; border-radius:24px; padding:30px; margin-top:20px; }
.mushimeku-preview .mk-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin:0; }
.mushimeku-preview .mk-facts>div { background:var(--mk-green); padding:22px 24px; border-radius:28px 18px 32px 20px; }
.mushimeku-preview .mk-facts>div:nth-child(2) { background:var(--mk-earth); border-radius:20px 32px 18px 28px; }
.mushimeku-preview .mk-facts dt { font-size:14px; font-weight:700; margin:0 0 10px; }
.mushimeku-preview .mk-facts dd { margin:0; font-size:17px; line-height:1.9; }
.mushimeku-preview .mk-next { margin:22px 0 0; line-height:2; }
.mushimeku-preview .mk-next strong,.mushimeku-preview .mk-next span { display:block; }
.mushimeku-preview .mk-next strong { font-size:14px; margin-bottom:5px; }
.mushimeku-preview .mk-nearby { display:flex; align-items:flex-start; flex-wrap:wrap; gap:18px 32px; margin-top:24px; }
.mushimeku-preview .mk-unclear { flex:1 1 320px; min-width:0; }
.mushimeku-preview .mk-unclear summary { min-height:44px; padding:10px 0; font-weight:700; cursor:pointer; }
.mushimeku-preview .mk-unclear h3 { margin-top:12px; }
.mushimeku-preview .mk-unclear a,.mushimeku-preview .mk-end-link { display:inline-flex; align-items:center; min-height:44px; padding:9px 12px; border:1px solid #789b86; border-radius:14px; font-weight:700; }
.mushimeku-preview .mk-conditions { margin-top:24px; padding:20px 24px; background:#dff0f7; border-radius:20px; }
.mushimeku-preview .mk-conditions p { line-height:1.9; font-size:14px; margin:0; }
.mushimeku-preview .mk-conditions p+p { margin-top:12px; }
.mushimeku-preview .mk-summary { border-top:1px solid #d9e7db; }
.mushimeku-preview .mk-summary .mk-facts dd { font-size:21px; font-weight:700; }
.mushimeku-preview .mk-summary>a { display:inline-flex; min-height:44px; align-items:center; margin-top:18px; }
.mushimeku-preview .mk-exit-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.mushimeku-preview .mk-exit-grid>section { background:#f3f5e7; padding:24px; border-radius:22px; }
.mushimeku-preview .mk-exit-grid p { line-height:2; }
.mushimeku-preview .mk-exit-grid a { display:flex; min-height:44px; align-items:center; font-weight:600; }
.mushimeku-preview .mk-afraid-link { display:inline-flex; min-height:44px; align-items:center; margin-top:18px; font-weight:600; }
.mushimeku-preview .mk-reading-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; margin-top:26px; }
.mushimeku-preview .mk-reading-card { display:flex; flex-direction:column; overflow:hidden; border:1px solid #d9e2d3; border-radius:22px; background:#fffdf7; color:var(--mk-ink); text-decoration:none; }
.mushimeku-preview .mk-reading-art { aspect-ratio:8/5; overflow:hidden; }
.mushimeku-preview .mk-reading-art picture,.mushimeku-preview .mk-reading-art img { display:block; width:100%; height:100%; object-fit:cover; }
.mushimeku-preview .mk-reading-card>div:last-child { display:flex; flex:1; flex-direction:column; padding:24px 20px; }
.mushimeku-preview .mk-reading-card h3 { font-size:20px; }
.mushimeku-preview .mk-reading-card p { font-size:15px; line-height:1.9; margin:0 0 20px; }
.mushimeku-preview .mk-reading-card strong { font-size:14px; line-height:1.8; margin-top:auto; }
.mushimeku-preview .mk-breadcrumb { padding-top:22px; }
.mushimeku-preview .mk-hero--category { grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr); padding-top:24px; }
.mushimeku-preview .mk-hero--category .mk-hero__copy { order:2; }
.mushimeku-preview .mk-hero--category .mk-scene { order:1; }
.mushimeku-preview .mk-hero--category .mk-primary { background:#b94324; }
.mushimeku-preview .mk-care { padding:24px; background:#eff2e1; border-radius:20px; margin-bottom:38px; }
.mushimeku-preview .mk-care p { line-height:2; margin-bottom:0; max-width:55em; }
.mushimeku-preview .mk-existing .card-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.mushimeku-preview .mk-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.mushimeku-preview :focus-visible { outline:3px solid #a33d20; outline-offset:4px; }
.mushimeku-preview #observation-window,.mushimeku-preview #observation-choices { scroll-margin-top:calc(var(--site-header-height) + 16px); }
@media(max-width:900px) {
  .mushimeku-preview .mk-hero { grid-template-columns:minmax(0,1fr); gap:30px; padding-top:30px; }
  .mushimeku-preview .mk-hero__copy { max-width:42em; }
  .mushimeku-preview .mk-hero--category .mk-hero__copy,.mushimeku-preview .mk-hero--category .mk-scene { order:initial; }
  .mushimeku-preview .mk-hero h1 { max-width:18em; }
  .mushimeku-preview .mk-reading-grid,.mushimeku-preview .mk-existing .card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:640px) {
  .mushimeku-preview { background:#d9f2fc; }
  .mushimeku-preview .site-header { background:#d9f2fc url('/images/mushimeku/ground-sky-v1-webp-derived.avif') center top/auto 270px no-repeat; }
  .mushimeku-preview .mk-page { position:relative; isolation:isolate; background:#fffdf6; }
  .mushimeku-preview .mk-page::before { content:''; position:absolute; inset:0 0 auto; height:1200px; z-index:0; pointer-events:none; background-color:#d9f2fc; background-image:linear-gradient(180deg,transparent 0px,#d9f2fc 320px),url('/images/mushimeku/ground-sky-v1-webp-derived.avif'); background-position:center top; background-size:100% 100%,auto 350px; background-repeat:no-repeat; mask-image:linear-gradient(#000 0%,#000 65%,transparent 100%); }
  .mushimeku-preview .mk-page>.container { position:relative; z-index:1; width:calc(100% - 48px); }
  .mushimeku-preview .mk-grass-edges { display:block; position:absolute; inset:0; z-index:0; pointer-events:none; overflow:clip; }
  .mushimeku-preview .mk-grass-edges img { position:absolute; display:block; width:28px; height:650px; object-fit:cover; opacity:.7; pointer-events:none; mask-image:linear-gradient(transparent,#000 12%,#000 80%,transparent); }
  .mushimeku-preview .mk-grass-left { left:0; top:130px; object-position:left; }
  .mushimeku-preview .mk-grass-right { right:0; top:480px; object-position:right; }
  .mushimeku-preview .mk-scene__figure { margin-inline:-24px; }
  .mushimeku-preview .mk-scene__figure picture { border-radius:0; }
  .mushimeku-preview .mk-scene__figure figcaption { padding-inline:24px; }
  .mushimeku-preview .mk-hero--category .mk-hero__copy { display:contents; }
  .mushimeku-preview .mk-hero--category .mk-eyebrow { grid-row:1; }
  .mushimeku-preview .mk-hero--category h1 { grid-row:2; }
  .mushimeku-preview .mk-hero--category h1 { font-size:clamp(28px,8vw,32px); }
  .mushimeku-preview .mk-hero--category .mk-support { grid-row:3; }
  .mushimeku-preview .mk-hero--category .mk-actions { grid-row:4; }
  .mushimeku-preview .mk-hero--category .mk-scene { grid-row:5; }
  .mushimeku-preview .mk-hero--category .mk-category-intro { grid-row:6; }
  .mushimeku-preview .brand strong { font-size:28px; }
  .mushimeku-preview .mk-hero { gap:26px; padding-block:28px 26px; }
  .mushimeku-preview .mk-eyebrow { font-size:12px; margin-bottom:12px; }
  .mushimeku-preview .mk-hero h1 { font-size:32px; line-height:1.5; margin-bottom:16px; max-width:12em; }
  .mushimeku-preview .mk-support { font-size:15px; line-height:1.9; margin-bottom:14px; text-wrap:balance; }
  .mushimeku-preview .mk-policy { font-size:13px; margin-bottom:16px; }
  .mushimeku-preview .mk-actions { gap:8px; margin-top:18px; align-items:stretch; }
  .mushimeku-preview .mk-primary { padding:12px 14px; font-size:15px; min-height:48px; }
  .mushimeku-preview .mk-secondary { justify-content:center; font-size:14px; }
  .mushimeku-preview .mk-scene__figure img { aspect-ratio:6/5; }
  .mushimeku-preview .mk-scene__figure figcaption { font-size:11px; }
  .mushimeku-preview .mk-choice-buttons,.mushimeku-preview .mk-choices nav { grid-template-columns:1fr; gap:8px; margin-top:14px; }
  .mushimeku-preview .mk-choice-buttons button,.mushimeku-preview .mk-choices nav a { justify-content:flex-start; padding-inline:18px; font-size:15px; }
  .mushimeku-preview .mk-choice-hint { font-size:12px; }
  .mushimeku-preview .mk-scene__lead { font-size:15px; }
  .mushimeku-preview .mk-observation-notes,.mushimeku-preview .mk-summary,.mushimeku-preview .mk-exits,.mushimeku-preview .mk-reading,.mushimeku-preview .mk-existing { padding-block:32px; }
  .mushimeku-preview .mk-page h2 { font-size:23px; line-height:1.7; margin-bottom:16px; }
  .mushimeku-preview .mk-page h3 { font-size:19px; }
  .mushimeku-preview .mk-panel { padding:20px 16px; border-radius:18px; }
  .mushimeku-preview .mk-intro-text,.mushimeku-preview .mk-category-intro { font-size:15px; }
  .mushimeku-preview .mk-facts { grid-template-columns:1fr; gap:14px; }
  .mushimeku-preview .mk-facts>div { padding:18px 16px; }
  .mushimeku-preview .mk-facts dd { font-size:16px; }
  .mushimeku-preview .mk-nearby { gap:14px; }
  .mushimeku-preview .mk-unclear { flex-basis:100%; }
  .mushimeku-preview .mk-conditions { padding:18px 16px; }
  .mushimeku-preview .mk-summary .mk-facts dd { font-size:18px; }
  .mushimeku-preview .mk-exit-grid,.mushimeku-preview .mk-reading-grid,.mushimeku-preview .mk-existing .card-grid { grid-template-columns:1fr; }
  .mushimeku-preview .mk-reading-card>div:last-child { padding:22px 18px; }
  .mushimeku-preview .mk-exit-grid>section { padding:20px 18px; }
  .mushimeku-preview .mk-breadcrumb { padding-top:14px; }
}
@media(prefers-reduced-motion:reduce) { .mushimeku-preview *, .mushimeku-preview *::before, .mushimeku-preview *::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }
:root { --site-header-height: 80px; }
#main,main h2[id],main h3[id],main section[id],main .heading-alias { scroll-margin-top: calc(var(--site-header-height) + 16px); }
.global-menu { overflow: clip; }
:focus-visible { outline: 3px solid #986423; outline-offset: 4px; }
.packing-tool { margin: 1.5rem 0; }
.packing-print-title { display: none; }
.packing-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.packing-columns fieldset { min-width: 0; margin: 0; padding: 1rem; border: 1px solid #bfd0bb; border-radius: 16px; background: #f0f5eb; }
.packing-columns fieldset:nth-child(2) { background: #faf2e4; border-color: #d8c9aa; }
.packing-columns legend { padding: 0 .45rem; font-weight: 700; font-size: 1.05rem; }
.packing-columns fieldset>p { font-size: .85rem; color: #4c5b50; }
.packing-item { display: flex; align-items: flex-start; gap: .75rem; padding: .8rem .25rem; cursor: pointer; border-top: 1px solid #334b3222; }
.packing-item input { accent-color: #286142; width: 22px; height: 22px; flex-shrink: 0; margin-top: .3rem; }
.packing-item strong,.packing-item small { display: block; }
.packing-item small { font-size: .78rem; color: #46564b; }
.packing-item:has(input:checked) { opacity: .7; }
.packing-item:has(input:checked) strong { text-decoration: line-through; }
.tool-actions { display: flex; gap: .65rem; flex-wrap: wrap; align-items: center; margin: 1rem 0; }
.tool-actions p { width: 100%; margin: 0 !important; }
.tool-actions button { font: inherit; font-size: .85rem; cursor: pointer; min-height: 44px; border: 1px solid #9cb79e; border-radius: 30px; padding: .55rem 1rem; background: white; color: #234d35; }
.article-content .tool-note { font-size: .8rem; color: #546056; }
.field-home { background: #faf9f3; }
.field-hero { position: relative; isolation: isolate; min-height: 610px; background: #f3f0df; overflow: hidden; }
.field-hero__art { position: absolute; inset: 0 0 0 34%; z-index: -2; }
.field-hero__art picture,.field-hero__art img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.field-hero::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg,#f3f0df 0%,#f3f0df 28%,#f3f0dfee 37%,#f3f0df70 48%,transparent 66%); }
.field-hero__inner { padding-block: 90px 100px; }
.field-hero__copy { max-width: 490px; }
.field-hero h1 { font-size: clamp(28px,2.9vw,38px); letter-spacing: .045em; line-height: 1.65; margin: 1.1rem 0 1.6rem; }
.field-hero__copy>p:not(.eyebrow) { font-size: .97rem; line-height: 2.05; color: #415443; }
.field-hero__copy .eyebrow { font-size: .72rem; letter-spacing: .08em; }
.field-hero .hero-actions { gap: .65rem; margin-top: 1.8rem; }
.field-home .button { border-radius: 40px; font-size: .85rem; padding: .8rem 1.15rem; box-shadow: none; }
.field-hero__caption { position: absolute; right: max(2rem,calc((100% - 1120px)/2)); bottom: 1.2rem; color: #2d442d; font-size: .75rem; background: #fffaf0de; padding: .4rem .9rem; border-radius: 20px; }
.field-section { padding-block: 70px; scroll-margin-top: 90px; }
.field-section h2 { font-size: clamp(23px,2.4vw,28px); line-height: 1.65; letter-spacing: .025em; margin: .5rem 0 1.6rem; }
.field-section .eyebrow { font-size: .72rem; font-weight: 600; letter-spacing: .09em; color: #476947; }
.field-doors { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.field-door { display: grid; grid-template-columns: 42% 1fr; border: 1px solid #d6dcca; border-radius: 20px; background: #f0f2e6; overflow: hidden; color: #243d2c; text-decoration: none; }
.field-door:nth-child(2) { background: #f4ecdd; }
.field-door:nth-child(3) { background: #eef0df; }
.field-door:nth-child(4) { background: #e9f0ed; }
.field-door__art { overflow: hidden; }
.field-door__art picture,.field-door__art img { display: block; height: 100%; width: 100%; object-fit: cover; }
.field-door__art img { transition: transform .4s; }
.field-door:hover .field-door__art img { transform: scale(1.025); }
.field-door__copy { padding: 24px 20px; }
.field-door h3 { font-size: 1.12rem; margin: .4rem 0 .6rem; line-height: 1.65; }
.field-door__copy>p:not(.eyebrow) { color: #4c594d; font-size: .85rem; line-height: 1.85; margin: .5rem 0 1.1rem; }
.field-door strong { font-size: .8rem; color: #2c603f; }
.field-door strong span { display: inline-block; margin-left: .3rem; }
.age-intro { margin-top: 38px; }
.age-intro h3 { font-size: 1rem; margin-bottom: .35rem; }
.age-intro p { font-size: .8rem; color: #566056; margin: 0 0 1rem; }
.age-routes { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.age-routes a { display: grid; grid-template-columns: 1fr auto; gap: .15rem .5rem; color: #284632; text-decoration: none; background: white; border: 1px solid #ced9ca; border-radius: 14px; padding: 17px 20px; }
.age-routes strong { font-size: 1rem; }.age-routes span { grid-column: 1; font-size: .8rem; color: #566056; }.age-routes b { grid-column: 2; grid-row: 1/3; align-self: center; font-weight: normal; }
.field-discovery { background: #e8edde; }
.field-section-heading { display: flex; justify-content: space-between; align-items: center; gap: 2rem; }
.field-section-heading>p { font-size: .85rem; color: #4b604a; }
.discovery-buttons { display: flex; flex-wrap: wrap; gap: .7rem; margin-bottom: 1rem; }
.discovery-buttons button { cursor: pointer; font: inherit; font-size: .9rem; color: #315a3c; border: 1px solid #a8bba0; border-radius: 30px; min-width: 110px; min-height: 44px; padding: .6rem 1.2rem; background: transparent; }
.discovery-buttons button[aria-pressed=true] { background: #315a3c; color: #fff; border-color: #315a3c; }
.discovery-panel { border: 1px solid #ccd7c2; border-radius: 18px; background: #fcfbf4; padding: 28px 32px; margin-top: 1rem; }
.discovery-panel h3 { margin: .5rem 0 .8rem; font-size: 1.25rem; }.discovery-panel>p:not(.eyebrow) { max-width: 47em; font-size: .95rem; line-height: 1.95; }.discovery-panel>a { font-size: .87rem; }
.field-small { font-size: .78rem; color: #52634e; margin-top: 1.2rem; }
.field-note-door { display: grid; grid-template-columns: 44% 1fr; gap: 55px; align-items: center; }
.field-note-door__art { border-radius: 20px; overflow: hidden; border: 1px solid #dbdccb; }
.field-note-door__art img { display: block; width: 100%; }.field-note-door p:not(.eyebrow) { font-size: .9rem; line-height: 2; color: #4e5d50; }
.field-safety { background: #f0f2ec; }.field-safety-links { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.field-safety-links a { display: flex; justify-content: space-between; align-items: center; gap: 10px; text-decoration: none; font-size: .87rem; padding: 18px; border: 1px solid #ced6c8; border-radius: 12px; background: #fafbf7; }
.field-all { margin-top: 35px; font-size: .84rem; }.field-all a { display: inline-block; margin: 0 1.3rem .65rem 0; }
.article-hero { max-width: 820px; margin-inline: auto; padding: 18px 0 0; border: 0; background: transparent; border-radius: 0; }
.article-hero h1 { font-size: clamp(24px,2.2vw,28px); line-height: 1.65; font-weight: 700; letter-spacing: .015em; }
.article-hero .lead { max-width: 52em; font-size: 1rem; line-height: 1.9; }
.article-figure { max-width: 820px; margin: 24px auto 0; border-radius: 18px; }
.article-content h2 { font-size: clamp(20px,1.8vw,22px); line-height: 1.65; font-weight: 700; margin-top: 38px; padding: .65em .8em; border: 0; border-bottom: 2px solid #c5cfb9; border-radius: 8px 8px 0 0; background: #f4f2e7; }
.article-content h3 { font-size: 18px; line-height: 1.65; font-weight: 700; }
.article-content { overflow-wrap: anywhere; border-radius: 14px; }
.summary-figure { margin: 22px 0; }
.summary-figure picture,.summary-figure img { display: block; width: 100%; height: auto; }
.summary-figure img { border-radius: 12px; }
.summary-figure figcaption { margin-top: .65rem; color: #52614f; font-size: .8rem; line-height: 1.9; }
.summary-figure .ad-label { position: static; display: block; margin-top: .4rem; }
.heading-alias { display: block; height: 0; }
.toc summary { cursor: pointer; font-weight: 700; }.toc ol { margin-top: .75rem; }
.toc { top: calc(var(--site-header-height) + 16px); max-height: calc(100dvh - var(--site-header-height) - 32px); overflow-y: auto; }
.table-block { margin-block: 18px 24px; }
.table-block .table-wrap { margin: 0; border-radius: 12px; }
.article-content .table-scroll-hint { font-size: .78rem; color: #52614f; line-height: 1.7; margin: 0 0 .5rem; }
.table-wrap[data-columns="2"] table,.table-wrap[data-columns="1"] table { min-width: 0; table-layout: fixed; }
.table-wrap[data-columns="2"] th:first-child { width: 34%; }
.table-wrap[data-columns="2"] th,.table-wrap[data-columns="1"] th { white-space: normal; overflow-wrap: anywhere; }
.table-wrap:focus-visible { outline-offset: 2px; }
.finder-form { padding: 24px; border: 1px solid #ced9ca; border-radius: 16px; background: #f0f3e8; }
.finder-fields { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(0,1fr) auto; align-items: end; gap: 16px; }
.finder-fields label { display: grid; gap: 6px; font-size: .9rem; font-weight: 700; min-width: 0; }
.finder-fields input,.finder-fields select { width: 100%; min-width: 0; min-height: 46px; border: 1px solid #8fa78c; border-radius: 8px; background: white; color: #263c2c; padding: 10px 12px; font: inherit; font-size: 16px; font-weight: 400; }
.article-finder button { min-height: 44px; padding: 9px 14px; border: 1px solid #8fa78c; border-radius: 9px; background: #fffef8; color: #264e34; font: inherit; font-size: .85rem; cursor: pointer; }
.article-finder button:hover { background: #e1eadb; }
.finder-form>p { font-size: .8rem; color: #52614f; margin: 12px 0; }
.finder-suggestions { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.finder-suggestions>span { font-size: .8rem; margin-right: 4px; }
.finder-suggestions button { border-radius: 24px; padding-inline: 16px; }
.finder-status { font-size: .9rem; margin: 22px 0; }
.finder-empty { padding: 24px; background: white; border: 1px solid #ced9ca; border-radius: 12px; }
.finder-empty h2 { font-size: 20px; line-height: 1.7; }
.article-finder .section-heading h2 { font-size: clamp(20px,1.8vw,22px); }
.articles-index-page .page-hero h1 { font-size: clamp(24px,2.2vw,28px); line-height: 1.65; }
.articles-index-page .page-hero { padding-block: 24px 0; }
.articles-index-page .page-hero p { font-size: 1rem; }
.articles-index-page .page-hero h1 { margin-block: 12px; }
.articles-index-page .article-finder { padding-top: 24px; }
@media(max-width: 900px) { .toc { max-height: none; overflow: visible; }.finder-fields { grid-template-columns: 1fr; gap: 12px; }.finder-fields>button { justify-self: start; } }
@media(max-width: 620px) { .finder-form { padding: 18px 14px; }.finder-suggestions>span { width: 100%; }.table-wrap[data-columns="2"] th,.table-wrap[data-columns="2"] td { padding: 10px; } }
@media print { .table-scroll-hint,.finder-form,.finder-status,.finder-empty { display: none !important; }.table-block .table-wrap { overflow: visible; }.table-block table { min-width: 0; } }
.starter-routes { margin-bottom: 2rem; }
.buying-options { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin-block: 1.5rem; }
.buying-options section { border: 1px solid #cbd6c2; border-radius: 15px; padding: 18px; background: #f1f4e9; }
.buying-options section:nth-child(2) { background: #fbf2e3; }.buying-options section:nth-child(3) { background: #edf3f1; }
.article-content .buying-options h3 { font-size: 1rem; margin: 0 0 .8rem; }.article-content .buying-options p { font-size: .85rem; margin-bottom: .5rem; }.buying-options .option-condition { font-weight: bold; }
.article-content .observation-flow { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; padding: 0; list-style: none; }
.observation-flow li { padding: 18px; border: 1px solid #d4c7a9; border-radius: 14px; background: #faf3e5; }
.observation-flow span,.observation-flow strong { display: block; }.observation-flow span { font-size: .78rem; color: #725b30; margin-bottom: .5rem; }.observation-flow strong { font-size: 1rem; }.article-content .observation-flow p { font-size: .85rem; margin: .5rem 0 0; }
@media(max-width: 1100px) { .buying-options,.article-content .observation-flow { grid-template-columns: 1fr; } }
@media (min-width: 1600px) { .field-hero__art { left: 42%; } .field-hero::after { background: linear-gradient(90deg,#f3f0df 0%,#f3f0df 36%,#f3f0dfdd 43%,transparent 65%); } }
@media (max-width: 1000px) and (min-width: 621px) { .field-door { grid-template-columns: 1fr; }.field-door__art { aspect-ratio: 2.1; }.field-note-door { gap: 25px; } }
@media (max-width: 767px) {
  .field-hero { min-height: 0; }.field-hero__inner { padding-block: 35px 285px; }.field-hero__copy { max-width: none; }.field-hero h1 { font-size: 28px; line-height: 1.55; margin-block: .8rem 1rem; }.field-hero__copy>p:not(.eyebrow) { font-size: .86rem; }.field-hero__art { inset: auto 0 0; height: 330px; }.field-hero__art img { object-position: center 60%; }.field-hero::after { background: linear-gradient(180deg,#f3f0df 0%,#f3f0df 45%,#f3f0df80 58%,transparent 74%); }.field-hero__caption { right: 1rem; bottom: .6rem; font-size: .68rem; }.field-hero .hero-actions { margin-top: 1.2rem; }
  .field-section { padding-block: 40px; }.field-doors { gap: 16px; }.age-routes { grid-template-columns: 1fr; gap: 10px; }.age-routes a { padding: 14px 18px; }.field-section-heading { display: block; }.field-section-heading>p br { display: none; }.discovery-panel { padding: 22px; }.discovery-buttons { gap: .45rem; }.discovery-buttons button { min-width: 0; flex: 1; padding: .6rem .7rem; font-size: .84rem; }.field-note-door { grid-template-columns: 1fr; gap: 24px; }.field-note-door__art { max-height: 280px; }.field-note-door__art img { height: 100%; object-fit: cover; }.field-safety-links { grid-template-columns: 1fr; }.field-all a { display: block; margin-bottom: .8rem; }
  .article-hero { padding: 12px 6px 0; }.article-hero h1 { font-size: 24px; }.article-hero .lead { font-size: .92rem; }.article-content { padding: 22px 18px; border-radius: 12px; }.article-figure { aspect-ratio: 16/10; }.article-content h2 { font-size: 20px; }.toc { padding: 14px 18px; }.summary-figure { margin-block: 18px; }.summary-figure figcaption { font-size: .75rem; }
}
@media (max-width: 620px) { .field-doors { grid-template-columns: 1fr; }.field-door { grid-template-columns: 1fr; }.field-door__art { aspect-ratio: 2; }.field-door__copy { padding: 20px; }.field-door h3 { font-size: 1.1rem; } }
@media (prefers-reduced-motion: reduce) { .field-door__art img { transition: none; }.field-door:hover .field-door__art img { transform: none; } }
@media (max-width: 620px) { .packing-columns { grid-template-columns: 1fr; } }
@media print {
  .tool-actions { display: none !important; }
  .packing-print-title { display: block; }
  body[data-print-target="packing"] .article-hero,body[data-print-target="packing"] .article-figure,body[data-print-target="packing"] .article-content>*:not(.packing-tool) { display: none !important; }
  body[data-print-target="packing"] .packing-tool { display: block; }
  .packing-columns { grid-template-columns: 1fr 1fr; }
  .packing-columns fieldset { break-inside: avoid; }
}
.observation-sheets { margin-block: 1.5rem; }
.sheet-option { margin-bottom: 2rem; }
.note-sheet { padding: 24px; border: 1px solid #9aab91; background: #fffef9; color: #263c2c; }
.article-content .sheet-brand { font-size: .72rem; margin: 0; color: #52634a; }
.article-content .note-sheet h3 { font-size: 1.125rem; margin: .4rem 0 1.2rem; }
.note-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.note-line { margin-bottom: .85rem; }
.note-line strong,.note-drawing strong { display: block; font-size: .85rem; }
.note-line small,.note-drawing small { display: block; color: #57644f; font-size: .72rem; line-height: 1.7; }
.note-line>div { min-height: 28px; border-bottom: 1px solid #a9b1a1; }
.note-drawing { min-height: 180px; padding: 12px; margin-block: 12px; border: 1px solid #a9b1a1; }
[data-sheet="note-short"] .note-drawing { min-height: 260px; }
.article-content .sheet-footer { font-size: .68rem; margin: .5rem 0 0; color: #52634a; }
@media(max-width: 620px) { .note-sheet { padding: 14px; }.note-pair { grid-template-columns: 1fr; gap: 0; } }
@media print {
  @page { size: A4 portrait; margin: 15mm; }
  body[data-print-target^="note-"] .article-hero,body[data-print-target^="note-"] .article-figure,body[data-print-target^="note-"] .article-content>*:not(.observation-sheets) { display: none !important; }
  body[data-print-target="note-short"] .sheet-option:has([data-sheet="note-detail"]),body[data-print-target="note-detail"] .sheet-option:has([data-sheet="note-short"]) { display: none !important; }
  .observation-sheets,.sheet-option { margin: 0; }
  .note-sheet { padding: 7mm; background: white; color: black; break-inside: avoid; }
  .note-pair { grid-template-columns: 1fr 1fr; }
  .article-content .note-sheet h3 { font-size: 16pt; margin: 3mm 0 5mm; }
  .note-line { margin-bottom: 3mm; }.note-line strong,.note-drawing strong { font-size: 10pt; }.note-line small,.note-drawing small { font-size: 8pt; }.note-line>div { min-height: 7mm; }
  .note-drawing { min-height: 36mm; margin-block: 3mm; }.note-sheet[data-sheet="note-short"] .note-drawing { min-height: 85mm; }.note-sheet[data-sheet="note-short"] .note-line>div { min-height: 10mm; }
  .article-content .sheet-brand,.article-content .sheet-footer { font-size: 8pt; }
}

/* Small disclosures beside the packing items; cards keep affiliate-search's structure. */
.product-choices { display: flex; flex-wrap: wrap; gap: .25rem .6rem; margin: .3rem 0 .7rem; }
.product-disclosure { min-width: 0; max-width: 100%; font-size: .82rem; }
.product-disclosure[open] { flex: 1 0 100%; }
.product-disclosure>summary { color: #315e43; cursor: pointer; padding: .4rem .3rem; min-height: 36px; list-style-position: inside; text-decoration: underline; text-underline-offset: 3px; }
.product-disclosure>summary span { font-size: .75rem; text-decoration: none; }
.product-disclosure__panel { border: 1px solid #c7d6c7; padding: .75rem; border-radius: 12px; background: #fffdf7; }
.article-content .product-disclosure__option>p { margin: 0 0 .6rem; font-size: .85rem; line-height: 1.8; }
.product-disclosure__option+.product-disclosure__option { margin-top: 24px; padding-top: 24px; border-top: 1px solid #dce4d7; }
.product-disclosure .af-card { --af-card-margin: 0; --af-card-gap: 12px; --af-media-size: 86px; --af-mobile-media-width: 90px; --af-mobile-direction: column; --af-card-border: #dfdfd2; --af-card-title-color: #284932; }
.product-disclosure button { margin-top: .6rem; min-height: 40px; padding: .3rem .8rem; border: 1px solid #acbbaa; border-radius: 18px; background: white; color: #315e43; font: inherit; cursor: pointer; }
.packing-row { border-top: 1px solid #334b3222; }
.packing-row .packing-item { border-top: 0; padding-bottom: .25rem; }
.packing-row .product-choices { margin-left: 2rem; }
.product-shortcuts { margin: 1.25rem 0 2rem; padding: 18px; background: #f4f2e7; border: 0; border-radius: 12px; }
.article-content .product-shortcuts>p { margin: 0 0 14px; padding-bottom: 10px; border-bottom: 1px solid #d6d8c7; font-size: .9rem; font-weight: 700; color: #284932; }
.article-content .product-shortcuts ul { margin: 0; padding: 0; list-style: none; }
.product-shortcuts li { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 16px; align-items: center; margin: 0 0 12px; padding: 14px; position: relative; background: white; border: 1px solid #e1e3d8; border-radius: 10px; }
.product-shortcuts__image { display: block; width: 112px; height: 112px; object-fit: contain; background: white; }
.product-shortcuts__body { min-width: 0; }
.product-shortcuts li:last-child { margin-bottom: 0; }
.product-shortcuts__name { display: block; font-size: .84rem; line-height: 1.6; }
.product-shortcuts__stores { display: flex; flex-wrap: wrap; gap: .2rem 1rem; }
.product-shortcuts__link { display: flex; gap: .6rem; justify-content: space-between; align-items: center; padding: .55rem 0; font-size: .82rem; line-height: 1.6; }
.product-shortcuts__link span { flex-shrink: 0; font-size: .74rem; }
.product-shortcuts img[width="1"] { position: absolute; width: 1px; height: 1px; clip-path: inset(50%); }
@media(max-width:480px) { .product-shortcuts__link { display: block; } .product-shortcuts__link span { display: block; } }
@media print {
  .product-choices,.product-disclosure,.product-shortcuts,.moshimo-recommendation,.ad-label,.packing-screen-hint { display: none !important; }
}

@media(max-width:480px) { .product-shortcuts { padding: 12px; }.product-shortcuts li { grid-template-columns: 88px minmax(0, 1fr); gap: 12px; padding: 12px; }.product-shortcuts__image { width: 88px; height: 104px; } }

/* Match chanoma's marketplace colors, including disclosure cards. */
.article-content .af-card { --af-btn-rakuten: #bf2137; --af-btn-amazon: #b85b00; --af-btn-yahoo: #096dbb; }
.article-content .af-card .af-card__button--rakuten { --af-btn-color: var(--af-btn-rakuten); }
.article-content .af-card .af-card__button--amazon { --af-btn-color: var(--af-btn-amazon); }
.article-content .af-card .af-card__button--yahoo { --af-btn-color: var(--af-btn-yahoo); }

.site-footer .footer-grid { grid-template-columns: minmax(0,1.3fr) repeat(3,minmax(0,1fr)); gap: 32px; }
.site-footer .footer-heading { margin: 0 0 12px; font-size: 16px; line-height: 1.6; font-weight: 700; color: #fff; }
.site-footer ul { margin: 0; padding: 0; list-style: none; }
.site-footer li a { display: block; padding: 10px 0; min-height: 44px; font-size: 14px; line-height: 1.7; text-underline-offset: 4px; }
.site-footer .footer-search-link { display: inline-flex; align-items: center; min-height: 44px; padding: 10px 14px; margin-top: 8px; border: 1px solid #bed0b4; border-radius: 8px; font-size: 14px; line-height: 1.7; text-decoration: none; }
.site-footer a:hover,.site-footer a:focus-visible { color: #fff3bd; }
@media(max-width:1000px) { .site-footer .footer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px; } }
@media(max-width:620px) { .site-footer .footer-grid { grid-template-columns: 1fr; gap: 28px; }.site-footer .footer-search-link { width: 100%; justify-content: center; } }

/* Family play sheets: readable on a phone, a clean A4 page on paper. */
.experience-tools { margin-block: 1.5rem; }
.experience-sheet { padding: 24px; background: #fffef9; border: 1px solid #9aab91; border-radius: 12px; color: #263c2c; }
.experience-sheet h3 { margin-top: .5rem; }
.bingo-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
.bingo-grid label { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 10px; min-height: 110px; padding: 10px 4px; text-align: center; border: 1px solid #a8b59e; border-radius: 8px; background: white; cursor: pointer; font-size: .95rem; }
.bingo-grid label:has(input:checked) { background: #e7efda; }
.bingo-grid input { width: 22px; height: 22px; accent-color: #2f7d4f; }
.album-photo { min-height: 260px; display: grid; place-items: center; border: 1px dashed #9aab91; margin: 20px 0; color: #57644f; }
.album-line { margin-block: 16px; }.album-line>div { min-height: 32px; border-bottom: 1px solid #a9b1a1; }
@media(max-width:620px) { .experience-sheet { padding: 14px; }.bingo-grid { gap: 5px; }.bingo-grid label { font-size: .8rem; min-height: 100px; } }
@media print {
  body:has(.experience-tools) .article-hero,body:has(.experience-tools) .article-figure,body:has(.experience-tools) .article-content>*:not(.experience-tools) { display: none !important; }
  .experience-tools { margin: 0; }.experience-sheet { border: 0; padding: 4mm; border-radius: 0; background: white; break-inside: avoid; }
  .experience-sheet h3 { font-size: 18pt; }.experience-sheet p { font-size: 11pt; }.bingo-grid label { min-height: 35mm; font-size: 13pt; }
  .bingo-status { display: none !important; }.album-photo { min-height: 65mm; }.album-line>div { min-height: 9mm; }
}

/* 親子で遊ぶ記事を、一行ずつ選べる導線。 */
.family-play-links {display:grid;gap:0;margin-top:1.5rem;}
.family-play-links a {display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem .25rem;border-bottom:1px solid #ddd8cd;color:inherit;text-decoration:none;}
.family-play-links a:hover {color:#59703d;background:#f6f4ed;}
.family-play-links a:focus-visible {outline:2px solid #59703d;outline-offset:3px;}

/* The printable article also prints its checklist through the browser menu or without JS. */
@media print {
  body:has(.packing-tool--full) .article-hero,
  body:has(.packing-tool--full) .article-figure,
  body:has(.packing-tool--full) .article-content>*:not(.packing-tool) { display: none !important; }
  .packing-tool--full { margin: 0; }
  .packing-tool--full .packing-columns { gap: 5mm; }
  .packing-tool--full .packing-columns fieldset { padding: 3mm; }
  .packing-tool--full .packing-item { padding: 2mm 0; }
  .packing-tool--full .packing-item strong { font-size: 10pt; }
  .packing-tool--full .packing-item small { font-size: 8pt; line-height: 1.5; }
  .packing-tool--full .packing-columns fieldset>p,
  .packing-tool--full>p { font-size: 9pt; line-height: 1.6; margin: 2mm 0; }
  .packing-tool--full .packing-item input { width: 4mm; height: 4mm; }
  .packing-tool--full .packing-memo { min-height: 14mm; border-bottom: 1px solid #a9b1a1; }
}
