/*==========================
基本CSS
==========================*/
img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.slide_bnr_wrap {
	display: none !important;
}
.st-Footer_Pagetop {
	display: none !important;
}

/*==========================
PCフレーム
==========================*/
.pc_cont_wrap {
	height: 100vh;
	width: 100%;
	position: fixed;
	z-index: 0;
}

/* MV */
.pc_cont_wrap .pc_mv {
	height: 100vh;
	position: relative;
}

.pc_cont_wrap .pc_mv .in {
	height: 100%;
}

.pc_cont_wrap .pc_mv .pc_mv_bg {
	/* width: calc(100% - 9.1rem); */
	width: 43.4%;
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	overflow: hidden;
}


/* 右側の帯メニュー */
.pc_cont_wrap .pc_mv .pc_menu {
	/* width: 3.8rem; */
	width: 23.6%;
	height: 100vh;
	position: absolute;
	top: 0;
	right: 0;
	background-color: #F8F8F8;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.pc_cont_wrap .pc_mv .pc_menu_wrap {
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: 4.4vh;
	align-items: center;
	margin-top: 15vh;
}

.pc_cont_wrap .pc_mv .pc_list {
	transition: opacity 0.3s;
}

.pc_cont_wrap .pc_mv .pc_list:hover {
	opacity: 0.7;
}

.pc_cont_wrap .pc_mv .pc_list:first-child {
	width: 40.5%;;
}
.pc_cont_wrap .pc_mv .pc_list:nth-child(2) {
	width: 50%;
}
.pc_cont_wrap .pc_mv .pc_list:nth-child(3) {
	width: 34.4%;
}
.pc_cont_wrap .pc_mv .pc_list:nth-child(4) {
	width: 36.5%;
}

.pc_cont_wrap .pc_mv .pc_menu_btn {
	display: block;
	width: 68%;
	margin-top: 0.64rem;
	margin-top: 7vh;
	transition: opacity 0.3s;
}

.pc_cont_wrap .pc_mv .pc_menu_btn + .pc_menu_btn {
	margin-top: 1.7vh;
}

.pc_cont_wrap .pc_mv .pc_menu_btn:hover {
	opacity: 0.75;
}

.pc_cont_wrap .pc_mv .pc_menu_logo {
	display: block;
	width: 110%;
	height: auto;
	margin-top: 8vh;
}

.pc_cont_wrap .pc_mv .pc_menu_sns {
	display: flex;
	gap: 0.23rem;
	margin-top: 3.3%;
}

.pc_cont_wrap .pc_mv .sns_list {
	width: 0.35rem;
	transition: opacity 0.3s;
}

.pc_cont_wrap .pc_mv .sns_list:hover {
	opacity: 0.7;
}



/*==========================
SPフレーム
==========================*/
.sp_cont_wrap {
	width: 33%;
	position: relative;
	margin: 0 23.6% 0 auto;
	z-index: 1;
}

@media screen and (max-width: 767px) {
	.sp_cont_wrap {
		margin: 0;
		width: 100%;
		background-color: #ffffff;
	}
}

.sp_cont_wrap .in {
	position: relative;
}

.sp_cont_wrap .sp_cont {
	width: 100%;
	background-color: #F8F8F8;
	position: relative;
}


/* SP画像 */
.sp_cont_wrap .sp_cont .intro {
	background-color: #fff;
	padding-bottom: 21%;
}

.sp_cont_wrap .sp_cont .menu_btn {
	display: block;
	width: 70%;
	margin: 0 auto;
}

.sp_cont_wrap .sp_cont .menu_btn + .menu_btn {
	margin-top: 0.13rem;
}

.sp_cont_wrap .sp_cont .accordion_wrap {
	display: none;
	overflow: hidden;
}

.sp_cont_wrap .sp_cont .accordion_wrap .accordion_inner {
	padding-bottom: 12.8%;
}

.sp_cont_wrap .sp_cont .main_ph {
	position: relative;
}

