@charset "utf-8";
@import url("https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@1,400;1,500;1,600&family=Noto+Sans+JP:wght@400;500;700;900&display=swap");
@keyframes fade-in {
0% {
	display: none;
	opacity: 0;
}
1% {
	display: block;
	opacity: 0;
}
100% {
	display: block;
	opacity: 1;
}
}
@-moz-keyframes fade-in {
0% {
	display: none;
	opacity: 0;
}
1% {
	display: block;
	opacity: 0;
}
100% {
	display: block;
	opacity: 1;
}
}
@-webkit-keyframes fade-in {
0% {
	display: none;
	opacity: 0;
}
1% {
	display: block;
	opacity: 0;
}
100% {
	display: block;
	opacity: 1;
}
}
:root {
--basic-black: #333333;
--basic-white: #FFFFFF;
--basic-bg: #F8FBE9;
--primary-light: #C4D600;
--primary-base: #42A235;
--primary-dark: #18670E;
--secondary-light: #CAFFFB;
--secondary-base: #43BEEA;
--secondary-dark: #005470;
--accent-light: #FFF5E5;
--accent-base: #F29600;
--accent-dark: #A34100;
--gray-light: #F0F0F0;
--gray-base: #B3B3B3;
--gray-dark: #4D4747;
--red-light: #FFE8E8;
--red-base: #C70000;
--red-dark: #750000;
--spacing-xxs: 4px;
--spacing-xs: 8px;
--spacing-s: 18px;
--spacing-m: 24px;
--spacing-l: 32px;
--spacing-xl: 64px;
--spacing-xxl: 96px;
--round-s: 10px;
--round-m: 20px;
--round-l: 40px;
--gap: 32px;
}
/* mask */
.mainV {
	position: relative;
}
.mainV .mask {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #000;
	opacity: 0.7;
}
.mainV .finTxt {
	position: absolute;
	top: 0;
	left: 0;
	font-size: 24px;
	color: #fff;
	font-weight: bold;
	width: 100%;
	height: 100%;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center; /* 縦方向中央揃え（Safari用） */
	align-items: center; /* 縦方向中央揃え */
	-webkit-justify-content: center; /* 横方向中央揃え（Safari用） */
	justify-content: center; /* 横方向中央揃え */
}

/* SNS
------------------------------------------------------ */
.snsW {
	margin: 0 auto 20px;
}
.snsW ul {
	text-align: center;
}
.snsW ul li {
	margin-right: 5px;
	display: inline-block;
	vertical-align: top;
}
.snsW ul li span {
	vertical-align: top !important;
}
.snsW ul li:last-child {
	margin-right: 0;
}
.snsW ul li a.line img {
	width: 82px;
}

@media screen and (max-width: 335px) {
	.snsW ul li:first-child {
		display: block;
		margin-bottom: 10px;
	}
}

/* 旅程
------------------------------------------------------ */
.flightRute {
	width: 100%;
	text-align: center;
	display: flex;
	justify-content: center;
	gap: calc( 46 / 980 * 100%);
}
.flightRute li{
	position: relative;
	width: calc( 125 / 980 * 100% );
}
.flightRute li::after{
	position: absolute;
	content: '';
	width: 11px;
	height: 19px;
	background-image: url(../img/icon_arrow_pc.png);
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	top: 50px;
	right: -30px;
}
.flightRute li:last-of-type::after{
	width: 0;
	height: 0;
	background-image: none;
}
.flightRute .ruteImg {
	max-width: 110px;
	margin-bottom: 8px;
}
.flightRute div {
	line-height: 1.5;
	color: #746152;
	font-weight: bold;
	clear: both;
}
.flightRute div span {
	color: #98bd20;
	display: block;
}

