@charset "UTF-8";
/* ▼▼▼ 検索部分
======================================================*/
select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
  vertical-align: middle;
}
select::-ms-expand {
  display: none;
}

.select2-container--default {
  width: 100% !important;
  height: 100%;
}
.select2-container--default .selection {
  height: 100%;
}
.select2-container--default .select2-selection--single {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-line-pack: center;
      align-content: center;
  width: 100%;
  height: 100%;
  border: none;
  background: none;
  padding: 0;
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
  display: none;
}

.select2-search--dropdown .select2-search__field {
  padding: 15px 10px;
}

.search_tab_list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0 7px;
}
@media screen and (min-width: 768px) {
  .search_tab_list {
    max-width: 656px;
    margin: 0 auto;
    gap: 0 28px;
  }
}
.search_tab_list a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-line-pack: center;
      align-content: center;
  height: 43px;
  border: 1px solid var(--fc-main);
  border-bottom: none;
  background: #FFF;
  color: var(--fc-main);
  font-size: 14px;
}
@media screen and (min-width: 768px) {
  .search_tab_list a {
    height: 65px;
  }
}
.search_tab_list a.active {
  background: var(--fc-main);
  color: #FFF;
}
.search_form label {
  cursor: pointer;
}
.search_form label input[type=checkbox], .search_form label input[type=radio] {
  display: none;
}
.search_wrap {
  background: var(--fc-grad);
  padding: 35px 0 40px;
}
.search_wrap_sub {
  background: var(--bg-lgray);
  padding: 25px 0 35px;
}
.search_block {
  max-width: 775px;
  width: 100%;
  margin: 0 auto;
}
.search_select {
  --height: 55px;
  width: 100%;
  height: var(--height);
  padding: 0;
  background: url("https://ko.walk.osaka-chikagai.jp/front/common/img/icon_search.svg") no-repeat right 18px center/19px 19px, #FFF;
  border: 1px solid #D6D6D6;
}
@media screen and (min-width: 768px) {
  .search_select {
    margin-top: 20px;
  }
}
.search_select select {
  border: none;
  outline: none;
  background: transparent;
  font-size: 16px;
}
.search_select button {
  display: block;
  height: var(--height);
  border: none;
  outline: none;
  background: url("https://ko.walk.osaka-chikagai.jp/front/common/img/icon_search.svg") no-repeat center center/19px 19px, transparent;
}
.search_grm_list {
  --flex-c: 3;
  --flex-g: 7px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 8px var(--flex-g);
}
@media screen and (min-width: 768px) {
  .search_grm_list {
    --flex-c: 5;
  }
}
.search_grm_list li {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 33%;
          flex: 0 0 33%;
  max-width: calc((100% - var(--flex-g) * (var(--flex-c) - 1)) / var(--flex-c));
}
@media screen and (min-width: 768px) {
  .search_grm_list li {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 20%;
            flex: 0 0 20%;
  }
}
.search_grm_inner {
  display: grid;
  grid-template-columns: 100%;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-line-pack: center;
      align-content: center;
  gap: 7px;
  height: 80px;
  background: #fff;
  border: 2px solid var(--fc-gray);
  border-radius: 5px;
  font-size: 12px;
}
.search_grm_icon {
  text-align: center;
}
.search_grm_name {
  text-align: center;
  color: var(--fc-dark);
}
.search_cat_list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  max-width: 100%;
  width: 600px;
  margin: 0 auto;
  gap: 15px 10px;
}
@media screen and (min-width: 768px) {
  .search_cat_list {
    grid-template-columns: repeat(3, 1fr);
  }
}
.search_cat_list input:checked + .search_cat_name::after {
  content: "";
  width: calc(var(--size) * 0.6);
  height: calc(var(--size) * 0.3);
  border-bottom: 2px solid var(--fc-main);
  border-left: 2px solid var(--fc-main);
  position: absolute;
  top: calc(var(--size) * 0.2);
  left: calc(var(--size) * 0.17);
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
.search_cat_name {
  --size: 20px;
  display: inline-block;
  padding-left: calc(var(--size) * 1.4);
  position: relative;
}
@media screen and (min-width: 768px) {
  .search_cat_name {
    --size: 23px;
  }
}
.search_cat_name::before {
  content: "";
  width: var(--size);
  height: var(--size);
  background: #FFF;
  border: 1px solid #D6D6D6;
  border-radius: 3px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: absolute;
  top: 0;
  left: 0;
}
.search_cat_sub {
  max-width: 100%;
  width: 500px;
  margin: 25px auto 0;
}
.search_cat_sub_inner {
  display: none;
  padding: 20px 0 0;
}
.search_cat_more {
  --color:#4A4A4A;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-line-pack: center;
      align-content: center;
  max-width: 100%;
  width: 315px;
  height: 60px;
  margin: 0 auto;
  border: 1px solid #D6D6D6;
  background: #fff;
  cursor: pointer;
  position: relative;
}
@media screen and (min-width: 768px) {
  .search_cat_more {
    width: 250px;
    height: 70px;
  }
}
.search_cat_more::before, .search_cat_more::after {
  content: "";
  width: 13px;
  height: 1px;
  background: var(--color);
  position: absolute;
  top: calc(50% - 0.5px);
  right: 18px;
}
.search_cat_more.open::after {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
.search_btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-line-pack: center;
      align-content: center;
  max-width: 100%;
  width: 315px;
  height: 60px;
  margin: 20px auto 0;
  border: none;
  border-radius: 0;
  background: var(--fc-btn);
  color: #fff;
  font-size: 16px;
  font-weight: 500;
  cursor: pointer;
}
@media screen and (min-width: 768px) {
  .search_btn {
    width: 250px;
    height: 70px;
  }
}
.search_btn span {
  display: inline-block;
  padding-left: 30px;
  position: relative;
}
.search_btn span::before {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  background: url("https://ko.walk.osaka-chikagai.jp/front/common/img/icon_search_w.svg") no-repeat center center/19px 19px, transparent;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.search_type_wrap {
  padding: 20px 0 0;
}
@media screen and (min-width: 768px) {
  .search_type_wrap {
    padding: 50px 0 0;
  }
}
.search_type_list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}
@media screen and (min-width: 768px) {
  .search_type_list {
    gap: 20px;
  }
}
.search_type_inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-line-pack: center;
      align-content: center;
  height: 65px;
  border: 1px solid var(--bd-gray);
  background: #fff;
  cursor: pointer;
}
@media screen and (min-width: 768px) {
  .search_type_inner {
    height: 80px;
  }
}
.search_type_inner.active {
  border-color: var(--fc-main);
  background: var(--fc-main);
  color: #fff;
}
.search_type_txt {
  text-align: center;
}

