@charset "UTF-8";

/* ----------------------------------------------------
 kv
---------------------------------------------------- */
.kv {
	opacity: 0;
	animation: fadeIn 4s ease forwards;
}

@keyframes fadeIn {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

/* ----------------------------------------------------
 bg-colorA
---------------------------------------------------- */
.bg-colorA {
	position: relative;
	background: url("../img/bgA.webp") center top / cover no-repeat fixed;
}

.area-item {
	position: sticky;
	top: 0;
	width: 100%;
	pointer-events: none;
	z-index: 1;
}

.itemC {
	position: absolute;
	top: 20px;
	left: 20px;
	width: 300px;
}

.itemB {
	position: absolute;
	right: 20px;
	bottom: -100vh;
	width: 300px;
}

.itemC img,
.itemB img {
	display: block;
	width: 100%;
}

@media screen and (max-width: 768px) {
	.itemC {
		top: 0px;
		left: 10px;
		width: 160px;
	}
	.itemB {
		right: 10px;
		bottom: -100vh;
		width: 160px;
	}
}

/* ----------------------------------------------------
 lead
---------------------------------------------------- */
.lead {
	max-width: 1140px;
	margin: 0 auto;
	padding-top: 40px;
	position: relative;
	z-index: 20;
}
.lead::before {
	content: '';
	background: url(../img/frame-top.webp) no-repeat;
	background-size: 100%;
	display: block;
	width: 100%;
	height: 135px;
}
.lead::after {
	content: '';
	background: url(../img/frame-bottom.webp) no-repeat;
	background-size: 100%;
	display: block;
	width: 100%;
	height: 135px;
	position: relative;
	top: -90px;
}

.lead .logo {
	width: 861px;
	margin: 0 auto;
	position: relative;
	top: -70px;
}

.lead .event-date {
	color: #DBB164;
	font-family: var(--hiragino);
	font-size: min(4rem, 2.928vw);
	font-weight: 600;
	text-align: center;
}

.lead .reservation-date {
	display: flex;
	justify-content: center;
	align-items: center;
	background: #DBB164;
	width: 528px;
	height: 45px;
	margin: 16px auto 0;
	font-size: min(1.6rem, 1.171vw);
	font-weight: 500;
	letter-spacing: 0.64px;
}

.lead .txt {
	text-align: center;
	font-size: min(2rem, 1.464vw)s;
	font-weight: 400;
	line-height: 30px;
	margin-top: 56px;
}

.lead .item {
	width: 265px;
	margin: 41px auto 0;
	position: relative;
}

.lead .item::after {
	content: '';
	background: url(../img/lead-itemB.webp) no-repeat;
	background-size: 100%;
	display: block;
	width: 221px;
	height: 143px;
	position: absolute;
	top: 0;
	right: -330px;
}

.lead .stay-plan {
	max-width: 699px;
	margin: 60px auto 68px;
	text-align: center;
}

.lead .stay-plan .stay-plan__condition {
	font-size: min(2rem, 1.464vw);
	font-weight: 400;
	line-height: 30px;
}

.lead .stay-plan .stay-plan__price-box {
	margin-top: 58px;
}

.lead .stay-plan .stay-plan__price-box:nth-of-type(1) {
	margin-top: 30px;
}

.lead .stay-plan .stay-plan__price-box .stay-plan__member-title {
	font-size: min(2rem, 1.464vw);
	font-weight: 400;
	line-height: 30px;
	margin-bottom: 20px;
}

.lead .stay-plan .stay-plan__price-box .stay-plan__price {
	font-size: min(3rem, 2.196vw);
	font-weight: 500;
	line-height: 38px;
}

.lead .stay-plan .area-note {
	border-top: 1px solid #fff;
	margin: 68px auto 56px;
	padding-top: 22px;
	text-align: left;
}

.lead .stay-plan .area-note .note {
	line-height: 17px;
	letter-spacing: 0;
}

.lead .stay-plan .stay-plan__membership {
	border: 1px solid #fff;
	padding: 35px 0 56px;
}

.lead .stay-plan .stay-plan__membership .stay-plan__membership-title{
	font-size: min(2rem, 1.464vw);
	font-weight: 500;
	line-height: 17px;
}

.lead .stay-plan .stay-plan__membership .stay-plan__membership-text {
	font-size: min(1.6rem, 1.171vw);
	font-weight: 400;
	line-height: 24px;
	margin-top: 25px;
}

.lead .stay-plan .stay-plan__membership a {
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 35px;
	background: #DBB164;
	width: 385px;
	height: 70px;
	margin: 38px auto 0;
	color: #631C1C;
	font-size: min(1.6rem, 1.171vw);
	font-weight: 500;
	line-height: 17px;
	position: relative;
}
.lead .stay-plan .stay-plan__membership a::after {
	content: '';
	background: url(../img/arrow-A.svg) no-repeat;
	background-size: 100%;
	display: block;
	width: 10px;
	height: 14px;
	position: absolute;
	top: 50%;
	right: 20px;
	transform: translate(-50%, -50%);
}

@media screen and (max-width: 768px) {
	.lead {
		padding: 40px 15px 0;
	}
	.lead::before {
		content: '';
		background: url(../img/frame-top_sp.webp) no-repeat;
		background-size: 100%;
		width: 100%;
		height: 17vw;
	}
	.lead::after {
		content: '';
		background: url(../img/frame-bottom_sp.webp) no-repeat;
		background-size: 100%;
		width: 100%;
		height: 18vw;
		top: 0;
	}
	.lead .logo {
		width: 267px;
		top: -30px;
		z-index: 10;
	}
	.lead .event-date {
		font-size: min(2.4rem, 6.4vw);
		letter-spacing: 0;
	}
	.lead .reservation-date {
		width: 345px;
		height: 60px;
		margin: 16px auto 0;
		font-size: min(1.6rem, 4.267vw);
		text-align: center;
	}
	.lead .txt {
		text-align: center;
		font-size: min(1.8rem, 4.8vw);
		margin-top: 34px;
	}
	.lead .item {
		width: 185px;
		margin: 98px auto 0;
		position: relative;
	}
	.lead .item::after {
		width: 121px;
		height: 79px;
		position: absolute;
		top: -80px;
		right: -50px;
	}
	.lead .stay-plan {
		margin: 27px auto 20px;
	}

	.lead .stay-plan .stay-plan__condition {
		font-size: min(1.6rem, 4.267vw);
		line-height: 25px;
	}
	.lead .stay-plan .stay-plan__price-box .stay-plan__member-title {
		font-size: min(1.6rem, 4.267vw);
		line-height: 25px;
		margin-bottom: 5px;
	}
	.lead .stay-plan .stay-plan__price-box .stay-plan__price {
		font-size: min(2rem, 5.333vw);
		line-height: 25px;
		margin-bottom: 20px;
	}
	.lead .stay-plan .stay-plan__price-box .stay-plan__price:last-child {
		margin-bottom: 0;
	}
	.lead .stay-plan .stay-plan__price-box {
		margin-top: 50px;
	}
	.lead .stay-plan .area-note {
		margin: 40px auto 30px;
		padding-top: 22px;
	}
	.lead .stay-plan .stay-plan__membership {
		padding: 25px 0 30px;
	}
	.lead .stay-plan .stay-plan__membership .stay-plan__membership-title{
		font-size: min(2rem, 5.333vw);
		line-height: 25px;
	}
	.lead .stay-plan .stay-plan__membership .stay-plan__membership-text {
		font-size: min(1.6rem, 4.267vw);
	}
	.lead .stay-plan .stay-plan__membership a {
		width: 313px;
		height: 70px;
		margin: 16px auto 0;
		font-size: min(1.6rem, 4.267vw);
	}
}


/* ----------------------------------------------------
 stayplan
---------------------------------------------------- */
.stayplan {
	padding: 67px 0;
	position: relative;
	z-index: 20;
}

.stayplan h2 {
	color:#DBB164;
	text-align: center;
	font-family: var(--hiragino);
	font-size: min(4rem, 2.928vw);
	font-weight: 600;
}

.stayplan .room {
	margin-top: 50px;
}

.stayplan .room .txt {
	font-size: min(2rem, 1.464vw);
	font-weight: 300;
	text-align: center;
	line-height: 17px;
	margin: 30px 0;
}

.stayplan .room .room-icon {
	width: 149px;
	margin: 0 auto;
}

.stayplan .room .room-image {
	max-width: 1140px;
	margin: 16px auto 0;
	display: flex;
	justify-content: space-between;
	align-items: end;
	position: relative;
	z-index: 10;
}

.stayplan .room .room-image .img02 {
	margin-left: 18px;
}

.stayplan .room .room-image .img02 .img02-item {
	width: 264px;
	margin-bottom: 5px;
	margin-left: auto;
}

.stayplan .room .room-image .img02 .frame-txt {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 282px;
	height: 59.43px;
	background: url(../img/frame-txt.webp) no-repeat;
	background-size: 100%;
	font-size: min(1.4rem, 1.025vw);
	font-weight: 400;
	line-height: 20px;
}

.stayplan .room.typeB .room-image .img {
	order: 2;
	margin-left: -23px;
}

.stayplan .room.typeB .room-image .img02 {
	order: 1;
	margin-left: 0;
}

.stayplan .room.typeB .room-image .img02 .img02-item {
	width: 350px;
	margin-left: 0;
	position: relative;
	left: -30px;
}


.stayplan .room .area-btn {
	max-width: 796px;
	margin: 52px auto 0;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.stayplan .room .area-btn a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 385px;
	height: 70px;
	border-radius: 35px;
	background: #DBB164;
	color: #631C1C;
	text-align: center;
	font-size: min(1.6rem, 1.171vw);
	font-weight: 500;
	line-height: 20px;
	position: relative;
}
.stayplan .room .area-btn a::before {
	content: '';
	background: url(../img/btn-item.webp) no-repeat;
	background-size: 100%;
	display: block;
	width: 22px;
	height: 22px;
	position: absolute;
	top: 50%;
	left: 20px;
	transform: translate(-50%, -50%);
}
.stayplan .room .area-btn a::after {
	content: '';
	background: url(../img/btn-item.webp) no-repeat;
	background-size: 100%;
	display: block;
	width: 22px;
	height: 22px;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translate(-50%, -50%);
}
.stayplan .room .area-btn a:nth-of-type(1),
.stayplan .room .area-btn a:nth-of-type(2) {
	margin-bottom: 29px;
}

.stayplan .item {
	width: 265px;
	margin: 41px auto 0;
	position: relative;
}

.stayplan .area-note {
	max-width: 1140px;
	margin: 60px auto 0;
}

.stayplan .room .note.typeB {
	text-align: center;
}

@media screen and (max-width: 768px) {
	.stayplan {
		padding: 43px 15px;
	}
	.stayplan h2 {
		font-size: min(3.2rem, 8.533vw);
	}
	.stayplan .room {
		margin-top: 30px;
	}
	.stayplan .room .txt {
		font-size: min(1.8rem, 4.8vw);
		line-height: 23px;
	}
	.stayplan .room .room-image {
		max-width: 1140px;
		margin: 16px auto 0;
		display: block;
	}
	.stayplan .room .room-image .img02 {
		margin-left: 0;
	}
	.stayplan .room .room-image .img02 .img02-item {
		width: 244px;
		margin: 0 auto 10px;
	}
	.stayplan .room .room-image .img02 .frame-txt {
		margin: 0 auto;
		font-size: min(1.4rem, 3.733vw);
	}
	.stayplan .room.typeB .room-image .img02 .img02-item {
		width: 310px;
		margin: 10px auto;
		left: 0;
	}
	.stayplan .room .area-btn {
		margin: 28px auto 0;
	}
	.stayplan .room .area-btn a {
		width: 100%;
		font-size: min(1.4rem, 3.733vw);
	}
	.stayplan .room .area-btn a:nth-of-type(1),
	.stayplan .room .area-btn a:nth-of-type(2) {
		margin-bottom: 18px;
	}
	.stayplan .item {
		width: 185px;
		margin: 30px auto 0;
	}
	.stayplan .room.typeB .room-image .img {
		margin-left: 0;
	}
}


/* ----------------------------------------------------
 amenities
---------------------------------------------------- */
.amenities {
	margin-top: 50px;
	position: relative;
}

.amenities h3 {
	color: #DBB164;
	text-align: center;
	font-family: var(--hiragino);
	font-size: min(2.4rem, 1.757vw);
	font-weight: 300;
	line-height: 24px;
}

.amenities .note {
	text-align: center;
	margin-top: 23px;
}

.amenities .amenities-list {
	margin-top: 31px;
	position: relative;
	z-index: 10;
}

.amenities .amenities-list .amenities-list__box {
	width: 603px;
	margin: 0 auto;
	text-align: center;
}

.amenities .amenities-list .txt {
	text-align: center;
	font-size: min(1.6rem, 1.171vw);
	font-weight: 400;
	line-height: 17px;
	margin-top: 12px;
}

.amenities .amenities-list .amenities-list__grid {
	max-width: 1110px;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
	margin: 40px auto 0;
}

.amenities .amenities-list .amenities-list__grid .amenities-list__item:nth-of-type(1),
.amenities .amenities-list .amenities-list__grid .amenities-list__item:nth-of-type(2),
.amenities .amenities-list .amenities-list__grid .amenities-list__item:nth-of-type(3) {
	margin-bottom: 52px;
}

/* 画像サイズ */
.amenities .amenities-list .amenities-list__grid .amenities-list__item .imgA {
	display: block;
	width: 320px;
	margin: 0 auto;
	padding: 43px 0;
}
.amenities .amenities-list .amenities-list__grid .amenities-list__item .imgB {
	display: block;
	width: 356px;
	margin: 0 auto;
}
.amenities .amenities-list .amenities-list__grid .amenities-list__item .imgC {
	display: block;
	width: 215px;
	margin: 0 auto;
	padding: 57px 0;
}
.amenities .amenities-list .amenities-list__grid .amenities-list__item .imgD {
	display: block;
	width: 263px;
	margin: 0 auto;
}
.amenities .amenities-list .amenities-list__grid .amenities-list__item .imgE {
	display: block;
	width: 153px;
	margin: 0 auto;
	padding: 6px 0;
}
.amenities .amenities-list .amenities-list__grid .amenities-list__item .imgF {
	display: block;
	width: 356px;
	margin: 0 auto;
	padding: 9px 0;
}

.amenities .amenities-list .amenities-list__grid .amenities-list__item .txt {
	margin-top: 13px;
}

@media screen and (max-width: 768px) {
	.amenities {
		margin-top: 42px;
	}
	.amenities h3 {
		font-size: min(2.4rem, 6.4vw);
	}
	.amenities .amenities-list .amenities-list__box {
		width: 100%;
	}
	.amenities .amenities-list .txt {
		font-size: min(1.6rem, 4.267vw);
	}
	.amenities .amenities-list .amenities-list__grid {
		display: block;
	}
	.amenities .amenities-list .amenities-list__grid .amenities-list__item {
		margin-bottom: 52px;
	}

	.amenities .amenities-list .amenities-list__grid .amenities-list__item .imgA {
		width: 310px;
		padding: 20px 0 0;
	}
	.amenities .amenities-list .amenities-list__grid .amenities-list__item .imgB {
		width: 310px;
	}
	.amenities .amenities-list .amenities-list__grid .amenities-list__item .imgC {
		width: 215px;
		padding: 10px 0 0;
	}
	.amenities .amenities-list .amenities-list__grid .amenities-list__item .imgE {
		padding: 6px 0 0;
	}
	.amenities .amenities-list .amenities-list__grid .amenities-list__item .imgF {
		width: 310px;
		padding: 0;
	}
}


/* ----------------------------------------------------
 breakfast-benefit
---------------------------------------------------- */
.breakfast-benefit {
	max-width: 1140px;
	max-height: 680px;
	margin: 80px auto 0;
	position: relative;
	z-index: 10;
}
.breakfast-benefit::before {
	content: '';
	background: url(../img/frame-top.webp) no-repeat;
	background-size: 100%;
	display: block;
	width: 100%;
	height: 135px;
}
.breakfast-benefit::after {
	content: '';
	background: url(../img/frame-bottom.webp) no-repeat;
	background-size: 100%;
	display: block;
	width: 100%;
	height: 135px;
	position: relative;
	top: -190px;
}

.breakfast-benefit .img {
	width: 706px;
	margin: 0 auto;
	position: relative;
	top: -80px;
}

.breakfast-benefit .img figcaption,
.breakfast-benefit .img .txt {
	text-align: center;
	font-size: min(1.6rem, 1.171vw);
	font-weight: 400;
	line-height: 24px;
	margin-top: 8px;
}

.breakfast-benefit .img .note {
	text-align: center;
	margin-top: 18px;
}

@media screen and (max-width: 768px) {
	.breakfast-benefit {
		max-height: 130vw;
		margin: 34px auto 0;
	}
	.breakfast-benefit::before {
		content: '';
		background: url(../img/frame-top_sp.webp) no-repeat;
		background-size: 100%;
		display: block;
		width: 100%;
		height: 18vw;
	}
	.breakfast-benefit::after {
		content: '';
		background: url(../img/frame-bottom_sp.webp) no-repeat;
		background-size: 100%;
		display: block;
		width: 100%;
		height: 18vw;
		position: relative;
		top: -50px;
	}
	.breakfast-benefit .img {
		width: 100%;
		top: -30px;
	}
	.breakfast-benefit .img figcaption,
	.breakfast-benefit .img .txt {
		font-size: min(1.6rem, 4.267vw);
	}
}


/* ----------------------------------------------------
 collaboration
---------------------------------------------------- */
.collaboration {
	background: url(../img/collaboration-bg.webp) no-repeat;
	background-size: cover;
	padding: 80px 0;
	color: #631C1C;
	position: relative;
	z-index: 100;
}

.collaboration h2 {
	max-width: 450px;
	margin: 0 auto;
	text-align: center;
	font-family: var(--hiragino);
	font-size: min(4rem, 2.928vw);
	font-weight: 600;
	position: relative;
}
.collaboration h2::before {
	content: '';
	background: url(../img/collaboration-itme.webp) no-repeat;
	background-size: 100%;
	display: block;
	width: 53px;
	height: 151px;
	position: absolute;
	top: 0;
	left: -90px;
	transform: translate(0, -50%);
}
.collaboration h2::after {
	content: '';
	background: url(../img/collaboration-itme.webp) no-repeat;
	background-size: 100%;
	display: block;
	width: 53px;
	height: 151px;
	position: absolute;
	top: 0;
	right: -90px;
	transform: translate(0, -50%);
}

.collaboration .area-txt {
	margin-top: 80px;
	text-align: center;
}

.collaboration .area-txt .txt {
	text-align: center;
	font-size: min(2rem, 1.464vw);
	font-weight: 400;
	line-height: 30px;
	margin-bottom: 30px;
}

.collaboration .area-txt .txt:last-child {
	margin-bottom: 0;
}

.collaboration .restaurant-info {
	max-width: 929px;
	margin: 45px auto 0;
}

.collaboration .restaurant-info .restaurant-info__list {
	text-align: center;
	margin-top: 37px;
}

.collaboration .restaurant-info .restaurant-info__list li:nth-of-type(1) {
	font-size: min(1.6rem, 1.171vw);
	font-weight: 400;
	line-height: 17px;
}

.collaboration .restaurant-info .restaurant-info__list li:nth-of-type(2) {
	font-family: var(--hiragino);
	font-size: min(2rem, 1.464vw);
	font-weight: 600;
	margin-top: 10px;
}

.collaboration .restaurant-info .restaurant-info__list:nth-of-type(1) li:nth-of-type(2) {
	font-size: min(2.4rem, 1.757vw);
}

.collaboration .restaurant-info .area-note {
	margin-top: 34px;
	margin: 34px 0 16px;
}

@media screen and (max-width: 768px) {
	.collaboration {
		background: url(../img/collaboration-bg_sp.webp) no-repeat;
		background-size: cover;
		padding: 23px 0 90px;
	}
	.collaboration h2 {
		font-size: min(3.2rem, 8.533vw);
		line-height: 40px;
	}
	.collaboration h2::before {
		width: 33px;
		height: 94px;
		top: 25px;
		left: 20px;
	}
	.collaboration h2::after {
		width: 33px;
		height: 94px;
		top: 25px;
		right: 20px;
	}
	.collaboration .area-txt {
		margin-top: 22px;
	}
	.collaboration .area-txt .txt {
		font-size: min(1.6rem, 4.267vw);
		line-height: 25px;
	}
	.collaboration .restaurant-info .restaurant-info__list {
		margin-top: 27px;
	}
	.collaboration .restaurant-info .restaurant-info__list li:nth-of-type(1) {
		font-size: min(1.6rem, 4.267vw);
	}
	.collaboration .restaurant-info .restaurant-info__list li:nth-of-type(2) {
		font-size: min(2rem, 5.333vw);
	}
	.collaboration .restaurant-info .restaurant-info__list:nth-of-type(1) li:nth-of-type(2) {
		font-size: min(2.4rem, 6.4vw);
	}
	.collaboration .restaurant-info .restaurant-info__list li.typeB {
		font-size: min(1.5rem, 4vw);
	}
	.collaboration .restaurant-info .area-note {
		margin: 10px 15px 20px;
	}
}

/* ----------------------------------------------------
 food
---------------------------------------------------- */
.food {
	max-width: 760px;
	margin: 34px auto 0;
}

.food h3 {
	text-align: center;
	font-family: var(--hiragino);
	font-size: min(3.2rem, 2.343vw);
	font-weight: 600;
}

.food .area-note {
	margin-top: 24px;
}

.food .area-note .note a {
	color: #631C1C;
	text-decoration: underline;
}


@media screen and (max-width: 768px) {
	.food {
		margin: 30px auto 0;
		padding: 0 15px;
	}
	.food h3 {
		font-size: min(2.4rem, 6.4vw);
	}
	.food .area-note {
		margin-top: 24px;
	}
}

/* ----------------------------------------------------
 drink
---------------------------------------------------- */
.drink {
	max-width: 760px;
	margin: 50px auto 0;
}

.drink h3 {
	text-align: center;
	font-family: var(--hiragino);
	font-size: min(3.2rem, 2.343vw);
	font-weight: 600;
}

.drink .area-note {
	margin-top: 24px;
}

.drink .area-note .note a {
	color: #631C1C;
	text-decoration: underline;
}

@media screen and (max-width: 768px) {
	.drink {
		margin: 90px auto 0;
		padding: 0 15px;
	}
	.drink h3 {
		font-size: min(2.4rem, 6.4vw);
	}
}


/* ----------------------------------------------------
 original
---------------------------------------------------- */
.original {
	background: url(../img/frame-collaboration-card.webp) no-repeat;
	background-size: 100%;
	width: 953px;
	height: 734px;
	margin: 46px auto 0;
	padding-top: 52px;
	text-align: center;
}

.original.typeB {
	background: url(../img/frame-collaboration-coaster.webp) no-repeat;
	background-size: 100%;
	width: 953px;
	height: 854px;
	margin: 46px auto 0;
	padding-top: 52px;
	text-align: center;
}

.original h3 {
	font-family: var(--hiragino);
	font-size: min(3.2rem, 2.343vw);
	font-weight: 600;
	line-height: 43px;
}

.original .txt {
	font-size: min(2rem, 1.464vw);
	font-weight: 400;
	line-height: 30px;
	margin-top: 18px;
}

.original .area-note {
	max-width: 760px;
	margin: 43px auto 0;
	text-align: left;
}

.original.typeB .area-note {
	margin: 17px auto 0;
}

.original .grid-coaster {
	max-width: 760px;
	margin: 29px auto 0;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}

.original .txt02 {
	font-size: min(1.6rem, 1.171vw);
	font-weight: 400;
	line-height: 24px;
	margin-top: 17px;
}

@media screen and (max-width: 768px) {
	.original {
		background: url(../img/frame-collaboration-card-coaster_sp.webp) repeat-y;
		background-size: 100%;
		width: 94%;
		height: auto;
		margin: 35px auto 0;
		padding-top: 0;
		text-align: center;
		position: relative;
	}
	.original::before {
		content: '';
		background: url(../img/frame-collaboration-card-coaster-top_sp.webp) no-repeat;
		background-size: 100%;
		display: block;
		width: 100%;
		height: 40px;
		position: relative;
		top: -24px;
	}
	.original::after {
		content: '';
		background: url(../img/frame-collaboration-card-coaster-bottom_sp.webp) no-repeat;
		background-size: 100%;
		display: block;
		width: 100%;
		height: 40px;
		position: relative;
		bottom: -27px;
	}
	.original.typeB {
		background: url(../img/frame-collaboration-card-coaster_sp.webp) repeat-y;
		background-size: 100%;
		width: 94%;
		height: auto;
		margin: 70px auto 0;
		padding-top: 0;
		text-align: center;
	}
	.original h3 {
		font-size: min(2.4rem, 6.4vw);
		line-height: 35px;
	}
	.original .txt {
		font-size: min(1.6rem, 4.267vw);
		line-height: 25px;
		margin-top: 18px;
	}
	.original .area-note {
		margin: 32px 29px 0;
		text-align: left;
	}
	.original.typeB .area-note {
		padding: 0 15px;
	}
	.original .grid-coaster {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 0;
		padding: 0 15px;
	}
	.original .txt02 {
		font-size: min(1.6rem, 4.267vw);
	}
}


/* ----------------------------------------------------
 footer
---------------------------------------------------- */
footer {
	background: #981E1E;
	padding: 48px 0;
	text-align: center;
}

footer .area-logo {
	margin-top: 21px;
}

footer .area-logo .logo {
	width: 354px;
	margin: 0 auto;
}

footer .area-logo p:nth-of-type(1) {
	font-size: min(2.4rem, 1.757vw);
	font-weight: 400;
	line-height: 17px;
}

footer .area-logo p:nth-of-type(2) {
	font-size: min(1.1rem, 0.805vw);
	font-weight: 300;
	line-height: 15px;
	margin-top: 23px;
}

footer .border {
	max-width: 764px;
	margin: 45px auto 40px;
}

footer .sns h3 {
	font-family: var(--hiragino);
	font-size: min(3.2rem, 2.343vw);
	font-weight: 300;
	line-height: 35px;
}

footer .sns h3 .txt {
	display: block;
	font-size: min(1.6rem, 1.171vw);
	font-weight: 300;
	line-height: 28px;
}

footer .sns h3 .txt02 {
	display: block;
	font-family: var(--notoJP);
	font-size: min(1.5rem, 1.098vw);
	font-weight: 400;
	line-height: 28px;
	margin-top: 8px;
}

footer .sns .area-sns-logo {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 35px auto 90px;
}

footer .sns .area-sns-logo li {
	width: 51.64px;
	height: 46.08px;
	margin: 0 12.5px;
}
footer .sns .area-sns-logo li:last-child {
	width: 66.378px;
}

footer .sns .area-sns-logo li a {
	display: block;
	color: #fff;
	text-align: center;
	font-size: min(1rem, 0.732vw);
	font-weight: 400;
	line-height: 14px;
}

footer .sns .area-sns-logo li a img {
	margin-bottom: 8px;
}

footer .sns .txt03 {
	text-align: center;
	font-size: min(1.2rem, 0.878vw);
	font-weight: 400;
	line-height: 17px;
}

footer .sns .txt03 a {
	color: #FFF;
	text-decoration: underline;
}

footer .hotel-link {
	margin-top: 23px;
}

footer .hotel-link a {
	color: #fff;
	font-size: min(1.5rem, 1.098vw);
	font-weight: 400;
	line-height: 27px;
}
footer .hotel-link a::before {
	content: '｜';
	padding: 0 20px;
}
footer .hotel-link a::after {
	content: '｜';
	padding: 0 20px;
}
footer .hotel-link a:first-child:after {
	display: none;
}

footer .copy {
	font-size: min(1.1rem, 0.805vw);
	font-weight: 500;
	line-height: 27px;
	margin-top: 10px;
}

@media screen and (max-width: 768px) {
	footer {
		padding: 22px 0;
	}

	footer .area-logo {
		margin-top: 14px;
	}
	footer .area-logo .logo {
		width: 293px;
	}
	footer .area-logo p:nth-of-type(1) {
		font-size: min(2rem, 5.333vw);
		line-height: 25px;
	}
	footer .area-logo p:nth-of-type(2) {
		font-size: min(1.1rem, 2.933vw);
		margin-top: 10px;
		letter-spacing: 0;
	}
	footer .border {
		margin: 40px auto;
	}
	footer .sns h3 {
		font-size: min(3.2rem, 8.533vw);
	}
	footer .sns h3 .txt {
		font-size: min(1.6rem, 4.267vw);
	}
	footer .sns h3 .txt02 {
		font-size: min(1.5rem, 4vw);
		margin-top: 5px;
	}
	footer .sns .area-sns-logo {
		max-width: 300px;
		align-items: baseline;
		flex-wrap: wrap;
		margin: 35px auto 10px;
	}
	footer .sns .area-sns-logo li {
		width: 51.64px;
		height: auto;
		margin: 0 12.5px 20px;
	}
	footer .sns .area-sns-logo li:last-child {
		width: 73.378px;
	}
	footer .sns .area-sns-logo li a {
		font-size: min(1rem, 2.667vw);
	}
	footer .sns .txt03 {
		font-size: min(1.2rem, 3.2vw);
		line-height: 20px;
	}
	footer .hotel-link a {
		display: block;
		text-align: center;
		font-size: min(1.5rem, 4vw);
	}
	footer .hotel-link a:first-child {
		margin-bottom: 10px;
	}
	footer .hotel-link a:first-child:after {
		display: inline;
		content: '｜';
		padding: 0 20px;
	}
	footer .copy {
		font-size: min(1.1rem, 2.933vw);
		line-height: 20px;
		margin-top: 30px;
	}
	footer .area-note {
		padding: 0 15px;
	}
	footer .note {
		text-align: left;
	}
}
