/*============================
 共通設定
============================*/

/* tableタグへのデフォルト設定 */
/*
#calendar table {
  border-collapse: collapse;
  border-spacing: 0; }

#calendar caption,
#calendar th,
#calendar td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle; }
*/

/* テーブル貼付けで自動的にデモ用デザイン適用 */
#calendar table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
  border: 1px solid #ddd;
  /* margin-bottom: 15px; */
}

#calendar caption {
  text-align: left;
  font-weight: normal;
  vertical-align: middle;
  font-weight: bold;
  /* margin-bottom: 10px; */
}

#calendar th {
  text-align: left;
  font-weight: normal;
  vertical-align: middle;
  padding: 10px 15px;
  font-weight: bold;
  background-color: #efefef;
  border: 1px solid #ddd;
}

#calendar td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle;
  padding: 10px 15px;
  border: 1px solid #ddd;
  line-height: 1.6;
}

#calendar q,
#calendar blockquote {
  quotes: none;
}

#calendar q:before,
#calendar q:after {
  content: "";
  content: none;
}

#calendar blockquote:before,
#calendar blockquote:after {
  content: "";
  content: none;
}

#calendar {
/*============================
カレンダーとリスト一覧切り替えタブ
============================*/
/*============================
イベント一覧表示
============================*/
  /*一覧表示wrap*/
  /*ミニカレンダー*/
  /*イベント一覧*/
/*============================
イベントカレンダー表示
============================*/
  /*カレンダーをスクロールさせる*/
  /*fieldsetのlegendをhiddenに（アクセシビリティ対策）*/
  /*ブレイクポイント以上：アコーディオンで閉じた部分も強制的に表示*/
}
#calendar * {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
#calendar .chip_category {
  /* font-size: 87%; */
  padding: .2em 10px;
}
#calendar .calendar_tab {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  border-bottom: 3px solid #105d05;
  margin-bottom: 25px;
}
#calendar .calendar_tab li {
  margin: 0;
  padding: 0;
  font-weight: bold;
  border-radius: 10px 10px 0 0;
  background-color: #eee;
  text-align: center;
  font-size: 125%;
}
#calendar .calendar_tab li:before {
  content: none;
}
#calendar .calendar_tab li:hover {
  background-color: #ddd;
}
#calendar .calendar_tab li a {
  display: block;
  color: #000;
  padding: 25px 10px;
}
#calendar .calendar_tab li.current {
  background-color: #105d05;
  color: #fff;
}
#calendar .calendar_tab li.current a {
  color: #fff;
}
#calendar .calendar_tab li.current a:hover {
  background-color: transparent;
}
#calendar .calendar_tab li.calendar_tab1 {
  width: 49.5%;
}
#calendar .calendar_tab li.calendar_tab1 a:before {
  content: "\f073";
  font-family: "Font Awesome 5 Free";
  font-weight: normal;
  margin-right: 8px;
}
#calendar .calendar_tab li.calendar_tab2 {
  width: 49.5%;
}
#calendar .calendar_tab li.calendar_tab2 a:before {
  content: "\f022";
  font-family: "Font Awesome 5 Free";
  font-weight: normal;
  margin-right: 8px;
}
@media screen and (max-width: 735px) {
  #calendar .calendar_tab {
    display: none;
  }
}

/*---------------
 ラベル
-----------------*/
td.cal_cat .lib1 {
    background-color: #AECE96; /* イベント */
}
td.cal_cat .lib2 {
    background-color: #f3e7b4; /* 展示 */
}
td.cal_cat .lib3 {
    background-color: #EFD7CA; /* おはなし会 */
}




/*============================
 イベント情報を絞り込む
============================*/

/*---------------
 全体の外周
-----------------*/
#calendar .event_search {
  width: 100%;
  border: 1px solid #ddd;
  display: -webkit-box;
  display: -ms-flexbox;
  /* display: flex; */
  font-size: 1.6rem;
}


