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


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

	Template03

//////////////////////////////////////////////////////////////////////////////// */
.topicPath {
	background-color: transparent;
}
.tmp03Mv {
	display: flex;
	align-items: center;
	margin-bottom: 80px;
	padding: 30px 0;
}

.tmp03Mv .mvLeft {
	width: 41%;
	padding: 6%;
}
.tmp03Mv .mvLeft h2 {
	font-size: 42px;
	line-height: 1.6;
    letter-spacing: 0.1em;
	margin-bottom: 45px;
}
.tmp03Mv .mvLeft h2 span {
	display: block;
	font-size: 0.3em;
    text-indent: 0.2em;
    letter-spacing: 0.1em;
}
.color03 .tmp03Mv .mvLeft h2 span {
	color: #de6a65;
}
.color04 .tmp03Mv .mvLeft h2 span {
	color: #d6a247;
}

.tmp03Mv .mvLeft p {
	font-size: 15px;
	line-height: 2.4;
}

.tmp03Mv .mvRight {
	position: relative;
	width: 59%;
	padding-top: 37.5%;
}
.tmp03Mv .mvRight img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.tmp03Mv .mainBg {
	position: absolute;
	top: 0;
	right: 0;
    width: 53%;
    height: 52vw;
	display: flex;
	flex-wrap: wrap;
	z-index: -1;
}
.tmp03Mv .mainBg li {
    line-height: 0;
    width: calc(100% / 7);
    display: inherit;
    transition: all 1s cubic-bezier(0.34, 1.56, 0.64, 1);
	opacity: 0;
	position: relative;
}
.tmp03Mv .mainBg li::after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0.5;
}
.color03 .tmp03Mv .mainBg li::after {
	background-color: #f6c1d8;
}
.color04 .tmp03Mv .mainBg li::after {
	background-color: #f6ad3c;
}

.tmp03Mv .mainBg li.on {
	opacity: 1;
	animation: mvbg2 4s ease-out 2s infinite;
}
@keyframes mvbg2 {
	0% { opacity: 1;}
	80% { opacity: 1;}
	90% { opacity: 0.5;}
	100% { opacity: 1;}
}

.movie {
	max-width: 780px;
	margin: 0 auto 80px;
}
.movie > div {
	line-height: 0;
	position: relative;
	width:100%;
	height:0;
	padding-top: 56.25%;
}
.movie iframe{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

#cboxClose {
	top: 10px;
	right: 10px;
	background: unset;
	width: 50px;
	height: 50px;
	font-size: 0;
}
#cboxClose::before,
#cboxClose::after {
	content: "";
	width: 40px;
	height: 2px;
	right: 0;
	background-color: #000;
	display: block;
	position: absolute;
}
#cboxClose::before {
	top: 10px;
	transform: translateY(7px) rotate(45deg);
}
#cboxClose::after {
	transform: translateY(-7px) rotate(-45deg);
}
#cboxOverlay {
	background-color: #f8f8f8;
}
#cboxLoadedContent {
	margin-bottom: 0;
}

.headlineT3 {
	text-align: center;
	font-size: 28px;
	font-weight: normal;
	letter-spacing: 0.1em;
	margin-bottom: 40px;
}
.color03 .headlineT3 {
	color: #de6a65;
}
.color04 .headlineT3 {
	color: #f6ad3c;
}


.planeWrap {
	padding: min(10vw, 60px) 0;
}

.borderWrap {
	border-top: #ccc solid 1px;
	padding: 60px 0;
}

.borderBottomWrap {
	border-bottom: #ccc solid 1px;
	padding: 50px 0 59px;
}
.borderBottomWrap .planeWrap {
	padding-bottom: 0;
}
.borderBottomWrap .flexBox {
	margin-bottom: 0;
}

.boxSlide {
	margin: 0 80px;
}
.boxSlide li {
	display: flex !important;
	justify-content: space-between;
	align-items: center;
	height: 100%;
	border: #ccc solid 1px;
	padding: 40px;
}
.boxSlide li .boxSlideImg {
	position: relative;
	width: 35%;
	padding-top: 35%;
}
.boxSlide li .boxSlideImg img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.boxSlide li .boxSlideTxt {
	width: 60%;
}
.boxSlide li .boxSlideTxt h4 {
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 20px;
}
.boxSlide li .boxSlideTxt p {
	font-size: 14px;
}
.boxSlide li .boxSlideTxt p + p {
	margin-top: 15px;
}
.boxSlide li .boxSlideTxt p.note {
	font-size: 1em;
}
.boxSlide li .boxSlideTxt p.price {
	font-weight: bold;
	/* text-align: right; */
}
.boxSlide li .boxSlideTxt h4:has(+ p.price) {
	margin-bottom: 0;
}

.boxSlide .slick-track {
	display: flex;
}
.boxSlide .slick-slide {
	height: auto !important;
}
.boxSlide .slick-slide > div {
	height: 100%;
	padding: 0 8px;
}

.boxSlide .slick-next {
	background: url(../common/images/box_slide_next.png) no-repeat center center;
    background-size: contain;
    width: 60px;
    height: 60px;
    right: -80px;
}
.boxSlide .slick-prev {
	background: url(../common/images/box_slide_prev.png) no-repeat center center;
    background-size: contain;
    width: 60px;
    height: 60px;
    left: -80px;
}
.boxSlide .slick-next:before,
.boxSlide .slick-prev:before {
	content: "";
}


.boxSlide .slick-dots li {
	width: 8px;
	height: 8px;
    margin: 0 10px;
	display: inline-block !important;
	padding: 0;
	border: none;
}
.boxSlide .slick-dots li button {
	padding: 0;
	width: 100%;
	height: 100%;
	background-color: #ccc;
	border-radius: 50%;
}
.boxSlide .slick-dots li.slick-active button {
	background-color: #000;
}
.boxSlide .slick-dots li button:before {
	display: none;
}

.beltGallery {
	overflow: hidden;
}
.beltGallery > ul {
	display: flex;
	width: 200vw;
}
.beltGallery.ltr > ul {
	justify-content: flex-start;
	animation: beltLtr 30s linear 0s infinite;
}
.beltGallery.rtl > ul {
	justify-content: flex-end;
	animation: beltRtl 30s linear 0s infinite;
}
.beltGallery > ul li {
	position: relative;
	line-height: 0;
	padding-top: calc(100% / 12 * 0.75);
	width: calc(100% / 12);
}
.beltGallery > ul li img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

@keyframes beltLtr {
	0% { transform: translateX(0);}
	100% { transform: translateX(-50%);}
}
@keyframes beltRtl {
	0% { transform: translateX(-50%);}
	100% { transform: translateX(0%);}
}


.flexBox {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin-bottom: 30px;
}
.flexBox .flexTxt {
	width: 46%;
}

.flexBox .flexTxt h4 {
	font-size: 20px;
	margin-bottom: 30px;
}
.flexBox .flexTxt > p {
	font-size: 16px;
	margin-bottom: 20px;
}
.flexBox .flexImg {
	width: 46%;
	line-height: 0;
}
.flexImg .imgWrapper {
	position: relative;
	width: 100%;
	padding-top: 68.75%;
	border-radius: min(2vw, 10px);
	overflow: hidden;
}
.flexImg .imgWrapper img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	vertical-align: middle;
}

.imgSlide .slick-dots li {
	width: 8px;
	height: 8px;
	margin: 0 10px;
	padding: 0 !important;
}
.imgSlide .slick-dots li button {
	padding: 0;
	width: 100%;
	height: 100%;
	background-color: #ccc;
	border-radius: 50%;
}
.imgSlide .slick-dots li.slick-active button {
	background-color: #000;
}
.imgSlide .slick-dots li button:before {
	display: none;
}

.flexBox_2 {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 30px;
}
.flexBox_2:nth-child(even) {
	flex-direction: row-reverse;
}
.flexBox_2.bdrBox {
	padding-bottom: 60px;
	margin-bottom: 60px;
	border-bottom: #eee solid 1px;
}

.flexBox_2 .flexTxt {
	width: 50%;
}
.flexBox_2 .flexTxt h4 {
	font-size: 24px;
	margin-bottom: 30px;
}
.flexBox_2 .flexTxt p {
	font-size: 16px;
	letter-spacing: 0.06em;
	line-height: 2;
}

.flexBox_2 h5,
.threeColumnList li h5 {
	font-size: 20px;
	margin-bottom: 20px;
}
.threeColumnList li h5 {
	text-align: center;
	margin-bottom: 10px;
}
.color03 .flexBox_2 h5,
.color03 .threeColumnList li h5 {
	color: #de6a65;
}

.flexBox_2 .flexImg {
	width: 40%;
	line-height: 0;
}
.flexBox_2 .flexImg .imgWrapper {
	position: relative;
	width: 100%;
	padding-top: 109.1%;
}
.flexBox_2 .flexImg .imgWrapper img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	vertical-align: middle;
	border-radius: min(2vw, 10px);
	overflow: hidden;
}

.threeColumnList {
	display: flex;
	justify-content: space-between;
}
.threeColumnList li {
	width: 31%;
}
.threeColumnList li .thumb {
	position: relative;
	padding-top: 66.8%;
	line-height: 0;
	border-radius: 8px;
	overflow: hidden;
	margin-bottom: 15px;
}
.threeColumnList li .thumb img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	vertical-align: middle;
}

.threeColumnList li > p {
	font-size: 16px;
}

.moreBtn a {
	color: #fff;
	font-size: 16px;
	border: none;
}
.color03 .moreBtn a {
	background-color: #de6a65;
}
.color04 .moreBtn a {
	background-color: #f6ad3c;
}

.fourColumnList {
	display: flex;
	justify-content: space-between;
}
.fourColumnList li {
	width: 23.5%;
	border-radius: 8px;
	background-color: #f7f7f7;
	overflow: hidden;
}
.fourColumnList li .thumb {
	line-height: 0;
}
.fourColumnList li .txt {
	padding: 15px;
	font-size: 14px;
}
.color03 .fourColumnList li .txt .cat {
	color: #de6a65;
}
.fourColumnList li .txt p + p {
	margin-top: 8px;
}
.fourColumnList li .txt p a {
	color: #222;
	text-decoration: none;
}

