/* ================================================================
   Google Fonts - Noto Sans JP の読み込み
   HTMLの<head>タグ内に以下の3行が正しく追加されていることを確認してください
   ================================================================ */
/*
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap" rel="stylesheet">
*/

/* ================================================================
   1. 基本設定とリセット
   ================================================================ */
* {
    box-sizing: border-box; /* パディングやボーダーを幅に含める */
    margin: 0; /* 全要素のマージンをリセット */
    padding: 0; /* 全要素のパディングをリセット */
}

body {
    font-family: 'Noto Sans JP', sans-serif; /* Google Fontsで読み込んだフォント */
    line-height: 1.7; /* 読みやすい行間 */
    color: #333; /* 基本の文字色を濃いグレー（ほぼ黒）に */
    background-color: #fcfcfc; /* 全体背景をほぼ白に */
    -webkit-font-smoothing: antialiased; /* フォントの表示を滑らかに */
}

/* jQuery Mobile のデフォルトスタイルを完全に無効化 (data-role属性がなくなったので、このブロックは不要になります) */
/* このブロックは完全に削除してください。 */


/* コンテンツエリア全体を囲むラッパー */
.content-wrapper {
    max-width: 800px; /* PCでの見やすさを考慮した最大幅 */
    margin: 25px auto; /* 上下に25px、左右中央寄せ */
    padding: 30px; /* コンテンツ内の余白 */
    background-color: #ffffff; /* コンテンツエリアの背景色を白に */
    border-radius: 15px; /* 柔らかな角丸 */
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.05); /* 軽い立体感 */
}

/* ================================================================
   2. ヘッダーエリア
   ================================================================ */
.site-header {
    background: #f8f8f8; /* 背景を非常に薄いグレー（ほぼ白）に */
    color: #333; /* 文字色を濃いグレー（ほぼ黒）に */
    text-align: center; /* ヘッダー内のテキストを中央寄せ */
    padding: 35px 20px;
    border-radius: 15px 15px 0 0;
    margin-bottom: 25px;
    position: relative;
    z-index: 10;
    line-height: 1.2;
    border-bottom: 1px solid #e0e0e0; /* 下部に細い線 */
}

/* ヘッダー内のロゴ画像 */
.header-logo { /* 追加：ロゴ画像用のスタイル */
    max-width: 90%; /* 親要素の幅に合わせて調整 */
    height: auto;
    display: block; /* ブロック要素にして中央寄せ */
    margin: 0 auto; /* 中央寄せ */
}
/* ヘッダーのテキストはロゴ画像で表現するため、h1やpは非表示にする */
.header-title,
.header-subtitle,
.header-event-name,
.header-info {
    display: none; /* ロゴ画像で表現するためテキストは非表示にする */
}


/* ================================================================
   3. 各セクションの共通スタイル
   ================================================================ */
.info-section {
    margin-bottom: 35px;
    padding-bottom: 25px;
    border-bottom: 1px dashed #e0e0e0;
}
.info-section:last-of-type {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

.section-title {
    font-size: 1.6em;
    font-weight: 700;
    color: #333; /* セクションタイトルを黒に */
    margin-top: 0;
    margin-bottom: 20px;
    padding-left: 10px;
    border-left: 5px solid #ff9800; /* サイドラインをオレンジ系に */
}

/* 「注意事項」セクションのシンプル化と強調スタイル */
.highlight-section {
    background-color: #fffde7; /* 非常に薄い黄色系に */
    padding: 25px;
    border-radius: 10px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.05);
    border-left: 5px solid #ffc107; /* 強調ラインを黄色系に */
    margin-top: 40px;
    margin-bottom: 35px;
}

.highlight-section .section-title {
    color: #e64a19; /* 強調セクションのタイトルを赤系に */
    border-left-color: #ff9800; /* サイドラインもオレンジ系に */
    font-size: 1.6em;
    margin-bottom: 15px;
}

/* ================================================================
   イベントの見どころセクション
   ================================================================ */
.event-highlights-list {
    list-style: none;
    padding: 0;
    margin-top: 20px;
    margin-bottom: 30px;
}
.event-highlights-list li {
    position: relative;
    padding-left: 30px; /* 数字分の余白 */
    margin-bottom: 10px;
    font-size: 1.1em;
    font-weight: bold; /* 少し太字 */
    color: #444;
    line-height: 1.5;
}
.event-highlights-list li span {
    position: absolute;
    left: 0;
    top: 0;
    font-size: 1.2em; /* 数字を少し大きく */
    color: #ff5722; /* アクセントカラー（オレンジ） */
    font-weight: 700;
}


