@charset "UTF-8";

/* #fair {
	background-color: rgb(236, 236, 235);
} */


.wedding-concept {
	margin: 0;
	padding: 50px 20px;
	text-align: center;
	background-color: #fff;
}

.wedding-concept img {
	aspect-ratio: 5 / 3;
	object-fit: cover;
	margin: 0 0 35px;
}

.wedding-concept p {
	margin: 0 5% 20px;
	line-height: 1.6;
}

.wedding-concept p:first-of-type {
	margin: 0 0 20px;
}


@media screen and (max-width: 768px) {
	.wedding-concept img {
		aspect-ratio: 16 / 9;
		object-fit: cover;
	}
}


/* 詳細 */
/* Menu */
#restaurant_menu {
	background-color: rgb(236, 236, 235);
}

#restaurant_menu .container {
	padding: 70px 32px;

}

#restaurant_menu h2 {
	text-align: center;
}

#restaurant_menu h2 span {
	font-size: 17px;
}

#restaurant_menu>.container>p {
	text-align: center;
	line-height: 1.6;
}






.fix-zsf-open {
	letter-spacing: normal !important;
}


/* ******************************************
	Top TAB Control
****************************************** */
.tab-content.tab-info {
	position: relative;
}

.tab-content.tab-info>img {
	object-fit: cover;
	aspect-ratio: 16 / 9;
}

.tab-content.tab-info>.tab-text {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: center;
	position: absolute;
	top: 0;
	width: 33%;
	height: 100% !important;
	padding: 40px 30px;
	background-color: rgba(0, 0, 0, 0.5);
	color: #fff;
	line-height: 1.6;
}

.tab-content.tab-info>.tab-text-l {
	left: 0;
}

.tab-content.tab-info>.tab-text-r {
	right: 0;
}

.tab-content.tab-info>.tab-text h3 {
	font-size: 21px;
	margin: 0 0 20px;
}

.tab-content.tab-info>.tab-text h3 span {
	font-size: 15px;
}

@media screen and (max-width: 1200px) {
	.tab-content.tab-info>.tab-text p {
		font-size: 14px;
	}
}

@media screen and (max-width: 1023px) {
	.tab-content.tab-info>img {
		aspect-ratio: 14 / 9;
	}

	.tab-content.tab-info>.tab-text {
		width: 50%;
	}
}

@media screen and (max-width: 878px) {
	.tab-content.tab-info>.tab-text {
		width: 65%;
	}
}

@media screen and (max-width: 768px) {
	.tab-content.tab-info>.tab-text {
		position: relative;
		top: auto;
		width: 100%;
		height: auto !important;
	}
}


/* ******************************************
	lr_list
****************************************** */
.lr-list article {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.lr-list article img {
	width: 50%;
	object-fit: cover;
	aspect-ratio: 3 / 2;
	order: 1;
}

.lr-list article:nth-of-type(2n) img {
	order: 2;
}

.lr-list>article>div {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	width: 50%;
	padding: 50px 100px 50px 50px;
	background-color: rgb(236, 236, 235);
	order: 2;
}

.lr-list>article:nth-of-type(2n)>div {
	padding: 50px 50px 50px 100px;
	order: 1;
}

.lr-list>article>div>div,
.lr-list>article:nth-of-type(2n)>div>div {
	width: 100%;
	padding: 0;
}

.lr-list article div h3 {
	font-size: 28px;
}

.lr-list article div h3 span {
	font-size: 21px;
}

.lr-list article div p {
	margin: 30px 0 0;
	line-height: 1.5;
}

@media screen and (max-width: 768px) {
	.lr-list article div {
		padding: 30px;
	}

	.lr-list article:nth-of-type(2n) div {
		padding: 30px;
	}
}

@media screen and (max-width: 600px) {
	.lr-list article img {
		width: 100%;
		aspect-ratio: 5 / 2;
	}

	.lr-list article div {
		width: 100%;
	}

	.lr-list article:nth-of-type(2n) img {
		order: 1;
	}

	.lr-list article:nth-of-type(2n) div {
		order: 2;
	}
}


/* ******************************************
	Ceremony List
****************************************** */
#ceremony-list {}

#ceremony-list .container {}


/* ******************************************
	VR Viewer
****************************************** */
#vr-viewer {}

#vr-viewer h2 {
	text-align: center;
}


