@charset "utf-8";

/*---------------------- 基本 ----------------------*/
a[href^="tel:"] {
    pointer-events: auto;
    cursor: pointer;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    color: inherit;
}

p.center {
    text-align: left;
}

/* テンプレートCSSクラス */

.in100per {
    padding: 0;
}

.in600 {
    padding: 0;
}

.in960 {
    padding: 0;
}

.in1200 {
    padding: 0;
}

.col20 {
    width: 48%;
}

.col25 {
    width: 48%;
}

.col33 {
    width: 98%;
}

.col50 {
    width: 98%;
}


/* 改行・非表示 */
#top .pin-pc,
#top .pin-tb,
#page .switch-pc,
#page .switch-tb,
.br-pc,
.br-tb {
    display: none;
}

#top .pin-sm,
#page .switch-sm,
.br-sm {
    display: block;
}



/*---------------------- 基本 ----------------------*/
#page #page-1st {
    padding-bottom: 30px;
}

#page.page-course #page-1st {
    padding-bottom: 70px;
}

#page.page-golf #page-1st {
    padding-bottom: 20px;
}

#page #page-2nd {
    padding-top: 80px;
    padding-bottom: 30px;
}


/*---------------------- ヘッダー ----------------------*/
#header {
    height: 88px;
}

#header .logo {
    max-width: 210px;
    max-height: 100px;
}

#header .logo .img {
    max-width: 139.51px;
}

#header.scrolled #s-menu {
    border-color: #707070;
}

/*---------------------- グローバルナビゲーション ----------------------*/
#menu-set {
    top: 15px;
    right: 15px;
}

#page #menu-set {
    height: 88px;
}

#s-menu {
    width: 60px;
    height: 60px;
}

#header #instagram-icon,
#s-menu span {
    display: none;
}

#g-navi ul li {
    margin-bottom: initial;
    line-height: 1.5em;
}

#g-navi .in100per {
    padding: 60px 25px;
}

#g-navi .side-menu1st {
    padding-left: 10px;
    padding-right: initial;
    margin-bottom: 35px;
}

#g-navi .side-menu1st ul.sidemenu li {
    align-items: start;
    gap: initial;
    flex-direction: column;
    margin-bottom: 10px;
}

#g-navi .side-menu1st ul.sidemenu ul.sub-menu {
    gap: initial;
    margin-left: 1.3rem;
}

#g-navi .side-menu1st ul.sidemenu ul.sub-menu li {
    margin-right: 20px;
    margin-bottom: initial;
}

#g-navi .side-menu1st ul.sidemenu ul.sub-menu li a {
    line-height: 1em;
}

#g-navi .side-menu2nd {
    padding-left: initial;
    padding-right: initial;
}

#g-navi .side-menu2nd ul li a span {
    left: -15px;
}

#g-navi .side-menu3rd ul {
    flex-direction: column;
}

#g-navi .side-menu3rd {
    padding-left: initial;
    padding-right: initial;
}

#g-navi .side-menu3rd ul li a {
    position: relative;
    margin-left: 20px;
}

#g-navi .side-menu3rd ul li a::before {
    content: ">";
    display: inline-block;
    vertical-align: middle;
    position: absolute;
    left: -16px;
}

#g-navi .side-menu4th {
    padding-left: initial;
    padding-right: initial;
}

#g-navi .side-menu4th ul li a {
    margin-right: 16px;
}

#g-navi .side-menu4th ul li a span {
    right: -9px;
}

/*---------------------- 固定ボタン ----------------------*/
#sub-bt {
    top: initial;
    right: initial;
    bottom: 0;
    left: 0;
    gap: initial;
    width: 100%;
}

#sub-bt a {
    width: 100%;
}

/*---------------------- ボタン ----------------------*/
#page.single .title-under-bt {
    margin-top: 15px;
}

.inner-title-bt .title-under-bt {
    margin-top: 20px;
}

.inner-title-bt .title-under-bt .btn-green {
    margin-bottom: initial;
}

.inner-under-bt {
    gap: 15px;
    margin-bottom: 15px;
}

.efficacy .inner-under-bt {
    justify-content: center;
}

#page.page-golf .title-under-bt .btn-green {
    padding: 12px 60px;
    margin-bottom: 40px;
}

.efficacy .inner-under-bt .btn-green,
#page.page-golf .inner-box.bathing-box .inner-under-bt .btn-green {
    margin-bottom: initial;
}

#page.page-golf .info-bt .btn-green,
#page.page-hanayunomori .info-bt .btn-green,
#page.page-news .info-bt .btn-green {
    width: 140px;
}



.loops-side-bt {
    position: initial;
    transform: initial;
    display: flex;
    justify-content: center;
}



/*---------------------- トップページリード ----------------------*/

#top #lead .lead-bt-wrap {
    right: 20px;
    bottom: 15px;
}

