@charset "utf-8";

/* =========================================
　hero section
========================================= */
.hero-section{
    display: grid;
    place-items: center;    
    /* 古いブラウザ用のフォールバック */
    height: calc(65vh - 70px);
    /* モダンブラウザ用の動的ビューポート（アドレスバーの影響を受けない） */
    height: calc(65dvh - 70px);
    min-height: calc(65dvh - 70px);
}
.title-wrap{
    display: grid;
    width: 75vw;
    justify-items: left;
}
.hero-title{
    font-size: clamp(30px, 5vw, 48px);
    font-weight: bold;
    line-height: 1.5;
    text-align: start;
}

.content-wrapper {
  background-color: #fff; 
  /* 画像の上に食い込ませる（ネガティブマージン） */
  margin-top: -96px; 
  position: relative; /* 重なり順を安定させるため */
  z-index: 1;
}
.sub-title{
    font-size: 11px;
    font-weight: bold;
}
 @media (min-width: 1024px) {
    .hero-section{
        height: calc(50dvh - 70px);
        min-height: 400px;
        width: 88%;
        max-width: 800px;
        margin: 10% auto 0;
    }
    .title-wrap {
        display: grid;
        width: fit-content;
        justify-items: left;
    }
    .hero-title {
        font-size: clamp(30px, 5vw, 48px);
        font-weight: bold;
        line-height: 1.5;
        text-align: start;
        margin-left: 0!important;
    }

}
.hero-wrapper {
  position: relative; /* 擬似要素の基準にする */
  line-height: 0;      /* 画像の下にできる謎の隙間を消す */
}

.hero-wrapper img {
  width: 100%;
  height: auto;
}

.hero-wrapper::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 50%; /* グラデーションの高さ */
/* 修正後（例：白100%の位置を100%から50%へ移動） */
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 62%);
  pointer-events: none; /* 下の画像へのクリックを邪魔しない（念のため） */
}