/* ============================================================
   自己ホストフォント（サブセット化済み woff2）
   Googleフォント配信はCSS定義だけで659KBあり描画を止めていたため廃止。
   フォント再生成は wp/src/subset-fonts.py（文言に新しい漢字を足した時のみ必要）
   ============================================================ */
@font-face {
  font-family: "Zen Maru Gothic";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/hyoutan-assets/fonts/zenmaru-400.woff2?v=20260824b") format("woff2");
}
@font-face {
  font-family: "Zen Maru Gothic";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/hyoutan-assets/fonts/zenmaru-700.woff2?v=20260824b") format("woff2");
}
@font-face {
  font-family: "Zen Maru Gothic";
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url("/hyoutan-assets/fonts/zenmaru-900.woff2?v=20260824b") format("woff2");
}
@font-face {
  font-family: "Dela Gothic One";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/hyoutan-assets/fonts/dela-400.woff2?v=20260824b") format("woff2");
}
@font-face {
  font-family: "Yusei Magic";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/hyoutan-assets/fonts/yusei-400.woff2?v=20260824b") format("woff2");
}

/* ===== Tailwind（静的生成・CDN不使用） ===== */
*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.inset-x-0{left:0;right:0}.inset-x-4{left:1rem;right:1rem}.-left-4{left:-1rem}.-left-6{left:-1.5rem}.-left-8{left:-2rem}.-right-10{right:-2.5rem}.-right-8{right:-2rem}.-top-5{top:-1.25rem}.bottom-0{bottom:0}.bottom-2{bottom:.5rem}.bottom-20{bottom:5rem}.bottom-24{bottom:6rem}.bottom-4{bottom:1rem}.bottom-6{bottom:1.5rem}.left-1\/2{left:50%}.right-4{right:1rem}.right-6{right:1.5rem}.top-0{top:0}.top-24{top:6rem}.top-4{top:1rem}.top-6{top:1.5rem}.top-8{top:2rem}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-40{z-index:40}.z-50{z-index:50}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-auto{margin-left:auto;margin-right:auto}.mb-2{margin-bottom:.5rem}.ml-1{margin-left:.25rem}.ml-auto{margin-left:auto}.mt-0{margin-top:0}.mt-1\.5{margin-top:.375rem}.mt-10{margin-top:2.5rem}.mt-12{margin-top:3rem}.mt-14{margin-top:3.5rem}.mt-16{margin-top:4rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-7{margin-top:1.75rem}.mt-8{margin-top:2rem}.mt-9{margin-top:2.25rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.h-0\.5{height:.125rem}.h-11{height:2.75rem}.h-36{height:9rem}.h-44{height:11rem}.h-5{height:1.25rem}.h-72{height:18rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-full{height:100%}.min-h-\[100svh\]{min-height:100svh}.w-11{width:2.75rem}.w-16{width:4rem}.w-20{width:5rem}.w-24{width:6rem}.w-36{width:9rem}.w-5{width:1.25rem}.w-\[62\%\]{width:62%}.w-auto{width:auto}.w-full{width:100%}.w-px{width:1px}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-7xl{max-width:80rem}.max-w-md{max-width:28rem}.flex-1{flex:1 1 0%}.-translate-x-1\/2{--tw-translate-x:-50%}.-rotate-1,.-translate-x-1\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-rotate-1{--tw-rotate:-1deg}.-rotate-2{--tw-rotate:-2deg}.-rotate-2,.-rotate-3{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-rotate-3{--tw-rotate:-3deg}.-rotate-6{--tw-rotate:-6deg}.-rotate-6,.rotate-1{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-1{--tw-rotate:1deg}.rotate-2{--tw-rotate:2deg}.rotate-2,.rotate-3{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-3{--tw-rotate:3deg}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-10{gap:2.5rem}.gap-14{gap:3.5rem}.gap-2{gap:.5rem}.gap-6{gap:1.5rem}.gap-x-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.gap-y-2{row-gap:.5rem}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-2{border-width:2px}.border-\[3px\]{border-width:3px}.border-y-4{border-top-width:4px;border-bottom-width:4px}.border-l-2{border-left-width:2px}.border-t-2{border-top-width:2px}.border-dashed{border-style:dashed}.border-ink\/20{border-color:rgba(29,42,38,.2)}.border-sea-night{--tw-border-opacity:1;border-color:rgb(5 39 35/var(--tw-border-opacity,1))}.border-sun\/60{border-color:rgba(255,197,61,.6)}.border-sun\/70{border-color:rgba(255,197,61,.7)}.border-white\/40{border-color:hsla(0,0%,100%,.4)}.border-white\/70{border-color:hsla(0,0%,100%,.7)}.border-white\/80{border-color:hsla(0,0%,100%,.8)}.bg-paper{--tw-bg-opacity:1;background-color:rgb(246 238 218/var(--tw-bg-opacity,1))}.bg-sea-deep{--tw-bg-opacity:1;background-color:rgb(11 93 82/var(--tw-bg-opacity,1))}.bg-sea-deep\/80{background-color:rgba(11,93,82,.8)}.bg-sea-night{--tw-bg-opacity:1;background-color:rgb(5 39 35/var(--tw-bg-opacity,1))}.bg-sea-night\/70{background-color:rgba(5,39,35,.7)}.bg-sea-night\/85{background-color:rgba(5,39,35,.85)}.bg-sea-night\/95{background-color:rgba(5,39,35,.95)}.bg-sun{--tw-bg-opacity:1;background-color:rgb(255 197 61/var(--tw-bg-opacity,1))}.bg-sunset{--tw-bg-opacity:1;background-color:rgb(255 107 44/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/10{background-color:hsla(0,0%,100%,.1)}.bg-white\/15{background-color:hsla(0,0%,100%,.15)}.bg-white\/60{background-color:hsla(0,0%,100%,.6)}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.from-sea-night{--tw-gradient-from:#052723 var(--tw-gradient-from-position);--tw-gradient-to:rgba(5,39,35,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-sea-night\/70{--tw-gradient-from:rgba(5,39,35,.7) var(--tw-gradient-from-position);--tw-gradient-to:rgba(5,39,35,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.via-sea-night\/60{--tw-gradient-to:rgba(5,39,35,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(5,39,35,.6) var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),transparent var(--tw-gradient-via-position),var(--tw-gradient-to)}.to-sea-night\/70{--tw-gradient-to:rgba(5,39,35,.7) var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position)}.object-cover{-o-object-fit:cover;object-fit:cover}.p-6{padding:1.5rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-12{padding-left:3rem;padding-right:3rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-14{padding-top:3.5rem;padding-bottom:3.5rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-24{padding-top:6rem;padding-bottom:6rem}.py-28{padding-top:7rem;padding-bottom:7rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-2\.5{padding-bottom:.625rem}.pb-28{padding-bottom:7rem}.pt-1\.5{padding-top:.375rem}.pt-3{padding-top:.75rem}.pt-32{padding-top:8rem}.text-center{text-align:center}.font-dela{font-family:Dela Gothic One,sans-serif}.font-maru{font-family:Zen Maru Gothic,sans-serif}.font-yusei{font-family:Yusei Magic,sans-serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[14vw\]{font-size:14vw}.text-\[16vw\]{font-size:16vw}.text-\[17vw\]{font-size:17vw}.text-\[18vw\]{font-size:18vw}.text-\[22vw\]{font-size:22vw}.text-\[clamp\(1\.3rem\2c 3\.6vw\2c 2\.4rem\)\]{font-size:clamp(1.3rem,3.6vw,2.4rem)}.text-\[clamp\(1\.7rem\2c 5vw\2c 3\.4rem\)\]{font-size:clamp(1.7rem,5vw,3.4rem)}.text-\[clamp\(1\.9rem\2c 4\.5vw\2c 3\.4rem\)\]{font-size:clamp(1.9rem,4.5vw,3.4rem)}.text-\[clamp\(2\.4rem\2c 7\.5vw\2c 6rem\)\]{font-size:clamp(2.4rem,7.5vw,6rem)}.text-\[clamp\(2rem\2c 6vw\2c 4\.2rem\)\]{font-size:clamp(2rem,6vw,4.2rem)}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-bold{font-weight:700}.leading-\[1\.18\]{line-height:1.18}.leading-loose{line-height:2}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.tracking-\[0\.06em\]{letter-spacing:.06em}.tracking-\[0\.25em\]{letter-spacing:.25em}.tracking-\[0\.35em\]{letter-spacing:.35em}.tracking-\[0\.3em\]{letter-spacing:.3em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-ink{--tw-text-opacity:1;color:rgb(29 42 38/var(--tw-text-opacity,1))}.text-ink\/70{color:rgba(29,42,38,.7)}.text-sea-deep{--tw-text-opacity:1;color:rgb(11 93 82/var(--tw-text-opacity,1))}.text-sea-light{--tw-text-opacity:1;color:rgb(143 240 226/var(--tw-text-opacity,1))}.text-sea-night{--tw-text-opacity:1;color:rgb(5 39 35/var(--tw-text-opacity,1))}.text-sun{--tw-text-opacity:1;color:rgb(255 197 61/var(--tw-text-opacity,1))}.text-sunset{--tw-text-opacity:1;color:rgb(255 107 44/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-white\/50{color:hsla(0,0%,100%,.5)}.text-white\/70{color:hsla(0,0%,100%,.7)}.text-white\/80{color:hsla(0,0%,100%,.8)}.text-white\/90{color:hsla(0,0%,100%,.9)}.underline{text-decoration-line:underline}.decoration-sunset{text-decoration-color:#ff6b2c}.decoration-2{text-decoration-thickness:2px}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-90{opacity:.9}.shadow-\[0_5px_0_rgba\(5\2c 39\2c 35\2c 0\.85\)\]{--tw-shadow:0 5px 0 rgba(5,39,35,.85);--tw-shadow-colored:0 5px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[0_6px_0_rgba\(5\2c 39\2c 35\2c 0\.5\)\]{--tw-shadow:0 6px 0 rgba(5,39,35,.5);--tw-shadow-colored:0 6px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[10px_10px_0_rgba\(255\2c 197\2c 61\2c 0\.3\)\]{--tw-shadow:10px 10px 0 rgba(255,197,61,.3);--tw-shadow-colored:10px 10px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[10px_10px_0_rgba\(5\2c 39\2c 35\2c 0\.2\)\]{--tw-shadow:10px 10px 0 rgba(5,39,35,.2);--tw-shadow-colored:10px 10px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[10px_10px_0_rgba\(5\2c 39\2c 35\2c 0\.25\)\]{--tw-shadow:10px 10px 0 rgba(5,39,35,.25);--tw-shadow-colored:10px 10px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[10px_10px_0_rgba\(5\2c 39\2c 35\2c 0\.85\)\]{--tw-shadow:10px 10px 0 rgba(5,39,35,.85);--tw-shadow-colored:10px 10px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[5px_5px_0_rgba\(5\2c 39\2c 35\2c 0\.85\)\]{--tw-shadow:5px 5px 0 rgba(5,39,35,.85);--tw-shadow-colored:5px 5px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[8px_8px_0_rgba\(255\2c 197\2c 61\2c 0\.35\)\]{--tw-shadow:8px 8px 0 rgba(255,197,61,.35);--tw-shadow-colored:8px 8px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[8px_8px_0_rgba\(5\2c 39\2c 35\2c 0\.85\)\]{--tw-shadow:8px 8px 0 rgba(5,39,35,.85);--tw-shadow-colored:8px 8px 0 var(--tw-shadow-color)}.shadow-\[8px_8px_0_rgba\(5\2c 39\2c 35\2c 0\.85\)\],.shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-sunset\/40{--tw-shadow-color:rgba(255,107,44,.4);--tw-shadow:var(--tw-shadow-colored)}.drop-shadow{--tw-drop-shadow:drop-shadow(0 1px 2px rgba(0,0,0,.1)) drop-shadow(0 1px 1px rgba(0,0,0,.06))}.drop-shadow,.drop-shadow-\[0_4px_0_rgba\(5\2c 39\2c 35\2c 0\.9\)\]{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow-\[0_4px_0_rgba\(5\2c 39\2c 35\2c 0\.9\)\]{--tw-drop-shadow:drop-shadow(0 4px 0 rgba(5,39,35,.9))}.drop-shadow-\[0_6px_0_rgba\(5\2c 39\2c 35\2c 0\.9\)\]{--tw-drop-shadow:drop-shadow(0 6px 0 rgba(5,39,35,.9));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.hover\:translate-y-0\.5:hover{--tw-translate-y:0.125rem}.hover\:scale-105:hover,.hover\:translate-y-0\.5:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05}.hover\:bg-white\/10:hover{background-color:hsla(0,0%,100%,.1)}.hover\:text-sea-deep:hover{--tw-text-opacity:1;color:rgb(11 93 82/var(--tw-text-opacity,1))}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.hover\:shadow-\[3px_3px_0_rgba\(5\2c 39\2c 35\2c 0\.85\)\]:hover{--tw-shadow:3px 3px 0 rgba(5,39,35,.85);--tw-shadow-colored:3px 3px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}@media (min-width:768px){.md\:bottom-6{bottom:1.5rem}.md\:bottom-8{bottom:2rem}.md\:right-6{right:1.5rem}.md\:-mt-4{margin-top:-1rem}.md\:mt-10{margin-top:2.5rem}.md\:mt-12{margin-top:3rem}.md\:mt-9{margin-top:2.25rem}.md\:block{display:block}.md\:flex{display:flex}.md\:hidden{display:none}.md\:h-11{height:2.75rem}.md\:h-12{height:3rem}.md\:h-96{height:24rem}.md\:w-12{width:3rem}.md\:max-w-lg{max-width:32rem}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-\[auto_1fr\]{grid-template-columns:auto 1fr}.md\:gap-16{gap:4rem}.md\:gap-3{gap:.75rem}.md\:gap-6{gap:1.5rem}.md\:p-8{padding:2rem}.md\:px-10{padding-left:2.5rem;padding-right:2.5rem}.md\:px-12{padding-left:3rem;padding-right:3rem}.md\:px-8{padding-left:2rem;padding-right:2rem}.md\:py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.md\:py-36{padding-top:9rem;padding-bottom:9rem}.md\:py-4{padding-top:1rem;padding-bottom:1rem}.md\:py-40{padding-top:10rem;padding-bottom:10rem}.md\:text-2xl{font-size:1.5rem;line-height:2rem}.md\:text-3xl{font-size:1.875rem;line-height:2.25rem}.md\:text-5xl{font-size:3rem;line-height:1}.md\:text-base{font-size:1rem;line-height:1.5rem}.md\:text-xl{font-size:1.25rem;line-height:1.75rem}.md\:text-xs{font-size:.75rem;line-height:1rem}}@media (min-width:1024px){.lg\:gap-10{gap:2.5rem}}

/* ===== LP独自スタイル（編集は wp/src/custom.css） ===== */
/* ==== SWELLがモバイルでルート文字サイズを縮める（13.5px等）のを打ち消す ====
   このCSSはLPページでしか読み込まれないため、影響はLPのみ */
html {
  font-size: 16px !important;
}

/* ==== SWELLのコンテンツ幅制限を突破して全幅表示にする ==== */
#hyoutan-lp {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  overflow-x: clip;
}

/* ============================================
   ひょうたん島大作戦！ 冒険クエストマップ・スタイル
   （Tailwind CDN を補完する装飾・アニメーション）
   ============================================ */

/* ---- 紙のグレイン質感（PCのみ：モバイルでは固定オーバーレイが
        スクロール時の再描画コストになるため無効） ---- */
@media (min-width: 768px) {
  body::after {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 80;
    pointer-events: none;
    opacity: 0.05;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");
  }
}

/* ---- 巨大アウトライン英字 ---- */
.outline-word {
  font-family: "Dela Gothic One", sans-serif;
  color: transparent;
  -webkit-text-stroke: 2px currentColor;
  opacity: 0.12;
  white-space: nowrap;
}

/* ---- クエストタグ（セクションラベル） ---- */
.quest-tag {
  display: inline-block;
  width: fit-content;
  transform: rotate(-2deg);
  background: #052723;
  color: #ffc53d;
  font-family: "Dela Gothic One", sans-serif;
  font-size: 0.8rem;
  letter-spacing: 0.15em;
  padding: 0.45rem 1.1rem;
  border-radius: 9999px;
  box-shadow: 4px 4px 0 rgba(255, 107, 44, 0.9);
}
.quest-tag--dark {
  background: #ffc53d;
  color: #052723;
  box-shadow: 4px 4px 0 rgba(255, 107, 44, 0.9);
}

/* ---- 蛍光マーカー風強調（inline-blockで句の途中改行を防ぐ） ---- */
.marker {
  display: inline-block;
  background: linear-gradient(transparent 62%, rgba(255, 197, 61, 0.7) 62%);
  font-weight: 700;
}

/* ---- 横スクロール・横揺れの完全防止 ---- */
html, body {
  overflow-x: clip;
}

/* ---- ヒーローの背景メディア：可読性のためのトーン調整 ---- */
.hero-media {
  filter: brightness(0.82) contrast(1.05) saturate(1.15);
}

/* ---- ヘッダー（スクロールで背景色）
   ※backdrop-filterは使わない：子孫のfixed要素の基準が壊れるため ---- */
#site-header.scrolled {
  background: rgba(5, 39, 35, 0.94);
  box-shadow: 0 2px 16px rgba(0, 0, 0, 0.25);
}
.nav-link {
  position: relative;
  padding: 0.25rem 0;
}
.nav-link::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 100%;
  height: 3px;
  border-radius: 2px;
  background: #ffc53d;
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 0.3s ease;
}
.nav-link:hover::after {
  transform: scaleX(1);
  transform-origin: left;
}

/* ---- モバイルメニュー開閉 ---- */
#mobile-menu.open {
  opacity: 1;
  pointer-events: auto;
}
#menu-btn.open .menu-bar:nth-child(1) { transform: translateY(8px) rotate(45deg); }
#menu-btn.open .menu-bar:nth-child(2) { opacity: 0; }
#menu-btn.open .menu-bar:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }

/* ---- CTAボタン ---- */
.cta-btn {
  transition: transform 0.25s ease, box-shadow 0.25s ease, filter 0.25s ease;
}
.cta-btn:hover {
  transform: translateY(-3px) rotate(-1deg) scale(1.03);
  filter: brightness(1.07);
}
.cta-btn:active {
  transform: translateY(0) scale(0.98);
}

/* ---- スクロールインジケーター ---- */
.scroll-indicator span:last-child {
  animation: scrollPulse 1.8s ease-in-out infinite;
  transform-origin: top;
}
@keyframes scrollPulse {
  0% { transform: scaleY(0); opacity: 1; }
  70% { transform: scaleY(1); opacity: 1; }
  100% { transform: scaleY(1); opacity: 0; }
}

/* ---- 回転バッジ（文字リングのみ回転・中央は下矢印） ---- */
.spin-badge {
  transition: transform 0.3s ease;
}
.spin-badge:hover {
  transform: translateY(4px);
}
.spin-badge svg {
  filter: drop-shadow(0 4px 12px rgba(5, 39, 35, 0.5));
}
.spin-badge .spin-ring {
  animation: spin 18s linear infinite;
  transform-origin: 60px 60px;
}
@keyframes spin {
  to { transform: rotate(360deg); }
}

/* ---- ストライプ帯（セクション区切りの派手アクセント） ---- */
.stripe-band {
  height: 16px;
  background: repeating-linear-gradient(
    -45deg,
    #ffc53d 0 18px,
    #052723 18px 36px
  );
  border-top: 3px solid #052723;
  border-bottom: 3px solid #052723;
}

/* ---- アウトライン文字（逆走マーキー用） ---- */
.outline-text {
  color: transparent;
  -webkit-text-stroke: 2px rgba(255, 197, 61, 0.85);
}
.marquee-track--reverse {
  animation-direction: reverse;
  animation-duration: 26s;
}

/* ---- マーキー ---- */
.marquee-track {
  display: inline-block;
  padding-right: 2rem;
  animation: marquee 20s linear infinite;
}
@keyframes marquee {
  from { transform: translateX(0); }
  to { transform: translateX(-100%); }
}

/* ---- 写真の統一トーン（暖色フィルム風） ---- */
.polaroid img,
.crew-photo img,
.mission-card img {
  filter: saturate(1.18) contrast(1.06) sepia(0.14) hue-rotate(-8deg) brightness(1.02);
}

/* ---- スクロール出現アニメーション ----
   transform ではなく個別プロパティ（translate/scale）を使い、
   Tailwind の rotate クラスと競合しないようにする */
.reveal, .reveal-l, .reveal-r, .reveal-pop {
  opacity: 0;
  transition: opacity 0.7s ease, translate 0.7s ease, scale 0.7s ease;
}
.reveal { translate: 0 32px; }
.reveal-l { translate: -56px 0; }
.reveal-r { translate: 56px 0; }
.reveal-pop { scale: 0.55; translate: 0 16px; }
/* モバイルは移動量と時間を抑えてスクロール中の負荷を軽減 */
@media (max-width: 767px) {
  .reveal, .reveal-l, .reveal-r, .reveal-pop {
    transition-duration: 0.45s;
  }
  .reveal { translate: 0 18px; }
  .reveal-l { translate: -24px 0; }
  .reveal-r { translate: 24px 0; }
  .reveal-pop { scale: 0.8; translate: 0 10px; }
}

/* ---- モバイルの本文サイズ底上げ ---- */
@media (max-width: 767px) {
  main p {
    font-size: 1.0625rem; /* 17px */
  }
  .info-table > div {
    font-size: 1.0625rem;
  }
  .mission-card p,
  .crew-tcard p {
    font-size: 0.9375rem; /* 15px：カード内は少しだけ抑える */
  }
  .ticket .text-xs {
    font-size: 0.8125rem; /* 13px：注記も12pxは使わない */
  }
  main .faq-answer,
  main .faq-item summary {
    font-size: 1.0625rem;
  }
}
.reveal.visible, .reveal-l.visible, .reveal-r.visible, .reveal-pop.visible {
  opacity: 1;
  translate: 0 0;
  scale: 1;
}

/* ---- ポラロイド写真 ---- */
.polaroid {
  position: relative;
  display: block;
  background: #fff;
  padding: 0.8rem 0.8rem 0.6rem;
  box-shadow: 0 14px 30px rgba(5, 39, 35, 0.25);
  transition: transform 0.35s ease;
}
.polaroid img {
  display: block;
  width: 100%;
}
.polaroid figcaption {
  padding: 0.7rem 0.2rem 0.4rem;
  font-size: 0.95rem;
  color: #1d2a26;
}
.polaroid:hover {
  transform: rotate(0deg) scale(1.03);
  z-index: 5;
}
/* マスキングテープ */
.polaroid::before {
  content: "";
  position: absolute;
  top: -12px;
  left: 50%;
  transform: translateX(-50%) rotate(-4deg);
  width: 40%;
  height: 26px;
  background: rgba(255, 197, 61, 0.75);
  box-shadow: 0 2px 4px rgba(5, 39, 35, 0.15);
}

/* ---- スタンプ風装飾 ---- */
.stamp {
  font-family: "Yusei Magic", sans-serif;
  color: #ff6b2c;
  border: 3px solid #ff6b2c;
  border-radius: 9999px;
  padding: 0.55rem 1.1rem;
  transform: rotate(-12deg);
  opacity: 0.9;
  font-size: 1rem;
  background: rgba(246, 238, 218, 0.85);
  z-index: 10;
}

/* ---- ミッションカード ---- */
.mission-card {
  position: relative;
  background: #fff;
  color: #1d2a26; /* ダーク背景セクション内でも文字は濃色 */
  border: 3px solid #052723;
  border-radius: 1.2rem;
  padding: 1.4rem;
  box-shadow: 9px 9px 0 rgba(5, 39, 35, 0.85);
  transition: transform 0.3s ease, box-shadow 0.3s ease, opacity 0.7s ease, translate 0.7s ease, scale 0.7s ease;
}
.mission-card:hover {
  transform: translateY(-6px) rotate(0deg);
  box-shadow: 12px 14px 0 rgba(255, 107, 44, 0.8);
}
.mission-num {
  position: absolute;
  top: -1.6rem;
  left: -0.9rem;
  z-index: 10;
  font-family: "Dela Gothic One", sans-serif;
  font-size: 2.6rem;
  line-height: 1;
  color: #ffc53d;
  -webkit-text-stroke: 2px #052723;
  text-shadow: 4px 4px 0 rgba(5, 39, 35, 0.85);
  transform: rotate(-8deg);
}

/* ---- 集中線（コミック演出） ---- */
.speed-lines {
  background: repeating-conic-gradient(
    from 0deg at 50% 45%,
    rgba(255, 255, 255, 0.05) 0deg 1.5deg,
    transparent 1.5deg 8deg
  );
  -webkit-mask-image: radial-gradient(ellipse 90% 80% at 50% 45%, transparent 25%, #000 70%);
  mask-image: radial-gradient(ellipse 90% 80% at 50% 45%, transparent 25%, #000 70%);
  pointer-events: none;
}

/* ---- コミックバースト（事件、発生！？） ---- */
.burst {
  display: inline-block;
  background: #ffc53d;
  padding: 2.2rem 3.4rem;
  transform: rotate(-3deg);
  animation: burstPulse 2.4s ease-in-out infinite;
  filter: drop-shadow(6px 8px 0 rgba(255, 107, 44, 0.85));
  clip-path: polygon(
    100% 50%, 86.1% 61.7%, 90.5% 79.4%, 72.3% 80.7%, 65.5% 97.6%,
    50% 88%, 34.5% 97.6%, 27.7% 80.7%, 9.5% 79.4%, 13.9% 61.7%,
    0% 50%, 13.9% 38.3%, 9.5% 20.6%, 27.7% 19.3%, 34.5% 2.4%,
    50% 12%, 65.5% 2.4%, 72.3% 19.3%, 90.5% 20.6%, 86.1% 38.3%
  );
}

@keyframes burstPulse {
  0%, 100% { transform: rotate(-3deg) scale(1); }
  50% { transform: rotate(-2deg) scale(1.045); }
}

/* ---- 縦書き ---- */
.tategaki {
  writing-mode: vertical-rl;
  text-orientation: upright;
  letter-spacing: 0.2em;
}

/* ---- あらすじ背景の光 ---- */
.story-glow {
  background:
    radial-gradient(ellipse 60% 40% at 20% 10%, rgba(23, 195, 173, 0.16), transparent),
    radial-gradient(ellipse 50% 35% at 85% 80%, rgba(255, 107, 44, 0.14), transparent);
  pointer-events: none;
}

/* ---- クルーカード（トレカ風） ---- */
.crew-tcard {
  position: relative;
  width: 18rem;
  background: #fff;
  border: 3px solid #052723;
  border-radius: 1.2rem;
  padding: 0.9rem 0.9rem 1.2rem;
  box-shadow: 10px 10px 0 rgba(5, 39, 35, 0.85);
  transition: transform 0.3s ease, box-shadow 0.3s ease, opacity 0.7s ease, translate 0.7s ease, scale 0.7s ease;
}
.crew-tcard:hover {
  transform: rotate(0deg) translateY(-8px);
  box-shadow: 14px 16px 0 rgba(255, 107, 44, 0.8);
}
.crew-photo {
  overflow: hidden;
  border-radius: 0.8rem;
  border: 3px solid #052723;
}
.crew-photo img {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  transition: transform 0.5s ease;
}
.crew-tcard:hover .crew-photo img {
  transform: scale(1.06);
}
.crew-role {
  position: absolute;
  top: -1rem;
  left: -0.9rem;
  z-index: 10;
  transform: rotate(-8deg);
  background: #ff6b2c;
  color: #fff;
  border: 2.5px solid #052723;
  border-radius: 9999px;
  padding: 0.35rem 1rem;
  font-weight: 900;
  font-size: 0.85rem;
  box-shadow: 3px 3px 0 rgba(5, 39, 35, 0.85);
}

/* ---- チケット ---- */
.ticket::before,
.ticket::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 28px;
  height: 28px;
  border-radius: 9999px;
  background: #f6eeda;
  border: 3px solid #052723;
  transform: translateY(-50%);
}
.ticket::before { left: -17px; }
.ticket::after { right: -17px; }
/* バーコード */
.barcode {
  display: block;
  width: 3.2rem;
  height: 4.5rem;
  background: repeating-linear-gradient(
    90deg,
    #fff 0 2px, transparent 2px 4px,
    #fff 4px 7px, transparent 7px 9px,
    #fff 9px 10px, transparent 10px 13px
  );
  opacity: 0.85;
}

/* ---- 開催情報テーブル ---- */
.info-table > div {
  display: grid;
  grid-template-columns: 7.5rem 1fr;
  gap: 1rem;
  padding: 1.1rem 1.4rem;
  line-height: 1.9;
  font-size: 1.0625rem; /* 平文の可読性重視でベースより一回り大きく */
}
.info-table dd .text-sm {
  font-size: 0.9375rem;
}
.info-table > div:nth-child(odd) {
  background: rgba(23, 195, 173, 0.07);
}
.info-table dt {
  font-weight: 900;
  color: #0b5d52;
}
.info-table dd { margin: 0; }
@media (max-width: 640px) {
  .info-table > div {
    grid-template-columns: 1fr;
    gap: 0.25rem;
  }
}

/* ---- FAQ（アコーディオン） ---- */
.faq-item {
  background: #fff;
  border: 3px solid #052723;
  border-radius: 1rem;
  overflow: hidden;
  box-shadow: 6px 6px 0 rgba(5, 39, 35, 0.15);
  transition: box-shadow 0.2s ease;
}
.faq-item[open] {
  box-shadow: 6px 6px 0 rgba(255, 107, 44, 0.6);
}
.faq-item summary {
  position: relative;
  cursor: pointer;
  list-style: none;
  padding: 1.1rem 3.2rem 1.1rem 3.4rem;
  font-weight: 900;
  line-height: 1.6;
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::before {
  content: "Q";
  position: absolute;
  left: 1.1rem;
  top: 50%;
  transform: translateY(-50%);
  display: grid;
  place-items: center;
  width: 1.7rem;
  height: 1.7rem;
  border-radius: 9999px;
  background: #0b5d52;
  color: #fff;
  font-size: 0.85rem;
  font-weight: 900;
}
.faq-item summary::after {
  content: "＋";
  position: absolute;
  right: 1.1rem;
  top: 50%;
  transform: translateY(-50%);
  color: #ff6b2c;
  font-weight: 900;
  font-size: 1.1rem;
  transition: transform 0.25s ease;
}
.faq-item[open] summary::after { content: "－"; }
.faq-answer {
  position: relative;
  padding: 0 1.4rem 1.2rem 3.4rem;
  font-size: 1rem;
  line-height: 1.9;
  color: rgba(29, 42, 38, 0.85);
}
.faq-answer::before {
  content: "A";
  position: absolute;
  left: 1.1rem;
  top: 0;
  display: grid;
  place-items: center;
  width: 1.7rem;
  height: 1.7rem;
  border-radius: 9999px;
  background: #ff6b2c;
  color: #fff;
  font-size: 0.85rem;
  font-weight: 900;
}

/* ---- 予約フォーム ---- */
.form-label {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-weight: 700;
  font-size: 0.9rem;
  margin-bottom: 0.4rem;
}
.req {
  background: #ff6b2c;
  color: #fff;
  font-size: 0.65rem;
  font-weight: 700;
  padding: 0.1rem 0.5rem;
  border-radius: 9999px;
  white-space: nowrap; /* バッジ内で改行させない */
  flex-shrink: 0;
}
.form-input {
  width: 100%;
  border: 2px solid rgba(11, 93, 82, 0.25);
  border-radius: 0.75rem;
  padding: 0.75rem 1rem;
  background: #fdfdfb;
  font-size: 1rem;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.form-input:focus {
  outline: none;
  border-color: #17c3ad;
  box-shadow: 0 0 0 4px rgba(23, 195, 173, 0.18);
}

/* ---- 追従UI（予約ボタン・トップへ戻る） ---- */
#float-cta {
  bottom: calc(1rem + env(safe-area-inset-bottom, 0px));
}
#to-top {
  bottom: calc(5rem + env(safe-area-inset-bottom, 0px));
}
@media (min-width: 768px) {
  #to-top { bottom: calc(1.5rem + env(safe-area-inset-bottom, 0px)); }
}
#float-cta.float-show,
#to-top.float-show {
  opacity: 1;
  pointer-events: auto;
}
#to-top:hover {
  background: #0b5d52;
  transform: translateY(-2px);
}
/* モバイルメニュー展開中は追従UIを隠す */
body.menu-open #float-cta,
body.menu-open #to-top {
  opacity: 0 !important;
  pointer-events: none !important;
}

/* ---- reduced motion ---- */
@media (prefers-reduced-motion: reduce) {
  .reveal, .reveal-l, .reveal-r, .reveal-pop {
    opacity: 1; translate: 0 0; scale: 1; transition: none;
  }
  .marquee-track, .scroll-indicator span:last-child, .spin-badge .spin-ring,
  .burst { animation: none; }
  .polaroid, .mission-card, .cta-btn { transition: none; }
}


/* ==== WPForms をLPデザインに合わせる ==== */
#hyoutan-lp .wpforms-container input[type="text"],
#hyoutan-lp .wpforms-container input[type="email"],
#hyoutan-lp .wpforms-container input[type="tel"],
#hyoutan-lp .wpforms-container select,
#hyoutan-lp .wpforms-container textarea {
  width: 100%;
  border: 2px solid rgba(11, 93, 82, 0.25) !important;
  border-radius: 0.75rem !important;
  padding: 0.85rem 1rem !important; /* 枠を大きめに（タップしやすく） */
  min-height: 50px;
  background-color: #fdfdfb !important; /* shorthandだとselectの矢印画像を消すので個別指定 */
  color: #1d2a26 !important;
  font-family: inherit !important;
  /* px固定16px以上：iOS Safariはフォーカス時に16px未満だと自動ズームするため */
  font-size: 16px !important;
}
/* select: Tailwindリセットで消える矢印を自前で描画し、ドロップダウンだと分かるようにする */
#hyoutan-lp .wpforms-container select {
  appearance: none !important;
  -webkit-appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b5d52' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 0.9rem center !important;
  background-size: 1.1rem !important;
  padding-right: 2.6rem !important;
  cursor: pointer;
  /* 見切れ対策: 上下paddingで潰さず、高さ50px内でline-height中央寄せ
     （WPForms既定のline-height:24pxはコンテンツ領域19pxからはみ出して下が欠ける） */
  height: 50px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  line-height: 46px !important; /* 50px - 上下border4px */
}
#hyoutan-lp .wpforms-container input:focus,
#hyoutan-lp .wpforms-container select:focus,
#hyoutan-lp .wpforms-container textarea:focus {
  outline: none !important;
  border-color: #17c3ad !important;
  box-shadow: 0 0 0 4px rgba(23, 195, 173, 0.18) !important;
}
#hyoutan-lp .wpforms-container .wpforms-field-label {
  font-weight: 700 !important;
  font-size: 15px !important;
  margin-bottom: 6px !important;
}
#hyoutan-lp .wpforms-container .wpforms-required-label { color: #ff6b2c !important; }
#hyoutan-lp .wpforms-container button[type="submit"] {
  width: 100% !important;
  border-radius: 9999px !important;
  background: #ff6b2c !important;
  border: none !important;
  /* WPForms側のheight固定(41px)を解除し、paddingで高さを作る */
  height: auto !important;
  min-height: 54px !important;
  padding: 15px 24px !important;
  line-height: 1.3 !important;
  font-size: 18px !important;
  font-weight: 900 !important;
  letter-spacing: 0.05em !important;
  color: #fff !important;
  cursor: pointer;
  transition: transform 0.25s ease, filter 0.25s ease;
}
#hyoutan-lp .wpforms-container button[type="submit"]:hover {
  transform: translateY(-3px) scale(1.02);
  filter: brightness(1.07);
}