/* ---------------------------------------------------
	header
---------------------------------------------------- */
.header {
	margin: 0 auto;
	width: min(130rem, 95.168vw);
	height: min(8.7rem, 6.369vw);
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.header__logo a {
	display: flex;
	justify-content: center;
	align-items: center;
}

.header__logo.logo1 {
	max-width: min(16.5rem, 12.079vw);
}

.header__logo.logo2 {
	max-width: min(26.6rem, 19.473vw);
}

@media screen and (max-width: 768px) {
	.header {
		width: 91.467vw;
		height: 18.133vw;
	}

	.header__logo.logo1 {
		max-width: 36.267vw;
	}

	.header__logo.logo2 {
		max-width: 47.467vw;
	}
}

/* ----------------------------------------------------
	kv
---------------------------------------------------- */
.kv {
	position: relative;
}

.kv__title {
	width: 33.089vw;
	position: absolute;
	top: 5.198vw;
	left: 8.053vw;
	z-index: 1;
}

.kv__slide.slick-slider {
	margin-bottom: 0;
	line-height: 0;
}

.add-animation .kv__slide--item img {
	animation: zoomUp 10s linear 0s normal both;
}

/* ズームアニメーション */
@keyframes zoomUp {
	0% {
		transform: scale(1);
	}

	100% {
		transform: scale(1.15);
	}
}

@media screen and (max-width: 768px) {
	.kv__title {
		width: 81.333vw;
		top: 26.667vw;
		left: 50%;
		transform: translateX(-50%);
	}
}

/* 
	lang
------------------------------ */
.lang {
	background-color: rgba(var(--wht), 0.5);
	/* color: rgb(var(--blu)); */
	font-size: min(1.2rem, 0.878vw);
	border: solid 1px rgb(var(--blu));
	border-radius: min(2rem, 1.464vw);
	position: absolute;
	top: 2.489vw;
	right: 2.782vw;
	z-index: 2;
	cursor: pointer;
}

.lang__switch {
	padding-left: min(2.5rem, 1.83vw);
	width: min(12.8rem, 9.37vw);
	height: min(3.8rem, 2.782vw);
	color: rgb(var(--blu));
	display: flex;
	align-items: center;
	position: relative;
}

.lang__switch::before {
	width: min(0.6rem, 0.439vw);
	height: min(0.6rem, 0.439vw);
	border-top: solid 2px rgb(var(--blu));
	border-left: solid 2px rgb(var(--blu));
	position: absolute;
	top: min(1.5rem, 1.098vw);
	right: min(1.4rem, 1.025vw);
	transform: rotate(225deg);
	content: "";
}

.lang__switch.is-open::before {
	top: min(1.8rem, 1.318vw);
	transform: rotate(45deg);
}

.lang__content {
	padding: 0 min(1.4rem, 1.025vw) min(1.4rem, 1.025vw);
}

@media screen and (max-width: 768px) {
	.lang {
		font-size: 3.2vw;
		border-radius: 5.333vw;
		top: 2.4vw;
		right: 2.4vw;
	}

	.lang__switch {
		padding-left: 4.8vw;
		width: 29.333vw;
		height: 8vw;
	}

	.lang__switch::before {
		width: 1.6vw;
		height: 1.6vw;
		top: 2.667vw;
		right: 3.733vw;
	}

	.lang__switch.is-open::before {
		top: 3.733vw;
	}

	.lang__content {
		padding: 0 3.733vw 3.733vw;
	}
}

/* ----------------------------------------------------
	about
---------------------------------------------------- */
.about {
	background-image: url(../img/about-bg.webp);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	padding: min(7rem, 5.124vw) 0;
}

.about__subject {
	margin-bottom: min(5rem, 3.66vw);
}

.about__subject--title {
	margin-bottom: min(1rem, 0.732vw);
	color: rgb(var(--wht));
	font-size: min(1.8rem, 1.318vw);
	text-align: center;
}

.about__subject--date {
	background-color: rgb(var(--yel));
	margin: 0 auto;
	width: min(64rem, 46.852vw);
	color: rgb(var(--blu));
	font-size: min(2.5rem, 1.83vw);
	border-radius: min(3.2rem, 2.343vw);
	display: flex;
	justify-content: center;
	align-items: baseline;
}

.about__subject--date b {
	font-size: min(3.2rem, 2.343vw);
	font-weight: 600;
}

@media screen and (max-width: 768px) {
	.about {
		background-image: url(../img/about-bg_sp.webp);
		padding: 13.333vw 0;
	}

	.about__subject {
		margin-bottom: 14.667vw;
	}

	.about__subject--title {
		margin-bottom: 2.667vw;
		font-size: 4.8vw;
	}

	.about__subject--date {
		padding: 4vw 0;
		width: 93.333vw;
		line-height: 1.25;
		font-size: 6.4vw;
		text-align: center;
		border-radius: 8.8vw;
		display: block;
	}

	.about__subject--date b {
		font-size: 8vw;
	}
}

/* 
	app
------------------------------ */
.app {
	background-color: rgb(var(--wht));
	margin: 0 auto;
	padding: min(4rem, 2.928vw) min(4rem, 2.928vw) min(4rem, 2.928vw) min(21.8rem, 15.959vw);
	width: min(100rem, 73.206vw);
	border-radius: min(1rem, 0.732vw);
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
}

.app::before {
	background-image: url(../img/smartphone01.webp);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	width: min(16rem, 11.713vw);
	height: min(27.2rem, 19.912vw);
	position: absolute;
	top: 50%;
	left: min(3.7rem, 2.709vw);
	transform: translateY(-50%);
	content: "";
}

.app__content {
	width: min(20.2rem, 14.788vw);
	text-align: center;
}

.app__content .text {
	line-height: 1;
	font-size: min(2.3rem, 1.684vw);
	font-weight: 600;
}

.app__content .logo {
	margin: min(2rem, 1.464vw) 0;
}

.app__download {
	display: flex;
}

.app__download--item {
	display: flex;
	align-items: center;
}

.app__download--item:not(:last-of-type) {
	margin-right: min(5rem, 3.66vw);
}

.app__download--item a img {
	width: auto;
	height: min(4rem, 2.928vw);
}

.app__download--item .code {
	margin-left: min(1.6rem, 1.171vw);
	width: min(8.5rem, 6.223vw);
}

@media screen and (max-width: 768px) {
	.app {
		padding: 5.867vw 11.2vw;
		width: 93.333vw;
		border-radius: 2.667vw;
		display: block;
	}

	.app::before {
		width: 33.067vw;
		height: 54.133vw;
		top: -11.2vw;
		left: 4.267vw;
		transform: translateY(0);
	}

	.app__content {
		margin: 0 0 12vw auto;
		width: 42.667vw;
	}

	.app__content .text {
		font-size: 4.8vw;
	}

	.app__content .logo {
		margin: 4.267vw 0;
	}

	.app__download {
		display: block;
	}

	.app__download--item {
		text-align: center;
		display: block;
	}

	.app__download--item:not(:last-of-type) {
		margin: 0 0 3.467vw;
	}

	.app__download--item a img {
		width: 59.733vw;
		height: auto;
	}

	.app__download--item .code {
		display: none;
	}
}

/* ----------------------------------------------------
	subject
---------------------------------------------------- */
.subject {
	padding: min(10rem, 7.321vw) 0;
}

.subject__title {
	margin-bottom: min(2rem, 1.464vw);
	color: rgb(var(--blu));
	font-size: min(4rem, 2.928vw);
	font-weight: 600;
	text-align: center;
}

.subject__title b {
	color: rgb(var(--red));
	font-weight: 600;
}

.subject__title--inner {
	display: inline-block;
	border-bottom: solid 4px rgb(var(--blu));
}

.subject__title+.note {
	margin-bottom: min(2rem, 1.464vw);
	color: rgb(var(--blu));
	text-align: center;
}

.subject__content {
	margin: 0 auto;
	width: min(115rem, 84.187vw);
	position: relative;
}

@media screen and (max-width: 768px) {
	.subject {
		padding: 15.467vw 0;
	}

	.subject__title {
		margin-bottom: 3.733vw;
		font-size: 6.667vw;
	}

	.subject__title+.note {
		margin-bottom: 3.733vw;
	}

	.subject__content {
		width: 100%;
	}
}

/*
	list
------------------------------ */
.subject__list {
	width: min(61rem, 44.656vw);
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	position: absolute;
	top: min(4.3rem, 3.148vw);
	left: 0;
	z-index: 1;
}

.subject__list--item {
	margin-bottom: min(3rem, 2.196vw);
	width: min(28rem, 20.498vw);
}

.subject__list--item a {
	background-color: rgb(var(--wht));
	height: min(5rem, 3.66vw);
	font-size: min(1.6rem, 1.171vw);
	border-style: solid;
	border-width: 2px;
	border-radius: min(1rem, 0.732vw);
	position: relative;
}

.subject__list--item a svg {
	width: min(4rem, 2.928vw);
	height: min(5.8rem, 4.246vw);
	position: absolute;
	top: max(-2.6rem, -1.903vw);
	left: max(-0.6rem, -0.439vw);
}

/* 富良野 */
.subject__list--item.subject01 a {
	color: rgb(var(--hokkaido));
	border-color: rgb(var(--hokkaido));
}

.subject__list--item.subject01.is-active a,
.subject__list--item.subject01 a:hover {
	background-color: rgba(var(--hokkaido), 0.75);
}

/* 雫石 */
.subject__list--item.subject02 a {
	color: rgb(var(--iwate));
	border-color: rgb(var(--iwate));
}

.subject__list--item.subject02.is-active a,
.subject__list--item.subject02 a:hover {
	background-color: rgba(var(--iwate), 0.75);
}

/* 八海山 */
.subject__list--item.subject03 a {
	color: rgb(var(--niigata));
	border-color: rgb(var(--niigata));
}

.subject__list--item.subject03.is-active a,
.subject__list--item.subject03 a:hover {
	background-color: rgba(var(--niigata), 0.75);
}

/* かぐら */
.subject__list--item.subject04 a {
	color: rgb(var(--niigata));
	border-color: rgb(var(--niigata));
}

.subject__list--item.subject04.is-active a,
.subject__list--item.subject04 a:hover {
	background-color: rgba(var(--niigata), 0.75);
}

/* 苗場 */
.subject__list--item.subject05 a {
	color: rgb(var(--niigata));
	border-color: rgb(var(--niigata));
}

.subject__list--item.subject05.is-active a,
.subject__list--item.subject05 a:hover {
	background-color: rgba(var(--niigata), 0.75);
}

/* 妙高 */
.subject__list--item.subject06 a {
	color: rgb(var(--niigata));
	border-color: rgb(var(--niigata));
}

.subject__list--item.subject06.is-active a,
.subject__list--item.subject06 a:hover {
	background-color: rgba(var(--niigata), 0.75);
}

/* 志賀高原 */
.subject__list--item.subject07 a {
	color: rgb(var(--nagano));
	border-color: rgb(var(--nagano));
}

.subject__list--item.subject07.is-active a,
.subject__list--item.subject07 a:hover {
	background-color: rgba(var(--nagano), 0.75);
}

/* 軽井沢 */
.subject__list--item.subject08 a {
	color: rgb(var(--nagano));
	border-color: rgb(var(--nagano));
}

.subject__list--item.subject08.is-active a,
.subject__list--item.subject08 a:hover {
	background-color: rgba(var(--nagano), 0.75);
}

/* 万座 */
.subject__list--item.subject09 a {
	border-color: rgb(var(--gunma));
	color: rgb(var(--gunma));
}

.subject__list--item.subject09.is-active a,
.subject__list--item.subject09 a:hover {
	background-color: rgba(var(--gunma), 0.75);
}

.subject__list--item.is-active a,
.subject__list--item a:hover {
	color: rgb(var(--wht));
	opacity: 1;
}

@media screen and (max-width: 768px) {
	.subject__list {
		margin: 0 auto;
		width: 93.333vw;
		position: relative;
		top: -18.667vw;
		left: auto;
	}

	.subject__list--item {
		margin-bottom: 2.4vw;
		width: 45.333vw;
	}

	.subject__list--item a {
		height: 14.667vw;
		line-height: 1.25;
		font-size: 3.733vw;
		text-align: center;
		border-width: 0.533vw;
		border-radius: 2.677vw;
	}

	.subject__list--item a svg {
		width: 8.267vw;
		height: 11.733vw;
		top: -1.6vw;
		left: -0.533vw;
	}
}

/*
	map
------------------------------ */
.subject__map {
	margin-left: auto;
	width: min(93.2rem, 68.228vw);
	position: relative;
}

.subject__map a:hover {
	opacity: 1;
}

.subject__map .pin {
	width: min(4.4rem, 3.221vw);
	height: min(6.5rem, 4.758vw);
	position: absolute;
}

.subject__map .pin01 {
	top: min(4.9rem, 3.587vw);
	right: min(19.8rem, 14.495vw);
}

.subject__map .pin02 {
	top: min(27.4rem, 20.059vw);
	right: min(27.4rem, 20.059vw);
}

.subject__map .pin03 {
	top: min(29rem, 21.23vw);
	right: min(34.7rem, 25.403vw);
}

.subject__map .pin04 {
	top: min(34.1rem, 24.963vw);
	right: min(37.8rem, 27.672vw);
}

.subject__map .pin05 {
	top: min(36.5rem, 26.72vw);
	right: min(40.9rem, 29.941vw);
}

.subject__map .pin06 {
	top: min(39.9rem, 29.209vw);
	right: min(45.2rem, 33.089vw);
}

.subject__map .pin07 {
	top: min(41.7rem, 30.527vw);
	right: min(40.9rem, 29.941vw);
}

.subject__map .pin08 {
	top: min(43.2rem, 31.625vw);
	right: min(37.2rem, 27.233vw);
}

.subject__map .pin09 {
	top: min(37.9rem, 27.745vw);
	right: min(34.3rem, 25.11vw);
}

.subject__map .pin svg {
	width: 100%;
	height: auto;
}

.subject__map .pin svg,
.subject__map .pin svg .bg,
.subject__map .pin svg .numbers {
	transition: all 0.5s ease 0s;
}

.subject__map .pin svg:hover,
.subject__map .pin.is-active svg {
	position: relative;
	z-index: 2;
	transform: scale(1.2);
	transform-origin: center bottom;
}

.subject__map .pin a:hover svg .bg,
.subject__map .pin.is-active svg .bg {
	fill: rgb(var(--wht));
}

.subject__map .pin01 a:hover svg .numbers,
.subject__map .pin01.is-active svg .numbers {
	fill: rgb(var(--hokkaido));
}

.subject__map .pin02 a:hover svg .numbers,
.subject__map .pin02.is-active svg .numbers {
	fill: rgb(var(--iwate));
}

.subject__map .pin03 a:hover svg .numbers,
.subject__map .pin03.is-active svg .numbers,
.subject__map .pin04 a:hover svg .numbers,
.subject__map .pin04.is-active svg .numbers,
.subject__map .pin05 a:hover svg .numbers,
.subject__map .pin05.is-active svg .numbers,
.subject__map .pin06 a:hover svg .numbers,
.subject__map .pin06.is-active svg .numbers {
	fill: rgb(var(--niigata));
}

.subject__map .pin07 a:hover svg .numbers,
.subject__map .pin07.is-active svg .numbers,
.subject__map .pin08 a:hover svg .numbers,
.subject__map .pin08.is-active svg .numbers {
	fill: rgb(var(--nagano));
}

.subject__map .pin09 a:hover svg .numbers,
.subject__map .pin09.is-active svg .numbers {
	fill: rgb(var(--gunma));
}

@media screen and (max-width: 768px) {
	.subject__map {
		margin-left: 0;
		width: 96.8vw;
	}

	.subject__map .pin {
		width: 9.333vw;
		height: 13.867vw;
	}

	.subject__map .pin01 {
		top: 10.4vw;
		right: 16.533vw;
	}

	.subject__map .pin02 {
		top: 58.133vw;
		right: 32.8vw;
	}

	.subject__map .pin03 {
		top: 61.333vw;
		right: 48.267vw;
	}

	.subject__map .pin04 {
		top: 72.267vw;
		right: 54.667vw;
	}

	.subject__map .pin05 {
		top: 77.067vw;
		right: 61.867vw;
	}

	.subject__map .pin06 {
		top: 84.533vw;
		right: 70.4vw;
	}

	.subject__map .pin07 {
		top: 88.267vw;
		right: 61.333vw;
	}

	.subject__map .pin08 {
		top: 91.467vw;
		right: 53.6vw;
	}

	.subject__map .pin09 {
		top: 80.267vw;
		right: 47.467vw;
	}
}

/* 
	region
------------------------------ */
.subject .region {
	margin: min(6.6rem, 4.832vw) auto 0;
	width: min(114rem, 83.455vw);
	display: flex;
	flex-wrap: wrap;
}

.subject .region__item {
	margin-bottom: min(3.5rem, 2.562vw);
	width: min(34.5rem, 25.256vw);
	position: relative;
}

.subject .region__item:not(:nth-child(3n)) {
	margin-right: min(5.25rem, 3.843vw);
}

.subject .region__title {
	margin-bottom: min(1rem, 0.732vw);
	padding-left: min(5rem, 3.66vw);
	font-size: min(1.8rem, 1.318vw);
	position: relative;
}

.subject .region__title svg {
	width: min(4rem, 2.928vw);
	height: min(5.8rem, 4.246vw);
	position: absolute;
	top: max(-0.5rem, -0.366vw);
	left: 0;
	z-index: 1;
}

.subject .region__image {
	margin-bottom: min(1rem, 0.732vw);
}

.subject .region__image a:hover {
	opacity: 1;
}

.subject .region__image a img {
	transition: all 0.5s ease 0s;
}

.subject .region__image a:hover img {
	transform: scale(1.05);
}

.subject .region__name {
	margin-bottom: min(1rem, 0.732vw);
	font-size: min(2.4rem, 1.757vw);
}

.subject .region__date {
	color: #5A5A5A;
	font-size: min(1.5rem, 1.098vw);
	font-weight: 400;
}

.subject .region__date.target-period {
	color: rgb(var(--blu));
	font-weight: 600;
}

/* 北海道 */
.subject .hokkaido .region__title,
.subject .hokkaido .region__name {
	color: rgb(var(--hokkaido));
}

/* 岩手県 */
.subject .iwate .region__title,
.subject .iwate .region__name {
	color: rgb(var(--iwate));
}

/* 新潟県 */
.subject .niigata .region__title,
.subject .niigata .region__name {
	color: rgb(var(--niigata));
}

/* 長野県 */
.subject .nagano .region__title,
.subject .nagano .region__name {
	color: rgb(var(--nagano));
}

/* 群馬県 */
.subject .gunma .region__title,
.subject .gunma .region__name {
	color: rgb(var(--gunma));
}

@media screen and (max-width: 768px) {
	.subject .region {
		margin: 0 auto;
		width: 92vw;
		display: block;
	}

	.subject .region__item {
		margin-bottom: 10.667vw;
		width: 100%;
	}

	.subject .region__item:not(:nth-child(3n)) {
		margin-right: 0;
	}

	.subject .region__title {
		margin-bottom: 2.667vw;
		padding-left: 13.333vw;
		font-size: 4.8vw;
	}

	.subject .region__title svg {
		width: 10.667vw;
		height: 15.467vw;
		top: -1.333vw;
	}

	.subject .region__image {
		margin-bottom: 2.667vw;
	}

	.subject .region__name {
		margin-bottom: 2.667vw;
		font-size: 6.4vw;
	}

	.subject .region__date {
		font-size: 4vw;
	}
}

/* ----------------------------------------------------
	flow
---------------------------------------------------- */
.flow {
	background-color: rgb(var(--blu));
	padding: min(10rem, 7.321vw) 0;
	color: rgb(var(--wht));
}

.flow__title {
	margin-bottom: min(4.4rem, 3.221vw);
	font-size: min(3rem, 2.196vw);
	text-align: center;
}

.flow__list {
	margin: 0 auto min(4.6rem, 3.367vw);
	width: min(114.3rem, 83.675vw);
	display: flex;
	justify-content: space-between;
}

.flow__list--item {
	background-color: rgb(var(--wht));
	padding: min(3.4rem, 2.489vw) 0;
	width: min(27rem, 19.766vw);
	color: rgb(var(--blk));
	text-align: center;
	border-radius: min(1rem, 0.732vw);
}

.flow__number {
	margin-bottom: min(2.3rem, 1.684vw);
	padding-bottom: min(1rem, 0.732vw);
	width: min(8rem, 5.857vw);
	line-height: 1;
	color: rgb(var(--blu));
	font-size: min(5rem, 3.66vw);
	font-weight: 600;
	text-align: center;
	border-bottom: solid 3px rgb(var(--blu));
	display: inline-block;
}

.flow__icon {
	height: min(12rem, 8.785vw);
	display: flex;
	justify-content: center;
	align-items: center;
}

.flow01 .flow__icon img {
	width: min(6.7rem, 4.905vw);
}

.flow02 .flow__icon img {
	width: min(8.7rem, 6.369vw);
}

.flow03 .flow__icon img {
	width: min(11rem, 8.053vw);
}

.flow04 .flow__icon img {
	width: min(13.7rem, 10.029vw);
}

.flow_text {
	margin-top: min(2rem, 1.464vw);
	font-size: min(1.6rem, 1.171vw);
}

.flow_text i {
	color: rgb(var(--red));
}

@media screen and (max-width: 768px) {
	.flow {
		padding: 21.333vw 0;
	}

	.flow__title {
		margin-bottom: 9.867vw;
		/* font-size: 8vw; */
		font-size: 7.467vw;
	}

	.flow__list {
		margin-bottom: 12.533vw;
		width: 72vw;
		display: block;
	}

	.flow__list--item {
		/* padding: 9.067vw 0; */
		padding: 6.4vw 0;
		width: 100%;
		border-radius: 2.667vw;
	}

	.flow__list--item:not(:last-of-type) {
		margin-bottom: 5.333vw;
	}

	.flow__number {
		margin-bottom: 6.133vw;
		padding-bottom: 2.667vw;
		width: 21.333vw;
		/* font-size: 13.333vw; */
		font-size: 12vw;
	}

	.flow__icon {
		height: 32vw;
	}

	.flow01 .flow__icon img {
		width: 17.867vw;
	}

	.flow02 .flow__icon img {
		width: 23.2vw;
	}

	.flow03 .flow__icon img {
		width: 29.333vw;
	}

	.flow04 .flow__icon img {
		width: 36.533vw;
	}

	.flow_text {
		margin-top: 5.333vw;
		/* font-size: 4.267vw; */
		font-size: 3.733vw;
	}
}

/* 
	identification-card
------------------------------ */
.identification-card {
	margin: 0 auto;
	width: min(61rem, 44.656vw);
	font-size: min(1.6rem, 1.171vw);
}

.identification-card__content {
	margin-bottom: min(2rem, 1.464vw);
	display: flex;
}

.identification-card__title {
	margin-right: min(1.8rem, 1.318vw);
	padding: 0 min(2.4rem, 1.757vw);
	white-space: nowrap;
	border: solid 1px rgb(var(--wht));
	display: flex;
	justify-content: center;
	align-items: center;
}

.identification-card__list {
	display: flex;
	flex-wrap: wrap;
}

.identification-card__list li {
	padding-right: 2em;
	/* white-space: nowrap; */
}

@media screen and (max-width: 768px) {
	.identification-card {
		width: 76.267vw;
		font-size: 4.267vw;
	}

	.identification-card__content {
		margin-bottom: 3.467vw;
		display: block;
	}

	.identification-card__title {
		margin: 0 0 4.267vw;
		padding: 0;
		height: 14.667vw;
	}

	.identification-card__list li {
		margin-left: 1em;
		text-indent: -1em;
	}
}

/* ----------------------------------------------------
	spgr
---------------------------------------------------- */
.spgr {
	padding: min(10rem, 7.321vw) 0;
}

.spgr__content {
	margin: 0 auto min(10rem, 7.321vw);
	padding: min(6rem, 4.392vw);
	width: min(114rem, 83.455vw);
	border: solid 2px rgb(var(--spgr));
	border-radius: min(1rem, 0.732vw);
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
}

.spgr__content::before {
	background-image: url(../img/smartphone02.webp);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	width: min(29.5rem, 21.596vw);
	height: min(33.4rem, 24.451vw);
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	content: "";
}

.spgr__detail {
	width: min(35rem, 25.622vw);
}

.spgr__detail--logo {
	margin: 0 auto min(2rem, 1.464vw);
	width: min(25rem, 18.302vw);
}

.spgr__detail--text {
	font-size: min(1.6rem, 1.171vw);
	text-align: center;
}

.spgr__link {
	width: min(35rem, 25.622vw);
	color: rgb(var(--spgr));
	text-align: center;
}

.spgr__link--title {
	margin-bottom: min(1.6rem, 1.171vw);
	font-size: min(2.3rem, 1.684vw);
	font-weight: 600;
}

.spgr__link--detail .link-button {
	background-color: rgb(var(--spgr));
	height: min(8.4rem, 6.149vw);
	line-height: 1.5;
	color: rgb(var(--wht));
	font-size: min(2rem, 1.464vw);
	border-radius: min(1rem, 0.732vw);
}

.spgr__link--detail .link-button::before {
	width: min(1rem, 0.732vw);
	height: min(1rem, 0.732vw);
	border-top: solid 2px rgb(var(--wht));
	border-right: solid 2px rgb(var(--wht));
	position: absolute;
	top: 50%;
	right: min(2rem, 1.464vw);
	transform: translateY(-50%) rotate(45deg);
	content: "";
}

@media screen and (max-width: 768px) {
	.spgr {
		padding: 21.333vw 0;
	}

	.spgr__content {
		margin-bottom: 8vw;
		padding: 11.733vw 6.667vw;
		width: 94.667vw;
		border-radius: 2.667vw;
		display: block;
	}

	.spgr__content::before {
		width: 62.933vw;
		height: 70.4vw;
		top: 72.8vw;
		left: 50%;
		transform: translateX(-50%);
	}

	.spgr__detail {
		margin-bottom: 84vw;
		width: 100%;
	}

	.spgr__detail--logo {
		margin-bottom: 8vw;
		width: 66.667vw;
	}

	.spgr__detail--text {
		font-size: 4.267vw;
		text-align: left;
	}

	.spgr__link {
		width: 100%;
	}

	.spgr__link--title {
		margin-bottom: 4.267vw;
		font-size: 6.133vw;
	}

	.spgr__link--detail .link-button {
		height: 22.4vw;
		font-size: 5.333vw;
		border-radius: 2.667vw;
	}

	.spgr__link--detail .link-button::before {
		display: none;
	}
}

/* 
	helmet
------------------------------ */
.helmet {
	background-image: url(../img/helmet.webp);
	background-position: center left min(3rem, 2.196vw);
	background-repeat: no-repeat;
	background-size: min(7rem, 5.124vw) auto;
	margin: 0 auto;
	padding: min(3rem, 2.196vw) min(5.6rem, 4.1vw) min(3rem, 2.196vw)min(12.2rem, 8.931vw);
	width: min(91.4rem, 66.911vw);
	border: solid 2px rgb(var(--blu));
	border-radius: min(10rem, 7.321vw);
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.helmet__detail {}

.helmet__detail--title {
	color: rgb(var(--blu));
	font-size: min(2.3rem, 1.684vw);
	font-weight: 600;
}

.helmet__detail--text {
	font-size: min(1.6rem, 1.171vw);
}

.helmet__link {
	width: min(14rem, 10.249vw);
	text-align: right;
	border-bottom: solid 1px rgb(var(--blu));
}

.helmet__link a {
	color: rgb(var(--blu));
	font-size: min(2rem, 1.464vw);
	font-weight: 600;
	text-decoration: none;
	display: block;
	position: relative;
}

.helmet__link a::before {
	width: min(1rem, 0.732vw);
	height: min(1rem, 0.732vw);
	border-top: solid 2px rgb(var(--blu));
	border-right: solid 2px rgb(var(--blu));
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%) rotate(45deg);
	content: "";
}

@media screen and (max-width: 768px) {
	.helmet {
		background-image: none;
		padding: 9.067vw;
		width: 94.667vw;
		border-radius: 21.333vw;
		display: block;
	}

	.helmet__detail--title {
		background-image: url(../img/helmet.webp);
		background-position: center left;
		background-repeat: no-repeat;
		background-size: 18.667vw auto;
		margin: 0 auto 4.267vw;
		padding-left: 25.333vw;
		width: 68vw;
		height: 18.667vw;
		line-height: 1.3;
		font-size: 6.133vw;
		display: flex;
		align-items: center;
	}

	.helmet__detail--text {
		font-size: 4.267vw;
	}

	.helmet__link {
		margin: 0 auto;
		width: 37.333vw;
	}

	.helmet__link a {
		font-size: 5.333vw;
	}

	.helmet__link a::before {
		width: 2.667vw;
		height: 2.667vw;
	}
}

/* ----------------------------------------------------
	ski-resort
---------------------------------------------------- */
.ski-resort {
	background-color: rgb(var(--nvy));
	padding: min(5.5rem, 4.026vw) 0;
	color: rgb(var(--wht));
}

.ski-resort__content {
	margin: 0 auto;
	width: min(82.5rem, 60.395vw);
	font-size: min(1.6rem, 1.171vw);
	display: grid;
	grid-template-columns: min(32.6rem, 23.865vw) min(26.6rem, 19.473vw) auto;
}

.ski-resort .region {
	line-height: 2;
	display: flex;
}

.ski-resort .region.region01,
.ski-resort .region.region02,
.ski-resort .region.region03 {
	grid-column: 1/2;
}

.ski-resort .region.region04,
.ski-resort .region.region05 {
	grid-row: 1/4;
}

.ski-resort .region.region01 {
	grid-row: 1/2;
}

.ski-resort .region.region02 {
	grid-row: 2/3;
}

.ski-resort .region.region03 {
	grid-row: 3/4;
}

.ski-resort .region.region04 {
	grid-column: 2/3;
}

.ski-resort .region.region05 {
	grid-column: 3/4;
}

.ski-resort .region__name {
	padding-right: 0.5em;
	font-size: min(1.6rem, 1.171vw);
	font-weight: 400;
}

@media screen and (max-width: 768px) {
	.ski-resort {
		padding: 14.667vw 9.333vw;
	}

	.ski-resort__content {
		width: 100%;
		font-size: 4.267vw;
		display: block;
	}

	.ski-resort .region__name {
		font-size: 4.267vw;
	}
}

/* ----------------------------------------------------
	footer
---------------------------------------------------- */
.footer .hotel-nav {
	padding: min(2.9rem, 2.123vw) 0;
	line-height: 1;
	font-size: min(1.6rem, 1.171vw);
	display: flex;
	justify-content: center;
	align-items: center;
}

.footer .hotel-nav::before,
.footer .hotel-nav__item::after {
	content: "|";
}

.footer .hotel-nav__item {}

.footer .hotel-nav__item a {
	padding: 0 1.5em;
	text-decoration: none;
}

@media screen and (max-width: 768px) {
	.footer .hotel-nav {
		padding: 5.067vw 0;
		font-size: 4.267vw;
	}

	.footer .hotel-nav__item a {
		padding: 0 1em;
	}
}

/* 
	copy
------------------------------ */
.footer .copy {
	padding-bottom: min(2.9rem, 2.123vw);
	text-align: center;
}

@media screen and (max-width: 768px) {
	.footer .copy {
		padding-bottom: 5.067vw;
		font-size: 2.4vw;
	}
}