@charset "UTF-8";
/* CSS Document */

@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700;900&display=swap");

/* 終了告知文 */
.Post {
  font-size: 22px;
  font-weight: 600;
  color: #c00;
  text-align: center;
  margin-top: 10px;
}

:root {
	--main-color: #1a3667;
	--sub-color: #748db7;
	--button-color: #f5263e;
}

img {
    image-rendering: -webkit-optimize-contrast;
}

.contents {
	font-family: "Noto Sans JP", sans-serif;
	overflow: hidden;
}

#PageName {
	width: 1024px;
	margin: 1rem auto;
	font-weight: bold;
}

.Heading__h2 {
	position: relative;
	font-size: 3.4rem;
	font-weight: 900;
	line-height: 1.4;
	color: var(--main-color);
	margin-bottom: 4rem;
	padding: 20px 0 0 50px;
	z-index: 5;
}

.Heading__h2::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}

.Heading__h2 span {
	display: block;
	font-size: 2rem;
	color: var(--sub-color);
}

[class^="Sec__"] {
	padding: 10rem 0;
}

/* Keyvisual */
.Keyvisual {
	background-image: url(/attending/kokunai/ski/images/bg__keyvisual__BP23-041863D.jpg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	border-top: solid 3px var(--main-color);
	width: 100%;
	height: 453px;
}

.Keyvisual .lead {
	font-size: 2.0rem;
	color: #748db7;
	text-align: center;
	padding-top: 1.5rem;
	letter-spacing: 2.5px;
}

.Keyvisual figure {
	width: 563px;
	height: 401px;
	margin: 0 auto;
	position: relative;
}

.Keyvisual .Keyvisual__deco {
	position: relative;
	height: 450px;
}

.Keyvisual .Keyvisual__deco::before,
.Keyvisual .Keyvisual__deco::after {
	content: "";
	position: absolute;
	bottom: 0;
	display: block;
}

.Keyvisual .Keyvisual__deco::before {
	left: calc((1024px / 2) - 30.8rem);
	transform: translateX(-50%);
	background-image: url(/attending/kokunai/ski/images/deco__keyvisual01.png);
	width: 44.8rem;
	height: 37.2rem;
}

.Keyvisual .Keyvisual__deco::after {
	left: calc((1024px / 2) + 46rem);
	transform: translateX(-50%);
	background-image: url(/attending/kokunai/ski/images/deco__keyvisual02.png);
	width: 46rem;
	height: 38.2rem;
}

.seo {
	width: 1024px;
	margin: 50px auto;
	color: var(--main-color);
    text-align: center;
}

/* Sec__anchor */
.Sec__anchor {
	background-color: #f7f8f8;
	padding-top: 2rem;
	padding-bottom: 2rem;
}

.Anchor__items {
	display: flex;
	justify-content: center;
}

.Anchor__item {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: calc(100% / 6);
	text-align: center;
}

.Anchor__item:not(:last-child):after {
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%) rotate(10deg);
	right: 0;
	display: block;
	background-color: var(--main-color);
	width: 0.1rem;
	height: 90%;
}

.Anchor__link:hover {
	color: #f5263e;
}

.Anchor__link:hover::after {
	border-top: 2px solid #f5263e;
	border-right: 2px solid #f5263e;
}

.Anchor__link {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.2;
	color: var(--main-color);
	padding-top: 2.5rem;
}

.Anchor__link::before,
.Anchor__link::after {
	position: absolute;
	content: "";
	background-repeat: no-repeat;
	background-size: contain;
}

.Anchor__link::before {
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}

.Anchor__tour::before {
	background-image: url(/attending/kokunai/ski/images/anchor__icon01.png);
	width: 2.6rem;
	height: 2.6rem;
}

.Anchor__area::before {
	background-image: url(/attending/kokunai/ski/images/anchor__icon02.png);
	width: 1.8rem;
	height: 2.5rem;
}

.Anchor__slope::before {
	background-image: url(/attending/kokunai/ski/images/anchor__icon03.png);
	width: 3.8rem;
	height: 2.5rem;
}

.Anchor__hotel::before {
	background-image: url(/attending/kokunai/ski/images/anchor__icon04.png);
	width: 2.3rem;
	height: 2.3rem;
}

.Anchor__spa::before {
	background-image: url(/attending/kokunai/ski/images/anchor__icon05.png);
	width: 2.3rem;
	height: 2.1rem;
}

