/* The copied matrix keeps the clinic table's columns, sticky labels, images
   and horizontal scroll owner. Only control spacing between it and its CTA. */
body.icl-comparison-article #container .post_content .icl-conclusion-summary {
  display: flow-root;
  min-width: 0;
  max-width: 100%;
  margin: 0 0 clamp(22px, 3vw, 32px);
}
body.icl-comparison-article #container .post_content .icl-conclusion-summary :is(.s_table,.my-blue-table-wrapper,.wp-block-table,.table-scroll-wrapper) {
  margin-block: 0 !important;
}
body.icl-comparison-article #container .post_content .icl-conclusion-summary .icl-conclusion-cta {
  width: 100%;
  max-width: 590px;
  margin: clamp(14px, 2vw, 20px) auto 0;
  padding: 0;
  text-align: center;
}
body.icl-comparison-article #container .post_content .icl-conclusion-cta > a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 100%;
  min-height: 60px;
  margin: 0;
  padding: 13px 38px;
  border: 0;
  border-radius: 5px;
  background: #e5392f;
  color: #fff !important;
  box-shadow: 0 2px 0 #a72924;
  font-family: inherit;
  font-size: clamp(19px, 1.55vw, 21px);
  font-weight: 800;
  line-height: 1.45;
  text-align: center;
  text-decoration: none !important;
  text-wrap: balance;
  word-break: normal;
  line-break: strict;
}
body.icl-comparison-article #container .post_content .icl-conclusion-cta > a::after {
  content: "";
  position: absolute;
  inset-inline-end: 19px;
  top: 50%;
  width: 8px;
  height: 8px;
  border: solid currentColor;
  border-width: 2px 2px 0 0;
  transform: translateY(-50%) rotate(45deg);
}
body.icl-comparison-article #container .post_content .icl-conclusion-cta > a:focus-visible {
  outline: 3px solid #133b58;
  outline-offset: 4px;
}
@media (hover: hover) {
  body.icl-comparison-article #container .post_content .icl-conclusion-cta > a:hover {
    background: #bd3028;
    color: #fff !important;
  }
}
body.icl-comparison-article #container .post_content .icl-conclusion-cta > small {
  display: block;
  margin: 8px 0 0;
  color: #516476;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.6;
}

body.icl-reading-layout {
  --article-copy-size: 17px;
  --article-copy-leading: 1.82;
  --article-link-ink: var(--lp-region, #176873);
  --article-detail-wash: color-mix(in srgb, var(--article-link-ink) 8%, white);
  --article-detail-rule: color-mix(in srgb, var(--article-link-ink) 23%, white);
}
body.icl-reading-layout #container .p-single__content .post_content,
body.icl-reading-layout #container .p-single__content .post_content :is(.tcdce-body,.my-blue-article,.icl-article) {
  font-size: var(--article-copy-size) !important;
  line-height: var(--article-copy-leading) !important;
}
body.icl-reading-layout #container .p-single__content .post_content :is(p,li):not(:where(
  table *,figure *,nav *,.icl-column-toc *,.icl-article-reviewer *,.icl-sidebar-cta *,
  [class*="-cta"] *,.icl-article-policy *,.tokyo-source,.osaka-source,.regional-source,.my-blue-mini,.my-blue-stat-source
)) {
  font-size: var(--article-copy-size) !important;
  line-height: var(--article-copy-leading) !important;
}
body.icl-reading-layout #container aside.icl-article-reviewer .icl-reviewer-description p {
  margin-bottom: 10px !important;
  font-size: 15px !important;
  line-height: 1.78 !important;
}
body.icl-reading-layout #container aside.icl-article-reviewer .icl-reviewer-description p:last-child {margin-bottom: 0 !important}

body.icl-reading-layout.icl-content-polish #container .p-single__content .post_content h2:is(.icl-content-section,#rating-data) {
  font-size: clamp(20px, 2vw, 26px) !important;
  line-height: 1.48 !important;
}
body.icl-reading-layout.icl-content-polish #container .p-single__content .post_content h3.icl-content-topic {
  font-size: clamp(18px, 1.6vw, 21px) !important;
  line-height: 1.5 !important;
}
body.icl-reading-layout.icl-content-polish #container .p-single__content .post_content :is(p.icl-content-label,h4.icl-content-detail):not(.icl-content-question) {
  box-sizing: border-box;
  display: block;
  width: fit-content;
  max-width: 100%;
  margin: 24px 0 10px !important;
  padding: 5px 10px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: var(--article-detail-wash) !important;
  color: #20394c !important;
  box-shadow: inset 0 -2px 0 var(--article-detail-rule) !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  line-height: 1.55 !important;
  text-align: start !important;
  overflow-wrap: break-word;
}
body.icl-reading-layout #container .post_content p.icl-content-label > strong {
  background: none !important;
  color: inherit !important;
  font-size: inherit !important;
  font-weight: inherit;
}

