@charset "utf-8";

/*-----------------------------------------------
 * MAP PAGE
-------------------------------------------------*/
.mapPage {
	background-color: #66cae2;
	overflow-x: hidden;
	--map-icon-arrow: url("../img/arrow.svg");
	--map-icon-arrow-w: min(calc(10 / var(--vw-min) * 100vw), calc(10px * var(--max-percent)));
	--map-icon-arrow-h: min(calc(12 / var(--vw-min) * 100vw), calc(12px * var(--max-percent)));
}

.mapIconArrow {
	flex-shrink: 0;
	width: var(--map-icon-arrow-w);
	height: var(--map-icon-arrow-h);
	background: var(--map-icon-arrow) center / contain no-repeat;
}

.mapIconArrowCircle {
	flex-shrink: 0;
	width: min(calc(32 / var(--vw-min) * 100vw), calc(32px * var(--max-percent)));
	height: min(calc(32 / var(--vw-min) * 100vw), calc(32px * var(--max-percent)));
	border: 1px solid #fff;
	border-radius: 50%;
	background: var(--map-icon-arrow) center / var(--map-icon-arrow-w) var(--map-icon-arrow-h) no-repeat;
}

.mapPage .pBg {
	background-color: #66cae2;
}

.mapPageTop {
	position: absolute;
	z-index: 3;
	right: 0;
	bottom: 3%;
	text-align: right;
	pointer-events: none;
}

.mapPageTop__link {
	display: inline-block;
	pointer-events: auto;
	width: min(calc(96 / var(--vw-min) * 100vw), calc(96px * var(--max-percent)));
	transition: transform 0.3s ease;
}

.mapPageTop__link img {
	width: 100%;
	height: auto;
	display: block;
}

.mapMain {
	position: relative;
	overflow: visible;
}

/*-----------------------------------------------
 * Hero (main)
-------------------------------------------------*/
.mapHero {
	position: relative;
	overflow: hidden;
	background-color: #66cae2;
}

.mapHero::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	aspect-ratio: 1366 / 328;
	background: url("../img/deco_wave.svg") no-repeat center top / 100% auto;
	z-index: 0;
	pointer-events: none;
}

.mapHero__inner {
	position: relative;
	display: flex;
	width: 100%;
	max-width: min(calc(1366 / var(--vw-min) * 100vw), calc(1366px * var(--max-percent)));
	margin: 0 auto;
}

.mapHero__visual {
	flex: 0 0 57.39%;
	position: relative;
	width: 57.39%;
	z-index: 1;
	overflow: hidden;
}

.mapHero__visual img {
	width: 100%;
	height: auto;
	aspect-ratio: 1568 / 2216;
	display: block;
	opacity: 0;
	transform: scale(1.06);
	transform-origin: center center;
	transition:
		opacity 1.2s ease,
		transform 3s cubic-bezier(0.25, 1, 0.5, 1);
	will-change: opacity, transform;
}

.mapHero.is-inview .mapHero__visual img {
	opacity: 1;
	transform: scale(1);
}

.mapHero__shiga,
.mapHero__title,
.mapHero__deco {
	position: absolute;
}

.mapHero__shiga {
	top: 17.68%;
	left: 71.01%;
	width: calc(min(372 * var(--max-percent), 372px));
	z-index: 1;
	pointer-events: none;
}

.mapHero__shiga img {
	width: 100%;
	height: auto;
	display: block;
}

.mapHero__title {
	position: absolute;
	top: 24.95%;
	left: 64.27%;
	width: min(calc(416 / var(--vw-min) * 100vw), calc(416px * var(--max-percent)));
	z-index: 3;
}

.mapHero__titleLogo,
.mapHero__titleStage,
.mapHero__titleMap,
.mapHero__titleClione {
	margin: 0;
}

.mapHero__titleLogo {
	width: 84.4%;
}

.mapHero__titleSvg {
	display: block;
	width: 100%;
	height: auto;
	overflow: visible;
	clip-path: inset(0 100% 0 0);
}

.mapHero__title.is-draw .mapHero__titleSvg {
	animation: mapHeroTitleReveal 1.2s ease-in forwards;
}

.mapHero__title.is-draw .mapHero__titleSvg--stage {
	animation-delay: 0.12s;
}

.mapHero__title.is-draw .mapHero__titleSvg--map {
	animation-delay: 0.22s;
}

@keyframes mapHeroTitleReveal {
	from {
		clip-path: inset(0 100% 0 0);
	}

	to {
		clip-path: inset(0 0 0 0);
	}
}

.mapHero__titleStage {
	position: absolute;
	top: 28.24%;
	right: 10.09%;
	width: 15.14%;
}

.mapHero__titleMap {
	width: 83.49%;
	margin-top: min(calc(7 / var(--vw-min) * 100vw), calc(7px * var(--max-percent)));
	filter: drop-shadow(2px 2px 4px rgba(0, 34, 43, 0.1));
}

.mapHero__titleClione {
	position: absolute;
	top: 54.63%;
	right: 0;
	width: 15.14%;
	opacity: 0;
	transition: opacity 0.4s ease 1s;
	will-change: transform, opacity;
}

.mapHero__title.is-draw .mapHero__titleClione {
	opacity: 1;
	animation: mapClioneFloat 3.2s ease-in-out 1.4s infinite;
}

@keyframes mapClioneFloat {
	0%,
	100% {
		transform: translateY(0);
	}

	50% {
		transform: translateY(-8px);
	}
}

.mapHero__titleClione img {
	width: 100%;
	height: auto;
	display: block;
}

.mapHero__deco {
	position: absolute;
	top: 51%;
	left: 61.38%;
	width: 35.44%;
	z-index: 2;
}

.mapHero__decoInner {
	position: relative;
	width: 100%;
	padding-bottom: 81.61%;
}

.mapHero__decoPhoto {
	position: absolute;
	object-fit: cover;
	opacity: 0;
	transform: scale(1.06);
	transform-origin: center center;
	transition:
		opacity 1.2s ease,
		transform 3s cubic-bezier(0.25, 1, 0.5, 1);
	will-change: opacity, transform;
}

.mapHero.is-inview .mapHero__decoPhoto {
	opacity: 1;
	transform: scale(1);
}

.mapHero__decoPhoto--1 {
	top: 0;
	left: 0;
	width: 65.95%;
	aspect-ratio: 319 / 230;
	z-index: 1;
}

.mapHero__decoPhoto--2 {
	top: 39.29%;
	left: 32.88%;
	width: 67.12%;
	aspect-ratio: 325 / 240;
}

.mapHero__decoSet {
	position: absolute;
	top: 16.54%;
	left: 9.22%;
	width: 75.61%;
	aspect-ratio: 361 / 213;
	overflow: visible;
	pointer-events: none;
	z-index: 1;
}

.mapHero__decoPiece {
	position: absolute;
	display: block;
	height: auto;
	transform-origin: center center;
	opacity: 0;
}

.mapHero__decoPiece--1 {
	top: 88.1526%;
	left: 22.541%;
	width: 6.5488%;
}

.mapHero__decoPiece--2 {
	top: 86.8709%;
	left: 2.282%;
	width: 1.7236%;
}

.mapHero__decoPiece--3 {
	top: 57.6225%;
	left: 0;
	width: 11.2065%;
}

.mapHero__decoPiece--4 {
	top: 29.044%;
	left: 82.4238%;
	width: 2.0911%;
}

.mapHero__decoPiece--5 {
	top: -1.4722%;
	left: 87.6083%;
	width: 12.8961%;
}

.mapHero.is-inview .mapHero__decoPiece--1,
.mapHero.is-inview .mapHero__decoPiece--4 {
	animation:
		mapHeroDecoFadeIn 0.6s ease 0.2s forwards,
		mapHeroDecoRotate90 6s linear 0.8s infinite reverse;
}

.mapHero.is-inview .mapHero__decoPiece--2,
.mapHero.is-inview .mapHero__decoPiece--5 {
	animation:
		mapHeroDecoFadeIn 0.6s ease 0.3s forwards,
		mapHeroDecoScalePulse 3s linear 0.9s infinite reverse;
}

.mapHero.is-inview .mapHero__decoPiece--2 {
	animation-delay: 0.35s, 0.95s;
}

.mapHero.is-inview .mapHero__decoPiece--3 {
	animation:
		mapHeroDecoFadeIn 0.6s ease 0.25s forwards,
		mapHeroDecoFloat 3.6s ease-in-out 0.85s infinite;
}

.mapHero.is-inview .mapHero__decoPiece--4 {
	animation-delay: 0.45s, 1.05s;
}

.mapHero.is-inview .mapHero__decoPiece--5 {
	animation-delay: 0.3s, 0.9s;
}

