/* Preparation questions in the site's established blue and paper palette. */
body.check-page { color: #293947; font-family: Meiryo, "Hiragino Kaku Gothic ProN", sans-serif; }
body.check-page main.main_post { box-sizing: border-box; width: calc(100% - 48px); max-width: 980px; margin: 40px auto 64px; padding: 42px; background: #fff; }
.check-page-content { font-size: 16px; line-height: 1.95; letter-spacing: .015em; }
.check-page-content * { box-sizing: border-box; }
body.check-page .check-page-content > .check-heading { width: auto; height: auto; min-height: 0; overflow: visible; z-index: auto; }
.check-page-content h1 { margin: 18px 0 20px; color: #293947; font-family: inherit; font-size: 28px; font-weight: 700; line-height: 1.65; }
.check-page-content h2 { margin: 32px 0 18px; color: #1b425d; font-family: inherit; font-size: 23px; font-weight: 700; line-height: 1.65; }
.check-page-content h3 { font-size: 19px; line-height: 1.7; }
.check-page-content p { margin: 0 0 18px; }
.check-page-content .fi-prose-break { display: block; content: ""; margin-bottom: .35em; }
.check-page-content a { color: #1b425d; text-underline-offset: .2em; }
.check-page-content a:focus-visible, .check-page-content summary:focus-visible { outline: 2px solid #1b425d; outline-offset: 4px; }
.check-page-content [hidden] { display: none !important; }
.check-page-content [id] { scroll-margin-top: 96px; }
.check-breadcrumb { display: flex; flex-wrap: wrap; gap: 6px 12px; font-size: 13px; margin-bottom: 20px; line-height: 1.8; }
.check-eyebrow { color: #1b425d; font-size: 14px; font-weight: 700; letter-spacing: .08em; }
.check-scope { color: #1b425d; font-size: 14px; font-weight: 700; }
.check-notice { margin: 24px 0; padding: 18px 22px; border-left: 3px solid #527a94; background: #f3f7fa; }
.check-notice strong { margin-right: .7em; }
.check-help, .check-privacy, .check-result-note { color: #4e5e6b; font-size: 14px; line-height: 1.85; }
#permit-check { margin-top: 32px; color: #293947; font-family: inherit; }
.check-intro strong { color: #293947; background: linear-gradient(transparent 52%, #ffe280 52%); }
#permit-check .check-group-heading { margin: 28px 0 22px; padding: 0 0 12px; border-bottom: 1px solid #b7cad7; font-size: 23px; line-height: 1.6; }
#permit-check .check-group:first-of-type .check-group-heading { margin-top: 22px; }
.check-submit-area { margin-top: 24px; padding-top: 6px; }
#check-progress { font-size: 14px; color: #4e5e6b; margin: 0 0 14px; }
#check-result:focus { outline: 0; }
#permit-check .check-question { min-width: 0; margin: 0 0 32px; padding: 0 0 30px; border: 0; border-bottom: 1px solid #d5dfe6; }
#permit-check .check-question:last-child { margin-bottom: 10px; }
#permit-check .check-question legend { display: block; float: none; width: 100%; padding: 0; margin: 0 0 12px; font-size: 18px; font-weight: 700; color: #293947; line-height: 1.8; }
.check-question-index { display: inline-block; margin-right: .6em; color: #1b425d; font-size: 14px; font-variant-numeric: tabular-nums; }
.check-question .check-help { margin: 0 0 16px; }
.check-choices { display: grid; gap: 10px; }
#permit-check .check-choice { display: flex; align-items: flex-start; gap: 12px; width: 100%; min-height: 54px; margin: 0; padding: 13px 16px; border: 1px solid #b2c4d1; border-radius: 2px; background: #fff; cursor: pointer; font-size: 16px; line-height: 1.8; }
#permit-check .check-choice:hover { border-color: #527a94; background: #f6f9fb; }
#permit-check .check-choice:has(input:checked) { border: 2px solid #1b425d; padding: 12px 15px; background: #edf3f7; }
#permit-check .check-choice:has(input:focus-visible) { outline: 2px solid #1b425d; outline-offset: 3px; }
#permit-check .check-choice input[type="radio"] { flex: 0 0 20px; width: 20px; height: 20px; margin: 4px 0 0; accent-color: #1b425d; }
#permit-check .check-choice span { min-width: 0; overflow-wrap: anywhere; }
#permit-check .check-choice input:focus-visible { outline: 2px solid #1b425d; outline-offset: 3px; }
.check-details { margin: 14px 0 0; color: #4e5e6b; font-size: 14px; line-height: 1.9; }
.check-details summary { min-height: 44px; padding: 9px 0; color: #1b425d; cursor: pointer; text-decoration: underline; text-underline-offset: .2em; }
.check-details p { padding: 12px 16px; background: #f6f9fb; border-left: 2px solid #9ab3c4; }
.check-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 26px 0; }
#permit-check button { display: inline-flex; justify-content: center; align-items: center; min-height: 50px; padding: 12px 22px; border: 1px solid #7d9aaf; border-radius: 2px; color: #1b425d; background: #fff; font: inherit; font-size: 16px; line-height: 1.5; cursor: pointer; }
#permit-check button[data-check-submit] { min-width: 200px; border: 2px solid #1b425d; background: #edf3f7; font-weight: 700; }
#permit-check button:hover { background: #edf3f7; }
#permit-check button:focus-visible { outline: 2px solid #1b425d; outline-offset: 4px; }
#permit-check button:disabled { cursor: default; opacity: .65; }
#check-errors { padding: 16px 20px; margin: 22px 0; color: #7c2f28; background: #fff6f4; border-left: 3px solid #9c3b32; font-size: 14px; line-height: 1.8; }
#check-errors ul { padding-left: 1.4em; margin: 0; }
#check-errors li { margin: 5px 0; }
#permit-check .check-question[aria-invalid="true"] { border-bottom-color: #9c3b32; }
#check-result { margin: 26px 0; padding: 28px; border: 2px solid #708fa5; background: #f6f9fb; }
#check-result .check-result-title { margin: 0 0 20px; color: #1b425d; font-size: 26px; font-weight: 700; line-height: 1.65; }
.check-result-lead { font-size: 16px; line-height: 1.95; }
.check-result-card { margin: 26px 0; padding: 22px; border: 1px solid #bdcdd8; background: #fff; }
.check-result-card h3 { margin: 0 0 18px; color: #1b425d; font-size: 20px; }
.check-summary-list { margin: 0; padding: 0; list-style: none; }
.check-summary-list li { margin: 0 0 20px; padding: 0 0 20px; border-bottom: 1px solid #d5dfe6; }
.check-summary-list li:last-child { margin-bottom: 0; padding-bottom: 0; border-bottom: 0; }
.check-summary-list h4 { margin: 0 0 12px; color: #293947; font-size: 16px; line-height: 1.8; }
.check-summary-list p { font-size: 15px; margin-bottom: 12px; }
.check-summary-list .check-next-action { padding-left: 12px; border-left: 2px solid #8da9bd; }
.check-summary-list a { display: inline-block; min-height: 44px; padding: 7px 0; font-size: 14px; font-weight: 700; }
.check-consult, #check-consult { margin: 32px 0; padding: 24px; border-top: 1px solid #9bb5c7; border-bottom: 1px solid #9bb5c7; background: #f6f9fb; }
.check-consult h2, #check-consult h2 { margin-top: 0; }
.check-consult .check-actions, #check-consult .check-actions { margin-bottom: 0; }
.check-actions>a { display: flex; align-items: center; justify-content: center; flex: 1 1 210px; min-height: 52px; padding: 12px 20px; border: 1px solid #7f9caf; border-radius: 2px; color: #1b425d; background: #fff; text-decoration: none; }
.check-actions>a.check-line { border-color: #65976b; color: #23572c; }
.check-source, .check-sources { margin: 28px 0; padding-top: 18px; border-top: 1px solid #cbd8e2; color: #4e5e6b; font-size: 13px; line-height: 1.85; }
.check-source ul, .check-sources ul { margin: 0; padding-left: 1.4em; }
.check-source li, .check-sources li { margin: 8px 0; }
.check-sources summary { min-height: 44px; padding: 8px 0; color: #1b425d; cursor: pointer; }
.check-about { margin: 28px 0; font-size: 14px; }
.check-about summary { min-height: 44px; padding: 8px 0; color: #1b425d; cursor: pointer; }
.check-about ul { padding-left: 1.4em; }
.check-about li { margin: 8px 0; }
@media (max-width: 600px) {
  body.check-page main.main_post { width: calc(100% - 32px); margin: 32px 16px 48px; padding: 26px 20px; }
  .check-page-content h1 { font-size: 24px; }
  .check-page-content h2 { font-size: 21px; }
  .check-notice { padding: 16px; font-size: 14px; }
  #permit-check .check-group-heading { font-size: 21px; }
  #permit-check .check-question legend { font-size: 17px; }
  #permit-check .check-choice { padding: 12px; font-size: 15px; }
  #permit-check .check-choice:has(input:checked) { padding: 11px; }
  .check-actions { gap: 10px; }
  #permit-check .check-actions>button { flex: 1 1 125px; }
  #permit-check button[data-check-submit] { min-width: 0; }
  #check-result { padding: 20px 16px; }
  #check-result .check-result-title { font-size: 23px; }
  .check-result-card { padding: 18px 14px; }
  .check-result-card h3 { font-size: 18px; }
  .check-summary-list p { font-size: 14px; }
  .check-consult, #check-consult { padding: 20px 16px; }
}
@media print {
  .check-actions { display: none; }
  .check-result-card { break-inside: avoid; }
  #check-result { background: #fff; border-color: #555; }
}
