/* Layout fixes for the static copy of the WordPress site (loaded after the theme CSS) */

/* The theme sets no page background; dark-mode browsers would show black */
html { background: #fff; }

/* Footer: label + value pairs */
.p-info__col { justify-content: flex-start; }
.sf-info { margin: 0; line-height: 1.8; }
.sf-info dt { margin: 0; font-size: 12px; color: #888; letter-spacing: .08em; }
.sf-info dd { margin: 0 0 14px; }
.sf-info dd:last-child { margin-bottom: 0; }
.sf-info a { color: inherit; text-decoration: none; }
.sf-info a:hover { text-decoration: underline; }
.sf-info--spaced { margin-top: 20px; }
.sf-insta { display: inline-flex; align-items: center; gap: 6px; }
.sf-insta svg { width: 16px; height: 16px; flex: none; }
.p-info__btn { margin-top: 20px; }

/* Label/value list (e.g. company profile) */
.sf-deflist { display: grid; grid-template-columns: 6em 1fr; gap: .4em 1em; margin: 0 0 2em; line-height: 2.2; }
.sf-deflist dt, .sf-deflist dd { margin: 0; }

/* Numbered list with a fixed-width number column: (1) ... (10) */
.p-entry__body .sf-numlist { list-style: none; margin: 0 0 2em; padding: 0; line-height: 2.2; }
.p-entry__body .sf-numlist li { list-style: none; display: grid; grid-template-columns: 3em 1fr; margin: 0; }

/* Tables built from text that was aligned with spaces */
.p-entry__body .sf-table { max-width: 480px; }

/* FAQ: Q./A. in their own column so wrapped lines stay aligned */
.sf-faq-cat { margin: 2.4em 0 1em; font-size: 16px; font-weight: bold; }
.sf-faq { margin: 0 0 1.6em; line-height: 2; }
.sf-faq dt, .sf-faq dd { display: grid; grid-template-columns: 2em 1fr; margin: 0; }
.sf-faq dt { font-weight: bold; }
.p-entry__body .sf-faq-sub { list-style: none; margin: .2em 0 0; padding: 0; }
.p-entry__body .sf-faq-sub li { margin: 0; list-style: none; }

/* Terms: article headings and イ/ロ/ハ items without extra bullets */
.p-entry__body .sf-article { margin-top: 2em; margin-bottom: 1em; }
.p-entry__body .sf-iroha, .p-entry__body .sf-iroha li { list-style: none; }
.sf-deflist--wide { grid-template-columns: 9em 1fr; }

/* Footer: map link under the address */
.sf-map { display: inline-flex; align-items: center; gap: 4px; margin-top: 2px; font-size: 13px; }
.sf-info .sf-map { text-decoration: underline; text-underline-offset: 3px; }
.sf-map svg { width: 14px; height: 14px; flex: none; }
