/* ----------------------------
    ヘッダーロゴ
---------------------------- */
.header-logo {
  background: #FFF;
  box-shadow: 0 7px 30px rgba(0, 0, 0, 0.35);
}
.header-logo img {
  width: 90%;
  max-height: 80px;
}

/* ----------------------------
    固定メニュー
---------------------------- */
.fixed {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  padding-top: 80px;
  z-index: 3;
}
#fix-menu {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 850;
  background: #FFF;
}

/* ----------------------------
    メインメニュー
---------------------------- */
#main-menu {
  font-family: "M PLUS 1p", "Secular One", sans-serif;
  box-shadow: 0 15px 30px rgba(0, 0, 0, 0.30);
}
#main-menu a:hover {
  font-weight: bold;
  font-style: italic;
}

/* ----------------------------
    SNS（ヘッダー）
---------------------------- */
.header_sns {
  position: fixed;
  top: 20px;
  right: 10px;
  font-size: 10px;
  z-index: 999;
}
.header_sns ul li {
  float: left;
  width: 35px;
  height: 50px;
  line-height: 40px;
}
.header_sns img,
.home_sns img {
  display: block;
  width: 3.5em;
  height: 3.5em;
  opacity: 0.5;
  transition: transform 0.3s ease;
}
.header_sns img:hover,
.home_sns img:hover {
  opacity: 1.0;
  transform: scale(1.3);
}

/* ----------------------------
    SNS（ホームページ）
---------------------------- */
.home_sns {
  text-align: center;
  padding: 0;
  margin: auto;
  font-size: 80%;
  color: #000;
}
.home_sns ul li {
  display: inline-block;
  padding: 1em 2em;
}
.home_sns a:hover {
  display: block;
  border-radius: 1em;
}






/* メインメニュー */
.main-nav-bg {
	background: #00C;
	/* box-shadow: 0px 7px 30px 0px rgba(0, 0, 0, 0.35); */
}

.main-nav {
	display: flex;
	height: 100px;
	margin: 0 auto;
	width: 100%;
	max-width: 1200px;
}

.main-nav > li {
	width: 25%;
	height: 100px;
}

.main-nav li {
	list-style: none;
	position: relative;
	z-index: 99;
}

.main-nav li a {
	color: #fff;
	display: block;
	height: 100px;
	line-height: 4rem;
	text-align: center;
	text-decoration: none;
	width: 100%;
}

/* 子階層以降 */
.main-nav li li {
	background: #00C;
	height: 0;
	opacity: 0;
	overflow: hidden;
	transition: opacity 0.5s;
}

.main-nav li li a {
	height: 4rem;
}

.main-nav li:hover > ul > li {
	height: 4rem;
	opacity: 1;
	overflow: visible;
}

.main-nav li ul li ul {
	left: 100%;
	position: absolute;
	top: 0;
	width: 100%;
}

/* 一番右のメニュー対応（メガメニュー回避） */
.main-nav > li:nth-child(5) ul li ul {
	left: -100%;
}

/* ホバーエフェクト（親階層） */
.main-nav > li:hover > a {
	/* background: #F60; */
	/* background-image: linear-gradient(180deg, rgba(255, 50, 50, 1), rgba(255, 200, 0, 1)); */
}

/* ホバーエフェクト（子階層） */
.main-nav > li li > a {
	background-image: linear-gradient(60deg, rgba(0, 0, 140, 1), rgba(0, 150, 255, 1));
}

.main-nav > li li:hover > a {
	background-image: linear-gradient(60deg, rgba(144, 245, 154, 1), rgba(4, 202, 255, 1));
}