body.icl-reading-layout.icl-comparison-article #container .p-single__content .post_content :is(.my-blue-qa-wrap,.icl-qa-item,.my-blue-faq-item,.my-blue-faq-answer) {
  border-block: 0 !important;
  box-shadow: none !important;
}
body.icl-reading-layout.icl-comparison-article #container .post_content :is(.my-blue-qa-wrap,.icl-qa-item,.my-blue-faq-item) {
  margin-bottom: 18px !important;
  padding-bottom: 0 !important;
}

body.icl-reading-layout #container .p-single__content .post_content .icl-region-links__list {
  box-sizing: border-box;
  display: grid !important;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 0 24px !important;
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
  border-top: 2px solid var(--article-link-ink);
  background: #fff;
  list-style: none !important;
}
body.icl-reading-layout #container .post_content .icl-region-links__list > li {
  display: flex;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
  border-bottom: 1px solid var(--article-detail-rule);
  list-style: none !important;
}
body.icl-reading-layout #container .post_content .icl-region-links__list > li::before {content: none !important}
body.icl-reading-layout #container .post_content .icl-region-links__list > li > a {
  box-sizing: border-box;
  display: grid;
  grid-template-columns: minmax(0,1fr) 12px;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-height: 62px;
  padding: 10px 8px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #fff;
  color: #224259 !important;
  box-shadow: none !important;
  font-size: 15px !important;
  font-weight: 650;
  line-height: 1.55 !important;
  text-align: start;
  text-decoration: none !important;
  transform: none !important;
  overflow-wrap: break-word;
}
body.icl-reading-layout #container .post_content .icl-region-links__list > li > a::after {
  content: '';
  box-sizing: border-box;
  width: 8px;
  height: 8px;
  margin: 0;
  border: solid var(--article-link-ink);
  border-width: 2px 2px 0 0;
  transform: rotate(45deg);
}

body.icl-reading-layout #container .p-single--post > .p-page-nav {
  margin-block: 30px;
  border: 0;
  background: #fff;
}
body.icl-reading-layout #container .p-page-nav > .p-page-nav__inner {
  box-sizing: border-box;
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 0;
  width: 100%;
  height: auto;
  padding: 0;
  border-top: 2px solid var(--article-link-ink);
  border-bottom: 1px solid var(--article-detail-rule);
  background: #fff;
}
body.icl-reading-layout #container .p-page-nav .p-page-nav__item {
  box-sizing: border-box;
  direction: ltr !important;
  position: relative;
  display: grid;
  grid-template-columns: 10px minmax(0,1fr);
  grid-template-areas: 'arrow label' 'arrow title';
  column-gap: 14px;
  row-gap: 3px;
  align-content: center;
  width: auto;
  min-width: 0;
  height: auto !important;
  min-height: 84px;
  margin: 0;
  padding: 12px 15px !important;
  border: 0;
  border-radius: 0;
  background: #fff;
  color: #224259;
  box-shadow: none;
  text-align: start !important;
  text-decoration: none !important;
}
body.icl-reading-layout #container .p-page-nav .p-page-nav__item--next {
  grid-template-columns: minmax(0,1fr) 10px;
  grid-template-areas: 'label arrow' 'title arrow';
}
body.icl-reading-layout #container .p-page-nav .p-page-nav__item + .p-page-nav__item {border-inline-start: 1px solid var(--article-detail-rule)}
body.icl-reading-layout #container .p-page-nav .p-page-nav__item:only-child {grid-column: 1 / -1}
body.icl-reading-layout #container .p-page-nav .p-page-nav__item::before {
  content: '' !important;
  box-sizing: border-box;
  position: static;
  grid-area: arrow;
  place-self: center;
  width: 9px;
  height: 9px;
  margin: 0;
  border: solid var(--article-link-ink);
  border-width: 2px 2px 0 0;
  background: none;
  transform: rotate(-135deg);
}
body.icl-reading-layout #container .p-page-nav .p-page-nav__item--next::before {transform: rotate(45deg)}
body.icl-reading-layout #container .p-page-nav .p-page-nav__item::after {content: none !important}
body.icl-reading-layout #container .p-page-nav .p-page-nav__title-sp {
  grid-area: label;
  display: block !important;
  color: #496575;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.5;
}
body.icl-reading-layout #container .p-page-nav .p-page-nav__title-pc,
body.icl-reading-layout #container .p-page-nav .p-page-nav__title-pc > span {
  display: block !important;
  position: static;
  grid-area: title;
  min-width: 0;
  width: auto;
  max-height: none !important;
  height: auto !important;
  overflow: visible !important;
  color: #224259;
  font-size: 15px !important;
  font-weight: 700;
  line-height: 1.55 !important;
  text-align: start;
  text-overflow: clip !important;
  white-space: normal !important;
  -webkit-line-clamp: unset !important;
  overflow-wrap: break-word;
}
body.icl-reading-layout #container :is(.p-page-nav__item,.icl-region-links__list > li > a):focus-visible {
  outline: 3px solid var(--article-link-ink);
  outline-offset: -3px;
  background: var(--article-detail-wash);
}
@media (hover:hover) {
  body.icl-reading-layout #container :is(.p-page-nav .p-page-nav__item,.post_content .icl-region-links__list > li > a):hover {
    background: var(--article-detail-wash);
    color: var(--article-link-ink) !important;
    text-decoration: none !important;
  }
}
@media (max-width:720px) {
  body.icl-reading-layout {--article-copy-size: 15px; --article-copy-leading: 1.8}
  body.icl-reading-layout #container aside.icl-article-reviewer .icl-reviewer-description p {font-size: 14.5px !important; line-height: 1.8 !important}
  body.icl-reading-layout #container .p-single__content .post_content .icl-region-links__list,
  body.icl-reading-layout #container .p-page-nav > .p-page-nav__inner {grid-template-columns: minmax(0,1fr)}
  body.icl-reading-layout #container .post_content .icl-region-links__list > li > a {min-height: 50px}
  body.icl-reading-layout #container .p-page-nav .p-page-nav__item {min-height: 66px; padding-block: 11px !important}
  body.icl-reading-layout #container .p-page-nav .p-page-nav__item + .p-page-nav__item {border-inline-start: 0; border-top: 1px solid var(--article-detail-rule)}
}

