@charset "UTF-8";

/* ----------------------------------------------------
 共通
---------------------------------------------------- */
h2 {
	color: #63C9C8;
	font-family: "mr-eaves-modern", sans-serif;
	font-size: min(8rem, 6.154vw);
	font-weight: 200;
	font-style: italic;
}

.inner {
	position: relative;
	z-index: 3;
}

.inner.mt120 {
	margin-top: 120px;
}

.inner.mt170 {
	margin-top: 170px;
}

.inner .item {
	width: 41%;
	position: absolute;
	top: -370px;
	left: 0;
	z-index: -1;
}

a.btn {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 300px;
	height: 60px;
	margin:  38px auto 0;
	border-radius: 30px;
	border: 1px solid #63C9C8;
	color: #63C9C8;
	font-family: "mr-eaves-modern", sans-serif;
	font-size: min(3rem, 2.308vw);
	font-weight: 200;
	font-style: italic;
	position: relative;
}
a.btn::after {
	content: '';
	background: url(../img/btn_arrow.svg) no-repeat;
	background-size: 100%;
	width: 30px;
	height: 10px;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
}

a.btn.typeB {
	width: 460px;
	height: 80px;
	border-radius: 40px;
	font-size: min(4rem, 3.077vw);
}

.note {
	font-size: min(1.1rem, 0.846vw);
}

.note::before {
	content: '※';
}

.en .note::before {
	content: '*';
}

@media screen and (max-width: 768px) {
	h2 {
		font-size: min(5rem, 13.333vw);
	}
	.inner {
		width: 90%;
		margin: 0 auto;
	}
	.inner.mt170 {
		margin-top: 80px;
	}
	a.btn {
		height: 60px;
		font-size: min(2.6rem, 6.933vw);
	}
	a.btn.typeB {
		width: 100%;
		height: 50px;
		font-size: min(2.6rem, 6.933vw);
	}
	.note {
		font-size: min(1.1rem, 2.933vw);
	}

}

/* ----------------------------------------------------
 video
---------------------------------------------------- */
#bg-video {
	position: fixed;
	top: 0;
	left: 0;
	min-width: 100%;
	min-height: 100%;
	object-fit: cover;
	z-index: -1;
}

/* ----------------------------------------------------
 kv
---------------------------------------------------- */
.kv {
	background-image: url(../img/item_hanabi01.webp), url(../img/kv.webp);
	background-repeat: no-repeat, no-repeat;
	background-position: left top 10%, top center;
	background-size: 41% auto, 100%;
	width: 100%;
	height: 160vw;
	position: relative;
}

.kv h1 {
	width: 44.7%;
	position: absolute;
	top: 146px;
	left: 10%;
}

.lead {
	position: relative;
	width: 100%;
	top: 26%;
	overflow: hidden;
}

.lead::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: url(../img/back_bk_01.webp) no-repeat;
	background-size: 100%;
	opacity: 0.8;
}

.lead .inner {
	max-width: 76.7%;
	margin: 14% auto;
	margin-top: 14%;
	margin-bottom: 44%;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.lead .inner .text {
	order: 2;
	color: #fff;
	width: 56%;
	padding-top: 40px;
}

.lead .inner .text h2 {
	line-height: 0.6;
	padding-bottom: 33px;
}

.lead .inner .text h2 span.middle {
	color: #fff;
	font-size: min(4rem, 3.077vw);
}

.lead .inner .text h2 span.small {
	color: #fff;
	font-size: min(2.5rem, 1.923vw);
}

.lead .inner .text p {
	width: 85.7%;
	line-height: 2;
}

.lead .inner .movie {
	width: 40%;
}

.lead .inner .movie {
	font-size: min(1.3rem, 1vw);
}

.lead .inner .movie .shorts-wrapper {
	position: relative;
	width: 100%;
	max-width: 100%;
	aspect-ratio: 9 / 16;
	margin: 0 auto;
}

.lead .inner .movie .shorts-wrapper iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: none;
}

.kv .area_slide {
	max-width: 52.94%;
	margin: 0 auto;
	width: 100%;
}

