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

/* =================================
Keyvisual
================================= */
.Keyvisual::before {
	content: none;
}

/* =================================
アンカー
================================= */
.Anchor__item {
	height: 90px;
}

.il__balloon::before {
	left: -10px;
	background-image: url(../images/il__balloon.png);
	width: 49px;
	height: 100px;
}

.il__shavedice::before {
	left: -30px;
	background-image: url(../images/il__shavedice.png);
	width: 104px;
	height: 104px;
}

.il__watermelon::before {
	left: -20px;
	background-image: url(../images/il__watermelon.png);
	width: 75px;
	height: 84px;
}

.il__candyapples::before {
	left: -20px;
	background-image: url(../images/il__candyapples.png);
	width: 97px;
	height: 102px;
}

.il__goldfish::before {
	left: -10px;
	background-image: url(../images/il__goldfish.png);
	width: 72px;
	height: 91px;
}

.il__firework::before {
	left: -25px;
	background-image: url(../images/il__firework.png);
	width: 73px;
	height: 72px;
}

.il__lantern::before {
	left: -25px;
	background-image: url(../images/il__lantern.png);
	width: 80px;
	height: 87px;
}

/* =================================
出発地から日本の祭り・花火大会のツアーを探す
================================= */
.Departure__items {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 8px;
}

.Departure__item {
	width: calc((100% / 5) - 8px);
	transition: opacity 0.5s;
}

.Departure__item:hover {
	opacity: 0.5;
}

.Departure--link {
	position: relative;
	display: flex;
	align-items: center;
	border-radius: 100px;
	border: 1px solid #ced3d9;
	background: #fff;
	width: 100%;
	font-weight: var(--bold);
	color: var(--main-color);
	padding: 16px 24px;
}

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

/* =================================
おすすめツアー
おすすめの祭りツアー
おすすめの花火大会ツアー
================================= */
.Sec__recommended {
	padding-top: 80px;
}

.Heading__wrapper {
	position: relative;
	background-color: var(--bg-color01);
	text-align: center;
	padding: 90px 0;
}

.Heading__wrapper::before,
.Heading__wrapper::after {
	content: "";
	position: absolute;
	display: block;
	background-image: url(../common/images/bg__heading.png);
	background-size: contain;
	background-repeat: no-repeat;
	width: 410px;
	height: 172px;
}

.Heading__wrapper::before {
	left: 0;
	bottom: 0;
}

.Heading__wrapper::after {
	right: 0;
	top: 0;
	transform: scale(-1, -1);
}

.Heading__h3--text {
	position: relative;
	font-size: 40px;
	font-family: "RocknRoll One", sans-serif;
	color: var(--main-color);
}

.Heading__h3--text::before,
.Heading__h3--text::after {
	content: "";
	position: absolute;
	transform: translateY(-50%);
	background-size: contain;
	background-repeat: no-repeat;
	background-size: contain;
	z-index: 5;
}

.Heading__h3--text::before {
	top: -40px;
	left: calc(50% - 480px);
	background-image: url(../common/images/deco__heading01.png);
	width: 401px;
	height: 193px;
}

.Heading__h3--text::after {
	top: 120px;
	left: calc(50% + 70px);
	background-image: url(../common/images/deco__heading02.png);
	width: 394px;
	height: 148px;
}

.Heading__h3__inner {
	position: relative;
	display: inline-block;
	/* padding: 8px 16px; */
	text-shadow: 3px 3px 0 #fff;
	z-index: 1;
}

.Heading__h3__inner:not(:last-child) {
	margin-bottom: 20px;
}

/* .Heading__h3__inner::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	background: #fff;
	border: 1px solid #254d7c;
	width: 100%;
	height: 100%;
	z-index: -1;

}

.Heading__h3__inner::after {
	content: "";
	position: absolute;
	top: 5px;
	left: 5px;
	display: block;
	background-color: #b9a560;
	border: solid 1px #254d7c;
	width: 100%;
	height: 100%;
	z-index: -2;
} */

.swiper-outer {
	position: relative;
}

.swiper-button-prev_tour,.swiper-button-next_tour  {
	position: absolute;
	top: calc(50% - 30px);
	z-index: 10;
	background-color: #fff;
	border: solid 2px var(--main-color);
	border-radius: 50%;
	width: 50px;
	height: 50px;
	opacity:0.8;
}

.swiper-button-prev_tour {
	left: -20px;
	-ms-transform: rotate(180deg);
	-webkit-transform: rotate(180deg);
	transform: rotate(180deg);
}
.swiper-button-next_tour {
	right: -20px;
}

.swiper-button-prev_tour::before,
.swiper-button-prev_tour::after,
.swiper-button-next_tour::before,
.swiper-button-next_tour::after {
	content: "";
	position: absolute;
	background-color: var(--main-color);
	border-radius: 1px;
	width: 3px;
}

