@charset "utf-8";
/*================================================
* 凡例
================================================*/
#hanrei_area{
  padding: 5px 2rem;
  text-align:left;
  background:#000;
	color: #fff;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
  -webkit-box-pack:justify;
  -ms-flex-pack:justify;
  justify-content:space-between;
	-webkit-box-align:start;
	-ms-flex-align:start;
	align-items:flex-start;
	width: 100%;
}
#hanrei_area::before, #hanrei_area::after {
	display: none;
}

#hanrei_area table{width:auto;}
#hanrei_area table select {
	padding: 0.2rem 0.5rem;
	background-color: #fff;
	border-radius: 2px;
}
#hanrei_area table tr{ vertical-align:middle;}
#hanrei_area table tr td{ vertical-align:middle;}
td.yearmonth{vertical-align:bottom;}
td.btns{vertical-align:top;}
ul#btns_area{
  position:relative;
  vertical-align: text-bottom;
  height: 28px;
  max-width: 400px;
	margin-top: 0.25rem;
}
ul#btns_area li{float:left; margin-left:5px;}
ul#btns_area li:hover{cursor:pointer;}
ul#btns_area li.tooltip:hover {cursor:normal;}
#btns_area li:hover{
  filter: alpha(opacity=80);        /* ie lt 8 */
  -ms-filter: "alpha(opacity=80)";  /* ie 8 */
  -moz-opacity:0.8;                 /* FF lt 1.5, Netscape */
  -khtml-opacity: 0.8;              /* Safari 1.x */
  opacity:0.8;
  zoom:1;
}
input[type="image"]:hover{
  filter: alpha(opacity=80);        /* ie lt 8 */
  -ms-filter: "alpha(opacity=80)";  /* ie 8 */
  -moz-opacity:0.8;                 /* FF lt 1.5, Netscape */
  -khtml-opacity: 0.8;              /* Safari 1.x */
  opacity:0.8;
  zoom:1;
}
#hanrei_color {
	clear: both;
}
#hanrei_color .daytime{color:#fff !important;}
.morning{color:#000000;}
.daytime{color:#000;}
.evening{color:#000000;}
.night{color:#000000;}
#loading{text-align:center;}
/*================================================
* 開催テーブル
================================================*/
#koushin {position:relative; float:left;}
#loading{text-align:center; margin:100px 0;}
#kaisai_table { display:none;}
#kaisai_table h3 {
  text-align:center;
  font-size:21px;
  color:#6699FF;
  background:#2A2A2A;
  font-weight:bold;
  padding:5px 0;
  margin-bottom:5px;
}

table.kaisai {
  width:100%;
  border:solid 1px #333;
}
table.kaisai th {
  border:solid 1px #333;
  text-align:center;
  font-weight:bold;
  background:#FFFFE5;
  vertical-align:middle;
}
table.kaisai td {
  border-top:solid 1px #333;
  border-right:solid 1px #333;
  border-left:solid 1px #333;
  width:2.5vw;
  vertical-align:middle;
  text-align:center;
}

table.kaisai tr.date {
  background:#f0f8ff;
  color:#333;
  text-align:center;
}
table.kaisai tr.date th {
  background:#f0f8ff;
  color:#333;
  text-align:center;
  height:18px;
}
table.kaisai tr.day {
  background:#FFFFE5;
  text-align:center;
}
table.kaisai tr.day th {
  background:#f0f8ff;
  color:#333;
  text-align:center;
  height:18px;
}

table.kaisai a{text-decoration:none; color:#333; font-weight: 600; display: block;}
table.kaisai a:hover{text-decoration:underline; color:#333;}

tr.tr01 th{font-size:120%; font-weight:bold;}
tr.tr01 td{height:48px;}
tr.tr02 td{height:16px;}
th.joname{font-size: 1.3rem;}
th.hatsubai{width:32px;}

div.stop{height:100%; display:table; vertical-align:middle; border:solid 3px #f00;}
div.td_div{height:100%; display:table-cell; vertical-align:middle;}

.tx_sat{color:#0e39a6; background:#f1f8fb;}
.tx_sun{color:#d11722; background:#fae5dc;}

.bg_general, .bg_sg, .bg_g1, .bg_g2, .bg_g3 {
    -webkit-box-shadow: 0 0 3px rgba(0,0,0,.5);
    box-shadow: 0 0 3px rgba(0,0,0,.5);
}
.bg_general:hover, .bg_sg:hover, .bg_g1:hover, .bg_g2:hover, .bg_g3:hover {
   -webkit-box-shadow: 0 0 2px rgba(0,0,0,.5) !important;
	box-shadow: 0 0 2px rgba(0,0,0,.5) !important;
}
/*================================================
* カスタマイズ表示設定
================================================*/
#lean_overlay {
  position: fixed;
  z-index:100;
  top: 0px;
  left: 0px;
  height:100%;
  width:100%;
  background: #000;
  display: none;
}
#custom_form {
	width: 95%;
  max-width: 720px;
  text-align:left;
  padding-bottom: 5px;
  display:none;
  background: #414141;
  border-radius: 5px;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  box-shadow: 0px 0px 4px rgba(0,0,0,0.7);
  -webkit-box-shadow: 0 0 4px rgba(0,0,0,0.7);
  -moz-box-shadow: 0 0px 4px rgba(0,0,0,0.7);
}

#custom-header {
  padding: 18px 18px 14px 18px;
  border-top-left-radius: 5px;
  -moz-border-radius-topleft: 5px;
  -webkit-border-top-left-radius: 5px;
  border-top-right-radius: 5px;
  -moz-border-radius-topright: 5px;
  -webkit-border-top-right-radius: 5px;
}
#custom-header h2 {
  color: #fff;
  font-size:21px;
  font-weight: bold;
  margin-bottom: 3px;
}
#custom-header p {
  color: #fafafa;
  margin: 0;
}
#custom-body{
	width: 96%;
  max-width:640px;
  height:auto;
  line-height:1.8;
  margin:10px auto;
  background:#FFFFFF;
  overflow:auto;
}
#custom-body td {
	padding: 0.5rem !important;
}
#custom-body tr:nth-child(2n) td {
	border-bottom: 1px solid #eee;
	background-color: #fafafa;
}
#custom-footer{
  position:relative;
  width: 96%;
  max-width:640px;
  height:30px;
  margin:0 auto;
  display:block;
}
#custom-footer button {
  float: right;
  background: #3F9D4A;
  border: none;
  width: auto;
  overflow: visible;
  color: #FFF;
  padding: 7px 10px;
  border-radius: 4px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  font-weight: bold;
  text-shadow: 0 1px 0 rgba(0,0,0,0.4);
  margin-left:10px;
}
#custom-footer button:hover {
  cursor:pointer;
}
.modal_close {
  position: absolute;
  top: 12px;
  right: 12px;
  display: block;
  width: 14px;
  height: 14px;
  z-index: 2;
}

