.information-page .info-header { padding-bottom: 48px; }
.information-page .article-deck { font-size: var(--body-size); font-weight: 400; color: var(--brand-ink); }
.information-page .article-opening-image { aspect-ratio: 4 / 3; object-fit: cover; object-position: center 58%; }
.information-page h3 { font-size: 23px; margin: 0 0 10px; }
.information-page h2 { text-wrap: balance; }
.information-page .page-section > p { margin-block: 22px; }
.information-page .article-examples > div { padding-block: 28px; }
.information-page .info-link { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 56px; padding: 18px 0; border-bottom: 1px solid var(--brand-line); color: var(--brand-teal); font-size: var(--body-size); font-weight: 700; line-height: 1.7; text-decoration: none; }
.information-page .info-link svg { width: 22px; height: 22px; flex: 0 0 22px; }
.information-page .info-link:hover { background: #eaf2ef; }
.information-page .info-facts, .information-page .price-list { margin: 32px 0; }
.information-page :is(.info-facts,.price-list) > div { padding: 22px 0; border-top: 1px solid var(--brand-line); }
.information-page :is(.info-facts,.price-list) dt { color: var(--brand-teal); font-size: 18px; font-weight: 700; }
.information-page :is(.info-facts,.price-list) dd { margin: 8px 0 0; }
.information-page .price-list dd strong { display: block; font-size: 28px; color: var(--brand-teal); }
.information-page .price-list dd span { display: block; font-size: 16px; }
.information-page .field-note, .information-page figcaption { font-size: 16px; line-height: 1.8; color: var(--brand-muted); }
.information-page :is(.area-details,.info-faq details,.form-extra) { border-block: 1px solid var(--brand-line); margin-top: -1px; }
.information-page summary { position: relative; padding: 22px 38px 22px 0; min-height: 56px; cursor: pointer; color: var(--brand-teal); font-weight: 700; list-style: none; }
.information-page summary::-webkit-details-marker { display: none; }
.information-page summary > svg { position: absolute; right: 4px; top: 25px; width: 22px; height: 22px; }
.information-page details[open] > summary > svg { transform: rotate(45deg); }
.information-page .info-faq details > p { padding-bottom: 24px; margin-top: 0; }
.information-page .service-flow { list-style: none; counter-reset: flow; padding: 0; }
.information-page .service-flow li { counter-increment: flow; padding: 26px 0 26px 44px; position: relative; border-bottom: 1px solid var(--brand-line); }
.information-page .service-flow li::before { content: counter(flow); position: absolute; left: 0; top: 24px; color: var(--brand-label); font-size: 24px; font-weight: 700; }
.information-page .service-flow p { margin: 0; }
.information-page .store-map { display: block; width: 100%; height: 300px; border: 1px solid var(--brand-line); background: #edf3f1; }
.information-page .store-jump { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.information-page .store-jump a { min-height: 54px; border-bottom: 1px solid var(--brand-teal); display: flex; align-items: center; justify-content: space-between; text-decoration: none; }
.information-page .store-jump svg { width: 20px; }
.information-page .store-directory > section { margin-top: 48px; padding-top: 30px; border-top: 2px solid var(--brand-line); scroll-margin-top: 24px; }
.information-page .store-directory h3 a { display: flex; align-items: center; justify-content: space-between; min-height: 44px; text-decoration: none; }
.information-page address { font-style: normal; }
.information-page .staff-portrait { margin: 24px 0; }
.information-page .staff-portrait img { display: block; width: 220px; height: 240px; object-fit: cover; max-width: 100%; }
.information-page .message-signature { text-align: right; }
.information-page .preparation-map { margin: 32px 0; border-block: 2px solid var(--brand-teal); padding: 24px 0; }
.information-page .preparation-map figcaption { color: var(--brand-teal); font-size: 23px; font-weight: 700; }
.information-page .preparation-map dl { margin-bottom: 0; }
.information-page .preparation-map dl > div { border-top: 1px solid var(--brand-line); padding: 20px 0; }
.information-page .preparation-map dt { display: flex; align-items: center; gap: 10px; color: var(--brand-teal); font-weight: 700; }
.information-page .preparation-map dt svg { width: 24px; height: 24px; flex: 0 0 24px; }
.information-page .preparation-map dd { margin: 10px 0 0; }
.information-page .preparation-map .focus-area { border-left: 4px solid var(--brand-label); padding-left: 18px; background: #f1f6ee; }
.information-page .preparation-map dd strong { font-size: 18px; }
.information-page .case-photo-pair { margin: 40px 0; }
.information-page .case-photo-pair > div { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 12px; }
.information-page .case-photo-pair figure { margin: 0; }
.information-page .case-photo-pair img { display: block; width: 100%; height: auto; aspect-ratio: 4/3; object-fit: contain; background: #fff; }
.information-page .case-photo-pair figcaption { padding-top: 8px; font-size: 18px; font-weight: 700; color: var(--brand-teal); }
.information-page .case-story { padding-block: 32px; border-top: 1px solid var(--brand-line); }
.information-page .case-quote { margin: 28px 0; padding: 8px 0 8px 22px; border-left: 3px solid var(--brand-label); }
.information-page .inquiry-header { padding-bottom: 8px; }
.information-page .article-opening-image[src*="seizen-hero"],
.information-page .article-opening-image[src*="fuyohin-hero"] { object-position: center 28%; }
.information-page .inquiry-header + .page-section { padding-top: 32px; }
@media (max-width: 440px) {
  .information-page .case-photo-pair > div { grid-template-columns: minmax(0,1fr); gap: 22px; }
}
.site-inquiry { margin-top: 28px; }
.site-inquiry .form-field { margin: 26px 0; border: 0; padding: 0; min-width: 0; }
.site-inquiry :is(label,legend) { display: block; font-size: 18px; font-weight: 700; margin-bottom: 9px; }
.site-inquiry :is(label,legend) :is(span,small) { font-size: 16px; font-weight: 400; margin-left: 6px; color: var(--brand-label); }
.site-inquiry :is(input:not([type=radio]):not([type=hidden]),select,textarea) { display: block; width: 100%; min-width: 0; min-height: 52px; padding: 12px; border: 1px solid #8da9a3; border-radius: 4px; background: #fff; color: var(--brand-ink); font-size: 18px; line-height: 1.6; }
.site-inquiry textarea { resize: vertical; }
.site-inquiry .radio-options { display: flex; flex-wrap: wrap; gap: 10px 20px; }
.site-inquiry .radio-options label { display: flex; align-items: center; gap: 8px; min-height: 48px; margin: 0; padding: 5px 0; font-weight: 400; }
.site-inquiry input[type=radio] { width: 22px; height: 22px; accent-color: var(--brand-teal); }
.site-inquiry input[type=file] { font-size: 16px; }
.site-inquiry input::file-selector-button { min-height: 44px; margin: 0 8px 8px 0; padding: 8px; border: 1px solid var(--brand-teal); border-radius: 3px; color: var(--brand-teal); background: #edf3f1; }
.site-inquiry .form-extra > summary { padding-right: 4px; text-decoration: underline; text-underline-offset: 6px; }
.site-inquiry .form-extra > summary::before { content: '+'; display: inline-block; width: 24px; }
.site-inquiry .form-extra[open] > summary::before { content: '-'; }
.site-inquiry button[type=submit] { width: 100%; cursor: pointer; }
.site-inquiry button:disabled { opacity: .65; cursor: wait; transform: none; }
.site-inquiry .form-status:not(:empty) { padding: 16px; border-left: 3px solid #9f4328; background: #fff0e9; color: #68351f; font-size: 18px; }
.site-inquiry [aria-invalid=true] { border-color: #9f4328; }
.form-success { border-block: 2px solid var(--brand-teal); padding: 30px 0; }
.information-page [hidden] { display: none !important; }
@media (max-width: 440px) {
  .information-page h3 { font-size: 22px; }
  .information-page .service-flow li { padding-left: 34px; }
}
@media print {
  .information-page .store-map, .site-inquiry, .information-page #contact { display: none; }
  .information-page :is(.info-facts > div,.price-list > div,.service-flow li) { break-inside: avoid; }
  .information-page details > :not(summary) { display: block !important; }
}
