@charset "UTF-8";

/* ----------------------------------------------------
 header
---------------------------------------------------- */
header {
	background: #fff;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 30px 50px;
}

header a {
	width: 200px;
}
header a:nth-of-type(2) {
	width: 150px;
}

@media screen and (max-width: 768px) {
	header {
		padding: 18px 20px;
	}
	header a {
		width: 36.5%;
	}
	header a:nth-of-type(2) {
		width: 34%;
	}
}

/* ----------------------------------------------------
 contents
---------------------------------------------------- */
.contents {
	max-width: 1110px;
	margin: 100px auto 0;
	border-radius: 20px;
	background: #fff;
	box-shadow: 10px 10px 30px 0 rgba(0, 0, 0, 0.25);
	padding: 50px 0 100px;
	position: relative;
}

.contents h2 {
	margin: 0 auto;
}

.contents .restaurant-floor {
	text-align: center;
	font-size: min(2rem, 1.464vw);
	font-weight: 400;
	margin-top: 33px;
}

.contents .reservation-info {
	background: #E7E3CF;
	margin: 50px auto;
	padding: 20px 8.5% 20px;
	position: relative;
}

.contents .reservation-info .reservation-note {
	display: flex;
	justify-content: center;
	align-items: center;
	background: #fff;
	width: 203px;
	height: 30px;
	color: #C7373B;
	font-size: min(2rem, 1.464vw);
	font-weight: 600;
	margin-bottom: 18px;
}

.contents .reservation-info .business-hours {
	display: flex;
}

.contents .reservation-info .business-hours .label,
.contents .reservation-info .business-hours .time {
	font-size: min(2rem, 1.464vw);
	font-weight: 400;
}

.contents .reservation-info .business-hours .label {
	width: 86px;
}

.contents .reservation-info .special-benefits {
	margin-top: 50px;
}

.contents .reservation-info .special-benefits h3 {
	color: #C7373B;
	text-align: center;
	font-size: min(4rem, 2.928vw);
	font-weight: 900;
}

.contents .reservation-info .special-benefits .special-benefits-section {
	margin-top: 8px;
	color: #C7373B;
}

.contents .reservation-info .special-benefits .special-benefits-section .special-benefits-heading,
.contents .reservation-info .special-benefits .special-options .special-options-heading {
	display: flex;
	align-items: center;
	gap: 15px;
	font-size: min(3rem, 2.196vw);
	font-weight: 600;
}
.contents .reservation-info .special-benefits .special-benefits-section .special-benefits-heading::after,
.contents .reservation-info .special-benefits .special-options .special-options-heading::after {
	content: '';
	flex: 1;
	height: 2px;
	background: #C7373B;
}

.contents .reservation-info .special-benefits .special-benefits-section .special-benefits-list .special-benefits-item {
	font-size: min(1.8rem, 1.318vw);
	font-weight: 400;
}

.contents .reservation-info .special-benefits .special-options {
	margin-top: 25px;
	color: #C7373B;
	position: relative;
}
.contents .reservation-info .special-benefits .special-options::after {
	content: '';
	background: url(../img/itemD.webp) no-repeat;
	background-size: 100%;
	display: block;
	width: 348px;
	height: 136px;
	position: absolute;
	top: 20px;
	right: -50px;
}

.contents .reservation-info .special-benefits .special-options .special-options-list .special-options-item {
	display: flex;
	font-size: min(1.8rem, 1.318vw);
}

.contents .reservation-info .special-benefits .special-options .special-options-list .special-options-item .special-options-name {
	width: 290px;
}

.contents .reservation-info .special-benefits .special-options .special-options-list .special-options-item .special-options-price .note {
	font-size: min(1.8rem, 1.318vw);
}

.contents .course {
	max-width: 920px;
	margin: 100px auto 0;
}
.contents .course:nth-of-type(1) {
	margin: 0 auto;
}