@media screen and (max-width: 768px) {
	.kv {
		background-image: url(../img/kv_sp.webp);
		background-repeat: no-repeat;
		background-position: top right;
		background-size: 100%;
		width: 100%;
		height: auto;
		position: relative;
	}
	.kv h1 {
		position: relative;
		width: 80%;
		height: 60%;
		top: 30px;
	}
	.lead {
		top: 60vw;
	}
	.lead::before {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: url(../img/back_bk_01_sp.webp) no-repeat;
		background-size: 100%;
		opacity: 0.8;
	}
	.lead .inner {
		width: 100%;
		max-width: 100%;
		margin: 14% auto;
		margin-top: 14%;
		margin-bottom: 44%;
		display: block;
	}
	.lead .inner .text {
		width: 90%;
		margin: 0 auto;
		padding-top: 40px;
	}
	.lead .inner .text h2 {
		font-size: min(4rem, 10.667vw);
		line-height: 1;
	}
	.lead .inner .text h2 span.middle {
		display: block;
		font-size: min(3.2rem, 8.533vw);
		padding-top: 7px;
	}
	.lead .inner .text h2 span.small {
		font-size: min(2.6rem, 6.933vw);
	}
	.lead .inner .text p {
		width: 100%;
	}
	.lead .inner .movie {
		width: 90%;
		margin: 0 auto;
		font-size: min(1.3rem, 3.467vw);
		margin-top: 20px;
	}
	.lead .inner .movie .shorts-wrapper {
		position: relative;
		width: 100%;
		max-width: 100%;
		aspect-ratio: 9 / 16;
		margin: 0 auto;
	}
	.kv .area_slide {
		max-width: 100%;
		margin: 0 auto;
		margin-top: 22vw;
		position: relative;
	}
	.kv .area_slide::before {
		content: "";
		position: absolute;
		top: 130px;
		left: 0;
		width: 100%;
		height: 100%;
		background: url(../img/back_bk_03_sp.webp) no-repeat;
		background-size: 100%;
		opacity: 0.8;
	}
	.kv .area_slide .slide {
		width: 90%;
		margin: 0 auto;
	}
}


/* ----------------------------------------------------
 contents
---------------------------------------------------- */
.contents {
	position: relative;
	width: 100%;
	height: auto;
	top: 26%;
	background: #000;
	background: linear-gradient(180deg, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0.46) 100%);
	padding-bottom: 310px;
}
.contents::before {
	content: "";
	position: absolute;
	/* top: -7%; */
	top: -18vw;
	left: 0;
	width: 100%;
	height: 100%;
	background: url(../img/back_bk_02.webp) no-repeat;
	background-size: 100%;
}

.contents.typeB {
	padding-bottom: 370px;
	background: linear-gradient(180deg, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0.89) 70%, rgba(0, 0, 0, 0.29) 100%);
}
.contents.typeB::before {
	content: "";
	position: absolute;
	/* top: -7%; */
	top: -19vw;
	left: 0;
	width: 100%;
	height: 100%;
	background: url(../img/back_bk_05.webp) no-repeat;
	background-size: 100%;
}

.contents.typeC {
	padding-bottom: 330px;
}
.contents.typeC::before {
	content: "";
	position: absolute;
	top: -19vw;
	left: 0;
	width: 100%;
	height: 100%;
	background: url(../img/back_bk_01.webp) no-repeat;
	background-size: 100%;
}

.contents.typeD {
	background: #000;
	padding-bottom: 90px;
}
.contents.typeD::before {
	content: "";
	position: absolute;
	top: -20vw;
	left: 0;
	width: 100%;
	height: 100%;
	background: url(../img/back_bk_02.webp) no-repeat;
	background-size: 100%;
}

@media screen and (min-width: 1450px) {
	.contents::before {
		top: -8%;
	}
	.contents.typeB::before {
		top: -19vw;
	}
	.contents.typeD::before {
		top: -18.5vw;
	}
}
@media screen and (min-width: 1790px) {
	.contents.typeC {
		padding-bottom: 500px;
	}
}
@media screen and (min-width: 2000px) {
	.contents.typeB {
		padding-bottom: 500px;
	}
}
@media screen and (min-width: 2150px) {
	.contents::before {
		top: -9%;
	}
	.contents,
	.contents.typeB,
	.contents.typeC {
		padding-bottom: 600px;
	}
}
@media screen and (min-width: 2500px) {
	.contents::before,
	.contents.typeB::before {
		top: -10%;
	}
}

