@charset "UTF-8";
/* Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=M+PLUS+1p&display=swap');
@import url('deco.css');
@import url('https://netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.min.css');
/* ======================================================
  1. リセット (Reset / Normalize)
====================================================== */
html, body, div, span, a, p, h1, h2, h3, h4, h5, h6, ul, ol, li, table, th, td, form, input, button {
	margin: 0;
	padding: 0;
	border: 0;
	box-sizing: border-box;
}
body {
	font-family: "M PLUS 1p", "Noto Sans JP", sans-serif;
	line-height: 1.6;
	background-color: #2f0cce;
	background: url("../images/common/bg007.png");
	background-repeat: repeat;
	background-size: contain;
	background-position: center;
	color: #000;
}
/* リンクの基本設定 */
a {
	font-weight: bold;
	color: #007bff; /* 標準のリンクカラー */
	text-decoration: none; /* 下線をなくす */
	transition: color 0.3s ease-in-out, transform 0.2s ease-in-out;
}
/* 未訪問リンク */
a:link {
	color: #0600ff; /* 青 */
}
/* 訪問済みリンク */
a:visited {
	color: #000000; /* 紫 */
}
/* ホバー時 */
a:hover {
	color: #ff4500; /* オレンジ */
	text-decoration: underline; /* 下線を追加 */
}
/* クリック時 */
a:active {
	color: #ff0000; /* 赤 */
	transform: scale(0.95); /* 押した感じを出す */
}
/*表示切り替え設定
================================*/
.pcarea {
	display: block;
}
.sparea {
	display: none;
}
@media screen and (max-width: 768px) {
	.pcarea {
		display: none;
	}
	.sparea {
		display: block;
	}
}
.aligncenter, img.aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}
/* ======================================================
  2. ヘッダーデザイン
====================================================== */
.main-header {
	position: relative;
	background: white;
	padding-bottom: 15px;
}
/* グラデーションバー */
.header-gradient {
	height: 10px;
	background-image: -moz-linear-gradient(0deg, rgb(246, 255, 0) 11%, rgb(255, 0, 0) 30%, rgb(255, 32, 195) 51%, rgb(0, 46, 229) 74%, rgb(2, 252, 202) 100%);
	background-image: -webkit-linear-gradient(0deg, rgb(246, 255, 0) 11%, rgb(255, 0, 0) 30%, rgb(255, 32, 195) 51%, rgb(0, 46, 229) 74%, rgb(2, 252, 202) 100%);
	background-image: -ms-linear-gradient(0deg, rgb(246, 255, 0) 11%, rgb(255, 0, 0) 30%, rgb(255, 32, 195) 51%, rgb(0, 46, 229) 74%, rgb(2, 252, 202) 100%);
}
/* ヘッダー上部 */
.header-content {
	display: flex;
	justify-content: space-around;
	align-items: center;
	padding: 5px 20px;
	max-width: 1200px;
	margin: 0 auto;
}
/* ロゴエリア */
.logo-area {
	text-align: center;
}
/* キャッチコピーは上に単独で表示 */
.logo-area .subtitle {
	font-size: clamp(0.75rem, 0.659rem + 0.45vw, 1rem);
	text-align: left;
}
/* タイトルと日程を横並び */
.logo-title {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
}
.logo-title h1 {
	font-size: 28px;
	font-weight: bold;
	white-space: nowrap;
}
.logo-title .date {
	font-size: 20px;
	font-weight: bold;
	white-space: nowrap;
	padding: 0 0 0 20px;
}
/* ナビゲーション */
.header-nav {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	width: 100%;
}
.header-nav ul {
	display: flex;
	list-style: none;
	gap: 20px;
}
.header-nav a {
	text-decoration: none;
	color: black;
	font-size: 14px;
}
/* ENGLISH ボタン */
.btn-english {
	background: red;
	color: white !important;
	padding: 8px 16px;
	border-radius: 8px;
	font-weight: bold;
	transition: 0.3s ease-in-out;
}
.btn-english:hover {
	background: #FF5722;
}
/* メニューアイコン */
.menu-icons {
	text-align: center;
}
.menu-icons ul {
	display: flex;
	justify-content: center;
	gap: 20px;
	list-style: none;
	flex-wrap: wrap;
	max-width: 90%;
	margin: 0 auto;
	padding: 0;
}
.menu-icons li {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: space-around;
	gap: 8px;
	text-align: center;
	min-width: 100px; /* 幅を統一して均一にする */
	font-size: 14px;
	font-weight: bold;
}
.menu-icons a {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-decoration: none;
	height: 75px;
	justify-content: flex-end;
	color: black;
}
.menu-icons img {
	margin: 10px;
	transition: transform 0.3s ease-in-out;
}
.menu-icons a:hover img {
	transform: scale(1.1);
}
/*モバイルメニューを非表示 */
.mobile-nav {
	display: none;
}
@media (max-width: 1024px) {
	.main-header {
		position: relative;
		background: white;
		padding-bottom: 5px;
	}
	.header-gradient {
		height: 10px;
	}
	.logo-title {
		display: flex;
		align-items: center;
		gap: 10px;
		justify-content: flex-start;
	}
	.logo-title img {
		width: 90%;
		max-width: 320px;
		padding-right: 20px;
	}
	.logo-title .date {
		display: none;
	}
	/* ナビゲーション */
	.header-nav {
		display: block;
	}
	/* ハンバーガーメニュー（768px以下で表示） */
	.hamburger-menu {
		display: none;
		flex-direction: column;
		justify-content: space-around;
		width: 40px;
		height: 30px;
		cursor: pointer;
	}
	.hamburger-menu div {
		width: 100%;
		height: 3px;
		background-color: #333;
	}
	/* ハンバーガーメニューがアクティブ (X に変化) */
	.hamburger-menu.active div:nth-child(1) {
		transform: translateY(9px) rotate(45deg);
	}
	.hamburger-menu.active div:nth-child(2) {
		opacity: 0;
	}
	.hamburger-menu.active div:nth-child(3) {
		transform: translateY(-9px) rotate(-45deg);
	}
	/* モバイルメニュー */
	.mobile-nav {
		display: none;
		position: absolute;
		top: 91px;
		right: 0;
		width: 100%;
		background-color: white;
		box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
		z-index: 9999;
	}
	.mobile-nav ul {
		list-style: none;
		padding: 10px 30px;
		text-align: left;
	}
	.mobile-nav ul li {
		padding: 10px 0;
		border-bottom: #999999 1px solid;
	}
	.mobile-nav ul li a {
		text-decoration: none;
		color: #000;
		font-size: 16px;
	}
	.header-content {
		justify-content: space-between;
		padding: 5px;
	}
	.logo-title {
		justify-content: flex-start;
	}
	.header-nav, .menu-icons {
		display: none; /* メニュー非表示 */
	}
	.hamburger-menu {
		display: flex; /* ハンバーガーメニューを表示 */
	}
	/* サブメニューのデザイン */
	.submenu {
		display: none;
		list-style: none;
		padding-left: 15px;
		background-color: #f5f5f5;
	}
	.submenu li {
		padding: 8px 0;
		border-bottom: 1px solid #ddd;
	}
	.submenu li a {
		font-size: 14px;
		color: #333;
	}
	/* ホバーまたはクリック時に表示 */
	.has-submenu > a {
		display: flex;
		justify-content: space-between;
		align-items: center;
		cursor: pointer;
	}
	.has-submenu > a::after {
		content: "▼";
		font-size: 12px;
		margin-left: 5px;
		transition: transform 0.3s ease;
	}
	/* メニューが開いた状態 */
	.has-submenu.active .submenu {
		display: block;
	}
	.has-submenu.active > a::after {
		transform: rotate(180deg);
	}
}
/* ======================================================
  Slider 設定
====================================================== */
/* スライダーのコンテナ */
.slider {
	width: 100%;
	margin: 0 auto;
}
.slider img {
	width: 100%;
}
.slider .slick-slide {
	height: auto !important;
}
.slider .slick-arrow {
	z-index: 2 !important;
}
.slider .slick-next {
	right: 0 !important;
}
.slider .slick-prev {
	left: 0 !important;
}
.slider .slick-slide {
	margin-right: 1vw !important;
	margin-left: 1vw !important;
}
/*====================================================================
.full-screen
====================================================================*/
.full-screen .slick-list {
	overflow: visible;
}
.full-screen.slider {
	max-width: 300px;
	margin: 0 auto;
}
/* ======================================================
  3. コンポーネント
====================================================== */
/* テキストの色 */
.gray-txt {
	color: #607D8B !important;
}
/*もっと見るボタン */
.button {
	display: inline-block;
	padding: 10px 20px;
	/* background: #feff00; */
	color: #000;
	border: solid 3px;
	border-radius: 25px;
	text-decoration: none;
	transition: 0.3s;
	font-weight: 700;
	min-width: 260px;
}
.button:hover {
	background: #2f0cce;
	color: #FFF;
	border: solid 3px #000;
	border-radius: 25px;
	text-decoration: none; /* 下線をなくす */
}
.button::after {
	content: "";
	display: inline-block;
	width: 8px;
	height: 8px;
	border-right: 2px solid black;
	border-bottom: 2px solid black;
	transform: rotate(-45deg);
	margin-left: 10px;
	transition: transform 0.3s ease-in-out, border-color 0.3s ease-in-out;
}
.button:hover::after {
	transform: translateX(5px) rotate(-45deg);
	border-right: 2px solid white;
	border-bottom: 2px solid white;
}
/*もっと見るボタン(記事内) */
.wrap-button {
	width: 100%;
	margin: 20px auto;
	text-align: center;
}
.button2 {
	display: inline-block;
	padding: 10px 20px;
	/* background: #feff00; */
	color: #000;
	border: solid 3px;
	border-radius: 25px;
	text-decoration: none;
	transition: 0.3s;
	font-weight: 700;
	min-width: 260px;
}
.button2:hover {
	background: #2f0cce;
	color: #FFF;
	border: solid 3px #000;
	border-radius: 25px;
	text-decoration: none; /* 下線をなくす */
}
.button2::after {
	content: "";
	display: inline-block;
	width: 8px;
	height: 8px;
	border-right: 2px solid black;
	border-bottom: 2px solid black;
	transform: rotate(-45deg);
	margin-left: 10px;
	transition: transform 0.3s ease-in-out, border-color 0.3s ease-in-out;
}
.button2:hover::after {
	transform: translateX(5px) rotate(-45deg);
	border-right: 2px solid white;
	border-bottom: 2px solid white;
}
/* 装飾 */
.center {
	text-align: center;
	margin: 0 auto;
}
/* youtube */
.youtube {
	width: 100%;
	aspect-ratio: 16 / 9;
}
.youtube iframe {
	width: 100%;
	height: 100%;
}
/* 画像を白黒にする */
.grayscale {
	filter: grayscale(100%);
	opacity: 0.5;
}
/* ======================================================
  4. フッター
====================================================== */
/* フッター設定：メガメニュー　*/
.footer-menu {
	width: 100%;
	background: #FFF;
	background: linear-gradient(90deg, rgb(131 213 4 / 37%) 0%, rgb(63 199 185 / 58%) 35%, rgb(255 246 0 / 54%) 73%, rgb(234 111 159 / 48%) 100%);
	color: #333;
	margin: 0 auto;
}
.footer-menu a {
	color: #FFF;
	text-decoration: none;
}
.footer-menu-wrap {
	max-width: 1000px;
	width: auto;
	margin: 0 auto;
	padding: 3rem 0 0 0;
	line-height: 2;
	display: flex;
	flex-wrap: wrap;
}
.footer-menu-item {
	width: 18%;
	padding: 0 1rem;
	margin: 0 0 3rem 0;
	line-height: 2;
}
.footer-menu-titile {
	font-size: 16px;
	min-height: 0vw;
	margin: 0 0 1rem 0;
	padding: 0;
	line-height: 1.3;
	font-weight: 700;
}
.footer-menu-list {
	font-size: 1.2rem;
	line-height: 1.8;
}
.footer-menu-list a {
	color: #333;
	font-weight: normal;
	FONT-VARIANT: JIS04;
}
.footer-menu-titile a:hover, .footer-menu-list a:hover {
	color: red;
	text-decoration: underline;
}
.footer-inquery {
	width: 100%;
	background: #baea6a;
	padding: 30px 0;
}
.footer-inquery h2 {
	text-align: center;
	line-height: 2;
	font-weight: 500;
	font-size: 16px;
}
.footer-inquery p {
	text-align: center;
	line-height: 2;
}
.footer-inquery-wrap {
	width: 1000px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	align-items: stretch;
}
.footer-inquery-item {
	width: 100%;
	display: flex;
}
.footer-inquery-item .box {
	width: 100%;
	/* min-height: 130px; */
	background: #FFF;
	border: 2px solid #83d504;
	border-radius: 10px;
	margin: 10px;
	padding: 10px;
	display: flex;
	flex-direction: column;
	align-content: space-around;
	align-items: center;
}
.footer-inquery-item .box p {
	font-weight: bold;
}
.footer-inquery-item .item {
	padding: 10px 0 0 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-evenly;
	align-items: center;
}
.footer-inquery-item .item .btn a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0 auto 10px 10px;
	padding: 10px;
	width: 180px;
	background: #FFF;
	color: #333;
	font-weight: 500;
	border: 2px solid #83d504;
	border-radius: 10px;
}
.footer-inquery-item .item .btn a::after {
	content: '';
	width: 5px;
	height: 5px;
	border-top: 3px solid #83d504;
	border-right: 3px solid #83d504;
	transform: rotate(45deg);
}
.footer-inquery-item .item .btn a:hover {
	color: #333;
	text-decoration: none;
	background-color: #83d504;
}
.footer-inquery-item .item .btn a:hover::after {
	border-top: 3px solid #FFF;
	border-right: 3px solid #FFF;
}
@media screen and (max-width: 1024px) {
	.footer-inquery-item {
		width: 90%;
		/* display: flex; */
		/* flex-wrap: wrap; */
		/* justify-content: center; */
	}
	.footer-inquery-wrap {
		width: 100%;
		margin: 0 auto;
		display: flex;
		justify-content: center;
		align-items: center;
		flex-wrap: wrap;
	}
	.footer-inquery-item .box {
		width: 100%;
		height: auto;
		background: #FFF;
		border: 2px solid #83d504;
		border-radius: 10px;
		margin: 10px;
		padding: 10px 20px;
	}
	.footer-inquery-item .box p {
		font-weight: 500;
	}
	.footer-inquery-item .item {
		padding: 10px 0 0 0;
		display: flex;
		flex-wrap: nowrap;
		justify-content: flex-start;
	}
}
@media screen and (max-width: 768px) {
	.ft_inq_area {
		width: 100%;
		text-align: center;
		font-weight: 500;
		font-size: 16px;
	}
	.ft_inq_area a {
		color: #333;
	}
	.ft_inq_area_topwrap {
		padding: 10px;
		border-top: 1px solid #bbb;
		border-bottom: 1px solid #bbb;
		background: rgb(255, 255, 255);
		background: linear-gradient(180deg, rgba(255, 255, 255, 1) 60%, rgba(242, 242, 242, 1) 100%, rgba(255, 246, 0, 1) 100%);
	}
	.ft_inq_top_btn {
		padding: 5px;
	}
	.ft_inq_area_topdown {
		width: 100%;
		/* padding: 5px; */
		display: flex;
		flex-wrap: nowrap;
		justify-content: space-around;
		align-items: center;
		background: rgb(255, 255, 255);
		background: linear-gradient(180deg, rgba(255, 255, 255, 1) 60%, rgba(242, 242, 242, 1) 100%, rgba(255, 246, 0, 1) 100%);
	}
	.ft_inq_area_topdown .ft_inq_btn {
		width: 50%;
		text-align: center;
		border-right: 1px solid #bbb;
		border-bottom: 1px solid #bbb;
		padding: 12px 0;
	}
}
/* 販売ボタン下部 */
.btn_ticketsale {
	position: fixed;
	right: 0;
	bottom: 140px;
}

.shake-image {
  display: inline-block;
  animation: shake-pause-cycle 2s infinite;
}

@keyframes shake-pause-cycle {
  0% { transform: translate(1px, 1px) rotate(0deg); }
  5% { transform: translate(-1px, -2px) rotate(-1deg); }
  10% { transform: translate(-3px, 0px) rotate(1deg); }
  15% { transform: translate(3px, 2px) rotate(0deg); }
  20% { transform: translate(1px, -1px) rotate(1deg); }
  25% { transform: translate(-1px, 2px) rotate(-1deg); }
  30% { transform: translate(-3px, 1px) rotate(0deg); }
  35% { transform: translate(3px, 1px) rotate(-1deg); }
  40% { transform: translate(-1px, -1px) rotate(1deg); }
  45% { transform: translate(1px, 2px) rotate(0deg); }
  50% { transform: translate(1px, -2px) rotate(-1deg); }

  /* ↓ 50%以降は静止状態にする */
  51%,
  100% {
    transform: none;
  }
}
/* 販売ボタン下部 SP */
.btn_ticketsale_sp {
	position: fixed;
	right: 0;
	bottom: 0;
	padding-bottom: 20px;
	background: yellow;
	font-size: 2rem;
	text-align: center;
	width: 100%;
}

