@charset "UTF-8";

/* 修正時追加分 */
/* 汎用 */
/* リンクの無効化 */
.disable {
  pointer-events: none; /* aタグのリンクを無効にする */
  cursor: default;  /* マウスオーバー時のカーソルをdefaultに固定 */
  text-decoration: none;  /* 下線等を消す。 */
}

/* フォトギャラリー */
.photo_gallery .gallery ul li {
  list-style: none;
  width: 33.3%;
  padding: 20px;
  box-sizing: border-box;
  float: left;
}
.photo_gallery .gallery ul li a {
  display: block;
}
.photo_gallery .gallery ul li a img {
  width: 100%;
}
.photo_gallery .gallery ul li figure figcaption {
  font-size: 14px;
}
.photo_gallery .gallery ul li figure figcaption h3 {
  padding: 10px 0;
}

@media screen and (max-width: 680px) {
  .photo_gallery .gallery ul li {
    padding: .5%;
  }
  .photo_gallery .gallery ul li figure figcaption {
    display: none;
  }
}


/* ご来館予約 */
.reserve_form {
  width: 100%;
  max-width: 1040px;
  margin: 0 auto; }
  .reserve_form form {
    padding: 0 20px; }
    .reserve_form form table {
      margin-bottom: 50px;
      width: 100%; }
      .reserve_form form table tr {
        border-top: 1px solid #E6E6E6;
        border-bottom: 1px solid #E6E6E6;
        position: relative; }
        .reserve_form form table tr th {
          vertical-align: middle;
          width: 34%;
          padding-left: 12%;
          text-align: left; }
          .reserve_form form table tr th span {
            background-color: #FF8167;
            font-size: 12px;
            color: #fff;
            width: 40px;
            height: 20px;
            display: inline-block;
            line-height: 20px;
            text-align: center;
            margin-right: 20px;
            margin-left: -60px; }
        .reserve_form form table tr td {
          height: 100%;
          padding: 28px 0;
          box-sizing: border-box; }
          .reserve_form form table tr td input, .reserve_form form table tr td select {
            width: 75%;
            border: 1px solid #808080;
            display: inline-block;
            height: 46px;
            padding: 10px; }
          .reserve_form form table tr td select {
            -moz-appearance: menulist;
            -webkit-appearance: menulist; }
          .reserve_form form table tr td textarea {
            width: 500px;
            padding: 10px;
            border: 1px solid #808080; }
          .reserve_form form table tr td.date select {
            width: 23%;
            margin-right: 5px; }
            .reserve_form form table tr td.date select:nth-of-type(2) {
              margin-left: 20px; }
        .reserve_form form table tr:nth-of-type(1) input, .reserve_form form table tr:nth-of-type(2) input {
          width: 36%; }
          .reserve_form form table tr:nth-of-type(1) input:first-child, .reserve_form form table tr:nth-of-type(2) input:first-child {
            margin-right: 18px; }
        .reserve_form form table tr:nth-of-type(3) input, .reserve_form form table tr:nth-of-type(4) input {
          width: 36%; }
          .reserve_form form table tr:nth-of-type(3) input:first-child, .reserve_form form table tr:nth-of-type(4) input:first-child {
            margin-right: 18px; }
        .reserve_form form table tr:nth-of-type(5) input:first-child {
          width: 23%;
          margin: 0 23px 23px 10px; }
        .reserve_form form table tr:nth-of-type(5) select {
          width: 46%; }
    .reserve_form form p {
      text-align: center;
      font-size: 18px;
      margin: 40px 0; }
    .reserve_form form div {
      text-align: center; }
  .reserve_form > p {
    text-align: center;
    font-size: 20px; }
  .reserve_form .more {
    border-radius: 0;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    -ms-border-radius: 0;
    -o-border-radius: 0;
    width: 320px;
    font-size: 21px;
    background-image: url(../img/right_arrow_white.svg);
    background-position: right 20px center;
    background-repeat: no-repeat;
    display: inline-block;
    text-align: center;
    cursor: pointer; }
  .reserve_form .back {
    background-image: url(../img/left_arrow_white.svg);
    background-position: left 20px center;
    cursor: pointer; }
  .reserve_form > div {
    text-align: center;
    margin: 40px auto; }
    .reserve_form > div a.back {
      line-height: 56px; }

@media screen and (max-width: 680px) {
  .reserve_form {
    padding-left: 5.3%;
    padding-right: 5.3%;
    box-sizing: border-box;
    width: 100%; }
    .reserve_form form {
      padding: 0;
      width: 100%; }
      .reserve_form form table {
        display: block;
        width: 100%;
        box-sizing: border-box; }
        .reserve_form form table tbody {
          display: block;
          width: 100%; }
        .reserve_form form table tr {
          display: block;
          width: 100%; }
          .reserve_form form table tr th {
            display: block;
            width: 100%;
            box-sizing: border-box;
            text-align: left;
            padding-left: 0;
            padding-top: 5%; }
            .reserve_form form table tr th span {
              margin-left: 0;
              margin-right: 1%; }
          .reserve_form form table tr td {
            display: block;
            width: 100%;
            box-sizing: border-box; }
            .reserve_form form table tr td input, .reserve_form form table tr td select, .reserve_form form table tr td textarea {
              width: 100%;
              box-sizing: border-box; }
          .reserve_form form table tr:nth-of-type(1) input, .reserve_form form table tr:nth-of-type(2) input {
            width: 45%;
            box-sizing: border-box; }
            .reserve_form form table tr:nth-of-type(1) input:first-child, .reserve_form form table tr:nth-of-type(2) input:first-child {
              margin-right: 7%; }
          .reserve_form form table tr:nth-of-type(3) input, .reserve_form form table tr:nth-of-type(4) input {
            width: 45%;
            box-sizing: border-box; }
            .reserve_form form table tr:nth-of-type(3) input:first-child, .reserve_form form table tr:nth-of-type(4) input:first-child {
              margin-right: 7%; }
          .reserve_form form table tr:nth-of-type(5) select {
            width: 100%;
            margin-bottom: 5%; }
          .reserve_form form table tr:nth-of-type(5) input:first-child {
            width: 91%;
            margin: 0 0 5% 3%; }
      .reserve_form form .more {
        width: 100%;
        margin-bottom: 5%; } }

/* 20220216追加 ここから */
.reserve_form .event_title {
  margin-bottom: 0px; 
  border-collapse: unset; 
  border-top: #e6e6e6 solid 1px;
}
@media screen and (max-width: 680px) {
  .reserve_form .event_title th {
    padding-top: 25px;
  }
}

@media screen and (min-width: 681px) {
  .logo.inquiry_form {
    padding-bottom:20px;
  }
}
/* 20220216追加 ここまで */

/* トピックス */
.topics_title {
  font-size: 36px;
  padding-top: 30px;
  text-align: center;
  padding-bottom: 100px;
  position: relative;
  color: #333;
}
@media screen and (max-width: 680px) {
  .topics_title {
    font-size: 19px;
    padding-top: 30px;
    padding-bottom: 90px;
  }
}

.topics_title:before {
  position: absolute;
  content: "";
  top: 130px;
  left: 50%;
  width: 20px;
  height: 2px;
  background: #333;
  transform: translateX(-50%);
}
@media screen and (max-width: 680px) {
  .topics_title:before {
    top: 100px;
    height: 1px;
    background: #777;
  }
}
.topics_title:after {
  content: "トピックス";
  position: absolute;
  top: 79px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 13px;
}
@media screen and (max-width: 680px) {
  .topics_title:after {
    content: "トピックス";
    position: absolute;
    top: 60px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 11px;
  }
}
.topics {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  width: 90%;
  max-width: 1280px;
  margin: 0 auto;
  box-sizing: border-box;
}
@media screen and (max-width: 680px) {
  .topics {
    padding: 0 calc(5.7% - 5px);
    width: 100%;
  }
}
  .topics a {
    width: calc(25% - 30px);
    margin: 0 15px 30px;
    color: #333;
  }
  @media screen and (max-width: 680px) {
    .topics a {
      width: calc(50% - 10px);
      margin: 0 5px 30px;
    }
  }
  /* .topics a:nth-of-type(4n) {
    margin-right: 0;
  } */
    .topics a div img {
      width: 100%;
      height: auto;
      object-fit: cover;
    }
    @media screen and (max-width: 680px) {
      .topics a div img {
        height: auto;
      }
    }
    .topics .topics_info {
      position: relative;
      padding-left: 1em;
      margin-top: 1em;
    }
    @media screen and (max-width: 680px) {
      .topics .topics_info {
        position: relative;
        padding-left: 0;
        margin-top: 6px;
      }
    }
    .topics .topics_info:before {
      position: absolute;
      content: "";
      top: 0.7em;
      left: -14px;
      width: 20px;
      height: 1px;
      background: #333;
    }
    @media screen and (max-width: 680px) {
      .topics .topics_info:before {
        display: none;
      }
    }
      .topics .topics_info small {
        font-size: 0.8em;
      }
      @media screen and (max-width: 680px) {
        .topics .topics_info small {
          font-size: 10px;
        }
      }
      .topics .topics_info h4 {
        font-size: 1.1em;
      }
      @media screen and (max-width: 680px) {
        .topics .topics_info h4 {
          font-size: 14px;
        }
      }
      .topics .topics_info p {
        font-size: 0.9em;
        margin-top: 8px;
      }
      @media screen and (max-width: 680px) {
        .topics .topics_info p {
          font-size: 12px;
          margin-top: 5px;
        }
      }

#topVideoPlay {
  background: #fff;
}

@media screen and (max-width: 680px) {
  #topVideoList ul li a .img img {
    height: 120px!important;
    object-fit: cover;
  }
}
#topVideoList ul li {
  width: 33%;
}

@media screen and (max-width: 680px) {
  #topVideoList ul li a .img:after {
    display: none;
  }
}

@media screen and (max-width: 680px) {
  .alignText {
    text-align: center;
  }
}

/* 20262827追加 ここから */
.reserve_h_pc {
  display: inline;
}

.reserve_h_sp {
  display: none;
}

@media screen and (max-width: 680px) {
  .reserve_h_pc {
    display: none;
  }

  .reserve_h_sp {
    display: inline;
  }
}
/* 20262827追加 ここまで */