@keyframes mapHeroDecoFadeIn {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

@keyframes mapHeroDecoRotate90 {
	0% {
		transform: rotate(0deg);
	}

	10%,
	25% {
		transform: rotate(45deg);
	}

	35%,
	50% {
		transform: rotate(90deg);
	}

	60%,
	75% {
		transform: rotate(135deg);
	}

	85%,
	100% {
		transform: rotate(180deg);
	}
}

@keyframes mapHeroDecoScalePulse {
	0% {
		transform: scale(1);
	}

	42%,
	50% {
		transform: scale(1);
	}

	44%,
	52% {
		transform: scale(0.7);
	}

	48%,
	56% {
		transform: scale(1.2);
	}

	58%,
	100% {
		transform: scale(1);
	}
}

@keyframes mapHeroDecoFloat {
	0%,
	100% {
		transform: translateY(0) rotate(-4deg);
	}

	50% {
		transform: translateY(-10px) rotate(5deg);
	}
}

@media (prefers-reduced-motion: reduce) {
	.mapHero__titleSvg {
		clip-path: none;
	}

	.mapHero__title.is-draw .mapHero__titleSvg {
		animation: none;
	}

	.mapHero__titleClione {
		opacity: 1;
		transition: none;
		animation: none !important;
	}

	.mapArea__titleClione {
		animation: none !important;
	}

	.mapHero__visual img,
	.mapHero__decoPhoto {
		opacity: 1;
		transform: none;
		transition: none;
	}

	.mapHero__decoPiece {
		opacity: 1;
		animation: none !important;
	}
}

/*-----------------------------------------------
 * Map area
-------------------------------------------------*/
.mapArea {
	position: relative;
	overflow: visible;
}

.deco_sectionBg {
	position: absolute;
	height: 12px;
	background-repeat: repeat;
	z-index: 2;
	background-image: url(../../../assets/img/common/deco_wave.svg);
}

.deco_sectionBg.-btm {
	bottom: 0;
	left: max(calc(-240 / var(--vw-min) * 100vw), calc(-240px * var(--max-percent)));
	right: 0;
	transform: scale(-1, -1);
	background-position: center bottom;
}

.deco_sectionBg.-tp {
	top: 0;
	left: 0;
	right: 0;
	background-position: center top;
}

@media screen and (max-width:768px) {
	.deco_sectionBg {
		height: 8px;
		background-image: url(../../../assets/img/common/deco_wave-s.svg);
	}

	.deco_sectionBg.-btm {
		transform: unset;
	}

	.deco_sectionBg.-tp {
		transform: scale(-1, -1);
	}
}

.mapArea__chara {
	position: absolute;
	top: 33%;
	left: 0;
	right: 0;
	z-index: 5;
	pointer-events: none;
}
@media screen and (max-width:768px) {
	.mapArea__chara {
		top: 11%;
	}
}

.mapArea__charaIn {
	position: relative;
	width: min(calc(1366 / var(--vw-min) * 100vw), calc(1366px * var(--max-percent)));
	max-width: 100%;
	margin: 0 auto;
	height: 0;
}

.mapArea__lara {
	position: absolute;
	right: 1.82%;
	bottom: 0;
	width: min(calc(438 / var(--vw-min) * 100vw), calc(438px * var(--max-percent)));
	height: auto;
	display: block;
	opacity: 0;
	transform: translate(18%, -22%);
	transition: opacity 1.2s ease, transform 1.45s cubic-bezier(0.22, 0.61, 0.36, 1);
	will-change: opacity, transform;
}

.mapArea__chara.is-inview .mapArea__lara {
	opacity: 1;
	transform: translate(0, 0);
}

@media (prefers-reduced-motion: reduce) {
	.mapArea__lara {
		opacity: 1;
		transform: none;
		transition: none;
	}

	.mapPlaces__decoSeashell,
	.mapPlaces__decoStarfish,
	.mapPlace__pinBadge {
		animation: none !important;
	}

	.mapArea__decoItem--2 {
		--map-slide-x: 0px;
		transform: none;
	}
}

.mapArea__bg {
	position: absolute;
	top: 0;
	left: 50%;
	width: min(calc(1366 / var(--vw-min) * 100vw), calc(1366px * var(--max-percent)));
	transform: translateX(-50%);
	pointer-events: none;
}

.mapArea__bg img {
	width: 100%;
	height: auto;
	display: block;
}

.mapArea__inner {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: flex-start;
	gap: 0 min(calc(16 / var(--vw-min) * 100vw), calc(16px * var(--max-percent)));
	width: min(calc(1366 / var(--vw-min) * 100vw), calc(1366px * var(--max-percent)));
	margin: 0 auto;
	padding: min(calc(126 / var(--vw-min) * 100vw), calc(126px * var(--max-percent))) min(calc(40 / var(--vw-min) * 100vw), calc(40px * var(--max-percent))) min(calc(80 / var(--vw-min) * 100vw), calc(80px * var(--max-percent))) min(calc(123 / var(--vw-min) * 100vw), calc(123px * var(--max-percent)));
}

.mapArea__side {
	position: relative;
	z-index: 6;
	flex: 0 0 min(calc(329 / var(--vw-min) * 100vw), calc(329px * var(--max-percent)));
	max-width: min(calc(329 / var(--vw-min) * 100vw), calc(329px * var(--max-percent)));
	overflow: visible;
}

.mapArea__main {
	position: relative;
	z-index: 1;
	flex: 1 1 0;
	min-width: 0;
}

.mapArea__head {
	position: relative;
	z-index: 6;
	margin-bottom: min(calc(48 / var(--vw-min) * 100vw), calc(48px * var(--max-percent)));
	overflow: visible;
}

.mapArea__title {
	position: relative;
	z-index: 6;
	display: block;
	width: min(calc(436 / var(--vw-min) * 100vw), calc(436px * var(--max-percent)));
	height: min(calc(216 / var(--vw-min) * 100vw), calc(216px * var(--max-percent)));
	margin-bottom: min(calc(52 / var(--vw-min) * 100vw), calc(52px * var(--max-percent)));
	overflow: visible;
}

.mapArea__titleLogo,
.mapArea__titleStage,
.mapArea__titleMap,
.mapArea__titleClione {
	position: absolute;
	display: block;
}

.mapArea__titleLogo {
	top: 0;
	left: 0;
	width: 84.4%;
}

.mapArea__titleStage {
	top: 28.24%;
	right: 10.09%;
	width: 15.14%;
	z-index: 1;
}

.mapArea__titleMap {
	top: 47.69%;
	left: 0;
	width: 83.49%;
	filter: drop-shadow(2px 2px 4px rgba(0, 34, 43, 0.1));
}

.mapArea__titleClione {
	top: 54.63%;
	right: 0;
	width: 15.14%;
	z-index: 3;
	pointer-events: none;
	will-change: transform;
}

.mapArea__title.is-inview .mapArea__titleClione {
	animation: mapClioneFloat 3.2s ease-in-out 0.4s infinite;
}

.mapArea__title img {
	width: 100%;
	height: auto;
	display: block;
}

.mapArea__lead {
	font-family: var(--font-main);
	font-size: min(calc(16 / var(--vw-min) * 100vw), calc(16px * var(--max-percent)));
	line-height: 2;
	color: #231815;
	width: min(calc(460 / var(--vw-min) * 100vw), calc(460px * var(--max-percent)));
}

.mapArea__lead a {
	color: var(--color-pink);
	text-decoration: underline;
}

.mapArea__anchorList {
	display: flex;
	flex-direction: column;
	gap: min(calc(8 / var(--vw-min) * 100vw), calc(8px * var(--max-percent)));
	width: min(calc(280 / var(--vw-min) * 100vw), calc(280px * var(--max-percent)));
}

.mapArea__anchorLink {
	display: flex;
	align-items: center;
	gap: min(calc(4 / var(--vw-min) * 100vw), calc(4px * var(--max-percent)));
	min-height: min(calc(48 / var(--vw-min) * 100vw), calc(48px * var(--max-percent)));
	padding: min(calc(11 / var(--vw-min) * 100vw), calc(11px * var(--max-percent))) min(calc(48 / var(--vw-min) * 100vw), calc(48px * var(--max-percent))) min(calc(11 / var(--vw-min) * 100vw), calc(11px * var(--max-percent))) min(calc(24 / var(--vw-min) * 100vw), calc(24px * var(--max-percent)));
	background-color: var(--color-pink);
	border-radius: 100px;
	box-shadow: 4px 4px 12px rgba(0, 34, 43, 0.08);
	text-decoration: none;
	color: #fff;
	font-family: var(--font-sub);
	transition: transform 0.3s ease, opacity 0.3s ease;
	position: relative;
	height: 100%;
}

.mapArea__anchorNum {
	font-size: min(calc(21 / var(--vw-min) * 100vw), calc(21px * var(--max-percent)));
	font-weight: 600;
	line-height: 1.24;
}

.mapArea__anchorName {
	font-size: min(calc(20 / var(--vw-min) * 100vw), calc(20px * var(--max-percent)));
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: 0.02em;
}

.mapArea__anchorLink::after {
	content: "";
	position: absolute;
	right: min(calc(8 / var(--vw-min) * 100vw), calc(8px * var(--max-percent)));
	top: 50%;
	transform: translateY(-50%);
	width: min(calc(32 / var(--vw-min) * 100vw), calc(32px * var(--max-percent)));
	height: min(calc(32 / var(--vw-min) * 100vw), calc(32px * var(--max-percent)));
	border: 1px solid #fff;
	border-radius: 50%;
	background: var(--map-icon-arrow) center / var(--map-icon-arrow-w) var(--map-icon-arrow-h) no-repeat;
}

.mapArea__anchorLink--project {
	background-color: #66CAE2;
}

.mapArea__anchorLink--project .mapArea__anchorName {
	font-weight: 400;
}

.mapArea__canvas {
	position: relative;
	width: 100%;
	max-width: min(calc(1005 / var(--vw-min) * 100vw), calc(1005px * var(--max-percent)));
	margin: 0 auto;
	padding-top: min(calc(160 / var(--vw-min) * 100vw), calc(160px * var(--max-percent)));
}

.mapArea__mapImg {
	width: 100%;
	height: auto;
	display: block;
}

@media screen and (min-width:769px){
	.mapArea__canvasViewport,
	.mapArea__canvasStage {
		display: block;
		width: 100%;
		max-width: 100%;
	}

	.mapArea__mapImg {
		width: 100%;
		max-width: 100%;
		height: auto;
	}

	.mapArea__mapImg,
	.mapArea__pins {
		transform: translateX(min(calc(-48 / var(--vw-min) * 100vw), calc(-48px * var(--max-percent))));
	}
}

.mapArea__canvasStage {
	position: relative;
}

.mapArea__pins {
	position: absolute;
	inset: 0;
}

.mapArea__pin {
	position: absolute;
	width: min(calc(40 / var(--vw-min) * 100vw), calc(40px * var(--max-percent)));
	height: min(calc(50 / var(--vw-min) * 100vw), calc(50px * var(--max-percent)));
	z-index: 2;
}

.mapArea__pinLink {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	background: url("../img/map_pin.png") center / contain no-repeat;
	text-decoration: none;
	color: #fff;
	transform-origin: center bottom;
	transition: transform 0.3s ease;
}

.mapArea__pinLink span {
	position: absolute;
	top: 16%;
	left: 33%;
	display: block;
	font-family: var(--font-sub);
	font-size: min(calc(22 / var(--vw-min) * 100vw), calc(22px * var(--max-percent)));
	font-weight: 600;
	line-height: 1;
	letter-spacing: -0.04em;
}

.mapArea__pin--1 { top: 75.6%; left: 20.1%; }
.mapArea__pin--2 { top: 71.3%; left: 14.7%; }
.mapArea__pin--3 { top: 60%; left: 44%; }

.mapArea__tapHint {
	display: none;
}

.mapArea__deco {
	position: absolute;
	inset: 0;
	z-index: 2;
	pointer-events: none;
}

.mapArea__decoItem {
	position: absolute;
	height: auto;
	overflow: hidden;
	--map-parallax-x: 0%;
	--map-parallax-y: 0%;
	--map-slide-x: 0px;
}

.mapArea__decoItem img {
	display: block;
	width: 100%;
	height: auto;
	will-change: transform;
}

.mapArea__decoItem--1,
.mapArea__decoItem--3,
.mapArea__decoItem--4,
.mapArea__decoItem--5 {
	aspect-ratio: 1 / 1;
}

.mapArea__decoItem--1 img,
.mapArea__decoItem--5 img {
	position: absolute;
	top: 0;
	left: -25%;
	width: 150%;
	max-width: none;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transform: translate3d(var(--map-parallax-x), 0, 0);
}

.mapArea__decoItem--3 img,
.mapArea__decoItem--4 img {
	position: absolute;
	left: 0;
	top: -25%;
	width: 100%;
	height: 150%;
	max-width: none;
	object-fit: cover;
	object-position: center;
	transform: translate3d(0, var(--map-parallax-y), 0);
}

.mapArea__decoItem--2 {
	overflow: visible;
	--map-slide-x: 80px;
	transform: translate3d(var(--map-slide-x), 0, 0);
	will-change: transform;
}

.mapArea__decoItem--2 img {
	width: 100%;
	height: auto;
}

.mapArea__decoItem--1 {
	top: 62%;
	left: -3%;
	width: min(calc(216 / var(--vw-min) * 100vw), calc(216px * var(--max-percent)));
	border-radius: 50%;
}

.mapArea__decoItem--2 {
	top: 80%;
	left: 15%;
	width: min(calc(307 / var(--vw-min) * 100vw), calc(307px * var(--max-percent)));
}

.mapArea__decoItem--3 {
	/* top: 89%; */
	bottom: calc(-50 / var(--vw-min) * 100vw);
	left: 55%;
	width: min(calc(240 / var(--vw-min) * 100vw), calc(240px * var(--max-percent)));
	transform: rotate(-12deg);
	z-index: 1;
	box-shadow: 4px 6px 16px rgba(0, 34, 43, 0.1);
	border: 2px solid #fff;
}

.mapArea__decoItem--4 {
	bottom: -9.5%;
	left: 71.5%;
	width: min(calc(136 / var(--vw-min) * 100vw), calc(136px * var(--max-percent)));
	border-radius: 50%;
}

.mapArea__decoItem--5 {
	bottom: -3.5%;
	left: 77.5%;
	width: min(calc(256 / var(--vw-min) * 100vw), calc(256px * var(--max-percent)));
	border-radius: 50%;
}

/*-----------------------------------------------
 * Responsive
-------------------------------------------------*/
@media screen and (max-width:768px){
	.mapHero::before {
		aspect-ratio: 375 / 90;
	}

	.mapHero__inner {
		flex-direction: column;
		padding-bottom: calc(346 / var(--vw-min) * 100vw);
	}

	.mapHero__visual {
		flex: 0 0 auto;
		align-self: flex-start;
		margin: auto;
		width: calc(295 / var(--vw-min) * 100vw);
	}

	.mapHero__visual img {
		aspect-ratio: 295 / 416;
	}

	.mapHero__shiga {
		top: 36.24%;
		left: 31.73%;
		width: 66.13%;
		opacity: 0.4;
	}

	.mapHero__title {
		top: 52%;
		left: 16.53%;
		width: 78.67%;
	}

	.mapHero__titleLogo {
		width: 84.32%;
	}

	.mapHero__titleStage {
		top: 28.24%;
		right: 10.17%;
		width: 15.12%;
	}

	.mapHero__titleMap {
		width: 83.39%;
		margin-top: calc(4 / var(--vw-min) * 100vw);
	}

	.mapHero__titleClione {
		top: 54.79%;
		right: 0;
		width: 15.25%;
	}

	.mapHero__deco {
		top: 73%;
		left: 5.33%;
		width: 91.45%;
	}

	.mapHero__decoInner {
		padding-bottom: 0;
		aspect-ratio: 343 / 176;
	}

	.mapHero__decoPhoto--1 {
		top: 0;
		width: calc(188 / var(--vw-min) * 100vw);
	}

	.mapHero__decoPhoto--2 {
		top: 15.82%;
		left: auto;
		right: 0;
		width: calc(188 / var(--vw-min) * 100vw);
	}

	.mapHero__decoSet {
		top: 0;
		left: 8.46%;
		width: calc(289 / var(--vw-min) * 100vw);
		aspect-ratio: 361 / 213;
		z-index: 2;
	}

	/* .mapArea {
		min-height: calc(1226 / var(--vw-min) * 100vw);
	} */

	.mapArea__lara {
		right: auto;
		left: 47.73%;
		bottom: 0;
		width: 61.87%;
	}

	.mapArea__bg {
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		width: 100%;
		height: auto;
		overflow: hidden;
		transform: none;
	}

	.mapArea__bg picture {
		display: block;
		width: 100%;
		height: 100%;
	}

	.mapArea__bg img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: top center;
	}

	.mapArea__inner {
		flex-direction: column;
		width: auto;
		/* min-height: calc(1226 / var(--vw-min) * 100vw); */
		padding: calc(40 / var(--vw-min) * 100vw) calc(26 / var(--vw-min) * 100vw) calc(260 / var(--vw-min) * 100vw);
	}

	.mapArea__deco {
		/* height: calc(1226 / var(--vw-min) * 100vw); */
		z-index: 6;
	}

	.mapArea__side,
	.mapArea__main {
		display: contents;
	}

	.mapArea__head {
		order: 1;
		position: relative;
		z-index: 6;
		width: 100%;
		margin-bottom: 0;
		overflow: visible;
	}

	.mapArea__canvas {
		order: 2;
		width: 100%;
		padding-top: 0;
	}

	.mapArea__anchors {
		order: 3;
		width: 100%;
		margin-top: calc(32 / var(--vw-min) * 100vw);
	}

	.mapArea__title {
		width: calc(172 / var(--vw-min) * 100vw);
		height: calc(85 / var(--vw-min) * 100vw);
		margin-bottom: calc(40 / var(--vw-min) * 100vw);
	}

	.mapArea__titleLogo {
		width: 84.4%;
	}

	.mapArea__titleStage {
		top: 28.3%;
		right: 10.1%;
		width: 15.1%;
	}

	.mapArea__titleMap {
		top: 48.2%;
		width: 83.7%;
		margin-top: 0;
	}

	.mapArea__titleClione {
		top: 54.12%;
		right: 0;
		width: 15.12%;
		z-index: 3;
	}

	.mapArea__lead {
		width: 100%;
		max-width: calc(335 / var(--vw-min) * 100vw);
		font-size: calc(13 / var(--vw-min) * 100vw);
		line-height: calc(26 / 13);
		letter-spacing: 0.03em;
	}

	.mapArea__anchorList {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: calc(11 / var(--vw-min) * 100vw);
		width: 100%;
		max-width: calc(335 / var(--vw-min) * 100vw);
	}

	.mapArea__anchorItem {
		min-width: 0;
	}

	.mapArea__anchorItem:last-child {
		grid-column: 1 / -1;
	}

	.mapArea__anchorLink {
		width: 100%;
		gap: calc(4 / var(--vw-min) * 100vw);
		min-height: calc(34 / var(--vw-min) * 100vw);
		padding: calc(6 / var(--vw-min) * 100vw) calc(36 / var(--vw-min) * 100vw) calc(6 / var(--vw-min) * 100vw) calc(16 / var(--vw-min) * 100vw);
		box-shadow: none;
	}

	.mapArea__anchorNum,
	.mapArea__anchorName {
		font-size: calc(14 / var(--vw-min) * 100vw);
		font-weight: 500;
		line-height: calc(20 / 14);
	}

	.mapArea__anchorLink::after {
		right: calc(16 / var(--vw-min) * 100vw);
		width: var(--map-icon-arrow-w);
		height: var(--map-icon-arrow-h);
		border: 0;
		border-radius: 0;
		background: var(--map-icon-arrow) center / contain no-repeat;
	}

	.mapArea__canvas {
		margin-top: calc(24 / var(--vw-min) * 100vw);
		max-width: calc(335 / var(--vw-min) * 100vw);
		height: calc(596 / var(--vw-min) * 100vw);
		border: 2px solid var(--color-pink);
		border-radius: 0;
		overflow: hidden;
		touch-action: none;
	}

	.mapArea__canvasViewport {
		width: 100%;
		height: 100%;
		overflow: hidden;
		touch-action: none;
	}

	.mapArea__canvasStage {
		transform-origin: 0 0;
		will-change: transform;
	}

	.mapArea__mapImg {
		display: block;
		width: auto;
		height: auto;
		max-width: none;
		object-fit: unset;
		transform: none;
		pointer-events: none;
		user-select: none;
		-webkit-user-drag: none;
	}

	.mapArea__pin {
		width: 96px;
		height: 120px;
	}

	.mapArea__pinLink span {
		font-size: 52px;
	}

	.mapArea__tapHint {
		display: block;
		position: absolute;
		top: 50%;
		left: 50%;
		z-index: 3;
		width: calc(151 / var(--vw-min) * 100vw);
		height: calc(136 / var(--vw-min) * 100vw);
		margin: 0;
		opacity: 0;
		visibility: hidden;
		transform: translate(-50%, -50%);
		transition: opacity 0.3s ease, visibility 0.3s ease;
		pointer-events: none;
	}

	.mapArea__tapHint.is-show {
		opacity: 1;
		visibility: visible;
	}

	.mapArea__tapHint.is-hidden {
		opacity: 0;
		visibility: hidden;
	}

	.mapArea__tapHintInner {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		height: 100%;
		border-radius: calc(6 / var(--vw-min) * 100vw);
		background-color: rgba(192, 169, 119, 0.9);
	}

	.mapArea__tapHintIcon {
		display: block;
		width: calc(91 / var(--vw-min) * 100vw);
		flex-shrink: 0;
	}

	.mapArea__tapHintIcon.is-animate {
		animation: mapAreaTapHintMove 0.7s ease-in-out 4 alternate forwards;
	}

	@keyframes mapAreaTapHintMove {
		from {
			transform: translateX(-30%);
		}

		to {
			transform: translateX(30%);
		}
	}

	.mapArea__tapHint img {
		width: 100%;
		height: auto;
		display: block;
	}

	.mapArea__decoItem--1 {
		top: calc(61 / var(--vw-min) * 100vw);
		left: calc(219 / var(--vw-min) * 100vw);
		width: calc(96 / var(--vw-min) * 100vw);
		z-index: 6;
		border-radius: 50%;
	}

	.mapArea__decoItem--2 {
		/* top: 81.3%; */
		top: unset;
		left: 5%;
		right: auto;
		bottom: 0;
		width: calc(170 / var(--vw-min) * 100vw);
		z-index: 2;
	}

	.mapArea__decoItem--3 {
		/* top: calc(1096 / var(--vw-min) * 100vw); */
		top: unset;
		bottom: calc(-10 / var(--vw-min) * 100vw);
		left: 20%;
		width: calc(130 / var(--vw-min) * 100vw);
		z-index: 1;
		/* border-radius: 50%; */
	}

	.mapArea__decoItem--4 {
		top: unset;
		left: 57%;
		bottom: calc(-40 / var(--vw-min) * 100vw);
		width: calc(72 / var(--vw-min) * 100vw);
		border-radius: 50%;
	}

	.mapArea__decoItem--5 {
		top: 90%;
		left: 73%;
		bottom: auto;
		width: calc(130 / var(--vw-min) * 100vw);
		border-radius: 50%;
	}
}

