 @charset "utf-8";

 html {
   scroll-behavior: smooth;
 }

 .center {
   text-align: center;
 }

 /* ハンバーガーメニュー */
 .hamburger {
   display: none;
 }

 .sp_menu {
   display: none;
 }

 /* メインビジュアル*/
 .heroimg::after {
   content: "";
   position: absolute;
   bottom: 2px;
   left: 50%;
   transform: translateX(-50%);
   width: 961px;
   height: 2px;
   background: url(../img/common/topimgbg.png) no-repeat center bottom;
   z-index: 1;
   pointer-events: none;
   z-index: 100;
 }

 .inner {
   background: none;
   height: 552px;
   left: 50%;
   margin-left: -700px;
   position: absolute;
   width: 1400px;
 }

 /* バナースライダー */
 .slidebnrwrap {
   opacity: 0;
   animation: fadeIn 3s forwards;
 }

 @keyframes fadeIn {
   to {
     opacity: 1;
   }
 }

 .slidebnrbox.swiper {
   padding: 20px 40px 20px 30px;
   z-index: 500;
 }

 #carousel.swiper-wrapper {
   display: flex;
   flex-direction: row;
 }

 .swiper-slide {
   flex-shrink: 0;
 }

 .slidebnrwrap .prev {
   background: url(../img/home/bnr-prev.png);
   cursor: pointer;
   height: 108px;
   width: 19px;
   position: absolute;
   left: 0;
   top: 50%;
   margin-top: -54px;
   z-index: 600;
 }

 .slidebnrwrap .prev:after {
   display: none;
 }

 .slidebnrwrap .prev:hover {
   background-position: 0 -108px;
 }

 .slidebnrwrap .prev:active {
   background-position: 0 -108px;
 }

 .slidebnrwrap .next {
   background: url(../img/home/bnr-next.png);
   cursor: pointer;
   height: 108px;
   width: 19px;
   position: absolute;
   right: 0;
   top: 50%;
   margin-top: -54px;
   z-index: 600;
 }

 .slidebnrwrap .next:after {
   display: none;
 }

 .slidebnrwrap .next:hover {
   background-position: 0 -108px;
 }

 .slidebnrwrap .next:active {
   background-position: 0 -108px;
 }

 /* 区切り線非表示 */
 .gnav_hr {
   display: none;
 }

 /* 天気予報 */
 .weather-forecast {
   text-align: center;
   padding: 40px 0 0;
 }

 /* 枠 */
 .accordion-icon {
   display: none;
   /* PCでは非表示 */
 }

 .accordion-content {
   transition: max-height 0.4s ease, opacity 0.3s ease;
 }

 /* フッター */
 .groupcourse-wrapper {
   position: relative;
   margin: 0 20px;
   width: 900px;
   letter-spacing: -0.4em;
   box-sizing: border-box;
 }

 #groupcourse {
   position: relative;
   background-color: #212121;
   box-sizing: border-box;
   letter-spacing: -0.4em;
   margin: 0;
   padding: 20px 10px;
   width: 900px;
   border: 1px solid #fff;
 }

 #groupcourse img {
   width: 100%;
   height: auto;
   margin: 0;
 }

 .groupcourse-wrapper .prev2:after,
 .groupcourse-wrapper .next2:after {
   content: '' !important;
 }

 .groupcourse-wrapper .prev2:after {
   background: url(../img/common/gcourse-prev.png) 0 0;
   cursor: pointer;
   height: 40px;
   width: 20px;
   position: absolute;
   left: -10px;
   top: 50%;
   transform: translate(-50%, -50%);
 }

 .groupcourse-wrapper .prev2:hover:after {
   background-position: -20px 0;
 }

 .groupcourse-wrapper .prev2:active:after {
   background-position: -20px 0;
 }

 .groupcourse-wrapper .next2:after {
   background: url(../img/common/gcourse-next.png) 0 0;
   cursor: pointer;
   height: 40px;
   width: 20px;
   position: absolute;
   right: -30px;
   top: 50%;
   transform: translate(-50%, -50%);
 }

 .groupcourse-wrapper .next2:hover:after {
   background-position: -20px 0;
 }

 .groupcourse-wrapper .next2:active:after {
   background-position: -20px 0;
 }

 /* スマホ固定ボタン */
 .sp-fixed-buttons {
   display: none;
   position: fixed;
   bottom: 0;
   left: 0;
   width: 100%;
   z-index: 999;
   transform: translateY(100%);
   transition: transform 0.3s ease-in-out;
 }

 .sp-fixed-buttons.visible {
   transform: translateY(0);
 }

 /* 下層ぺージ */
 /* 予約 */
 ol.step {
   counter-reset: item;
   list-style-type: none;
   line-height: 1.7;
   padding: 0;
 }

 ol.step li {
   padding-left: 2.4em;
   border-bottom: 1px solid #ccc;
   padding-top: 0.5rem;
   padding-bottom: 0.5rem;
 }

 ol.step li:last-of-type {
   border-bottom: none;
 }

 ol.step li::before {
   counter-increment: item;
   content: counter(item)'.';
   padding-right: .7em;
   font-size: 1.5em;
   font-weight: bold;
   color: #5c4772;
 }

 .pointcon li {
   list-style-type: none;
   margin: 0;
 }

 /* お問い合わせ */
 .inquiry_box>p {
   margin-left: 0.5rem;
   margin-right: 0.5rem;
 }

 .complete {
   margin-top: 3rem;
 }

 .inquiry_text>p {
   margin-left: 0.5rem;
   margin-right: 0.5rem;
 }

 div.mfp_buttons button {
   padding: 0.5rem 1rem;
   font-size: 15px;
 }

 #inquiry .inquiry_box .table1 td {
   padding: 1rem;
 }

 #inquiry .table1 td input {
   width: 100% !important;
   box-sizing: border-box;
   border: solid 1px #999;
   border-radius: 3px;
   box-shadow: none;
   padding: 0.5rem 1rem;
   margin: 0;
 }

 #inquiry .table1 td input:nth-of-type(2) {
   margin-top: 0.5rem;
 }

 #inquiry .box_pri {
   padding: 1rem;
 }

 #inquiry .privacy_policy {
   padding: 0.5rem 0 0;
 }

 #inquiry .privacy_policy p {
   padding: 0.5rem 0 0;
 }

 form#mailformpro {
   padding: 0;
 }

 form#mailformpro label {
   margin: 0;
 }


 .mfp_element_all {
   max-width: 100%;
 }

 .box_con02 form table tr textarea {
   width: 100% !important;
   margin: 0;
   border-radius: 3px;
   box-shadow: none;
 }

 form#mailformpro label.mfp_not_checked {
   border: none;
   padding: 0;
 }

 form#mailformpro label.mfp_checked {
   padding: 0;
   border: none;
   background-color: transparent;
   box-shadow: none;
 }

 .mfp_element_submit {
   text-shadow: none;
 }

 .mfp_element_submit:hover {
   box-shadow: none;
   background: linear-gradient(to top, #EEE, #CCC);
 }

 .mfp_element_submit:active {
   box-shadow: none;
   background: linear-gradient(to top, #EEE, #CCC);
   transform: translateY(1px);
 }

 /* 最新情報 */
 .item .title {
   vertical-align: middle;
   position: relative;
 }

 /* 交通案内 */
 span {
   background: initial;
   border-radius: initial;
   font-size: initial;
   font-weight: normal;
   padding: initial;
   margin: initial;
 }

 span.red {
   font-weight: bold;
   font-size: 12px;
 }

 /* lean-slider  */
 .accordion div {
   box-sizing: border-box;
 }

 .slider-wrapper {
   height: auto;
 }

 /* 左右ボタン共通 */
 div.slider1-prev,
 div.slider1-next {
   display: block;
   position: absolute;
   top: 50%;
   width: 24px;
   height: 43px;
   transform: translateY(-50%);
   cursor: pointer;
   z-index: 10;
   opacity: 0.2;
   padding: 0;
 }

 /* 左矢印 */
 div.slider1-prev {
   left: 0;
   background: url(../img/course/arrow-prev.png) no-repeat left center;
 }

 /* 右矢印 */
 div.slider1-next {
   right: 0;
   background: url(../img/course/arrow-next.png) no-repeat right center;
 }

 /* ホバー */
 div.slider1-prev:hover,
 div.slider1-next:hover {
   opacity: 1;
 }

 /* タブレット・スマホ */
 @media screen and (max-width: 768px) {

   /*--- Reset ---*/
   body {
     font-size: 16px;
   }

   h2 {
     font-size: 1.8em;
   }

   /*--- Header ---*/
   header {
     height: auto;
     width: 100%;
   }

   .headrtop {
     height: auto;
   }

   header h1 {
     margin: 0;
   }

   header .logo a {
     margin-top: 0px;
     overflow: hidden;
     text-indent: 100%;
     width: auto;
     width: 100%;
     height: 100%;
     display: block;
     background-repeat: no-repeat;
     background-size: contain;
     background-position: center center;
     max-width: 275px;
   }

   /* ハンバーガーメニュー */
   .grid_header {
     display: flex;
     justify-content: space-between;
     align-items: center;
     padding: 0.5rem 1rem;
     align-items: stretch;
   }

   .hamburger {
     display: block;
     width: 48px;
     height: 48px;
     position: relative;
     cursor: pointer;
     background-color: #493759;
     transition: background-color 0.3s ease;
     z-index: 1100;
   }

   .hamburger:hover {
     background-color: #5c4772;
   }

   .hamburger:active {
     background-color: #5c4772;
   }

   .hamburger span {
     display: block;
     width: 32px;
     height: 3px;
     background: #fff;
     position: absolute;
     top: 0;
     left: 50%;
     transform: translateX(-50%);
     transition: all 0.4s cubic-bezier(0.3, 0, 0.2, 1);
   }

   .hamburger span:nth-child(1) {
     top: 8px;
   }

   #course .hamburger span:nth-child(1) {
     top: 10px;
   }

   .hamburger span:nth-child(2) {
     top: 20px;
   }

   #course .hamburger span:nth-child(2) {
     top: 22px;
   }


   .hamburger span:nth-child(3) {
     top: 32px;
   }

   #course .hamburger span:nth-child(3) {
     top: 34px;
   }


   /* 開いたときの変化 */
   .hamburger.active span:nth-child(1) {
     transform: translateX(-50%) rotate(45deg);
     top: 45%;
   }

   #course .hamburger.active span:nth-child(1) {
     transform: translateX(-50%) rotate(45deg);
     top: 45%;
   }

   .hamburger.active span:nth-child(2) {
     opacity: 0;
     transform: translateX(-50%) scale(0);
   }

   .hamburger.active span:nth-child(3) {
     transform: translateX(-50%) rotate(-45deg);
     top: 45%;
   }

   #course .hamburger.active span:nth-child(3) {
     transform: translateX(-50%) rotate(-45deg);
     top: 45%;
   }


   /* メニュー */
   .sp_menu {
     position: fixed;
     top: 0;
     right: -100%;
     width: 100%;
     height: 100vh;
     max-height: 100vh;
     overflow-y: auto;
     background: #3a284a;
     display: flex;
     align-items: center;
     justify-content: center;
     transition: right 0.6s cubic-bezier(0.4, 0, 0.2, 1),
       opacity 0.6s ease;
     opacity: 0;
     z-index: 1000;
   }

   .sp_menu ul {
     list-style: none;
     padding: 0;
     text-align: center;
     width: 100%;
     margin: 2.4rem 0;
   }

   .sp_menu li {
     width: 60%;
     border-bottom: #fff 1px solid;
     margin: 0 auto;
   }

   .sp_menu li:last-child {
     border: none;
   }

   .sp_menu a {
     padding: 1.2rem 0;
     color: #fff;
     text-decoration: none;
     transition: color 0.3s;
     display: inline-block;
     width: 100%;
     height: 100%;
   }

   .sp_menu span {
     font-family: "Georgia", "Times New Roman", Times, serif;
   }

   .sp_menu a:hover {
     color: #d6b6ff;
   }

   .sp_menu a:active {
     color: #d6b6ff;
   }

   /* 表示時 */
   .sp_menu.active {
     right: 0;
     opacity: 1;
   }

   /* ボディを固定してバックグラウンドのスクロールを防止 */
   .body-fixed {
     position: fixed;
     width: 100%;
     overflow: hidden;
   }

   /* PCメニュー非表示 */
   .subnav,
   .hd-rsrv,
   .pc-gnav {
     display: none;
   }

   /*--- Common ---*/
   p {
     margin: 0 auto;
   }

   /*--- Top Img Slide ---*/
   .heroimg {
     background: url(../img/home/slideboxbg.png) repeat-x 0 0;
     margin: 0 auto;
     overflow: hidden;
     position: relative;
     width: 100%;
   }

   .inner {
     position: relative;
     left: auto;
     margin-left: auto;
     width: 100%;
     height: 100%;
   }

   #slide {
     width: 100%;
     height: 100%;
   }

   #slide .swiper-slide img {
     width: 100%;
     height: 100%;
     object-fit: cover;
     display: block;
   }

   /*--- Slide Banner ---*/
   .gnav_hr {
     display: block;
     margin: 0.5rem 0;
     width: 100%;
   }

   .gnav_hr img {
     width: 100%;
     height: 2px;
   }

   .slidebnrwrap {
     width: 100%;
     z-index: 100;
   }

   .slidebnrbox.swiper {
     background-color: #212121;
     margin: 0 auto;
     padding: 2rem 1rem 1rem;
     z-index: 1;
     overflow: visible;
     height: auto;
   }

   #carousel.swiper-wrapper {
     display: flex;
     flex-direction: row;
     width: 100%;
     height: auto;
     flex-wrap: wrap;
     justify-content: space-between;
   }

   #carousel.swiper-wrapper .swiper-slide {
     width: 48% !important;
     margin-right: 0 !important;
   }

   #carousel.swiper-wrapper .swiper-slide a {
     display: block;
     width: 100%;
     margin: 0 auto;
     margin-bottom: 1rem;
     float: none;
   }

   #carousel.swiper-wrapper .swiper-slide a img {
     width: 100%;
     height: auto;
     margin: 0;
     padding: 0;
   }

   .sp_none {
     display: none;
   }

   /* 最新情報、料金・オンライン予約、クラブ概要非表示 */
   .swiper-slide.sp_none {
     display: none;
   }

   /* 前へ・次へボタンを非表示 */
   .slidebnrwrap .prev {
     display: none;
   }

   .slidebnrwrap .next {
     display: none;
   }

   /* 天気予報 */
   .weather-forecast {
     padding: 2rem 1rem 0;
   }

   .weather-forecast p {
     overflow: visible;
   }

   .weather-forecast a {
     display: block;
     width: 100%;
     height: 100%;
   }

   .weather-forecast img {
     width: 100%;
     height: auto;
     display: block;
     max-width: 480px;
     margin: 0 auto;
   }

   /* グリッド */
   body {
     width: 100%;
     min-width: 100%;
   }

   /* Container
------------------------------------------------------
index.html
.main-container_16
｜-.grid_12（1番目）
｜    ｜--.grid_8.omega（2番目）
｜    ｜--.grid_4.alpha（3番目）
｜-.grid_4.side（4番目）
｜-.bnrs（5番目）

下層
.main-container_16
｜-.grid_12（1番目）
｜-.grid_4.side（2番目）
----------------------------------------------*/
   .container_16 {
     margin-left: auto;
     margin-right: auto;
     width: 100%;
   }

   .main-container_16 {
     display: flex;
     flex-direction: column;
   }

   .grid_12 {
     display: flex;
     flex-direction: column;
     order: 1;
     /* 1番目に表示 */
   }

   .grid_8.omega {
     order: 1;
     /* grid_12の中で1番目 */
   }

   .grid_4.alpha {
     order: 2;
     /* grid_12の中で2番目 */
   }

   .grid_4.side {
     order: 2;
     /* container_16の中で2番目に表示 */
   }

   .bnrs {
     order: 3;
     /* container_16の中で3番目に表示 */
   }

   /*--- Main Contents ---*/
   .contents {
     box-sizing: border-box;
     width: 100%;
     margin: 0 auto;
     padding: 2rem 1rem;
   }

   /* Grid >> Global
----------------------------------------------------------------------------------------------------*/
   .grid_1,
   .grid_2,
   .grid_3,
   .grid_4,
   .grid_5,
   .grid_6,
   .grid_7,
   .grid_8,
   .grid_9,
   .grid_10,
   .grid_11,
   .grid_12,
   .grid_13,
   .grid_14,
   .grid_15,
   .grid_16 {
     margin: 0 auto;
   }

   /* Grid >> 16 Columns
----------------------------------------------------------------------------------------------------*/
   .container_16 .grid_1,
   .container_16 .grid_2,
   .container_16 .grid_3,
   .container_16 .grid_4,
   .container_16 .grid_5,
   .container_16 .grid_6,
   .container_16 .grid_7,
   .container_16 .grid_8,
   .container_16 .grid_9,
   .container_16 .grid_10,
   .container_16 .grid_11,
   .container_16 .grid_12,
   .container_16 .grid_13,
   .container_16 .grid_14,
   .container_16 .grid_15,
   .container_16 .grid_16 {
     width: 100%;
     margin: 0 auto;
     box-sizing: border-box;
   }

   /* ----------------------------------------------------------------------------------------------------*/
   /* 1番目おしらせ枠 */
   #osirase_waku {
     max-width: 480px;
     margin: 0 auto;
   }

   .waku {
     padding: 0.5rem;
   }

   .waku p {
     margin: 0;
   }

   .waku p.title {
     cursor: pointer;
     position: relative;
     padding-right: 3rem;
     min-height: 3rem;
     display: flex;
     justify-content: center;
     align-items: center;
     user-select: none;
     margin: 0;
   }

   .accordion-icon {
     display: inline;
     position: absolute;
     right: 0.5rem;
     top: 50%;
     transform: translateY(-50%);
     font-size: 1.8em;
     line-height: 1;
     transition: transform 0.3s ease;
     color: #3a284a;
     font-weight: bold;
   }

   .accordion-content {
     max-height: 0;
     opacity: 0;
     overflow: hidden;
   }

   .accordion-inner {
     padding-top: 1em;
   }

   .accordion-content.open {
     max-height: 10000px;
     opacity: 1;
   }

   span.red {
     font-size: 16px;
   }

   /* 2番目スタッフブログ 最新情報*/
   .contents .news {
     max-width: 480px;
     margin: 0 auto;
     margin-bottom: 2rem;
     margin-top: 2rem;
   }

   .contents .staffblog h3,
   .contents .news h3 {
     font-size: 16px;
     font-weight: normal;
     text-align: left;
   }

   .contents .news dt {
     clear: left;
     float: left;
     width: 100%;
   }

   .contents .news dd h3.info {
     background: url(../img/home/news-tag-info.png) no-repeat 0 5px;
   }

   .contents .news dd h3.compe {
     background: url(../img/home/news-tag-compe.png) no-repeat no-repeat 0 5px;
   }

   .contents .news dd h3.offer {
     background: url(../img/home/news-tag-offer.png) no-repeat no-repeat 0 5px;
   }

   .contents .news dd {
     width: 100%;
   }

   .contents .staffblog {
     margin-bottom: 2rem;
     max-width: 480px;
     margin: 0 auto;
   }

   .contents .staffblog .blog-link p {
     text-indent: 0%;
   }

   .contents .staffblog .blog-link a {
     background: none;
     display: block;
     height: auto;
     width: auto;
     border: none;
     padding: 0;
     margin: 0;
     font: inherit;
     cursor: pointer;
     outline: none;
     margin-left: auto;
     background-color: #493759;
     color: #fff;
     padding: 0.2em 0.5em;
     border-radius: 5px;
     text-decoration: none;
   }

   .contents .staffblog .blog-link a:hover,
   .contents .staffblog .blog-link a:active {
     background-position: 0 0 !important;
     background: #493759;
   }

   /* 東武沿線おでかけ情報 (お天気非表示)*/
   .grid_4.alpha .bn {
     box-sizing: border-box;
     width: 100%;
     max-width: 480px;
     padding: 2rem 10px;
     margin: 0 auto;
   }

   .grid_4.alpha .bn img {
     width: 100%;
     height: auto;
   }

   /*---3番目 Side ---*/
   .side .rsrvbox {
     box-sizing: border-box;
     margin: 0 auto;
     padding: 10px;
     font-size: 16px;
     box-sizing: border-box;
     width: 100%;
     max-width: 480px;
     margin: 1rem auto;
   }

   .side .rsrvbox .title {
     padding-right: 0;
     width: 100%;
     height: 100%;
     display: block;
     cursor: pointer;
     position: relative;
     min-height: 3rem;
     display: flex;
     justify-content: center;
     align-items: center;
     user-select: none;
     margin: 0;
     background: linear-gradient(0deg, rgb(49 36 63) 0%, rgb(141 121 160) 100%);
   }

   .side .rsrvbox h2 img {
     width: 100%;
     height: 100%;
     object-fit: contain;
   }

   .side .rsrvbox .accordion-icon {
     right: 10px;
     top: 50%;
     transform: translateY(-50%);
     font-size: 1.8rem;
     color: #fff;
     font-weight: bold;
   }

   .side .rsrvbox .accordion-inner {
     padding: 0;
   }

   .accordion-inner .p10 {
     margin: 0 auto;
     text-align: center;
     padding: 1rem 0.5rem 0;
   }

   .accordion-inner .p10:last-of-type {
     padding-bottom: 1rem;
   }

   .side .rsrvbox .accordion-inner img {
     width: 100%;
     height: auto;
     max-width: 300px;
   }

   .side .rsrvbox .accordion-inner img.arrow {
     width: 7px;
     height: 7px;
   }

   .side .rsrvbox .rsrvbtn,
   .side .rsrvbox .rgstbtn {
     margin-left: 0;
     width: 100%;
     height: auto;
     box-sizing: border-box;
     padding: 1rem 0.5rem;
     text-align: center;
   }

   .side .rsrvbox .rsrvbtn a {
     display: block;
     width: 100%;
     height: 100%;
   }

   .side .rsrvbox .rgstbtn a {
     width: 100%;
     height: 100%;
   }

   .side .courseinfo {
     padding: 10px;
     box-sizing: border-box;
     width: 100%;
     max-width: 480px;
     margin: 1rem auto;
     font-size: 16px;
     box-sizing: border-box;
   }

   .side .courseinfo .courseinner {
     background: #f6f6f6;
     padding: 10px;
   }

   .side .courseinfo .courseinner h2 {
     height: auto;
   }

   .side .courseinfo h2 img {
     width: 100%;
     height: 100%;
   }

   .side .courseinfo .title {
     padding-right: 0;
     cursor: pointer;
     position: relative;
     padding-right: 2rem;
     min-height: 3rem;
     display: flex;
     justify-content: center;
     align-items: center;
     user-select: none;
     margin: 0;
   }

   .side .courseinfo .accordion-icon {
     right: 0%;
     top: 50%;
     transform: translateY(-50%);
     font-size: 2.1rem;
     color: #3a284a;
     font-weight: bold;
   }

   .side .courseinfo .accordion-inner {
     padding: 0;
     max-width: 300px;
     margin: 0 auto;
     padding-bottom: 1rem;
   }

   /* 4番目 友の会ボタン */
   .bnrs {
     margin: 0 auto;
     margin-top: 1rem;
     width: 100%;
   }

   .bnrs img {
     width: 100%;
     height: auto;
   }

   /*--- Footer ---*/
   .topbtn {
     border-bottom: none;
     margin: 0;
   }

   .topbtn img {
     width: 7%;
     max-width: 42px;
     height: auto;
     margin-bottom: 0;
   }

   footer {
     box-sizing: border-box;
     width: 100%;
     margin: 0 auto;
     padding: 2rem 1rem 0;
   }

   footer img.gtitle {
     width: auto;
     height: auto;
     margin: 0;
     margin-bottom: 1rem;
     margin-left: 10px;
     max-width: 100%;
   }

   .groupcourse-wrapper {
     margin: 0;
     width: 100%;
   }

   #groupcourse {
     padding: 1rem;
     margin: 0 10px;
     width: calc(100% - 20px);
     overflow: hidden;
   }

   #groupcourse ul, #group ul {
     margin: 0;
     padding: 0;
   }

   .groupcourse-wrapper .prev2:after {
     left: 0;
   }

   .groupcourse-wrapper .prev2:active:after {
     background-position: -20px 0;
   }

   .groupcourse-wrapper .next2:after {
     right: -20px;
   }

   .groupcourse-wrapper .next2:active:after {
     background-position: -20px 0;
   }

   footer .line {
     margin: 2rem 0 1rem;
     width: 100%;
   }

   #group ul {
     display: flex;
     flex-wrap: wrap;
     row-gap: 16px;
     column-gap: 2%;
   }

   #group li {
     margin: 0;
     width: 49%;
   }

   #group li img {
     width: 100%;
     height: auto;
     object-fit: cover;
   }

   #footernav {
     padding: 2rem 0;
     margin: 1rem 0 0;
   }

   #footernav .container_16 {
     display: flex;
     flex-wrap: wrap;
   }

   #footernav .grid_4 {
     min-width: auto;
     width: 50%;
     padding: 0 0 0 0.5rem;
   }

   #footernav .grid_4:last-child {
     background: url(../img/common/footernav-line.png) repeat-y top left;
   }

   #footernav ul {
     margin: 0;
     padding: 0;
   }

   #footernav ul li {
     line-height: 1.8em;
     list-style-image: url(../img/common/arrow1.png);
     list-style-position: inside;
     margin-bottom: 1rem;
   }

   #footernav ul li ul li {
     list-style: none;
     margin-bottom: 0;
     margin-left: 1rem;
   }

   #footerbottom {
     background: #000;
     height: auto;
   }

   #footerbottom .container_16 {
     box-sizing: content-box;
     position: relative;
     padding: 0.5rem 0;
   }

   #footerbottom .grid_6 {
     display: table-cell;
     text-align: right;
   }

   #footerbottom .grid_6-2 {
     width: 100% !important;
   }

   #footerbottom .copyright {
     width: 100% !important;
     margin-bottom: 60px;
   }

   #footerbottom .copyright p {
     text-align: left;
     font-size: 14px;
     margin-top: 1rem;
   }

   .grid_3 input {
     width: 140px;
     max-width: 100%;
     height: auto;
   }

   /* スマホ固定ボタン */
   .sp-fixed-buttons {
     display: flex;
     gap: 1%;
     padding: 0 0.5rem;
     box-sizing: border-box;
   }

   .sp-fixed-button {
     flex: 1;
     text-align: center;
     padding: 0.7rem 0.5rem 0.5rem 0.5rem;
     display: flex;
     align-items: center;
     justify-content: center;
     width: 49.5%;
     text-decoration: none;
   }

   .sp-fixed-button.tel,
   .sp-fixed-button.reservation {
     background-color: #dac8e9f1;
     border-radius: 4px 4px 0 0;
     box-shadow: 0 -2px 5px rgba(0, 0, 0, 0.1);
   }

   .sp-fixed-button img {
     margin-right: 10px;
     width: 15%;
     height: auto;
     max-width: 30px;
   }

   .sp-fixed-button.tel img {
     width: 20%;
     max-width: 40px;
   }

   .sp-fixed-button:hover img {
     background: none;
   }

   .sp-fixed-button:active img {
     background: none;
   }

   .sp-fixed-button a {
     text-decoration: none;
   }

   .sp-fixed-button span {
     font-weight: bold;
     font-size: 15px;
     color: #3a284a;
     text-align: left;
     line-height: 1.3;
     text-decoration: none;
     text-align: center;
     display: flex;
     flex-direction: column;
   }

   .sp-fixed-button span small {
     font-size: 12px;
   }

   /* 下層ぺージ */
   /* 総合 */
   .mt05 {
     margin-top: 0.5rem;
   }

   /* テーブル */
   .table-area {
     position: relative;
   }

   .maincontents .table-area:first-of-type {
     margin-bottom: 2rem;
   }

   .table-wrapper {
     position: relative;
     overflow-x: auto;
     overflow-y: hidden;
     -webkit-overflow-scrolling: touch;
   }

   .table-scroll-fade {
     position: fixed;
     right: 0;
     width: 40px;
     background: linear-gradient(to left, rgb(255, 251, 251) 20%, rgba(255, 255, 255, 0) 75%);
     pointer-events: none;
     z-index: 99;
     transition: opacity 0.25s ease;
     opacity: 1;
     display: none;
   }

   .table-scroll-fade.hidden {
     opacity: 0;
     pointer-events: none;
   }

   .table-wrapper table {
     min-width: 480px;
   }

   .table1 {
     margin-top: 0;
     margin-bottom: 0;
     width: 100%;
   }

   .table1 td {
     padding: 0.5rem;
   }

   .table1 td, .table1 th {
     padding: 1rem 0.5rem;
     line-height: 1.5;
     vertical-align: middle;
     font-size: 15px;
   }

   .tablew700 {
     width: 100%;
   }

   .tablew500 {
     width: 100%;
   }

   .tablew680 {
     width: 100%;
   }

   .tablew260 {
     width: 100%;
   }

   .scroll-hint {
     padding-top: 0.5rem;
     font-size: 13px;
     color: #493759;
     pointer-events: none;
     z-index: 10;
     display: none;
   }

   .table-wrapper::-webkit-scrollbar {
     height: 8px;
   }

   .table-wrapper::-webkit-scrollbar-track {
     background: #f1f1f1;
     border-radius: 10px;
   }

   .table-wrapper::-webkit-scrollbar-thumb {
     background: #493759;
     border-radius: 10px;
   }

   .scroll-hint::before {
     content: '→';
     margin-right: 5px;
     animation: slideRight 1.5s ease-in-out infinite;
   }

   .scroll-hint.scrolled {
     opacity: 0.2;
   }

   @keyframes slideRight {
     0%, 100% {
       transform: translateX(0);
     }

     50% {
       transform: translateX(5px);
     }
   }

   .table-wrapper {
     scrollbar-color: #493759 #f1f1f1;
     scrollbar-width: thin;
   }

   /* ヒーローイメージ */
   .u-inner {
     left: 0;
     margin-left: 0;
     top: 0;
   }

   .u-inner img {
     transform: translateX(-15%);
   }

   .privacypolicy .u-inner img {
     transform: translateX(-40%) scale(0.8);
   }

   /* パンくずリスト */
   .contents .breadcrumb {
     font-size: 13px;
   }

   /* 下層見出し */
   .contents h2.headding {
     padding: 0.5rem 1rem;
     margin: 1rem 0;
     font-size: 1.2em;
   }

   .contents h2.headding:before {
     top: -3px;
     width: 100%;
   }

   h3 {
     font-size: 16px;
     padding: 0.5rem;
   }

   .container_16 .grid_12.maincontents {
     margin-bottom: 3rem;
   }

   .maincontents .innerbox {
     margin: 0;
     width: 100%;
   }

   .innerbox>p {
     margin-left: 0.5rem;
     margin-right: 0.5rem;
   }

   .pagetop {
     text-align: right;
     margin: 20px 0;
   }

   /* トップにもどる */
   .pagetopt p {
     background: url(../img/common/pagetop.png) no-repeat left center;
     font-size: 13px;
     margin: 1rem 0;
     padding: 0 0.5rem 0 1rem;
   }

   /* Container
------------------------------------------------------
下層
.main-container_16
｜-.grid_12（1番目）
｜-.grid_4.side（2番目）
----------------------------------------------*
   /*--- Side ---*/
   .side .sidenav {
     margin-bottom: 1rem;
     width: 100%;
   }

   .side .sidenav h2 {
     background: #000 url(../img/common/sidehbg.png) no-repeat;
     background-size: cover;
     background-position: center bottom;
     padding: 0.5rem 1rem;
     font-size: 1.1rem;
     line-height: 1.6;
   }

   .side .sidenav ul {
     display: flex;
     flex-wrap: wrap;
     margin: 2px;
   }

   .side .sidenav ul li {
     margin: 0;
     width: 50%;
     text-align: center;
     box-sizing: border-box;
   }

   .side .sidenav ul li.border_right {
     border-right: 1px solid #ccc;
   }

   .side .sidenav ul li.border_bottom {
     border-right: 1px solid #ccc;
   }


   .side .sidenav ul li.border_none {
     border-bottom: none;
   }

   .side .sidenav ul li a {
     padding-left: 0;
     line-height: 1.6;
     padding: 0.5rem 1rem;
   }

   .side .sidenav ul li a:active {
     background: #dedbe1;
   }

   .side .sidenav ul li.active {
     background: #f6f6f6;
     font-weight: normal;
   }

   .side_flex {
     display: flex;
     flex-wrap: wrap;
     gap: 2%;
     align-items: flex-start;
   }

   .side .side_flex .rsrvbox {
     width: 49%;
     margin-bottom: 0;
     min-height: 90px;
     margin-top: 0;
   }

   .side .side_flex .courseinfo {
     width: 49%;
     margin-bottom: 0;
     margin-top: 0;
   }

   .side .side_flex .rsrvbox .title {
     min-height: 68px;
     background: #5C4772;
     background: linear-gradient(0deg, rgb(49 36 63) 0%, rgb(141 121 160) 100%);
   }

   .side .side_flex .rsrvbox h2 img {
     height: 100%;
     object-fit: cover;
     max-width: 260px;
   }

   .mgt_section {
     padding-top: 1rem;
   }

   .side .courseinfo .courseinner .detailbtn {
     margin: 0;
     margin-left: 0.5rem;
   }

   /* 予約 */
   #feeandrsrv>p,
   #rgstflow>p,
   #rsrvflow>p,
   #benefit>P {
     margin-left: 0.5rem;
     margin-right: 0.5rem;
   }

   .linkbox {
     margin: 1rem 0 2rem;
     padding: 1rem;
     width: 100%;
   }

   .linkbox p {
     margin-bottom: 1rem;
   }

   .rsrvlink,
   .rgstlink {
     width: 100%;
   }

   .rsrvlink {
     border-right: none;
     padding-right: 0;
     border-bottom: 1px solid #ccc;
     padding-bottom: 1rem;
   }

   .rgstlink {
     padding-left: 0;
     padding-top: 1rem;
   }

   .rsrvlink a {
     width: 80%;
     max-width: 480px;
     height: auto;
   }

   .rgstlink a {
     width: 80%;
     max-width: 480px;
     height: auto;
   }

   .rsrvlink a img,
   .rgstlink a img {
     width: 100%;
     height: 100%;
     max-width: 300px;
   }

   .rsrvlink p,
   .rgstlink p {
     height: auto;
   }

   .mobiletit {
     font-size: 1.1em;
     padding: 0.5rem 1rem;
   }

   .mobileqr {
     padding: 1rem 0 0 1rem;
     width: 20%;
     max-width: 200px;
     min-width: 148px;
   }

   .mobileqr img {
     width: 100%;
     height: 100%;
   }

   .mobilecon {
     padding: 1rem 1rem 2rem;
     box-sizing: border-box;
     margin: 0 auto;
     width: 100%;
   }

   .whatcan li {
     list-style-position: inside;
     margin: 0 1rem 0 0;
   }

   .mobilecon .other {
     margin-top: 1rem;
     list-style-position: inside;
   }

   .mobilecon .other li {
     margin: 0;
   }

   .mobile p.url a {
     box-sizing: border-box;
     padding: 1rem;
     width: 80%;
     max-width: 480px;
     float: none;
     margin: 0 auto;
     margin-top: 1rem;
   }

   .mobile p.url a:hover {
     box-sizing: border-box;
     padding: 1rem;
     width: 80%;
     max-width: 480px;
     float: none;
     margin: 0 auto;
     margin-top: 1rem;
     width: 100%;
   }

   .mobile p.url a:active {
     background-color: #fff;
   }

   .step {
     margin: 0;
     margin-top: 0.5rem;
   }

   ol.step {
     border-radius: 3px;
     box-shadow: 0 1px 2px #b2aca6;
     counter-reset: item;
     list-style-type: none;
     line-height: 1.7;
     padding: 0;
   }

   ol.step li {
     padding-left: 1rem;
     padding-right: 1rem;
   }

   ol.step li::before {
     padding-right: 0.5rem;
   }

   .pointcon {
     margin: 0;
   }

   .pointcon p {
     margin-left: 0.5rem;
     margin-right: 0.5rem;
   }

   .pointcon p.tokuten {
     height: auto;
     margin-left: 0;
     margin-right: 0;
     margin: 2rem 0 0.5rem;
     box-sizing: border-box;
     line-height: 1.6;
     min-height: 41px;
     display: flex;
     align-items: flex-end;
   }

   .pointcon li {
     margin: 0;
     list-style-position: inside;
     margin-left: 0.5rem;
     margin-right: 0.5rem;
   }

   .toku-point {
     margin-top: 0.5rem;
     padding: 1rem;
   }

   .toku-point .example {
     margin-bottom: 1rem;
   }

   .toku-point .example2 {
     font-size: 1.3em;
     margin-bottom: 1rem;
   }

   .pointlist {
     margin: 0;
     margin-top: 2rem;
   }

   /* コース */
   .mapimg {
     width: 100%;
     padding: 0;
   }

   .mapimg img {
     margin-left: 0px;
     max-width: 100%;
     height: auto;
   }

   .course_flex {
     display: flex;
     gap: 2%;
     width: 100%;
     margin: 1rem 0 0.5rem;
   }

   .outinlink a {
     width: 100%;
     float: none;
     box-sizing: border-box;
   }

   .outinlink a:active {
     background-color: #007F52;
     background-image: linear-gradient(to bottom, #007F52, #00A65A);
     color: #fff;
   }

   .incourse {
     float: none;
     margin: 0;
     width: 49%;
   }

   .outcourse {
     float: none;
     margin: 0;
     width: 49%;
   }

   .hole_flex {
     width: 100%;
     display: flex;
     justify-content: space-between;
     margin-top: 1rem;
   }

   .fleft {
     width: 49%;
     padding-left: 30px !important;
   }

   .info-rightbox {
     width: 49%;
     padding-right: 30px !important;
   }

   .fleft img,
   .info-rightbox img {
     width: 100%;
     height: auto;
     object-fit: contain;
     box-sizing: border-box;
   }

   .tips {
     width: 100%;
     margin: 1rem 0;
     padding: 1rem 0.5rem;
   }

   .hole {
     font-size: 16px;
   }

   .par, .hc {
     margin-left: 5px;
     border: 2px solid #eee;
   }

   .par {
     width: auto;
   }

   .hc {
     width: auto;
     min-width: 6rem;
   }

   .npdc {
     margin-left: 5px;
   }

   /* アコーディオン */
   .accordion {
     margin: 0;
   }

   .accordion section h3 {
     margin-bottom: 0.5rem;
     padding: 1rem;
     padding-right: 40px;
   }

   .accordion section h3:active {
     box-shadow: 0px 1px 1px -1px rgba(204, 204, 204, 0.5);
     background: #f6f6f6;
   }

   .accordion section h3:last-of-type {
     margin: 0;
   }

   .accordion div {
     padding: 0;
   }

   /* lean-slider  */
   .accordion div.slider-wrapper {
     position: relative;
     margin: 2rem auto;
     max-width: 500px;
     padding: 0 2rem;
   }

   .slide1, .slide2 {
     width: 100%;
     height: auto;
     text-align: center;
   }

   .slide1 img, .slide2 img {
     width: 100%;
     height: auto;
     box-sizing: border-box;
   }

   #course div.pagetopt {
     padding: 0 !important;
   }

   /* 最新情報 */
   #newsitems .item {
     margin: 0 0 2rem;
     padding-bottom: 1rem;
   }

   #newsitems .item:last-of-type {
     margin: 0;
   }

   .item p {
     padding: 0;
     margin: 0;
   }

   .item p.date {
     font-size: 14px;
     margin-bottom: 0.5rem;
   }

   .item .title {
     font-size: 17px;
     margin-right: 0;
     padding: 0;
   }

   .item .title.new:after {
     vertical-align: middle;
   }

   .item dd {
     padding: 1rem 0.5rem;
     padding-bottom: 0;
   }

   .item p img {
     width: 100%;
     height: auto;
     padding: 0 0.5rem;
     box-sizing: border-box;
   }

   .item p.fee_list img {
     padding-bottom: 0.5rem;
   }

   .topics.item dd.headding {
     padding-bottom: 1rem;
     padding-right: 1rem;
     padding-left: 1rem;
   }

   .topics.item dd.headding2 {
     padding-bottom: 1rem;
     padding-right: 1rem;
     padding-left: 1rem;
   }

   .topics dd.headding:before {
     text-align: center;
     vertical-align: middle;
     font-size: 14px;
     width: 5rem;
   }

   .topics dd.headding2:before {
     text-align: center;
     vertical-align: middle;
     font-size: 14px;
     width: 5rem;
   }

   .event dd.headding:before {
     text-align: center;
     vertical-align: middle;
     font-size: 14px;
     width: 5rem;
   }

   .toku dd.headding:before {
     text-align: center;
     vertical-align: middle;
     font-size: 14px;
     width: 5rem;
   }

   .new:after {
     font-size: 12px;
   }

   .item p.sheadding {
     font-size: 16px;
     padding: 0.5rem !important;
     margin-bottom: 0.5rem;

   }

   .item table {
     margin-bottom: 2rem;
     margin-left: 0.5rem;
     margin-right: 0.5rem;
     width: calc(100% - 1rem);
   }

   .item p.fee_list {
     box-sizing: border-box;
     margin-left: 0.5rem;
     margin-right: 0.5rem;
     width: calc(100% - 1rem);
     padding: 0;
   }

   .item p.fee_caption {
     margin: 0;
     margin-top: 2rem;
     padding: 0 0.5rem;
   }

   .pagetopt p {
     padding: 0 0.5rem 0 1rem;
     margin: 1rem 0
   }


   /* 施設案内 */
   ul.column2 {
     margin-bottom: 2rem;
     display: flex;
     flex-wrap: wrap;
     column-gap: 2%;
     row-gap: 16px;
   }

   ul.column2:last-of-type {
     margin-bottom: 0;
   }

   ul.column2 li {
     margin: 0;
     width: 49%;
   }

   ul.column2 li:after {
     display: none;
   }

   ul.column2 li:nth-child(odd) {
     margin: 0;
   }

   ul.column2 li dl {
     width: 100%;
     height: 100%;
   }

   ul.column2 li dl img {
     width: 100%;
     height: auto;
   }

   #facility .side .side_flex .rsrvbox {
     margin-top: 0;
   }

   #facility .side .side_flex .courseinfo {
     margin-top: 0;
   }

   ul.column2 li dt {
     margin-bottom: 1rem;
   }

   .facility_wrapper section {
     padding-bottom: 1rem;
   }

   .facility_wrapper section:last-of-type {
     padding-bottom: 0;
   }

   /* レストラン */
   #restaurant .maincontents p {
     margin-top: 0;
     box-sizing: border-box;
     padding-left: 0.5rem;
     padding-right: 0.5rem;
     padding-bottom: 0.5rem;
   }

   #restaurant .maincontents h3 {
     font-size: 17px;
     margin: 0;
     margin-top: 3rem;
     padding-left: 0;
     padding-top: 0;
   }

   #restaurant .maincontents h3:first-of-type {
     margin-top: 0;
   }

   #restaurant .maincontents #drink h3:first-of-type {
     margin-top: 0;
   }

   #restaurant .maincontents h4 {
     margin: 0 0 0.5rem;
     padding-top: 2rem;
     font-size: 16px;
   }

   #restaurant .maincontents #lunch h4 {
     margin: 0 0.5rem 0.5rem;
     padding-top: 0rem;
     font-size: 16px;
   }

   #restaurant ul.column2 {
     margin-bottom: 0;
   }

   #restaurant ul.column2 li dl dt p.new {
     font-size: 12px;
     padding-top: 0.5rem;
   }

   #restaurant ul.column3 li dl dt p.tencho {
     font-size: 12px;
     padding-top: 0.5rem;
   }

   ul.column2 li dd.menuname {
     margin-bottom: 1rem;
     margin-left: 0.5rem;
     margin-right: 0.5rem;
     font-size: 16px;
   }

   ul.column2 li dd.price {
     margin-bottom: 0;
     margin-left: 0.5rem;
     margin-right: 0.5rem;
   }

   ul.column2 li dd.other {
     padding: 0.5rem;
     font-size: 14px;
     margin: 0;
   }

   #party ul.column2 li dd.menuname {
     margin-top: 1rem;
     margin-bottom: 0;
   }

   #party ul.column2 li dt {
     margin-bottom: 0;
   }

   #party ul.column2 li dd.other2 {
     padding: 0.5rem;
     font-size: 14px;
     margin: 0;
     margin-top: 1rem;
   }

   /*おすすめメニュー用CSS*/
   ul.column3 {
     display: flex;
     flex-direction: column;
     row-gap: 16px;
   }

   ul.column3 li {
     width: 100%;
     margin-bottom: 0;
   }

   ul.column3 li:after {
     display: none;
   }

   ul.column3 li:nth-child(odd) {
     margin-right: 0;
   }

   ul.column3 li dl {
     width: 100%;
     height: 100%;
     display: grid;
     grid-template-columns: 60% 40%;
   }

   ul.column3 li dt {
     grid-column: 1;
     grid-row: 1 / span 99;
     margin-bottom: 1rem;
   }

   ul.column3 li dd {
     margin: 0;
     grid-column: 2;
     margin: 0;
   }

   ul.column3 li dl img {
     width: 100%;
     height: auto;
   }

   ul.column3 li dd.menuname {
     font-size: 15px;
     width: 100%;
     padding-left: 0.5rem;
     padding-right: 0.5rem;
     box-sizing: border-box;
     margin-bottom: 1rem;
   }

   #restaurant .maincontents dd.menuname p {
     padding: 0;
     font-size: 16px;
   }

   ul.column3 li dd.price {
     margin-left: 0.5rem;
     margin-right: 0.5rem;
     margin-bottom: 0;
   }

   ul.column3 li dd.other {
     margin: 0;
     margin-left: 0.5rem;
     width: auto;
     font-size: 14px;
     padding: 0.5rem;
   }

   /*おすすめ用CSS*/
   ul.textmenu,
   ul.morningmenu {
     margin: 0;
     padding: 0;
     display: flex;
     row-gap: 10px;
     column-gap: 6%;
     flex-wrap: wrap;
   }

   ul.textmenu li {
     width: 47%;
     padding: 0;
     margin: 0;
   }

   ul.textmenu li:nth-child(odd),
   ul.morningmenu li:nth-child(odd) {
     margin-right: 0;
   }

   ul.textmenu li dl {
     width: 100%;
     display: flex;
     flex-wrap: wrap;
     justify-content: space-between;
     padding: 1rem 0.5rem;
     box-sizing: border-box;
     font-size: 14px;
   }

   ul.textmenu li dt {
     width: calc(100% - 5rem);
     height: auto;
   }

   ul.textmenu li dd {
     width: 5rem;
     margin: 0;
   }

   .party-bottom-wrapper {
     padding: 0;
     padding-top: 16px;
   }

   .party-drink {
     width: 100%;
     margin: 0;
     padding: 1rem;
     margin-bottom: 16px;
   }

   #restaurant .party-drink p {
     margin: 0;
     padding: 0;
   }

   #restaurant .party-drink-menu {
     color: #6D7B6F;
   }

   #restaurant p.party-bottom {
     width: 100%;
     box-sizing: border-box;
     padding: 0;
     padding-left: 0.5rem;
     padding-right: 0.5rem;
   }

   /* 目立つメニュー用 */
   ul.column1 {
     border-spacing: 0;
   }

   ul.column1 li {
     width: 100%;
     margin-bottom: 16px;
   }

   ul.column1 li:nth-child(odd) {
     margin-right: 0;
   }

   ul.column1 li dl img {
     width: 100%;
   }

   ul.column1 li dt {
     margin-bottom: 1rem;
   }

   ul.column1 li dl dt p.new {
     font-size: 14px;
     padding-top: 0.5rem;
   }

   ul.column1 li dd {
     margin: 0;
   }

   ul.column1 li dd.menuname {
     margin: 1rem 0.5rem;
     font-size: 16px;
   }

   ul.column1 li dd.price {
     font-size: 15px;
     margin-bottom: 0;
     margin-left: 0.5rem;
     margin-right: 0.5rem;
   }

   ul.column1 li dd.other {
     font-size: 14px;
     margin: 0;
   }

   #restaurant .pagetopt p {
     font-size: 13px;
     margin: 1rem 0;
     padding: 0 0.5rem 0 1rem;
   }

   /* 交通案内 */
   #access .maincontents section p {
     margin: 0 0.5rem 0.5rem;
   }

   #access .maincontents section .pagetopt p {
     margin: 1rem 0;
   }

   .googlemap iframe {
     width: 100%;
     height: 100%;
     aspect-ratio: 3 / 2;
   }

   #access .maincontents #bus span {
     color: #F00;
     margin: 0;
   }

   .spacaia {
     /* margin: 10px 0; */
     margin: 0;
   }

   #access .maincontents span {
     background: #eee;
     border-radius: 2px;
     font-size: 14px;
     font-weight: bold;
     padding: 4px 8px;
     margin: 0 4px;
   }

   .pdfmap {
     margin-top: 1rem;
     margin-right: 0.5rem;
   }

   #bytrain table {
     table-layout: fixed;
   }

   /* 倶楽部概要 */
   .privacy_policy p {
     padding-left: 0.5rem;
     padding-right: 0.5rem;
     padding-bottom: 1rem;
   }

   .privacy_policy p.center {
     padding-bottom: 0;
     padding-top: 1rem;
   }

   .privacy_policy p:last-of-type {
     padding-bottom: 0;
   }

   .basic td ol {
     margin: 0.5rem 0 0 1.5rem;
   }

   .basic td ol li {
     padding-bottom: 0.5rem;
   }

   .basic td ol li:last-of-type {
     padding-bottom: 0;
   }

   /* 友の会 プライバシーポリシー*/
   #tomonokai .maincontents .tomonokaibnr {
     width: 100%;
     height: auto;
     padding: 0 0.5rem;
     box-sizing: border-box;
     margin-bottom: 0;
   }

   #tomonokai .maincontents p {
     padding: 0.5rem !important;
     margin: 0;
   }

   /* プライバシーポリシー */
   #tomonokai .privacypolicy p {
     padding-bottom: 0 !important;
   }

   #tomonokai .privacypolicy p.sheadding {
     padding-bottom: 0.5rem !important;
   }

   /* 友の会  */
   #tomonokai .maincontents .tomonokai p {
     margin-bottom: 0.5rem;
   }

   #tomonokai .maincontents .tomonokai p.sheadding {
     margin-bottom: 0;
   }


   #tomonokai .maincontents p.sheadding_red {
     margin-bottom: 1rem;
     margin-top: 1rem;
   }

   #tomonokai .maincontents .tomonokai_caption {
     padding-top: 0 !important;
     padding-bottom: 1rem !important;
     margin: 0;
   }

   #tomonokai .maincontents p.tax {
     margin-left: 0;
     padding-bottom: 0 !important;
   }

   .tablew600 {
     width: 100%;
     margin-left: 0;
   }

   table.tomonokai th {
     width: auto;
   }

   #tomonokai .tablew600 .fee_month {
     width: 22%;
   }

   .tomonokai_table_500 {
     width: calc(100% - 1rem);
     table-layout: fixed;
     margin: 0 0.5rem;
     margin-bottom: 1rem;
   }

   .tomonokai_table {
     width: 100%;
     table-layout: fixed;
   }

   #tomonokai ol {
     list-style-position: inside;
     padding-top: 0.5rem;
   }

   #tomonokai ol li {
     margin: 0;
     padding: 0;
     padding-bottom: 1rem;
     padding-right: 0.5rem;
     padding-left: 0.5rem;
   }

   #tomonokai .maincontents .tomonokai ol p {
     padding: 0 !important;
     margin: 0;
   }

   .pdfkiyaku {
     margin: 0;
   }

   .pdfkiyaku ul {
     display: flex;
     flex-wrap: wrap;
     row-gap: 16px;
     column-gap: 2%;
   }

   .pdfkiyaku li {
     display: inline-block;
     width: 49%;
   }

   .pdfkiyaku a {
     width: 100%;
     height: 100%;
     box-sizing: border-box;
   }

   .pdfkiyaku a:active {
     display: block;
     border: 1px solid #ccc;
     text-align: center;
     box-shadow: 0 0 0 rgba(0, 0, 0, 0.2);
   }

   .tomotel {
     padding-left: 0;
     display: block;
   }

   /* お問い合わせ */
   div.mfp_buttons {
     padding: 1rem 0 0;
   }

   .formTable {
     width: 100%;
     table-layout: fixed;
   }

 }

 /* スマホ */
 @media (max-width: 480px) {

   /*--- Header ---*/
   .logo {
     width: calc(100% - 58px);
   }

   header .logo a {
     width: 100%;
     height: 100%;
     display: block;
     background-repeat: no-repeat;
     background-size: contain;
     background-position: center center;
   }

   /* ハンバーガーメニュー */
   .sp_menu li {
     width: 85%;
     margin: 0 auto;
   }

   .sp_menu a {
     padding: 0.8rem 0;
   }

   /*--- Main ---*/
   #carousel.swiper-wrapper {
     display: flex;
     flex-direction: column;
   }

   #carousel.swiper-wrapper .swiper-slide {
     width: 100% !important;
     margin-right: 0 !important;
   }

   /*--- Side ---*/
   .side .side_flex .rsrvbox {
     width: 100%;
     margin: 0 auto;
     margin-bottom: 1rem;
   }

   .side .side_flex .courseinfo {
     width: 100%;
     margin: 0 auto;
   }

   /*--- Footer ---*/
   #groupcourse {
     padding: 0.5rem;
   }

   #group ul {
     flex-direction: column;
   }

   #group li {
     width: 100%;
     padding-left: 10px;
     padding-right: 10px;
     box-sizing: border-box;
   }

   .topbtn img {
     width: 12%;
     height: auto;
     margin-bottom: 0;
   }

   /* スマホ固定ボタン */
   .sp-fixed-button img {
     margin-right: 5px;
     width: 13%;
     height: auto;
   }

   .sp-fixed-button.tel img {
     width: 18%;
   }

   .sp-fixed-button span {
     font-size: 14px;
   }

   .sp-fixed-button span small {
     font-size: 11px;
   }

   #footernav .grid_4 {
     min-width: auto;
     width: 100%;
   }

   /*--- 下層 ---*/
   .side .sidenav h2 {
     padding: 0.5rem 1rem;
     font-size: 1rem;
     line-height: 1.6;
   }

   .side .sidenav ul li a {
     font-size: 14px;
     line-height: 1.6;
     padding: 0.5rem 0.5rem;
   }

   .side .sidenav ul li {
     width: 100%;
   }

   .side .sidenav ul li.border_none {
     border-bottom: none;
   }

   .side .sidenav ul li.border_right {
     border-right: none;
     border-bottom: 1px solid #ccc;
   }

   .side .sidenav ul li.border_bottom {
     border-right: none;
   }

   .contents h2.headding {
     font-size: 1.1em;
     padding: 0.5rem;
   }

   .rsrvlink a {
     width: 100%;
   }

   .rgstlink a {
     width: 100%;
   }

   .mobile p.url a {
     width: 100%;
   }

   .mobile p.url a:hover {
     width: 100%;
   }

   .mobile p.url a:active {
     width: 100%;
   }

   .mobiletit {
     font-size: 1em;
   }

   /* コース */
   .hole_flex {
     flex-direction: column;
   }

   .fleft {
     width: 100%;
     padding: 0 0.5rem !important;
   }

   .info-rightbox {
     width: 100%;
     padding: 0 0.5rem !important;
   }

   .accordion div.slider-wrapper {
     margin: 1rem auto;
     padding: 0 1.5rem
   }

   div.slider1-prev {
     position: absolute;
     width: 20px;
     background-size: contain;
   }

   div.slider1-next {
     width: 20px;
     background-size: contain;
   }

   .accordion section h3 {
     display: flex;
     flex-wrap: wrap;
     position: relative;
     gap: 4px;
   }

   .hole {
     font-size: 16px;
     display: block;
     flex: 0 0 100%;
   }

   .par {
     margin: 0 auto;
     flex: 1 1 calc(33.333% - 4px);
     margin-top: 4px;
   }

   .hc {
     margin: 0 auto;
     flex: 1 1 calc(33.333% - 4px);
     margin-top: 4px;
   }

   .npdc {
     margin: 0 auto;
     margin-top: 4px;
     flex: 1 1 calc(33.333% - 4px);
   }

   /* 最新情報 */
   .item .title {
     font-size: 16px;
   }

   .sheadding {
     font-size: 14px;
   }

   .item .table1 th,
   .item .table1 td {
     font-size: 14px;
   }

   .topics dd.headding:before {
     display: block;
     margin-bottom: 6px;
   }

   .topics dd.headding2:before {
     display: block;
     margin-bottom: 6px;
   }

   .event dd.headding:before {
     display: block;
     margin-bottom: 6px;
   }

   .toku dd.headding:before {
     display: block;
     margin-bottom: 6px;
   }

   .item table {
     margin: 0;
     margin-bottom: 2rem;
     width: 100%;
   }

   .item p.fee_list {
     margin: 0;
     width: 100%;
   }

   .item p.fee_caption {
     padding: 0;
     width: 100%;
   }

   #newsitems .item {
     padding-bottom: 0.5rem;
   }

   .item table.fee {
     table-layout: fixed;
   }

   /* 施設案内 */
   ul.column2 {
     flex-direction: column;
   }

   ul.column2 li {
     width: 100%;
   }

   /* レストラン */
   ul.column3 li dl {
     grid-template-columns: 1fr;
   }

   ul.column3 li dt,
   ul.column3 li dd {
     grid-column: 1;
     grid-row: auto;
   }

   ul.column3 li dd.other {
     margin-left: 0;
   }

   ul.textmenu,
   ul.morningmenu {
     display: flex;
     flex-direction: column;
   }

   ul.textmenu li {
     width: 100%;
   }

   /* 交通案内 */
   .pdfmap {
     box-sizing: border-box;
     width: calc(100% - 1rem);
     margin-left: 0.5rem;
     margin-right: 0.5rem;
   }

   .pdfmap a {
     width: 100%;
     box-sizing: border-box;
     margin: 0 auto;
   }

   /* 倶楽部概要 */
   #about .table1 tr {
     display: flex;
     flex-direction: column;
   }

   #about .table1 th {
     width: 100%;
     box-sizing: border-box;
   }

   #about .table1 td {
     width: 100%;
     box-sizing: border-box;
   }

   /* 友の会 プライバシーポリシー*/
   .pdfkiyaku ul {
     flex-direction: column;
   }

   .pdfkiyaku li {
     width: 100%;
   }

   /* お問い合わせ */
   #inquiry .table1 tr {
     display: flex;
     flex-direction: column;
   }

   #inquiry .table1 th {
     width: 100%;
   }

   #inquiry .inquiry_box .table1 td {
     width: 100%;
     min-width: 0 !important;
     padding: 1rem;
   }

   #inquiry .box_pri {
     padding: 0.5rem;
   }

 }