@media (min-width: 768px) {
  .overlay-icons {
    display: flex !important;
    flex-direction: row !important;
    position: static !important;
    width: auto !important;
    height: auto !important;
    gap: 24px !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .circle-image-block {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .circle-image {
    position: static !important;
    display: inline-block !important;
    margin: 0 0 0 0 !important;
    z-index: 1;
  }
}

/* VoIP行の下に確実な余白を追加 */
.access-card address .voip-space {
  display: block;
  height: 1.5em;
}

/* VoIP行の下に余白を追加 */
.access-card address br.voip-bottom {
  display: block;
  content: '';
  margin-bottom: 1.2em;
}

.access-note {
  font-size: 0.6rem !important;
  color: #888 !important;
  line-height: 1.35 !important;
  display: block !important;
  white-space: normal !important;
}

.access-note {
  color: #888 !important;
  font-size: 0.6rem !important;
  line-height: 1.05;
}

.business-info-card {
  text-align: left !important;
}

/* 上書き防止のためaddressのline-heightを強制 */
/* 上書き防止のためaddressのline-heightを強制 */
/* 上書き防止のためaddressのline-heightを強制 */
.access-card address {
  font-size: 0.75rem !important;
  font-style: normal !important;
  line-height: 1.75 !important;
}

.access-card .access-address-line1,
.access-card .access-address-line2,
.access-card .access-voip-line {
  display: inline-block;
  white-space: nowrap;
}

@media (max-width: 767px) {

  .access-card .access-address-line1,
  .access-card .access-address-line2,
  .access-card .access-voip-line {
    font-size: 0.66rem !important;
  }
}

@media (max-width: 359px) {

  .access-card .access-address-line1,
  .access-card .access-address-line2,
  .access-card .access-voip-line {
    font-size: 0.60rem !important;
  }
}

.access-card li {
  font-size: 0.75rem !important;
}

.business-info-card li {
  font-size: 0.61rem !important;
  white-space: normal !important;
  overflow-wrap: anywhere;
  word-break: break-word;
  line-height: 1.3;
  padding-left: 0 !important;
  text-indent: 2em !important;
}

@media (max-width: 767px) {

  /* html/bodyのoverflowはブラウザデフォルトに任せる（Chrome対応） */
  html {
    overflow-x: clip;
  }

  body {
    overflow-x: clip;
  }

  main,
  .main,
  .container {
    touch-action: pan-y;
  }

  .main {
    max-width: 100%;
    padding-left: 12px;
    padding-right: 12px;
  }

  .business-info-card li,
  .company-info-card li {
    white-space: normal !important;
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  .business-info-card li {
    font-size: 0.580rem !important;
    text-indent: 0 !important;
    line-height: 1.45 !important;
  }

  .ecosystem-images img {
    width: min(100%, 260px);
    flex: 0 1 auto;
  }

  .section-access__map {
    width: 100% !important;
    height: min(62vw, 320px) !important;
  }
}

@media (max-width: 320px) {
  .company-info-card li {
    font-size: 0.68rem !important;
  }

  .business-info-card li {
    font-size: 0.580rem !important;
  }
}

@media (min-width: 768px) {
  .info-business-grid {
    display: flex;
    flex-direction: row;
    gap: 80px !important;
    justify-content: center;
    align-items: flex-start;
    width: 100%;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
  }

  .info-business-grid .content-card {
    flex: 1 1 0;
    min-width: 0;
    max-width: 360px;
    margin: 0;
  }
}

.section-top__company-block {
  margin-bottom: 0;
  margin-top: -8px;
}

.overlay-icons {
  position: relative;
  width: 200px;
  height: 200px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0;
}

.circle-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 200px;
  height: 200px;
  margin: 0;
  display: none;
  z-index: 1;
}

.circle-image.active {
  display: block;
}

.circle-image-block {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 0;
}

.section-top__company-name {
  margin-top: 0;
  padding-top: 0;
}
}

/* BUSINESS ACTIVITIESカード下の余白を追加 */
.business-info-card {
  margin-bottom: 40px !important;
}

@media (max-width: 767px) {
  .business-info-card {
    margin-bottom: 32px !important;
    text-align: center !important;
  }

  .business-info-card ul {
    display: inline-block;
    text-align: left;
  }
}

/* エコシステム直下の写真2枚用 */
.ecosystem-photo-block {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 18px;
  margin: 32px auto 32px auto;
  max-width: 800px;
}

.ecosystem-photo {
  width: 100%;
  max-width: 360px;
  height: auto;
  border-radius: 10px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.10);
  object-fit: cover;
}