/* アコーディオン */
.sp_cont_wrap .sp_cont .accordion_open_btn,
.sp_cont_wrap .sp_cont .accordion_close_btn {
	width: 1.18rem;
	height: 0.3rem;
	margin: 12.8% auto 0;
	display: flex;
	justify-content: center;
	align-items: center;
	border: 1px solid #61C5C0;
	border-radius: 0.16rem;
	background-color: #fff;
}
#Ceremony .accordion_open_btn,
#Ceremony .accordion_wrap .accordion_close_btn {
	border: 1px solid #EFB3B1;
}
#Casual .accordion_open_btn,
#Casual .accordion_wrap .accordion_close_btn {
	border: 1px solid #D4D29F;
}

.sp_cont_wrap .sp_cont .accordion_open_btn {
	position: absolute;
	bottom: 5.2%;
	left: 50%;
	transform: translateX(-50%);
}

.sp_cont_wrap .sp_cont .accordion_open_btn span,
.sp_cont_wrap .sp_cont .accordion_close_btn span {
	font-family: "Josefin Sans", sans-serif;
	font-weight: 400;
	font-size: 0.16rem;
	letter-spacing: 0.05em;
	line-height: 1;
	color: #61C5C0;
	padding-top: 0.04rem;
	padding-right: 0.22rem;
	cursor: pointer;
	position: relative;
	display: inline-block;
}
#Ceremony .accordion_open_btn span,
#Ceremony .accordion_wrap .accordion_close_btn span {
	color: #EFB3B1;
}
#Casual .accordion_open_btn span,
#Casual .accordion_wrap .accordion_close_btn span {
	color: #D4D29F;
}

.sp_cont_wrap .sp_cont .accordion_open_btn span:before,
.sp_cont_wrap .sp_cont .accordion_close_btn span:before {
	content: '';
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 5px 0 5px 6px;
	border-color: transparent transparent transparent #61C5C0;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	transform: rotate(-90deg);
	transition: transform 0.4s ease;
}
#Ceremony .accordion_open_btn span:before,
#Ceremony .accordion_wrap .accordion_close_btn span:before {
	border-color: transparent transparent transparent #EFB3B1;
}
#Casual .accordion_open_btn span:before,
#Casual .accordion_wrap .accordion_close_btn span:before {
	border-color: transparent transparent transparent #D4D29F;
}

.sp_cont_wrap .sp_cont .accordion_open_btn span:before {
	transform: rotate(90deg);
}

.sp_cont_wrap .sp_cont .accordion_open_btn.is-open span:before {
	transform: rotate(270deg);
}

.sp_cont_wrap .sp_cont .contact {
	position: relative;
}

.sp_cont_wrap .sp_cont .contact .contact_btn {
	display: block;
	width: 70%;
	position: absolute;
	top: 36%;
	left: 50%;
	transform: translateX(-50%);
}
.sp_cont_wrap .sp_cont .contact .contact_btn + .contact_btn {
	top: 46%;
}

.sp_cont_wrap .sp_cont .access_menu_sns {
	display: flex;
	justify-content: center;
	gap: 6.1%;
	padding: 4.2%;
	background-color: #61C7C0;
}

.sp_cont_wrap .sp_cont .sns_list {
	width: 9.3%;
}


/*==================================
フローティングバナー
==================================*/
.floating_bnr {
	position: fixed;
	bottom: 0;
	right: 23.6%;
	width: 33%;
	z-index: 2;
}

.floating_bnr .bnr_top {
	width: 80%;
	margin: 0 auto 0.04rem;
}

.floating_bnr .bnr_bottom {
	display: flex;
	width: 91.4%;
	margin: 0 auto 0.1rem;
}

.floating_bnr a {
	width: 50%;
}

.floating_bnr img {
	display: block;
	height: 100%;
}

@media screen and (max-width: 767px) {
	.floating_bnr {
		width: 100%;
		right: auto;
	}

	.floating_bnr img {
		width: 100%;
	}
}