.swiper-button-prev_tour::before,.swiper-button-next_tour::before {
	top: calc(50% - 3px);
	left: 50%;
	height: 12px;
	transform: translateY(-50%) rotate(-45deg);
}

.swiper-button-prev_tour::after,.swiper-button-next_tour::after {
	top: calc(50% + 5px);
	left: calc(50% - 1px);
	height: 8px;
	transform: translateY(-50%) rotate(45deg);
}

.swiper-button-prev_tour.swiper-button-disabled,
.swiper-button-next_tour.swiper-button-disabled {
	display: none;
}

.swiper-button-prev_tour:hover,
.swiper-button-next_tour:hover {
	cursor: pointer;
}

.Tour__btn--more {
	text-align: center;
	margin: 40px auto 0;
	width: 750px;
}

.Tour__btn--link {
	position: relative;
	display: inline-block;
	background-color: var(--main-color);
	border-radius: 100px;
	font-size: 21px;
	font-weight: var(--bold);
	color: #fff;
	padding: 16px 52px 16px 32px;
	transition: opacity 0.5s;
}

.Tour__btn--link::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 20px;
	display: block;
	width: 10px;
	height: 10px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: translateY(-50%) rotate(45deg);
}

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



/* =================================
※※2025年までver※※
おすすめの祭りから探す
おすすめの花火大会から探す
================================= */
.Sec__festival,
.Sec__fireworks {
	padding-top: 80px;
	position: relative;
}

.Anchor__items__festival {
	display: flex;
	justify-content: flex-start;
	column-gap: 16px;
	margin-top: 40px;
}

.Anchor__item__festival {
	position: relative;
	background-repeat: no-repeat;
	background-size: cover;
	border-radius: 8px;
	width: calc(100% / 6);
	height: 106px;
	overflow: hidden;
	cursor: pointer;
}

.Anchor__item__festival::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	background-color: #000;
	width: 100%;
	height: 100%;
	opacity: 0.7;
	transition: opacity 0.5s;
}

.Anchor__item__festival:hover::after {
	opacity: 0;
}

.Anchor__festival--link {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	font-size: 18px;
	font-family: "RocknRoll One", sans-serif;
	color: #fff;
	padding-bottom: 10px;
	z-index: 5;
}

.Anchor__festival__inner {
	position: relative;
}

.Anchor__festival__inner::before,
.Anchor__festival__inner::after {
	content: "";
	position: absolute;
	background-color: #fff;
	border-radius: 1px;
	width: 3px;
}

.Anchor__festival__inner::before {
	left: calc(50% + 3px);
	bottom: -14px;
	height: 12px;
	transform: translateX(-50%) rotate(45deg);
}

.Anchor__festival__inner::after {
	left: calc(50% - 5px);
	bottom: -10px;
	height: 7px;
	transform: translateX(-50%) rotate(-45deg);
}

.btn__tohoku {
	background-image: url(../images/bg__btn__festival--PG22-057758.jpg);
}

.btn__takayama {
	background-image: url(../images/bg__btn__festival--SP22-008785.jpg);
}

.btn__gion {
	background-image: url(../images/bg__btn__festival--BL18-000451.jpg);
}

.btn__yosakoi {
	background-image: url(../images/bg__btn__festival--BP23-045746.jpg);
}

.btn__awa {
	background-image: url(../images/bg__btn__festival--BL17-014282.jpg);
}

.btn__owara {
	background-image: url(../images/bg__btn__festival--EBP16-26619.jpg);
}

.Common__group--event {
	position: relative;
	background-color: #fff;
	border: solid 1px var(--main-color);
	margin: 80px 0 40px;
	padding: 80px 40px 40px;
}

.Common__group--event:last-child {
	margin: 80px 0 100px;
}

.Common__group--event::before,
.Common__group--event::after {
	content: "";
	position: absolute;
	top: -1px;
	background-size: contain;
	background-repeat: no-repeat;
	width: 29px;
	height: 29px;
}

.Common__group--event::before {
	left: -1px;
	background-image: url(../images/deco__information.svg);
}

.Common__group--event::after {
	right: -1px;
	background-image: url(../images/deco__information.svg);
	transform: scaleX(-1);
}

.Sec__festival .Common__group--event__inner::before,
.Sec__festival .Common__group--event__inner::after,
.Sec__fireworks .Common__group--event__inner::before,
.Sec__fireworks .Common__group--event__inner::after {
	content: "";
	position: absolute;
	transform: translateX(-50%);
	display: block;
	background-size: contain;
	background-repeat: no-repeat;
	z-index: -1;
}

.Sec__festival .Common__group--event__inner::before,
.Sec__fireworks .Common__group--event__inner::before {
	top: 0;
	left: calc(50% - 550px);
	background-image: url(../common/images/il__recommended01.png);
	width: 318px;
	height: 365px;
}

