    * {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
    }
    body {
      font-family: 'Helvetica Neue', Arial, 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', Meiryo, sans-serif;
      line-height: 1.6;
      color: #333;
      background-color: #f7faf9;
    }
    /* 指定色 #0a9776 をベースに統一 */ :root {
      --brand-color: #0a9776;
      --light-bg: #e6f5f1;
      --accent-gold: #e6a100;
    }

a:hover {
  color: #fff!important;
}



      .performer-info p {
        margin-bottom: 0;
      }
        
         .feature-card p {
         margin-bottom: 0;
  }



    .hero {
      background: linear-gradient(rgba(10, 151, 118, 0.85), rgba(5, 75, 59, 0.95));
      color: #fff;
      text-align: center;
      padding: 120px 20px;
    }
    .hero-badge {
      background-color: #fff;
      color: var(--brand-color);
      padding: 8px 20px;
      font-weight: bold;
      border-radius: 50px;
      display: inline-block;
      margin-bottom: 20px;
      font-size: 1.1rem;
      box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    }
    .hero h1 {
      font-size: 3.8rem;
      font-weight: 900;
      margin-bottom: 15px;
      letter-spacing: 3px;
      color: #fff;
    }
    .hero-sub {
      font-size: 1.8rem;
      color: #fff;
      font-weight: normal;
      margin-bottom: 35px;
      opacity: 0.95;
    }
    .hero-date {
      font-size: 1.4rem;
      background: rgba(255, 255, 255, 0.2);
      display: inline-block;
      padding: 12px 30px;
      border-radius: 50px;
      border: 1px solid rgba(255, 255, 255, 0.4);
      font-weight: bold;
    }
    .container {
      /*max-width: 1050px;*/
      margin: 0 auto;
      padding: 40px 0px;
    }
    .section-title {
      text-align: center;
      font-size: 2.2rem;
      color: var(--brand-color);
      margin-bottom: 45px;
      position: relative;
      padding-bottom: 12px;
      font-weight: bold;
    }
    .section-title::after {
      content: '';
      width: 50px;
      height: 4px;
      background-color: var(--brand-color);
      position: absolute;
      bottom: 0;
      left: 50%;
      transform: translateX(-50%);
      border-radius: 2px;
    }
    .intro-box {
      background-color: #fff;
      border-radius: 8px;
      padding: 45px;
      box-shadow: 0 4px 20px rgba(10, 151, 118, 0.08);
      text-align: center;
      margin-bottom: 60px;
      border-top: 6px solid var(--brand-color);
      border-left: 1px solid #e1ede9;
      border-right: 1px solid #e1ede9;
      border-bottom: 1px solid #e1ede9;
    }
    .intro-box p {
      font-size: 1.2rem;
      margin-bottom: 22px;
      color: #333;
    }
    .highlight-text {
      color: var(--brand-color);
      font-weight: bold;
      font-size: 1.35rem;
      border-bottom: 2px solid var(--brand-color);
      padding-bottom: 2px;
    }
    /* 魅力の項目スタイル修正 */
    .features {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
      gap: 30px;
      margin-bottom: 60px;
    }
    .feature-card {
      background-color: #fff;
      border-radius: 8px;
      box-shadow: 0 4px 15px rgba(10, 151, 118, 0.05);
      border: 1px solid #e1ede9;
      transition: transform 0.3s;
      overflow: hidden;
    }
    .feature-card:hover {
      transform: translateY(-5px);
    }
    .feature-img-field {
      width: 100%;
      height: auto;
      background-color: #e2edea;
      display: flex;
      align-items: center;
      justify-content: center;
      color: var(--brand-color);
      font-weight: bold;
      font-size: 0.95rem;
      border-bottom: 1px solid #e1ede9;
    }
    .feature-img-field img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
    .feature-body {
      padding: 25px 20px;
      text-align: center;
    }
    .feature-card h3 {
      font-size: 1.3rem;
      color: var(--brand-color);
      margin-bottom: 12px;
      font-weight: bold;
    }
    .feature-card p {
      font-size: 0.95rem;
      color: #555;
    }
    /* 出演者紹介スタイル修正 */
    .performers {
      margin-bottom: 60px;
    }
    .performer-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(450px, 1fr));
      gap: 30px;
    }
    @media (max-width: 600px) {
      .performer-grid {
        grid-template-columns: 1fr;
      }
    }
    .performer-card {
      background-color: #fff;
      border-radius: 8px;
      box-shadow: 0 4px 15px rgba(10, 151, 118, 0.05);
      border-left: 5px solid var(--brand-color);
      border-top: 1px solid #e1ede9;
      border-right: 1px solid #e1ede9;
      border-bottom: 1px solid #e1ede9;
      display: flex;
      overflow: hidden;
    }
    @media (max-width: 500px) {
      .performer-card {
        flex-direction: column;
      }
    }
    .performer-img-field {
      width: 150px;
      min-width: 150px;
      width: 250px;
      min-width: 250px;
      background-color: #e2edea;
      display: flex;
      align-items: center;
      justify-content: center;
      color: var(--brand-color);
      font-weight: bold;
      font-size: 0.9rem;
      text-align: center;
      padding: 10px;
      border-right: 1px solid #e1ede9;
    }
    @media (max-width: 500px) {
      .performer-img-field {
        width: 100%;
        height: 300px;
        border-right: none;
        border-bottom: 1px solid #e1ede9;
      }
    }
    .performer-img-field img {
      width: 100%;
      /*height: 100%;
            object-fit: cover;*/
      height: auto;
    }
    .performer-info {
      padding: 25px;
      flex-grow: 1;
    }
    .performer-info h3 {
      font-size: 16px;
      color: var(--brand-color);
      margin-bottom: 6px;
      font-weight: bold;
    }
    .performer-tag {
      font-size: 0.85rem;
      color: #fff;
      background-color: var(--brand-color);
      padding: 3px 10px;
      border-radius: 3px;
      font-weight: bold;
      margin-bottom: 12px;
      display: inline-block;
    }
    .performer-info p {
     font-size: 14px;
      color: #555;
      text-align: justify;
      line-height: 1.6;
    }
    .timeline-section {
      background-color: var(--brand-color);
      color: #fff;
      padding: 60px 40px;
      border-radius: 8px;
      margin-bottom: 60px;
      box-shadow: 0 6px 25px rgba(10, 151, 118, 0.2);
    }
    .timeline-section .section-title {
      color: #fff;
    }
    .timeline-section .section-title::after {
      background-color: #fff;
    }
    .timeline {
      max-width: 650px;
      margin: 0 auto;
      position: relative;
      padding-left: 35px;
      border-left: 2px solid rgba(255, 255, 255, 0.3);
    }
    .timeline-item {
      position: relative;
      margin-bottom: 28px;
      font-size: 1.1rem;
    }
    .timeline-item::before {
      content: '';
      width: 14px;
      height: 14px;
      background-color: #ffbe27;
      border-radius: 50%;
      position: absolute;
      left: -43px;
      top: 6px;
      box-shadow: 0 0 8px #ffbe27;
    }
    .timeline-time {
      font-weight: bold;
      color: #ffbe27;
      display: inline-block;
      width: 90px;
    }
    .timeline-event {
      display: inline-block;
      vertical-align: top;
    }
    .price-box {
      background-color: #fff;
      border: 2px solid var(--brand-color);
      border-radius: 8px;
      padding: 50px 40px;
      text-align: center;
      /*margin-bottom: 60px;*/
      box-shadow: 0 6px 20px rgba(10, 151, 118, 0.08);
    }
    .early-bird {
      background-color: var(--brand-color);
      color: #fff;
      padding: 12px 30px;
      font-size: 24px;
      font-weight: bold;
      border-radius: 50px;
      display: inline-block;
      margin-bottom: 30px;
    }
    .price-list {
      margin-bottom: 30px;
      font-size: 1.25rem;
      color: #333;
    }
    .price-item {
      margin: 15px 0;
    }
    .price-item span {
      font-size: 2.2rem;
      font-weight: bold;
      color: #222;
    }
    .price-item .discount-price {
      color: var(--brand-color);
      font-size: 2.4rem;
    }
    .price-subtext {
      font-size: 0.95rem;
      color: var(--brand-color);
      background-color: var(--light-bg);
      display: inline-block;
      padding: 8px 20px;
      border-radius: 4px;
      font-weight: bold;
    }
    .btn-entry {
      display: inline-block;
      background-color: var(--brand-color);
      color: #fff;
      padding: 20px 60px;
      font-size: 24px;
      font-weight: bold;
      border-radius: 50px;
      text-decoration: none;
      box-shadow: 0 5px 15px rgba(10, 151, 118, 0.3);
      transition: all 0.3s;
      margin-top: 30px;
    }
    .btn-entry:hover {
      opacity: 0.9;
      transform: translateY(-2px);
      box-shadow: 0 8px 20px rgba(10, 151, 118, 0.4);
    }
    footer {
      background-color: #054d3b;
      color: #b2ded4;
      padding: 50px 20px;
      text-align: center;
      font-size: 0.95rem;
      border-top: 4px solid var(--brand-color);
    }
    footer h4 {
      color: #fff;
      margin-bottom: 15px;
      font-size: 1.25rem;
      letter-spacing: 1px;
    }
    footer p {
      margin-bottom: 6px;
    }


        br.spbr{
            display: none;
        }


    /* Style for TabletPCs Large models */
    @media screen and (min-width: 481px) and (max-width: 768px) {
      .section-title {
        text-align: center;
        font-size: 26px;
        color: var(--brand-color);
        margin-bottom: 45px;
        position: relative;
        padding-bottom: 12px;
        font-weight: bold;
      }
      .intro-box p {
        font-size: 18px;
        margin-bottom: 22px;
        color: #333;
      }
      .highlight-text {
        color: var(--brand-color);
        font-weight: bold;
        font-size: 20px;
        border-bottom: 2px solid var(--brand-color);
        padding-bottom: 2px;
      }
      .performer-img-field {
        width: 100%;
        height: 350px;
        border-right: none;
        border-bottom: 1px solid #e1ede9;
      }
        
.performer-info h3 {
        font-size: 16px;
  color: var(--brand-color);
  margin-bottom: 6px;
  font-weight: bold;
}
.performer-info p {
        font-size: 14px;
  color: #555;
  text-align: justify;
  line-height: 1.6;
}  
        
      .early-bird {
        background-color: var(--brand-color);
        color: #fff;
        padding: 12px 30px;
        font-size: 24px;
        font-weight: bold;
        border-radius: 50px;
        display: inline-block;
        margin-bottom: 30px;
      }
      .price-item {
        font-size: 16px;
      }
      .timeline-event {
        width: 100%;
      }
        
        

      .btn-entry {
        display: inline-block;
        background-color: var(--brand-color);
        color: #fff;
        padding: 20px 60px;
           font-size: 24px;
        font-weight: bold;
        border-radius: 50px;
        text-decoration: none;
        box-shadow: 0 5px 15px rgba(10, 151, 118, 0.3);
        transition: all 0.3s;
        margin-top: 30px;
      }  
        
        
                
        br.spbr{
            display: none;
        }
        
        
    }
    /* Style for Smartphonea */
    @media screen and (max-width: 480px) {
      .container {
        max-width: 1050px;
        margin: 0 auto;
        padding: 0px 0px 40px;
      }
      .section-title {
        text-align: center;
        font-size: 20px;
        color: var(--brand-color);
        margin-bottom: 45px;
        position: relative;
        padding-bottom: 12px;
        font-weight: bold;
      }
      .intro-box {
        background-color: #fff;
        border-radius: 8px;
        padding: 25px 20px;
        box-shadow: 0 4px 20px rgba(10, 151, 118, 0.08);
        text-align: center;
        margin-bottom: 40px;
        border-top: 6px solid var(--brand-color);
        border-left: 1px solid #e1ede9;
        border-right: 1px solid #e1ede9;
        border-bottom: 1px solid #e1ede9;
      }
      .intro-box p {
        font-size: 14px;
        margin-bottom: 22px;
        color: #333;
      }
      .highlight-text {
        color: var(--brand-color);
        font-weight: bold;
        font-size: 16px;
        border-bottom: 2px solid var(--brand-color);
        padding-bottom: 2px;
      }
      .feature-card h3 {
        font-size: 16px;
        color: var(--brand-color);
        margin-bottom: 12px;
        font-weight: bold;
      }
      .feature-card p {
        font-size: 14px;
        color: #555;
      }
      .performer-img-field {
        width: 100%;
        height: 250px;
        border-right: none;
        border-bottom: 1px solid #e1ede9;
      }
      .performer-info h3 {
        font-size: 16px;
        color: var(--brand-color);
        margin-bottom: 6px;
        font-weight: bold;
      }
      .performer-info p {
        font-size: 14px;
        color: #555;
        text-align: justify;
        line-height: 1.6;
    
      }
        

        
      .early-bird {
        background-color: var(--brand-color);
        color: #fff;
        padding: 12px 30px;
        font-size: 30px;
        font-weight: bold;
        border-radius: 50px;
        display: inline-block;
        margin-bottom: 30px;
      }
      .price-item {
        font-size: 14px;
      }
      .timeline-section {
        background-color: var(--brand-color);
        color: #fff;
        padding: 40px 30px;
        border-radius: 8px;
        margin-bottom: 60px;
        box-shadow: 0 6px 25px rgba(10, 151, 118, 0.2);
      }
      .timeline-event {
        width: 100%;
        font-size: 14px;
      }
      .price-box {
        background-color: #fff;
        border: 2px solid var(--brand-color);
        border-radius: 8px;
        padding: 30px 20px;
        text-align: center;
        /*margin-bottom: 60px;*/
        box-shadow: 0 6px 20px rgba(10, 151, 118, 0.08);
      }
      .early-bird {
        background-color: var(--brand-color);
        color: #fff;
        padding: 12px 30px;
        font-size: 16px;
        font-weight: bold;
        border-radius: 50px;
        display: inline-block;
        margin-bottom: 30px;
      }
      .price-item span {
        font-size: 24px;
        font-weight: bold;
        color: #222;
      }
      .price-item .discount-price {
        color: var(--brand-color);
        font-size: 26px;
      }
      .btn-entry {
        display: inline-block;
        background-color: var(--brand-color);
        color: #fff;
        padding: 20px 60px;
        font-size: 16px;
        font-weight: bold;
        border-radius: 50px;
        text-decoration: none;
        box-shadow: 0 5px 15px rgba(10, 151, 118, 0.3);
        transition: all 0.3s;
        margin-top: 30px;
      }
        
        
        br.spbr{
            display: block;
        }
        
        
    }