@media (max-width: 767px) {
  .ecosystem-photo-block {
    gap: 12px;
    margin-top: 20px;
    margin-bottom: 18px;
    /* 写真下に余白を追加 */
  }

  .ecosystem-photo {
    max-width: 100%;
  }

  .section-information {
    margin-top: 10px !important;
    /* BUSINESS ACTIVITIES上の余白を狭く */
  }
}

/* 会社情報リストの文字サイズを統一 */
.company-info-card ul li {
  font-size: 0.75rem !important;
  line-height: 1.4;
}

/* FOUC対策: スクロールトップボタンを初期非表示 */
.scroll-top {
  display: none;
}


.access-card {
  display: block;
}

.business-info-card {
  display: block;
}

@media (min-width: 768px) {
  .circle-image {
    display: inline-block !important;
  }
}

.company-info-card li {
  text-align: left;
  padding-left: 0;
  text-indent: 0;
}

/* company-info-card中央揃え */
.content-card.company-info-card {
  text-align: center;
}

.company-info-card ul {
  display: inline-block;
  text-align: left;
}

.company-info-card .label {
  display: inline-block;
  min-width: 5.5em;
  margin-left: 2px;
  margin-right: 0;
}

.section-information .content-card {
  background: transparent !important;
}

.section-information {
  background: transparent !important;
}

.content-card.access-card {
  background: transparent;
  box-shadow: none;
  border-radius: 0;
  padding-top: 0 !important;
  padding-bottom: 16px !important;
}

