@charset "utf-8";


#preloader {
	position: fixed;
	inset: 0;
	background: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 9999;
}

/* シンプルな丸アニメ */
#preloader .loader {
	width: 40px;
	height: 40px;
	border: 4px solid #ccc;
	border-top-color: #333;
	border-radius: 50%;
	animation: spin 0.8s linear infinite;
}

@keyframes spin {
	to {
		transform: rotate(360deg);
	}
}

/* フェードアウト */
#preloader.fadeout {
	opacity: 0;
	visibility: hidden;
	transition: opacity 1.4s ease, visibility 1.4s ease;
}





/*---------------------- 基本 ----------------------*/

:root {
	--font-one: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック体", "Yu Gothic", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	--font-two: "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HGS明朝E", "ＭＳ 明朝", "MS Mincho", serif;
	--color-one: #fff;
	--color-two: #322C27;
	--color-three: #413D39;
	--color-four: #707070;
	--color-five: #B85B3E;
}

html {
	overflow-y: scroll;
}

body {
	color: var(--color-one);
	font-family: var(--font-one);
	font-size: 16px;
	line-height: 1em;
	background-color: var(--color-three);
	margin: 0px;
	padding: 0px;
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-o-text-size-adjust: 100%;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	color: var(--color-two);
	font-family: var(--font-two);
	font-weight: bold;
	line-height: 1.8em;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}


p {
	color: var(--color-one);
	font-weight: normal;
	line-height: 1.5em;
	margin: initial;
	padding: 1em 0;
}

p:empty {
	display: none;
}

p.center {
	text-align: center;
}


a {
	color: var(--color-one);
	text-decoration: none;
	word-break: break-all;
}

a[href^="tel:"] {
	pointer-events: none;
	cursor: default;
	text-decoration: none;
	color: inherit;
}

#page.page-privacy-policy #contents_area .policy-list a {
	text-decoration: underline;
	text-decoration-thickness: 1px;
}

div {
	box-sizing: border-box;
}

img {
	max-width: 100%;
	height: auto;
	vertical-align: bottom;

}

#top img:is([sizes="auto" i], [sizes^="auto," i]),
#page img:is([sizes="auto" i], [sizes^="auto," i]) {
	contain-intrinsic-size: revert-layer;
}

pre {
	padding: 1em;
	background-color: rgba(0, 0, 0, 0.05);
	border: 1px solid #CCC;
}

li {
	line-height: 1.8em;
}

section {
	clear: both;
	padding-top: 20px;
	padding-right: 0;
	padding-bottom: 20px;
	padding-left: 0;
	box-sizing: border-box;
}

#page #page-1st {
	padding-bottom: 150px;
}

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

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

#page #page-2nd {
	padding-top: 100px;
	padding-bottom: 150px;
}

section h2 {
	clear: both;
	text-align: center;
	margin-bottom: 20px;
	padding: 10px;
	font-size: clamp(25px, 2vw, 38px);
	line-height: 1.1em;
}

.post-edit {
	color: #fff;
	background: #000;
}

/*WordPress画像クラス*/
.alignleft {
	clear: both;
	float: left;
	margin-right: 32px;
}

.aligncenter {
	clear: both;
	margin-right: auto;
	margin-left: auto;
	display: block;
}

.alignright {
	clear: both;
	float: right;
	margin-left: 16px;
}

.alignnone {
	clear: both;
}


/* テンプレートCSSクラス */
.in100per {
	margin: 0;
	padding: 0;
	width: 100%;
}

.in400 {
	max-width: min(90vw, 400px);
	margin-right: auto;
	margin-left: auto;
	padding: 0px 1%;
}

.in600 {
	max-width: min(90vw, 600px);
	margin-right: auto;
	margin-left: auto;
	padding: 0px 1%;
}

.in960 {
	max-width: min(90vw, 960px);
	margin-right: auto;
	margin-left: auto;
	padding: 0px 1%;
}

.in1200 {
	max-width: min(90vw, 1200px);
	margin-right: auto;
	margin-left: auto;
	padding: 0px 26px;
	overflow: hidden;
}



/*リード・セクションのバックカラー設定*/
.white {
	background-image: url("../img/j-paper-w.png");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

.grayishbrown {
	background-color: #413D39;
	background-color: hsla(30, 6%, 24%, 0.85);
	background-color: rgba(0, 0, 0, 0.71);
}

.darkredbrown {
	background-color: #411E1E;
	background-color: hsla(0, 37%, 19%, 0.85);
	background-color: rgba(40, 0, 0, 0.85);
}

.brown {
	background-color: #384328;
	background-color: hsla(92, 25%, 21%, 0.85);
	background-color: rgba(35, 40, 25, 0.85);
}

.linen {
	background-color: #CFC2B5;
	background-color: hsla(33, 20%, 76%, 0.85);
	background-color: rgba(207, 194, 181, 0.71);
}

.pink {
	background-color: #FFDCDC;
	background-color: hsla(0, 100%, 93%, 0.85);
	background-color: rgba(255, 220, 220, 0.71);
}



.mix {
	background: linear-gradient(to bottom,
			rgba(40, 0, 0, 0.85) 0,
			rgba(40, 0, 0, 0.85) 848px,
			rgba(0, 0, 0, 0.71) 848px,
			rgba(0, 0, 0, 0.71) 100%);
}



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

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

#page .switch-none {
	display: none;
}

.br-inline,
.break {
	display: inline-block;
}





/* Flexbox */
.flex-around {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}

.flex-original {
	display: flex;
	flex-wrap: wrap;
}

.fcol-original {
	position: relative;
}

.col10 {
	width: 8%;
}

.col16 {
	width: 15%;
	margin-top: .5em;
	margin-bottom: .5em;
	margin-left: 2%;
}

.col16:nth-child(6n+1) {
	margin-left: 0;
}

.col20 {
	width: 18%;
}

.col20:nth-child(5n+1) {
	margin-left: 0;
}

.col25 {
	width: 23.5%;
}

.col25:nth-child(4n+1) {
	margin-left: 0;
}

.col33 {
	width: 31.3333%;
}

.col33:nth-child(3n+1) {
	margin-left: 0;
}

.col30 {
	width: 28%;
}

.col40 {
	width: 38%;
}

.col50 {
	width: 48%;
}

.col50:nth-child(2n+1) {
	margin-left: 0;
}

.col60 {
	width: 58%;
}

.col70 {
	width: 68%;
}

.col80 {
	width: 78%;
}

.col90 {
	width: 88%;
}

.col100 {
	width: 100%;
}

/* Gridbox */
.grid-around {
	display: grid;
	grid-template-columns: repeat(12, 1fr);
	align-items: end;
}

.grid-around.grid-row2 {
	grid-template-columns: repeat(2, 1fr);
}

.grid-around.grid-row3 {
	grid-template-columns: repeat(3, 1fr);
}

.grid-around.grid-row4 {
	grid-template-columns: repeat(4, 1fr);
}

.grid-around.grid-row-f2 {
	grid-template-columns: 1500px 420px;
}

.grid-around.grid-row-f3 {
	grid-template-columns: 920px 500px 500px;
}

.gcol {
	grid-column: span 1;
}

.gcol-2 {
	grid-column: span 2;
}

.gcol-3 {
	grid-column: span 3;
}

.gcol-4 {
	grid-column: span 4;
}

.gcol-5 {
	grid-column: span 5;
}

.gcol-6 {
	grid-column: span 6;
}

.gcol-7 {
	grid-column: span 7;
}

.gcol-8 {
	grid-column: span 8;
}

.gcol-9 {
	grid-column: span 9;
}

.gcol-10 {
	grid-column: span 10;
}

.gcol-11 {
	grid-column: span 11;
}

.gcol-12 {
	grid-column: span 12;
}

.facility-images {
	position: relative;
	z-index: 2;
}

.facility-images .grid-around.grid-row2 {
	grid-template-columns: 56.25vw 1fr;
	margin: 90px auto 0;
}

.facility-images .grid-around.grid-row2 .gcol:first-child {
	align-self: start;
	margin-bottom: 150px;
}

.facility-images .grid-around.grid-row2 .gcol:first-child img {
	width: 56.25vw;
	height: 25.52vw;
	object-fit: cover;
}

.facility-images .grid-around.grid-row2 .gcol:last-child {
	display: flex;
	justify-content: end;
}

.facility-images .grid-around.grid-row2 .gcol:last-child img {
	width: 37.76vw;
	height: 25.26vw;
	object-fit: cover;
}

.facility-images .grid-around.grid-row3 {
	grid-template-columns: 39.32vw 1fr 30.47vw;
	margin: 50px auto 125px;
}

.facility-images .grid-around.grid-row3 .gcol:first-child {
	margin: 50px auto;
}

.facility-images .grid-around.grid-row3 .gcol:first-child img {
	width: 39.32vw;
	height: 26.30vw;
	object-fit: cover;
}

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

.facility-images .grid-around.grid-row3 .gcol:nth-child(2) img {
	width: 23.44vw;
	height: 14.84vw;
	object-fit: cover;
}

.facility-images .grid-around.grid-row3 .gcol:last-child {
	align-self: start;
}

.facility-images .grid-around.grid-row3 .gcol:last-child img {
	width: 30.47vw;
	height: 20.31vw;
	object-fit: cover;
}



/**
 * ワイド幅、全幅のスタイル定義
 */
.alignwide {
	width: calc(100% + 200px);
	margin: 0 0 1rem -100px;
}

.alignfull {
	width: calc(100% + 100vw);
	margin: 0 0 1rem -50vw;
}

.alignfull img {
	display: block;
	margin: 0 auto;
	max-width: 100vw;
	height: auto;
}

/* body */
#template {
	text-align: right;
	position: fixed;
	top: 0px;
	right: 0px;
	display: none;
}


/*---------------------- ヘッダー ----------------------*/

#header {
	margin-bottom: 14px;
	position: fixed;
	z-index: 10;
	width: 100%;
	height: 133px;
	background-color: transparent;
	transition: background-color 0.5s ease;
	box-sizing: border-box;
}



#header.scrolled {
	background-color: rgba(255, 255, 255, 1.2);
	box-shadow: 0 0 15px rgba(0, 0, 0, 0.45);
}

#page #header {
	margin-bottom: initial;
	position: sticky;
	transition: initial;
}

#header>.in1200 {
	margin-top: 14px;
}

#header:after {
	content: " ";
	display: block;
	clear: both;
}

#header .logo {
	text-align: center;
	position: fixed;
	top: 0;
	left: 0;
	width: 394px;
	height: 188px;
	border-radius: 0 0 10px 0;
	display: flex;
	justify-content: center;
	align-items: center;
	transition: background 0.1s;
	z-index: 1;
}

#header.scrolled .logo {
	background: var(--color-three);
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.95);
}

#page #header .logo {
	transition: initial;
}

#header div.logo-item,
#header h1.logo-item {
	line-height: 1em;
	font-size: clamp(10px, 2vw, 12px);
	font-weight: normal;
	width: 100%;
	height: 100%;
}

#header .logo a {
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}

#header .logo .img {
	font-size: 32px;
	font-weight: bold;
	max-width: 270px;
}


/* instagramアイコン */
#header #instagram-icon {
	position: fixed;
	top: 50%;
	left: 35px;
	transform: translateY(25px);
}

#header #instagram-icon a:hover {
	opacity: .9;
}

