@charset "UTF-8";
/* Happy Tabby Room */
.cafe_head_text {
	font-size: 18px;
	font-size: 1.8rem;
	letter-spacing: 0.1em;
}

.cafe_time {
	margin-top: 48px;
	font-size: 18px;
	font-size: 1.8rem;
	letter-spacing: 0.1em;
}

.ul_menu_nav {
	width: 90%;
	margin: 0 auto;
}

.ul_menu_nav .btn a {
	height: 60px;
}

.ul_menu_nav .btn a::after {
	height: 60px;
}

/* コロナ対策について */
.img_cafe {
	margin-bottom: 40px;
}

.cafe_text {
	letter-spacing: 0.1em;
}

.cafe_text p:not(:last-child) {
	margin-bottom: 32px;
}

/* HappyTabbyRoomでの過ごし方 */
.cafe3 {
	background: #FDFBF8;
}

/* HappyTabbyRoom ご利用にあたってのお願い */
.cafe4 {
	background: url(../images/cafe/img_cafe03_sp.jpg) no-repeat bottom center;
	background-size: contain;
	padding-bottom: 220px;
}

.cafe04_text {
	letter-spacing: 0.1em;
}

/* よくあるご質問 */
.dl_cafe_faq dt {
	background: rgba(194, 219, 121, 0.4);
	border-radius: 60px;
	padding: 16px 10%;
	line-height: 1.5;
	font-size: 18px;
	font-size: 1.8rem;
	letter-spacing: 0.1em;
	color: #643E2F;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin-bottom: 16px;
}

.dl_cafe_faq dt span {
	margin-right: 24px;
}

.dl_cafe_faq dd {
	width: 90%;
	margin-left: auto;
	margin-bottom: 16px;
	line-height: 1.5;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.dl_cafe_faq dd span {
	margin-right: 24px;
}

.dl_cafe_faq dd:last-of-type {
	margin-bottom: 0;
}

/*================= アクセス =================*/
.access {
	position: relative;
}

.access::before {
	content: "";
	display: block;
	background: url(../images/top/bg_mountain_sp.png) repeat-x;
	background-size: 100% 40px;
	width: 100%;
	height: 40px;
	position: absolute;
	top: 0;
	left: 0;
	-webkit-transform: translateY(-100%);
	transform: translateY(-100%);
}

.google_map {
	margin-top: 48px;
}

.google_map iframe {
	width: 100%;
	display: block;
	border: 1px solid #643E2F;
	height: 33vh;
}

.google_map p {
	letter-spacing: 0.1em;
}

.google_map p span {
	font-size: 18px;
	font-size: 1.8rem;
	letter-spacing: 0.2em;
	color: #643E2F;
	line-height: 1.5;
}

.access_logo {
	width: 216px;
	margin: 48px 0 24px;
}

.dl_access dt {
	font-size: 18px;
	font-size: 1.8rem;
	letter-spacing: 0.2em;
	color: #643E2F;
}

.dl_access dd {
	margin-bottom: 16px;
	line-height: 1.5;
	letter-spacing: 0.1em;
}

.dl_access dd:first-of-type {
	margin-bottom: 24px;
}

.recept_time {
	font-size: 14px;
	font-size: 1.4rem;
	letter-spacing: 0.1em;
}

@media (min-width: 769px) {
	.ttl_h2_keyimage {
		white-space: nowrap;
	}
	/* Happy Tabby Room */
	.cafe_head_text {
		text-align: center;
		letter-spacing: 0.3em;
	}
	.cafe_time {
		text-align: center;
		letter-spacing: 0.3em;
	}
	.ul_menu_nav {
		width: 100%;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
	}
	.ul_menu_nav .btn {
		width: 32%;
		max-width: 284px;
	}
	/* コロナ対策について */
	.wrap_cafe_flex_contents {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
	}
	.img_cafe {
		margin-bottom: 0;
		width: 49%;
		max-width: 460px;
	}
	.cafe_text {
		width: 49%;
		max-width: 460px;
	}
	/* HappyTabbyRoomでの過ごし方 */
	.cafe3 .wrap_cafe_flex_contents {
		-webkit-box-orient: horizontal;
		-webkit-box-direction: reverse;
		-ms-flex-direction: row-reverse;
		flex-direction: row-reverse;
	}
	/* HappyTabbyRoom ご利用にあたってのお願い */
	.cafe4 {
		background: none;
		padding-bottom: 80px;
	}
	.cafe04_text {
		background: url(../images/cafe/img_cafe03_pc.jpg) no-repeat right;
		background-size: cover;
		padding: 88px 160px 88px 0;
		line-height: 2.5;
	}
	/* よくあるご質問 */
	.dl_cafe_faq dt {
		padding: 16px 32px;
	}
	.dl_cafe_faq dd {
		width: 95%;
		max-width: 890px;
		margin: 0 auto 32px;
	}
	/*================= アクセス =================*/
	.access::before {
		background: url(../images/top/bg_mountain_pc.png) repeat-x;
		background-size: 100% 40px;
	}
	.access .inner_section {
		max-width: 985px;
	}
	.wrap_access_contents {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
		margin-top: 48px;
	}
	.google_map {
		width: 460px;
		margin-top: 0;
	}
	.img_g_map {
		margin-bottom: 24px;
	}
	.wrap_access_right {
		width: 490px;
	}
	.access_logo {
		width: 216px;
		margin: 0 0 24px;
	}
}