.tmp03InfoList li {
	display: flex;
	justify-content: space-between;
	padding: 20px 0;
	border-bottom: #ccc solid 1px;
}
.tmp03InfoList li .date {
	width: 160px;
	font-size: 14px;
	font-weight: bold;
}
.tmp03InfoList li .ttl {
	width: calc(100% - 180px);
	font-size: 16px;
}
.tmp03InfoList li .ttl a {
	color: #222;
	text-decoration: none;
}

.noArticle {
	text-align: center;
    font-size: min(3.6vw, 18px);
    background-color: #eee;
    padding: min(4vw, 20px);
}


.bgColorArea {
	padding: 80px 60px;
}
.color03 .bgColorArea {
	background-color: #f9e1e3;
}
.color04 .bgColorArea {
	background-color: #5b5d54;
}

.bgColorArea .campaign {
	display: flex;
	justify-content: space-between;
}
.bgColorArea .campaign > li {
	/* width: 48%; */
	width: 100%;
	border-radius: 8px;
	padding: 30px 40px;
	box-sizing: border-box;
}
.bgColorArea .campaign > li.planA {
	background: linear-gradient(0deg, #ffb5c6 0%, #e54b81 93%);
	color: #fff;
	text-align: center;
}
.bgColorArea .campaign > li.planA p {
	font-size: 15px;
	line-height: 1.6;
	margin-bottom: 10px;
}
.bgColorArea .campaign > li.planA p strong {
	font-size: 2em;
}
.bgColorArea .campaign > li.planA p span {
	font-size: 0.9em;
}
.bgColorArea .campaign > li.planA a {
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #fff;
	color: #e54b81;
	text-decoration: none;
	font-size: 16px;
	border-radius: 6px;
	padding: 10px;
}
.bgColorArea .campaign > li.planA a span {
	line-height: 0;
	width: 25px;
	margin-right: 10px;
}



.bgColorArea .campaign > li.planB {
	background-color: #fff;
}
.bgColorArea .campaign > li.planB .planBHead {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 20px;
}
.bgColorArea .campaign > li.planB .planBHead > div {
	width: 100px;
	line-height: 0;
	margin-right: 15px;
}
.bgColorArea .campaign > li.planB .planBHead > p {
	text-align: center;
	font-size: 18px;
	font-weight: bold;
	color: #e4007f;
    line-height: 1.2;
}
.bgColorArea .campaign > li.planB .planBHead > p span {
	font-size: 0.6em;
	color: #222;
}
.bgColorArea .campaign > li.planB .planB_BtnList {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.bgColorArea .campaign > li.planB .planB_BtnList li {
	width: 47%;
}
.bgColorArea .campaign > li.planB .planB_BtnList li:nth-child(n+3) {
	margin-top: 10px;
}
.bgColorArea .campaign > li.planB .planB_BtnList li a {
	background-color: #e4007f;
	text-align: center;
	color: #fff;
	text-decoration: none;
	border-radius: 6px;
	display: block;
	padding: 8px;
	font-size: 14px;
}


.columnList {
	display: flex;
	justify-content: space-between;
	margin: 0 80px;
}
.columnList li {
	padding: 0 10px;
}
.columnList li a {
	display: block;
	border-radius: 10px;
	overflow: hidden;
	color: #000;
	text-decoration: none;
	position: relative;
	background-color: #fff;
	border: #cccccc solid 1px;
}
.columnList li .thumb {
	position: relative;
	padding-top: 78%;
}
.columnList li .thumb::after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.20);
	z-index: 0;
}
.columnList li .thumb img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.columnList li .txt {
	padding: 20px;
}
.columnList li .txt h4 {
	font-size: 16px;
	font-weight: bold;
	margin-bottom: 10px;
}
.columnList li p {
	font-size: 14px;
}
.columnList li .date {
	margin-top: 10px;
	font-size: 1em;
	color: #999;
}

.columnList .slick-next {
	background: url(../common/images/box_slide_next.png) no-repeat center center;
    background-size: contain;
    width: 60px;
    height: 60px;
    right: -80px;
}
.columnList .slick-prev {
	background: url(../common/images/box_slide_prev.png) no-repeat center center;
    background-size: contain;
    width: 60px;
    height: 60px;
    left: -80px;
}
.columnList .slick-next:before,
.columnList .slick-prev:before {
	display: none;
}


.bgColorArea .illustAbout {
	text-align: center;
}
.bgColorArea .illustAbout .illustWrap {
	margin: 0 auto 40px;
}
.bgColorArea .illustAbout p {
	font-size: 16px;
	color: #fff;
}


.imgBgbox {
	padding: 40px;
	background: url("../common/images/doc_request_bg.jpg") no-repeat center center;
	background-size: cover;
	border-radius: 10px;
	position: relative;
	overflow: hidden;
	margin-top: 40px;
}
.imgBgbox::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(222,106,101,0.60);
}
.imgBgbox p {
	text-align: center;
	color: #fff;
	font-size: 20px;
	font-weight: bold;
	letter-spacing: 0.08em;
	margin-bottom: 20px;
	position: relative;
	z-index: 2;
}
.imgBgbox .moreBtn {
	position: relative;
	z-index: 2;
	margin-top: 0;
}
.imgBgbox .moreBtn a {
	color: #fff;
	border: #fff solid 2px;
	background-color: transparent;
}

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



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

	.moreBtn {
		margin: min(8vw, 60px) auto 0;
	}
	.moreBtn a {
    	font-size: min(3.4vw, 16px);
	}

	.tmp03Mv {
		display: block;
		margin-bottom: min(10vw, 80px);
    	padding: 0;
		overflow: hidden;
	}
	.tmp03Mv .mainBg {
		right: -70vw;
		width: 120vw;
		height: 82vw;
	}

	.tmp03Mv .mvLeft {
		width: 100%;
		padding: 6% 6% 10%;
	}
	.tmp03Mv .mvLeft h2 {
		font-size: min(7.4vw, 42px);
		margin-bottom: min(6vw, 45px);
	}


	.tmp03Mv .mvLeft p {
		font-size: min(3.4vw, 15px);
		line-height: 1.8;
	}

	.tmp03Mv .mvRight {
		width: 100%;
		padding-top: 63.5%;
	}

	#cboxClose {
		top: 2px;
    	right: 8px;
		width: 30px;
		height: 30px;
	}
	#cboxClose::before,
	#cboxClose::after {
		width: 20px;
	}
	#cboxClose::before {
		top: 9px;
	}
	#cboxClose::after {
		top: 23px;
	}

	.headlineT3 {
		font-size: min(4.8vw, 28px);
		margin-bottom: min(6vw, 40px);
	}

	.movie {
		margin: 0 auto min(12vw, 80px);
	}


	.planeWrap {
		padding-bottom: min(12vw, 80px);
	}
	.borderWrap {
		padding: min(10vw, 50px) 0;
	}
	.borderBottomWrap {
		padding: min(10vw, 50px) 0 min(6vw, 30px);
	}

	.headline01 {
		font-size: min(4.8vw, 28px);
		margin-bottom: min(6vw, 40px);
	}
	.headline02 {
		font-size: min(4.8vw, 28px);
		margin-bottom: min(6vw, 40px);
	}

	.boxSlide {
		/* margin: 0 40px; */
		margin: 0;
	}
	.boxSlide li {
		display: block!important;
		padding: min(5vw, 40px);
	}
	.boxSlide li .boxSlideImg {
		width: 100%;
		padding-top: 100%;
		margin-bottom: min(4vw, 20px);
	}
	.boxSlide li .boxSlideTxt {
		width: 100%;
	}
	.boxSlide li .boxSlideTxt h4 {
		font-size: min(3.8vw, 20px);
		margin-bottom: min(4vw, 20px);
	}
	.boxSlide li .boxSlideTxt p {
		font-size: min(3.2vw, 14px);
	}
	.boxSlide li .boxSlideTxt p.note {
		font-size: 0.9em;
	}

	.boxSlide .slick-prev {
		width: 40px;
		height: 40px;
		/* left: -50px; */
		left: -16px;
		z-index: 1;
	}
	.boxSlide .slick-next {
		width: 40px;
		height: 40px;
		/* right: -50px; */
		right: -16px;
		z-index: 1;
	}

	.beltGallery > ul {
		width: 400vw;
	}




	.flexBox {
		display: block;
		margin-bottom: min(6vw, 30px);
	}
	.flexBox .flexTxt h4 {
		font-size: min(4.2vw, 20px);
		margin-bottom: min(6vw, 30px);
	}
	.flexBox .flexTxt {
		width: 100%;
		margin-bottom: min(4vw, 30px);
	}
	.flexBox .flexTxt > p {
		font-size: min(3.4vw, 16px);
		margin-bottom: min(4vw, 20px);
	}
	.flexBox .flexTxt p + dl.infoList {
		margin-top: min(8vw, 50px);
	}
	.flexBox .flexImg {
		width: 100%;
		border-radius: 6px;
	}

	.flexBox_2 {
		display: block;
		margin-bottom: min(6vw, 30px);
	}
	.flexBox_2.bdrBox {
		padding-bottom: min(8vw, 60px);
		margin-bottom: min(8vw, 60px);
	}
	.flexBox_2 .flexTxt {
		width: 100%;
		margin-bottom: min(4vw, 30px);
	}
	.flexBox_2 .flexImg {
		width: 100%;
		border-radius: 6px;
	}

	.flexBox_2 .flexTxt h4 {
		font-size: min(4vw, 24px);
		margin-bottom: min(6vw, 30px);
	}
	.flexBox_2 .flexTxt p {
		font-size: min(3.4vw, 16px);
		line-height: 2;
	}
	.flexBox_2 .flexTxt p br {
		display: none;
	}


	.threeColumnList {
		display: block;
	}
	.threeColumnList li {
		width: 100%;
	}
	.threeColumnList li + li {
		margin-top: min(10vw, 40px);
	}
	.threeColumnList li .thumb {
		margin-bottom: min(3vw, 15px);
	}
	.flexBox_2 h5,
	.threeColumnList li h5 {
		font-size: min(4.2vw, 20px);
		margin-bottom: min(3vw, 20px);
	}
	.threeColumnList li > p {
		font-size: min(3.4vw, 16px);
	}

	.threeColumnList li .moreBtn {
		margin: min(6vw, 60px) auto 0;
	}
	.threeColumnList li .moreBtn a {
		font-size: min(3.4vw, 16px);
	}


	.fourColumnList {
		flex-wrap: wrap;
	}
	.fourColumnList li {
		width: 48%;
	}
	.fourColumnList li:nth-child(n+3) {
		margin-top: min(6vw, 40px);
	}
	.fourColumnList li .txt {
		padding: min(4vw, 15px);
		font-size: min(3.2vw, 14px);
	}
	.fourColumnList li .txt p + p {
		margin-top: min(1vw, 8px);
	}


	.tmp03InfoList li {
		padding: min(4vw, 20px) 0;
		display: block;
	}
	.tmp03InfoList li .date {
		width: 100%;
		font-size: min(3.2vw, 14px);
	}
	.tmp03InfoList li .ttl {
		width: 100%;
		font-size: min(3.4vw, 16px);
	}


	.columnList {
		display: block;
		margin: 0 40px;
	}
	.columnList li {
		padding: 0 min(2vw, 10px);
	}
	.columnList li a {
		border-radius: 8px;
	}
	.columnList li .txt {
		padding: min(4vw, 20px);
	}
	.columnList li .txt h4 {
		font-size: min(3.4vw, 16px);
		margin-bottom: min(2vw, 10px);
	}
	.columnList li p {
		font-size: min(3vw, 14px);
	}
	.columnList li .date {
		margin-top: min(2vw, 10px);
		font-size: min(2.8vw, 12px);
	}


	.columnList .slick-next {
		width: 40px;
		height: 40px;
		right: -45px;
	}
	.columnList .slick-prev {
		width: 40px;
		height: 40px;
		left: -45px;
	}

	.bgColorArea {
		padding: min(10vw, 80px) 0;
	}
	.bgColorArea .campaign {
		display: block;
	}
	.bgColorArea .campaign > li {
		width: 100%;
		padding: min(5vw, 30px) min(6vw, 40px);
	}
	.bgColorArea .campaign > li + li {
		margin-top: min(4vw, 20px);
	}
	.bgColorArea .campaign > li.planA p {
		font-size: min(3.2vw, 15px);
		margin-bottom: min(3vw, 10px);
	}
	.bgColorArea .campaign > li.planA a {
		font-size: min(3.2vw, 16px);
		padding: min(3vw, 10px) min(2vw, 10px);
	}
	.bgColorArea .campaign > li.planA a span {
		width: min(5vw, 25px);
		margin-right: min(2vw, 10px);
	}

	.bgColorArea .campaign > li.planB .planBHead {
		margin-bottom: min(4vw, 20px);
	}
	.bgColorArea .campaign > li.planB .planBHead > div {
		width: min(20vw, 100px);
		margin-right: min(3vw, 15px);
	}
	.bgColorArea .campaign > li.planB .planBHead > p {
		font-size: min(4.2vw, 18px);
	}
	.bgColorArea .campaign > li.planB .planB_BtnList li {
		width: 48%;
	}
	.bgColorArea .campaign > li.planB .planB_BtnList li a {
		padding: min(2vw, 8px);
		font-size: min(3.2vw, 14px);
	}

	.bgColorArea .illustAbout .illustWrap {
		margin: 0 auto min(6vw, 40px);
	}
	.bgColorArea .illustAbout p {
		font-size: min(3.4vw, 16px);
	}

	.imgBgbox {
		padding: min(6vw, 40px);
    	margin-top: min(6vw, 40px);
	}
	.imgBgbox p {
		font-size: min(4.2vw, 20px);
		margin-bottom: min(4vw, 20px);
	}
	.imgBgbox .moreBtn {
		width: 70%;
	}
	.imgBgbox .moreBtn a {
		border: #fff solid 1px;
		font-size: min(3.2vw, 16px);
	}
}