.contents .course.typeB {
	border-radius: 20px;
	background:#FFDADB;
	padding: 50px;
}

.contents .course h3 {
	color: #C7373B;
	text-align: center;
	font-size: min(3rem, 2.196vw);
	font-weight: 600;
	margin-top: 40px;
}

.contents .course.typeB h3 {
	margin-top: 0;
}

.contents .course .course-price {
	text-align: center;
	font-size: min(2rem, 1.464vw);
	font-weight: 400;
	margin-top: 29px;
}

.contents .area-btn {
	margin-top: 100px;
}

.contents .area-btn .note {
	text-align: center;
	font-size: min(2rem, 1.464vw);
	font-weight: 400;
	margin-bottom: 50px;
}

.contents .area-btn a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 400px;
	height: 80px;
	margin: 0 auto;
	background: #EB5E37;
	border: 2px solid #DDC780;
	color: #fff;
	font-size: min(2rem, 1.464vw);
	font-weight: 600;
	line-height: 25px;
	position: relative;
}
.contents .area-btn a::after {
	content: '';
	background: url(../img/arrowA.svg) no-repeat;
	background-size: 100%;
	display: block;
	width: 16px;
	height: 23px;
	position: absolute;
	top: 50%;
	right: 20px;
	transform: translate(-50%, -50%);
}

.contents .course.typeB .img {
	margin-bottom: 43px;
}

.contents.itemB::after {
	content: '';
	background: url(../img/itemB.webp) no-repeat;
	background-size: 100%;
	display: block;
	width: 220px;
	height: 220px;
	position: absolute;
	bottom: -60px;
	right: -60px;
}

.contents.itemE::after {
	content: '';
	background: url(../img/itemE.webp) no-repeat;
	background-size: 100%;
	display: block;
	width: 220px;
	height: 220px;
	position: absolute;
	bottom: -60px;
	left: -60px;
}

.contents .bgA,
.contents .bgA-2,
.contents .bgA-3 {
	content: '';
	background: url(../img/bg-itemA.webp) repeat-y;
	background-size: 100%;
	border-radius: 20px;
	display: block;
	width: 1110px;
	height: 2727px;
	position: absolute;
	top: 120px;
	right: -110px;
	z-index: -1;
}
.contents .bgA-2 {
	height: 1937px;
}
.contents .bgA-3 {
	height: 1867px;
}

.contents .bgB,
.contents .bgB-2 {
	content: '';
	background: url(../img/bg-itemA.webp) repeat-y;
	background-size: 100%;
	border-radius: 20px;
	display: block;
	width: 1110px;
	height: 3687px;
	position: absolute;
	top: 120px;
	left: -110px;
	z-index: -1;
}
.contents .bgB-2 {
	height: 2187px;
}

