@charset "utf-8";

/* CSS Document */
/***** 全体設定 *****/
html .category_calendar,
html .calendar_switcher a {
	color: var(--MAIN_BLACK, #222);
}

main #com_content_wrapper .calendar_switcher {
	position: relative;
	/* left: -25px;
	display: flex;
	align-items: center;
	gap: 28px; */
}

main #com_content_wrapper .kbn_area {
	gap: 8px;
	flex: 1 0 0;
}

main #com_content_wrapper .calendar_icon {
	display: flex;
	align-items: center;
	gap: 24px;
	margin-top: 20px;
}

main #com_content_wrapper .category_calendar .com_content {
	padding: 20px 25px 64px 25px;
	border-radius: 16px;
}

.category_calendar .calendar {
	padding-bottom: 20px;
}

.category_calendar .calendar .cal_html[data-display="false"] {
	display: none;
}

/* .category_calendar .calendar .ym_band {
	display: flex;
	align-items: center;
	width: 216px;
	height: 60px;
	background-color: #2160AF;
	border-radius: 0 8px 8px 0;
} */

.par-title01 {
	position: relative;
	width: 100%;
	min-height: 48px;
	font-size: 24px;
	font-weight: bold;
	background: #F7F5F2;
	padding: 6px 24px 7px 16px;
	border-left: 8px solid var(--MAIN_COLOR, #003288);
	margin: 30px 0 10px 0;
}


/* 月選択メニュー */
.calendar_switcher .banner {
	width: 217px;
	height: 56px;
}

.calendar_switcher .month_box {
	position: absolute;
}

.calendar_switcher .month_box_year {
	position: absolute;
	color: var(--MAIN_WHITE, #FFF);
	font-size: 20px;
	/* font-weight: bold; */
	padding: 13px 133px 13px 25px;
}

.calendar_switcher .month_box_month {
	position: absolute;
	color: var(--MAIN_WHITE, #FFF);
	text-align: right;
	font-size: 40px;
	/* font-weight: bold; */
	padding: 5px 10px 14px 145px;
}

.calendar_switcher .month_box_month .month_txt {
	font-size: 32px;
	letter-spacing: 0.192px;
}

.calendar .par-tab {
	display: flex;
	height: 40px;
	margin-top: 24px;
	margin-bottom: 16px;
	gap: 1.3px;
}

.calendar .par-tab_li {
	width: 92px;
	display: flex;
    justify-content: center;
    align-items: center;
	color: var(--MAIN_BLACK, #000000);
	font-size: 12px;
	font-weight: bold;
	letter-spacing: 0.072px;
	border: 2px solid #D02424;
}

.calendar .par-tab_li.done.selected {
	background-color: #D02424;
	border: 2px solid #D02424;
}

.calendar .par-tab_li.not-yet {
	color: #FFFFFF;
	background-color: #CECECE;
	border: none;
}

.calendar .par-tab .par-tab_item {
	font-size: 20px;
}

.calendar .par-tab .selected .par-tab_item .par-tab_item_cell {
	color: #FFFFFF;
}

.calendar .par-tab .par-tab_item .font_size {
	font-size: 12px;
}

/* グレード説明 */
.cal_explanatory_note {
	display: flex;
	align-items: flex-start;
	gap: 16px;
}

.cal_explanatory_note li {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 24px;
	font-size: 14px;
	letter-spacing: 0.4px;
}

.cal_explanatory_note li.ico_grade {
	width: 56px;
	padding: var(----margin_xxs, 2px) var(----margin_xs, 4px);
	gap: var(----margin_xl, 16px);
	border-radius: 12px;
	color: #FFF;
	text-align: center;
	font-weight: bold;
}

.cal_explanatory_note li.ico_time {
	padding: 2px 0;
	align-items: center;
	gap: 4px;
	font-size: 12px;
	line-height: 1;
	/* 142.857% */
}

.cal_explanatory_note li.ico_time img {
	width: 14px;
	height: 14px;
}

.cal_explanatory_note>li.ico_grade.sg {
	background: var(--GRADE_SG, #D70915);
}

.cal_explanatory_note>li.ico_grade.g1 {
	background: var(--GRADE_G1, #FD4E1E);
}

.cal_explanatory_note>li.ico_grade.g2 {
	background: var(--GRADE_G2, #8E21E1);
}

.cal_explanatory_note>li.ico_grade.g3 {
	background: var(--GRADE_G3, #69BE82);
}

.cal_explanatory_note>li.ico_grade.ip {
	background: var(--GRADE_IPPAN, #3A9CFC);
}

.calendar_grade_list_jogai {
	margin-bottom: 0.5rem;
}

.cal_explanatory_note .calendar-grade-jm {
	background:#FFF355 !important;
	color: #262525 !important;
	gap: var(----margin_xl, 1px) !important;
}

.cal_explanatory_note .calendar-grade-jd {
	background:#C0FFBF !important;
	color: #262525 !important;
	gap: var(----margin_xl, 1px) !important;
}

.cal_explanatory_note .calendar-grade-jn {
	background: #3763FF !important;
	color: #ffffff !important;
	gap: var(----margin_xl, 1px) !important;
}

/* 年間開催日程表 */
.par-btn02.top{
	width: 172px;
	height: 32px;
	font-size: 12px;
	background: var(--MAIN_COLOR, #003288);
	border-radius: 7px;
}

.par-btn02.top.right-arrow::after {
	content: '';
	position: absolute;
	background: url(/cdn/pc/images/common/ico_arrow_forward.svg) no-repeat;
	background-size: 16px;
	width: 16px;
	height: 16px;
	top: 50%;
	right: 16px;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
}
.par-btn02.top::before {
	position: absolute;
	content: '';
	width: 18px;
	height: 23px;
	background-image: url(/cdn/pc/images/common/ico_pdf.svg);
	top: 55%;
	left: 16px;
}


/******************
     節関連時刻情報 
*******************/
.par-table01.timetable {
	margin-top: 50px;
}

.par-table01.timetable td,
.par-table01.timetable th{
	height: 58px;
	width: 12.5%;
	font-size: 20px;
	font-weight: normal;
	text-align: center;
	border-color: #22328E;

}
.par-table01.timetable .setu_info th {
	background-color: #FFF;
	color: #222;
}
/******************
     全体設定 
*******************/

.calendar .calendar_block {
	display: flex;
	width:1089px;
	gap: 2rem;
	flex-direction: column;
}

.style-cal {
	/* border-collapse: separate; */
	border-bottom: 1px solid var(--BASE_LINE, #707070);
	/* font-weight: bold; */
	text-align: center;
	background-color: #FFFFFF;
}

.style-cal th,
.style-cal td {
	font-size: 14px;
	color: var(--MAIN_WHITE, #FFF);
	border-right: 1px solid var(--BASE_LINE, #707070);
	border-top: 1px solid var(--BASE_LINE, #707070);
	line-height: 16px;
}

.style-cal th {
	vertical-align: middle;
	background: var(--MAIN_COLOR, #003288);
	padding: 7px 0;
	border-left: 1px solid #5270A4;
	border-top: 1px solid #5270A4;
	border-right: 1px solid #5270A4;;
	font-weight: bold;
}

.style-cal th.jlc {
	height: 35px;
}

.style-cal th.kappa {
	height: 64px;
}

.style-cal th.honjo {
	height: 75px;
	width: 40px;
}

.style-cal th.honjo.img_area{
	width: 135px;
}

.style-cal th.n,
.style-cal th.d,
.style-cal th.m {
	font-size: 14px;
	padding: 0;
	/*writing-mode: vertical-lr;*/
	background-color: #E4EAEC;
	color: #000000;
}

.style-cal th img{
	margin: 0.5rem;
	width: 120px
}

/* .style-cal th.n:after{
	content:url(/cdn/pc/images/common/ico_night_gray.svg);
	margin-top: 5px;
	display:inline-block;
}

.style-cal th.d:after{
	content:url(/cdn/pc/images/common/ico_day_gray.svg);
	margin-top: 5px;
	display:inline-block;
}

.style-cal th.m:after{
	content:url(/cdn/pc/images/common/ico_morning_gray.svg);
	margin-top: 5px;
	display:inline-block;
} */

.style-cal th span {
	display: block;
	font-size: 16px;
	padding: var(----margin_s, 4px);
	line-height: 11px;
}

.style-cal td {
	/* padding: var(----margin_s, 8px) var(----margin_xs, 4px); */
	vertical-align: middle;
}

/* td セル内リンク */
.style-cal td a,
.style-cal td span {
	color: inherit;
	word-break: break-all;
}

.style-cal td.jlc a{
	display: block;
	width: 24px;
	height: 20px;
	font-size: 10px;
	font-weight: normal;
	line-height: 20px;
	border-radius: 2px;
	background-color: #22328E;
	color: #FFFFFF;
}

.style-cal .calendar_td .kaisai_info{
	margin-top: 0.5rem;
}

.style-cal .calendar_td .kaisai_info a {
	width: 21px;
	height: 21px;
	background-color: #FFFFFF;
	border-radius: 1rem;
}

.style-cal .calendar_td .cal_td_wrap {
	display: flex;
	justify-content: center;
	align-items: center;
	/* gap: var(----margin_xs, 4px); */
	flex-direction: column;
	flex-wrap: nowrap;
}

.style-cal .style-cal__honjo .calendar_td .cal_td_wrap {
	display: flex;
	flex-direction: column;
}

.style-cal .calendar_td .cal_td_wrap .str_name {
	display: flex;
	justify-content: center;
	align-items: center;
	align-content: center;
	gap: 4px;
	align-self: stretch;
	flex-wrap: wrap;
}

.style-cal .style-cal__honjo .calendar_td .cal_td_wrap .str_name {
	display: flex;
	flex-direction: column;
}

.style-cal .calendar_td .kaisai_kbn,
.style-cal .calendar_td .kaisai_info {
	width: 100%;
	display: flex;
	justify-content: space-evenly;
	align-items: center;
	/* gap: var(----margin_xs, 4px); */
}

.style-cal .style-cal__honjo .kaisai_kbn img {
	display: block;
}

/**一般 背景、文字**/
.style-cal td.calendar-grade,
.style-cal td.calendar-grade.IP {
	background: var(--GRADE_IPPAN, #3A9CFC) !important;
	color: #FFFFFF;
}

.style-cal .calendar-grade-jm {
	background:#FFF355 !important;
	color: #262525 !important;
}

.style-cal .calendar-grade-jd {
	background:var(--GRADE_G3, #69BE82) !important;
	color: #FFFFFF !important;
}

.style-cal .calendar-grade-jn {
	background: #3763FF !important;
	color: #ffffff !important;	
}

/**SG 背景**/
.style-cal td.calendar-grade.SG {
	background: var(--GRADE_SG, #D70915) !important;
}

/**G1 背景**/
.style-cal td.calendar-grade.G1 {
	background: var(--GRADE_G1, #FD4E1E) !important;
}

/**G2 背景**/
.style-cal td.calendar-grade.G2 {
	background: var(--GRADE_G2, #8E21E1) !important;
}

/**G3 背景**/
.style-cal td.calendar-grade.G3 {
	background: var(--GRADE_G3, #69BE82) !important;
}

/* 休館日・中止 */
.style-cal td.calendar-grade.CD {
	/* background-color: #d02424!important; */
	background: var(--MAIN_WHITE, #FFF) !important;
	color: var(--BASE_ERROR, #CD1400);
	font-size: 12px;
	line-height: 15px;
	/* 125% */
}

.style-cal td.calendar-grade.NG {
	background-color: #808080 !important;
}

.style-cal td.calendar-grade.CD * {
	/* color: #fff; */
}

.style-cal td.calendar-grade.NG * {
	color: #fff;
}

.style-cal td.calendar-grade.NG[colspan="1"],
.style-cal td.calendar-grade.CD[colspan="1"] {
	padding: 0 5px;
	line-height: 1.3;
}

.style-cal .tbody_sotomuke td.calendar-grade img.icon-time-morning,
.style-cal .tbody_sotomuke td.calendar-grade img.icon-time-day,
.style-cal .tbody_sotomuke td.calendar-grade img.icon-time-nighter,
.style-cal .tbody_sotomuke.line-morning td.calendar-grade img.icon-time-summer,
.style-cal .tbody_sotomuke.line-night td.calendar-grade img.icon-time-summer,
.style-cal .tbody_sotomuke.line-morning td.calendar-grade img.icon-time-midnight,
.style-cal .tbody_sotomuke.line-day td.calendar-grade img.icon-time-midnight {
	display: none;
}

.style-cal td.calendar-grade img {
	width: 16px;
	height: 16px;
	vertical-align: middle;
}


/**************
/  日付エリア 
***************/
.style-cal .month_cell {
	/* width: 3rem !important; */
}

.style-cal .style-cal__date td {
	width: 32px;
	height: 32px;
	/* padding: var(----margin_s, 8px) 0; */
	color: var(--MAIN_BLACK, #222);
	font-weight: bold;
}

.style-cal .style-cal__date.month td {
	background-color: #E7F1F8;
	color: #22328E;
	font-weight: bold;
}

.style-cal .cell-month {
	width: 96px;
	height: 32px;
	line-height: 32px;
	display: block;
	font-size: 16px;
	font-weight: bold;
	text-align: left;
	margin-left: 11px;
	/* background-color: #4D97EF; */
}

.style-cal .cell-day,
.style-cal .cell-week_day {
	display: block;
	font-size: 16px;
	/* font-weight: normal; */
}

.style-cal .cell-week_day {
	line-height: 32px;
}

.style-cal .cell-day {
	color: #000000 !important;
	display: block;
	/* line-height: 32px; */
}

.style-cal .cell-day.font-days-state-6,
.style-cal .week_day.font-days-state-6 {
	/* color: #22328E !important; */
	/* background-color: #E7F1F8; */
}
.style-cal .cell-day.font-days-state-0,
.style-cal .week_day.font-days-state-0 {
	color: #D02424;
	/* background-color: #FCE5E8; */
}

.tbody_jogai .facility_name {
	min-height: 90px;
}

.tbody_jogai .facility_name.jogai {
	/* writing-mode: vertical-lr; */
	min-width: 30px;
	/* letter-spacing: 8px; */
	height: 64px;
}



.tbody_jogai .facility_name.m,  
.tbody_jogai .facility_name.d,  
.tbody_jogai .facility_name.n {
	min-width: 30px;
	height: 64px;
	background-color: #E4EAEC;
	color: #000000;
}

.tbody_jogai .facility_img1 {
	background: url(/cdn/pc/images/common/ico_circle_arrow_w.svg) no-repeat;
}

.tbody_jogai .facility_img2 {
	background: url(/cdn/pc/images/common/ico_circle_arrow_w.svg) no-repeat;
}

/******************
/      本場 td 
*******************/
.style-cal .style-cal__honjo td {
	min-height: 66px;
}

/******************
/      JLC td 
*******************/
.style-cal .tbody_jlc .calendar_td {
	background: #FFF;
	color: var(--MAIN_BLACK, #222);
	padding: 4px 0;
}

/******************
/      場外 td 
*******************/
.style-cal .tbody_jogai .cal_td_wrap {
	height: 64px;
}

/******************
/      外向 td 
*******************/
.style-cal .tbody_sotomuke .cal_td_wrap {
	min-height: 31px;
}

/************************************
/      外向発売初、外向発売初MD td 
*************************************/
.style-cal .calendar_td.grade.kappa_mbp {
	background-color: #E7F1F8;
	color: #4D97EF;
	font-size: 16px;
	height: 64px;
	
}


/*********************
/    下部リンク
***********************/

.bottom_link {
	display: flex;
	justify-content: center;
	gap: 16px;
	margin: 40px auto 0;
}

.par-btn02.bottom{
	width: 352px;
	margin: 0;
	border-radius: 0.6rem;
}

.w_fill .pattern_info {
	font-size: 16px;
	color: #313131;
	font-weight: bold;
}

.category_calendar .bottom_link .par-btn02.right-arrow::before {
	content: '';
	position: absolute;
	background: none;
	top: 50%;
	right: 3rem;
	transform: translate(50%, -50%) rotate(-45deg);
	width: 8px;
    height: 8px;
	border-bottom: 3px solid #FFFFFF;
	border-right: 3px solid #FFFFFF;
}