@charset "UTF-8";
/* CSS Document */


/* ////////////////////////////////////////////////////////////////////////////////

	Common

//////////////////////////////////////////////////////////////////////////////// */
@font-face {
	font-family: 'sns_ico';
	src:
		url('../font/sns_ico.ttf?sij4de') format('truetype'),
		url('../font/sns_ico.woff?sij4de') format('woff'),
		url('../font/sns_ico.svg?sij4de#sns_ico') format('svg');
	font-weight: normal;
	font-style: normal;
}

i.snsIcon {
	font-family: 'sns_ico' !important;
	speak: never;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;

	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;

	color: #fff;
}

.icon-ap:before { content: "\e900";}
.icon-blo:before { content: "\e901";}
.icon-fb:before { content: "\e902";}
.icon-hp:before { content: "\e903";}
.icon-in:before { content: "\e904";}
.icon-line:before { content: "\e905";}
.icon-spo:before { content: "\e906";}
.icon-tt:before { content: "\e907";}
.icon-tw:before { content: "\e908";}
.icon-yt:before { content: "\e909";}
.icon-x:before { content: "\e90a";}



body {
	font-family: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	font-size: 12px;
	line-height: 1.8;
	-webkit-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
    letter-spacing: 0.05em;
}

img {
	max-width: 100%;
	height: auto;
}
.articlePic {
	width: 70%;
	margin: 0 auto 60px;
	text-align: center;
}
ul { list-style: none;}

.anim {
	opacity: 0;
	transition: all .6s ease-out;
}
.anim.on {
	opacity: 1;
}

.contentWrap {
	padding: min(10vw, 80px) min(6vw, 60px);
	max-width: 1080px;
	margin: 0 auto;
}
.contentWrapWide {
	padding: min(10vw, 80px) min(6vw, 60px);
	max-width: 1240px;
	margin: 0 auto;
}

main {
	padding-top: 90px;
}


.topicPath {
	width: 100%;
	height: 40px;
	display: flex;
    z-index: 2;
	overflow: hidden;
	background: #f7f7f7;
	padding: 0 42px;
}
.topicPath > div {
	width: 100%;
	height: 40px;
	overflow: auto;
	padding-bottom: 20px;
	display: flex;
	align-items: center;
	box-sizing: content-box;
}
.topicPath a,
.topicPath span {
	color: #000;
	text-decoration: none;
	display: flex;
	align-items: center;
	position: relative;
	font-size: 12px;
	white-space: nowrap;
}
.topicPath a + a,
.topicPath a + span {
	padding-left: 40px;
}
.topicPath a + a::before,
.topicPath a + span::before {
	content: "";
	display: block;
	position: absolute;
	left: 15px;
	top: 46%;
	height: 1px;
	width: 10px;
	background-color: #000;
}

@media screen and (min-width: 821px) {

	.sp { display: none !important;}

	a { transition: all 0.3s ease-out;}
	a:hover { opacity: 0.5;}

}
@media screen and (max-width: 820px) {

	.articlePic {
		width: 100%;
		margin: 0 auto min(8vw, 60px);
	}

	.pc { display: none !important;}

	main {
		padding-top: 70px;
	}

	.topicPath {
    	height: 35px;
    	padding: 0 min(5vw, 40px);
	}
	.topicPath > div {
    	height: 35px;
	}

	.topicPath a,
	.topicPath span {
		font-size: 10px;
	}
	.topicPath a + a,
	.topicPath a + span {
		padding-left: 30px;
	}
	.topicPath a + a::before,
	.topicPath a + span::before {
		content: "";
		display: block;
		position: absolute;
		left: 9px;
		top: 46%;
		height: 1px;
		width: 12px;
		background-color: #000;
	}
}


/* ////////////////////////////////////////////////////////////////////////////////

	Floating menu

//////////////////////////////////////////////////////////////////////////////// */
#floatMenu {
	position: fixed;
	right: 0;
	background-color: #0C0D08;
	z-index: 1000;
}
#floatMenu ul {
	padding: 20px 2%;
    max-width: 540px;
    margin: 0 auto;
	display: flex;
}
#floatMenu ul li {
	width: 90px;
	padding: 0;
}
#floatMenu ul li a {
	color: #fff;
	text-decoration: none;
}
#floatMenu ul li div {
    width: 40%;
	margin: 0 auto;
}
#floatMenu ul li p {
	font-size: min(2.4vw, 10px);
	text-align: center;
	line-height: 1.2;
	letter-spacing: 0;
}

#floatMenu ul li .close {
	display: none;
}
#floatMenu ul li .close div {
	padding-top: 29.4%;
	position: relative;
}
#floatMenu ul li .close div::before,
#floatMenu ul li .close div::after {
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	background-color: #fff;
	position: absolute;
	top: 50%;
	left: 0%;
}
#floatMenu ul li .close div::before {
	transform: rotate(45deg);
}
#floatMenu ul li .close div::after {
	transform: rotate(-45deg);
}


.scheduleLinks {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0;
	border-radius: 0 0 0 10px;
	background-color: #333;
}
/*
.scheduleLinks::before {
	content: "スケジュール";
	background: url("../images/menu_ico03_g.svg") no-repeat center top;
	background-size: 40px;
	color: #bbb;
	padding-top: 38px;
	font-size: 10px;
	font-weight: bold;
	letter-spacing: 0;
	position: absolute;
	top: 50%;
	left: 20px;
	transform: translateY(-50%);
}
*/
.scheduleLinks a {
	text-align: center;
	font-size: min(3.6vw, 15px);
	font-weight: bold;
	color: #fff;
	text-decoration: none;
	padding: 0;
	width: 180px;
	line-height: 1.5;
}
.scheduleLinks a + a {
	border-left: #555 solid 1px;
}
.scheduleLinks a.rsvTomonokai span {
	color: #8968a6;
}
.scheduleLinks a.rsvMember span {
	color: #e89e77;
}
.scheduleLinks a.rsvVisitor span {
	color: #34846c;
}

.scheduleLinks a span {
	display: block;
	font-size: 0.6em;
}

@media screen and (min-width: 821px) {

	.navWrap {
		display: flex;
	}
	#floatMenu {
		display: none;
    	position: static;
		height: 90px;
	}
	#floatMenu ul {
		padding: 18px 2%;
	}

}
@media screen and (max-width: 820px) {

	#floatMenu {
		bottom: 0;
		width: 100%;
	}
	#floatMenu ul {
		display: flex;
		padding: 0;
	}
	#floatMenu ul li {
		width: calc(100% / 3);
		padding: 0 0.5%;
	}
	#floatMenu ul li:nth-child(1) {
		background-color: #7f6c56;
	}
	#floatMenu ul li:nth-child(2) {
		background-color: #61574c;
	}
	#floatMenu ul li:nth-child(3) {
		background-color: #333333;
	}
	#floatMenu ul li a {
		color: #fff;
		text-decoration: none;
		padding: 11% 0;
		display: block;
	}
	#floatMenu ul li div {
		width: 24%;
		margin: 0 auto;
	}
	#floatMenu ul li p {
		font-size: min(3.2vw, 16px);
		text-align: center;
		line-height: 1.2;
	}

	.scheduleLinks {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		transform: translateY(-100%);
		display: none;
		justify-content: space-between;
		padding: min(4vw, 20px) min(3vw, 20px);
		background: linear-gradient(0deg, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0) 100%);
		border-radius: 0;
	}
	.scheduleLinks::before {
		display: none;
	}
	.scheduleLinks a {
		display: block;
		background-color: #333;
		text-align: center;
    	font-size: min(3vw, 16px);
		font-weight: bold;
		text-decoration: none;
		padding: min(3vw, 20px) 0;
		width: 48%;
		line-height: 1.5;
    	border-radius: 6px;
    	margin-right: min(2vw, 15px);
	}
	.scheduleLinks a + a {
		border-left: none;
	}
	.scheduleLinks a:last-child {
		margin-right: 0;
	}
	.scheduleLinks a span {
		display: block;
		font-size: 0.6em;
	}
}


/* ////////////////////////////////////////////////////////////////////////////////

	Header

//////////////////////////////////////////////////////////////////////////////// */
header {
	position: fixed;
	top: 0;
	right: 0;
    z-index: 1000;
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
}
header h1 {
	width: 65px;
	line-height: 0;
	margin-left: 30px;
}
#toppage header {
	background-color: transparent;
	width: auto;
}
header .hdrTopics {
	overflow: hidden;
}
header .hdrTopics.hide {
	height: 0;
}
header .hdrTopics li {
	background-color: #fff;
}
header .hdrTopics li + li {
	border-top: #CECAC2 solid 1px;
}
header .hdrTopics li a {
	display: block;
	background-color: #ECE7DE;
	padding: 10px 20px 10px 50px;
	color: #B29574;
	text-decoration: none;
	font-size: min(3.4vw, 14px);
	position: relative;
}
header .hdrTopics li a::before {
	content: "!";
	position: absolute;
	top: 11px;
	left: 20px;
	display: block;
	width: 20px;
	height: 20px;
	background-color: #B29574;
	color: #fff;
	font-weight: bold;
	text-align: center;
	line-height: 20px;
	border-radius: 50%;
}

.hdrWrap {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: min(4vw, 30px) min(5vw, 30px);
    position: relative;
}
.hdrWrap h1 {
	width: 140px;
    max-width: 22%;
    line-height: 0;
}

.menuButton {
	display: block;
	width: 40px;
	height: 40px;
	position: relative;
	z-index: 9999;
}
.menuButton span {
	display: block;
	width: 40px;
	height: 2px;
	position: absolute;
	left: 0px;
	transition: all 0.4s;
	background: #000;
	box-shadow: none;
}
#toppage .menuButton span,
#globalNavi .menuButton span {
	background: #fff;
	box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.65);
}

.menuButton span:nth-child(1) { top: 14px;}
.menuButton span:nth-child(2) { bottom: 14px;}
.menuButton.active span:nth-child(1) {
	transform: translateY(5px) rotate(45deg);
}
.menuButton.active span:nth-child(2) {
	transform: translateY(-5px) rotate(-45deg);
}

#globalNavi {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 9998;
	background-color: rgba(3,16,11,0.90);
	display: none;
}

#globalNavi .hdrWrap {
	justify-content: flex-end;
}

.globalNaviInr {
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding-bottom: min(8vw, 70px);
}

#globalNavi .mainNavi {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	max-width: 680px;
	margin: 0 auto;
}
#globalNavi .mainNavi li {
	width: 48%;
	margin-bottom: min(1vw, 20px);
}
#globalNavi .mainNavi li a {
	display: block;
	color: #b29574;
	text-decoration: none;
    font-size: min(4.8vw, 28px);
	font-weight: bold;
    line-height: 1.7;
}
#globalNavi .mainNavi li a span {
	color: #fff;
    font-size: 0.5em;
    font-weight: normal;
    margin-left: 5px;
}


#globalNavi .subNavi {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	max-width: 680px;
	margin: 0 auto;
	padding-top: min(4vw, 40px);
	border-top: #444444 solid 1px;
}
#globalNavi .subNavi li {
	margin-bottom: min(1vw, 20px);
}
#globalNavi .subNavi li a {
	color: #fff;
	text-decoration: none;
    font-size: min(3.4vw, 14px);
}

#globalNavi .gnavFtr {
	display: flex;
	justify-content: space-between;
	align-items: center;
	max-width: 680px;
	margin: 0 auto;
}
#globalNavi .gnavFtr .gnavSns {
	display: flex;
}
#globalNavi .gnavFtr .gnavSns li + li {
	margin-left: min(6vw, 30px);
}
#globalNavi .gnavFtr .gnavSns li a {
	font-size: min(6.2vw, 28px);
	text-decoration: none;
}

#globalNavi .gnavFtr .gnavMark {
	max-width: 25%;
    width: 100px;
	line-height: 0;
}

#globalNavi .gnavFtr .gnavHplink a {
	display: block;
	width: fit-content;
	border: #b29574 solid 1px;
	color: #b29574;
	text-decoration: none;
    border-radius: 40px;
    padding: min(1vw, 4px) min(5vw, 25px);
    font-size: min(3.1vw, 13px);
	font-weight: bold;
}

@media screen and (min-width: 821px) {

	.hdrWrap {
		padding: 0;
		transition: all 0.6s cubic-bezier(0, 0.55, 0.45, 1);
		transform: translateY(-100%);
	}
	.hdrWrap.is-active {
		transform: translateY(0%);
	}
	.hdrWrap h1 {
		padding-left: 40px;
	}

	.menuButton {
		width: 90px;
		height: 90px;
		background-color: #b19474;
	}
	.menuButton span {
		box-shadow: none;
    	left: 25px;
		background: #fff;
	}
	#toppage .menuButton span,
	#globalNavi .menuButton span {
		box-shadow: none;
	}

	.menuButton span:nth-child(1) { top: 38px;}
	.menuButton span:nth-child(2) { bottom: 38px;}
	.menuButton.active span:nth-child(1) {
		transform: translateY(6px) rotate(45deg);
	}
	.menuButton.active span:nth-child(2) {
		transform: translateY(-6px) rotate(-45deg);
	}

	#globalNavi .mainNavi {
		width: 80%;
	}
	#globalNavi .subNavi {
		width: 80%;
	}
	#globalNavi .subNavi li {
		margin-right: 30px;
	}
	#globalNavi .gnavFtr {
		width: 80%;
	}

}
@media screen and (max-width: 820px) {

	header h1 {
		width: min(12vw, 80px);
		margin-left: min(5vw, 30px);
	}
	#globalNavi .mainNavi {
		display: block;
		margin: 0 min(6vw, 30px);
	}
	#globalNavi .mainNavi li {
		width: 100%;
	}
	#globalNavi .mainNavi li a {
    	font-size: min(4.6vw, 28px);
	}
	#globalNavi .subNavi {
		margin: 0 min(6vw, 30px);
    	justify-content: flex-start;
	}
	#globalNavi .subNavi li {
		width: auto;
    	margin-right: min(5vw, 30px);
	}
	#globalNavi .gnavFtr {
		margin: 0 min(6vw, 30px);
	}

}


/* ////////////////////////////////////////////////////////////////////////////////

	Footer

//////////////////////////////////////////////////////////////////////////////// */
footer {
	background-color: #333;
	color: #fff;
	text-align: center;
}

footer .ftrNav {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	border-bottom: #555 solid 1px;
	padding: min(8vw, 45px) min(6vw, 60px);
}
footer .ftrNav.sub {
	padding: min(6vw, 25px) min(6vw, 60px);
}
footer .ftrNav li {
	margin: 0 15px;
	position: relative;
}
footer .ftrNav li + li::before {
	content: "/";
	position: absolute;
    left: -18px;
	top: 50%;
	transform: translateY(-50%);
}
footer .ftrNav li a {
	color: #fff;
	text-decoration: none;
	font-size: min(3.6vw, 14px);
}

footer .ftrMain {
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
	align-items: center;
	padding: min(10vw, 40px) min(6vw, 60px) min(12vw, 60px);
}

footer .ftrSns {
	display: flex;
	margin-bottom: min(4vw, 15px);
}
footer .ftrSns li {
	margin: 0 min(6vw, 40px) 0 0;
}
footer .ftrSns li a {
	text-decoration: none;
	font-size: min(8vw, 24px);
	line-height: 1;
}

footer .ftrLogo {
    width: 180px;
	max-width: 52%;
}
footer .ftrLogo > div {
	line-height: 0;
}

footer .ftrLogo .ftrHplink {
	margin-top: min(6vw, 20px);
}
footer .ftrLogo .ftrHplink a {
	display: block;
    width: 100%;
    border: #b29574 solid 1px;
    color: #b29574;
    text-decoration: none;
    border-radius: 40px;
    padding: min(1vw, 4px) min(3vw, 15px);
    font-size: min(3vw, 12px);
    font-weight: bold;
    letter-spacing: 0;
}

footer .copyright {
	font-size: min(2.8vw, 10px);
}


@media screen and (max-width: 820px) {

	footer {
		padding-bottom: 16vw;
	}
	footer .ftrNav {
		justify-content: flex-start;
		gap: min(2vw, 10px) 0;
		text-align: left;
	}
	footer .ftrNav li {
		margin: 0;
    	width: 50%;
	}
	footer .ftrNav li + li {
		margin-top: 0;
	}
	footer .ftrNav li + li::before {
		display: none;
	}

	footer .ftrNav.sub {
		justify-content: center;
		border-bottom: none;
		padding-bottom: min(8vw, 40px);
	}
	footer .ftrNav.sub li {
		width: 100%;
		text-align: center;
	}
	footer .ftrNav.sub li + li {
		margin-top: min(1.5vw, 20px);
	}
	footer .ftrNav.sub li a {
		font-size: min(3.2vw, 12px);
	}

	footer .ftrMain {
		flex-direction: column;
		justify-content: center;
		padding: min(10vw, 40px) min(6vw, 60px) min(12vw, 60px);
	}
	footer .ftrLogo {
		margin-bottom: min(6vw, 40px);
	}

	footer .ftrSns {
		justify-content: center;
		margin-bottom: 0;
		padding-bottom: min(6vw, 25px);
		border-bottom: #555 solid 1px;
	}
	footer .ftrSns li {
		margin: 0 min(4vw, 20px);
	}
	footer .copyright {
		font-size: min(2.6vw, 10px);
	}

}


/* ////////////////////////////////////////////////////////////////////////////////

	Top page

//////////////////////////////////////////////////////////////////////////////// */
#op {
	position: fixed;
	z-index: 9999;
	background-color: #fff;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	text-align: center;
}
#op .opLogo {
	width: 340px;
    max-width: 55%;
    margin-bottom: min(6vw, 50px);
}
#op .opCatch {
	font-family: "游明朝体", "Yu Mincho", YuMincho, serif;
    font-size: min(1.7vw, 24px);
	letter-spacing: 0;
    line-height: 2.2;
}
#op .opCatch strong {
	font-size: 1.3em;
	font-weight: normal;
	letter-spacing: 0.08em;
}
#op .opMark {
	width: 120px;
	max-width: 28%;
}



#mainVisual {
	height: 100vh;
/*
	background: url("../images/mv_bg.jpg") no-repeat center center;
	background-size: cover;
*/
	display: flex;
	justify-content: center;
	position: relative;
}

#mainVisual .mvLeft {
	width: 54%;
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
    border: #fff solid 10px;
	border-right: 0;
}

#mainVisual .mvTtl {
	position: relative;
	z-index: 1;
	text-align: center;
    width: 100%;
}
#mainVisual .mvTtl > div {
    width: 42%;
    max-width: 560px;
    margin: 60px auto 50px;
	line-height: 0;
}
#mainVisual .mvTtl .mvCopy {
	font-family: "游明朝体", "Yu Mincho", YuMincho, serif;
    font-size: min(1.4vw, 24px);
    line-height: 2;
	color: #fff;
	text-align: center;
    text-shadow: 0 0 5px rgba(0,0,0,0.6);
	letter-spacing: 0;
}
#mainVisual .mvTtl .mvCopy strong {
	font-size: 1.3em;
	font-weight: normal;
	letter-spacing: 0.08em;
}

#mainVisual .mvTtl .weatherBtn {
	margin-top: 40px;
}
#mainVisual .mvTtl .weatherBtn a {
	background-color: rgba(0,0,0,0.20);
	padding: 15px 30px;
	border-radius: 80px;
	border: #b29574 solid 1px;
	color: #fff;
	text-decoration: none;
	font-size: 14px;
	display: inline-flex;
	justify-content: center;
	align-items: center;
}
#mainVisual .mvTtl .weatherBtn a::before {
	content: "";
	display: inline-block;
	width: 48px;
	height: 34px;
	background: url("../images/ico_weather.svg") no-repeat center center;
	background-size: contain;
	vertical-align: middle;
	margin-right: 15px;
}

#mainVisual .mvSns {
	display: flex;
	gap: 20px;
	margin-top: 30px;
	justify-content: center;
	padding: 0 60px;
}
#mainVisual .mvSns li {
	width: 260px;
	max-width: 50%;
}
#mainVisual .mvSns li a {
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	text-decoration: none;
	padding: 16px min(1.5vw, 16px);
	border-radius: 60px;
	font-size: min(1.2vw, 15px);
	font-weight: bold;
	line-height: 1.4;
    height: 100%;
}
#mainVisual .mvSns li a i {
    font-size: min(2vw, 24px);
    margin-right: min(0.6vw, 10px);
}
#mainVisual .mvSns li:nth-child(1) a {
	background-color: #b29574;
	color: #fff;
}
#mainVisual .mvSns li:nth-child(1) a i {
	color: #fff;
}
#mainVisual .mvSns li:nth-child(2) a {
	background-color: #fff;
	color: #b29574;
}
#mainVisual .mvSns li:nth-child(2) a i {
	color: #b29574;
}

