@charset "utf-8";
/* CSS Document */
@media all{
	
/* ファーストビュー */
	#firstimage{
		width: 100%;
		height: 56vw;
	}
	#firstimage .text{
		position: absolute;
		width: 100%;
		top: 28vw;
		left: 0;
		transform: translateY(-55%);
		-webkit-transform: translateY(-55%);
		-ms-transform: translateY(-55%);
		color: #fff;
		text-align: center;
		letter-spacing: .1em;
	}
	#firstimage .text h2{
		font-size: 1.8rem;
		margin-bottom: 1em;
	}
	#firstimage .text p{
		font-size: 3.6rem;
		line-height: 1.5;
	}
	#firstimage .fvimage{
		width: 100%;
		height: 100%;
	}
	#firstimage .fvimage li{
		width: 100%;
		height: 56vw;
		margin: 0;
	}
	#firstimage .fvimage li img{
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center;
	}
	#firstimage video {
		position: absolute;
		top: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
		z-index: -1;
	}
	
/* 説明 */
	#dscrptn{
		padding: 80px 30px;
		text-align: center;
	}
	#dscrptn .title{
		font-size: 1.5rem;
	}
	#dscrptn .title strong{
		display: block;
		font-size: 2rem;
		padding-top: 0.5em;
	}
	#dscrptn .price{
		font-size: 4rem;
		padding-bottom: 2rem;
	}
	#dscrptn .price span{
		font-size: 2.6rem;
	}
	#dscrptn .text{
		font-size: 1.3rem;
	}
	#dscrptn .text strong{
		display: inline-block;
		font-size: 2rem;
		padding: 0.5em 0;
	}

/* コンセプト */
	#concept{
		padding: 80px 0;
		background: url("/images/concept_bg_pc.jpg") no-repeat;
		background-size: cover;
		background-position: center;
		text-align: center;
	}
	#concept h3{
		width: 340px;
		margin: 0 auto 40px;
	}
	#concept .subtitle{
		font-size: 1.4rem;
		margin-bottom: 2em;
	}
	#concept .text{
		font-size: 1.2rem;
		line-height: 1.8;
		margin-bottom: 2em;
	}
	#concept .nextpage{
		background: #fff;
	}
	#concept .nextpage img{
		width: 35px;
		vertical-align: middle;
	}
	
/* ブライダルフェア */
	#fair{
		padding: 80px 0 120px;
		text-align: center;
	}
	#fair h3{
		width: 340px;
		margin: 0 auto 30px;
	}
	#fair .box{
		width: calc(100% - 60px);
		max-width: 550px;
		margin: 0 auto;
		padding: 40px 20px;
		border: solid 1px #000;
	}
	#fair .box .title{
		font-size: 1.7rem;
		margin-bottom: 1rem;
	}
	#fair .box .text{
		font-size: 1.2rem;
		margin-bottom: 1em;
	}
	#fair .subtitle{
		font-size: 1.7rem;
		text-align: center;
		margin-bottom: 20px;
	}
	#fair .benefits{
		width: calc(100% - 40px);
		max-width: 600px;
		margin: 0 auto 40px;
	}
	.bridalfair{
		width: calc(100% - 40px);
		max-width: 980px;
		margin: 0 auto;
	}
	.fairbox{
		width: calc(100% / 3 - 10px);
		margin: 0 5px 40px;
		padding: 10px;
		display: flex;
		flex-direction: column;
		border: solid 1px #aaa;
	}
	.fairbox .image{
		width: 100%;
	}
	.fairbox .text{
		width: 100%;
		padding: 10px 0 5px;
		text-align: center;
	}
	.fairbox .text .price{
		font-size: 1.5rem;
		margin-bottom: 10px;
	}
	.fairbox .text .title{
		width: 100%;
		font-size: 2.4rem;
		padding: 0.3em 0;
		border: solid #000;
		border-width: 1px 0 1px 0;
	}
	.fairbox .text .date{
		font-size: 2rem;
		padding: 10px 0 10px;
	}
	
	
	
/* フォトギャラリー */
	#gallery{
		padding: 120px 0;
		background: url("/images/gallery_pc.jpg") no-repeat;
		background-size: cover;
		background-position: center;
		text-align: center;
		margin-bottom: 160px;
	}
	#gallery h3{
		width: 340px;
		margin: 0 auto 15px;
	}
	#gallery .title{
		font-size: 1.2rem;
		margin-bottom: 1em;
		color: #fff;
	}
	#gallery .nextpage{
		background: #fff;
	}
	#gallery .nextpage img{
		width: 28px;
		vertical-align: middle;
	}

/* スペシャルコスチューム */
	#costumes{
		padding: 140px 0 140px 8%;
		background: url("/images/costumes_pc.jpg") no-repeat;
		background-size: cover;
		background-position: center;
	}
	#costumes h3{
		width: 340px;
		margin: 0 0 15px;
	}
	#costumes .text{
		font-size: 1.2rem;
		margin-bottom: 1em;
	}
	#costumes .nextpage{
		margin: 0 auto 0 0;
	}
	#costumes .nextpage img{
		width: 28px;
		vertical-align: middle;
	}
	
