/* Shared typography and responsive navigation measured against local B. */
.cds-standard-document {
  color: #1a1a1a;
  --cds-body-font-family: "游ゴシック", YuGothic, "Yu Gothic", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", メイリオ, Meiryo, sans-serif;
  font-family: var(--cds-body-font-family);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.8em;
}
.cds-main { line-height: 2em; }
.cds-standard-document .wp-block-heading { font-weight: inherit; }
@media (max-width: 767px) {
  .cds-standard-document { font-size: 14px; }
}

/* Restore the populated-column spacing omitted by the block conversion. */
.cds-site-footer .mainFooter > .wp-block-group__inner-container > .cds-columns > .cds-column > .wp-block-group__inner-container,
.cds-site-footer .mainFooter > .wp-block-group__inner-container > .cds-columns > .wp-block-group__inner-container > .cds-column > .wp-block-group__inner-container { padding: 10px !important; }
.cds-site-footer .mainFooter .cds-boxed { padding-inline: 0; }
.cds-site-footer .mainFooter .cds-boxed .cds-column { flex: 0 0 auto; padding-inline: 15px; }
.cds-site-footer .mainFooter .cds-boxed .cds-column > .wp-block-group__inner-container { padding: 10px !important; }


/* The original footer switches to stacked columns at 768px, inclusively. */
@media (max-width: 768px) {
  .cds-site-footer .mainFooter .cds-boxed .cds-columns { flex-wrap: wrap; }
}