/*-----------------------------------------------
 * Places
-------------------------------------------------*/
.mapPlaces {
	position: relative;
	padding-top: min(calc(132 / var(--vw-min) * 100vw), 132px);
	padding-bottom: min(calc(120 / var(--vw-min) * 100vw), 120px);
	background-color: #66CAE2;
	z-index: 0;
	margin-top: min(calc(120 / var(--vw-min) * 100vw), calc(120px * var(--max-percent)));
}

.mapPlaces--project {
	margin-top: 0;
}

.mapPlaces__inner {
	position: relative;
	z-index: 2;
	width: min(calc(1192 / var(--vw-min) * 100vw), calc(1192px * var(--max-percent)));
	margin: 0 auto;
	padding: 0 min(calc(40 / var(--vw-min) * 100vw), calc(40px * var(--max-percent)));
}

.mapPlaces .newsBg__color {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 0;
	background-color: #66CAE2;
}

.newsBg__contArea {
	width: min(calc(1366 / var(--vw-min) * 100vw), calc(1366px * var(--max-percent)));
	min-width: min(1366px, 100%);
	max-width: 100%;
	margin: 0 auto;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	pointer-events: none;
}

.newsBg__contArea.-img {
	z-index: 2;
}

.newsBg__img {
	position: absolute;
	width: min(calc(456 / var(--vw-min) * 100vw), 456px);
	height: min(calc(264 / var(--vw-min) * 100vw), 264px);
	left: max(calc(-8 / var(--vw-min) * 100vw), -8px);
	bottom: max(calc(-104 / var(--vw-min) * 100vw), -104px);
}