.spFacility {
	background-color: #f2f2f2;
}
.facilityWrap {
	display: flex;
	justify-content: space-between;
}
.facilityWrap .facilityMap {
	width: 55%;
	border: #cccccc solid 1px;
}
.facilityWrap .facilityMap div {
	position: relative;
	width: 100%;
	padding-top: 60%;
}
.facilityWrap .facilityMap div iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.facilityWrap .facilityTxt {
	width: 38%;
}
.facilityWrap .facilityTxt h4 {
	font-size: 18px;
	font-weight: bold;
	margin-bottom: 30px;
}
.facilityWrap .facilityTxt h5 {
	padding-top: 30px;
	margin-top: 30px;
	border-top: #ccc solid 1px;
	font-size: 14px;
	font-weight: bold;
	margin-bottom: 10px;
}
.facilityWrap .facilityTxt .address {
	font-size: 14px;
	margin-bottom: 5px;
}
.facilityWrap .facilityTxt .tel {
	font-size: 12px;
	letter-spacing: 0.1em;
}
.facilityWrap .facilityTxt .tel strong {
	font-weight: bold;
	font-size: 2em;
}
.facilityWrap .facilityTxt .tel a {
	color: #000;
	text-decoration: underline;
}
.facilityWrap .facilityTxt .contactBtn {
	text-align: center;
	margin-top: 15px;
	padding-bottom: 20px;
	border-bottom: #ccc solid 1px;
	margin-bottom: 20px;
}
.facilityWrap .facilityTxt .contactBtn a {
	display: block;
	border: #ccc solid 1px;
	background-color: #fff;
	color: #000;
	text-decoration: none;
	padding: 10px;
	font-size: 15px;
	border-radius: 8px;
	width: 80%;
	margin: 0 auto 10px;
}
.facilityWrap .facilityTxt .contactBtn .note {
	font-size: 13px;
}

.facilityWrap .facilityTxt .distance {
	font-size: 12px;
}
.facilityWrap .facilityTxt .facilityBtn {
	margin-top: 15px;
	display: flex;
	justify-content: space-between;
}
.facilityWrap .facilityTxt .facilityBtn li {
	width: 47%;
}
.facilityWrap .facilityTxt .facilityBtn li a {
	display: block;
	border: #ccc solid 1px;
	background-color: #fff;
	color: #000;
	text-decoration: none;
	padding: 10px;
	font-size: 15px;
	border-radius: 8px;
	text-align: center;
}

@media screen and (max-width: 820px) {
	.spFacility {
		background-color: #f2f2f2;
	}
	.facilityWrap {
    	flex-direction: column-reverse;
	}
	.facilityWrap .facilityMap {
		width: 100%;
	}
	.facilityWrap .facilityMap div {
		width: 100%;
		padding-top: 60%;
	}

	.facilityWrap .facilityTxt {
		width: 100%;
		margin-bottom: min(8vw, 40px);
	}
	.facilityWrap .facilityTxt h4 {
		font-size: min(4vw, 18px);
		margin-bottom: min(6vw, 30px);
	}
	.facilityWrap .facilityTxt h5 {
		padding-top: min(6vw, 30px);
		margin-top: min(6vw, 30px);
		font-size: min(3.2vw, 14px);
		margin-bottom: min(3vw, 10px);
	}
	.facilityWrap .facilityTxt .address {
		font-size: min(3.4vw, 14px);
		margin-bottom: min(1vw, 5px);
	}
	.facilityWrap .facilityTxt .tel {
		font-size: min(3vw, 12px);
	}

	.facilityWrap .facilityTxt .contactBtn {
		margin-top: min(3vw, 15px);
		padding-bottom: min(5vw, 20px);
		margin-bottom: min(5vw, 20px);
	}
	.facilityWrap .facilityTxt .contactBtn a {
		padding: min(3vw, 10px);
		font-size: min(3.6vw, 15px);
		width: 80%;
		margin: 0 auto min(3vw, 10px);
	}
	.facilityWrap .facilityTxt .contactBtn .note {
		font-size: 13px;
	}

	.facilityWrap .facilityTxt .distance {
		font-size: 12px;
	}
	.facilityWrap .facilityTxt .facilityBtn {
		margin-top: 15px;
		display: flex;
		justify-content: space-between;
	}
	.facilityWrap .facilityTxt .facilityBtn li {
		width: 47%;
	}
	.facilityWrap .facilityTxt .facilityBtn li a {
		padding: min(3vw, 10px);
		font-size: min(3.6vw, 15px);
	}

}

#poolPage {
	padding-top: 0;
}
#poolPage section h2 {
	text-align: center;
	font-size: min(5vw, 24px);
	margin-bottom: min(4vw, 40px);
}
#poolPage .moreBtn a {
	background-color: #008dde;
}
#poolPage section {
	padding: min(10vw, 80px) 0;
}
.topicPath.txtWh a,
.topicPath.txtWh span {
	color: #fff;
}
.topicPath.txtWh a + a::before,
.topicPath.txtWh a + span::before {
    background-color: #fff;
}

.poolFv {
	padding-top: 140px;
	background: url("../common/images/bg_main_pool2.jpg") no-repeat center bottom;
	background-size: cover;
	margin-bottom: min(10vw, 80px);
	position: relative;
}
.poolFv::after {
	position: absolute;
	bottom: -0.5px;
	left: 0;
	content: "";
	width: 200vw;
	height: 5vw;
	background: url(../common/images/nami02.svg);
	background-repeat: no-repeat;
	background-size: 200vw;
	background-position: left bottom;
	animation: wave 10s infinite 0s linear;
}
.poolFv::before {
	position: absolute;
	top: 0;
	left: 0;
	content: "";
	width: 100vw;
	height: 460px;
	background: url("../common/images/bg_main_pool.jpg");
	background-repeat: repeat-y;
	background-size: 100vw;
	background-position: center bottom;
}
.poolFvBg {
	position: absolute;
	top: 460px;
	left: 0;
  width: 100%;
}
.poolFvBg svg {
	width: 100%;
	height: auto;
}
.clip {
	animation: clip 10s infinite 0s linear;
}

@keyframes clip {
	from {
		transform: translateX(calc(-100%/2878)) scale(calc(1/2878), calc(1/1470));
	}
	to {
		transform: translateX(0%) scale(calc(1/2878), calc(1/1470));
	}
}

@keyframes wave {
	from {
		transform: translateX(0%);
	}
	to {
		transform: translateX(-50%);
	}
}

