
.privacy-notice-page { display:block; width:100%; padding:150px 24px 80px; color:#252525; }
.privacy-notice-wrap { max-width:800px; margin:auto; }
.privacy-notice-page h1 { font-size:34px; line-height:1.4; margin-bottom:24px; word-break:keep-all; }
.privacy-notice-content { text-align:left; color:#333; }
.privacy-notice-content section { display:block; width:auto; margin-top:28px; padding:0; }
.privacy-notice-content h2 { font-size:18px; font-weight:600; line-height:1.5; margin:0 0 10px; color:#252525; }
.privacy-notice-content p,.privacy-notice-content dt,.privacy-notice-content dd { font-size:15px; line-height:1.75; word-break:keep-all; overflow-wrap:anywhere; color:#555; }
.privacy-notice-content p { margin:8px 0 0; }
.privacy-notice-content .privacy-important { color:#252525; font-size:18px; font-weight:700; }
.privacy-notice-content dl { margin:12px 0; }
.privacy-notice-content dl div { display:flex; gap:20px; padding:10px 0; border-bottom:1px solid #eee; }
.privacy-notice-content dt { min-width:36px; font-weight:600; }
.privacy-notice-content dd { margin:0; }
.privacy-notice-content a { color:#6134c6; text-decoration:underline; text-underline-offset:3px; }
.privacy-notice-content .privacy-scope { font-size:13px; margin-top:28px; color:#777; }
#analytics-choice-button { min-height:44px; margin-top:10px; padding:10px 17px; border:1px solid #597351; border-radius:7px; background:#42663e; color:#fff; font-size:14px; font-weight:600; cursor:pointer; }
#analytics-choice-button:disabled { opacity:.55; cursor:wait; }
#analytics-choice-button:focus-visible { outline:2px solid #42663e; outline-offset:3px; }
.privacy-notice-back { display:inline-flex; align-items:center; min-height:48px; margin-top:32px; color:#6134c6; }
#privacyNoticeDialog { inset:0; width:calc(100% - 48px); max-width:720px; max-height:85vh; max-height:85dvh; margin:auto; padding:0; border:0; border-radius:12px; background:#fff; color:#252525; overflow:auto; }
#privacyNoticeDialog::backdrop { background:rgba(0,0,0,.65); }
.privacy-dialog-heading { position:sticky; top:0; display:flex; align-items:center; justify-content:space-between; gap:16px; background:#fff; padding:20px 28px; border-bottom:1px solid #e5e5e5; z-index:1; }
.privacy-dialog-heading h2 { font-size:21px; line-height:1.4; margin:0; color:#252525; word-break:keep-all; }
.privacy-dialog-close { min-width:48px; min-height:44px; color:#555; border:1px solid #ddd; border-radius:6px; background:#fff; font-size:14px; flex-shrink:0; }
#privacyNoticeDialog .privacy-notice-content { padding:0 28px 28px; }
#privacyNoticeDialog .privacy-intro { margin-top:24px; }
.contact-page .privacy-notice-open { display:inline-flex; align-items:center; min-height:44px; color:#6134c6; font-size:14px; text-decoration:underline; text-underline-offset:4px; }
.privacy-dialog-close:focus-visible,.privacy-notice-open:focus-visible { outline:2px solid #6134c6; outline-offset:3px; }
body.privacy-dialog-open { overflow:hidden; }
@media(max-width:767px) {
 .privacy-notice-page { padding:110px 20px 56px; }
 .privacy-notice-page h1 { font-size:27px; }
 #privacyNoticeDialog { width:calc(100% - 24px); max-height:90vh; max-height:90dvh; }
 .privacy-dialog-heading { padding:16px 20px; gap:12px; }
 .privacy-dialog-heading h2 { font-size:19px; }
 #privacyNoticeDialog .privacy-notice-content { padding:0 20px 24px; }
 .privacy-notice-content p,.privacy-notice-content dt,.privacy-notice-content dd { font-size:14px; }
}
