@charset "UTF-8";
:root{
	--color-navy: #3c3f67;
	--color-gold: #ae9a6b;
	--color-wh: #fff;
	--color-bk: #2c2c2c;
	--color-bk2: #222142;
}
.is-gold{
	color: var(--color-gold);
}
.is-navy{
	color: var(--color-navy);
}
.general-section .inner.inner-wide{
	max-width: 1200px;
}
.mv{
	position: relative;
	background: #f2f2f2;
}
.mv-ttl-wrap{
	max-width: 1200px;
    width: calc(100% - 32px);
	position: absolute;
	top: 47%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.mv-ttl-wrap .lead{
	margin-bottom: .6em;
	padding-bottom: 1.4rem;
	width: fit-content;
	font-size: min(3vw, 3.8rem);
	letter-spacing: .1rem;
	position: relative;
}
.mv-ttl-wrap .lead::after{
	content: "";
	max-width: 328px;
	width: 100%;
	display: inline-block;
	aspect-ratio: 328 / 21;
	background: url(../images/tour/mv-ttl-deco.svg) no-repeat center / cover;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}
.mv-ttl-wrap .primary-heading{
	width: fit-content;
	font-size: min(4vw, 5.1rem);
	line-height: 1.5;
	letter-spacing: -.06rem;
}


.intro{
	background: url(../images/tour/intro-bg.webp) no-repeat top center / cover;
}
.intro .inner{
	padding: 110px 0 60px;
	position: relative;
}
.intro .lead{
	margin: 0;
	font-size: 1.8rem;
	line-height: 1.8;
}
.intro-lists{
	width: 100%;
	justify-content: center;
	gap: 24px;
	position: absolute;
	top: -12%;
}
.intro-lists .list-item{
	padding: 16px 8px;
	width: 200px;
	justify-content: center;
	align-items: center;
	gap: 12px;
	background: #dcdfeb;
	border-radius: 10px;
	overflow: hidden;
	color: var(--color-bk2);
	font-size: 18px;
	line-height: 1.3;
	box-shadow: 0px 3px 6px rgba(0, 0, 0, .16);
}
.list-item-txt.time{
	flex-direction: column;
	align-items: center;
	gap: 14px;
}
.list-item-txt.time .small-text{
	font-size: 85%;
}
.list-item-txt.time .large-text{
	font-size: 200%;
	line-height: 0;
}

.flow{
	background: rgba(174, 154, 107, .15);
}
.flow .inner{
	padding: 160px 0;
}
.flow .secondary-heading{
	margin-bottom: 1em;
}
.flow-ttl{
	margin: 0 8px 1em;
	padding: 24px 10px;
	background: var(--color-navy);
	font-size: 3.6rem;
	outline: 1.5px solid var(--color-navy);
	outline-offset: 6px;
}
.flow-ttl2{
	font-size: 3.6rem;
	line-height: 1.3;
}
.flow-step-lists{
	margin-top: 80px;
}
.flow-step-item{
	margin-bottom: 1.6rem;
	padding-bottom: 3.2rem;
	position: relative;
}
.flow-step-item::after{
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-right: 28px solid transparent;
	border-left: 28px solid transparent;
	border-top: 16px solid var(--color-gold);
	border-bottom: 0;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}
.flow-step-item.last{
	margin-bottom: 0;
	padding-bottom: 0;
}
.flow-step-item.last:after{
	content: none;
}
.flow-step-container{
	grid-template-columns: 1fr min(calc(380 / 1300 * 100%), 380px);
	align-items: center;
	background: var(--color-wh);
	border-radius: 10px;
	overflow: hidden;
}
.flow-step-wrap{
	padding: 48px 10px 48px 40px;
	grid-template-columns: auto 1fr;
	align-items: center;
}
.step-num-wrap{
	padding-right: 2vw;
	flex-direction: column;
	align-items: center;
	font-size: 2rem;
	letter-spacing: .2rem;
	position: relative;
}
.step-num-wrap::after{
	content: "";
	width: 1px;
	height: 140px;
	background: var(--color-gold);
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
}
.step-num-wrap .step{
	margin-left: 10px;
	display: inline-block;
}
.step-num-wrap .num{
	font-size: 9rem;
	font-style: italic;
	font-weight: 500;
	line-height: .9em;
}
.step-contents{
	padding-left: 2vw;
	align-items: center;
	gap: 10px 32px;
}
.step-ttl{
	margin-bottom: .6em;
	font-size: 2.3rem;
	line-height: 1.3;
}
.step-contents .note{
	margin: 0;
}
.step-img{
	height: 100%;
}
.step-img img{
	height: 100%;
	object-fit: cover;
}

.next{
	background: url(../images/tour/next-bg.webp) no-repeat top center / cover;
}
.next .inner{
	padding: 160px 0 100px;
}
.next .flow-ttl{
	background: var(--color-gold);
	outline: 1.5px solid var(--color-gold);
}
.next .flow-step-container{
	background: #edebe5;
}
.next .flow-step-item{
	padding-bottom: 8.6rem;
}
.next .flow-step-item::after{
	border-right: 102px solid transparent;
	border-left: 102px solid transparent;
	border-top: 33px solid var(--color-gold);
}

.reserve{
	background: url(../images/tour/reserve-bg.webp) no-repeat top center / cover;
}
.reserve-flex{
	margin: 0 auto 0 calc(50% - 50vw);
	width: calc(50% + 50vw);
	align-items: center;
	gap: 24px min(5.65vw, 72px);
}
.reserve-img{
	width: calc(65% - 36px);
}
.txt-wrap{
	width: calc(35% - 36px);
}
.reserve .flow-ttl2{
	margin-bottom: .6em;
	padding-bottom: .6em;
	border-bottom: 1px solid var(--color-wh);
}
.reserve .note{
	line-height: 1.8;
}
.reserve .reserve-btn{
	margin-top: 40px;
	padding: 26px 8px;
	max-width: 100%;
	width: 100%;
	display: block;
	background: #b47771;
	border-radius: 8px;
	font-size: 2.2rem;
	letter-spacing: .2rem;
	transition: all .3s ease-out;
}
@media screen and (min-width: 767px) {
	.mv .img-wrapper .caption{
		top: 0;
		bottom: auto;
		color: #fff;
	}
}
@media screen and (max-width: 1127px) {
	.intro .inner{
		padding-top: 180px;
	}
}
@media screen and (max-width: 950px) {
	.reserve-flex{
		margin: 0 auto;
		width: 100%;
	}
	.reserve-img{
		width: 100%;
	}
	.txt-wrap{
		margin: 0 auto;
		width: 70%;
	}
}
@media screen and (max-width: 767px) {
	.mv-ttl-wrap{
		top: 28%;
	}
	.mv-ttl-wrap .lead{
		margin-bottom: .3em;
		width: 100%;
		font-size: max(5.4vw, 2.6rem);
		text-align: center;
	}
	.mv-ttl-wrap .lead::after{
		width: 55%;
	}
	.mv-ttl-wrap .primary-heading{
		width: 100%;
		font-size: max(7.3vw, 3rem);
		text-align: center;
	}
	.intro .inner,
	.flow .inner{
		padding: 60px 0;
	}
	.intro .primary-heading{
		font-size: 2.5rem;
	}
	.intro-lists{
		margin-bottom: 48px;
		position: static;
		gap: 16px;
	}
	.intro-lists .list-item{
		width: calc(50% - 12px);
		flex-direction: column;
		align-content: center;
		font-size: 16px;
	}
	.list-item-txt{
		text-align: center;
	}
	.intro .lead{
		font-size: 1.6rem;
	}
	.flow-ttl{
		padding-block: 16px;
		font-size: 2.6rem;
	}
	.flow-ttl2{
		font-size: 2.6rem;
	}
	.flow-step-lists{
		margin-top: 48px;
	}
	.flow-step-container,
	.flow-step-wrap{
		grid-template-columns: auto;
	}
	.flow-step-wrap{
		padding: 20px 16px;
	}
	.step-num-wrap{
		margin: 0 0 8px;
		padding: 0 0 8px;
	}
	.step-num-wrap::after{
		width: 100%;
		height: 1px;
		top: auto;
		right: auto;
		bottom: 0;
		left: 50%;
		transform: translate(-50%, 0);
	}
	.step-num-wrap .step{
		font-size: 16px;
	}
	.step-num-wrap .num{
		font-size: 6.5rem;
	}
	.step-contents{
		flex-direction: column;
		justify-content: center;
	}
	.step-txt{
		text-align: center;
	}
	.step-icon img{
		width: 80px;
	}
	.next .inner{
		padding: 60px 0;
	}
	.next .flow-step-item{
		padding-bottom: 6.4rem;
	}
	.next .flow-step-item::after{
		border-right: 80px solid transparent;
		border-left: 80px solid transparent;
		border-top: 26px solid var(--color-gold);
	}
	.reserve .reserve-btn{
		margin: 40px auto 0;
		width: 80%;
		font-size: 1.6rem;
	}
	.txt-wrap{
		width: 100%;
	}
}