.guide-page { padding-bottom: 30px; }
.guide-topbar, .guide-shell { width: min(1060px, calc(100% - 40px)); margin: 0 auto; }
.guide-topbar { min-height: 90px; display: flex; align-items: center; justify-content: space-between; gap: 20px; font-size: .875rem; font-weight: 750; }
.guide-topbar > a, .guide-footer > a { display: inline-flex; align-items: center; min-height: 44px; }
.guide-topbar > a:hover, .guide-footer > a:hover { color: var(--blue); }
.guide-back { display: inline-flex; align-items: center; gap: 8px; font-size: 1rem; }
.guide-hero { padding: clamp(28px, 5vw, 60px); border: 2px solid var(--ink); border-radius: 28px; box-shadow: 8px 8px 0 var(--ink); }
.reading-hero { background: #ffe379; }
.guide-kicker { display: flex; align-items: center; gap: 10px; margin: 0 0 24px; font-size: .875rem; font-weight: 850; letter-spacing: .07em; }
.guide-hero h1 { margin: 0; font-size: clamp(2rem, 5.5vw, 4.2rem); font-weight: 950; line-height: 1.35; letter-spacing: -.035em; overflow-wrap: anywhere; }
.guide-lead { margin: 24px 0 28px; max-width: 42em; font-size: 1.0625rem; line-height: 1.9; color: var(--ink-soft); }
.guide-button { display: inline-flex; justify-content: center; align-items: center; gap: 10px; min-height: 50px; max-width: 100%; padding: 12px 18px; border: 2px solid var(--ink); border-radius: 12px; background: var(--ink); color: white; font-size: 1rem; line-height: 1.5; font-weight: 750; text-align: center; transition: background 160ms ease, box-shadow 160ms ease; }
.guide-button:hover { background: var(--blue-deep); box-shadow: 3px 3px 0 var(--blue); }
.guide-button svg { flex-shrink: 0; }
.guide-page a:focus-visible, .feature-shortcuts a:focus-visible { outline: 3px solid var(--blue); outline-offset: 5px; }
.guide-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 24px; }
.guide-text-link { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 8px 0; font-size: 1rem; font-weight: 750; text-decoration: underline; text-underline-offset: 5px; }
.guide-text-link svg { flex-shrink: 0; }
.guide-section { padding: 70px 0; }
.guide-section-title h2 { margin: 0; font-size: clamp(1.5rem, 3.2vw, 2.3rem); font-weight: 900; line-height: 1.5; letter-spacing: -.03em; }
.guide-section-title > p:not(.guide-kicker) { margin: 12px 0 0; font-size: 1rem; line-height: 1.9; color: var(--ink-soft); }
.reading-price { margin: 22px 0 28px; font-size: .875rem; line-height: 1.8; color: var(--ink-soft); }
.reading-grid, .goods-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.reading-card { min-width: 0; padding: 28px; display: flex; flex-direction: column; border: 2px solid var(--ink); border-radius: 20px; background: white; box-shadow: 5px 5px 0 #bde8ff; }
.reading-card-top { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; color: var(--ink-soft); font-size: .875rem; }
.reading-index { font: 900 1.75rem/1.2 var(--font-mono); color: var(--blue); }
.reading-need { margin: 24px 0 14px; color: #725200; font-size: .9375rem; font-weight: 800; }
.reading-card h3, .goods-card h3 { margin: 0; font-size: 1.375rem; line-height: 1.65; font-weight: 850; }
.reading-description, .goods-card > p { margin: 18px 0 24px; font-size: 1rem; line-height: 1.9; color: var(--ink-soft); }
.reading-column { margin: auto 0 24px; padding-top: 18px; border-top: 1px solid var(--line); font-size: .875rem; line-height: 1.8; }
.reading-column span { display: block; color: var(--ink-soft); font-size: .875rem; font-weight: 700; }
.reading-card .guide-button, .goods-card .guide-button { align-self: flex-start; }
.guide-endnote { display: flex; align-items: center; gap: 32px; padding: 30px; border: 2px solid var(--ink); border-radius: 22px; background: #e9f6ff; }
.guide-endnote img { width: 150px; height: auto; flex-shrink: 0; border: 1px solid var(--line); border-radius: 12px; }
.guide-endnote h2 { margin: 0; font-size: 1.4rem; line-height: 1.6; font-weight: 850; }
.guide-endnote p { margin: 12px 0; font-size: 1rem; line-height: 1.9; color: var(--ink-soft); }
.guide-footer { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 18px; margin-top: 48px; padding: 28px 0; border-top: 1px solid var(--line); font-size: .875rem; font-weight: 750; }
.guide-footer a { text-decoration: underline; text-underline-offset: 5px; }
.goods-hero { display: grid; grid-template-columns: minmax(0, 1fr) 200px; align-items: center; gap: 35px; background: #d9f5e5; }
.goods-hero h1 { font-size: clamp(1.8rem, 4.2vw, 3.1rem); }
.goods-mascot { margin: 0; transform: rotate(3deg); }
.goods-mascot img { display: block; width: 100%; height: auto; border: 2px solid var(--ink); border-radius: 20px; }
.goods-mascot figcaption { margin-top: 12px; font-size: .875rem; font-weight: 850; text-align: center; line-height: 1.6; }
.goods-color-note { padding: 20px 24px; margin: 26px 0; border-left: 5px solid #167549; background: white; border-radius: 0 12px 12px 0; }
.goods-color-note strong { font-size: 1.125rem; }
.goods-color-note p { margin: 8px 0 0; color: var(--ink-soft); font-size: 1rem; line-height: 1.9; }
.goods-card { min-width: 0; display: flex; flex-direction: column; padding: 28px; border: 2px solid var(--ink); border-radius: 20px; background: white; box-shadow: 5px 5px 0 #9fdec0; }
.goods-option { display: flex; align-items: center; gap: 12px; padding: 14px 16px; margin-bottom: 24px; border: 1px solid var(--line); border-radius: 10px; font-size: .9375rem; font-weight: 800; background: #f6f8fb; }
.goods-option svg { flex-shrink: 0; }
.goods-option-dark { background: var(--ink); color: white; border-color: var(--ink); }
.goods-card .guide-button { margin-top: auto; }
.goods-card-classic { display: grid; grid-template-columns: 230px minmax(0, 1fr); align-items: center; gap: 28px; background: #fff8d9; }
.goods-classic-copy { min-width: 0; }
.goods-classic-copy > p { margin: 18px 0 24px; font-size: 1rem; line-height: 1.9; color: var(--ink-soft); }
.goods-photo-group { display: grid; grid-template-columns: 230px minmax(0, 1fr); align-items: start; gap: 24px; margin-top: 28px; }
.goods-photo { min-width: 0; margin: 0; }
.goods-photo img { display: block; width: 100%; height: auto; max-height: 320px; object-fit: contain; border-radius: 12px; }
.goods-photo figcaption { margin-top: 10px; color: var(--ink-soft); font-size: .875rem; line-height: 1.7; text-align: center; }
.goods-case-photo { display: block; width: 100%; height: 260px; object-fit: contain; margin: 0 auto 24px; }
@media (max-width: 1000px) {
  .goods-photo-group { grid-template-columns: minmax(0, 1fr); }
  .goods-photo-group > .goods-photo { width: min(100%, 280px); justify-self: center; }
}
@media (max-width: 700px) {
  .goods-card-classic { grid-template-columns: minmax(0, 1fr); gap: 22px; }
  .goods-card-classic > .goods-photo { width: min(100%, 230px); justify-self: center; }
  .goods-photo img { max-height: 300px; }
  .goods-case-photo { height: 230px; }
}
.goods-category-nav { display: flex; flex-wrap: wrap; gap: 12px; margin: 30px 0 0; }
.goods-category-nav a { padding: 12px 16px; border: 1px solid var(--ink); border-radius: 999px; background: white; font-size: 1rem; font-weight: 750; }
.goods-category-nav a:hover { background: #d9f5e5; }
.goods-line-section { margin-top: 32px; padding: 28px; border: 2px solid var(--ink); border-radius: 20px; background: #eaf9f0; }
.goods-line-section h2 { font-size: clamp(1.5rem, 3vw, 2rem); }
.goods-line-links { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-top: 22px; }
.goods-line-link { display: flex; flex-direction: column; align-items: center; gap: 10px; min-width: 0; padding: 16px 10px; border: 1px solid #8abf9e; border-radius: 12px; background: white; text-align: center; }
.goods-line-link:hover { background: #d9f5e5; }
.goods-line-link:focus-visible { outline: 3px solid #167549; outline-offset: 3px; }
.goods-line-image { display: block; width: 96px; max-width: 100%; height: 80px; object-fit: contain; flex-shrink: 0; }
.goods-line-link > span { min-width: 0; }
.goods-line-link small, .goods-line-link strong, .goods-line-cta { display: block; line-height: 1.7; }
.goods-line-link small, .goods-line-cta { font-size: .875rem; color: var(--ink-soft); }
.goods-line-link strong { font-size: 1rem; overflow-wrap: anywhere; }
.goods-line-cta { margin-top: 4px; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 700px) {
  .goods-line-section { padding: 24px 18px; }
  .goods-line-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.goods-extra-section { padding-top: 0; }
.goods-extra-section > .goods-grid { margin-top: 26px; }
.goods-availability { margin: 24px 0 0; font-size: .875rem; line-height: 1.8; color: var(--ink-soft); }
.buying-guide { padding: 36px; border: 2px solid var(--ink); border-radius: 24px; background: white; }
.buying-steps { list-style: none; margin: 24px 0; padding: 0; }
.buying-steps li { display: flex; align-items: flex-start; gap: 22px; padding: 25px 0; border-bottom: 1px solid var(--line); }
.buying-steps li:last-child { border-bottom: 0; }
.buying-steps li > div { min-width: 0; }
.step-number { display: grid; place-items: center; width: 38px; height: 38px; flex: 0 0 38px; border-radius: 50%; background: #d9f5e5; color: var(--ink); font: 850 1rem/1 var(--font-mono); }
.buying-steps h3 { margin: 0 0 8px; font-size: 1.125rem; font-weight: 850; line-height: 1.7; }
.buying-steps p { margin: 0; font-size: 1rem; line-height: 1.9; color: var(--ink-soft); }
.buying-steps .size-tip { margin-top: 12px; padding: 14px 16px; border-radius: 10px; background: #f0f7fc; }
.goods-more { margin-top: 40px; background: #fff2b4; }
@media (max-width: 700px) {
  .feature-shortcuts, .reading-grid, .goods-grid { grid-template-columns: minmax(0, 1fr); }
  .feature-shortcuts > a { padding: 18px; }
  .guide-topbar, .guide-shell { width: calc(100% - 28px); }
  .guide-topbar { min-height: 78px; gap: 12px; flex-wrap: wrap; padding: 15px 0; }
  .guide-topbar > a:last-child { font-size: .875rem; }
  .guide-hero { padding: 30px 22px; border-radius: 22px; box-shadow: 5px 5px 0 var(--ink); }
  .guide-hero h1 { font-size: clamp(1.8rem, 7.8vw, 3rem); }
  .guide-kicker { font-size: .875rem; letter-spacing: .02em; }
  .guide-section { padding: 50px 0; }
  .goods-extra-section { padding-top: 0; }
  .reading-card, .goods-card { padding: 24px 20px; }
  .reading-card h3, .goods-card h3 { font-size: 1.25rem; }
  .guide-endnote { padding: 24px 20px; gap: 20px; align-items: flex-start; flex-direction: column; }
  .guide-endnote img { width: 110px; }
  .goods-hero { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .goods-hero h1 { font-size: clamp(1.7rem, 6.8vw, 2.6rem); }
  .goods-mascot { width: 130px; justify-self: end; }
  .goods-mascot figcaption { font-size: .875rem; }
  .goods-color-note { padding: 18px; }
  .buying-guide { padding: 28px 20px; }
  .buying-steps li { gap: 14px; }
  .guide-button { width: 100%; padding: 12px 14px; }
}
@media (prefers-reduced-motion: reduce) {
  .feature-shortcuts > a { transition: none; }
}
:root{--ink-soft:var(--muted);--blue-deep:#103bb8;--font-mono:monospace;--font-sans:"Yu Gothic",Meiryo,sans-serif}.guide-page footer{padding-bottom:28px}.guide-hero,.reading-card,.goods-card,.guide-endnote,.goods-line-section,.buying-guide{border:1px solid var(--line);border-radius:8px;box-shadow:none}.guide-hero{background:var(--light)}.guide-button{background:var(--blue);border:1px solid var(--blue);border-radius:5px;font-size:.9375rem}.guide-button:hover{background:var(--blue-deep);box-shadow:none}.goods-mascot img{border:0;border-radius:0;mix-blend-mode:multiply}.goods-mascot{transform:none}.goods-more,.guide-endnote{background:var(--light)}.goods-card-classic{background:#f8faff}.goods-line-section{background:#eff8f4}.goods-color-note{border-left:3px solid var(--blue);background:var(--light)}.goods-category-nav a{border-color:var(--line);font-size:.875rem}.guide-endnote img{border:0;mix-blend-mode:multiply}.guide-page p{overflow-wrap:anywhere}.curry-page{padding-bottom:35px}.curry-heading{display:flex;justify-content:space-between;gap:30px;align-items:center;padding:35px 0 30px;border-bottom:1px solid var(--line);margin-bottom:35px}.curry-heading h1{font-size:2.5rem;line-height:1.4;margin:10px 0}.curry-heading img{object-fit:contain;flex-shrink:0}.curry-total{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.curry-total strong{font-size:2.5rem;color:var(--blue)}.curry-total span{font-size:.75rem;color:var(--muted);margin-left:12px}.curry-tools{display:flex;justify-content:space-between;align-items:end;gap:25px}.curry-tools label{display:flex;flex-direction:column;gap:8px;font-size:.875rem;min-width:300px}.curry-tools input{padding:14px 16px;border:1px solid #7d8ca7;border-radius:5px;font:inherit;font-size:1rem;color:var(--ink);width:100%}.curry-tools input:focus{outline:2px solid var(--blue);outline-offset:2px}#result-count{font-size:.875rem;color:var(--muted);margin:24px 0}.curry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.curry-card{border:1px solid var(--line);border-radius:6px;padding:24px}.curry-card h3{font-size:1.125rem;line-height:1.6;margin:14px 0}.curry-card p{font-size:1rem;color:var(--muted);white-space:pre-line;overflow-wrap:anywhere;margin:0}.curry-card-meta{display:flex;justify-content:space-between;gap:15px;font-size:.75rem;color:var(--muted)}.curry-card .curry-repeat{font-size:.75rem;margin-top:15px;color:var(--blue)}#curry-empty{padding:40px 20px;text-align:center;background:var(--light)}[hidden]{display:none!important}@media(max-width:700px){.guide-topbar,.guide-shell{width:calc(100% - 40px)}.guide-hero{padding:26px 20px}.goods-mascot{width:108px}.guide-topbar .guide-back{font-size:.875rem}.curry-heading{align-items:start;gap:10px}.curry-heading h1{font-size:1.65rem}.curry-heading img{width:65px;height:auto;margin-top:30px}.curry-heading p{font-size:1rem}.curry-total span{margin-left:0}.curry-tools{flex-direction:column;align-items:stretch}.curry-tools label{min-width:0}.curry-grid{grid-template-columns:1fr}.curry-card{padding:20px}.curry-page .guide-topbar>span{display:none}.curry-heading .eyebrow{font-size:.75rem}.guide-footer{gap:20px}.guide-footer a{min-height:44px}.goods-line-section{padding:22px 16px}.goods-line-link{padding:12px 7px}.goods-line-link strong{font-size:.875rem}}
html{scroll-behavior:auto}

@font-face{font-family:FunyuText;src:url('/fonts/noto-sans.ttf') format('truetype');font-display:swap}@font-face{font-family:FunyuUCAS;src:url('/fonts/noto-canadian.ttf') format('truetype');font-display:swap}.kaomoji{font-family:FunyuText,FunyuUCAS,sans-serif!important;font-weight:400!important;font-style:normal;letter-spacing:0!important;white-space:pre!important;display:inline-block;line-height:1.8;word-break:normal;overflow-wrap:normal!important;font-variant-ligatures:none}
.goods-mascot figcaption .kaomoji{display:block;font-size:1rem}.goods-mascot figcaption{overflow-wrap:normal}