#top #lead .lead-bt-wrap a {
    gap: 40px;
    padding: 10px 15px;
    font-size: 12px;
}


/*---------------------- ヘッダーリード　----------------------*/
#page #lead .main-title .title {
    top: 35px;
}

#page.page-golf #lead .main-title .title {
    top: 25px;
    left: 0;
}

#page.page-golf #lead h1 {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

#page.page-golf #lead h1 span.sub-title {
    padding: initial;
}

#page.page-golf #lead h1::before {
    content: initial;
}

#page.page-golf #lead h1::after {
    content: "";
    position: absolute;
    bottom: 15px;
    right: 0;
    width: 100px;
    height: 1px;
    transform: translatex(110px);
    background: var(--color-one);
}


/*---------------------- 固定ページリード ----------------------*/

#page #lead .in100per .main-title {
    top: 35px;
}

#page.single #lead .in100per,
#page.page-news #lead .in100per,
#page.page-privacy-policy #lead .in100per,
#page.page-thanks #lead .in100per,
#page.page-contact #lead .in100per {
    padding-top: 20px;
}

#page.single #lead .in100per .main-title,
#page.page-news #lead .in100per .main-title,
#page.page-privacy-policy #lead .in100per .main-title,
#page.page-thanks #lead .in100per .main-title,
#page.page-contact #lead .in100per .main-title {
    top: 35px;
}



/*---------------------- トップページ ----------------------*/

#top #info .at-right-top,
#top #meal .at-right-bottom {
    display: none;
}

/* セクション */
#top #hotspring {
    height: inherit;
}



#top #hotspring .parax-title {
    left: 20px;
    top: 60px;
    transform: initial;
}

#top #hotspring .parax-text-wrap {
    margin-left: initial;
}

#top #hotspring .parax-text-wrap::before {
    top: -50px;
    height: 60px;
}

#top #hotspring .flex-original {
    padding-top: 330px;
    padding-bottom: 470px;
}

#top #hotspring .flex-original .col-original:first-child img {
    width: 70vw;
    height: 365px;
    object-fit: cover;
}


#top #hotspring .at-left-bottom {
    display: block;
}

#top #hotspring .at-left-bottom .pin-bamboo {
    bottom: 450px;
    right: 0;
}


#top #hotspring .at-left-bottom .pin-bamboo img {
    width: 80%;
    height: 265px;
    object-fit: cover;
    object-position: right center;
}

#top #hotspring .pin-2nd {
    top: -120px;
    right: initial;
    left: 0;
    justify-content: flex-start;
}

#top #hotspring .pin-2nd img {
    width: 260px;
    height: 140px;
    object-fit: cover;
}

#top #hotspring .parax-text {
    top: initial;
    bottom: 140px;
    max-width: 100%;
    margin-right: initial;
    padding: 5vw;
    gap: initial;
    align-items: center;
}

#top #hotspring .pin .parax-text .parax-text-wrap {
    margin-left: initial;
}

#top #hotspring .pin-1st {
    top: 30px;
}

#top #hotspring .pin-1st img {
    width: 60vw;
    height: 215px;
    object-fit: cover;
}


#top #hotspring .at-left-top img {
    width: 80%;
}

#top #hotspring .original-2nd {
    margin-top: 465px;
    margin-bottom: 340px;
    justify-content: space-between;
    flex-wrap: nowrap;
}

#top #hotspring .pin-4th {
    bottom: 0;
}

#top #hotspring .pin-4th img {
    width: 95vw;
    height: 155px;
    object-fit: cover;
}

#top #hotspring .pin-5th {
    right: initial;
    left: 0;
    bottom: 350px;
    justify-content: flex-start;
}

#top #hotspring .pin-5th img {
    width: 180px;
    transform: scaleX(-1);
}

#top #hotspring .pin-7th {
    bottom: -136px;
}

#top #meal {
    height: fit-content;
}

#top #meal .flex-original {
    padding-top: 160px;
    padding-bottom: 480px;
    margin-bottom: 60px;
}

#top #meal .parax-title {
    top: 100px;
}

#top #meal .parax-text-wrap h2 span {
    top: -35px;
}

#top #meal .flex-original .col-original:first-child img {
    width: 95vw;
    height: 245px;
    object-fit: cover;
    position: relative;
    z-index: 3;
}

#top #meal .pin-1st {
    margin-right: initial;
    max-width: 100%;
    transform: translateY(-15%) translate3d(var(--px, 0), var(--py, 0), 0);
    padding: 0 5vw;
    gap: 10px;
}

#top #meal .pin-1st .meal-bt {
    display: flex;
    flex-direction: column;
    align-items: center;
}

#top #meal .pin-3rd {
    right: 60vw;
    bottom: 80px;
}

#top #meal .pin-4th img {
    width: 95vw;
    height: 215px;
    object-fit: cover;
}

#top #meal .pin-5th {
    bottom: 180px;
}