#mainVisual .bgmv {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #000;
	border-radius: 10px;
	overflow: hidden;
}
#mainVisual .bgmv video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 0;
}

#mainVisual .bgmv div {
	height: 100%;
}
#mainVisual .bgmv ul {
	height: 100%;
	z-index: 0;
	animation: opst2 1s linear 2.5s forwards;
}
#mainVisual .bgmv ul li {
	height: 100%;
	position: relative;
}
#mainVisual .bgmv ul li img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}


#mainVisual .mvRight {
	width: 46%;
	display: flex;
	flex-direction: column;
	padding: 20px;
}
#mainVisual .mvRight > div {
	height: 50%;
	width: 100%;
	border: #fff solid 20px;
	position: relative;
}
#mainVisual .mvRight > div img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#mainVisual .mvRight .mvBnr a,
#mainVisual .mvRight .mvImg {
	position: relative;
}
#mainVisual .mvRight .mvBnr a {
	display: block;
	width: 100%;
	height: 100%;
	color: #fff;
	text-decoration: none;
    border-radius: 10px;
    overflow: hidden;
}
#mainVisual .mvRight .mvBnr a .mvBnrTxt {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	background: linear-gradient(0deg, rgba(27,48,41,0.6) 60%, transparent 100%);
	padding: 4%;
}
#mainVisual .mvRight .mvBnr a .mvBnrTxt::after {
	content: "";
	display: block;
	position: absolute;
    bottom: 22px;
    right: 20px;
	width: 30px;
	height: 30px;
	background: url("../images/mv_arrow.png") no-repeat center center;
	background-size: contain;
}
#mainVisual .mvRight .mvBnr a .mvBnrTxt p {
	font-family: "游明朝体", "Yu Mincho", YuMincho, serif;
	font-size: min(1.2vw, 16px);
}
#mainVisual .mvRight .mvBnr a .mvBnrTxt .ttl {
	font-size: min(2vw, 26px);
	font-weight: normal;
	letter-spacing: .16em;
	margin-bottom: min(0.5vw, 10px);
}

#mainVisual .mvRight .mvImg .mvSlide {
	height: 100%;
}
#mainVisual .mvRight .mvImg .mvSlide div,
#mainVisual .mvRight .mvImg .mvSlide div li {
	height: 100%;
}
#mainVisual .mvRight .mvImg .mvSlide li div {
    position: relative;
    border-radius: 10px;
    overflow: hidden;
	width: 100%;
	height: 100%;
}

.memberBtn {
	position: fixed;
    top: 30px;
    left: 35px;
    width: 80px;
	line-height: 0;
	z-index: 1000;
}

.mvTopics {
	position: absolute;
	bottom: 10px;
	right: 50px;
	background-color: #192214;
	border-radius: 8px;
/*	min-width: 460px;*/
    z-index: 3;
}
.mvTopics li {
    width: calc(21em + 70px);
    font-size: 14px;
}
.mvTopics li + li {
	border-top: #2b2b2b solid 1px;
}
.mvTopics li a {
	color: #b29574;
	text-decoration: none;
	font-size: 14px;
	display: block;
    margin: 15px 20px 15px 50px;
	position: relative;
}
.mvTopics li::before {
	content: "i";
	width: 24px;
	height: 24px;
    line-height: 24px;
    text-indent: 0.07em;
    font-weight: bold;
	background-color: #b29574;
	color: #121212;
	border-radius: 50%;
	display: inline-block;
	text-align: center;
    position: absolute;
    top: 50%;
    left: 15px;
	transform: translateY(-50%);
}

.mvTopics.ticker li a {
	width: 21em;
	overflow: hidden;
}
.mvTopics.ticker li a span {
	animation: ticler 10s linear 0s infinite;
    display: block;
	white-space: nowrap;
    width: fit-content;
	position: relative;
}

@keyframes ticler {
	0% { transform: translateX(0);}
	10% { transform: translateX(0);}
	45% { transform: translateX(-100%);}
	45.01% { transform: translateX(100%);}
	100% { transform: translateX(0%);}
}




#mainVisual .mvLeft::after,
#mainVisual .mvRight .mvBnr::after,
#mainVisual .mvRight .mvImg::after {
	content: "";
	display: block;
	background-color: #fff;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 2;
}

#mainVisual.start .mvRight .mvBnr::after {
	animation: opst 0.6s cubic-bezier(0.83, 0, 0.17, 1) 0.4s forwards;
}
#mainVisual.start .mvRight .mvImg::after {
	animation: opst 0.6s cubic-bezier(0.83, 0, 0.17, 1) 0.7s forwards;
}
#mainVisual.start .mvLeft::after {
	animation: opst 0.6s cubic-bezier(0.83, 0, 0.17, 1) 1s forwards;
}

@keyframes opst {
	0% { width: 100%;}
	100% { width: 0%;}
}

#mainVisual.start .bgmv video {
	animation: opst2 1s linear 2.5s forwards;
}
@keyframes opst2 {
	0% { opacity: 1;}
	100% { opacity: 0.7;}
}

#mainVisual.start .mvTtl .mvTtlLogo,
#mainVisual.start .mvTtl .mvCopy,
#mainVisual.start .mvTtl .weatherBtn,
#mainVisual.start .mvTtl .mvSns {
	opacity: 0;
	transform: translateY(30px);
}
#mainVisual.start .mvTtl .mvTtlLogo {
	animation: opst3 1s cubic-bezier(0, 0.55, 0.45, 1) 3s forwards;
}
#mainVisual.start .mvTtl .mvCopy {
	animation: opst3 1s cubic-bezier(0, 0.55, 0.45, 1) 3.2s forwards;
}
#mainVisual.start .mvTtl .weatherBtn,
#mainVisual.start .mvTtl .mvSns {
	animation: opst3 1s cubic-bezier(0, 0.55, 0.45, 1) 3.4s forwards;
}
@keyframes opst3 {
	0% { opacity: 0; transform: translateY(30px);}
	100% { opacity: 1; transform: translateY(0);}
}


@media screen and (max-width: 820px) {
	#op .opLogo {
		max-width: 48%;
		margin-bottom: min(6vw, 50px);
	}
	#op .opCatch {
		font-size: min(3.2vw, 24px);
		font-weight: bold;
	}
	#op .opCatch strong {
		font-size: 1.4em;
		font-weight: bold;
	}
	#op .opMark {
		max-width: 22%;
	}

	#mainVisual {
		height: 80vh;
	}
	#mainVisual .mvLeft {
		width: 100%;
		border-right: #fff solid 10px;
	}

	#mainVisual .mvTtl {
    	margin-bottom: 15vw;
	}
	#mainVisual .mvTtl > div {
    	width: 57%;
		margin: min(8vw, 60px) auto;
	}

	#mainVisual .mvTtl .weatherBtn {
		margin-top: min(8vw, 40px);
	}
	#mainVisual .mvTtl .weatherBtn a {
		padding: min(3vw, 15px) min(6vw, 35px);
		font-size: min(3.4vw, 14px);
	}
	#mainVisual .mvTtl .weatherBtn a::before {
		width: min(10vw, 48px);
		height: min(8vw, 34px);
		background: url(../images/ico_weather.svg) no-repeat center center;
		background-size: contain;
		margin-right: min(3vw, 15px);
	}

	.memberBtn {
		top: min(4vw, 30px);
		left: min(4vw, 35px);
		width: min(17vw, 80px);
	}

	#mainVisual .mvTtl .mvCopy {
		font-size: min(3.2vw, 24px);
		font-weight: bold;
	}
	#mainVisual .mvTtl .mvCopy strong {
		font-size: 1.4em;
		font-weight: bold;
	}

	#mainVisual .mvSns {
		display: block;
		margin-top: min(8vw, 30px);
		padding: 0 min(6vw, 60px);
	}
	#mainVisual .mvSns li {
		width: 250px;
		max-width: 100%;
		margin: 0 auto;
	}
	#mainVisual .mvSns li + li {
		margin-top: min(4vw, 20px);
	}
	#mainVisual .mvSns li a {
		padding: min(3vw, 16px);
		font-size: min(3.2vw, 15px);
	}
	#mainVisual .mvSns li a i {
		font-size: min(5.2vw, 24px);
		margin-right: min(2vw, 10px);
	}


	#mainVisual .mvRight {
		display: none;
	}

	.mvTopics {
		bottom: 7vw;
		right: 7%;
		border-radius: 6px;
		min-width: 86%;
	}

	.mvTopics li {
    	width: 100%;
    	font-size: min(3vw, 14px);
	}
	.mvTopics li a {
		font-size: min(3.2vw, 14px);
	}
	.mvTopics li a::before {
		width: min(6vw, 24px);
		height: min(6vw, 24px);
		margin-right: min(3vw, 15px);
	}
}


#bnrArea {
	overflow: hidden;
	padding: 25px 0 40px;
}
#bnrArea .bnrSlide {
	max-width: 630px;
	margin: 0 auto;
	overflow: visible;
}
#bnrArea .bnrSlide li {
	padding: 0 15px;
	line-height: 0;
}
#bnrArea .slick-slider .slick-track,
#bnrArea .slick-slider .slick-list {
	overflow: visible;
}
#bnrArea .bnrSlide li a {
	position: relative;
	display: block;
	width: 100%;
	padding-top: 27.5%;
}
#bnrArea .bnrSlide li a img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

#bnrArea .slick-dots {
	bottom: -30px;
}
#bnrArea .slick-dots li {
	padding: 0;
	width: 8px;
	height: 8px;
}
#bnrArea .slick-dots li button {
	width: 100%;
	height: 100%;
	padding: 0;
	background-color: #cccccc;
	border-radius: 50%;
}
#bnrArea .slick-dots li button:before {
	display: none;
}
#bnrArea .slick-dots li.slick-active button {
	background-color: #b29574;
}

@media screen and (max-width: 820px) {
	#bnrArea {
		padding: min(4vw, 30px) 0 min(8vw, 40px);
	}
	#bnrArea .bnrSlide {
		width: 80%;
	}
	#bnrArea .bnrSlide li {
		padding: 0 5px;
	}

	#bnrArea .slick-dots {
		bottom: -20px;
	}
	#bnrArea .slick-dots li {
		padding: 0;
	}
}

section {
	width: calc(100% - 20px);
	border-radius: 10px;
	overflow: hidden;
	margin: 0 auto;
}
#toppage section {
	margin: 0 auto 10px;
}

section h2 {
	text-align: center;
	font-size: min(4.8vw, 26px);
	letter-spacing: 0.1em;
	margin-bottom: min(8vw, 60px);
}
section h2 span {
	display: block;
	font-size: 0.6em;
	font-weight: normal;
	letter-spacing: 0.06em;
	color: #B29574;
}

.moreBtn {
	max-width: 320px;
	margin: min(10vw, 60px) auto 0;
}
.moreBtn a {
	display: block;
	border: #B29574 solid 1px;
	text-align: center;
	padding: min(6vw, 20px);
	color: #B29574;
	text-decoration: none;
	font-size: min(4vw, 16px);
	border-radius: 8px;
}

@media screen and (max-width: 820px) {

	section {
		width: 100%;
	}

	.moreBtn {
		max-width: 86%;
	}
	.moreBtn a {
		padding: min(3vw, 20px) min(6vw, 20px);
	}


}



#info .newsList li {
	margin-bottom: min(7vw, 30px);
	display: flex;
    border-bottom: #eee solid 1px;
    padding-bottom: 15px;
}
#info .newsList li .newsListHdr {
	display: flex;
	font-size: min(3vw, 12px);
    width: 240px;
}
#info .newsList li .newsListHdr .date {
	margin-right: min(5vw, 25px);
}
#info .newsList li .newsListHdr .cat {
	color: #B29574;
}
#info .newsList li .newsTtl {
	width: calc(100% - 240px);
}
#info .newsList li .newsTtl a {
	font-size: min(3.6vw, 16px);
	color: #000;
	text-decoration: none;
}



#event {
	background-color: #192214;
	color: #fff;
	padding: min(12vw, 80px) min(6vw, 60px);
}
#event .eventContent {
	display: flex;
	justify-content: space-between;
    max-width: 1240px;
    margin: 0 auto;
	gap: 0 4%;
}
#event .eventPickUp {
    width: 30%;
    background-color: #091503;
    padding: min(6vw, 30px) min(5vw, 40px);
	border-radius: 10px;
}
#event .eventPickUp a {
	color: #fff;
	text-decoration: none;
}
#event .eventPickUp .thumb {
	position: relative;
	width: 100%;
	padding-top: 100%;
	line-height: 0;
	margin-bottom: min(5vw, 20px);
}
#event .eventPickUp .thumb img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

#event .eventPickUp h3 {
	text-align: center;
	color: #B29574;
	font-size: min(3.8vw, 16px);
	margin-bottom: min(4vw, 15px);
	letter-spacing: 0.1em;
}

#event .evListHdr {
	margin-bottom: min(2vw, 10px);
	font-size: min(3vw, 12px);
}
#event .eventPickUp .evListHdr {
	margin-bottom: 0;
}
#event .evListHdr .date {
	margin-right: min(5vw, 25px);
}
#event .evListHdr .cat {
	color: #B29574;
}
#event .evTtl {
	font-size: min(3.4vw, 14px);
}

#event .pickUpList {
   	width: 66%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 0 auto;
}
#event .pickUpList li {
    width: 50%;
}
#event .pickUpList li:nth-child(n+3) {
	margin-top: min(6vw, 20px);
}
#event .pickUpList li a {
	color: #fff;
	text-decoration: none;
}
#event .pickUpList li .thumb {
	position: relative;
	width: 100%;
	padding-top: 100%;
	line-height: 0;
	margin-bottom: min(4vw, 20px);
}
#event .pickUpList li .thumb img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}


#plan {
	padding: min(10vw, 80px) 0;
	width: 100%;
}

#accessContent {
	background: url("../images/access_bg.jpg") no-repeat center center;
	background-size: cover;
	color: #fff;
}

#accessContent .accessContent {
	display: flex;
	justify-content: space-between;
}

#accessContent .map {
    width: 55%;
}
#accessContent .map div {
	width: 100%;
    padding-top: 60%;
	position: relative;
}
#accessContent .map div iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

#accessContent .accessInfoWrap {
    width: 40%;
}
#accessContent h3 {
	font-size: min(4.8vw, 24px);
	margin-bottom: min(3vw, 40px);
}
#accessContent .accessInfo {
	display: flex;
	flex-wrap: wrap;
	font-size: min(3.4vw, 16px);
}
#accessContent .accessInfo dt {
	width: 18%;
	margin-bottom: min(2vw, 10px);
}
#accessContent .accessInfo dd {
	width: 82%;
	margin-bottom: min(2vw, 10px);
}
#accessContent .accessInfo dd a {
	color: #fff;
	text-decoration: underline;
}


#group {
	margin: 0;
	width: 100%;
	border-top: #ccc solid 1px;
	border-radius: 0;
}
#group .contentWrapWide {
    padding: min(4vw, 30px) min(6vw, 60px);
}

#group .groupListAcc dt {
	font-size: min(4.2vw, 20px);
	padding: min(4vw, 30px) 0 min(4vw, 30px) 0;
	position: relative;
	color: #ad9171;
	font-weight: bold;
}
#group .groupListAcc dt span {
	display: block;
	position: absolute;
	top: 50%;
	right: 0;
	background-color: #B29574;
	border-radius: 50%;
	width: 50px;
	height: 50px;
	transform: translateY(-50%);
}
#group .groupListAcc dt span::before,
#group .groupListAcc dt span::after {
	content: "";
	display: block;
	background-color: #fff;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
#group .groupListAcc dt span::before {
	width: 50%;
	height: 1px;
}
#group .groupListAcc dt span::after {
	width: 1px;
	height: 50%;
	transition: all 0.3s ease-out;
}

#group .groupListAcc dt.on span::after {
	transform: translate(-50%, -50%) rotate(90deg);
}

#group .groupListAcc dd {
	border: #B29574 solid 1px;
	padding: min(6vw, 20px);
	display: none;
}
#group .groupListAcc dd ul li {
	padding-left: 15px;
	position: relative;
}
#group .groupListAcc dd ul li::before {
	content: "";
	display: block;
	width: 6px;
	height: 1px;
	background-color: #000;
	position: absolute;
	top: 1em;
	left: 0;
}
#group .groupListAcc dd ul li + li {
	margin-top: min(2vw, 10px);
}
#group .groupListAcc dd ul li a {
	color: #000;
	text-decoration: none;
	font-size: min(3.6vw, 15px);
}

#group .groupBtn a {
    background-color: #B29574;
    display: block;
    text-align: center;
    color: #fff;
    text-decoration: none;
    max-width: 360px;
    font-size: 18px;
    font-weight: bold;
    padding: 15px;
    margin: 40px auto 0;
    border-radius: 6px;
}


@media screen and (min-width: 821px) {

	#event .pickUpList {
		border-bottom: #555555 solid 1px;
	}
	#event .pickUpList li {
		border-top: #555555 solid 1px;
		padding-top: 35px;
    	padding-bottom: 35px;
	}
	#event .pickUpList li:nth-child(n+3) {
		margin-top: 0;
	}
	#event .pickUpList li:nth-child(odd) {
		padding-right: 15px;
	}
	#event .pickUpList li:nth-child(even) {
		padding-left: 15px;
	}
	#event .pickUpList li a {
		display: flex;
		justify-content: space-between;
	}

	#event .pickUpList li .thumb {
		width: 40%;
		padding-top: 40%;
		margin-bottom: 0;
	}
	#event .pickUpList li .evTxt {
		width: 55%;
	}

	#accessContent .accessContent {
		flex-direction: row-reverse;
	}
	#accessContent .accessInfo dt {
		padding-bottom: min(2vw, 10px);
		border-bottom: #555555 solid 1px;
	}
	#accessContent .accessInfo dd {
		padding-bottom: min(2vw, 10px);
		border-bottom: #555555 solid 1px;
	}
	#accessContent .accessInfo dd strong {
		font-weight: bold;
		font-size: 1.2em;
	}


	#group .groupListAcc dt {
		text-align: center;
		padding-top: 0;
	}
	#group .groupListAcc dt span {
		display: none;
	}
	#group .groupListAcc dd {
		display: block !important;
		border: none;
		border-top: #B29574 solid 1px;
		padding: 50px 0 20px;
	}
	#group .groupListAcc dd > ul {
		column-count: 3;
	}

}
@media screen and (max-width: 820px) {

	#info .newsList li {
		display: block;
		border-bottom: none;
		padding-bottom: 0;
	}
	#info .newsList li .newsListHdr {
		width: 100%;
		margin-bottom: 0;
    	line-height: 2.4;
	}

	#info .newsList li .newsTtl {
		width: 100%;
	}


	#event {
		padding: min(12vw, 80px) 0;
		margin: 0 10px;
		max-width: calc(100% - 20px);
	}

	#event .eventContent {
		display: block;
	}
	#event .eventPickUp {
		width: 90%;
		margin: 0 auto min(8vw, 30px);
	}
	#event .eventPickUp a {
		display: flex;
		flex-direction: column;
		padding: 0 min(6vw, 30px);
		gap: min(4vw, 20px);
	}
	#event .eventPickUp .thumb {
		width: 100%;
		margin-bottom: 0;
	}
	#event .eventPickUp .evTxt {
		width: 100%;
	}


	#event .pickUpList {
		width: 100%;
		padding: 0 min(6vw, 60px);
	}
	#event .pickUpList li {
		width: 48%;
	}



	#accessContent {
		margin: 0 10px;
    	max-width: calc(100% - 20px);
	}
	#accessContent .accessContent {
		display: block;
	}
	#accessContent .map {
		margin-bottom: min(6vw, 30px);
		width: 100%;
	}
	#accessContent .accessInfoWrap {
		width: 100%;
	}

	#toppage #group {
		border-top: none;
	}
	#group .groupListAcc dt {
		padding: min(4vw, 30px) min(10vw, 50px) min(4vw, 30px) 0;
	}
	#group .groupListAcc dt span {
		width: 30px;
		height: 30px;
	}
	#group .groupBtn a {
		font-size: min(3.6vw, 18px);
		padding: min(3vw, 15px);
		margin: min(6vw, 40px) auto 0;
	}
}