/* 孫・ひ孫階層の背景色 */
.main-nav li ul li ul li > a {
	background-image: linear-gradient(60deg, rgba(0, 0, 140, 1), rgba(0, 150, 255, 1));
//	background: #00D;
}
.main-nav li ul li ul li:hover > a {
	background-image: linear-gradient(60deg, rgba(144, 245, 154, 1), rgba(4, 202, 255, 1));
//	background: #4CA;
}
.main-nav li ul li ul li ul li > a {
	background-image: linear-gradient(60deg, rgba(0, 0, 140, 1), rgba(0, 150, 255, 1));
//	background: #00C;
}
.main-nav li ul li ul li ul li:hover > a {
	background-image: linear-gradient(60deg, rgba(144, 245, 154, 1), rgba(4, 202, 255, 1));
//	background: #4CA;
}

/* ▶︎ 矢印の表示 */
.main-nav > li > ul:before {
	content: "";
	right: 1rem;
	position: absolute;
	top: 1rem;
	transform: translateY(-40%);
}

.main-nav li ul li ul:before {
	border: 5px solid transparent;
	border-left: 5px solid #fff;
	content: "";
	left: -1em;
	position: absolute;
	color: #F00;
	top: 2rem;
	transform: translateY(-50%);
}

.main-nav li:nth-child(5) ul li ul:before {
	border: 5px solid transparent;
	border-right: 5px solid #fff;
	left: auto;
	right: -1em;
}

/* メディアクエリ */
@media screen and (max-width: 1200px) {
	/* 必要に応じて定義を追加 */
}
@media screen and (min-width: 1200px) {
	/* 必要に応じて定義を追加 */
	#main-menu {
		font-size: 1.25em;
	}

}
@media screen and (max-width: 820px) {
	#main-menu {
		font-size: 1.1em;
		display: none;
	}
	.header_sns {
		display: none;
	}
}

@media screen and (max-width: 480px) {
	/* スマホ向けメニューがあればここに追加 */
}


















/* ----------------------------
    トップメニュー全体
---------------------------- */
#top-nav-2025 {
  z-index: 999;
}

/* ----------------------------
    PC専用スクロールボックス（初期非表示）
---------------------------- */
.pc-scroll-box {
  display: none;
}
@media (min-width: 820px) {
  .pc-scroll-box.show {
    display: block;
  }
}

/* ----------------------------
    ハンバーガーボタン
---------------------------- */
.top-drawer-menu-btn {
  position: fixed;
  top: 90px;
  right: 15px;
  display: flex;
  width: 60px;
  height: 60px;
  justify-content: center;
  align-items: center;
  z-index: 556;
  background-color: #00C;
  border: none;
}
.top-drawer-menu-btn-bg:hover {
  background-color: #F50;
}
.top-drawer-menu-btn span,
.top-drawer-menu-btn span::before,
.top-drawer-menu-btn span::after {
  content: '';
  display: block;
  height: 2px;
  width: 40px;
  background-color: #FFF;
  position: absolute;
}
.top-drawer-menu-btn span::before {
  bottom: 12px;
}
.top-drawer-menu-btn span::after {
  top: 12px;
}

/* メニュー開いたときのハンバーガー変化 */
#top-drawer-menu-btn-check:checked ~ .top-drawer-menu-btn span {
  background-color: transparent;
}
#top-drawer-menu-btn-check:checked ~ .top-drawer-menu-btn span::before {
  bottom: 0;
  transform: rotate(45deg);
}
#top-drawer-menu-btn-check:checked ~ .top-drawer-menu-btn span::after {
  top: 0;
  transform: rotate(-45deg);
}

/* メニュー開いたときに出現させる背景 */
#top-drawer-menu-btn-check:checked ~ #top-menu-close {
  display: block;
  opacity: 0.7;
}

/* 背景マスク（クリックで閉じる） */
#top-menu-close {
  display: none;
  position: fixed;
  z-index: 3;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 1.0);
  opacity: 0;
  transition: 0.3s ease-in-out;
}

/* ----------------------------
    メニュー本体
---------------------------- */
.top-menu-content {
  color: #FFF;
  overflow: auto;
  text-align: center;
  width: 100%;
  max-height: 100%;
  position: fixed;
  padding-top: 80px;
  top: 80px; /* トップ固定の高さに合わせる */
  left: -100%; /* 非表示状態 */
  z-index: 80;
  background-color: rgba(0, 0, 0, 0.8);
  transition: all 0.5s ease;
}
#top-drawer-menu-btn-check:checked ~ .top-menu-content {
  left: 0;
}

