/* 読み込みinstagram */
.insta-carousel {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    gap: 20px;
    padding: 20px 0;
    }

    .insta-slide {
    flex: 0 0 75%;
    max-width: 400px;
    scroll-snap-align: start;
    background: #f9f9f9;
    border-radius: 8px;
    padding: 10px;
    box-sizing: border-box;
    }

    .insta-img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 6px;
    }

    .caption {
    font-size: 14px;
    margin-top: 10px;
    line-height: 1.4;
    }

    .insta-slide a {
    display: inline-block;
    margin-top: 8px;
    font-size: 13px;
    color: #0077cc;
    text-decoration: underline;
    }


/* セクション全体をフルサイズに、Flexで中央寄せ */
#video-section {
    position: relative;
    height: 100vh;
    width: 100%;
    overflow: hidden;
  }
  
  /* 背景動画 */
  .bg-video {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    transform: translate(-50%, -50%);
    object-fit: cover;
    z-index: -1;
  }
  
  /* ロゴをFlexで上下左右中央寄せ */
  .logo-overlay {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  
  .logo-overlay h1 {
    margin: 0;
  }
  
  .logo-overlay img.main {
    max-width: 60%;
    height: auto;
  }
  
  /* スマホで少し大きく表示 */
  @media screen and (max-width: 768px) {
    .logo-overlay img.main {
      max-width: 80%;
    }
  }
  
  /* 次のセクションの仮スタイル（必要に応じて変更） */
  .section {
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .center-line {
    display: block;
    border: none;
    height: 2px;
    width: 10%;
    background-color: #333;
    margin: 20px auto;
    padding: 20px auto;
  }

  .dashed-line {
    border: none;                         /* デフォルトのhrの線を消す */
    border-top: 2px dashed #333;         /* 上側に2pxの破線をつける */
    width: 10%;                          /* 横幅10% */
    margin: 2rem auto;                   /* 上下に余白＋中央寄せ */
    display: block;                      /* 念のため明示 */
  }

  
  .title-line {
    display: flex;
    align-items: center;
    text-align: center;
    margin: 2rem auto;
    width: 80%; /* 適宜調整 */
    color: #333;
  }
  
  .title-line::before,
  .title-line::after {
    content: '';
    flex: 1;
    border-top: 2px dashed #333;
  }
  
  .title-line span {
    margin: 0 1rem;
    white-space: nowrap;
  }