/* ******************************************
	Banner Links
****************************************** */
#banner-links {}

#banner-links .container {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	padding: 50px 0 30px;
}

#banner-links .container a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: calc((100% - 60px) / 3);
	min-height: 80px;
	margin: 0 10px 20px;
	border: 1px solid rgb(236, 236, 235);
	background-color: rgb(236, 236, 235);
	transition: .5s;
}

#banner-links .container a:hover {
	background-color: rgb(255, 255, 255);
	transition: .5s;
}

@media screen and (max-width: 840px) {
	#banner-links .container {
		justify-content: space-between;
	}

	#banner-links .container a {
		width: calc((100% - 60px) / 2);
		margin: 0 auto 20px;
		text-align: center;
	}
}

@media screen and (max-width: 600px) {
	#banner-links .container a {
		width: calc(100% - 60px);
	}
}


/* ******************************************
	Wedding Footer
****************************************** */
#wedding-footer {
	position: relative;
	background-image: url(https://www.anacrowneplaza-hiroshima.jp/wedding/topics/img/wedding-04.jpg);
	background-repeat: no-repeat;
	background-size: cover;
}

#wedding-footer .container {
	width: 100%;
	max-width: 100%;
	padding: 50px 0 60px;
	background-color: rgba(0, 0, 0, .3);
}

#wedding-footer .container h2 {
	text-align: center;
	color: #fff;
	margin: 0 auto 30px;
}

#wedding-footer>.container>.link {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 620px;
	margin: 0 auto;
}

#wedding-footer>.container>.link>a {
	display: block;
	width: calc((100% - 20px) / 2);
	padding: 15px 0;
	background-color: rgba(255, 255, 255, 0.9);
	color: rgb(84, 88, 90);
	text-align: center;
	transition: .5s;
}

#wedding-footer>.container>.link>a:hover {
	background-color: rgba(236, 236, 235, 0.9);
	transition: .5s;
}

#wedding-footer>.container>.link>.tel {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	align-items: center;
	width: 100%;
	margin: 20px 0 0;
	padding: 15px 20px;
	background-color: rgba(255, 255, 255, 0.9);
	color: rgb(84, 88, 90);
}

#wedding-footer>.container>.link>.tel>p {
	width: 50%;
	font-size: 15px;
}

#wedding-footer>.container>.link>.tel>p>b {
	display: block;
	font-size: 21px;
	font-weight: 300;
}

@media screen and (max-width: 660px) {
	#wedding-footer .container h2 {
		font-size: 5vw;
	}

	#wedding-footer>.container>.link {
		width: 90%;
	}

	#wedding-footer>.container>.link>.tel>p {
		width: 100%;
		text-align: center;
	}
}


/* ******************************************
	CUISINE Chef
****************************************** */
#wedding_chef {
	margin: 0;
}

#wedding_chef .container .chef_item {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	margin: 0;
	padding: 0;
}

#wedding_chef .container .chef_item .chef_img {
	width: 30%;
}

#wedding_chef .container .chef_item .chef_img img {
	width: 100%;
	object-fit: cover;

}

#wedding_chef .container .chef_item .chef_info {
	width: 70%;
	padding: 0 0 0 30px;
	background-color: #fff;
}

#wedding_chef h2 {
	margin: 30px 0 10px;
}

#wedding_chef h2 span {
	font-size: 21px;
}

#wedding_chef p {
	line-height: 1.6;
}

#wedding_chef dl {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
}

#wedding_chef dl dt {
	width: 70px;
	padding: 10px 0 0 0;
	font-weight: 300 !important;
}

#wedding_chef dl dd {
	width: calc(100% - 70px);
	padding: 10px 0 0 0;
}

@media screen and (max-width: 600px) {
	#wedding_chef .container .chef_item .chef_img {
		width: 100%;
	}

	#wedding_chef .container .chef_item .chef_info {
		width: 100%;
		padding: 35px 0 0;
	}
}


/* ******************************************
	PLAN List
****************************************** */
#floor_info .container {
	padding-bottom: 0;

}

@media screen and (max-width: 600px) {
	#floor_info .container {
		padding-top: 45px;
	}
}

#floor_info h2 {
	text-align: center;
}

