:root{--ink:#3d2c23;--coral:#ef7777;--coral-dark:#d75f61;--paper:#fffaf1;--line:rgba(108,83,64,0.17)}*{box-sizing:border-box}body,html{margin:0;min-height:100%;overflow:hidden;background:#f5eee2;color:var(--ink);font-family:Hiragino Sans,Yu Gothic UI,Yu Gothic,Meiryo,sans-serif}a,button{font:inherit}.guideShell{width:100%;height:100vh;height:100dvh;display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:radial-gradient(circle at 12% 8%,rgba(255,255,255,.92),transparent 26%),linear-gradient(160deg,#f8f2e7,#f2e8da)}.guideHeader{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:66px;padding:calc(10px + env(safe-area-inset-top)) 18px 10px;background:rgba(255,250,241,.94);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.guideHeader h1,.guideHeader p{margin:0}.eyebrow{margin-bottom:2px!important;color:var(--coral-dark);font-size:11px;font-weight:700;letter-spacing:.16em}.guideHeader h1{font-size:clamp(16px,4.5vw,21px);line-height:1.2;letter-spacing:.03em}.pageNumber{flex:none;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:#8e7a6c;font-size:13px}.pageNumber strong{color:var(--coral-dark);font-size:20px}.progressTrack{position:absolute;right:0;bottom:-1px;left:0;height:3px;overflow:hidden;background:rgba(239,119,119,.12)}.progressValue{display:block;height:100%;border-radius:0 999px 999px 0;background:linear-gradient(90deg,#f4a29e,var(--coral-dark));transition:width .22s ease}.carouselFrame{position:relative;display:flex;min-height:0;align-items:stretch;justify-content:center;padding:10px 8px;overflow:hidden}.carousel{width:min(100%,560px);height:100%;display:flex;overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;touch-action:pan-x pinch-zoom;outline:none}.openZoomButton{position:absolute;top:18px;right:max(16px,calc((100vw - 540px) / 2));z-index:3;padding:8px 12px;border:1px solid rgba(215,95,97,.28);border-radius:999px;background:rgba(255,255,255,.94);color:var(--coral-dark);font-size:12px;font-weight:700;box-shadow:0 5px 16px rgba(61,44,35,.15);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer}.openZoomButton span{display:inline-block;margin-right:2px;font-size:18px;line-height:0;transform:rotate(-20deg)}.carousel::-webkit-scrollbar{display:none}.carousel:focus-visible{border-radius:12px;outline:3px solid rgba(239,119,119,.4);outline-offset:2px}.slide{width:100%;height:100%;flex:0 0 100%;display:flex;align-items:center;justify-content:center;scroll-snap-align:start;scroll-snap-stop:always}.slideImage{display:block;width:auto;height:auto;max-width:100%;max-height:100%;border-radius:12px;box-shadow:0 14px 34px rgba(74,54,42,.17);object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.swipeCue{position:absolute;left:50%;bottom:20px;transform:translateX(-50%);display:flex;align-items:center;gap:8px;min-width:max-content;padding:9px 14px;border:1px solid rgba(255,255,255,.9);border-radius:999px;background:rgba(61,44,35,.76);color:white;font-size:12px;font-weight:700;letter-spacing:.04em;box-shadow:0 7px 20px rgba(61,44,35,.2);animation:cue 1.5s ease-in-out infinite;pointer-events:none}.guideControls{z-index:2;display:grid;grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;gap:12px;min-height:70px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:rgba(255,250,241,.96);border-top:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.navButton{width:46px;height:46px;padding:0 0 4px;border:1px solid rgba(215,95,97,.34);border-radius:50%;background:white;color:var(--coral-dark);font-size:34px;line-height:1;box-shadow:0 4px 12px rgba(94,66,51,.08);cursor:pointer}.navButton:disabled{opacity:.28;cursor:default}.consultButton:focus-visible,.navButton:focus-visible,.openZoomButton:focus-visible,.zoomToolbar button:focus-visible{outline:3px solid rgba(239,119,119,.35);outline-offset:2px}.zoomOverlay{position:fixed;inset:0;z-index:50;display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:rgba(32,25,21,.97);color:white}.zoomToolbar{display:grid;grid-template-columns:minmax(46px,1fr) auto minmax(62px,1fr);align-items:center;gap:10px;min-height:64px;padding:calc(8px + env(safe-area-inset-top)) 12px 8px;border-bottom:1px solid rgba(255,255,255,.14);background:rgba(32,25,21,.95)}.zoomToolbar p{margin:0;color:rgba(255,255,255,.76);font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.zoomControls{display:grid;grid-template-columns:40px 58px 40px;align-items:center;border:1px solid rgba(255,255,255,.18);border-radius:999px;overflow:hidden;background:rgba(255,255,255,.1)}.closeZoomButton,.zoomControls button{min-height:40px;border:0;background:transparent;color:white;font-weight:700;cursor:pointer}.zoomControls button{font-size:22px}.zoomControls button:disabled{color:rgba(255,255,255,.25);cursor:default}.zoomControls output{color:rgba(255,255,255,.86);text-align:center;font-size:11px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.closeZoomButton{justify-self:end;padding:0 8px;font-size:13px}.zoomViewport{min-width:0;min-height:0;overflow:auto;overscroll-behavior:contain;touch-action:pan-x pan-y pinch-zoom;-webkit-overflow-scrolling:touch}.zoomCanvas{min-width:100%;min-height:100%;margin:0 auto;background:#f5eee2}.zoomCanvas img{display:block;width:100%;height:auto;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.zoomHint{padding:9px 14px calc(9px + env(safe-area-inset-bottom));background:rgba(32,25,21,.95);color:rgba(255,255,255,.7);font-size:11px}.controlHint,.zoomHint{margin:0;text-align:center}.controlHint{color:#8c796c;font-size:12px;font-weight:700;letter-spacing:.08em}.consultButton{justify-self:center;width:min(100%,260px);padding:12px 18px;border-radius:999px;background:linear-gradient(135deg,#ef8581,#dc6064);color:white;text-align:center;text-decoration:none;font-size:14px;font-weight:700;box-shadow:0 7px 16px rgba(215,95,97,.25)}@keyframes cue{0%,to{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(-3px)}}@media (min-width:760px){.guideControls,.guideHeader{padding-right:max(24px,calc((100vw - 620px) / 2));padding-left:max(24px,calc((100vw - 620px) / 2))}.carouselFrame{padding-top:14px;padding-bottom:14px}}@media (prefers-reduced-motion:reduce){.carousel{scroll-behavior:auto}.progressValue{transition:none}.swipeCue{animation:none}}