.Anchor__search::before {
	background-image: url(/attending/kokunai/ski/images/anchor__icon06.png);
	width: 2.5rem;
	height: 2.5rem;
}

.Anchor__link::after {
	bottom: -1rem;
	display: block;
	width: 6px;
	height: 6px;
	border-top: 2px solid var(--main-color);
	border-right: 2px solid var(--main-color);
	transform: translateX(-50%) rotate(135deg);
}

.Sec__anchor.Bottom .Anchor__link::after {
	transform: translateX(-50%) rotate(-45deg);
}

/* スキー・スノーボードツアーを出発地から探す */
.Sec__departure .Heading__h2::after {
	background-image: url(/attending/kokunai/ski/images/heading__icon01.png);
	background-repeat: no-repeat;
	background-size: contain;
	width: 6.9rem;
	height: 6.9rem;
}

.Button__dept-items {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-template-rows: repeat(3, 1fr);
	gap: 20px;
}

.Button__dept-item {
	width: 100%;
}

.Button__departure-link {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: var(--main-color);
	border-radius: 8px;
	font-size: 1.8rem;
	font-weight: 700;
	color: #fff;
	padding: 1.5rem 0;
	transition: opacity 0.5s;
}

.Button__departure-link:hover {
	opacity: 0.5;
}

.Button__departure-link::before {
	content: "";
	position: absolute;
	top: 50%;
	right: 20px;
	transform: translateY(-50%);
	background-color: #fff;
	border-radius: 50%;
	display: block;
	width: 1.8rem;
	height: 1.8rem;
	z-index: 1;
}

.Button__departure-link::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 26px;
	display: block;
	width: 6px;
	height: 6px;
	border-top: 2px solid var(--main-color);
	border-right: 2px solid var(--main-color);
	transform: translateY(-50%) rotate(45deg);
	z-index: 2;
}

/* スキー・スノーボード旅行のおすすめツアー */
.Sec__tour {
	background-image: url(/attending/kokunai/ski/images/sec__bg-BP23-041864D.png);
	background-position: bottom right;
	background-repeat: no-repeat;
}

.Sec__tour .Heading__h2::after {
	background-image: url(/attending/kokunai/ski/images/heading__icon01.png);
	width: 6.9rem;
	height: 6.9rem;
}

/* スキー・スノーボードのツアーをエリアから探す */
.Sec__area {
	background-image: url(/attending/kokunai/ski/images/sec__bg-BP23-041865D.png);
	background-position: bottom left;
	background-repeat: no-repeat;
}

.Sec__area .Heading__h2::after {
	background-image: url(/attending/kokunai/ski/images/heading__icon02.png);
	width: 5.9rem;
	height: 8.2rem;
}

[id^="Area__"]:not(:last-child) {
	margin-bottom: 10rem;
}

.Area__spot {
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 4rem;
}

.Area__image {
	border-radius: 1.5rem;
	width: 55.5rem;
	height: 35rem;
	overflow: hidden;
}

.Area__info {
	width: calc(100% - 55.5rem);
}

.Heading__h3-area {
	position: absolute;
	top: 40px;
	left: calc((100% / 2) + 20px);
	display: inline-block;
	background-color: var(--main-color);
	font-size: 2.8rem;
	font-weight: 700;
	width: auto;
	height: 64px;
	color: #fff;
	padding: 1rem 4rem 1rem 6rem;
	z-index: 2;
}

.Heading__h3-area::before {
	content: "";
	position: absolute;
    top: -3rem;
    left: 1.5rem;
	display: block;
	background-image: url(/attending/kokunai/ski/images/icon__spot-tour.png);
	width: 8.4rem;
	height: 6rem;
}

.Heading__h3-area::after {
	content: "";
	position: absolute;
	top: 0;
	right: -20px;
	display: block;
	background-color: var(--main-color);
	width: 40px;
	height: 64px;
	transform: skewX(-20deg);
}

.Area__caption {
	position: absolute;
	top: 7.5rem;
	background-color: #f5f5f5;
	line-height: 1.8;
	color: var(--main-color);
	padding: 50px 40px 40px;
	z-index: 1;
}

.Area__caption::after {
	content: "";
	position: absolute;
	top: 0;
	right: -140px;
	display: block;
	background-color: #f5f5f5;
	width: 140px;
	height: 100%;
}

