@charset "UTF-8";

/* ===================================================================
COMMON
=================================================================== */

body {
	overflow-x: hidden;
}

body * {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

img {
	width: 100%;
	max-width: 100%;
	height: auto;
}

img[aria-hidden] {
	width: 1px;
	max-width: unset;
	height: 1px;
}

section {
	position: relative;
}

.b-pc { display: block }
.b-sp { display: none }
.b-in-pc { display: inline-block }
.b-in-sp { display: none }

/* CONTAINER
--------------------*/

.b-container {
	position: relative;
	width: 100%;
	max-width: 2000px;
	margin: 0 auto;
	padding: 70px 0 0;
	font-family: serif;
}

.b-container-kv {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	width: 100%;
	max-width: 1000px;
	min-height: 1000px;
	padding: 0 0 30px;
	margin: 0 auto;
}

.b-container-1000 {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 100%;
	max-width: 1030px;
	padding: 0 15px;
	margin: 0 auto;
}

/* ===================================================================
PARTS
=================================================================== */

/* FLEX
--------------------*/

.b-flex {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.sec-02 .b-flex-start,
.sec-04 .b-flex-start {
	flex: auto;
	padding: 0 40px 0 0;
}

.sec-02 .b-flex-end,
.sec-04 .b-flex-end {
	flex: none;
	width: 55%;
	min-width: 440px;
}

.sec-03 .b-flex-start {
	flex: none;
	width: 55%;
	min-width: 440px;
}

.sec-03 .b-flex-end {
	flex: auto;
	padding: 0 20px;
}

/* IMG
--------------------*/

.b-img {
	position: relative;
	z-index: 1;
}

.b-img:before {
	content: '';
	position: absolute;
	bottom: -20px;
	right: -20px;
	display: block;
	width: 100%;
	height: 100%;
	background: #DDE6D8;
	z-index: -1;
}

.b-img figure {
	position: relative;
}

.b-img figure figcaption {
	position: absolute;
	bottom: 5px;
	right: 5px;
	color: #FFF;
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
	text-shadow: 0px 0px 5px #000;
}

/* BTN
--------------------*/

.b-btn {
	width: 100%;
	max-width: 300px;
	margin: 0 auto;
}

.b-btn a {
	display: block;
	border-radius: 30px;
	box-shadow: 3px 3px 6px rgba(0, 0, 0, .16);
	transition: opacity .3s cubic-bezier(.65,0,.45,1);
}

.b-btn a:hover {
	opacity: 0.85;
}

/* LAYOUT
--------------------*/

.b-layout {
	display: flex;
	justify-content: center;
	align-items: center;
	letter-spacing: 1px;
}

/* DETAIL
--------------------*/

.b-main-title {
	margin: 0 0 10px;
	color: #6F8C5D;
	font-size: 18px;
	font-weight: 700;
	text-align: center;
}

.b-overview {
	margin: 0 0 15px;
	text-align: center;
}

.b-overview .date {
	color: #000;
	font-size: 1.5em;
	font-weight: 700;
}

.b-present {
	padding: 2px;
	/* background: linear-gradient(45deg, #B67B03 0%, #DAAF08 45%, #FEE9A0 70%, #DAAF08 85%, #B67B03 90% 100%); */
	background: linear-gradient(45deg, rgba(182, 123, 3, .25) 0%, rgba(218, 175, 8, .25) 45%, rgba(254, 233, 160, .25) 70%, rgba(218, 175, 8, .25) 85%, rgba(182, 123, 3, .25) 90% 100%);
}

.b-present + .b-present {
	margin: 20px 0 0;
}

.b-present-inner {
	padding: 15px;
	background: rgba(255, 255, 255, .9);
}

.b-present-title {
	position: relative;
	padding: 5px 10px;
	font-size: 16px;
	font-weight: 700;
	background: #F6F8F5;
}

.b-present-title:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 4px;
	height: 100%;
	background: #DDE6D8;
}

.b-present-title em {
	padding: 0 0 0 5px;
	font-style: normal;
	color: #CE5000;
	font-size: 1.5em;
}

.b-present-heading {
	display: flex;
	justify-content: space-between;
	width: 165px;
}

.b-present-price-inner {
	display: flex;
	justify-content: center;
	align-items: baseline;
	gap: 10px;
	margin: 10px 0 0;
}

.b-present-price {
	display: flex;
	justify-content: center;
	align-items: baseline;
	gap: 10px;
	margin: 10px 0 0;
	line-height: 1.2;
	letter-spacing: 0;
}

.b-present-price-inner > .b-present-price {
	margin: 0;
}

.b-present-price .before {
	color: #969696;
	font-size: 16px;
}

.b-present-price .before span:nth-of-type(1) {
	font-size: .8em;
}

.b-present-price .before span:nth-of-type(2) {
	text-decoration: line-through;
}

.b-present-price .before:has(> .rental) {
	position: relative;
	padding: 20px 0 0;
}

.b-present-price .before .rental {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	font-size: .65em;
	text-align: center;
	white-space: nowrap;
}

.b-present-price i {
	color: #A6BC99;
	font-size: 30px;
}

.b-present-price .after {
	color: #CE5000;
	font-size: 60px;
	font-weight: 700;
}

.b-present-price .after span:nth-of-type(1) {
	font-size: .7em;
}

.b-plus {
	margin: 15px 0 0;
	padding: 10px;
	color: #6F8C5D;
	font-weight: 700;
	text-align: center;
	background: #FFF;
}

.b-special {
	font-size: 18px;
	font-weight: 700;
	text-align: center;
}

.b-special span {
	color: #CE5000;
	font-size: 32px;
}

.b-special span i {
	font-style: normal;
	font-size: 40px;
}

/* ===================================================================
SECTION
=================================================================== */

/* SEC01
--------------------*/

.sec-01 {
	background: url(../bigbridalfair/img/bg/pc/01.webp) center center / 2000px 1000px no-repeat transparent;
}

.kv-date {
	width: calc(345 / 1000 * 100%);
	max-width: 345px;
	margin: 0 auto;
}

.kv-logo {
	width: calc(895 / 1000 * 100%);
	max-width: 895px;
	margin: 0 auto 50px;
}

/* SEC02
--------------------*/

.sec-02 {
	padding: 50px 0 70px;
	background: #FFF;
}

/* SEC03
--------------------*/

.sec-03 {
	padding: 50px 0 70px;
	background: #F8F4E6;
}

/* SEC04
--------------------*/

.sec-04 {
	padding: 50px 0 70px;
	background: #FFF;
}

/* SEC05
--------------------*/

.sec-05 {
	padding: 50px 0;
	background: url(../bigbridalfair/img/bg/pc/05.webp) center center / 2000px 400px no-repeat transparent;
}

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

	/* ===================================================================
	COMMON
	=================================================================== */

	.b-pc { display: none }
	.b-sp { display: block }
	.b-in-pc { display: none }
	.b-in-sp { display: inline-block }

	/* CONTAINER
	--------------------*/

	.b-container {
		max-width: 1000px;
		padding: 58px 0 0;
	}

	.b-container-kv {
		max-width: 430px;
		min-height: 600px;
		padding: 0 0 20px;
	}

	.b-container-1000 {
		max-width: 420px;
		padding: 0 10px;
	}

	/* ===================================================================
	PARTS
	=================================================================== */

	/* FLEX
	--------------------*/

	.b-flex {
		flex-direction: column;
	}

	.b-flex-start,
	.b-flex-end {
		flex: unset !important;
		width: 100% !important;
		min-width: unset !important;
		padding: 0 !important;
	}

	.b-flex.start .b-flex-start { order: 1; margin: 0 0 30px }
	.b-flex.start .b-flex-end { order: 2; margin: 0 }

	.b-flex.end .b-flex-end { order: 1; margin: 0 0 30px }
	.b-flex.end .b-flex-start { order: 2; margin: 0 }

	/* IMG
	--------------------*/

	.b-img {
		margin: 0 10px 0 0;
	}

	.b-img:before {
		bottom: -10px;
		right: -10px;
	}

	/* BTN
	--------------------*/

	.b-btn a {
		transition: none;
	}

	/* LAYOUT
	--------------------*/

	.b-layout {
		display: block;
	}

	/* DETAIL
	--------------------*/

	.b-present-inner {
		padding: 10px;
	}

	.b-present-title {
		display: flex;
		align-items: center;
	}

	.b-present-heading {
		width: 160px;
	}

	.b-present-price-inner {
		gap: 5px;
		margin: 5px 0 0;
	}

	.b-present-price {
		gap: 5px;
	}

	.b-present-price .before {
		font-size: 14px;
	}

	.b-present-price .before:has(> .rental) {
		padding: 15px 0 0;
	}

	.b-present-price i {
		font-size: 20px;
	}

	.b-present-price .after {
		font-size: 40px;
	}

	.b-special {
		font-size: 16px;
	}

	.b-special span {
		font-size: 22px;
	}

	.b-special span i {
		font-size: 26px;
	}

	/* ===================================================================
	SECTION
	=================================================================== */

	/* SEC01
	--------------------*/

	.sec-01 {
		background: url(../bigbridalfair/img/bg/sp/01.webp) center center / cover no-repeat transparent;
	}

	.kv-date {
		width: 100%;
		max-width: 216px;
	}

	.kv-logo {
		width: 100%;
		max-width: 380px;
		margin: 0 auto 70px;
	}

	/* SEC02
	--------------------*/

	.sec-02 {
		padding: 30px 0 40px;
	}

	/* SEC03
	--------------------*/

	.sec-03 {
		padding: 30px 0 40px;
	}

	/* SEC04
	--------------------*/

	.sec-04 {
		padding: 30px 0 40px;
	}

	/* SEC05
	--------------------*/

	.sec-05 {
		padding: 30px 0;
		background: url(../bigbridalfair/img/bg/sp/05.webp) center center / cover no-repeat transparent;
	}

}