/* ////////////////////////////////////////////////////////////////////////////////

	Lower page

//////////////////////////////////////////////////////////////////////////////// */

.pageHead {
	min-height: min(60vw, 480px);
	padding: min(8vw, 60px) min(6vw, 30px);
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	position: relative;
    border-bottom: #ccc solid 1px;
}
.pageHead h2 {
	text-align: center;
	color: #000;
	font-size: min(5.8vw, 34px);
	font-weight: bold;
	letter-spacing: 0.1em;
	position: relative;
	z-index: 1;
}
.pageHead.hasPic h2 {
	color: #fff;
}
.pageHead h2 span {
	display: block;
	font-size: 0.4em;
	font-weight: normal;
	color: #b19474;
}
.pageHead.hasPic h2 span {
	color: #fff;
}
.pageHead p {
	position: relative;
	z-index: 1;
	color: #000;
	text-align: center;
    font-size: min(3vw, 18px);
    margin-top: min(5vw, 50px);
}
.pageHead.hasPic p {
	color: #fff;
}
.pageHead div {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 0;
	background-color: #000;
}
.pageHead div img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0.8;
}

.anchorNavi {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	margin: min(6vw, 40px) auto 0;
    width: 90%;
    max-width: 1080px;
    gap: 10px 0;
}
.contentWrap .anchorNavi:first-child {
	margin-top: 0;
}
.anchorNavi li {
	width: calc(86% / 3 - 10px);
    max-width: 240px;
	margin: 0 5px;
}
.anchorNavi li a {
	color: #fff;
	text-decoration: none;
	text-align: center;
	padding: min(3vw, 15px) min(2vw, 10px);
	font-size: min(3.2vw, 15px);
	height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
	background-color: #aaa;
	border-radius: 6px;
}

.anchorNavi02 {
	display: flex;
	justify-content: space-between;
}
.anchorNavi02 li {
	width: 32%;
	border: #b29574 solid 1px;
}
.anchorNavi02 li a {
	display: block;
	color: #b29574;
	text-decoration: none;
	text-align: center;
	padding: min(3vw, 15px) min(2vw, 10px);
	font-size: min(3.2vw, 16px);
	line-height: 1.6;
}
@media screen and (max-width: 820px) {

	.anchorNavi {
		gap: 4px;
		width: 100%;
	}
	.anchorNavi li {
		width: calc(100% / 2 - 2px);
		margin: 0;
	}
	.anchorNavi li a {
    	font-size: min(3vw, 16px);
		height: 100%;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
    	line-height: 1.4;
		letter-spacing: 0;
		font-weight: bold;
	}

}


/* ////////////////////////////////////////////////////////////////////////////////

	絞り込みボタン

//////////////////////////////////////////////////////////////////////////////// */


.refineButtons {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0 20px;
	max-width: 550px;
	margin: 0 auto;
}
.refineButtons li {
	width: 30.9%;
	flex-shrink: 0;
	border-radius: 40px;
	overflow: hidden;
}
.refineButtons a {
	background-color: #e8e8e8;
	color: #000;
	padding: 0 20px;
	line-height: 2;
	font-size: 14px;
	text-decoration: none;
	display: block;
	text-align: center;
}
.refineButtons a.current {
	background-color: #000;
	color: #fff;
}
@media screen and (max-width: 820px) {

	.refineButtons {
		justify-content: center;
		flex-wrap: wrap;
		gap: 15px 2%;
		max-width: 100%;
	}
	.refineButtons li {
		width: 32%;
	}
	.refineButtons a {
		padding: 0 min(4vw, 20px);
		font-size: min(2.8vw, 14px);
		line-height: 2.6;
	}

}



/* ////////////////////////////////////////////////////////////////////////////////

	絞り込みボタン ここまで

//////////////////////////////////////////////////////////////////////////////// */

.btnType01 {
	display: flex;
	justify-content: center;
	margin-top: min(8vw, 60px);
}
.btnType01 a {
	width: calc(100% / 3 - 20px);
	margin: 0 10px;
	border: #b29574 solid 1px;
	border-radius: 6px;
	display: block;
	color: #b29574;
	text-decoration: none;
	text-align: center;
	padding: min(4vw, 15px) min(2vw, 10px);
	font-size: min(3.2vw, 16px);
}

main section {
	padding: min(12vw, 80px) 0;
	border-radius: 0;
}
main .contentWrap section:first-child,
main .contentWrapWide section:first-child {
	padding-top: 0;
}
main section.underBdr {
	border-bottom: #ccc solid 1px;
}

main .sectionHl {
	text-align: center;
	color: #000;
	font-size: min(4.2vw, 24px);
	font-weight: bold;
	margin-bottom: min(6vw, 40px);
	line-height: 1.6;
}
main .sectionHl span {
	display: block;
	color: #b29574;
	font-size: 0.5em;
	font-weight: normal;
}
.sectionHl_lead {
	font-size: min( 3.4vw,16px);
	margin-bottom: min(6vw, 40px);
}
.sectionHl_lead p + p {
	margin-top: 1em;
}
.sectionHl_lead a {
	color: #000;
}


main .solidBgHl {
	background-color: #b29574;
	color: #fff;
	text-align: center;
	font-size: min(3.4vw, 16px);
	padding: min(2vw, 10px);
	margin-bottom: min(4vw, 20px);
}

@media screen and (max-width: 820px) {

	.btnType01 a {
		width: 65%;
	}


}



/* ////////////////////////////////////////////////////////////////////////////////

	Course Guide Index

//////////////////////////////////////////////////////////////////////////////// */
#aboutCourse p {
	font-size: min(3.4vw, 16px);
}
#aboutCourse p + p {
	margin-top: min(6vw, 30px);
}

#courseYardage p {
	margin-bottom: min(4vw, 20px);
}
#courseYardage p a {
	color: #b29574;
	text-decoration: underline;
	font-size: min(3.6vw, 14px);
}

.courseMap {
	line-height: 0;
	position: relative;
}
.courseMap .mapBtn a {
	position: absolute;
	width: min(3.4vw, 30px);
	height: min(3.4vw, 30px);
	font-size: min(2.2vw, 16px);
	font-family: Helvetica, "sans-serif";
	font-weight: bold;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	text-decoration: none;
	border-radius: 50%;
	background-color: #000;
	z-index: 1;
}
.courseMap .mapBtn a::before {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 8px 3px 0 3px;
	border-color: #000000 transparent transparent transparent;
	position: absolute;
	bottom: -6px;
	left: 50%;
	transform: translateX(-50%);
}

.courseMap .mapBtn .btnOut01,
.courseMap .mapBtn .btnOut02,
.courseMap .mapBtn .btnOut03,
.courseMap .mapBtn .btnOut04,
.courseMap .mapBtn .btnOut05,
.courseMap .mapBtn .btnOut06,
.courseMap .mapBtn .btnOut07,
.courseMap .mapBtn .btnOut08,
.courseMap .mapBtn .btnOut09 {
	background-color: #f67394;
}
.courseMap .mapBtn .btnOut01::before,
.courseMap .mapBtn .btnOut02::before,
.courseMap .mapBtn .btnOut03::before,
.courseMap .mapBtn .btnOut04::before,
.courseMap .mapBtn .btnOut05::before,
.courseMap .mapBtn .btnOut06::before,
.courseMap .mapBtn .btnOut07::before,
.courseMap .mapBtn .btnOut08::before,
.courseMap .mapBtn .btnOut09::before {
	border-color: #f67394 transparent transparent transparent;
}
.courseMap .mapBtn .btnIn10,
.courseMap .mapBtn .btnIn11,
.courseMap .mapBtn .btnIn12,
.courseMap .mapBtn .btnIn13,
.courseMap .mapBtn .btnIn14,
.courseMap .mapBtn .btnIn15,
.courseMap .mapBtn .btnIn16,
.courseMap .mapBtn .btnIn17,
.courseMap .mapBtn .btnIn18 {
	background-color: #6291d7;
}
.courseMap .mapBtn .btnIn10::before,
.courseMap .mapBtn .btnIn11::before,
.courseMap .mapBtn .btnIn12::before,
.courseMap .mapBtn .btnIn13::before,
.courseMap .mapBtn .btnIn14::before,
.courseMap .mapBtn .btnIn15::before,
.courseMap .mapBtn .btnIn16::before,
.courseMap .mapBtn .btnIn17::before,
.courseMap .mapBtn .btnIn18::before {
	border-color: #6291d7 transparent transparent transparent;
}

.courseMap .mapBtn .btnOut01 {
	top: 57.1%;
	left: 77.2%;
}
.courseMap .mapBtn .btnOut02 {
	top: 37.1%;
	left: 69.5%;
}
.courseMap .mapBtn .btnOut03 {
	top: 13.8%;
	left: 71.2%;
}
.courseMap .mapBtn .btnOut04 {
	top: 4.5%;
	left: 57.3%;
}
.courseMap .mapBtn .btnOut05 {
	top: 15.5%;
	left: 54.4%;
}
.courseMap .mapBtn .btnOut06 {
	top: 31.3%;
	left: 48.8%;
}
.courseMap .mapBtn .btnOut07 {
	top: 38.1%;
	left: 40.1%;
}
.courseMap .mapBtn .btnOut08 {
	top: 33.4%;
	left: 57.2%;
}
.courseMap .mapBtn .btnOut09 {
	top: 46.2%;
	left: 67.2%;
}

.courseMap .mapBtn .btnIn10 {
	top: 68.2%;
	left: 54.6%;
}
.courseMap .mapBtn .btnIn11 {
	top: 55.4%;
	left: 39.7%;
}
.courseMap .mapBtn .btnIn12 {
	top: 51.8%;
	left: 26%;
}
.courseMap .mapBtn .btnIn13 {
	top: 47.2%;
	left: 20.1%;
}
.courseMap .mapBtn .btnIn14 {
	top: 41.8%;
	left: 28.5%;
}
.courseMap .mapBtn .btnIn15 {
	top: 49.2%;
	left: 43.1%;
}
.courseMap .mapBtn .btnIn16 {
	top: 59.8%;
	left: 53.2%;
}
.courseMap .mapBtn .btnIn17 {
	top: 51.7%;
	left: 55.5%;
}
.courseMap .mapBtn .btnIn18 {
	top: 49%;
	left: 62.3%;
}


.mapIcoCap {
	margin-bottom: min(10vw, 80px);
}
.mapIcoCap ul {
	display: flex;
	justify-content: center;
}
.mapIcoCap ul li {
	padding: 0 15px;
	font-size: 14px;
	font-weight: bold;
	border-right: #ccc solid 1px;
	display: flex;
	align-items: center;
	gap: 10px;
}
.mapIcoCap ul li::before {
	content: "";
	display: block;
	width: 15px;
	height: 20px;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center center;
}
.mapIcoCap ul li.mapIco01::before { background-image: url("../images/ico_course01.svg");}
.mapIcoCap ul li.mapIco02::before { background-image: url("../images/ico_course02.svg");}
.mapIcoCap ul li.mapIco03::before { background-image: url("../images/ico_course03.svg");}
.mapIcoCap ul li.mapIco04::before { background-image: url("../images/ico_starthouse.png"); width: 18px;}
.mapIcoCap ul li.mapIco05::before { background-image: url("../images/ico_shelter.png"); width: 21px;}
.mapIcoCap ul li.mapIco06::before { background-image: url("../images/ico_shop.png"); width: 16px;}
.mapIcoCap ul li.mapIco07::before { background-image: url("../images/ico_jihanki.png"); width: 12px; height: 23px;}
.mapIcoCap ul li.mapIco08::before { background-image: url("../images/ico_restroom.png"); width: 21px;}
.mapIcoCap ul li:last-child {
	border-right: none;
}


.yardageWrap + .yardageWrap {
	margin-top: min(8vw, 40px);
	padding-top: 40px;
	border-top: #ccc solid 1px;
}

.yardageHead {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	margin-bottom: min(4vw, 30px);
}
.yardageHead h4 {
	font-size: min(4vw, 20px);
}
.yardageHead dl {
	display: flex;
	font-size: min(3.2vw, 14px);
}
.yardageHead dl dt {
	border: #ccc solid 1px;
	padding: min(2vw, 8px) min(3vw, 15px);
	color: #000;
	font-weight: bold;
}
.yardageHead dl dd + dt {
	margin-left: 15px;
}
.yardageHead dl dd {
	border: #ccc solid 1px;
	border-left: none;
	padding: min(2vw, 8px) min(3vw, 15px);
}
.yardageHead dl dd a {
	color: #ad9171;
	text-decoration: underline;
	font-weight: bold;
}

.yardageTable {
	width: 100%;
	border: 1px solid #fff;
	border-collapse: collapse;
}
.yardageTable th {
	background-color: #000;
	text-align: center;
	color: #fff;
	border: #fff solid 1px;
    padding: 10px;
}
.yardageTable th a {
	color: #fff;
	text-decoration: underline;
}
.yardageTable thead th,
.yardageTable thead td {
	background-color: #000 !important;
	text-align: center;
	font-weight: bold;
	color: #fff;
    font-size: min(2.6vw, 12px);
}

.course01 .yardageTable th { background-color: #dd7f97;}
.course02 .yardageTable th { background-color: #6a8ec3;}
.course03 .yardageTable th { background-color: #d9a34e;}

.yardageTable td {
	padding: min(3vw, 15px) min(2vw, 10px);
	border: #fff solid 1px;
	background-color: #eeeeee;
	text-align: center;
	font-weight: bold;
    font-size: min(3.2vw, 14px);
}

#courseRating .yardageHead {
	margin-bottom: min(2vw, 20px);
}
#courseRating .yardageHead h4 {
	margin-bottom: 0;
}
#courseRating .yardageTable {
	margin-top: 0;
}
#courseRating .yardageTable + .yardageHead {
	margin-top: min(6vw, 40px);
}


@media screen and (min-width: 821px) {

	.courseMap .mapBtn a:hover {
		opacity: 1;
		transform: scale(1.2);
	}

}
@media screen and (max-width: 820px) {

	.yardageHead {
		display: block;
	}
	.yardageHead h4 {
		margin-bottom: min(4vw, 20px);
	}

	.yardageHead dl {
		flex-wrap: wrap;
    	gap: min(2vw, 10px) 0;
	}
	.yardageHead dl dt {
		width: 50%;
	}
	.yardageHead dl dd {
		width: 25%;
		text-align: center;
	}
	.yardageHead dl dd + dt {
		margin-left: 0;
	}
/*
	.yardageHead dl dt:nth-child(n+3),
	.yardageHead dl dd:nth-child(n+3) {
		margin-top: min(3vw, 10px);
	}
*/
	/* .yardageHead dl dd:nth-of-type(2n+3) {
		margin-left: 50%;
	} */
	/* .yardageHead dl dd:nth-of-type(2n+1) {
		border-left: #ccc solid 1px;
	} */

	.yardageTable {
		width: 100%;
/*
		overflow: auto;
    	display: block;
*/
		margin-top: min(6vw, 30px);
	}
	.yardageTable td {
		padding: min(3vw, 15px) min(1vw, 10px);
	}
	.yardageTable th {
		padding: min(2vw, 10px) min(1vw, 10px);
/*
		position: sticky;
		top: 0;
		left: 0;
*/
    	font-size: min(2.6vw, 12px);
	}

	.courseMap {
		transform: scale(1.06);
    	margin-bottom: min(2vw, 10px);
	}
	.courseMap .mapBtn a::before {
    border-width: 5px 1.5px 0 1.5px;
    bottom: -3px;
	}

	.mapIcoCap ul {
    	flex-wrap: wrap;
    	gap: 3vw 0;
	}
	.mapIcoCap ul li {
		padding: 0 2.5vw;
		font-size: 2.8vw;
		gap: 2vw;
	}
	.mapIcoCap ul li:nth-child(3n) {
		border-right: none;
	}
	.mapIcoCap ul li::before {
		width: 3.1vw;
		height: 4.8vw;
	}
	.mapIcoCap ul li.mapIco04::before { width: 4.2vw;}
	.mapIcoCap ul li.mapIco05::before { width: 4.4vw;}
	.mapIcoCap ul li.mapIco06::before { width: 3.4vw;}
}


/* ////////////////////////////////////////////////////////////////////////////////

	Course Guide Detail

//////////////////////////////////////////////////////////////////////////////// */
.courseHead {
	margin: 0;
	position: relative;
	margin-bottom: min(6vw, 60px);
}
.courseHead.noThumb {
	/* padding: min(10vw, 80px) min(6vw, 60px) 0; */
	margin-bottom: min(10vw, 100px);
}

.coursePrev,
.courseNext {
	line-height: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 2;
}
.noThumb .coursePrev,
.noThumb .courseNext {
	top: 64px;
}
.coursePrev a,
.courseNext a {
	display: block;
	width: 24px;
}
.coursePrev a img,
.courseNext a img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.coursePrev {
	left: -55px;
}
.courseNext {
	right: -55px;
}

.courseHead .courseMv {
	position: relative;
	line-height: 0;
	padding-top: 580px;
}
.courseHead .courseMv img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.courseHead .courseIntro {
	position: absolute;
	bottom: 60px;
	left: 60px;
	color: #fff;
}
.courseHead.noThumb .courseIntro {
	position: static;
	color: #000;
}
.courseHead .courseIntro h2 {
	font-size: 24px;
	border-bottom: #fff solid 1px;
	margin-bottom: 15px;
}
.courseHead.noThumb .courseIntro h2 {
	border-bottom: #000 solid 1px;
}

.courseHead .courseIntro h2 span {
	font-family: Helvetica, "sans-serif";
	font-size: 1.6em;
	margin-left: 20px;
}

.courseHead .courseIntro .courseTag {
	display: flex;
}
.courseHead .courseIntro .courseTag li {
	width: 110px;
	text-align: center;
	color: #b19473;
	background-color: #fff;
	font-size: 16px;
	font-weight: bold;
	padding: 4px;
	margin-right: 15px;
}


#out_course .courseHead.noThumb .courseIntro .courseTag li { background-color: #dd7f97 !important; color: #fff;}
#in_course .courseHead.noThumb .courseIntro .courseTag li { background-color: #6a8ec3 !important; color: #fff;}
#other_course .courseHead.noThumb .courseIntro .courseTag li { background-color: #d9a34e !important; color: #fff;}

.courseAboutWrap {
	display: flex;
	justify-content: space-between;
	margin-bottom: 60px;
}
.courseAboutWrap > div {
	width: 48%;
}
.courseAboutWrap .courseAbout {
	width: 49%;
}
.courseAboutWrap h3 {
	font-size: 26px;
	font-weight: bold;
	margin-bottom: 30px;
}
.courseAboutWrap p {
	font-size: 16px;
}
.courseAboutWrap p + p {
	margin-top: 15px;
}
.courseAboutWrap .note {
	font-weight: bold;
}
.courseAboutWrap .courseAbout .yardageTable {
	margin-top: 40px;
}

#out_course  .courseAboutWrap .yardageTable thead th { background-color: #dd7f97 !important;}
#in_course .courseAboutWrap .yardageTable thead th { background-color: #6a8ec3 !important;}
#other_course .courseAboutWrap .yardageTable thead th { background-color: #d9a34e !important;}


.courseAboutWrap .courseMap {
	width: 46%;
	line-height: 0;
}
.courseAboutWrap .courseMap img {
	width: 100%;
	height: auto;
}


.coursePic {
	display: flex;
	flex-wrap: wrap;
	gap: 20px 0;
	justify-content: space-between;
}
.coursePic li {
	width: 49%;
}
.coursePic li p {
	font-size: min(3.2vw, 14px);
	margin-top: min(1vw, 5px);
}

.coursePic li .coursePicImg {
	width: 100%;
	position: relative;
	padding-top: 56.25%;
	line-height: 0;
}
.coursePic li .coursePicImg img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.coursePic li .iframeBox {
	width: 100%;
	line-height: 0;
}
.coursePic li .iframeBox > div {
	position: relative;
	padding-top: 56.25%;
}
.coursePic li .iframeBox > div iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}