/*---------------------- グローバルナビゲーション ----------------------*/
/* メニュー最後の｜だけ消す(JQ連動) */
.side-menu3rd li.eol .sep,
.side-menu4th li.eol .sep,
.footer-menu1st li.eol .sep,
.footer-menu2nd li.eol .sep {
	display: none !important;
}


/* 横スライドナビ　基本 */
#g-navi {
	position: fixed;
	top: 0;
	right: -945px;
	width: 945px;
	height: 100%;
	background: var(--color-three);
	display: block;
	z-index: 500;
	box-sizing: border-box;
	overflow-y: auto;
}

#g-navi .in100per {
	position: relative;
	padding: 60px;
	box-sizing: border-box;
}

#g-navi .in100per .bt-close {
	position: absolute;
	top: 30px;
	right: 30px;
	cursor: pointer;
}

#g-navi .in100per .bt-close:hover {
	opacity: 0.8;
}

#g-navi ul {
	display: flex;
	justify-content: start;
	align-items: stretch;
	flex-wrap: wrap;
	padding: 0px;
	list-style-type: none;
}

#g-navi ul li {
	flex: 0 0 auto;
	padding: 0;
	margin-top: 0;
	margin-right: 0;
	margin-bottom: 10px;
	margin-left: 0;
	white-space: nowrap;
}

#g-navi ul li:first-child {
	margin-left: 0;
}

#g-navi ul li.last {
	width: 15%;
	background: none;
}

#g-navi ul li a {
	font-family: var(--font-two);
	color: #fff;
	position: relative;
	padding: 16px 0;
	height: 100%;
	background: none;
	margin-left: 20px;
}

#g-navi ul li a:hover {
	opacity: .9;
}

#g-navi ul li a span {
	position: absolute;
	left: -20px;
}


/* 横スライドナビ　サイドメニュー */
#g-navi .side-menu1st {
	background-image: linear-gradient(to right, #fff, #fff 1px, transparent 1px, transparent 8px);
	background-size: 5px 1px;
	background-repeat: repeat-x;
	background-position: bottom;
	padding-left: 20px;
	padding-right: 20px;
	padding-bottom: 20px;
	margin-bottom: 50px;
}

#g-navi .side-menu1st ul.sidemenu {
	display: block;
}

#g-navi .side-menu1st ul.sidemenu li {
	display: flex;
	align-items: center;
	gap: 20px;
	margin: initial;
}

#g-navi .side-menu1st ul.sidemenu li a {
	font-size: 24px;

}

#g-navi .side-menu1st ul.sidemenu li a span {
	font-size: 14px;
}


#g-navi .side-menu1st ul.sidemenu li.menu-item-has-children>a::after {
	content: "";
	display: inline-block;
	width: 1px;
	height: 1.5em;
	margin-left: 1.5em;
	background: currentColor;
	vertical-align: middle;
}

#g-navi .side-menu1st ul.sidemenu ul.sub-menu {
	display: flex;
	align-items: center;
	margin-left: 1rem;
	gap: 30px;
}

#g-navi .side-menu1st ul.sidemenu ul.sub-menu li a {
	font-size: 18px;
}

#g-navi .side-menu1st ul.sidemenu ul.sub-menu li a span {
	font-size: 14px;
}

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

#g-navi .side-menu2nd ul li a {
	font-size: 18px;
}

#g-navi .side-menu2nd ul li.instagram-icon a {
	position: relative;
}

#g-navi .side-menu2nd ul li.instagram-icon a::after {
	content: "";
	position: absolute;
	width: 16.92px;
	height: 16.92px;
	margin-left: 9px;
	margin-top: 3px;
	top: 50%;
	transform: translateY(-50%);
	background-image: url("../img/instagram-icon.png");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

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


#g-navi .side-menu3rd ul {
	max-width: 700px;
	margin: 30px 0;
}

#g-navi .side-menu3rd ul li a {
	font-size: 18px;
	margin-left: initial;
	margin-right: 40px;
}

#g-navi .side-menu3rd ul li a span {
	left: initial;
	right: -21px;
}

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

#g-navi .side-menu4th br {
	display: none;
}


#g-navi .side-menu4th ul li a {
	font-size: 14px;
	margin-left: initial;
	margin-right: 26px;
}

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

/* メニューセット */
#menu-set {
	position: fixed;
	top: 36px;
	right: 30px;
	display: flex;
	gap: 30px;
}

#page #menu-set {
	top: 0;
	right: 0;
	gap: 30px;
	height: 133px;
	width: 100%;
	padding-right: 30px;
	padding-left: 400px;
	background: #fff;
}

#page #menu-set #bt-set {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 30px;
}







/* ボタンセット */
#bt-set {
	display: flex;
}

#bt-set a {
	font-family: var(--font-two);
}

/* 横スライドボタン */
#s-menu {
	font-family: var(--font-two);
	font-size: 18px;
	color: #645D56;
	width: 166px;
	height: 56px;
	border: solid 1px #fff;
	background-color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 20px;
	cursor: pointer;
}

#s-menu:hover {
	background-color: #eee;

}

#header.scrolled #s-menu {
	border-color: var(--color-three);
}

/* お問い合わせTEXT */
#header .inquiry {
	font-size: 18px;
	color: #fff;
	width: 166px;
	height: 56px;
	border: solid 1px #fff;
	background-color: rgba(100, 93, 86, 0.5);
	display: flex;
	justify-content: center;
	align-items: center;
}

#header .inquiry:hover {
	background-color: rgba(100, 93, 86, 0.9);
}

#header.scrolled .inquiry {
	background-color: var(--color-three);
	border-color: var(--color-three);
}

#header.scrolled .inquiry:hover {
	opacity: 0.9;
}

/* お問い合わせTEL */
#header .contact {
	font-size: 18px;
	color: #fff;
	width: max-content;
	height: 56px;
	border: solid 1px #FFF;
	background-color: rgba(100, 93, 86, 0.5);
	padding: 0 20px;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
}

#header.scrolled .contact {
	background-color: var(--color-three);
	border-color: var(--color-three);
}

#header .contact .header {
	display: inline-block;
}

#header .contact .tel {
	font-size: 18px;
	display: inline-block;
}

#header .contact .tel a {
	color: #fff;
}


/* ヘッダーナビ */
#g-navi2nd {
	width: 100%;
}

#g-navi2nd ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	margin: 0;
	padding: 0;
	list-style-type: none;
	align-items: stretch;
	max-width: 60vw;
}

#page #g-navi2nd ul {
	height: 133px;
	align-items: center;
	position: absolute;
	right: 400px;
}


#g-navi2nd ul li {
	overflow: hidden;
	flex-grow: 1;
	padding: 0;
	margin-top: 0;
	margin-right: 0;
	margin-bottom: 0;
	margin-left: 0;
	line-height: 1em;
	background: url(../img/navi_ico2.png) no-repeat center bottom;
}

#header.scrolled #g-navi2nd ul li {
	background: url(../img/navi_ico.png) no-repeat center bottom;
}

#g-navi2nd ul li.current-menu-item {
	background: url(../img/navi_ico_active.png) no-repeat center bottom;
}

#header.scrolled #g-navi2nd ul li.current-menu-item {
	background: url(../img/navi_ico_active.png) no-repeat center bottom;
}

#g-navi2nd ul li:first-child {
	margin-left: 0;
}

#g-navi2nd ul li.last {
	width: 15%;
	background: none;
}

#g-navi2nd ul li a {
	color: #fff;
	font-family: var(--font-two);
	font-weight: 500;
	text-align: center;
	white-space: nowrap;
	background: none;
	position: relative;
	display: block;
	padding: 16px 20px;
	height: 100%;
	box-sizing: border-box;

}

#g-navi2nd ul li a:hover {
	opacity: .9;
}

#header.scrolled #g-navi2nd ul li a {
	color: var(--color-three);
}

#header.scrolled #g-navi2nd ul li a:hover {
	opacity: .9;
}

/*---------------------- 固定ボタン ----------------------*/
#sub-bt {
	position: fixed;
	top: 133px;
	right: 30px;
	display: flex;
	justify-content: center;
	gap: 10px;
	z-index: 5;
}

#sub-bt a {
	color: #fff;
	font-family: var(--font-two);
	font-size: 25px;
	width: 264px;
	height: 68px;
	display: flex;
	justify-content: center;
	align-items: center;
	padding-top: 5px;
	box-sizing: border-box;
}

#sub-bt a.bt1st {
	background: #38582D;
}

#page.page-spa a.bt1st {
	background: #856E5A;
}


#sub-bt a.bt2nd {
	background: #673535;
}

#page.page-spa a.bt2nd,
#page.page-relaxation a.bt2nd {
	background: #603C24;
}

#page.page-tsubaki a.bt2nd {
	background: #856E5A;
}

#sub-bt a span.sub-title {
	font-size: 17px;
	margin-right: 10px;
}



/*---------------------- ボタン　----------------------*/
/* 和風グリーンボタン ホバー時右に動く */
.btn-green {
	display: flex;
	justify-content: center;
	padding: 12px 0;
	width: 240px;
	margin-bottom: 15px;
	color: #fff;
	font-family: var(--font-two);
	font-size: clamp(18px, 2vw, 20px);
	font-weight: bold;
	background: #38582D;
	border: 2px solid #fff;
	border-radius: 30px;
	text-decoration: none;
	transition: all 0.3s ease;
	box-shadow: 0 3px 6px rgba(0, 0, 0, 0.15);
	position: relative;
}

.btn-green:hover {
	background: #2a4625;
	transform: translateX(6px);
	box-shadow: 0 6px 12px rgba(0, 0, 0, 0.25);
}

.btn-green span.small {
	font-size: 14px;
	padding: 0 5px;
}

#top #meal .pin-1st .title-under-bt .btn-green {
	width: 260px;
	background: #922D2D;
}

#top #meal .pin-1st .title-under-bt .btn-green:hover {
	background: #2a4625;
}

#top #info .title-under-bt {
	margin-top: 150px;
}

#page.single .title-under-bt {
	margin-top: 50px;
}

#page.page-access .map-news-bt .btn-green,
#page.single .title-under-bt .btn-green,
#top #info .title-under-bt .btn-green {
	background: #B85B3E;
}

#page.single .title-under-bt .btn-green {
	max-width: 200px;
}

#page.page-access .map-news-bt .btn-green:hover,
#page.single .title-under-bt .btn-green:hover,
#top #info .title-under-bt .btn-green:hover {
	background: #2a4625;
}

.inner-under-bt {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 30px;
}

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

.efficacy .inner-under-bt .btn-green {
	background: #922D2D;
}

#page.page-golf .inner-box.bathing-box .inner-under-bt .btn-green {
	margin-bottom: 60px;
}


#page.page-course .title-under-bt .btn-green,
#page.page-golf .title-under-bt .btn-green {
	width: auto;
	padding: 12px 30px;
}

.loops-bt {
	position: relative;
	max-width: min(90vw, 1050px);
	margin: 0 auto;
}

#page.page-hanayunomori .loops-bt {
	max-width: min(90vw, 940px);
}

.loops-side-bt {
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
}

.loops-side-bt .btn-green {
	margin: initial;
	background: #B85B3E;
	padding: 10px 0;
}

.loops-side-bt .btn-green:hover {
	background: #2a4625;
}