#top #meal .pin-5th img {
    width: 263px;
    height: 167px;
    object-fit: cover;
}

#top #golf {
    height: fit-content;
}

#top #golf .parax-text {
    padding-top: 55px;
    padding-left: 20px;
}

#top #golf .parax-text-wrap h2 span {
    top: -35px;
}

#top #golf .at-left-top {
    margin-left: initial;
}


#top #golf .at-left-top .parax {
    width: 190px;
    left: initial;
    top: 0;
    right: 30px;
    justify-content: end;
}

#top #golf .flex-original {
    gap: 280px;
    padding-top: 65px;
    max-width: 100%;
}

#top #golf .flex-original .col80 {
    display: flex;
    flex-direction: column;
    width: 100%;
    gap: 100px;
}

#top #golf .flex-original .col80 .golf-box {
    align-items: center;
    margin-top: 20px;
    padding: 0 5vw;
}

#top #golf .flex-original .col-original:last-child img {
    order: 2;
    width: 100vw;
    height: 192px;
    object-fit: cover;
}

#top #golf .pin-2nd {
    bottom: 540px;
    left: -15px;
    transform: translate3d(var(--px, 0), var(--py, 0), 0) rotate(11deg);
}

#top #golf .pin-2nd img {
    width: 50%;
}

#top #golf .pin-5th {
    top: 195px;
}

#top #golf .pin-5th img {
    width: 90vw;
}

#top #golf .pin-6th {
    right: 0;
    bottom: 90px;
}

#top #golf .pin-6th img {
    width: 337px;
    height: 153px;
    object-fit: cover;
}

#top #golf .pin-7th {
    display: flex;
}

#top #golf .pin-7th img {
    width: 100%;
}

#top #info .flex-original {
    margin: 130px auto 100px;
    padding-bottom: 135px;
}

#top #info .at-right-top {
    margin-top: 80px;
}

#top #info .pin-1st {
    top: 25px;
}

#top #info .pin-2nd {
    left: initial;
    right: 10vw;
    top: -36px;
    justify-content: end;
}

#top #info .pin-4th,
#top #info .pin-5th {
    display: flex;
}


#top #info .pin-4th {
    top: -15px;
}

#top #info .pin-5th {
    bottom: 150px;
}


#top #info .info-bt .btn-green {
    padding: 8px 0;
}

#top #info .flex-original .col-original:last-child {
    width: 100%;
    max-width: 340px;
}

#map_bt .map-under {
    height: 185px;
}

#map_bt .map-under p {
    text-align: center;
}

#map_bt .map-under br {
    display: block;
}

#instagram {
    padding-top: 60px;
    padding-bottom: 60px;
}

#instagram .instagram-feed {
    max-width: 315px;
}

#instagram .pin-1st {
    top: -10px;
    right: initial;
    left: 50%;
    transform: translateX(-50%) translate3d(var(--px, 0), var(--py, 0), 0) rotate(90deg);
    justify-content: center;
}




/* 共通セクション　Googleマップ */
#map_canvas .in100per {
    height: 500px;
}

#page.page-access #map_canvas .in100per {
    height: 102vw;
}

#page.page-access #map_canvas .in100per .map-google iframe {
    width: min(100vw, 1483px);
    height: 102vw;
}

/* 共通セクション　　住所などの情報部分 */

#page.page-access #map_bt .map-under {
    gap: 10px;
    padding: 15px;
}

#page.page-access #map_bt .map-under p.title,
#page.page-access #map_bt .map-under .map-text p.address a {
    font-weight: bold;
}

#page.page-access #map_bt .map-under p.title {
    line-height: 1.2em;
}


#page.page-access #map_bt .map-under .map-text p.address a {
    padding-left: initial;
    line-height: 2em;
}

#page.page-access #map_bt .map-under .map-note p {
    padding: 10px 0;
}


/* 共通セクション　交通アクセス */
.train-bottom,
.route {
    width: 83vw;
    padding: initial;
    margin: 0 auto 10px;
}

.route .item p {
    padding: 20px 0 15px;
    gap: initial;
}

.train-top .train-pair {
    width: 38vw;
}

.route .item .direction {
    top: -25px;
}


/*---------------------- インナーボックス　----------------------*/
/* 大箱(contents) */
.contents {
    margin-top: 30px;
}

.contents.no-space {
    margin-top: 10px;
}

#page.page-tsubaki #item1st.contents {
    margin-top: initial;
}


.contents+.contents.no-space {
    margin-top: initial;
}

/* 白箱 */
.inner-box {
    border-radius: 12px;
    margin: 20px auto;
    padding: 10px 2vw;
}

.inner-box+.inner-box {
    margin-top: 30px;
}

#page.page-golf #news-list .inner-box,
#page.page-hanayunomori #news-list .inner-box {
    margin: 20px auto 30px;
}

#page.page-golf #news-list .inner-box {
    padding: 10px 2vw;
}