.Sec__festival .Common__group--event__inner::after,
.Sec__fireworks .Common__group--event__inner::after {
	bottom: -70px;
	left: calc(50% + 490px);
	background-image: url(../common/images/il__recommended02.png);
	width: 501px;
	height: 401px;
}

.Sec__festival .Common__group--event:nth-child(2n + 1) .Common__group--event__inner::before,
.Sec__fireworks .Common__group--event:nth-child(2n + 1) .Common__group--event__inner::before {
	top: 0;
	left: calc(50% + 530px);
	background-image: url(../common/images/il__recommended03.png);
	width: 273px;
	height: 353px;
}

.Sec__festival .Common__group--event:nth-child(2n + 1) .Common__group--event__inner::after,
.Sec__fireworks .Common__group--event:nth-child(2n + 1) .Common__group--event__inner::after {
	bottom: -70px;
	left: calc(50% - 490px);
	background-image: url(../common/images/il__recommended04.png);
	width: 501px;
	height: 401px;
}

.Heading__h4--image {
	position: absolute;
	top: -38px;
	left: 50%;
	transform: translateX(-50%);
	text-align: center;
}

.Heading__h4--image img {
	image-rendering: -webkit-optimize-contrast;
	image-rendering: -moz-crisp-edges;
	image-rendering: pixelated;
}

.Heading__h4--image span {
	width: 100%;
	font-size: 46px;
	font-family: "RocknRoll One", sans-serif;
	color: #254d7c;
	line-height: 1;
	letter-spacing: -.06em;
	position: absolute;
	top: 50%;
	left: 50%;
	translate: -50% calc(-50% - 5px);
}

.Heading__h4--image--small span {
	font-size: 38px;
	letter-spacing: 0;
}

.Common__block--3col {
	display: flex;
	column-gap: 24px;
}

.Common__block--3col__inner {
	width: calc((100% / 3) - 12px);
}

.Common__block--3col__inner .Information__text {
	width: 100%;
	row-gap: 8px;
	margin-top: 16px;
}

.Common__block--3col__inner .Information__subTitle {
	min-height: 45px;
	font-weight: var(--bold);
	color: var(--main-color);
	line-height: 1.3;
}

.Common__group--event__txt {
	text-align: center;
	margin-bottom: 40px;
}

.Common__block--information {
	display: flex;
	justify-content: space-between;
	column-gap: 24px;
}

.Common__block--information:not(:last-child) {
	margin-bottom: 40px;
}

.Information__images--large {
	position: relative;
	mask-image: url(../images/mask01__shape.png);
	-webkit-mask-image: url(../images/mask01__shape.png);
	-webkit-mask-size: contain;
	mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	width: 400px;
	height: 300px;
}

.Information__images--large::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	background-image: url(../images/mask01__line.png);
	background-repeat: no-repeat;
	width: 400px;
	height: 300px;
}

.Information__images--small {
	position: relative;
	mask-image: url(../images/mask02__shape.png);
	-webkit-mask-image: url(../images/mask02__shape.png);
	-webkit-mask-size: contain;
	mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	width: 298px;
	height: 224px;
}

.Information__images--small::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	background-image: url(../images/mask02__line.png);
	background-repeat: no-repeat;
	width: 298px;
	height: 224px;
}

.Information__text {
	display: flex;
	flex-direction: column;
	width: calc(100% - 400px - 24px);
	row-gap: 16px;
}

.Event__name {
	font-size: 21px;
	font-weight: var(--bold);
	color: var(--main-color);
}

.Event__date {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	background-color: var(--bg-color01);
	border-radius: 8px;
	padding: 8px;
}

.Event__schedule {
	position: relative;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	background-color: var(--bg-color03);
	border-radius: 4px;
	font-size: 12px;
	font-weight: var(--bold);
	color: #fff;
	margin-right: 15px;
	padding: 6px 8px 6px 10px;
}

.Event__schedule::before,
.Event__schedule::after {
	content: "";
	display: block;
}

.Event__schedule::before {
	display: block;
	background-image: url(../common/images/icon__calendar.svg);
	background-size: contain;
	background-repeat: no-repeat;
	width: 13px;
	height: 15px;
	margin-right: 3px;
}

.Event__schedule::after {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: -5px;
	border-style: solid;
	border-width: 5px 0 5px 5px;
	border-color: transparent transparent transparent var(--bg-color03);
}

.Event__days {
	font-family: "Lato", sans-serif;
	font-weight: var(--bold);
}

.Event__days span {
	font-size: 12px;
	font-family: "Zen Kaku Gothic New", sans-serif;
}

.Area__items {
	display: flex;
	justify-content: flex-start;
	gap: 8px;
}

.Area__item {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	background-color: var(--bg-color01);
	border-radius: 4px;
	font-size: 12px;
	font-weight: var(--bold);
	padding: 6px 10px;
}