.keyword_search_box {
  --height: 55px;
  display: grid;
  grid-template-columns: 1fr var(--height);
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-line-pack: center;
      align-content: center;
  width: 100%;
  height: var(--height);
  padding: 0 0 0 20px;
  background: #FFF;
  border: 1px solid #D6D6D6;
}
@media screen and (min-width: 768px) {
  .keyword_search_box {
    margin-top: 20px;
  }
}
.keyword_search_box input {
  border: none;
  outline: none;
  background: transparent;
  font-size: 14px;
}
.keyword_search_box button {
  display: block;
  height: var(--height);
  border: none;
  outline: none;
  background: url("https://ko.walk.osaka-chikagai.jp/front/common/img/icon_search.svg") no-repeat center center/19px 19px, transparent;
}
.keyword_block:not(:first-child) {
  margin-top: 20px;
}
.keyword_block_txt {
  margin: 25px 0 10px;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .keyword_block_txt {
    font-size: 18px;
  }
}

.result_top {
  padding: 45px 0 0;
}
@media screen and (min-width: 768px) {
  .result_top {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: end;
    -ms-flex-line-pack: end;
        align-content: flex-end;
  }
}
.result_top_center {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
}
.result_title {
  text-align: center;
  font-size: 16px;
}
@media screen and (min-width: 768px) {
  .result_title {
    font-size: 18px;
  }
}
.result_txt {
  text-align: center;
  font-size: 16px;
}
@media screen and (min-width: 768px) {
  .result_txt {
    font-size: 18px;
  }
}
.result_txt_num {
  display: inline-block;
  padding: 0 0.3em 0 0.5em;
  font-size: 32px;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .result_txt_num {
    font-size: 38px;
  }
}
.result_list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  margin-top: 35px;
}
.result_list_wrap_tabchang .result_tab:not(.active) {
  display: none;
}
@media screen and (min-width: 768px) {
  .result_list {
    grid-template-columns: repeat(4, 1fr);
    gap: 40px 20px;
  }
}