#page.page-golf #news-note .inner-box,
#page.page-hanayunomori #news-note .inner-box {
    margin: 40px auto 60px;
    padding: 20px;
}

#page.page-relaxation .inner-box {
    padding: 5vw 1.5vw;
}

.inner-box.play-box .inner-subtext p {
    padding: 20px 10px;
}

/* 空箱(透明、線あり) */
.inner-box-c {
    border-radius: 12px;
    margin: 20px auto;
}

#page.page-hanayunomori .inner-box-c {
    margin: 10px auto 40px;
}

#page.page-access .inner-box-c {
    margin: 20px auto 40px;
}


/* 空箱（透明、線ナシ） */
.inner-box-c h4,
.inner-box-p h4 {
    line-height: 1.2em;
}

.inner-box-p .inner-text,
.inner-box-c .inner-title,
.inner-box-p .inner-title {
    padding: 0 3vw;
    margin: 10px auto;
}

.inner-box-c .inner-title {
    margin: initial;
}


.inner-box-p .inner-photo {
    margin: 10px auto;
}

.inner-box-p .inner-photo p {
    padding-left: initial;
    padding-top: initial;
}


.inner-box-p .inner-photo ul {
    gap: 8px;
    justify-content: center;
}

#page.page-spa .inner-box-p .inner-photo ul {
    justify-content: start;
}


#page.page-spa .inner-box-p .inner-photo ul:has(> li:only-child),
.inner-box-p .inner-photo ul:has(> li:only-child) {
    justify-content: center;
}

.inner-box-p .inner-photo li {
    flex: 0 0 calc(50% - 5px);
}

#item4th .inner-box-p .inner-photo li:last-child {
    flex: 0 0 calc(100% - 5px);
}


.inner-box-p .inner-photo figure figcaption .caption::after {
    right: -13px;
    width: 12.11px;
    height: 12.11px;
    background-image: url("../img/glass-s.png");
}





/*---------------------- インナーボックス　タイトル　----------------------*/

#page .section-title {
    margin: 0 auto 20px;
}

.inner-box-c .flex-around:first-of-type h4.title,
.inner-box-c h4.title {
    padding-top: 20px;
    padding-bottom: 15px;
    padding-left: 15px;
    padding-right: 0;
    border-right: initial;
    border-left: solid 8px var(--color-one);
}

.inner-box-c .inner-menu-title h4.title {
    padding-top: 20px;
    padding-bottom: 15px;
    margin-left: 20px;
    margin-bottom: initial;
}

#page.page-tsubaki #item3rd .efficacy .flex-around:first-of-type h4.title {
    padding-top: 20px;
    padding-bottom: 15px;
    padding-left: 15px;
}

#page.page-course #item3rd .efficacy h4.title,
#page.page-golf .efficacy.efficacy-low h4.title,
#page.page-golf .efficacy.efficacy-top h4.title,
#page.page-tsubaki #item3rd .efficacy .colleft h4.title {
    text-align: left;
}

#page.page-tsubaki #item1st .efficacy .flex-around:not(:first-of-type) h4.title,
#page.page-tsubaki #item3rd .efficacy .flex-around:not(:first-of-type) h4.title {
    padding-top: 8px;
    padding-bottom: 8px;
}

#page.page-relaxation #page-2nd .efficacy .colleft h4.title {
    border-left: solid 8px var(--color-two);
}

#page.page-access .inner-box-c h4.title {
    border-left: initial;
    border-right: solid 8px var(--color-one);
    padding: 20px 15px 15px;
}

.inner-box-p .inner-title+.inner-text p {
    padding-left: initial;
}


.menu-table ul.menu-list {
    gap: 8px;
}

.menu-table ul.menu-list li.menu-card figure figcaption {
    padding: initial;
}

.menu-table .menu-table-note {
    padding: 10px 0;
}

.inner-box .inner-subtitle {
    display: flex;
    justify-content: center;
    align-items: center;
}


/*---------------------- メインフォト　----------------------*/
#page .main-photo+.section-title {
    margin: 20px auto 0;
}

.main-photo {
    max-width: 100%;
}


#page.page-relaxation #page-2nd.pink .main-photo {
    margin: 0px auto 15px;
}

.main-photo img {
    height: 250px;
}


/*---------------------- 商品アイテム　----------------------*/
.menu-table ul.menu-list {
    flex-wrap: wrap;
}

.menu-table ul.menu-list li.menu-card {
    flex: 0 0 calc(50% - 12.5px);
    box-sizing: border-box;
}

.menu-table ul.menu-list li.menu-card figure figcaption .menu-title {
    align-items: flex-start;
    flex-direction: column;
}

.menu-table ul.menu-list li.menu-card figure figcaption .menu-title .menu-name {
    margin-right: initial;
}


/*---------------------- 料金表　----------------------*/
.inner-item {
    margin: 20px auto;
}