.Area__item::before {
	content: "";
	display: block;
	background-image: url(../common/images/icon__mark01.svg);
	background-size: contain;
	background-repeat: no-repeat;
	width: 11px;
	height: 15px;
	margin-right: 5px;
}

.Common__block--tour {
	position: relative;
	background-color: var(--bg-color01);
	border-radius: 8px;
	margin: 40px 0;
	padding: 30px 40px 40px;
}

.Common__block--tour::before {
	content: "";
	display: block;
	position: absolute;
	top: 5px;
	left: 50%;
	transform: translate(-50%, -50%);
	background-image: url(../common/images/deco__recommended.png);
	background-size: contain;
	background-repeat: no-repeat;
	width: 70px;
	height: 33px;
}

.Heading__h5--text {
	font-size: 21px;
	font-weight: var(--bold);
	color: var(--main-color);
	text-align: center;
}

.Recommended__tour--text {
	background-color: #fff;
	border-radius: 8px;
	margin-top: 16px;
	padding: 24px;
}

.text__dept {
	display: inline-block;
	background-color: var(--main-color);
	border-radius: 4px;
	font-size: 13px;
	font-weight: var(--bold);
	color: #fff;
	padding: 4px 8px;
}

.text__title {
	font-weight: var(--bold);
	margin-top: 5px;
}

.text__price {
	width: 100%;
	font-size: 18px;
	font-family: "Lato", sans-serif;
	font-weight: var(--bold);
	color: #db2100;
	text-align: right;
}

.Anchor__items__fireworks {
	display: flex;
	justify-content: center;
	column-gap: 16px;
	margin-top: 40px;
}

.Anchor__item__fireworks {
	position: relative;
	background-repeat: no-repeat;
	background-size: cover;
	border-radius: 8px;
	width: calc(100% / 6);
	height: 106px;
	overflow: hidden;
	cursor: pointer;
}

.Anchor__item__fireworks::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	background-color: #000;
	width: 100%;
	height: 100%;
	opacity: 0.7;
	transition: opacity 0.5s;
}

.Anchor__item__fireworks:hover::after {
	opacity: 0;
}

.Anchor__fireworks--link {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	font-size: 18px;
	font-family: "RocknRoll One", sans-serif;
	color: #fff;
	padding-bottom: 10px;
	z-index: 5;
	text-align: center;
	line-height: 1.2;
}

.Anchor__fireworks__inner {
	position: relative;
}

.Anchor__fireworks__inner::before,
.Anchor__fireworks__inner::after {
	content: "";
	position: absolute;
	background-color: #fff;
	border-radius: 1px;
	width: 3px;
}

.Anchor__fireworks__inner::before {
	left: calc(50% + 4px);
	bottom: -14px;
	height: 12px;
	transform: translateX(-50%) rotate(45deg);
}

.Anchor__fireworks__inner::after {
	left: calc(50% - 4px);
	bottom: -10px;
	height: 7px;
	transform: translateX(-50%) rotate(-45deg);
}

.btn__oomagari {
	background-image: url(../images/bg__btn__fireworks--BP23-011046.jpg);
}

.btn__nagaoka {
	background-image: url(../images/bg__btn__fireworks--BP19-017489.jpg);
}

.btn__tsuchiura {
	background-image: url(../images/bg__btn__fireworks--EBP15-38181.jpg);
}

.btn__suwako {
	background-image: url(../images/bg__btn__fireworks--BP23-009394.jpg);
}

.btn__kumano {
	background-image: url(../images/bg__btn__fireworks--BP20-041669.jpg);
}

.btn__huistenbosch {
	background-image: url(../images/bg__btn__fireworks--SP23-034344.jpg);
}

.Common__btn--more {
	text-align: center;
}

.Common__btn--link {
	position: relative;
	display: inline-block;
	background-color: var(--bg-color02);
	border: 2px solid var(--main-color);
	border-radius: 100px;
	font-size: 18px;
	font-weight: var(--bold);
	color: var(--main-color);
	padding: 16px 32px;
	transition: opacity 0.5s;
}

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

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


/* =================================
※※2026年(通年ver)※※
祭りから探す
花火大会から探す
================================= */
.Anchor__items__event {
	display: flex;
	justify-content: flex-start;
	column-gap: 16px;
	margin-top: 40px;
}

.Anchor__item__event {
	position: relative;
	border-radius: 8px;
	width: calc(100% / 4);
	height: 106px;
	overflow: hidden;
	cursor: pointer;
}

.btn__spring {
	background-color: #FFBFD4;
}
.btn__summer {
	background-color: #A1E5B8;
}
.btn__autumn {
	background-color: #FFD2A6;
}
.btn__winter {
	background-color: #B2E5FF;
}

.Anchor__item__event::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	background-image: url(../images/bg__btn--event.png);
	background-repeat: repeat;
	background-size: 20%;
	width: 100%;
	height: 100%;
	opacity: 0.15;
}