/* The article cover and the copy immediately below share their outer edges. */
body.icl-comparison-article.icl-reading-layout #container .p-single--post:has(> .icl-reading-grid) > .p-single__header > .p-single__header-image {
  box-sizing: border-box;
  min-width: 0;
  width: 100% !important;
  max-width: 100% !important;
  margin-inline: 0 !important;
  padding-inline: 0;
  border: 0;
  background: #fff;
}
body.icl-comparison-article.icl-reading-layout #container .p-single--post > .p-single__header > .p-single__header-image img {
  box-sizing: border-box;
  display: block;
  width: 100%;
  height: auto !important;
  max-height: none;
  aspect-ratio: auto;
  object-fit: contain;
}

@media (min-width:1025px) {
  body.icl-comparison-article.icl-reading-layout #container .p-single--post:has(> .icl-reading-grid) {
    --article-rail-width: 254px;
    --article-rail-gap: 32px;
  }
  body.icl-comparison-article.icl-reading-layout #container .p-single--post:has(> .icl-reading-grid) > .icl-reading-grid {
    grid-template-columns: minmax(0,1fr) var(--article-rail-width);
    column-gap: var(--article-rail-gap);
  }
  body.icl-comparison-article.icl-reading-layout #container .p-single--post > .p-single__header:has(> .p-single__header-image) {
    grid-template-columns: minmax(0,1fr) calc(var(--article-rail-width) + var(--article-rail-gap));
    column-gap: 0;
    padding-inline: 0;
    row-gap: 18px;
    background: #fff;
  }
  body.icl-comparison-article.icl-reading-layout #container .p-single__header:has(> .p-single__header-image) > .p-single__header-content {
    padding: 20px 14px 0 32px;
  }
  body.icl-comparison-article.icl-reading-layout #container .p-single__header:has(> .p-single__header-image) .p-single__header-title {
    font-size: clamp(20px,1.5vw,22px) !important;
    line-height: 1.55;
  }
  body.icl-comparison-article.icl-reading-layout #container .p-single__header:has(> .p-single__header-image) > .icl-cover__guide {padding: 0 14px 20px 32px}
}

/* The rail switches to one column at 1024px; match the cover at that same edge. */
@media (max-width:1024px) {
  body.icl-comparison-article.icl-reading-layout #container .p-single--post:has(> .icl-reading-grid) > .p-single__header:has(> .p-single__header-image) {
    grid-template-columns: minmax(0,1fr);
    grid-template-areas: 'art' 'title' 'guide';
    gap: 0;
    padding-inline: 0;
  }
}
@media (min-width:992px) and (max-width:1024px) {
  body.icl-comparison-article.icl-reading-layout #container .p-single__header:has(> .p-single__header-image) > .p-single__header-content {padding: 16px 16px 0}
  body.icl-comparison-article.icl-reading-layout #container .p-single__header:has(> .p-single__header-image) > .icl-cover__guide {
    grid-template-columns: repeat(2,minmax(0,1fr));
    padding: 16px;
  }
}

