@charset "UTF-8";

/* コラム詳細専用 */
body.single-column .p-post-single {
  max-width: 780px;
  margin-inline: auto;
  min-width: 0;
}
body.single-column .column-article {
  font-size: 17px;
  line-height: 1.9;
  overflow-wrap: anywhere;
}
body.single-column .column-article p { margin-block: 0 1.4em; }
body.single-column .column-article h2 {
  margin-block: 2.5em 1.1em;
  padding: .8em 1em;
  border-left: 5px solid var(--color--theme--primary, #3c4870);
  border-bottom: 3px solid var(--color--theme--secondary, #fae600);
  border-radius: var(--radius-s, 5px);
  background: var(--color--use--bg, #f2f2f6);
  color: var(--color--theme--primary, #3c4870);
  font-size: clamp(20px, 2vw, 25px);
  font-weight: 600;
  line-height: 1.6;
}
body.single-column .column-article h3 {
  margin-block: 2em .8em;
  padding-bottom: .5em;
  border-bottom: 2px solid var(--color--use--border, #ddd);
  color: var(--color--theme--primary, #3c4870);
  font-size: 1.15em;
  line-height: 1.6;
}
body.single-column .column-article h4 { margin-block: 1.7em .7em; line-height: 1.6; }
body.single-column .column-article :is(ul, ol) { margin-block: 1em 1.6em; padding-inline-start: 1.6em; }
body.single-column .column-article li + li { margin-top: .6em; }

/* テンプレートのアイキャッチ */
body.single-column .p-post-content > figure.wp-block-image {
  width: 100%; max-width: 620px; margin: 0 auto 2em; float: none;
}
body.single-column .p-post-content > figure.wp-block-image img {
  display: block; width: 100%; max-width: 100%; height: auto; margin-inline: auto;
}
/* 専用クラスは画像自身・ラッパーの両方に対応 */
body.single-column .column-article .column-article__image,
body.single-column .column-article figure:has(img) {
  width: 100%; max-width: 520px; margin: 32px auto; float: none;
}
body.single-column .column-article img {
  display: block; width: 100%; max-width: 520px; height: auto; margin: 32px auto;
}
body.single-column .column-article .column-article__image img,
body.single-column .column-article figure img { margin-block: 0; max-width: 100%; }
body.single-column .column-article .column-article__image:has(img[src*="column1_img3"]),
body.single-column .column-article figure:has(img[src*="column1_img3"]),
body.single-column .column-article img[src*="column1_img3"] { max-width: 700px; }

body.single-column .column-article :is(.column-article__point, .column-article__company, .column-article__cta) {
  margin-block: 2em; padding: clamp(20px, 3vw, 30px); border-radius: var(--radius, 10px);
}
body.single-column .column-article .column-article__point {
  background: #fffce5; border: 1px solid var(--color--theme--secondary-dull, #f3ca3e);
}
body.single-column .column-article .column-article__company {
  background: var(--color--use--bg, #f2f2f6); border-left: 4px solid var(--color--theme--primary, #3c4870);
}
body.single-column .column-article :is(.column-article__point, .column-article__company, .column-article__cta) > :first-child { margin-top: 0; }
body.single-column .column-article :is(.column-article__point, .column-article__company, .column-article__cta) > :last-child { margin-bottom: 0; }
body.single-column .column-article .column-article__cta {
  background: var(--color--theme--primary, #3c4870); color: #fff;
  border-top: 4px solid var(--color--theme--secondary, #fae600);
}
body.single-column .column-article .column-article__cta :is(h2, h3, h4) {
  color: #fff; background: transparent; border-color: var(--color--theme--secondary, #fae600);
}
body.single-column .column-article .column-article__cta a {
  color: inherit; text-decoration: none;
  --anchor--color--base: #fff; --anchor--color--hover: #fff;
}
body.single-column .column-article .column-article__cta .column-article__cta-buttons {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-auto-rows: 1fr;
  align-items: stretch;
  gap: 16px;
  width: 100%;
  max-width: none;
  margin: 24px 0 0;
  padding: 0;
}
/* WordPressがボタンを段落で囲んだ場合も、ボタンを同じグリッドに並べる。 */
body.single-column .column-article .column-article__cta-buttons > p:has(.column-article__cta-button) {
  display: contents;
}
body.single-column .column-article .column-article__cta-buttons > br,
body.single-column .column-article .column-article__cta-buttons > p:has(.column-article__cta-button) > br {
  display: none;
}
body.single-column .column-article .column-article__cta .column-article__cta-button {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  box-sizing: border-box; width: 100%; max-width: none; height: 100%;
  min-width: 0; min-height: 84px; padding: 14px 12px; margin: 0;
  background: var(--color--theme--secondary, #fae600);
  border: 2px solid var(--color--theme--secondary, #fae600); border-radius: var(--radius-s, 5px);
  color: var(--color--theme--primary, #3c4870);
  --anchor--color--base: var(--color--theme--primary, #3c4870);
  --anchor--color--hover: var(--color--theme--primary, #3c4870);
  font-weight: 600; line-height: 1.5; text-align: center; white-space: normal; text-decoration: none;
}
body.single-column .column-article .column-article__cta .column-article__cta-button > :is(span, strong, small) {
  display: block; max-width: 100%; margin: 0; line-height: 1.5;
}
/* 電話ボタンは通常の改行（br）を維持し、ハイフンでの自動折り返しを禁止。 */
body.single-column .column-article .column-article__cta a.column-article__cta-button[href^="tel:"] {
  display: block;
  align-content: center;
  font-size: clamp(14px, 1.5vw, 17px);
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}
body.single-column .column-article .column-article__cta a.column-article__cta-button[href^="tel:"] * {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}
body.single-column .column-article .column-article__cta .column-article__cta-button:hover { background: #fff; color: var(--color--theme--primary, #3c4870); }
body.single-column .column-article .column-article__cta a:focus-visible { outline: 3px solid #fff; outline-offset: 4px; }

body.single-column .column-article .column-article__table-wrap {
  width: 100%; max-width: 100%; overflow: visible; margin-block: 1.5em;
}
body.single-column .column-article .column-article__glossary table,
body.single-column .column-article table.column-article__glossary {
  width: 100%; table-layout: fixed; border-collapse: collapse; line-height: 1.8;
}
body.single-column .column-article .column-article__glossary :is(th, td) {
  min-width: 0; padding: 16px; border: 1px solid var(--color--use--border, #ddd);
  vertical-align: top; white-space: normal; word-break: normal; overflow-wrap: anywhere;
}
body.single-column .column-article .column-article__glossary tr > :first-child {
  width: 25%; background: var(--color--use--bg, #f2f2f6); font-weight: 600;
}
body.single-column .column-article .column-article__glossary tr > :nth-child(2) { width: 75%; background: #fff; }
body.single-column .column-article :is(.column-article__supervision, .column-article__note) {
  margin-block: 1.5em; padding: 16px 20px; background: var(--color--use--bg, #f2f2f6);
  font-size: 14px; line-height: 1.8;
}

@media (max-width: 640px) {
  body.single-column .column-article { font-size: 16px; }
  body.single-column .column-article h2 { padding: .75em; margin-top: 2em; font-size: 20px; }
  body.single-column .column-article .column-article__image,
  body.single-column .column-article figure:has(img),
  body.single-column .column-article img { max-width: 100%; margin-block: 24px; }
  body.single-column .column-article .column-article__image img,
  body.single-column .column-article figure img { margin-block: 0; }
  body.single-column .column-article .column-article__cta .column-article__cta-buttons { grid-template-columns: minmax(0, 1fr); }
  body.single-column .column-article .column-article__glossary table,
  body.single-column .column-article table.column-article__glossary {
    width: 100%; table-layout: fixed; font-size: 14px;
  }
  body.single-column .column-article .column-article__glossary tr > :is(th, td) { padding: 10px 8px; }
  body.single-column .column-article .column-article__glossary tr > :first-child { width: 34%; }
  body.single-column .column-article .column-article__glossary tr > :nth-child(2) { width: 66%; }
  body.single-column .column-article :is(.column-article__supervision, .column-article__note) { padding: 14px; }
}


/* ===== Column CTA v4: all selectors scoped to the article ===== */
body.single-column .column-article .column-article__toc {margin:24px 0 14px;padding:18px 22px;background:#f6f9f8;border:1px solid #d9e9e6;border-radius:10px}
body.single-column .column-article .column-article__toc-title{font-size:18px;font-weight:700;margin:0 0 10px}
body.single-column .column-article .column-article__toc ol{margin:0;padding-left:1.5em}
body.single-column .column-article .column-article__toc li{margin:4px 0}
body.single-column .column-article .column-article__toc a{color:#087c71;text-decoration:underline}
body.single-column .column-article :is(.column-cta-mini,.column-cta-end,.column-cta-fixed){box-sizing:border-box;font-family:"Noto Sans JP",sans-serif;color:#333}
body.single-column .column-article :is(.column-cta-mini,.column-cta-end,.column-cta-fixed) *,body.single-column .column-article :is(.column-cta-mini,.column-cta-end,.column-cta-fixed) *::before{box-sizing:border-box}
body.single-column .column-article .column-cta-mini{display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;column-gap:16px;row-gap:10px;background:#fff8ec;border-left:5px solid #f39800;border-radius:8px;padding:16px 20px;margin:20px 0 30px}
body.single-column .column-article .column-cta-mini .face{display:block;width:60px;height:60px;max-width:60px;margin:0;border-radius:50%;object-fit:cover;object-position:50% 0;border:3px solid #0f9e8f;background:#e8f6f4}
body.single-column .column-article .column-cta-mini p{margin:0;min-width:0;font-weight:700;font-size:15px;line-height:1.5}
body.single-column .column-article .column-cta-mini a{display:block;max-width:100%;white-space:nowrap;text-align:center;background:#0f9e8f;color:#fff;text-decoration:none;font-weight:700;font-size:14px;padding:12px 16px;border-radius:8px}
@media(max-width:700px){
 body.single-column .column-article .column-cta-mini{grid-template-columns:52px minmax(0,1fr);padding:12px 14px;column-gap:10px}
 body.single-column .column-article .column-cta-mini .face{width:48px;height:48px;max-width:48px}
 body.single-column .column-article .column-cta-mini p{font-size:13px}
 body.single-column .column-article .column-cta-mini a{grid-column:1 / -1;white-space:normal;font-size:13px;padding:10px 12px}
}
body.single-column .column-article .column-cta-end{display:flex;flex-wrap:wrap-reverse;align-items:flex-end;background:#fff;border:3px solid #0f9e8f;border-radius:16px;overflow:hidden;box-shadow:0 6px 18px rgba(0,0,0,.08);margin:12px 0 36px}
body.single-column .column-article .column-cta-end .person{flex:0 0 220px;position:relative;margin:0 auto;padding-top:46px}
body.single-column .column-article .column-cta-end .person img{display:block;width:220px;max-width:100%;height:auto;margin:0}
body.single-column .column-article .column-cta-end .bubble{position:absolute;top:8px;left:50%;transform:translateX(-50%);white-space:nowrap;background:#fff;border:2px solid #0f9e8f;color:#0b7c70;font-size:12px;font-weight:700;line-height:1.4;padding:5px 10px;border-radius:12px}
body.single-column .column-article .column-cta-end .body{flex:1 1 360px;padding:24px 22px;min-width:0}
body.single-column .column-article .column-cta-end .lead{display:inline-block;background:#f39800;color:#fff;font-weight:700;font-size:13px;padding:4px 12px;border-radius:999px}
body.single-column .column-article .column-cta-end .body h2{font-size:21px;line-height:1.5;margin:10px 0 6px;padding:0;border:0;border-radius:0;background:none;color:#333}
body.single-column .column-article .column-cta-end .body h2 em{font-style:normal;color:#0f9e8f;background:linear-gradient(transparent 65%,#fff1c9 65%)}
body.single-column .column-article .column-cta-end .body p{margin:0;font-size:14px}
body.single-column .column-article .column-cta-end .tags{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 16px;padding:0;list-style:none}
body.single-column .column-article .column-cta-end .tags li{background:#e8f6f4;color:#0b7c70;font-size:13px;font-weight:700;padding:5px 10px;border-radius:6px;margin:0}
body.single-column .column-article .column-cta-end .btns{display:flex;flex-wrap:wrap;gap:10px}
body.single-column .column-article .column-cta-end .btn{flex:1 1 200px;display:flex;align-items:center;justify-content:space-between;gap:10px;color:#fff;text-decoration:none;border-radius:12px;padding:14px 16px;font-weight:700;font-size:17px;line-height:1.4;box-shadow:0 4px 0 rgba(0,0,0,.18)}
body.single-column .column-article .column-cta-end .btn small{display:block;font-size:12px;font-weight:400}
body.single-column .column-article .column-cta-end .btn .arw{flex:0 0 28px;height:28px;border-radius:50%;background:#fff;text-align:center;line-height:28px;font-size:20px}
body.single-column .column-article .column-cta-end .bic{flex:0 0 40px;height:40px;border-radius:50%;background:rgba(255,255,255,.22);display:flex;align-items:center;justify-content:center}
body.single-column .column-article .column-cta-end .bt{flex:1}
body.single-column .column-article .column-cta-end .est{background:#0f9e8f}
body.single-column .column-article .column-cta-end .est .arw{color:#0f9e8f}
body.single-column .column-article .column-cta-end .doc{background:#ee8c00}
body.single-column .column-article .column-cta-end .doc .arw{color:#ee8c00}
body.single-column .column-article .column-cta-end .tel{flex:1 1 100%;justify-content:center;text-align:center;background:#fff;color:#0b7c70;border:2px solid #0f9e8f;box-shadow:none;font-size:21px}
body.single-column .column-article .column-cta-end .tel small{color:#666}
body.single-column .column-article [hidden]{display:none!important}
body.single-column .column-article .column-cta-fixed{display:none}
@media(max-width:640px){
 body.single-column .column-article .column-cta-end .body{padding:16px 13px}
 body.single-column .column-article .column-cta-end .person{flex-basis:180px;padding-top:46px}
 body.single-column .column-article .column-cta-end .person img{width:180px}
 body.single-column .column-article .column-cta-end .body h2{font-size:19px}
 body.single-column .column-article .column-cta-end .btn{font-size:15px;padding:12px}
 body.single-column .column-article .column-cta-end .tel{font-size:18px}
 body.single-column .column-article .column-cta-fixed{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:9999;overflow:hidden;border-radius:0;box-shadow:0 -2px 12px rgba(0,0,0,.18)}
 body.single-column .column-article .column-cta-fixed a{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 4px 9px;font-size:12px;font-weight:700;color:#fff;text-decoration:none;text-align:center;background:#0f9e8f}
 body.single-column .column-article .column-cta-fixed a[href^="tel:"]{background:#555}
 body.single-column .column-article .column-cta-fixed a[href*="paint-document"]{background:#ee8c00}
 body.single-column .column-article .column-cta-fixed .ic{display:flex;width:26px;height:26px;align-items:center;justify-content:center}
 body.single-column{padding-bottom:76px}
}

/* 2026-10-10: 小型CTAの崩れ修正（テーマ側のグリッド・リンク指定に優先） */
body.single-column .column-article div.column-cta-mini.cta-column-mid {
  display:flex !important;
  flex-flow:row nowrap !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:16px !important;
  width:100%;
}
body.single-column .column-article div.column-cta-mini.cta-column-mid > img.face {
  flex:0 0 60px !important;
  width:60px !important;
  height:60px !important;
  margin:0 !important;
}
body.single-column .column-article div.column-cta-mini.cta-column-mid > p {
  flex:1 1 auto !important;
  width:auto !important;
  min-width:0 !important;
  margin:0 !important;
}
body.single-column .column-article div.column-cta-mini.cta-column-mid > a.column-cta-mini__link {
  display:inline-flex !important;
  flex:0 0 auto !important;
  width:auto !important;
  min-width:0 !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 !important;
  padding:12px 18px !important;
  background-color:#0f9e8f !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  font-size:14px !important;
  font-weight:700 !important;
  line-height:1.5 !important;
  text-decoration:none !important;
  white-space:nowrap !important;
}
@media(max-width:600px){
  body.single-column .column-article div.column-cta-mini.cta-column-mid {
    display:grid !important;
    grid-template-columns:48px minmax(0,1fr) !important;
    gap:10px !important;
  }
  body.single-column .column-article div.column-cta-mini.cta-column-mid > img.face {
    width:48px !important;height:48px !important;flex-basis:48px !important;
    grid-column:1 !important;grid-row:1 !important;
  }
  body.single-column .column-article div.column-cta-mini.cta-column-mid > p {
    grid-column:2 !important;grid-row:1 !important;font-size:13px !important;
  }
  body.single-column .column-article div.column-cta-mini.cta-column-mid > a.column-cta-mini__link {
    grid-column:1 / -1 !important;grid-row:2 !important;
    width:100% !important;white-space:normal !important;
  }
}