/* 販売ボタン下部  SP サイズ調整*/
.btn_ticketsale_sp img {
	max-width: 200px;
}
/* みずどりの基本設定 */
.layer-img {
	width: 90px;
	height: 240px;
}
/* 大枠ボックス */
.layer {
	/* 背景画像設定 */
	background: url(https://homepagenopro.com/wp-content/uploads/2018/08/d11_img_beach.jpg) no-repeat 0 0;
	background-size: 100%;
	/* ボックス配置指定 */
	position: relative;
	margin: 0 auto;
	text-align: center;
	/* ボックスサイズ指定 */
	width: 640px;
	height: 358px;
}
/* 重ねるボックスの設定 */
.layer-in {
	/* ボックス配置指定 */
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	/* 上下左右中央のときのみ */
	width: 400px;
	height: 100px;
}
/* みずどりの基本設定 */
.layer-img {
	width: 150px;
	height: auto;
}
/* -----------------------------------------------------------------------------------------------------

    フッター設定：メガメニュー２　　

-----------------------------------------------------------------------------------------------------*/
.footer-banner-area {
	width: 100%;
	background: #222;
	padding: 3rem 0;
}
.footer-banner-wrap {
	width: 90%;
	max-width: 980px;
	margin: 0 auto 2rem auto;
	background: #FFF;
	padding: 1rem;
}
.footer-banner-wrap h4 {
	font-size: 16px;
	color: #333;
	text-align: left;
	padding: 1rem 0 0.5rem 0;
}
.footer-banner-wrap li {
	padding: 1rem 0;
}
.footer-banner-item {
	display: flex;
	flex-wrap: nowrap;
	justify-content: flex-start;
	flex-direction: row;
}
.footer-banner-item img {
	width: 90%;
}
/* オーガナイザー　*/
.footer-banner-organizer-item {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	flex-direction: row;
	align-content: space-around;
	font-weight: 600;
}
.footer-banner-organizer-item .box {
	width: calc((100% / 10) - 0px); /* 追加 */
	padding: 5px 0;
}
.footer-banner-organizer-item .box img {
	width: 90%;
}
.footer-banner-organizer-item .box span {
	color: #333;
	position: relative;
	padding: 0;
	font-size: 10px;
	display: flex;
	justify-content: center;
}
/* -----------------------------------------------------------------------------------------------------

    フッター設定：会社情報・ロゴ・最後

-----------------------------------------------------------------------------------------------------*/
.footer_last {
	width: 100%;
	padding: 3rem 0 0 0;
	background: #83d504;
	background-image: url("../images/toppage/ft_bg.png");
	background-sze: cover;
	color: #fff;
	font-size: 10px;
	text-align: center;
}
.footer_last .company {
	font-size: clamp(0.75rem, 0.659rem + 0.45vw, 1rem);
	text-align: center;
	padding: 20px 0;
}
.footer_last .company a {
	color: #FFF;
	text-decoration: underline;
}
.footer_last .company a:hover {
	color: red;
	text-decoration: underline;
}
.footer_last .company a:active {
	color: #fff000;
}
.footer_last .ftlogo {
	max-width: 1000px;
	margin: 30px auto 0 auto;
}
.footer_last .ftlogo img {
	width: 150px;
	padding-bottom: 20px;
}
.footer_last .ftsns {
	margin: 0 auto;
	width: 100%;
}
.footer_last .ftsns img {
	width: 50px;
	padding: 10px;
}
@media screen and (max-width: 768px) {
	.footer-menu {
		display: none;
	}
	.footer-inquery {
		display: none;
	}
	/* 主催事務局 */
	.footer-banner-item {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-around;
		list-style: none; /* padding: 5px 0 0 0; */
	}
	.footer-banner-item .box {
		width: calc((100% / 3) - 5px); /* 追加 */
		padding: 2px;
	}
	.footer-banner-item img {
		width: 95%;
		padding: 5px 0;
	}
	/* オーガナイザー　*/
	.footer-banner-organizer-item {
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		flex-direction: row;
		margin: 0 auto;
	}
	.footer-banner-organizer-item .box {
		width: calc((100% / 4) - 0px); /* 追加 */
		padding: 5px 0;
	}
	.footer-banner-organizer-item .box img {
		width: 90%;
	}
	.footer-banner-organizer-item .box span {
		color: #333;
		position: relative;
		padding: 0;
		margin: 0 auto;
		text-align: center;
		font-size: 10px;
		display: flex;
		justify-content: center;
	}
		.footer_last {
		margin-bottom: 60px;
		/* position: relative; */
		/* bottom: 73px; */
	}
}
/* -----------------------------------------------------------------------------------------------------

    SNSアカウントエリア：固定

-----------------------------------------------------------------------------------------------------*/
.sns-account_warp {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
}
.sns-account_cont {
	display: flex;
	flex-wrap: wrap;
	background: #e2f9bc;
	margin: 20px auto;
	padding: 20px;
	border-radius: 10px;
}
.sns-account_cont .item {
	width: calc(100%/6);
	display: flex;
	justify-content: center;
	align-items: center;
	align-content: center;
}
.sns-account_cont .item img {
	max-width: 100%;
}
@media screen and (max-width: 768px) {
	.sns-account_cont .item img {
		max-width: 80%;
	}
}
/* wcs関連バナー */
.wcs-bnr_wrap {
	width: 100%;
	margin: 0;
}
.wcs-bnr_wrap .box {
	display: flex;
	flex-wrap: nowrap;
}
.wcs-bnr_wrap .item {
	width: 100%;
	padding: 0 10px 0 0;
	margin: 0 auto;
}
.wcs-bnr_wrap .item:last-child {
	padding: 0;
}
.wcs-bnr_wrap .item img {
	width: 100%;
	border: 1px solid #ccc;
}
@media screen and (max-width: 768px) {
	/* wcs関連バナー */
	.wcs-bnr_wrap {
		width: 100%;
		margin: 0;
	}
	.wcs-bnr_wrap .box {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: center;
	}
	.wcs-bnr_wrap .item {
		width: calc(50% - 10px);
		padding: 0 0 5px 0;
		margin: 0;
	}
	.wcs-bnr_wrap .item:last-child {
		padding: 0 0 5px;
	}
	.wcs-bnr_wrap .item img {
		width: 100%;
		border: 1px solid #ccc;
	}
}
/*  SNSタイムライン用　2カラム */
.frontpage-area-wrap_col2 {
	max-width: 1000px;
	text-align: center;
	margin: 0 auto;
	padding: 0;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
}
.frontpage-area_col2 {
	text-align: center;
	width: 48%;
}
.frontpage-area_col2 h2 {
	font-family: 'century-gothic', sans-serif;
	font-size: 3rem;
	padding: 50px 0 0 0;
}
.frontpage-sns-wrap {
	text-align: center;
	margin: 0 auto;
	padding: 30px 0 50px 0;
}
@media screen and (max-width: 768px) {
	/*  2カラム */
	.frontpage-area-wrap_col2 {
		max-width: 1000px;
		text-align: center;
		margin: 0 auto;
		padding: 0;
		display: flex;
		flex-wrap: wrap;
	}
	.frontpage-area_col2 {
		text-align: center;
		width: 90%;
		margin: 0 auto;
	}
	.frontpage-area_col2 h2 {
		font-size: 2.6rem;
		padding: 20px 0 0 0;
	}
	.frontpage-sns-wrap {
		text-align: center;
		margin: 0 auto;
		padding: 1rem 0;
	}
	.footer-banner-wrap_sp {
		width: 90%;
		margin: 0 auto;
		color: #333;
		text-align: left;
	}
	.footer-banner-wrap_sp a {
		color: #333;
	}
	/* アコーディオンメニュー全体 */
	.ft_list dl {
		width: 90%;
		margin: 10px auto;
	}
	/* メニュー1セット */
	.accordion {
		/* border: 1px solid #ccc; */
		/* margin-top: 5px; */
		cursor: pointer;
		background: #FFF;
		border-radius: 5px;
		padding: 5px;
		margin: 0 0 30px 0;
	}
	/* タイトル */
	.accordion-title {
		position: relative;
		font-size: 12px;
		font-weight: bold;
		padding: 10px 0;
	}
	/* 中身 */
	.accordion-content {
		display: none;
		font-size: clamp(0.75rem, 0.659rem + 0.45vw, 1rem);
		padding: ０;
		margin-bottom: 5px;
		margin: 0 auto;
	}
	/* 疑似要素にアイコンを付ける */
	.accordion-title::after {
		display: inline-block;
		position: absolute;
		top: 2px;
		right: 15px;
		margin: auto 0; /* 上下中央揃え */
		content: "\f107";
		font-family: "Font Awesome 5 free";
		font-weight: 900;
		font-size: 15px;
		width: 1px;
		height: 1px;
		text-align: center;
		color: #333;
		transition: transform 0.5s;
	}
}
/* ======================================================
  5. トップページ設定
====================================================== */
/* 大枠 */
.top-page__container {
	width: 100%;
	background-color: #FFF;
	max-width: 1200px;
	margin: 50px auto;
	padding: 50px 0;
	border-radius: 20px;
	filter: drop-shadow(0px 0px 5px rgba(6, 6, 13, 0.28));
}
/* リンクの基本設定 */
.top-page__container a {
	font-weight: bold;
	color: #000000; /* 標準のリンクカラー */
	text-decoration: none; /* 下線をなくす */
	transition: color 0.3s ease-in-out, transform 0.2s ease-in-out;
}
.top-page__news-button2 {
	color:#E91E63;
}
@media (max-width: 768px) {
	.top-page__container {
		width: 95%;
		margin: 30px auto 50px auto;
	}
}
/* 1カラム */
.top-page__1column__container {
	margin: 0 auto;
	max-width: 90%;
	display: flex;
	flex-direction: column;
	align-items: center;
}
.top-page__1column__container img {
	width: 90%;
	padding: 0 0 20px 0;
}
.top-page__1column__container .txtarea {
	padding: 20px 0;
	max-width: 900px;
}
/* 2カラム */
.top-page__innner {
	display: flex;
	flex-wrap: wrap;
	margin: 0 auto 50px auto;
}
@media (max-width: 768px) {
	.top-page__innner {
		flex-direction: column;
		display: flex;
		flex-wrap: nowrap;
		margin: 0;
	}
}
.top-page__column {
	flex: 1;
	padding: 20px;
	box-sizing: border-box;
}
.top-page__column--left {}
.top-page__column--right {}
.top_txtdeco img {
	text-align: center;
	max-width: 600px;
}
/* タイトル */
.top-page__title {
	margin: 0 auto;
	padding: 50px 0 20px 0;
}
.top-page__title_s {
	margin: 0 auto;
	padding: 50px 0 20px 0;
}
.top-page__title_s p {
	font-size: 20px;
	text-align: center;
}
.top-page__title_ss {
	margin: 0 auto;
	padding: 50px 0 20px 0;
}
.top-page__title_ss p {
	font-size: 20px;
	text-align: center;
}
.top-page__title p {
	font-size: 20px;
	text-align: center;
}
.top-page__title img {
	max-width: 600px;
}
/* イベントの見どころ　３カラム */
.top-page__card__container {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	padding: 0 20px 30px 20px;
	max-width: 1200px;
	margin: auto;
}
.top-page__card {
	flex: 1 1 calc(33.333% - 20px); /* 3カラム */
	background: white;
	padding: 15px;
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
	border-radius: 10px;
	text-align: center;
	background-image: -moz-linear-gradient(90deg, rgb(255, 255, 255) 0%, rgb(255, 255, 0) 100%);
	background-image: -webkit-linear-gradient(90deg, rgb(255, 255, 255) 0%, rgb(255, 255, 0) 100%);
	background-image: -ms-linear-gradient(90deg, rgb(255, 255, 255) 0%, rgb(255, 255, 0) 100%);
}
.top-page__card img {
	width: 100%;
	border-radius: 10px;
}
.top-page__card h3 {
	margin: 10px 0;
	font-size: 18px;
}
.top-page__card p {
	font-size: clamp(0.75rem, 0.659rem + 0.45vw, 1rem);
}
/* 1024px以下で2カラム */
@media (max-width: 1024px) {
	.top-page__card {
		flex: 1 1 calc(50% - 20px);
	}
	.top-page__card h3 {
		margin: 0 0 5px 0;
		font-size: 18px;
	}
	.top-page__card p {
		font-size: 12px;
	}
}
/* 768px以下で1カラム */
@media (max-width: 768px) {
	.top-page__card {
		flex: 1 1 100%;
	}
}
@media (max-width: 768px) {
	.top-page__title {
		margin: 0 auto;
		padding: 50px 0 20px 0;
	}
	.top-page__title p {
		font-size: clamp(0.75rem, 0.659rem + 0.45vw, 1rem);
		text-align: center;
	}
	.top-page__title img {
		max-width: 300px;
	}
	.top-page__title_s img {
		max-width: 160px;
	}
	.top-page__title_s p {
		font-size: 16px;
		text-align: center;
	}
	.top-page__title_ss img {
		max-width: 110px;
	}
	.top-page__title_ss p {
		font-size: 16px;
		text-align: center;
	}
	.top_txtdeco img {
		text-align: center;
		max-width: 100%;
		margin: 0 auto;
	}
}
/*トピックスエリア */
.topcs-container {
	width: 100%;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 0fr));
	gap: 20px;
	max-width: 1000px;
	margin: 0 auto;
}
.topcs-item {
	border: 1px solid #ccc;
	overflow: hidden; /* はみ出しを防ぐ */
}
.topcs-item img {
	width: 100%;
	height: auto;
	display: block;
	transition: transform 0.3s ease-in-out; /* 変化を滑らかに */
}
.topcs-item:hover img {
	transform: scale(1.2); /* 1.2倍に拡大 */
}
.topcs-content {
	padding: 10px;
	position: relative;
	z-index: 999;
	background: #FFF;
}
.topcs-tag {
	display: inline-block;
	padding: 2px 20px;
	font-size: clamp(0.75rem, 0.659rem + 0.45vw, 1rem);
	font-weight: bold;
	color: white;
	/* border-radius: 5px; */
	margin-bottom: 10px;
	position: absolute;
	top: -40px;
	left: 0;
	z-index: 999;
}
/* タグの色をランダムに */
.tag-red {
	background: #f51e1e;
}
.tag-blue {
	background: #0000ff;
}
.tag-green {
	background: #00ff00;
	color: black;
}
.tag-yellow {
	background: #ffed00;
	color: black;
}
.tag-pink {
	background: #ff28b6;
}
.tag-purple {
	background: #a700ff;
}
.topcs-title {
	font-size: 16px;
	font-weight: bold;
	margin-bottom: 5px;
}
.topcs-description {
	font-size: clamp(0.75rem, 0.659rem + 0.45vw, 1rem);
}
@media (max-width: 1024px) {
	.topcs-container {
		width: 80%;
		grid-template-columns: repeat(2, 1fr);
	}
	.topcs-content {
		padding: 5px;
		position: relative;
	}
}
@media (max-width: 480px) {
	.topcs-container {
		width: 90%;
		grid-template-columns: repeat(2, 1fr);
	}
	.topcs-title {
		font-size: 12px;
		font-weight: bold;
		margin-bottom: 5px;
	}
	.topcs-description {
		font-size: 10px;
	}
	.topcs-content {
		padding: 5px;
		position: relative;
	}
	.topcs-tag {
		display: inline-block;
		padding: 2px 10px;
		font-size: 10px;
		font-weight: bold;
		margin-bottom: 10px;
		position: absolute;
		top: -30px;
		z-index: 999;
	}
}
.guide-container {
	display: flex;
	justify-content: center;
	gap: 20px;
	flex-wrap: wrap;
}
.guide-box {
	display: flex;
	width: 28%;
	padding: 20px;
	border: 1px solid #ddd;
	border-radius: 8px;
	text-align: center;
	transition: 0.3s;
	flex-direction: column;
	align-content: center;
	justify-content: space-around;
	align-items: center;
}
.guide-box:hover {
	box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.1);
}
.guide-box img {
	/* width: 50px; */
	height: auto;
	margin-bottom: 10px;
}
.guide-box p {
	font-size: 24px;
	font-weight: bold;
	color: #0044cc;
}
@media (max-width: 768px) {
	.guide-container {
		display: flex;
		justify-content: center;
		gap: 20px;
		flex-wrap: wrap;
	}
	.guide-box {
		display: flex;
		width: 28%;
		padding: 20px 0;
		border: 1px solid #ddd;
		border-radius: 8px;
		text-align: center;
		transition: 0.3s;
		flex-direction: column;
		align-content: center;
		justify-content: space-around;
		align-items: center;
	}
	.guide-box:hover {
		box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.1);
	}
	.guide-box img {
		width: 80%;
		height: auto;
	}
	.guide-box p {
		font-size: clamp(0.75rem, 0.659rem + 0.45vw, 1rem);
		font-weight: bold;
		color: #0044cc;
	}
}
/* ゲスト紹介 */
.top-page__guest {
	display: flex;
	justify-content: center;
	gap: 20px;
	flex-wrap: wrap; /* 画面幅が狭い場合に折り返し */
	padding: 40px 0;
}
/* 個々の円とテキスト */
.top-page__guest-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 250px; /* 円のサイズに合わせた幅 */
}
/* 円形 */
.top-page__guest-circle {
	width: 250px;
	height: 250px;
	background-color: #ccc;
	border-radius: 50%;
}
/* テキスト */
.top-page__guest-text {
	margin-top: 10px;
	font-size: clamp(0.75rem, 0.659rem + 0.45vw, 1rem);
	font-weight: bold;
	color: #333;
}
/* レスポンシブ対応 */
@media (max-width: 678px) {
	.top-page__guest {
		display: flex;
		justify-content: center;
		gap: 10px;
		flex-wrap: wrap; /* 画面幅が狭い場合に折り返し */
		padding: 0;
		flex-direction: row;
	}
	/* 個々の円とテキスト */
	.top-page__guest-item {
		display: flex;
		flex-direction: column;
		align-items: center;
		max-width: 160px; /* 円のサイズに合わせた幅 */
	}
	/* 円形 */
	.top-page__guest-circle {
		width: 130px;
		height: 130px;
		background-color: #ccc;
		border-radius: 50%;
	}
	/* テキスト */
	.top-page__guest-text {
		margin-top: 10px;
		font-size: 12px;
		font-weight: bold;
		color: #333;
	}
}
/* ロケーション */
.top-page__location {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
	max-width: 1000px;
	margin: 0 auto;
}
.top-page__location .card {
	position: relative;
	border-radius: 10px;
	overflow: hidden;
	background-color: white;
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
	text-align: center;
	position: relative;
}
.top-page__location .card img {
	width: 100%;
	height: auto;
	display: block;
	transition: transform 0.3s ease-in-out; /* 変化を滑らかに */
}
.top-page__location .card span {
	border: 2px #FFF solid;
	border-radius: 25px;
	padding: 2px 20px;
	margin: 0 20px 0 0;
}
.top-page__location .card:hover img {
	transform: scale(1.2); /* 1.2倍に拡大 */
}
.top-page__location .card .overlay {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	background: rgb(0 27 174 / 71%);
	color: white;
	padding: 10px;
	font-size: 16px;
	text-align: center;
}
.top-page__location .card .hisaya_overlay {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	background: rgb(0 120 5 / 73%);
	color: white;
	padding: 10px;
	font-size: 16px;
	text-align: center;
}
.top-page__location .card .aichi_overlay {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	background: rgb(227 87 0 / 71%);
	color: white;
	padding: 10px;
	font-size: 16px;
	text-align: center;
}
.top-page__location .card .osuoverlay {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	background: rgb(255 0 0 / 71%);
	color: white;
	padding: 10px;
	font-size: 16px;
	text-align: center;
}
.top-page__location .card .title {
	margin: 10px 0;
	font-size: 16px;
	font-weight: bold;
}
@media (max-width: 768px) {
	.top-page__location {
		width: 95%;
		grid-template-columns: repeat(1, 1fr);
	}
	.top-page__location .card {
		position: relative;
		border-radius: 10px;
		overflow: hidden;
		background-color: white;
		box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
		text-align: center;
		position: relative;
	}
	.top-page__location .card img {
		width: 100%;
		height: auto;
		display: block;
		transition: transform 0.3s ease-in-out; /* 変化を滑らかに */
	}
	.top-page__location .card span {
		border: 2px #FFF solid;
		border-radius: 21px;
		padding: 2px 8px;
		margin: 0 5px 0 0;
		font-size: 14px;
	}
	.top-page__location .card :hover img {
		transform: scale(1.2); /* 1.2倍に拡大 */
	}
	.top-page__location .card .overlay {
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		background: rgb(0 27 174 / 71%);
		color: white;
		padding: 10px;
		text-align: center;
		font-size: 14px;
		display: flex;
		flex-direction: row;
		align-items: center;
		justify-content: space-evenly;
	}
	.top-page__location .card .hisaya_overlay {
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		background: rgb(0 120 5 / 73%);
		color: white;
		padding: 10px;
		text-align: center;
		font-size: 14px;
	}
	.top-page__location .card .aichi_overlay {
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		background: rgb(227 87 0 / 71%);
		color: white;
		padding: 10px;
		text-align: center;
		font-size: 14px;
	}
	.top-page__location .card .osuoverlay {
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		background: rgb(255 0 0 / 71%);
		color: white;
		padding: 10px;
		text-align: center;
		font-size: 14px;
	}
	.top-page__location .card .title {
		margin: 10px 0;
		font-weight: bold;
		font-size: 12px;
	}
}
/* 観光案内バナー */
.top-page__tourist_info {
	width: 100%;
	margin: 0 auto;
}
.top-page__tourist_info .bnrarea {
	display: flex;
	flex-direction: row;
	justify-content: space-evenly;
	flex-wrap: nowrap;
	align-items: center;
	margin: 0 auto;
	text-align: center;
}
.bnrarea img {
	width: 90%;
}
@media (max-width: 768px) {
	.top-page__tourist_info {
		width: 100%;
		margin: 0 auto;
		display: flex;
		justify-content: center;
	}
	.top-page__tourist_info .bnrarea {
		display: flex;
		flex-direction: column;
		align-content: center;
		margin: 0 auto;
		text-align: center;
	}
	.bnrarea img {
		width: 90%;
	}
}
/* トップページトレーラー */
.top-page__trailer {
	width: 90%;
	max-width: 800px;
	margin: 0 auto;
}
/* トップページ　お知らせ */
.top-page__news-container {
	max-width: 900px;
	margin: 20px auto;
	font-size: clamp(0.75rem, 0.659rem + 0.45vw, 1rem);
}
.top-page__news-item {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	background: white;
	border: 2px solid #007bff;
	border-radius: 30px;
	padding: 10px 20px;
	margin-bottom: 10px;
	box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.1);
}
.top-page__news-date {
	font-weight: bold;
	color: #007bff;
	margin-right: 10px;
	white-space: nowrap;
}
.top-page__news-text {
	flex-grow: 1;
	color: #333;
}
.top-page__news-button {
	background-color: #007bff;
	color: white;
	border: none;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	font-weight: bold;
}
@media (max-width: 768px) {
	.top-page__news-container {
		max-width: 95%;
		margin: 20px auto;
		font-size: 12px;
	}
	.top-page__news-item {
		width: 100%;
		display: flex;
		align-items: flex-start;
		justify-content: space-between;
		background: white;
		border: 2px solid #007bff;
		border-radius: 20px;
		padding: 10px 20px;
		margin-bottom: 10px;
		box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.1);
		flex-wrap: wrap;
		flex-direction: column;
	}
	.top-page__news-date {
		font-weight: bold;
		color: #007bff;
		margin-right: 10px;
		white-space: nowrap;
	}
	.top-page__news-text {
		flex-grow: 1;
		color: #333;
	}
	.top-page__news-button {
		display: none;
	}
}
/* SNSエリア */
.top-page__sns-container {
	width: 100%;
}
.top-page__sns-container .snsn-item {
	max-width: 800px;
	display: flex;
	justify-content: space-around;
	margin: 0 auto;
}
.top-page__sns-container .snsn-item p {
	width: 90%;
	margin: 0px 5px;
}
@media (max-width: 768px) {
	.top-page__sns-container .snsn-item img {
		width: 100%;
	}
}
/* スポンサーエリア */
.sponsor-section {
	max-width: 1000px;
	margin: 0 auto;
	width: 95%;
}
.sponsor-row {
	display: grid;
	gap: 20px;
	justify-items: center;
	margin-bottom: 10px;
}
/* 行ごとにカラムの数を変える */
.sponsor-row:nth-child(1) {
	grid-template-columns: 1fr;
}
.sponsor-row:nth-child(2) {
	grid-template-columns: repeat(2, 1fr);
}
.sponsor-row:nth-child(3) {
	grid-template-columns: repeat(3, 1fr);
}
.sponsor-row:nth-child(4) {
	grid-template-columns: repeat(4, 1fr);
}
.sponsor-item {
	background: #ddd;
	height: 80px;
	display: flex;
	align-items: center;
	justify-content: center;
	/* border-radius: 8px; */
	width: 100%;
}
.special-support {
	font-weight: bold;
	font-size: 18px;
	margin: 40px 0 20px;
}
/* レスポンシブ対応 */
@media (max-width: 768px) {
	.sponsor-row {
		grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
	}
	.sponsor-item {
		height: 60px;
	}
}
/* ======================================================
  6. 固定ページ テンプレート
====================================================== */
main {
	margin: 0 auto;
}
section {}
/* リンクの基本設定 */
section a {
	font-weight: bold;
	color: #0600ff; /* 標準のリンクカラー */
	text-decoration: none; /* 下線をなくす */
	transition: color 0.3s ease-in-out, transform 0.2s ease-in-out;
}
/* 未訪問リンク */
section a:link {
	color: #0600ff; /* 青 */
	word-break: break-all;
}
/* 訪問済みリンク */
section a:visited {
	color: #0600ff; /* 青 */
	@charset "UTF-8";
/* Google Fonts */
	@import url('https: //fonts.googleapis.com/css2?family=M+PLUS+1p&display=swap');
	@import url('deco.css');
	@import url('https://netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.min.css');
	@import url('https://fonts.googleapis.com/css2?family=Montserrat&family=Noto+Sans+JP&display=swap');
/* ======================================================
  1. リセット (Reset / Normalize)
====================================================== */
	html, body, div, span, a, p, h1, h2, h3, h4, h5, h6, ul, ol, li, table, th, td, form, input, button {
 margin: 0;
	padding: 0;
	border: 0;
	box-sizing: border-box;
}
	body {
 font-family: "M PLUS 1p", "Noto Sans JP", sans-serif;
	line-height: 1.6;
	background-color: #2f0cce;
	background: url("../images/common/bg007.png");
	background-repeat: repeat;
	background-size: contain;
	background-position: center;
	color: #000;
}
/* リンクの基本設定 */
	a {
 font-weight: bold;
	color: #007bff; /* 標準のリンクカラー */
	text-decoration: none; /* 下線をなくす */
	transition: color 0.3s ease-in-out, transform 0.2s ease-in-out;
}
/* 未訪問リンク */
	a:link {
 color: #0600ff; /* 青 */
}
/* 訪問済みリンク */
	a:visited {
 color: #000000; /* 紫 */
}
/* ホバー時 */
	a:hover {
 color: #ff4500; /* オレンジ */
	text-decoration: underline; /* 下線を追加 */
}
/* クリック時 */
	a:active {
 color: #ff0000; /* 赤 */
	transform: scale(0.95); /* 押した感じを出す */
}
/*表示切り替え設定
================================*/
.pcarea {
	display: block;
}
.sparea {
	display: none;
}
	@media screen and (max-width: 768px) {
 .pcarea {
  display: none;
 }
 .sparea {
	display: block;
 }
}
.aligncenter,
	img.aligncenter {
 display: block;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}
/* ======================================================
  2. ヘッダーデザイン
====================================================== */
.main-header {
	position: relative;
	background: white;
	padding-bottom: 15px;
}
/* グラデーションバー */
.header-gradient {
	height: 10px;
	background-image: -moz-linear-gradient(0deg, rgb(246, 255, 0) 11%, rgb(255, 0, 0) 30%, rgb(255, 32, 195) 51%, rgb(0, 46, 229) 74%, rgb(2, 252, 202) 100%);
	background-image: -webkit-linear-gradient(0deg, rgb(246, 255, 0) 11%, rgb(255, 0, 0) 30%, rgb(255, 32, 195) 51%, rgb(0, 46, 229) 74%, rgb(2, 252, 202) 100%);
	background-image: -ms-linear-gradient(0deg, rgb(246, 255, 0) 11%, rgb(255, 0, 0) 30%, rgb(255, 32, 195) 51%, rgb(0, 46, 229) 74%, rgb(2, 252, 202) 100%);
}
/* ヘッダー上部 */
.header-content {
	display: flex;
	justify-content: space-around;
	align-items: center;
	padding: 5px 20px;
	max-width: 1200px;
	margin: 0 auto;
}
/* ロゴエリア */
.logo-area {
	text-align: center;
}
/* キャッチコピーは上に単独で表示 */
.logo-area .subtitle {
	font-size: clamp(0.75rem, 0.659rem + 0.45vw, 1rem);
	text-align: left;
}
/* タイトルと日程を横並び */
.logo-title {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
}
.logo-title
	h1 {
 font-size: 28px;
	font-weight: bold;
	white-space: nowrap;
}
.logo-title .date {
	font-size: 20px;
	font-weight: bold;
	white-space: nowrap;
	padding: 0 0 0 20px;
}
/* ナビゲーション */
.header-nav {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	width: 100%;
}
.header-nav
	ul {
 display: flex;
	list-style: none;
	gap: 20px;
}
.header-nav
	a {
 text-decoration: none;
	color: black;
	font-size: 14px;
}
/* ENGLISH ボタン */
.btn-english {
	background: red;
	color: white !important;
	padding: 8px 16px;
	border-radius: 8px;
	font-weight: bold;
	transition: 0.3s ease-in-out;
}
.btn-english:
	hover {
 background: #FF5722;
}
/* メニューアイコン */
.menu-icons {
	text-align: center;
}
.menu-icons
	ul {
 display: flex;
	justify-content: center;
	gap: 20px;
	list-style: none;
	flex-wrap: wrap;
	max-width: 90%;
	margin: 0 auto;
	padding: 0;
}
.menu-icons
	li {
 display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: space-around;
	gap: 8px;
	text-align: center;
	min-width: 100px; /* 幅を統一して均一にする */
	font-size: 14px;
	font-weight: bold;
}
.menu-icons
	a {
 display: flex;
	flex-direction: column;
	align-items: center;
	text-decoration: none;
	height: 75px;
	justify-content: flex-end;
	color: black;
}
.menu-icons
	img {
 margin: 10px;
	transition: transform 0.3s ease-in-out;
}
.menu-icons
	a:hover img {
 transform: scale(1.1);
}
/*モバイルメニューを非表示 */
.mobile-nav {
	display: none;
}
	@media (max-width: 1024px) {
 .main-header {
  position: relative;
	background: white;
	padding-bottom: 5px;
 }
 .header-gradient {
	height: 10px;
 }
 .logo-title {
	display: flex;
	align-items: center;
	gap: 10px;
	justify-content: flex-start;
 }
 .logo-title img {
	width: 90%;
	max-width: 320px;
	padding-right: 20px;
 }
 .logo-title .date {
	display: none;
 }
 /* ナビゲーション */
 .header-nav {
	display: block;
 }
 /* ハンバーガーメニュー（768px以下で表示） */
 .hamburger-menu {
	display: none;
	flex-direction: column;
	justify-content: space-around;
	width: 40px;
	height: 30px;
	cursor: pointer;
 }
 .hamburger-menu div {
	width: 100%;
	height: 3px;
	background-color: #333;
 }
 /* ハンバーガーメニューがアクティブ (X に変化) */
 .hamburger-menu.active div:nth-child(1) {
	transform: translateY(9px) rotate(45deg);
 }
 .hamburger-menu.active div:nth-child(2) {
	opacity: 0;
 }
 .hamburger-menu.active div:nth-child(3) {
	transform: translateY(-9px) rotate(-45deg);
 }
 /* モバイルメニュー */
 .mobile-nav {
	display: none;
	position: absolute;
	top: 91px;
	right: 0;
	width: 100%;
	background-color: white;
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
	z-index: 9999;
 }
 .mobile-nav ul {
	list-style: none;
	padding: 10px 30px;
	text-align: left;
 }
 .mobile-nav ul li {
	padding: 10px 0;
	border-bottom: #999999 1px solid;
 }
 .mobile-nav ul li a {
	text-decoration: none;
	color: #000;
	font-size: 16px;
 }
 .header-content {
	justify-content: space-between;
	padding: 5px;
 }
 .logo-title {
	justify-content: flex-start;
 }
 .header-nav, .menu-icons {
	display: none; /* メニュー非表示 */
 }
 .hamburger-menu {
	display: flex; /* ハンバーガーメニューを表示 */
 }
 /* サブメニューのデザイン */
 .submenu {
	display: none;
	list-style: none;
	padding-left: 15px;
	background-color: #f5f5f5;
 }
 .submenu li {
	padding: 8px 0;
	border-bottom: 1px solid #ddd;
 }
 .submenu li a {
	font-size: 14px;
	color: #333;
 }
 /* ホバーまたはクリック時に表示 */
 .has-submenu > a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	cursor: pointer;
 }
 .has-submenu > a::
	after {
  content: "▼";
	font-size: 12px;
	margin-left: 5px;
	transition: transform 0.3s ease;
 }
 /* メニューが開いた状態 */
 .has-submenu.active .submenu {
	display: block;
 }
 .has-submenu.active > a::
	after {
  transform: rotate(180deg);
 }
}
/* ======================================================
  Slider 設定
====================================================== */
/* スライダーのコンテナ */
.slider {
	width: 100%;
	margin: 0 auto;
}
.slider
	img {
 width: 100%;
}
.slider .slick-slide {
	height: auto !important;
}
.slider .slick-arrow {
	z-index: 2 !important;
}
.slider .slick-next {
	right: 0 !important;
}
.slider .slick-prev {
	left: 0 !important;
}
.slider .slick-slide {
	margin-right: 1vw !important;
	margin-left: 1vw !important;
}
/*====================================================================
.full-screen
====================================================================*/
.full-screen .slick-list {
	overflow: visible;
}
.full-screen.slider {
	max-width: 300px;
	margin: 0 auto;
}
/* ======================================================
  3. コンポーネント
====================================================== */
/* テキストの色 */
.gray-txt {
	color: #607D8B !important;
}
/*もっと見るボタン */
.button {
	display: inline-block;
	padding: 10px 20px;
	/* background: #feff00; */
	color: #000;
	border: solid 3px;
	border-radius: 25px;
	text-decoration: none;
	transition: 0.3s;
	font-weight: 700;
	min-width: 260px;
}
.button:
	hover {
 background: #2f0cce;
	color: #FFF;
	border: solid 3px #000;
	border-radius: 25px;
	text-decoration: none; /* 下線をなくす */
}
.button::
	after {
 content: "";
	display: inline-block;
	width: 8px;
	height: 8px;
	border-right: 2px solid black;
	border-bottom: 2px solid black;
	transform: rotate(-45deg);
	margin-left: 10px;
	transition: transform 0.3s ease-in-out, border-color 0.3s ease-in-out;
}
.button:
	hover::after {
 transform: translateX(5px) rotate(-45deg);
	border-right: 2px solid white;
	border-bottom: 2px solid white;
}
/*もっと見るボタン(記事内) */
.wrap-button {
	width: 100%;
	margin: 20px auto;
	text-align: center;
	font-size: 18px;
}
.button2 {
	display: inline-block;
	padding: 10px 20px;
	background: #FF5722;
	color: #ffffff !important;
	border: solid 3px;
	border-radius: 10px;
	text-decoration: none;
	transition: 0.3s;
	font-weight: 700;
	min-width: 260px;
	border-color: #FF5722;
}
.button2:
	hover {
 background: #feff00;
	color: #000000 !important;
	border: solid 3px #FF5722 !important;
	border-radius: 10px;
	text-decoration: none; /* 下線をなくす */
}
.button2::
	after {
 content: "";
	display: inline-block;
	width: 8px;
	height: 8px;
	border-right: 2px solid #FFF !important;
	border-bottom: 2px solid #FFF !important;
	transform: rotate(-45deg);
	margin-left: 10px;
	transition: transform 0.3s ease-in-out, border-color 0.3s ease-in-out;
}
.button2:
	hover::after {
 transform: translateX(5px) rotate(-45deg);
	border-right: 2px solid black !important;
	border-bottom: 2px solid black !important;
}
/* 装飾 */
.center {
	text-align: center;
	margin: 0 auto;
}
/* youtube */
.youtube {
	width: 100%;
	aspect-ratio: 16 / 9;
}
.youtube
	iframe {
 width: 100%;
	height: 100%;
}
/* 画像を白黒にする */
.grayscale {
	filter: grayscale(100%);
	opacity: 0.5;
}
/* ======================================================
  4. フッター
====================================================== */
/* フッター設定：メガメニュー　*/
.footer-menu {
	width: 100%;
	background: #FFF;
	background: linear-gradient(90deg, rgb(131 213 4 / 37%) 0%, rgb(63 199 185 / 58%) 35%, rgb(255 246 0 / 54%) 73%, rgb(234 111 159 / 48%) 100%);
	color: #333;
	margin: 0 auto;
}
.footer-menu
	a {
 color: #FFF;
	text-decoration: none;
}
.footer-menu-wrap {
	max-width: 1000px;
	width: auto;
	margin: 0 auto;
	padding: 3rem 0 0 0;
	line-height: 2;
	display: flex;
	flex-wrap: wrap;
}
.footer-menu-item {
	width: 18%;
	padding: 0 1rem;
	margin: 0 0 3rem 0;
	line-height: 2;
}
.footer-menu-titile {
	font-size: 16px;
	min-height: 0vw;
	margin: 0 0 1rem 0;
	padding: 0;
	line-height: 1.3;
	font-weight: 700;
}
.footer-menu-list {
	font-size: 1.2rem;
	line-height: 1.8;
}
.footer-menu-list
	a {
 color: #333;
	font-weight: normal;
	FONT-VARIANT: JIS04;
}
.footer-menu-titile
	a:hover, .footer-menu-list a:hover {
 color: red;
	text-decoration: underline;
}
.footer-inquery {
	width: 100%;
	background: #baea6a;
	padding: 30px 0;
}
.footer-inquery
	h2 {
 text-align: center;
	line-height: 2;
	font-weight: 500;
	font-size: 16px;
}
.footer-inquery
	p {
 text-align: center;
	line-height: 2;
}
.footer-inquery-wrap {
	width: 1000px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	align-items: stretch;
}
.footer-inquery-item {
	width: 100%;
	display: flex;
}
.footer-inquery-item .box {
	width: 100%;
	/* min-height: 130px; */
	background: #FFF;
	border: 2px solid #83d504;
	border-radius: 10px;
	margin: 10px;
	padding: 10px;
	display: flex;
	flex-direction: column;
	align-content: space-around;
	align-items: center;
}
.footer-inquery-item .box
	p {
 font-weight: bold;
}
.footer-inquery-item .item {
	padding: 10px 0 0 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-evenly;
	align-items: center;
}
.footer-inquery-item .item .btn
	a {
 display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0 auto 10px 10px;
	padding: 10px;
	width: 180px;
	background: #FFF;
	color: #333;
	font-weight: 500;
	border: 2px solid #83d504;
	border-radius: 10px;
}
.footer-inquery-item .item .btn
	a::after {
 content: '';
	width: 5px;
	height: 5px;
	border-top: 3px solid #83d504;
	border-right: 3px solid #83d504;
	transform: rotate(45deg);
}
.footer-inquery-item .item .btn
	a:hover {
 color: #333;
	text-decoration: none;
	background-color: #83d504;
}
.footer-inquery-item .item .btn
	a:hover::after {
 border-top: 3px solid #FFF;
	border-right: 3px solid #FFF;
}
	@media screen and (max-width: 1024px) {
 .footer-inquery-item {
  width: 90%;
	/* display: flex; */
	/* flex-wrap: wrap; */
	/* justify-content: center; */
 }
 .footer-inquery-wrap {
	width: 100%;
	margin: 0 auto;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
 }
 .footer-inquery-item .box {
	width: 100%;
	height: auto;
	background: #FFF;
	border: 2px solid #83d504;
	border-radius: 10px;
	margin: 10px;
	padding: 10px 20px;
 }
 .footer-inquery-item .box p {
	font-weight: 500;
 }
 .footer-inquery-item .item {
	padding: 10px 0 0 0;
	display: flex;
	flex-wrap: nowrap;
	justify-content: flex-start;
 }
}
	@media screen and (max-width: 768px) {
 .ft_inq_area {
  width: 100%;
	text-align: center;
	font-weight: 500;
	font-size: 16px;
 }
 .ft_inq_area a {
	color: #333;
 }
 .ft_inq_area_topwrap {
	padding: 10px;
	border-top: 1px solid #bbb;
	border-bottom: 1px solid #bbb;
	background: rgb(255, 255, 255);
	background: linear-gradient(180deg, rgba(255, 255, 255, 1) 60%, rgba(242, 242, 242, 1) 100%, rgba(255, 246, 0, 1) 100%);
 }
 .ft_inq_top_btn {
	padding: 5px;
 }
 .ft_inq_area_topdown {
	width: 100%;
	/* padding: 5px; */
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-around;
	align-items: center;
	background: rgb(255, 255, 255);
	background: linear-gradient(180deg, rgba(255, 255, 255, 1) 60%, rgba(242, 242, 242, 1) 100%, rgba(255, 246, 0, 1) 100%);
 }
 .ft_inq_area_topdown .ft_inq_btn {
	width: 50%;
	text-align: center;
	border-right: 1px solid #bbb;
	border-bottom: 1px solid #bbb;
	padding: 12px 0;
 }
}
/* 販売ボタン下部 */
.btn_ticketsale {
	position: fixed;
	right: 0;
	bottom: 140px;
}
.shake-image {
	display: inline-block;
	animation: shake-pause-cycle 2s infinite;
}
	@keyframes shake-pause-cycle {
 0% {
  transform: translate(1px, 1px) rotate(0deg);
 }
 5% {
	transform: translate(-1px, -2px) rotate(-1deg);
 }
 10% {
	transform: translate(-3px, 0px) rotate(1deg);
 }
 15% {
	transform: translate(3px, 2px) rotate(0deg);
 }
 20% {
	transform: translate(1px, -1px) rotate(1deg);
 }
 25% {
	transform: translate(-1px, 2px) rotate(-1deg);
 }
 30% {
	transform: translate(-3px, 1px) rotate(0deg);
 }
 35% {
	transform: translate(3px, 1px) rotate(-1deg);
 }
 40% {
	transform: translate(-1px, -1px) rotate(1deg);
 }
 45% {
	transform: translate(1px, 2px) rotate(0deg);
 }
 50% {
	transform: translate(1px, -2px) rotate(-1deg);
 }
 /* ↓ 50%以降は静止状態にする */
 51%, 100% {
	transform: none;
 }
}
/* 販売ボタン下部 SP */
.btn_ticketsale_sp {
	position: fixed;
	right: 0;
	bottom: 0;
	padding-bottom: 20px;
	background: yellow;
	font-size: 2rem;
	text-align: center;
	width: 100%;
}
/* 販売ボタン下部  SP サイズ調整*/
.btn_ticketsale_sp
	img {
 max-width: 200px;
}
/* みずどりの基本設定 */
.layer-img {
	width: 90px;
	height: 240px;
}
/* 大枠ボックス */
.layer {
 /* 背景画像設定 */
	background: url(https://homepagenopro.com/wp-content/uploads/2018/08/d11_img_beach.jpg) no-repeat 0 0;
	background-size: 100%;
 /* ボックス配置指定 */
	position: relative;
	margin: 0 auto;
	text-align: center;
 /* ボックスサイズ指定 */
	width: 640px;
	height: 358px;
}
/* 重ねるボックスの設定 */
.layer-in {
 /* ボックス配置指定 */
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
 /* 上下左右中央のときのみ */
	width: 400px;
	height: 100px;
}
/* みずどりの基本設定 */
.layer-img {
	width: 150px;
	height: auto;
}
/* -----------------------------------------------------------------------------------------------------

    フッター設定：メガメニュー２　　

-----------------------------------------------------------------------------------------------------*/
.footer-banner-area {
	width: 100%;
	background: #222;
	padding: 3rem 0;
}
.footer-banner-wrap {
	width: 90%;
	max-width: 980px;
	margin: 0 auto 2rem auto;
	background: #FFF;
	padding: 1rem;
}
.footer-banner-wrap
	h4 {
 font-size: 16px;
	color: #333;
	text-align: left;
	padding: 1rem 0 0.5rem 0;
}
.footer-banner-wrap
	li {
 padding: 1rem 0;
}
.footer-banner-item {
	display: flex;
	flex-wrap: nowrap;
	justify-content: flex-start;
	flex-direction: row;
}
.footer-banner-item
	img {
 width: 90%;
}
/* オーガナイザー　*/
.footer-banner-organizer-item {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	flex-direction: row;
	align-content: space-around;
	font-weight: 600;
}
.footer-banner-organizer-item .box {
	width: calc((100% / 10) - 0px); /* 追加 */
	padding: 5px 0;
}
.footer-banner-organizer-item .box
	img {
 width: 90%;
}
.footer-banner-organizer-item .box
	span {
 color: #333;
	position: relative;
	padding: 0;
	font-size: 10px;
	display: flex;
	justify-content: center;
}
/* -----------------------------------------------------------------------------------------------------

    フッター設定：会社情報・ロゴ・最後

-----------------------------------------------------------------------------------------------------*/
.footer_last {
	width: 100%;
	padding: 3rem 0 0 0;
	background: #83d504;
	background-image: url("../images/toppage/ft_bg.png");
	background-sze: cover;
	color: #fff;
	font-size: 10px;
	text-align: center;
}
.footer_last .company {
	font-size: clamp(0.75rem, 0.659rem + 0.45vw, 1rem);
	text-align: center;
	padding: 20px 0;
}
.footer_last .company
	a {
 color: #FFF;
	text-decoration: underline;
}
.footer_last .company
	a:hover {
 color: red;
	text-decoration: underline;
}
.footer_last .company
	a:active {
 color: #fff000;
}
.footer_last .ftlogo {
	max-width: 1000px;
	margin: 30px auto 0 auto;
}
.footer_last .ftlogo
	img {
 width: 150px;
	padding-bottom: 20px;
}
.footer_last .ftsns {
	margin: 0 auto;
	width: 100%;
}
.footer_last .ftsns
	img {
 width: 50px;
	padding: 10px;
}
	@media screen and (max-width: 768px) {
 .footer-menu {
  display: none;
 }
 .footer-inquery {
	display: none;
 }
 /* 主催事務局 */
 .footer-banner-item {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	list-style: none;
	/* padding: 5px 0 0 0; */
 }
 .footer-banner-item .box {
	width: calc((100% / 3) - 5px); /* 追加 */
	padding: 2px;
 }
 .footer-banner-item img {
	width: 95%;
	padding: 5px 0;
 }
 /* オーガナイザー　*/
 .footer-banner-organizer-item {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	flex-direction: row;
	margin: 0 auto;
 }
 .footer-banner-organizer-item .box {
	width: calc((100% / 4) - 0px); /* 追加 */
	padding: 5px 0;
 }
 .footer-banner-organizer-item .box img {
	width: 90%;
 }
 .footer-banner-organizer-item .box span {
	color: #333;
	position: relative;
	padding: 0;
	margin: 0 auto;
	text-align: center;
	font-size: 10px;
	display: flex;
	justify-content: center;
 }
 .footer_last {
	width: 100%;
	padding: 3rem 0 0 0;
	background: #83d504;
	background-image: url("../images/toppage/ft_bg.png");
	background-sze: cover;
	color: #fff;
	font-size: 10px;
	text-align: center;
	margin-bottom: 60px;
 }
}
/* -----------------------------------------------------------------------------------------------------

    SNSアカウントエリア：固定

-----------------------------------------------------------------------------------------------------*/
.sns-account_warp {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
}
.sns-account_cont {
	display: flex;
	flex-wrap: wrap;
	background: #e2f9bc;
	margin: 20px auto;
	padding: 20px;
	border-radius: 10px;
}
.sns-account_cont .item {
	width: calc(100%/6);
	display: flex;
	justify-content: center;
	align-items: center;
	align-content: center;
}
.sns-account_cont .item
	img {
 max-width: 100%;
}
	@media screen and (max-width: 768px) {
 .sns-account_cont .item img {
  max-width: 80%;
 }
}
/* wcs関連バナー */
.wcs-bnr_wrap {
	width: 100%;
	margin: 0;
}
.wcs-bnr_wrap .box {
	display: flex;
	flex-wrap: nowrap;
}
.wcs-bnr_wrap .item {
	width: 100%;
	padding: 0 10px 0 0;
	margin: 0 auto;
}
.wcs-bnr_wrap .item:
	last-child {
 padding: 0;
}
.wcs-bnr_wrap .item
	img {
 width: 100%;
	border: 1px solid #ccc;
}
	@media screen and (max-width: 768px) {
 /* wcs関連バナー */
 .wcs-bnr_wrap {
  width: 100%;
	margin: 0;
 }
 .wcs-bnr_wrap .box {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
 }
 .wcs-bnr_wrap .item {
	width: calc(50% - 10px);
	padding: 0 0 5px 0;
	margin: 0;
 }
 .wcs-bnr_wrap .item:
	last-child {
  padding: 0 0 5px;
 }
 .wcs-bnr_wrap .item img {
	width: 100%;
	border: 1px solid #ccc;
 }
}
/*  SNSタイムライン用　2カラム */
.frontpage-area-wrap_col2 {
	max-width: 1000px;
	text-align: center;
	margin: 0 auto;
	padding: 0;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
}
.frontpage-area_col2 {
	text-align: center;
	width: 48%;
}
.frontpage-area_col2
	h2 {
 font-family: 'century-gothic', sans-serif;
	font-size: 3rem;
	padding: 50px 0 0 0;
}
.frontpage-sns-wrap {
	text-align: center;
	margin: 0 auto;
	padding: 30px 0 50px 0;
}
	@media screen and (max-width: 768px) {
 /*  2カラム */
 .frontpage-area-wrap_col2 {
  max-width: 1000px;
	text-align: center;
	margin: 0 auto;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
 }
 .frontpage-area_col2 {
	text-align: center;
	width: 90%;
	margin: 0 auto;
 }
 .frontpage-area_col2 h2 {
	font-size: 2.6rem;
	padding: 20px 0 0 0;
 }
 .frontpage-sns-wrap {
	text-align: center;
	margin: 0 auto;
	padding: 1rem 0;
 }
 .footer-banner-wrap_sp {
	width: 90%;
	margin: 0 auto;
	color: #333;
	text-align: left;
 }
 .footer-banner-wrap_sp a {
	color: #333;
 }
 /* アコーディオンメニュー全体 */
 .ft_list dl {
	width: 90%;
	margin: 10px auto;
 }
 /* メニュー1セット */
 .accordion {
	/* border: 1px solid #ccc; */
	/* margin-top: 5px; */
	cursor: pointer;
	background: #FFF;
	border-radius: 5px;
	padding: 5px;
	margin: 0 0 30px 0;
 }
 /* タイトル */
 .accordion-title {
	position: relative;
	font-size: 12px;
	font-weight: bold;
	padding: 10px 0;
 }
 /* 中身 */
 .accordion-content {
	display: none;
	font-size: clamp(0.75rem, 0.659rem + 0.45vw, 1rem);
	padding: ０;
	margin-bottom: 5px;
	margin: 0 auto;
 }
 /* 疑似要素にアイコンを付ける */
 .accordion-title::
	after {
  display: inline-block;
	position: absolute;
	top: 2px;
	right: 15px;
	margin: auto 0; /* 上下中央揃え */
	content: "\f107";
	font-family: "Font Awesome 5 free";
	font-weight: 900;
	font-size: 15px;
	width: 1px;
	height: 1px;
	text-align: center;
	color: #333;
	transition: transform 0.5s;
 }
}
/* ======================================================
  5. トップページ設定
====================================================== */
/* 大枠 */
.top-page__container {
	width: 100%;
	background-color: #FFF;
	max-width: 1200px;
	margin: 50px auto;
	padding: 50px 0;
	border-radius: 20px;
	filter: drop-shadow(0px 0px 5px rgba(6, 6, 13, 0.28));
}
/* リンクの基本設定 */
.top-page__container
	a {
 font-weight: bold;
	color: #000000; /* 標準のリンクカラー */
	text-decoration: none; /* 下線をなくす */
	transition: color 0.3s ease-in-out, transform 0.2s ease-in-out;
}
.top-page__news-button2 {
	color: #E91E63;
}
	@media (max-width: 768px) {
 .top-page__container {
  width: 95%;
	margin: 30px auto 50px auto;
 }
}
/* 1カラム */
.top-page__1column__container {
	margin: 0 auto;
	max-width: 90%;
	display: flex;
	flex-direction: column;
	align-items: center;
}
.top-page__1column__container
	img {
 width: 90%;
	padding: 0 0 20px 0;
}
.top-page__1column__container .txtarea {
	padding: 20px 0;
	max-width: 900px;
}
/* 2カラム */
.top-page__innner {
	display: flex;
	flex-wrap: wrap;
	margin: 0 auto 50px auto;
}
	@media (max-width: 768px) {
 .top-page__innner {
  flex-direction: column;
	display: flex;
	flex-wrap: nowrap;
	margin: 0;
 }
}
.top-page__column {
	flex: 1;
	padding: 20px;
	box-sizing: border-box;
}
.top-page__column--left {}
.top-page__column--right {}
.top_txtdeco
	img {
 text-align: center;
	max-width: 600px;
}
/* タイトル */
.top-page__title {
	margin: 0 auto;
	padding: 50px 0 20px 0;
}
.top-page__title_s {
	margin: 0 auto;
	padding: 50px 0 20px 0;
}
.top-page__title_s
	p {
 font-size: 20px;
	text-align: center;
}
.top-page__title_ss {
	margin: 0 auto;
	padding: 50px 0 20px 0;
}
.top-page__title_ss
	p {
 font-size: 20px;
	text-align: center;
}
.top-page__title
	p {
 font-size: 20px;
	text-align: center;
}
.top-page__title
	img {
 max-width: 600px;
}
/* イベントの見どころ　３カラム */
.top-page__card__container {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	padding: 0 20px 30px 20px;
	max-width: 1200px;
	margin: auto;
}
.top-page__card {
	flex: 1 1 calc(33.333% - 20px); /* 3カラム */
	background: white;
	padding: 15px;
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
	border-radius: 10px;
	text-align: center;
	background-image: -moz-linear-gradient(90deg, rgb(255, 255, 255) 0%, rgb(255, 255, 0) 100%);
	background-image: -webkit-linear-gradient(90deg, rgb(255, 255, 255) 0%, rgb(255, 255, 0) 100%);
	background-image: -ms-linear-gradient(90deg, rgb(255, 255, 255) 0%, rgb(255, 255, 0) 100%);
}
.top-page__card
	img {
 width: 100%;
	border-radius: 10px;
}
.top-page__card
	h3 {
 margin: 10px 0;
	font-size: 18px;
}
.top-page__card
	p {
 font-size: clamp(0.75rem, 0.659rem + 0.45vw, 1rem);
}
/* 1024px以下で2カラム */
	@media (max-width: 1024px) {
 .top-page__card {
  flex: 1 1 calc(50% - 20px);
 }
 .top-page__card h3 {
	margin: 0 0 5px 0;
	font-size: 18px;
 }
 .top-page__card p {
	font-size: 12px;
 }
}
/* 768px以下で1カラム */
	@media (max-width: 768px) {
 .top-page__card {
  flex: 1 1 100%;
 }
}
	@media (max-width: 768px) {
 .top-page__title {
  margin: 0 auto;
	padding: 50px 0 20px 0;
 }
 .top-page__title p {
	font-size: clamp(0.75rem, 0.659rem + 0.45vw, 1rem);
	text-align: center;
 }
 .top-page__title img {
	max-width: 300px;
 }
 .top-page__title_s img {
	max-width: 160px;
 }
 .top-page__title_s p {
	font-size: 16px;
	text-align: center;
 }
 .top-page__title_ss img {
	max-width: 110px;
 }
 .top-page__title_ss p {
	font-size: 16px;
	text-align: center;
 }
 .top_txtdeco img {
	text-align: center;
	max-width: 100%;
	margin: 0 auto;
 }
}
/*トピックスエリア */
.topcs-container {
	width: 100%;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 0fr));
	gap: 20px;
	max-width: 1000px;
	margin: 0 auto;
}
.topcs-item {
	border: 1px solid #ccc;
	overflow: hidden; /* はみ出しを防ぐ */
}
.topcs-item
	img {
 width: 100%;
	height: auto;
	display: block;
	transition: transform 0.3s ease-in-out; /* 変化を滑らかに */
}
.topcs-item:
	hover img {
 transform: scale(1.2); /* 1.2倍に拡大 */
}
.topcs-content {
	padding: 10px;
	position: relative;
	z-index: 999;
	background: #FFF;
}
.topcs-tag {
	display: inline-block;
	padding: 2px 20px;
	font-size: clamp(0.75rem, 0.659rem + 0.45vw, 1rem);
	font-weight: bold;
	color: white;
	/* border-radius: 5px; */
	margin-bottom: 10px;
	position: absolute;
	top: -40px;
	left: 0;
	z-index: 999;
}
/* タグの色をランダムに */
.tag-red {
	background: #f51e1e;
}
.tag-blue {
	background: #0000ff;
}
.tag-green {
	background: #00ff00;
	color: black;
}
.tag-yellow {
	background: #ffed00;
	color: black;
}
.tag-pink {
	background: #ff28b6;
}
.tag-purple {
	background: #a700ff;
}
.topcs-title {
	font-size: 16px;
	font-weight: bold;
	margin-bottom: 5px;
}
.topcs-description {
	font-size: clamp(0.75rem, 0.659rem + 0.45vw, 1rem);
}
	@media (max-width: 1024px) {
 .topcs-container {
  width: 80%;
	grid-template-columns: repeat(2, 1fr);
 }
 .topcs-content {
	padding: 5px;
	position: relative;
 }
}
	@media (max-width: 480px) {
 .topcs-container {
  width: 90%;
	grid-template-columns: repeat(2, 1fr);
 }
 .topcs-title {
	font-size: 12px;
	font-weight: bold;
	margin-bottom: 5px;
 }
 .topcs-description {
	font-size: 10px;
 }
 .topcs-content {
	padding: 5px;
	position: relative;
 }
 .topcs-tag {
	display: inline-block;
	padding: 2px 10px;
	font-size: 10px;
	font-weight: bold;
	margin-bottom: 10px;
	position: absolute;
	top: -30px;
	z-index: 999;
 }
}
.guide-container {
	display: flex;
	justify-content: center;
	gap: 20px;
	flex-wrap: wrap;
}
.guide-box {
	display: flex;
	width: 28%;
	padding: 20px;
	border: 1px solid #ddd;
	border-radius: 8px;
	text-align: center;
	transition: 0.3s;
	flex-direction: column;
	align-content: center;
	justify-content: space-around;
	align-items: center;
}
.guide-box:
	hover {
 box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.1);
}
.guide-box
	img {
 /* width: 50px; */
 height: auto;
	margin-bottom: 10px;
}
.guide-box
	p {
 font-size: 24px;
	font-weight: bold;
	color: #0044cc;
}
	@media (max-width: 768px) {
 .guide-container {
  display: flex;
	justify-content: center;
	gap: 20px;
	flex-wrap: wrap;
 }
 .guide-box {
	display: flex;
	width: 28%;
	padding: 20px 0;
	border: 1px solid #ddd;
	border-radius: 8px;
	text-align: center;
	transition: 0.3s;
	flex-direction: column;
	align-content: center;
	justify-content: space-around;
	align-items: center;
 }
 .guide-box:
	hover {
  box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.1);
 }
 .guide-box img {
	width: 80%;
	height: auto;
 }
 .guide-box p {
	font-size: clamp(0.75rem, 0.659rem + 0.45vw, 1rem);
	font-weight: bold;
	color: #0044cc;
 }
}
/* ゲスト紹介 */
.top-page__guest {
	display: flex;
	justify-content: center;
	gap: 20px;
	flex-wrap: wrap; /* 画面幅が狭い場合に折り返し */
	padding: 40px 0;
}
/* 個々の円とテキスト */
.top-page__guest-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 250px; /* 円のサイズに合わせた幅 */
}
/* 円形 */
.top-page__guest-circle {
	width: 250px;
	height: 250px;
	background-color: #ccc;
	border-radius: 50%;
}
/* テキスト */
.top-page__guest-text {
	margin-top: 10px;
	font-size: clamp(0.75rem, 0.659rem + 0.45vw, 1rem);
	font-weight: bold;
	color: #333;
}
/* レスポンシブ対応 */
	@media (max-width: 678px) {
 .top-page__guest {
  display: flex;
	justify-content: center;
	gap: 10px;
	flex-wrap: wrap; /* 画面幅が狭い場合に折り返し */
	padding: 0;
	flex-direction: row;
 }
 /* 個々の円とテキスト */
 .top-page__guest-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	max-width: 160px; /* 円のサイズに合わせた幅 */
 }
 /* 円形 */
 .top-page__guest-circle {
	width: 130px;
	height: 130px;
	background-color: #ccc;
	border-radius: 50%;
 }
 /* テキスト */
 .top-page__guest-text {
	margin-top: 10px;
	font-size: 12px;
	font-weight: bold;
	color: #333;
 }
}
/* ロケーション */
.top-page__location {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
	max-width: 1000px;
	margin: 0 auto;
}
.top-page__location .card {
	position: relative;
	border-radius: 10px;
	overflow: hidden;
	background-color: white;
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
	text-align: center;
	position: relative;
}
.top-page__location .card
	img {
 width: 100%;
	height: auto;
	display: block;
	transition: transform 0.3s ease-in-out; /* 変化を滑らかに */
}
.top-page__location .card
	span {
 border: 2px #FFF solid;
	border-radius: 25px;
	padding: 2px 20px;
	margin: 0 20px 0 0;
}
.top-page__location .card:
	hover img {
 transform: scale(1.2); /* 1.2倍に拡大 */
}
.top-page__location .card .overlay {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	background: rgb(0 27 174 / 71%);
	color: white;
	padding: 10px;
	font-size: 16px;
	text-align: center;
}
.top-page__location .card .hisaya_overlay {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	background: rgb(0 120 5 / 73%);
	color: white;
	padding: 10px;
	font-size: 16px;
	text-align: center;
}
.top-page__location .card .aichi_overlay {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	background: rgb(227 87 0 / 71%);
	color: white;
	padding: 10px;
	font-size: 16px;
	text-align: center;
}
.top-page__location .card .osuoverlay {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	background: rgb(255 0 0 / 71%);
	color: white;
	padding: 10px;
	font-size: 16px;
	text-align: center;
}
.top-page__location .card .title {
	margin: 10px 0;
	font-size: 16px;
	font-weight: bold;
}
	@media (max-width: 768px) {
 .top-page__location {
  width: 95%;
	grid-template-columns: repeat(2, 1fr);
 }
 .top-page__location .card {
	position: relative;
	border-radius: 10px;
	overflow: hidden;
	background-color: white;
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
	text-align: center;
	position: relative;
 }
 .top-page__location .card img {
	width: 100%;
	height: auto;
	display: block;
	transition: transform 0.3s ease-in-out; /* 変化を滑らかに */
 }
 .top-page__location .card span {
	border: 2px #FFF solid;
	border-radius: 21px;
	padding: 2px 8px;
	margin: 0 5px 0 0;
	font-size: 14px;
 }
 .top-page__location .card :
	hover img {
  transform: scale(1.2); /* 1.2倍に拡大 */
 }
 .top-page__location .card .overlay {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	background: rgb(0 27 174 / 71%);
	color: white;
	padding: 10px;
	text-align: center;
	font-size: 14px;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-evenly;
 }
 .top-page__location .card .hisaya_overlay {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	background: rgb(0 120 5 / 73%);
	color: white;
	padding: 10px;
	text-align: center;
	font-size: 14px;
 }
 .top-page__location .card .aichi_overlay {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	background: rgb(227 87 0 / 71%);
	color: white;
	padding: 10px;
	text-align: center;
	font-size: 14px;
 }
 .top-page__location .card .osuoverlay {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	background: rgb(255 0 0 / 71%);
	color: white;
	padding: 10px;
	text-align: center;
	font-size: 14px;
 }
 .top-page__location .card .title {
	margin: 10px 0;
	font-weight: bold;
	font-size: 12px;
 }
}
/* 観光案内バナー */
.top-page__tourist_info {
	width: 100%;
	margin: 0 auto;
}
.top-page__tourist_info .bnrarea {
	display: flex;
	flex-direction: row;
	justify-content: space-evenly;
	flex-wrap: nowrap;
	align-items: center;
	margin: 0 auto;
	text-align: center;
}
.bnrarea
	img {
 width: 90%;
}
	@media (max-width: 768px) {
 .top-page__tourist_info {
  width: 100%;
	margin: 0 auto;
	display: flex;
	justify-content: center;
 }
 .top-page__tourist_info .bnrarea {
	display: flex;
	flex-direction: column;
	align-content: center;
	margin: 0 auto;
	text-align: center;
 }
 .bnrarea img {
	width: 90%;
 }
}
/* トップページトレーラー */
.top-page__trailer {
	width: 90%;
	max-width: 800px;
	margin: 0 auto;
}
/* トップページ　お知らせ */
.top-page__news-container {
	max-width: 900px;
	margin: 20px auto;
	font-size: clamp(0.75rem, 0.659rem + 0.45vw, 1rem);
}
.top-page__news-item {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	background: white;
	border: 2px solid #007bff;
	border-radius: 30px;
	padding: 10px 20px;
	margin-bottom: 10px;
	box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.1);
}
.top-page__news-date {
	font-weight: bold;
	color: #007bff;
	margin-right: 10px;
	white-space: nowrap;
}
.top-page__news-text {
	flex-grow: 1;
	color: #333;
}
.top-page__news-button {
	background-color: #007bff;
	color: white;
	border: none;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	font-weight: bold;
}
	@media (max-width: 768px) {
 .top-page__news-container {
  max-width: 95%;
	margin: 20px auto;
	font-size: 12px;
 }
 .top-page__news-item {
	width: 100%;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	background: white;
	border: 2px solid #007bff;
	border-radius: 20px;
	padding: 10px 20px;
	margin-bottom: 10px;
	box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.1);
	flex-wrap: wrap;
	flex-direction: column;
 }
 .top-page__news-date {
	font-weight: bold;
	color: #007bff;
	margin-right: 10px;
	white-space: nowrap;
 }
 .top-page__news-text {
	flex-grow: 1;
	color: #333;
 }
 .top-page__news-button {
	display: none;
 }
}
/* SNSエリア */
.top-page__sns-container {
	width: 100%;
}
.top-page__sns-container .snsn-item {
	max-width: 800px;
	display: flex;
	justify-content: space-around;
	margin: 0 auto;
}
.top-page__sns-container .snsn-item
	p {
 width: 90%;
	margin: 0px 5px;
}
	@media (max-width: 768px) {
 .top-page__sns-container .snsn-item img {
  width: 100%;
 }
}
/* スポンサーエリア */
.sponsor-section {
	max-width: 1000px;
	margin: 0 auto;
	width: 95%;
}
.sponsor-row {
	display: grid;
	gap: 20px;
	justify-items: center;
	margin-bottom: 10px;
}
/* 行ごとにカラムの数を変える */
.sponsor-row:nth-child(1) {
	grid-template-columns: 1fr;
}
.sponsor-row:nth-child(2) {
	grid-template-columns: repeat(2, 1fr);
}
.sponsor-row:nth-child(3) {
	grid-template-columns: repeat(3, 1fr);
}
.sponsor-row:nth-child(4) {
	grid-template-columns: repeat(4, 1fr);
}
.sponsor-item {
	background: #ddd;
	height: 80px;
	display: flex;
	align-items: center;
	justify-content: center;
	/* border-radius: 8px; */
	width: 100%;
}
.special-support {
	font-weight: bold;
	font-size: 18px;
	margin: 40px 0 20px;
}
/* レスポンシブ対応 */
	@media (max-width: 768px) {
 .sponsor-row {
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
 }
 .sponsor-item {
	height: 60px;
 }
}
/* ======================================================
  6. 固定ページ テンプレート
====================================================== */
	main {
 margin: 0 auto;
}
	section {}
