/* Shared header identity and original LINE QR image, on every page. */
.header.header{height:104px;padding:0 5%;gap:28px}
.header .header-identity{display:flex;align-items:center;gap:20px;flex-shrink:0}
.header .header-identity .brand{width:112px;flex-shrink:0}
.header .header-identity .brand img{height:76px;width:100%;object-fit:contain}
.line-contact{display:flex;align-items:center;gap:10px;padding:6px 10px 6px 6px;border:1px solid #285541;background:#10291f;border-radius:10px;text-align:left;flex-shrink:0}
.line-contact img{display:block;width:58px;height:58px;object-fit:contain;background:white;border-radius:4px}
.line-contact-label{display:flex;flex-direction:column;gap:2px;line-height:1.35;color:#ddf7e6}
.line-contact-label strong{font-size:14px;letter-spacing:.055em;font-weight:700}
.line-contact-label small{font-size:12px;color:#b4d7c0;font-weight:400}
.header .line-contact:hover{border-color:#06c755;background:#143526;color:#ddf7e6}
.line-qr-dialog{width:min(424px,calc(100% - 32px));max-height:90vh;overflow:auto;padding:32px 28px 24px;border:1px solid #315443;border-radius:16px;background:#0c1c17;color:#f5faf7;text-align:center;box-shadow:0 25px 100px #0008}
.line-qr-dialog::backdrop{background:#020806cc;backdrop-filter:blur(5px)}
.line-qr-close{position:absolute;right:10px;top:10px;display:grid;place-items:center;width:38px;height:38px;border:1px solid #375545;border-radius:50%;background:#122b20;color:white;cursor:pointer;font-size:25px;line-height:1}
.line-qr-dialog h2{font-family:var(--display);font-size:32px;line-height:1.1;margin:18px 0 10px;letter-spacing:0}
.line-qr-dialog p{color:#bfd5c8;font-size:14px;line-height:1.6;margin:0 0 20px}
.line-qr-original{padding:10px;background:white;border-radius:10px}
.line-qr-original img{display:block;width:100%;height:auto;object-fit:contain}
.line-qr-file{display:inline-block;font-size:14px;text-decoration:underline;text-underline-offset:4px;color:#bdeacb;padding:15px 5px 0}
.faq-line-answer{padding-bottom:26px}
.questions details .faq-line-answer p{padding:0;margin:0 0 17px;color:var(--ink);font-size:16px}
.faq-line-qr{display:block;width:230px;max-width:100%;padding:10px;border:1px solid #06c755;background:white;border-radius:12px}
.faq-line-qr img{display:block;width:100%;height:auto;object-fit:contain}
@media(max-width:1100px){.header .header-identity{gap:14px}.line-contact-label{display:none}.line-contact{padding:5px}.header.header nav{gap:22px}}
@media(max-width:980px){
 .header.header{height:92px;position:relative;z-index:10;gap:20px;padding:0 5%}
 .header .header-identity .brand{width:100px}.header .header-identity .brand img{height:72px}
 .header.header .header-location{display:none}
 .header.header .menu-toggle{display:flex;align-items:center;gap:14px;background:none;color:var(--ink);border:1px solid var(--line);border-radius:4px;padding:8px 12px;font-size:14px;cursor:pointer}
 .js .header.header nav{display:none;position:absolute;top:91px;left:0;right:0;background:var(--bg);padding:20px 5% 28px;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:6px}
 .js .header.header nav.is-open{display:flex}.header.header nav a{font-size:16px}
}
@media(max-width:420px){.header.header{gap:12px}.header .header-identity{gap:10px}.header .header-identity .brand{width:90px}.line-contact img{width:50px;height:50px}.line-qr-dialog{padding:30px 18px 20px}.line-qr-dialog h2{font-size:28px}}