@media screen and (max-width: 768px) {
	.contents {
		margin: 53px auto 120px;
		border-radius: 0;
		box-shadow: none;
		padding: 47px 0 50px;
	}
	.contents .restaurant-floor {
		font-size: min(1.4rem, 3.733vw);
		margin-top: 20px;
	}
	.contents .reservation-info {
		margin: 40px auto;
		padding: 20px 44px 20px;
	}
	.contents .reservation-info .reservation-note {
		width: 154px;
		height: 30px;
		font-size: min(1.5rem, 4vw);
	}
	.contents .reservation-info .business-hours .label,
	.contents .reservation-info .business-hours .time {
		font-size: min(1.6rem, 4.267vw);
	}
	.contents .reservation-info .business-hours .label {
		width: 72px;
	}
	.contents .reservation-info .special-benefits {
		margin-top: 23px;
	}
	.contents .reservation-info .special-benefits h3 {
		font-size: min(2rem, 5.333vw);
	}
	.contents .reservation-info .special-benefits .special-benefits-section .special-benefits-heading,
	.contents .reservation-info .special-benefits .special-options .special-options-heading {
		font-size: min(2rem, 5.333vw);
		margin-bottom: 5px;
	}
	.contents .reservation-info .special-benefits .special-benefits-section .special-benefits-list .special-benefits-item {
		font-size: min(1.5rem, 4vw);
	}

	.contents .reservation-info .special-benefits .special-options {
		margin-top: 25px;
		color: #C7373B;
		position: relative;
	}
	.contents .reservation-info .special-benefits .special-options::after {
		display: none;
	}
	.contents .reservation-info .special-benefits .special-options .special-options-list .special-options-item {
		display: flex;
		font-size: min(1.5rem, 4vw);
	}
	.contents .reservation-info .special-benefits .special-options .special-options-list .special-options-item .special-options-name {
		width: 80%;
	}
	.contents .reservation-info .special-benefits .special-options .special-options-list .special-options-item .special-options-price {
		width: 20%;
	}
	.contents .reservation-info .special-benefits .special-options .special-options-list .special-options-item .special-options-price .note {
		font-size: min(1.2rem, 3.2vw);
		display: block;
		padding-left: 0;
		text-indent: 0;
		width: 75px;
	}
	.contents .course {
		margin: 50px auto 0;
	}
	.contents .course:nth-of-type(1) {
		margin: 0 auto;
	}
	.contents .course.typeB {
		border-radius: 0;
		padding: 20px 15px 30px;
	}
	.contents .course .img {
		margin: 0 15px;
	}
	.contents .course h3 {
		font-size: min(3rem, 8vw);
		margin-top: 23px;
	}
	.contents .course .course-price {
		font-size: min(1.5rem, 4vw);
		margin-top: 21px;
	}
	.contents .area-btn {
		margin-top: 50px;
	}
	.contents .area-btn .note {
		font-size: min(1.2rem, 3.2vw);
		margin-bottom: 50px;
	}
	.contents .area-btn a {
		width: 92%;
		height: 69px;
		font-size: min(2rem, 5.333vw);
	}
	.contents.itemB::after {
		width: 111px;
		height: 120px;
		bottom: -90px;
		right: 0;
	}
	.contents.itemE::after {
		width: 111px;
		height: 120px;
		bottom: -90px;
		left: 0;
	}
	.contents .bgA,
	.contents .bgA-2,
	.contents .bgA-3 {
		border-radius: 0;
		width: 100%;
		height: 103%;
		top: 0;
		right: 0;
	}
	.contents .bgA-2 {
		height: 104%;
	}
	.contents .bgA-3 {
		height: 103%;
	}
	.contents .bgB,
	.contents .bgB-2 {
		border-radius: 0;
		width: 100%;
		height: 102.5%;
		top: 0;
		left: 0;
	}
	.contents .bgB-2 {
		height: 102.5%;
	}
}

/*--- shibazakura ---*/
#shibazakura.contents::before {
	content: '';
	background: url(../img/itemC.webp) no-repeat;
	background-size: 100%;
	display: block;
	width: 245px;
	height: 245px;
	position: absolute;
	top: -130px;
	left: -100px;
	z-index: -1;
}

#shibazakura.contents h2 {
	width: 181px;
}

@media screen and (max-width: 768px) {
	#shibazakura.contents::before {
		display: none;
	}
	#shibazakura.contents h2 {
		width: 90px;
	}
}

/*--- youmeiden ---*/
#youmeiden.contents h2 {
	width: 246px;
}

#youmeiden.contents .reservation-info {
	padding: 20px 8.5% 57px;
}

@media screen and (max-width: 768px) {
	#youmeiden.contents h2 {
		width: 123px;
	}
	#youmeiden.contents .reservation-info {
		padding: 20px 44px 20px;
	}
}

/*--- brise ---*/
#brise.contents h2 {
	width: 306px;
}

@media screen and (max-width: 768px) {
	#brise.contents h2 {
		width: 153px;
	}
	#brise.contents .reservation-info .note {
		margin-top: 10px;
	}
}

