/* =========================================================
   Article body fit (this theme). Loaded after 「記事のCSS」.
   - Base text styles that Lightning gave to every page body
   - VK Blocks parts that relied on Lightning (buttons, colors)
   - Full-width blocks inside the article column
   The salt-* design itself is not changed here.
   ========================================================= */

/* ---- Base text in the page body (pages without salt-page: company, privacy policy, etc.) */
.entry-body{font-size:16px;line-height:1.95}
.entry-body>*:first-child{margin-top:0}
.entry-body p{margin:0 0 1.2em}
.entry-body h2:not([class*="salt-"]){margin:2.4em 0 .9em;font-size:22px;line-height:1.55;color:#1f2f2d}
.entry-body h2.wp-block-heading:not([class*="salt-"]):not([class*="is-style-vk"]):not([class*="vkp-"]):not(.has-text-align-center){padding:12px 16px;background:var(--st-tint);border-left:5px solid var(--st-main);border-radius:0 8px 8px 0}
.entry-body h3:not([class*="salt-"]){margin:2em 0 .7em;font-size:19px;line-height:1.55;color:#1f2f2d}
.entry-body h4{margin:1.6em 0 .6em;font-size:17px}
.entry-body ul,.entry-body ol{padding-left:1.4em;margin:0 0 1.2em}
.entry-body li{margin-bottom:.35em}
.entry-body table{border-collapse:collapse;width:100%;font-size:15px;line-height:1.75}
.entry-body .wp-block-table:not(.salt-table) th,.entry-body .wp-block-table:not(.salt-table) td{border:1px solid #d6e1df;padding:10px 12px;vertical-align:top}
.entry-body .wp-block-table:not(.salt-table) th{background:var(--st-tint)}
.entry-body figure{margin:0 0 1.4em}
.entry-body img{border-radius:6px}
.entry-body .wp-block-image figcaption{font-size:13px;color:var(--st-sub);text-align:center}
.entry-body iframe{max-width:100%}
.entry-body .wp-block-embed__wrapper iframe{width:100%}
.entry-body .wp-block-table{overflow-x:auto;-webkit-overflow-scrolling:touch}
@media (min-width:768px){.entry-body h2:not([class*="salt-"]){font-size:26px}.entry-body h3:not([class*="salt-"]){font-size:21px}}

/* ---- VK buttons (Lightning gave .btn its shape) */
.entry-body .vk_button .btn,.entry-body .btn{display:inline-block;font-weight:700;line-height:1.5;text-align:center;text-decoration:none;vertical-align:middle;border:1px solid transparent;padding:.7em 1.4em;border-radius:6px;transition:filter .15s}
.entry-body .vk_button_link.btn{color:#fff}
.entry-body .vk_button_link.btn:hover{filter:brightness(1.07);color:#fff}
.entry-body .vk_button_link.btn-block,.entry-body .vk_button-align-block .vk_button_link{display:block;width:100%}
.entry-body .btn-primary{background:var(--st-main);border-color:var(--st-main);color:#fff}
.entry-body .btn-outline-primary{border-color:var(--st-main);color:var(--st-main-d);background:#fff}
.entry-body .vk_button_link_caption{display:inline-flex;align-items:center;gap:.4em}
.entry-body .vk_button_link_subCaption{display:block;font-size:.8em;font-weight:500;margin-top:.15em;opacity:.95}
.has-vk-color-primary-background-color{background-color:var(--st-main)!important}
.has-vk-color-primary-dark-background-color{background-color:var(--st-main-d)!important}
.has-vk-color-primary-vivid-background-color{background-color:#43999a!important}
.has-vk-color-primary-color{color:var(--st-main)!important}
.has-vk-color-primary-dark-color{color:var(--st-main-d)!important}
.has-luminous-vivid-orange-background-color{background-color:#ff6900}
.has-vivid-red-background-color{background-color:#cf2e2e}
.has-white-color{color:#fff}

/* ---- Full-width blocks */
/* In articles (with the side column) a full-width block stays in the column. */
.st-main.is-article .entry-body .alignfull,
.st-main.is-article .entry-body .vk_outer-width-full{width:auto!important;max-width:100%!important;margin-left:0!important;margin-right:0!important;left:auto!important;right:auto!important}
.st-main.is-article .entry-body .alignwide{max-width:100%;margin-left:0;margin-right:0}
/* The big photo at the top of older articles: a calm image box under the title. */
.st-main.is-article .entry-body>.vk_outer:first-child{--min-height-pc:340px!important;--min-height-tablet:280px!important;--min-height-mobile:200px!important;border-radius:16px;overflow:hidden;padding-top:0!important;padding-bottom:0!important;margin-bottom:8px}
.st-main.is-article .entry-body>.vk_outer:first-child .vk_outer_container{padding:0}
.st-main.is-article .entry-body>.vk_outer:first-child .vk_outer-bg-image{border-radius:16px}
/* Pages: full-width blocks go edge to edge. */
.st-main.is-page .entry-body .alignfull{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
.st-main.is-page{overflow-x:clip}

/* ---- Article body comfort on phones */
@media (max-width:781px){
  .entry-body{font-size:16px}
  .entry-body .salt-table,.entry-body .wp-block-table{margin-left:-16px;margin-right:-16px;padding-left:16px;padding-right:16px;width:auto}
  .st-main.is-article .entry-body>.vk_outer:first-child{border-radius:12px}
}
/* Anchor jumps stop below the sticky header. */
.entry-body [id]{scroll-margin-top:calc(var(--st-hdr-h) + 16px)}

/* ---- Number boxes / columns on phones: full width, not shrunk to the text */
@media (max-width:781px){
  .entry-body .wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column{flex-basis:100%!important;width:100%}
  .entry-body .salt-stats>.wp-block-column>*{width:100%}
}

/* ---- 問い合わせ枠のボタン（WordPress標準のボタン。2026-10-07〜） */
.salt-cta .wp-block-buttons.salt-cta-btns{display:grid !important;grid-template-columns:1fr 1fr;gap:14px;margin:22px 0 14px}
.salt-cta .salt-cta-btn{width:100%;margin:0}
.salt-cta .salt-cta-btn .wp-block-button__link{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;min-height:72px;box-sizing:border-box;padding:12px 16px;border-radius:10px;border:0;color:#fff !important;font-size:13px;font-weight:500;line-height:1.5;text-align:center;text-decoration:none;transition:filter .15s}
.salt-cta .salt-cta-btn .wp-block-button__link strong{display:block;font-size:19px;font-weight:800;letter-spacing:.03em;color:#fff}
.salt-cta .salt-cta-btn .wp-block-button__link br{display:none}
.salt-cta .salt-cta-btn.is-tel .wp-block-button__link{background:#ff6900}
.salt-cta .salt-cta-btn.is-web .wp-block-button__link{background:#cf2e2e}
.salt-cta .salt-cta-btn .wp-block-button__link:hover{filter:brightness(1.08)}
@media (max-width:781px){.salt-cta .wp-block-buttons.salt-cta-btns{grid-template-columns:1fr}}
/* ---- 空白（WordPress標準のスペーサー。small＝48px・xs＝12px。スマホは小さく） */
@media (max-width:991px){.wp-block-spacer.salt-space-s{height:32px !important}}
@media (max-width:575px){.wp-block-spacer.salt-space-s{height:20px !important}}

/* ---- 見出しの大きさのバランス（2.1.1）：H2 24／H3 20／H4 17／H5 16（スマホ 20／18／16／15） */
body .entry-body h2:not([class*="salt-"]){font-size:20px}
body .entry-body h3:not([class*="salt-"]){font-size:18px}
body .entry-body h4{font-size:16px}
body .entry-body h5{font-size:15px;margin:1.4em 0 .5em}
body .entry-body h6{font-size:15px}
body .entry-body .salt-page h2.salt-h2{font-size:20px}
body .entry-body .salt-page h3.salt-h3{font-size:18px}
body .entry-body .salt-page .salt-cta h2.salt-h2{font-size:21px}
body .entry-body .salt-summary .salt-summary__title{font-size:17px}
@media (min-width:768px){
  body .entry-body h2:not([class*="salt-"]){font-size:24px}
  body .entry-body h3:not([class*="salt-"]){font-size:20px}
  body .entry-body h4{font-size:17px}
  body .entry-body h5{font-size:16px}
  body .entry-body .salt-page h2.salt-h2{font-size:24px}
  body .entry-body .salt-page h3.salt-h3{font-size:20px}
  body .entry-body .salt-page .salt-cta h2.salt-h2{font-size:24px}
  body .entry-body .salt-summary .salt-summary__title{font-size:18px}
}

/* Fixed pages rebuilt with standard blocks (1.1.0) */
.salt-table.is-spec td:first-child{width:9.5em;white-space:nowrap;font-weight:700;color:var(--st-deep,#1f4f4c);vertical-align:top}
@media (max-width:600px){
  .salt-table.is-spec table,.salt-table.is-spec tbody,.salt-table.is-spec tr,.salt-table.is-spec td{display:block;width:auto}
  .salt-table.is-spec thead{display:none}
  .salt-table.is-spec td:first-child{white-space:normal;padding-bottom:2px;border-bottom:0}
  .salt-table.is-spec td+td{padding-top:2px}
}
.salt-media{gap:28px;margin:20px 0}
.salt-media .wp-block-image{margin:0}
.salt-media .wp-block-image img{width:100%;height:auto;border-radius:10px}
.salt-photos{gap:16px;margin:16px 0}
.salt-photos .wp-block-image{margin:0}
.salt-photos .wp-block-image img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px}
.salt-map{margin:8px 0 0;border-radius:10px;overflow:hidden;line-height:0}
.salt-map iframe{width:100%;height:380px;border:0}
@media (max-width:600px){.salt-map iframe{height:300px}}
@media (max-width:600px){
  .salt-table.is-spec table{min-width:0!important;table-layout:auto}
  .salt-table.is-spec td{white-space:normal!important;overflow-wrap:anywhere}
}
@media (max-width:781px){
  .salt-media,.salt-photos{flex-wrap:wrap!important}
  .salt-media>.wp-block-column,.salt-photos>.wp-block-column{flex-basis:100%!important}
}