.courseNav {
	background-color: #eeeeee;
}
.courseNav .courseSelect {
	display: flex;
	justify-content: center;
	padding-bottom: 20px;
	border-bottom: #aaa solid 1px;
	margin-bottom: 20px;
}
.courseNav .courseSelect li {
	margin: 0 20px;
	font-size: 18px;
	font-weight: bold;
}
.courseNav .courseSelect li a {
	color: #aaa;
	text-decoration: none;
}
.courseNav .courseSelect li span {
	color: #000;
}

.courseNav .holeSelect {
	display: flex;
	justify-content: center;
}
.courseNav .holeSelect li {
	margin: 0 0.6%;
	text-align: center;
	font-size: 16px;
	font-weight: bold;
	width: 8%;
}

.courseNav .holeSelect li a {
	display: block;
	background-color: #000;
	color: #fff;
	text-decoration: none;
	border-radius: 6px;
	padding: 2px;
}
#out_course .courseNav .holeSelect li a { background-color: #dd7f97;}
#in_course .courseNav .holeSelect li a { background-color: #6a8ec3;}
#other_course .courseNav .holeSelect li a { background-color: #d9a34e;}

.courseNav .holeSelect.hole01 li:nth-child(1) a,
.courseNav .holeSelect.hole02 li:nth-child(2) a,
.courseNav .holeSelect.hole03 li:nth-child(3) a,
.courseNav .holeSelect.hole04 li:nth-child(4) a,
.courseNav .holeSelect.hole05 li:nth-child(5) a,
.courseNav .holeSelect.hole06 li:nth-child(6) a,
.courseNav .holeSelect.hole07 li:nth-child(7) a,
.courseNav .holeSelect.hole08 li:nth-child(8) a,
.courseNav .holeSelect.hole09 li:nth-child(9) a,
.courseNav .holeSelect.hole10 li:nth-child(1) a,
.courseNav .holeSelect.hole11 li:nth-child(2) a,
.courseNav .holeSelect.hole12 li:nth-child(3) a,
.courseNav .holeSelect.hole13 li:nth-child(4) a,
.courseNav .holeSelect.hole14 li:nth-child(5) a,
.courseNav .holeSelect.hole15 li:nth-child(6) a,
.courseNav .holeSelect.hole16 li:nth-child(7) a,
.courseNav .holeSelect.hole17 li:nth-child(8) a,
.courseNav .holeSelect.hole18 li:nth-child(9) a { background-color: #fff !important; color: #000;}

.courseNav .holeSelect li span {
	background-color: #af9372;
	color: #fff;
	display: block;
	border-radius: 6px;
	padding: 2px;
}

@media screen and (max-width: 820px) {

	.contentWrap.courseWrap {
		padding-top: min(8vw, 60px);
	}
	.courseHead {
		padding-top: min(14vw, 60px);
	}

	.coursePrev,
	.courseNext,
	.noThumb .coursePrev,
	.noThumb .courseNext {
		top: 0;
		transform: translateY(0%);
	}
	.coursePrev a,
	.courseNext a {
		width: auto;
		height: auto;
		line-height: 1.5;
		border: 1px solid #b29574;
		color: #b29574;
		padding: min(1vw, 5px) min(4vw, 20px);
		border-radius: 40px;
		text-decoration: none;
		font-size: min(3.4vw, 16px);
	}
	.coursePrev {
		left: 0;
	}
	.courseNext {
		right: 0;
	}

	.courseHead .courseMv {
		padding-top: min(80vw, 580px);
	}

	.courseHead .courseIntro {
		bottom: min(6vw, 60px);
		left: min(6vw, 60px);
	}
	.courseHead .courseIntro h2 {
		font-size: min(4.8vw, 36px);
		margin-bottom: min(3vw, 15px);
	}
	.courseHead .courseIntro h2 span {
		font-size: 0.6em;
		margin-left: min(4vw, 20px);
	}

	.courseHead .courseIntro .courseTag li {
		width: min(20vw, 110px);
		font-size: min(3.2vw, 16px);
		padding: min(1vw, 4px);
		margin-right: min(3vw, 15px);
	}


	.courseAboutWrap {
		display: block;
		margin-bottom: min(8vw, 60px);
	}
	.courseAboutWrap .courseAbout {
		width: 100%;
	}
	.courseAboutWrap h3 {
		font-size: min(4.6vw, 26px);
		margin-bottom: min(4vw, 30px);
	}
	.courseAboutWrap p {
		font-size: min(3.4vw, 16px);
	}
	.courseAboutWrap p + p {
		margin-top: min(4vw, 15px);
	}

	.courseAboutWrap .yardageTable {
		margin-top: min(6vw, 40px);
	}

	.courseAboutWrap .courseMap {
		width: 100%;
		margin-top: min(6vw, 30px);
	}

	.coursePic {
		display: flex;
		justify-content: space-between;
		flex-direction: column;
		gap: 15px;
	}
	.coursePic li {
		width: 100%;
	}

	.courseAboutWrap > div {
		width: 100%;
	}

	.courseNav .courseSelect {
		padding-bottom: min(4vw, 20px);
		margin-bottom: min(4vw, 20px);
	}
	.courseNav .courseSelect li {
		margin: 0 min(2.5vw, 20px);
		font-size: min(3.2vw, 18px);
	}

	.courseNav .holeSelect {
		display: flex;
		justify-content: center;
	}
	.courseNav .holeSelect li {
		margin: 0 0.6%;
		font-size: min(3.6vw, 16px);
		width: 9.8%;
	}


}



/* ////////////////////////////////////////////////////////////////////////////////

	Information

//////////////////////////////////////////////////////////////////////////////// */


.topicPath + .sectionHl {
	margin-top: min(10vw, 80px);
	margin-bottom: 0;
}
.informationContents .informationContent {
	padding-bottom: 32px;
	border-bottom: 1px solid #ccc;
}
.informationContents .informationContent:not(:first-child) {
	margin-top: 30px;
}
.informationContents .informationContent a {
	display: flex;
	align-items: flex-start;
	text-decoration: none;
}
.informationContents .date {
	width: 7.8%;
	margin-right: 5.7%;
	font-size: 14px;
	line-height: 2.2;
	color: #000;
}
.informationContents .category {
	width: 10.8%;
	margin-right: 5.2%;
	font-size: 14px;
	color: #b29574;
	line-height: 2.2;
}
.informationContents .title {
	width: 68.8%;
	font-size: 16px;
	color: #000;
}

.pagination {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: 60px;
}
.pagination .navigation h2 {
	display: none;
}
.pagination .nav-links {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.pagination a {
	border: 1px solid #b29574;
	border-radius: 20px;
	overflow: hidden;
	padding: 6px 27px;
	font-size: 16px;
	color: #b29574;
	letter-spacing: .08em;
	text-decoration: none;
}
@media screen and (max-width: 820px) {


	.informationContents .informationContent {
		padding-bottom: min(5vw, 30px);
	}
	.informationContents .informationContent:not(:first-child) {
		margin-top: min(5vw, 30px);
	}
	.informationContents .informationContent a {
		flex-wrap: wrap;
	}
	.informationContents .date {
		width: auto;
		margin-right: min(4vw, 20px);
		font-size: min(2.8vw, 14px);
	}
	.informationContents .category {
		width: auto;
		margin-right: 0;
		font-size: min(2.8vw, 14px);
	}
	.informationContents .title {
		width: 100%;
		font-size: min(3.8vw, 16px);
	}

	.pagination {
		margin-top: min(12vw, 60px);
	}
	.pagination a {
		padding: min(1.2vw, 6px) min(5.4vw, 27px);
		font-size: min(3.2vw, 16px);
	}

}

/* ////////////////////////////////////////////////////////////////////////////////

	Infomation Detail

//////////////////////////////////////////////////////////////////////////////// */


.infomationDescription {
	padding-bottom: 36px;
	border-bottom: 1px solid #ccc;
}
.infomationDescription .descriptionHeader .date {
	font-size: 14px;
	margin-right: 34px;
}
.infomationDescription .descriptionHeader .category {
	font-size: 14px;
	color: #b29574;
}
.infomationDescription .descriptionHeader h2 {
	margin-top: 20px;
	padding-bottom: 34px;
	font-size: 28px;
	font-weight: bold;
	border-bottom: 1px solid #ccc;
}


.infomationDescription .descriptionBody {
	margin-top: 50px;
}
.infomationDescription .descriptionBody h3 {
  background-color: #E9E7E2;
  padding: min(3vw, 15px);
  margin-bottom: min(2vw, 30px);
  font-size: min(3.6vw, 18px);
  font-weight: bold;
}
.infomationDescription .descriptionBody h4 {
  font-size: min(3.4vw, 16px);
  border-bottom: #662b1e solid 1px;
  padding-bottom: min(1vw, 5px);
  margin-bottom: min(6vw, 30px);
}
.infomationDescription .descriptionBody h5 {
  font-size: min(3.4vw, 16px);
  margin-bottom: min(3vw, 15px);
  margin-top: min(6vw, 30px);
}
.infomationDescription .descriptionBody p {
  font-size: min(3.2vw, 14px);
  margin-bottom: min(4vw, 20px);
}
.infomationDescription .descriptionBody a {
	color: #000;
	text-decoration: underline;
}

.infomationDescription .descriptionBody ul {
  list-style: disc;
  padding-left: min(4vw, 20px);
  margin: min(6vw, 30px) 0;
  font-size: min(3.4vw, 16px);
}
.infomationDescription .descriptionBody ol {
  list-style: decimal;
  padding-left: min(4vw, 24px);
  margin: min(6vw, 30px) 0;
  font-size: min(3.4vw, 16px);
}
.infomationDescription .descriptionBody blockquote {
  background-color: #eee;
  padding: min(4vw, 20px) min(4vw, 20px) min(4vw, 20px) min(10vw, 55px);
  margin-bottom: min(4vw, 20px);
  position: relative;
}
.infomationDescription .descriptionBody blockquote::before {
	content: "“";
	font-size: min(8.6vw, 56px);
	line-height: 1;
	position: absolute;
	top: min(4.5vw, 20px);
	left: min(3vw, 15px);
	display: block;
	color: #bbb;
}
.infomationDescription .descriptionBody blockquote p:last-child {
  margin-bottom: 0;
}

.infomationDescription .descriptionBody table {
  width: 100%;;
  font-size: min(3.2vw, 14px);
  margin-bottom: min(4vw, 20px);
	table-layout: fixed;
	border-spacing: 1px;
	border-collapse: separate !important;
}
.infomationDescription .descriptionBody table th,
.infomationDescription .descriptionBody table td {
  padding: min(2vw, 10px);
}
.infomationDescription .descriptionBody table th {
	background-color: #000;
	color: #fff;
  font-weight: bold;
}
.infomationDescription .descriptionBody table td {
	background-color: #eee;
	color: #000;
}

.infomationDescription .descriptionBody p a {
	color: #3D434A;
	text-decoration: underline;
}

#infomationDescription .pagination {
	margin-top: 41px;
}

#infomationDescription h4 {
	margin-top: 60px;
	font-size: 18px;
	color: #000;
}


.infomationDescription .descriptionBody .tableWrap {
	margin-top: 40px;
	margin-bottom: 1em;
	min-width: 100%;
	overflow: auto;
}


@media screen and (max-width: 820px) {

	.infomationDescription {
		padding-bottom: min(7.2vw, 36px);
	}
	.infomationDescription .descriptionHeader .date {
		font-size: min(3.2vw, 14px);
		margin-right: min(7.2vw, 34px);
	}
	.infomationDescription .descriptionHeader .category {
		font-size: min(3.2vw, 14px);
	}
	.infomationDescription .descriptionHeader h2 {
		margin-top: min(4vw, 20px);
		padding-bottom: min(5vw, 34px);
		font-size: min(4.8vw, 28px);
		line-height: 1.6;
	}
	.infomationDescription .descriptionBody {
		margin-top: min(10vw, 50px);
	}

  .newsBody ul {
    padding-left: min(4.5vw, 20px);
  }
  .newsBody ol {
    padding-left: min(5.4vw, 24px);
  }

	#infomationDescription .pagination {
		margin-top: min(8.2vw, 41px);
	}


	#infomationDescription h4 {
		margin-top: min(8vw, 60px);
		font-size: min(4vw, 20px);
	}


	.infomationDescription .descriptionBody .tableWrap {
		margin-top: min(8vw, 40px);
	}
}

/* ////////////////////////////////////////////////////////////////////////////////

	Event

//////////////////////////////////////////////////////////////////////////////// */


.eventContents .eventWrap {
	display: flex;
	align-items: flex-start;
	flex-wrap: wrap;
	gap: 40px 7.7%;
	padding-bottom: 30px;
	border-bottom: 1px solid #ccc;
}
.eventContents .eventWrap:not(:first-child) {
	margin-top: 30px;
}
.eventContents .eventWrap .eventContent {
	width: 42%;
}
.eventContents .eventWrap .eventContent a {
	display: flex;
	align-items: flex-start;
	gap: 0 4.9%;
	text-decoration: none;
}
.eventContents .eventWrap .noEvent {
	text-align: center;
    width: 100%;
    font-size: min(4vw, 18px);
    padding-bottom: min(6vw, 30px);
}

.eventContents .eventContent .thumb {
	position: relative;
	width: 44%;
	padding-top: 44%;
	border: 1px solid #ccc;
	line-height: 0;
}
.eventContents .eventContent .thumb img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.eventContents .eventContent .eventInfo {
	width: 51%;
}
.eventContents .eventContent .date {
	font-size: 14px;
	color: #000;
}
.eventContents .eventContent .category {
	font-size: 14px;
	color: #b29574;
}
.eventContents .eventContent .title {
	font-size: 16px;
	margin-top: 10px;
	color: #000
}
.eventContents.planList .eventContent .title {
	margin-top: 0;
}

.eventContents.planList {
	padding-top: 0;
}
.eventContents.planList .eventWrap {
    gap: min(5vw, 30px) 0;
    justify-content: space-between;
}
.eventContents.planList .eventContent {
	width: 46%;
}
.eventContents.planList .eventContent a {
    display: block;
}
.eventContents.planList .eventContent .thumb {
	width: 100%;
    padding-top: 27.5%;
	position: relative;
}
.eventContents.planList .eventContent .thumb img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.eventContents.planList .eventContent .eventInfo {
    width: 100%;
    margin-top: min(2vw, 15px);
}

.eventContents.planList.nextPrev {
	padding-bottom: 0;
    border-bottom: none;
    margin-top: min(6vw, 40px);
}
.eventContents.planList.nextPrev .eventWrap {
	border-bottom: none;
}

#golfEvent .pagination {
	margin-top: 34px;
}



@media screen and (max-width: 820px) {

	.eventContents .eventWrap {
		display: flex;
		align-items: flex-start;
		gap: 30px 4%;
		padding-bottom: min(5vw, 30px);
	}
	.eventContents .eventWrap:not(:first-child) {
		margin-top: min(5vw, 30px);
	}
	.eventContents .eventWrap .eventContent {
		width: 48%;
	}
	.eventContents .eventWrap .eventContent a {
		display: block;
	}
	.eventContents .eventContent .thumb {
		width: 100%;
		padding-top: 100%;
	}
	.eventContents .eventContent .eventInfo {
		width: 100%;
		margin-top: min(2vw, 10px);
	}
	.eventContents .eventContent .date {
		font-size: min(2.8vw, 14px);
	}
	.eventContents .eventContent .category {
		font-size: min(2.8vw, 14px);
	}
	.eventContents .eventContent .title {
		font-size: min(3.4vw, 16px);
		margin-top: min(2vw, 10px);
	}
	#golfEvent .pagination {
		margin-top: min(6.8vw, 34px);
	}

	.eventContents.planList .eventContent {
		width: 100%;
	}

}


/* ////////////////////////////////////////////////////////////////////////////////

	Event Detail

//////////////////////////////////////////////////////////////////////////////// */


.eventDescription {
	padding-bottom: 70px;
	border-bottom: 1px solid #ccc;
}
.eventDescription .descriptionHeader .date {
	font-size: 16px;
	margin-right: 34px;
}
.eventDescription .descriptionHeader .date strong {
	letter-spacing: 0.06em;
	font-family: Helvetica, Arial, "sans-serif";
	font-size: min(4.2vw, 22px);
	font-weight: bold;
	margin-right: min(2vw, 10px);
}
.eventDescription .descriptionHeader .category {
	font-size: 14px;
	color: #b29574;
}
.eventDescription .descriptionHeader h2 {
	margin-top: 20px;
	padding-bottom: 34px;
	font-size: 28px;
	font-weight: bold;
	border-bottom: 1px solid #ccc;
}
.eventDescription .descriptionBody {
	margin-top: 50px;
}
.eventDescription .descriptionBody img {
	margin: 0 auto 71px;
	width: 100%;
}

.eventDescription .descriptionBody dl {
	margin-top: 46px;
}
.eventDescription .descriptionBody dl:first-of-type {
	padding-bottom: 41px;
	border-bottom: 1px solid #ccc;
}
.eventDescription .descriptionBody dl div {
	display: flex;
	align-items: flex-start;
	gap: 0 3%;
}
.eventDescription .descriptionBody dl div:not(:first-child) {
	margin-top: 4px;
}
.eventDescription .descriptionBody dl dt {
	width: 9.8%;
	font-size: 18px;
	font-weight: bold;
}
.eventDescription .descriptionBody dl dd {
	width: 88%;
	font-size: 18px;
}
.eventDescription .descriptionBody dl dd.bold {
	font-weight: bold;
}
.eventDescription .descriptionBody dl dd span {
	display: block;
	font-size: 16px;
}
.eventDescription .descriptionBody .note {
	text-align: center;
	padding: 36px 0;
	font-size: 18px;
	font-weight: bold;
	margin-top: 48px;
	border: 1px solid #b29574;;
}
.eventDescription .descriptionBody .note a {
	color: #000;
}
#eventDescription .pagination {
	margin-top: 41px;
}


.eventDescription .descriptionBody h3 {
  background-color: #E9E7E2;
  padding: min(3vw, 15px);
  margin-bottom: min(2vw, 30px);
  font-size: min(3.6vw, 18px);
  font-weight: bold;
}
.eventDescription .descriptionBody h4 {
  font-size: min(3.4vw, 16px);
  border-bottom: #662b1e solid 1px;
  padding-bottom: min(1vw, 5px);
  margin-bottom: min(6vw, 30px);
}
.eventDescription .descriptionBody h5 {
  font-size: min(3.4vw, 16px);
  margin-bottom: min(3vw, 15px);
  margin-top: min(6vw, 30px);
}
.eventDescription .descriptionBody p {
  font-size: min(3.2vw, 14px);
  margin-bottom: min(4vw, 20px);
}
.eventDescription .descriptionBody a {
	color: #000;
	text-decoration: underline;
}

.eventDescription .descriptionBody ul {
  list-style: disc;
  padding-left: min(4vw, 20px);
  margin: min(6vw, 30px) 0;
  font-size: min(3.4vw, 16px);
}
.eventDescription .descriptionBody ol {
  list-style: decimal;
  padding-left: min(4vw, 24px);
  margin: min(6vw, 30px) 0;
  font-size: min(3.4vw, 16px);
}
.eventDescription .descriptionBody blockquote {
  background-color: #eee;
  padding: min(4vw, 20px) min(4vw, 20px) min(4vw, 20px) min(10vw, 55px);
  margin-bottom: min(4vw, 20px);
  position: relative;
}
.eventDescription .descriptionBody blockquote::before {
    content: "“";
    font-size: min(8.6vw, 56px);
    line-height: 1;
    position: absolute;
    top: min(4.5vw, 20px);
    left: min(3vw, 15px);
    display: block;
    color: #bbb;
}
.eventDescription .descriptionBody blockquote p:last-child {
  margin-bottom: 0;
}

.eventDescription .descriptionBody table {
  width: 100%;;
  font-size: min(3.2vw, 14px);
  margin-bottom: min(4vw, 20px);
	table-layout: fixed;
	border-spacing: 1px;
	border-collapse: separate !important;
	margin-top: min(6vw, 40px);
}
.eventDescription .descriptionBody table th,
.eventDescription .descriptionBody table td {
  padding: min(2vw, 10px);
}
.eventDescription .descriptionBody table th {
	background-color: #000;
	color: #fff;
  font-weight: bold;
}
.eventDescription .descriptionBody table td {
	background-color: #eee;
	color: #000;
}
.eventDescription .descriptionBody p a {
  color: #3D434A;
  text-decoration: underline;
}