.newsBg__img img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.mapPlaces__head {
	position: relative;
	text-align: center;
	margin-bottom: min(calc(48 / var(--vw-min) * 100vw), calc(48px * var(--max-percent)));
}
@media screen and (max-width:768px){
	.mapPlaces__head {
		margin-bottom: 0;
	}
}

.mapPlaces__titleEn {
	position: relative;
	font-family: var(--font-en-sub);
	font-size: min(calc(136 / var(--vw-min) * 100vw), calc(136px * var(--max-percent)));
	font-weight: 500;
	font-style: italic;
	line-height: 1;
	color: #fff;
}

.mapPlaces__titleEnSvg {
	display: block;
	width: min(calc(820 / var(--vw-min) * 100vw), calc(820px * var(--max-percent)));
	max-width: 100%;
	height: auto;
	margin: 0 auto;
	overflow: visible;
	clip-path: inset(0 100% 0 0);
}

.mapPlaces__titleEnText {
	font-family: "Playfair Display", var(--font-en-sub), serif;
	font-size: 136px;
	font-weight: 500;
	font-style: italic;
	fill: #fff;
	fill-opacity: 0;
	stroke: #fff;
	stroke-width: 1.5;
	stroke-linejoin: round;
	stroke-linecap: round;
	stroke-dasharray: 2400;
	stroke-dashoffset: 2400;
	opacity: 0.5;
}

.mapPlaces__head.is-draw .mapPlaces__titleEnSvg {
	animation: mapPlacesTitleReveal 1.8s ease-in forwards;
}

.mapPlaces__head.is-draw .mapPlaces__titleEnText {
	animation: mapPlacesTitleDraw 1.8s ease-in forwards;
}

@keyframes mapPlacesTitleReveal {
	from {
		clip-path: inset(0 100% 0 0);
	}

	to {
		clip-path: inset(0 0 0 0);
	}
}

@keyframes mapPlacesTitleDraw {
	0% {
		stroke-dashoffset: 2400;
		fill-opacity: 0;
	}

	55% {
		fill-opacity: 0;
	}

	80% {
		fill-opacity: 1;
	}

	100% {
		stroke-dashoffset: 0;
		fill-opacity: 1;
	}
}

.mapPlaces__titleJa {
	position: relative;
	z-index: 1;
	display: inline-block;
	margin-top: min(calc(-34 / var(--vw-min) * 100vw), calc(-34px * var(--max-percent)));
	filter: drop-shadow(2px 2px 4px rgba(0, 34, 43, 0.1));
	opacity: 0;
	transform: translateY(18px);
	transition: opacity 0.8s ease, transform 0.8s ease;
}

.mapPlaces__head.is-title-ja .mapPlaces__titleJa {
	opacity: 1;
	transform: translateY(0);
}

.mapPlaces__titleJa img {
	display: block;
	width: min(calc(278 / var(--vw-min) * 100vw), 278px);
	height: auto;
}

.mapPlaces--project .mapPlaces__titleJa img {
	width: min(calc(368 / var(--vw-min) * 100vw), 368px);
}

@media (prefers-reduced-motion: reduce) {
	.mapPlaces__titleEnSvg {
		clip-path: none;
	}

	.mapPlaces__titleEnText {
		stroke-dashoffset: 0;
		fill-opacity: 1;
	}

	.mapPlaces__titleJa {
		opacity: 1;
		transform: none;
		transition: none;
	}

	.mapPlaces__head.is-draw .mapPlaces__titleEnSvg,
	.mapPlaces__head.is-draw .mapPlaces__titleEnText {
		animation: none;
	}
}

.mapPlaces__decoSeashell,
.mapPlaces__decoStarfish {
	position: absolute;
	pointer-events: none;
	transform-origin: center center;
}

.mapPlaces__decoSeashell {
	top: min(calc(74 / var(--vw-min) * 100vw), calc(74px * var(--max-percent)));
	right: 17%;
	width: min(calc(64 / var(--vw-min) * 100vw), calc(64px * var(--max-percent)));
	height: auto;
}

.mapPlaces__decoStarfish {
	top: 0;
	left: 19%;
	width: min(calc(98 / var(--vw-min) * 100vw), calc(98px * var(--max-percent)));
	height: auto;
}

.mapPlaces__decoSeashell.is-inview {
	animation: mapPlacesDecoWiggle 1.8s ease-in-out infinite;
}

.mapPlaces__decoStarfish.is-inview {
	animation: mapPlacesDecoWiggle 2.1s ease-in-out 0.2s infinite reverse;
}

@keyframes mapPlacesDecoWiggle {
	0%,
	100% {
		transform: rotate(-8deg);
	}

	50% {
		transform: rotate(8deg);
	}
}

.mapPlaces__bgDeco {
	position: absolute;
	top: 8%;
	left: 0;
	z-index: 1;
	width: min(calc(228 / var(--vw-min) * 100vw), 228px);
	height: auto;
	pointer-events: none;
}

.mapPlaces__list {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	gap: min(calc(40 / var(--vw-min) * 100vw), calc(40px * var(--max-percent)));
}

@media screen and (max-width:768px){
	.mapPlaces__list {
		gap: calc(24/ var(--vw-min) * 100vw);
	}
}
.mapPlace {
	position: relative;
	scroll-margin-top: min(calc(100 / var(--vw-min) * 100vw), calc(100px * var(--max-percent)));
}

.mapPlace__pinBadge {
	position: absolute;
	top: 0;
	left: -2%;
	z-index: 2;
	width: min(calc(128 / var(--vw-min) * 100vw), 128px);
	height: min(calc(160 / var(--vw-min) * 100vw), 160px);
	background: url("../img/pin.png") center / contain no-repeat;
	pointer-events: none;
	transform-origin: center center;
}

.mapPlaces--project .mapPlace__pinBadge {
	background-image: url("../img/pin2.png");
}