/*--- tenshiba ---*/
#tenshiba.contents h2 {
	width: 188px;
}

@media screen and (max-width: 768px) {
	#tenshiba.contents h2 {
		width: 94px;
	}
}

/*--- hamashiba ---*/
#hamashiba.contents h2 {
	width: 167px;
}

@media screen and (max-width: 768px) {
	#hamashiba.contents h2 {
		width: 83px;
	}
}


/* ----------------------------------------------------
 contentsB
---------------------------------------------------- */
.contentsB {
	max-width: 1110px;
	margin: 100px auto 0;
	padding: 50px 8% 100px;
	border-radius: 20px;
	background: #E7E3CF;
	box-shadow: 10px 10px 30px 0 rgba(0, 0, 0, 0.25);
	position: relative;
}
.contentsB::after {
	content: '';
	background: url(../img/itemF.webp) no-repeat;
	background-size: 100%;
	display: block;
	width: 410px;
	height: 220px;
	position: absolute;
	bottom: 0px;
	right: 0px;
}

.contentsB h2 {
	color: #C7373B;
	text-align: center;
	font-size: min(4rem, 2.928vw);
	font-weight: 900;
}

.contentsB .description {
	color: #C7373B;
	text-align: center;
	font-size: min(2rem, 1.464vw);
	font-weight: 900;
	margin-top: 20px;
}

.contentsB .note.typeB {
	text-align: center;
	margin-top: 10px;
}

.contentsB .slide {
	margin-top: 44px;
}

.contentsB .private-room-list {
	margin-top: 30px;
}

.contentsB .private-room-list .private-room-restaurant {
	margin-top: 51px;
}
.contentsB .private-room-list .private-room-restaurant:nth-of-type(1) {
	margin-top: 0;
}

.contentsB .private-room-list .private-room-restaurant h3 {
	display: flex;
	align-items: center;
	gap: 15px;
	color: #C7373B;
	font-size: min(2.5rem, 1.83vw);
	font-weight: 900;
}
.contentsB .private-room-list .private-room-restaurant h3::after {
	content: '';
	flex: 1;
	height: 2px;
	background: #C7373B;
}

.contentsB .private-room-list .private-room-restaurant .private-room-items {
	display: flex;
	margin-top: 10px;
}

.contentsB .private-room-list .private-room-restaurant .private-room-items li {
	width: 50%;
}

.contentsB .private-room-list .private-room-restaurant .private-room-items li h4 {
	display: flex;
	align-items: center;
	font-size: min(2rem, 1.464vw);
	font-weight: 900;
}
.contentsB .private-room-list .private-room-restaurant .private-room-items li h4::before {
	content: '◼︎';
	color: #C7373B;
	font-size: min(3rem, 2.196vw);
	line-height: 0;
}

.contentsB .private-room-list .private-room-restaurant .private-room-items li .private-room-info {
	font-size: min(2rem, 1.464vw);
	font-weight: 400;
	margin-left: 26px;
}

.contentsB .private-room-list .area-wrap {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
}

.contentsB .private-room-list .area-wrap .private-room-restaurant.typeB {
	width: 47%;
}

.contentsB .private-room-list .area-wrap .private-room-restaurant.typeB .private-room-items.typeB {
	display: block;
}

.contentsB .private-room-list .area-wrap .private-room-restaurant.typeB .private-room-items.typeB li {
	width: 100%;
}

.contentsB .private-room-list .private-room-restaurant .private-room-items.typeC {
    display: block;
}

.contentsB .private-room-list .private-room-restaurant .private-room-items.typeC li {
    width: auto;
}

.contentsB .private-room-list .private-room-restaurant .private-room-items.typeC .note.typeC {
	margin-top: 10px;
	margin-left: 26px;
}

.contentsB .private-room-list .private-room-restaurant .private-room-items.typeC .private-room-info.typeB {
	display: flex;
	margin-top: 10px;
}