/* プラン */
	#plan{
		padding: 120px 0 200px;
	}
	#plan h3{
		width: 340px;
		margin: 0 auto 35px;
	}
	#plan ul{
		width: 100%;
		display: flex;
	}
	#plan ul li{
		width: 50%;
		text-align: center;
		padding: 160px 0;
	}
	#plan ul li:first-child{
		background: url("/images/location_pc.jpg") no-repeat;
		background-size: cover;
		background-position: center;
	}
	#plan ul li:last-child{
		background: url("/images/studio_pc.jpg") no-repeat;
		background-size: cover;
		background-position: center;
	}
	#plan ul li .title{
		font-size: 1.8rem;
		color: #fff;
		margin-bottom: 15px;
	}
	#plan ul li .title .image{
		width: 260px;
		margin: 0 auto 15px;
	}
	#plan ul li .nextpage{
		border: solid 1px #fff;
	}
	#plan ul li .nextpage img{
		width: 28px;
		vertical-align: middle;
	}
	
/* バンケット */
	#banquet{
		width: 100%;
		padding: 120px 0;
		background: url("/images/banquet_pc2.jpg") no-repeat;
		background-size: cover;
		background-position: center;
		text-align: center;
	}
	#banquet .box{
		width: calc(100% - 60px);
		max-width: 500px;
		padding: 60px 0;
		margin: 0 auto;
		background: rgba(0,0,0,.3);
	}
	#banquet .box h3{
		width: 340px;
		margin: 0 auto 35px;
	}
	#banquet .box .text{
		font-size: 1.4rem;
		line-height: 1.8;
		margin-bottom: 1em;
		color: #fff;
	}
	#banquet .box .nextpage{
		background: #fff;
	}
	#banquet .box .nextpage img{
		width: 28px;
		vertical-align: middle;
	}
	
/* お客さまのお声 */
	#voice{
		padding: 140px 0 80px;
	}
	#voice ul{
		width: calc(100% - 50px);
		max-width: 950px;
		margin: 0 auto;
		display: flex;
		flex-wrap: wrap;
	}
	#voice ul li{
		width: calc(50% - 40px);
		border: solid 1px #000;
		margin: 20px;
		text-align: center;
	}
	#voice ul li a{
		display: block;
		width: 100%;
		height: 100%;
		padding: 25px;
	}
	#voice ul li:first-child{
		width: 100%;
		padding: 80px;
		border: none;
		background: url("/images/voice_pc.jpg") no-repeat;
		background-size: cover;
		background-position: center;
	}
	#voice ul li .image{
		width: 200px;
		margin: 0 auto 5px;
	}
	#voice ul li:first-child .image{
		width: 340px;
	}
	#voice ul li p{
		font-size: 1.4rem;
	}
	#voice ul li:first-child p{
		color: #fff;
	}
	
/* NEWS & BLOG */
	#newsblog{
		padding: 100px 0;
		background: #f7f7f7;
	}
	#newsblog h3{
		width: 340px;
		margin: 0 auto 40px;
	}
	#newsblog dl {
		width: calc(100% - 40px);
		max-width: 800px;
		margin: 0 auto 40px;
		display: flex;
		flex-wrap: wrap;
		font-size: 1.2rem;
	}
	#newsblog dt {
		width: 8em;
		padding: 1.5em;
		box-sizing: border-box;
	}
	#newsblog dd {
		width: calc(100% - 8em);
		padding: 1.5em;
		box-sizing: border-box;
		position: relative;
	}
	#newsblog dd::after {
		content: "";
		position: absolute;
		bottom: 0;
		left: -8em;
		width: calc(100% + 8em);
		height: 1px;
		background: #000;
	}
	#newsblog .nextpage{
		background: #fff;
	}
	#newsblog .nextpage img{
		width: 44px;
		vertical-align: middle;
	}
	
/* SNS */
	#sns{
		padding: 100px 0 120px;
	}
	#sns .snsbox{
		width: calc(100% - 20px);
		max-width: 1000px;
		margin: 0 auto;
	}
	#sns .snsbox h3{
		width: 340px;
		margin: 0 auto 20px;
	}
	#sns .snsbox a.nextpage{
		margin-top: 10px;
	}
	
}

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

/* ファーストビュー */
	#firstimage{
	height: 100vh;
}
	#firstimage .fvimage img{
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	#firstimage .fvimage li{
		height: 100vh;
	}
	#firstimage .text{
		top: 50vh;
		transform: translateY(-50%);
		-webkit-transform: translateY(-50%);
		-ms-transform: translateY(-50%);
	}
	#firstimage .text h2{
		font-size: 1.2rem;
	}
	#firstimage .text p{
		font-size: 2rem;
	}
	