/* リンクの基本設定 */
	section a {
 font-weight: bold;
	color: #0600ff; /* 標準のリンクカラー */
	text-decoration: none; /* 下線をなくす */
	transition: color 0.3s ease-in-out, transform 0.2s ease-in-out;
	word-break: break-all;
}
/* 未訪問リンク */
	section a:link {
 color: #0600ff; /* 青 */
	word-break: break-all;
}
/* 訪問済みリンク */
	section a:visited {
 color: #0600ff; /* 青 */
}
/* ホバー時 */
	section a:hover {
 color: #ff4500; /* オレンジ */
	text-decoration: underline; /* 下線を追加 */
}
/* クリック時 */
	section a:active {
 color: #ff0000; /* 赤 */
	transform: scale(0.95); /* 押した感じを出す */
}
	section p {
 padding: 0 10px 20px 10px;
}
	section ul, ol {
 padding: 0 0.5em 0.5em 2em; /*ボックス内の余白*/
	font-size: 16px;
}
	section ul li, ol li {
 line-height: 1.5; /*文の行高*/
	padding: 0.5em 0; /*前後の文との余白*/
}
	section li {
 list-style: disc;
}
	aside {}
.container {
	width: 100%;
	max-width: 1200px;
	margin: 20px auto;
	padding: 20px;
	display: flex;
}
.container
	h1 {
 font-size: 20px;
	background: #E91E63;
	padding: 5px 10px;
	margin: 0 0 20px 0;
	color: #FFF;
	border-radius: 5px;
}
.container
	h2 {
 font-size: 18px;
	background: #3F51B5;
	padding: 5px;
	margin: 0 0 20px 0;
	border-radius: 5px;
	color: #FFF;
}
.container
	h3 {
 font-size: 18px;
	background: #ffffff;
	border-left: 10px solid #FF9800;
	border-bottom: 1px solid #444;
	padding: 0 5px;
	margin-top: 10px;
	margin-bottom: 20px;
}
.container
	h4 {
 font-size: 18px;
	background: #ffffff;
	border-left: 10px solid #4CAF50;
	border-bottom: 1px solid #444;
	padding: 0 5px;
	margin: 0px 0 20px 0px;
}
	@media (max-width: 768px) {
 .container h1 {
  font-size: 16px;
	margin: 0 0 20px 0;
 }
 .container h2 {
	font-size: 16px;
	padding-bottom: 5px;
	margin: 20px 0 10px 0;
 }
 .container h3 {
	font-size: 16px;
 }
 .container h4 {
	font-size: 16px;
	color: #000;
	width: 100%;
 }
 .container p {
	font-size: 16px;
	padding: 0;
 }
}
.wrap-container {
	background: #ade790;
	padding: 20px;
}
.sidebar {
	width: 23%;
	padding: 10px 0;
	background: #ffffff;
	margin: 0 20px 0 0;
}
.sidebar
	li {
 list-style: disc;
	margin: 0 0 0 30px;
	padding: 0 0 5px 0;
	line-height: 1.6;
}
.sidebar
	h1 {
 font-size: 18px;
	background: #E91E63;
	padding: 5px 10px;
	margin: 0;
	color: #FFF;
	border-radius: 5px;
}
.sidebar
	h2 {
 font-size: 18px;
	background: #ffffff;
	background: #3F51B5;
	padding: 5px;
	margin: 0 0 10px 0;
	border-radius: 5px;
	color: #FFF;
}
.sidebar
	h3 {
 font-size: 18px;
	color: #FFF;
	background: #e91e63;
	border-left: none;
	border-bottom: none;
	padding: 5px 0 5px 10px;
	margin: 0 0 10px 0;
	border-radius: 5px;
	font-weight: bold;
}
.sidebar
	h4 {
 font-size: 18px;
	background: #ffffff;
	border-left: 10px solid #4CAF50;
	border-bottom: 1px solid #444;
	padding: 5px;
	margin: 0 0 10px 0;
}
	@media (max-width: 768px) {
 .sidebar h1 {
  font-size: 16px;
 }
 .sidebar h2 {
	font-size: 16px;
	padding-bottom: 5px;
	margin: 10px 0;
 }
 .sidebar h3 {
	font-size: 16px;
 }
 .sidebar h4 {
	font-size: 16px;
 }
 .sidebar p {
	font-size: clamp(0.75rem, 0.659rem + 0.45vw, 1rem);
	padding: 0;
 }
}
.col-m1 {
	width: 100%;
	max-width: 1200px;
	background: #ffffff;
	padding: 20px;
	margin: 50px auto;
}
.col-m9 {
	width: 75%;
	max-width: 1200px;
	background: #ffffff;
	padding: 20px;
	margin: 0 auto;
	border-radius: 20px;
	filter: drop-shadow(0px 0px 5px rgba(6, 6, 13, 0.28));
}
.col-m12 {
	width: 100%;
	width: 1000px;
	background: #ffffff;
	padding: 20px;
	margin: 0 auto;
	border-radius: 20px;
	filter: drop-shadow(0px 0px 5px rgba(6, 6, 13, 0.28));
}
	@media (max-width: 768px) {
 section {
  font-size: clamp(0.75rem, 0.659rem + 0.45vw, 1rem);
 }
 .sidebar {
	display: none;
 }
 .col-m9 {
	width: 100%;
 }
 .col-m12 {
	width: 100%;
	background: #ffffff;
	padding: 20px;
	margin: 0 auto;
	border-radius: 8px;
 }
}
/* === section 内のすべてのテーブルに適用 === */
	section table {
 width: 98%;
	border-collapse: collapse;
	border-spacing: 0;
	table-layout: auto;
	overflow-x: auto;
	margin: 0 auto 30px 0;
}
/* === ヘッダー部分のスタイル === */
	section table thead {
 background-color: #f8f8f8;
}
	section table th {
 /* width: 20% !important; */ /* 50% の指定を無効にする */
 /* max-width: 100% !important; */ /* はみ出しを防ぐ */
 word-wrap: break-word; /* 長い単語を折り返す */
	white-space: normal; /* 自動改行を有効にする */
	border: 1px solid #999;
	padding: 12px;
	text-align: left;
}
	section table td {
 width: auto !important; /* 50% の指定を無効にする */
	max-width: 100% !important; /* はみ出しを防ぐ */
	word-wrap: break-word; /* 長い単語を折り返す */
	white-space: normal; /* 自動改行を有効にする */
	border: 1px solid #999;
	padding: 12px;
	text-align: left;
}
	@media (max-width: 768px) {
 section table {
  font-size: clamp(0.75rem, 0.659rem + 0.45vw, 1rem);
 }
 .waku {
	display: block;
	overflow-x: auto;
	white-space: nowrap;
 }
}
/* === 偶数行の背景色をつける === */
	section table tbody tr:nth-child(even) {
 background-color: #f5fbff;
}
/* === section 内のテーブルをレスポンシブ化（スマホ対応） === */
	@media screen and (max-width: 768px) {
 section {
  /* overflow-x: auto; */ /* 横スクロールを有効化 */
  -webkit-overflow-scrolling: touch; /* スムーズスクロール対応 */
 }
 section table {
	min-width: 600px; /* スクロール可能にするための最小幅 */
 }
}
/*youtube埋め込み*/
.video {
	position: relative;
	width: 100%;
	height: 0;
	padding-bottom: 56.25%;
	overflow: hidden;
	margin-bottom: 10px;
}
.video
	iframe {
 width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}
