@charset "utf-8";


/*=============================================
	
	共通
	
==============================================*/
.box_common {
	padding: 2.4em 2.4em 0;
	position: relative;
}
.box_common:before {
	content: "";
	width: 100%;
	height: 92%;
	position: absolute;
	top: 0;
	right: 0;
	background: #FFF;
}
.box_common .text {
	font-size: 1.3em;
	text-align: left;
	margin: 0 0 1.6em;
	position: relative;
}
.box_common .btn_layout {
	width: 100%;
	position: relative;
}
@media print, screen and (max-width: 768px) {
}

@media print, screen and (min-width: 769px) {
	.box_common {
		margin: -30px auto 0;
		width: 85%;
		padding: 30px 5%;
	}
	.box_common:before {
		height: 75%;
	}
	.box_common .text {
		font-size: 15px;
		text-align: center;
		margin: 0 0 30px;
	}
}

/*=============================================
	
	メインビジュアル
	
==============================================*/
#mv {
	position: relative;
}
#mv #crossfade {
	padding-top: 180%;
}
#mv #crossfade li {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: auto;
}
#mv .lead {
	z-index: 500;
	position: absolute;
	left: 5%;
	top: 48%;
	transform: translateY(-50%);
	font-size: 1.8em;
	text-shadow:1px 1px 8px #000;
	color: #FFF;
	line-height: 1.8;
}

@media print, screen and (min-width: 769px) {
	#mv {
		position: relative;
		width: 100%;
	}
	#mv #crossfade {
		padding-top: 47%;
	}
	#mv #crossfade li {
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: auto;
	}

	#mv .lead {
		left: 30%;
		top: 48%;
		transform: translate(-50%,-50%);
		font-size: 24px;
	}

}
@media print, screen and (min-width: 1280px) {
	#mv .lead {
		font-size: 28px;
	}
}

/*=============================================
	
	上部 コンセプト
	
==============================================*/
.top_concept {
	position: relative;
	padding: 3em 0;
}
.top_concept:after {
	content: "";
	background-color: #F3F3F3;
	width: 70%;
	height: 50vh;
	position: absolute;
	top: 20%;
	right: 0;
	z-index: -1;
}
.top_concept .en_title {
	text-align: center;
	font-size: 3em;
	line-height: 1.4;
	margin-bottom: 0.8em;
}
.top_concept .pic01 {
	margin-bottom: 3em;
}
.top_concept .lead {
	font-size: 2em;
	margin: 0 auto;
	margin-bottom: 1em;
	line-height: 1.6;
}
.top_concept .body {
	
}
@media print, screen and (min-width: 769px) {
	.top_concept {
		padding: 50px 0 0;
	}
	.top_concept .container {
		min-height: 800px;
	}
	.top_concept:after {
		width: 420px;
		height: 420px;
		top: 40%;
		right: auto;
		left: 42%;
		transform:translateX(-50%);
	}
	.top_concept .en_title {
		text-align: center;
		font-size: 64px;
		margin-bottom: 50px;
	}
	.top_concept .pic01 {
		margin-bottom: 0;
		position: absolute;
		left: 75%;
		top: 120px;
		transform: translateX(-50%);
		width: 460px;
	}
	.top_concept .lead {
		font-size: 32px;
		margin: 0;
		position: absolute;
		left: 25%;
		top: 150px;
		transform: translateX(-50%);
		height: 500px;
		-ms-writing-mode: tb-rl;
		writing-mode: vertical-rl;
	}
	.top_concept .body {
		position: absolute;
		left: 25%;
		bottom: 180px;
		transform: translateX(-50%);
	}
}



/*=============================================
	
	共通 コンテンツ
	
==============================================*/
.index_common {
	position: relative;
	padding: 4.5em 0;
}
.index_common .title {
	font-size: 4em;
	line-height: 1;
	margin-bottom: 0.2em;
}
.index_common .sub_title {
	font-size: 1.3em;
	line-height: 1;
	margin-bottom: 2em;
}
.index_common .btn02 {
	width: 65%;
}

