/* 画像とタイトルのレイヤー関係をはっきりさせる */
.ol-firstview__section {
  position: relative;
}
.ol-firstview__image {
  position: relative;
  z-index: 1;
}
.ol-firstview__title {
  position: relative;
  z-index: 2;
  bottom: -28px;
}

/* タイトルを上に引き上げて“かぶせる” */
.ol-firstview__title {
  margin-top: -1rem !important;
  bottom: auto !important;
}
.ol-section {
  margin-top: 105px !important;
  margin-bottom: 105px !important;
}

.ol-firstview__section {
  padding-bottom: 0 !important;
}
.ol-concept__maincopy {
  flex-basis: 100% !important;
}

.ol-firstview__title-maincopy1 {
  white-space: nowrap;
}

/* もし親要素がはみ出しを切っていたら保険で可視化 */
.ol-firstview__inner {
  /* position:absolute; */
  width: 100%;
}
.ol-firstview__image-inner {
  overflow: visible;
}

.ol-firstview__title-maincopy1 {
  -webkit-text-stroke: 1px #000; /* 細い黒フチ（Safari/Chrome系） */
  text-shadow: 0 0 6px #fff, 0 0 12px #fff; /* 白い外側光 */
}
.ol-firstview__title-maincopy2 {
  color: #3e60ab;
}

.ol-concept__content::before,
.ol-concept__content:after,
.ol-contact__content::before,
.ol-contact__content::after {
  content: none;
}

.ol-heading-wrapper .ol-heading-sub,
.ol-service__inner .ol-list-subtitle,
.ol-product__inner .ol-product__shortcut-heading,
.ol-product__inner .ol-product__content-subtitle,
.ol-faq__item-head::before {
  color: #3e60ab !important;
}

.ol-hamburger__menu {
  /* position: absolute;
  right: clamp(33px, 4.5vw, 66px);
  bottom: 0; */
}

.ol-service__list.ol-service-visual-image .ol-service__list-item:last-child {
  border-bottom: none !important;
}

.ol-banner__list {
  display: flex;
  flex-direction: column !important;
  flex-wrap: wrap !important;
  gap: 76px !important;
  justify-content: center !important;
  align-items: center !important;
  
}

.ol-banner__item {
  aspect-ratio: 267 / 124;
  width: 70%;

}
.ol-banner__list img {
  max-width: 100%;
  max-height: 100%;
  width:  100% !important;
  height: 100% !important;
  object-fit: contain; /* 全体が収まる（切り抜かない） */
}
.ol-heading-desc{
 margin-bottom: 105px !important; 
}

/* その1件だけSVGに差し替え */
.ol-product__content-list.ol-product__list-type-checkmark 
.ol-product__content-list-item::before{
  content: "";
  font-family: initial;
  display: inline-block;
  width: 1.15em;
  height: 1.15em;
  margin-top: 0.155em;
  margin-right: clamp(6px, 1.5vw, 9px);
  vertical-align: text-top;
  background: url("assets/icons/check.svg") no-repeat center/contain;
}


@media screen and (min-width: 550px) {
  .ol-firstview__title {
    margin-top: -2rem !important ;
  }
}

@media screen and (max-width: 640px) {
  .ol-hamburger__menu-icon.is-open ~ .ol-header__nav .ol-header__nav-anchor {
    padding: 0 !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
  }

}

@media screen and (min-width: 640px) {
  .ol-firstview__title {
    margin-top: -1.5rem !important ;
  }
  .ol-banner__list {
    flex-wrap: wrap !important;
    flex-direction: row !important;
    row-gap: 40px !important;
    column-gap: clamp(0.563rem, -3.9rem + 8.5vw, 3.75rem) !important;
  }
}

@media screen and (min-width: 841px) {
  .ol-firstview__logo-wrapper {
    position: absolute;
    margin-top: -74px !important;
  }
  .ol-concept__maincopy {
    flex-basis: 40% !important;
  }
  .ol-concept__content-copy {
    flex-basis: 65%;
  }
  .ol-banner__list {
    flex-wrap: nowrap !important;
  }
}

@media screen and (min-width: 1010px) {
  .ol-firstview__title {
    margin-top: -2rem !important;
  }
}

/* 親テーマの明朝指定を打ち消す（表示側） */
body:not(.wp-admin),
body:not(.wp-admin).none .ol-font-en,
.site,
.menu a,
nav a,
h1,
h2,
h3,
h4,
h5,
h6,
button,
input,
select,
textarea {
  font-family: "noto-sans-cjk-jp", "Noto Sans JP", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
}

/* “英字だけ別フォント”の仕掛けを無効化 */
.ol-font-en {
  font-family: inherit !important;
}