.contentsB .private-room-list .private-room-restaurant .private-room-items.typeC .private-room-info.typeB li:first-child {
	color: #C7373B;
}

.contentsB .private-room-list .private-room-restaurant .private-room-items.typeC .private-room-info.typeB .private-room-fee-row {
	display: flex;
}

.contentsB .private-room-list .private-room-restaurant .private-room-items.typeC .private-room-info.typeB .private-room-fee-row p:first-child {
	width: 210px;
}

.contentsB .private-room-list .private-room-restaurant .private-room-items.typeC .private-room-info.typeB .private-room-fee-row p:nth-of-type(2) {
	width: 120px;
}

.contentsB .private-room-list .private-room-restaurant .private-room-items.typeD .private-room-capacity {
	display: flex;
	font-size: min(2rem, 1.464vw);
	font-weight: 400;
	margin-left: 26px;
}

.contentsB .private-room-list .private-room-restaurant .private-room-items.typeD .private-room-fee {
	font-size: min(2rem, 1.464vw);
	font-weight: 400;
	margin-left: 26px;
}

@media screen and (max-width: 768px) {
	.contentsB {
		margin: 100px 15px 0;
		padding: 50px 0 60px;
		box-shadow: 10px 10px 8px 0 rgba(0, 0, 0, 0.25);
	}
	.contentsB::after {
		width: 210px;
		height: 112px;
		bottom: -40px;
	}
	.contentsB h2 {
		font-size: min(2rem, 5.333vw);
		font-weight: 800;
	}
	.contentsB .description {
		font-size: min(1.4rem, 3.733vw);
		font-weight: 800;
		margin-top: 10px;
	}
	.contentsB .slide {
		margin-top: 30px;
	}
	.contentsB .private-room-list {
		padding: 0 20px;
	}
	.contentsB .private-room-list .private-room-restaurant {
		margin-top: 20px;
	}
	.contentsB .private-room-list .private-room-restaurant:nth-of-type(1) {
		margin-top: 0;
	}
	.contentsB .private-room-list .private-room-restaurant h3 {
		gap: 0;
		font-size: min(1.6rem, 4.267vw);
		font-weight: 800;
	}
	.contentsB .private-room-list .private-room-restaurant h3.typeB::after {
		margin-bottom: 20px;
	}
	.contentsB .private-room-list .private-room-restaurant .private-room-items {
		display: block;
		margin-top: 10px;
	}
	.contentsB .private-room-list .private-room-restaurant .private-room-items li {
		width: 100%;
	}
	.contentsB .private-room-list .private-room-restaurant .private-room-items li h4 {
		font-size: min(1.4rem, 3.733vw);
		font-weight: 800;
	}
	.contentsB .private-room-list .private-room-restaurant .private-room-items li h4::before {
		font-size: min(1.9rem, 5.067vw);
	}
	.contentsB .private-room-list .private-room-restaurant .private-room-items li .private-room-info {
		font-size: min(1.4rem, 3.733vw);
		font-weight: 400;
		margin-left: 18px;
	}
	.contentsB .private-room-list .area-wrap {
		display: block;
		margin-top: 20px;
	}
	.contentsB .private-room-list .area-wrap .private-room-restaurant.typeB {
		width: 100%;
	}
	.contentsB .private-room-list .private-room-restaurant .private-room-items.typeC .note.typeC {
		margin-top: 5px;
		margin-left: 18px;
	}
	.contentsB .private-room-list .private-room-restaurant .private-room-items.typeC .private-room-info.typeB {
		display: block;
		margin-top: 10px;
	}
	.contentsB .private-room-list .private-room-restaurant .private-room-items.typeC .private-room-info.typeB .private-room-fee-row {
		display: block;
	}
	.contentsB .private-room-list .private-room-restaurant .private-room-items.typeC .private-room-info.typeB .private-room-fee-row p:first-child {
		width: 100%;
	}
	.contentsB .private-room-list .private-room-restaurant .private-room-items.typeC .private-room-info.typeB .private-room-fee-row p:nth-child(2) {
		margin-left: 15px;
		margin-bottom: 6px;
	}
	.contentsB .private-room-list .private-room-restaurant .private-room-items.typeD .private-room-capacity {
		font-size: min(1.4rem, 3.733vw);
	}
	.contentsB .private-room-list .private-room-restaurant .private-room-items.typeD .private-room-fee {
		font-size: min(1.4rem, 3.733vw);
	}
}