.Anchor__event--link {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	font-size: 18px;
	font-family: "RocknRoll One", sans-serif;
	color: var(--main-color);
	line-height: 1.1;
	padding-right: 5px;
	z-index: 5;
}

.Anchor__event--link::before {
	content: "";
	width: 38px;
	height: 38px;
	margin-right: 5px;
}

.btn__spring .Anchor__event--link::before {
	background: url(../images/btn__icon--spring.svg);
	background-repeat: no-repeat;
	background-size: contain;
}
.btn__summer .Anchor__event--link::before {
	background: url(../images/btn__icon--summer.svg);
	background-repeat: no-repeat;
	background-size: contain;
}
.btn__autumn .Anchor__event--link::before {
	background: url(../images/btn__icon--autumn.svg);
	background-repeat: no-repeat;
	background-size: contain;
}
.btn__winter .Anchor__event--link::before {
	background: url(../images/btn__icon--winter.svg);
	background-repeat: no-repeat;
	background-size: contain;
}

.Anchor__event__inner::before,
.Anchor__event__inner::after {
	content: "";
	position: absolute;
	background-color: var(--main-color);
	border-radius: 1px;
	width: 3px;
}

.Anchor__event__inner::before {
	left: calc(50% + 3px);
	bottom: 7px;
	height: 12px;
	transform: translateX(-50%) rotate(45deg);
}

.Anchor__event__inner::after {
	left: calc(50% - 5px);
	bottom: 11px;
	height: 7px;
	transform: translateX(-50%) rotate(-45deg);
}

.Anchor__text--em {
	font-size: 1.5em;
}

.Common__group--event02 {
	margin: 80px 0 40px;
}

.Heading__h4--event {
	position: relative;
	display: flex;
	justify-content: center;
	background-color: #E9EDF2;
	border-radius: 10px;
	height: 80px;
	font-size: 32px;
	font-family: "RocknRoll One", sans-serif;
	color: var(--main-color);
	line-height: 1;
	letter-spacing: 0.03em;
	text-align: center;
}

.Heading__h4--event::before,.Heading__h4--event::after {
	content: "";
	position: absolute;
	background-repeat: no-repeat;
	background-size: contain;
	width: 174px;
	height: 130px;
	z-index: 98;
}

.Heading__h4--event::before {
	left: 0;
	bottom: -20px;
}
.Heading__h4--event::after {
	right: 0;
	top: -20px;
}

.h4__spring::before {background-image: url(../images/Heading__spring--L.png);}
.h4__spring::after {background-image: url(../images/Heading__spring--R.png);}

.h4__summer::before {background-image: url(../images/Heading__summer--L.png);}
.h4__summer::after {background-image: url(../images/Heading__summer--R.png);}

.h4__autumn::before {background-image: url(../images/Heading__autumn--L.png);}
.h4__autumn::after {background-image: url(../images/Heading__autumn--R.png);}

.h4__winter::before {background-image: url(../images/Heading__winter--L.png);}
.h4__winter::after {background-image: url(../images/Heading__winter--R.png);}

.h4__event__inner {
	position: relative;
	display: flex;
	align-items: center;
	background-color: #fff;
	padding: 0 160px;
}

.h4__event__inner::before,.h4__event__inner::after {
	content: "";
	position: absolute;
	width: 30px;
	height: 100%;
	background: #fff;
}

.h4__event__inner::before{
	left: -30px;
	border-radius: 100% 0 0 100% / 50%;
}
.h4__event__inner::after{
	right: -30px;
	border-radius: 0 100% 100% 0 / 50%;
}

.h4__event--em {
	font-size: 1.25em;
	padding-bottom: 5px;
}