.poolFv .contentWrap {
	z-index: 1;
}
.poolFv h2 {
	font-size: min(4.8vw, 48px);
	color: #fff;
	text-align: center;
	line-height: 1.4;
	margin-bottom: min(2vw, 20px);
}
.poolFv h2 span {
	font-size: 16px;
	display: block;
}
.poolFv .fvImageWrap {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: 60px;
}
.poolFv .fvImageWrap .slick-slider {
	font-size: 0;
}
.poolFv .fvImageWrap + .fvImageWrap {
	margin-top: 40px;
}
.poolFv .fvImageWrap .img {
	position: relative;
	width: 35%;
	height: auto;
	border: 4px solid #fff;
	border-radius: 30px;
	overflow: hidden;
}
.poolFv .fvImageWrap .img .imgWrapper {
	position: relative;
	width: 100%;
	padding-top: 65.2%;
	border-radius: 10px;
	overflow: hidden;
}
.poolFv .fvImageWrap .img .imgWrapper img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	vertical-align: middle;
}
.poolFv .fvImageWrap .img .imgDeco {
	position: absolute;
	top: 0;
}
.poolFv .fvImageWrap .img.left .imgDeco {
	width: 43%;
	left: 0;
}
.poolFv .fvImageWrap .img.right .imgDeco {
	width: 41%;
	right: 0;
}
.poolFv .fvImageWrap .img p {
	position: absolute;
	top: 6%;
	color: #fff;
	font-size: min(2vw, 26px);
	font-weight: bold;
	line-height: 1.4;
}
.poolFv .fvImageWrap .img.left p {
	left: 5%;
}
.poolFv .fvImageWrap .img.right p {
	right: 5%;
	text-align: right;
}
.poolFv .fvImageWrap .img p span {
	display: block;
	font-size: 0.5em;
	padding: 0 0.3em;
}

.poolMvIllust {
	position: relative;
	width: 34%;
	line-height: 0;
	margin: auto;
}
.poolMvIllust .poolBadge {
	position: absolute;
	width: 36.5%;
	top: 40%;
	right: -35%;
}

.poolFv .leadTxt {
	text-align: center;
	line-height: 2.6;
	font-size: min(3.4vw, 16px);
	font-weight: bold;
	padding: min(6vw, 64px) min(5vw,60px) min(14vw, 140px);
	/* margin-top: 80px; */
}


.poolBnrList.slick-slider {
	line-height: 0;
	margin-bottom: min(3vw, 20px);
	max-width: 840px;
	margin: 0 auto;
	padding-bottom: 28px;
	position: relative;
	z-index: 1;
}
.poolBnrList li {
	padding: 0 10px;
}
.poolBnrList li a {
	display: block;
	line-height: 0;
	border-radius: 8px;
	overflow: hidden;
	position: relative;
	padding-top: 53.84%;
}
.poolBnrList li a img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.poolBnrList .slick-dots {
	bottom: 0;
}
.poolBnrList .slick-dots li {
	width: 8px;
	height: 8px;
	padding: 0;
	margin: 0 10px;
}
.poolBnrList .slick-dots li button {
	padding: 0;
	width: 100%;
	height: 100%;
	background-color: #ccc;
	border-radius: 50%;
}
.poolBnrList .slick-dots li button::before {
	content: "";
}
.poolBnrList .slick-dots li.slick-active button {
	background-color: #000;
}

.poolInfoList {
	max-width: 986px;
	margin: 0 auto;
	display: flex;
	/* justify-content: space-between; */
	gap: calc(4%/3);
}
.poolInfoList li {
	width: 24%;
}
.poolInfoList li a {
	display: block;
	background-color: #F7F7F7;
	border-radius: 10px;
	overflow: hidden;
	color: #333;
	text-decoration: none;
	font-size: 16px;
	height: 100%;
}
.poolInfoList li a .thumb {
	line-height: 0;
	position: relative;
	padding-top: 78%;
}
.poolInfoList li a .thumb img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.poolInfoList li a .txt {
	padding: 15px 15px 20px;
}
.poolInfoList li a .txt p {
	font-size: 14px;
	line-height: 1.6;
}
.poolInfoList li a .txt .date {
	font-size: 12px;
	color: #999999;
	margin-bottom: 5px;
}
.poolInfoList li a .txt .cat {
	color: #7AA3BD;
	margin-bottom: 10px;
	font-size: 12px;
}

.poolPrice {
	background-color: #f2f2f2;
	padding: 40px 0 60px;
	font-size: 16px;
}
.poolPrice h2 {
	font-size: 22px;
}
.poolPrice .moreBtn {
	margin-top: 0;
}

#poolPage section#poolActivity {
	padding-bottom: 0;
}
.poolActivityList {
	position: relative;
}
.poolActivityList.blue {
	background-color: #008dde;
}
.poolActivityList.yellow {
	background-color: #e8aa32;
}
.poolActivityList.orange {
	background-color: #e77e31;
}
.poolActivityList.purple {
	background-color: #bd519b;
}
.poolActivityList .poolActivityBg {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	mix-blend-mode: soft-light;
	opacity: 0.5;
}
.poolActivityList .contentWrap {
	padding: min(6vw, 60px);
	color: #fff;
}
.poolActivityList .poolActivityBg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.poolActivityList .flexBox {
	margin-bottom: 0;
	position: relative;
	z-index: 0;
}
.poolActivityList .flexTxt h3 {
	font-size: min(7.4vw, 44px);
	margin-bottom: 40px;
	line-height: 1.6;
}
.poolActivityList .flexTxt h3 span {
	display: block;
	font-size: min(3.8vw, 18px);
}
.poolActivityList .flexTxt h3 span.noblock {
	display: inline-block;
}
.poolActivityList .flexTxt .btnWrap {
	justify-content: flex-start;
	margin-top: min(4vw, 40px);
    gap: 0 min(4vw, 20px);
}
.poolActivityList .flexTxt .btnWrap a {
	display: block;
	background-color: #fff;
	text-align: center;
	font-size: min(3vw, 14px);
	line-height: 1.6;
	font-weight: bold;
	letter-spacing: 0.1em;
	color: #333;
	text-decoration: none;
	padding: min(3.5vw, 15px) min(1vw, 10px);
	border-radius: 8px;
	width: 240px;
}
.poolActivityList .flexBox .flexImg .imgWrapper {
	border: #fff solid 1px;
}
.poolActivityList .flexBox .flexImg li {
	padding: 0 10px;
}

#poolPage .facilityWrap .facilityMap div {
	height: 100%;
	padding-top: 0;
}


@media screen and (max-width: 820px) {
	.poolFv {
		padding-top: 110px;
	}
	.poolFv::before {
		height: calc(115px + 58vw);
	}
	.poolFvBg {
		top: calc(115px + 58vw);
	}
	.poolFv h2 {
		position: relative;
		font-size: min(8vw, 40px);
		writing-mode: unset;
	}
	.poolFv h2 span {
		font-size: min(3.2vw, 16px);
		display: block;
		padding-top: 0;
		margin-right: 0;
	}
	.poolFv .fvImageWrap {
		gap: 0 min(3.8vw, 19px);
		margin-top: min(6vw, 30px);
	}
	.poolFv .fvImageWrap + .fvImageWrap {
		margin-top: 18px;
	}
	.poolFv .fvImageWrap:nth-child(2) {
		margin-top: min(46.6vw, 308px);
	}
	.poolFv .fvImageWrap .img {
		width: 49%;
    border-radius: 12px;
    border: 3px solid #fff;
	}
	.poolFv .fvImageWrap .img p {
		font-size: 3.2vw;
		font-weight: bold;
	}
	.poolFv .fvImageWrap .img.left p {
		left: 4%;
	}
	.poolFv .fvImageWrap .img.right p {
		right: 4%;
	}

	.poolMvIllust {
		/* bottom: 52%; */
		width: 78%;
	}
	.poolMvIllust .poolBadge {
    width: 28.5%;
    top: 70%;
    right: -8%;
	}
	.poolFv .leadTxt {
		margin-top: 0;
	}

	.poolBnrList {
		width: 70vw;
    margin: 0 auto;
	}
	.poolBnrList.slick-slider .slick-list {
		overflow: visible;
	}

	.poolInfoList {
		flex-wrap: wrap;
	}
	.poolInfoList li {
		width: 48%;
	}
	.poolInfoList li a .txt {
    padding: min(4vw, 20px) min(3vw, 15px) min(4vw, 20px);
	}
	.poolInfoList li a .txt p {
    font-size: min(3vw, 14px);
	}
	.poolInfoList li a .txt .date {
    font-size: min(2.8vw, 12px);
    margin-bottom: min(3vw, 5px);
	}
	.poolInfoList li:nth-child(n+3) {
    margin-top: min(6vw, 30px);
	}

	.poolActivityList .flexBox {
		display: flex;
		flex-direction: column-reverse;
	}
	.poolActivityList .flexTxt h3 {
		margin-bottom: 0;
	}
	.poolActivityList .flexTxt .btnWrap {
		justify-content: center;
	}
	.poolActivityList .flexImg {
		margin-bottom: min(4vw, 40px);
	}

	#poolPage .facilityWrap .facilityMap div {
		height: auto;
		padding-top: 60%;
	}

}


/*
* Sauna
*/

#saunaPage {
	padding-top: 0;
}
.topicPath.txtWh a,
.topicPath.txtWh span {
	color: #fff;
}
.topicPath.txtWh a + a::before,
.topicPath.txtWh a + span::before {
    background-color: #fff;
}