.mapPlaces--project .mapPlace__body {
	flex-direction: column;
	align-items: stretch;
	padding: min(calc(96 / var(--vw-min) * 100vw), calc(96px * var(--max-percent))) min(calc(64 / var(--vw-min) * 100vw), calc(64px * var(--max-percent))) min(calc(100 / var(--vw-min) * 100vw), calc(100px * var(--max-percent))) min(calc(100 / var(--vw-min) * 100vw), calc(100px * var(--max-percent)));
	gap: min(calc(40 / var(--vw-min) * 100vw), calc(40px * var(--max-percent)));
}

.mapPlaces--project .mapPlace__head {
	width: 100%;
	margin-bottom: 0;
}

.mapPlaces--project .mapPlace__name {
	font-size: min(calc(36 / var(--vw-min) * 100vw), calc(36px * var(--max-percent)));
	line-height: 1.4;
}

.mapPlaces--project .mapPlace__nameLine {
	width: 100%;
	height: min(calc(6 / var(--vw-min) * 100vw), 6px);
	background: url("../img/title-line.svg") left center / auto 100% repeat-x;
}

.mapPlaces--project .mapPlace__nameLine img {
	display: none;
}

.mapPlaces--project .mapPlace__main {
	display: flex;
	align-items: flex-start;
	gap: min(calc(48 / var(--vw-min) * 100vw), calc(48px * var(--max-percent)));
}

.mapPlaces--project .mapPlace__cont {
	flex: 1 1 0;
	min-width: 0;
}

.mapPlaces--project .mapPlace--noImg .mapPlace__main {
	display: block;
}

.mapPlaces--project .mapPlace--noImg .mapPlace__cont {
	flex: none;
	width: 100%;
	max-width: 100%;
}

.mapPlaces--project .mapPlace__img {
	flex: 0 1 min(calc(360 / var(--vw-min) * 100vw), calc(360px * var(--max-percent)));
	max-width: min(calc(360 / var(--vw-min) * 100vw), calc(360px * var(--max-percent)));
	width: 100%;
}

.mapPlaces--project .mapPlace__imgListIn img {
	aspect-ratio: auto;
	width: 100%;
	height: auto;
	object-fit: contain;
}

/* 冒頭記号つき行のぶら下げインデント */
.indent {
	display: block;
	padding-left: 1.1em;
	text-indent: -1.1em;
}

/* PCのみ：縦長画像などを小さくしてセンター寄せ */
@media screen and (min-width: 769px) {
	img.imgPcS {
		display: block;
		width: 50%;
		margin: 0 auto;
	}

	.mapPlaces--project .mapPlace__imgListIn img.imgPcS {
		width: 100%;
		margin: 0;
	}
}

.mapPlace__meta {
	display: flex;
	flex-direction: column;
	gap: min(calc(16 / var(--vw-min) * 100vw), calc(16px * var(--max-percent)));
	margin-bottom: min(calc(24 / var(--vw-min) * 100vw), calc(24px * var(--max-percent)));
}

.mapPlace__metaItem {
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: start;
	gap: min(calc(12 / var(--vw-min) * 100vw), calc(12px * var(--max-percent)));
	font-family: var(--font-main);
	font-size: min(calc(16 / var(--vw-min) * 100vw), calc(16px * var(--max-percent)));
	line-height: 2;
}

.mapPlace__metaItem dt {
	flex-shrink: 0;
	padding: min(calc(2 / var(--vw-min) * 100vw), calc(2px * var(--max-percent))) min(calc(20 / var(--vw-min) * 100vw), calc(20px * var(--max-percent)));
	font-weight: 500;
	line-height: 1.75;
	color: #fff;
	background-color: var(--color-pink);
	border-radius: 100px;
	white-space: nowrap;
}

.mapPlace__metaItem dd {
	color: #231815;
}

.mapPlace__note {
	font-family: var(--font-main);
	font-size: min(calc(16 / var(--vw-min) * 100vw), calc(16px * var(--max-percent)));
	line-height: 2;
	color: #231815;
	margin-bottom: min(calc(12 / var(--vw-min) * 100vw), calc(12px * var(--max-percent)));
}

.mapPlace__pinBadge.is-inview {
	animation: mapPlacePinSpin 0.9s cubic-bezier(0.22, 0.61, 0.36, 1) both;
}

@keyframes mapPlacePinSpin {
	from {
		transform: rotate(0deg);
	}

	to {
		transform: rotate(360deg);
	}
}

.mapPlace__pinBadge span {
	position: absolute;
	top: min(calc(39 / var(--vw-min) * 100vw), 39px);
	left: 46%;
	transform: translateX(-50%);
	display: block;
	font-family: var(--font-sub);
	font-size: min(calc(62 / var(--vw-min) * 100vw), 62px);
	font-weight: 600;
	line-height: 1;
	color: #fff;
	letter-spacing: -0.04em;
}

.mapPlace__body {
	margin-top: min(calc(64 / var(--vw-min) * 100vw), calc(64px * var(--max-percent)));
	padding: min(calc(96 / var(--vw-min) * 100vw), calc(96px * var(--max-percent))) 0 min(calc(100 / var(--vw-min) * 100vw), calc(100px * var(--max-percent))) min(calc(100 / var(--vw-min) * 100vw), calc(100px * var(--max-percent)));
	background-color: #fbf6e9;
	border-radius: min(calc(32 / var(--vw-min) * 100vw), calc(32px * var(--max-percent)));
	box-shadow: 6px 6px 20px rgba(0, 82, 102, 0.14);
	display: flex;
	align-items: center;
	gap: 0 min(calc(64 / var(--vw-min) * 100vw), calc(64px * var(--max-percent)));
	flex-wrap: wrap;
}

.mapPlace__campaign {
	flex: 1 1 100%;
	display: flex;
	justify-content: center;
	box-sizing: border-box;
	margin: min(calc(40 / var(--vw-min) * 100vw), calc(40px * var(--max-percent))) 0 0;
	margin-left: max(calc(-100 / var(--vw-min) * 100vw), calc(-100px * var(--max-percent)));
	width: calc(100% + min(calc(100 / var(--vw-min) * 100vw), calc(100px * var(--max-percent))));
	padding: 0 min(calc(40 / var(--vw-min) * 100vw), calc(40px * var(--max-percent)));
}

.mapPlace__campaignLink {
	display: inline-flex;
	align-items: center;
	gap: min(calc(4 / var(--vw-min) * 100vw), calc(4px * var(--max-percent)));
	min-height: min(calc(48 / var(--vw-min) * 100vw), calc(48px * var(--max-percent)));
	padding: min(calc(11 / var(--vw-min) * 100vw), calc(11px * var(--max-percent))) min(calc(48 / var(--vw-min) * 100vw), calc(48px * var(--max-percent))) min(calc(11 / var(--vw-min) * 100vw), calc(11px * var(--max-percent))) min(calc(24 / var(--vw-min) * 100vw), calc(24px * var(--max-percent)));
	background-color: var(--color-pink);
	border-radius: 100px;
	box-shadow: 4px 4px 12px rgba(0, 34, 43, 0.08);
	text-decoration: none;
	color: #fff;
	font-family: var(--font-sub);
	font-size: min(calc(20 / var(--vw-min) * 100vw), calc(20px * var(--max-percent)));
	font-weight: 400;
	line-height: 1.3;
	letter-spacing: 0.02em;
	transition: transform 0.3s ease, opacity 0.3s ease;
	position: relative;
	max-width: 100%;
	box-sizing: border-box;
}

.mapPlace__campaignLink::after {
	content: "";
	position: absolute;
	right: min(calc(8 / var(--vw-min) * 100vw), calc(8px * var(--max-percent)));
	top: 50%;
	transform: translateY(-50%);
	width: min(calc(32 / var(--vw-min) * 100vw), calc(32px * var(--max-percent)));
	height: min(calc(32 / var(--vw-min) * 100vw), calc(32px * var(--max-percent)));
	border: 1px solid #fff;
	border-radius: 50%;
	background: var(--map-icon-arrow) center / var(--map-icon-arrow-w) var(--map-icon-arrow-h) no-repeat;
}

.mapPlace__text {
	flex: 1 1 0;
	min-width: 0;
}

.mapPlace__head {
	margin-bottom: min(calc(40 / var(--vw-min) * 100vw), calc(40px * var(--max-percent)));
}

.mapPlace__name {
	font-family: var(--font-sub);
	font-size: min(calc(48 / var(--vw-min) * 100vw), calc(48px * var(--max-percent)));
	font-weight: 600;
	line-height: 1.2;
	color: var(--color-pink);
}

.mapPlace__nameLine {
	width: min(calc(410 / var(--vw-min) * 100vw), calc(410px * var(--max-percent)));
	margin-top: min(calc(24 / var(--vw-min) * 100vw), calc(24px * var(--max-percent)));
}

.mapPlace__nameLine img {
	width: 100%;
	height: auto;
	display: block;
}

.mapPlace__img {
	flex: 0 0 min(calc(548 / var(--vw-min) * 100vw), calc(548px * var(--max-percent)));
	max-width: min(calc(548 / var(--vw-min) * 100vw), calc(548px * var(--max-percent)));
	margin: 0;
	position: relative;
}

.mapPlace__imgSwiper {
	overflow: hidden;
	width: 100%;
	border-radius: inherit;
}

.mapPlace__imgList {
	width: 100%;
}

.mapPlace__imgListIn {
	overflow: hidden;
}

.mapPlace__imgListIn img {
	width: 100%;
	height: auto;
	display: block;
	aspect-ratio: 548 / 308;
	object-fit: cover;
}

.mapPlace__imgPagerArea {
	display: none;
	width: 100%;
	margin: min(calc(12 / var(--vw-min) * 100vw), calc(12px * var(--max-percent))) auto 0;
	justify-content: center;
	align-items: center;
}

.mapPlace__img--slider .mapPlace__imgPagerArea {
	display: flex;
}