.inner-item.unsteadiness,
.inner-item.unsteadiness2nd {
    margin: 0 auto;
}

.inner-item.inner-low {
    margin: 10px auto 30px;
}

.inner-item p.note {
    margin: 20px auto 0;
}

.inner-item.unsteadiness2nd p.note {
    padding: initial;
    margin: 15px auto;
}

.inner-item p.price-note {
    padding: 5px;
    text-indent: initial;
}

#page.page-golf #item1st .inner-box .inner-item {
    padding: 0 1vw;
}

#page.page-golf #item1st .inner-box.bathing-box .inner-item,
#page.page-golf #item1st .inner-box.rental-box .inner-item,
#page.page-golf #item1st .inner-box.member-box .inner-item {
    padding: 10px 1vw;
}

#page.page-golf #item1st .inner-box.bathing-box .inner-item {
    margin: 20px auto;
}


#page.page-hanayunomori .inner-box.box-1st .inner-item::after {
    margin-top: 20px;
}


/* 料金表ヘッダー */
.price-header {
    margin-bottom: 10px;
}

#page.page-golf .price-header.column-four,
.price-header.column-four,
.price-header {
    grid-template-columns: 1fr;
    justify-items: center;
}

.price-header .label.general {
    width: 100%;
}

.price-header .label.bambooflute,
.price-header .label.wakatake,
.price-header .label.integration-two,
.price-header .label.course3rd,
.price-header .label.course2nd,
.price-header .label.course1st,
.price-header .label.weekday,
.price-header .label.weekend {
    display: none;
}

.price-header .label.general {
    justify-content: center;
}


/* 料金表テーブル */
#page.page-golf .price-table.column-four,
.price-table.column-two,
.price-table.column-three,
.price-table.column-four,
.price-table {
    grid-template-columns: 33vw 1fr;
    gap: initial;
    margin-bottom: 10px;
}

#page.page-golf .price-table.column-two {
    grid-template-columns: 43vw 1fr;
}

.inner-box.box-2nd .price-table {
    grid-template-columns: 60vw 1fr;
}

.price-table::after {
    content: initial;
}

.unsteadiness .price-table {
    grid-template-columns: 35vw 1fr;
    margin-bottom: 10px;
    gap: initial;
}


.price-table>div {
    min-height: initial;
}

.price-table .bambooflute .label,
.price-table .wakatake .label,
.price-table .integration-two .label,
.price-table .price3rd .label,
.price-table .price2nd .label,
.price-table .price1st .label,
.price-table .weekday .label,
.price-table .weekend .label {
    display: flex;
    width: 100%;
    padding: 5px;
}

.price-table .weekend::before {
    content: initial;
}

.price-table .integration-three {
    grid-column: initial;
}


/* アイテム（ラベル列） */
.price-table .item {
    grid-row: span 2;
    margin-right: 10px;
    padding: 15px;
}

#page.page-golf .price-table .item {
    grid-row: span 3;
    height: 100%;
    flex-direction: column;
    justify-content: center;
    padding: 20px 10px;
}

#page.page-golf .inner-box.bathing-box .item,
#page.page-golf .inner-box.member-box .item,
#page.page-golf .inner-box.rental-box .item {
    grid-row: initial;
    padding: 10px;
}


.price-table .item.time {
    text-align: center;
}

.price-table .integration-two {
    grid-row: span 2;
}

.price-table .integration-three {
    grid-row: span 3;
}

.price-table .bambooflute,
.price-table .wakatake,
.price-table .integration-two,
.price-table .price3rd,
.price-table .price2nd,
.price-table .price1st,
.price-table .time-column,
.price-table .explanation-column,
.price-table .price-column,
.price-table .weekday,
.price-table .weekend {
    padding: initial;
}

.price-table .bambooflute .label,
.price-table .wakatake .label,
.price-table .integration-two .label,
.price-table .weekday .label,
.price-table .weekend .label {
    color: var(--color-one);
    font-size: 15px;
}

.price-table .price {
    padding: 5px;
    height: 100%;
    display: flex;
    align-items: center;
}

.unsteadiness .item-set {
    flex-direction: column;
}

.unsteadiness .item-set .price-column {
    position: relative;
    margin-bottom: 5px;
}