.saunaFv {
	width: 100%;
	height: 770px;
	position: relative;
	background: url("../common/images/bg_main_sauna.jpg") no-repeat center bottom;
	background-size: cover;
    padding-top: 140px;
}
.saunaFv h2 {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	font-size: 48px;
	writing-mode: vertical-rl;
	color: #fff;
}
.saunaFv h2 span {
	font-size: 16px;
	display: block;
	padding-top: 12px;
	margin-right: -16px;
}
.saunaFv .fvImageWrap {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: 60px;
    opacity: 0;
}
.saunaFv .fvImageWrap + .fvImageWrap {
	margin-top: 40px;
}
.saunaFv .fvImageWrap .img {
	width: 35%;
	height: auto;
	border: 4px solid #fff;
	border-radius: 30px;
	overflow: hidden;
}
.saunaFv .fvImageWrap img {
	display: block;
}
.saunaFv .fvImageWrap .saunaSlide01,
.saunaFv .fvImageWrap .saunaSlide02 {
	width: 35%;
	height: auto;
}
.saunaFv .fvImageWrap .saunaSlide01 .slick-slide > div,
.saunaFv .fvImageWrap .saunaSlide02 .slick-slide > div {
	border: 4px solid #fff;
	border-radius: 30px;
	overflow: hidden;
    position: relative;
    width: 100%;
    padding-top: 66.9%;
}
.saunaFv .fvImageWrap .saunaSlide01 .slick-slide > div img,
.saunaFv .fvImageWrap .saunaSlide02 .slick-slide > div img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.saunaMvIllust {
	position: absolute;
	bottom: 50px;
	left: 50%;
	transform: translateX(-50%);
    width: 21%;
    line-height: 0;
}

.saunaConcept {
	margin: min(14vw, 120px) 0 min(8vw, 60px);
/*
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
*/
	position: relative;
    display: flex;
}
/*
.saunaConcept::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.60);
	z-index: 0;
}
*/
.saunaConceptWrap {
	position: relative;
	z-index: 1;
/*
    color: #fff;
    text-align: center;
    padding-top: min(14vw, 120px);
    padding-bottom: min(14vw, 120px);
*/
    width: 48%;
    padding: 0 6%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.saunaConceptWrap h2 {
    font-size: min(4vw, 18px);
    font-weight: normal;
    letter-spacing: 0.14em;
	color: #f75530;
/*	text-align: center;*/
    margin-bottom: min(4vw, 20px);
}
.saunaInnerWrap {
	display: flex;
	align-items: flex-start;
	gap: 0 12.8%;
	margin-top: 80px;
}
.saunaConceptWrap .imageWrap {
	width: 43.5%;
	position: relative;
}
.saunaConceptWrap .imageWrap img {
	display: block;
	width: 100%;
	height: auto;
}
.saunaConceptWrap .imageWrap img:last-child {
	position: absolute;
	right: -17%;
	bottom: -113px;
	width: 59%;
}
.saunaConceptWrap .contentWrap {
	width: 43.4%;
}
.saunaConceptWrap h3 {
	font-size: min(4.6vw, 24px);
	font-weight: bold;
}
.saunaConceptWrap .lead {
    font-size: min(3.4vw, 16px);
    margin-top: min(8vw, 48px);
}
.saunaConceptWrap ul {
	margin-top: 93px;
}
.saunaConceptWrap li h4 {
	font-size: 18px;
	color: #f75530;
}
.saunaConceptWrap li p {
	font-size: 18px;
	margin-top: 34px;
}
.saunaConceptWrap li:not(:first-child) {
	margin-top: 33px;
}
.saunaConceptWrap li:not(:last-child) {
	border-bottom: 1px solid #dddddd;
	padding-bottom: 47px;
}

.conceptPic {
    width: 52%;
    line-height: 0;
    padding-top: 34.7%;
    position: relative;
}
.conceptPic img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}


.saunaTypes {
	background-color: #f8f1f0;
}
.saunaTypesHead {
	padding: min(5vw, 40px) min(6vw, 60px);
	background-color: #fff;
	text-align: center;
    position: relative;
}
.saunaTypesHead::after {
	content: "";
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-right: min(8vw, 40px) solid transparent;
	border-left: min(8vw, 40px) solid transparent;
	border-top: min(8vw, 40px) solid #ffffff;
	border-bottom: 0;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translate(-50%, 99%);
}
.saunaTypesHead p {
	background-color: #f8f1f0;
	padding: min(4vw, 20px);
    max-width: 800px;
	margin: 0 auto;
	border-radius: 8px;
    font-size: min(3.4vw, 16px);
}
.saunaTypesHead p strong {
	color: #f75530;
}


.saunaTypes .anchorLinks {
	padding-top: 75px;
	display: flex;
	/* align-items: center; */
	justify-content: center;
	gap: 13px;
	border-bottom: 1px solid #ecccc7;
	padding-bottom: 50px;
}
.saunaTypes .anchorLinks li {
	width: 24%;
	border: 2px solid #ecccc7;
	background-color: #fff;
	border-radius: 10px;
	overflow: hidden;
}
.saunaTypes .anchorLinks a {
	display: flex;
	flex-direction: column;
	justify-content: center;
	height: 100%;
	font-size: 18px;
	color: #000;
	text-decoration: none;
	text-align: center;
	padding: 30px 10px 36px;
	box-sizing: border-box;
}
.saunaTypes .anchorLinks a i {
	width: 43px;
	display: block;
	margin: 0 auto;
}

#saunaPage .poolPrice {
    margin-top: min(8vw, 60px);
    text-align: center;
}
#saunaPage .poolPrice h2 {
    margin-bottom: min(4vw, 20px);
}

.saunaType h2 {
	font-size: 24px;
	color: #f75530;
	display: flex;
	align-items: center;
}
.saunaType i {
	width: 60px;
	margin-right: 20px;
	line-height: 0;
}
#pensauna h3 {
	color: #f75530;
}
#tentsauna .planeWrap {
	padding: min(10vw, 55px) 0;
}
#pensauna .planeWrap {
	padding: 0 0;
}
#coldbath .planeWrap {
	padding: min(10vw, 54px) 0;
}
#airbath {
	padding-top: 50px;
}
.saunaType h3 {
	font-size: 20px;
	margin-bottom: 35px;
}
#coldbath h3 {
	margin-bottom: 24px;
}
.saunaType .infoList {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0 43px;
	margin-bottom: 35px;
}
.saunaType .infoList li {
	display: flex;
	align-items: center;
	gap: 0 18px;
}
.saunaType .infoList .ttl {
	width: 90px;
	background-color: #edc6c0;
	text-align: center;
	border-radius: 10px;
	font-size: 13px;
}
.saunaType .infoList .desc {
	font-size: 14px;
}
.saunaType .note {
	font-size: 14px;
}
.saunaType .moreBtn {
	margin: 34px auto 0 0;
}
.saunaType .moreBtn a {
	background-color: #f75530;
}

.saunaType .imgSlide .slick-slide li > div {
    padding-top: 66.5%;
    position: relative;
}
.saunaType .imgSlide .slick-slide li > div img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.saunaService {
    margin-top: min(6vw, 30px);
    padding: min(4vw, 20px);
    border: #f75530 solid 1px;
    border-radius: 8px;
    display: flex;
    justify-content: space-between;
}
.saunaService .pic {
    line-height: 0;
    width: 40%;
}
.saunaService .txt {
    width: 55%;
}
.saunaService .txt h4 {
    font-size: min(3.6vw, 18px);
    color: #f75530;
    margin-bottom: min(3vw, 15px);
}