#floor_info h2 span {
	font-size: 17px;
}

#floor_info>.container>p {
	text-align: center;
	line-height: 1.6;
}

.room_list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 30px 0 0;
}

.room_list article {
	position: relative;
	width: calc(50% - 10px);
	margin-bottom: 70px;
	padding: 0 0 80px;
}

.room_list article img {
	width: 100%;
	object-fit: cover;
	aspect-ratio: 16 / 10;
}

.room_list article h3 {
	margin: 20px 10px 15px;
	font-size: 21px;
	font-weight: 400;
}

.room_list article h3 small {
	font-size: 15px;
}

.room_list article p {
	margin: 0 10px;
	line-height: 1.6;
}

.room_list article a {
	position: absolute;
	bottom: 0;
}

.room_list article a.btn_bg_wh-gr {
	left: 10px;
	bottom: 20px;
}

@media screen and (max-width: 600px) {
	.room_list article {
		width: 100%;
	}
}

/* ******************************************
	PLAN Single
****************************************** */
#wedding_plan {}

.wedding_plan_area {
	width: 100%;
	max-width: 768px;
	margin: 0 auto;
}

#wedding_plan h2 {
	margin: 35px 0 0;
	text-align: center;
	line-height: 1.6;
}

#wedding_plan h3 {
	margin: 50px 0 20px;
	padding: 15px 0;
	border-bottom: 1px solid rgb(84, 88, 90);
	text-align: center;
	font-size: 21px;
}

#wedding_plan p {
	margin: 15px 20px 0;
	text-align: center;
	line-height: 1.4;
}

.text_area {
	padding: 0 0 20px;
	border-bottom: 1px solid rgb(84, 88, 90);
}

#wedding_plan dl {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	border-bottom: 1px solid rgb(84, 88, 90);
}

#wedding_plan dl dt {
	width: 150px;
	padding: 20px;
}

#wedding_plan dl dd {
	width: calc(100% - 150px);
	padding: 20px 20px 10px;
}

#wedding_plan dl dd ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
}

#wedding_plan dl dd ul li {
	width: 50%;
	margin: 0 0 10px;
}

#wedding_plan dl dd ul li:before {
	content: "・";
}

.text_box {
	margin: 35px 0 0;
	padding: 35px 25px;
	background-color: rgb(236, 236, 235);
}

#wedding_plan .text_box h3 {
	margin: 0;
	padding: 0;
	border-bottom: none;
	text-align: center;
	font-size: 21px;
}

#wedding_plan .text_box ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	margin: 20px 0 0;
}

#wedding_plan .text_box ul li {
	width: 50%;
	margin: 0 0 10px;
}

#wedding_plan .text_box ul li:before {
	content: "・";
}

#wedding_plan .text_box p {
	margin: 0;
	line-height: 1.6;
}

#wedding_plan .text_box p strong {
	display: inline-block;
	margin: 20px 0 0;
	font-size: 21px;
}

@media screen and (max-width: 768px) {
	.text_box.text_box_sp {
		margin: 0;
		padding: 0 25px 35px;
	}

	#wedding_plan dl dd ul li {
		width: 100%;
		margin: 0 0 15px;
	}

	#wedding_plan .text_box ul li {
		width: 100%;
		margin: 0 0 15px;
	}

	#wedding_plan dl dt {
		width: 100%;
		padding: 20px 0;
		text-align: center
	}

	#wedding_plan dl dd {
		width: 100%;
		padding: 0 0 20px;
	}
}

@media screen and (max-width: 600px) {}


/* ******************************************
	CEREMONY / PARTY ROOM / CUISINE Single
****************************************** */
#images_list>.container>.one-column,
#images_list>.container>.three-column {
	margin: 0;
}

@media screen and (max-width: 600px) {
	#images_list>.container>.one-column {
		display: none;
	}
}


/* ******************************************
	MOVIE
****************************************** */

#movie {}

#movie .container {
	padding: 70px 32px 0;
}

.movie_list {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	margin: 30px 0 0;
}

.movie_list article {
	position: relative;
	width: calc(50% - 40px);
	margin: 0 20px 70px;
	padding: 0;
}

.movie_list article iframe {
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
}

.movie_list article h3 {
	margin: 20px 0 5px;
	font-size: 21px;
	line-height: 1.6;
}