/* ----------------------------
    メニュー内のリンク
---------------------------- */
.top-menu-content ul {
  margin: 0;
  padding: 0;
}
.top-menu-content ul li {
  text-align: center;
  margin: 0;
  padding: 0;
  display: inline-block;
  width: 15%;
  list-style: none;
}
.top-menu-content ul li a {
  display: block;
  color: #fff;
  text-decoration: none;
  height: 100px;
  line-height: 2em;
  position: relative;
}













/* ----------------------------
    ボトムナビ（初期非表示）
---------------------------- */
#bottom-nav-2025 {
  display: none;
}
@media (max-width: 820px) {
  #bottom-nav-2025 {
    display: block;
  }
}

/* ----------------------------
    ハンバーガーボタン（ボトム右）
---------------------------- */
.drawer-menu-btn {
  position: fixed;
  bottom: 20px;
  right: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 25%;
  height: 75px;
  z-index: 555;
  background-color: #0000CD;
}

.drawer-menu-btn-bg:hover {
  background: linear-gradient(180deg, rgba(255, 30, 0, 1), rgba(255, 150, 0, 1));
}

.drawer-menu-btn span,
.drawer-menu-btn span::before,
.drawer-menu-btn span::after {
  content: '';
  display: block;
  height: 2px;
  width: 12vw;
  background-color: #FFF;
  position: absolute;
}
.drawer-menu-btn span {
  position: relative;
}
.drawer-menu-btn span::before {
  bottom: 8px;
}
.drawer-menu-btn span::after {
  top: 8px;
}

/* 開いた時のボタン変形 */
#drawer-menu-btn-check:checked ~ .drawer-menu-btn span {
  background-color: transparent;
}
#drawer-menu-btn-check:checked ~ .drawer-menu-btn span::before {
  bottom: 0;
  transform: rotate(20deg);
}
#drawer-menu-btn-check:checked ~ .drawer-menu-btn span::after {
  top: 0;
  transform: rotate(-20deg);
}

/* メニュー本体の表示 */
#drawer-menu-btn-check:checked ~ .menu-content {
  left: 0;
}
#drawer-menu-btn-check:checked ~ #menu-close {
  display: block;
  opacity: 0.5;
}

/* ----------------------------
    メニュー本体
---------------------------- */
.menu-content {
  color: #FFF;
  overflow: auto;
  text-align: center;
  width: 100%;
  max-height: 100%;
  position: fixed;
  bottom: 90px;
  left: 100%; /* 初期は画面外 */
  z-index: 80;
  background-color: rgba(0, 0, 0, 0.7);
  transition: all 0.5s;
}

.menu-content ul {
  margin: 0;
  padding: 0;
}

.menu-content ul li {
  display: inline-block;
  width: 19%;
  list-style: none;
  text-align: center;
}

.menu-content ul li a {
  display: block;
  height: 15vw;
  position: relative;
}

/* ----------------------------
    メニューを閉じる黒背景
---------------------------- */
#menu-close {
  display: none;
  position: fixed;
  z-index: 3;
  bottom: 10px;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.9);
  opacity: 0;
  transition: 0.3s ease-in-out;
}

/* ----------------------------
    下部固定ナビ
---------------------------- */
.bottom_menu {
  position: fixed;
  left: 0;
  bottom: 20px;
  width: 100%;
  height: 75px;
  line-height: 75px;
  box-shadow: 0px -7px 30px rgba(0, 0, 0, 0.35);
  z-index: 500;
  background: #AAA;
}

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

.bottom_menu ul li {
  float: left;
  width: 25%;
  text-align: center;
  background: #FFF;
}

.bottom_menu ul li a {
  display: block;
  height: 75px;
}