.mapPlace__imgPaginations,
.mapPlace__imgPaginations.swiper-pagination-bullets.swiper-pagination-horizontal {
	display: flex;
	position: relative;
	margin: 0 auto;
	top: auto;
	bottom: auto;
	left: auto;
	transform: none;
	width: auto;
	--swiper-pagination-color: var(--color-pink);
	--swiper-pagination-bullet-inactive-color: #D3BD8F;
	--swiper-pagination-bullet-inactive-opacity: 0.7;
	--swiper-pagination-bullet-size: 8px;
}

.mapPlace__imgPaginations.swiper-pagination {
	position: relative;
	inset: auto;
}

.mapPlace__imgPaginations .swiper-pagination-bullet {
	appearance: none;
	border: 0;
	padding: 0;
	background-color: #D3BD8F;
}

.mapPlace__imgPaginations .swiper-pagination-bullet-active {
	background-color: var(--color-pink);
}

.mapPlace__imgPagination,
.mapPlace__imgPaginations.swiper-pagination-horizontal.swiper-pagination-bullets .mapPlace__imgPagination.swiper-pagination-bullet {
	display: block;
	flex-shrink: 0;
	cursor: pointer;
	pointer-events: auto;
	width: 8px;
	height: 8px;
	margin: 0 7px;
	background-color: #D3BD8F;
	border-radius: unset;
	-webkit-mask: url(../img/icon_pagination.svg) no-repeat center / contain;
	mask: url(../img/icon_pagination.svg) no-repeat center / contain;
	opacity: 0.7;
	transition: opacity 0.3s ease, transform 0.3s ease, background-color 0.3s ease;
}

.mapPlace__imgPaginations.swiper-pagination-horizontal.swiper-pagination-bullets .mapPlace__imgPagination.swiper-pagination-bullet-active {
	background-color: var(--color-pink);
	transform: scale(1.25);
	opacity: 1;
}

.mapPlace__desc {
	font-family: var(--font-main);
	font-size: min(calc(16 / var(--vw-min) * 100vw), calc(16px * var(--max-percent)));
	line-height: 2;
	color: #231815;
	margin-bottom: min(calc(16 / var(--vw-min) * 100vw), calc(16px * var(--max-percent)));
}

.mapPlace__address {
	display: flex;
	align-items: flex-start;
	gap: min(calc(8 / var(--vw-min) * 100vw), calc(8px * var(--max-percent)));
	font-family: var(--font-main);
	font-size: min(calc(16 / var(--vw-min) * 100vw), calc(16px * var(--max-percent)));
	line-height: 2;
	color: #231815;
	margin-bottom: min(calc(20 / var(--vw-min) * 100vw), calc(20px * var(--max-percent)));
}

.mapPlace__addressIcon {
	flex-shrink: 0;
	width: min(calc(24 / var(--vw-min) * 100vw), calc(24px * var(--max-percent)));
	height: auto;
}

.mapPlace__episodes {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: min(calc(12 / var(--vw-min) * 100vw), calc(12px * var(--max-percent)));
	font-family: var(--font-main);
	font-size: min(calc(16 / var(--vw-min) * 100vw), calc(16px * var(--max-percent)));
	margin-bottom: min(calc(24 / var(--vw-min) * 100vw), calc(24px * var(--max-percent)));
}

.mapPlace__episodes dt {
	flex-shrink: 0;
	padding: min(calc(2 / var(--vw-min) * 100vw), calc(2px * var(--max-percent))) min(calc(20 / var(--vw-min) * 100vw), calc(20px * var(--max-percent)));
	font-weight: 500;
	color: #fff;
	background-color: var(--color-pink);
	border-radius: 100px;
}

.mapPlace__episodes dd {
	color: var(--color-pink);
	font-weight: 500;
}

.mapPlace__linkTxt {
	display: inline-flex;
	align-items: center;
	gap: min(calc(4 / var(--vw-min) * 100vw), calc(4px * var(--max-percent)));
	font-family: var(--font-main);
	font-size: min(calc(16 / var(--vw-min) * 100vw), calc(16px * var(--max-percent)));
	font-weight: 500;
	line-height: 1.75;
	color: var(--color-pink);
	text-decoration: underline;
}

.mapPlace__linkTxt::after {
	content: "";
	flex-shrink: 0;
	width: min(calc(10 / var(--vw-min) * 100vw), calc(10px * var(--max-percent)));
	height: min(calc(10 / var(--vw-min) * 100vw), calc(10px * var(--max-percent)));
	border: 1px solid var(--color-pink);
	border-radius: 50%;
	background-color: var(--color-pink);
	-webkit-mask-image: var(--map-icon-arrow);
	mask-image: var(--map-icon-arrow);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: var(--map-icon-arrow-w) var(--map-icon-arrow-h);
	mask-size: var(--map-icon-arrow-w) var(--map-icon-arrow-h);
	transform: rotate(-135deg);
	transition: transform 0.3s ease;
}

@media screen and (max-width:768px){
	.mapPlaces {
		padding-top: calc(64 / var(--vw-min) * 100vw);
		padding-bottom: calc(48 / var(--vw-min) * 100vw);
		margin-top: 0;
	}

	.mapPlaces__inner {
		width: auto;
		padding: 0 calc(8 / var(--vw-min) * 100vw);
	}

	.newsBg__contArea {
		width: 100%;
		min-width: 100%;
	}

	.mapPlaces .newsBg__color {
		overflow: hidden;
	}

	.newsBg__img {
		width: calc(276 / var(--vw-min) * 100vw);
		height: calc(160 / var(--vw-min) * 100vw);
		left: calc(-32 / var(--vw-min) * 100vw);
		bottom: calc(-62 / var(--vw-min) * 100vw);
	}

	.mapPlaces__bgDeco {
		display: none;
	}

	.mapPlaces__titleEn {
		font-size: calc(72 / var(--vw-min) * 100vw);
	}

	.mapPlaces__titleEnSvg {
		width: calc(375 / var(--vw-min) * 100vw);
	}

	.mapPlaces__titleJa {
		margin-top: calc(-22 / var(--vw-min) * 100vw);
	}

	.mapPlaces__titleJa img {
		width: calc(174 / var(--vw-min) * 100vw);
	}

	.mapPlaces--project .mapPlaces__titleJa img {
		width: calc(230 / var(--vw-min) * 100vw);
	}

	.mapPlaces__decoSeashell {
		top: calc(42 / var(--vw-min) * 100vw);
		right: 1.5%;
		width: calc(34 / var(--vw-min) * 100vw);
	}

	.mapPlaces__decoStarfish {
		left: 1.5%;
		width: calc(48 / var(--vw-min) * 100vw);
	}

	.mapPlace__pinBadge {
		top: calc(-2 / var(--vw-min) * 100vw);
		left: calc(12 / var(--vw-min) * 100vw);
		width: calc(64 / var(--vw-min) * 100vw);
		height: calc(80 / var(--vw-min) * 100vw);
	}

	.mapPlace__pinBadge span {
		top: calc(20 / var(--vw-min) * 100vw);
		font-size: calc(28 / var(--vw-min) * 100vw);
	}

	.mapPlace__body {
		margin-top: calc(40 / var(--vw-min) * 100vw);
		padding: 0 0 calc(24 / var(--vw-min) * 100vw);
		border-radius: calc(16 / var(--vw-min) * 100vw);
		box-shadow: 4px 4px 16px rgba(0, 82, 102, 0.1);
		flex-direction: column;
		align-items: stretch;
		gap: 0;
	}

	.mapPlace__campaign {
		order: 1;
		width: auto;
		max-width: 100%;
		margin: calc(20 / var(--vw-min) * 100vw) calc(16 / var(--vw-min) * 100vw) 0;
		margin-left: calc(16 / var(--vw-min) * 100vw);
		padding: 0;
		box-sizing: border-box;
	}

	.mapPlace__campaignLink {
		display: inline-flex;
		width: auto;
		max-width: 100%;
		gap: calc(4 / var(--vw-min) * 100vw);
		min-height: calc(34 / var(--vw-min) * 100vw);
		padding: calc(8 / var(--vw-min) * 100vw) calc(32 / var(--vw-min) * 100vw) calc(8 / var(--vw-min) * 100vw) calc(14 / var(--vw-min) * 100vw);
		box-shadow: none;
		font-size: calc(13 / var(--vw-min) * 100vw);
		font-weight: 400;
		line-height: 1.4;
	}

	.mapPlace__campaignLink::after {
		right: calc(12 / var(--vw-min) * 100vw);
		width: var(--map-icon-arrow-w);
		height: var(--map-icon-arrow-h);
		border: 0;
		border-radius: 0;
		background: var(--map-icon-arrow) center / contain no-repeat;
	}

	.mapPlaces--project .mapPlace__body {
		padding: 0 0 calc(24 / var(--vw-min) * 100vw);
		gap: 0;
	}

	.mapPlace__text {
		flex: 0 0 auto;
		width: 100%;
	}

	.mapPlace__img {
		flex: 0 0 auto;
		max-width: none;
		width: 100%;
		order: -1;
		position: relative;
		border-radius: calc(16 / var(--vw-min) * 100vw) calc(16 / var(--vw-min) * 100vw) 0 0;
	}

	.mapPlaces--project .mapPlace__main {
		display: contents;
	}

	.mapPlaces--project .mapPlace__img {
		order: -2;
		flex: 0 0 auto;
		width: 100%;
		max-width: 100%;
		margin: 0 auto;
		border-radius: calc(16 / var(--vw-min) * 100vw) calc(16 / var(--vw-min) * 100vw) 0 0;
	}

	.mapPlaces--project .mapPlace__head {
		order: -1;
		text-align: left;
	}

	.mapPlaces--project .mapPlace--noImg .mapPlace__head {
		padding-top: calc(50 / var(--vw-min) * 100vw);
	}

	.mapPlaces--project .mapPlace__cont {
		order: 0;
	}

	.mapPlace__imgListIn img {
		aspect-ratio: 359 / 202;
	}

	.mapPlaces--project .mapPlace__imgListIn img {
		aspect-ratio: auto;
	}

	.mapPlace__imgPagerArea {
		margin-top: calc(12 / var(--vw-min) * 100vw);
	}

	.mapPlace__head {
		margin: 0;
		padding: calc(24 / var(--vw-min) * 100vw) calc(16 / var(--vw-min) * 100vw) 0;
		text-align: center;
	}

	.mapPlace__name {
		font-size: calc(24 / var(--vw-min) * 100vw);
		line-height: 1.33;
	}

	.mapPlaces--project .mapPlace__name {
		font-size: calc(20 / var(--vw-min) * 100vw);
		line-height: 1.4;
	}

	.mapPlace__nameLine {
		width: calc(327 / var(--vw-min) * 100vw);
		max-width: 100%;
		margin: calc(16 / var(--vw-min) * 100vw) auto 0;
	}

	.mapPlaces--project .mapPlace__nameLine {
		margin-left: 0;
		margin-right: 0;
		height: calc(6 / var(--vw-min) * 100vw);
	}

	.mapPlace__cont {
		padding: calc(20 / var(--vw-min) * 100vw) calc(16 / var(--vw-min) * 100vw) 0;
	}

	.mapPlace__desc,
	.mapPlace__address,
	.mapPlace__episodes,
	.mapPlace__metaItem,
	.mapPlace__note {
		font-size: calc(13 / var(--vw-min) * 100vw);
		line-height: 2;
	}

	.mapPlace__meta {
		gap: calc(12 / var(--vw-min) * 100vw);
		margin-bottom: calc(16 / var(--vw-min) * 100vw);
	}

	.mapPlace__metaItem {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: calc(4 / var(--vw-min) * 100vw);
	}

	.mapPlace__metaItem dt {
		padding: calc(1 / var(--vw-min) * 100vw) calc(12 / var(--vw-min) * 100vw) calc(2 / var(--vw-min) * 100vw);
		font-size: calc(12 / var(--vw-min) * 100vw);
		line-height: 1.67;
	}

	.mapPlace__note {
		margin-bottom: calc(8 / var(--vw-min) * 100vw);
	}

	.mapPlace__episodes {
		margin-bottom: calc(14 / var(--vw-min) * 100vw);
	}
	.mapPlace__address {
		margin-bottom: calc(12 / var(--vw-min) * 100vw);
	}

	.mapPlace__addressIcon {
		width: calc(18 / var(--vw-min) * 100vw);
	}

	.mapPlace__episodes dt {
		padding: calc(1 / var(--vw-min) * 100vw) calc(12 / var(--vw-min) * 100vw) calc(2 / var(--vw-min) * 100vw);
		font-size: calc(12 / var(--vw-min) * 100vw);
		line-height: 1.67;
	}

	.mapPlace__linkTxt {
		font-size: calc(13 / var(--vw-min) * 100vw);
		line-height: 1.85;
	}

	.mapPlace__linkTxt::after {
		width: var(--map-icon-arrow-w);
		height: var(--map-icon-arrow-h);
		border: 0;
		border-radius: 0;
		-webkit-mask-size: contain;
		mask-size: contain;
	}

	.mapPageTop {
		width: auto;
		bottom: 1%;
		right: 4%;
	}

	.mapPageTop__link {
		width: calc(60 / var(--vw-min) * 100vw);
	}
}