.aboutSauna h2 {
	text-align: center;
}
.aboutSauna .howToEnjoyWrap {
	margin-top: 89px;
}
.howToEnjoyWrap h2 {
	margin-bottom: 48px;
}
.howToEnjoyWrap .boxSlide li {
	align-items: flex-start;
	border-radius: 10px;
}
.howToEnjoyWrap li .boxSlideImg {
	width: 38%;
}
.howToEnjoyWrap li .boxSlideTxt {
	width: 57%;
}
.howToEnjoyWrap .slick-dots {
	bottom: -44px;
}
.howToEnjoyWrap .boxSlideTxt .label {
	font-size: 18px;
	color: #85b3d1;
	padding-bottom: 10px;
	border-bottom: 1px solid #000;
	margin-top: 30px;
}
.howToEnjoyWrap .boxSlideTxt h4 {
	font-size: 24px;
	margin-top: 36px;
}
.aboutSauna .saunaItemWrap {
	margin-top: 119px;
}
.aboutSauna .saunaItemWrap h2  {
	margin-bottom: 52px;
}
.aboutSauna .saunaItemWrap h2 span {
    display: block;
    font-size: 0.7em;
    font-weight: normal;
    margin-top: min(1vw, 5px);
}
.aboutSauna .saunaItemWrap li  {
	background-color: #e7eef3;
	border-radius: 10px;
	padding: 50px 71px 50px 59px;
}
.aboutSauna .saunaItemWrap li .img {
	display: block;
	width: 33.7%;
    padding-top: 29.5%;
    position: relative;
    overflow: hidden;
    border-radius: 10px;
}
.aboutSauna .saunaItemWrap li .img img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.aboutSauna .saunaItemWrap li .flexTxt {
	width: 60%;
}
.aboutSauna .saunaItemWrap .label {
	font-size: 18px;
	color: #85b3d1;
	margin-bottom: 10px;
}
.aboutSauna .saunaItemWrap h3 {
	font-size: 24px;
	padding-bottom: 20px;
	border-bottom: 1px solid #000;
	margin-bottom: 29px;
}
.aboutSauna .saunaItemWrap .note {
	font-size: 16px;
}
.aboutSauna .saunaItemWrap .price {
	font-size: 24px;
	font-weight: bold;
	text-align: right;
}
.aboutSauna .saunaItemWrap .price span {
	font-size: 18px;
}
.ancillaryServices {
	margin-top: 105px;
	margin-bottom: 192px;
}
.ancillaryServices h2 {
	font-size: 24px;
}
.ancillaryServices .borderContentWrap {
	border: 2px solid #dddddd;
	border-radius: 10px;
	padding: 63px 69px 51px;
	margin-top: min(6vw, 40px);
}
.ancillaryServices .service {
	font-size: 18px;
	font-weight: bold;
	text-align: center;
	padding-bottom: 39px;
	border-bottom: 1px solid #ddd;
}
.ancillaryServices .flexBox {
	margin-top: 48px;
	margin-bottom: 0;
}
.ancillaryServices .flexBox .flexTxt {
	width: 58%;
}
.ancillaryServices .flexBox .img {
	width: 35%;
    line-height: 0;
    position: relative;
    padding-top: 30.7%;
    border-radius: 8px;
    overflow: hidden;
}
.ancillaryServices .flexBox .img img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.ancillaryServices .flexBox .label {
	font-size: 16px;
	margin-bottom: 10px;
	color: #85b3d1;
}
.ancillaryServices .title {
	font-size: 24px;
	margin-bottom: 39px;
}
.saunaPriceList {
	background-color: #e2e9d9;
	padding-top: 98px;
	padding-bottom: 181px;
}
.saunaPriceList h2 {
	font-size: 24px;
	text-align: center;
	margin-bottom: 50px;
}
.saunaPriceList .bgWhite {
	background-color: #fff;
	padding: 45px 68px;
	border-radius: 10px;
}
.saunaPriceList .bgWhite:nth-child(n + 3) {
	margin-top: 20px;
}
.saunaPriceList .bgWhite .label {
	font-size: 16px;
	color: #83b14e;
	margin-bottom: 10px;
}
.saunaPriceList .bgWhite .title {
	font-size: 24px;
	margin-bottom: 20px;
}
.saunaPriceList .priceList {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.saunaPriceList .priceList .title {
	font-size: 20px;
	font-weight: bold;
}
.saunaPriceList .priceList .price {
	font-size: 24px;
	font-weight: bold;
}
.saunaPriceList .priceList .price span {
	font-size: 18px;
	font-weight: bold;
}
.saunaPriceList .priceList.borderBottom {
	padding-bottom: 20px;
	border-bottom: 1px solid #ddd;
	margin-bottom: 30px;
}
.saunaPriceList .bgWhite .flexBox .img {
	display: block;
	width: 32%;
    position: relative;
    line-height: 0;
    padding-top: 28%;
    border-radius: 8px;
    overflow: hidden;
}
.saunaPriceList .bgWhite .flexBox .img img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.saunaPriceList .bgWhite .flexBox .flexTxt {
	width: 58%;
}
.saunaPriceList .priceOfMinuts {
	display: flex;
	align-items: center;
	gap: 0 20px;
	margin-top: 32px;
}
.saunaPriceList .priceOfMinuts .priceContent {
	width: 26%;
	border: 1px solid #88ab60;
	border-radius: 10px;
	text-align: center;
	overflow: hidden;
}
.saunaPriceList .priceOfMinuts .recommend {
	width: 35%;
}
.saunaPriceList .priceOfMinuts .priceContent .time {
	font-size: 24px;
	padding: 14px 0 5px;
	background-color: #6d8452;
	color: #fff;
}
.saunaPriceList .priceOfMinuts .priceContent .time span {
	font-size: 18px;
}
.saunaPriceList .priceOfMinuts .priceContent .price {
	font-size: 24px;
	padding: 30px 0;
}
.saunaPriceList .priceOfMinuts .priceContent .price span {
	font-size: 18px;
}
.saunaPriceList .priceOfMinuts .recommend .time {
	font-size: 30px;
	padding: 10px 0 5px;
	background-color: #88ab60;
}
.saunaPriceList .priceOfMinuts .recommend .time span {
	font-size: 20px;
}
.saunaPriceList .priceOfMinuts .recommend .price {
	font-size: 30px;
}
.saunaPriceList .priceOfMinuts .recommend .price span {
	font-size: 20px;
}
.saunaGallery {
	margin-top: 67px;
}
.saunaGallery h2 {
	font-size: 24px;
	text-align: center;
	margin-bottom: 43px;
}
.saunaGallery .beltGallery > ul li {
	width: calc(100% / 8);
	padding-top: calc(100% / 8 * 0.75);
}
.information.sauna {
	margin-top: 138px;
}
.information.sauna h2 {
	font-size: 24px;
	text-align: center;
    margin-bottom: min(6vw, 30px);
}
.information.sauna ul {
	margin-top: 75px;
}
.information.sauna li {
	display: flex;
	align-items: center;
    justify-content: space-between;
	border-bottom: 1px solid #ddd;
	padding-bottom: 22px;
}
.information.sauna li:not(:first-child) {
	margin-top: 28px;
}
.information.sauna li .date {
	font-size: 14px;
	font-weight: bold;
    width: 120px;
}
.information.sauna li .category {
	font-size: 14px;
	color: #f75530;
    width: 90px;
}
.information.sauna li .title {
	font-size: 16px;
    width: calc(100% - 210px);
}
.information.sauna li .title a {
	color: #000;
	text-decoration: none;
}
.information.sauna .moreBtn {
	margin-bottom: 89px;
}
.information.sauna .moreBtn a {
	background-color: #f75530;
}
.access.sauna {
	margin-top: 89px;
}
.access.sauna h2 {
	font-size: 24px;
	text-align: center;
	margin-bottom: 59px;
}
.access.sauna .accessWrap {
	display: flex;
	align-items: flex-start;
	gap: 0 59px;
}
.access.sauna .gMap {
	border: 2px solid #ddd;
	border-radius: 10px;
	overflow: hidden;
}
.access.sauna .accessTxt h3 {
	font-size: 18px;
	font-weight: bold;
}
.access.sauna .accessTxt span {
	font-size: 16px;
	font-weight: normal;
}
.access.sauna .accessTxt .address {
	font-size: 16px;
	margin: 50px 0 10px;
}
.access.sauna .accessTxt .tel {
	font-size: 14px;
	padding-bottom: 20px;
	border-bottom: 1px solid #ddd;
}
.access.sauna .tel strong {
	font-size: 20px;
	margin-left: 20px;
}
.access.sauna .businessHours {
	margin-top: 20px;
	padding-bottom: 44px;
	border-bottom: 1px solid #ddd;
}
.access.sauna .businessHours h4 {
	margin-top: 16px;
}
.access.sauna .hourLilst {
	margin-top: 26px;
}
.access.sauna .hourLilst {
	display: flex;
	align-items: center;
	gap: 0 60px;
}
.access.sauna .hourLilst ul {
    column-count: 2;
    width: 100%;
}

.access.sauna .moreBtn {
	margin: 30px auto 0 auto;
}
.access.sauna .moreBtn a {
	background-color: #f75530;
}
.slick-dots {
	bottom: -22px;
}
.slick-dots li {
	width: 8px;
	height: 8px;
	border-radius: 10px;
	overflow: hidden;
}
.flexImg .slick-dots button {
	width: 8px;
	height: 8px;
	background-color: #ccc;
	padding: 0;
}
.slick-dots .slick-active button {
	background-color: #000;
}
.slick-dots button::before {
	content: unset;
}


.saunaVillageBox {
    margin-top: min(8vw, 60px);
}
.saunaVillageBox a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: #000;
    text-decoration: none;
    border: #ccc solid 1px;
    overflow: hidden;
    border-radius: 10px;
}
.saunaVillageBox a .pic {
    line-height: 0;
    width: 25%;
}
.saunaVillageBox a .txt {
    width: 70%;
}
.saunaVillageBox a .txt h3 {
    font-size: min(4vw, 20px);
    margin-bottom: min(3vw, 15px);
}