.Group__button {
	margin-top: 4rem;
	text-align: center;
}

.Search__btn {
	position: relative;
	background-color: var(--button-color);
	border-radius: 1rem;
	width: 48rem;
	height: auto;
	font-size: 1.8rem;
	font-weight: 700;
	color: #fff;
	margin: 0 auto;
	padding: 20px 0;
}

.Search__btn::before,
.Search__btn::after {
	content: "";
	position: absolute;
	top: 50%;
}

.Search__btn::before {
	right: 20px;
	transform: translateY(-50%);
	background-color: #fff;
	border-radius: 50%;
	display: block;
	width: 2.2rem;
	height: 2.2rem;
	z-index: 1;
}

.Search__btn::after {
	right: 28px;
	display: block;
	width: 8px;
	height: 8px;
	border-top: 3px solid var(--button-color);
	border-right: 3px solid var(--button-color);
	transform: translateY(-50%) rotate(45deg);
	z-index: 2;
}

.Search__btn:hover {
	opacity: 0.7;
}

/* Sec__slope */
.Sec__slope {
	background-image: url(/attending/kokunai/ski/images/sec__bg-BP23-041863D.png);
	background-position: bottom right;
	background-repeat: no-repeat;
}

.Sec__slope .Heading__h2::after {
	background-image: url(/attending/kokunai/ski/images/heading__icon03.png);
	width: 8.5rem;
	height: 5.5rem;
}

/* Sec__hotel */
.Sec__hotel {
	background-image: url(/attending/kokunai/ski/images/sec__bg-BP23-041866D.png);
	background-position: bottom left;
	background-repeat: no-repeat;
}

.Sec__hotel .Heading__h2::after {
	background-image: url(/attending/kokunai/ski/images/heading__icon04.png);
	width: 6rem;
	height: 6.1rem;
}

/* Sec__spa */
.Sec__spa {
	background-image: url(/attending/kokunai/ski/images/sec__bg-BP23-041864D.png);
	background-position: bottom right;
	background-repeat: no-repeat;
}

.Sec__spa .Heading__h2::after {
	background-image: url(/attending/kokunai/ski/images/heading__icon05.png);
	width: 6.8rem;
	height: 6.2rem;
}

.Sec__spa {
	padding-bottom: 10rem;
}

/* Sec__search */
.Sec__search {
	background-color: #f7f8f8;
	padding-bottom: 10rem;
}

.Sec__search .Heading__h2::after {
	background-image: url(/attending/kokunai/ski/images/heading__icon06.png);
	width: 5.8rem;
	height: 5.8rem;
}

.Search__form {
	border: solid 1px #e6e6e6;
}

/* Sec__faq */
.Sec__faq {
    padding-bottom: 10rem
}

.Sec__faq .Heading__h2::after {
	background-image: url(/attending/kokunai/ski/images/heading__icon01.png);
	width: 6.9rem;
	height: 6.9rem;
}

details {
	border-bottom: solid 1px #E6E6E6;
}

summary {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	background-color: var(--page-color);
	list-style: none;
	padding: 1.5rem 0;
	cursor: pointer;
}

summary::-webkit-details-marker {
	display: none;
}

summary::before {
	content: "Q";
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: var(--main-color);
	border-radius: 50%;
	border: solid 1px var(--main-color);
	width: 4.5rem;
	height: 4.5rem;
	font-size: 2.1rem;
	font-weight: 900;
	line-height: 1;
	color: #fff;
	margin-right: 1rem;
}

.Summary__inner {
	position: relative;
	width: calc(100% - 5rem - 1rem);
	font-size: 1.6rem;
	font-weight: 700;
	color: var(--main-color);
	line-height: 1.6;
	padding-left: 20px;
}

.Faq__icn-plus {
	position: absolute;
	top: 50%;
	right: 0;
	display: block;
	width: 2.2rem;
	height: 2.2rem;
	background-color: var(--main-color);
	border-radius: 50%;
	transform: translateY(-50%);
}

.Faq__icn-plus-inner {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
}

.Faq__icn-plus-inner::before,
.Faq__icn-plus-inner::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	display: block;
	width: 2px;
	height: 8px;
	background-color: white;
	transform: translate(-50%, -50%);
}

.Faq__icn-plus-inner::after {
	transform: translate(-50%, -50%) rotate(90deg);
}

