/* 基本スタイル */
html { 
    scroll-behavior: smooth; 
  }
  
  /* 背景スタイル */
  .backdrop { 
    background: 
      radial-gradient(1200px 500px at 80% -10%, rgba(255,255,255,.35), transparent),
      radial-gradient(900px 400px at -10% -20%, rgba(255,255,255,.2), transparent),
      url('data:image/svg+xml,<svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><rect width="20" height="20" fill="none"/><circle cx="10" cy="10" r="1" fill="%23666" opacity="0.1"/></svg>') repeat;
  }
  
  /* シャドウスタイル */
  .shadow-soft { 
    box-shadow: 0 10px 30px rgba(0,0,0,.08), 0 6px 10px rgba(0,0,0,.06);
    transition: all 0.3s ease;
  }
  
  .shadow-soft:hover {
    box-shadow: 0 15px 35px rgba(0,0,0,.1), 0 8px 12px rgba(0,0,0,.08);
    transform: translateY(-2px);
  }
  
  /* タイポグラフィ */
  .section-kicker { 
    letter-spacing: .25em;
    font-family: 'Shippori Mincho', serif;
  }
  
  .prose p { 
    line-height: 1.8;
    font-family: 'Shippori Mincho', serif;
  }
  
  .font-serif {
    font-family: 'Shippori Mincho', serif;
  }
  
  /* 全体的な文字サイズ調整 */
  body {
    font-size: 16px;
  }
  
  /* 見出しの文字サイズ調整 */
  h1, h2, h3, h4, h5, h6 {
    line-height: 1.3;
  }

  h2 {
    font-size: 2rem;
  }

  @media screen and (max-width: 768px) {
    h2 {
      font-size: 1.65rem;
    }
  }
  /* ボタンの文字サイズ調整 */
  .btn {
    font-size: 1rem;
    font-weight: 600;
  }
  
  /* 日本風パターン */
  .japanese-pattern {
    background-color: #f8f8f8;
    background-image: url('data:image/svg+xml,<svg width="40" height="40" viewBox="0 0 40 40" xmlns="http://www.w3.org/2000/svg"><path d="M20 0L0 20h5l15-15 15 15h5L20 0zm0 40L0 20l2.5 2.5L20 40l17.5-17.5L40 20L20 40z" fill="%23f0f0f0"/></svg>');
  }
  
  /* セクション別パディング - モバイル */
  #top {
    margin-top: 0;
  }

  #local_challenge {
    margin-top: 0;
  }
  
  #schedule {
    padding-top: 0;
  }
  
  #program {
    padding-top: 0;
  }
  
  #rakugo_performer {
    padding-top: 0;
  }
  
  #price {
    padding-top: 0;
  }
  
  #dates {
    padding-top: 0;
  }
  
  #about {
    padding-top: 0;
  }
  
  #faq {
    padding-top: 0;
  }
  
  #access {
    padding-top: 0;
  }
  
 