@charset "utf-8";
/*==================================================
// contents
==================================================*/
#contents {
  position:relative;
  text-align: left;
  padding-top: 10px;
}
#contents p{text-align:right;}


/*================================================
* 凡例
================================================*/
#hanrei_area{
  padding:5px 10px;
  text-align:left;
  background:#000;
	color: #fff;
}
table#hanrei{width:100%;}
table#hanrei select {
    padding: 0.2rem 0.5rem;
    background-color: #fff;
	border-radius: 2px;
}
table#hanrei tr{ vertical-align:middle;}
table#hanrei 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;
}
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;
}
.morning{color:#000000;}
.daytime{color:#000000;}
.evening{color:#000000;}
.night{color:#000000;}
#loading{text-align:center;}

@media (max-width: 1024px) {
	table#hanrei > tr, table#hanrei th, table#hanrei td {
    display:block;
    width:100%;
	}
	table#hanrei .yearmonth table {
		width: 100%;
	}
	table#hanrei .yearmonth table tr {
		display:table-row;
	}
	table#hanrei .yearmonth table th, table#hanrei .yearmonth table td {
		display:table-cell;
	}
	table#hanrei .yearmonth table td:first-child {
		width:0;
	}
	ul#btns_area li#btn_all {
		clear: both;
	}
}

/*================================================
* 開催テーブル
================================================*/
#koushin {position:relative; max-width:400px; float:left;}
#kaisai_table { display:none;}
span#prev a{ background:url(/images/cal_prev.png) no-repeat left top; display:block; text-indent:100%; white-space:nowrap; overflow:hidden; width:20px; height:20px; float:left; margin-top:4px; margin-left:400px; }
span#prev a:hover{
  filter: alpha(opacity=60);        /* ie lt 8 */
  -ms-filter: "alpha(opacity=60)";  /* ie 8 */
  -moz-opacity:0.6;                 /* FF lt 1.5, Netscape */
  -khtml-opacity: 0.6;              /* Safari 1.x */
  opacity:0.6;
  zoom:1;
}
span#prev a.dummy{background:none;}
span#next a{ background:url(/images/cal_next.png) no-repeat left top; display:block; text-indent:100%; white-space:nowrap; overflow:hidden; width:20px; height:20px; float:right; margin-top:4px; margin-right:400px; }
span#next a:hover{
  filter: alpha(opacity=60);        /* ie lt 8 */
  -ms-filter: "alpha(opacity=60)";  /* ie 8 */
  -moz-opacity:0.6;                 /* FF lt 1.5, Netscape */
  -khtml-opacity: 0.6;              /* Safari 1.x */
  opacity:0.6;
  zoom:1;
}
span#next a.dummy{background:none;}
#kaisai_table h3 {
  width:100%;
  text-align:center;
  font-size:21px;
  color:#6699FF;
  background:#2A2A2A;
  font-weight:bold;
  padding:5px 0;
  margin-bottom:5px;
}
h3 span#prev { color:#FFF; }
h3 span#next { color:#FFF; }
table#kaisai {
  font-size:80%;
  margin-bottom:10px;
  width:100%;
  text-align:center;
	border-collapse: separate;
}

table#kaisai th {
  border-left: solid 1px #ccc;
	border-right: solid 1px #ccc;
	border-bottom: solid 1px #ccc;
  font-weight:bold;
  background:#FFFFE5;
  white-space:nowrap;
}
table#kaisai td {
  border-right: solid 1px #ccc;
	border-bottom: solid 1px #ccc;
  width:28px !important;
}

table#kaisai tr.date th, table#kaisai tr.date td {
  background:#f0f8ff;
  color:#333;
  height:1.6rem;
	border-right: solid 1px #ccc;
	border-bottom: solid 1px #ccc;
}
table#kaisai tr.date th {
	border-left: solid 1px #ccc;
}
table#kaisai tr.day th, table#kaisai tr.day td {
  background:#FFFFE5;
  height:1.6rem;
  color:#333;
	border-right: solid 1px #ccc;
	border-bottom: solid 1px #ccc;
}
table#kaisai a{text-decoration:none; color:#333; font-weight: 600; white-space: normal;}
table#kaisai a:hover{text-decoration:underline; color:#333;}
tr.tr01 th{font-size:120%; font-weight:bold;}
tr.tr01 td{height:48px; width:26px;}
tr.tr02 td{height:16px; width:26px;}

