@charset "utf-8";

/* ===========================================
 * 共通CSS
 * ======================================== */
body {
	position: relative;
	font-family: 'NotoSansJP', 'NotoSans', 'NotoSansKR', 'NotoSansSC', 'NotoSansTC';
}

i {
	font-style: normal;
}

p,
li {
	line-height: 1.5;
}

body,
p,
li,
th,
td {
	font-size: 1.2rem;
}

a {
	text-decoration: none;
	color: var(--MAIN_BLACK, #000000);
}

.main_content_wrapper {
	position: relative;
	width: 37.5rem;
	background-color: 	#FFFEF0;
}

/*-------------------------
 * SNSリスト
-------------------------*/
.sns_list {
	display: flex;
}

.sns_list .social_list {
	display: flex;
	gap: 1.2rem;
}

.sns_list .social_list a {
	display: flex;
}

.sns_list .social_list img {
	width: 5rem;
	height: 5rem;
}

/*-------------------------
 * スライダーボタン
-------------------------*/
html .slick-slider {
	margin: 0;
}

html .slick-slider .slick-slide {
	display: inline-flex;
	justify-content: center;
	align-items: center;
}

/* スライダー前・後ボタン */
html .slick-arrow {
	position: relative;
	display: inline-block;
	width: 3.2rem;
	height: 3.2rem;
	text-indent: -9999rem;
	cursor: pointer;
}

/* スライダードット */
html .slick-dots {
	position: relative;
	display: flex;
	width: 100%;
	bottom: 0;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 0.8rem;
}

html .slick-dots li {
	position: relative;
	display: inline-block;
	width: 1.2rem;
	height: 1.2rem;
	padding: 0;
	margin: 0;
	cursor: pointer;
}

html .slick-dots li button {
	display: block;
	width: 1.2rem;
	height: 1.2rem;
	border: 0;
	outline: none;
	line-height: 0;
	text-indent: -99.9rem;
	font-size: 0;
	color: transparent;
	cursor: pointer;
	border-radius: 50%;
}

html .slick-dots li button::before {
	content: '';
}

html .slick-dots>li.slick-active>button {
	/* background: #D02424; */
}

/* イベントポップアップ */
html .slick-arrow {
	position: relative;
}

/*-------------------------
 * ヘッダー
-------------------------*/
header {
	position: relative;
	width: 37.5rem;
}

.c_header_menu {
	display: flex;
	height: 12rem;
}

.c_header_block {
	display: flex;
	flex-wrap: wrap;
	width: 27.1rem;
	padding: 0.54rem 2rem 1.2rem 1rem;
	gap: 0.1rem;
	column-gap: 0.7rem;
}

.header_chara{
	margin-top: -1.8rem;
	width: 6.3rem;
	height: 6.3rem;
}

.m_header_block {
	display: flex;
	flex-wrap: wrap;
	width: 27.1rem;
	padding: 0.54rem 2rem 1.2rem 1rem;
	gap: 0.1rem;
	column-gap: 0.7rem;
}

/* ヘッダLogo */
.c_header_info .c_header_jo_logo {
	display: flex;
	height: 5.74rem;
	font-size: 0;
	margin-top:1rem;
}

.c_header_info .c_header_jo_logo>img {
	width: 6.4rem;
	height: 9rem;
	margin-top:-2.5rem;
}

.c_header_info .c_header_jo_logo .header_jo_logo {
	/* margin-top: 0.64rem; */
	width: 23.9rem;
	height: 4.2rem;
}

.c_header_info .c_header_jo_logo .header_jo_logo img {
	width: 23.9rem;
	height: 4.2rem;
}

/* グローバルメニューエリア */
.c_header_menu .c_header_globalmenu {
	display: flex;
	width: 5.3rem;
	height: 4rem;
	padding-top: 1.0rem;
	align-items: center;
	/* gap: 0.7rem; */
	background: var(--MAIN_COLOR, #003288);
	border-radius: 6px;
	flex-direction: column;
}

/* グローバルメニューエリア */
.c_header_menu .m_header_block .c_header_globalmenu {
	display: flex;
	margin-top:0.5rem;
	border: 0.2rem solid #CECECE;
	position:fixed;
	top:0rem;
	z-index: 1000;
}

.c_header_menu .m_header_globalmenu_area {
	display: flex;
	width: 5.2rem;
	height: 3.6rem;
	padding-left: 1.6rem;
	gap: 0.7rem;
}

.c_header_menu .c_header_globalmenu .header_globalmenu_icon {
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
}

.c_header_menu .c_header_globalmenu .header_globalmenu_icon .item-hamburger {
	display: block;
	width: 3rem;
	height: 0.2rem;
	background-color: #FFFFFF;
}

.c_header_globalmenu .item-txt {
	color: #FFFFFF;
	font-size: 1rem;
	margin-top: 0.1rem;
}



.c_header_menu .m_header_globalmenu {
	display: flex;
	width: 11.2rem;
	height: 3.6rem;
	padding-left: 1.6rem;
	margin-top:6.9rem;
	border: 0.2rem solid #CECECE;
	align-items: center;
	gap: 0.7rem;
	background: var(--MAIN_BLACK, #000000);
	position:fixed;
	top:-6rem;
    z-index: 1000;
}

.c_header_menu .m_header_globalmenu .header_globalmenu_icon {
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
}

.c_header_menu .m_header_globalmenu .header_globalmenu_icon .item-hamburger {
	display: block;
	width: 2.6rem;
	height: 0.2rem;
	background-color: #FFFFFF;
}

.m_header_globalmenu .item-txt {
	color: #FFFFFF;
	font-size: 1.6rem;
	font-weight: bold;
}

/* 今日の日付と開催状況 */
.c_header .c_header_dateinfo {
	position: relative;
	width: 9.6rem;
	height: 9.6rem;
}

.c_header .c_header_dateinfo .c_header_dateinfo_contents {
	position: absolute;
	top: -0.8rem;
	left: 1.05rem;
}

.c_header .c_header_dateinfo .c_header_ribbon {
	width: 9.6rem;
	height: 9.6rem;
	margin-left:-1.65rem;
	margin-top:1.8rem;
}

.c_header_date {
	position: relative;
	display: flex;
	flex-direction: column;
	width: 100%;
	top: 4.25rem;
	left: -0rem;
	align-items: center;
	color: #FFFFFF;
	font-size: 1.5rem;
	font-weight: bold;
	line-height: 2.52rem;
	color: var(--MAIN_BLACK, #000000);
}

.c_header_date .c_header_kaimon {
	display: flex;
	width: 100%;
	height: 2rem;
	align-items: center;
	font-size: 0.9rem;
	line-height: 1.68rem;
	color: var(--MAIN_BLACK, #000000);
}

.c_header_date .c_header_kaimon .kaimon_ttl {
	width: 2.2rem;
	margin-top: 1rem;
	line-height: 1.2rem;
}

.c_header_date .c_header_kaimon .kaimon_time {
	font-size: 2.2rem;
	margin-top:0.8rem;
}

.header_cal_wrapper {
	width: 5.6rem;
	height: 4rem;	
	background-color: #DD0000;
	color: #FFFFFF;
	font-size: 1.3rem;
	margin-left:-0.5rem;
	font-weight: bold;
	border-radius: 0.6rem;
	line-height: 1.54rem;
	display: flex;
	justify-content: center;
	align-items: center;
}

.header_cal_wrapper2 {
	width: 5.5rem;
	height: 4rem;	
	background-color: #ff9d00;
	font-size: 1.4rem;
	margin-left:-0.5rem;
	font-weight: bold;
	border-radius: 0.6rem;
	line-height: 1.54rem;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align:center
}

/*-------------------------
 * セカンドページヘッダー
-------------------------*/
.page_head_wrapper {
	padding: 1rem 0 1rem;
	background-color: #C3EDFF;
	background-size: cover;
}

.category-pagettl {
	padding: 0.5rem 0;
	text-align: center;
	font-size: 3.2rem;
	font-weight: bold;
	color: var(--MAIN_COLOR, #003288);
	line-height: 3.6rem;
}

/*-------------------------
 * セカンドページコンテンツ
-------------------------*/
#com_content_wrapper {
	position: relative;
	background: #FFFEF0;
}

#com_content_wrapper #com_content {
	background: #FFFEF0;
	min-height: 10rem;
	padding-bottom: 1rem;
}

/*-------------------------
 * SNSエリア
-------------------------*/
.top_sns_content {
	display: flex;
	justify-content: center;
	align-items: center;
}

/*-------------------------
 * フッターバナーエリア
-------------------------*/
.top_footer_banner_inner_content {
	position: relative;
	padding: 2.4rem 0 3.1rem;
	background-color: #003288;
	border-bottom: 1px solid #FFFFFF;
}

.footer_banner_list,
.footer_banner_list_with_slick {
	padding: 0 2.8rem 0 3.1rem;
}

.footer_banner_content ul.banner_list {
	display: flex;
	flex-wrap: wrap;
	gap: 1.6rem;
	justify-content: flex-start;
}

.footer_banner_content ul.banner_list li {
	width: 15rem;
	height: 4.2rem;
}

.top_footer_banner_img {
	width: 14.5rem !important;
	height: 4.2rem;
	margin: 0 0.1rem;
}

.footer_slider_controls {
	position: relative;
	width: 100%;
	min-height: 1.2rem;
	margin: 2.4rem auto 0;
}

/* スライダー前・後ボタン */
.footer_slider_controls .footer_slider_arrows {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.footer_slider_controls .footer_slider_arrows .top_footer_banner_prev {
	width: 1.6rem;
	height: 1.6rem;
	background: url(/cdn/sp/images/common/ico_circle_arrow_left.svg) no-repeat;
	background-size: contain;
	left: 3.4rem;
}

.footer_slider_controls .footer_slider_arrows .top_footer_banner_next {
	width: 1.6rem;
	height: 1.6rem;
	background: url(/cdn/sp/images/common/ico_circle_arrow_right.svg) no-repeat;
	background-size: contain;
	right: 3.4rem;
}

/* スライダードット */
.footer_slider_dots .slick-dots>li>button {
	background: #BABABA;
}

.footer_slider_dots .slick-dots>li.slick-active>button {
	background: var(--MAIN_BLACK, #000000);
}

/*-------------------------
 * フッター
-------------------------*/
.com-footer {
	position: relative;
	width: 37.5rem;
	margin-bottom: 5.8rem;
}

.c_footer_inner_block {
	width: 100%;
}

.com-footer .c_footer_fansupport {
	width: 90%;
	
	text-align: center;
	margin: 1.5rem auto 0;
	padding: 1rem 0;
	color: var(--MAIN_COLOR, #003288);
	border: 0.2rem solid var(--MAIN_COLOR, #003288);
	border-radius: 1rem
}

.com-footer .fansupport_txt {
	font-size: 1.4rem;
	font-weight: bold;
	line-height: 1;
	margin-bottom: 1.5rem;
}
.com-footer .fansupport_contact .item_supportph {
	display: inline-block;
	font-size: 2.8rem;
	font-weight: bold;
}
.com-footer .fansupport_contact .item_supportph a{
	color: var(--MAIN_COLOR, #003288);
}

/* PCサイトへリンク */
.com-footer .footer_item_toPc {
	width: 100%;
	text-align: center;
	padding: 2.5rem 0 2.4rem;
}

.com-footer .footer_item_toPc a {
	position: relative;
	display: inline-block;
	width: 21.5rem;
	height: 4.4rem;
	background: var(--MAIN_BLACK, #000000);
	border-radius: 6.4rem;
	color: #FFFFFF;
	font-size: 1.5rem;
	font-weight: bold;
	line-height: 4.4rem;
	padding-left: 4.1rem;
}

.com-footer .footer_item_toPc a::before {
	content: '';
	position: absolute;
	background: url(/cdn/sp/images/common/img_pc.svg) no-repeat;
	background-size: 2.2rem 1.8rem;
	width: 2.2rem;
	height: 1.8rem;
	left: 3.9rem;
	top: 50%;
	transform: translate(0, -50%);
}

/* トップへボタン */
.com-footer .footer_item_scroll_top {
	width: 100%;
	height: 6rem;
	background-color: #EEEEEE;
	text-align: center;
}

.com-footer .footer_item_scroll_top a {
	position: relative;
	display: inline-block;
	margin: 0 auto;
	text-align: right;
	padding-left: 2.8rem;
	font-size: 2rem;
	line-height: 6rem;
	color: var(--MAIN_COLOR, #003288);
}

.com-footer .footer_item_scroll_top a::before {
	content: '';
	position: absolute;
	background: url(/cdn/sp/images/common/ico_arrow_b_up.svg) no-repeat;
	background-size: 1.7rem 1rem;
	width: 1.7rem;
	height: 1rem;
	left: 0;
	top: 50%;
	transform: translate(0, -50%);
}

/* その他メニュー */
.com-footer .c_footer_other_menu {
	display: flex;
	width: 100%;
	padding: 2.4rem 4rem 1.6rem 2rem;
	flex-wrap: wrap;
}

.com-footer .c_footer_other_menu .item_other_menu {
	display: inline-block;
	width: 14.75rem;
	height: 3.7rem;
	line-height: 1.4;
	margin-bottom: 0.6rem;
}

.com-footer .c_footer_other_menu .item_other_menu:nth-of-type(odd) {
	margin-right: 1.9rem;
}

.com-footer .c_footer_other_menu .item_other_menu a {
	position: relative;
	display: inline-block;
	width: 100%;
	height: inherit;
	font-size: 1.3rem;
	color: var(--MAIN_BLACK, #000000);
	line-height: 1.56;
	padding-left: 1.6rem;
}

.com-footer .c_footer_other_menu .item_other_menu a:before {
	content: '';
	position: absolute;
	background: url(/cdn/sp/images/common/ico_arrow_b.svg) no-repeat;
	background-size: 0.6rem 1rem;
	width: 0.6rem;
	height: 1rem;
	top: 0.58rem;
	left: 0;
}

/* 外国語メニュー */
.com-footer .c_footer_global_lang_menu {
	width: 100%;
	padding: 1.6rem 2rem 0;
	background-color: #F5F9FC;
}

.com-footer .c_footer_global_lang_menu .global_lang_menu_ttl {
	display: flex;
	margin-bottom: 2.4rem;
	align-items: center;
	gap: 0.8rem;
}

.com-footer .c_footer_global_lang_menu .global_lang_menu_ttl img {
	width: 2.4rem;
	height: 2.4rem;
}

.com-footer .c_footer_global_lang_menu .global_lang_menu_ttl .global_lang_menu_title {
	font-weight: bold;
	font-style:oblique;
}

.com-footer .c_footer_global_lang_menu .global_lang_menu {
	display: flex;
	width: 100%;
	flex-wrap: wrap;
}

.com-footer .c_footer_global_lang_menu .global_lang_menu .item_lang_menu {
	display: inline-block;
	width: 14.8rem;
	height: 1.9rem;
	line-height: 1.9rem;
	margin-bottom: 2.4rem;
}

.com-footer .c_footer_global_lang_menu .global_lang_menu .item_lang_menu:nth-of-type(odd) {
	margin-right: 2rem;
}

.com-footer .c_footer_global_lang_menu .global_lang_menu .item_lang_menu a {
	display: inline-block;
	position: relative;
	width: 100%;
	height: inherit;
	font-size: 1.3rem;
	color: var(--MAIN_BLACK, #000000);
	line-height: 1.56rem;
	padding-left: 1.4rem;
}

.com-footer .c_footer_global_lang_menu .global_lang_menu .item_lang_menu a::before {
	content: '';
	position: absolute;
	background: url(/cdn/sp/images/common/ico_arrow_b.svg) no-repeat;
	background-size: 0.6rem 1rem;
	width: 0.6rem;
	height: 1rem;
	top: 0.35rem;
	left: 0;
}

/* フッターLogo */
.com-footer .item-footer-logo {
	width: 100%;
	padding: 4.369rem 0 2.4rem;
}

.com-footer .item-footer-logo img {
	display: block;
	width: 20.4rem;
	margin: 0 auto;
}

.com-footer .item-copyright {
	width: 100%;
	text-align: center;
	font-size: 1.2rem;
	padding-bottom: 3.3rem;
}

@keyframes select_top {
0% {
    transform: translate(0, 0px);
  }
100% {
    transform: translate(0, -5px);
  }
}

@keyframes select_right {
0% {
    transform: translate(0px, 0);
  }
100% {
    transform: translate(5px, 0);
  }
}

@keyframes select_spin {
0% {
    transform: rotate(0deg);
  }
100% {
    transform: rotate(5deg);
  }
}