/* ================================================================
   日時・場所セクション
   ================================================================ */
.event-datetime-location {
    display: flex; /* 横並びにする */
    flex-wrap: wrap; /* 折り返しを許可 */
    justify-content: space-around; /* 要素間にスペース */
    gap: 20px; /* 要素間の隙間 */
    margin-top: 20px;
    text-align: center;
}
.event-item {
    flex: 1; /* 均等な幅にする */
    min-width: 250px; /* 最小幅 */
    padding: 15px;
    background-color: #f9f9f9; /* 少し背景色を付ける */
    border-radius: 8px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.05);
}
.event-item .sub-section-title {
    font-size: 1.5em;
    color: #ff9800; /* 日時・場所のタイトルをオレンジに */
    margin-bottom: 10px;
    border-left: none; /* サイドラインは不要 */
    padding-left: 0;
}
.event-item p {
    font-size: 1.1em;
    margin-bottom: 5px;
    line-height: 1.4;
}
.event-date, .event-time, .event-venue, .event-address {
    font-weight: 700; /* 太字に */
    color: #333;
}


/* ================================================================
   出演者紹介セクション
   ================================================================ */
.artist-section {
    margin-top: 40px;
}
.artist-grid {
    display: grid; /* グリッドレイアウト */
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); /* レスポンシブなカラム数 */
    gap: 20px; /* グリッドの隙間 */
    margin-top: 30px;
    text-align: center;
}
.artist-card {
    background-color: #fff;
    padding: 10px;
    border-radius: 8px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.08);
}
.artist-photo {
    width: 100px; /* 写真のサイズ */
    height: 100px; /* 写真のサイズ */
    object-fit: cover; /* 画像の比率を保ちつつボックスに収める */
    border-radius: 50%; /* 丸い写真 */
    border: 3px solid #ff5722; /* アクセントカラーの枠線 */
    margin-bottom: 10px;
    display: block; /* 中央寄せのため */
    margin-left: auto;
    margin-right: auto;
}
.artist-name {
    font-weight: 700;
    color: #333;
    font-size: 0.95em;
    margin-bottom: 0;
}


/* ================================================================
   チケット情報サマリー
   ================================================================ */
.ticket-summary-section {
    background-color: #fce4ec; /* 薄い赤系の背景 */
    padding: 25px;
    border-radius: 10px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.05);
    border-left: 5px solid #e64a19; /* 赤系のサイドライン */
    text-align: center; /* テキストを中央寄せ */
    margin-bottom: 40px; /* 下部に余白 */
}
.ticket-summary-section .section-title {
    color: #e64a19; /* 赤系のタイトル色 */
    border-left: none; /* サイドラインはセクション全体で表現するため削除 */
    padding-left: 0;
    margin-bottom: 20px;
    font-size: 1.8em;
}
.ticket-price-summary {
    font-size: 1.3em;
    font-weight: 700;
    color: #333;
    margin-bottom: 10px;
}
.ticket-price-summary .price-highlight {
    font-size: 1.5em; /* 価格を大きく強調 */
    color: #d32f2f; /* 強い赤 */
}


/* ================================================================
   4. テキストとリストのスタイル (既存の修正に合わせて調整)
   ================================================================ */
.intro-text {
    font-size: 1.1em;
    text-align: center;
    margin-bottom: 35px;
    font-weight: 500;
    color: #555;
}

p {
    font-size: 1em;
    margin-bottom: 1.2em;
    line-height: 1.7;
}

ul {
    list-style: none;
    padding-left: 0;
    margin-bottom: 1.5em;
}

ul li {
    position: relative;
    padding-left: 28px;
    margin-bottom: 0.8em;
    line-height: 1.6;
    color: #444;
}

ul li::before {
    content: '▪︎';
    color: #ff9800;
    position: absolute;
    left: 0;
    top: 0;
    font-size: 1.2em;
    line-height: 1.6;
}

/* スケジュールリストのマーカー */
.schedule-list li::before {
    content: none; /* マーカーを非表示にする */
    padding-left: 0; /* マーカー分の余白もリセット */
}
.schedule-list {
    padding-left: 0; /* リスト全体の左パディングも0に */
}


/* 特定の文字強調 */
.price-highlight {
    color: #e64a19;
    font-size: 1.4em;
    font-weight: 700;
    letter-spacing: 0.03em;
}

.id-pw-highlight {
    color: #ff5722;
    font-size: 1.2em;
    font-weight: 700;
}

.payment-note .important-warning {
    color: #d32f2f;
    font-weight: 700;
    background-color: #ffebee;
    padding: 4px 8px;
    border-radius: 4px;
    display: inline-block;
}

