@charset "UTF-8";

#bridal_area{
	background-color:#f6f6eb;
}

/*bridal_key_area*/
#bridal_key_area{
	overflow:hidden;
	position:relative;
	margin:0 0 30px;
}

#bridal_key_area .pic_area{
	width:57%;
	float:right;
}

#bridal_key_area .pic_area img{
	width:100%;
	height:auto;
	vertical-align:bottom;
}

#bridal_key_area .text_area{
	width:50%;
	margin:0;
	position:absolute;
	top:0;
	right:0;
	left:0;
}

#bridal_key_area .text_area>div{
	position:absolute;
	top:50%;
	left:50%;
	transform:translate(-50%,-50%);
}

#bridal_key_area .text_area>div h1{
	margin:0 0 35px;
	color:#7b6969;
	letter-spacing:0.2em;
	font-size:13px;
	line-height:1;
	font-weight:300;
}

#bridal_key_area .text_area>div h1 img{
	width:auto;
	height:36px;
	vertical-align:bottom;
}

#bridal_key_area .text_area>div h1 span{
	display:block;
	margin:15px 0 0;
}

#bridal_key_area .text_area>div p:first-of-type{
	margin:0 0 10px;
	color:#e47a7a;
	letter-spacing:0.1em;
	font-size:30px;
	line-height:1.5;
	font-weight:400;
}

#bridal_key_area .text_area>div p:last-of-type{
	margin:0;
	text-align:justify;
	text-justify:inter-ideograph;
	letter-spacing:0.1em;
	white-space:nowrap;
	font-size:15px;
	line-height:2;
}

@media only screen and (min-width:661px) and (max-width:1200px){
	
	#bridal_key_area .text_area>div h1{
		margin:0 0 25px;
		font-size:12px;
	}
	
	#bridal_key_area .text_area>div h1 img{
		height:30px;
	}
	
	#bridal_key_area .text_area>div p:first-of-type{
		margin:0 0 10px;
		color:#e47a7a;
		letter-spacing:0.1em;
		font-size:24px;
		line-height:1.5;
		font-weight:400;
	}
	
	#bridal_key_area .text_area>div p:last-of-type{
		white-space:normal;
		font-size:13px;
		line-height:1.8;
	}
}

@media only screen and (min-width:661px) and (max-width:1000px){
	
	#bridal_key_area .pic_area{
		width:70%;
		position:relative;
		right:-15%;
	}
}

@media only screen and (min-width:661px) and (max-width:900px){
	
	#bridal_key_area .text_area>div h1{
		margin:0 0 15px;
	}
	
	#bridal_key_area .text_area>div h1 img{
		height:22px;
	}
	
	#bridal_key_area .text_area>div h1 span{
		margin:10px 0 0;
	}
	
	#bridal_key_area .text_area>div p:first-of-type{
		margin:0 0 8px;
		font-size:17px;
	}
	
	#bridal_key_area .text_area>div p:last-of-type br{
		display:none;
	}
}

@media only screen and (max-width:660px){
	
	#bridal_key_area{
		margin:0 0 40px;
	}
	
	#bridal_key_area .pic_area{
		width:100%;
		float:none;
	}
	
	#bridal_key_area .text_area{
		box-sizing:border-box;
		width:100%;
		padding:30px 20px;
		position:static;
	}
	
	#bridal_key_area .text_area>div{
		position:static;
		top:0;
		left:0;
		transform:translate(0,0);
	}
	
	#bridal_key_area .text_area>div h1{
		margin:0 0 18px;
		text-align:center;
		font-size:11px;
	}
	
	#bridal_key_area .text_area>div h1 img{
		width:280px;
		max-width:100%;
		height:auto;
	}
	
	#bridal_key_area .text_area>div h1 span{
		display:block;
		margin:15px 0 0;
	}
	
	#bridal_key_area .text_area>div p:first-of-type{
		margin:0 0 10px;
		text-align:center;
		font-size:17px;
		line-height:1.3;
	}
	
	#bridal_key_area .text_area>div p:last-of-type{
		white-space:normal;
		font-size:12px;
		line-height:1.8;
	}
}