.info_cat_list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}
@media screen and (min-width: 768px) {
  .info_cat_list {
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
  }
}
.info_cat_list a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-line-pack: center;
      align-content: center;
  height: 45px;
  background: #FFF;
  border: 1px solid var(--fc-gray);
  border-radius: 5px;
}
.info_cat_list a.active {
  background: var(--fc-main);
  border-color: var(--fc-main);
  color: #FFF;
}
@media screen and (min-width: 768px) {
  .info_cat_list a {
    height: 60px;
  }
}

.event_date_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: var(--date-gap);
}
.event_date_list_wrap {
  --date-size: 57px;
  --date-gap: 25px;
  -ms-overflow-style: none;
  scrollbar-width: none;
  max-width: 100%;
  width: calc((var(--date-size) + var(--date-gap)) * 7 - var(--date-gap));
  margin: 0 auto;
}
@media screen and (max-width: 519px) {
  .event_date_list_wrap {
    max-width: calc(100% + 40px);
    width: calc(100% + 40px);
    margin: 0 -20px;
    padding: 0 20px;
    overflow-x: scroll;
  }
}
@media screen and (min-width: 768px) {
  .event_date_list {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.event_date_list li {
  white-space: nowrap;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 var(--date-size);
          flex: 0 0 var(--date-size);
  width: var(--date-size);
  max-width: var(--date-size);
}
.event_date_inner {
  display: block;
}
.event_date_inner.active .event_date_circle {
  --txt-color: #FFF;
  background: var(--fc-main);
}
.event_date_circle {
  --txt-color: #000;
  width: var(--date-size);
  height: var(--date-size);
  border-radius: 50%;
  background: #FFF;
  padding-top: 2px;
  text-align: center;
  position: relative;
}
.event_date_month, .event_date_day {
  display: inline-block;
  color: var(--txt-color);
  line-height: 1;
  position: relative;
}
.event_date_month {
  font-size: 16px;
  right: -0.3em;
}
.event_date_month::after {
  content: "";
  width: 1px;
  height: 2.5em;
  background: var(--txt-color);
  position: absolute;
  bottom: 0;
  right: 0;
  -webkit-transform: translate(0.1em, 1.4em) rotate(45deg);
          transform: translate(0.1em, 1.4em) rotate(45deg);
}
.event_date_day {
  font-size: 24px;
  left: 0.05em;
  bottom: -1em;
}
.event_date_week {
  font-size: 15px;
  text-align: center;
}
.event_date_week6 {
  color: #436BB5;
}
.event_date_week7 {
  color: #A53224;
}
.event_date_more {
  display: inline-block;
  padding-right: 15px;
  color: #4A4A4A !important;
  position: relative;
  text-decoration: underline !important;
}
.event_date_more_wrap {
  width: 700px;
  max-width: 100%;
  margin: 20px auto 0;
  text-align: right;
}
.event_date_more::after {
  --size: 0.6em;
  content: "";
  width: var(--size);
  height: var(--size);
  border-top: 1px solid #000;
  border-right: 1px solid #000;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: absolute;
  right: calc(-0.2 * var(--size));
  top: 50%;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
}
@media screen and (min-width: 768px) {
  .event_date_more:hover {
    text-decoration: none !important;
  }
}
.event_date_selected {
  font-size: 18px;
  font-weight: 600;
  text-align: center;
  line-height: 1.25;
  margin: 20px auto;
}
.event_date_selected span {
  font-size: 1.35em;
  padding: 0 5px;
}
@media screen and (min-width: 768px) {
  .event_date_selected {
    font-size: 22px;
    margin: 30px auto;
  }
}