  /* ==============================================
     ABOUT-asibimo Hero Section
     ============================================== */
  .about-hero {
    position: relative;
    padding: 0;
    margin: 0;
  }
  
  .about-hero-container {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 500px;
    margin: 0 0 0 50px;
  }
  
  .about-hero-bg {
    position: absolute;
    top: 45px;
    left: 0;
    width: 60%;
    height: 100%;
    /* background: rgba(248, 250, 251, 0.95); */
    background: #F0F7F8;
    z-index: 1;
  }
  
  .about-hero-image {
    position: absolute;
    right: 0;
    top: 0;
    width: 73%;
    height: 100%;
    z-index: 2;
  }
  
  .about-hero-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }
  
  .about-hero-content {
    position: relative;
    width: 70%;
    padding: 80px 0 80px 70px;
    z-index: 3;
  }
  
  .about-hero-subtitle {
    font-size: 40px;
    font-weight: 700;
    letter-spacing: 0.1em;
    margin: 0 0 16px 0;
    background: var(--primary-blue);
    color: white;
    padding: 2px 0px 3px 3px;
    display: inline-block;
    line-height: 0.8;
  }
  
  .about-hero-title {
    font-size: 58px;
    font-weight: 700;
    color: #333;
    line-height: 1.4;
    margin: 0 0 8px 0;
  }
  
  .about-hero-description {
    font-size: 22px;
    line-height: 1.8;
    color: #000000;
    margin: 0 65px 0 0;
  }
  
  /* ==============================================
     MISSION Section
     ============================================== */
  .mission-section {
    position: relative;
    padding: 0;
    margin: 7rem 0 0 0;
  }
  
  .mission-container {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 500px;
    margin: 0 50px 0 0;
  }
  
  .mission-bg {
    position: absolute;
    top: 45px;
    right: 0;
    width: 60%;
    height: 100%;
    background: #F0F7F8;
    z-index: 1;
  }
  
  .mission-image {
    position: absolute;
    left: 0;
    top: 0;
    width: 60%;
    height: 100%;
    z-index: 2;
  }
  
  .mission-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }
  
  .mission-content {
    position: relative;
    width: 78%;
    padding: 80px 60px 80px 0;
    margin-left: auto;
    z-index: 3;
  }
  
  .mission-title {
    font-family: acier-bat-noir, sans-serif;
    color: var(--primary-blue);
    font-size: 4rem;
    font-weight: 400;
    letter-spacing: 0.1em;
    font-style: normal;
    margin: 0 160px 5px 0;
    text-transform: uppercase;
    line-height: 1;
    letter-spacing: 0.05em;
    text-align: right;
  }
  
  .mission-headline {
    font-size: 37px;
    font-weight: 700;
    color: #333;
    line-height: 1.5;
    margin: 0 0 24px 0;
    text-align: right;
  }
  
  .mission-description {
    font-size: 19px;
    line-height: 1.8;
    color: #000000;
    margin: 0 0 0 500px;
  }
  
  /* ==============================================
     VISION Section
     ============================================== */
  .vision-section {
    position: relative;
    padding: 0;
    margin: 7rem 0 16rem 0;
  }
  
  .vision-container {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 500px;
    margin: 0 0 0 50px;
  }
  
  .vision-bg {
    position: absolute;
    top: 45px;
    left: 0;
    width: 60%;
    height: 100%;
    background: #F0F7F8;
    z-index: 1;
  }
  
  .vision-content {
    position: relative;
    width: 55%;
    padding: 80px 0 80px 60px;
    z-index: 3;
  }
  
  .vision-title {
    font-family: acier-bat-noir, sans-serif;
    color: var(--primary-blue);
    font-size: 4rem;
    font-weight: 400;
    letter-spacing: 0.1em;
    font-style: normal;
    margin: 0 0 24px 0;
    text-transform: uppercase;
    line-height: 1;
    letter-spacing: 0.05em;
  }
  
  .vision-headline {
    font-size: 39px;
    font-weight: 700;
    color: #333;
    line-height: 1.5;
    margin: 0 0 24px 0;
  }
  
  .vision-description {
    font-size: 19px;
    line-height: 1.8;
    color: #000000;
    margin: 0;
  }
  
  .vision-images {
    position: absolute;
    right: 0;
    top: 0;
    width: 60%;
    height: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    gap: 16px;
    padding: 0 40px 40px 40px;
    z-index: 2;
  }
  
  .vision-image-left,
  .vision-image-right {
    overflow: hidden;
  }
  
  .vision-image-left {
    grid-row: 1 / 3;
  }
  
  .vision-image-right {
    grid-row: 1 / 3;
    display: grid;
    grid-template-rows: 1fr 1fr;
    gap: 16px;
  }
  
  .vision-image-left img,
  .vision-image-right img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }
  