@media screen and (max-width: 820px) {
	.saunaFv {
		height: 180vw;
		background: url(../common/images/bg_main_sauna_sp.jpg) no-repeat center top;
    	background-size: 100%;
		padding-top: 110px;
	}
	.saunaFv h2 {
		position: relative;
		font-size: min(8vw, 40px);
		writing-mode: unset;
	}
	.saunaFv h2 span {
		font-size: min(3.2vw, 16px);
		display: block;
		padding-top: 0;
		margin-right: 0;
	}
	.saunaFv .fvImageWrap {
		gap: 0 min(3.8vw, 19px);
		margin-top: min(6vw, 30px);
	}
	.saunaFv .fvImageWrap + .fvImageWrap {
		margin-top: 18px;
	}
	.saunaFv .fvImageWrap:nth-child(2) {
		margin-top: min(61.6vw, 308px);
	}
	.saunaFv .fvImageWrap .saunaSlide01,
	.saunaFv .fvImageWrap .saunaSlide02 {
		width: 49%;
	}
    .saunaFv .fvImageWrap .saunaSlide01 .slick-slide > div,
    .saunaFv .fvImageWrap .saunaSlide02 .slick-slide > div {
		border-radius: 16px;
    }

	.howToEnjoyWrap .boxSlide li {
		padding-top: 0;
	}

	.saunaMvIllust {
		bottom: 50%;
		width: 48%;
	}

	.contentWrap.sauna {
		margin: min(6vw, 30px) auto 0;
	}
	.saunaInnerWrap {
		display: block;
		margin-top: min(12vw, 80px);
	}
	.saunaInnerWrap .imageWrap {
		width: 78%;
		position: relative;
		margin-bottom: min(23vw, 115px);
	}
	.saunaInnerWrap .imageWrap img {
		display: block;
		width: 100%;
		height: auto;
	}
	.saunaInnerWrap .imageWrap img:last-child {
		position: absolute;
		right: -20%;
		bottom: min(6vw, -53px);
		width: 59%;
	}
	.saunaInnerWrap .contentWrap {
		width: 100%;
	}

    .saunaConcept {
        display: flex;
        flex-direction: column;
    }
    .saunaConceptWrap {
        width: 100%;
    }
    .conceptPic {
        width: 100%;
        padding-top: 67%;
        margin-top: min(8vw, 40px);
    }

	.saunaInnerWrap h3 {
		font-size: min(4.8vw, 24px);
	}
	.saunaInnerWrap .lead {
		font-size: min(3.8vw, 16px);
		margin-top: min(6vw, 48px);
	}
	.saunaInnerWrap ul {
		margin-top: min(12vw, 93px);
	}
	.saunaInnerWrap li h4 {
		font-size: min(3.6vw, 18px);
	}
	.saunaInnerWrap li p {
		font-size: min(3.6vw, 18px);
		margin-top: min(4vw, 34px);
	}
	.saunaInnerWrap li:not(:first-child) {
		margin-top: min(6vw, 33px);
	}
	.saunaInnerWrap li:not(:last-child) {
		padding-bottom: min(6vw, 47px);
	}

	.saunaTypes .anchorLinks {
		/* flex-wrap: wrap; */
		padding-top: min(15vw, 105px);
		padding-bottom: min(10vw, 50px);
	}
	.saunaTypes .anchorLinks li {
		width: 46%;
	}
	.saunaTypes .anchorLinks a i {
		width: min(8.6vw, 43px);
	}

	.saunaTypes .anchorLinks a {
		font-size: min(3.6vw, 18px);
		text-align: center;
		/* display: block; */
		padding: min(6vw, 30px) min(4vw, 10px);
	}
	.saunaType h2 {
		font-size: min(4.8vw, 24px);
	}
	#tentsauna .planeWrap {
		padding: min(10vw, 55px) 0;
	}
	#coldbath .planeWrap {
		padding: min(10vw, 54px) 0;
	}
	#airbath {
		padding-top: min(10vw, 50px);
	}
	.saunaType .planeWrap .flexBox {
		display: flex;
		flex-direction: column-reverse;
	}
	.saunaType .planeWrap .flexBox .flexImg {
		margin-bottom: min(8vw, 60px);
	}
	.saunaType h3 {
		font-size: min(4vw, 20px);
		margin-bottom: min(7vw, 35px);
	}
	#coldbath h3 {
		margin-bottom: min(4.8vw, 24px);
	}

	.saunaType i {
		width: min(10vw, 60px);
   		margin-right: min(4vw, 20px);
	}
	.saunaType .infoList {
		display: block;
		margin-bottom: min(7vw, 35px);
	}
	.saunaType .infoList li {
		display: flex;
		align-items: center;
		gap: 0 min(3.6vw, 18px);
	}
	.saunaType .infoList li:not(:first-child) {
		margin-top: min(2.6vw, 13px);
	}
	.saunaType .infoList .ttl {
		width: 85px;
		text-align: center;
    	font-size: min(3.2vw, 14px);
	}
	.saunaType .infoList .desc {
    	font-size: min(3.2vw, 14px);
	}
	.saunaType .note {
    	font-size: min(3.2vw, 14px);
	}
	.saunaType .moreBtn {
		margin: min(6.8vw, 34px) auto 0 0;
	}

    .saunaService {
        flex-direction: column;
    }
    .saunaService .pic {
        width: 100%;
        margin-bottom: min(4vw, 20px);
    }
    .saunaService .txt {
        width: 100%;
    }

	.aboutSauna .howToEnjoyWrap {
		margin-top: min(17.8vw, 89px);
	}
	.howToEnjoyWrap h2 {
		margin-bottom: min(9.6vw, 48px);
	}
	.howToEnjoyWrap li .boxSlideImg {
		margin-bottom: 0;
		width: 100%;
	}

	.howToEnjoyWrap li .boxSlideTxt {
		width: 100%;
	}
	.howToEnjoyWrap .slick-dots {
		bottom: min(-8.8vw, -44px);
	}
	.howToEnjoyWrap .boxSlideTxt .label {
		font-size: min(3.6vw, 18px);
		padding-bottom: min(2vw, 10px);
		margin-top: 0;
	}
	.howToEnjoyWrap .boxSlideTxt h4 {
		font-size: min(4.8vw, 24px);
		margin-top: min(7.2vw, 36px);
	}
	.aboutSauna .saunaItemWrap {
		margin-top: min(26vw, 100px);
	}
	.aboutSauna .saunaItemWrap h2  {
		margin-bottom: min(8vw, 52px);
	}
	.aboutSauna .saunaItemWrap li  {
		padding: min(8vw, 50px) min(8vw, 40px);
	}
	.aboutSauna .saunaItemWrap li .img {
		display: block;
		width: 100%;
		margin-bottom: min(3.6vw, 18px);
        padding-top: 87.6%;
	}
	.aboutSauna .saunaItemWrap li .flexTxt {
		width: 100%;
	}
	.aboutSauna .saunaItemWrap .label {
		font-size: min(3.6vw, 18px);
		margin-bottom: min(2vw, 10px);
	}
	.aboutSauna .saunaItemWrap h3 {
		font-size: min(4.8vw, 24px);
		padding-bottom: min(4vw, 20px);
		margin-bottom: min(5.8vw, 29px);
	}
	.aboutSauna .saunaItemWrap .note {
		font-size: min(3.2vw, 16px);
	}
	.aboutSauna .saunaItemWrap .price {
		font-size: min(4.8vw, 24px);
	}
	.aboutSauna .saunaItemWrap .price span {
		font-size: min(3.6vw, 18px);
	}
	.ancillaryServices {
		margin-top: min(18vw, 90px);
		margin-bottom: min(14vw, 80px);
	}
	.ancillaryServices h2 {
		font-size: min(4.8vw, 24px);
	}
	.ancillaryServices .borderContentWrap {
		padding: min(8vw, 50px) min(8vw, 40px);
	}
	.ancillaryServices .service {
		font-size: min(3.6vw, 18px);
		padding-bottom: min(7.8vw, 39px);
	}
	.ancillaryServices .flexBox {
		margin-top: min(9.6vw, 48px);
		display: flex;
		flex-direction: column-reverse;
	}
	.ancillaryServices .flexBox .flexTxt {
		width: 100%;
	}
	.ancillaryServices .flexBox .img {
        width: 100%;
        margin-bottom: min(4.8vw, 24px);
        padding-top: 87.2%;
	}
	.ancillaryServices .flexBox .label {
		font-size: min(3.2vw, 16px);
		margin-bottom: min(2vw, 10px);
	}
	.ancillaryServices .title {
		font-size: min(4.8vw, 24px);
		margin-bottom: min(7.8vw, 39px);
	}
	.saunaPriceList {
		padding-top: min(12vw, 80px);
    	padding-bottom: min(14vw, 80px);
	}
	.saunaPriceList h2 {
		font-size: min(4.8vw, 24px);
		margin-bottom: min(10vw, 50px);
	}
	.saunaPriceList .bgWhite {
		padding: min(8vw, 45px) min(6vw, 60px);
	}
	.saunaPriceList .bgWhite:nth-child(n + 3) {
		margin-top: min(4vw, 20px);
	}
	.saunaPriceList .bgWhite .label {
		font-size: min(3.2vw, 16px);
		margin-bottom: min(2vw, 10px);
	}
	.saunaPriceList .bgWhite .title {
		font-size: min(4.8vw, 24px);
		margin-bottom: min(4vw, 20px);
	}
	.saunaPriceList .bgWhite .flexBox {
		display: flex;
		flex-direction: column-reverse;
	}
	.saunaPriceList .bgWhite .flexBox .img {
		width: 100%;
		margin-bottom: min(4.8vw, 24px);
        padding-top: 87.2%;
	}
	.saunaPriceList .bgWhite .flexBox .flexTxt {
		width: 100%;
	}
	.saunaPriceList .priceList {
		display: block;
	}
	.saunaPriceList .priceList .title {
		font-size: min(4vw, 20px);
	}
	.saunaPriceList .priceList .price {
		font-size: min(4.8vw, 24px);
	}
	.saunaPriceList .priceList .price span {
		font-size: min(3.6vw, 18px);
	}
	.saunaPriceList .priceList.borderBottom {
		padding-bottom: min(4vw, 20px);
		margin-bottom: min(6vw, 30px);
	}
	.saunaPriceList .priceOfMinuts {
		display: block;
		margin-top: min(6.4vw, 32px);
	}
	.saunaPriceList .priceOfMinuts .priceContent {
		width: 100%;
	}
	.saunaPriceList .priceOfMinuts .priceContent:not(:first-child) {
		margin-top: min(3.2vw, 16px);
	}
	.saunaPriceList .priceOfMinuts .recommend {
		width: 100%;
	}
	.saunaPriceList .priceOfMinuts .priceContent .time {
		font-size: min(4.8vw, 24px);
		padding: min(2.8vw, 14px) 0 min(1vw, 5px);
	}
	.saunaPriceList .priceOfMinuts .priceContent .time span {
		font-size: min(3.6vw, 18px);
	}
	.saunaPriceList .priceOfMinuts .priceContent .price {
		font-size: min(4.8vw, 24px);
		padding: min(4vw, 30px) 0;
	}
	.saunaPriceList .priceOfMinuts .priceContent .price span {
		font-size: min(3.6vw, 18px);
	}
	.saunaPriceList .priceOfMinuts .recommend .time {
		font-size: min(6vw, 30px);
		padding: min(2vw, 10px) 0 min(1vw, 5px);
	}
	.saunaPriceList .priceOfMinuts .recommend .time span {
		font-size: min(4vw, 20px);
	}
	.saunaPriceList .priceOfMinuts .recommend .price {
		font-size: min(6vw, 30px);
	}
	.saunaPriceList .priceOfMinuts .recommend .price span {
		font-size: min(4vw, 20px);
	}
	.saunaGallery {
		margin-top: min(13.4vw, 67px);
	}
	.saunaGallery h2 {
		font-size: min(4.8vw, 24px);
	}
	.information.sauna {
		margin-top: min(6vw, 40px);
	}
	.information.sauna .contentWrap {
		padding: min(10vw, 50px) min(6vw, 60px) min(6vw, 30px);
	}
	.information.sauna h2 {
		font-size: min(4.8vw, 24px);
	}
	.information.sauna ul {
		margin-top: min(8vw, 60px);
	}
	.information.sauna li {
		display: block;
		gap: 0 56px;
		padding-bottom: min(4.4vw, 22px);
	}
	.information.sauna li:not(:first-child) {
		margin-top: min(5.6vw, 28px);
	}
	.information.sauna li .date {
		font-size: min(2.8vw, 14px);
		width: 100%;
	}
	.information.sauna li .category {
		font-size: min(2.8vw, 14px);
		width: 100%;
	}
	.information.sauna li .title {
		font-size: min(3.6vw, 16px);
		width: 100%;
    	margin-top: min(3vw, 15px);
	}
	.information.sauna .moreBtn {
		margin-bottom: min(12vw, 80px);
	}
	.access.sauna {
		margin-top: min(17.8vw, 89px);
	}
	.access.sauna h2 {
		font-size: min(4.8vw, 24px);
		margin-bottom: min(11.8vw, 59px);
	}
	.access.sauna .accessWrap {
		display: block;
		gap: 0 min(11.8vw, 59px);
	}
	.access.sauna .gMap {
		margin-bottom: min(2.8vw, 14px);
		width: 100%;
    padding-top: 58%;
    position: relative;
	}
	.access.sauna .gMap iframe {
		position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
	}
	.access.sauna .accessTxt {
		margin-top: min(4.8vw, 24px);
	}
	.access.sauna .accessTxt h3 {
		font-size: min(4.2vw, 18px);
	}
	.access.sauna .accessTxt span {
		font-size: min(3.2vw, 16px);
	}
	.access.sauna .accessTxt .address {
		font-size: min(3.2vw, 16px);
		margin: min(10vw, 50px) 0 min(2vw, 10px);
	}
	.access.sauna .accessTxt .tel {
		font-size: min(2.8vw, 14px);
		padding-bottom: min(4vw, 20px);
	}
	.access.sauna .tel strong {
		font-size: min(4vw, 20px);
		margin-left: min(4vw, 20px);
	}
	.access.sauna .businessHours {
		margin-top: min(4vw, 20px);
		padding-bottom: min(8.8vw, 44px);
	}
	.access.sauna .businessHours h4 {
		margin-top: min(3.2vw, 16px);
	}
	.access.sauna .hourLilst {
		margin-top: min(5.2vw, 26px);
	}
	.access.sauna .hourLilst {
		gap: 0 min(8vw, 60px);
	}
	.access.sauna .moreBtn {
		margin: min(6vw, 30px) auto 0 auto;
	}

    .saunaVillageBox a {
        flex-direction: column;
    }
    .saunaVillageBox a .pic {
        width: 100%;
    }
    .saunaVillageBox a .txt {
        width: 100%;
        padding: min(5vw, 25px);
        box-sizing: border-box;
    }
}