/*bridal_area content*/
#bridal_area .content{
	padding:0 0 60px;
	background-repeat:no-repeat;
	background-size:50% auto;
}

#bridal_area #bridal01{
	background-image:url(../img/bridal_bg01.jpg);
	background-position:right top 20%;
}

#bridal_area #bridal02{
	background-image:url(../img/bridal_bg02.jpg);
	background-position:left top 20%;
}

#bridal_area #bridal03{
	background-image:url(../img/bridal_bg03.jpg);
	background-position:right top 40%;
}

#bridal_area #bridal04{
	background-image:url(../img/bridal_bg04.jpg);
	background-position:left top 60%;
}

#bridal_area #bridal05{
	background-image:url(../img/bridal_bg05.jpg);
	background-position:right top 50%;
}

#bridal_area .content>div{
	display:flex;
	justify-content:space-between;
	align-items:center;
	max-width:1200px;
	margin:0 auto;
	padding:0 30px;
}

#bridal_area .content>div img{
	width:50%;
	height:auto;
	vertical-align:bottom;
}

#bridal_area .content>div p{
	width:48%;
	margin:0;
	color:#7b6969;
	letter-spacing:0.1em;
	font-size:15px;
	line-height:3.2;
}

#bridal_area .content>div p span{
	display:table;
	margin:0 auto;
}

#bridal_area .content:nth-of-type(odd)>div img{
	order:2;
}

#bridal_area .content:nth-of-type(odd)>div p{
	order:1;
}

#bridal_copy{
	padding:40px 30px 200px;
	background-image:url(../img/bridal_copy_bg01.jpg),url(../img/bridal_copy_bg02.jpg);
	background-repeat:no-repeat,no-repeat;
	background-size:15% auto,15% auto;
	background-position:left 10% top 5%,right 12% bottom 45%;
}

#bridal_copy p{
	margin:0;
	color:#7b6969;
	text-align:center;
	text-indent:0.1em;
	letter-spacing:0.1em;
	font-size:18px;
	line-height:3;
}

@media only screen and (min-width:851px) and (max-width:1023px){
	#bridal_area .content{
		padding:0 0 40px;
		background-size:auto 100%;
	}
	#bridal_area .content>div img{
		width:40%;
	}
	
	#bridal_area .content>div p{
		width:58%;
		font-size:13px;
		line-height:2.6;
	}
	
	#bridal_copy{
		padding:100px 30px 200px;
		background-position:left 10% top 5%,right 12% bottom 35%;
	}
	
	#bridal_copy p{
		font-size:15px;
		line-height:2.6;
	}
}

@media only screen and (max-width:850px){
	#bridal_area .content{
		padding:0 0 80px;
		background-size:80% auto;
	}
	
	#bridal_area #bridal01{
		background-position:right bottom 30px;
	}
	
	#bridal_area #bridal02{
		background-position:left bottom 30px;
	}
	
	#bridal_area #bridal03{
		background-position:right bottom 30px;
	}
	
	#bridal_area #bridal04{
		background-position:left bottom 30px;
	}
	
	#bridal_area #bridal05{
		background-position:right bottom 30px;
	}
	
	#bridal_area .content>div{
		display:block;
	}
	
	#bridal_area .content>div img{
		display:block;
		width:50%;
		margin:0 auto 30px;
	}
	
	#bridal_area .content>div p{
		width:100%;
		text-align:center;
		text-indent:0.1em;
		font-size:13px;
		line-height:2.6;
	}
	
	#bridal_copy p{
		font-size:14px;
		line-height:2.4;
	}
}