/*---------------
 "イベント情報を絞り込む"
-----------------*/
#calendar .event_search .event_search_title {
  pointer-events: none;
  width: 12%;
  font-weight: bold;
  display: -webkit-box;
  display: -ms-flexbox;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 20px;
  line-height: 1.3;
}

/*---------------
 検索ボックス・チェックボックス・ボタンの外周
-----------------*/
#calendar .event_search .event_search_body {
  width: 88%;
  display: -webkit-box;
  display: -ms-flexbox;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  border-left: 1px solid #ddd;
}

/*---------------
 検索ボックス・チェックボックスの外周
-----------------*/
#calendar .event_search .event_search_word_category {
    width: 100%;
    padding: 25px 20px;
}

/*----------
 検索ボックス
----------*/
#calendar .event_search_category{
}

#calendar .event_search .event_search_word {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  min-width: 0;
  box-sizing: border-box;
}
#calendar .event_search .event_search_word label {
  width: 20%;
  font-weight: bold;
}
#calendar .event_search .event_search_word input {
  width: 100%;
  font-size: 100%;
  /*padding: 3px;*/
  padding: 20px;
}

/*----------
 チェックボックス
----------*/
#calendar .event_search_category {
    margin-top: 20px;
}

#calendar .event_search .event_search_category dl{
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}
#calendar .event_search .event_search_category dl dt {
    font-weight: bold;
    width: 20%;
}
#calendar .event_search .event_search_category dl dd {
    width: 100%;
}
#calendar .event_search .event_search_category dl dd ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0;
}
#calendar .event_search .event_search_category dl dd ul li {
    width: calc(24.99999% - 30px);
    list-style: none;
    padding: 0;
}



/*---------------
 ボタン
-----------------*/
#calendar .event_search_btns {
  width: 10%;
  min-width: 0;
  box-sizing: border-box;
  /* display: flex; */
  gap: 10px;
  align-items: center;
  justify-content: center;
  border-top: 1px dotted #ddd;
}

#calendar .event_search .event_search_btns {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; 
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  padding: 20px;
}
#calendar .event_search .event_search_btns .btn_submit {
  /*width: 69%;*/
  /*font-size: 120%;*/
  width: 40%;
  padding: 1.6rem;
}
#calendar .event_search .event_search_btns .btn_reset {
  /*width: 28%;*/
  /*font-size: 100%;*/
  width: 30%;
}

.btn_submit {
  background-color: #0067a4;
  -webkit-box-shadow: 0 2px 0 0 #03304a;
  box-shadow: 0 2px 0 0 #03304a;
  border-radius: 10px;
  color: #fff;
  font-weight: bold;
  letter-spacing: 0.12em;
  padding: 15px;
}
.btn_submit:hover {
  background-color: #03304a;
}

.btn_reset {
  background-color: #fff;
  border: 2px solid #ddd;
  border-radius: 10px;
  font-weight: bold;
  padding: 0.4rem;
}
.btn_reset:hover {
  background-color: #ddd;
}