/* Original heading widgets reset theme heading boxes before explicit controls. */
:where(#main .cds-widget:is(h1,h2,h3,h4,h5,h6)).wp-block-heading,
:where(#main .cds-heading :is(h1,h2,h3,h4,h5,h6)).wp-block-heading {
  margin: 0;
  padding: 0;
  line-height: 1;
}

/* The dynamic single title follows the theme's heading face and line box. */
:where(#main) .cds-post-title {
  margin: 0;
  font-family: var(--cds-body-font-family);
  line-height: 1;
  padding: 0;
}

/* Classic CTA defaults, including the original theme heading box. */
:where(#main .cds-call-to-action) { line-height: 1.8em; }
:where(#main .cds-call-to-action) .cds-cta-body {
  background-color: #f7f7f7;
  color: #55595c;
}
:where(#main .cds-call-to-action) .wp-block-heading:is(h1,h2,h3,h4,h5,h6) {
  padding: 10px 10px 5px;
  color: #55595c;
  margin: 0 0 15px;
  font-size: 23px;
  line-height: inherit;
}
:where(#main .cds-call-to-action) a.cds-button {
  align-self: center;
  margin-inline: auto;
  border: 2px solid #55595c;
  color: #55595c;
  background: transparent;
}
/* Slides use separate vendor heading/description defaults. */
:where(#main .cds-slide-copy) .wp-block-heading {
  padding: 0;
  margin: 0 0 30px;
  font-size: 35px;
  font-weight: 700;
  line-height: 1;
}
:where(#main .cds-slide-copy) p {
  font-size: 17px;
  line-height: 1.4;
}
:where(#main .cds-slide-copy) a.cds-button {
  display: inline-block;
  border: 2px solid #fff;
  color: #fff;
  background: transparent;
}
@media (max-width: 767px) {
  :where(#main .cds-slide-copy) .wp-block-heading { font-size: 23px; margin-bottom: 15px; }
  :where(#main .cds-slide-copy) p { font-size: 13px; }
}

/* Classic CTA's unspecified layout is image-above, rather than two columns. */
:where(#main) .cds-call-to-action { flex-direction: column; }
:where(#main .cds-call-to-action) .cds-cta-image,
:where(#main .cds-call-to-action) .cds-cta-body {
  flex: 0 0 auto;
  width: 100%;
}
:where(#main) .cds-call-to-action.cds-cta-left { flex-direction: row; }
:where(#main) .cds-call-to-action.cds-cta-right { flex-direction: row-reverse; }
:where(#main .cds-call-to-action:is(.cds-cta-left,.cds-cta-right)) .cds-cta-image {
  width: 50%;
  min-width: 50%;
}
:where(#main .cds-call-to-action:is(.cds-cta-left,.cds-cta-right)) .cds-cta-body {
  flex: 1;
  width: auto;
}

/* Responsive CTA controls inherit tablet values until mobile overrides them. */
@media (max-width: 1024px) {
  :where(#main) .cds-call-to-action.cds-cta-left-tablet { flex-direction: row; }
  :where(#main) .cds-call-to-action.cds-cta-right-tablet { flex-direction: row-reverse; }
  :where(#main .cds-call-to-action:is(.cds-cta-left-tablet,.cds-cta-right-tablet)) .cds-cta-image { width: 50%; min-width: 50%; }
  :where(#main .cds-call-to-action:is(.cds-cta-left-tablet,.cds-cta-right-tablet)) .cds-cta-body { flex: 1; width: auto; }
  :where(#main) .cds-call-to-action.cds-cta-above-tablet { flex-direction: column; }
  :where(#main .cds-call-to-action.cds-cta-above-tablet) .cds-cta-image,
  :where(#main .cds-call-to-action.cds-cta-above-tablet) .cds-cta-body { flex: 0 0 auto; width: 100%; }
}
@media (max-width: 767px) {
  :where(#main) .cds-call-to-action.cds-cta-left-mobile { flex-direction: row; }
  :where(#main) .cds-call-to-action.cds-cta-right-mobile { flex-direction: row-reverse; }
  :where(#main .cds-call-to-action:is(.cds-cta-left-mobile,.cds-cta-right-mobile)) .cds-cta-image { width: 50%; min-width: 50%; }
  :where(#main .cds-call-to-action:is(.cds-cta-left-mobile,.cds-cta-right-mobile)) .cds-cta-body { flex: 1; width: auto; }
  :where(#main) .cds-call-to-action.cds-cta-above-mobile { flex-direction: column; }
  :where(#main .cds-call-to-action.cds-cta-above-mobile) .cds-cta-image,
  :where(#main .cds-call-to-action.cds-cta-above-mobile) .cds-cta-body { flex: 0 0 auto; width: 100%; }
}

/* Resolve the body line box before a rich-content widget changes its font size. */
:where(#main .cds-standard-content) { line-height: 1.8em; }
:where(#main .cds-text-editor, #main .cds-html) { line-height: inherit; }
/* Image widgets originally have no figure box and align images to the line middle. */
:where(#main .cds-image) { line-height: 1.8em; }
:where(#main) figure.cds-image,
:where(#main) .cds-image figure { margin: 0; }
:where(#main) figure.cds-image img,
:where(#main) .cds-image .wp-block-image img {
  display: inline-block;
  vertical-align: middle;
}

/* Match the boxed privacy-policy content inset on these pages only. */
body.page-id-7737 .cds-standard-content,
body.page-id-4448 .cds-standard-content {
  max-width: 1140px;
  margin-inline: auto;
  padding-inline: 20px;
}

/* Native custom carousel: restore its removed legacy CSS dependency only. */
body.page-id-2643 .w-section-slider .w-width {
  box-sizing: border-box;
  width: 100%;
  max-width: 1260px;
  margin-inline: auto;
  padding: 20px 60px;
  position: relative;
}
body.page-id-2643 .w-section-slider .swiper-container {
  box-sizing: border-box;
  display: block;
  width: 100%;
  min-width: 0;
  position: relative;
  overflow: hidden;
  padding-bottom: 32px;
}
body.page-id-2643 .w-section-slider .swiper-button-prev,
body.page-id-2643 .w-section-slider .swiper-button-next {
  position: absolute;
  top: 50%;
  width: 27px;
  height: 44px;
  margin-top: -22px;
  z-index: 10;
  cursor: pointer;
  background-image: url("../images/slider-arrow-2.png");
  background-size: 27px 44px;
  background-repeat: no-repeat;
  background-position: center;
  color: transparent;
  font-size: 0;
}
body.page-id-2643 .w-section-slider .swiper-button-prev { left: 10px; right: auto; }
body.page-id-2643 .w-section-slider .swiper-button-next { right: 10px; left: auto; transform: scaleX(-1); }
body.page-id-2643 .w-section-slider .swiper-button-prev::after,
body.page-id-2643 .w-section-slider .swiper-button-next::after { content: none; }
body.page-id-2643 .w-section-slider .swiper-button-prev svg,
body.page-id-2643 .w-section-slider .swiper-button-next svg { display: none; }
body.page-id-2643 .w-section-slider .swiper-pagination-bullet { background-color: #999; }
@media (max-width: 767px) {
  body.page-id-2643 .w-section-slider .w-width { padding: 20px 40px; }
}

/* Only the saved desktop/tablet shared-header sections receive fixed positioning. */
.cds-site-header > .cds-header-is-fixed {
  position: fixed;
  top: var(--cds-sticky-top);
  left: var(--cds-sticky-left);
  right: auto;
  width: var(--cds-sticky-width);
  margin: 0;
  z-index: 1000;
}
.cds-site-header > .cds-header-sticky-spacer {
  box-sizing: border-box;
  visibility: hidden;
  pointer-events: none;
  padding: 0 !important;
  border: 0 !important;
}
.cds-site-header > .cds-header-sticky-spacer[hidden] { display: none !important; }
html.cds-header-scroll-aware { scroll-padding-top: var(--cds-sticky-header-offset); }
html.cds-header-scroll-aware .cds-anchor { scroll-margin-top: 0; }

/* Highlight the current custom-header link, not the last menu item. */
.cds-site-header #c_header ul li:last-child a {
  background: transparent;
  color: inherit;
}
.cds-site-header #c_header ul li > a.cds-menu-current {
  display: block;
  background: var(--main_color, #1c2a53);
  color: #fff;
  padding: 2px 15px 0;
  border-radius: 99px;
}

/* Preserve the requested bottom spacing in the custom header menu. */
.cds-site-header #c_header ul { margin: 0 0 4px; }
