    /* 全体カード容器：左右を完全な50%（1fr 1fr）で2等分 */
    .card-container {
      background: #fff;
      border: 1px solid #ccc;
      max-width: 1400px;
      width: 100%;
      padding: 30px;
      display: grid;
      grid-template-columns: 1fr 1fr; /* 左右ピッタリ半分ずつ */
    }

    /* --- 左半分のエリア (ロゴ + テキスト) --- */
    .left-half {
      display: flex;
      gap: 25px;
      padding-right: 25px;
      /* カード全体の真ん中にセパレーター線を配置 */
      border-right: 1px solid #ccc; 
    }

    /* ロゴエリア */
    .logo-section {
      width: 220px;
      flex-shrink: 0;
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .logo-img {
      width: 100%;
      height: auto;
    }

    /* 中央エリア: テキストコンテンツ */
    .content-section {
      flex: 1;
      display: flex;
      flex-direction: column;
    }

    /* タイトルとSNSアイコンの行（垂直方向中央揃え） */
    .header-row {
      display: flex;
      align-items: center; /* 垂直方向中央 */
      gap: 15px;
      margin-bottom: 20px;
      line-height: 1; /* 高さを揃えやすくするため設定 */
    }

    /* company-title（14pt） */
    .company-title {
      font-size: 14pt;
      font-weight: bold;
      color: #111;
      margin: 0;
      line-height: 1;
    }

    /* アイコン（垂直位置を調整） */
    .social-links {
      display: flex;
      align-items: center;
      gap: 12px;
      font-size: 1.6rem;
      color: #555;
      line-height: 1;
    }

    .social-links a {
      color: inherit;
      text-decoration: none;
      display: flex;
      align-items: center;
      transition: color 0.2s;
    }

    .social-links a:hover {
      color: #000;
    }

    /* description（10pt） */
    .description {
      font-size: 10pt;
      line-height: 1.7;
      color: #444;
    }

    .description p {
      margin-bottom: 14px;
    }

    /* --- 右半分のエリア (ギャラリー & チラシ画像) --- */
    .right-half {
      padding-left: 25px;
      display: flex;
      flex-direction: column;
      gap: 15px;
    }

    /* 上部 3枚画像グリッド (正方形で縮小) */
    .top-photos {
      display: grid;
      grid-template-columns: repeat(3, 180px);
      gap: 8px;
    }

    .top-photos img {
      width: 180px;
      height: 180px;
      object-fit: cover;
      border-radius: 2px;
    }

    /* 下部 画像（大きめ＆左寄せ・ホバーで拡大できる旨を表示） */
    .expandable-image-wrapper {
      border: none;
      padding: 0;
      cursor: pointer;
      position: relative;
      overflow: hidden;
      max-width: 320px;
      margin: 0; /* 左寄せ */
      border-radius: 4px;
    }

    .expandable-image-wrapper img {
      width: 100%;
      display: block;
      height: auto;
      transition: transform 0.3s ease;
    }

    /* クリックで拡大表示できることを伝えるオーバーレイ */
    .image-overlay {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: rgba(0, 0, 0, 0.4);
      color: #fff;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 6px;
      font-size: 0.85rem;
      font-weight: bold;
      opacity: 0;
      transition: opacity 0.2s ease;
    }

    .image-overlay i {
      font-size: 1.4rem;
    }

    .expandable-image-wrapper:hover .image-overlay {
      opacity: 1;
    }

    .expandable-image-wrapper:hover img {
      transform: scale(1.03);
    }

    .contact img {
      width: 100px;
      height: auto;
    }

    .image-container{
      display: flex;          /* 要素を横並びにする */
      gap: 10px;   
    } 

    .image-container img {
      width: 150px;
      /*max-width: 100%;*/    /* レスポンシブ対応（画面幅に合わせる） */
      height: auto;           /* 比率を維持して高さを自動調整 */
    }


    .photo-link-image:hover{
        transform: translateY(-5px);
        box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
    }


    /* --- モーダル (拡大表示用) --- */
    .modal {
      display: none;
      position: fixed;
      z-index: 1000;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: rgba(0, 0, 0, 0.8);
      justify-content: center;
      align-items: center;
    }

    .modal-content {
      max-width: 80%;
      max-height: 80%;
      border-radius: 4px;
      box-shadow: 0 5px 25px rgba(0,0,0,0.5);
    }

    .close-btn {
      position: absolute;
      top: 20px;
      right: 35px;
      color: #fff;
      font-size: 40px;
      font-weight: bold;
      cursor: pointer;
      user-select: none;
    }

    .close-btn:hover {
      color: #bbb;
    }

    /* レスポンシブ調整 */
    /*タブレット*/
    @media screen and (max-width: 1023px) {
      .card-container {
        grid-template-columns: 1fr;
      }
      .top-photos {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 8px;
      }
       .left-half {
        flex-direction: column;
        border-right: none;
        padding-right: 0;
        padding-bottom: 20px;
        border-bottom: 1px solid #ccc;
      }
     
    }

    /*スマートフォン*/
    @media screen and  (max-width: 767px) {
      .card-container {
        grid-template-columns: 1fr;
      }
      .left-half {
        flex-direction: column;
        border-right: none;
        padding-right: 0;
        padding-bottom: 20px;
        border-bottom: 1px solid #ccc;
      }
      .logo-section {
        width: 100%;
      }
      .right-half {
        padding-left: 0;
        padding-top: 20px;
      }
      .content-section {
        width: 100%;  
      }
      .top-photos {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 8px;
      }
    }