/*---------------
 レスポンシブ
-----------------*/
@media screen and (max-width: 1240px) {
  #calendar .event_search {
    display: block;
  }
  #calendar .event_search .event_search_title {
    width: 100%;
    border: 0;
    border-bottom: 1px solid #ddd;
    padding: 15px;
  }
  #calendar .event_search .event_search_title br {
    display: none;
  }
  #calendar .event_search .event_search_title i {
    min-width: 40px;
    height: 40px;
    border-radius: 40px;
    font-size: 85%;
  }
  #calendar .event_search .event_search_body {
    display: block;
    width: 100%;
    border-left: none;
  }
  #calendar .event_search .event_search_word_category {
    width: 100%;
    border: 0;
    padding: 20px 15px;
  }
  #calendar .event_search .event_search_word {
    display: block;
  }
  #calendar .event_search .event_search_word label {
    display: block;
    width: 100%;
    padding-bottom: 10px;
  }
  #calendar .event_search .event_search_word input {
    width: 100%;
  }
  #calendar .event_search .event_search_category dl {
    display: block;
  }
  #calendar .event_search .event_search_category dl dt {
    width: 100%;
    padding-bottom: 10px;
  }
  #calendar .event_search .event_search_category dl dd {
    width: 100%;
  }
  #calendar .event_search .event_search_category dl dd ul {
    width: 100%;
    display: block;
    overflow: hidden;
  }
  #calendar .event_search .event_search_category dl dd ul li {
    min-width: 160px;
    width: auto;
    float: left;
  }
  #calendar .event_search .event_search_btns {
    display: block;
    width: 100%;
    border: 0;
    padding: 15px 15px;
    border-top: 1px dotted #ddd;
    text-align: center;
  }
  #calendar .event_search .event_search_btns button {
    padding: 20px 5px;
    margin: 5px 0;
  }
  #calendar .event_search .event_search_btns .btn_submit {
    width: 100%;
    max-width: 360px;
  }
  #calendar .event_search .event_search_btns .btn_reset {
    width: 100%;
    max-width: 360px;
  }
  #calendar .event_search .event_search_btns .btn_reset br {
    display: none;
  }
}
@media screen and (max-width: 735px) {
  #calendar .calendar_tab {
    display: none;
  }
  #calendar .event_search .event_search_title {
    pointer-events: all;
    position: relative;
    cursor: pointer;
  }

  #calendar .event_search .event_search_title.open:after {
    content: "\f106";
  }
  #calendar .event_search .event_search_body {
/*    display: none;*/
  }
  #calendar .event_search .event_search_word_category [class^="category_"] {
    max-width: 85%;
  }
  #calendar .event_search .event_search_category dl dd ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  #calendar .event_search .event_search_category dl dd ul li {
    float: none;
    min-width: 48%;
  }
  #calendar .event_search .event_search_category dl dd ul li label {
    display: -webkit-box;
    display: -ms-flexbox;
/*    display: flex;*/
    display: block;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  #calendar
    .event_search
    .event_search_category
    dl
    dd
    ul
    li
    label
    .chip_category {
    margin-right: 0;
  }
  #calendar .event_search .event_search_btns {
    display: block;
    width: 100%;
    border: 0;
    padding: 15px 15px;
    border-top: 1px dotted #ddd;
    text-align: center;
  }
  #calendar .event_search .event_search_btns button {
    padding: 20px 5px;
    margin: 5px 0;
  }
  #calendar .event_search .event_search_btns .btn_submit {
    width: 100%;
    max-width: 360px;
  }
  #calendar .event_search .event_search_btns .btn_reset {
    width: 100%;
    max-width: 360px;
    padding: 10px 5px;
  }
  #calendar .event_search .event_search_btns .btn_reset br {
    display: none;
  }
  #calendar .c_holiday_name {
    display: inline;
    font-size: 100%;
  }
  #calendar .event_list_wrap {
    display: block;
    margin: 20px 0;
  }
  #calendar .event_calendar_mini {
    width: 100%;
  }
  #calendar .event_lists {
    margin-left: 0;
  }
  #calendar .table_event_list {
    margin-top: 20px;
    /*カテゴリー*/
  }
  #calendar .table_event_list [class^="category_"] {
/*    display: block;*/
    margin-bottom: 5px;
  }
  #calendar .table_event_list tr {
    display: block;
  }
  #calendar .table_event_list tr.event_none {
    display: none;
  }
  #calendar .table_event_list th {
    display: none;
    width: 100%;
  }
  #calendar .table_event_list td {
    display: block;
    width: 100%;
    border-width: 3px;
    border-bottom-width: 1.5px;
  }
  #calendar .table_event_list td.c_date {
    border-bottom-width: 1px;
  }
  #calendar .table_event_list td:not(.c_date) {
    border-top-width: 0;
  }
}
@media screen and (min-width: 735px) {
  #calendar .event_search .event_search_body {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }
}