@media screen and (max-width: 820px) {

	.eventDescription {
		padding-bottom: min(14vw, 70px);
	}
	.eventDescription .descriptionHeader .date {
		font-size: min(2.8vw, 14px);
		margin-right: min(6.8vw, 34px);
	}
	.eventDescription .descriptionHeader .category {
		font-size: min(2.8vw, 14px);
	}
	.eventDescription .descriptionHeader h2 {
		margin-top: min(4vw, 20px);
		padding-bottom: min(4vw, 30px);
		font-size: min(5.6vw, 28px);
	}
	.eventDescription .descriptionBody {
		margin-top: min(10vw, 50px);
	}
	.eventDescription .descriptionBody img {
		margin: 0 auto min(14.2vw, 71px);
	}
	.eventDescription .descriptionBody h3 {
		margin-bottom: min(2.8vw, 14px);
		font-size: min(4vw, 20px);
	}
	.eventDescription .descriptionBody p {
		font-size: min(3.6vw, 18px);
	}
	.eventDescription .descriptionBody dl {
		margin-top: min(9.2vw, 46px);
	}
	.eventDescription .descriptionBody dl:first-of-type {
		padding-bottom: min(8.2vw, 41px);
	}
	.eventDescription .descriptionBody dl div {
		display: flex;
		align-items: flex-start;
		gap: 0 3%;
	}
	.eventDescription .descriptionBody dl div:not(:first-child) {
		margin-top: 4px;
	}
	.eventDescription .descriptionBody dl dt {
		width: 27.8%;
		font-size: min(3.6vw, 18px);
	}
	.eventDescription .descriptionBody dl dd {
		width: 88%;
		font-size: min(3.6vw, 18px);
	}
	.eventDescription .descriptionBody dl dd span {
		font-size: min(3.2vw, 16px);
	}
	.eventDescription .descriptionBody .note {
		padding: min(7.2vw, 36px) 0;
		font-size: min(3.2vw, 18px);
		margin-top: min(9.6vw, 48px);
	}
	#eventDescription .pagination {
		margin-top: min(8.2vw, 41px);
	}

	.eventDescription .descriptionBody table {
		margin-top: min(8vw, 40px);
	}
	.eventDescription .descriptionBody table thead td {
		font-size: min(3.4vw, 16px);
		padding: min(2vw, 10px) min(3vw, 15px);
	}
	.eventDescription .descriptionBody table tbody td:first-child {
		font-size: min(3.4vw, 16px);
	}
	.eventDescription .descriptionBody table tbody td {
		font-size: min(3.4vw, 16px);
		padding: min(2vw, 10px) min(3vw, 15px);
	}
}


/* ////////////////////////////////////////////////////////////////////////////////

	Reservation

//////////////////////////////////////////////////////////////////////////////// */


.contentWrap.reservation {
	padding: min(10vw, 80px) min(6vw, 60px) 0;
}
.contentWrap.reservation .anchorNavi li {
	width: calc(100% / 4 - 10px);
}
.reservationWrap .reservationContent {
	display: flex;
}
.reservationWrap .reservationContent:not(:first-child) {
	border-top: 1px solid #fff;
}
.reservationWrap .title {
	width: 28.6%;
	background-color: #000;
	color: #fff;
	text-align: center;
	font-size: 16px;
	font-weight: bold;
	display: flex;
	align-items: center;
	justify-content: center;
}
.reservationWrap .desc {
	width: 71.4%;
	background-color: #eee;
	font-size: 16px;
	padding: 25px 30px;
}
.reservationWrap .desc span.bold {
	font-weight: bold;
}
.reservationWrap .desc a {
	color: #000;
	text-decoration: underline;
}
.reservationWrap .links {
	display: inline-block;
	position: relative;
}
.reservationWrap .links::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 5px;
	width: 100%;
	height: 1px;
	background-color: #000;
}
.reservationWrap .links a {
	display: inline;
	text-decoration: none;
}
.bgGrayWrap {
	background-color: #f0f0f0;
	padding: 0;
	width: 100%;
}
.bgGrayWrap > .contentWrap {
	padding: min(14vw, 120px) min(6vw, 60px);
}
.bgRed {
	background-color: #ffe5e0;
}
#onlineReservation .bgRed {
	padding: 49px 0 30px;
}
#onlineReservation .bgRed h3 {
	color: #df562c;
	font-size: 24px;
	font-weight: bold;
	margin-bottom: 27px;
	text-align: center;
}
#onlineReservation .bgRed p {
	font-size: 16px;
	font-weight: bold;
	color: #000;
	text-align: center;
}
#onlineReservation .registrationWrap {
	margin-top: 64px;
}
#onlineReservation .registrationWrap .notion {
	font-size: 16px;
	color: #000;
	text-align: center;
}
#onlineReservation .registrationWrap ul {
	margin: 31px 0 50px;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	gap: 0 2%;
}
#onlineReservation .registrationWrap li {
	width: 57%;
}
#onlineReservation .registrationWrap h4 {
	font-size: 20px;
	font-weight: bold;
	width: 100%;
	padding: 20px 0;
	text-align: center;
}
#onlineReservation .registrationWrap h4.orange {
	background-color: #df562c;
	color: #fff;
}
#onlineReservation .registrationWrap h4.gray {
	background-color: #e0e0e0;
	color: #df562c;
}
#onlineReservation .registrationWrap .member h4 {
	background-color: #df895c;
	color: #fff;
}
#onlineReservation .registrationWrap .visitor h4 {
	background-color: #34846c;
	color: #fff;
}
#onlineReservation .registrationWrap .tomonokai h4 {
	background-color: #8968a6;
	color: #fff;
}
#onlineReservation .registrationWrap .links {
	background-color: #fff;
	padding: 37px 20% 30px;
}
#onlineReservation .registrationWrap .links p {
	font-size: 16px;
	color: #000;
	text-align: center;
}
#onlineReservation .registrationWrap .links p:nth-child(3) {
	margin-top: 27px;
}
#onlineReservation .registrationWrap .links a {
	width: 100%;
	margin: 19px auto 0;
	display: block;
	text-align: center;
	border: 1px solid #ccc;
	color: #df562c;
	text-decoration: none;
	padding: 18px 0;
	border-radius: 10px;
	font-size: 18px;
	font-weight: bold;
}
#onlineReservation .registrationWrap .member .links a {
	color: #df895c;
}
#onlineReservation .registrationWrap .visitor .links a {
	color: #34846c;
}
#onlineReservation .registrationWrap .tomonokai .links a {
	color: #8968a6;
}

#onlineReservation .registrationWrap .reserveBtnBox {
    background-color: #fff;
	margin-top: min(6vw, 30px);
}
#onlineReservation .registrationWrap .reserveBtnBox h4 {
	color: #fff;
    padding: min(3vw, 15px);
}
#onlineReservation .registrationWrap .reserveBtnBox.menberReserve h4 {
	background-color: #000000;
}
#onlineReservation .registrationWrap .reserveBtnBox.firstReserve h4 {
	background-color: #b29574;
}
#onlineReservation .registrationWrap .reserveBtnBox h5 {
	text-align: center;
	font-size: min(3.8vw, 18px);
    padding: min(5vw, 30px) min(3vw, 15px) min(4vw, 20px);
}

#onlineReservation .registrationWrap .btnList {
	margin: 0;
    padding: 0 min(6vw, 60px) min(7vw, 50px);
	display: flex;
	justify-content: center;
	gap: 5% min(4vw, 20px);
}
#onlineReservation .registrationWrap .btnList li {
	width: 30%;
}
#onlineReservation .registrationWrap .btnList li a {
	display: block;
	text-align: center;
	padding: min(3vw, 15px);
	color: #fff;
	font-size: min(3.4vw, 16px);
	font-weight: bold;
	text-decoration: none;
	border-radius: 6px;
}
#onlineReservation .registrationWrap .btnList li.member a {
	background-color: #df895c;
}
#onlineReservation .registrationWrap .btnList li.visitor a {
	background-color: #34846c;
}
#onlineReservation .registrationWrap .btnList li.tomonokai a {
	background-color: #8968a6;
}


.spRegistrationWrap {
	background-color: #fff;
	padding: 40px 6.2% 42px;
	margin-top: min(6vw, 30px);
}
.spRegistrationWrap h3 {
	font-size: 24px;
	font-weight: bold;
	color: #b19474;
	text-align: center;
	width: 100%;
	padding-bottom: 13px;
	border-bottom: 1px solid #b19474;
}
.qrReservation {
	/* display: flex;
	align-items: center;
	justify-content: center;
	gap: 0 2.9%; */
	margin-top: 28px;
}
.qrReservation img {
	width: 16.8%;
}
/* .qrReservation .textWrap {
	width: fit-content;
	max-width: 80%;
} */
.qrReservation .textWrap h4 {
	font-size: 18px;
	font-weight: bold;
}
.qrReservation .textWrap .lead {
	font-size: 16px;
	margin: 6px 0;
}
.qrReservation .textWrap .notion {
	font-size: 14px;
}
.flowWrap h3 {
	font-size: 24px;
	color: #b29574;
}
.flowWrap .notion {
	font-size: 16px;
	margin-top: 15px;
}
.flowWrap ul {
	margin-top: 41px;
}
.flowWrap li {
	border: 1px solid #ccc;
	padding: 10px;
	display: flex;
	align-items: center;
	gap: 0 2.7%;
}
.flowWrap li:not(:first-child) {
	margin-top: 10px;
}
.flowWrap li .step {
	width: 160px;
	background-color: #b29574;
	border-radius: 25px;
	font-size: 16px;
	padding: 8px 0;
	color: #fff;
	font-weight: bold;
	text-align: center;
	flex-shrink: 0;
}
.flowWrap li p {
	font-size: 14px;
}
.flowWrap.second {
	margin-top: 71px;
}
#reservationBenefit > .lead {
	font-size: 16px;
	color: #000;
}
#reservationBenefit > h3 {
	font-size: 24px;
	color: #b29574;
    margin-top: 60px;
    margin-bottom: 30px;
}
#reservationBenefit .bgRed {
	padding: 40px 4.6%;
}
#reservationBenefit .bgRed ul {
	list-style-type: disc;
    padding-left: 15px;
}
#reservationBenefit .bgRed li {
	font-size: 16px;
	color: #000;
}
#reservationBenefit .bgRed .aboutPoint {
	font-size: 16px;
	color: #000;
	margin-top: 20px;
}
#reservationBenefit .bgRed .aboutPoint .bold {
	font-weight: bold;
	font-size: 18px;
}
#reservationBenefit .bgRed h4 {
	font-weight: bold;
	font-size: 20px;
	color: #df562c;
	margin-top: 30px;
}
.aboutUsePoint {
	margin-top: 58px;
}
.aboutUsePoint h3 {
	font-size: 20px;
	font-weight: bold;
}
.aboutUsePoint .changeList {
	margin-top: 30px;
}
.aboutUsePoint li {
	display: flex;
	align-items: center;
	background-color: #eee;
}
.aboutUsePoint li:not(:last-child) {
	border-bottom: 1px solid #fff;
}
.aboutUsePoint .category {
	background-color: #000;
}
.aboutUsePoint li p:first-child {
	width: 38.9%;
	border-right: 1px solid #fff;
}
.aboutUsePoint li p:last-child {
	width: 78%;
}
.aboutUsePoint li p {
	font-size: 16px;
	text-align: center;
	padding: 15px 0;
}
.aboutUsePoint li .title {
	font-size: 16px;
	font-weight: bold;
	color: #fff;
	padding: 18px 0 16px;
}
.pointRules {
	margin-top: 80px;
	display: flex;
	align-items: flex-start;
	/* gap: 0 6.4%;
	padding-bottom: 60px;
	border-bottom: 1px solid #ccc; */
}
/* .pointRules .textWrap {
	width: 50%;
} */
.pointRules .textWrap > div + div {
	margin-top: min(6vw, 40px);
}
.pointRules h3 {
	font-size: 20px;
	font-weight: bold;
	color: #000;
	margin-bottom: 37px;
}
.pointRules p {
	font-size: 16px;
}
/* .pointRules img {
	width: 44%;
} */
#reservationBenefit .flowWrap {
	margin-top: 60px;
	padding-bottom: 60px;
	border-bottom: 1px solid #ccc;
}
#reservationBenefit .planIntroduction {
	margin-top: 60px;
	padding-bottom: 60px;
	border-bottom: 1px solid #ccc;
}
#reservationBenefit .planIntroduction:last-child {
	padding-bottom: 0;
	border-bottom: none;
}
#reservationBenefit .planIntroduction h3 {
	font-size: 24px;
	color: #b29574;
	margin-bottom: 35px;
}
#reservationBenefit .planIntroduction p {
	font-size: 16px;
	color: #000;
}
#reservationBenefit .planIntroduction span {
	font-size: 18px;
	font-weight: bold;
	color: #df562c;
}
@media screen and (max-width: 820px) {

	.reservationWrap .reservationContent {
		display: block;
	}
	.contentWrap.reservation .anchorNavi li {
		width: calc(100% / 2 - 2px);
	}
	.reservationWrap .title {
		width: 100%;
		font-size: min(3.6vw, 18px);
		padding: min(3vw, 20px) 6%;
		display: block;
	}
	.reservationWrap .desc {
		width: 100%;
		font-size: min(3.2vw, 16px);
		padding: min(4vw, 20px) 6%;
	}
	.reservationWrap .links {
		text-decoration: underline;
	}
	.reservationWrap .links::after {
		content: unset;
	}
	.bgGrayWrap {
		width: 100%;
	}
	#onlineReservation .bgRed {
		padding: min(9.8vw, 49px) 6% min(6vw, 30px);
	}
	#onlineReservation .bgRed h3 {
		font-size: min(4.8vw, 24px);
		margin-bottom: min(5.4vw, 27px);
	}
	#onlineReservation .bgRed p {
		font-size: min(3.2vw, 16px);
	}
	#onlineReservation .registrationWrap {
		margin-top: min(12.8vw, 64px);
	}
	#onlineReservation .registrationWrap .notion {
		font-size: min(3.2vw, 16px);
	}
	#onlineReservation .registrationWrap ul {
		margin: min(6.2vw, 31px) 0 min(10vw, 50px);
		display: block;
	}
	#onlineReservation .registrationWrap li {
		width: 100%;
	}
	#onlineReservation .registrationWrap li:last-child {
/*		margin-top: min(4vw, 20px);*/
	}
	#onlineReservation .registrationWrap h4 {
		font-size: min(4.8vw, 24px);
		padding: min(5.8vw, 29px) 0;
	}
	#onlineReservation .registrationWrap .links {
		padding: min(7.4vw, 37px) 10% min(6vw, 30px);
	}
	#onlineReservation .registrationWrap .links p {
		font-size: min(3.2vw, 16px);
	}
	#onlineReservation .registrationWrap .links p:nth-child(3) {
		margin-top: min(5.4vw, 27px);
	}
	#onlineReservation .registrationWrap .links a {
		margin: min(3.8vw, 19px) auto 0;
		padding: min(4.4vw, 22px) 0;
		font-size: min(3.6vw, 18px);
	}

	#onlineReservation .registrationWrap .reserveBtnBox h4 {
		color: #fff;
		padding: min(3vw, 15px);
		font-size: min(4vw, 24px);
	}
	#onlineReservation .registrationWrap .btnList {
		flex-direction: column;
    gap: min(3vw, 15px);
	}
	#onlineReservation .registrationWrap .btnList li {
		width: 100%;
	}


	.spRegistrationWrap {
		padding: min(8vw, 40px) 6.2% min(8.4vw, 42px);
	}
	.spRegistrationWrap h3 {
		font-size: min(4.8vw, 24px);
		padding-bottom: min(2.6vw, 13px);
	}
	.qrReservation {
		display: block;
		margin-top: min(5.6vw, 28px);
	}
	.qrReservation img {
		width: 50%;
		margin: 0 auto;
		display: block;
	}
	.qrReservation .textWrap {
		width: 100%;
		margin-top: min(4vw, 20px);
	}
	.qrReservation .textWrap h4 {
		font-size: min(3.6vw, 18px);
	}
	.qrReservation .textWrap .lead {
		font-size: min(3.2vw, 16px);
		margin: min(1.2vw, 6px) 0;
	}
	.qrReservation .textWrap .notion {
		font-size: min(2.8vw, 14px);
	}
	.flowWrap h3 {
		font-size: min(4.6vw, 28px);
	}
	.flowWrap .notion {
		font-size: min(3.2vw, 16px);
		margin-top: min(3vw, 15px);
	}
	.flowWrap ul {
		margin-top: min(8.2vw, 41px);
	}
	.flowWrap li {
		padding: min(2vw, 10px);
		display: block;
	}
	.flowWrap li:not(:first-child) {
		margin-top: min(2vw, 10px);
	}
	.flowWrap li .step {
		width: 100%;
		font-size: min(3.2vw, 16px);
		padding: min(1.6vw, 8px) 0;
	}
	.flowWrap li p {
		font-size: min(2.8vw, 14px);
		margin-top: min(4vw, 40px);
	}
	.flowWrap.second {
		margin-top: min(14.2vw, 71px);
	}
	#reservationBenefit > .lead {
		font-size: min(3.2vw, 16px);
	}
	#reservationBenefit > h3 {
		font-size: min(4.4vw, 28px);
		margin-top: min(8vw, 60px);
		margin-bottom: min(6vw, 50px);
	}
	#reservationBenefit .bgRed {
		padding: min(8vw, 40px) 4.6%;
	}
	#reservationBenefit .bgRed li {
		font-size: min(3.2vw, 16px);
	}
	#reservationBenefit .bgRed .aboutPoint {
		font-size: min(3.2vw, 16px);
		margin-top: min(4vw, 20px);
	}
	#reservationBenefit .bgRed .aboutPoint .bold {
		font-size: min(3.6vw, 18px);
	}
	#reservationBenefit .bgRed h4 {
		font-size: min(4vw, 24px);
    	margin-top: min(5vw, 19px);
	}
	.aboutUsePoint {
		margin-top: min(11.6vw, 58px);
	}
	.aboutUsePoint h3 {
		font-size: min(4vw, 20px);
	}
	.aboutUsePoint .changeList {
		margin-top: min(6vw, 30px);
	}
	.aboutUsePoint li {
		display: flex;
		align-items: center;
	}
	.aboutUsePoint li p:first-child {
		width: 38.9%;
	}
	.aboutUsePoint li p:last-child {
		width: 78%;
	}
	.aboutUsePoint li p {
		font-size: min(3.2vw, 16px);
		padding: min(3vw, 15px) 0;
	}
	.aboutUsePoint li .title {
		font-size: min(3.4vw, 18px);
    	padding: min(3vw, 19px) 0;
	}
	.pointRules {
		margin-top: min(15.8vw, 79px);
		display: block;
		padding-bottom: min(18.6vw, 93px);
	}
	.pointRules .textWrap {
		width: 100%;
	}
	.pointRules h3 {
		font-size: min(4vw, 20px);
		margin-bottom: min(5vw, 30px);
	}
	.pointRules h3:last-of-type {
		margin-top: min(8vw, 40px);
	}
	.pointRules p {
		font-size: min(3.2vw, 16px);
	}
	.pointRules img {
		width: 100%;
		display: block;
		margin-top: min(8vw, 40px);
	}
	#reservationBenefit .flowWrap {
		margin-top: min(16.8vw, 84px);
		padding-bottom: min(15.8vw, 79px);
	}
	#reservationBenefit .planIntroduction {
		margin-top: min(8vw, 60px);
		padding-bottom: min(8vw, 40px);
	}
	#reservationBenefit .planIntroduction:last-child {
		padding-bottom: 0;
	}
	#reservationBenefit .planIntroduction h3 {
		font-size: min(4.6vw, 28px);
		margin-bottom: min(6vw, 45px);
	}
	#reservationBenefit .planIntroduction p {
		font-size: min(3.2vw, 16px);
	}
	#reservationBenefit .planIntroduction span {
		font-size: min(3.6vw, 18px);
	}

}



/* ////////////////////////////////////////////////////////////////////////////////

	Fee

//////////////////////////////////////////////////////////////////////////////// */