#page.page-golf .info-bt .btn-green,
#page.page-hanayunomori .info-bt .btn-green,
#page.page-news .info-bt .btn-green,
#top #info .info-bt .btn-green {
	font-family: var(--font-one);
	font-size: clamp(14px, 2vw, 16px);
	font-weight: 500;
	width: 160px;
	display: flex;
	justify-content: center;
	padding: 10px 0;
	margin: initial;
	background: #B85B3E;
}

#page.page-golf .info-bt .btn-green,
#page.page-hanayunomori .info-bt .btn-green,
#page.page-news .info-bt .btn-green {
	padding: 8px 0;
}


#page.page-golf .info-bt .btn-green:hover,
#page.page-hanayunomori .info-bt .btn-green:hover,
#page.page-news .info-bt .btn-green:hover,
#top #info .info-bt .btn-green:hover {
	background: #2a4625;
}

#page.page-news .title-under-bt .btn-green {
	display: none;
}


/* 和風ホワイトボタン ホバー時右に動く */
.btn-white {
	display: flex;
	justify-content: center;
	padding: 15px 0;
	width: 240px;
	margin-bottom: 15px;
	color: #2A2F1D;
	font-family: var(--font-two);
	font-size: 20px;
	font-weight: bold;
	background: #fff;
	border: 2px solid #2A2F1D;
	border-radius: 30px;
	text-decoration: none;
	transition: all 0.3s ease;
	box-shadow: 0 3px 6px rgba(0, 0, 0, 0.15);
	position: relative;
}

.btn-white:hover {
	background: #eee;
	transform: translateX(6px);
	box-shadow: 0 6px 12px rgba(0, 0, 0, 0.25);
}




/*---------------------- 動く背景　----------------------*/
/* メイン背景 */
#main {
	clear: both;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
}

#article {
	padding-top: 0;
}



/*---------------------- リード文 ----------------------*/
#lead {
	padding: 0;
}

#lead h1 {
	text-align: center;
	font-weight: normal;
	font-size: 32px;
	line-height: 1em;
}

#lead h1 img {
	margin-bottom: 0px;
}

#lead h2 {
	text-align: center;
	font-weight: normal;
	font-size: 32px;
	line-height: 1.4em;
	margin-bottom: 22px;
}

#lead h1 em,
#lead h2 em {
	font-size: 50%;
	font-style: normal;
	line-height: 1ex;
}



/* トップページリード */
#top #lead {
	position: relative;
}

#top #lead .lead-bt-wrap {
	position: absolute;
	right: 30px;
	bottom: 65px;
	z-index: 2;
}

#top #lead .lead-bt-wrap a {
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	color: var(--color-three);
	background: #fff;
	border: 1px solid #fff;
	padding: 15px;
	font-family: var(--font-two);
	font-size: 18px;
	text-decoration: none;
	transition: all 0.3s ease;
}

#top #lead .lead-bt-wrap a:hover {
	border-color: #666;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
	opacity: 0.95;
}


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

#page #lead .in100per {
	display: flex;
	padding-top: 50px;
	justify-content: right;
	position: relative;
}

#page.page-golf #lead .in100per {
	padding-top: initial;
	margin-bottom: -1px;
}

#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: initial;
}

#page #page-2nd .main-title,
#page #lead .in100per .main-title {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	position: absolute;
	top: 250px;
	left: 10vw;
	z-index: 1;
}

#page #page-2nd .main-title {
	top: 200px;
}

#page.page-privacy-policy #lead .in100per .main-title,
#page.page-golf #lead .in100per .main-title,
#page.page-news #lead .in100per .main-title,
#page.page-thanks #lead .in100per .main-title,
#page.page-contact #lead .in100per .main-title {
	left: 11vw;
}

#page.single #lead .in100per .main-title {
	left: 7vw;
}

#page.page-hanayunomori #lead .in100per .main-title {
	left: 6vw;
}

#page.page-course #lead .in100per .main-title {
	left: 5vw;
}




#page #lead .in100per .main-title .title-note {
	font-size: clamp(15px, 2vw, 20px);
	writing-mode: vertical-rl;
	border: solid 1px;
	padding: 10px;
	position: absolute;
	bottom: 55px;
	left: -55px;
}



#page #page-2nd h2,
#page #lead h1 {
	color: var(--color-one);
	font-size: clamp(30px, 3vw, 40px);
	writing-mode: vertical-rl;
	position: relative;
	padding-top: 10px;
	padding-bottom: 60px;
	width: max-content;
}

#page.page-course #lead h1,
#page.page-golf #lead h1,
#page.page-tsubaki #lead h1,
#page.page-cuisine #lead h1,
#page.single #lead h1,
#page.page-news #lead h1,
#article_404 #lead h1,
#page.page-privacy-policy #lead h1,
#page.page-thanks #lead h1,
#page.page-contact #lead h1 {
	font-size: clamp(30px, 2vw, 38px);
}




#page #page-2nd h2 {
	color: var(--color-two);
}

#page.single #lead h1 {
	padding: initial;
}

#page #page-2nd h2::before,
#page #lead h1::before {
	content: "";
	position: absolute;
	top: -115px;
	left: 50%;
	transform: translatex(-50%);
	width: 1px;
	height: 115px;
	background: var(--color-one);
}

#page #page-2nd h2::before {
	background: var(--color-two);
}

#page #page-2nd h2 span.sub-title,
#page #lead h1 span.sub-title {
	font-size: clamp(20px, 2vw, 30px);
	padding: 10px;
}



#page #lead #contents_area {
	padding: 25px 0 20px;
	width: 100%;
	height: 100%;
	flex: 1 1 auto;
	min-width: 0;
}





/*---------------------- トップページ　各セクション設定  ----------------------*/
#top h2 {
	color: var(--color-one);
}

#top section .in100per {
	overflow: hidden;
}


#top #hotspring .at-right-top,
#top #meal .at-right-center {
	z-index: 2;
}



/* セクション1 hotspring */
#top #hotspring {
	height: 1050px;
	padding-top: initial;
	padding-bottom: initial;
}

#top #hotspring .flex-original img {
	position: relative;
	z-index: 2;
}

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

#top #hotspring .pin-2nd {
	right: 650px;
}

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



#top #hotspring .at-left-bottom {
	margin-left: 560px;
}

#top #hotspring .parax-text {
	max-width: 42vw;
	margin-right: 5.29vw;
	flex-direction: column;
	top: 370px;
}

#top #hotspring .parax-title {
	top: 225px;
}


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


/* セクション2 meal */
#top #meal {
	height: 1050px;
}

#top #meal .flex-original {
	padding-top: 40px;
	padding-left: 125px;
}

#top #meal .parax-title {
	margin-left: 60px;
	top: 200px;
}

#top #meal .parax-title .parax-text-wrap::before {
	top: -6.33vw;
	height: 6.33vw;
}


#top #meal .pin-1st {
	display: flex;
	flex-direction: column;
	justify-content: center;
	max-width: 29.43vw;
	margin-right: 10vw;
	gap: 50px;
	transform: translateY(-30%) translate3d(var(--px, 0), var(--py, 0), 0);
}

#top #meal .at-right-top {
	margin-right: 30vw;
}

#top #meal .at-left-bottom {
	bottom: -50px;
	z-index: 2;
}

#top #meal .at-right-bottom {
	bottom: 70px;
}





/* セクション3 golf */
#top #golf {
	height: 1050px;
}

#top #golf .parax-text {
	display: flex;
	align-items: center;
	gap: 4vw;
	padding-top: 200px;
}

#top #golf .flex-original {
	gap: 3.5vw;
	max-width: 68vw;
	margin: 0 auto;
	padding-top: 200px;
}

#top #golf .flex-original .col80 {
	width: 87%;
}

#top #golf .flex-original .col80 img {
	position: relative;
	z-index: 2;
}



#top #golf .golf-box {
	display: flex;
	gap: 75px;
	margin-top: 130px;
	align-items: center;
}

#top #golf .at-center-center {
	margin-left: 320px;
}

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

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

/* セクション4 info */
#top #info {
	height: 1050px;
}

#top #info .flex-original {
	justify-content: center;
	align-items: stretch;
	padding-top: 11.46vw;
	margin-left: 410px;
	max-width: 1250px;
}

#top #info .parax-text-wrap {
	margin-top: 150px;
}

#top #info .parax-text-wrap::after {
	content: "";
	position: absolute;
	top: -100px;
	left: 100px;
	width: 59.51px;
	height: 402.95px;
	background-image: url("../img/information-title.png");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

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

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


#top #info .info-bt {
	display: flex;
	justify-content: right;
	align-items: end;
}


/*---------------------- 固定ページ共通 ----------------------*/
#page article {
	padding-top: initial;
}

#page .section-title {
	width: 100%;
	max-width: min(90vw, 1050px);
	margin: 0 auto 30px;
	padding: 20px;
	text-align: center;
	border: 1px solid #fff;
	outline: 1px solid #fff;
	outline-offset: -6px;
}

#page.page-hanayunomori .section-title {
	max-width: min(90vw, 940px);
}

#page .section-title h3 {
	color: var(--color-one);
	font-size: clamp(26px, 2.6vw, 30px);
	line-height: 1.1em;
	padding: 0;
}

#page .section-title h3 br {
	display: none;
}

#page.page-course #item4th .section-title h3,
#page.page-tsubaki #item3rd .section-title h3,
#page.page-tsubaki #item1st .section-title h3 {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
}

#page.page-course #item4th .section-title h3 span:first-of-type,
#page.page-tsubaki #item3rd .section-title h3 span:first-of-type,
#page.page-tsubaki #item1st .section-title h3 span:first-of-type {
	font-size: clamp(18px, 2vw, 28px);
	padding-right: 10px;
}




/* 共通セクション instagram */
#instagram {
	height: 735px;
	padding-top: 100px;
}

#instagram h2 {
	font-size: 19px;
	line-height: 1em;
	color: var(--color-three);
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
}

#instagram h2 img {
	max-width: 305px;
}

#instagram .instagram-feed {
	background-color: var(--color-three);
	max-width: min(90vw, 1490px);
	margin: 0 auto;
}

#instagram .instagram-feed #sb_instagram {
	padding: 50px;
}

#instagram .instagram-bt-wrap {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 10px 0;
}

#instagram .instagram-bt-wrap a {
	font-family: var(--font-two);
	font-size: 20px;
	color: #fff;
	font-weight: 600;
	text-decoration: none;
	background-color: #3d3935;
	display: inline-block;
	padding: 12px 30px;
	border-radius: 25px;
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
	transition: all 0.3s ease;
}

#instagram .instagram-bt-wrap a:hover {
	background-color: #e1306c;
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.25);
	transform: translateY(-2px);
}

#instagram .pin-1st {
	right: 180px;
}

/* 共通セクション　Googleマップ */
#map_canvas {
	padding-top: initial;
	padding-bottom: initial;
}

#page.page-access #map_canvas {
	padding-top: 40px;
}

#map_canvas .in100per {
	height: 350px;
	width: 100%;
	position: relative;
	overflow: hidden;
	padding: 0;
}

#page.page-access #map_canvas .in100per {
	height: 650px;
}

#map_canvas .in100per .map-google {
	width: auto;
	height: 500px;
	margin: 0;
	padding: 0;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	max-width: 100%;
	max-height: 100%;
}

#page.page-access #map_canvas .in100per .map-google {
	left: initial;
	-webkit-transform: initial;
	-ms-transform: initial;
	transform: initial;
	top: 0;
	right: 0;
}