@media (max-width: 767px) {
  .section-access__map {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
  }

  .content-card.access-card {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

@media (min-width: 800px) {
  .main {
    margin-top: 100px !important;
  }
}

/* イメージ画像ブロックを少し下げる */
.circle-image-block {
  margin-top: 20px;
}

/* 強調メッセージ用 少し大きく */
.highlight-message {
  font-size: 0.95rem;
  font-weight: bold;
  margin-bottom: 32px;
  color: #005b96;
}

.keep-second-line {
  white-space: nowrap;
  display: inline-block;
}

@media (max-width: 799px) {
  .main {
    margin-top: 100px !important;
  }
}

/* ヘッダー下の余白調整 */
.section-top {
  padding-top: 30px;
}

.section-top__company-name {
  max-width: 800px;
  margin: 32px auto 0;
  padding: 0 8px;
  text-align: center;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: #333;
}

@media (min-width: 768px) {
  .section-top__company-name {
    margin-top: 32px;
  }

  .section-top__visual-box {
    margin-bottom: 6px !important;
  }
}

/* NEWSカテゴリ文字を小さく */

.section-news__category {
  font-size: 0.8rem;
}

@media (max-width: 767px) {
  .section-news__category {
    font-size: 0.75rem;
    line-height: 1.6;
  }

  .highlight-message {
    line-height: 1.6;
    margin-top: 16px;
  }
}



/* 丸い画像用 */
.circle-image {
  border-radius: 50%;
  object-fit: cover;
  width: 200px;
  height: 200px;
}

.company-info-card {
  display: block;
}

@media (min-width: 768px) {
  .circle-image {
    display: inline-block !important;
  }
}

/* aboutページ ヘッダーのロゴ・メニューをindexと同じサイズに統一 */
/* aboutページ専用 ヘッダーのロゴ・メニューを大きく */
/* ======== 全体リセット＆ベース設計 ======== */

body {
  margin: 0;
  padding: 0;
  background-color: #ffffff;
  background-image: url('data:image/svg+xml;utf8,<svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="0" y="0" width="8" height="8" fill="%23ffffff"/><rect x="0" y="0" width="8" height="1" fill="%23f5f5f5"/><rect x="0" y="2" width="8" height="1" fill="%23f5f5f5"/><rect x="0" y="4" width="8" height="1" fill="%23f5f5f5"/><rect x="0" y="6" width="8" height="1" fill="%23f5f5f5"/><rect x="0" y="0" width="1" height="8" fill="%23f5f5f5"/><rect x="2" y="0" width="1" height="8" fill="%23f5f5f5"/><rect x="4" y="0" width="1" height="8" fill="%23f5f5f5"/><rect x="6" y="0" width="1" height="8" fill="%23f5f5f5"/></svg>');
  background-size: 8px 8px;
  background-repeat: repeat;
}

.main {
  max-width: 980px;
  margin: 60px auto 0 auto;
  padding: 0 16px;
  background: transparent;
}

section {
  margin-bottom: 48px;
}

.content-card {
  background: transparent !important;
  color: #222;
  border-radius: 8px;
  box-shadow: none !important;
  padding: 32px 15px;
}


.content-card h2 {
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 24px;
  color: #000;
  text-align: center;
}

/* ADDRESSカードのh2も同じサイズに */
.access-card h2 {
  font-size: 16px;
}

.section-ecosystem {
  margin-top: 24px;
  margin-bottom: 36px;
}

.ecosystem-card {
  border: 1px solid #d8c8a6;
  border-radius: 10px;
  padding: 34px 20px 24px;
  background: #fff !important;
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
}

.content-card .ecosystem-title {
  margin-bottom: 28px;
  padding: 0 20px;
  font-size: 0.95rem !important;
  color: #005b96;
  letter-spacing: 0.04em;
  line-height: 1.6;
  text-align: left;
}

.ecosystem-message {
  margin: 0 0 10px 0;
  padding: 0 20px;
  text-align: left;
  font-size: 0.75rem;
  line-height: 1.85;
  font-weight: 500;
  color: #2b2b2b;
}

.ecosystem-message--strong {
  margin-bottom: 16px;
  font-weight: 700;
  color: #666;
}

.ecosystem-images {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 24px;
  gap: 14px;
  align-items: center;
}

.ecosystem-images img {
  width: 260px;
  flex: 0 0 260px;
  height: auto;
  display: block;
  border-radius: 8px;
  border: none;
  background: #fff;
}

@media (min-width: 768px) {
  .ecosystem-images img:nth-child(2) {
    margin-top: 28px;
  }
}

@media (max-width: 767px) {
  .ecosystem-card {
    padding: 24px 14px 18px;
  }

  .ecosystem-title {
    font-size: 0.95rem !important;
    line-height: 1.5;
    padding: 0 12px;
  }

  .ecosystem-message {
    font-size: 0.75rem;
    line-height: 1.7;
    padding: 0 12px;
  }

  .ecosystem-images {
    gap: 10px;
  }
}

.content-card ul {
  padding: 0;
  margin: 0;
  list-style: none;
}

.content-card li {
  font-size: 1rem;
  margin-bottom: 12px;
}

.company-info-card .label {
  font-weight: 400;
  color: #23406e;
  margin-right: 8px;
}

/* 横並び時のカード間gap */
@media (min-width: 768px) {
  .info-business-grid {
    display: flex;
    flex-direction: row;
    gap: 0 !important;
  }

  .content-card {
    margin-bottom: 0;
  }
}

/* スマホ時は縦並び */
@media (max-width: 767px) {
  .info-business-grid {
    display: flex;
    flex-direction: column;
    gap: 0;
  }

  .company-info-card,
  .business-info-card {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;

    .business-info-card ul li:last-child {
      margin-bottom: 32px !important;

      /* 横並び時のカード間余白を固定 */
      @media (min-width: 768px) {
        .info-business-grid {
          gap: 80px !important;
        }
      }

      /* 会社概要・事業内容カード 横並び（768px以上） */
      @media (min-width: 768px) {
        .info-business-grid {
          display: flex;
          flex-direction: row;
          gap: 80px;
        }

        .info-business-grid .content-card {
          flex: 1;
          min-width: 0;
        }
      }

      /* --- 以下、正しい位置に再配置 --- */
      .business-info-card li {
        position: relative;
        padding-left: 0;
        font-size: 11px;
        line-height: 2.0;
        font-size: 0.68rem;
      }

      .access-card address {
        font-style: normal;
        text-align: center;
        font-size: 15px;
        line-height: 1.35;
        margin-bottom: 12px !important;
      }

      .access-note {
        display: block;
        font-size: 0.65rem;
        color: #888 !important;
        margin-top: 8px;
      }

      .access-card {
        width: 100%;
        max-width: 800px;
        margin: 0 auto;
        padding-top: 24px;
      }

      .section-access__map {
        width: 800px;
        max-width: 100%;
        height: 420px;
        border: none !important;
        border-radius: 0 !important;
        display: block;
        margin: 0 auto;
      }

      .content-card h2,
      .access-card h2 {
        font-size: 0.8rem;
        margin-bottom: 28px;
        text-align: center;
      }

      .company-info-card li {
        font-size: 18px;
        gap: 10px;
        line-height: 1.6;
        margin-bottom: 14px;
        justify-content: flex-start;
        text-align: left;
      }

      .company-info-card .label {
        min-width: 80px;
      }

      .business-info-card li {
        position: relative;
        padding-left: 0;
        font-size: 0.7rem !important;
        line-height: 2.0;
        margin-bottom: 16px;
        white-space: nowrap !important;
      }

      @media (min-width: 768px) {
        .info-business-grid {
          flex-direction: row;
          gap: 80px !important;
        }

        .info-business-grid .content-card {
          flex: 1;
          min-width: 0;
        }

        /* --- ここから下は重複・誤ったネストを削除し、正しいCSS構造に修正 --- */

        .overlay-icons {
          position: relative !important;
          width: 100% !important;
          height: 100% !important;
          display: flex !important;
          flex-direction: row !important;
          align-items: center !important;
          justify-content: center !important;
          gap: 16px !important;
          z-index: 2 !important;
          pointer-events: none !important;
        }

        .overlay-icon {
          width: 250px !important;
          height: 250px !important;
          object-fit: contain !important;
          pointer-events: auto !important;
          max-width: 100% !important;
          max-height: 100% !important;
        }

        @media (max-width: 767px) {
          .overlay-icons {
            flex-direction: column !important;
            gap: 0 !important;
            justify-content: flex-start !important;
            align-items: center !important;
            height: 100%;
          }
        }



        .section-top__text-box {
          font-size: 0.8rem;
        }



        .section-top__visual-box {
          display: flex;
          justify-content: center;
          align-items: center;
          background: none;
          box-shadow: none;
          border-radius: 0;
          padding: 0;
        }

        .section-top__visual-box .image-bg-overlay-wrapper {
          width: 100%;
          display: flex;
          justify-content: center;
          align-items: center;
        }

        .section-top__text-box {
          background: none;
          box-shadow: none;
          border-radius: 0;
          padding: 0;
        }

        .section-top__inserted {
          margin-top: 0;
        }

        .section-top__visual-box {
          width: 100%;
          max-width: 700px;
          margin: 0 auto 24px auto;
        }

        .section-top__text-box {
          width: 100%;
          max-width: 700px;
          margin: 0 auto;
          text-align: center;
        }

        /* 画像重ね合わせ用スタイル */

        /* 縦並び画像リスト用スタイル */

        /* 背景画像と重ねて中央に①②③を配置 */
        .image-bg-overlay-wrapper {
          position: relative;
          width: 100%;
        }

        .section-top__image-bg {
          width: 100%;
          height: 100%;
          background-size: cover;
          background-position: center;
        }

        .overlay-icons {
          width: 100%;
          height: 100%;
          display: flex;
          flex-direction: row;
          align-items: center;
          justify-content: center;
          gap: 16px;
          z-index: 2;
          pointer-events: none;
        }

        /* 画像ボックスの高さ指定はここで一括管理 */
        /* 画像ボックスの高さと最大高さを調整可能に */
        .image-bg-overlay-wrapper {
          height: 420px !important;
          max-height: 420px !important;
          /* overflow: auto; */
        }

        @media (max-width: 767px) {
          .image-bg-overlay-wrapper {
            height: 420px !important;
            max-height: 420px !important;
            /* overflow: auto; */
          }
        }

        @media (min-width: 768px) {
          .overlay-icons {
            flex-direction: row;
          }
        }

        .overlay-icon {
          width: 250px;
          height: 250px;
          object-fit: contain;
          pointer-events: auto;
        }

        .section-top__inserted {
          position: relative;
        }

        .section-top__inserted-image--fadeout {
          animation: aboutImageFadeOut 1.6s ease 0.6s forwards;
          z-index: 2;
          position: absolute;
          inset: 0;
          width: 100%;
          height: 100%;
          object-fit: cover;
          object-position: 60% center;
          display: block;
        }

        .section-top__catch-text--crossfade {
          opacity: 0;
          animation: aboutTextFadeIn 1.6s ease 0.6s forwards;
          z-index: 3;
          width: 100%;
          height: 100%;
          display: flex;
          flex-direction: row;
          align-items: center;
          justify-content: center;
          gap: 16px;
          z-index: 2;
          pointer-events: none;
        }

        @keyframes aboutTextFadeIn {

          from {
            opacity: 0;
          }

          to {
            opacity: 1;
          }
        }

        @keyframes aboutCatchTextFadeIn {
          from {
            opacity: 0;
            transform: translateY(24px);
          }

          to {
            opacity: 1;
            transform: none;
          }
        }


        .content-card h2 {
          font-size: 16px !important;
          font-weight: 600 !important;

          @media (min-width: 900px) {

            .company-info-card h2,
            .business-info-card h2 {
              margin-top: 0;
            }

            /* 区切り線（indexと共通デザイン） */
            .section-news-divider-wrapper {
              max-width: 800px;
              margin: 0 auto 0 auto;
              width: 100%;
              box-sizing: border-box;
              padding-left: 8px;
              padding-right: 8px;
              padding-bottom: 0;
              margin-bottom: 0;
            }

            .section-news-divider {
              border: none;
              border-top: 1.5px solid #111;
              margin: 0 0 10px 0;
              width: 100%;
            }

            /* 会社概要・事業内容カードの背景を強制透明化 */
            .content-card.company-info-card {
              background: transparent !important;
            }

            .content-card.business-info-card {
              background: transparent !important;
            }


            html.about-page,
            body.about-page {
              background-color: #ffffff !important;
              background-image: url('data:image/svg+xml;utf8,<svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="0" y="0" width="8" height="8" fill="%23ffffff"/><rect x="0" y="0" width="8" height="1" fill="%23f5f5f5"/><rect x="0" y="2" width="8" height="1" fill="%23f5f5f5"/><rect x="0" y="4" width="8" height="1" fill="%23f5f5f5"/><rect x="0" y="6" width="8" height="1" fill="%23f5f5f5"/><rect x="0" y="0" width="1" height="8" fill="%23f5f5f5"/><rect x="2" y="0" width="1" height="8" fill="%23f5f5f5"/><rect x="4" y="0" width="1" height="8" fill="%23f5f5f5"/><rect x="6" y="0" width="1" height="8" fill="%23f5f5f5"/></svg>') !important;
              background-size: 8px 8px !important;
              color: #3a3a3a !important;
            }

            .about-page main {
              background: transparent !important;
            }
          }

          .main {
            max-width: 980px;
            margin: 100px auto 0;
            padding: 0 12px 0;
            background: transparent !important;
          }

          .section-top {
            padding-top: 0;
          }

          @media (max-width: 767px) {
            .section-top {
              padding-top: 0 !important;
            }

          }

          .section-top__inserted {
            width: 100%;
            max-width: 800px;
            margin: 0 auto;
            margin-top: 0;
            position: relative;
            overflow: hidden;
          }

          .section-top__inserted-image {
            width: 100%;
            height: auto;
            display: block;
            object-fit: cover;
            object-position: 60% center;
            transform: scale(1.03);
            transform-origin: center center;
          }

          .section-top__inserted-image:not(.section-top__inserted-image--next) {
            filter: saturate(1.08) contrast(1.08);
          }


          .section-top__catch-text {
            text-align: center;
            margin-top: 32px;
            font-size: 1rem;
            color: #23406e;
            line-height: 1.7;
            font-weight: 500;
            opacity: 0;
            position: absolute;
            left: 0;
            right: 0;
            top: 50%;
            transform: translateY(-50%);
            z-index: 2;
            width: 100%;
            pointer-events: none;
          }

          .section-top__patent-label {
            position: absolute;
            top: 48px;
            left: 40px;
            margin: 0;
            padding: 8px 14px;
            background: #b85c5c;
            color: #fff;
            font-size: 0.75rem;
            font-weight: 700;
            line-height: 1;
            letter-spacing: 0.04em;
            border-radius: 4px;
            z-index: 3;
            opacity: 0;
            text-decoration: none;
            animation: aboutPatentLabelIn 0.8s ease 0.8s forwards;
          }

          @keyframes aboutCrossfadeTo1p {
            from {
              opacity: 0;
            }

            to {
              opacity: 0.88;
            }
          }

          @keyframes aboutPatentLabelIn {
            from {
              opacity: 0;
              transform: translateY(-4px);
            }

            to {
              opacity: 1;
              transform: translateY(0);
            }
          }

          @media (min-width: 900px) {
            .section-top__inserted {
              width: 800px;
              height: 568px;
              max-width: none;
            }

            .section-top__inserted-image {
              width: 800px;
              height: 568px;
              object-fit: cover;
              object-position: 60% center;
            }

            .section-top__inserted-image--next {
              object-position: left center;
              transform-origin: left center;
            }
          }

          .section-information {
            margin-top: 32px;
            background-color: transparent !important;
          }


          .section-access {
            margin-bottom: 0;
            background-color: transparent !important;
          }

          .section-access {
            display: block;
            padding-bottom: 0 !important;
            margin-top: 0 !important;
            margin-bottom: 0 !important;
          }

          .content-card.access-card {
            margin-bottom: 0 !important;
            padding-bottom: 0 !important;
          }

          .section-access__map {
            margin-bottom: 0 !important;
          }

          .main {
            padding-bottom: 0 !important;
          }

          .info-business-grid {
            display: flex;
            flex-direction: column;
            gap: 48px !important;
          }

          @media (min-width: 768px) {
            .info-business-grid {
              flex-direction: row;
              gap: 80px !important;
            }

            .info-business-grid .content-card {
              flex: 1;
              min-width: 0;
            }
          }

          .info-business-grid .content-card {
            width: 100%;
          }

          .content-card {
            background: transparent !important;
            color: #fff;
            padding: 0;
          }

          /* h2サイズの上書きを削除し、全画面で統一 */

          /* .company-info-card h2, .business-info-card h2 {  空ルールセット削除 } */

          .business-info-card ul,
          .business-info-card li {
            text-align: left;
          }


          .company-info-card .label {
            min-width: 80px;
            color: #ffd580;
            font-weight: 400;

            /* ファイル末尾の閉じカッコ追加 */
          }

          letter-spacing: 1px;
        }

        .business-info-card li {
          position: relative;
          padding-left: 0;
          font-size: 0.7rem;
          line-height: 2.0;
          margin-bottom: 16px;
          white-space: nowrap;
        }

        .access-card address {
          font-style: normal;
          text-align: center;
          font-size: 15px;
          line-height: 1.6;
          margin-bottom: 24px;
        }

        .access-card {
          width: 100%;
          max-width: 800px;
          margin: 0 auto;
          padding-top: 48px;
        }

        .section-access__map {
          width: 800px;
          max-width: 100%;
          height: 420px;
          border: 2px solid #ddd;
          border-radius: 8px;
          display: block;
          margin: 0 auto;
        }


        .content-card h2 {
          font-size: 22px;
          margin-bottom: 28px;
          text-align: left;
        }

        .access-card h2 {
          text-align: center;
          margin-top: 0;
        }

        .company-info-card li {
          font-size: 18px;
          gap: 10px;
          line-height: 1.6;
          margin-bottom: 14px;
        }

        .company-info-card .label {
          min-width: 80px;
        }

        .business-info-card li {
          font-size: 12px;
          line-height: 2.0;
          padding-left: 0;
          margin-bottom: 16px;
        }

      }


      /* ↓ セレクターのないプロパティ群を削除（構文エラー修正） */

      .company-info-card li {
        justify-content: flex-start;
        text-align: left;
      }

      .company-info-card .label {
        min-width: 80px;
      }

      .business-info-card,
      .business-info-card ul,
      .business-info-card li {
        text-align: center;
      }

      .business-info-card ul {
        display: inline-block;
        text-align: left;
      }

      .business-info-card li {
        text-align: left;
      }



      @media (min-width: 700px) {
        .main {
          max-width: 1208px;
        }

        .info-business-grid {
          flex-direction: row;
          align-items: flex-start;
          gap: 0 !important;
        }

        .info-business-grid .content-card {
          flex: 1;
          min-width: 0;
        }

        .info-business-grid .content-card h2 {
          text-align: center;
        }

        .info-business-grid .content-card {
          text-align: center;
        }

        .company-info-card ul,
        .business-info-card ul {
          display: inline-block;
          text-align: left;
        }
      }



      /* about: トップセクション背景のみ白 */
      .section-top,
      .section-top__inserted,
      .section-top__visual-box,
      .section-top .image-bg-overlay-wrapper {
        background-color: #fff !important;
      }

      /* about: ADDRESSセクション背景を白にする */
      .section-access,
      .section-access .access-card {
        background-color: #fff !important;
      }

      /* about: ADDRESSセクションの左右余白も白にする */
      .section-access {
        position: relative;
        z-index: 0;
      }

      .section-access::before {
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
        left: 50%;
        width: 100vw;
        transform: translateX(-50%);
        background-color: #fff;
        z-index: -1;
      }

      /* トップ直下の余白は白背景内に含める */
      .section-top {
        margin-bottom: 0 !important;
        padding-bottom: 48px;
      }

      .section-information.info-business-section {
        margin-top: 0 !important;
      }

      /* about: トップセクションの左右余白も白にする */
      .section-top {
        position: relative;
        z-index: 0;
      }

      .section-top::before {
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
        left: 50%;
        width: 100vw;
        transform: translateX(-50%);
        background-color: #fff;
        z-index: -1;
      }

      /* about: セカンドセクションのカード間に白い余白を作る */
      .section-information.info-business-section {
        background-color: transparent !important;
        padding: 0;
      }

      /* ADDRESS直上: 余白を残したまま白化（margin→paddingへ移管） */
      .section-information.info-business-section {
        margin-bottom: 0 !important;
      }

      .section-access {
        padding-top: 48px;
      }

      .info-business-grid {
        gap: 20px !important;
      }

      @media (min-width: 768px) {
        .info-business-grid {
          gap: 24px !important;
        }
      }

      /* ADDRESS直下〜フッター手前の余白も白にする */
      .section-access {
        margin-bottom: 0 !important;
        padding-bottom: 48px;
      }

      .main {
        margin-bottom: 0 !important;
      }

      .company-info-card h2,
      .business-info-card h2,
      .access-card h2 {
        font-size: 16px !important;
        font-weight: 600 !important;
        line-height: 1.2;
      }