@charset "UTF-8";

/* ▼▼▼ Anniversary Page
=====================================*/
#main {
	position: relative;
	z-index: 1;
	font-family: "FOT-筑紫明朝 Pr6 L", "TsukuMinPr6-L", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "TakaoEx明朝", TakaoExMincho, "MotoyaLCedar", "Droid Sans Japanese", "HGS明朝E", "ipamin", "ＭＳ Ｐ明朝", serif;
	font-weight: normal;
}

.sp_on {
	display: none;
}

a:hover {
	text-decoration: none;
}

h1.title {
	color: #000;
	font-size: 30px;
	font-weight: normal;
	text-align: center;
	background: url(../common/img/title_bg.png) no-repeat center top #F8FAFD;
	padding-top: 70px;
	height: 175px;
	line-height: 0.7;
	box-sizing: border-box;
	margin: 0 auto;
}

h1.title span {
	color: #83571D;
	font-size: 13px;
}

/*=====================================*/
/* 共通コンテナ
/*=====================================*/

.inner {
	margin: 0 auto;
	width: 100%;
    max-width: 1190px;
    padding: 0 20px;
}

/*=====================================*/
/* 共通見出し・テキスト
/*=====================================*/
.text_center {
	text-align: center;
}

.d_flex {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	justify-content: space-between;
	border-bottom: 2px solid;
	border-image: linear-gradient(to right, #aa8546, #f6e493, #be8a43) 1;
	padding-bottom: 32px;
	margin-bottom: 32px;
}

.end_align {
	justify-content: flex-end;
}

.ttl {
	font-size: 42px;
	margin: 0 0 40px 0;
	text-align: center;
	position: relative;
	padding: 0;
	line-height: 1.3;
	display: inline-block;
	letter-spacing: -0.07em;
	padding: 0 10px;
}

.ttl::before {
	content: '';
	position: absolute;
	background: url(./img/heading_icon.png) no-repeat center center / contain;
	width: 87px;
	height: 68px;
	top: 0;
	left: -100px;
}

.ttl::after {
	content: '';
	position: absolute;
	background: url(./img/heading_icon.png) no-repeat center center / contain;
	width: 87px;
	height: 68px;
	top: 0;
	right: -100px;
}

.sub_ttl {
	font-size: 19px;
	text-align: center;
	letter-spacing: -0.06em;
	line-height: 34px;
	margin: 0;
}

/*=====================================*/
/* メインビジュアル
/*=====================================*/

.hero_block {
	background: #231815;
}

/*=====================================*/
/* 記念日旅行情報
/*=====================================*/
.anniversary_info_block {
	padding: 65px 0 80px;
	background: #fff;
}

/*=====================================*/
/* 屋外風呂画像
/*=====================================*/
.outdoor_bath_block {
	padding: 0 0 120px 0;
	background: #fff;
}

.outdoor_bath_block_image {
	width: 100%;
}

.outdoor_bath_block_image img {
	width: 100%;
	height: auto;
	display: block;
}

/*=====================================*/
/* オプションメニュータイトル
/*=====================================*/
.option_menu_title_block {
	padding: 0 0 80px 0;
	background: #fff;
}

/*=====================================*/
/* オプションメニュー項目
/*=====================================*/
.option_menu_block {
	padding: 0;
	background: #fff;
}

.option_menu_block_list {
	padding: 0;
	margin-bottom: 100px;
}

.option_menu_block .option_menu_block_list:nth-of-type(2) {
	margin-bottom: 170px;
}

.bg_texture {
	position: relative;
	z-index: 1;
	padding: 80px 0;
}


.bg_texture::before {
	content: '';
	position: absolute;
	background: url(./img/texture.jpg) repeat center center / 200px;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: -1;
}

.option_menu_block_item {
	display: flex;
	margin-bottom: 100px;
	gap: 35px;
}

.option_menu_block_item:last-child {
	margin-bottom: 0;
}

.option_menu_block_item:nth-child(even) .option_menu_block_item_image {
	order: 2;
}

.option_menu_block_item:nth-child(even) .option_menu_block_item_content {
	order: 1;
}

.option_menu_block_item_image {
	width: 50%;
	flex-shrink: 0;
	overflow: hidden;
}

.option_menu_block_item_image img {
	width: 100%;
	display: block;
	max-width: 780px;
	margin: 0 auto;
}

.option_menu_block_item_content {
	width: 50%;
}

.option_menu_block_item_title {
	font-size: 26px;
	margin: 0;
	line-height: 34px;
	letter-spacing: -0.07em;
	font-weight: normal;
}

.option_menu_block_item_title small {
	font-size: 26px;
}

.option_menu_block_item_price {
	font-size: 26px;
	margin: 0;
	line-height: 1.3;
	letter-spacing: -0.03em;
}

.option_menu_block_item_price small {
	font-size: 19px;
}

.option_menu_block_item_description {
	font-size: 17px;
	line-height: 34px;
	margin-bottom: 26px;
}

.option_menu_block_item_button_link {
	display: block;
	padding: 15px;
	color: #000 !important;
	text-align: center;
	background: url(./img/link_bg.png) no-repeat center center / 100% 100%;
	font-size: 16px;
	letter-spacing: 0.01em;
	line-height: 1;
	text-decoration: none;
}

.option_menu_block_item_button_link:hover {
	text-decoration: none;
}

.option_menu_block_item_button_text {
	font-size: clamp(0.875rem, 0.688rem + 0.78vw, 1.875rem);
	margin: 10px 0 0;
	text-align: center;
}

/*=====================================*/
/* おすすめ宿泊プラン
/*=====================================*/
.recommended_plan_block {
	padding: 80px 0;
	background: #231815;
}

.recommended_plan_block_title {
	margin: 0 0 80px 0;
	transform: scale(1.015);
}

.recommended_plan_block_list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.recommended_plan_block_item {
	display: flex;
	justify-content: space-between;
	padding: 60px 0;
	border-bottom: 1px solid #fff;
}

.recommended_plan_block_item:first-child {
	padding-top: 0;
}

.recommended_plan_block_item:last-child {
	border-bottom: none;
	padding-bottom: 0;
}

.recommended_plan_block_item_image {
	flex-shrink: 0;
}

.recommended_plan_block_item_image.birthday_limited {
	position: relative;
}

.recommended_plan_block_item_image.birthday_limited::before {
	content: '';
	position: absolute;
	background: url(./img/birthday_limited.png) no-repeat center center / contain;
	width: 177px;
	height: 224px;
	top: -30px;
	left: -50px;
}

.recommended_plan_block_item_image img {
	width: 100%;
	max-width: 530px;
	display: block;
	margin: 0 auto;
	margin-right: 120px;
}

.recommended_plan_block_item_content {
	flex: 1;
}

.recommended_plan_block_item_title {
	color: #fff;
	font-size: 26px;
	margin: 0;
	line-height: 40px;
	letter-spacing: 0.05em;
}

.recommended_plan_block_item_description {
	font-size: 17px;
	color: #fff;
	line-height: 34px;
	margin: 0;
	margin-bottom: 26px;
}

.recommended_plan_block_item_button {
	margin-top: 0;
}


/*=====================================*/
/* イルミネーションガーデン
/*=====================================*/
.illumination_block {
	background: #231815;
	border-top: 2px solid;
	border-image: linear-gradient(to right, #aa8546, #f6e493, #be8a43) 1;
}

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

.illumination_block_title {
	padding: 80px 0 60px 0;
	margin: 0;
}

.illumination_block_gallery_item.link_box {
	position: relative;
	/* margin-top: -10px; */
}

.illumination_block_gallery_item_link {
	position: absolute;
	top: 20px;
	right: 50px;
	width: 100%;
	display: block;
	max-width: 330px;
	font-size: 16px;
	color: #000 !important;
	background: #fff;
	text-align: center;
	line-height: 1;
	letter-spacing: -0.05em;
	padding: 15px 30px;
}

/* ▼▼▼ 768px以下
=====================================*/
@media screen and (max-width: 768px) {
	#main {
		padding-bottom: 0;
	}

	.sp_on {
		display: block;
	}

	.pc_on {
		display: none;
	}

	h1.title {
		color: #000;
		font-size: 20px;
		font-weight: normal;
		text-align: center;
		background: url(../common/img/title_bg.png) no-repeat center top #F8FAFD;
		-webkit-background-size: auto 88px;
		-moz-background-size: auto 88px;
		background-size: auto 88px;
		padding-top: 35px;
		height: 88px;
		line-height: 0.9;
		box-sizing: border-box;
		margin: 0 auto;
	}

	.hero_block_title {
		font-size: 24px;
	}

	.hero_block_subtitle {
		font-size: 16px;
	}

	/* .inner {
		padding: 0 15px;
	} */

	.anniversary_info_block {
		padding: 35px 0;
	}

	.ttl {
		font-size: 27px;
		line-height: 34px;
		margin-bottom: 30px;
	}

	.ttl::before {
		left: -50px;
		width: 57px;
		height: 38px;
	}

	.ttl::after {
		right: -50px;
		width: 57px;
		height: 38px;
	}

	.sub_ttl {
		font-size: 15px;
		line-height: 23px;
	}

	.outdoor_bath_block {
		padding: 0 0 30px 0;
	}

	.option_menu_title_block {
		padding: 0 0 30px 0;
	}

	.bg_texture {
		padding: 35px 0 30px 0;
	}

	.bg_texture::before {
		background-size: 40px;
	}

	.option_menu_block {
		padding: 0 0 40px 0;
	}

	.option_menu_block_item {
		flex-direction: column;
		margin-bottom: 30px;
		gap: 20px;
	}

	.option_menu_block_item_image {
		width: 100%;
	}

	.option_menu_block_item_content {
		width: 100%;
	}

	.d_flex {
		margin-bottom: 23px;
		padding-bottom: 23px;
	}

	.end_align {
		justify-content: space-between;
	}

	.option_menu_block_list {
		margin-bottom: 30px;
	}

	.option_menu_block .option_menu_block_list:nth-of-type(2) {
		margin-bottom: 40px;
	}

	.option_menu_block_item_title {
		font-size: 19px;
		line-height: 34px;
	}

	.option_menu_block_item_price {
		font-size: 19px;
	}

	.option_menu_block_item_price small {
		font-size: 15px;
	}

	.option_menu_block_item_title small {
		font-size: 19px;
	}

	.option_menu_block_item_description {
		font-size: 15px;
		line-height: 23px;
		margin-bottom: 23px;
	}

	.option_menu_block_item_button_link {
		padding: 12px 21px 12px 39px;
		font-size: 16px;
	}

	.option_menu_block_item:nth-child(even) .option_menu_block_item_image {
		order: 1;
	}

	.option_menu_block_item:nth-child(even) .option_menu_block_item_content {
		order: 2;
	}

	.recommended_plan_block {
		padding: 35px 0;
	}

	.recommended_plan_block_title {
		margin-bottom: 30px;
	}

	.recommended_plan_block_item {
		flex-direction: column;
		padding: 30px 0;
		gap: 20px;
		margin-bottom: 0;
	}

	.recommended_plan_block_item_image {
		width: 100%;
	}

	.recommended_plan_block_item_image img {
		margin-right: 0;
	}

	.recommended_plan_block_item_image.birthday_limited::before {
		width: 87px;
		height: 134px;
		top: -30px;
		left: -10px;
	}

	.recommended_plan_block_item_title {
		font-size: 19px;
		line-height: 30px;
	}

	.recommended_plan_block_item_description {
		font-size: 15px;
		line-height: 23px;
		margin-bottom: 23px;
	}

	.illumination_block_header {
		margin-bottom: 0;
	}

	.illumination_block_title {
		padding: 20px 0;
	}

	.illumination_block_gallery_item_link {
		top: inherit;
		bottom: 20px;
		right: 50%;
		transform: translateX(50%);
		max-width: 230px;
		font-size: 16px;
	}

}