.unsteadiness .item-set .price-column::after {
    content: "";
    display: block;
    height: 2px;
    background-image: linear-gradient(to right, #413D39, #413D39 2px, transparent 2px, transparent 8px);
    background-size: 8px 2px;
    background-repeat: repeat-x;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
}

.unsteadiness2nd .price-table {
    padding: 1.5vw;
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto auto;
    grid-template-areas:
        "item"
        "time"
        "price"
        "explanation";
}

.unsteadiness2nd .price-table .item {
    padding: 10px;
}

.unsteadiness2nd .price-table .item-set {
    padding-bottom: initial;
}

.unsteadiness2nd .price-table .item-set::after {
    background-image: linear-gradient(to right, #413D39, #413D39 2px, transparent 2px, transparent 8px);
}



.unsteadiness2nd .price-table .item-set .price-column::before {
    top: 5px;
    bottom: 5px;
}


.unsteadiness2nd .price-table .explanation-column,
.unsteadiness .item-set .price-column {
    width: 100%;
}

.unsteadiness .price-table .explanation-column {
    padding: 1vw;
    width: 100%;
}

.unsteadiness .price-table .explanation-column::before {
    content: initial;
}

.unsteadiness2nd .price-table .explanation-column {
    padding: 0 5px;
}

.unsteadiness2nd .price-table .explanation-column::after {
    content: "";
    display: block;
    height: 2px;
    background-image: linear-gradient(to right, #413D39, #413D39 2px, transparent 2px, transparent 8px);
    background-size: 8px 2px;
    background-repeat: repeat-x;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
}

.unsteadiness2nd .price-table .explanation-column .explanation-set {
    width: 100%;
}

.unsteadiness2nd .price-table .explanation-column .explanation-set p.title,
.unsteadiness2nd .price-table .list ul {
    padding: initial;
    margin: 10px auto;
}

.unsteadiness2nd .price-table .explanation-column .explanation-set p.title br,
.unsteadiness2nd .price-table .list ul br {
    display: none;
}


.unsteadiness2nd .price-table .explanation-column .list ul li {
    width: fit-content;
    margin-right: 20px;
}

.unsteadiness2nd .price-table .explanation-column .list ul:has(li:first-child:last-child) li {
    margin-right: initial;
}



/* リラクゼーション個別 */
#page.page-relaxation #page-1st .contents:first-of-type .section-title {
    order: 1;
}

#page.page-relaxation #page-1st .contents:first-of-type .inner-1st .inner-photo {
    margin: 0 auto 10px;
}

#page.page-relaxation #page-1st .contents:first-of-type .inner-1st {
    order: 2;
}

/* 自由欄 */
.section-free p.max {
    padding: 10px 2vw;
}

.section-free p.size-max img {
    height: 200px;
    margin: 0 auto 10px;
}


/* 商品説明 */
#page.page-course .efficacy,
#page.page-golf .efficacy.efficacy-low,
#page.page-golf .efficacy.efficacy-top,
#page.page-spa .efficacy,
#page.page-tsubaki #item1st .efficacy,
#page.page-tsubaki #item3rd .efficacy,
#page.page-relaxation .efficacy,
.efficacy {
    grid-template-columns: 1fr;
    column-gap: 0;
    row-gap: 5px;
    padding: 0 6vw 20px;
    margin: 20px auto;
}

#page.page-golf .efficacy.efficacy-top {
    padding: 0 6vw;
    margin: 0 auto;
}

#page.page-relaxation .efficacy {
    row-gap: 15px;
    margin: 40px auto;
}

#page.page-access .efficacy {
    grid-template-columns: auto 1fr;
    margin: 0 auto 50px;
    column-gap: initial;
    padding: initial;
}

#page.page-access .inner-box-c.bus-box .efficacy {
    margin: 0 auto 20px;
}



#page.page-golf .efficacy.efficacy-top .colleft,
#page.page-relaxation #page-2nd .efficacy .colleft,
#page.page-relaxation .efficacy .colleft {
    border-right: initial;
}




.efficacy .colright {
    margin-left: 10px;
}

.efficacy .colright span.basic {
    font-size: 16px;
}

.efficacy .colright span.now {
    font-size: 12px;
}

.efficacy .colright .item:has(p.title) p:not(.title) {
    padding-left: initial;
}

.efficacy.efficacy-low .flex-around:first-of-type .colright .item:first-child {
    margin-bottom: 20px;
}


#page.page-tsubaki #item3rd .efficacy .colright,
#page.page-tsubaki #item1st .efficacy .colright {
    margin-bottom: 20px;
}

#page.page-tsubaki #item3rd .efficacy .flex-around:first-of-type .colright .item:first-child,
.efficacy .flex-around:first-of-type .colright .item:first-child {
    margin-top: initial;
}

#page.page-access .efficacy .colright {
    margin-bottom: initial;
    margin-left: 20px;
}

#page.page-access .efficacy .colright img {
    max-width: 30px;
}

.note-box {
    border-radius: 12px;
    margin: 0 20px 30px;
}

.note-box p {
    text-align: left;
}


/* コース説明 */
#course-slider {
    border-radius: 12px;
    margin: 0 auto 20px;
    padding: 30px 3vw 0;
}

.course-box {
    padding-left: initial;
    padding-right: initial;
    padding-bottom: initial;
    margin-bottom: 50px;
}

.course-box::after {
    content: initial;
}

.course-labels p {
    padding: 12px;
}

.course-labels p.course-no {
    width: 125px;
    padding: 12px 12px 2px;
}