@media only screen and (max-width:660px){
	
	#bridal_area .content>div{
		padding:0 20px;
	}
	
	#bridal_area .content>div img{
		width:80%;
		margin:0 auto 30px;
	}
	
	#bridal_area .content>div p{
		text-align:justify;
		text-justify:inter-ideograph;
		text-indent:0;
		font-size:13px;
		line-height:2;
	}
	
	#bridal_copy{
		padding:60px 20px 120px;
		background-size:20% auto,20% auto;
		background-position:left 5% top 2%,right 7% bottom 20%;
	}
	
	#bridal_copy p{
		text-align:justify;
		text-justify:inter-ideograph;
		text-indent:0;
	}
}

/*bridal_service_area*/
#bridal_service_area{
	max-width:1200px;
	margin:0 auto 90px;
	padding:0 30px;
	overflow:hidden;
}

#bridal_service_area h2{
	display:table;
	margin:0 auto 70px;
	padding:0 10px 18px;
	border-bottom:1px solid #dfd5a1;
	text-align:center;
	text-indent:0.2em;
	letter-spacing:0.2em;
	font-size:12px;
	line-height:1;
	font-weight:500;
	position:relative;
}

#bridal_service_area h2 img{
	display:block;
	max-width:100%;
	width:auto;
	height:20px;
	margin:0 0 15px;
	vertical-align:bottom;
}

_:-ms-lang(x), #bridal_service_area h2 img{
	width:392px;
}

_:-ms-fullscreen, :root #bridal_service_area h2 img{
	width:392px;
}

#bridal_service_area h2:after{
	content:"";
	display:block;
	width:30px;
	height:8px;
	background-image:url(../img/service_title_icon.svg);
	background-repeat:no-repeat;
	background-size:cover;
	background-position:center center;
	position:absolute;
	bottom:-4px;
	left:50%;
	transform:translate(-50%,0);
}

#bridal_service_area article{
	width:calc(50% - 30px);
	margin:0 60px 60px 0;
	background-color:#fff;
	float:left;
	overflow:hidden;
}

#bridal_service_area article:nth-of-type(2n){
	margin:0 0 60px 0;
}

#bridal_service_area article .pic_area{
	width:52%;
	float:left;
}

#bridal_service_area article .pic_area img{
	width:100%;
	height:auto;
	vertical-align:bottom;
}

#bridal_service_area article .text_area{
	box-sizing:border-box;
	width:48%;
	height:100%;
	padding:7px 7px 7px 0;
	float:left;
}

#bridal_service_area article .text_area>div{
	box-sizing:border-box;
	width:100%;
	height:100%;
	border-top:1px solid #dfd5a1;
	border-right:1px solid #dfd5a1;
	border-bottom:1px solid #dfd5a1;
	background-image:url(../img/waku01.svg),url(../img/waku02.svg);
	background-repeat:no-repeat,no-repeat;
	background-size:60px 60px,60px 60px;
	background-position:right top,right bottom;
	position:relative;
}

#bridal_service_area article .text_area>div>div{
	width:72%;
	position:absolute;
	top:50%;
	left:50%;
	transform:translate(-50%,-50%);
}

#bridal_service_area article .text_area>div>div h3{
	margin:0 0 20px;
	color:#dab400;
	letter-spacing:0.1em;
	font-size:17px;
	line-height:1;
	font-weight:400;
}

#bridal_service_area article .text_area>div>div p{
	margin:0;
	text-align:left;
	font-size:14px;
	line-height:2.1;
}

@media only screen and (min-width:661px) and (max-width:1200px){
	
	#bridal_service_area article{
		width:calc(50% - 15px);
		margin:0 30px 30px 0;
	}
	
	#bridal_service_area article:nth-of-type(2n){
		margin:0 0 30px 0;
	}
	
	#bridal_service_area article .text_area>div>div h3{
		margin:0 0 15px;
		font-size:16px;
	}
	
	#bridal_service_area article .text_area>div>div p{
		font-size:13px;
		line-height:1.9;
	}
}