@media screen and (hover: hover) and (pointer: fine) {
	.mapArea__anchorLink:hover {
		transform: scale(1.05);
		opacity: 0.9;
	}

	.mapArea__anchorLink--project:hover {
		transform: scale(1.05);
		opacity: 0.9;
	}

	.mapPlace__campaignLink:hover {
		transform: scale(1.05);
		opacity: 0.9;
	}

	.mapArea__pinLink:hover {
		transform: scale(1.08);
	}

	.mapPageTop__link:hover {
		transform: scale(1.05);
	}

	.mapPlace__linkTxt:hover {
		opacity: 0.8;
	}

	.mapPlace__linkTxt:hover::after {
		transform: translate(4px, -4px) rotate(-135deg);
	}

	.mapNotice__langLink:hover {
		background-color: var(--color-pink);
		color: #fff;
		transform: scale(1.03);
		opacity: 0.9;
	}
}

/*-----------------------------------------------
 * Footer
-------------------------------------------------*/
.mapPage .pFooter:before {
	display: none;
}

.mapNotice {
	position: relative;
	background-color: #66CAE2;
	padding-bottom: min(calc(224 / var(--vw-min) * 100vw), 224px);
}

.mapNotice__inner {
	width: min(calc(1192 / var(--vw-min) * 100vw), calc(1192px * var(--max-percent)));
	margin: 0 auto;
	padding: 0 min(calc(40 / var(--vw-min) * 100vw), calc(40px * var(--max-percent)));
}

.mapNotice__head {
	margin-bottom: min(calc(32 / var(--vw-min) * 100vw), calc(32px * var(--max-percent)));
	text-align: center;
}

.mapNotice__title {
	font-family: var(--font-sub);
	font-size: min(calc(48 / var(--vw-min) * 100vw), calc(48px * var(--max-percent)));
	font-weight: 600;
	line-height: 1.2;
	color: var(--color-pink);
}

.mapNotice__langs {
	margin-bottom: min(calc(56 / var(--vw-min) * 100vw), calc(56px * var(--max-percent)));
}

.mapNotice__langList {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: min(calc(8 / var(--vw-min) * 100vw), calc(8px * var(--max-percent)));
}

.mapNotice__langLink {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: min(calc(120 / var(--vw-min) * 100vw), calc(120px * var(--max-percent)));
	min-height: min(calc(40 / var(--vw-min) * 100vw), calc(40px * var(--max-percent)));
	padding: min(calc(8 / var(--vw-min) * 100vw), calc(8px * var(--max-percent))) min(calc(16 / var(--vw-min) * 100vw), calc(16px * var(--max-percent)));
	border: 1px solid var(--color-pink);
	border-radius: 100px;
	background-color: #fff;
	color: var(--color-pink);
	font-family: var(--font-main);
	font-size: min(calc(14 / var(--vw-min) * 100vw), calc(14px * var(--max-percent)));
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.04em;
	text-decoration: none;
	transition: background-color 0.3s ease, color 0.3s ease, opacity 0.3s ease, transform 0.3s ease;
}

.mapNotice__body {
	padding: min(calc(96 / var(--vw-min) * 100vw), calc(96px * var(--max-percent))) min(calc(96 / var(--vw-min) * 100vw), calc(96px * var(--max-percent))) min(calc(64 / var(--vw-min) * 100vw), calc(64px * var(--max-percent)));
	border-radius: min(calc(32 / var(--vw-min) * 100vw), calc(32px * var(--max-percent)));
	box-shadow: 6px 6px 20px rgba(0, 82, 102, 0.14);
	background-color: #fbf6e9;
	color: #4E4E4E;
	font-family: var(--font-main);
	font-size: min(calc(15 / var(--vw-min) * 100vw), calc(15px * var(--max-percent)));
	font-weight: 500;
	line-height: 2;
	letter-spacing: 0.07em;
}

.mapNotice__block + .mapNotice__block {
	margin-top: min(calc(40 / var(--vw-min) * 100vw), calc(40px * var(--max-percent)));
}

.mapNotice__block {
	scroll-margin-top: min(calc(96 / var(--vw-min) * 100vw), calc(96px * var(--max-percent)));
}

.mapNotice__contentTitle {
	display: flex;
	align-items: center;
	margin: 0 0 min(calc(40 / var(--vw-min) * 100vw), calc(40px * var(--max-percent)));
	padding: min(calc(12 / var(--vw-min) * 100vw), calc(12px * var(--max-percent))) min(calc(16 / var(--vw-min) * 100vw), calc(16px * var(--max-percent)));
	border-radius: min(calc(4 / var(--vw-min) * 100vw), calc(4px * var(--max-percent)));
	background-color: var(--color-pink);
	color: #fff;
	font-size: min(calc(18 / var(--vw-min) * 100vw), calc(18px * var(--max-percent)));
	font-weight: 600;
	line-height: 1.67;
	letter-spacing: 0.07em;
}

.mapNotice__block + .mapNotice__block .mapNotice__contentTitle {
	margin-top: 0;
}

.mapNotice__contentTitle::before {
	content: "";
	display: block;
	width: min(calc(24 / var(--vw-min) * 100vw), calc(24px * var(--max-percent)));
	height: min(calc(24 / var(--vw-min) * 100vw), calc(24px * var(--max-percent)));
	margin-right: min(calc(4 / var(--vw-min) * 100vw), calc(4px * var(--max-percent)));
	flex-shrink: 0;
	background-color: #fff;
	-webkit-mask: url(../img/deco_glitter.svg) no-repeat center / contain;
	mask: url(../img/deco_glitter.svg) no-repeat center / contain;
}

.mapNotice__list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.mapNotice__list li {
	position: relative;
	margin-bottom: min(calc(8 / var(--vw-min) * 100vw), calc(8px * var(--max-percent)));
	padding-left: 1.2em;
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
	letter-spacing: inherit;
	color: inherit;
}

.mapNotice__list li::before {
	content: "・";
	position: absolute;
	left: 0;
}

.mapNotice__list li:last-child {
	margin-bottom: 0;
}