.index_common .lead {
	font-size: 1.6em;
	line-height: 1.8;
	margin: 0 auto;
	margin-bottom: 2em;
}
@media print, screen and (min-width: 769px) {
	.index_common {
		position: relative;
		padding: 80px 0;
	}
	.index_common .title {
		font-size: 70px;
		margin-bottom: 15px;
	}
	.index_common .sub_title {
		font-size: 20px;
		line-height: 1;
		margin-bottom: 30px;
	}
	.index_common .btn02 {
		width: 210px;
	}
	.index_common .column {
		display: flex;
		justify-content: space-between;
	}
	.index_common .lead {
		font-size: 22px;
		line-height: 2;
		margin-bottom: 40px;
	}
}


/*=============================================
	
	コンセプト
	
==============================================*/
.concept {
	
}
.concept .column {

}
.concept .pic01 {
	margin-bottom: 1em;
}
.concept .pic02 {
	display: flex;
	justify-content: space-between;
	margin-bottom: 3em;
}
.concept .pic02 > div {
	width: 48%;
}

@media print, screen and (min-width: 769px) {
	.concept {		
	}
	.concept .column {
	}
	.concept .pic01 {
		margin-bottom: 0;
		width: 426px;
	}
	.concept .pic02 {
		display: block;
		justify-content: inherit;
		margin-bottom: 0;
		width: 240px;
	}
	.concept .pic02 > div {
		width: 100%;
	}
	.concept .pic02 > div:first-of-type {
		margin-bottom: 18px;
	}
	.concept .text_btn {
		width: 250px;
		padding-top: 30px;
	}
}