@media only screen and (min-width:661px) and (max-width:999px){
	#bridal_service_area{
		width:80%;
	}
	
	#bridal_service_area article .pic_area{
		width:100%;
		float:none;
	}
	
	#bridal_service_area article .text_area{
		box-sizing:border-box;
		width:100%;
		height:auto;
		padding:0 5px 5px 5px;
		float:none;
	}
	
	#bridal_service_area article .text_area>div{
		padding:30px 30px 40px;
		border-top:none;
		border-left:1px solid #dfd5a1;
		background-image:url(../img/waku03.svg),url(../img/waku02.svg);
		background-size:60px 60px,60px 60px;
		background-position:left bottom,right bottom;
	}
	
	#bridal_service_area article .text_area>div>div{
		width:100%;
		position:static;
		transform:translate(0,0);
	}
	
	#bridal_service_area article .text_area>div>div h3{
		text-align:center;
	}
}

@media only screen and (min-width:661px) and (max-width:750px){
	#bridal_service_area{
		width:calc(100% - 60px);
	}
	
}

@media only screen and (max-width:660px){
	
	#bridal_service_area{
		margin:0 auto 60px;
		padding:0 20px;
	}
	
	#bridal_service_area h2{
		margin:0 auto 40px;
		padding:0 10px 15px;
		font-size:10px;
	}
	
	#bridal_service_area h2 img{
		height:16px;
		margin:0 auto 10px;
	}
	
	_:-ms-lang(x), #bridal_service_area h2 img{
		width:314px;
	}
	
	_:-ms-fullscreen, :root #bridal_service_area h2 img{
		width:314px;
	}
	
	#bridal_service_area article{
		width:100%;
		margin:0 0 25px;
		float:none;
	}
	
	#bridal_service_area article:nth-of-type(2n){
		margin:0 0 30px;
	}
	
	#bridal_service_area article .pic_area{
		width:40%;
	}
	
	#bridal_service_area article .text_area{
		width:60%;
	}
	
	#bridal_service_area article .text_area>div>div{
		width:84%;
	}
	
	#bridal_service_area article .text_area>div>div h3{
		margin:0 0 10px;
		font-size:15px;
	}
	
	#bridal_service_area article .text_area>div>div p{
		font-size:12px;
		line-height:1.8;
	}
}

@media only screen and (max-width:500px){
	#bridal_service_area article .pic_area{
		width:100%;
		float:none;
	}
	
	#bridal_service_area article .text_area{
		box-sizing:border-box;
		width:100%;
		height:auto;
		padding:0 5px 5px 5px;
		float:none;
	}
	
	#bridal_service_area article .text_area>div{
		padding:30px 30px 40px;
		border-top:none;
		border-left:1px solid #dfd5a1;
		background-image:url(../img/waku03.svg),url(../img/waku02.svg);
		background-size:60px 60px,60px 60px;
		background-position:left bottom,right bottom;
	}
	
	#bridal_service_area article .text_area>div>div{
		width:100%;
		position:static;
		transform:translate(0,0);
	}
	
	#bridal_service_area article .text_area>div>div h3{
		text-align:center;
	}
}


/*bottom_shop_detail*/
#bottom_shop_detail{
	padding:14% 30px 120px;
	background-color:#fff;
	background-image:url(../img/shop_bg.jpg);
	background-repeat:no-repeat;
	background-size:100% auto;
	background-position:center top;
}

#bottom_shop_detail>div>p{
	margin:0;
	padding:10% 0;
	background-image:url(../img/shop_copy_bg01.jpg),url(../img/shop_copy_bg02.jpg);
	background-repeat:no-repeat,no-repeat;
	background-size:25% auto,25% auto;
	background-position:left center,right center;
}

@media only screen and (max-width:660px){
	#bottom_shop_detail>div>p{
		padding:8% 0;
		background-image:none;
	}
}