/*============================
 カレンダー共通
============================*/
#calendar .c_sat {
  background-color: #e6f0f6;
  color: #004066;
}
#calendar .c_sat a {
  color: #004066;
  text-decoration: underline;
}
#calendar .c_sun,
#calendar .c_holiday {
  background-color: #fdf1f4;
  color: #d00007;
}
#calendar .c_sun a,
#calendar .c_holiday a {
  color: #d00007;
  text-decoration: underline;
}
#calendar .c_date a {
  color: #000;
  text-decoration: underline;
}
#calendar .c_holiday_name {
  font-size: 80%;
  display: block;
}
#calendar .c_today,
#calendar .c_current {
  background-color: #d53b22;
  color: #fff;
  font-weight: bold;
}
#calendar .c_today a,
#calendar .c_current a {
  color: #fff;
  text-decoration: underline;
}
#calendar .event_list_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  /* margin: 15px 0 30px 0; */
}
#calendar .event_calendar_mini {
  -ms-flex-preferred-size: 320px;
  flex-basis: 320px;
}
#calendar .table_calendar_mini th,
#calendar .table_calendar_mini td {
  text-align: center;
  padding: 10px 3px;
}
#calendar .table_calendar_mini th a,
#calendar .table_calendar_mini td a {
  display: block;
  text-decoration: underline;
}
#calendar .table_calendar_mini th:not([class]) a,
#calendar .table_calendar_mini td:not([class]) a {
  color: #000;
}
#calendar .table_calendar_mini caption {
  /*font-size: 110%;*/
  font-size: 1.6rem;
  line-height: 1.6rem;
  padding: 10px;
}

@media screen and (max-width: 735px) {
  #calendar .c_holiday_name {
    display: inline;
    font-size: 100%;
  }
  #calendar .event_list_wrap {
    display: block;
    margin: 20px 0;
  }
  #calendar .event_calendar_mini {
    width: 100%;
  }
}

/*============================
 イベント一覧表示
============================*/
#calendar .event_lists {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
  margin-left: 2.5rem;
  margin-top: 3.6rem;
}
#calendar .event_none {
  display: none;
}
#calendar .event_calendar {
  margin: 25px 0 40px 0;
}
#calendar .event_calendar .event_calendar_title {
  position: relative;
}
#calendar .event_calendar .event_calendar_title h2 {
  margin: 0 auto;
  padding: 0;
  font-size: 130%;
  border: none;
  text-align: center;
}
#calendar .event_calendar .event_calendar_title h2:before,
#calendar .event_calendar .event_calendar_title h2:after {
  content: none;
}
#calendar .event_calendar .event_calendar_title h2 strong {
  font-size: 150%;
}
#calendar .event_calendar .event_calendar_title .btns {
  margin-top: -2em;
  margin-bottom: 20px;
}
#calendar .table_calendar {
  width: 1240px;
  table-layout: fixed;
  border: 1px solid #ddd;
  background: url(../images/calendar/bg_calendar.png) 0 0 repeat-y;
  background-size: 100% auto;
}
#calendar .table_calendar a {
  color: #000 !important;
}
#calendar .table_calendar tr:not(.c_weekday):not(.c_youbi) .c_sat,
#calendar .table_calendar tr:not(.c_weekday):not(.c_youbi) .c_sun {
  background-color: transparent;
}
#calendar .table_calendar tr.c_youbi {
  border-bottom: 3px solid #ddd;
}
#calendar .table_calendar tr.c_weekday {
  border-top: 1px solid #ddd;
}
#calendar .table_calendar tr.c_weekday td {
  padding: 10px;
}
#calendar .table_calendar tr.c_weekday + tr td {
  padding-top: 10px;
}
#calendar .table_calendar tr.c_week_multiple_1st td {
  padding-bottom: 0;
}
#calendar .table_calendar th {
  width: 14.2857%;
  padding: 10px;
  font-weight: bold;
  text-align: center;
  border: 1px solid #ddd;
}
#calendar .table_calendar th:not([class]) {
  background-color: #efefef;
}
#calendar .table_calendar td {
  width: 14.2857%;
  padding: 0 10px 25px 10px;
  text-align: right;
}
#calendar .table_calendar td p {
  text-align: left;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: 75%;
  padding-left: 8px;
  margin-bottom: 10px;
}
#calendar .table_calendar td p a {
  display: block;
  -webkit-box-flex: 2;
  -ms-flex-positive: 2;
  flex-grow: 2;
  padding: 4px 0;
}
#calendar .table_calendar td.c_to_nextweek {
  padding-right: 0;
}
#calendar .table_calendar td.c_to_nextweek p {
  border-radius: 5px 0 0 5px;
}
#calendar .table_calendar td.c_from_lastweek {
  padding-left: 0;
}
#calendar .table_calendar td.c_from_lastweek p {
  border-radius: 0 5px 5px 0;
}
#calendar .calendar_scroll {
  width: 100%;
  overflow-x: scroll;
}
#calendar fieldset legend {
  display: none;
}

