@charset "shift_jis";

:root{
	--font_family-gothic: '小塚ゴシック Pro L', 'Kozuka Gothic Pro Light', "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic", YuGothic, 'Hiragino Kaku Gothic ProN','メイリオ',Meiryo,'ＭＳ Ｐゴシック';
	--main_color: #333333;
	--sub_color: #745040;
}
.mt5{ margin-top: 5px; }
.mt10{ margin-top: 10px; }
.mt15{ margin-top: 15px; }
.mt20{ margin-top: 20px; }
.mt25{ margin-top: 25px; }
.mt30{ margin-top: 30px; }
.mt35{ margin-top: 30px; }
.mt40{ margin-top: 40px; }
.mt50{ margin-top: 50px; }
.mt60{ margin-top: 60px; }

.dg{
	display: grid;
}
@media (min-width: 769px){
	.pc-dg{
		display: grid;
	}
	.pc-dg.col2{
			grid-template-columns: 1fr 1fr;
			column-gap: 60px;
			row-gap: 60px;
	}
	.pc-dg.col3{
		grid-template-columns: 1fr 1fr 1fr;
		column-gap: 35px;
		row-gap: 35px;
	}
}

.main{
	color: var(--main_color);
	--font_family-gothic: var(--font_family-gothic);
	font-size: 1.6rem;
	line-height: 1.6;
}
.contents_header{
	position: relative;
	height: 600px;
	background: url(/wed/campaign/images/bg-mv.jpg) no-repeat center center / 100%;
}
@media (max-width: 1460px){
	.contents_header{
		background-size: auto;
	}
}

.contents_header h1{
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 50%;

}
.contents_header h1 span{
	display: block;
	margin-top: 30px;
	color: var(--sub_color);
	text-align: center;
}
.section{
	padding-top: 100px;
	padding-bottom: 100px;
}
.section h2{
	margin-bottom: 70px;
	text-align: center;
}
.section h2 span,
.section h3 span{
	display: block;
}
.section h2 .jp{
	margin-top: 20px;
	color: var(--sub_color);
}
.cassette-title{
	font-size: 2.4rem;
	text-align: center;
	line-height: 1.2;
	span{
		margin-top: 10px;
		font-size: 0.666em;
	}
}
.cassette-title.-lg{
	color: var(--sub_color);
	font-size: 187.5%;
}

.cassette-container + .cassette-container{
	margin-top: 120px;
}

.cassette-header{
	margin-bottom: 60px;
	text-align: center;
	font-weight: bold;
}
.cassette-header-inner{
	position: relative;
	display: inline-block;
}
.label-best{
	position: absolute;
	top: -10px;
	left: -100px;
}
.device--pc .label-best{
	width: 88px;
}
.device--pc .cassette{
	width: 1020px;
	margin: 0 auto 40px;
}
.device--pc .cassette .detail-container{
	align-items: flex-start;
}
.cassette .detail-body{
	margin-top: 25px;
}
.button + .button{
	margin-top: 20px;
}
.device--pc .button,
.device--pc .button.-primary{
	min-width: 460px;
	width: fit-content;
}
.device--pc .button.-primary{
	padding: 0 60px;
}
.button.-secondary{
	height: 80px;
	background-color: #734a16;
	font-size: 2.4rem;
}

.section.campaign{
	background-color: #f5eeee;
}
.campaign-list{
	display: flex;
	flex-wrap: wrap;
	row-gap: 60px;
	column-gap: 60px;
}
.campaign-item{
	background-color: #ffffff;
}
.device--pc .campaign-item{
	flex: 0 0 530px;
	width: 530px;
}

.campaign-item:nth-of-type(2n+1):last-of-type {
	flex: 0 0 530px;
	margin: auto;
}
.text-block{
	padding: 25px 0;
	background-color: #ffffff;
	color: #333333;
}
.text-block dt{
	margin-bottom: 15px;
}

.labeled_text + .labeled_text{
	margin-top: 5px;
}
.label{
	display: inline-block;
	width: 85px;
	height: 26px;
	margin-right: 10px;
	background-color: var(--sub_color);
	border-radius: 13px;
	color: #ffffff;
	font-size: 88.8888%;
	text-align: center;
	line-height: 27px;
}

.campaign-item a{
	position: relative;
	height: 100%;
	display: block;
}
.campaign-item a::after{
	content: "";
	position: absolute;
	right: 10px;
	bottom: 10px;
	height: 20px;
	width: 20px;
	background: #d77b7b;
	clip-path: polygon(100% 0, 100% 100%, 0 100%);
}

.campaign-item .text-block{
	padding: 25px 25px 45px;
}
.device--pc .campaign-item dt{
	font-size: 133%;
}
.device--pc .campaign-item dd{
	font-size: 112.5%;
}
.device--pc .bridal_fair{
	/* margin-top: -200px;
	padding-top: 300px; */
	padding-top: 120px;
	margin-top: -20px;
}

.region_select-heading{
	padding: 25px;
	background-color: #f5eeee;
	color: #7e5848;
	text-align: center;
}
.region-list{
	flex: 1;
}
.region-item a{
	font-size: 1.125em;
}
/* .region-item a::after{
	display: none;
} */
/* .bridal_fair-list{
	margin-top: 70px;
} */
.device--pc .bridal_fair-list{
	margin-top: 120px;
}

.whats_bridal_fair-heading{
	color: var(--sub_color);
	font-size: 1.875em;
	text-align: center;
	line-height: 1.2;
}
.whats_bridal_fair-item .mark{
	width: 69px;
}
.whats_bridal_fair-item dt{
	font-size: 125%;
}
.whats_bridal_fair-item{
	display: flex;
	flex-direction: column;
	align-items: center;
}
.whats_bridal_fair-item .image-block{
	margin-top: -1px;
}
.whats_bridal_fair{
	margin-top: 110px;
}

.contents_footer {
	padding: 120px 0;
	background-color: #f5eeee;
	text-align: center;
}

[data-flag-labeled_text=""],
[data-flag-venue=""]{
	display: none;
}
.cassette-container[data-label=""] .add_label{
	display: none;
}
[data-link_num="1"] a:nth-of-type(2),
[data-link_num="1"] a:nth-of-type(3){
	display: none;
}
[data-link_num="2"] a:nth-of-type(3){
	display: none;
}