/* ----------------------------
    SNSボタン
---------------------------- */
.sns-btn a:link {
  display: block;
}
.sns-btn img {
  display: block;
 // width: 3.5em;
 // height: 3.5em;
  opacity: 0.8;
  transition: transform 0.5s ease;
}
.sns-btn  img:hover {
  	border-radius: 0.5em;
//  	background: #F50;
  	opacity: 1.0;
  	transform: scale(1.5);
}


/* ----------------------------
    チェックボックス非表示
---------------------------- */
#drawer-menu-btn-check {
  display: none;
}










/* 共通設定 */
[class^="btn-"] a {
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	display: block;
	width: 100%; height: 100%;
	transition: background-color 0.3s ease;
}

/* PC用 背景画像 */
.btn-news a { background-image: url('../images_btn/btn_tx_news.svg'); }
.btn-artist a { background-image: url('../images_btn/btn_tx_artist.svg'); }
.btn-ticket a { background-image: url('../images_btn/btn_tx_ticket.svg'); }
.btn-access a { background-image: url('../images_btn/btn_tx_access.svg'); }
.btn-notice a { background-image: url('../images_btn/btn_tx_notice.svg'); }
.btn-stage a { background-image: url('../images_btn/btn_tx_stage_areamap.svg'); }
.btn-goods a { background-image: url('../images_btn/btn_tx_goods.svg'); }
.btn-about a { background-image: url('../images_btn/btn_tx_about.svg'); }
.btn-habu a { background-image: url('../images_btn/btn_tx_stage_habu_bk.svg'); }
.btn-mongoose a { background-image: url('../images_btn/btn_tx_stage_mongoose_bk.svg'); }

/* ホバー時の共通背景グラデーション */
[class^="btn-"] a:hover {
	background-color: #F50;
	background-image: linear-gradient(180deg, rgba(255,30,0,1) 0%, rgba(255,150,0,1) 100%);
	transition: transform 0.5s ease;
}

/* 追加で元画像を重ねる場合（擬似要素が好ましい） */
.btn-news a:hover { background-image: url('../images_btn/btn_tx_news.svg'), linear-gradient(180deg, rgba(255,30,0,1), rgba(255,150,0,1)); }
.btn-artist a:hover { background-image: url('../images_btn/btn_tx_artist.svg'), linear-gradient(180deg, rgba(255,30,0,1), rgba(255,150,0,1)); }
.btn-ticket a:hover { background-image: url('../images_btn/btn_tx_ticket.svg'), linear-gradient(180deg, rgba(255,30,0,1), rgba(255,150,0,1)); }
.btn-access a:hover { background-image: url('../images_btn/btn_tx_access.svg'), linear-gradient(180deg, rgba(255,30,0,1), rgba(255,150,0,1)); }
.btn-notice a:hover { background-image: url('../images_btn/btn_tx_notice.svg'), linear-gradient(180deg, rgba(255,30,0,1), rgba(255,150,0,1)); }
.btn-stage a:hover { background-image: url('../images_btn/btn_tx_stage_areamap.svg'), linear-gradient(180deg, rgba(255,30,0,1), rgba(255,150,0,1)); }
.btn-goods a:hover { background-image: url('../images_btn/btn_tx_goods.svg'), linear-gradient(180deg, rgba(255,30,0,1), rgba(255,150,0,1)); }
.btn-about a:hover { background-image: url('../images_btn/btn_tx_about.svg'), linear-gradient(180deg, rgba(255,30,0,1), rgba(255,150,0,1)); }
.btn-habu a:hover { background-image: url('../images_btn/btn_tx_stage_habu.svg'), linear-gradient(180deg, rgba(255,30,0,1), rgba(255,150,0,1)); }
.btn-mongoose a:hover { background-image: url('../images_btn/btn_tx_stage_mongoose.svg'), linear-gradient(180deg, rgba(255,30,0,1), rgba(255,150,0,1)); }
/* 同様に他のボタンも同じ形式で記述可能 */