#btn_disp{
    border: 0px;
    width: 63px;
    height: 28px;
    background: url(../images/btn_disp.png) left top no-repeat;
    cursor:pointer;
}

/* print
---------------------------------------------------*/
@media print{
	#header{display:none;}
	#container{margin:0; padding:0;}
	.breadcrumb{display:none;}
	#hanrei_area {position:relative; display:none;}
	#contents{position:relative; margin:0; padding:0;}
	#kaisai_table{margin:0; padding:0;}
	#custom_form{display:none;}
	#footer {display:none;} 
	.tx_sat{color:#0e39a6; background:#f1f8fb;}
	.tx_sun{color:#d11722; background:#fae5dc;}
	.morning{color:#FF6600;}
	.daytime{color:#000000;}
	.evening{color:#7F007F;}
	.night{color:#0054FE;}
	td.bg_sg{background:#FF9999;}
	td.bg_g1{background:#FFCC99;}
	td.bg_g2{background:#FFFF99;}
	td.bg_g3{background:#99FF99;}
	td.bg_general{background:#D9D9D9;}
}

.breadcrumb {
	width: 100%;
}
#kaisai_table {
	display: block;
	width: 100%;
	padding: 0 2rem;
}
#kaisai_month {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack:justify;
    -ms-flex-pack:justify;
    justify-content:space-between;
    -webkit-box-align:center;
    -ms-flex-align:center;
    align-items:center;
    color:#fff;
}
#current_month {
    -webkit-box-flex:1;
    -ms-flex-positive:1;
    flex-grow:1;
    font-weight:600;
    font-size:1.5rem;
	padding-top: 0;
}
#kaisai_month ul {
    list-style: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex:2;
    -ms-flex-positive:2;
    flex-grow:2;
    margin-right:1rem;
}
#kaisai_month li {
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	text-align:center;
	-webkit-box-pack:center;
	-ms-flex-pack:center;
	justify-content:center;
	width:100%;
	margin-right:1px;
}
#kaisai_month ul a {
	display:block;
	padding:0.5rem 0.75rem;
	background-color:#eee;
	text-decoration:none;
	color:#000;
	width:100%;
	border-top-left-radius: 2px;
	border-top-right-radius: 2px;
	font-weight: 600;
  font-size: 1.1rem;
}
#kaisai_month ul .another {
	height: auto;
	font-weight: 600;
   font-size: 1.1rem;
}
#kaisai_month ul li.current {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	padding:0.5rem 0.75rem;
	background-color:#f00;
	font-weight:600;
	font-size: 1.1rem;
	height: auto;
	color: #fff;
	border-top-left-radius: 2px;
	border-top-right-radius: 2px;
}
#kaisai_month .update {
	padding-top: 0;
}
#kaisai_month hr {
    display:none;
}
table.kaisai {
		background-color:#fff;
	}
@media (max-width:1023px) {
	#contents {
    padding: 0;
	}
	#hanrei_area {
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	}
	#hanrei_area #btns_area {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
	}
	#kaisai_table {
		display: block;
		overflow-x: auto;
		width: 100%;
		height: auto;
		white-space: nowrap;
		padding: 0;
	}
	#kaisai_month {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap:wrap;
		flex-wrap:wrap;
		-webkit-box-pack:justify;
		-ms-flex-pack:justify;
		justify-content:space-between;
		-webkit-box-align:center;
		-ms-flex-align:center;
		align-items:center;
		color:#fff;
		flex-row:row;
		padding:0.75rem 0.75rem 0;
	}
	#kaisai_month .update {
		-webkit-box-ordinal-group:3;
		-ms-flex-order:2;
		order:2;
	}
	#current_month {
		-webkit-box-flex:1;
		-ms-flex-positive:1;
		flex-grow:1;
		font-weight:600;
		font-size:1.5rem;
		-webkit-box-ordinal-group:2;
		-ms-flex-order:1;
		order:1;
	}
	#kaisai_month ul {
		list-style: none;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-flex:2;
		-ms-flex-positive:2;
		flex-grow:2;
		-webkit-box-ordinal-group:4;
		-ms-flex-order:3;
		order:3;
	}
	#kaisai_month li {
		display:-webkit-box;
		display:-ms-flexbox;
		display:flex;
		text-align:center;
		-webkit-box-pack:center;
		-ms-flex-pack:center;
		justify-content:center;
		width:100%;
		margin-right:1px;
	}
	#kaisai_month ul a {
		display:block;
		padding:0.5rem 0.75rem;
		background-color:#fff;
		text-decoration:none;
		color:#000;
		width:100%;
	}
	#kaisai_month ul li.current {
		display:block;
		padding:0.5rem 0.75rem;
		background-color:#f00;
		font-weight:600;
	}
	#kaisai_month hr {
		display:none;
	}
	#custom_form {
		position: absolute !important;
	}
}
@media (min-width: 1024px) {
	#hanrei_area {
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	}
	div#hanrei_left, div#hanrei_right {
		/*width: 100%;*/
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
		flex-flow: column;/* 202109追加 */
	}
}