#playStyle .playStyleWrap.underBdr {
	padding-bottom: 60px;
	border-bottom: 1px solid #ccc;
	margin-bottom: 66px;
}
#playStyle .playStyleWrap h3 {
	font-size: 28px;
	font-weight: bold;
	color: #000;
	margin-bottom: 44px;
}
#playStyle .playStyleWrap h3 {
	font-size: 28px;
	font-weight: bold;
	color: #000;
}
#playStyle .playStyleWrap img {
	width: 87.5%;
	margin: 0 auto;
	display: block;
}
#playFee h2 {
	margin-bottom: min(15vw, 80px);
}
#playFee .feeWrap.underBdr {
	padding-bottom: 41px;
	border-bottom: 1px solid #ccc;
}
#playFee .feeWrap:not(:first-child) {
	margin-top: 60px;
}
#playFee .feeWrap h3 {
	font-size: 24px;
	font-weight: bold;
	margin-bottom: 20px;
}
#playFee .feeWrap .feeLead {
	font-size: min(3.6vw, 18px);
    padding: 15px 25px;
    border: #b19474 solid 1px;
    color: #b19474;
    font-weight: bold;
}
#playFee .feeContent.newTable {
	overflow: auto;
	margin-top: min(4vw, 20px);
}

#playFee .feeContent .note {
	font-size: 16px;
	margin-top: 26px;
}
#playFee .feeContent .note .bold {
	font-weight: bold;
}
#playFee .feeContent table {
	table-layout: fixed;
	width: 100%;
	border-spacing: 1px;
    border-collapse: separate !important;
}
#playFee .feeContent thead th {
	background-color: #000;
	color: #fff;
	padding: 15px 0;
	font-size: 16px;
	font-weight: bold;
}
#playFee .feeContent thead th:first-child {
	width: 28%;
}
#playFee .feeContent thead th:nth-child(2) {
	width: 23%;
}
#playFee .feeContent thead th:last-child {
	width: 47%;
}
#playFee .feeContent + .feeContent {
	margin-top: 40px;
}
#playFee .feeContent tbody tr td {
	font-size: 16px;
	color: #000;
	text-align: center;
	background-color: #f6f6f6;
	padding: 10px;
}
#playFee .feeContent .feeClomn3 tr:first-child td {
	background-color: #000;
	color: #fff;
	padding: 15px 0;
	font-size: 16px;
	font-weight: bold;
	text-align: center;
}
#playFee .feeContent .feeClomn2 tbody tr td:first-child {
	background-color: #000;
	color: #fff;
	padding: 15px 0;
	font-size: 16px;
	font-weight: bold;
	text-align: center;
}
#playFee .feeContent h4 {
	margin-bottom: 20px;
	font-size: 18px;
}
#playFee .feeContent h4 + table thead + tbody tr:first-child td:first-child {
	background-color: #f6f6f6;
	color: #000;
	font-weight: normal;
	font-size: 16px;
}
#playFee .feeWrap .feeContent h4 + table th {
	width: 33%;
}
#playFee .feeContent .price tbody tr:first-child td:first-child {
	padding: 20px;
}
#playFee .feeContent .price td:first-child {
	background-color: #000;
	color: #fff;
	padding: 20px 0;
	font-weight: bold;
}

#playFee .tableWrap {
	overflow: auto;
}
/*
#playFee .feeContent.newTable td,
#playFee .feeContent.newTable th {
	white-space:nowrap;
}
*/
#playFee .feeContent.newTable table {
	width: auto;
	min-width: 100%;
}
#playFee .feeContent.newTable thead th {
	padding: 15px;
	font-size: 14px;
}
#playFee .feeContent.newTable thead th {
	width: auto;
}
/* #playFee .feeContent.newTable thead th:first-child {
	width: 16%;
}
#playFee .feeContent.newTable thead th:nth-child(2) {
    width: 30%;
}
#playFee .feeContent.newTable thead th:nth-child(3) {
    width: 40%;
}
#playFee .feeContent.newTable thead th:nth-child(4) {
    width: 40%;
}
#playFee .feeContent.newTable thead th:nth-child(5) {
    width: 40%;
} */

#playFee .feeContent.newTable tbody tr:nth-child(odd) td {
	background-color: #f6f6f6;
}
#playFee .feeContent.newTable tbody tr:nth-child(even) td {
	background-color: #e6ddd2;
}
/*
#playFee .feeContent.newTable tbody tr:nth-child(odd) td:first-child {
	background-color: #b19474;
	color: #fff;
	 padding: 20px 0;
	font-size: 18px;
	font-weight: bold;
	text-align: center;
}
*/
#playFee .feeContent.newTable tbody th {
	background-color: #b19474;
	color: #fff;
	padding: 10px;
	font-size: 14px;
	font-weight: bold;
}

.feeContent .anchorNavi {
	margin-top: 40px;
}

#bnrArea.planBnr {
	margin-bottom: 58px;
	padding-top: 0;
}


#stylePlay9 h2 .small {
	color: #000;
	font-weight: bold;
}
#stylePlay9 .lead {
	font-size: 16px;
	color: #000;
}
#stylePlay9 .lead span {
	font-weight: bold;
}
#stylePlay9 .lead a {
	color: #000;
}
#stylePlay9 .feeContent {
	margin-top: 28px;
	padding-bottom: 90px;
	border-bottom: 1px solid #ccc;
}
#stylePlay9 .feeContent h4 {
	font-size: 20px;
	font-weight: bold;
}
#stylePlay9 .feeContent .note {
	margin-top: 26px;
	font-size: 16px;
}
#stylePlay9 .feeContent table {
	width: 100%;
	margin-top: 20px;
	border-spacing: 1px;
}
#stylePlay9 .feeContent table td {
	padding: 27px 0;
	text-align: center;
	width: 50%;
}
#stylePlay9 .feeContent table td:first-child {
	background-color: #000;
	color: #fff;
	font-size: 18px;
	font-weight: bold;
}
#stylePlay9 .feeContent table td:last-child {
	background-color: #eee;
	color: #000;
	font-size: 16px;
}
#stylePlay9 .feeContent ul {
	margin-top: 33px;
	display: flex;
	align-items: center;
	border: 1px solid #ccc;
}
#stylePlay9 .feeContent li {
	width: 50%;
	text-align: center;
	padding: 27px 0;
	font-size: 16px;
}
#stylePlay9 .feeContent li:first-child {
	font-weight: bold;
}
#stylePlay9 .feeContent li:last-child {
	border-left: 1px solid #ccc;
	font-weight: bold;
}
#stylePlay9 .feeContent li:last-child a {
	font-weight: bold;
	color: #000;
	text-decoration: none;
}
#recommendPlan {
/*	padding: min(10vw, 80px) min(6vw, 60px);*/
}
#recommendPlan .planWrap.underBdr {
	padding-bottom: 50px;
	border-bottom: 1px solid #ccc;
}
#recommendPlan .planWrap h3 {
	font-size: 22px;
	font-weight: bold;
	color: #b29574;
	margin-bottom: 43px;
}
#recommendPlan .planWrap:nth-child(n+3) h3 {
	margin-top: 66px;
}
#recommendPlan .planWrap .lead {
	font-size: 16px;
	color: #000;
}
#recommendPlan .planWrap .lead + h4 {
	margin-top: 70px;
}
#recommendPlan .planWrap:nth-child(n+3) .lead {
	margin-top: 12px;
}
#recommendPlan .planWrap .lead span {
	font-weight: bold;
}
#recommendPlan .planWrap h4 {
	font-size: 20px;
	color: #000;
}
#recommendPlan .planWrap h4 span {
	font-weight: normal;
}
#recommendPlan .planWrap table {
	margin-top: 40px;
	width: 100%;
	table-layout: fixed;
	border-spacing: 1px;
}
#recommendPlan .planWrap thead td {
	background-color: #000;
	color: #fff;
	font-size: 18px;
	font-weight: bold;
	padding: 17px 0;
	text-align: center;
}
#recommendPlan .planWrap tbody td:first-child {
	background-color: #000;
	color: #fff;
	font-size: 18px;
	font-weight: bold;
	text-align: center;
}
#recommendPlan .planWrap tbody td {
	background-color: #eee;
	color: #000;
	font-size: 16px;
	text-align: center;
	padding: 17px 0;
}
#recommendPlan .planWrap ul {
	margin-top: 31px;
}
#recommendPlan .planWrap ul li {
	display: flex;
	align-items: stretch;
}
#recommendPlan .planWrap ul li:not(:first-child) {
	margin-top: 9px;
}
#recommendPlan .planWrap ul p {
	padding: 17px 0;
}
#recommendPlan .planWrap ul p:first-child {
	width: 26%;
	background-color: #b29574;
	font-size: 18px;
	font-weight: bold;
	color: #fff;
	text-align: center;
}
#recommendPlan .planWrap ul .beneiftNumber p:last-child {
	width: 73%;
	background-color: #eee;
	font-size: 16px;
	padding-left: 44px;
	line-height: 2;
}
#recommendPlan .planContent h4 {
	margin-top: 55px;
}
#recommendPlan .planWrap .planContent .lead {
	margin-top: 37px;
}
#recommendPlan .planWrap .reservation li {
	border: 1px solid #ccc;
	align-items: center;
}
#recommendPlan .planWrap .reservation li p{
	width: 50%;
	background-color: #fff;
	color: #000;
}
#recommendPlan .planWrap .reservation li p:first-child {
	font-size: 16px;
}
#recommendPlan .planWrap .reservation li p:last-child {
	text-align: center;
	border-left: 1px solid #ccc;
}
#recommendPlan .planWrap .reservation li p:last-child a {
	color: #000;
	text-decoration: none;
	font-weight: bold;
	font-size: 20px;
}
#recommendPlan .planContent table {
	margin-top: 33px;
	border-spacing: 1px;
}
#recommendPlan .planContent .note {
	margin-top: 27px;
	font-size: 16px;
}
#recommendPlan .setPrice thead td:first-child {
	width: 33%;
}
#recommendPlan .setPrice thead td:nth-child(2) {
	width: 29%;
}
#recommendPlan .setPrice thead td:last-child {
	width: 37%;
}


table.feePlanTable {
	margin-top: 40px;
	width: 100%;
	table-layout: fixed;
	border-spacing: 1px;
}
table.feePlanTable thead th {
	background-color: #000;
	color: #fff;
	font-size: 18px;
	font-weight: bold;
	padding: 17px 0;
	text-align: center;
}
table.feePlanTable tbody td:first-child {
	background-color: #000;
	color: #fff;
	font-size: 18px;
	font-weight: bold;
	text-align: center;
}
table.feePlanTable tbody td {
	background-color: #eee;
	color: #000;
	font-size: 16px;
	text-align: center;
	padding: 17px 0;
}

@media screen and (max-width: 820px) {

	#playStyle .playStyleWrap.underBdr {
		padding-bottom: min(12vw, 60px);
		margin-bottom: min(13.2vw, 66px);
	}
	#playStyle .playStyleWrap h3 {
		font-size: min(5.6vw, 28px);
		margin-bottom: min(8.8vw, 44px);
	}
	#playStyle .playStyleWrap h3 {
		font-size: min(5.6vw, 28px);
	}
	#playStyle .playStyleWrap img {
		width: 100%;
	}
	#playFee h2 {
		margin-bottom: min(15vw, 113px);
	}
	#playFee .feeWrap.underBdr {
		padding-bottom: min(8.2vw, 41px);
	}
	#playFee .feeWrap:not(:first-child) {
		margin-top: min(12vw, 60px);
	}
	#playFee .feeWrap h3 {
		font-size: min(3.8vw, 24px);
		margin-bottom: min(3vw, 15px);
	}
	#playFee .feeContent .note {
		font-size: min(3.2vw, 16px);
		margin-top: min(5.2vw, 26px);
	}
	#playFee .feeContent thead th {
		padding: min(4vw, 20px) min(2vw, 10px);
		font-size: min(3.2vw, 16px);
	}
	/* #playFee .feeContent thead th:first-child {
		width: 28%;
	}
	#playFee .feeContent thead th:nth-child(2) {
		width: 23%;
	}
	#playFee .feeContent thead th:last-child {
		width: 47%;
	} */
	#playFee .feeContent + .feeContent {
		margin-top: min(8vw, 40px);
	}
	#playFee .feeContent tbody tr td {
		font-size: min(3.2vw, 16px);
		padding: min(1.5vw, 20px) min(2vw, 10px);
	}

	#playFee .feeContent .feeClomn3 tr:first-child td {
		padding: min(4vw, 20px) min(2vw, 10px);
		font-size: min(3.4vw, 18px);
	}
	#playFee .feeContent .feeClomn2 tbody tr td:first-child {
		padding: min(4vw, 20px) min(2vw, 10px);
		font-size: min(3.4vw, 18px);
	}
	#playFee .feeContent h4 {
		margin-bottom: min(4vw, 20px);
		font-size: min(3.6vw, 18px);
	}
	#playFee .feeContent h4 + table thead + tbody tr:first-child td:first-child {
		font-size: min(3.2vw, 16px);
	}
	#playFee .feeWrap .feeContent h4 + table th {
		width: 33%;
	}
	#playFee .feeContent .price tbody tr:first-child td:first-child {
		padding: min(4vw, 20px);
	}
	#playFee .feeContent .price td:first-child {
		padding: min(4vw, 20px) min(2vw, 10px);
	}

	#playFee .feeWrap .feeLead {
		padding: min(3vw, 15px) min(4vw, 25px);
	}

	#playFee .feeContent.newTable thead th {
		padding: min(3vw, 15px) min(2vw, 10px);
		font-size: min(2.8vw, 14px);
	}

/*
	#playFee .feeContent.newTable tbody tr:nth-child(odd) td:first-child {
		 padding: min(4vw, 28px) 0;
		font-size: min(3.6vw, 18px);
	}
*/
	#playFee .feeContent.newTable tbody th {
		padding: min(1.5vw, 20px) min(2vw, 10px);
		font-size: min(2.8vw, 14px);
	}

	/* #playFee .tableWrap tbody tr:nth-child(odd) th:first-child {
		position: sticky;
		left: 0;
		z-index: 1;
	} */

	#bnrArea.planBnr {
		margin-bottom: 0;
	}

	#stylePlay9 .lead {
		font-size: min(3.2vw, 16px);
	}
	#stylePlay9 .feeContent {
		margin-top: 28px;
		padding-bottom: 90px;
	}
	#stylePlay9 .feeContent h4 {
		font-size: min(4vw, 20px);
	}
	#stylePlay9 .feeContent .note {
		margin-top: 26px;
		font-size: min(3.2vw, 16px);
	}
	#stylePlay9 .feeContent table {
		width: 100%;
		margin-top: min(4vw, 20px);
	}
	#stylePlay9 .feeContent table td {
		padding: min(5.4vw, 27px) min(2vw, 10px);
		width: 50%;
	}
	#stylePlay9 .feeContent table td:first-child {
		font-size: min(3.6vw, 18px);
	}
	#stylePlay9 .feeContent table td:last-child {
		font-size: min(3.2vw, 16px);
	}
	#stylePlay9 .feeContent ul {
		margin-top: min(6.6vw, 33px);
		display: flex;
	}
	#stylePlay9 .feeContent li {
		width: 50%;
		padding: min(5.4vw, 27px) 0;
		font-size: min(3.2vw, 16px);
	}
	#recommendPlan {
/*		padding: min(10vw, 80px) min(6vw, 60px);*/
	}
	#recommendPlan .planWrap.underBdr {
		padding-bottom: min(10vw, 50px);
	}
	#recommendPlan .planWrap h3 {
		font-size: min(4.4vw, 22px);
		margin-bottom: min(8.6vw, 43px);
	}
	#recommendPlan .planWrap:nth-child(n+3) h3 {
		margin-top: min(13.2vw, 66px);
	}
	#recommendPlan .planWrap .lead {
		font-size: min(3.2vw, 16px);
	}
	#recommendPlan .planWrap .lead + h4 {
		margin-top: min(14vw, 70px);
	}
	#recommendPlan .planWrap:nth-child(n+3) .lead {
		margin-top: min(2.4vw, 12px);
	}
	#recommendPlan .planWrap h4 {
		font-size: min(4vw, 20px);
	}
	#recommendPlan .planWrap table {
		margin-top: min(8vw, 40px);
	}
	#recommendPlan .planWrap thead td {
		font-size: min(3.6vw, 18px);
		padding: min(3.5vw, 17px) min(2vw, 10px);
	}
	#recommendPlan .planWrap tbody td:first-child {
		font-size: min(3.6vw, 18px);
	}
	#recommendPlan .planWrap tbody td {
		font-size: min(3.2vw, 16px);
		padding: min(3.5vw, 17px) min(2vw, 10px);
	}
	#recommendPlan .planWrap ul {
		margin-top: min(6.2vw, 31px);
	}
	#recommendPlan .planWrap ul li:not(:first-child) {
		margin-top: min(1.8vw, 9px);
	}
	#recommendPlan .planWrap ul .beneiftNumber {
		display: block;
	}
	#recommendPlan .planWrap ul p {
		padding: min(3.5vw, 17px) min(2vw, 10px);
	}
	#recommendPlan .planWrap ul p:first-child {
		width: 100%;
		font-size: min(3.6vw, 18px);
	}
	#recommendPlan .planWrap ul p:last-child {
		width: 100%;
		font-size: min(3.2vw, 16px);
		padding-left: min(2vw, 10px);
	}
	#recommendPlan .planWrap ul .beneiftNumber p:last-child {
		width: 100%;
		font-size: min(3.2vw, 16px);
		padding-left: min(2vw, 10px);
	}
	#recommendPlan .planContent h4 {
		margin-top: min(11vw, 55px);
	}
	#recommendPlan .planWrap .planContent .lead {
		margin-top: min(7.4vw, 37px);
	}
	#recommendPlan .planWrap .reservation li p{
		width: 50%;
	}
	#recommendPlan .planWrap .reservation li p:first-child {
		font-size: min(3.2vw, 16px);
	}
	#recommendPlan .planWrap .reservation li p:last-child a {
		font-size: min(4vw, 20px);
	}
	#recommendPlan .planContent table {
		margin-top: min(6.6vw, 33px);
	}
	#recommendPlan .planContent .note {
		margin-top: min(5.4vw, 27px);
		font-size: min(3.2vw, 16px);
	}
	#recommendPlan .setPrice thead td:first-child {
		width: 33%;
	}
	#recommendPlan .setPrice thead td:nth-child(2) {
		width: 29%;
	}
	#recommendPlan .setPrice thead td:last-child {
		width: 37%;
	}


	table.feePlanTable {
		margin-top: min(8vw, 40px);
	}
	table.feePlanTable thead td {
		font-size: min(3.6vw, 18px);
		padding: min(3.5vw, 17px) min(2vw, 10px);
	}
	table.feePlanTable tbody td:first-child {
		font-size: min(3.6vw, 18px);
	}
	table.feePlanTable tbody td {
		font-size: min(3.2vw, 16px);
		padding: min(3.5vw, 17px) min(2vw, 10px);
	}

}


/* ////////////////////////////////////////////////////////////////////////////////

	Members

//////////////////////////////////////////////////////////////////////////////// */

#information {
	padding-bottom: 0;
}

.memberLogin {
	padding: 0 0;
}
.memberLogin h3 {
	font-size: min(4.2vw, 20px);
    padding: 0 min(10vw, 50px) min(4vw, 30px);
	text-align: center;
    color: #ad9171;
    font-weight: bold;
}
.memberLogin .formWrap {
	display: block;
	max-width: 460px;
	margin: 0 auto;
	text-align: left;
	width: 100%;
}
.memberLogin .loginLead {
    font-size: min(3.4vw, 16px);
    margin-bottom: min(8vw, 40px);
}
.memberLogin label {
	display: block;
    margin-bottom: min(1vw, 5px);
    font-size: min(3.2vw, 14px);
}
.memberLogin input[type="text"],
.memberLogin input[type="password"] {
	display: block;
	padding: 15px;
	background-color: #eeeeee;
	border-radius: 6px;
	font-size: 16px;
	margin: 0 auto 15px;;
	width: 100%;
}
.memberLogin input[type="button"] {
    width: 240px;
    background-color: #b19474;
	border-radius: 6px;
	color: #fff;
	font-size: 16px;
	font-weight: bold;
    margin: 25px auto;
    padding: 12px;
    display: block;
}
.memberLogin .error {
	text-align: center;
	color: #cc0000;
	font-size: 14px;
	margin-top: 30px;
	display: none;
}

.memberContent {
	display: none;
}