/* ==============================================
   VALUE Section
   ============================================== */
   .value-section {
    position: relative;
    padding: 0;
    margin: 7rem 0 10rem 0;
    background: white;
  }
  
  .value-container {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 600px;
    margin: 0 0 0 0;
  }
  
  .value-bg-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 60%;
    height: 100%;
    z-index: 2;
  }
  
  .value-bg-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }
  
  .value-bg {
    position: absolute;
    top: -65px;
    left: 95px;
    width: 85%;
    height: 106%;
    background: #F0F7F8;
    z-index: 1;
  }
  
  .value-title-area {
    position: absolute;
    top: -63px;
    left: 100px;
    z-index: 4;
  }
  
  .value-title {
    font-family: acier-bat-noir, sans-serif;
    color: var(--primary-blue);
    font-size: 4rem;
    font-weight: 400;
    letter-spacing: 0.1em;
    font-style: normal;
    margin: 0;
    text-transform: uppercase;
    line-height: 1;
    letter-spacing: 0.05em;
  }
  
  /* コンテンツ1: 遊び心と安全の両立 (左側上) */
  .value-content1 {
    position: absolute;
    top: 30px;
    left: 100px;
    width: 565px;
    padding: 24px;
    /* backdrop-filter: blur(10px); */
    z-index: 3;
  }
  
  /* コンテンツ2: 地域との共創 (右側中央) */
  .value-content2 {
    position: absolute;
    top: 45%;
    right: 50px;
    transform: translateY(-50%);
    width: 780px;
    padding: 24px;
    z-index: 3;
  }
  
  /* コンテンツ3: 唯一無二の体験 (左側下) */
  .value-content3 {
    position: absolute;
    bottom: 100px;
    left: 100px;
    width: 580px;
    padding: 24px;
    /* backdrop-filter: blur(10px); */
    z-index: 3;
  }
  
  .value-content1 .value-item-title,
  .value-content3 .value-item-title {
    font-size: 39px;
    font-weight: 700;
    color: #000000;
    margin: 0 0 12px 0;
  }
  
  .value-content1 .value-item-description,
  .value-content3 .value-item-description {
    font-size: 19px;
    line-height: 1.6;
    color: #000000;
    margin: 0;
  }
  
  .value-content2 .value-item-title {
    font-size: 39px;
    font-weight: 700;
    color: #000000;
    margin: 0 0 12px 0;
  }
  
  .value-content2 .value-item-description {
    font-size: 19px;
    line-height: 1.6;
    color: #000000;
    margin: 0;
  }
  
  .value-image {
    position: absolute;
    right: 0;
    top: -95px;
    width: 37%;
    height: 100%;
    overflow: hidden;
    z-index: 2;
  }
  
  .value-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }
  
  
  /* ==============================================
     Responsive Design
     ============================================== */
  @media (max-width: 1024px) {
      .about-hero-title  {
        font-size: 46px;
      }

      .mission-title {
        font-size: 4rem;
        margin: 0 28px 5px 0;
      }

      .mission-headline {
        font-size: 28px;
        margin: 0 0 24px 0;
      }
      
      .mission-description {
        font-size: 19px;
        margin: 0 0 0 382px;
      }

      .vision-headline {
        font-size: 28px;
        margin: 0 0 24px 0;
      }
  }

  @media (max-width: 834px) {
    .about-hero-title  {
      font-size: 35px;
    }

    .mission-content {
      padding: 80px 15px 80px 0;
      width: 90%;
    }
  
    .mission-title {
      font-size: 4rem;
      margin: 0 0 5px 0;
    }

    .mission-headline {
      font-size: 27px;
      margin: 0 0 24px 0;
    }
    
    .mission-description {
      font-size: 19px;
      margin: 0 0 0 398px;
    }

    .vision-content {
      width: 76%;
      padding: 80px 0 80px 20px;
    }

    .vision-headline {
      font-size: 34px;
      margin: 0 0 24px 0;
    }
}

  @media (max-width: 768px) {
    
    .about-hero-title  {
      font-size: 32px;
    }

    .mission-container {
      margin: 0 15px 0 0;
    }
    
    .mission-content {
      padding: 80px 1px 80px 0;
    }
  
    .mission-title {
      font-size: 4rem;
      margin: 0 0 5px 0;
    }

    .mission-headline {
      font-size: 23px;
    }
    
    .mission-description {
      font-size: 19px;
      margin: 0 0 0 393px;
    }

    .vision-content {
      width: 80%;
    }

    .vision-headline {
      font-size: 35px;
      margin: 0 0 24px 0;
    }
    
    /* コンテンツ2: 地域との共創 (右側中央) */
    .value-content2 {
      right: -20px;
    }    
  }


  @media (max-width: 744px) {
    
    /* コンテンツ2: 地域との共創 (右側中央) */
    .value-content2 {
      right: -40px;
    }    
  }