/*youtube埋め込み終了*/
/* Google Mapを囲う要素 */
.map {
	position: relative;
	width: 98%;
	max-height: 600px;
	padding-top: 50%; /* 比率を4:3に固定 */
	margin: 20px auto;
}
/* Google Mapのiframe */
.map
	iframe {
 position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
/* ======================================================
  7. 公式パンフレット
====================================================== */
.pamphlet-wrapper {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	gap: 20px;
	max-width: 100%;
}
.pamphlet-panel {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	background: white;
	padding: 10px;
	border-radius: 8px;
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}
.pamphlet-panel
	img {
 max-width: 240px;
	height: auto;
	border-radius: 5px;
}
	@media (max-width: 768px) {
 .pamphlet-wrapper {
  flex-direction: column;
 }
}
/* ======================================================
  8. 公式キャラクター
====================================================== */
.character-wrapper {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	gap: 20px;
	max-width: 100%;
}
.character-panel {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	background: white;
	padding: 10px;
	border-radius: 8px;
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
	width: 45%;
}
.character-panel
	img {
 /* max-width: 240px; */
 height: auto;
	border-radius: 5px;
}
.character-name {
	font-size: 18px;
	font-weight: bold;
	margin-top: 10px;
}
.character-description {
	font-size: clamp(0.75rem, 0.659rem + 0.45vw, 1rem);
	color: #666;
	margin-top: 5px;
}
	@media (max-width: 768px) {
 .character-panel {
  width: 95%;
 }
}
/* ======================================================
  9. ゲスト・出演者
====================================================== */
.guestpage-wrapper {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
	max-width: 1200px;
	padding: 10px 0;
}
.guestpage-panel {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	background: white;
	/* padding: 15px; */
	border-radius: 8px;
	/* box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); */
}
.guestpage-panel
	img {
 width: 150px;
	height: auto;
	/* border-radius: 50%; */
}
.guestpage-name {
	font-size: 16px;
	font-weight: bold;
	/* margin-top: 10px; */
	line-height: 1.2;
}
.guestpage-description {
	font-size: 14px;
	color: #666;
	margin-top: 5px;
}
	@media (max-width: 1024px) {
 .guestpage-wrapper {
  grid-template-columns: repeat(2, 1fr);
 }
}
	@media (max-width: 600px) {
 .guestpage-wrapper {
  grid-template-columns: 1fr;
 }
}
/* ======================================================
  9. アーカイブページ
====================================================== */
.news-archive-container {
	width: 100%;
	max-width: 1000px;
	margin: 40px auto;
	padding: 20px;
	background: #FFF;
}
.page-header {
	text-align: center;
	margin-bottom: 30px;
}
.news-list {
	display: flex;
	flex-direction: column;
	gap: 0px;
	/* max-width: 800px; */
	margin: 0 auto;
}
.news-item {
	background: #fff;
	border-radius: 8px;
	overflow: hidden;
	/* box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); */
	transition: transform 0.3s ease;
}
.news-item:
	hover {
 transform: translateY(-5px);
}
.news-item
	a {
 display: flex;
	flex-direction: column;
	color: inherit;
	text-decoration: none;
}
.news-thumbnail
	img {
 width: 100%;
	height: auto;
	display: block;
}
.news-content {
	padding: 0 0 20px 0;
}
.news-title {
	font-size: 18px;
	margin-bottom: 8px;
}
.news-excerpt {
	font-size: 16px;
	color: #555;
}
.pagination {
	text-align: center;
	margin-top: 30px;
}
	@media (max-width: 600px) {
 .page-header {
  text-align: center;
	margin-bottom: 0;
 }
 .news-content {
	padding: 0;
 }
 .news-title {
	font-size: 16px;
 }
 .news-excerpt {
	font-size: clamp(0.75rem, 0.659rem + 0.45vw, 1rem);
 }
}
.news-single-container {
	display: flex;
	flex-wrap: wrap;
	max-width: 1200px;
	margin: 40px auto;
	padding: 20px;
	gap: 20px;
}
.sidebar {
	flex: 1;
	max-width: 270px;
	background: #ffffff;
	padding: 20px 10px 50px;
	border-radius: 8px;
	height: max-content;
}
.sidebar
	img {
 width: 100%;
}
.sidebar
	h2 {
 font-size: 18px;
	margin-bottom: 10px;
}
.news-sidebar-list {
	list-style: none;
	padding: 0;
}
.news-sidebar-list
	li {
 margin: 0 10px 0 10px;
	line-height: 1.5;
	border-bottom: solid 1px #cccccc;
	list-style: none;
}
.news-sidebar-list
	a {
 text-decoration: none;
	color: #333;
	transition: color 0.3s;
}
.news-sidebar-list
	a:hover {
 color: #FF5722;
}
.news-main {
	flex: 3;
	max-width: 1000px;
	background: #FFF;
	padding: 20px 20px 30px 20px;
	border-radius: 8px;
}
.news-title {
	font-size: 24px;
	margin-bottom: 10px;
	background: #e14e80;
	color: #FFF;
	border-radius: 10px;
	padding: 0 15px;
}
.news-meta {
	font-size: clamp(0.75rem, 0.659rem + 0.45vw, 1rem);
	color: #777;
}
.news-content {
	line-height: 1.8;
}
/* レスポンシブ対応（スマホ時は1カラム） */
	@media (max-width: 768px) {
 .news-single-container {
  flex-direction: column;
 }
 .sidebar, .news-main {
	max-width: 100%;
 }
}
/* -----------------------------------------------------------------------------------------------------

    お問い合せ設定：ContactForm7カスタマイズ

-----------------------------------------------------------------------------------------------------*/
/*ContactForm7カスタマイズ*/
.inquiry {
	width: 100%;
	margin: 0 auto;
	line-height: 2;
}
/*入力フォームの幅調整*/
.inquiry
	input {
 height: 1.5rem;
	border: 2px solid silver;
	border-radius: 5px;
	padding: 1rem;
	white-space: nowrap;
}
.inquiry
	textarea {
 width: 90%;
	height: 30rem;
	border: 2px solid silver;
	border-radius: 5px;
	padding: 1rem;
}
/*項目の下線*/
.inquiry
	th {
 width: 35% ! important;
	vertical-align: middle;
	border: none;
	border-bottom: 1px solid silver;
	text-align: left;
}
.inquiry
	td {
 border: none;
	text-align: left;
	padding: 2rem 0;
	border-bottom: 1px solid silver;
}
/*必須・任意のラベルの形状*/
.formlabel {
	padding: 5px;
	font-size: 0.8rem;
	font-weight: normal;
	border-radius: 5px;
	margin-right: 10px;
	position: relative;
}
/*必須のカラー*/
.must {
	background: #ff8282;
	color: #fff;
}
/*任意のカラー*/
.may {
	background: #a5a5a5;
	color: #fff;
}
/*送信ボタンのデザイン変更*/
#formbtn {
	display: block;
	padding: 15px;
	width: 20%;
	background: #eee;
	color: #333;
	font-size: 1.2em;
	font-weight: bold;
	border-radius: 5px;
	margin: 25px auto 0;
}
/*送信ボタンマウスホバー*/
#formbtn:
	hover {
 background: #ff6a6a;
	color: #fff;
}
/*ラジオボタンのデザイン変更*/
.inquiry .wpcf7-radio
	input[type=radio] {
 display: none;
	vertical-align: middle;
}
.inquiry .wpcf7-radio > .wpcf7-list-item {
	margin-left: 0;
}
.inquiry .wpcf7-radio
	input[type=radio] + span {
 padding-left: 20px;
	position: relative;
	margin-right: 20px;
	vertical-align: middle;
}
.inquiry .wpcf7-radio
	input[type=radio] + span::before {
 content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 17px;
	height: 17px;
	border: 1px solid gray;
	border-radius: 50%;
}
.inquiry .wpcf7-radio
	input[type=radio]:checked + span {
 color: #d01137;
}
.inquiry .wpcf7-radio
	input[type=radio]:checked + span::after {
 content: "";
	display: block;
	position: absolute;
	top: 4px;
	left: 4px;
	width: 11px;
	height: 11px;
	background: #d01137;
	border-radius: 50%;
}
	@media (max-width: 680px) {
 .inquiry {
  width: 100%;
	margin: 0 auto;
	line-height: 2;
	/* font-size: 1.4rem; */
 }
 .inquiry th, td {
	/* display:flex; */
	/* float: left; */
	/* clear: both; */
 }
 /*入力フォームの幅調整*/
 .inquiry input {
	width: 90%;
	height: 1.5rem;
	border: 2px solid silver;
	border-radius: 5px;
	padding: 0.5rem;
 }
 .inquiry textarea {
	width: 88%;
	height: 15rem;
	border: 2px solid silver;
	border-radius: 5px;
	padding: 1rem;
 }
 /*項目の下線*/
 .inquiry tr {
	display: flex;
	width: 50%;
	vertical-align: middle;
	border: none;
	border-bottom: none;
	text-align: left;
	font-weight: 600;
	/* font-size: 1.4rem; */
	flex-direction: column;
	flex-wrap: wrap;
 }
 .inquiry th {
	/* display: flex; */
	width: 100% !important;
	/* vertical-align: middle; */
	border: none;
	border-bottom: none;
	text-align: left;
	font-weight: 600;
	/* font-size: 1.4rem; */
	flex-wrap: nowrap;
	flex-direction: row;
 }
 .inquiry td {
	border: none;
	padding: 1rem;
	border-bottom: none;
	text-align: left;
	width: 100% !important;
 }
 /*送信ボタンのデザイン変更*/
 #formbtn {
	display: block;
	padding: 15px;
	width: 50%;
	margin: 0 auto;
 }
 .wpcf7-list-item {
	display: inline-block !important;
	margin: 0 auto !important;
	text-align: center !important;
	display: flex !important;
	justify-content: center !important;
 }
}
/* -----------------------------------------------------------------------------------------------------

    トップページ：スポンサー sponsor

-----------------------------------------------------------------------------------------------------*/
.toppage_sponsor_area {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	padding: 0;
	text-align: center;
}
.toppage_sponsor_area
	img {
 border: 1px solid #dcdcdc}
.toppage_sponsor_diamond {
	margin: 0 auto 0 auto;
	padding: 0;
}
.toppage_sponsor_diamond .item {
	padding: 0 0 10px 0;
}
.toppage_sponsor_platina {
	margin: 0 auto 1rem auto;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	/* max-width: 840px; */
	justify-content: center;
}
.toppage_sponsor_platina .item {
	width: calc(100% / 2);
 /* nthで、lastだけキャンセルさせる必要あり */
	padding: 0 0 10px 0;
}
.toppage_sponsor_gold {
	margin: 0 auto 1rem auto;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.toppage_sponsor_gold .item {
	width: calc(100% / 3);
 /* nthで、lastだけキャンセルさせる必要あり */
	padding: 0 0 10px 0;
}
.toppage_sponsor_sliver {
	margin: 0 auto 1rem auto;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.toppage_sponsor_sliver .item {
	width: calc(100% / 6);
 /* nthで、lastだけキャンセルさせる必要あり */
	padding: 0 0 10px 0;
}
	@media screen and (max-width: 768px) {
 .toppage_sponsor_area {
  width: 90%;
	margin: 0 auto;
	padding: 0;
	text-align: center;
 }
 .toppage_sponsor_diamond {
	margin: 0 auto;
	padding: 0;
 }
 .toppage_sponsor_diamond .item img {
	width: 100%;
 }
 .toppage_sponsor_platina {
	margin: 0 auto 1rem auto;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	max-width: 840px;
 }
 .toppage_sponsor_platina .item {
	width: calc(100% / 2);
  /* nthで、lastだけキャンセルさせる必要あり */
	padding: 0 0 10px 0;
 }
 .toppage_sponsor_platina .item img {
	width: 90%;
 }
 .toppage_sponsor_gold {
	margin: 0 auto;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
 }
 .toppage_sponsor_gold .item {
	width: calc(100% / 3);
  /* nthで、lastだけキャンセルさせる必要あり */
	padding: 0;
 }
 .toppage_sponsor_gold .item img {
	width: 100%;
 }
 .toppage_sponsor_sliver {
	margin: 0 auto 0 auto;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
 }
 .toppage_sponsor_sliver .item {
	width: calc(100% / 4);
  /* nthで、lastだけキャンセルさせる必要あり */
	padding: 0 0 10px 0;
 }
 .toppage_sponsor_sliver .item img {
	width: 100%;
 }
}
	@media screen and (max-width: 580px) {
 .spo_h2 {
  font-size: 1.2rem;
 }
}
/* -----------------------------------------------------------------------------------------------------

    募集・企画

-----------------------------------------------------------------------------------------------------*/
.activity-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 2rem;
	margin-top: 2rem;
}
.activity-item {
	border: 1px solid #ddd;
	background-color: #fff;
	padding: 1rem;
	transition: all 0.3s ease;
}
.activity-item
	a:hover {
 text-decoration: none; /* 下線を追加 */
}
.activity-item:
	hover {
 box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
.activity-thumbnail
	img {
 width: 100%;
	height: auto;
	object-fit: cover;
	display: block;
	margin-bottom: 1rem;
}
.activity-title {
	font-size: 1.2rem;
	margin: 0.5rem 0;
}
.activity-date {
	font-size: 0.85rem;
	color: #999;
	display: block;
	margin-bottom: 0.5rem;
}
.activity-excerpt {
	font-size: 0.95rem;
	color: #333;
}
/* -----------------------------------------------------------------------------------------------------

    ギャラリーの調整

-----------------------------------------------------------------------------------------------------*/
.gallery {
	display: flex;
	flex-wrap: wrap;
	margin: -5px;
}
.gallery-item {
	padding: 5px;
	box-sizing: border-box;
}
/* カラム数ごとの自動調整 */
.gallery-columns-1 .gallery-item {
	width: 100%;
}
.gallery-columns-2 .gallery-item {
	width: 50%;
}
.gallery-columns-3 .gallery-item {
	width: 33.3333%;
}
.gallery-columns-4 .gallery-item {
	width: 25%;
}
.gallery-columns-5 .gallery-item {
	width: 20%;
}
.gallery-columns-6 .gallery-item {
	width: 16.6666%;
}
.gallery-columns-7 .gallery-item {
	width: 14.2857%;
}
.gallery-columns-8 .gallery-item {
	width: 12.5%;
}
.gallery-columns-9 .gallery-item {
	width: 11.1111%;
}
.gallery-item
	img {
 width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
}
/* スマホ表示：2列 */
	@media screen and (max-width: 768px) {
 .gallery-item {
 width: 33.3333% !important;
 }
}
/* スマホ表示：2列（より狭い端末） */
	@media screen and (max-width: 480px) {
 .gallery-item {
  width: 50% !important;
 }
}
/* -----------------------------------------------------------------------------------------------------

    よくある質問の調整

-----------------------------------------------------------------------------------------------------*/
.ewd-ufaq-faq-toggle-symbol {
	display: none !important;
}
.ewd-ufaq-faq-title::
	before {
 display: none !important;
}
.ewd-ufaq-faq-title::
	before {
 content: "";
	display: inline-block;
	width: 4px;
	height: 1em;
	background-color: #00bfff;
	margin-right: 10px;
	vertical-align: middle;
}
.ewd-ufaq-single-faq {
	padding: 15px;
	margin-bottom: 20px;
	border: 1px solid #ddd;
	background-color: #f9f9f9;
	border-radius: 8px;
}
.ewd-ufaq-faq-title .ewd-ufaq-post-margin-symbol
	span {
 display: none;
	font-size: 30px;
	margin: 0 auto !important;
}
.ewd-ufaq-faq-body {
	padding: 10px 25px;
	padding-left: 0;
}
.ewd-ufaq-faq-title
	h4 {
 display: inline-block !important;
	width: 100% !important;
	margin: 5px !important;
	position: relative !important;
	left: -5px !important;
	color: #000000;
}
.ewd-ufaq-faq-title .ewd-ufaq-post-margin-symbol
	span {
 display: none !important;
	font-size: 30px !important;
	margin: 0 auto !important;
}
.ewd-ufaq-faq-body {
	padding: 10px !important;
	padding-left: 5px !important;
}
.ewd-ufaq-faq-title-text {
	float: left;
	width: 100% !important;
}
/* -----------------------------------------------------------------------------------------------------

    チャンピオンシップ LP

-----------------------------------------------------------------------------------------------------*/
.muta_lp {
	font-size: 100%; /* 基本：16px */
}
.muta_lp {
	font-family: 'Noto Sans JP', 'Montserrat', sans-serif;
	line-height: 1.6;
	color: #ffffff;
	background-color: #fff;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-size: 1.2rem; /* 16px基準 */
}
.muta_lp
	img {
 max-width: 100%;
	height: auto;
	vertical-align: bottom;
}
.muta_lp .championship_lp_container
	a:link {
 color: #FFF;
}
/* ===== Base Layout ===== */
.muta_lp .championship_lp_container {
	background: url("../images/muta/common/bg02.png") repeat-y;
	background-position: top center;
	background-size: cover;
	background-attachment: fixed;
	padding: 30px 0 100px 0;
}
.muta_lp .championship_lp {
	max-width: 900px;
	margin: 0 auto 100px auto;
	padding: 0 1.25rem;
}
.muta_lp .championship_lp_last {
	max-width: 900px;
	margin: 0 auto;
	padding: 0 1.25rem;
}
.muta_lp
	h2 {
 font-size: 5rem; /* 80px */
	font-weight: 700;
	line-height: 1.4;
	text-align: center;
	color: #FFF;
}
.muta_lp .title-label {
	font-size: 1.2rem;
	font-weight: normal;
	line-height: 1.4;
	text-align: center;
	color: #FFF;
}
.muta_lp .text-center {
	text-align: center;
}
/* ===== Utility Classes ===== */
.muta_lp .mt-1 {
	margin-top: 1rem;
}
.muta_lp .mt-2 {
	margin-top: 2rem;
}
.muta_lp .mb-1 {
	margin-bottom: 1rem;
}
.muta_lp .mb-2 {
	margin-bottom: 2rem;
}
.muta_lp .mc {
	width: 100%;
	margin: 0 auto;
	text-align: center;
}
/* ===== ボタン ===== */
.muta_lp .btn {
	display: inline-block;
	padding: 0.75rem 1.5rem;
	background: #3F51B5;
	color: #fff;
	font-weight: bold;
	border-radius: 6px;
	transition: 0.3s ease;
	font-size: 1rem;
}
.muta_lp .btn:
	hover {
 background: #303F9F;
}
/* ピンクの大きなボタン */
.muta_lp .muta_lp_button {
	display: inline-block;
	padding: 1.25rem 1.5rem;
	background-color: #f34cb3;
	color: #fff;
	font-size: 1.4rem;
	font-weight: bold;
	text-decoration: none;
	border-radius: 999px;
	position: relative;
	transition: background-color 0.3s ease;
	text-align: center;
	white-space: nowrap;
	padding-right: 4.125rem;
	margin: 1.25rem auto;
	max-width: 500px;
	min-width: 280px;
}
.muta_lp .muta_lp_button::
	after {
 content: "→";
	position: absolute;
	right: 1.25rem;
	top: 50%;
	transform: translateY(-50%);
	font-size: 2rem;
	color: #fff;
	transition: transform 0.3s ease;
}
.muta_lp .muta_lp_button:
	hover {
 background-color: #f34cb3;
}
.muta_lp .muta_lp_button:
	hover::after {
 transform: translateY(-50%) translateX(0.25rem);
}
/* ===== YouTube セクション ===== */
.muta_lp .youtube {
	width: 100%;
	aspect-ratio: 16 / 9;
}
.muta_lp .youtube
	iframe {
 width: 100%;
	height: 100%;
}
/* ===== 画像2列 → スマホ1列 ===== */
.muta_lp .image-flex {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	margin: 3.125rem 0;
	justify-content: space-between;
}
.muta_lp .image-flex
	img {
 width: calc(50% - 0.5rem);
	max-width: 100%;
	height: auto;
	display: block;
	border-radius: 8px;
	margin: 0 0 1.25rem 0;
}
/* ===== お知らせボックス ===== */
.muta_lp .notice-box {
	background-color: #f9f9f9;
	border-left: 6px solid #f34cb3;
	padding: 1.25rem;
	margin: 2.5rem auto;
	color: #333;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 1rem;
	line-height: 1.6;
	max-width: 900px;
}
.muta_lp .notice-box
	ul {
 padding-left: 1.25rem;
	margin: 0;
}
.muta_lp .notice-box
	li {
 margin-bottom: 0.625rem;
}
.muta_lp .notice-box
	strong {
 color: #d90083;
}
/* ===== レスポンシブ調整（SP向け） ===== */
	@media (max-width: 768px) {
 .muta_lp h2 {
  font-size: 2.5rem;
 }
 .muta_lp .hero {
	height: 37.5rem;
 }
 .muta_lp .hero-title {
	font-size: 2rem;
 }
 .muta_lp .hero-subtitle {
	font-size: 1rem;
 }
 .muta_lp .top_container {
	width: 100%;
	margin: 0 auto;
	padding: 6.25rem 0 0 0;
 }
 /* ピンクの大きなボタン */
 .muta_lp .muta_lp_button {
	display: inline-block;
	padding: 1.25rem 1.5rem;
	background-color: #f34cb3;
	color: #fff;
	font-size: 1.1rem;
	font-weight: bold;
	text-decoration: none;
	border-radius: 999px;
	position: relative;
	transition: background-color 0.3s ease;
	text-align: center;
	white-space: nowrap;
	padding-right: 3.125rem;
	margin: 1.25rem auto;
	width: 90%;
 }
 .muta_lp .muta_lp_button::
	after {
  content: "→";
	position: absolute;
	right: 1.25rem;
	top: 50%;
	transform: translateY(-50%);
	font-size: 2rem;
	color: #fff;
	transition: transform 0.3s ease;
 }
 .muta_lp .muta_lp_button:
	hover {
  background-color: #f34cb3;
 }
 .muta_lp .muta_lp_button:
	hover::after {
  transform: translateY(-50%) translateX(0.25rem);
 }
}
/* ===== スマホ用ベース文字サイズ10pxに ===== */
	@media (max-width: 480px) {
 .muta_lp {
  font-size: 0.8rem; /* 10px基準 */
 }
 .muta_lp .notice-box {
	font-size: 1rem; /* = 10px */
 }
}
/* -----------------------------------------------------------------------------------------------------

    ステージスケジュール・プログラム　　

-----------------------------------------------------------------------------------------------------*/
.stage-accordion {
	margin: 20px auto;
}
.stage-accordion
	p {
 padding: 0;
}
.accordion-button {
	display: flex;
	justify-content: space-between;
	align-items: center;
	background: #fff;
	border: 1px solid #ddd;
	padding: 16px;
	font-size: 18px;
	font-weight: bold;
	width: 100%;
	cursor: pointer;
	transition: background 0.3s;
	/* margin: 0 0 30px 0; */
}
.accordion-button:
	hover {
 background: #f5f5f5;
}
.accordion-button
	img {
 width: 24px;
	margin-right: 10px;
}
.accordion-icon {
	font-size: 24px;
	transition: transform 0.3s;
}
.accordion-content {
	display: none;
	padding: 16px;
	border: 1px solid #ddd;
	border-top: none;
	/* background: #fafafa; */
}
.accordion-item.open .accordion-content {
	display: block;
	padding: 20px 10px 20px 10px;
	margin: 0;
	top: -30px;
	position: relative;
}
.accordion-item.open .accordion-content
	p {
 display: block;
	padding: 0;
}
.accordion-item.open .accordion-icon {
	transform: rotate(359deg);
}
.stage-block {
	display: flex;
	align-items: flex-start;
	/* gap: 16px; */
	padding: 10px 0 25px 0;
}
.stage-block
	img {
 width: 300px;
	height: auto;
	object-fit: cover;
}
.stage-info
	p {
 margin: 4px 0;
	font-size: 14px;
}
.stage-info {
	max-width: 65%;
	padding: 0 20px;
}
.stage-info .time {
	font-size: 20px;
	font-weight: 600;
	font-family: sans-serif;
}
.accordion-item.open .accordion-content {
	display: block;
}
.accordion-item.open .accordion-content
	h4 .eve {
 font-size: 20px;
	background: #ffbebe;
	border-left: none;
	border-bottom: none;
	padding: 3px 10px;
	margin: 0px 0 10px 0px;
}
.accordion-item.open .accordion-content
	h4 .day1 {
 font-size: 20px;
	background: #bed8ff;
	border-left: none;
	border-bottom: none;
	padding: 3px 10px;
	margin: 0px 0 10px 0px;
}
.accordion-item.open .accordion-content
	h4 .day2 {
 font-size: 20px;
	background: #ffbeaa;
	border-left: none;
	border-bottom: none;
	padding: 3px 10px;
	margin: 0px 0 10px 0px;
}
.accordion-item.open .accordion-icon {
	transform: rotate(1deg); /* ＋を45度回転させる演出などもここ */
}
	@media screen and (max-width: 768px) {
 .stage-block {
  flex-direction: column;
	align-items: center;
 }
 .stage-block img {
	width: 100%;
	max-width: 100%;
	height: auto;
 }
 .stage-info {
	max-width: 100%;
	padding: 10px 0 0 0;
 }
 .accordion-button {
	flex-direction: column;
	align-items: flex-start;
	font-size: 16px;
 }
 .accordion-icon {
	align-self: flex-end;
	margin-top: 10px;
 }
}
/* -----------------------------------------------------------------------------------------------------

    前夜祭 曲目リスト

-----------------------------------------------------------------------------------------------------*/
.eve-setlist-wrapper {
	overflow-x: auto;
	margin: 20px 0;
}

.eve-setlist-table {
	width: 100%;
	border-collapse: collapse;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 16px;
	min-width: 300px;
}

.eve-setlist-table
	th,
.eve-setlist-table td {
  border: 1px solid #ccc;
	padding: 12px;
	text-align: left;
}

.eve-setlist-table
	thead {
  background-color: #f8f8f8;
}

.eve-setlist-table
	tr:nth-child(even) {
  background-color: #fafafa;
}
	@media screen and (max-width: 600px) {
  .eve-setlist-table th,
  .eve-setlist-table td {
    padding: 10px;
	font-size: 14px;
  }
}
/* -----------------------------------------------------------------------------------------------------

    ブース情報

-----------------------------------------------------------------------------------------------------*/
.booth-section-block {
}

.booth-section-title {
	margin: 0 0 10px 0;
	padding: 0 0 2px 7px;
	font-size: 20px;
	font-weight: bold;
	border-left: 10px solid #4CAF50;
	border-bottom: 1px solid #4CAF50;
	font-family: sans-serif;
}

.booth-section-content {
	display: flex;
	align-items: flex-start;
	gap: 20px;
	flex-wrap: wrap;
}

.booth-section-image
	img {
  width: 200px;
	height: auto;
	background: #eee;
	display: block;
}

.booth-section-info {
	flex: 1;
	min-width: 250px;
}

.booth-time-button {
	display: flex;
	align-items: center;
	gap: 20px;
	margin-bottom: 10px;
	flex-wrap: wrap;
}

.booth-time {
	/* font-size: 20px; */
	font-weight: bold;
	background: #FF5722;
	border-radius: 10px;
	padding: 2px 10px;
	color: #FFFFFF;
}
.booth-time_midori {
	/* font-size: 20px; */
	font-weight: bold;
	background: #4CAF50;
	border-radius: 10px;
	padding: 2px 10px;
	color: #FFFFFF;
}


.booth-button {
	background-color: #ff8000;
	color: #fff;
	padding: 8px 16px;
	text-decoration: none;
	border-radius: 4px;
	font-weight: bold;
	display: inline-block;
}

.booth-description {
	font-size: 14px;
	line-height: 1.6;
}

/* ✅ レスポンシブ対応 */
	@media screen and (max-width: 600px) {
  .booth-section-content {
    flex-direction: column;
  }

  .booth-time-button {
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
  }

  .booth-section-image img {
	width: 100%;
	max-width: 100%;
	height: auto;
  }
};
}
/* ホバー時 */
section a:hover {
	color: #ff4500; /* オレンジ */
	text-decoration: underline; /* 下線を追加 */
}
/* クリック時 */
section a:active {
	color: #ff0000; /* 赤 */
	transform: scale(0.95); /* 押した感じを出す */
}
section p {
	padding: 0 10px 20px 10px;
}
section ul, ol {
	padding: 0 0.5em 0.5em 2em; /*ボックス内の余白*/
	font-size: 16px;
}
section ul li, ol li {
	line-height: 1.5; /*文の行高*/
	padding: 0.5em 0; /*前後の文との余白*/
}
section li {
	list-style: disc;
}
aside {}
.container {
	width: 100%;
	max-width: 1200px;
	margin: 20px auto;
	padding: 20px;
	display: flex;
}
.container h1 {
	font-size: 20px;
	background: #E91E63;
	padding: 5px 10px;
	margin: 0 0 20px 0;
	color: #FFF;
	border-radius: 5px;
}
.container h2 {
	font-size: 18px;
	background: #3F51B5;
	padding: 5px;
	margin: 0 0 10px 0;
	border-radius: 5px;
	color: #FFF;
}
.container h3 {
	font-size: 18px;
	background: #ffffff;
	border-left: 10px solid #FF9800;
	border-bottom: 1px solid #444;
	padding: 0 5px;
	margin-top: 10px;
	margin-bottom: 20px;
}
.container h4 {
	font-size: 18px;
	background: #ffffff;
	border-left: 10px solid #4CAF50;
	border-bottom: 1px solid #444;
	padding: 0 5px;
	margin: 0px 0 20px 0px;
}
@media (max-width: 768px) {
	.container h1 {
		font-size: 16px;
		margin: 0 0 20px 0;
	}
	.container h2 {
		font-size: 16px;
		padding-bottom: 5px;
		margin: 20px 0 10px 0;
	}
	.container h3 {
		font-size: 16px;
	}
	.container h4 {
		font-size: 16px;
		color: #000;
		width: 100%;
	}
	.container p {
		font-size: 16px;
		padding: 0;
	}
}
.wrap-container {
	background: #ade790;
	padding: 20px;
}
.sidebar {
	width: 23%;
	padding: 10px 0;
	background: #ffffff;
	margin: 0 20px 0 0;
}
.sidebar li {
	list-style: disc;
	margin: 0 0 0 30px;
	padding: 0 0 5px 0;
	line-height:2.3;
}
.sidebar h1 {
	font-size: 18px;
	background: #E91E63;
	padding: 5px 10px;
	margin: 0;
	color: #FFF;
	border-radius: 5px;
}
.sidebar h2 {
	font-size: 18px;
	background: #ffffff;
	background: #3F51B5;
	padding: 5px;
	margin: 0 0 10px 0;
	border-radius: 5px;
	color: #FFF;
}
.sidebar h3 {
	font-size: 18px;
	color: #FFF;
	background: #e91e63;
	border-left: none;
	border-bottom: none;
	padding: 5px 0 5px 10px;
	margin: 0 0 10px 0;
	border-radius: 5px;
	font-weight: bold;
}
.sidebar h4 {
	font-size: 18px;
	background: #ffffff;
	border-left: 10px solid #4CAF50;
	border-bottom: 1px solid #444;
	padding: 5px;
	margin: 0 0 10px 0;
}
@media (max-width: 768px) {
	.sidebar h1 {
		font-size: 16px;
	}
	.sidebar h2 {
		font-size: 16px;
		padding-bottom: 5px;
		margin: 10px 0;
	}
	.sidebar h3 {
		font-size: 16px;
	}
	.sidebar h4 {
		font-size: 16px;
	}
	.sidebar p {
		font-size: clamp(0.75rem, 0.659rem + 0.45vw, 1rem);
		padding: 0;
	}
}
.col-m1 {
	width: 100%;
	max-width: 1200px;
	background: #ffffff;
	padding: 20px;
	margin: 50px auto;
}
.col-m9 {
	width: 75%;
	max-width: 1200px;
	background: #ffffff;
	padding: 20px;
	margin: 0 auto;
	border-radius: 20px;
	filter: drop-shadow(0px 0px 5px rgba(6, 6, 13, 0.28));
}
.col-m12 {
	width: 100%;
	width: 1000px;
	background: #ffffff;
	padding: 20px;
	margin: 0 auto;
	border-radius: 20px;
	filter: drop-shadow(0px 0px 5px rgba(6, 6, 13, 0.28));
}
@media (max-width: 768px) {
	section {
		font-size: clamp(0.75rem, 0.659rem + 0.45vw, 1rem);
	}
	.sidebar {
		display: none;
	}
	.col-m9 {
		width: 100%;
	}
	.col-m12 {
		width: 100%;
		background: #ffffff;
		padding: 20px;
		margin: 0 auto;
		border-radius: 8px;
	}
}
/* === section 内のすべてのテーブルに適用 === */
section table {
	width: 98%;
	border-collapse: collapse;
	border-spacing: 0;
	table-layout: auto;
	overflow-x: auto;
	margin: 0 auto 30px 0;
}
/* === ヘッダー部分のスタイル === */
section table thead {
	background-color: #f8f8f8;
}
section table th {
	width: 20% !important; /* 50% の指定を無効にする */
	max-width: 100% !important; /* はみ出しを防ぐ */
	word-wrap: break-word; /* 長い単語を折り返す */
	white-space: normal; /* 自動改行を有効にする */
	border: 1px solid #999;
	padding: 12px;
	text-align: left;
}
section table td {
	width: auto !important; /* 50% の指定を無効にする */
	max-width: 100% !important; /* はみ出しを防ぐ */
	word-wrap: break-word; /* 長い単語を折り返す */
	white-space: normal; /* 自動改行を有効にする */
	border: 1px solid #999;
	padding: 12px;
	text-align: left;
}
@media (max-width: 768px) {
	section table {
		font-size: clamp(0.75rem, 0.659rem + 0.45vw, 1rem);
	}
	.waku {
		display: block;
		overflow-x: auto;
		white-space: nowrap;
	}
}
/* === 偶数行の背景色をつける === */
section table tbody tr:nth-child(even) {
	background-color: #f5fbff;
}
/* === section 内のテーブルをレスポンシブ化（スマホ対応） === */
@media screen and (max-width: 768px) {
	section {
		/* overflow-x: auto; */ /* 横スクロールを有効化 */
		-webkit-overflow-scrolling: touch; /* スムーズスクロール対応 */
	}
	section table {
		min-width: 600px; /* スクロール可能にするための最小幅 */
	}
}
/*youtube埋め込み*/
.video {
	position: relative;
	width: 100%;
	height: 0;
	padding-bottom: 56.25%;
	overflow: hidden;
	margin-bottom: 10px;
}
.video iframe {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}
/*youtube埋め込み終了*/
/* Google Mapを囲う要素 */
.map {
	position: relative;
	width: 98%;
	max-height: 600px;
	padding-top: 50%; /* 比率を4:3に固定 */
	margin: 20px auto;
}
/* Google Mapのiframe */
.map iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
/* ======================================================
  7. 公式パンフレット
====================================================== */
.pamphlet-wrapper {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	gap: 20px;
	max-width: 100%;
}
.pamphlet-panel {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	background: white;
	padding: 10px;
	border-radius: 8px;
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}
.pamphlet-panel img {
	max-width: 240px;
	height: auto;
	border-radius: 5px;
}
@media (max-width: 768px) {
	.pamphlet-wrapper {
		flex-direction: column;
	}
}
/* ======================================================
  8. 公式キャラクター
====================================================== */
.character-wrapper {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	gap: 20px;
	max-width: 100%;
}
.character-panel {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	background: white;
	padding: 10px;
	border-radius: 8px;
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
	width: 45%;
}
.character-panel img {
	/* max-width: 240px; */
	height: auto;
	border-radius: 5px;
}
.character-name {
	font-size: 18px;
	font-weight: bold;
	margin-top: 10px;
}
.character-description {
	font-size: clamp(0.75rem, 0.659rem + 0.45vw, 1rem);
	color: #666;
	margin-top: 5px;
}
@media (max-width: 768px) {
	.character-panel {
		width: 95%;
	}
}
/* ======================================================
  9. ゲスト・出演者
====================================================== */
.guestpage-wrapper {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
	max-width: 1200px;
	padding: 10px 0;
}
.guestpage-panel {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	background: white;
	/* padding: 15px; */
	border-radius: 8px;
	/* box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); */
}
.guestpage-panel img {
	width: 150px;
	height: auto;
	/* border-radius: 50%; */
}
.guestpage-name {
	font-size: 16px;
	font-weight: bold;
	/* margin-top: 10px; */
	line-height: 1.2;
}
.guestpage-description {
	font-size: 14px;
	color: #666;
	margin-top: 5px;
}
@media (max-width: 1024px) {
	.guestpage-wrapper {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (max-width: 600px) {
	.guestpage-wrapper {
		grid-template-columns: 1fr;
	}
}
/* ======================================================
  9. アーカイブページ
====================================================== */
.news-archive-container {
	width: 100%;
	max-width: 1000px;
	margin: 40px auto;
	padding: 20px;
	background: #FFF;
}
.page-header {
	text-align: center;
	margin-bottom: 30px;
}
.news-list {
	display: flex;
	flex-direction: column;
	gap: 0px;
	/* max-width: 800px; */
	margin: 0 auto;
}
.news-item {
	background: #fff;
	border-radius: 8px;
	overflow: hidden;
	/* box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); */
	transition: transform 0.3s ease;
}
.news-item:hover {
	transform: translateY(-5px);
}
.news-item a {
	display: flex;
	flex-direction: column;
	color: inherit;
	text-decoration: none;
}
.news-thumbnail img {
	width: 100%;
	height: auto;
	display: block;
}
.news-content {
	padding: 0 0 20px 0;
}
.news-title {
	font-size: 18px;
	margin-bottom: 8px;
}
.news-excerpt {
	font-size: 16px;
	color: #555;
}
.pagination {
	text-align: center;
	margin-top: 30px;
}
@media (max-width: 600px) {
	.page-header {
		text-align: center;
		margin-bottom: 0;
	}
	.news-content {
		padding: 0;
	}
	.news-title {
		font-size: 16px;
	}
	.news-excerpt {
		font-size: clamp(0.75rem, 0.659rem + 0.45vw, 1rem);
	}
}
.news-single-container {
	display: flex;
	flex-wrap: wrap;
	max-width: 1200px;
	margin: 40px auto;
	padding: 20px;
	gap: 20px;
}
.sidebar {
	flex: 1;
	max-width: 270px;
	background: #ffffff;
	padding: 20px 10px 50px;
	border-radius: 8px;
	height: max-content;
}
.sidebar img {
	width: 100%;
}
.sidebar h2 {
	font-size: 18px;
	margin-bottom: 10px;
}
.news-sidebar-list {
	list-style: none;
	padding: 0;
}
.news-sidebar-list li {
	margin: 0 10px 0 10px;
	line-height: 1.5;
	border-bottom: solid 1px #cccccc;
	list-style: none;
}
.news-sidebar-list a {
	text-decoration: none;
	color: #333;
	transition: color 0.3s;
}
.news-sidebar-list a:hover {
	color: #FF5722;
}
.news-main {
	flex: 3;
	max-width: 1000px;
	background: #FFF;
	padding: 20px 20px 30px 20px;
	border-radius: 8px;
}
.news-title {
	font-size: 24px;
	margin-bottom: 10px;
	background: #e14e80;
	color: #FFF;
	border-radius: 10px;
	padding: 0 15px;
}
.news-meta {
	font-size: clamp(0.75rem, 0.659rem + 0.45vw, 1rem);
	color: #777;
}
.news-content {
	line-height: 1.8;
}
/* レスポンシブ対応（スマホ時は1カラム） */
@media (max-width: 768px) {
	.news-single-container {
		flex-direction: column;
	}
	.sidebar, .news-main {
		max-width: 100%;
	}
}
/* -----------------------------------------------------------------------------------------------------

    お問い合せ設定：ContactForm7カスタマイズ

-----------------------------------------------------------------------------------------------------*/
/*ContactForm7カスタマイズ*/
.inquiry {
	width: 100%;
	margin: 0 auto;
	line-height: 2;
}
/*入力フォームの幅調整*/
.inquiry input {
	height: 1.5rem;
	border: 2px solid silver;
	border-radius: 5px;
	padding: 1rem;
	white-space: nowrap;
}
.inquiry textarea {
	width: 90%;
	height: 30rem;
	border: 2px solid silver;
	border-radius: 5px;
	padding: 1rem;
}
/*項目の下線*/
.inquiry th {
	width: 35% ! important;
	vertical-align: middle;
	border: none;
	border-bottom: 1px solid silver;
	text-align: left;
}
.inquiry td {
	border: none;
	text-align: left;
	padding: 2rem 0;
	border-bottom: 1px solid silver;
}
/*必須・任意のラベルの形状*/
.formlabel {
	padding: 5px;
	font-size: 0.8rem;
	font-weight: normal;
	border-radius: 5px;
	margin-right: 10px;
	position: relative;
}
/*必須のカラー*/
.must {
	background: #ff8282;
	color: #fff;
}
/*任意のカラー*/
.may {
	background: #a5a5a5;
	color: #fff;
}
/*送信ボタンのデザイン変更*/
#formbtn {
	display: block;
	padding: 15px;
	width: 20%;
	background: #eee;
	color: #333;
	font-size: 1.2em;
	font-weight: bold;
	border-radius: 5px;
	margin: 25px auto 0;
}
/*送信ボタンマウスホバー*/
#formbtn:hover {
	background: #ff6a6a;
	color: #fff;
}
/*ラジオボタンのデザイン変更*/
.inquiry .wpcf7-radio input[type=radio] {
	display: none;
	vertical-align: middle;
}
.inquiry .wpcf7-radio > .wpcf7-list-item {
	margin-left: 0;
}
.inquiry .wpcf7-radio input[type=radio] + span {
	padding-left: 20px;
	position: relative;
	margin-right: 20px;
	vertical-align: middle;
}
.inquiry .wpcf7-radio input[type=radio] + span::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 17px;
	height: 17px;
	border: 1px solid gray;
	border-radius: 50%;
}
.inquiry .wpcf7-radio input[type=radio]:checked + span {
	color: #d01137;
}
.inquiry .wpcf7-radio input[type=radio]:checked + span::after {
	content: "";
	display: block;
	position: absolute;
	top: 4px;
	left: 4px;
	width: 11px;
	height: 11px;
	background: #d01137;
	border-radius: 50%;
}
@media (max-width: 680px) {
	.inquiry {
		width: 100%;
		margin: 0 auto;
		line-height: 2;
		/* font-size: 1.4rem; */
	}
	.inquiry th, td {
		/* display:flex; */
		/* float: left; */
		/* clear: both; */
	}
	/*入力フォームの幅調整*/
	.inquiry input {
		width: 90%;
		height: 1.5rem;
		border: 2px solid silver;
		border-radius: 5px;
		padding: 0.5rem;
	}
	.inquiry textarea {
		width: 88%;
		height: 15rem;
		border: 2px solid silver;
		border-radius: 5px;
		padding: 1rem;
	}
	/*項目の下線*/
	.inquiry tr {
		display: flex;
		width: 50%;
		vertical-align: middle;
		border: none;
		border-bottom: none;
		text-align: left;
		font-weight: 600;
		/* font-size: 1.4rem; */
		flex-direction: column;
		flex-wrap: wrap;
	}
	.inquiry th {
		/* display: flex; */
		width: 100% !important;
		/* vertical-align: middle; */
		border: none;
		border-bottom: none;
		text-align: left;
		font-weight: 600;
		/* font-size: 1.4rem; */
		flex-wrap: nowrap;
		flex-direction: row;
	}
	.inquiry td {
		border: none;
		padding: 1rem;
		border-bottom: none;
		text-align: left;
		width: 100% !important;
	}
	/*送信ボタンのデザイン変更*/
	#formbtn {
		display: block;
		padding: 15px;
		width: 50%;
		margin: 0 auto;
	}
	.wpcf7-list-item {
		display: inline-block !important;
		margin: 0 auto !important;
		text-align: center !important;
		display: flex !important;
		justify-content: center !important;
	}
}

