@charset "utf-8";
/*------------------------------------------------
	共通
--------------------------------------------------*/
.contents {
	& h2:not(.GeneralTtl) {
		text-align: center;
		margin-bottom: 40px;
		font-family: var(--font-mincho);
		font-weight: bold;
		-webkit-font-smoothing: antialiased;
		& .title {
			display: inline-block;
			font-size: 26px;
			line-height: 1.8;
			letter-spacing: 0.05em;
			border-bottom: solid 1px #999;
		}
		& .sub {
			display: inline-block;
			font-size: 14px;
			letter-spacing: 0.1em;
		}
	}
}

/*------------------------------------------------
	メインビジュアル
--------------------------------------------------*/
#mainvisual {
	width: 100%;
	height: 650px;
	text-align: center;
	position: relative;
	overflow: hidden;
	
	& .slick-img img {
		height: 650px;
		margin: auto;
		max-height: 650px;
		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: 195px;
		z-index: 2;
		& .title {
			font-size: 50px;
			line-height: 1.3;
			& span {
				font-size: 0.7em;
			}
		}
		& .copy {
			margin-top: 10px;
			font-size: 22px;
		}
	}
}

/*------------------------------------------------
	お知らせ
--------------------------------------------------*/
#news {
	width: 100%;
	padding: 60px 0;
	
	& .news-list {
		width: 100%;
		max-height: 250px;
		overflow: auto;
		padding-right: 20px;
		& li {
			border-bottom: solid 1px #ccc;
			padding-bottom: 8px;
			margin-bottom: 8px;
			&:empty {
				display: none;
			}
		}
		& .date {
			font-size: 14px;
			font-family: var(--font-mincho);
			letter-spacing: 0.15em;
			font-weight: bold;
			line-height: 1.3;
		}
		& dl {
			display: flex;
			align-items: baseline;
			& dt {
				background-color: #222;
				color: #fff;
				width: 95px;
				padding: 0 5px;
				text-align: center;
				font-size: 12px;
			}
			& dd {
				flex-grow: 1;
				padding-left: 10px;
				font-size: 15px;
				& .price {
					color: #ca0808;
				}
			}
		}
		& a:hover {
			text-decoration: underline;
		}
	}
}
/*------------------------------------------------
	ナビ
--------------------------------------------------*/
.fix-navi {
	margin-bottom: 70px;
}
#navi {
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	& li {
		width: 24%;
		& a {
			display: block;
			background-color: var(--content-color-brown);
			font-size: 16px;
			text-align: center;
			color: #fff;
			padding: 15px 0;
			border-radius: 5px;
			position: relative;
			&::after {
				content: "";
				background: url(/cmn/icon/icon_arrow_down_white.svg) no-repeat center center / contain;
				width: 20px;
				height: 20px;
				position: absolute;
				right: 10px;
			}
		}
	}
}
/*------------------------------------------------
	おすすめ商品
--------------------------------------------------*/
#product {
	width: 100%;
	background-color: var(--bg-color-grey);
	padding: 80px 0 100px;
	
	& h3 {
		text-align: center;
		font-family: var(--font-mincho);
		font-size: 28px;
		color: var(--content-color-brown);
		font-weight: bold;
		margin-bottom: 7px;
		&::before {
			content: "";
			display: block;
			height: 50px;
			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: 18px;
		font-weight: 700;
		margin-bottom: 20px;
	}
	& .more-btn {
		width: 700px;
		margin: 30px auto 0;

		& a {
			display: block;
			font-size: 16px;
			color: #fff;
			text-align: center;
			line-height: 50px;
			border-radius: 25px;
			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: 25px;
				height: 25px;
				position: absolute;
				top: 0;
				right: 2%;
				bottom: 0;
				margin: auto;
			}
		}
	}
}

/*------------------------------------------------
	スタッフ紹介
--------------------------------------------------*/
#staff {
	width: 100%;
	background-color: var(--bg-color-grey);
	padding: 80px 0 100px;
	
	& .staff-list {
		display: flex;
		justify-content: center;
		
		& li {
			width: 180px;
			text-align: center;
			margin: 0 30px;
			
			& .name {
				font-size: 22px;
				letter-spacing: 0.05em;
				font-weight: bold;
				line-height: 1.8;
			}
			& .sub {
				font-size: 11px;
				font-weight: bold;
				line-height: 1.6;
				border: solid 1px #222;
				margin-bottom: 5px;
			}
			& .intro {
				font-size: 13px;
				line-height: 1.4;
			}
		}
	}
}	
	