@media screen and (max-width: 768px) {
	.contents {
		margin-top: 130px;
		padding-bottom: 27vw;
	}
	.contents.typeB {
		margin-top: 0;
		padding-bottom: 90px;
		background: linear-gradient(180deg, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0.9) 99%, rgba(0, 0, 0, 0) 100%);
	}
	.contents.typeC {
		padding-bottom: 90px;
		padding-bottom: 30%;
	}
	.contents.typeC::after {
		content: "";
		position: absolute;
		top: -13%;
		left: 0;
		width: 100%;
		height: 100%;
		background: url(../img/back_bk_04_sp.webp) no-repeat;
		background-size: 100%;
	}
	.contents.typeD {
		margin-top: 0;
		padding-bottom: 0;
	}
	.contents.typeD::before {
		top: -18vw;
	}
}

.contents h2 {
	text-align: center;
}

.contents .txt {
	text-align: center;
}

.contents .area_box {
	max-width: 72.31%;
	margin: 67px auto 0;
	width: 100%;
	display: flex;
	justify-content: space-between;
	position: relative;
	z-index: 4;
}

.contents .area_box .box {
	position: relative;
	width: 48%;
}

.contents .area_box .box .icon {
	position: absolute;
	top: -50px;
	left: -20px;
	width: 108px;
}

.contents .area_box .box p {
	text-align: center;
	padding-top: 15px;
}

.contents .area_box .box.popup .img {
	overflow: hidden;
}

.contents .area_box .box.popup .img img {
	transition: transform 0.5s ease;
}

.contents .area_box .box.popup:hover .img img {
	transform: scale(1.2);
}

@media screen and (max-width: 768px) {
	.contents h2 {
		padding-bottom: 20px;
		line-height: 1;
	}
	.contents .area_box {
		max-width: 100%;
		margin: 0 auto;
		width: 100%;
		display: block;
	}
	.contents .area_box .box {
		width: 100%;
		margin-top: 40px;
	}
	.contents .area_box .box:nth-of-type(2) {
		margin-top: 60px;
	}
	.contents .area_box .box .icon {
		width: 80px;
		top: 85%;
		left: 30px;
		transform: translate(-50%, -50%);
		-webkit-transform: translate(-50%, -50%);
		-ms-transform: translate(-50%, -50%);
	}
	.contents .area_box .box.popup {
		margin-top: 0;
	}
	.contents .area_box .box.popup:nth-of-type(2) {
		margin-top: 20px;
	}
	.contents .area_box .box p {
		text-align: right;
	}
}

.popup {
	cursor: pointer;
}

.popup:hover {
	opacity: 0.8;
}

/* ポップアップ背景（黒の半透明） */
.popup-overlay {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	background-color: rgba(0, 0, 0, 0.7);
	z-index: 1000;
	overflow-y: auto;
	padding: 110px 20px;
	box-sizing: border-box;
}

/* ラッパー（相対位置） */
.popup-wrapper {
	position: relative;
	width: fit-content;
	max-width: 930px;
	margin: auto;
}

/* ポップアップ本体 */
.popup-content {
	background-color: #1C383C;
	padding: 40px;
	border-radius: 8px;
	color: #fff;
	box-sizing: border-box;
}

/* ×ボタン */
.popup-close {
	position: absolute;
	top: -50px;
	right: 5px;
	width: 90px;
	background: none;
	border: none;
	cursor: pointer;
	padding: 0;
}

.popup-close img {
	width: 100%;
	height: auto;
	display: block;
}

/* ポップアップ内の内容 */
.popup-body img {
	max-width: 50%;
	margin: 0 auto;
	display: block;
	margin-bottom: 30px;
}

.popup-body h3 {
	font-family: "mr-eaves-modern", sans-serif;
	font-size: min(4rem, 3.077vw);
	font-weight: 200;
	font-style: italic;
	text-align: center;
	line-height: 0.8;
	padding-bottom: 30px;
}

.popup-body h3 span {
	font-family: "Noto Sans JP", sans-serif;
	font-size: min(2rem, 1.538vw);
	font-style: normal;
}

.popup-body p {
	font-size: 16px;
	line-height: 1.6;
}

@media screen and (max-width: 768px) {
	.popup-content {
		padding: 40px 20px;
	}
	.popup-body img {
		max-width: 100%;
	}
	.popup-body h3 {
		font-size: min(4rem, 10.667vw);
	}
	.popup-body h3 span {
		font-size: min(2rem, 5.333vw);
	}
}

.area_box2 {
	max-width: 72.31%;
	margin: 0 auto;
	width: 100%;
}