.courseBg {
	background-color: #e6efc061;
	border-radius: 10px;
	padding: 20px;
}
.courseList{
	display: flex;
	justify-content: center;
	gap: 4%;
}
.courseList.oneCourse {
	gap: 20px;
	width: 90%;
    margin: auto;
}
.courseList li{
	width: 48%;
	margin-bottom: 20px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
@media screen and (max-width:600px) {
	.courseList{
		display: block;
	}
	.courseList.oneCourse {
		width: 100%;
	}
	.courseList li{
		width: 100%;
		margin-bottom: 30px;
	}
	.courseList.oneCourse li {
		max-width: 355px;
		margin: 0 auto 10px;
	}
	.courseList.oneCourse .courseImg:not(:last-child) {
		margin-bottom: 10px !important;
	}
}

.btnBuy {
width: 400px;
	max-width: 100%;
margin: 0 auto 50px;
}
.btnBuy a {
width: 100%;
display: block;
	background: none !important;
	background-color: #499916 !important;
border-radius: 8px;
color: #fff;
font-weight: bold;
text-align: center;
text-decoration: none;
position: relative;
font-size: 16px;
padding: 20px 0 !important;
line-height: 1;
}
.btnBuy a:hover {
opacity: 0.7;
}
.btnBuy a span {
background-image: url(/img/icon/icon_blank_white@2x.png);
background-repeat: no-repeat;
background-position: right center;
background-size: 11px 9px;
padding-right: 20px;
}

.fareTable table{
	table-layout: fixed;
}
.fareTable th,
.fareTable td{
	text-align: center;
	vertical-align: middle;
}
.fareTable .head{
	position: relative;
	background-image: linear-gradient(to right top, transparent calc(50% - 0.5px), #e3e3e3 50%, #e3e3e3 calc(50% + 0.5px), transparent calc(50% + 1px))
}
.fareTable .head .headRight{
	position: absolute;
	top: 10%;
	right: 10%;
}
.fareTable .head .headLeft{
	position: absolute;
	bottom: 10%;
	left: 10%;
}
@media screen and (max-width:600px) {
	.fareTable th,
	.fareTable td{
		padding: 1em;
	}
	.fareTable table.kmi .head{
		width: 50% !important;
	}
	.fareTable .fareTit{
		font-size: 14px;
	font-weight: bold;
	text-align: center;
	}
	.fareTable .head .headRight{
		right: 5%;
	}
	.fareTable .head .headLeft{
		left: 5%;
		bottom: 5%;
	}
}

/* 特典
------------------------------------------------------ */
.benefits .tit {
	margin-bottom: 15px;
	padding: 10px 15px;
	text-align: center;
	font-weight: bold;
	color: #fff;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px;
	background:-webkit-gradient(linear, left top, right bottom, from(#fed07a), to(#fda502));
	background:-webkit-linear-gradient(left top, #fed07a, #fda502);
	background:-moz-linear-gradient(left top, #fed07a, #fda502);
	background:-o-linear-gradient(left top, #fed07a, #fda502);
	background:linear-gradient(to right bottom, #fed07a, #fda502);
}
.benefits .sub {
	margin-top: 5px;
}

/* お申込み
------------------------------------------------------ */
.noticeBox {
	text-align: left!important;
}

@media screen and (min-width: 601px) {

	/* 概要
	------------------------------------------------------ */
	.flexBox .imgR.w22 img {
		width: 196px;
	}
	/* ルートマップ
	------------------------------------------------------ */

	/* お申込み
	------------------------------------------------------ */
	.noticeBox {
		width: 612px;
		margin: 0 auto 20px;
	}
}

@media screen and (max-width: 600px) {
	.mainV .finTxt {
		font-size: 13px;
	}

	/* 概要
	------------------------------------------------------ */
	.flexBox .imgR.w22 img {
		width: 60%;
	}
	/* 旅程
	------------------------------------------------------ */
	.flightRute{
		flex-direction: column;
		align-items: center;
	}
	.flightRute li{
		margin-bottom: 30px;
		min-width: 260px;
		display: flex;
	justify-content: space-between;
	}
	.flightRute li::after{
		background-image: url(../img/icon_arrow_sp.png);
		width: 19px;
		height: 10px;
		right: 47%;
		top: 130px;
	}
	.flightRute .ruteImg {
		max-width: 123px;
	}
	.flightRute div {
		width: 130px;
		margin-top: 30px;
		display: inline-block;
	}
	/* 特典
	------------------------------------------------------ */
	.benefits {
		margin-bottom: 0;
	}
	.benefits .tit {
		width: 100%;
		padding: 10px;
	}
	/* その他
	------------------------------------------------------ */
	.tel-link a {
		color: red;
	}
}

#historyArea {
	display: flex;
	padding: 100px;
	flex-direction: column;
	align-items: center;
	gap: var(--spacing-s);
	background: var(--basic-bg, #F8FBE9);
}
#historyArea .leadTxt {
	color: var(--basic-black, #333);
	font-family: var(--JP, "Hiragino Kaku Gothic ProN");
	font-size: var(--h6, 18px);
	font-style: normal;
	font-weight: 600;
	line-height: 150%;
}
#historyArea .historyList {
	display: flex;
	align-items: flex-start;
	gap: var(--gap, 32px);
}
#historyArea .historyList div {
	position: relative;
	margin-bottom: 78px;
}
#historyArea .historyList div:after {
    content: "";
    display: block;
    width: 374px;
    height: 99px;
    position: absolute;
    bottom: -78px;
    background-size: cover;
    background-repeat: no-repeat;
    left: 0;
    right: 0;
    margin: 0 auto;
}
#historyArea .historyList .his25:after {
	background-image: url(../img/img_eventhistory_2025title.svg);
}
#historyArea .historyList .his24:after {
	background-image: url(../img/img_eventhistory_2024title.svg);
}
@media screen and (max-width: 600px) {
	#historyArea {
		display: flex;
		padding: 13.33333vw 5.33333vw;
		flex-direction: column;
		align-items: center;
		gap: var(--spacing-s);
		background: var(--basic-bg, #F8FBE9);
	}
	#historyArea .leadTxt {
		color: var(--basic-black, #333);
		font-family: var(--JP, "Hiragino Kaku Gothic ProN");
		font-size: 4.26667vw;
		font-style: normal;
		font-weight: 600;
		line-height: 150%;
		/* 24px */
	}
	#historyArea .historyList {
		display: flex;
		align-items: center;
		gap: 4.26667vw;
		flex-direction: column;
		flex-wrap: nowrap;
		align-content: center;
	}
	#historyArea .historyList div {
		position: relative;
		margin-bottom: 13.33333vw;
	}
	#historyArea .historyList div:after {
		content: "";
		display: block;
		width: 100%;
		height: 24vw;
		position: absolute;
		bottom: -12vw;
		left: 0;
		right: 0;
		margin: 0 auto;
		background-repeat: no-repeat;
		background-size: contain;
		background-position: center;
	}
}