#map_canvas .in100per .map-google iframe {
	width: 100%;
	height: 100%;
	border: 0;
}

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



/* 共通セクション　住所などの情報部分 */
#map_bt {
	padding-top: initial;
	padding-bottom: initial;
}

#page.page-access #map_bt {
	display: flex;
	justify-content: flex-end;
}

#page.page-access #map_bt .in100per {
	max-width: min(77.24vw, 1483px);
}

#map_bt .map-under {
	background-color: #726F6C;
	height: 155px;
	width: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

#page.page-access #map_bt .map-under {
	background-color: initial;
	height: initial;
	display: grid;
	grid-template-columns: auto 1fr;
	grid-template-rows: auto auto;
	grid-template-areas:
		"text btns"
		"note btns";
	gap: 0 30px;
	padding: 30px;
}


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

#map_bt .map-under p {
	padding-top: initial;
}

#map_bt .map-under p.title {
	font-size: clamp(20px, 2vw, 30px);
	padding-bottom: initial;
}

#map_bt .map-under-bt a {
	font-family: var(--font-two);
	font-size: clamp(16px, 2vw, 20px);
	font-weight: 400;
	color: var(--color-three);
	text-decoration: none;
	background: #fff;
	display: inline-flex;
	align-items: center;
	padding: 10px 20px;
	border-radius: 25px;
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
	transition: all 0.3s ease;
}

#map_bt .map-under-bt a:hover {
	background: #f1f3f4;
	box-shadow: 0 6px 14px rgba(0, 0, 0, 0.15);
	transform: translateY(-2px);
}

#map_bt .map-under-bt a .google-icon {
	width: 20px;
	height: 20px;
	margin-right: 8px;
}

#page.page-access #map_bt .map-under p {
	padding-bottom: initial;
}

#page.page-access #map_bt .map-under .map-text {
	grid-area: text;
}

#page.page-access #map_bt .map-under .map-text p.address {
	font-size: clamp(14px, 2vw, 20px);
	padding-bottom: initial;
}

#page.page-access #map_bt .map-under .map-text p.address a {
	font-size: clamp(18px, 2vw, 20px);
	padding-left: 20px;
}

#page.page-access #map_bt .map-under .map-note {
	grid-area: note;
}

#page.page-access #map_bt .map-under .map-note p {
	font-size: clamp(14px, 2vw, 16px);
	text-align: left;
}





/* 共通セクション　交通アクセス */
.route {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: nowrap;
	margin: 0 auto 30px;
	padding: 0 0 80px;
	position: relative;
}

.route .note {
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: max-content;
}

.route .item {
	position: relative;
	background: #fff;
	border-radius: 23px;
	width: 100%;
	min-height: 190px;
	min-width: 185px;
	max-width: 186px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.route .item .direction {
	position: absolute;
	left: 50%;
	transform: translatex(-50%);
	top: -25px;
	font-size: clamp(15px, 2vw, 20px);
	width: max-content;
}

.route .item p {
	color: #333;
	font-size: clamp(26px, 2vw, 30px);
	font-weight: bold;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.route .item span {
	font-size: clamp(16px, 2vw, 20px);
	line-height: clamp(16px, 2vw, 20px);
}

.route .item img {
	max-width: 155px;
	margin: 0 auto;
}

.route .times {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-width: 195px;
	max-width: 200px;
}

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

.route .times p {
	font-size: clamp(16px, 2vw, 20px);
	line-height: clamp(16px, 2vw, 20px);
}


.route .times p span.number {
	font-size: 32px;
	padding: 5px;
}

.train-top {
	display: flex;
	flex-direction: column;
}

.train-top .train-pair {
	display: flex;
	align-items: center;
}

.train-top .train-pair .item {
	min-height: initial;
	max-height: 80px;
}



.train-bottom {
	display: flex;
	align-items: center;
	justify-content: center;
}





/*---------------------- インナーボックス　----------------------*/
/* 大箱(contents) */
.contents {
	margin-top: 100px;
	display: flex;
	flex-direction: column;
	position: relative;
}

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



/* 白箱 */
.inner-box {
	line-height: 1.5em;
	width: 100%;
	max-width: min(90vw, 1050px);
	border-radius: 23px;
	background-color: currentColor;
	border: solid 2px currentColor;
	margin: 20px auto;
	padding: 20px 3vw;
}

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

#page.page-hanayunomori .inner-box {
	max-width: min(90vw, 940px);
}

#page.page-golf .inner-box {
	padding: 20px 3vw 0;
}


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

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

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






/* 空箱(透明、線あり) */
.inner-box-c {
	width: 100%;
	max-width: min(90vw, 1050px);
	border-radius: 23px;
	border: solid 2px currentColor;
	margin: 40px auto;
	padding: 0 2vw;
}

#page.page-hanayunomori .inner-box-c {
	max-width: min(90vw, 940px);
	margin: 10px auto 80px;
}


.inner-box-c p {
	font-size: clamp(12px, 2vw, 16px);
}

/* 空箱（透明、線ナシ） */
.inner-box-p {
	width: 100%;
	max-width: min(90vw, 1050px);
	margin: 0 auto;
}

.inner-box-p .inner-text {
	margin: 20px auto;
}

.inner-box-p .inner-text p {
	font-size: clamp(12px, 2vw, 16px);
	padding: initial;
}

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

.inner-box-p .inner-photo {
	margin: 20px auto 30px;
	position: relative;
	z-index: 2;
}

.inner-box-p .inner-photo p {
	font-size: clamp(12px, 2vw, 14px);
	padding-left: 50px;
	padding-top: 50px;
}

.inner-box-p .inner-photo ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	gap: 20px;
	list-style: none;
	padding: 0;
	margin: 0;
}

.inner-box-p .inner-photo li {
	flex: 0 0 calc(50% - 10px);
	box-sizing: border-box;
	position: relative;
}

.inner-box-p .inner-photo figure {
	margin: 0;
	cursor: pointer;
}

.inner-box-p .inner-photo figure a {
	display: block;
	width: 100%;
	height: auto;
}

.inner-box-p .inner-photo figure img {
	display: block;
	width: 100%;
	aspect-ratio: 514 / 344;
	object-fit: cover;
}

.inner-box-p .inner-photo figure figcaption {
	margin-top: 0.3em;
	font-size: 0.9em;
	pointer-events: none;
}

.inner-box-p .inner-photo figure figcaption .caption {
	font-size: clamp(10px, 2vw, 18px);
	position: relative;
}

.inner-box-p .inner-photo figure figcaption .caption::after {
	content: "";
	position: absolute;
	right: -25px;
	top: 50%;
	transform: translateY(-50%);
	width: 21.24px;
	height: 21.24px;
	background-image: url("../img/glass.png");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}


/* 自由欄 */
.section-free {
	width: 100%;
	max-width: min(90vw, 1050px);
	margin: 0 auto;
}

#page.page-hanayunomori .section-free {
	max-width: min(90vw, 940px);
}

#page.page-course #item4th .section-free {
	max-width: 100%;
}



.section-free p img {
	margin: 20px auto;
}

.section-free p.max {
	font-size: clamp(12px, 2vw, 18px);
	max-width: min(80vw, 1050px);
	margin: 0 auto;
}

.section-free p.size-max {
	padding: initial;
}

.section-free p.size-max img {
	width: 100%;
	height: 30vw;
	object-fit: cover;
	object-position: center center;
	margin: 0 auto 30px;
}



/* 商品説明 */
.efficacy {
	display: grid;
	grid-template-columns: auto 1fr;
	column-gap: 70px;
	row-gap: 50px;
	align-items: flex-start;
	padding: 0 3vw 50px;
}

#page.page-spa .efficacy {
	grid-template-columns: 155px 1fr;
}

#page.page-tsubaki #item1st .efficacy {
	grid-template-columns: 155px 1fr;
	row-gap: 20px;
}

#page.page-tsubaki #item3rd .efficacy {
	grid-template-columns: 320px 1fr;
	column-gap: 40px;
	row-gap: 20px;
}

#page.page-golf .efficacy,
#page.page-relaxation .efficacy {
	grid-template-columns: 220px 1fr;
}

#page.page-course .efficacy {
	grid-template-columns: 220px 1fr;
	row-gap: initial;
}

#page.page-golf .efficacy {
	column-gap: 50px;
}

#page.page-golf .efficacy.efficacy-top {
	padding: 0 3vw 15px;
}

#page.page-relaxation .efficacy {
	margin-top: 80px;
}

#page.page-relaxation #page-2nd .efficacy {
	column-gap: 3vw;
	border: solid 2px var(--color-two);
}

#page.page-access .efficacy {
	column-gap: 40px;
}

.efficacy .flex-around {
	display: contents;
}

.efficacy .colleft {
	width: 100%;
	height: 100%;
}

#page.page-course #item3rd .efficacy .colleft,
#page.page-spa #spa1st .efficacy .colleft {
	height: initial;
}

#page.page-tsubaki #item3rd .efficacy .colleft h4.title {
	font-size: clamp(18px, 2vw, 24px);
	font-family: var(--font-one);
	text-align: right;
	padding-top: 20px;
	padding-bottom: 20px;
}

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

#page.page-course #item3rd .efficacy h4.title {
	text-align: right;
}

#page.page-golf .efficacy.efficacy-top h4.title,
#page.page-relaxation .efficacy h4.title {
	border-right: initial;
}

#page.page-golf .efficacy.efficacy-top .colleft,
#page.page-relaxation .efficacy .colleft {
	border-right: solid 12px var(--color-one);
}


#page.page-relaxation #page-2nd .colleft {
	border-right: solid 12px var(--color-two);
}



.efficacy .colright {
	display: flex;
	flex-direction: column;
	justify-content: center;
	height: 100%;
	gap: 20px;
}

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

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

.efficacy.efficacy-low .flex-around:first-of-type .colright .item:first-child {
	margin-top: initial;
}

.efficacy.efficacy-low .flex-around:last-of-type .colright {
	gap: 25px;
}

.efficacy.efficacy-low .flex-around:last-of-type .colright .item {
	margin-top: 20px;
}



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



.efficacy .colright .item p {
	font-size: clamp(12px, 2vw, 18px);
	padding: initial;
}

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

.efficacy .colright .item p.title {
	font-size: clamp(18px, 2vw, 20px);
	font-weight: bold;
	line-height: 2em;
}

.efficacy .colright .item p.tel {
	margin-top: 1em;
}

.efficacy .colright .item p.tel a {
	font-size: clamp(24px, 2vw, 35px);
	font-weight: bold;
	margin-right: 10px;
}

.note-box {
	border-radius: 16px;
	background: var(--color-one);
	margin: 10px auto 60px;
	max-width: 885px;
}


.note-box p {
	color: var(--color-two);
	font-size: clamp(12px, 2vw, 16px);
	text-align: center;
	padding: 20px;
}


/* コース説明 */
#course-slider {
	width: 100%;
	max-width: min(90vw, 1050px);
	border-radius: 23px;
	background-color: currentColor;
	border: solid 2px currentColor;
	margin: 30px auto;
	padding: 30px 3vw;
	background: #fff;
}

.course-box {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 50px;
	padding-left: 5px;
	padding-right: 5px;
	padding-bottom: 20px;
	margin-bottom: 35px;
	position: relative;
}