.course-img,
.course-info {
    width: 100%;
}

.course-img img {
    height: auto;
    object-fit: contain;
}

#course-slider .course-box:nth-child(n+10) .course-par {
    grid-column: 1 / -1;
}

#course-slider .course-box:nth-child(n+10) .course-labels {
    grid-template-columns: auto 1fr;
}

/* 注意事項 */
#page.page-hanayunomori ul.diamond {
    padding: 20px 10px;
}

ol.number {
    padding: 0 0 0 20px;
}

#page.page-course ul.circle {
    padding: 20px 0 0;
}


/*---------------------- 固定ページ、記事ページ共通 ----------------------*/

#page article {
    padding-top: initial;
}


/* 固定ページ：お問い合わせ、サンクス、記事 */
#page.single #contents_area,
#page.page-news #contents_area,
#article_404 #contents_area,
#page.page-privacy-policy #contents_area,
#page.page-thanks #contents_area,
#page.page-contact #contents_area {
    max-width: 91vw;
    margin: 50px auto;
}

#page.single #contents_area {
    margin: 100px auto 50px;
}

#page.page-news #news-note {
    padding-top: 20px;
}

#page.page-news #news-list #contents_area {
    margin: 50px auto 0;
    padding: 10px 15px;
}

#page.page-news #news-note #contents_area {
    margin: 0 auto 10px;
    padding: 4vw;
}

#page.page-access #footer,
#page.page-course #footer,
#page.single #footer,
#article_404 #footer,
#page.page-privacy-policy #footer,
#page.page-thanks #footer,
#page.page-contact #footer {
    padding-top: 40px;
}


/* 固定ページ：プライバシー */
.policy-list ol {
    padding-inline-start: 20px;
    padding-right: 5px;
}

.policy-list ol li {
    padding-left: 10px;
    padding-bottom: 15px;
}

.policy-list ol li .addr-block {
    gap: initial;
    padding: 10px 0;
}

.policy-list ol li .addr-block p {
    width: 80px;
}



/* 営業時間 */
.inner-card::after {
    margin-top: 50px;
}

.inner-card .inner-item {
    gap: 15px;
    padding: 15px 0;
    margin: 30px auto;
}

.inner-card .line-box {
    padding: 10px;
    margin: 20px auto;
}

.inner-card .inner-text p.price {
    padding: initial;
}

.inner-card .inner-text p.line {
    padding: initial;
}


/*---------------------- 記事一覧、個別記事 ----------------------*/
/* tabボタン */


.tab_buttons {
    position: relative;
}

.tab_buttons::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 2px;
    top: initial;
    right: initial;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    background-image: linear-gradient(to right, var(--color-two), var(--color-two) 2px, transparent 2px, transparent 7px);
    background-size: 7px 2px;
    background-repeat: repeat-x;
}

.tab_buttons::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 2px;
    top: initial;
    right: initial;
    bottom: 0;
    left: 0;
    background-image: linear-gradient(to right, var(--color-two), var(--color-two) 2px, transparent 2px, transparent 7px);
    background-size: 7px 2px;
    background-repeat: repeat-x;
}


.tab_buttons .tab_label {
    width: 50%;
    margin: initial;
    padding: 0 10px;
}

.tab_buttons .tab_label.line-start::before {
    content: initial;
}

.tab_buttons .tab_label::after {
    height: 50%;
    right: 0;
}

.tab_buttons .tab_label:nth-child(even)::after {
    content: initial;
}

.tab_buttons .tab_label a {
    padding: 8px 0;

}


/* 記事一覧 */
.news_list {
    padding-top: initial;
    padding-bottom: initial;
}


.news_list article {
    padding: 15px 5px;
}

.news_list .content {
    flex-direction: column;
    max-width: 90vw;
    margin: 0 auto;
    gap: 5px;
}

.news_list .content .col60,
.news_list .content .col30,
.news_list .content .col20 {
    width: 100%;
}

.news_list .content .col20 {
    display: flex;
    gap: 10px;
    align-items: center;
}

.news_list .date {
    margin-bottom: initial;
    min-width: 70px;
}

.news_list p {
    padding-right: initial;
    padding-top: 5px;
}

#page.page-news .news_list article {
    padding: 10px 0;
}


#page.page-golf .news_list article,
#page.page-hanayunomori .news_list article {
    padding: 10px;
}



/* 新着一覧　注意事項　 */


.news-note-contact ul {
    text-indent: initial;
}

.news-note-contact ul li .space {
    padding: 10px 0;
}


/* 個別記事 */

#page.single main .flex-around {
    gap: 10px;
    padding-left: 5px;
}

#page.single main h2 {
    margin: 15px auto 20px;
    padding-left: 5px;
}

#page.single main .date {
    font-size: 14px;
}

#page.single main .category {
    font-size: 11px;
    max-width: 120px;
}

