@charset "UTF-8";
/* タブ・SP共通 */
/* タブレット～1019px */
@media screen and (max-width: 1019px) {
  .sp_none {
    display: none;
  }

  .tb_none {
    display: none;
  }

  .pc_none {
    display: block;
  }

  .inner {
    width: 100%;
    padding: 0 10px;
    overflow: hidden;
  }

  h2 {
    font-size: 3.0rem;
  }

  section, article {
    margin-bottom: 50px;
  }

  section {
    margin-top: 0;
    padding-top: 0;
  }

  .flex_box {
    display: block;
  }

  /* 戻るボタン */
  #top_btn {
    right: 15px;
  }

  /* ------------------------------------------
  ヘッダー
  ------------------------------------------ */
  header div.inner {
    padding: 40px 10px 30px;
  }
  header div.inner .logo {
    display: block;
    width: 80%;
    margin: 0 auto;
  }
  header div.inner .contact_box {
    display: block;
    width: 200px;
    float: none;
    margin: 0 auto;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  header div.inner .contact_box h4 {
    display: none;
  }
  header div.inner .contact_box div {
    text-align: center;
  }
  header div.inner .contact_box div:nth-of-type(2) a p {
    font-weight: normal;
    display: block;
    margin-top: 15px;
    font-size: 1.4rem;
  }
  header div.inner .contact_box a {
    display: block;
  }
  header div.inner .contact_box a img {
    margin-right: 0;
  }
  header nav {
    position: static;
  }
  header nav ul {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  header nav li {
    width: calc((100% - 40px) / 3);
    height: auto;
    margin-right: 0;
    border: 1px solid #666666;
    border-radius: 5px;
    margin-bottom: 20px;
  }
  header nav li a {
    display: block;
    padding: 10px;
    width: 100%;
    height: 100%;
  }

  /* ------------------------------------------
	メインビジュアル・ドット
	------------------------------------------ */
  .slider img {
    min-height: 330px;
  }

  .slide-dots {
    margin-bottom: 50px;
  }
  .slide-dots li button::before {
    font-size: 1.4rem;
  }

  /* ------------------------------------------
  施設紹介
  ------------------------------------------ */
  #facilities .flex_box {
    width: 100%;
  }
  #facilities .flex_box figure {
    width: 80%;
    margin: 20px auto 50px;
  }
  #facilities table {
    margin: 0 auto;
  }
  #facilities figure {
    text-align: center;
  }

  /* ------------------------------------------
  使用例
  ------------------------------------------ */
  #example_of_use .plan_box {
    padding: 20px;
  }
  #example_of_use .plan_box table {
    width: 100%;
    margin-right: 0;
    margin-bottom: 20px;
  }
  #example_of_use .plan_box td {
    text-align: center;
  }
  #example_of_use .flex_box figure {
    width: 100%;
    text-align: center;
  }
  #example_of_use .flex_box .img1, #example_of_use .flex_box .img2 {
    width: 100%;
    height: auto;
  }
  #example_of_use .flex_box .img1 figure:first-of-type, #example_of_use .flex_box .img2 figure:first-of-type {
    margin-bottom: 20px;
  }
  #example_of_use .flex_box .img1 figure:nth-of-type(2) {
    position: static;
    top: auto;
    right: auto;
  }
  #example_of_use .flex_box .img2 figure:nth-of-type(2) {
    position: static;
  }

  /* ------------------------------------------
  備品・機材リスト
  ------------------------------------------ */
  #equipment .sp_none_tb {
    display: none;
  }
  #equipment table {
    border-bottom: 1px solid #8e7d50;
  }
  #equipment tr {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-wrap: wrap;
  }
  #equipment th, #equipment td {
    display: block;
    border-bottom: none;
  }
  #equipment th {
    width: 100%;
    text-align: center;
  }
  #equipment td {
    width: calc(100% / 2);
  }
  #equipment td:first-of-type {
    border-right: 1px solid #8e7d50;
  }
  #equipment td:nth-of-type(2) {
    border-left: none;
  }
  #equipment .bg_gray {
    padding: 20px 10px;
  }
  #equipment .bg_gray img {
    width: calc(100% / 2);
  }

  /* ------------------------------------------
  料金
  ------------------------------------------ */
  #price .tb1, #price .tb2, #price .tb3 {
    width: 100%;
  }
  #price .tb1 th, #price .tb1 td {
    padding: 5px 3px;
  }
  #price .tb1 td {
    width: auto;
  }
  #price .tb1 td, #price .tb2 td {
    text-align: center;
  }
  #price .tb3 th {
    width: calc(100% / 2);
    vertical-align: middle;
  }
  #price .event_tb {
    font-size: 11px;
  }

  /* ------------------------------------------
  利用規約
  ------------------------------------------ */
  #privacy_policy .text {
    overflow-y: scroll;
  }
  #privacy_policy .text::-webkit-scrollbar {
    width: 10px;
  }
  #privacy_policy .text::-webkit-scrollbar-thumb {
    background: #b6d268;
    border-radius: 10px;
  }
  #privacy_policy .text::-webkit-scrollbar-track-piece:start {
    background: #e6e6e6;
  }
  #privacy_policy .text::-webkit-scrollbar-track-piece:end {
    background: #e6e6e6;
  }

  /* ------------------------------------------
  利用規約
  ------------------------------------------ */
  #privacy_policy iframe {
    width: 100%;
    height: 100vw;
  }
  .cal_wrapper {
    margin: 2.0833% auto 50px;
  }

  /* ------------------------------------------
  お申し込み
  ------------------------------------------ */
  /* ------------------------------------------
  フッター
  ------------------------------------------ */
  footer .inner {
    padding: 20px 10px 0;
  }
  footer .footer_menu {
    padding: 20px 0;
  }
  footer .footer_menu ul {
    display: block;
  }
  footer .footer_menu li {
    display: block;
  }
}
@media screen and (max-width: 767px) {
  body, p, div, li {
    font-size: 1.4rem;
  }

  table th, table td {
    padding: 5px 10px;
  }

  h2 {
    font-size: 2.0rem;
    margin-bottom: 30px;
  }
  h2::after {
    width: 125px;
    height: 2px;
  }

  #price h3, #privacy_policy h3 {
    font-size: 1.8rem;
    letter-spacing: normal;
  }

  header .brown_box {
    font-size: 1.0rem;
  }
  header div.inner .tx_16 {
    font-size: 1.2rem;
  }
  header div.inner .contact_box div:nth-of-type(2) a p {
    font-size: 1.2rem;
  }

  .slider img {
    min-height: 160px;
  }

  #example_of_use h3 {
    font-size: 1.6rem;
    letter-spacing: normal;
  }

  #price .tb1 th, #price .tb1 td {
    padding: 5px 0;
  }

  #application {
    width: 60%;
    height: 60px;
    line-height: 60px;
    font-size: 1.5rem;
  }

  .calendar {
    padding-bottom: 100%;
  }

  footer figure {
    width: 150px;
    margin: 0 auto;
  }

  small {
    font-size: 1.0rem;
  }
}

/*# sourceMappingURL=sp.css.map */