body.icl-reading-layout #container .post_content .icl-senior-status {
  display: block;
  color: #526673;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.25;
  text-align: center;
}
body.icl-reading-layout #container .post_content .icl-senior-status[data-icl-senior="confirmed"] {
  color: #1a587b;
  font-weight: 850;
}
body.icl-reading-layout #container .p-single__content .post_content p.icl-senior-note {
  margin: 10px 0 0 !important;
  color: #526674;
  font-size: 12px !important;
  line-height: 1.7 !important;
}
body.icl-reading-layout #container .post_content .icl-senior-note a {
  color: #1d5d7d;
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* These notices accompany the existing clinic data and actions during the offer.
   No shadow, fixed-height panel, or second booking button. */
[data-icl-cp25] {
  box-sizing: border-box;
  max-width: 100%;
}
details.icl-cp25 {
  display: block;
  margin: 10px 0;
  padding: 0;
  border: 0;
  border-inline-start: 3px solid #b99132;
  background: #fff8e4;
  color: #342e21;
  font: inherit;
  text-align: start;
  white-space: normal;
}
details.icl-cp25 > summary {
  display: list-item;
  min-height: 36px;
  margin: 0;
  padding: 8px 10px;
  color: #7c281d;
  font-size: 14px;
  font-weight: 750;
  line-height: 1.5;
  overflow-wrap: anywhere;
  cursor: pointer;
}
details.icl-cp25 > summary:focus-visible { outline: 2px solid #163b56; outline-offset: 1px; }
.icl-cp25__scope {
  display: block;
  margin: 3px 0 0;
  color: #544939;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.55;
}
.icl-cp25--price-note { display: block; margin-top: 5px; }
.icl-cp25__terms, .icl-cp25__basis {
  display: block;
  padding: 0 10px 10px;
  font-size: 13px;
  line-height: 1.65;
  white-space: normal;
}
.icl-cp25__terms a, .icl-cp25__basis a {
  color: #1c516e;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.icl-cp25--matrix-fee {
  display: block;
  margin-top: 5px;
  color: #544939;
  font-size: 12px;
  line-height: 1.35;
}
.icl-cp25--matrix-fee > b {
  display: block;
  color: #8e2e22;
  font-size: 16px;
  font-weight: 800;
  line-height: 1.4;
  white-space: nowrap;
}
.icl-cp25--matrix-fee > b > span { font-size: 11px; }
.icl-cp25--matrix-fee > small { display: block; font-size: 12px; line-height: 1.35; }
.icl-cp25--matrix-fee > a { color: #1c516e; text-decoration: underline; text-underline-offset: 2px; }
.icl-cp25--matrix-guarantee, .icl-cp25--button {
  display: block;
  margin: 6px 0 4px;
  color: #694c17;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.55;
  white-space: normal;
}
.icl-cp25--card { margin-block: 14px; }
.icl-cp25--card > summary, .icl-cp25--conclusion > summary { min-height: 44px; font-size: 16px; }
.icl-cp25--sidebar, .icl-cp25--carousel { flex: 0 1 auto; width: 100%; margin: 5px 0 7px; }
.icl-cp25--sidebar {
  padding: 6px 7px;
  border-inline-start: 2px solid #b99132;
  background: #fff8e4;
  color: #443823;
  font-size: 12px;
  line-height: 1.45;
  text-align: start;
}
.icl-cp25--sidebar > b { display: block; color: #7c281d; font-size: 13px; }
.icl-cp25--sidebar > small { display: block; margin: 2px 0; font-size: 12px; }
.icl-cp25--sidebar > a { color: #1c516e; text-decoration: underline; text-underline-offset: 2px; }
.icl-cp25--global, .icl-cp25--mobile {
  display: inline-block;
  padding: 1px 4px;
  color: #553b0e;
  background: #ffedb3;
  font-size: 10px;
  font-weight: 750;
  line-height: 1.35;
  vertical-align: middle;
  white-space: nowrap;
}
.icl-cp25--global { margin-inline-start: 4px; }
.icl-cp25--mobile { margin-inline-end: 4px; }

body.icl-comparison-article #container .post_content picture.icl-content-figure:has(img[src*="visit-plan"]) {aspect-ratio:840 / 474;}
@media(max-width:700px){body.icl-comparison-article #container .post_content picture.icl-content-figure:has(img[src*="visit-plan"]){aspect-ratio:360 / 938;}}
