/* 5枚の支給画像は再圧縮・補正・切り抜きをせず、そのまま表示します。 */
:root { color-scheme: light; font-family: system-ui, sans-serif; }
* { box-sizing: border-box; }
html { margin: 0; background: #f0f7f3; }
body { margin: 0; }
.lp { width: 100%; max-width: 768px; margin: 0 auto; background: #fff; }
.panel { position: relative; margin: 0; padding: 0; }
.panel-image { display: block; width: 100%; height: auto; margin: 0; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.hotspot { position: absolute; z-index: 1; display: block; min-height: 44px; background: transparent; -webkit-tap-highlight-color: rgb(0 90 45 / 12%); }
.hotspot:focus-visible { outline: 3px solid #1247ce; outline-offset: 3px; box-shadow: 0 0 0 6px white; }
.line-first { left: 8.073%; top: 79.649%; width: 83.984%; height: 5.49%; border-radius: 999px; }
.line-first-text { left: 19.271%; top: 87.262%; width: 56.25%; height: 10.176%; border-radius: 10px; }
.phone { left: 4.557%; top: 11.889%; width: 36.849%; height: 2.378%; border-radius: 4px; }
.line-last-text { left: 17.708%; top: 68.207%; width: 53.516%; height: 9.918%; border-radius: 10px; }
.line-last { left: 5.599%; top: 80.571%; width: 88.802%; height: 5.163%; border-radius: 999px; }
.map { left: 7.031%; top: 88.519%; width: 38.802%; height: 8.832%; border-radius: 20%; }
.website { left: 54.167%; top: 88.519%; width: 38.802%; height: 8.832%; border-radius: 20%; }
.line-dialog { position: fixed; width: min(390px, calc(100% - 32px)); max-height: calc(100dvh - 32px); padding: 34px 24px 28px; overflow: auto; border: 0; border-radius: 20px; background: white; color: #173b28; text-align: center; box-shadow: 0 16px 70px rgb(0 0 0 / 20%); }
.line-dialog::backdrop { background: rgb(17 42 29 / 65%); }
.line-dialog h2 { margin: 4px 0 12px; font-size: 23px; }
.line-dialog p { margin: 0 0 16px; line-height: 1.8; font-size: 15px; }
.dialog-close { position: absolute; top: 2px; right: 4px; width: 44px; height: 44px; border: 0; background: transparent; color: #395849; font: 30px/1 system-ui, sans-serif; cursor: pointer; }
.line-qr { display: block; width: 200px; height: 200px; max-width: 100%; margin: 0 auto 16px; object-fit: contain; }
.official-line-button { display: flex; align-items: center; justify-content: center; width: max-content; min-height: 44px; margin: 0 auto 8px; }
.official-line-button img { display: block; width: auto; height: 36px; border: 0; }
.line-open { display: inline-flex; align-items: center; min-height: 44px; color: #076434; text-underline-offset: 4px; font-size: 15px; }
.line-dialog a:focus-visible, .dialog-close:focus-visible { outline: 3px solid #1247ce; outline-offset: 3px; }