#socialCompetition .socialCompetitionItem {
	font-size: min(3.4vw, 16px);
}
#socialCompetition .socialCompetitionItem span {
	display: block;
	font-size: min(4.2vw, 20px);
	font-weight: bold;
}
#socialCompetition .socialCompetitionItem + .socialCompetitionItem {
	margin-top: 2em;
}

#pdfListBlock {
	padding-top: min(12vw, 80px);
}
#pdfListBlock h3 {
    font-size: 22px;
    font-weight: bold;
    color: #b29574;
}
#pdfListBlock .archiveLink {
    margin-top: min(2vw, 10px);
	font-size: min(3.4vw, 16px);
}
#pdfListBlock .archiveLink a {
	text-decoration: underline;
	color: #000;
}
#pdfListBlock .pdfList {
	margin-bottom: min(8vw, 60px);
    border-top: #ccc solid 1px;
    margin-top: min(4vw, 20px);
}
#pdfListBlock .pdfList li {
	display: flex;
    align-items: center;
    padding: min(2vw, 10px) 0;
    border-bottom: #ccc solid 1px;
}
#pdfListBlock .pdfList li .pdfName {
	width: calc(100% - 60px);
    font-size: min(3.6vw, 18px);
}
#pdfListBlock .pdfList li .icoPdf {
	width: 40px;
    line-height: 0;
}


#membership h3	{
	font-size: 22px;
	font-weight: bold;
	color: #b29574;
}
#membership .lead	{
	margin-top: 44px;
	font-size: 16px;
	color: #000;
}
#membership h4	{
	font-size: 20px;
	font-weight: bold;
	color: #000;
	margin: 53px 0 26px;
}
#membership .dateTable	{
	display: flex;
	align-items: flex-start;
	gap: 0 3.6%;
}
#membership table {
	width: 48%;
	border-spacing: 1px;
}
#membership td {
	background-color: #fff;
	color: #000;
	font-size: 16px;
	padding: min(2vw, 15px) min(4vw, 30px);
}
#membership td:first-child	{
	background-color: #000;
	color: #fff;
	font-size: 18px;
	font-weight: bold;
	text-align: center;
	width: 33%;
}
/*
#membership td:last-child	{
	background-color: #fff;
	color: #000;
	font-size: 16px;
	padding: min(3vw, 15px) min(2vw, 10px) min(3vw, 15px) min(5.7vw, 43px);
}
*/
#clubCompetition .linksWrap {
	padding-bottom: 49px;
	border-bottom: 1px solid #ccc;
}
#clubCompetition .linksWrap h2 {
	text-align: center;
	font-size: min(5.4vw, 26px);
	letter-spacing: 0.1em;
	margin-bottom: 0;
}
#clubCompetition .schedule h3 {
	font-size: 22px;
	font-weight: bold;
	color: #b29574;
}
#clubCompetition .schedule .lead {
	font-size: 16px;
	color: #000;
	margin: 43px 0 42px;
}
#clubCompetition .schedule h4 {
	font-size: 20px;
	font-weight: bold;
	color: #000;
	margin-bottom: 31px;
}
#clubCompetition .schedule .note {
	font-size: 16px;
	color: #000;
	margin: 28px 0 37px;
}
#clubCompetition .schedule .pastSchedule a {
	width: 300px;
	border: 1px solid #b29574;
	border-radius: 10px;
	display: block;
	color: #b29574;
	text-decoration: none;
	text-align: center;
	padding: min(4vw, 15px) min(2vw, 10px);
	font-size: min(3.2vw, 16px);
}
#clubCompetition .schedule .pastSchedule a + a {
	margin-top: min(4vw, 20px);
}
#clubCompetition .schedule table {
	width: 100%;
	border-spacing: 0;
}
#clubCompetition .schedule thead th,
#clubCompetition .schedule tbody th,
#clubCompetition .schedule tbody td {
	border: 1px solid #fff;
}
#clubCompetition .schedule thead th {
	border-top: none;
	border-right: none;
	border-bottom: none;
}
#clubCompetition .schedule tbody .month {
	border-right: none;
	border-left: none;
	border-bottom: none;
}
#clubCompetition .schedule tbody .date {
	border-right: none;
	border-left: none;
	border-bottom: none;
}
#clubCompetition .schedule tbody td {
	border-right: none;
	border-bottom: none;
}
#clubCompetition .schedule thead th {
	text-align: center;
	font-weight: bold;
	color: #fff;
	font-size: min(2.6vw, 14px);
	background-color: rgb(0, 0, 0);
	padding: min(3vw, 15px) min(2vw, 10px);
}
#clubCompetition .schedule .month {
	width: 16%;
	text-align: center;
	font-weight: bold;
	color: #fff;
	font-size: min(2.6vw, 14px);
	background-color: rgb(0, 0, 0);
	padding: min(3vw, 15px) min(2vw, 10px);
}
#clubCompetition .schedule .date {
	width: 16%;
	text-align: center;
	font-weight: bold;
	color: #fff;
	font-size: min(2.6vw, 14px);
	background-color: rgb(51, 51, 51);
	padding: min(3vw, 15px) min(2vw, 10px);
}
#clubCompetition .schedule .red {
	color: #ff4949;
}
#clubCompetition .schedule td {
	background-color: #eee;
	padding: min(3vw, 15px) min(2vw, 10px);
}
#clubCompetition .schedule td:first-of-type {
	font-weight: bold;
	font-size: min(3.2vw, 15px);
	padding: min(3vw, 15px) min(2vw, 10px) min(3vw, 15px) min(5.7vw, 43px);
}
#clubCompetition .schedule td:nth-last-child(2) {
	text-align: center;
	width: 15%;
}
#clubCompetition .schedule td:last-child {
	text-align: center;
	width: 15%;
	background-color: #e2e2e2;
}
#clubCompetition .schedule td:last-child a {
	font-weight: bold;
	font-size: min(3vw, 14px);
	color: #000;
	text-align: center;
	display: block;
}
#clubCompetition .pastSchedule + h4 {
	margin-top: min(6vw, 60px);
}
#clubCompetition .schedule .entryTable td:nth-last-child(3) {
	text-align: center;
}
#clubCompetition .schedule .entryTable td:nth-last-child(2) {
	width: auto;
}
#clubCompetition .schedule .entryTable td:last-child {
	width: auto;
	background-color: #eee;
}

#login {
	padding: 0;
	text-align: center;
}
#login .contentWrap {
/*	padding-top: 0;*/
}
#login .note {
	color: #df562c;
    font-size: min(3.2vw, 14px);
    margin-bottom: min(4vw, 20px);
}
#login p a {
	color: #000;
	text-decoration: underline;
	font-size: 14px;
}

#alert {
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background-color: rgba(0,0,0,0.40);
    z-index: 1000;
	display: flex;
	justify-content: center;
	align-items: center;
}
#alert .alertBox {
	background-color: #fff;
	padding: min(6vw, 40px) min(10vw, 80px);
    border-radius: 8px;
    position: relative;
}
#alert .alertBox p {
    font-size: min(3.6vw, 18px);
	text-align: center;
}
#alert .alertBox .closeBtn {
	width: 40px;
    height: 40px;
    position: absolute;
    top: -50px;
    right: 0;
	cursor: pointer;
}
#alert .alertBox .closeBtn::before,
#alert .alertBox .closeBtn::after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	background-color: #fff;
	width: 100%;
	height: 2px;
}
#alert .alertBox .closeBtn::before {
	transform: translate(-50%, -50%) rotate(45deg);
}
#alert .alertBox .closeBtn::after {
	transform: translate(-50%, -50%) rotate(-45deg);
}

#aboutMember {
	background-color: #eeeeee;
	margin: 0;
	width: 100%;
	padding: 0;
}
#aboutMember .aboutLead {
	font-size: min(3.4vw, 16px);
	margin-bottom: min(6vw, 40px);
}
#aboutMember h5 {
	margin-bottom: min(4vw, 20px);
	font-size: min(3.6vw, 18px);
	font-weight: bold;
}
#aboutMember table {
	width: 100%;
	border-spacing: 1px;
}
#aboutMember table thead th {
    text-align: center;
    font-weight: bold;
    color: #fff;
    font-size: min(2.6vw, 14px);
    background-color: #000;
    padding: min(3vw, 15px);
}
#aboutMember table tbody th {
    text-align: center;
    font-weight: bold;
    color: #fff;
    font-size: min(2.6vw, 14px);
    background-color: #000;
    padding: min(3vw, 15px);
    width: 18%;
}
#aboutMember table tbody td {
    font-weight: bold;
    font-size: min(3.2vw, 15px);
    padding: min(3vw, 15px) min(4vw, 20px);
	background-color: #fff;
	vertical-align: top;
}
#aboutMember table tbody td p + p {
	margin-top: min(2vw, 10px);
}
#aboutMember table tbody td .note {
	font-size: 0.8em;
	font-weight: normal;
}

#aboutMember table tbody td a {
	color: #000;
	text-decoration: underline;
}

#aboutMember .meritBnr {
	max-width: 680px;
    margin: min(6vw, 60px) auto 0;
}

#benefit {
	padding: 0;
}
#benefit .memberBenefit {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 30px 4%;
}
#benefit .memberBenefit li {
	border: #888888 solid 1px;
	padding: min(6vw, 30px);
	width: 48%;
}
#benefit .memberBenefit li h4 {
	text-align: center;
    color: #b19473;
    font-size: min(4vw, 18px);
    font-weight: bold;
    padding-bottom: min(2vw, 10px);
    border-bottom: #888888 solid 1px;
	margin-top: 0;
    margin-bottom: min(4vw, 20px);
}
#benefit .memberBenefit li .ico {
	width: 30%;
	margin: 0 auto min(3vw, 15px);
	line-height: 0;
}
#benefit .memberBenefit li h5 {
    text-align: center;
    font-size: min(4.2vw, 20px);
    font-weight: bold;
    color: #b19473;
    margin-bottom: min(4vw, 20px);
}
#benefit .memberBenefit li > p {
	text-align: center;
    font-size: min(3.2vw, 14px);
}
#benefit .memberBenefit li > p strong {
	font-weight: bold;
	font-size: 1.2em;
}

@media screen and (max-width: 820px) {

	.memberLogin {
		padding: min(4vw, 30px) 0 min(8vw, 60px);
	}
	.memberLogin input[type="text"],
	.memberLogin input[type="password"] {
		padding: 10px;
		width: 100%;
	}
	.memberLogin input[type="button"] {
		width: 60%;
		font-size: 14px;
	}

	#membership h3	{
		font-size: min(4.4vw, 22px);
	}
	#membership .lead	{
		margin-top: min(8.8vw, 44px);
		font-size: min(3.2vw, 16px);
	}
	#membership h4	{
		font-size: min(4vw, 20px);
		margin: min(10.6vw, 53px) 0 min(5.2vw, 26px);
	}
	#membership .dateTable {
		display: block;
	}
	#membership .dateTable table:last-child {
		margin-top: min(4vw, 20px);
	}
	#membership table {
		width: 100%;
	}

	#membership td {
		font-size: min(3.4vw, 16px);
	}
	#membership td:first-child	{
		font-size: min(3.6vw, 18px);
		width: 33%;
	}
/*
	#membership td:last-child	{
		font-size: min(3.2vw, 16px);
	}
*/
	#clubCompetition .linksWrap {
		padding-bottom: min(9.8vw, 49px);
	}
	#clubCompetition .schedule h3 {
		font-size: min(4.4vw, 22px);
	}
	#clubCompetition .schedule .lead {
		font-size: min(3.2vw, 16px);
		margin: min(8.6vw, 43px) 0 min(8.5vw, 42px);
	}
	#clubCompetition .schedule h4 {
		font-size: min(4vw, 20px);
		margin-bottom: min(5vw, 30px);
	}
	#clubCompetition .schedule .note {
		font-size: min(3.2vw, 16px);
		margin: min(5.6vw, 28px) 0 min(7.4vw, 37px);
	}
	#clubCompetition .schedule .note + a {
		width: 100%;
	}

	#clubCompetition .schedule .pastSchedule a {
		width: 280px;
		border-radius: 8px;
		padding: min(3vw, 15px) min(2vw, 10px);
		font-size: min(3.4vw, 16px);
	}

	#clubCompetition .anchorNavi {
		justify-content: center;
	}

	#benefit .memberBenefit li {
		width: 100%;
	}
	#benefit .memberBenefit li .ico {
		width: 34%;
	}
}


/* ////////////////////////////////////////////////////////////////////////////////

	Members Result

//////////////////////////////////////////////////////////////////////////////// */


.contestResult {
	padding: min(4vw, 38px) 0 min(12vw, 80px);
}
.contestResult .contestResultWrap:nth-child(n + 3) {
	margin-top: 69px;
}
.contestResult .contestResultWrap.underBdr {
	padding-bottom: 78px;
	border-bottom: 1px solid #ccc;
}
.contestResult .contestResultWrap h3 {
	font-size: 22px;
	font-weight: bold;
	color: #b29574;
}
.contestResult .resultWrap {
	margin-top: 43px;
}
.contestResult .resultWrap h4 {
	font-size: 20px;
	font-weight: bold;
	color: #000;
	margin-bottom: 30px;
}
.contestResult .resultWrap h4 span {
	display: block;
}
.contestResult .resultWrap .resultContent:not(:first-child) {
	margin-top: 60px;
}

.contestResult table {
	width: 100%;
	border-spacing: 1px;
    border-collapse: inherit !important;
}



.contestResult th {
	text-align: center;
	font-weight: bold;
	color: rgb(255, 255, 255);
	font-size: min(2.6vw, 14px);
	background-color: rgb(0, 0, 0);
	padding: min(3vw, 15px) min(2vw, 10px);
}
.contestResult th:nth-child(n + 3) {
	width: 13%;
}
.contestResult td:first-child {
	text-align: center;
	font-weight: bold;
	color: rgb(255, 255, 255);
	font-size: min(2.6vw, 14px);
	background-color: rgb(0, 0, 0);
	padding: min(3vw, 15px) min(2vw, 10px);
}
.contestResult td {
	font-size: min(3.2vw, 14px);
	background-color: #eee;
	text-align: center;
	font-size: min(2.6vw, 14px);
	font-weight: bold;
}
.contestResult .note {
	margin-top: 45px;
	font-size: min(17vw, 14px);
}

.resultPdf {
	font-size: min(3.8vw, 18px);
}
.tableWrap + .resultPdf {
	margin-top: 1em;
}
.resultPdf a {
	color: #000;
	text-decoration: underline;
}
.resultFace {
    display: flex;
    gap: 25px;
    margin-top: min(6vw, 40px);
}
.resultFace li {
	width: 31%;
	max-width: 160px;
}
.resultFace li .thumb {
	line-height: 0;
	padding-top: 100%;
	position: relative;
}
.resultFace li .thumb img {
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
	width: 100%;
	height: 100%;
}
.resultFace li .caption {
	margin-top: min(1vw, 5px);
	font-size: min(3vw, 14px);
}

@media screen and (max-width: 820px) {

	.contestResult .contestResultWrap:nth-child(n + 3) {
		margin-top: min(13.8vw, 69px);
	}
	.contestResult .contestResultWrap.underBdr {
		padding-bottom: min(15.6vw, 78px);
	}
	.contestResult .contestResultWrap h3 {
		font-size: min(4.4vw, 22px);
	}
	.contestResult .resultWrap {
		margin-top: min(8.6vw, 43px);
	}
	.contestResult .resultWrap h4 {
		font-size: min(3.4vw, 20px);
    margin-bottom: min(3.8vw, 30px);
	}
	.contestResult .resultWrap h4 span {
		display: block;
	}
	.contestResult .resultWrap .resultContent:not(:first-child) {
		margin-top: min(12vw, 60px);
	}

	.contestResult .tableWrap {
		overflow: auto;
	}
	.contestResult .tableWrap table {
		width: 460px !important;
	}

	.contestResult .tableWrap table th,
	.contestResult .tableWrap table td {
		white-space:nowrap;
    	padding: min(2vw, 10px);
	}

	.contestResult .tableWrap table th:first-child,
	.contestResult .tableWrap table td:first-child {
		position: sticky;
		left: 0;
	}

	.contestResult th:nth-child(n + 3) {
		width: auto;
	}
	.contestResult .note {
		margin-top: min(5vw, 45px);
		font-size: min(3.2vw, 16px);
	}

	.resultFace {
		gap: 3.5%;
	}

}


/* ////////////////////////////////////////////////////////////////////////////////

	Contact

//////////////////////////////////////////////////////////////////////////////// */

.contact {
	padding: 0 0 min(12vw, 80px);
}
.contact h2 {
	margin-bottom: min(8vw, 133px);
	font-size: min(4.6vw, 34px);
}
.contact .lead {
	font-size: 16px;
	color: #000;
	text-align: center;
}
.contact form {
	margin-top: 67px;
}
.contact fieldset {
	display: flex;
	align-items: center;
	gap: 0 10%;
	appearance: none;
	border: none;
}
.contact fieldset:not(:first-child):not(:last-child) {
	margin-top: 30px;
}
.contact fieldset.textarea {
	align-items: flex-start;
}
.contact label {
	width: 18.8%;
	font-size: min(3.2vw, 14px);
	font-weight: bold;
}
.contact label span {
	margin-left: 15px;
	color: #df562c;
}
.contact input,
.contact textarea {
	width: 71.4%;
	outline: none;
	border: 1px solid #e0e0e0;
	border-radius: 10px;
	padding: 15px;
	font-size: 16px;
}
.contact input {
	height: 50px;
}
.contact textarea {
	height: 320px;
}
.contact fieldset.textarea label {
	margin-top: 20px;
}
.contact button {
	appearance: none;
	display: block;
	width: 300px;
	margin: 85px auto 0;
	font-size: 16px;
	font-weight: bold;
	background-color: #000;
	border-radius: 10px;
	padding: 14px 0;
	color: #fff;
}


.contact .confirm .form li {
	display: flex;
	padding: 15px 0;
	border-bottom: #ccc solid 1px;
	font-size: 16px;
}
.contact .confirm .form li .label {
	width: 20%;
}
.contact .confirm .form li .input {
	width: 80%;
}
.contact .confirm .sendBtn.btns {
	display: flex;
    align-items: center;
    justify-content: center;
	gap: 20px;
    margin-top: 40px;
}
.contact .confirm .sendBtn.btns input {
	width: 46%;
    max-width: 320px;
	height: auto;
}


.contact .thanks {
    text-align: center;
}
.contact .thanks p {
    font-size: 20px;
    margin-bottom: 60px;
}
.contact .thanks .sendBtn {
	max-width: 360px;
	margin: 0 auto;
}
.contact .thanks .sendBtn a {
	display: block;
    border: #B29574 solid 1px;
    text-align: center;
    padding: min(6vw, 20px);
    color: #B29574;
    text-decoration: none;
    font-size: min(4vw, 16px);
    border-radius: 8px;
}

@media screen and (max-width: 820px) {

	.contact .lead {
		font-size: min(3.2vw, 16px);
	}
	.contact form {
		margin-top: min(13.4vw, 67px);
	}
	.contact fieldset {
		display: block;
	}
	.contact fieldset:not(:first-child):not(:last-child) {
		margin-top: min(6vw, 30px);
	}
	.contact label {
		width: 100%;
		font-size: min(3.2vw, 14px);
		margin-bottom: min(2vw, 10px);
		display: block;
	}
	.contact label span {
		margin-left: min(3vw, 15px);
	}
	.contact input,
	.contact textarea {
		width: 100%;
		padding: min(2vw, 10px);
		display: block;
	}
	.contact input {
		height: min(10vw, 50px);
	}
	.contact textarea {
		height: min(64vw, 320px);
	}
	.contact fieldset.textarea label {
		margin-top: min(4vw, 20px);
	}
	.contact button {
		width: 100%;
		margin: min(17vw, 85px) auto 0;
		font-size: min(3.2vw, 16px);
		padding: min(2.8vw, 14px) 0;
	}

	.contact .thanks {
    	padding-top: min(8vw, 60px);
	}
	.contact .thanks p {
		font-size: min(3.8vw, 20px);
		margin-bottom: min(8vw, 60px);
	}
	.contact .thanks .sendBtn {
    	max-width: 86%;
	}
	.contact .thanks .sendBtn a {
    	padding: min(3vw, 20px) min(6vw, 20px);
	}

}