.movie_list article p {
	line-height: 1.6;
}

@media screen and (max-width: 600px) {
	.movie_list article {
		width: 100%;
		margin: 0 0 35px;
	}
}


/* ******************************************
	ETERNITY
****************************************** */
.eternity_menu {
	background-color: rgb(236, 236, 235);
}

.eternity_menu .container {}

.eternity_menu .container {}

.eternity_menu .container h2 {
	text-align: center;
}

.eternity_menu .container dl {
	width: 90%;
	max-width: 768px;
	margin: 0 auto;
	border-bottom: 1px solid #999;
}

.eternity_menu .container dl dt {
	padding: 10px;
	border-bottom: 1px solid #999;
	text-align: left;
}

.eternity_menu .container dl dd {
	padding: 10px;
	line-height: 1.6;
	text-align: left;
}

.eternity_menu .container dl dd ul {
	margin: 0 0 0 20px;
	text-align: left;
}

.eternity_menu .container dl dd ul li {
	list-style-type: disc;
}


/* ******************************************
	MILE
****************************************** */
.mile_menu {
	width: 90%;
	max-width: 1024px;
	margin: 0 auto;

}

.mile_menu .container {}

.mile_menu .container {}

.mile_menu .container h2 {
	text-align: center;
}

.mile_menu .container .bbox {
	max-width: 768px;
	margin: 35px auto;
	padding: 20px;
	border: 1px solid rgb(84, 88, 90);
	line-height: 1.6;
}

.mile_menu .container p {
	max-width: 768px;
	margin: 0 auto;
	text-align: center;
}

.mile_menu .container ul {
	max-width: 708px;
	margin: 20px auto 0;
	line-height: 1.6;
}

.mile_menu .container ul li {
	margin: 0 0 5px;
	list-style-type: disc;
}

.mile_box {
	max-width: 768px;
	margin: 35px auto 0;
	padding: 35px;
	background-color: rgb(236, 236, 235);
}

.mile_box h2 {}

.mile_box p {
	text-align: center;
	font-weight: 400;
}

.mile_box p strong {
	font-size: 28px;
}

.mile_box p strong span {
	font-size: 36px;
}





/* グリッド */
.containers div {
	width: calc(50% - 15px);
	display: flex;
	justify-content: center;
	align-items: center;
}

.item0 {
	width: calc(100% - 15px);
	margin: 0 auto;
	margin-bottom: 15px;
}


#first_photo_section .container {
	text-align: center;
}

#first_photo_section figure {
	width: 100%;
	margin-bottom: 45px;
}

#first_photo_section h3 {
	margin-bottom: 45px;
}

#first_photo_section dl {
	border-top: 1px solid #999;
	border-bottom: 1px solid #999;
	padding: 10px 30px;
	margin: 10px auto;
	text-align: left;
	display: inline-block;
}

#first_photo_section dl dt {
	position: absolute;
	width: 120px;
	padding: 5px 0;
}

#first_photo_section dl dd {
	position: relative;
	padding: 5px 0;
	padding-left: 150px;
}

@media screen and (max-width: 768px) {
	#images_list .three-column article {
		width: calc((100% - 40px) / 2);
		margin: 10px;
	}
}

#report_title p,
#report_vioice p {
	line-height: 1.6em;
}



#report_vioice article {
	margin-bottom: 40px;
}

#report_vioice .img_box {
	width: 100%;
	max-width: 600px;
	margin: 0 auto 40px;
	text-align: center;
}

#report_vioice .img_box img {
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 600px;
}


#report_vioice h3 {
	margin-bottom: 18px;
	padding: 5px 10px;
	border-left: 5px solid rgb(236, 236, 235);
	font-size: 21px;
	line-height: 21px;
}

#report_vioice h4 {
	font-size: 21px;
	margin-bottom: 10px;
	font-weight: 400;
}

@media screen and (max-width: 704px) {
	#report_vioice .container {
		padding: 45px 0;
	}

	#report_vioice .img_box img {
		max-height: calc(100vw - 40px);
	}
}

@media screen and (max-width: 600px) {
	#report_vioice h3 {
		font-size: 21px;
	}

	#report_vioice h4 {
		font-size: 17px;
	}
}