/* モバイル対応 */
@media screen and (max-width: 820px) {
	.btn-news a { background-image: url('../images_btn/btn_tx_news_bk.svg'); }
	.btn-artist a { background-image: url('../images_btn/btn_tx_artist_bk.svg'); }
	.btn-ticket a { background-image: url('../images_btn/btn_tx_ticket_bk.svg'); }
	.btn-access a { background-image: url('../images_btn/btn_tx_access_bk.svg'); }
	.btn-notice a { background-image: url('../images_btn/btn_tx_notice_bk.svg'); }
	.btn-stage a { background-image: url('../images_btn/btn_tx_stage_areamap_bk.svg'); }
	.btn-goods a { background-image: url('../images_btn/btn_tx_goods_bk.svg'); }
	.btn-about a { background-image: url('../images_btn/btn_tx_about_bk.svg'); }
	.btn-habu a { background-image: url('../images_btn/btn_tx_stage_habu_bk.svg'); }
	.btn-mongoose a { background-image: url('../images_btn/btn_tx_stage_mongoose_bk.svg'); }
}

/* 小画面向けのサイズ変更など（例） */
@media screen and (max-width: 480px) {
	[class^="btn-"] a {
		//background-size: 60px 60px;
	}
}
































/* サブメニュー共通スタイル */
[class^="sub-btn-"] a {
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  margin: auto;
}

/* 通常時の背景画像 */
.sub-btn-news a       { background-image: url('../images_btn/btn_tx_news.svg'); }
.sub-btn-artist a     { background-image: url('../images_btn/btn_tx_artist.svg'); }
.sub-btn-ticket a     { background-image: url('../images_btn/btn_tx_ticket.svg'); }
.sub-btn-access a     { background-image: url('../images_btn/btn_tx_access.svg'); }
.sub-btn-notice a     { background-image: url('../images_btn/btn_tx_notice.svg'); }
.sub-btn-stage a      { background-image: url('../images_btn/btn_tx_stage_areamap.svg'); }
.sub-btn-goods a      { background-image: url('../images_btn/btn_tx_goods.svg'); }
.sub-btn-about a      { background-image: url('../images_btn/btn_tx_about.svg'); }
.sub-btn-habu a       { background-image: url('../images_btn/btn_tx_stage_habu_w.svg'); }
.sub-btn-mongoose a   { background-image: url('../images_btn/btn_tx_stage_mongoose_w.svg'); }
.sub-btn-bus a        { background-image: url('../images_btn/btn_tx_bus.svg'); }

/* 通常の hover 効果（画像はそのまま） */
[class^="sub-btn-"] a:hover {
  background-color: #F50;
  background-image: inherit,
    linear-gradient(180deg, rgba(255,30,0,1) 0%, rgba(255,150,0,1) 100%);
}

/* 特別な hover 画像切り替え（ハブとマングース） */
.sub-btn-news a:hover { 
	background-image: 
	url('../images_btn/btn_tx_news.svg'),linear-gradient(180deg, rgba(255,30,0,1) 0%, rgba(255,150,0,1) 100%); }
.sub-btn-artist a:hover { 
	background-image: 
	url('../images_btn/btn_tx_artist.svg'),linear-gradient(180deg, rgba(255,30,0,1) 0%, rgba(255,150,0,1) 100%); }
.sub-btn-ticket a:hover { 
	background-image: 
	url('../images_btn/btn_tx_ticket.svg'),linear-gradient(180deg, rgba(255,30,0,1) 0%, rgba(255,150,0,1) 100%); }
.sub-btn-access a:hover { 
	background-image: 
	url('../images_btn/btn_tx_access.svg'),linear-gradient(180deg, rgba(255,30,0,1) 0%, rgba(255,150,0,1) 100%); }
.sub-btn-notice a:hover { 
	background-image: 
	url('../images_btn/btn_tx_notice.svg'),linear-gradient(180deg, rgba(255,30,0,1) 0%, rgba(255,150,0,1) 100%); }