/*=============================================
	
	挙式
	
==============================================*/
.ceremony {
	
}
.ceremony .column {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.ceremony .pic01 {
	width: 48%;
	margin-bottom: 2em;
}
.ceremony .pic02 {
	width: 48%;
	margin-bottom: 2em;
}
.ceremony .text_btn {
	width: 100%;
}

@media print, screen and (min-width: 769px) {
	.ceremony {		
	}
	.ceremony .column {
	}
	.ceremony .pic01 {
		margin-bottom: 0;
		width: 300px;
	}
	.ceremony .pic02 {
		margin-bottom: 0;
		width: 300px;
	}
	.ceremony .pic02 > div {
		width: 100%;
	}
	.ceremony .pic02 > div:first-of-type {
		margin-bottom: 18px;
	}
	.ceremony .text_btn {
		width: 330px;
		padding-top: 30px;
	}
	.ceremony .text_btn .lead {
		margin-bottom: 60px;
	}
}


/*=============================================
	
	パーティ会場
	
==============================================*/
.partyspace {
	
}
.partyspace .column {

}
.partyspace .pic01 {
	margin-bottom: 1em;
}
.partyspace .pic02 {
	display: flex;
	justify-content: space-between;
	margin-bottom: 3em;
}
.partyspace .pic02 > div {
	width: 48%;
}

@media print, screen and (min-width: 769px) {
	.partyspace {		
	}
	.partyspace .column {
	}
	.partyspace .pic01 {
		margin-bottom: 10px;
		width: 610px;
	}
	.partyspace .pic02 {
		display: flex;
		justify-content: space-between;
		margin-bottom: 0;
		width: 610px;
	}
	.partyspace .pic02 > div {
		width: 49%;
	}
	.partyspace .text_btn {
		width: 320px;
		padding-top: 30px;
	}
}


/*=============================================
	
	ガーデン・お料理
	
==============================================*/
.garden {
	
}
.garden .pic01 {
	margin-bottom: 2em;
}

.cuisine {
	
}
.cuisine .pic01 {
	margin-bottom: 2em;
}

@media print, screen and (min-width: 769px) {
	.column_concent .container {
		display: flex;
		justify-content: space-between;
	}
	.garden {
		width: 47%;
	}
	.garden .pic01 {
		margin-bottom: 30px;
	}
	.partyspace .text_btn {
	}

	.cuisine {		
		width: 47%;
	}
	.cuisine .pic01 {
		margin-bottom: 30px;
	}
	.cuisine .text_btn {
	}
}

/*=============================================
	
	ドレス
	
==============================================*/
.dress {
	
}
.dress .column {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.dress .pic01 {
	width: 48%;
	margin-bottom: 2em;
}
.dress .pic02 {
	width: 48%;
	margin-bottom: 2em;
}
.dress .text_btn {
	width: 100%;
}

@media print, screen and (min-width: 769px) {
	.dress {		
	}
	.dress .column {
	}
	.dress .pic01 {
		margin-bottom: 0;
		width: 300px;
	}
	.dress .pic02 {
		margin-bottom: 0;
		width: 300px;
	}
	.dress .text_btn {
		width: 330px;
		padding-top: 30px;
	}
	.dress .text_btn .lead {
		margin-bottom: 60px;
	}
}

/*=============================================
	
	ギャラリー
	
==============================================*/
.gallery {
	
}
.gallery .container {
	width: 100%;
}
.gallery .container > * {
	width: 90%;
	margin-left: auto;
	margin-right: auto;
}
.gallery div.loop {
	background:url(/kyoto/img/index/loop.jpg);
	background-repeat: repeat-x;
	background-size: cover;
	width: 100%;
	height: 0;
	padding-top: 370px;
	-moz-animation: loop 50s linear infinite;
	animation: loop 50s linear infinite;
	margin: 0 0 2em;
	position: relative;
	}

@keyframes loop {
 0% {background-position: 2000px 0;}
 25% {background-position: 1500px 0;}
 50% {background-position: 1000px 0;}
 75% {background-position: 500px 0;}
 100% {background-position: 0 0;}
}
 
@-moz-keyframes loop {
 0% {background-position: 2000px 0;}
 25% {background-position: 1500px 0;}
 50% {background-position: 1000px 0;}
 75% {background-position: 500px 0;}
 100% {background-position: 0 0;}
}
.gallery .text_btn {
	width: 90%;
}
.gallery .text_btn .lead {
	font-size: 1.2em;
}

@media print, screen and (min-width: 769px) {
	.gallery {		
	}
	.gallery .container > * {
		width: 960px;
	}
	.gallery div.loop {
		background:url(/kyoto/img/index/loop.jpg);
		background-repeat: repeat-x;
		background-size: cover;
		padding-top: 50vh;
		margin: 0 0 40px;
	}
	.gallery .text_btn {
		width: 960px;
	}
	.gallery .text_btn .lead {
		margin-bottom: 25px;
		font-size: 24px;
	}
	.gallery .text_btn .btn02 {
		margin-left: 0;
	}
}


/*=============================================
	
	ムービー
	
==============================================*/
.movie {
	
}
.movie .youtube {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}
.movie .youtube iframe{
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
 }
@media print, screen and (min-width: 769px) {
	.movie {		
	}
	.movie .youtube {
		width: 800px;
		padding-top: 450px;
	}

}




/*=============================================
	
	トピックス
	
==============================================*/
#topics_wrap {
	position: relative;
	padding: 3em 0;
}
#topics_wrap .swiper-button-prev, #topics_wrap .swiper-button-next {
	top: 34%;
	right: 5%;
}
#topics_wrap .swiper-button-prev {
	left: 5%;
}
@media print, screen and (max-width: 768px) {

}

@media print, screen and (min-width: 769px) {
	#topics_wrap .swiper-button-prev, #topics_wrap .swiper-button-next {
		top: 43%;
		right: 16%;
	}
	#topics_wrap .swiper-button-prev {
		left: 16%;
	}
}


/*=============================================
	
	ムービー
	
==============================================*/
	#movie_wrap {
		
	}
	#movie_wrap.bg_all:before {
		top: 40%;
		height: 60%;
	}
@media print, screen and (max-width: 768px) {

}

@media print, screen and (min-width: 769px) {
	#movie_wrap {
		padding: 60px 0 60px;
	}
	#movie_wrap .youtube {
		width: 720px;
		margin: 0 auto;
		padding-top: 42.25%;
	}
}


