@charset "utf-8";
/* CSS Document */


/* =========================

Last Update 2026.05.01

========================= */

    body {
      font-family: 'Noto Sans JP', sans-serif;
      background-color: #f9f9f9;
      color: #333;
      margin: 0;
      padding: 20px;
    }
    h1 {
      text-align: center;
      color: #2c3e50;
      margin-bottom: 30px;
    }
    .column {
      display: flex;
      flex-direction: column;
      gap: 20px;
      max-width: 800px;
      margin: 0 auto;
    }

    .box-container {
      display: flex;
      flex-wrap: wrap;
      gap: 20px;
      justify-content: center;
    }

    .box {
      background: hsl(0, 0%, 100%);
      border-radius: 12px;
      box-shadow: 0 4px 12px #05708881;
      padding: 20px;
      box-sizing: border-box;

    }
    
    h2 {
      background-color: #007092;
      color: #ffffff;
      padding: 12px 400px;
      font-size: 22px;
      margin: 20px 0;
    }

    h3 {
	    background-color: #DAE7ED;
	    border: 1px solid #97C8DD;
	    color: #000;
	    font-size: 1.2em;
	    margin: 0 0 8px 0;
	    padding: 3px;
    }   

    h4 {
      color: rgb(10, 10, 10);
      border-radius: 12px;
      font-size: 20px;
    }

    h5 {
      color: rgb(255, 255, 255);
      padding: 16px 24px;
      border-radius: 12px;
      border-radius: 12px;
      font-size: 45px;
      text-shadow: 2px 2px 5px rgba(0,0,0,0.7);
    }

    .box h5 {
      font-size: 1.2em;
      color: #249eac;
      border-bottom: 1px solid #ddd;
      padding-bottom: 5px;
      margin-bottom: 10px;
    }
    .btn {
      display: inline-block;
      margin-top: 15px;
      padding: 8px 16px;
      background-color: #0078D4;
      color: white;
      text-decoration: none;
      border-radius: 5px;
      font-size: 14px;
    }

    .popup {
      position: fixed;
      top: 0; left: 0;
      width: 100%; height: 100%;
      background-color: rgba(0,0,0,0.6);
      display: flex;
      justify-content: center;
      align-items: center;
      opacity: 0;
      visibility: hidden;
      transition: opacity 0.5s ease;
      z-index: 1000;
    }
    .popup.active {
      opacity: 1;
      visibility: visible;
    }
    .popup-content {
      background-color: white;
      padding: 30px;
      border-radius: 10px;
      max-width: 600px;
      width: 90%;
      position: relative;
      box-shadow: 0 4px 12px rgba(0,0,0,0.3);
    }
    .close-btn {
      position: absolute;
      top: 10px;
      right: 15px;
      font-size: 24px;
      cursor: pointer;
    }
    .gallery img {
      width: 250px;
      cursor: pointer;
      border-radius: 8px;
      box-shadow: 0 2px 6px rgba(0,0,0,0.2);
      transition: transform 0.3s;
    }
    .gallery img:hover {
      transform: scale(1.05);
    }

    .modal {
      display: none;
      position: fixed;
      z-index: 9999;
      left: 0; top: 0;
      width: 100%; height: 100%;
      background-color: rgba(0,0,0,0.7);
      overflow: auto;
    }
    .modal-content {
      background-color: #fff;
      margin: 10% auto;
      padding: 20px;
      width: 80%;
      max-width: 600px;
      border-radius: 8px;
    }
    .close {
      float: right;
      font-size: 28px;
      cursor: pointer;
    }   

    .hero {
        background: linear-gradient(rgba(0,0,0,0.4), rgba(0,0,0,0.4)), url(../images/kengaku_top.png) no-repeat center center/cover;
        height: 400px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        text-align: center;
        color: #fff;
    }

    .hero h1 {
        font-size: 3rem;
        margin-bottom: 0;
        text-shadow: 2px 2px 10px rgba(0,0,0,0.7);
    }

    .sub-text {
        font-size: 1.5rem;
        color: #ffffff; 
        font-weight: bold;
        text-shadow: 2px 2px 5px #11c7ff
    }

    .info-bar {
        background: #002d5a; 
        color: white;
        text-align: center;
        padding: 20px;
        font-size: 1.2rem;
        font-weight: bold;
    }

    .voices {
        background: #cceaeb;
        padding: 30px 10px;
        text-align: center;
    }

    .section-title {
        font-size: 2rem;
        margin-bottom: 40px;
        position: relative;
        display: inline-block;
    }

    .voice-container {
        display: flex;
        justify-content: center;
        gap: 20px;
        max-width: 1200px;
        margin: 0 auto;
        flex-wrap: wrap;
    }

    .voice-card {
        background: white;
        border-radius: 15px;
        padding: 25px;
        flex: 1;
        min-width: 300px;
        box-shadow: 0 4px 15px rgba(0,0,0,0.1);
        text-align: left;
        position: relative;
    }

    .voice-card h4 {
        color: #113f5e;
        margin-top: 0;
        border-bottom: 2px solid #e1e8ed;
        padding-bottom: 8px;
    }
    
    .flowing {
        background: #fff9e1;
        padding: 30px 10px;                          
        text-align: center;
    }                               

    .section-title {
        font-size: 2rem;
        margin-bottom: 40px;
        text-align: left;
        position: relative;
        display: inline-block;
    }                                

    .flowing-container {
        display: flex;
        justify-content: center;
        gap: 20px;
        max-width: 1200px;
        margin: 0 auto;
        flex-wrap: wrap;
    }

    .flowing-card {
        background: white;
        border-radius: 15px;
        padding: 25px;
        flex: 1;
        min-width: 300px;
        box-shadow: 0 4px 15px rgba(0,0,0,0.1);
        text-align: left;
        position: relative;
    }

    .flowing-card h4 {
        color: #974d3c;
        margin-top: 0;
        border-bottom: 2px solid #e1e8ed;
        padding-bottom: 10px;
    }

    .flow-arrow { /* ▼の設定 */
        text-align: center;
        color: #da8230;
        font-size: 50px;
        margin: 40px 0; 
        position: relative;
        z-index: 1;
    }    

    .EventGuide {
      background: #d9eeda;
      padding: 30px 10px;
      text-align: center;
    }

    .section-title {
      font-size: 2rem;
      margin-bottom: 40px;
      text-align: left;
      position: relative;
      display: inline-block;
    }

    .EventGuide-container {
      display: flex;
      justify-content: center;
      gap: 20px;
      max-width: 1200px;
      margin: 0 auto;
      flex-wrap: wrap;
    }

    .EventGuide-card { /* 流れ枠の設定 */
      background: white;
      border-radius: 15px;
      padding: 25px;
      flex: 1;
      min-width: 700px;
      box-shadow: 0 4px 15px rgba(0,0,0,0.1);
      text-align: left;
      position: relative;
    }

    .EventGuide-card h4 {
      color: #1d5c44;
      margin-top: 0;
      border-bottom: 2px solid #e1e8ed;
      padding-bottom: 10px;
    }

    .modal {
      display: none;
      position: fixed;
      z-index: 1000;
      left: 0;
      top: 0;
      width: 100%;
      height: 100%;
      background-color: rgba(0,0,0,0.5);
    }

    .modal-content {
      background-color: #fff;
      margin: 10% auto;
      padding: 20px;
      width: 80%;
      max-width: 600px;
      border-radius: 8px;
    }

    .close {
      float: right;
      font-size: 28px;
      cursor: pointer;
    }
    </style>