/* ----------------------------------------------------
 contentsC
---------------------------------------------------- */
.contentsC {
	max-width: 1110px;
	margin: 100px auto 0;
	background: #fff;
	color:#C7373B;
	text-align: center;
	position: relative;
}
.contentsC::before {
	content: '';
	background: url(../img/itemG.webp) no-repeat;
	background-size: 100%;
	display: block;
	width: 220px;
	height: 300px;
	position: absolute;
	top: 50%;
	left: -50px;
	transform: translate(0, -50%);
}
.contentsC::after {
	content: '';
	background: url(../img/itemH.webp) no-repeat;
	background-size: 100%;
	display: block;
	width: 220px;
	height: 300px;
	position: absolute;
	top: 50%;
	right: -50px;
	transform: translate(0, -50%);
}

.contentsC h2 {
	font-size: min(4rem, 2.928vw);
	font-weight: 700;
	margin-top: 49px;
}

.contentsC .txt {
	font-size: min(2.5rem, 1.83vw);
	font-weight: 700;
	margin: 30px auto 50px;
}

@media screen and (max-width: 768px) {
	.contentsC {
		margin: 70px auto 0;
	}
	.contentsC::before {
		width: 70px;
		height: 100px;
		top: 30px;
		left: 0;
	}
	.contentsC::after {
		width: 70px;
		height: 100px;
		top: auto;
		bottom: -70px;
		right: 0;
	}
	.contentsC h2 {
		font-size: min(2rem, 5.333vw);
		margin-top: 30px;
	}
	.contentsC .txt {
		font-size: min(1.5rem, 4vw);
		margin: 20px auto 33px;
	}
}

/* ----------------------------------------------------
 contentsD
---------------------------------------------------- */
.contentsD {
	background: url(../img/bg-options.webp) no-repeat;
	background-size: cover;
	margin-top: 106px;
	padding: 43px 0 56px;
	color: #fff;
}

.contentsD h2 {
	text-align: center;
	font-size: min(4rem, 2.928vw);
	font-weight: 800;
}

.contentsD .option-section {
	max-width: 770px;
	margin: 0 auto;
}

.contentsD .option-section .option-content {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: 30px;
}

.contentsD .option-section .option-content h3 {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 226px;
	height: 60px;
	border: 2px solid #FFF;
	font-size: min(3rem, 2.196vw);
	font-weight: 800;
}

.contentsD .option-section .option-content .option-price-list ul {
	display: flex;
}

.contentsD .option-section .option-content .option-price-list ul li {
	font-size: min(2rem, 1.464vw);
}

.contentsD .option-section .option-content .option-price-list ul li:first-child {
	margin-right: 30px;
}

.contentsD .option-section .area-note {
	margin-top: 14px;
}

.contentsD .option-section .area-note .note {
	display: inline;
}
.contentsD .option-section .area-note .note:first-child {
	padding-left: 0;
}

.contentsD .option-section .option-heading {
	border: 2px solid #FFF;
	text-align: center;
	font-size: min(3rem, 2.196vw);
	font-weight: 800;
	padding: 7px 0;
	margin-top: 30px;
}

.contentsD .option-section .beauty-list {
	display: flex;
	justify-content: space-between;
	margin-top: 30px;
}