@media screen and (max-width:768px){
	.mapNotice {
		padding-bottom: calc(72 / var(--vw-min) * 100vw);
	}

	.mapNotice__inner {
		width: auto;
		padding: 0 calc(8 / var(--vw-min) * 100vw);
	}

	.mapNotice__head {
		margin-bottom: calc(24 / var(--vw-min) * 100vw);
	}

	.mapNotice__title {
		font-size: calc(24 / var(--vw-min) * 100vw);
		line-height: 1.33;
	}

	.mapNotice__langs {
		margin-bottom: calc(24 / var(--vw-min) * 100vw);
	}

	.mapNotice__langList {
		gap: calc(8 / var(--vw-min) * 100vw);
	}

	.mapNotice__langLink {
		min-width: calc(100 / var(--vw-min) * 100vw);
		min-height: calc(36 / var(--vw-min) * 100vw);
		padding: calc(8 / var(--vw-min) * 100vw) calc(12 / var(--vw-min) * 100vw);
		font-size: calc(13 / var(--vw-min) * 100vw);
	}

	.mapNotice__body {
		width: 100%;
		margin: 0 auto;
		padding: calc(40 / var(--vw-min) * 100vw) calc(16 / var(--vw-min) * 100vw) calc(48 / var(--vw-min) * 100vw);
		border-radius: calc(20 / var(--vw-min) * 100vw);
		font-size: calc(13 / var(--vw-min) * 100vw);
	}

	.mapNotice__block + .mapNotice__block {
		margin-top: calc(32 / var(--vw-min) * 100vw);
	}

	.mapNotice__block {
		scroll-margin-top: calc(72 / var(--vw-min) * 100vw);
	}

	.mapNotice__contentTitle {
		margin-bottom: calc(32 / var(--vw-min) * 100vw);
		padding: calc(7 / var(--vw-min) * 100vw) calc(8 / var(--vw-min) * 100vw);
		border-radius: calc(4 / var(--vw-min) * 100vw);
		font-size: calc(14 / var(--vw-min) * 100vw);
	}

	.mapNotice__contentTitle::before {
		width: calc(16 / var(--vw-min) * 100vw);
		height: calc(16 / var(--vw-min) * 100vw);
		margin-right: calc(5 / var(--vw-min) * 100vw);
	}

	.mapNotice__list li {
		margin-bottom: calc(8 / var(--vw-min) * 100vw);
	}
}

.mapPage .pFooter {
	opacity: 1;
	filter: none;
	overflow: hidden;
}

.mapFooter {
	position: relative;
	padding-bottom: 0;
	margin-top: 0;
	background-color: #66cae2;
}

.mapFooter__wave {
	position: absolute;
	left: 0;
	width: 100%;
	line-height: 0;
	pointer-events: none;
}

.mapFooter__wave img {
	width: 100%;
	height: auto;
	display: block;
}

.mapFooter__wave--top {
	top: 0;
}

.mapFooter__wave--bottom {
	bottom: 0;
}

.mapFooter .pFooterIn {
	position: relative;
	z-index: 1;
	padding-top: min(calc(88 / var(--vw-min) * 100vw), calc(88px * var(--max-percent)));
	padding-bottom: min(calc(40 / var(--vw-min) * 100vw), calc(40px * var(--max-percent)));
}

.mapFooter .pFooterIn__cont {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 0 min(calc(40 / var(--vw-min) * 100vw), calc(40px * var(--max-percent)));
	padding: 0 min(calc(103 / var(--vw-min) * 100vw), calc(103px * var(--max-percent)));
}

.mapFooter .footerLogoArea {
	flex: 0 0 min(calc(368 / var(--vw-min) * 100vw), calc(368px * var(--max-percent)));
	width: min(calc(368 / var(--vw-min) * 100vw), calc(368px * var(--max-percent)));
}

.mapFooter .footer__logo img {
	width: 100%;
	height: auto;
	display: block;
}

.mapFooter__btns {
	flex: 1 1 0;
	min-width: 0;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: min(calc(24 / var(--vw-min) * 100vw), calc(24px * var(--max-percent)));
	padding-top: min(calc(6 / var(--vw-min) * 100vw), calc(6px * var(--max-percent)));
}

.mapFooter__official,
.mapFooter__sns {
	margin: 0;
	width: auto;
}

.mapFooter__official .btn__snsLink--link,
.mapFooter__sns .btn__snsLink--link {
	width: min(calc(280 / var(--vw-min) * 100vw), calc(280px * var(--max-percent)));
	min-height: min(calc(56 / var(--vw-min) * 100vw), calc(56px * var(--max-percent)));
	padding: min(calc(18 / var(--vw-min) * 100vw), calc(18px * var(--max-percent))) min(calc(30 / var(--vw-min) * 100vw), calc(30px * var(--max-percent)));
	border-radius: 100px;
	box-shadow: 4px 4px 12px rgba(0, 34, 43, 0.08);
}

.mapFooter__official .btn__snsLink--link {
	background-color: var(--color-pink);
	color: #fff;
}

.mapFooter__officialIcon {
	width: min(calc(28 / var(--vw-min) * 100vw), calc(28px * var(--max-percent)));
	height: min(calc(28 / var(--vw-min) * 100vw), calc(28px * var(--max-percent)));
	-webkit-mask-image: none;
	mask-image: none;
	background-color: transparent;
	background: url(../img/deco_glitter.svg) center / contain no-repeat;
	filter: brightness(0) invert(1);
}

.mapFooter__official .btn__snsLink--arrow {
	width: min(calc(18 / var(--vw-min) * 100vw), calc(18px * var(--max-percent)));
	height: min(calc(14 / var(--vw-min) * 100vw), calc(14px * var(--max-percent)));
	opacity: 0.8;
	-webkit-mask-image: url(../img/arrow_r.svg);
	mask-image: url(../img/arrow_r.svg);
}

.mapFooter__sns {
	width: auto;
}

.mapFooter__sns .btn__snsLink--link {
	position: relative;
	background-color: #fff;
	color: var(--color-pink);
}

.mapFooter__sns .btn__snsLink--txt {
	padding: 0;
}

.mapFooter__sns .btn__snsLink--icon,
.mapFooter__sns .btn__snsLink--arrow {
	background-color: var(--color-pink);
}

.mapFooter__sns .btn__snsLink--icon {
	left: min(calc(28 / var(--vw-min) * 100vw), calc(28px * var(--max-percent)));
	width: min(calc(18 / var(--vw-min) * 100vw), calc(18px * var(--max-percent)));
	height: min(calc(19 / var(--vw-min) * 100vw), calc(19px * var(--max-percent)));
}

.mapFooter__sns .btn__snsLink--icon.-x {
	-webkit-mask-image: url(../img/icon_tw.svg);
	mask-image: url(../img/icon_tw.svg);
}

.mapFooter__sns .btn__snsLink--arrow {
	right: min(calc(28 / var(--vw-min) * 100vw), calc(28px * var(--max-percent)));
	width: min(calc(18 / var(--vw-min) * 100vw), calc(18px * var(--max-percent)));
	height: min(calc(14 / var(--vw-min) * 100vw), calc(14px * var(--max-percent)));
	opacity: 0.8;
	-webkit-mask-image: url(../img/arrow_r.svg);
	mask-image: url(../img/arrow_r.svg);
}

.mapFooter__copy {
	flex: 1 1 100%;
	margin: min(calc(80 / var(--vw-min) * 100vw), calc(80px * var(--max-percent))) 0 0;
	padding-left: min(calc(408 / var(--vw-min) * 100vw), calc(408px * var(--max-percent)));
	box-sizing: border-box;
	text-align: right;
}

.mapFooter .copyRight,
.mapFooter .copyRight--txt {
	color: #fff;
}

.mapFooter .copyRight {
	font-size: min(calc(11 / var(--vw-min) * 100vw), calc(11px * var(--max-percent)));
	line-height: 1.64;
	letter-spacing: 0.02em;
}

@media screen and (max-width:768px){
	.mapFooter .pFooterIn {
		padding-top: 0;
		padding-bottom: calc(80 / var(--vw-min) * 100vw);
	}

	.mapFooter .pFooterIn__cont {
		display: flex;
		flex-direction: column;
		align-items: center;
		padding: 0 calc(20 / var(--vw-min) * 100vw);
	}

	.mapFooter .footerLogoArea {
		flex: auto;
		width: calc(230 / var(--vw-min) * 100vw);
		margin-bottom: calc(40 / var(--vw-min) * 100vw);
	}

	.mapFooter__btns {
		flex-direction: column;
		width: 100%;
		padding-top: 0;
		gap: calc(8 / var(--vw-min) * 100vw);
	}

	.mapFooter__official .btn__snsLink--link,
	.mapFooter__sns .btn__snsLink--link {
		width: calc(240 / var(--vw-min) * 100vw);
		min-height: calc(48 / var(--vw-min) * 100vw);
		padding: calc(15 / var(--vw-min) * 100vw) calc(20 / var(--vw-min) * 100vw);
		font-size: calc(17 / var(--vw-min) * 100vw);
	}

	.mapFooter__officialIcon {
		left: calc(24 / var(--vw-min) * 100vw);
		width: calc(24 / var(--vw-min) * 100vw);
		height: calc(24 / var(--vw-min) * 100vw);
	}

	.mapFooter__official .btn__snsLink--arrow {
		right: calc(24 / var(--vw-min) * 100vw);
		width: calc(13 / var(--vw-min) * 100vw);
		height: calc(10 / var(--vw-min) * 100vw);
	}

	.mapFooter__sns .btn__snsLink--icon {
		left: calc(24 / var(--vw-min) * 100vw);
		width: calc(16 / var(--vw-min) * 100vw);
		height: calc(17 / var(--vw-min) * 100vw);
	}

	.mapFooter__sns .btn__snsLink--arrow {
		right: calc(24 / var(--vw-min) * 100vw);
		width: calc(13 / var(--vw-min) * 100vw);
		height: calc(10 / var(--vw-min) * 100vw);
	}

	.mapFooter__copy {
		width: 100%;
		margin: calc(56 / var(--vw-min) * 100vw) 0 0;
		padding-left: 0;
		text-align: center;
	}

	.mapFooter .copyRight {
		font-size: calc(10 / var(--vw-min) * 100vw);
	}
}

@media screen and (hover: hover) and (pointer: fine) {
	.mapFooter__official .btn__snsLink--link:hover,
	.mapFooter__sns .btn__snsLink--link:hover {
		transform: scale(1.03);
		opacity: 0.9;
	}

	.mapFooter__sns .btn__snsLink--link:hover {
		background-color: #fff;
	}
}
