@charset "UTF-8";
/*---------------------------------------
calendar 共通
----------------------------------------*/
#contents-main .month_title {
  text-align: center;
  margin: 16px 0 16px;
}

#contents-main .month_title h2.month_view_title {
  font-size: 20px;
  font-weight: bold;
  text-align: center;
  letter-spacing: 2px;
  width: 200px;
  border-radius: 24px;
  padding: 4px 0 8px;
  margin: 0;
  border: none;
  display: inline-block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.month_title .month_return {
  text-align: center;
  font-size: 12px;
  display: inline-block;
}

.month_title .month_return a {
  padding: 4px 8px;
  margin: 0 0 0 8px;
  display: block;
  text-decoration: none;
  background: var(--color-base-bg-light);
}

/*土日*/
.cal_contents #date_list01 ul li.Sun,
.cal_contents #date_list01 ul li.holiday,
.cal_contents #day_content02 dl.Sun,
.cal_contents #day_content02 dl.holiday {
  background: var(--color-base-accent-light) !important;
  color: var(--color-base-text-dark) !important;
}

.cal_contents #date_list01 ul li.Sat,
.cal_contents #day_content02 dl.Sat {
  background: var(--color-base-sub3-light) !important;
  color: var(--color-base-text-dark) !important;
}

.cal_contents #date_list01 ul li.ev_yes:after {
  font-family:var(--fontfamily-icon);
  font-variation-settings: 'FILL' 1;
  content: "\e86c";
  color: var(--color-base-accent-dark);
  position: absolute;
  text-align: center;
  width: 100%;
  bottom: 2px;
  left: 0;
}

#date_list01 ul li.current:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: 4px solid var(--color-base-accent-dark);
  position: absolute;
  top: 0;
  left: 0;
}

.page {
  overflow: hidden;
  margin: 16px 0;
  padding: 0 0 16px;
  text-align: center;
  border-top: 1px solid var(--color-base-line-dark); 
}

.page:first-child {
  margin: -54px 0 0px;
  border: none;
}

.page p {
  padding: 8px 16px;
  cursor: pointer;
}

.page p:hover {
  background: #f2f2f2;
}

.page .past {
  float: left;
  position: relative;
  padding-left: 14px;
}

.page .past:before {
  font-family:var(--fontfamily-icon);
  content: "\e5cb";
  margin: 0 0 0 4px;
  color: var(--color-base-accent-dark);
  vertical-align: middle;
	font-size: 1.8em;
  font-variation-settings: var(--iconfont-wght700GRAD200-set);
}

.page .more {
  float: right;
  position: relative;
  padding-right: 14px;
}

.page .more:after {
  font-family: var(--fontfamily-icon);
  content: "\e5cc";
  margin: 0 0 0 4px;
  color: var(--color-base-accent-dark);
  vertical-align: middle;
	font-size: 1.8em;
  font-variation-settings: var(--iconfont-wght700GRAD200-set);
}

.cal_contents #day_content02 {
  width: 100%;
  border-collapse: collapse;
  overflow: hidden;
  border: 4px solid var(--color-base-line-light);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.cal_contents #day_content02 dl {
  overflow: hidden;
  border-bottom: 1px solid var(--color-base-line-dark);
}

.cal_contents #day_content02 dl:last-child {
  border-bottom: none;
}

.cal_contents #day_content02 dl.old {
  opacity: 0.8;
  background: var(--color-base-bg-light);
}

.cal_contents #day_content02 dt {
  padding: 12px;
  border-right: 1px dotted var(--color-base-line-dark);
  text-align: center;
  font-weight: bold;
  width: 20%;
  float: left;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding-bottom: 30010px;
  margin-bottom: -30000px;
  font-size: 14px;
}

.cal_contents #day_content02 dd {
  width: 80%;
  float: left;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding-bottom: 30000px;
  margin-bottom: -30000px;
}

.cal_contents #day_content02 dd .morelink {
  display: none;
}

.cal_contents #day_content02 dd .events {
  padding: 8px 12px;
  border-bottom: 2px solid var(--color-base-line-light);
  position: relative;
}

.cal_contents #day_content02 .Sat dd .events,
.cal_contents #day_content02 .Sun dd .events,
.cal_contents #day_content02 .holiday dd .events {
  border-bottom: 2px solid #ffffff;
}

.cal_contents #day_content02 dd .events:last-child {
  border-bottom: none;
}

.cal_contents #day_content02 dd .events .ev_term,
.cal_contents #day_content02 dd .events table.table01,
.cal_contents #day_content02 dd .events .image {
  display: none;
}

.cal_contents #day_content02 dd .events h4 {
  font-weight: bold;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--color-base-text-dark);
  display: inline-block;
  vertical-align: middle;
}

.cal_contents #day_content02 dd .events h4 a {
  text-decoration: underline;
}

.cal_contents #day_content02 dd .events .c2 {
  overflow: hidden;
}

.cal_contents #day_content02 dd .events.old {
  font-size: 90%;
  padding: 0;
}

.cal_contents #day_content02 dd .events.old a {
  font-weight: normal;
  text-decoration: none;
  pointer-events: none;
}

.cal_contents #day_content02 dd .events p.e_category {
  display: block;
  font-size: 12px;
  line-height: 1em;
  background: none;
  color: var(--color-base-text-dark);
  padding: 0;
}