.course-box::after {
	content: "";
	display: block;
	width: 100%;
	height: 2px;
	position: absolute;
	bottom: 0;
	left: 50%;
	-webkit-transform: translate(-50%);
	-ms-transform: translate(-50%);
	transform: translate(-50%);
	background-image: linear-gradient(to right, var(--color-two), var(--color-two) 2px, transparent 2px, transparent 8px);
	background-size: 5px 2px;
	background-repeat: repeat-x;
}

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

.course-info {
	width: 42%;
}

.course-img {
	width: 55%;
	display: flex;
	justify-content: center;
}

.course-img img {
	margin: 20px auto;
}

.course-labels {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 10px;
	margin-bottom: 10px;
	align-items: stretch;
}

.course-labels p {
	font-size: clamp(20px, 2vw, 20px);
	font-weight: bold;
	line-height: 1.5em;
	box-sizing: border-box;
	padding: 8px;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%;
}

.course-labels p.course-no {
	background-color: #79AB21;
	width: 150px;
	padding: 8px 8px 2px;
	align-items: baseline;
}

.course-labels p.course-no span.hall-no {
	font-size: clamp(35px, 2vw, 35px);
	padding: 0 5px;
}

.course-labels p.course-yard {
	background-color: #C0D99E;
	color: #306B3B;
}

.course-labels p.course-par {
	background-color: #306B3B;
	grid-column: 1 / -1;
}

p.course-text {
	color: var(--color-two);
	font-size: clamp(14px, 2vw, 16px);
	padding: 10px;
}

.course-info p.center {
	margin: 0 auto;
	padding: 5px;
}



#course-slider .course-box:nth-child(n+10) {
	display: block;
}

#course-slider .course-box:nth-child(n+10) .course-info {
	width: 100%;
}

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

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




/* フリースペース　注意事項 */
.section-free h5 {
	color: var(--color-one);
	font-family: var(--font-one);
	font-size: clamp(22px, 2vw, 33px);
}

ul.circle,
ul.diamond {
	list-style: none;
	padding: 20px;
	margin: initial;
}

#page.page-hanayunomori ul.diamond {
	padding: 80px 20px;
}

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


ul.circle li,
ul.diamond li {
	position: relative;
	font-size: clamp(12px, 2vw, 18px);
	padding-left: 1.5em;
	line-height: 1.5em;
	margin-bottom: 1em;
}

ul.circle li::before,
ul.diamond li::before {
	content: "◆";
	position: absolute;
	left: 0px;
	top: 0;
	font-size: clamp(16px, 2vw, 22px);
	line-height: 1.2em;
}

ul.circle li::before {
	content: "●";
}

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


ol.number li {
	font-size: clamp(12px, 2vw, 18px);
	padding-left: 0.1em;
	line-height: 1.2em;
	margin-bottom: 1em;
}

ol.number li:last-child {
	margin-bottom: initial;
}


/*---------------------- インナーボックス　タイトル　----------------------*/
.inner-menu-title,
.inner-title {
	width: 100%;
	display: flex;
	justify-content: center;
	margin: 0 auto;
}

.inner-title h4 {
	font-size: clamp(22px, 2vw, 26px);
	position: relative;
}

.inner-title h4::after {
	content: "";
	position: absolute;
	bottom: -5px;
	left: 50%;
	transform: translateX(-50%);
	width: 75px;
	height: 7px;
	background-color: #B2A89F;
}

#page.page-golf .inner-title h4::after,
#page.page-relaxation .inner-title h4::after {
	background-color: #856E5A;
}


.inner-box-p .inner-title h4::after {
	content: initial;
}

.inner-box-c .inner-title h4::after {
	content: initial;
}

.inner-box-c .inner-menu-title,
.inner-box-c .inner-title,
.inner-box-p .inner-title {
	justify-content: start;
}

.inner-box-c h4,
.inner-box-p h4 {
	color: var(--color-one);
	line-height: 1.5em;
	margin-bottom: initial;
}

.inner-box-c h4.title {
	font-size: clamp(22px, 2vw, 30px);
	line-height: 1.2em;
	padding-top: 15px;
	padding-right: 30px;
	padding-bottom: 15px;
	border-right: solid 12px #fff;
}

.inner-box-c .inner-menu-title h4.title {
	padding-top: 40px;
	padding-bottom: 30px;
	margin-left: 10px;
	margin-bottom: 10px;
}

.inner-box-c .flex-around:first-of-type h4.title {
	padding-top: 45px;
}

.inner-box-c .efficacy.efficacy-top .flex-around h4.title,
.inner-box-c .efficacy.efficacy-low .flex-around h4.title {
	text-align: right;
	padding-right: 50px;
}

.inner-box-c .efficacy.efficacy-low .flex-around:first-of-type h4.title {
	padding-top: 15px;
}


#page.page-hanayunomori .inner-box-c h4,
#page.page-hanayunomori .inner-box-p h4 {
	color: var(--color-two);
}

#page.page-access .inner-box-c h4.title {
	padding: 30px 40px 30px 0;
}

.inner-subtext p {
	font-size: clamp(12px, 2vw, 16px);
	color: var(--color-two);
}

.inner-box.play-box .inner-subtext p {
	padding: 30px 0 50px;
}

.inner-subtitle h3 {
	font-family: var(--font-one);
	font-size: clamp(20px, 2vw, 24px);
	display: flex;
	justify-content: center;
}

.inner-subtitle p {
	color: var(--color-two);
	font-size: clamp(12px, 2vw, 18px);
	display: flex;
	justify-content: center;
	padding: initial;
	margin: 20px auto;
}


#page-2nd .inner-box-c h4,
#page-2nd .inner-box-p h4,
#page-2nd li,
#page-2nd a,
#page-2nd p {
	color: var(--color-two);
}


#page-2nd .inner-box-p .inner-photo figure figcaption .caption::after {
	background-image: url(../img/glass2.png);
}


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

.inner-title-bt .title-under-bt {
	display: flex;
	justify-content: center;
	margin-top: 30px;
}

.inner-title-bt .title-under-bt .btn-green {
	padding: 10px 0;
}


/*---------------------- メインフォト　----------------------*/
.main-photo {
	width: 100%;
	max-width: min(90vw, 1165px);
	margin: 0 auto;
}

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

#page.page-relaxation #page-2nd.pink .main-photo::after {
	content: "※写真はイメージです。";
	font-size: clamp(12px, 2vw, 16px);
	color: var(--color-two);
	text-align: right;
	display: block;
	width: 100%;
	padding-top: 1vw;
	box-sizing: border-box;
}

.main-photo img {
	object-fit: cover;
	width: 100%;
	height: min(50vw, 535px);
}

#page .main-photo+.section-title {
	margin: 80px auto 0;
}


/*---------------------- 商品アイテム　----------------------*/
.menu-table {
	width: 100%;
	margin: 20px auto 0;
}


.menu-table ul.menu-list {
	display: flex;
	justify-content: center;
	gap: 25px;
	list-style: none;
	padding: 0;
	margin: 0;
}

.menu-table ul.menu-list li.menu-card {
	flex: 0 0 calc(33.333% - 14px);
	max-width: 340px;
	box-sizing: border-box;
}

.menu-table ul.menu-list li.menu-card figure {
	margin: 0;
	display: flex;
	flex-direction: column;
	height: 100%;
}

.menu-table ul.menu-list li.menu-card figure img {
	width: 100%;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	display: block;
}

.menu-table ul.menu-list li.menu-card figure figcaption {
	padding: 0 10px;
}

.menu-table ul.menu-list li.menu-card figure figcaption p {
	padding: initial;
	margin: 0.5em 0;
}

.menu-table ul.menu-list li.menu-card figure figcaption .menu-title {
	font-weight: bold;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: center;
}

.menu-table ul.menu-list li.menu-card figure figcaption .menu-title .menu-name {
	font-size: clamp(17px, 2vw, 22px);
	margin-right: 20px;
}


.menu-table ul.menu-list li.menu-card figure figcaption .menu-title .menu-price {
	font-size: clamp(15px, 2vw, 20px);
}

.menu-table ul.menu-list li.menu-card figure figcaption .menu-desc {
	font-size: clamp(12px, 2vw, 18px);
	line-height: 1.2em;
}


.menu-table .menu-table-note {
	width: 100%;
	display: flex;
	justify-content: center;
	padding: 20px 0 10px;
}



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

.inner-item.item-private {
	margin: 20px auto;
}

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

.inner-item p {
	color: var(--color-two);
	font-size: clamp(12px, 2vw, 16px);
}

.inner-item p.note {
	text-align: center;
	padding: initial;
	margin: 40px auto;
}


.inner-item p.price-note {
	padding: 0 0 0 30px;
	text-indent: -15px;
}

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

.inner-item.unsteadiness2nd p.note {
	padding: 20px 0;
}

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

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

.inner-box .inner-border::after,
#page.page-hanayunomori .inner-box.box-1st .inner-item::after {
	content: "";
	display: block;
	height: 2px;
	background-image: linear-gradient(to right, var(--color-two), var(--color-two) 2px, transparent 2px, transparent 8px);
	background-size: 5px 2px;
	background-repeat: repeat-x;
	margin-top: 40px;
}

#page.page-hanayunomori .inner-box.box-1st .inner-item:last-child::after {
	content: initial;
}




/* 料金表ヘッダー */
.price-header {
	display: grid;
	align-items: start;
	grid-template-columns: 270px 1fr 1fr;
	gap: 16px;
	margin-bottom: 20px;
	position: relative;
}

.price-header.column-four {
	grid-template-columns: repeat(4, 1fr);
}

#page.page-golf .price-header.column-four {
	grid-template-columns: 195px repeat(3, 1fr);
	gap: 10px;
}

.price-header .integration-two {
	grid-column: 2 / 4;
}

.price-header .integration-three {
	grid-column: 2 / 5;
}

.price-header .integration-four {
	grid-column: 2 / 6;
}

.price-header::after {
	position: absolute;
	bottom: -10px;
	content: "";
	display: block;
	height: 1px;
	width: 100%;
	background: #D1CFCD;
}

.price-header .note,
.price-table .note {
	font-size: clamp(12px, 2vw, 16px);
	font-weight: normal;
	line-height: 1em;
}

#page.page-golf .price-table .note {
	font-weight: bold;
}


.price-header .label {
	font-size: clamp(18px, 2vw, 20px);
	font-weight: bold;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 10px 20px;
}

.price-header .label.general {
	background-color: var(--color-two);
	justify-content: start;
}

.price-table .price1st .label,
.price-header .label.course1st {
	background-color: #F1ECE8;
	color: var(--color-two);
}

.price-table .price2nd .label,
.price-header .label.course2nd {
	background-color: #E8DED7;
	color: var(--color-two);
}

.price-table .price3rd .label,
.price-header .label.course3rd {
	background-color: #7A716B;
	color: var(--color-one);
}


.price-table .weekday .label,
.price-header .label.weekday {
	background-color: #575D38;
}

.price-table .weekend .label,
.price-header .label.weekend {
	background-color: #9BA17B;
}

.price-table .integration-two .label,
.price-header .label.integration-two {
	background-color: #856E5A;
}

.price-table .wakatake .label,
.price-header .label.wakatake {
	background-color: #856E5A;
	flex-direction: column;
}

.price-table .bambooflute .label,
.price-header .label.bambooflute {
	background-color: #856E5A;
	flex-direction: column;
}

.price-header .label span.number {
	font-size: clamp(18px, 2vw, 24px);
	margin-left: 5px;
}