.is-opened .Faq__icn-plus-inner::before {
	transform: translate(-50%, -50%) rotate(90deg);
}

.Faq__content {
	overflow: hidden;
}

.Faq__text {
	display: flex;
	justify-content: flex-start;
	font-size: 1.5rem;
	line-height: 1.6;
	font-weight: 500;
	padding: 1.5rem 0;
}

.Faq__text span {
	width: calc(100% - 10rem - 1rem);
	padding-left: 20px;
}

.Faq__text::before {
	content: "A";
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #f7f8f8;
	border: solid 1px #e3e3e3;
	border-radius: 50%;
	width: 4.5rem;
	height: 4.5rem;
	font-size: 2.1rem;
	font-weight: 900;
	line-height: 1;
	color: #f5263e;
	margin-right: 1rem;
}

/* その他おすすめ特集 */
.Sec__feature .Heading__h2::after {
	background-image: url(/attending/kokunai/ski/images/heading__icon01.png);
	width: 6.9rem;
	height: 6.9rem;
}

.swiper-slider__outer {
	position: relative;
}

.bannerCassette_content .bannerImg {
	width: 230px;
	height: 173px;
}

/* ツアーカセット */
.Tour__cassette {
	background-color: #fff;
	border: solid 1px #c7c9cc;
	border-radius: 8px;
	width: 24rem;
	height: auto;
	overflow: hidden;
}

.Tour__swiper-link,
.Tour__swiper-other {
	display: flex;
	flex-direction: column;
	height: 100%;
}

.Tour__swiper-link {
	transition: opacity 0.5s;
}

.Tour__swiper-link:hover {
	opacity: 0.5;
}

.Tour__cassette-inner {
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 0 1rem 1rem;
}

.Tour__dest {
	background-color: var(--main-color);
	font-size: 1.2rem;
	font-weight: 700;
	line-height: 1.2;
	color: #fff;
	margin-top: 1rem;
	padding: 0.5rem 1rem;
}

.Tour__image img {
	aspect-ratio: 3 / 2;
	object-fit: cover;
}