/* -----------------------------------------------------------------------------------------------------

    トップページ：スポンサー sponsor

-----------------------------------------------------------------------------------------------------*/
.toppage_sponsor_area {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	padding: 0;
	text-align: center;
}
.toppage_sponsor_area img {
	border: 1px solid #dcdcdc
}
.toppage_sponsor_diamond {
	margin: 0 auto 0 auto;
	padding: 0;
}
.toppage_sponsor_diamond .item {
	padding: 0 0 10px 0;
}
.toppage_sponsor_platina {
	margin: 0 auto 1rem auto;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	/* max-width: 840px; */
	justify-content: center;
}
.toppage_sponsor_platina .item {
	width: calc(100% / 2);
	/* nthで、lastだけキャンセルさせる必要あり */
	padding: 0 0 10px 0;
}
.toppage_sponsor_gold {
	margin: 0 auto 1rem auto;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.toppage_sponsor_gold .item {
	width: calc(100% / 3);
	/* nthで、lastだけキャンセルさせる必要あり */
	padding: 0 0 10px 0;
}
.toppage_sponsor_sliver {
	margin: 0 auto 1rem auto;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.toppage_sponsor_sliver .item {
	width: calc(100% / 6);
	/* nthで、lastだけキャンセルさせる必要あり */
	padding: 0 0 10px 0;
}
@media screen and (max-width: 768px) {
	.toppage_sponsor_area {
		width: 90%;
		margin: 0 auto;
		padding: 0;
		text-align: center;
	}
	.toppage_sponsor_diamond {
		margin: 0 auto;
		padding: 0;
	}
	.toppage_sponsor_diamond .item img {
		width: 100%;
	}
	.toppage_sponsor_platina {
		margin: 0 auto 1rem auto;
		padding: 0;
		display: flex;
		flex-wrap: wrap;
		width: 100%;
		max-width: 840px;
	}
	.toppage_sponsor_platina .item {
		width: calc(100% / 2);
		/* nthで、lastだけキャンセルさせる必要あり */
		padding: 0 0 10px 0;
	}
	.toppage_sponsor_platina .item img {
		width: 90%;
	}
	.toppage_sponsor_gold {
		margin: 0 auto;
		padding: 0;
		display: flex;
		flex-wrap: wrap;
	}
	.toppage_sponsor_gold .item {
		width: calc(100% / 3);
		/* nthで、lastだけキャンセルさせる必要あり */
		padding: 0;
	}
	.toppage_sponsor_gold .item img {
		width: 100%;
	}
	.toppage_sponsor_sliver {
		margin: 0 auto 0 auto;
		padding: 0;
		display: flex;
		flex-wrap: wrap;
	}
	.toppage_sponsor_sliver .item {
		width: calc(100% / 4);
		/* nthで、lastだけキャンセルさせる必要あり */
		padding: 0 0 10px 0;
	}
	.toppage_sponsor_sliver .item img {
		width: 100%;
	}
}
@media screen and (max-width: 580px) {
	.spo_h2 {
		font-size: 1.2rem;
	}
}
/* -----------------------------------------------------------------------------------------------------

    募集・企画

-----------------------------------------------------------------------------------------------------*/

.activity-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 2rem;
  margin-top: 2rem;
}

.activity-item {
  border: 1px solid #ddd;
  background-color: #fff;
  padding: 1rem;
  transition: all 0.3s ease;
}

.activity-item a:hover {
	text-decoration: none; /* 下線を追加 */
}
.activity-item:hover {
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

.activity-thumbnail img {
  width: 100%;
  height: auto;
  object-fit: cover;
  display: block;
  margin-bottom: 1rem;
}

.activity-title {
  font-size: 1.2rem;
  margin: 0.5rem 0;
}

.activity-date {
  font-size: 0.85rem;
  color: #999;
  display: block;
  margin-bottom: 0.5rem;
}

.activity-excerpt {
  font-size: 0.95rem;
  color: #333;
}



/* -----------------------------------------------------------------------------------------------------

    ギャラリーの調整

-----------------------------------------------------------------------------------------------------*/

.gallery {
  display: flex;
  flex-wrap: wrap;
  margin: -5px;
}

.gallery-item {
  padding: 5px;
  box-sizing: border-box;
}

/* カラム数ごとの自動調整 */
.gallery-columns-1 .gallery-item { width: 100%; }
.gallery-columns-2 .gallery-item { width: 50%; }
.gallery-columns-3 .gallery-item { width: 33.3333%; }
.gallery-columns-4 .gallery-item { width: 25%; }
.gallery-columns-5 .gallery-item { width: 20%; }
.gallery-columns-6 .gallery-item { width: 16.6666%; }
.gallery-columns-7 .gallery-item { width: 14.2857%; }
.gallery-columns-8 .gallery-item { width: 12.5%; }
.gallery-columns-9 .gallery-item { width: 11.1111%; }

.gallery-item img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}

/* スマホ表示：2列 */
@media screen and (max-width: 768px) {
  .gallery-item {
    width: 50% !important;
  }
}

/* スマホ表示：1列（より狭い端末） */
@media screen and (max-width: 480px) {
  .gallery-item {
    width: 100% !important;
  }
}



/* -----------------------------------------------------------------------------------------------------

    よくある質問の調整

-----------------------------------------------------------------------------------------------------*/

.ewd-ufaq-faq-toggle-symbol {
    display: none !important;
}

.ewd-ufaq-faq-title::before {
    display: none !important;
}
.ewd-ufaq-faq-title::before {
    content: "";
    display: inline-block;
    width: 4px;
    height: 1em;
    background-color: #00bfff;
    margin-right: 10px;
    vertical-align: middle;
}
.ewd-ufaq-single-faq {
    padding: 15px;
    margin-bottom: 20px;
    border: 1px solid #ddd;
    background-color: #f9f9f9;
    border-radius: 8px;
}
.ewd-ufaq-faq-title .ewd-ufaq-post-margin-symbol span{display: none;font-size: 30px;margin: 0 auto !important; }

.ewd-ufaq-faq-body {
  padding:10px 25px;
  padding-left: 0;
}
.ewd-ufaq-faq-title h4 {
  display:inline-block !important;
  width: 100% !important;
  margin:5px !important;
  position: relative !important;
  left: -5px !important;
  color: #000000;
}
.ewd-ufaq-faq-title .ewd-ufaq-post-margin-symbol span{
display: none !important;
font-size: 30px !important;
margin: 0 auto !important;
}
.ewd-ufaq-faq-body {
  padding:10px !important;
  padding-left: 5px !important;
}

.ewd-ufaq-faq-title-text {
  float: left;
  width: 100% !important;
}

/* -----------------------------------------------------------------------------------------------------

    ステージスケジュール・プログラム　　

-----------------------------------------------------------------------------------------------------*/
.stage-accordion {
	margin: 20px auto;
}
.stage-accordion p {
	padding: 0;
}
.accordion-button {
	display: flex;
	justify-content: space-between;
	align-items: center;
	background: #fff;
	border: 1px solid #ddd;
	padding: 16px;
	font-size: 18px;
	font-weight: bold;
	width: 100%;
	cursor: pointer;
	transition: background 0.3s;
	/* margin: 0 0 30px 0; */
}
.accordion-button:hover {
	background: #f5f5f5;
}
.accordion-button img {
	width: 24px;
	margin-right: 10px;
}
.accordion-icon {
	font-size: 24px;
	transition: transform 0.3s;
}
.accordion-content {
	display: none;
	padding: 16px;
	border: 1px solid #ddd;
	border-top: none;
	/* background: #fafafa; */
}
.accordion-item.open .accordion-content {
	display: block;
	padding: 20px 10px 20px 10px;
	margin: 0;
	top: -30px;
	position: relative;
}
.accordion-item.open .accordion-content p {
	display: block;
	padding: 0;
}
.accordion-item.open .accordion-icon {
	transform: rotate(359deg);
}
.stage-block {
	display: flex;
	align-items: flex-start;
	/* gap: 16px; */
	padding: 10px 0 25px 0;
}
.stage-block img {
	width: 300px;
	height: auto;
	object-fit: cover;
}
.stage-info p {
	margin: 4px 0;
	font-size: 14px;
}
.stage-info {
	max-width: 65%;
	padding: 0 20px;
}
.stage-info .time {
	font-size: 20px;
	font-weight: 600;
	font-family: sans-serif;
}
.accordion-item.open .accordion-content {
	display: block;
}
.accordion-item.open .accordion-content h4 .eve {
	font-size: 20px;
	background: #ffbebe;
	border-left: none;
	border-bottom: none;
	padding: 3px 10px;
	margin: 0px 0 10px 0px;
}
.accordion-item.open .accordion-content h4 .day1 {
	font-size: 20px;
	background: #bed8ff;
	border-left: none;
	border-bottom: none;
	padding: 3px 10px;
	margin: 0px 0 10px 0px;
}
.accordion-item.open .accordion-content h4 .day2 {
	font-size: 20px;
	background: #ffbeaa;
	border-left: none;
	border-bottom: none;
	padding: 3px 10px;
	margin: 0px 0 10px 0px;
}
.accordion-item.open .accordion-icon {
	transform: rotate(1deg); /* ＋を45度回転させる演出などもここ */
}
@media screen and (max-width: 768px) {
	.stage-block {
		flex-direction: column;
		align-items: center;
	}
	.stage-block img {
		width: 100%;
		max-width: 100%;
		height: auto;
	}
	.stage-info {
		max-width: 100%;
		padding: 10px 0 0 0;
	}
	.accordion-button {
		flex-direction: column;
		align-items: flex-start;
		font-size: 16px;
	}
	.accordion-icon {
		align-self: flex-end;
		margin-top: 10px;
	}
}
/* -----------------------------------------------------------------------------------------------------

    前夜祭 曲目リスト

-----------------------------------------------------------------------------------------------------*/
.eve-setlist-wrapper {
  overflow-x: auto;
  margin: 20px 0;
}

.eve-setlist-table {
  width: 100%;
  border-collapse: collapse;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  min-width: 300px;
}

.eve-setlist-table th,
.eve-setlist-table td {
  border: 1px solid #ccc;
  padding: 12px;
  text-align: left;
}

.eve-setlist-table thead {
  background-color: #f8f8f8;
}

.eve-setlist-table tr:nth-child(even) {
  background-color: #fafafa;
}

@media screen and (max-width: 600px) {
  .eve-setlist-table th,
  .eve-setlist-table td {
    padding: 10px;
    font-size: 14px;
  }
}
/* -----------------------------------------------------------------------------------------------------

    前夜祭 曲目リスト

-----------------------------------------------------------------------------------------------------*/
.eve-setlist-wrapper {
  overflow-x: auto;
  margin: 20px 0;
}

.eve-setlist-table {
  width: 100%;
  border-collapse: collapse;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  min-width: 300px;
}

.eve-setlist-table th,
.eve-setlist-table td {
  border: 1px solid #ccc;
  padding: 12px;
  text-align: left;
}

.eve-setlist-table thead {
  background-color: #f8f8f8;
}

.eve-setlist-table tr:nth-child(even) {
  background-color: #fafafa;
}

@media screen and (max-width: 600px) {
  .eve-setlist-table th,
  .eve-setlist-table td {
    padding: 10px;
    font-size: 14px;
  }
}
/* -----------------------------------------------------------------------------------------------------

    ブース情報

-----------------------------------------------------------------------------------------------------*/
.booth-section-block {
}

.booth-section-title {
  margin: 0 0 10px 0;
  padding: 0 0 2px 7px;
  font-size: 20px;
  font-weight: bold;
  border-left: 10px solid #4CAF50;
  border-bottom: 1px solid #4CAF50;
  font-family: sans-serif;
}

.booth-section-content {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  flex-wrap: wrap;
}

.booth-section-image img {
  width: 200px;
  height: auto;
  background: #eee;
  display: block;
}

.booth-section-info {
  flex: 1;
  min-width: 250px;
}

.booth-time-button {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-bottom: 10px;
  flex-wrap: wrap;
}

.booth-time {
  /* font-size: 20px; */
  font-weight: bold;
  background: #E91E63;
  border-radius: 10px;
  padding: 2px 10px;
  color: #FFFFFF;
}
.booth-time_midori {
  font-size: 20px;
  font-weight: bold;
  background: #4CAF50;
  border-radius: 10px;
  padding: 2px 10px;
  color: #FFFFFF;
}


.booth-button {
  background-color: #ff8000;
  color: #fff;
  padding: 8px 16px;
  text-decoration: none;
  border-radius: 4px;
  font-weight: bold;
  display: inline-block;
}

.booth-description {
  font-size: 14px;
  line-height: 1.6;
}

/* ✅ レスポンシブ対応 */
@media screen and (max-width: 600px) {
  .booth-section-content {
    flex-direction: column;
  }

  .booth-time-button {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }

  .booth-section-image img {
    width: 100%;
    max-width: 100%;
    height: auto;
  }
}