#calendar td.cal_cat .event{
background-color: #AECE96;
}

.table_normal {
  width: 100%;
  border: 1px solid #4c4948;
  /* margin-bottom: 15px; */
}
.table_normal th {
  padding: 10px 15px;
  font-weight: bold;
  background-color: #efefef;
  border: 1px solid #4c4948;
}
.table_normal td {
  padding: 10px 15px;
  border: 1px solid #4c4948;
  line-height: 1.6;
}
.table_normal td img {
  max-width: 100%;
  width: auto;
}
.table_normal caption {
  font-weight: bold;
  /* margin-bottom: 10px; */
}


@media screen and (max-width: 735px) {
  #calendar .event_lists {
    margin-left: 0;
  }
  #calendar .table_event_list {
    margin-top: 20px;
    /*カテゴリー*/
  }
  #calendar .table_event_list [class^="category_"] {
/*    display: block;*/
    margin-bottom: 5px;
  }
  #calendar .table_event_list tr {
    display: block;
  }
  #calendar .table_event_list tr.event_none {
    display: none;
  }
  #calendar .table_event_list th {
    display: none;
    width: 100%;
  }
  #calendar .table_event_list td {
    display: block;
    width: 100%;
    border-width: 3px;
    border-bottom-width: 1.5px;
  }
  #calendar .table_event_list td.c_date {
    border-bottom-width: 1px;
  }
  #calendar .table_event_list td:not(.c_date) {
    border-top-width: 0;
  }
}

@media only screen and (min-width: 769px) {
  td.cal_cat {
    margin-left: -0.5em;
  }
}


td.cal_cat .cal_cat_item {
    display: inline-block;
    text-align: center;
    padding: 0.2em 10px;
    font-size: 1.4rem;
    margin-left: 0.5em;
    margin-bottom: 0.5em;
    border-radius: 5px;
}


/*ボタン均等配置*/
.btns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin: 10px 0;
}

.btns .btn {
  display: inline-block;
  padding: 0;
}
.btns .btn a {
  display: block;
  background-color: #eee;
  -webkit-box-shadow: 0 2px 0 0 #d5d5d5;
  box-shadow: 0 2px 0 0 #d5d5d5;
  border-radius: 5px;
  text-align: center;
  font-weight: bold;
  padding: 7px 25px;
  color: #000;
  text-decoration: none;
}
.btns .btn a:hover {
  text-decoration: underline;
}

.btn-prev {
  margin-right: 5px;
}
.btn-prev a:before {
/*  content: "\f104";*/
/*  font-family: "Font Awesome 5 Free";*/
  font-weight: 900;
  font-size: 110%;
  padding-right: 5px;
}

.btn-next {
  margin-left: 5px;
}
.btn-next a:after {
/*  content: "\f105";*/
/*  font-family: "Font Awesome 5 Free";*/
  font-weight: 900;
  font-size: 110%;
  padding-left: 5px;
}