div.stop{width:100%; height:100%; display:table; vertical-align:middle; border:solid 3px #f00;}

div.td_div{width:100%; height:100%; display: table-cell; vertical-align: middle; text-align:center;}

.tx_sat{color:#0e39a6 !important; background:#f1f8fb !important;}
.tx_sun{color:#d11722 !important; background:#fae5dc !important;}
a.popup{text-align:center;}
/*================================================
* カスタマイズ表示設定
================================================*/
#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;
}


/*================================================
* テーブルスクロール
================================================*/
.gridView{
  width: 100%;
  clear: both;
  margin: 0;
  border-collapse: separate;
  font-size:80%;
  table-layout: fixed;
}
.gridView tr th{
  vertical-align: middle;
  border-collapse: collapse;
	border-left: solid 1px #ccc;
  border-right: solid 1px #ccc;
	border-bottom: solid 1px #ccc;
  font-weight:bold;
}
.gridView tr td{
  vertical-align: middle;
  border-collapse: collapse;
  border-bottom:solid 1px #ccc;
  border-right:solid 1px #ccc;
  width:28px !important;
}
.gridView thead tr{
  vertical-align: middle;
  text-align: center;
  border-collapse: separate;
  border-top: solid 1px #333;
}
.gridView thead tr.date {
  background:#f0f8ff;
  color:#333;
  text-align:center;
}
.gridView tr.date th {
  background:#f0f8ff;
  color:#333;
  text-align:center;
  height:1.6rem;
	width: 6rem;
}
.gridView thead tr.day {
  background:#FFFFE5;
  text-align:center;
}
.gridView tr.day th {
  background:#ffffe5;
  color:#333;
  text-align:center;
  height:1.6rem;
	width: 6rem;
}
.grid{ background-color: #fff;}
/* ズレ対応 */
#hdkaisai .gridView {
    width: calc(100% - 1px);
}

/* print
---------------------------------------------------*/
@media print{
.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;}
#hdScrollkaisai{overflow:visible;}
}

.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;
}
table#kaisai tbody th {
	width: 6rem;
	font-size: 1.3em;
}
#hdkaisai th {
	width: 6rem;
}
table#kaisai th, table#kaisai td {
	border-color: #ccc;
}
.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);
}
@media (max-width:1024px) {
	#contents {
    padding: 0;
	}
	#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;
	}
	table.kaisai {
		background-color:#fff;
	}
	#hdScrollkaisai {
		position: relative;
	}
	#hdkaisai {

	}
	table#kaisai thead th, table#kaisai thead td {
    position: static
    white-space: nowrap;
	}
	table#kaisai thead tr:nth-child(1) th, table#kaisai thead tr:nth-child(1) td {
		top: 0;
	}
	table#kaisai thead tr:nth-child(2) th, table#kaisai thead tr:nth-child(2) td {
		top: 1.5rem; /* 2行目は1行目の高さの位置に固定する */
	}
	table#kaisai {
		border-collapse: collapse;
	}
	#custom_form {
		position: absolute !important;
	}
	#custom-body td label  {
		word-break: keep-all;
	}

}
/* PC時スクロール固定 */
@media (min-width:1024px) {
	#custom_form {
		top: 5vh !important;
		position: fixed !important;
	}
	#custom-body{
	height: 62vh;
	}
}

/* 202202追加 */
/* 日程表ヘッダ固定 */
#kaisai_table {
    overflow: auto;
    width: 100%;
}
table#kaisai tr.date th {background-color: #f0f8ff; height: 30px;border: none;}
table#kaisai tr.date td {background-color: #f0f8ff;height: 30px;padding: 0;border: none;}
table#kaisai tr.day th, table#kaisai tr.day td {background-color: #ffffe5;height: 28px;border: none;}
@media (min-width:1024px) {
    #kaisai_table {
        width: 100%;
        height: auto;
        overflow: initial;
    }
}

#hanrei_area {
    z-index: 998;
}
#hanrei_area .yearmonth, #hanrei_area .btns {
    transition: all 180ms;
    opacity: 1;
}
#hanrei_area.fixed {
  position: sticky;
  top: 0;
    height: 76px;
}
#hanrei_area.fixed #hanrei td:not(.btns) img {
  height: 66px;
  width: auto;
}
#hdkaisai {

}
#hdkaisai.fixed {
  display: block;
  position: fixed !important;
  top: 54px !important;
  left: 3px !important;
}

table#kaisai {
	border-collapse: separate;
	border-bottom: solid 1px #333;
    border-left: solid 1px #333;
}
table#kaisai tr:not(.date) th {
	border: none;
	border-bottom: solid 1px #ccc;
	border-right: solid 1px #ccc;
}
table#kaisai tr:not(.date, .day):not(:first-child) td {
	border: none;
	border-top: solid 1px #ccc;
    border-right: solid 1px #ccc;
}
table#kaisai tr.date th, table#kaisai tr.date td, table#kaisai tr.day th, 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;
}
#kaisai_table #container {
    margin-top: 0;
}

#hdScrollkaisai {

}

@media (max-width: 1023px) {
  #kaisai_table {
    height: auto;
  }
  #hdKaisai table {
    position: relative;
    left: 0;
  }
    #hanrei_area.fixed {
      top: 0;
      width: 100%;
      padding: 0;
      height: 54px;
    }
    #hanrei_area.fixed .right {
      text-align: left !important;
    }
    #hanrei_area.fixed #hanrei td:not(.btns) img {
      height: 54px;
      width: auto;
    }
    #hanrei_area.fixed .yearmonth, #hanrei_area.fixed .btns {
        opacity: 0;
        display: none;
    }
#kaisai thead th, #kaisai thead td {
position: static;
}
  
}
@media (min-width: 1024px) {
    #hanrei_area {
	position: sticky;
        top: 43px;
    }
    #hanrei_area.fixed {
        height: auto;
    }
    #hdkaisai.fixed {
      top: 125px !important;
      left: calc(2rem + 1px) !important;
    }
    #hanrei_area.topstyle #hanrei td:not(.btns) img {
      height: 65px;
      width: auto;
    }
}
/* 202202追加ここまで */