.sub-btn-stage a:hover { 
	background-image: 
	url('../images_btn/btn_tx_stage_areamap.svg'),linear-gradient(180deg, rgba(255,30,0,1) 0%, rgba(255,150,0,1) 100%); }
.sub-btn-goods a:hover { 
	background-image: 
	url('../images_btn/btn_tx_goods.svg'),linear-gradient(180deg, rgba(255,30,0,1) 0%, rgba(255,150,0,1) 100%); }
.sub-btn-about a:hover { 
	background-image: 
	url('../images_btn/btn_tx_about.svg'),linear-gradient(180deg, rgba(255,30,0,1) 0%, rgba(255,150,0,1) 100%); }
.sub-btn-habu a:hover { 
	background-image: 
	url('../images_btn/btn_tx_stage_habu_w.svg'),linear-gradient(180deg, rgba(255,30,0,1) 0%, rgba(255,150,0,1) 100%); }
.sub-btn-mongoose a:hover { 
	background-image: 
	url('../images_btn/btn_tx_stage_mongoose_w.svg'),linear-gradient(180deg, rgba(255,30,0,1) 0%, rgba(255,150,0,1) 100%); }
.sub-btn-bus a:hover { 
	background-image: 
	url('../images_btn/btn_tx_bus.svg'),linear-gradient(180deg, rgba(255,30,0,1) 0%, rgba(255,150,0,1) 100%); }

.sub-btn-habu a:hover {
  background-image:
    url('../images_btn/btn_tx_stage_habu.svg'),
    linear-gradient(180deg, rgba(255,30,0,1) 0%, rgba(255,150,0,1) 100%);
}
.sub-btn-mongoose a:hover {
  background-image:
    url('../images_btn/btn_tx_stage_mongoose.svg'),
    linear-gradient(180deg, rgba(255,30,0,1) 0%, rgba(255,150,0,1) 100%);
}






























/* @group WWW25 */

/* ▼ 共通メニュー設定 */
.menu {
  padding: 0 !important;
}
.menu a {
  color: #333;
  text-decoration: none;
}
.menu a:hover {
  display: block;
  background: #F00;
}

/* ▼ 各メニュー項目 */
.menu > li {
  position: relative;
  display: inline-block;
  background-color: #f7f7f7;
  border: 1px solid hsla(0, 0%, 78%, 0.5);
  border-radius: 0;
  color: #333;
  padding: 0.25em 3.5em 0.25em 0.5em;
}

/* ▼ メニュー矢印用 */
.menu > li::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  /* 以下は必要に応じて有効化 */
  /* right: 7px;
  width: 7px;
  height: 7px;
  margin: auto;
  border-top: 2px solid #333;
  border-right: 2px solid #333;
  transform: translateY(-2px) rotate(135deg);
  box-sizing: border-box; */
}

/* ▼ サブメニュー（非表示） */
.menu > li > ul {
  display: none;
}

/* ▼ サブメニュー（表示時） */
.menu > li:hover ul {
  display: block;
  position: absolute;
  left: 0;
  list-style-type: none;
  background-color: #f7f7f7;
  border: 1px solid hsla(0, 0%, 78%, 0.5);
  font-size: 0.9em;
  padding: 0.4em 1.4em 0.4em 0.4em;
  z-index: 10;
}

/* ▼ サブメニュー項目（スタイル調整するならここ） */
.menu > li ul > li {
  /* line-height: 2em; */
}

/* ▼ ボタン：もっと見る */
.btn-more a {
  text-indent: 1em;
  width: 8em;
  font-size: 1.5em;
  line-height: 2em;
  display: block;
  text-align: center;
  color: #FFF;
  margin: 3em auto;
  background: #00C;
  transition: transform 0.3s ease;
}

.btn-more a:hover {
  background: #F60;
  background-image: linear-gradient(90deg, rgba(255, 30, 0, 1) 0%, rgba(255, 150, 0, 1) 100%);
  transform: translate(8px, 2px);
}

/* @end */












