@charset "utf-8";

video {
    width: 100%;
    max-width: 1920px; /* 動画の最大幅 */
  }
  
  .video{
      display:flex;
      align-items:stretch;
      overflow:hidden
  }
  
  .banner-container {
      display: grid;
      grid-template-columns: 1fr 1fr;
      column-gap: 20px;
      grid-auto-rows: 250px;
      max-width: 1200px;
      margin: 50px auto;
    }
    
    .section {
      padding: 15px;
      position: relative;
      color: white;
      font-size: 2rem;
      align-content: flex-end;
      text-align: start;
    }
    
    .about {
      background: url('./images/btn01.jpg') center/cover no-repeat;
    }
    
    .map {
      background: url('./images/btn02.jpg') center/cover no-repeat;
    }
    
    h1 {
      font-size: 4vw;
      font-weight: bold;
      margin: 0;
    }
    
    p {
      font-size: 1vw;
      margin: 10px 0 0 0px;
      padding: 10px 20px;
      border: 2px solid white;
      display: inline-block;
    }
  
    .news{
      margin: 50px auto;
      max-width: 1200px;
      overflow: hidden;
    }
  
    .news h2{
      font-size: 4vw;
      font-weight: bold;
      margin: 0 0 50px 0;
    }
    
    .news-container{
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 60px;
    }
  
    .news-image{
      width: 100%;
      padding: 0;
      padding-top: 0px;
      padding-top: 60%;
      position: relative;
    }
    
    .news-image img {
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      object-fit: cover;
    }
    
    .news-date {
      font-size: 12px;
      color: #888;
      margin: 10px 0px;
    }
  
    .news-title{
      font-size: 16px;
      margin: 10px 0px;
      font-weight: bold;
      color:#262626;
    }
    .news-content{
      font-size: 12px;
      margin: 10px 0px;
      color: #7a7a7a;
    }
  
    .more-button {
      margin-top: 20px;
      float:right;
    }
    
    .more-button a {
      display: block;
      background: none;
      border: 2px solid #262626;
      padding: 10px 20px;
      font-size: 1rem;
      cursor: pointer;
      transition: background 0.3s ease;
    }
    
    .more-button a:hover {
      background: black;
      color: white;
    }

    a:link {
      color: #000000;
      text-decoration: none;
    }
    a:visited {
      color: #000000;
      text-decoration: none;
    }
    a:active {
      color: #e20000;
      text-decoration: none;
    }
  
      /* --- レスポンシブ対応 --- */
  @media (max-width: 1200px) {
    .banner-container {
      width: 90%;
      height: auto;
    }
  }
  
  @media (max-width: 768px) {
    .banner-container {
      grid-template-columns: 1fr;
      grid-template-rows: auto auto;
      gap:20px 0;
    }
  }
  
  @media (max-width: 480px) {
    h1 {
      font-size: 2rem;
    }
    p {
      font-size: 1.2rem;
      padding: 8px 16px;
    }

    video{
      width:100%;
      height:100%;
      object-fit: cover;
      aspect-ratio: 9 / 16
    }
    .section {
      height: auto; /* 高さを自動調整 */
      padding: 20px;
    }
    .news{
      margin: 50px auto;
      padding: 0px 5%;
      max-width: 1200px;
      overflow: hidden;
    }
    .news h2{
      font-size: 4vw;
      font-weight: bold;
      margin: 0 0 20px 0;
    }
    .news-container{
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 20px;
    }
  }