/* CSSリセット */
p, h1, h2, h3, h4, h5, h6, ul, li, ol, a, img, body, td, quote, small, form, input, label {
    margin: 0;
    padding: 0;
}


body {
    font-family: Arial, sans-serif;
    line-height: 1.6;
    margin: 0;
    padding: 0;
    background-color: #f9f9f9;
}


/* ヘッダーのデザイン（背景を明るめのオレンジに変更） */
header {
    background: #ffd999;  /* 明るめのオレンジ */
    padding-top: 1rem;
    text-align: center;
}

/* タイトルのデザイン（明るい緑＋白の縁取り） */
header h1 {
    color: #228B22;  /* 明るめの緑 */
    font-size: 32px;
    font-weight: bold;
    text-shadow: 
        -2px -2px 0 #ffffff, 
         2px -2px 0 #ffffff, 
        -2px  2px 0 #ffffff, 
         2px  2px 0 #ffffff; /* 白の縁取り */
}



/* グローバルナビゲーション */
nav {
    background: #ff9933;  /* ナビゲーションの背景色 */
    text-align: center;
}

nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

nav ul li {
    display: inline-block;
}

nav ul li a {
    display: block;
    padding: 8px 20px;
    text-decoration: none;
    color: white;
    font-weight: bold;
    transition: all 0.3s ease;
}

/* リンクのスタイル */
nav ul li a:link,
nav ul li a:visited {
    background: #ff9933;
}

nav ul li a:focus,
nav ul li a:hover {
    background: #ff6600;
    color: #fff;
}

nav ul li a:active {
    background: #cc5500;
}

/* 選択されたメニュー */
nav ul li.select a {
    background: #cc5500;
    color: #fff;
}

/* 各ページのタイトルデザイン */
.page-title {
	width: 300px;
	letter-spacing: 5px;
    border: 3px solid #ff6600;
    display: inline-block;
    padding: 4px 20px 2px 20px;
    background: #fff3e0;
    border-radius: 10px;
    font-size: 24px;
    margin-bottom: 20px;
}

/* メインコンテンツ */
#main {
    max-width: 1024px;
    margin: 20px auto;
    padding: 20px 0;
    background: white;
    border-radius: 8px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    text-align: center;
	overflow: hidden;
}

#index #main {
    max-width: 1024px;
    margin: 0 auto 20px auto;
    padding: 0;
    text-align: center;
	overflow: hidden;
}

/* スライドショー */
.slideshow-container {
    position: relative;
    width: 100%;
    max-width: 1024px;
    height: 330px;
	margin: 0 auto;
    overflow: hidden;
}

.slideshow-container img {
    width: 100%;
    height: 330px;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    transition: opacity 1s ease-in-out;
}

/* 最初の画像のみ表示 */
.slideshow-container img.active {
    opacity: 1;
}

/* スライドショー下部のインジケーター */
.indicators {
    text-align: center;
    margin-top: 5px;
}

.indicators span {
    display: inline-block;
    width: 10px;
    height: 10px;
    margin: 5px;
    background-color: #ff9999; /* 赤系 */
    border-radius: 50%;
    transition: background-color 0.3s;
}

.indicators .active-dot {
    background-color: #cc0000; /* 現在表示中の画像用：濃い赤 */
}


/* メインコンテンツのレイアウト */
.main-container {
    display: flex;
    justify-content: space-between;
    max-width: 1024px;
    margin: 20px auto;
    padding: 0 20px 20px 20px;
    background: white;
    border-radius: 8px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

#index .main-container {
    display: flex;
    justify-content: space-between;
    max-width: 1024px;
    margin: 20px auto;
    padding: 0 20px 20px 20px;
}

/* 左カラムのデザイン */
.left-column {
    width: 300px;
    background: #f0f8ff; /* 薄い青 */
    padding: 15px;
    border-radius: 8px;
    border: 2px solid #add8e6; /* 淡い青の枠線 */
}

/* 左カラムのリンクリスト */
.left-column ul {
    list-style: none;
    padding: 0;
}

.left-column li {
    margin-bottom: 10px;
    padding: 8px;
    background: #ffffff;
    border-radius: 5px;
    text-align: center;
    box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.1);
}

/* リンクのスタイル */
.left-column a {
    text-decoration: none;
    color: #0077cc;
    font-weight: bold;
    display: block;
    padding: 5px;
    transition: background 0.3s, color 0.3s;
}

/* ホバー時 */
.left-column a:hover {
    background: #0077cc;
    color: white;
    border-radius: 5px;
}


/* 右カラム */
#index .right-column {
    flex-grow: 1;
    padding: 0 10px 10px 10px;
    margin-left: 5px; /* 左カラムとの間隔 */
}

/* スマホ対応：画面幅が狭いときは縦に並ぶ */
@media (max-width: 768px) {
    .main-container {
        flex-direction: column;
    }

.right-column {
        margin-left: 0;
        margin-top: 0;
    }
}


.right-column h3.festival-title {
    border: 2px solid #ffa500;  /* オレンジ枠 */
    background-color: #fff8e1;  /* ごく薄い黄色背景 */
    padding: 10px 15px;
    border-radius: 6px;
    color: #cc5500;
    font-size: 20px;
    margin-bottom: 15px;
    text-align: center;
}

.right-column .section1 {
	width: 580px;
	padding: 10px 0 10px 50px;
	text-align: left;
}

.section1 {
	width: 800px;
	padding-left: 50px;
	text-align: left;
	line-height: 2em;
}

.section1 ul {
	width: 700px;
	padding-left: 30px;
}

/*--------音取り音源------------*/

.music-section {
  background-color: #f0f8ff;
  padding: 1.5em;
  margin: 1.5em 0;
  border-radius: 8px;
  border: 1px solid #ccc;
}

.music-section h3 {
  margin-top: 0;
  color: #333;
  font-size: 1.2em;
}

.music-row {
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
  gap: 1em;
  text-align: center;
}

.part-column {
  flex: 1;
  min-width: 120px;
	line-height: 1em;
}

.part-title {
  font-weight: bold;
  margin-bottom: 0.5em;
	line-height: 3em;
}

.part-column a {
  text-decoration: none;
  color: #0066cc;
  display: block;
  margin: 0.2em 0;
}

.part-column a:hover {
  text-decoration: underline;
}



/* フッター */
footer {
    text-align: center;
    padding: 10px;
    background: #ffcc66;
    color: #333;
    position: fixed;
    bottom: 0;
    width: 100%;
}