/* =========================================================
   OME HOJINKAI – Hero Slider（v2025.11 fix）
   ========================================================= */

/* デザイン指示：左右 20px パディング、角丸なし、ヘッダーとは独立 */
.ohj-hero{ position:relative; padding:0; }
.ohj-slide { transition: none; }

/* スライダー本体（横スライド） */
.ohj-slider{ position:relative; overflow:hidden; width:100%; margin:0 auto 24px; }
.ohj-slider__track{
  display:flex;
  will-change:transform;
  transition:transform .45s ease;   /* JSで translateX を操作 */
}
.ohj-slide{
  flex:0 0 100%;
  display:block;
  position:relative;
}
.ohj-slide::before{ content:""; display:block; padding-top:56.25%; } /* 16:9 */
.ohj-slide > img{
  position:absolute; inset:0;
  width:100%; height:100%; object-fit:cover; display:block;
  border-radius:0;                           /* 角丸禁止 */
}



/* スライド本体（画像より ::after を前面に） */
.ohj-slide{
  position: relative;
  flex: 0 0 100%;
  overflow: hidden;
}
.ohj-slide > img{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 1;                 /* 画像より上に ::after を重ねるため1に固定 */
}

/* 1) 前後スライドの黒半透明（PC/TABのみ） */
@media (min-width: 769px){
  .ohj-slide.is-prev::after,
  .ohj-slide.is-next::after{
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.7);  /* ← 0.5 → 0.7に変更してより暗く */
    z-index: 2;
    pointer-events: none;
  }
  .ohj-slide.is-active::after{
    content: "";
    position: absolute;
    inset: 0;
    background: transparent;
    z-index: 2;
    pointer-events: none;
  }
}

/* スライダートラック */
.ohj-slider{
  position: relative;
  overflow: hidden;
  width: 100%;
}
.ohj-slider__track{
  display: flex;
  will-change: transform;
  transition: transform .6s ease;
}

/* 2) ドット（スライドの外・下に通常フローで配置） */
.ohj-slider__dots{
  position: static;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  margin: 12px auto 0;
  width: 100%;
}
.ohj-slider__dots button{
  width: 10px;
  aspect-ratio: 1 / 1;         /* ← 追加：確実に正円化 */
  border: none;
  border-radius: 50%;
  background: #aaa;
  cursor: pointer;
  transition: background-color .2s ease, transform .2s ease;
}
.ohj-slider__dots button.is-active{
  background: #000;
  transform: scale(1.06);
}

/* 矢印（必要なら既存のまま） */
.ohj-slider__prev, .ohj-slider__next{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 44px; height: 44px;
  border-radius: 4px;
  background: rgba(255,255,255,.9);
  border: 1px solid #E5E7EB;
  cursor: pointer;
  z-index: 3;
}
.ohj-slider__prev{ left: 10px; }
.ohj-slider__next{ right: 10px; }

/* =========================================================
   Hero Frame Layout – 白フレーム復活
   ========================================================= */
.ohj-hero-inner {
  max-width: 1440px;
  margin: 0 auto;
  padding-inline: 20px;  /* PC時の白余白 */
  background: #fff;
}

.ohj-hero-frame {
  background: #fff; /* 外枠の白背景 */
    margin-bottom: 0;
}

/* =========================================================
   SP表示時（白余白を完全に削除）
   ========================================================= */
@media (max-width: 768px) {
  .ohj-hero-inner {
    padding-inline: 0;
    background: transparent;
  }
  .ohj-hero-frame {
    background: transparent;
  }
}

/* ---------------------------------------------------------
   前後ナビボタン（再追加版）
--------------------------------------------------------- */
.ohj-slider__prev,
.ohj-slider__next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: rgba(255,255,255,0.92);
  border: 1px solid #E0E0E0;
  cursor: pointer;
  z-index: 10;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: background .2s ease, border-color .2s ease;
}

/* 左右位置 */
.ohj-slider__prev { left: 36px; }
.ohj-slider__next { right: 36px; }

/* PC hover */
@media (hover:hover) {
  .ohj-slider__prev:hover,
  .ohj-slider__next:hover {
    background: #fff;
    border-color: #bbb;
  }
}

/* SVGアイコン（白 or 黒） */
.ohj-slider__prev::before,
.ohj-slider__next::before {
  content: "";
  display: block;
  width: 22px;
  height: 22px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 70%;
}

/* 左矢印 */
.ohj-slider__prev::before {
  background-image: url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' fill='black' viewBox='0 0 256 256'>\
<polyline points='160 48 80 128 160 208' stroke='black' stroke-width='16' fill='none' stroke-linecap='round' stroke-linejoin='round'/>\
</svg>");
}

/* 右矢印 */
.ohj-slider__next::before {
  background-image: url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' fill='black' viewBox='0 0 256 256'>\
<polyline points='96 48 176 128 96 208' stroke='black' stroke-width='16' fill='none' stroke-linecap='round' stroke-linejoin='round'/>\
</svg>");
}

/* =========================================================
   SP：前後ボタン非表示（安全版）
========================================================= */
@media (max-width: 820px) {
  #top-slider .ohj-slider__prev,
  #top-slider .ohj-slider__next {
    display: none !important;
  }
}