/* 料金表本体 */
.price-table {
	color: var(--color-two);
	display: grid;
	align-items: stretch;
	grid-template-columns: 270px 1fr 1fr;
	gap: 16px;
	margin-bottom: 20px;
	position: relative;
}

.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,
.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 {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	position: relative;
	padding: 10px 20px;
}


.price-table.column-four {
	grid-template-columns: repeat(4, 1fr);
}

#page.page-golf .price-table.column-four {
	grid-template-columns: 195px repeat(3, 1fr);
}

.price-table.column-two {
	grid-template-columns: 18vw 1fr;
}

.inner-box.bathing-box .price-table.column-two {
	grid-template-columns: 23vw 1fr;
}

.unsteadiness .price-table {
	grid-template-columns: 18vw 1fr;
	gap: initial;
}

.unsteadiness2nd .price-table {
	grid-template-columns: 320px 1fr;
	grid-template-rows: auto auto;
	grid-template-areas:
		"item time price"
		"item explanation explanation";
	align-items: start;
}

.price-table .integration-two {
	grid-column: 2 / 4;
}

.price-table .integration-three {
	grid-column: 2 / 5;
}

.price-table .integration-four {
	grid-column: 2 / 6;
}

.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: none;
}


.price-table::after {
	content: "";
	display: block;
	height: 1px;
	background: #D1CFCD;
	position: absolute;
	left: 0;
	right: 0;
	bottom: -10px;
}

.price-table:last-of-type:after {
	content: initial;
}

.price-table .item {
	font-size: clamp(18px, 2vw, 20px);
	font-weight: bold;
	line-height: 1.2em;
	background-color: #F1ECE8;
	height: 100%;
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	padding: 10px 20px;
}

#page.page-golf .price-table .item {
	height: 90px;
	flex-direction: row;
	justify-content: flex-start;
	align-items: center;
	padding: 20px;
}

#page.page-golf .inner-box.bathing-box .item,
#page.page-golf .inner-box.member-box .item,
#page.page-golf .inner-box.rental-box .item {
	height: 100%;
	justify-content: center;
	padding: 10px 20px;
}


.price-table .item.weekdays {
	color: var(--color-one);
	background-color: #575D38;
}

.price-table .item.weekends {
	color: var(--color-one);
	background-color: #9BA17B;
}

.price-table .item.weekgirl {
	color: var(--color-one);
	background-color: #575D38;
}

.price-table .item.junior {
	color: var(--color-one);
	background-color: #575D38;
}

.price-table .item.member {
	color: var(--color-one);
	background-color: #856E5A;
}

.color-b .price-table .item {
	color: var(--color-one);
	background-color: #856E5A;
}


#page-2nd .price-table .item {
	color: var(--color-one);
	background-color: #CE8D8D;
}


.price-table .time {
	font-size: clamp(16px, 2vw, 20px);
}


.price-table .price {
	font-size: clamp(16px, 2vw, 20px);
}

.price-table .explanation {
	font-size: clamp(14px, 2vw, 20px);
	line-height: 1.2em;
}

.price-table .explanation span.note {
	font-size: clamp(11px, 2vw, 16px);
}

.price-table .explanation-column {
	align-items: flex-start;
}

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

.price-table .price3rd::before,
.price-table .price2nd::before,
.price-table .explanation-column::before,
.price-table .weekend::before {
	content: "";
	width: 1px;
	background: #D1CFCD;
	position: absolute;
	top: 0;
	bottom: 0;
	left: -10px;
}

.price-table .explanation-column::before {
	left: 0;
}

/* リラクゼーション料金表1 */
.unsteadiness .item-set {
	display: flex;
}

.unsteadiness .price-table .item {
	align-items: center;
	font-size: clamp(18px, 2vw, 20px);
}

.unsteadiness .item-set .price-column {
	width: 30%;
}

.unsteadiness .item-set .explanation-column {
	width: 70%;
	padding-left: 50px;
}


/* リラクゼーション料金表2 */
.unsteadiness2nd .item-set {
	display: flex;
}

.unsteadiness2nd .price-table .item {
	flex-direction: unset;
	align-items: center;
	grid-area: item;
	font-size: clamp(16px, 2vw, 18px);
}

.unsteadiness2nd .price-table .item span.course {
	font-size: clamp(24px, 2vw, 32px);
	margin-right: 10px;
}

.unsteadiness2nd .price-table .item-set {
	display: flex;
	position: relative;
	padding-bottom: 10px;
}

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

.unsteadiness2nd .price-table .item-set .price-column,
.unsteadiness2nd .price-table .item-set .time-column {
	width: 50%;
	padding: 8px;
}

.unsteadiness2nd .price-table .item-set .price-column {
	position: relative;
}

.unsteadiness2nd .price-table .item-set .price-column::before {
	content: "";
	width: 1px;
	background: #D1CFCD;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
}

.unsteadiness2nd .price-table .explanation-column {
	grid-area: explanation;
	padding: 0 20px;
}

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

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

.unsteadiness2nd .price-table .explanation-column .explanation-set p {
	margin: 0;
}

.unsteadiness2nd .price-table .explanation-column .explanation-set p+p {
	margin-top: 4px;
}

.unsteadiness2nd .price-table .explanation-column .explanation-set p.title {
	font-size: clamp(14px, 2vw, 20px);
	font-weight: bold;
	line-height: 1.2em;
	padding: initial
}


#page-2nd .unsteadiness2nd .price-table .explanation-column .explanation-set p.title {
	color: #CE8D8D;
}

.unsteadiness2nd .price-table .list ul {
	display: flex;
	flex-wrap: wrap;
	list-style: none;
	margin: 0;
	padding: 10px 20px;
}

.unsteadiness2nd .price-table .explanation-column .list ul li {
	font-size: clamp(13px, 2vw, 16px);
	width: 50%;
}

.unsteadiness2nd .price-table .explanation-column .list ul:has(li:first-child:last-child) li {
	width: 100%;
}



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

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

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


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

#page.page-relaxation #page-1st .contents:first-of-type .section-free {
	order: 4;
}





/* 営業時間、ゴルフ料金 */
.inner-card {
	position: relative;
}

.inner-card::after {
	content: "";
	display: block;
	height: 2px;
	background-image: linear-gradient(to right, var(--color-two), var(--color-two) 2px, transparent 2px, transparent 8px);
	background-size: 5px 2px;
	background-repeat: repeat-x;
	margin-top: 70px;
	margin-bottom: 10px;
}

#page.page-hanayunomori .inner-card::after {
	margin-bottom: 40px;
}

.inner-card:last-child::after {
	display: none;
}

.inner-card .inner-item {
	width: 100%;
	max-width: 565px;
	border-top: 1px solid #4B4743;
	border-bottom: 1px solid #4B4743;
	padding: 30px 0;
	display: flex;
	flex-direction: column;
	gap: 30px;
}

.inner-card .inner-item.item-wide {
	border-top: initial;
	border-bottom: initial;
	max-width: 765px;
	margin: 10px auto;
	display: initial;
	flex-direction: initial;
	gap: initial;
}

.inner-card .inner-text {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.inner-card .inner-text p {
	color: var(--color-three);
	padding: initial;
}

.inner-card .inner-text p.big {
	font-size: clamp(26px, 2vw, 36px);
}

.inner-card .inner-text p.price {
	font-size: clamp(26px, 2vw, 36px);
	padding: 25px 0 0;
}

.inner-card .line-box {
	border: solid 1px var(--color-three);
	padding: 10px 30px;
	margin: 30px auto;
}

.inner-card .inner-text p.line {
	font-size: clamp(14px, 2vw, 16px);
	width: 100%;
	padding: 10px 0;
}

.inner-card .inner-text p.note {
	font-size: clamp(13px, 2vw, 16px);
	line-height: 1em;
}

#page.page-hanayunomori .inner-card p.note,
.inner-card .inner-joining p.note {
	margin: 0 auto;
}






/*---------------------- 固定ページ、記事ページ共通 ----------------------*/
/* 固定ページ：お問い合わせ、サンクス、記事 */
#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 {
	background: #fff;
	border: solid 2px #fff;
	border-radius: 23px;
	box-sizing: border-box;
	max-width: min(90vw, 940px);
	padding: 50px;
	margin: 80px auto 100px;
}

#page.single #contents_area {
	padding: 30px 50px 60px;
}

#page.page-privacy-policy #contents_area {
	padding: 50px 65px;
}

#page.page-privacy-policy #contents_area {
	background: initial;
}



#page.page-news #news-list #contents_area {
	margin: 80px auto 0;
	padding: 40px 20px;
}


#page.page-news #news-note {
	padding-top: 50px;
	padding-bottom: 60px;
}


#page.page-news #news-note #contents_area {
	margin: 0 auto 100px;
	padding: 30px;
}


#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 {
	background: #fff;
	padding-top: 80px;
}


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

.policy-list ol li {
	font-size: clamp(12px, 2vw, 18px);
	padding-left: 20px;
	padding-bottom: 20px;
}

.policy-list ol li .addr-block {
	display: flex;
	align-items: flex-start;
	gap: 1em;
	padding: 15px 30px 5px;
}

.policy-list ol li .addr-block p {
	margin: initial;
	padding: initial;
	display: flex;
}

.policy-list ol li .addr-block p span.label {
	flex-shrink: 0;
	width: 5em;
	letter-spacing: 0.2em;
}

.policy-list ol li .addr-block address {
	line-height: 1.2em;
	font-style: normal;
}


/*---------------------- パララックス調整(不動) ----------------------*/
/*-- 温泉 --*/
#page.page-hanayunomori #page-1st .at-left-top .parax {
	top: -50px;
}

#page.page-hanayunomori #page-1st .at-right-top .parax {
	top: 250px;
}


/*-- 岩盤浴 --*/
#page.page-spa #spa1st .at-left-top .parax {
	top: 550px;
}

#page.page-spa #spa1st .at-right-top .parax {
	top: 650px;
}

/*-- ニュース --*/
#page.page-news #news-list .at-left-bottom {
	display: none;
}

#page.page-news #news-list .at-left-bottom .parax {
	bottom: 200px;
}

#page.page-hanayunomori #news-note .at-right-bottom,
#page.page-hanayunomori #news-note .at-left-bottom {
	display: none;
}

/*-- お問い合わせ --*/
#page.page-contact .at-left-bottom .parax {
	bottom: 100px;
}

/*-- プライバシーポリシー --*/
#page.page-privacy-policy .at-left-bottom .parax {
	bottom: 300px;
}




/*---------------------- 記事一覧、個別記事 ----------------------*/
/* tabボタン */
.tab_buttons {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin-bottom: 20px;
}