.fitnessWrap:first-child {
	margin-top: 30px;
}
.fitnessWrap:not(:first-child) {
	margin-top: 72px;
}
.fitnessWrap h3 {
	font-size: 24px;
}
.fitnessWrap .lead {
	font-size: 16px;
	margin: 26px 0;
}
.fitnessWrap ul {
	display: flex;
	/* align-items: flex-start; */
	flex-wrap: wrap;
}
.fitnessWrap > ul > li {
	width: calc(94% / 3);
	/* margin-right: 3%; */
}
.fitnessWrap li {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}
/* .fitnessWrap li:nth-child(3n) {
	margin-right: 0;
} */
/* .fitnessWrap li:nth-child(n+4) {
	margin-top: 40px;
} */

.fitnessWrap li .slick-dotted.slick-slider {
	margin-bottom: 0;
}

.fitnessWrap li .pic {
	border-radius: 8px;
	line-height: 0;
	overflow: hidden;
}

.fitnessWrap li .slick-dots {
	bottom: 20px;
}

.fitnessWrap li a {
	display: inline-block;
	width: 100%;
}
.fitnessWrap li figure {
	padding-top: 75%;
	line-height: 0;
	position: relative;
	border-radius: 8px;
	overflow: hidden;
	width: 100%;
}
.fitnessWrap li figure img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.fitnessWrap li .infoList {
	margin: 25px 0 15px;
}

.fitnessWrap li h4 {
	margin: 15px 0;
	font-size: min(3.6vw, 17px);
}
.fitnessWrap li p {
	font-size: min(3.4vw, 14px);
}
.fitnessWrap li p.alignH {
	flex: 1;
	height: 100%;
	min-height: 0%;
	display: flex;
}
.activity .fitnessWrap {
	margin-top: 0;
}
.fitnessWrap .activityWrap li > div {
	width: 100%;
	border: #ddd solid 1px;
	border-radius: 8px;
	overflow: hidden;
}
.fitnessWrap .activityWrap li div > figure,
.fitnessWrap .activityWrap li a {
	margin-bottom: min(1vw, 10px);
}
.fitnessWrap .activityWrap li figure {
	border-radius: 0;
}
.fitnessWrap .activityWrap li .textWrap {
	padding: 0 min(2vw, 16px) min(2.5vw, 20px);
}
.fitnessWrap .activityWrap li h4 {
	margin: 0;
}
.fitnessWrap .activityWrap li .area {
	color: #bd8f61;
}
.fitnessWrap .activityWrap li p.alignH {
	font-size: min(3vw, 14px);
	margin-top: min(2vw, 10px);
}
.fitnessWrap .activityWrap.slider {
	margin: 0 40px;
}
.fitnessWrap .activityWrap.slider .slick-track {
  display: flex;
}
.fitnessWrap .activityWrap.slider .slick-slide {
  height: auto !important;
}
.fitnessWrap .activityWrap.slider .slick-slide > div,
.fitnessWrap .activityWrap.slider li,
.fitnessWrap .activityWrap.slider li > div {
	height: 100%;
}
.fitnessWrap .activityWrap.slider li {
	padding: 0 15px;
}
.fitnessWrap .activityWrap.slider .slick-next {
	background: url(../common/images/box_slide_next.png) no-repeat center center;
	background-size: contain;
	width: 60px;
	height: 60px;
	right: -80px;
}
.fitnessWrap .activityWrap.slider .slick-prev {
	background: url(../common/images/box_slide_prev.png) no-repeat center center;
	background-size: contain;
	width: 60px;
	height: 60px;
	left: -80px;
}
.fitnessWrap .activityWrap.slider .slick-next:before,
.fitnessWrap .activityWrap.slider .slick-prev:before {
	content: "";
}
.fitnessWrap .activityWrap.slider .slick-dots {
	justify-content: center;
	bottom: -22px;
}
.fitnessWrap .activityWrap.slider .slick-dots li {
	width: 8px;
	height: 8px;
	border-radius: 10px;
	overflow: hidden;
	padding: 0;
	margin: 0 5px;
}
.fitnessWrap .activityWrap.slider .slick-dots button {
	width: 8px;
	height: 8px;
	background-color: #ccc;
	padding: 0;
}
.fitnessWrap .activityWrap.slider .slick-dots .slick-active button {
	background-color: #000;
}
.fitnessWrap .activityWrap.slider .slick-dots button::before {
	content: unset;
}
section.poolSlider {
	background-color: #f2f2f2;
}
@media screen and (min-width: 821px) {
	.fitnessWrap > ul {
		gap: 40px 3%;
	}
}
@media screen and (max-width: 820px) {
		.fitnessWrap:first-child {
		margin-top: min(6vw, 30px);
	}
	.fitnessWrap:not(:first-child) {
		margin-top: min(14.4vw, 72px);
	}
	.fitnessWrap h3 {
		font-size: min(4.8vw, 24px);
	}
	.fitnessWrap .lead {
		font-size: min(3.2vw, 16px);
		margin: min(5.2vw, 26px) 0;
	}
	.fitnessWrap ul {
		flex-direction: column;
	}
	.fitnessWrap > ul > li,
	.fitnessWrap li {
		width: 100%;
	}
	.fitnessWrap li:not(:first-child) {
		margin-top: min(6vw, 40px);
	}
	.fitnessWrap li h4 {
		margin: min(2vw, 10px) 0 min(3vw, 15px);
		font-size: min(3.6vw, 18px);
	}
	.fitnessWrap li p {
		font-size: min(3vw, 15px);
	}
		.fitnessWrap .activityWrap > li {
		margin-right: 0;
		padding: 0 min(4vw, 20px);
	}
	.fitnessWrap .activityWrap.slider li {
		padding: 0 min(2vw, 10px);
	}
	.fitnessWrap .activityWrap.slider {
		margin: 0 calc(60px - min(6vw, 60px));
	}
	.fitnessWrap ul.activityWrap,
	.fitnessWrap ul.activityWrap ul {
		flex-direction: row;
	}
	.fitnessWrap .activityWrap.slider .slick-next {
		width: 40px;
		height: 40px;
		right: -45px;
	}
	.fitnessWrap .activityWrap.slider .slick-prev {
		width: 40px;
		height: 40px;
		left: -45px;
	}
	.fitnessWrap .activityWrap.slider .slick-next:before,
	.fitnessWrap .activityWrap.slider .slick-prev:before {
		display: none;
	}
}



#poolPrice h3 {
	font-size: min(4.2vw, 20px);
}
#poolPrice table {
	margin: 1em 0;
	width: 100%;
	border: 1px solid #dddddd;
  border-collapse: separate;
  border-spacing: 0;
  border-radius: min(2vw, 10px);
  overflow: hidden;
}
#poolPrice table th {
	background-color: #eff4f7;
}
#poolPrice table td {
	background-color: #fff;
	font-weight: bold;
}
#poolPrice table th,
#poolPrice table td {
	width: calc(100% / 3);
	text-align: center;
	font-size: min(3vw, 14px);
	line-height: 1.6;
	color: #000;
	padding: min(2vw, 10px) min(4vw, 16px);
	border-top: 1px solid #dddddd;
	border-right: 1px solid #dddddd;
}
#poolPrice table th:last-child,
#poolPrice table td:last-child {
	border-right: none;
}
#poolPrice table thead th {
	border-top: none;
}
/* #poolPrice table tr:last-child th,
#poolPrice table tr:last-child td {
  border-bottom: none;
} */
#poolPrice .note {
	font-size: min(3vw, 14px);
}
#poolPrice .note:has(+ .cautionWrap) {
	margin-bottom: 1em;
}
#poolPrice .cautionWrap {
	border: #dddddd solid 1px;
  border-radius: min(2vw, 10px);
	padding: min(3vw, 24px);
	margin-bottom: min(6vw, 32px);
}
#poolPrice .cautionWrap h4 {
	font-weight: bold;
	font-size: min(3.2vw, 15px);
}
#poolPrice .cautionWrap ul {
	list-style: none;
	padding-left: 1.2em;
	font-size: min(3vw, 14px);
}
#poolPrice .cautionWrap ul > li {
	text-indent: -1.2em;
	font-weight: normal;
	line-height: 1.4;
}
#poolPrice .cautionWrap ul > li + li {
	margin-top: 0.3em;
}
#poolPrice .cautionWrap ul > li:before {
	margin-right: 0.2em;
}
#poolPrice .cautionWrap ul > li:before {
	content: "・";
}
#poolPrice .btnWrap {
	margin: min(6vw, 60px) auto 0;
}
#poolPrice .btnWrap a {
	box-sizing: border-box;
	width: 270px;
	min-width: fit-content;
	display: block;
	background-color: #008dde;
	border: none;
	border-radius: 8px;
	color: #fff;
	text-align: center;
	font-size: min(3vw, 14px);
	line-height: 1.6;
	font-weight: bold;
	letter-spacing: 0.1em;
	text-decoration: none;
	padding: 15px 10px;
}