/*.cal_contents #day_content02 dd .events p.e_category:before {
  font-family: var(--fontfamily-icon);
  font-variation-settings: 'FILL' 1;
  margin: 0 4px 0 0;
  content: "\f05b";
  vertical-align: middle;
}*/

/*.cal_contents #day_content02 dd .events p.e_category:before {display:none;}*/
.cal_contents #day_content02 dd .events p.e_category:after {
  display: none;
}

.cal_contents #day_content02 dd .events.old p.e_category {
  background: #999;
}

.cal_contents #event_lists h3 {
  font-size: 14px;
  font-weight: bold;
  text-align: center;
  padding: 24px 0px;
  margin: 0;
  background: none;
  border-bottom: none;
}

.cal_contents #event_lists h3 strong {
  font-size: 18px;
  padding: 10px 6px 10px 16px;
  margin: 0 12px 0 0;
  font-weight: bold;
  display: inline-block;
  border: 3px solid var(--color-base-accent-dark);
}

.cal_contents #event_lists h3:before {
  font-family:var(--fontfamily-icon);
  content: "\e5cf";
  vertical-align: middle;
  margin: 0 32px 0 0;
  font-size: 24px;
  font-variation-settings: var(--iconfont-wght700GRAD200-set);
}

.cal_contents #event_lists h3:after {
  font-family: var(--fontfamily-icon);
  content: "\e5cf";
  vertical-align: middle;
  margin: 0 0 0 32px;
  font-size: 24px;
  font-variation-settings: var(--iconfont-wght700GRAD200-set);
}

.cal_contents #event_lists .no-event {
  text-align: center;
  padding: 32px;
  font-weight: bold;
  color: #555555;
}

/*---------------------------------------
calendar V1
----------------------------------------*/
/*---------------------------------------
calendar V2
----------------------------------------*/
#cal_contents_v2 #date_list01 {
  margin: 0 0 16px;
}

#cal_contents_v2 #date_list01 ul {
  overflow: hidden;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: 1px solid var(--color-base-line-dark);
  border-radius: 3px;
}

#cal_contents_v2 #date_list01 ul li {
  float: left;
  border-right: 1px solid var(--color-base-line-dark);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  cursor: pointer;
  overflow: hidden;
  padding: 5px 0 20px 0;
  text-align: center;
  position: relative;
}

#cal_contents_v2 #date_list01 ul li span {
  display: block;
  margin: 0 1px;
}

#cal_contents_v2 #date_list01 ul li:last-child {
  border: none;
}

#cal_contents_v2 #date_list01 ul li.old {
  opacity: 0.8;
  cursor: default;
}

/*---------------------------------------
calendar V3
----------------------------------------*/
/*日付リストWEEK*/
#cal_contents_v3 #date_list01 {
  border: 1px solid var(--color-base-line-dark);
  border-radius: var(--box-radius-small);
  overflow: hidden;
}

#cal_contents_v3 #date_list01 ul {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-radius: var(--box-radius-small);
  overflow: hidden;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

#cal_contents_v3 #date_list01 ul li {
  line-height: 120%;
  display: table-cell;
  border-right: 1px solid var(--color-base-line-light);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  cursor: pointer;
  overflow: hidden;
  font-size: 14px;
  text-align: center;
  height: 60px;
  padding: 5px 0 10px;
  position: relative;
}

#cal_contents_v3 #date_list01 ul li span {
  display: block;
  width: 95px;
}

#cal_contents_v3 #date_list01 ul.weeklist {
  border-left: 1px solid var(--color-base-line-light);
  border-top: 1px solid var(--color-base-line-light);
}

#cal_contents_v3 #date_list01 ul.weeklist li {
  height: 20px;
}

/*---------------------------------------
V2.1
------------------------------------------*/
#cal_contents_v2.v2_1 #date_list01 ul {
  border: none;
  overflow: hidden;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-radius: 0;
}

#cal_contents_v2.v2_1 #date_list01 ul li {
  float: left;
  border-right: 1px solid var(--color-base-line-dark);
  border-bottom: 1px solid var(--color-base-line-dark);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  cursor: pointer;
  overflow: hidden;
  text-align: center;
  width: 14.2857%;
  height: 50px;
  position: relative;
}

#cal_contents_v2.v2_1 #date_list01 ul li span {
  display: block;
  marign: 3px;
}

#cal_contents_v2.v2_1 #date_list01 ul li em {
  display: none;
}

#cal_contents_v2.v2_1 #date_list01 ul.weeklist {
  border-left: 1px solid var(--color-base-line-dark);
  border-top: 1px solid var(--color-base-line-dark);
}

#cal_contents_v2.v2_1 #date_list01 ul.weeklist li {
  height: 20px;
  line-height: 16px;
}

#cal_contents_v2.v2_1 #date_list01 ul.monthbox {
  border-left: 1px solid var(--color-base-line-dark);
}

#cal_contents_v2.v2_1 #date_list01 ul li.def {
  background: #fff;
}

#cal_contents_v2.v2_1 #date_list01 ul li.old {
  cursor: default;
  background: var(--color-base-line-light);
}

#cal_contents_v2.v2_1 #date_list01 ul li.old span {
  opacity: 0.4;
}
