body {
	background-image: url('../img/bg.jpg');
	background-size: cover;
	background-position: center center; /* 画像の中央を基準に配置 */
	background-repeat: no-repeat; /* 画像を繰り返さない（cover指定時は通常不要だが念のため）*/
	background-attachment: fixed; /* 背景画像をビューポートに固定（スクロールしても動かない）*/
  min-height: 100vh; /* bodyの最小高さを画面の高さ100%にする */
}


/* ヘッダー（全ページ共通） */
header {
	padding: 0.5rem 2rem;
}

header a {
	padding: 0;
	margin: 0;
}

.header-logo {
	display: block;
	max-width: 35%;
	height: auto;
}

/* メイン */
main {
  /* @ モバイル時のパディング (上下左右に1rem) */
  padding: 0;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}

.main-visual img {
  display: block; /* 画像下の余白削除 */
  width: 100%;
  height: auto;
}

.main-visual {
    /* ★ モバイル時は下のマージンも 0 に */
    margin-bottom: 0;
}

.main-content {
    /* ★ モバイル時のコンテンツ周りの余白と、上の画像との間のスペースを確保 */
    padding: 1.5rem 1rem; /* 例: 上下 1.5rem, 左右 1rem (値は調整可) */
}

/* 既存のセクション間のマージン */
.main-content section:not(:last-child) {
  margin-bottom: 2rem; /* セクション間の外側の余白 */
}

/* フッター（全ページ共通） */
footer{
	width: 100%;
	padding: 1em;
	text-align: center;
	background: var(--color-accent);
}

footer p{
	font-size: var(--font-size-small-sm);
	color: var(--color-background-body);
	line-height: 1.5;
	white-space: pre-line; /* スマホでは改行を有効にする */
}

/*- 見出し装飾 -*/
h2 {
  background: var(--color-accent);
	color: var(--color-background-body);
	padding: 0.5rem;
	margin-bottom: 0.5rem;
	font-style: italic;
}

/* チケット販売場所リストのスタイル */
.ticket-list {
  list-style: disc; /* 例: 第1階層はデフォルトの黒丸 */
  margin-top: 1rem;
  margin-bottom: 1rem;
  padding-left: 1.5em; /* 第1階層のインデント量 (list-style が none なら 0) */
}

.ticket-list > li { /* 第1階層の li */
  margin-bottom: 0.25rem; /* 第1階層の項目間のスペース */
}

/* 入れ子リスト (コンビニ詳細) のスタイル */
.nested-list {
  list-style: circle; /* 例: 第2階層は白丸 */
  /* または list-style: none; */
  padding-left: 1em; /* 親リストからの相対的なインデント */
}

/* タブレット向けスタイル */
@media (min-width: 768px) {
}

/* PC向けスタイル */
@media (min-width: 960px) {
  .header-logo {
    width: 150px;
  }
	
	main {
    display: flex;
    gap: 2rem;     /* カラム間の隙間 */
    /* PC時にはコンテナ左右と下にパディングを設定 */
    padding-left: 2rem;  /* 値は調整可 */
    padding-right: 2rem; /* 値は調整可 */
    padding-top: 0; /* 上は 0 のまま */
    padding-bottom: 2rem;/* 値は調整可 */
  }

  .main-visual {
    flex: 0 0 65%; /* 左カラムの幅 */
    /* margin-bottom は 0 のまま */
  }

  .main-content {
    flex: 1 1 auto; /* 右カラムは残り幅 */
    /* PC時は .main-content 固有のパディングを削除 */
    padding: 0; /* main の padding と gap で余白を管理 */
  }

}