.area_box2 .box,
.area_box2 .box2 {
	background: #000;
	margin-bottom: 16px;
	padding: 36px 20px;
}

.area_box2 h3 {
	color: #63C9C8;
	font-family: "mr-eaves-modern", sans-serif;
	font-size: min(4rem, 3.077vw);
	font-weight: 200;
	font-style: italic;
	text-align: center;
	line-height: 1;
	padding-bottom: 22px;
}

.area_box2 h3 span {
	color: #fff;
	font-family: "Noto Sans JP";
	font-size: min(1.8rem, 1.385vw);
	font-style: normal;
}

.area_box2 .box ul {
	display: flex;
	justify-content: space-between;
	align-items: center;
	max-width: 79.9%;
	margin: 0 auto;
	padding: 5px 0;
}
.area_box2 .box ul:nth-of-type(1) {
	border-bottom: 1px solid #fff;
}

.area_box2 .box ul li:nth-of-type(2) {
	font-family: "mr-eaves-modern", sans-serif;
	font-size: min(6rem, 4.615vw);
	font-weight: 200;
	font-style: italic;
}

.area_box2 .box2 ul {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0 50px;
}

.area_box2 .box2 ul li {
	width: 67%;
}
.area_box2 .box2 ul li:nth-of-type(1) {
	width: 30%;
	color: #63C9C8;
	font-family: "mr-eaves-modern", sans-serif;
	font-size: min(4rem, 3.077vw);
	font-weight: 200;
	font-style: italic;
	line-height: 1.2;
}

.area_box2 .box2 a {
	color: #fff;
	font-family: "mr-eaves-modern", sans-serif;
	font-size: min(4rem, 3.077vw);
	font-weight: 200;
	font-style: italic;
}

@media screen and (max-width: 768px) {
	.area_box2 {
		max-width: 100%;
	}
	.area_box2 .box,
	.area_box2 .box2 {
		padding: 26px 10px;
	}
	.area_box2 h3 {
		font-size: min(4rem, 10.667vw);
		padding-bottom: 22px;
	}
	.area_box2 h3 span {
		display: block;
		font-size: min(1.6rem, 4.267vw);
		padding-top: 20px;
		line-height: 1.5;
	}
	.area_box2 .box ul {
		display: block;
		max-width: 100%;
	}
	.area_box2 .box ul:nth-of-type(1) {
		margin-bottom: 15px;
	}
	.area_box2 .box ul li {
		font-size: min(1.4rem, 3.733vw);
		text-align: center;
		line-height: 1.7;
	}
	.area_box2 .box ul li:nth-of-type(2) {
		font-size: min(6rem, 16vw);
	}
	.area_box2 .box ul li span {
		display: none;
	}
	.area_box2 .box2 ul {
		display: block;
		padding: 0 10px;
	}
	.area_box2 .box2 ul li {
		width: 100%;
		text-align: center;
	}
	.area_box2 .box2 ul li:nth-of-type(1) {
		width: 100%;
		font-size: min(4rem, 10.667vw);
		text-align: center;
		padding-bottom: 20px;
	}
	.area_box2 .box2 a {
		display: block;
		font-size: min(4rem, 10.667vw);
		padding-bottom: 20px;
	}
	.area_box2 .box2 ul li span {
		display: none;
	}
}

.box_food-drink {
	position: relative;
	padding-top: 100px;
}

.box_food-drink h3 {
	color: #63C9C8;
	font-family: "mr-eaves-modern", sans-serif;
	font-size: min(4rem, 3.077vw);
	font-weight: 200;
	font-style: italic;
	text-align: center;
	line-height: 0.6;
}

.box_food-drink h3 span {
	font-family: "Noto Sans JP";
	font-size: min(1.3rem, 1vw);
	font-style: normal;
}

.box_food-drink ul {
	max-width: 70.4%;
	margin: 0 auto;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	padding-top: 30px;
}

.box_food-drink ul li {
	width: 30.33333%;
	margin: 0 10px;
	margin-bottom: 30px;
}

.box_food-drink ul li p {
	font-size: min(1.6rem, 1.231vw);
	text-align: center;
	margin-top: 10px;
	line-height: 1.8;
}

.box_food-drink ul li p.en {
	text-align: left;
	margin-top: -5%;
	line-height: 1.3;
}