/* ==============================================
   スマホ向けレスポンシブ (414px以下) - PCレイアウト維持版
   ============================================== */
   @media (max-width: 414px) {

    /* --- 共通の調整 --- */
    .page-about section {
      margin-top: 3rem !important; /* セクション間の余白を詰める */
    }
  
    /* --- ABOUT-asibimo Section --- */
    .about-hero-container {
      min-height: auto;
      margin: 0 0 0 15px; /* 左マージンを詰める */
    }
    .about-hero-bg {
      top: 15px;
    }
    .about-hero-content {
      width: 84%; /* テキストエリアの幅を広げる */
      padding: 2rem 0 2rem 1.5rem;
    }
    .about-hero-subtitle {
      font-size: 18px;
      padding-right: 5px;
    }
    .about-hero-title {
      font-size: 24px;
      line-height: 1.3;
    }
    .about-hero-description {
      font-size: 14px;
      line-height: 1.7;
      margin-right: 20px;
    }
  
    /* --- MISSION Section --- */
    .mission-container {
      min-height: auto;
      margin: 0 15px 0 0; /* 右マージンを詰める */
    }
    .mission-bg {
      top: 15px;
    }
    .mission-content {
      width: 88%;
      padding: 2rem 0.5rem 2rem 0;
    }
    .mission-title {
      font-size: 2.3rem;
      margin-right: 0;
    }
    .mission-headline {
      font-size: 18px;
      line-height: 1.4;
      margin-bottom: 1rem;
    }
    .mission-description {
      font-size: 14px;
      line-height: 1.7;
      margin-left: 40%; /* 左マージンを%指定で調整 */
    }
  
    /* --- VISION Section --- */
    .vision-section {
      margin-bottom: 5rem !important;
    }
    .vision-container {
      min-height: auto;
      margin: 0 0 0 15px;
    }
    .vision-bg {
      top: 15px;
    }
    .vision-content {
      width: 69%; /* 画像と重なるように調整 */
      padding: 2rem 0 2rem 0.5rem;
    }
    .vision-title {
      font-size: 2.3rem;
      margin-bottom: 1rem;
    }
    .vision-headline {
      font-size: 18px;
      line-height: 1.4;
    }
    .vision-description {
      font-size: 14px;
      line-height: 1.7;
    }
    .vision-images {
      width: 65%; /* 画像エリアを少し狭める */
      gap: 8px;
      padding: 0 15px 15px 15px;
    }
  
    /* --- VALUE Section --- */
    .value-container {
      min-height: 450px; /* 高さを詰める */
    }
    .value-bg {
      top: -20px;
      left: 15px;
      width: 90%;
      height: 100%;
    }
    .value-bg-image {
      width: 65%; /* 背景画像を少し狭める */
    }
    .value-title-area {
      top: -33px;
      left: 20px;
    }
    .value-title {
      font-size: 2.3rem;
    }
    /* コンテンツの位置とサイズを調整 */
    .value-content1 {
      top: 40px;
      left: 20px;
      width: 60%;
      padding: 10px;
    }
    .value-content2 {
      top: 50%;
      right: 15px;
      width: 60%;
      padding: 10px;
    }
    .value-content3 {
      bottom: 20px;
      left: 20px;
      width: 60%;
      padding: 10px;
    }
    .value-item-title {
      font-size: 18px !important;
      margin-bottom: 8px;
    }
    .value-item-description {
      font-size: 14px !important;
      line-height: 1.6;
    }
    .value-image {
      top: -20px;
      width: 40%;
    }
  }