@charset "UTF-8";

.gVisual-bridal-location {
	background-image: url(../bridal/img/bnr-bridal-location_2204@2x.jpg);
}

.gVisual-large {
	height: 544px;
	background-position: center top;
	background-repeat: no-repeat;
	background-size: contain;
}

.gVisual {
	background-color: transparent;
	margin-bottom: 78px;
}

.u-marginM {
	margin-bottom: 70px;
}

.plan_photo_format {
	color: #DF6477;
}

.location {
	border: 1px solid #cccccc;
	padding: 40px;
	margin-top: 90px;
}

.location_title {}

.location_list {
	list-style: none;
}

.location_list::after {
	content: "";
	display: block;
	clear: both;
}

.location_list>li {}

.location_list>li:first-child {}

.location_list>li:nth-child(2n+1) {}

.location_list>li:nth-child(n+3) {}

/*.gIntro_text {
	text-align: center;
	margin-top: 11px;
	font-size: 13px;
	line-height: 3;
}*/
.gPlan_listTitle {
	font-size: 12px;
	font-weight: normal;
}

.gPlan_price>small {
	font-size: 14px;
	margin-left: 5px;
	margin-bottom: 5px;
	display: inline-block;
	vertical-align: bottom;
}

.gPlan_price.tax_included>small {
	font-size: 20px;
	margin-top: 10px;
	margin-left: 0px;
	margin-bottom: 0px;
	display: inline-block;
	vertical-align: bottom;
}

.gPlan_price.tax_included>small span {
	font-size: 15px;
}

.ttl_dots {
	text-align: center;
	margin-top: 20px;
}

b {
	color: #333;
}

.gPlan_price>b {
	font-size: 35px;
	color: #333;
	display: inline-block;
	vertical-align: middle;
}

.gPlan_price b b {
	font-size: 56px;
	font-weight: 400;
}

.plan_box {
	display: flex;
	align-items: center;
	justify-content: space-between;
	background-color: #F5F6F8;
}

.plan_detail_box section:nth-child(even) .plan_box {
	background-color: #FFF;
	flex-direction: row-reverse;
}

.plan_box figure {
	width: 50%;
}

.plan_box figure img {
	width: 100%;
	height: auto;
}