.tab_buttons .tab_label {
	cursor: pointer;
	padding: 0 15px;
	margin: 5px;
	position: relative;
	height: 60px;
	width: 205px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.tab_buttons .tab_label.line-start::before {
	/* JSと連動(line-start) */
	content: '';
	height: 100%;
	width: 2px;
	position: absolute;
	top: 50%;
	left: -7px;
	transform: translateY(-50%);
	background-image: linear-gradient(to bottom, var(--color-two), var(--color-two) 2px, transparent 2px, transparent 7px);
	background-size: 2px 7px;
	background-repeat: repeat-y;
}

.tab_buttons .tab_label::after {
	content: '';
	height: 100%;
	width: 2px;
	position: absolute;
	top: 50%;
	right: -5px;
	transform: translateY(-50%);
	background-image: linear-gradient(to bottom, var(--color-two), var(--color-two) 2px, transparent 2px, transparent 7px);
	background-size: 2px 7px;
	background-repeat: repeat-y;
}

.tab_buttons .tab_label a {
	color: var(--color-three);
	font-family: var(--font-two);
	font-size: clamp(16px, 2vw, 20px);
	font-weight: bold;
	text-align: center;
	width: 100%;
	padding: 13px;
	white-space: nowrap;
	display: block;
}

.tab_buttons .tab_label.current a {
	background-color: #EFEBE8;
}


/* 記事一覧 */
.news_list {
	margin: 0;
	list-style-type: none;
	padding-top: 15px;
	padding-right: 0;
	padding-bottom: 20px;
	padding-left: 0;
	justify-content: flex-start;
	flex-direction: column;
}

.news_list article {
	box-sizing: border-box;
	width: 100%;
	max-width: min(90vw, 825px);
	padding: 30px 10px;
	border-top: 1px solid rgba(255, 255, 255, 0.6);
}

.news_list article:last-child {
	border-bottom: 1px solid rgba(255, 255, 255, 0.6);
}

#page.page-golf .news_list article,
#page.page-hanayunomori .news_list article,
#page.page-news .news_list article {
	padding: 35px 10px;
	margin: 0 auto;
	border-top: 1px solid var(--color-two);
}

#page.page-golf .news_list article:first-child,
#page.page-hanayunomori .news_list article:first-child,
#page.page-news .news_list article:first-child {
	border-top: initial;
}

#page.page-golf .news_list article:last-child,
#page.page-hanayunomori .news_list article:last-child,
#page.page-news .news_list article:last-child {
	border-bottom: initial;
}

.news_list h3 {
	font-family: var(--font-one);
	font-size: clamp(18px, 2vw, 25px);
	line-height: 1em;
}

#top .news_list h3 {
	color: var(--color-one);
}

.news_list p {
	font-size: clamp(14px, 2vw, 16px);
	padding: 10px 0 0;
}

#page.page-golf .news_list p,
#page.page-hanayunomori .news_list p,
#page.page-news .news_list p {
	color: var(--color-two);
}

.news_list a {
	display: block;
	height: 100%;
}

.news_list .col16 h3,
.news_list .col33 h3 {
	padding-top: .5em;
	min-height: 1.5em;
}

.news_list .img {
	height: 0px;
	width: 100%;
	padding-top: 60%;
	padding-bottom: 0%;
	background-image: url("../img/logo_eyecatch.png");
	background-repeat: no-repeat;
	background-position: center center;
	padding-right: 0px;
	padding-left: 0px;
	border: 1px solid #CCC;
	background-size: cover;
}

.news_list .img.none {
	background-size: auto;
}

.news_list .content {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
}

.news_list .content .col20 {
	width: 18%;
}

.news_list .content .col60 {
	width: 50%;
}

.news_list .content .col30 {
	width: 25%;
	display: flex;
	justify-content: right;
	align-items: end;
}

.news_list .content .col100 {
	display: flex;
	justify-content: center;
}


.news_list .date {
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 10px;
}

.news_list .date a {
	color: #8B827A;
}

.category {
	font-size: 13px;
	text-align: center;
	line-height: 1em;
	color: #FFF;
	padding: 5px 8px;
	border: solid 1px #fff;
	max-width: 125px;
}

.category.info {
	background: #C23333;
}

.category.hotspring {
	background: #5A5351;
}

.category.golf {
	background: #3F5E15;
}

#top .category {
	background: initial;
}

#page.page-golf .category,
#page.page-hanayunomori .category {
	display: none;
}




/* ページネーション */
.pagination {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 15px;
	margin: 30px auto;
}

.pagination span,
.pagination a {
	font-size: clamp(14px, 2vw, 24px);
	font-weight: bold;
	padding: 10px 20px 8px;
}

.pagination span {
	color: var(--color-one);
	background: var(--color-five);
	border: 2px solid var(--color-five);
}

.pagination span.current {
	background: #E2CAC2;
	border: 2px solid #E2CAC2;
}

.pagination a {
	color: var(--color-one);
	background: var(--color-five);
	border: 2px solid var(--color-five);
}

.pagination a:hover {
	opacity: .8;
}

#page.single .pagination {
	position: relative;
	margin-top: initial;
	height: 40px;
	width: 100%;
	max-width: min(90vw, 660px);
	margin: 45px auto 0;
}

#page.single .pagination .next {
	position: absolute;
	left: 20px;
}

#page.single .pagination .prev {
	position: absolute;
	right: 20px;
}

#page.single .pagination .next,
#page.single .pagination .prev {
	padding: 8px 28px;
	font-size: 16px;
	font-weight: 600;
	border-radius: 9999px;
}

#page.page-news .pagination .next {
	margin-left: 20px;
}

#page.page-news .pagination .prev {
	margin-right: 20px;
}

/* 記事一覧　注意事項　 */
.news-note-contact h3 {
	font-family: var(--font-one);
	font-size: clamp(18px, 2vw, 22px);
	font-weight: bold;
	line-height: 1.2em;
	text-align: center;
	display: inline-block;
	width: 100%;
}

.news-note-contact h3::after {
	content: "";
	display: block;
	width: 80px;
	height: 8px;
	background: #856E5A;
	margin: 10px auto 0;
}

.news-note-contact p {
	color: var(--color-two);
	font-size: clamp(12px, 2vw, 16px);
}

.news-note-contact .news-note-list {
	max-width: min(90vw, 750px);
	margin: 40px auto 0;
}

#page.page-golf .news-note-contact .news-note-list {
	margin: 20px auto 0;
}

.news-note-contact ul {
	padding: initial;
	list-style: none;
	text-indent: 0;
}


.news-note-contact ul li {
	color: var(--color-two);
	font-size: clamp(12px, 2vw, 16px);
}

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


/* 個別記事 */
#page.single main {
	width: 100%;
}

#page.single main .flex-around {
	justify-content: flex-start;
	align-items: center;
	gap: 20px;
	padding-left: 20px;
}

#page.single main h2 {
	font-family: var(--font-one);
	overflow-wrap: break-word;
	text-align: initial;
	padding: initial;
	margin: 25px auto 30px;
	padding-left: 20px;
}

#page.single main .category,
#page.single main .date,
#page.single main .post-edit {
	margin: 0;
}

#page.single main .date {
	color: #8B827A;
	font-size: 20px;
	font-weight: bold;
}

#page.single main .category {
	font-size: 16px;
	padding: 8px 0;
	box-sizing: border-box;
	width: 100%;
	max-width: 150px;
}


#page.single main .content {
	position: relative;
	padding: 10px 0;
}

#page.single main .content::before {
	content: '';
	width: 100%;
	height: 2px;
	position: absolute;
	top: 0;
	left: 50%;
	-webkit-transform: translate(-50%);
	-ms-transform: translate(-50%);
	transform: translate(-50%);
	background-image: linear-gradient(to right, var(--color-four), var(--color-four) 2px, transparent 2px, transparent 8px);
	background-size: 5px 2px;
	background-repeat: repeat-x;
	z-index: 1;
}

#page.single main .content::after {
	content: '';
	width: 100%;
	height: 2px;
	position: absolute;
	bottom: 0;
	left: 50%;
	-webkit-transform: translate(-50%);
	-ms-transform: translate(-50%);
	transform: translate(-50%);
	background-image: linear-gradient(to right, var(--color-four), var(--color-four) 2px, transparent 2px, transparent 8px);
	background-size: 5px 2px;
	background-repeat: repeat-x;
	z-index: 1;
}

#page.single main .content p {
	color: var(--color-two);
	font-size: clamp(16px, 2vw, 18px);
	line-height: 1.5em;
	padding: initial;
	margin: 15px auto;
}

#page.single main .content .content_body {
	height: 100%;
	width: 100%;
	min-height: 300px;
	max-width: min(90vw, 660px);
	margin: 50px auto;
}

/* ギャラリー */

#page.single .gallery .gallery-item {
	margin-top: initial;
	margin-block-end: initial;
	margin-block-start: initial;
}

#page.single .gallery img {
	border: 5px solid #fff;
	box-sizing: border-box;
}




/*---------------------- フッター ----------------------*/

#footer {
	color: #FFF;
	clear: both;
	width: 100%;
	position: relative;
	box-sizing: border-box;
}

#footer p {
	color: #FFF;
	margin: 2px;
}

#footer .in100per {
	max-width: min(90vw, 1600px);
	margin: 0 auto;
	padding: 0 20px;
}

#footer .flex-around {
	border-radius: 0;
	flex-direction: column;
}

#footer #above {
	position: relative;
	padding: 80px 0 150px;
}

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

#footer #above #gotop {
	position: absolute;
	bottom: -30px;
	left: 50%;
	transform: translateX(-50%);
}

#footer #above #gotop img {
	transition: transform 0.3s ease;
}

#footer #above #gotop img:hover {
	transform: translateY(-3px);
}

#footer #under {
	background-color: #38582D;
	width: 100%;
}

#footer #under .footer-box {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 30px 0;
}

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

#footer #under .footer-box div:first-child {
	display: flex;
	gap: 10px;
}

#footer ul {
	list-style-type: none;
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin-top: 50px;
	padding-left: initial;
}

#footer li {
	padding: 0 1.5em;
	line-height: 1.2em;
	text-align: center;
	position: relative;
	display: flex;
	align-items: center;
}

#footer li a {
	font-family: var(--font-two);
	font-weight: bold;
	color: #FFF;
}

#footer li a:hover {
	opacity: .9;
}

#footer li a span {
	position: absolute;
	margin-left: 1.0em;
}

#footer .footer-menu1st li {
	padding: 0 1.4em;
}

#footer .footer-menu1st li a {
	font-size: 20px;
}

#footer .footer-menu1st li a span {
	margin-left: 0.8em;
}

#footer .footer-menu2nd {
	max-width: 1500px;
	margin: 0 auto;
}

#footer .footer-menu2nd ul {
	row-gap: 20px;
}


#footer .footer-menu2nd li a span {
	top: 0;
	right: 0;
	height: 100%;
	width: 1px;
	background: #fff;
}


#footer .footer-menu3rd ul {
	margin: 15px 0 0;
}





@media (max-width: 1820px) {

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


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

	#top #hotspring .at-left-bottom {
		margin-left: 440px;
	}

	#top #hotspring .pin-2nd {
		right: 570px;
	}

	#top #hotspring .parax-text {
		top: 300px;
	}

	#top #hotspring .pin-5th {
		bottom: 85px;
	}

	#top #meal .flex-original {
		padding-left: initial;
	}

	#top #meal .flex-original .col-original:first-child img {
		width: 80%;
	}

	#top #golf .at-center-center {
		display: none;
	}


	#top #golf .flex-original .col-original:last-child img {
		width: 60%;
	}

	#top #info .flex-original {
		margin-left: initial;
		margin: 0 auto 50px;
	}


	/* ヘッダーナビ */
	#g-navi2nd ul {
		max-width: 700px;
	}

	#g-navi2nd ul li a {
		padding: 10px 20px;
	}



}