.Tour__label-items {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.Tour__label-item {
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #f5f5f5;
	border: solid 1px #e3e3e3;
	width: calc((100% / 2) - 0.5rem);
	font-size: 1.2rem;
	font-weight: 700;
	line-height: 1.2;
	color: var(--main-color);
	margin-top: 1rem;
	padding: 0.5rem;
}

.Tour__label-item__inner {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.Tour__title {
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.4;
	margin-top: 1rem;
}

.Tour__caption {
	font-size: 1.3rem;
	line-height: 1.4;
	margin-top: 1rem;
	margin-bottom: 2rem;
}

.Tour__price {
	font-weight: 700;
	color: var(--button-color);
	text-align: right;
	margin-top: auto;
}

.Tour__swiper-outer {
	position: relative;
}

.Tour__swiper {
	--swiper-theme-color: var(--page-color);
	margin: 0 auto;
	padding-bottom: 0;
	position: static;
	overflow: hidden;
	list-style: none;
	z-index: 1;
}

.Tour__swiper:has(.swiper-scrollbar-lock) {
	padding-bottom: 0;
}

.Tour__swiper-button-next.swiper-button-disabled,
.Tour__swiper-button-prev.swiper-button-disabled {
	display: none;
}

.Tour__swiper-button-next,
.Tour__swiper-button-prev {
	position: absolute;
	top: calc(50% - 2rem);
	z-index: 10;
	width: 5rem;
	height: 5rem;
	background: var(--button-color);
	border-radius: 50%;
	transition: opacity 0.3s;
	cursor: pointer;
}

.Tour__swiper-button-next:hover,
.Tour__swiper-button-prev:hover {
	opacity: 0.7;
}

.Tour__swiper-button-next {
	right: -2.5rem;
	transform: translateY(-50%);
}

.Tour__swiper-button-prev {
	left: -2.5rem;
	transform: translateY(-50%) rotate(180deg);
}

.Tour__swiper-button-next:after,
.Tour__swiper-button-prev:after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 8px;
	height: 8px;
	border-top: 2px solid white;
	border-right: 2px solid white;
}

.Tour__swiper-button-next:after {
	transform: translate(-70%, -50%) rotate(45deg);
}

.Tour__swiper-button-prev:after {
	transform: translate(-60%, -50%) rotate(45deg);
}

.swiper-scrollbar {
	background: #E5E5E5;
}

.swiper-scrollbar-drag {
	background: #bebebe;
}

/* Tour__other */
/* .Tour__other .Tour__label-items {
	justify-content: flex-start;
}

.Tour__other .Tour__label-item {
	width: auto;
	margin-top: 0;
	margin-bottom: 1rem;
}

.Tour__other .Tour__label-item:not(:last-child) {
	margin-right: 1rem;
} */

.Tour__other .Tour__dest {
	position: relative;
	display: flex;
	align-items: center;
	background-color: inherit;
	font-size: 13px;
	color: #748db7;
	margin-top: 1rem;
	padding: 0 0 0 1.75rem;
}

.Tour__other .Tour__dest::before {
	content: "";
	position: absolute;
	left: 0;
	display: block;
	background-image: url(/attending/kokunai/ski/images/mark01.png);
	background-repeat: no-repeat;
	background-size: contain;
	width: 1.1rem;
	height: 1.5rem;
}

.Tour__other .Tour__button {
	margin-top: auto;
}

.Tour__other .Tour__button .Button__item:not(:first-child) {
	margin-top: 1rem;
}

.Tour__other .Button__item-link {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: var(--main-color);
	border-radius: 8px;
	width: 100%;
	height: auto;
	font-size: 14px;
	font-weight: 700;
	color: #fff;
	padding: 1rem 0;
	transition: opacity 0.5s;
}

.Tour__other .Button__item-link:hover {
	opacity: 0.5;
}

.Tour__other .Button__item-link::before,
.Tour__other .Button__item-link::after {
	content: "";
	position: absolute;
	top: 50%;
}

.Tour__other .Button__item-link::before {
	right: 20px;
	transform: translateY(-50%);
	background-color: #fff;
	border-radius: 50%;
	display: block;
	width: 1.8rem;
	height: 1.8rem;
	z-index: 1;
}

.Tour__other .Button__item-link::after {
	right: 26px;
	display: block;
	width: 6px;
	height: 6px;
	border-top: 2px solid var(--main-color);
	border-right: 2px solid var(--main-color);
	transform: translateY(-50%) rotate(45deg);
	z-index: 2;
}

/* swiper */
.swiper-wrapper {
	margin-bottom: 30px;
}

.swiper-button-prev {
	top: calc(50% - 10.5rem);
	left: -2.5rem;
}

.swiper-button-next {
	top: calc(50% - 10.5rem);
	right: -2.5rem;
}

.swiper-button-next:after,
.swiper-button-prev:after {
	content: none;
}

.swiper-button-prev.swiper-button-disabled,
.swiper-button-next.swiper-button-disabled {
	display: none;
}

.swiper-button-prev,
.swiper-button-next {
	position: absolute;
	top: calc(50% - 2rem);
	z-index: 10;
	width: 5rem;
	height: 5rem;
	background: var(--button-color);
	border-radius: 50%;
	transition: all 0.3s;
	cursor: pointer;
}

.swiper-button-prev:hover,
.swiper-button-next:hover {
	transition: all 0.3s;
	opacity: 0.7;
}

.swiper-button-prev::before,
.swiper-button-next::before {
	content: "";
	position: absolute;
	top: 50%;
	display: block;
	width: 8px;
	height: 8px;
}

.swiper-button-prev::before {
	left: 50%;
	transform: translate(-50%, -50%) rotate(-135deg);
}

.swiper-button-next::before {
	left: 50%;
	transform: translate(-50%, -50%) rotate(45deg);
}

.swiper-container-horizontal > .swiper-scrollbar {
	left: 0;
	width: 100%;
	height: 1rem;
}

.swiper-slider__outer .swiper-button-prev::before,
.swiper-slider__outer .swiper-button-next::before {
	border-top: 2px solid white;
	border-right: 2px solid white;
}

#SlideBanner a:hover {
	opacity: 0.7;
}
/* その他おすすめ特集_end */


.kyoten {
	font-size: 1.8rem;
	line-height: 1.0;
	font-weight: 700;
	color: var(--main-color);
	background-color: #fff;
	border: 1px solid var(--main-color);
	border-radius: 8px;
	padding: 1%;
	position: absolute;
    bottom: 2%;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}

.end {
    color: #f00;
    text-align: center;
    font-size: 26px;
    font-weight: bold;
    margin: 1% 0;
}