@media screen and (max-width: 768px) {
	.box_food-drink {
		position: relative;
		padding-top: 50px;
	}
	.box_food-drink h3 {
		font-size: min(4rem, 10.667vw);
		line-height: 0.6;
	}
	.box_food-drink h3 span {
		font-size: min(1.3rem, 3.467vw);
	}
	.box_food-drink ul {
		max-width: 100%;
		display: block;
	}
	.box_food-drink ul li {
		width: 100%;
		margin: 0 auto;
		margin-bottom: 30px;
	}
	.box_food-drink ul li p {
		font-size: min(1.6rem, 4.267vw);
	}
	.box_food-drink ul li p.en {
		text-align: center;
	}
}

.box_laurent {
	max-width: 935px;
	margin: 0 auto;
	margin-top: 95px;
	padding: 46px 75px;
	border: 1px solid #63C9C8;
}

.box_laurent h3 {
	color: #63C9C8;
	font-family: "mr-eaves-modern", sans-serif;
	font-size: min(6rem, 4.615vw);
	font-weight: 200;
	font-style: italic;
	text-align: center;
}

.box_laurent ul {
	display: flex;
	justify-content: center;
	align-items: center;
}

.box_laurent ul li {
	width: 64%;
}

.box_laurent ul li:nth-of-type(1) {
	width: 32%;
	margin-right: 30px;
}

.box_laurent ul:nth-of-type(2) {
	max-width: 56.1%;
	margin: 0 auto;
	margin-top: 32px;
}

.box_laurent ul:nth-of-type(2) li {
	width: 64%;
}

@media screen and (min-width: 1580px) {
	.box_laurent ul li {
		font-size: 20px;
	}
}

.box_laurent ul:nth-of-type(2) li:nth-of-type(1) {
	width: 40%;
	margin-bottom: 4px;
}

.box_laurent ul:nth-of-type(2) li:nth-of-type(1) img {
	vertical-align: middle;
}

@media screen and (max-width: 768px) {
	.box_laurent {
		padding: 20px 20px 40px;
		position: relative;
	}
	.box_laurent h3 {
		font-size: min(4rem, 10.667vw);
	}
	.box_laurent ul {
		display: block;
	}
	.box_laurent ul li {
		width: 100%;
		margin-top: 20px;
	}
	.box_laurent ul li:nth-of-type(1) {
		width: 100%;
		margin-top: 10px;
		margin-right: 0;
	}
	.box_laurent ul:nth-of-type(2) {
		max-width: 100%;
	}
	.box_laurent ul:nth-of-type(2) li {
		width: 100%;
		text-align: center;
		margin-top: 10px;
	}
	.box_laurent ul:nth-of-type(2) li:nth-of-type(1) {
		width: 50%;
		margin: 0 auto;
		margin-bottom: 0;
	}
}

.typeC h2 {
	color: #976AEC;
	font-size: min(8rem, 6.154vw);
	line-height: 0.6;
}

.typeC h2 span {
	color: #fff;
	font-size: min(4rem, 3.077vw);
}

.typeC ul {
	max-width: 71.93%;
	margin: 0 auto;
	margin-top: 40px;
	display: flex;
	justify-content: center;
}

.typeC ul li {
	width: 48%;
	margin: 0 20px;
}

.typeC ul li.txt p {
	margin-bottom: 20px;
	text-align: left;
}

@media screen and (max-width: 768px) {
	.typeC h2 {
		font-size: min(5rem, 13.333vw);
	}
	.typeC h2 span {
		display: block;
		font-size: min(4rem, 10.667vw);
		line-height: 0.8;
		padding-top: 20px;
	}
	.typeC ul {
		max-width: 100%;
		margin: 0 auto;
		margin-top: 40px;
		display: block;
	}
	.typeC ul li {
		width: 100%;
		margin: 0 auto;
	}

	.typeC ul li.txt p {
		margin-bottom: 20px;
		text-align: left;
	}
}

.box_bon-odori {
	max-width: 71.93%;
	margin: 0 auto;
	margin-top: 90px;
	padding: 60px 68px;
	border: 1px solid #976AEC;
	background: rgba(108, 63, 190, 0.25);
}

.box_bon-odori h3 {
	color: #976AEC;
	font-family: "mr-eaves-modern", sans-serif;
	font-size: min(8rem, 6.154vw);
	font-weight: 200;
	font-style: italic;
	text-align: center;
	line-height: 1;
}

