/* October 2026 SEO measures: existing theme styles remain in use. */
.seoTotals{margin-bottom:48px}.seoHeading{font-size:clamp(20px,2.4vw,28px);line-height:1.6;margin-bottom:24px;text-align:center;color:#444342}
.seoTotals>p,.seoDevicePrice>p{line-height:1.9;margin:20px 0}.seoNote{font-size:14px}.seoSection{margin:48px 0}.seoPriceLink{display:flex;justify-content:center}
.seoTableScroll{overflow:auto;max-width:100%;margin:24px 0;container-type:inline-size}.seoTableScroll:focus-visible{outline:2px solid #2D91B1;outline-offset:3px}
.seoTable{border-collapse:separate;border-spacing:0;width:100%;min-width:600px;font-size:15px;line-height:1.7;background:#fff}
.seoTable th,.seoTable td{border-right:1px solid #DDECEF;border-bottom:1px solid #DDECEF;padding:18px 16px;text-align:left;vertical-align:middle;overflow-wrap:anywhere}
.seoTable tr>:first-child{border-left:1px solid #DDECEF}.seoTable thead th{border-top:1px solid #DDECEF;background:#F0F8FA;font-weight:600;white-space:nowrap}.seoTable tbody th{background:#F8FBFC;font-weight:500;width:28%;position:sticky;left:0;z-index:1}.seoTable td{min-width:110px}
.seoCaseCta{margin:40px 0;padding:28px;background:#F8FBFC;border:1px solid #DDECEF;border-radius:8px}.editor .seoCaseCta h2{margin:0 0 20px;font-size:24px;line-height:1.6;background:none;padding:0;border:0}.editor .seoCaseCta h3{margin:0 0 16px;font-size:18px;border:0;padding:0}.seoCaseCta>p{line-height:1.9}.seoCaseCta__groups{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:24px}.seoCaseCta__links{display:grid;gap:12px}.editor a.seoCaseCta__button{display:flex;align-items:center;justify-content:center;min-height:56px;padding:12px 16px;background:#fff;color:#444342;border:1px solid #6EB3C9;border-radius:6px;text-decoration:none;text-align:center;font-size:15px;line-height:1.6;overflow-wrap:anywhere}.editor a.seoCaseCta__button--reserve{background:linear-gradient(0deg,#29B7CD 0%,#6AD2ED 100%);color:#fff;border-color:transparent}.editor a.seoCaseCta__button--line{background:linear-gradient(0deg,#44C0BC 0%,#6ADECB 100%);color:#fff;border-color:transparent}.editor a.seoCaseCta__button:hover{opacity:.8}.editor a.seoCaseCta__button:focus-visible{outline:3px solid #444342;outline-offset:3px}
.pdrPdf.seoCredentials{justify-content:center;flex-wrap:wrap;gap:20px}.pdrPdf.seoCredentials .pdrPdf-box{width:calc((100% - 80px)/5);margin:0}.seoCredentials--top{display:flex;justify-content:center;flex-wrap:wrap;gap:20px;position:relative;margin:36px auto 0;max-width:1000px}.seoCredentials--top figure{width:calc((100% - 80px)/5);margin:0}.seoCredentials img{width:100%;height:150px;object-fit:contain}.seoCredentials a{display:block}
@media(max-width:768px){.seoCaseCta{padding:20px}.seoCaseCta__groups{grid-template-columns:1fr;gap:24px}.editor .seoCaseCta h2{font-size:20px}.seoTable{font-size:14px}.seoTable th,.seoTable td{padding:14px 12px}.seoTable tbody th{width:160px;min-width:160px}.seoCredentials--top figure,.pdrPdf.seoCredentials .pdrPdf-box{width:calc((100% - 20px)/2)}.seoCredentials img{height:140px}.seoTotals{margin-bottom:36px}}

/* Test-only review markers: PHP omits these classes and labels on production. */
.seoPreviewTarget{outline:2px dashed #b45309;outline-offset:6px}
.seoPreviewLabel.noto{display:block;position:relative;box-sizing:border-box;max-width:100%;margin:20px 0;padding:12px 16px;border:2px solid #b45309;border-radius:6px;background:#fff7ed;color:#7c2d12;font-family:Arial,"Noto Sans JP",sans-serif;font-size:14px;line-height:1.7;text-align:left;overflow-wrap:anywhere;scroll-margin-top:140px}
.seoPreviewLabel strong{display:block;font-weight:700;color:inherit;font-size:15px}.seoPreviewLabel span{display:block;margin-top:4px;color:inherit;font-size:14px}.seoPreviewLabel a{color:inherit}
@media(max-width:768px){.seoPreviewLabel.noto{padding:10px 12px;margin:16px 0;scroll-margin-top:80px}.seoPreviewTarget{outline-offset:3px}}

/* Core blocks remain editable; contain wide comparisons on smaller screens. */
.editor .seoManagedBlock .seoComparisonTable { overflow-x: auto; max-width: 100%; }
.editor .seoManagedBlock .seoComparisonTable table { min-width: 680px; width: 100%; table-layout: auto; }
.editor .seoManagedBlock .seoComparisonTable .seoTable th,
.editor .seoManagedBlock .seoComparisonTable .seoTable td { vertical-align: top; }
.seoLinkedPrices { margin-top: 32px; }
.seoDevicePrice h3.seoHeading { margin-top: 32px; }

@media (max-width: 768px) {
  .seoDevicePrice .seoPriceLink .btn { min-width: 200px; white-space: nowrap; }
}

/* No.78: certificates belong beside the director signature in the message. */
.dr .drSignature { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 12px; margin-top: 40px; position: relative; z-index: 2; }
.dr .drSignature > .seoPreviewLabel { grid-column: 1 / -1; margin: 0 0 8px; }
.dr .drSignature .drJob { margin-top: 0; }
.dr .drSignature .seoCredentials--top { width: 100%; max-width: none; margin: 0; gap: 5px; flex-wrap: nowrap; }
.dr .drSignature .seoCredentials--top figure { flex: 1 1 0; min-width: 0; width: auto; }
.dr .drSignature .seoCredentials--top img { height: auto; aspect-ratio: 1.4; object-fit: contain; }
@media (max-width: 768px) {
  .dr .drSignature { grid-template-columns: minmax(0, 1fr); gap: 20px; margin-top: 30px; }
}
/* No.75: show the face-liposuction H1 without changing other menu pages. */
.c-mnu > h1.seoMenuH1 {
  display: block;
  box-sizing: border-box;
  width: calc(100% - 40px);
  max-width: 1200px;
  margin: 24px auto;
  color: #444342;
  font-size: clamp(1.25rem, 1rem + 1vw, 2rem);
  font-weight: 600;
  line-height: 1.6;
  text-align: center;
  overflow-wrap: anywhere;
  text-wrap: balance;
}

/* Client feedback 2026-10-16: match existing light-blue CTA and table styling. */
.seoHeading { color: #2D91B1; }
.editor .seoCaseCta {
  padding: 28px;
  border: 24px solid transparent;
  border-radius: 20px;
  background: linear-gradient(#fff, #fff) padding-box,
    url(../img/common/post_cv_bg.png) center / 100% 100% border-box;
  box-shadow: inset 0 0 0 1px #6EB3C9;
  color: #444342;
}
.editor .seoCaseCta h2 {
  position: relative;
  padding-bottom: 20px;
  color: #2D91B1;
  font-weight: 500;
  text-align: center;
}
.editor .seoCaseCta h2::after {
  content: "";
  position: absolute;
  top: auto;
  bottom: 0;
  transform: none;
  left: calc(50% - 15px);
  width: 30px;
  height: 1px;
  background: #2D91B1;
}
.editor .seoCaseCta h3 { color: #2D91B1; text-align: center; font-weight: 500; }
.editor .seoCaseCta > p { text-align: center; }
.seoCaseCta__groups { gap: 20px; }
.seoCaseCta__groups > div { min-width: 0; }
.editor a.seoCaseCta__button {
  box-sizing: border-box;
  min-height: 64px;
  padding: 12px 18px;
  gap: 10px;
  border-radius: 40px;
  color: #2D91B1;
  font-size: 1rem;
  font-weight: 500;
}
.editor a.seoCaseCta__button--reserve,
.editor a.seoCaseCta__button--line { color: #fff; }
.editor a.seoCaseCta__button--reserve::before,
.editor a.seoCaseCta__button--line::before {
  content: "";
  flex: 0 0 26px;
  width: 26px;
  height: 26px;
  background: center / contain no-repeat;
}
.editor a.seoCaseCta__button--reserve::before { background-image: url(../img/icon/icon_web.svg); }
.editor a.seoCaseCta__button--line::before { background-image: url(../img/icon/icon_comment.svg); }
.editor a.seoCaseCta__button:focus-visible { outline-color: #2D91B1; outline-offset: 3px; }
@media (max-width: 768px) {
  .editor .seoCaseCta { padding: 24px 16px; border-width: 12px; }
  .editor a.seoCaseCta__button { padding: 12px; font-size: .9375rem; }
}

/* Keep WordPress core table borders consistent with the theme palette. */
.editor .seoManagedBlock table.seoTable th,
.editor .seoManagedBlock table.seoTable td { border-color: #DDECEF; }

/* Match existing editorial tables instead of the utility sans-serif class. */
.seoTable.noto {
  font-family: inherit;
  font-size: .9375rem;
  line-height: 1.5;
}
.seoTable.noto thead th,
.seoTable.noto tbody th { font-weight: 700; }

/* Comparison headings follow the same quiet treatment as their body columns. */
.editor .seoComparisonTable table.seoTable thead { border-bottom: 0; }
.editor .seoComparisonTable table.seoTable thead th {
  font-weight: 700;
  background: #fff;
}
.editor .seoComparisonTable table.seoTable thead th:first-child { background: #F8FBFC; }

/* Match existing editorial table cell spacing at each theme breakpoint. */
.editor .seoComparisonTable table.seoTable th,
.editor .seoComparisonTable table.seoTable td { padding: 14px 16px; }
@media (min-width: 1920px) {
  .editor .seoComparisonTable table.seoTable th,
  .editor .seoComparisonTable table.seoTable td { padding: 15.75px 18px; }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .editor .seoComparisonTable table.seoTable th,
  .editor .seoComparisonTable table.seoTable td { padding: 1.09375vw 1.25vw; }
}
@media (max-width: 768px) {
  .editor .seoComparisonTable table.seoTable th,
  .editor .seoComparisonTable table.seoTable td { padding: 4vw; }
}

/* Face-liposuction price links: separate buttons from tables and notes. */
.c-mnu > .seoMenuH1 ~ .mnuPrc .prcBtn { margin-top: 24px; }
@media (max-width: 768px) {
  .c-mnu > .seoMenuH1 ~ .mnuPrc .prcBtn { margin-top: 20px; }
  .c-mnu > .seoMenuH1 ~ .mnuPrc .prcBtn .btn { height: auto; min-height: 50px; }
}