#page.single main .content .content_body {
    min-height: 170px;
    margin: 20px auto;
}

/* ギャラリー */
#page.single .gallery {
    flex-direction: column;
    align-items: center;
}

#page.single .gallery .gallery-item {
    width: 100%;
}

#page.single img,
#page.single .gallery .gallery-item img {
    width: 100%;
    max-width: 80%;
}


/* ページネーション */

#page.single .pagination .next,
#page.single .pagination .prev {
    font-size: 13px;
}

#page.single .pagination .next {
    left: 10px;
}

#page.single .pagination .prev {
    right: 10px;
}

#page.single .pagination {
    margin: 25px auto 10px;
}




/*---------------------- フッター ----------------------*/
#footer .footer-menu2nd,
#footer .footer-menu1st {
    display: none;
}

#footer #above {
    position: relative;
    padding: 140px 0 200px;
}

#footer #above #gotop {
    bottom: initial;
    top: 25px;
}

#footer #above #gotop img {
    max-width: 74px;
    max-height: 74px;
}

#footer #above .footer-logo .img {
    max-width: 205px;
    margin: 0 auto;
}



#footer #under .footer-box {
    padding: 10px 0;
    text-align: center;
}

#page.page-news #footer #under .footer-box,
#page.page-course #footer #under .footer-box,
#page.page-golf #footer #under .footer-box,
#page.page-relaxation #footer #under .footer-box,
#page.page-tsubaki #footer #under .footer-box,
#page.page-spa #footer #under .footer-box {
    padding: 10px 0 50px;
}

#footer #under .footer-box p.shop {
    font-size: 20px;
    line-height: 1.8em;
}

#footer #under .footer-box br {
    display: block;
}

#footer #under .footer-box div:first-child {
    position: absolute;
    bottom: 130px;
    left: 50%;
    transform: translateX(-50%);
    flex-direction: column;
    align-items: center;
    gap: initial;
    width: max-content;
}

#page.page-news #footer #under .footer-box div:first-child,
#page.page-course #footer #under .footer-box div:first-child,
#page.page-golf #footer #under .footer-box div:first-child,
#page.page-relaxation #footer #under .footer-box div:first-child,
#page.page-tsubaki #footer #under .footer-box div:first-child,
#page.page-spa #footer #under .footer-box div:first-child {
    bottom: 180px;
}


#footer #under .footer-box div:first-child p {
    padding: initial;
    margin: initial;
}

#footer #under .footer-box div:last-child {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

#page.single #footer #under {
    padding-bottom: 50px;
}

#page.single #footer #under .footer-box div:first-child {
    bottom: 150px;
}







@media (max-width: 484px) {

    /* Flexbox */
    .col16 {
        width: 48%;
    }

    /* Gridbox */
    .grid-around {
        grid-template-columns: 1fr !important;
    }

    .facility-images .grid-around.grid-row2 {
        margin: 40px auto;
        gap: 20px;
    }

    .facility-images .grid-around.grid-row2 .gcol:last-child,
    .facility-images .grid-around.grid-row2 .gcol:first-child {
        margin: initial;
    }

    .facility-images .grid-around.grid-row2 .gcol:first-child img {
        width: 95vw;
        height: 160px;
    }

    .facility-images .grid-around.grid-row2 .gcol:last-child img {
        width: 60vw;
        height: 155px;
    }

    .facility-images .grid-around.grid-row3 {
        margin: 40px auto;
        gap: 35px;
    }

    .facility-images .grid-around.grid-row3 .gcol:last-child,
    .facility-images .grid-around.grid-row3 .gcol:nth-child(2),
    .facility-images .grid-around.grid-row3 .gcol:first-child {
        margin: initial;
    }

    .facility-images .grid-around.grid-row3 .gcol:nth-child(2) {
        justify-content: end;
    }


    .facility-images .grid-around.grid-row3 .gcol:first-child img {
        width: 90vw;
        height: 225px;
    }

    .facility-images .grid-around.grid-row3 .gcol:nth-child(2) img {
        width: 80vw;
        height: 205px;
    }

    .facility-images .grid-around.grid-row3 .gcol:last-child img {
        width: 80vw;
        height: 185px;
    }



    /*---------------------- トップページ ----------------------*/
    #top #hotspring .pin-1st img {
        width: 74vw;
    }

    #top #hotspring .flex-original .col-original:first-child img {
        width: 74vw;
    }



    #top #meal .pin-1st .parax-box p br {
        display: none;
    }

    #top #meal .pin-3rd {
        justify-content: flex-start;
    }

    #top #golf .flex-original p {
        max-width: 311px;
        font-size: 12px;
    }

    #top #info {
        padding-bottom: 15px;
    }



    #instagram .instagram-bt-wrap {
        padding: 25px 0;
    }


}


@media (max-width: 374px) {

    article,
    footer {
        overflow: hidden;
    }

}