.box_bon-odori h3 span {
	font-size: min(6rem, 4.615vw);
}

.box_bon-odori ul {
	max-width: 100%;
	justify-content: space-between;
	align-items: center;
}

.box_bon-odori ul li {
	width: 52%;
}

.box_bon-odori ul li:nth-of-type(1) {
	width: 40%;
	order: 2;
}

@media screen and (max-width: 768px) {
	.box_bon-odori {
		max-width: 100%;
		margin-top: 60px;
		padding: 30px 20px;
	}
	.box_bon-odori h3 {
		font-size: min(5rem, 13.333vw);
	}
	.box_bon-odori h3 span {
		font-size: min(5rem, 13.333vw);
	}
	.box_bon-odori ul {
		max-width: 100%;
	}
	.box_bon-odori ul li {
		width: 100%;
	}
	.box_bon-odori ul li:nth-of-type(1) {
		width: 100%;
	}
}

.typeD h2 {
	line-height: 1;
	margin-bottom: 30px;
}

.typeD h2 span {
	font-size: min(5rem, 3.846vw);
}

.typeD h2 span.jp {
	font-family: "Noto Sans JP";
	font-style: normal;
	font-size: min(6.5rem, 5vw);
}

.typeD .txt {
	line-height: 2;
	margin-bottom: 30px;
}

.typeD .banner {
	width: 71.93%;
	margin: 0 auto;
	margin-bottom: 55px;
}

.typeD .logo {
	width: 19.4%;
	margin: 0 auto;
}

@media screen and (max-width: 768px) {
	.typeD h2 {
		line-height: 1;
		margin-bottom: 30px;
	}
	.typeD h2 span {
		font-size: min(4rem, 10.667vw);
	}
	.typeD h2 span.jp {
		font-size: min(5rem, 13.333vw);
	}
	.typeD .txt {
		text-align: left;
	}
	.typeD .banner {
		width: 100%;
		margin-bottom: 30px;
	}
	.typeD .logo {
		width: 60%;
	}
}

.contents .item {
	width: 40%;
	position: absolute;
	bottom: -280px;
	right: 0;
	z-index: 1;
}

.contents .box_food-drink .item {
	top: 490px;
	bottom: 0;
	right: 0;
	left: 0;
	z-index: -1;
}

.contents.typeC .item {
	bottom: -180px;
}

@media screen and (max-width: 768px) {
	.contents .item,
	.contents .box_food-drink .item,
	.contents.typeC .item {
		display: none;
	}
}

/* ----------------------------------------------------
 footer
---------------------------------------------------- */
footer {
	background: #000;
}

footer p,
footer ul {
	max-width: 72%;
	margin: 0 auto;
}

footer p {
	line-height: 2;
}

footer ul {
	margin-top: 13px;
}

footer ul.jp {
	margin-top: 22px;
}

footer ul li a {
	color: #63C9C8;
	text-decoration: underline;
}

footer .link_hotel {
	padding: 52px 0 30px;
	text-align: center;
}

footer .link_hotel a {
	color: #FFF;
}

footer .link_hotel a::before {
	content: '｜';
	padding: 0 10px;
}

footer .link_hotel a:last-child::after {
	content: '｜';
	padding: 0 10px;
}

footer .copy {
	max-width: 100%;
	background: #fff;
	color: #000;
	font-size: 13px;
	padding: 16px 0;
	text-align: center;
}

@media screen and (max-width: 768px) {
	footer p,
	footer ul {
		max-width: 90%;
		margin: 0 auto;
	}
	footer p {
		padding-top: 30px;
		line-height: 1.6;
	}
	footer .link_hotel a {
		display: block;
		font-size: min(1.5rem, 4vw);
		text-align: center;
		position: relative;
		padding: 10px 0;
	}
	footer .link_hotel a::before {
		content: '｜';
		padding: 0 10px;
		position: absolute;
		top: 10px;
		left: 30px;
	}
	footer .link_hotel a::after {
		content: '｜';
		padding: 0 10px;
		position: absolute;
		top: 10px;
		right: 30px;
	}
	footer .link_hotel a:last-child:before {
		top: 20px;
	}
	footer .link_hotel a:last-child:after {
		top: 20px;
	}

	footer .copy {
		max-width: 100%;
		background: #fff;
		color: #000;
		font-size: 13px;
		padding: 16px 0;
		text-align: center;
	}

}