.contact-section{padding-top:0}.contact-options{display:grid;grid-template-columns:1.25fr 1fr;gap:28px}.contact-panel{padding:clamp(24px,3vw,44px);border:1px solid #d4d1c5;background:#fffefb}.contact-panel h2{font-size:clamp(24px,2.4vw,32px)}.contact-panel>p{max-width:38em}.contact-note{font-weight:650;color:#254c4d}.contact-panel .button{margin-top:16px}.contact-email{overflow-wrap:anywhere;word-break:break-word;gap:16px}.contact-guidance,.contact-options>.actions{grid-column:1/-1}.contact-guidance{margin:4px 0;color:#596660}.contact-options>.actions{margin:0;gap:30px}@media(max-width:700px){.contact-options{grid-template-columns:1fr}.contact-panel .button{font-size:14px;padding:16px;white-space:normal}}
.hp-contact-form{margin-top:30px}.hp-contact-form label{display:block;font-size:13px;line-height:1.8;margin:0 0 20px;color:#30474d}.hp-contact-form small{font-size:11px;font-weight:400;color:#6a7573;margin-left:6px}.hp-contact-form input:not([type=checkbox]),.hp-contact-form textarea,.hp-contact-form select{display:block;width:100%;min-width:0;margin-top:8px;padding:12px;border:1px solid #b6bdb7;border-radius:2px;background:#fff;color:#20343c;font:inherit;box-sizing:border-box}.hp-contact-form textarea{resize:vertical}.hp-contact-form [hidden]{display:none!important}.contact-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.hp-contact-form fieldset{min-width:0;border:0;border-top:1px solid #d4d1c5;padding:24px 0 0;margin:10px 0 20px}.hp-contact-form legend{padding:0 12px 0 0;font-size:15px}.hp-contact-form .contact-consent{display:flex;align-items:flex-start;gap:10px}.contact-consent input{flex-shrink:0;width:18px;height:18px;margin-top:4px}.contact-consent a{text-decoration:underline}.contact-honeypot{position:absolute;left:-10000px}.contact-error{color:#a13e2f!important}.contact-success{padding:24px 0}.contact-line-panel{align-self:start}.contact-photo-list>div{display:flex;align-items:center;gap:12px;margin:8px 0;overflow-wrap:anywhere;font-size:12px}.contact-photo-list button{padding:6px 12px;background:#f2eee4;border:1px solid #c9c3b6;border-radius:2px}.hp-contact-form .button:disabled{opacity:.55;cursor:wait}.hp-contact-form [data-contact-result]:empty{display:none}.hp-contact-form .note{font-size:12px;line-height:1.9}
@media(max-width:850px){.contact-options{grid-template-columns:1fr}.contact-line-panel{position:static}.contact-field-grid{grid-template-columns:1fr;gap:0}}

/* Official LINE: friend addition, scanning and inquiry instructions form one panel. */
.contact-line-panel{background:#152d38;color:#f4f1e8;border-color:#152d38;overflow:hidden}
.contact-line-panel .section-kicker{color:#d0b57f}
.contact-line-panel h2{color:#f4f1e8;margin-bottom:20px}
.contact-line-panel .line-intro{color:#d4dfe0;font-size:14px;line-height:2;margin-bottom:22px}
.contact-line-panel .line-friend-button{display:flex;width:100%;justify-content:space-between;gap:16px;padding:20px 22px;min-height:88px;background:#06c755;border:1px solid #06c755;color:#102f26;text-decoration:none;box-sizing:border-box}
.line-friend-button strong{display:block;font-size:18px;line-height:1.5;font-weight:650}
.line-friend-button small{display:block;font-size:13px;line-height:1.8;margin-top:3px}
.line-friend-button>span:last-child{font-size:24px}
.contact-line-panel .line-friend-button:hover{background:#24dd71;border-color:#24dd71;transform:translateY(-2px)}
.contact-line-panel a:focus-visible{outline:3px solid #f3cd80;outline-offset:5px}
.contact-line-panel .line-button-help{font-size:12px;line-height:1.9;color:#c5d4d6;margin:12px 0 26px}
.line-qr-card{margin:0;display:grid;grid-template-columns:164px 1fr;align-items:center;gap:20px;background:#fffefb;color:#20343c;padding:20px}
.line-qr-link{display:block;line-height:0;background:#fff;max-width:200px}
.line-qr-link img{display:block;width:100%;height:auto;aspect-ratio:1;image-rendering:pixelated}
.line-qr-card h3{font-family:var(--serif);font-size:20px;font-weight:500;line-height:1.6;margin:0 0 12px;color:#20343c}
.line-qr-card figcaption>p{font-size:12px;line-height:1.9;margin:0;color:#566369}
.line-qr-card .line-account-id{margin-top:16px;font-size:10px;letter-spacing:.05em}
.line-account-id strong{display:block;color:#20343c;font-size:14px;letter-spacing:.02em}
.line-existing-link{display:flex;justify-content:space-between;gap:16px;font-size:12px;line-height:1.9;color:#d7bf8d;text-decoration:none;padding:18px 0;border-bottom:1px solid #607278}
.line-existing-link:hover{color:#f8dfac}
.line-inquiry-guide{padding-top:28px}
.line-inquiry-guide h3{font-size:15px;line-height:1.8;color:#f4f1e8;margin:0 0 14px;font-weight:600}
.line-inquiry-guide ul{padding:0 0 0 1.2em;margin:0 0 15px;font-size:13px;line-height:2;color:#d4dfe0}
.line-inquiry-guide li+li{margin-top:5px}
.line-inquiry-guide p{font-size:12px;line-height:2;color:#c5d4d6;margin:0}
.contact-line-panel .line-visit-note{margin:24px 0 0;padding:18px 0 0;border-top:1px solid #607278;font-size:12px;line-height:2;color:#c5d4d6}
@media(min-width:851px) and (max-width:1100px){.line-qr-card{grid-template-columns:1fr;text-align:center;gap:12px}.line-qr-link{width:180px;margin:0 auto}.line-qr-card h3 br{display:none}}
@media(max-width:560px){.line-qr-card{grid-template-columns:1fr;text-align:center;gap:14px;padding:20px}.line-qr-link{width:192px;max-width:100%;margin:0 auto}.line-qr-card h3 br{display:none}.line-qr-card .line-account-id{margin-top:10px}.contact-line-panel .line-friend-button{padding:18px;white-space:normal}.line-friend-button strong{font-size:18px}}
@media(prefers-reduced-motion:reduce){.contact-line-panel .line-friend-button:hover{transform:none}}
