@charset "utf-8";
/*------------------------------------------------
	共通
--------------------------------------------------*/
.contents {
	& h2:not(.GeneralTtl) {
		text-align: center;
		margin-bottom: 5vw;
		font-family: var(--font-mincho);
		-webkit-font-smoothing: antialiased;
		& .title {
			display: inline-block;
			font-size: 6.0vw;
			line-height: 1.8;
			letter-spacing: 0.05em;
			border-bottom: solid 1px #999;
		}
		& .sub {
			display: inline-block;
			font-size: 3.0vw;
			letter-spacing: 0.1em;
		}
	}
}

/*------------------------------------------------
	メインビジュアル
--------------------------------------------------*/
#mainvisual {
	width: 100%;
	height: 80vw;
	text-align: center;
	position: relative;
	overflow: hidden;
	
	& .slick-img img {
		height: 80vw;
		margin: auto;
		max-height: 80vw;
		max-width: 100%;
		object-fit: cover;
		width: 100%;
	}
	& .main-title {
		font-family: var(--font-mincho);
		color: #fff;
		text-shadow: 0 0 5px #000,0 0 5px #000,0 0 5px #000,0 0 5px #000;
		position: absolute;
		right: 0;
		left: 0;
		top: 22vw;
		z-index: 2;
		& .title {
			font-size: 8vw;
			line-height: 1.3;
			& span {
				font-size: 0.7em;
			}
		}
		& .copy {
			margin-top: 3vw;
			font-size: 4.0vw;
		}
	}
}

/*------------------------------------------------
	お知らせ
--------------------------------------------------*/
#news {
	width: 100%;
	padding: 10vw 0;
	
	& .news-list {
		max-height: 250px;
		overflow: auto;
		padding-right: 2vw;
		& li {
			border-bottom: solid 1px #ccc;
			padding-bottom: 2vw;
			margin-bottom: 2vw;
			&:empty {
				display: none;
			}
		}
		& .date {
			font-size: 3.0vw;
			font-family: var(--font-mincho);
			letter-spacing: 0.15em;
			line-height: 1.3;
		}
		& dl {
			display: flex;
			align-items: baseline;
			& dt {
				background-color: #222;
				color: #fff;
				width: 20%;
				text-align: center;
				font-size: 3.0vw;
			}
			& dd {
				width: 80%;
				padding-left: 1vw;
				font-size: 3.5vw;
				& .price {
					color: #ca0808;
				}
			}
		}
		& a {
			text-decoration: underline;
		}
	}
}

/*------------------------------------------------
	ナビ
--------------------------------------------------*/
.fix-navi {
	margin-bottom: 8vw;
}
#navi {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	& li {
		width: 49%;
		margin-bottom: 2vw;
		& a {
			display: block;
			background-color: var(--content-color-brown);
			font-size: 3.5vw;
			text-align: center;
			color: #fff;
			padding: 3vw 0;
			border-radius: 1.5vw;
			position: relative;
			&::after {
				content: "";
				background: url(/cmn/icon/icon_arrow_down_white.svg) no-repeat center center / contain;
				width: 5vw;
				height: 5vw;
				position: absolute;
				right: 1vw;
			}
		}
	}
}
/*------------------------------------------------
	おすすめ商品
--------------------------------------------------*/
#product {
	width: 100%;
	background-color: var(--bg-color-grey);
	padding: 10vw 0 13vw;
	
	& h3 {
		text-align: center;
		font-family: var(--font-mincho);
		font-size: 5.7vw;
		font-weight: bold;
		color: var(--content-color-brown);
		margin-bottom: 1vw;
		&::before {
			content: "";
			display: block;
			height: 10vw;
			background-repeat: no-repeat;
			background-position: top center;
			background-size: contain;
		}
		#tour & {
			&::before {background-image: url("../img/icon-tour.svg");}
		}
		#imp & {
			&::before {background-image: url("../img/icon-imp.svg");}
		}
		#airhotel & {
			&::before {background-image: url("../img/icon-ah.svg");}
		}
		#air & {
			&::before {background-image: url("../img/icon-air.svg");}
		}
        & span {
            font-size: 0.65em;
        }
	}

	& .subtext {
		text-align: center;
		font-family: var(--font-mincho);
		font-size: 3.5vw;
		font-weight: 700;
		margin-bottom: 3vw;
	}
	& .more-btn {
		width: 84vw;
		margin: 5vw auto 0;

		& a {
			display: block;
            font-size: 3.4vw;
            color: #fff;
            text-align: center;
            padding: 3.5vw 0;
            border-radius: 8vw;
            position: relative;
			background-color: var(--content-color-navy);

			&::after {
				content: "";
				background: url(/cmn/icon/icon_arrow_right_white.svg) no-repeat center center / contain;
				width: 5vw;
				height: 5vw;
				position: absolute;
				top: 0;
				right: 2vw;
				bottom: 0;
				margin: auto;
			}
		}
	}
}

/*------------------------------------------------
	スタッフ紹介
--------------------------------------------------*/
#staff {
	width: 100%;
	background-color: var(--bg-color-grey);
	padding: 10vw 0;
	
	& .staff-list {
		width: 80vw;
		margin: 0 auto;
		display: flex;
		flex-wrap: wrap;
		
		& li {
			width: 45%;
			margin-bottom: 6vw;
			
			&:nth-child(odd) {
				margin-right: 10%;
			}
			& .name {
				font-size: 5.6vw;
				letter-spacing: 0.05em;
				font-weight: bold;
				line-height: 1.6;
				text-align: center;
			}
			& .sub {
				font-size: 3.0vw;
				line-height: 1.6;
				border: solid 1px #222;
				margin-bottom: 1vw;
				text-align: center;
			}
			& .intro {
				font-size: 3.2vw;
				line-height: 1.3;
			}
		}
	}
}