/* 202202追加 */
/* 日程表ヘッダ固定 */
#hanrei_area {
    position: sticky;
    top: 54px;
    z-index: 998;
}
#hanrei_area #hanrei_left {
    transition: all 180ms;
    opacity: 1;
	display: block;
}
#hanrei_area #hanrei_right {
	display: flex;
	width: 100%;
	justify-content: flex-end;
	padding-right: 50px;
}
#hanrei_area.topstyle #hanrei_right img {
	max-height: 105px;
}
@media (max-width: 1023px) {
	#hanrei_area.topstyle #hanrei_left {
		opacity: 0;
		display: none;
	}
	#hanrei_area.topstyle {
        top: 0;
        width: 100%;
        height: 54px;
        padding: 0;
    }
    #hanrei img {
        height: 54px;
    }
}
@media (min-width: 1024px) {
	table.kaisai tr.date th {position: sticky;top: calc(44px + 96px);background-color: #f0f8ff; height: 26px;border: none;}
	table.kaisai tr.date td {position: sticky;top: calc(44px + 96px);background-color: #f0f8ff;height: 30px;border: none;padding: 0;}
	table.kaisai tr.day td {position: sticky;top: calc(44px + 96px + 30px);background-color: #ffffe5;height: 28px;border: none;}

	#hanrei_area {
		top: 43px;
	}
	#hanrei_area #hanrei_right {
		width: auto;
		justify-content: flex-end;
		text-align: right;
	}
}

table.kaisai {
	border-collapse: separate;
	border-bottom: solid 1px #333;
    border-left: solid 1px #333;
}
table.kaisai tr:not(.date) th {
	border: none;
	border-top: solid 1px #333;
	border-right: solid 1px #333;
}
table.kaisai tr:not(.date):not(.day) td {
	border: none;
	border-top: solid 1px #333;border-right: solid 1px #333;
}
table.kaisai tr.date th, table.kaisai tr.date td, table.kaisai tr.day td {
	border-bottom: solid 1px #333;
	border-right: solid 1px #333;
}
table.kaisai tr.day + tr th, table.kaisai tr.day + tr td {
	border-top: 0;
}
/* 202202追加ここまで */