/* 注意事項リストの特別な強調 (シンプル化されたマーカー) */
.important-list li {
    font-weight: normal;
    font-size: 0.95em;
    color: #444;
    margin-bottom: 0.5em;
}
.important-list li::before {
    content: '・';
    color: #ff5722;
    font-size: 1.1em;
    top: 0;
    font-weight: bold;
    line-height: 1.6;
}


/* その他のテキスト調整 */
.note-text,
.tel-link,
.external-link {
    font-size: 0.95em;
    color: #666;
}
.external-link {
    color: #007bff;
    text-decoration: underline;
}
.tel-link {
    color: #007bff;
    text-decoration: none;
}

.event-details-name {
    font-size: 1.2em;
    font-weight: 700;
    color: #333;
    margin-bottom: 1.5em;
}


/* ================================================================
   5. ボタンのスタイル
   ================================================================ */
.button-group {
    text-align: center;
    margin: 40px 0;
}

.btn {
    display: inline-block; /* !important を削除。data-role属性がないので競合しない */
    padding: 18px 35px;
    border-radius: 30px;
    font-weight: 700;
    font-size: 1.2em;
    text-decoration: none;
    cursor: pointer;
    transition: all 0.3s ease;
    white-space: nowrap;
    margin: 10px;
    /* box-sizing: content-box; は削除 */
}

.primary-btn {
    background-color: #d32f2f;
    color: #fff;
    box-shadow: 0 5px 15px rgba(211, 47, 47, 0.4);
}
.primary-btn:hover {
    background-color: #c62828;
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(211, 47, 47, 0.6);
}

.secondary-btn {
    background-color: #f5f5f5;
    color: #333;
    border: 1px solid #ccc;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1);
}
.secondary-btn:hover {
    background-color: #e0e0e0;
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.15);
}

/* ================================================================
   6. 画像（座席表）のスタイル (削除またはコメントアウト)
   ================================================================ */
/* 座席表セクションは今回のHTMLから削除されたため、CSSも不要 */
/* .seat-map-container, .sub-section-title, .seat-map-image, .seat-map-link のスタイルは削除またはコメントアウト */


/* ================================================================
   フッター (変更なし、または微調整)
   ================================================================ */
.site-footer {
    background-color: #f8f8f8;
    color: #666;
    text-align: center;
    padding: 20px 15px;
    font-size: 0.9em;
    margin-top: 30px;
    border-radius: 0 0 15px 15px;
    border-top: 1px solid #e0e0e0;
}

/* ================================================================
   8. レスポンシブデザイン（スマートフォン対応） (上記変更に合わせて調整)
   ================================================================ */
@media (max-width: 768px) {
    .content-wrapper {
        margin: 15px auto;
        padding: 20px;
        border-radius: 0;
        box-shadow: none;
    }

    .site-header {
        padding: 25px 15px;
        border-radius: 0;
        margin-bottom: 15px;
    }
    .header-title {
        font-size: 2.2em;
    }
    .header-subtitle,
    .header-event-name {
        font-size: 1.2em;
    }
    .header-info {
        font-size: 1em;
        padding: 6px 12px;
        margin-left: auto;
        margin-right: auto;
    }

    .section-title {
        font-size: 1.4em;
        margin-bottom: 15px;
    }
    .info-section {
        margin-bottom: 25px;
        padding-bottom: 20px;
    }
    .highlight-section {
        padding: 20px;
        margin-top: 30px;
        margin-bottom: 25px;
    }
    .highlight-section .section-title {
        font-size: 1.2em;
    }

    .intro-text {
        font-size: 1em;
        margin-bottom: 25px;
    }
    p, ul li {
        font-size: 0.95em;
    }

    .btn {
        font-size: 1.1em;
        padding: 15px 25px;
        margin: 8px;
        display: block;
        width: calc(100% - 20px);
        margin-left: auto;
        margin-right: auto;
    }
    .button-group {
        text-align: center;
        margin: 30px 0;
    }

    .seat-map-container {
        padding: 15px;
        margin-top: 30px;
    }
    .sub-section-title {
        font-size: 1.3em;
    }

    .site-footer {
        padding: 15px;
        border-radius: 0;
    }
}

@media (max-width: 480px) {
    .header-title {
        font-size: 1.8em;
    }
    .header-subtitle,
    .header-event-name {
        font-size: 1em;
    }
    .section-title {
        font-size: 1.4em;
    }
    .btn {
        font-size: 1em;
        padding: 12px 20px;
    }
}