.h4__spring .h4__event--em { color: #FF6195;}
.h4__summer .h4__event--em { color: #26BF59;}
.h4__autumn .h4__event--em { color: #F78819;}
.h4__winter .h4__event--em { color: #33BBFF;}


.Block--event--list {
	margin-top: 50px;
}

.Common__group--event02:nth-child(even) .Block--event--list::before,
.Common__group--event02:nth-child(odd) .Block--event--list::after {
	content: "";
	position: absolute;
	bottom: -65px;
	transform: translateX(-50%);
	display: block;
	background-size: contain;
	background-repeat: no-repeat;
	width: 501px;
	height: 401px;
	z-index: -1;
}

.Common__group--event02:nth-child(even) .Block--event--list::before {
	left: calc(50% + 490px);
	background-image: url(../common/images/il__recommended02.png);

}
.Common__group--event02:nth-child(odd) .Block--event--list::after {
	left: calc(50% - 490px);
	background-image: url(../common/images/il__recommended04.png);
}

.Block__list--item {
	display: flex;
	flex-direction: column;
	background-color: #fff;
	width: 290px;
	height: auto;
	border-radius: 16px;
	overflow: hidden;
	transition: opacity 0.5s;
	border: 1px solid var(--main-color);
}

.Block__event__img{
	aspect-ratio: 4 / 3;
	min-height: 217px;
}

/* slide */
.slideShow {
	position: relative;
	height: auto;
}

.slideShow figure {
	position: absolute;
	left: 0;
	top: 0;
}

.slideShow .thumbNail {
	overflow: hidden;
	position: relative;
}
.slideShow .thumbNail ul {
	position: relative;
	float: left;
	left: 50%;
	transform: translateX(-50%);
	height: 15px;
}
.slideShow .thumbNail ul li {
	cursor: pointer;
	background-color: #E9EDF2;
	border-radius: 100px;
	float: left;
	width: 8px;
	height: 8px;
	margin: 5px 5px 0;
	overflow: hidden;
}
.slideShow .thumbNail ul li.active {
	background-color: #999999;
	opacity: 1;
}

.Block__event__information {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	border-radius: 0 0 16px 16px;
	height: 100%;
	row-gap: 4px;
	margin-top: -1px;
	padding: 10px;
}

.Event__information--title{
	font-weight: var(--bold);
	color: var(--main-color);
	font-size: 18px;
	line-height: 1.3;
	width: 100%;
}

.Area__items02 {
	display: flex;
	justify-content: flex-start;
	gap: 8px;
	width: 100%;
	padding: 4px 4px 0;
}

.Area__item02 {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	border-radius: 4px;
	font-size: 14px;
	font-weight: var(--bold);
}

.Area__item02::before {
	content: "";
	display: block;
	background-image: url(../common/images/icon__mark01.svg);
	background-size: contain;
	background-repeat: no-repeat;
	width: 12px;
	height: 16px;
	margin-right: 3px;
}

.Event__date02 {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: flex-start;
	background-color: var(--bg-color01);
	border-radius: 8px;
	width: 100%;
	padding: 8px 10px 4px;
}

.Event__schedule02 {
	position: relative;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	background-color: var(--bg-color03);
	border-radius: 4px;
	font-size: 12px;
	font-weight: var(--bold);
	color: #fff;
	margin-bottom: 2px;
	padding: 4px 8px 4px 10px;
}

.Event__schedule02::before,
.Event__schedule02::after {
	content: "";
	display: block;
}

.Event__schedule02::before {
	display: block;
	background-image: url(../common/images/icon__calendar.svg);
	background-size: contain;
	background-repeat: no-repeat;
	width: 13px;
	height: 15px;
	margin-right: 3px;
}

.Event__schedule02::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: -5px;
	left: 0;
	width: 0px;
	height: 0px;
	margin: auto;
	border-style: solid;
	border-color: var(--bg-color03) transparent transparent transparent;
	border-width: 5px 5px 0 5px;
}

.Event__days02 {
	font-size: 15px;
	font-family: "Lato", sans-serif;
	font-weight: var(--bold);
	letter-spacing: 0;
}

.Event__information--caption {
	flex-grow: 1;
	font-size: 15px;
	width: 100%;
	margin-top: 5px;
	margin-bottom: 15px;
}

.Event__btn {
	border-bottom: 1px solid var(--main-color);
	margin: 0 5px 5px 0;
	transition: opacity 0.5s;
}

.Event__btn:hover {
	border-bottom: none;
	opacity: 0.5;
}

.Event__btn--link {
	display: flex;
	align-items: center;
	column-gap: 3px;
	font-weight: 600;
	color: var(--main-color);
}

.Event__btn--link::after {
	content: "";
	display: block;
	width: 8px;
	height: 8px;
	border-top: 2px solid var(--main-color);
	border-right: 2px solid var(--main-color);
	transform: translateY(10%) rotate(45deg);
}


/* =================================
その他おすすめの日本の祭りに行くツアー
その他おすすめの花火大会に行くツアー
================================= */
.Sec__other--festival {
	background-image: url(../common/images/bg__blur.png);
	background-repeat: no-repeat;
	background-size: cover;
	padding: 80px 100px 150px;
}

.Sec__other--fireworks {
	background-image: url(../common/images/bg__blur.png);
	background-repeat: no-repeat;
	background-size: cover;
	padding: 80px 100px 150px;
}

.Sec__other--festival .Block__recommended,
.Sec__other--fireworks .Block__recommended {
	width: 27rem;
	box-shadow: 0 2.5rem 2rem -2rem rgba(0, 0, 0, 0.5);
}

.Sec__other--festival .swiper-wrapper,
.Sec__other--fireworks .swiper-wrapper {
	margin-bottom: 50px;
}

.Heading__h3--other__wrapper {
	text-align: center;
	margin-bottom: 40px;
}

/* .Heading__h3--other__wrapper br {
	content: "";
	display: block;
	height: 30px;
} */

.Heading__h3--other {
	font-size: 32px;
	font-family: "RocknRoll One", sans-serif;
	color: var(--main-color);
}

.Other__btn--more {
	text-align: center;
}

.Other__btn--link {
	position: relative;
	display: inline-block;
	border: solid 2px #fff;
	border-radius: 100px;
	font-size: 21px;
	font-weight: var(--bold);
	color: #fff;
	padding: 24px 60px 24px 40px;
	transition: background-color 0.5s, color 0.5s;
}

.Other__btn--link:hover {
	background-color: #fff;
	color: var(--main-color);
}

.Other__btn--link::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 40px;
	display: block;
	width: 10px;
	height: 10px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: translateY(-50%) rotate(45deg);
	transition: border-color 0.5s;
}

.Other__btn--link:hover::after {
	border-color: var(--main-color);
}

/* =================================
関連情報
おすすめ特集
日本の祭り・花火大会関連の旅ブログはこちら
================================= */
.Sec__relation,
.Sec__blog,
.Sec__feature {
	position: relative;
	padding: 120px 0 80px;
}

.Sec__relation {
	margin-top: 120px;
}

.Heading__h4__wrapper {
	text-align: center;
}

.Heading__h4--text {
	position: relative;
	font-size: 32px;
	font-weight: var(--bold);
	line-height: 1.2;
	color: var(--main-color);
}

.Heading__h4--text::before {
	position: absolute;
	top: -30px;
	left: 50%;
	transform: translate(-50%, -50%);
	background-image: url(../common/images/deco__heading03.png);
	background-repeat: no-repeat;
	background-size: contain;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 105px;
	height: 52px;
	font-size: 12px;
	font-family: "Lato", sans-serif;
	color: #fff;
	padding-bottom: 10px;
}

.Heading__h4--text.News::before {
	content: "NEWS";
}

.Heading__h4--text.Blog::before {
	content: "BLOG";
}

.Heading__h4--text.Feature::before {
	content: "FEATURE";
}

.Heading__h4__inner {
	position: relative;
	display: inline-block;
}

.Heading__h4__inner::before,
.Heading__h4__inner::after {
	content: "";
	position: absolute;
	top: 50%;
	display: block;
	background-image: url(../common/images/deco__heading04.png);
	background-repeat: no-repeat;
	background-size: contain;
	width: 105px;
	height: 53px;
}

.Heading__h4__inner::before {
	left: -125px;
	transform: translateY(-50%);
}

.Heading__h4__inner::after {
	right: -125px;
	transform: translateY(-50%) scaleX(-1);
}

.Relation__items {
	display: flex;
	justify-content: space-between;
	column-gap: 24px;
	margin-top: 32px;
}

.Relation__item {
	position: relative;
	background-color: #fff;
	border-radius: 16px;
	width: calc((100% / 2));
}

.Relation__item::before,
.Relation__item::after {
	content: "";
	position: absolute;
	display: block;
}

.Relation__item::before {
	bottom: 14px;
	transform: translateY(-50%) rotate(45deg);
	right: 18px;
	width: 6px;
	height: 6px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	z-index: 2;
}

.Relation__item::after {
	bottom: 0;
	transform: translateY(-50%);
	right: 10px;
	background-color: var(--main-color);
	border-radius: 100px;
	width: 20px;
	height: 20px;
	z-index: 1;
}

.Relation__item__inner figure {
	width: 160px;
	height: 121px;
}

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

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

.Relation__item__inner {
	display: flex;
	justify-content: space-between;
	column-gap: 16px;
	padding: 16px;
}

.Relation__item__text {
	width: calc((100% - 160px) - 16px);
}

.Relation__days {
	font-size: 13px;
	color: rgba(51, 51, 51, 0.5);
}

.Relation__caption {
	font-weight: var(--bold);
	line-height: 1.4;
}

.Blog__notice {
	font-size: 12px;
	text-align: center;
}

.Group__blog {
	display: flex;
	justify-content: flex-start;
	column-gap: 32px;
	margin: 40px 0;
}

.Blog__item__inner {
	display: flex;
	flex-basis: min-content;
	height: auto;
}

.Blog__item {
	position: relative;
	display: flex;
	flex-direction: column;
	background-color: var(--bg-color01);
	border-radius: 16px;
	padding: 16px;
	transition: opacity 0.5s;
}

.Blog__item::before,
.Blog__item::after {
	content: "";
	position: absolute;
	display: block;
}

.Blog__item::before {
	bottom: 14px;
	transform: translateY(-50%) rotate(45deg);
	right: 18px;
	width: 6px;
	height: 6px;
	border-top: 2px solid var(--main-color);
	border-right: 2px solid var(--main-color);
	z-index: 2;
}

.Blog__item::after {
	bottom: 0;
	transform: translateY(-50%);
	right: 10px;
	background-color: #fff;
	border-radius: 100px;
	width: 20px;
	height: 20px;
	z-index: 1;
}

.Blog__item:hover {
	opacity: 0.5;
}

.Blog__item .photo {
	width: 288px;
	height: 216px;
	border-radius: 16px;
	overflow: hidden;
}

.Blog__item .photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.Blog__item .pref {
	position: absolute;
	top: 26px;
	left: 26px;
	background-color: #fff;
	border-radius: 100px;
	font-size: 13px;
	font-weight: var(--bold);
	text-align: center;
	letter-spacing: 0.25em;
	padding: 4px 8px;
}

.Blog__item .day {
	font-size: 13px;
	color: rgba(51, 51, 51, 0.5);
	margin-top: 5px;
}

.Blog__item .ttl {
	font-weight: var(--bold);
}

.Blog__btn--more {
	text-align: center;
}

.Blog__btn--link {
	position: relative;
	display: inline-block;
	background-color: var(--main-color);
	border-radius: 100px;
	font-size: 21px;
	font-weight: var(--bold);
	color: #fff;
	padding: 16px 52px 16px 32px;
	transition: opacity 0.5s;
}

.Blog__btn--link::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 20px;
	display: block;
	width: 10px;
	height: 10px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: translateY(-50%) rotate(45deg);
}

.Blog__btn--link:hover {
	opacity: 0.5;

}

.Blog__item a {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}

.Sec__feature .swiper-slider__outer {
	margin-top: 32px;
}

/* swiper */
.Tour__swiper-outer {
	position: relative;
}

.Tour__swiper {
	--swiper-theme-color: var(--main-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: rgba(255, 255, 255, 0.5);
	border: solid 1px var(--main-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-prev {
	left: -2.5rem;
	transform: translateY(-50%) scale(-1, 1);
}

.Tour__swiper-button-prev::before,
.Tour__swiper-button-prev::after {
	content: "";
	position: absolute;
	background-color: var(--main-color);
	border-radius: 1px;
	width: 3px;
}

.Tour__swiper-button-prev::before {
	left: calc(50% + 2px);
	top: calc(50% - 10px);
	height: 13px;
	transform: translateX(-50%) rotate(-45deg);
}

.Tour__swiper-button-prev::after {
	left: 50%;
	top: calc(50% + 1px);
	height: 7px;
	transform: translateX(-50%) rotate(45deg);
}

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

.Tour__swiper-button-next::before,
.Tour__swiper-button-next::after {
	content: "";
	position: absolute;
	background-color: var(--main-color);
	border-radius: 1px;
	width: 3px;
}

.Tour__swiper-button-next::before {
	top: calc(50% - 10px);
	left: calc(50% + 2px);
	height: 13px;
	transform: translateX(-50%) rotate(-45deg);
}

.Tour__swiper-button-next::after {
	left: 50%;
	top: calc(50% + 1px);
	height: 7px;
	transform: translateX(-50%) rotate(45deg);
}

.swiper-scrollbar {
	background: #e5e5e5;
}

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

.swiper-slider__outer {
	position: relative;
}

.bannerCassette_content .bannerImg {
	width: 230px;
	height: 173px;
}
.swiper-wrapper {
	margin-bottom: 30px;
}

.swiper-button-prev {
	top: calc(50% - 15px);
	left: -25px;
}

.swiper-button-next {
	top: calc(50% - 15px);
	right: -25px;
}

.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: 50%;
	z-index: 10;
	width: 5rem;
	height: 5rem;
	background: rgba(255, 255, 255, 0.5);
	border: solid 1px var(--main-color);
	border-radius: 50%;
	transition: opacity 0.3s;
	cursor: pointer;
}

.swiper-button-prev {
	left: -2.5rem;
	transform: translateY(-50%) scale(-1, 1);
}

.swiper-button-prev::before,
.swiper-button-prev::after {
	content: "";
	position: absolute;
	background-color: var(--main-color);
	border-radius: 1px;
	width: 3px;
}

.swiper-button-prev::before {
	left: calc(50% + 2px);
	top: calc(50% - 10px);
	height: 13px;
	transform: translateX(-50%) rotate(-45deg);
}

.swiper-button-prev::after {
	left: 50%;
	top: calc(50% + 1px);
	height: 7px;
	transform: translateX(-50%) rotate(45deg);
}

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

.swiper-button-next::before,
.swiper-button-next::after {
	content: "";
	position: absolute;
	background-color: var(--main-color);
	border-radius: 1px;
	width: 3px;
}

.swiper-button-next::before {
	left: calc(50% + 2px);
	top: calc(50% - 10px);
	height: 13px;
	transform: translateX(-50%) rotate(-45deg);
}

.swiper-button-next::after {
	left: 50%;
	top: calc(50% + 1px);
	height: 7px;
	transform: translateX(-50%) rotate(45deg);
}

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

.Event__a--link:hover {
	opacity: 0.7;
}
.Event__btn--link{
	opacity: 0.7;
}