/* 説明 */
	#dscrptn{
		position: relative;
	}
	#dscrptn::after{
		position: absolute;
		content: "";
		width: calc(100% - 60px);
		height: calc(100% - 60px);
		top: 30px;
		left: 30px;
		border: solid 1px #777;
	}
	#dscrptn .title{
		font-size: 1.1rem;
	}
	#dscrptn .title strong{
		font-size: 1.6rem;
	}
	#dscrptn .price{
		font-size: 3.3rem;
	}
	#dscrptn .price span{
		font-size: 2.2rem;
	}
	#dscrptn .text{
		font-size: 1rem;
	}
	
/* コンセプト */
	#concept{
		padding: 80px 0;
		background: url("/images/concept_bg_sp.jpg") no-repeat;
		background-size: cover;
		background-position: center;
	}
	#concept h3{
		width: 100%;
		max-width:260px;
	}
	#concept .subtitle{
		font-size: 1.1rem;
	}
	#concept .text{
		font-size: 1.1rem;
		width: calc(100% - 70px);
		margin: 0 auto 2em;
		text-align: justify;
	}
	
/* ブライダルフェア */
	#fair{
		padding: 60px 0 80px;
	}
	#fair h3{
		width: 100%;
		max-width:260px;
		margin: 0 auto 20px;
	}
	#fair .subtitle{
		font-size: 1.1rem;
	}
	#fair .box .title{
		font-size: 1.6rem;
	}
	#fair .box .text{
		font-size: 1.1rem;
	}
	.bridalfair{
		width: 100%;
	}
	.fairbox{
		margin: 0 5px 20px;
	}
	.fairbox .text .title{
		font-size: 1.4rem;
	}
	.fairbox .text .price{
		font-size: 1rem;
	}
	.fairbox .text .date{
		font-size: 1.1rem;
	}	
	
/* フォトギャラリー */
	#gallery{
		padding: 80px 0;
		background: url("/images/gallery_sp.jpg") no-repeat;
		background-size: cover;
		background-position: center;
		margin-bottom: 30px;
	}
	#gallery h3{
		width: 100%;
		max-width:260px;
		margin: 0 auto 5px;
	}
	#gallery .title{
		font-size: 1.1rem;
		margin-bottom: 2em;
	}
	
/* スペシャルコスチューム */
	#costumes{
		padding: 0;
		background: url("/images/costumes_sp.jpg") no-repeat;
		background-position: center left 70%;
	}
	
	#costumes .box{
		width: 100%;
		padding: 30px 20px;
		background: linear-gradient(to right,rgba(255,255,255,1) 15%,rgba(255,255,255,0) 80%);
	}
	
	#costumes h3{
		width: 160px;
	}
	
	#costumes .text{
		font-size: 1rem;
		margin-bottom: 1em;
	}
	
/* プラン */
	#plan{
		padding: 40px 0 30px;
	}
	#plan h3{
		width: 100%;
		max-width:260px;
		margin: 0 auto 15px;
	}
	#plan ul li{
		padding: 80px 0;
	}
	#plan ul li:first-child{
		background: url("/images/location_sp.jpg") no-repeat;
		background-size: cover;
		background-position: center;
	}
	#plan ul li:last-child{
		background: url("/images/studio_sp.jpg") no-repeat;
		background-size: cover;
		background-position: center;
	}
	#plan ul li .title{
		font-size: 1.1rem;
	}
	#plan ul li .title .image{
		width: 130px;
	}
	
	/* バンケット */
	#banquet{
		padding: 30px 0;
		background: url("/images/banquet_sp2.jpg") no-repeat;
		background-size: cover;
		background-position: center right;
	}
	#banquet .box{
		padding: 30px 0;
	}
	#banquet .box h3{
		width: 100%;
		max-width:260px;
		margin: 0 auto 15px;
	}
	#banquet .box .text{
		font-size: 1.1rem;
	}
	

	
/* お客さまのお声 */
	#voice{
		padding: 30px 0 60px 0;
	}
	
		#voice ul li{
		width: calc(50% - 10px);
		border: solid 1px #000;
		margin: 5px;
		text-align: center;
	}

	#voice ul li a{
		padding: 10px 5px;
	}
	#voice ul li:first-child{
		width: 100%;
		padding: 20px 0;
		border: none;
		background: url("/images/voice_pc.jpg") no-repeat;
		background-size: cover;
		background-position: center;
	}
	#voice ul li .image{
		width: 100%;
		max-width: 100px;
		margin: 0 auto;
	}
	#voice ul li:first-child .image{
		width: 100%;
		max-width:260px;
	}
	#voice ul li p{
		font-size: 1.1rem;
	}
	
/* NEWS & BLOG */
	#newsblog{
		padding: 60px 0;
	}
	#newsblog h3{
		width: 100%;
		max-width:260px;
		margin: 0 auto 15px;
	}
	#newsblog dl {
		font-size: 1rem;
	}
	
/* SNS */
	#sns{
		padding: 60px 0 80px;
	}
	#sns .snsbox h3{
		width: 100%;
		max-width:260px;
		margin: 0 auto 15px;
	}
	#sns .snsbox a.nextpage{
		margin-top: 20px;
	}
	
}

@media screen and (min-width: 568px) and (max-width: 1024px){

}

@media screen and (min-width: 1025px), print{

	
}