@media (max-width: 1620px) {

	/*---------------------- 基本 ----------------------*/
	#page #page-2nd {
		padding-top: 5px;
		padding-bottom: 50px;
	}

	/*---------------------- 固定ボタン ----------------------*/
	#sub-bt a {
		font-size: 18px;
		width: 190px;
		height: 40px;
	}

	#sub-bt a span.sub-title {
		font-size: 13px;
	}


	/*---------------------- ボタン　----------------------*/
	.btn-green {
		padding: 10px 0;
		width: 220px;
	}

	#page.single .title-under-bt {
		margin-top: 10px;
	}

	#page .title-bt {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}

	#page .title-bt .btn-green {
		padding: 10px 30px;
		width: max-content;
	}

	/*---------------------- ヘッダー　----------------------*/
	#header .logo {
		max-width: 300px;
		max-height: 160px;
	}

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

	/*---------------------- ヘッダーリード　----------------------*/
	/* 固定ページリード */
	#page #page-2nd .in100per,
	#page #lead .in100per {
		align-items: center;
		flex-direction: column-reverse;
		gap: 20px;
	}

	#page.page-tsubaki #lead .in100per {
		padding-top: 100px;
	}

	#page.page-golf #lead .in100per {
		padding-top: 100px;
		margin-bottom: initial;
	}

	#page #page-2nd .main-title,
	#page #lead .in100per .main-title {
		top: 40px;
		left: 80px;
		margin-left: 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: 45px;
		left: 80px;
	}

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


	#page.page-course #lead .in100per .main-title,
	#page.page-golf #lead .in100per .main-title,
	#page.page-hanayunomori #lead .in100per .main-title {
		position: unset;
		transform: initial;
		margin-left: initial;
	}

	#page #lead .main-title .title {
		position: absolute;
		top: 45px;
		left: 80px;
		margin-left: 20px;
	}

	#page.page-tsubaki #lead .main-title .title {
		position: initial;
		top: initial;
		left: initial;
		transform: initial;
		margin-left: initial;
	}


	#page #lead .in100per .main-title .title-note {
		writing-mode: initial;
		bottom: -45px;
		left: initial;
		right: 0;
	}


	#page #page-2nd h2,
	#page #lead h1 {
		font-size: clamp(30px, 2vw, 38px);
		writing-mode: initial;
		padding: initial;
	}

	#page.single #lead h1 {
		margin-left: -8vw;
	}

	#page.page-news #lead h1,
	#page.page-privacy-policy #lead h1,
	#page.page-thanks #lead h1,
	#page.page-contact #lead h1 {
		margin-left: initial;
	}



	#page #page-2nd h2::before,
	#page #lead h1::before {
		top: 50%;
		left: initial;
		transform: translatex(-70px);
		width: 60px;
		height: 1px;
	}

	#page.page-privacy-policy #lead h1::before {
		transform: translatex(-55px);
		width: 45px;
	}

	#page #lead #contents_area {
		padding: 25px 0 20px;
	}



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


	#top #hotspring,
	#top #meal,
	#top #golf {
		height: 900px;
	}

	#top #hotspring .pin-2nd {
		right: 480px;
	}

	#top #hotspring .parax-text {
		max-width: 48vw;
		margin-right: 10px;
	}

	#top #meal .pin-1st {
		gap: 10px;
	}

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

	#top #info .flex-original {
		max-width: 950px;
	}

	#top #info .at-left-bottom .parax img {
		width: 55%;
	}


	#page-news .info-bt .btn-green,
	#top #info .info-bt .btn-green {
		width: 135px;
	}

	#top #golf .flex-original {
		max-width: 81.71vw;
	}

	#top #golf .golf-box {
		gap: initial;
		margin-top: 20px;
		flex-direction: column;
	}

	#top #golf .golf-box .golf-bt {
		order: 2;
	}


	/* 共通セクション instagram */
	#instagram {
		height: fit-content;
		padding-top: 100px;
		padding-bottom: 100px;
	}

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

	#instagram .instagram-feed #sb_instagram #sbi_images {
		gap: 20px !important;
	}

	#instagram .instagram-feed #sb_instagram {
		padding: 20px !important;
	}

	#instagram .pin-1st {
		right: 100px;
	}

	#instagram h2 {
		font-size: 16px;
	}

	#instagram h2 img {
		max-width: 235.15px;
	}

	#instagram .instagram-bt-wrap a {
		color: var(--color-three);
		border: solid 1px var(--color-three);
		background-color: #fff;
	}

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

	#page.page-access #map_canvas .in100per .map-google iframe {
		width: 100vw;
		height: 500px;
	}

	/* 共通セクション　住所などの情報部分 */
	#page.page-access #map_bt .in100per {
		max-width: 100%;
	}

	/*---------------------- 固定ページ、記事ページ共通 ----------------------*/
	/* 固定ページ：共通 */
	#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: min(60vw, 940px);
		padding: 4vw;
		margin: 100px auto 120px;
	}

	#page.single #contents_area {
		margin: 140px auto 120px;
	}

	#page.page-news #news-list #contents_area {
		margin: 100px auto 0;
	}



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

	/* 記事一覧 */
	.news_list .category {
		font-size: 10px;
	}

	.news_list .date {
		margin-bottom: 5px;
	}

	.news_list .date a {
		font-size: 12px;
	}

	.news_list .content .col20 {
		width: 20%;
	}

	.news_list .content .col60 {
		width: 70%;
	}

	.news_list .content .col30 {
		flex-basis: 100%;
	}

	/* ページネーション */
	.pagination {
		gap: 10px;
	}

	.pagination span,
	.pagination a {
		padding: 4px 17px 1px;
	}

	#page.page-news .pagination .prev {
		margin-right: 10px;
	}

	#page.page-news .pagination .next {
		margin-left: 10px;
	}

	/* 個別記事 */
	#page.single main .date {
		font-size: 16px;
	}

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


	/*---------------------- インナータイトル　----------------------*/
	.inner-title h4::after {
		width: 45px;
		height: 3px;
	}

	/* 注意事項 */
	.news-note-contact h3::after {
		width: 45px;
		height: 3px;
	}

	.news-note-contact ul {
		margin: 20px auto 0;
	}

	.news-note-contact .space {
		margin: 10px 0;
	}


	/*---------------------- フッター ----------------------*/
	#footer li:nth-child(5) a span,
	#footer li:last-child a span {
		opacity: initial;
	}

	#footer #under .footer-box {
		flex-direction: column;
	}

}



@media (max-width: 1460px) {

	/*---------------------- ヘッダー ----------------------*/
	#header .inquiry,
	#g-navi2nd {
		display: none;
	}


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

	#top #hotspring .pin-2nd,
	#top #meal .at-right-top,
	#top #golf .pin-1st,
	#top #info .at-right-center,
	#top #info .at-left-bottom,
	#top #info .pin-3rd {
		display: none;
	}


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

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

	#top #hotspring .at-left-bottom .pin-bamboo {
		left: initial;
		right: 38vw;
		justify-content: end;
	}

	#top #hotspring .at-left-bottom img {
		transform: scaleX(-1);
	}

	#top #hotspring .pin-1st {
		right: 0;
	}

	#top #hotspring .parax-text {
		top: 250px;
	}

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

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

	#top #meal .flex-original {
		padding-top: 180px;
	}

	#top #meal .parax-title {
		left: 45px;
		top: 80px;
		transform: initial;
	}


	#top #meal .pin-1st {
		max-width: 54vw;
		transform: translateY(-60%) translate3d(var(--px, 0), var(--py, 0), 0);
		margin-right: 7vw;

	}

	#top #meal .flex-original .col-original:first-child img {
		width: 65%;
	}

	#top #meal .parax-title .parax-text-wrap::before {
		top: 50%;
		left: initial;
		right: -100px;
		transform: translateY(-50%);
		width: 100px;
		height: 1px;
	}

	#top #meal .parax-text-wrap h2 {
		margin-bottom: initial;
	}

	#top #meal .parax-text-wrap h2 span {
		position: absolute;
		top: -45px;
		left: -55px;
	}



	#top #golf .flex-original {
		padding-top: 100px;
		gap: 1vw;
		position: relative;
		z-index: 2;
	}

	#top #golf .parax-text {
		gap: initial;
		padding-top: initial;
	}


	#top #golf .at-left-top .parax {
		left: 50vw;
	}

	#top #golf .at-left-top .parax img {
		transform: scaleY(-1);
	}

	#top #golf .parax-text-wrap::before {
		top: 50%;
		left: initial;
		right: -100px;
		transform: translateY(-50%);
		width: 100px;
		height: 1px;
	}

	#top #golf .parax-text-wrap h2 {
		margin-bottom: initial;
	}


	#top #golf .parax-text-wrap h2 span {
		position: absolute;
		top: -45px;
		left: 5px;
	}






}





@media (max-width: 1260px) {


	/*---------------------- ヘッダー ----------------------*/
	/* instagramアイコン */
	#header #instagram-icon {
		left: 1vw;
	}



	/*---------------------- トップページ ----------------------*/
	#top #hotspring,
	#top #meal,
	#top #golf {
		height: 860px;
	}

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

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

	#top #meal .flex-original .col-original:first-child img {
		width: 50%;
	}


	#top #golf .pin-5th img {
		width: 275px;
		height: 294px;
		object-fit: cover;
	}

	#top #golf .flex-original {
		gap: 40px;
	}


	/* コース説明 */
	#course-slider .course-box:nth-child(n+10) .course-labels {
		grid-template-columns: auto 1fr 220px;
	}


	/* 共通セクション　住所などの情報部分 */
	#map_bt .map-under br {
		display: block;
	}

	#page.page-access #map_bt .map-under {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		gap: 20px;
	}

	#page.page-access #map_bt .map-text {
		text-align: center;
	}



	/* 共通セクション　交通アクセス */
	.train-bottom,
	.route {
		flex-direction: column;
		width: 580px;
	}

	.route .item {
		min-width: initial;
		min-height: initial;
		max-width: initial;
		max-height: initial;
		position: unset;
		border-radius: 12px;
	}

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

	.route .note {
		position: static;
		transform: none;
		margin-top: 10px;
		text-align: center;
		width: fit-content;
	}

	.route .times {
		flex-direction: initial;
		min-height: 50px;
		max-width: initial;
	}

	.route .times::before {
		top: 0;
		left: 50%;
		transform: translateX(-50%);
		width: 2px;
		height: 100%;
		background-image: linear-gradient(to bottom, var(--color-one), var(--color-one) 2px, transparent 2px, transparent 8px);
		background-size: 2px 5px;
		background-repeat: repeat-y;
	}

	.route .times p {
		width: 50%;
		display: flex;
		justify-content: center;
		align-items: center;
		padding: 15px 15px 10px;
	}

	.train-top {
		flex-direction: initial;
		gap: 20px;
		position: relative;
	}

	.train-top::after {
		content: "";
		position: absolute;
		bottom: 0;
		left: 50%;
		transform: translateX(-50%);
		width: 2px;
		height: 50%;
		background-image: linear-gradient(to bottom, var(--color-one), var(--color-one) 2px, transparent 2px, transparent 8px);
		background-size: 2px 5px;
		background-repeat: repeat-y;
	}

	.train-top .train-pair {
		flex-direction: column;
		width: 270px;
	}

	.train-top .train-pair .item {
		max-height: initial;
	}


	.train-top .train-pair .times {
		flex-direction: column;
		gap: initial;
		padding: 0 0 10px;
		min-width: initial;
	}

	.train-top .train-pair .times p {
		width: 100%;
	}

	.train-top .train-pair .times p.time {
		padding: initial;
	}

	.train-top .train-pair .times::before {
		content: initial;
	}




}