.contentsD .option-section .beauty-list .beauty-category {
	width: 44%;
	font-size: min(2rem, 1.464vw);
}

.contentsD .option-section .beauty-list .beauty-category ul {
	display: flex;
}

.contentsD .option-section .beauty-list .beauty-category ul li:nth-of-type(1) {
	width: 100px;
}
.contentsD .option-section .beauty-list .beauty-category ul li:nth-of-type(2) {
	width: 135px;
}
.contentsD .option-section .beauty-list .beauty-category ul li:nth-of-type(3) {
	width: 100px;
	text-align: right;
}

.contentsD .option-section .area-noteB {
	margin-top: 23px;
}

@media screen and (max-width: 768px) {
	.contentsD {
		background: url(../img/bg-options_sp.webp) ;
		background-size: 100%;
		margin-top: 50px;
		padding: 50px 0;
	}
	.contentsD h2 {
		font-size: min(4rem, 10.667vw);
	}
	.contentsD .option-section {
		padding: 0 40px;
	}
	.contentsD .option-section .option-content {
		display: block;
		margin-top: 18px;
	}
	.contentsD .option-section .option-content h3 {
		width: 100%;
		height: 40px;
		margin: 0 auto;
		font-size: min(2rem, 5.333vw);
	}
	.contentsD .option-section .option-content .option-price-list {
		margin-top: 20px;
	}
	.contentsD .option-section .option-content .option-price-list ul {
		align-items: end;
	}
	.contentsD .option-section .option-content .option-price-list ul li {
		font-size: min(1.5rem, 4vw);
	}
	.contentsD .option-section .option-content .option-price-list ul li:first-child {
		margin-right: 30px;
	}
	.contentsD .option-section .area-note {
		margin-top: 14px;
	}
	.contentsD .option-section .area-note .note {
		display: block;
	}
	.contentsD .option-section .area-note .note:first-child {
		padding-left: 1em;
	}
	.contentsD .option-section .option-heading {
		font-size: min(2rem, 5.333vw);
	}
	.contentsD .option-section .beauty-list {
		display: block;
		margin-top: 30px;
	}
	.contentsD .option-section .beauty-list .beauty-category {
		width: 100%;
		font-size: min(1.5rem, 4vw);
	}
	.contentsD .option-section .beauty-list .beauty-category:nth-of-type(2) {
		margin-top: 27px;
	}
}

/* ----------------------------------------------------
 footer
---------------------------------------------------- */
footer {
	padding: 122px 0 30px;
}

footer h2 {
	color: #C7373B;
	text-align: center;
	font-size: min(2rem, 1.464vw);
	font-weight: 800;
	padding-bottom: 10px;
	border-bottom: 2px solid #C7373B;
}

footer .information,
footer .contact {
	max-width: 920px;
	margin: 0 auto;
}

footer .information .area-note {
	margin-top: 30px;
}

footer .contact {
	margin-top: 47px;
}

footer .contact .contact-item {
	text-align: center;
	margin-top: 50px;
}
footer .contact .contact-item:nth-of-type(1) {
	margin-top: 30px;
}

footer .contact .contact-item .contact-name {
	font-size: min(1.8rem, 1.318vw);
	font-weight: 500;
}

footer .contact .contact-item .contact-tel {
	font-size: min(1.8rem, 1.318vw);
	font-weight: 800;
	margin-top: 5px;
}

footer .contact .contact-item .contact-tel a {
	color: #C7373B;
	font-size: min(3rem, 2.196vw);
	font-weight: 800;
}

footer .contact .contact-item .contact-hours {
	font-size: min(1.8rem, 1.318vw);
	font-weight: 500;
	margin-top: 10px;
}

footer .contact .area-line {
	text-align: center;
	margin-top: 54px;
}

footer .contact .area-line .txt {
	color: #06C755;
	font-size: min(2.4rem, 1.757vw);
	font-weight: 600;
}