/* ////////////////////////////////////////////////////////////////////////////////

    0627追加　Yukari

//////////////////////////////////////////////////////////////////////////////// */
/* common style */
.anchorNavi.style03 li {
	margin-bottom: min(1vw, 15px);
}
.contentWrapLg {
	padding: 0 min(6vw, 60px);
    max-width: 1240px;
    margin: 0 auto;
}
.planeWrap {
    padding-bottom: min(6vw, 40px);
}
.borderWrap {
    border-top: #ccc solid 1px;
    padding: min(7vw,50px) 0 min(2vw, 30px);
}
.bgColor:nth-child(even) {
	background-color: #f0f0f0;
}
.pageHead02 {
	height: min(26vw, 290px);
	min-height: 140px;
	display: flex;
	justify-content: center;
	align-items: center;
}
.pageHead02 h2 {
	text-align: center;
	color: #000;
	font-size: min(4.6vw, 34px);
	font-weight: bold;
	letter-spacing: 0.1em;
	position: relative;
	z-index: 1;
}
.pageHead02 span {
	display: block;
	font-size: 0.4em;
	font-weight: normal;
	color: #b19473;
}
.heading03 {
	font-size: min(3.9vw, 22px);
	font-weight: bold;
	color: #b29574;
	margin-bottom: min(4vw, 20px);
}
.heading04 {
	font-size: min(3.7vw, 18px);
	font-weight: bold;
	color: #000;
	margin-bottom: min(1.5vw, 10px);
}
.flexBox {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: min(6vw, 30px);
}
.table02 {
	font-size: min(3.2vw, 14px);
}
.table02 th {
	background-color: #000;
	color: #fff;
	padding: min(1vw, 10px) min(3vw, 20px);
}
.table02 td {
	background-color: #fff;
	text-align: center;
	padding: min(1vw, 10px) min(3vw, 20px);
}
@media screen and (min-width: 960px) {
	.anchorNavi.style03 {
		justify-content: flex-start;
    	max-width: 1000px;
	}
	.anchorNavi.style03 li {
		width: calc(100% / 4 - 10px);
	}
}
@media screen and (max-width: 820px) {
	.anchorNavi.style03 {
		justify-content: flex-start;
	}
	.anchorNavi.style03 li a {
		font-size: min(2.7vw, 16px);
	}
	.flexBox {
		display: block;
	}
	.flexBox .flexTxt {
		width: 100%;
		margin-bottom: min(8vw, 30px);
	}
	.flexBox .flexImg {
		width: 100%;
	}
}
/* 3column panel*/
.panelList {
	display: flex;
	flex-wrap: wrap;
}
.panel {
	position: relative;
	width: 100%;
	margin-bottom: min(8vw, 40px);
}
.panelImg {
	padding-top: 73%;
	position: relative;
	overflow: hidden;
}
.panelImg img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.panelTxt {
	padding: min(2vw, 10px) min(3vw, 9px) min(3vw, 40px);
}
.panelTitle {
	font-size: min(3.8vw, 18px);
	font-weight: bold;
	margin-bottom: min(2vw, 10px);
	line-height: 1.6;
}
.panelPrice {
	font-size: min(3.2vw, 15px);
	font-weight: bold;
	margin-bottom: min(1vw, 8px);
}
.panelBody {
	font-size: min(3.2vw, 15px);
	line-height: 1.7;
}
.panelBody a {
	color: #000;
}
.panelList.heightShort .panelTxt {
	min-height: unset;
	padding-bottom: min(1vw, 20px);
}
.panelLabel {
	position: absolute;
	top: 0;
	left: 0;
	background-color: #b29574;
	color: #fff;
	font-weight: bold;
	font-size: min(3.4vw, 17px);
	padding: min(3vw, 6px) min(4vw, 14px);
	z-index: 1;
}
  @media screen and (min-width: 961px) {
	.panel {
		width: calc((100% - 40px) / 3);
		margin-right: 20px;
	}
	.panel:nth-child(3n) {
		margin-right: 0;
	}
  }
  @media screen and (min-width: 821px) {
	.panelTxt {
		min-height: 150px;
	}
  }
  @media screen and (min-width: 768px) and (max-width: 960px) {
	.panel {
		width: calc((100% - 45px) / 2);
		margin-right: 45px;
	}
	.panel:nth-child(2n) {
		margin-right: 0;
	}
}
/* /////////////////////////////
	facillities
//////////////////////////////*/
#facillities #practiceArea {
	font-size: min(3.4vw, 16px);
}
#facillities #practiceArea ul {
	margin-bottom: min(6vw, 40px);
}
#facillities #practiceArea .table02 {
	width: 100%;
	margin-bottom: min(2vw, 16px);
}
#facillities #practiceArea .table02 th span {
	display: block;
	font-size: min(3vw, 14px);
	font-weight: normal;
}
#facillities #practiceArea .flexImg img {
	width: 100%;
}

#practiceArea .flexBox ul {
	margin-bottom: min(5vw, 30px);
	padding-left: 1.5em;
}
#practiceArea .flexBox ul > li {
	text-indent: -1.2em;
}
#practiceArea .flexBox ul > li:before {
	content: "・";
	margin-right: 0.2em;
}
#practiceArea .flexBox ul li {
	font-size: min(3.2vw, 14px);
}
#practiceArea .flexBox .table02 {
	width: 100%;
	margin-bottom: min(2vw, 10px);
}
#practiceArea .flexBox .table02 td {
	background-color: #eee;
}
#practiceArea .flexBox p {
	font-size: min(3.2vw, 14px);
}


@media screen and (min-width: 821px) {
	#facillities #practiceArea .flexTxt {
		width: 50%;
	}
	#facillities #practiceArea th {
		width: 56%;
	}
	#facillities #practiceArea .flexImg {
		width: 50%;
		padding-left: min(5vw, 70px);
	}
	#practiceArea .flexBox .flexTxt,
	#practiceArea .flexBox .flexImg {
		width: 48%;
	}
}

/* /////////////////////////////
	access
//////////////////////////////*/
#access main{
	font-size: min(3.4vw, 16px);
}
#access #map iframe {
	width: 100%;
	margin-bottom: min(3vw, 20px);
}
#access #map p + .heading03 {
	margin-top: min(8vw, 40px);
}
#access #map .heading04 + p {
	margin-bottom: min(4vw, 30px);
}
#access #map p a {
	color: #000;
	text-decoration: underline;
}
#access #map .flexImg img {
	width: 100%;
}
#access #clabBus .sectionHl + p {
	margin-bottom: min(4vw, 40px);
}
#access #clabBus .table02 {
	width: 100%;
	margin-bottom: min(4vw, 40px);
}
#access #clabBus .table02 th {
	padding: min(3vw, 20px) 4px;
	font-size: min(3.2vw, 16px);
	width: calc(100% / 3);
}
#access #clabBus .table02 td {
	padding: min(3vw, 20px) 4px;
	font-size: min(3.2vw, 16px);
	width: calc(100% / 3);
}
#access #clabBus .linkBtn {
	background-color: #fff;
	border: 1px solid #b29574;
	text-align: center;
	border-radius: 10px;
	max-width: 820px;
	margin: min(8vw, 60px) auto min(5vw, 40px);
}
#access #clabBus .linkBtn a {
	padding: min(3vw, 40px) min(2vw, 10px);
	display: block;
	color: #000;
	text-decoration: none;
}
#access #clabBus .linkBtn span {
	color: #b29574;
	font-size: min(4vw, 24px);
	font-weight: bold;
	display: block;
}
#access #nearby .panel {
    margin-bottom: min(10vw, 40px);
}
#access #nearby .panelTxt a {
	color: #000;
}
@media screen and (min-width: 821px) {
	#access #map .flexTxt {
		width: 52%;
	}
	#access #map .flexImg {
		width: 48%;
		padding-left: min(4vw, 60px);
	}
}
@media screen and (max-width: 820px) {
	#access #map iframe {
		height: 420px;
	}
}
/* /////////////////////////////
	club
//////////////////////////////*/
#clubPage .outline {
	display: flex;
	flex-wrap: wrap;
	border-top: 1px solid #cccccc;
	border-bottom: 1px solid #cccccc;
	padding: min(2vw, 10px) min(2vw, 40px);
	font-size: min(3.2vw, 16px);
	margin-bottom: min(10vw, 104px);
}
#clubPage .outline a {
	color: #000;
}
#clubPage .outline dt {
	width: 24%;
	font-weight: bold;
}
#clubPage .outline dd {
	width: 76%;
}
#clubPage .outline dt, #clubPage .outline dd {
	border-bottom: 1px solid #cccccc;
	padding-top: min(4vw, 22px);
	padding-bottom: min(4vw, 22px);
}
#clubPage .outline dt:last-of-type, #clubPage .outline dd:last-of-type {
	border-bottom: 0;
}
@media screen and (max-width: 820px) {
	#clubPage .outline dt {
		padding-right: 20px;
	}
}

/* /////////////////////////////
	restaurant
//////////////////////////////*/
#restaurant main {
	font-size: min(3.4vw, 16px);
}
#restaurant .sectionHl {
	margin-bottom: min(6vw, 60px);
}
#restaurant .sectionHl + p {
	margin-bottom: min(7vw, 40px);
}
#restaurant .heading03 + p {
	margin-bottom: min(7vw, 40px);
}
#restaurant .flexImg img {
	width: 100%;
}
#restaurant #aboutRestaurant .sectionHead {
	margin-bottom: min(20vw, 80px);
}
#restaurant #aboutRestaurant .sectionHead .flexTxt p + .heading03 {
	margin-top: min(3vw, 40px);
}
#restaurant #aboutRestaurant .borderBox {
	padding: min(7vw, 50px);
	border: 1px solid #b29574;
}
#restaurant #aboutRestaurant .borderBox .flexBox {
	margin-bottom: 0;
}
#restaurant .price {
	font-size: min(3.4vw, 16px);
	font-weight: bold;
	margin-bottom: min(2vw, 16px);
}
#restaurant #lunch {
	padding-bottom: min(10vw, 100px);
}
#restaurant #lunch .borderWrap {
	padding-bottom: 0;
}
#restaurant #lunch p + .heading04 {
	margin-top: min(8vw, 40px);
}
#restaurant #lunch ol {
	margin-bottom: min(5vw, 40px);
	list-style: decimal;
	padding-left:2em;
}
#restaurant #lunch ol li {
}
#restaurant #lunch .infoBox {
	margin-bottom: min(8vw, 70px);
}
#restaurant #lunch .infoBox ul {
	list-style: disc;
	padding-left:1em;
}
#restaurant #lunch .infoBox ul li {

}
#restaurant #lunch .infoBox dt {
	background-color: #b29574;
	color: #fff;
	font-size: min(3.8vw, 20px);
	font-weight: bold;
	padding: min(2vw, 10px) min(5vw, 50px);
}
#restaurant #lunch .infoBox dd {
	background-color: #f3f3f3;
	padding: min(5vw, 24px) min(5vw, 50px);
	margin-bottom: min(3vw, 20px);
}
#restaurant #sweets p + .heading04 {
	margin-top: min(5vw, 30px);
}


#restaurant main #drink section {
	padding: 0;
}
#restaurant main #drink section + section {
	margin-top: min(8vw, 50px);
}

#drink .drinkPosterWrap {
	margin-bottom: min(8vw, 60px);
}
#drink .drinkPosterWrap .drinkPoster {
	padding: 0 min(10vw, 60px);
}
#drink .drinkPosterWrap .drinkPoster li {
	padding: 0 min(2vw, 10px);
	line-height: 0;
}

#drink .drinkPosterWrap .drinkPoster .slick-prev,
#drink .drinkPosterWrap .drinkPoster .slick-next {
    background-color: #b29574;
    width: min(10vw, 50px);
    height: min(10vw, 50px);
    border-radius: 50%;
}
#drink .drinkPosterWrap .drinkPoster .slick-prev {
	left: 0;
}
#drink .drinkPosterWrap .drinkPoster .slick-next {
	right: 0;
}

#drink .drinkPosterWrap .drinkPoster .slick-prev::before,
#drink .drinkPosterWrap .drinkPoster .slick-next::before {
	content: "";
	display: block;
    width: 35%;
    height: 35%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%) rotate(45deg);
}
#drink .drinkPosterWrap .drinkPoster .slick-prev::before {
	border-bottom: #fff solid 4px;
	border-left: #fff solid 4px;
    left: 55%;
}
#drink .drinkPosterWrap .drinkPoster .slick-next::before {
	border-top: #fff solid 4px;
	border-right: #fff solid 4px;
    left: 45%;
}

#restaurant #drink .flexBox > div {
	display: inline-block;
	width: 100%;
	margin-bottom: min(6vw, 40px);
}
#restaurant #drink .flexBox > div:first-child h4.marginTop {
	margin-top: 0;
}

#restaurant #drink dl {
	display: flex;
	flex-wrap: wrap;
	font-size: min(3.2vw, 16px);
	font-weight: bold;
	margin-bottom: min(6vw, 40px);
}
#restaurant #drink h4 {
	font-size: min(3.4vw, 18px);
}
#restaurant #drink dt {
	width: 80%;
}
#restaurant #drink dd {
	width: 20%;
	text-align: right;
}
#restaurant #drink dt, #restaurant #drink dd, #restaurant #drink h4 {
	border-bottom: 1px solid #bebebe;
	padding: min(2vw, 10px) 0;
}
@media screen and (min-width: 821px) {
	#restaurant #aboutRestaurant .sectionHead .flexTxt {
		width: 57%;
		padding-right: 5%;
	}
	#restaurant #aboutRestaurant .sectionHead .flexImg {
		width: 43%;
	}
	#restaurant #aboutRestaurant .borderBox .flexTxt {
		width: 65%;
		padding-right: 3%;
	}
	#restaurant #aboutRestaurant .borderBox .flexImg {
		width: 35%;
	}
	#restaurant #lunch .flexTxt {
		width: 73%;
		padding-right: 2%;
	}
	#restaurant #lunch .flexImg {
		width: 27%;
	}
	#restaurant #sweets .flexTxt {
		width: 57%;
		padding-right: 3%;
	}
	#restaurant #sweets .flexImg {
		width: 43%;
	}
	#restaurant #drink .flexItem {
		width: 48%;
	}


	#restaurant main #drink .drinkListWrap {
		column-count: 2;
		gap: min(6vw, 40px);
	}
	#restaurant #drink .flexBox {
		display: block;
	}
}
@media screen and (max-width: 820px) {
	#restaurant #drink .flexItem {
		width: 100%;
	}

	#drink .drinkPosterWrap .drinkPoster .slick-prev::before {
		border-bottom: #fff solid 2px;
		border-left: #fff solid 2px;
	}
	#drink .drinkPosterWrap .drinkPoster .slick-next::before {
		border-top: #fff solid 2px;
		border-right: #fff solid 2px;
	}
}
#restaurant #drink .marginTop {
	margin-top: min(4vw, 55px);
}
/* /////////////////////////////
	privacy
//////////////////////////////*/
#privacy .pageHead02 + p {
	font-size: min(3.2vw, 16px);
	margin-bottom: min(5vw, 60px);
}
#privacy .privacyList {
	margin-bottom: min(18vw, 110px);
}
#privacy .privacyList dt {
	font-size: min(3.8vw, 22px);
	font-weight: bold;
	color: #b29574;
	margin-bottom: min(3vw, 20px);
	padding-top: min(4vw, 20px);
	counter-increment: dt;
}
#privacy .privacyList dt::before {
	content: counter(dt)". ";
}
#privacy .privacyList dd{
	font-size: min(3.2vw, 16px);
	border-bottom: 1px solid #cccccc;
	padding-bottom: min(4vw, 30px);
}
#privacy .privacyList dd:last-of-type {
	border-bottom: 0;
}
#privacy ol {
	margin-top: min(4vw, 30px);
}
#privacy ol > li {
  list-style-type: none;
	text-indent: -1.2em;
	padding-left: 1.5em;
  counter-increment: cnt;
}
#privacy ol > li::before {
  content: counter(cnt)". ";
}
/* /////////////////////////////
	manners
//////////////////////////////*/
#manners main {
	font-size: min(3.4vw, 16px);
}
#manners .mannerNumberList li {
  list-style-type: none;
	text-indent: -1.2em;
	padding-left: 1.5em;
  counter-increment: cnt;
}
#manners .mannerNumberList li::before {
  content: counter(cnt)". ";
}
#manners .mannerList .item ul {
	list-style: none;
	padding-left: 1.5em;
}
#manners .mannerList .item ul > li {
	text-indent: -1.2em;
	padding-left:0;
}
#manners .mannerList .item ul > li:before {
	content: "・";
	margin-right: 0.2em;
}

#manners main section.dress {
	padding-top: 0;
	padding-bottom: min(6vw, 30px);
}
#manners .dress .borderWrap {
	padding: min(6vw, 35px) 0 min(7vw, 30px);
}
#manners .dress p + ol {
	margin-top: min(4vw, 30px);
	margin-bottom: min(5vw, 40px);
}
#manners .dress p + ol li {
	margin-bottom: 1em;
}
#manners .mannerList .gridWrap {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: min(3vw, 30px) 4%;
	grid-auto-flow: dense;
}
#manners .mannerList .item {
	background-color: #f0f0f0;
	padding: min(5vw, 30px) min(5vw, 30px) min(7vw, 50px);
}
#manners .mannerList .item.gridSpan {
	grid-row-end: span 2;
}
#manners .mannerList .item .txtBoxHeader {
	font-size: min(3.7vw, 18px);
	font-weight: bold;
	border-bottom: 1px  solid #af9372;
	padding-bottom: min(1vw, 5px);
	margin-bottom: min(3vw, 20px);
}

.flexBox.mannerImg {
    display: flex;
    justify-content: flex-start;
    gap: 0 min(4vw, 20px);
	height: min(50vw, 350px);
}
.flexBox.mannerImg img {
	max-height: 100%;
	width: auto;
}

@media screen and (min-width: 821px) {
/*
	#manners .dress .flexBox img {
		width: 50%;
	}
*/
}
@media screen and (max-width: 820px) {
	#manners .mannerList .gridWrap {
		grid-template-columns: 1fr;
	}

/*
	#manners .dress .flexBox img {
		width: 100%;
	}
*/
}


/* ////////////////////////////////////////////////////////////////////////////////

	FAQ

//////////////////////////////////////////////////////////////////////////////// */
#faq .contentWrap {
	padding-bottom: min(16vw, 120px);
}
.faqWrap {
	padding-top: min(10vw, 60px);
}
.faqWrap:first-child {
	padding-top: 0;
}
.faqList {
	/* margin-bottom: min(16vw, 120px); */
	border-bottom: #B29574 solid 1px;

/*	background-color: #f0f0f0;*/
}
.faqList dt {
	padding: min(5vw, 25px) min(10vw, 80px);
    font-size: min(3.6vw, 18px);
	border-top: #B29574 solid 1px;
	position: relative;
	cursor: pointer;
}
.faqList dt::before {
	content: "Q";
	position: absolute;
	top: 50%;
    left: min(2vw, 15px);
	transform: translateY(-50%);
	color: #B29574;
	font-family: Arial, Helvetica, "sans-serif";
	font-size: min(6.4vw, 30px);
	font-weight: bold;
    line-height: 1.2;
}
.faqList dt .accBtn {
	display: block;
    position: absolute;
    top: 50%;
    right: min(2vw, 15px);
    background-color: #B29574;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    transform: translateY(-50%);
}
.faqList dt .accBtn::before,
.faqList dt .accBtn::after {
    content: "";
    display: block;
    background-color: #fff;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.faqList dt .accBtn::before {
    width: 50%;
    height: 1px;
}
.faqList dt .accBtn::after {
    width: 1px;
    height: 50%;
    transition: all 0.3s ease-out;
}
.faqList dt.on .accBtn::after {
    transform: translate(-50%, -50%) rotate(90deg);
}
.faqList dd {
    font-size: min(3.2vw, 14px);
    border-top: #ddd solid 1px;
    padding: min(6vw, 30px) 0 min(6vw, 30px) min(10vw, 80px);
	display: none;
	position: relative;
}
.faqList dd::before {
	content: "A";
	position: absolute;
	top: min(6vw, 30px);
    left: min(2vw, 15px);
	color: #B29574;
	font-family: Arial, Helvetica, "sans-serif";
	font-size: min(6.4vw, 30px);
	font-weight: bold;
    line-height: 1.2;
}

@media screen and (max-width: 820px) {

	.faqList dt .accBtn {
		width: 25px;
		height: 25px;
	}
}