.plan_txt {
	flex: none;
	width: 48%;
	text-align: center;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.plan_txt_ttl {
	font-size: 27px;
}

.plan_txt_info {
	padding: 30px;
	text-align: left;
	max-width: 410px;
}

.detail_box {
	display: none;
	background-color: #F5F6F8;
	padding: 120px 40px 130px;
}

.plan_detail_box section:nth-child(even) .detail_box {
	background-color: #FFF;
}

.plan_detail_box section:nth-child(even) .detail_box .gPlan_list>li {
	background-color: #F5F6F8;
	border-radius: 10px;
}

.detail_box h4.detail_plan_ttl {
	display: flex;
	align-items: center;
	font-size: 27px;
	margin-top: 80px;
}

.detail_box h4.detail_plan_ttl:before {
	border-top: 1px solid;
	content: "";
	width: 2em;
	margin-right: 0.5em;
}

.detail_box ul.detail_box_att {
	list-style: none;
	margin-top: 20px;
}


.detail_img {
	display: flex;
	justify-content: center;
	flex: none;
	/*flex-wrap: wrap;*/
	/*gap: 20px 15px;*/
	/*width:80%;*/
}

.detail_img img {
	max-width: 100%;
	height: auto;

}

.detail_img_item {
	/*width:32%;*/
}

.detail_img_item img {
	height: auto;
	width: 100%;
}

.gPlan_list {
	list-style: none;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-top: 16px;
}

.gPlan_list>li {
	width: 19%;
	background-color: #FFF;
	text-align: center;
	border-radius: 10px;
}

.gPlan_list::after {
	content: none;
	display: none;
}

.-left {
	text-align: left;
}

.location_spot_index {
	margin-top: -70px;
}

.loation_spot_ttl {
	background: linear-gradient(90deg, #F5F6F8 0%, #F5F6F8 80%, transparent 80%, transparent 100%);
	max-width: 1400px;
	width: 100%;
	margin: 0 auto 0 0;
	text-align: left;
	padding: 20px 0 45px 150px;
	position: relative;
	box-sizing: border-box;
}

.spot_ttl_index {
	font-size: 51px;
	letter-spacing: 0.15em
		/*margin-top:-40px;*/
}

.spot_ttl_subindex {}

.gLocation_link {
	max-width: 272px;
	margin: 22px auto 0 0;
}

.u-button01 {
	background: #ea5976;
	border: none;
}

.gLocation_link a {
	border: 1px solid #ea5976;
}

.gAreaLoation {
	border-top: none;
}

.osusume_label {
	border: 1px solid #ccc;
	background-color: #FFF;
	padding: 15px 25px 15px 150px;
	position: absolute;
	bottom: 0;
	left: 0;
	transform: translate(0, 50%);
}

.osusume_label_ttl {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	font-size: 27px;
}

.osusume_label_ttl:before {
	content: '';
	display: inline-block;
	width: 100px;
	height: 50px;
	background-image: url(/common/img/icon-wasou.svg);
	background-size: contain;
	background-repeat: no-repeat;
	/*vertical-align: middle;*/
	margin-right: 10px;
}

.spot_number {
	color: #ea5976;
	font-size: 18px;
}

.wasou_spot {
	margin: 70px 0 30px;
}

.wasou_spot_box {
	display: flex;
	align-items: center;
	/*justify-content: space-between;*/
}

.wasou_spot_txt {
	padding: 70px;
	position: relative;
	max-width: 540px;
}

.wasou_spot div:nth-child(even) .wasou_spot_box {
	flex-direction: row-reverse;
}

.betto_ryokin {
	display: flex;
	align-items: center;
}

.gLocation_price {
	/*margin-left:0;*/
}

.youso_spot {
	margin: 140px 0 30px;
	position: relative;
	background-color: #F5F6F8;
	padding: 20px 0 150px;
	box-sizing: border-box;
}

.youso_spot .osusume_label {
	border: 1px solid #ccc;
	background-color: #FFF;
	padding: 15px 25px 15px 150px;
	position: absolute;
	top: -20px;
	left: 0;
	transform: translate(0, -50%);
}

.youso_spot .osusume_label_ttl:before {
	content: '';
	display: inline-block;
	width: 100px;
	height: 50px;
	background-image: url(/common/img/icon-yousou.svg);
	background-size: contain;
	background-repeat: no-repeat;
	/*vertical-align: middle;*/
	margin-right: 0;
}

.youso_spot_box {
	display: flex;
	align-items: center;
	/*justify-content: space-between;*/
}

.youso_spot_txt {
	padding: 70px;
	position: relative;
}

.youso_spot section:nth-child(even) .youso_spot_box {
	flex-direction: row-reverse;
}

.location_info {
	border: 1px solid #CCC;
	background-color: #FFF;
	max-width: 1100px;
	width: 100%;
	padding: 20px;
	box-sizing: border-box;
	position: absolute;
	bottom: 0px;
	left: 0;
	transform: translate(0, 120%);
}

.gIndexNav-bottom {
	border: none;
}

.gAreaLoation {
	margin-bottom: 300px;
}

.bnr_link {
	position: relative;
	margin: 0 auto;
	max-width: 1400px;
	width: 100%;
	display: block;
	overflow: hidden;
}

.bnr_link::before {
	content: "";
	width: 100%;
	padding-top: 31.285%;
	display: block;
}

.bnr_link_txt {
	max-width: 1280px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	position: absolute;
	top: 50%;
	left: 5%;
	transform: translate(50%, -50%);
	z-index: 2;
	font-size: 24px;
	/* color: #FFF; */
}

.bnr_link_txt span {
	font-size: 14px;
}

.bnr_link_img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	transition: transform 0.5s;
	z-index: 1;
}

.bnr_link_img img {
	max-width: none;
}

.bnr_link:hover .bnr_link_img {
	transform: translate(-50%, -50%) scale(1.2);
}

.bnr_link div.u-button01 {
	color: #ea5976;
	border: 1px solid #fff;
	background: #fff;
}

.bnr_link div.u-button01 span.yajirushi {
	border-color: #ea5976;
}

.bnr_link:hover div.u-button01 {
	color: #fff;
	border: 1px solid #fff;
	background: #ea5976;
}

.bnr_link:hover div.u-button01 span.yajirushi {
	border-color: #fff;
}

.bnr_link_btn {
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 14px;
	margin-top: 20px;
}

.bnr_link_btn img {
	margin-left: 5px;
}

.detail_btn {
	width: 200px;
	height: 50px;
	border: 1px solid #ccc;
	border-radius: 50px;
}

.detail_btn span {}

.detail_btn span:after {
	content: '';
	display: inline-block;
	width: 12px;
	height: 10px;
	background-image: url(../bridal/img/icon-yajirusi.svg);
	background-size: contain;
	background-repeat: no-repeat;
	vertical-align: middle;
	margin-left: 5px;
}

.detail_btn:hover {
	background: #ccc;
}

.detail_btn.-active {
	background: #ccc;
}

.detail_btn.-active span:after {
	transform: rotate(180deg);
	/*transition: transform 0.5s;*/
}

.gLocation_link>a>img {
	vertical-align: middle;
	margin-left: 10px;
}

.costume_bnr {
	margin: 60px auto 0;
	max-width: 1100px;
	width: calc(100% - 40px);
	display: block;
}

@media screen and (min-width:1000px) {}

@media screen and (max-width:999px) {
	.gVisual-large {
		height: 400px;
	}

	.location {
		padding: 25px;
	}

	.location_title {}

	.location_list {}

	.location_list::after {}

	.location_list>li {
		text-indent: -1em;
		padding-left: 1em;
	}

	.location_list>li:first-child {}

	.location_list>li:nth-child(2n+1) {}

	.location_list>li:nth-child(n+3) {}

	.wasou_spot_box,
	.wasou_spot div:nth-child(even) .wasou_spot_box {
		flex-direction: column;
	}

	.youso_spot_box,
	.youso_spot div:nth-child(even) .youso_spot_box {
		flex-direction: column;
	}

	.gLocation_link {
		max-width: 272px;
		margin: 22px auto 0 202px;
	}

	.gLocation_image {
		margin-top: 30px;
	}

	.wasou_spot_txt,
	.youso_spot_txt {
		padding: 20px 202px 70px;
		position: relative;
	}

	.bnr_link_txt {
		max-width: 1280px;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: flex-start;
		position: absolute;
		top: 50%;
		left: 0%;
		transform: translate(50%, -50%);
		z-index: 2;
		font-size: 24px;
		color: #FFF;
	}
}

@media screen and (max-width:699px) {
	.gVisual-bridal-location {
		background-position: center center;
	}

	.gVisual-large {
		height: 290px;
		margin-bottom: 20px;
		background-size: cover;
	}

	.location {
		padding: 15px;
		margin-top: 0;
	}

	.location_title {
		font-size: 14px;
	}

	.location_list {
		font-size: 12px;
	}

	.location_list::after {}

	.location_list>li {}

	.location_list>li:first-child {}

	.location_list>li:nth-child(2n+1) {}

	.location_list>li:nth-child(n+3) {}

	.gPlan_price b b {
		font-size: 48px;
		font-weight: 400;
	}

	.plan_box {
		display: block;
	}

	.plan_box figure {
		width: 100%;
	}

	.plan_txt {
		width: 100%;
		padding: 70px 0;
	}

	.detail_box {
		padding: 40px 0px;
	}

	.gPlan_list {
		list-style: none;
		display: flex;
		justify-content: flex-start;
		flex-wrap: wrap;
		margin-top: 16px;
		padding: 0 15px;
	}

	.gPlan_list>li {
		width: 49%;
		margin-left: 2%;
	}

	.detail_box ul.detail_box_att {
		list-style: none;
		margin-top: 20px;
		padding: 0 15px;
		font-size: 12px;
	}

	.plan_txt_ttl {
		font-size: 20px;
	}

	.gAreaLoation_text {
		/*max-width: 400px;*/
		/*text-align: left;*/
		margin: 0 auto 30px;
	}

	.detail_img {
		display: flex;
		justify-content: center;
		flex: none;
		padding: 0 15px;
	}

	.detail_img img {
		max-width: 100%;
		width: 100%;
		height: auto;

	}

	.wasou_spot_box,
	.wasou_spot div:nth-child(even) .wasou_spot_box {
		flex-direction: column;
	}

	.wasou_spot_txt {
		padding: 15px 25px 25px;
	}

	.youso_spot_box,
	.youso_spot div:nth-child(even) .youso_spot_box {
		flex-direction: column;
	}

	.youso_spot_txt {
		padding: 15px 25px 25px;
	}

	.location_info {
		border: 1px solid #CCC;
		background-color: #FFF;
		max-width: 1100px;
		width: auto;
		padding: 20px;
		position: absolute;
		bottom: 0px;
		left: 0;
		transform: translate(0, 110%);
	}

	.loation_spot_ttl {
		background: linear-gradient(90deg, #F5F6F8 0%, #F5F6F8 100%);
		max-width: 1400px;
		width: 100%;
		margin: 0 auto;
		text-align: left;
		padding: 20px 0 30px 20px;
		position: relative;
		box-sizing: border-box;
	}

	.osusume_label {
		border: 1px solid #ccc;
		background-color: #FFF;
		padding: 15px 25px 15px 15px;
		position: absolute;
		bottom: 0;
		left: 0;
		transform: translate(0, 50%);
	}

	.wasou_spot {
		margin: 50px 0 30px;
	}

	.youso_spot {
		margin: 100px 0 30px;
		padding: 50px 0 150px;
	}

	.youso_spot .osusume_label {
		border: 1px solid #ccc;
		background-color: #FFF;
		padding: 15px 25px 15px 15px;
		position: absolute;
		top: -50px;
		left: 0;
		transform: translate(0, -50%);
	}

	.youso_spot .loation_spot_ttl {
		background: linear-gradient(90deg, #F5F6F8 0%, #F5F6F8 100%);
		max-width: 1400px;
		width: 100%;
		margin: 0 auto;
		margin-bottom: -40px;
		text-align: left;
		padding: 0px 0 30px 20px;
		position: relative;
		box-sizing: border-box;
	}

	.spot_ttl_index {
		font-size: 30px;
	}

	.gAreaLoation {
		margin-bottom: 230px;
	}

	.bnr_link {
		margin-top: 400px;
	}

	.bnr_link::before {
		content: "";
		width: 100%;
		padding-top: 77.285%;
		display: block;
	}

	.bnr_link_txt {
		max-width: 1280px;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: flex-start;
		position: absolute;
		top: 50%;
		left: 35%;
		transform: translate(-50%, -50%);
		z-index: 2;
		font-size: 20px;
		color: #FFF;
	}

	.bnr_link_txt p {
		color: #000;
	}
	.bnr_link_txt span {
		color: #000;
	}

	.bnr_link_img {
		position: absolute;
		top: 50%;
		left: 55%;
		transform: translate(-50%, -50%);
		transition: transform 0.5s;
		z-index: 1;
	}

	.gLocation_link {
		max-width: 272px;
		margin: 22px auto 0 0px;
	}
}