footer .contact .area-line .txt span {
	display: block;
	font-size: min(1.6rem, 1.171vw);
}

footer .contact .area-line .logo {
	width: 80px;
	margin: 22px auto 0;
}

footer .contact .area-line .item {
	width: 340px;
	margin: 32px auto 0;
}

footer .contact .hotel-info {
	margin-top: 99px;
}

footer .contact .hotel-info .hotel-logo {
	width: 172px;
	margin: 0 auto;
}

footer .contact .hotel-info .hotel-name {
	text-align: center;
	font-size: min(2.4rem, 1.757vw);
	font-weight: 600;
	margin-top: 29px;
}

footer .contact .hotel-info .area-sns {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top: 19px;
}

footer .contact .hotel-info .area-sns a {
	display: block;
	width: 37px;
	margin: 0 11px;
}

footer .contact .hotel-info .hotel-address {
	text-align: center;
	font-size: min(1.6rem, 1.171vw);
	font-weight: 500;
	margin-top: 24px;
}

footer .contact .hotel-info .hotel-address a {
	color: #000;
}

footer .contact .hotel-link {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top: 100px;	
}

footer .contact .hotel-link a {
	display: block;
	color: #000;
	font-family: var(--notoSaJP);
	font-size: min(1.7rem, 1.245vw);
	line-height: 27px;
}
footer .contact .hotel-link a::before,
footer .contact .hotel-link a::after {
	content: '｜';
	padding: 0 20px;
}
footer .contact .hotel-link a:first-child:after {
	display: none;
}

footer .contact .copy {
	text-align: center;
	font-family: var(--notoSaJP);
	font-size: min(1.1rem, 0.805vw);
	line-height: 27px;
	margin-top: 10px;
}

@media screen and (max-width: 768px) {
	footer {
		padding: 42px 0 28px;
	}
	footer h2 {
		font-size: min(2rem, 5.333vw);
	}
	footer .information,
	footer .contact {
		padding: 0 40px;
	}
	footer .information .area-note {
		margin-top: 20px;
	}
	footer .contact {
		margin-top: 20px;
	}
	footer .contact .contact-item {
		margin-top: 30px;
	}
	footer .contact .contact-item:nth-of-type(1) {
		margin-top: 15px;
	}
	footer .contact .contact-item .contact-name {
		font-size: min(1.4rem, 3.733vw);
	}
	footer .contact .contact-item .contact-tel {
		font-size: min(1.4rem, 3.733vw);
	}
	footer .contact .contact-item .contact-tel a {
		font-size: min(2rem, 5.333vw);
	}
	footer .contact .contact-item .contact-hours {
		font-size: min(1.4rem, 3.733vw);
	}
	footer .contact .area-line {
		margin-top: 40px;
	}
	footer .contact .area-line .txt {
		font-size: min(2.4rem, 6.4vw);
	}
	footer .contact .area-line .txt span {
		font-size: min(1.6rem, 4.267vw);
	}
	footer .contact .area-line .item {
		width: 100%;
	}
	footer .contact .hotel-info {
		margin-top: 50px;
	}
	footer .contact .hotel-info .hotel-name {
		font-size: min(1.6rem, 4.267vw);
	}
	footer .contact .hotel-info .hotel-address {
		font-size: min(1.5rem, 4vw);
		margin-top: 24px;
	}
	footer .contact .hotel-link {
		display: block;
		margin-top: 50px;	
	}
	footer .contact .hotel-link a {
		font-size: min(1.6rem, 4.267vw);
		text-align: center;
	}
	footer .contact .hotel-link a::before,
	footer .contact .hotel-link a::after {
		content: '｜';
		padding: 0 7px;
	}
	footer .contact .hotel-link a:first-child:after {
		display: inline;
	}
	footer .contact .copy {
		font-size: min(1.1rem, 2.933vw);
		line-height: 20px;
		margin-top: 20px;
		letter-spacing: 0;
	}
}