@charset 'UTF-8';
/*----------------------------------------------------
  basic
----------------------------------------------------*/

body {
	font-family: 游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}

@media (min-width: 960px) {
	.pc_none{
		display: none;
	}
}

@media only screen and (max-width: 640px) {
	.sp_none{
		display: none;
	}
}

h2{
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	line-height: 1.8;
}

p{
	line-height: 1.8;
	margin-bottom: 0;
	letter-spacing: .1rem;
}

a:hover{
	text-decoration: none;
}

.mb-5{
	margin-bottom: 3rem;
}

/*----------------------------------------------------
  contents
----------------------------------------------------*/

.sec-opn{
	position: relative;
	width: 100%;
	height: 100vh;
	padding: 7vw;
}

.logo-re{
	position: relative;
}

.logo{
	position: absolute;
	top: -7%;
	left: -4%;
	width: 22%;
	padding-top: 10.88%;
	background: url(../img/logo.svg) no-repeat center;
	background-size: contain;
	z-index: 1;
}

.wedding-img{
	position: relative;
	width: 100%;
	height: 80vh;
	height: calc(100vh - 14vw);
	/*padding-top: 101.6%;*/
	background: url(../img/wedding-img.jpg) no-repeat center;
	background-size: cover;
}

.special-img{
	position: relative;
	width: 100%;
	height: 80vh;
	height: calc(100vh - 14vw);
	/*padding-top: 101.6%;*/
	background: url(../img/special-img.jpg) no-repeat center;
	background-size: cover;
}

.contents-box{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	-webkit- transform: translateY(-50%) translateX(-50%);
	width: 55%;
}

.txt-box{
	padding: 30px;
	min-height: 215px;
	background: rgba(255, 255, 255, .4);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
}

.wedding-txt{
	width: 100%;
	padding-top: 30.66%;
	background: url(../img/wedding-txt.svg) no-repeat center;
	background-size: contain;
}

.special-txt{
	width: 100%;
	padding-top: 27.33%;
	background: url(../img/special-txt.svg) no-repeat center;
	background-size: contain;
}

.txt{
	font-size: 14px;
	text-align: center;
	color: #231815;
}

.txt:hover{
	color: #231815;
}

.viewmore-box{
	position: relative;
	width: 100%;
	padding: 7px 20px;
	margin-top: -1px;
}

.viewmore-txt{
	color: #FFF;
	width: 100%;
	text-align: center;
}

.bg01{
	background: #aad21e;
}

.bg02{
	background: #7d6d2b;
}

.arrow-box{
	position: absolute;
	right: 7%;
	width: 12%;
	transition: .3s;
}

.contents-box:hover .arrow-box{
	right: 5%;
}

.arrow{
	width: 100%;
	padding-top: 27.59%;
	background: url(../img/arrow.svg) no-repeat center;
	background-size: contain;
}

.under-txt{
	position: absolute;
	bottom: 5%;
	left: 50%;
	transform: translateY(5%) translateX(-50%);
	-webkit- transform: translateY(5%) translateX(-50%);
	font-size: 12px;
}

@media(min-width: 768px){
  a[href^="tel:"]{
    pointer-events: none;
  }
}

@media(min-width: 1600px){

	.sec-opn{
		padding: 4vw;
	}
	.wedding-img{
		height: calc(100vh - 8vw);
	}

	.special-img{
		height: calc(100vh - 8vw);
	}

	.under-txt{
		position: absolute;
		bottom: 3%;
		left: 50%;
		transform: translateY(3%) translateX(-50%);
		-webkit- transform: translateY(3%) translateX(-50%);
	}

}


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

	.logo{
		top: -2%;
	}

}

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

	.sec-opn{
		padding: 50px;
	}

	.contents-box{
		width: 75%;
	}

	.under-txt{
		position: absolute;
		bottom: 2%;
		left: 50%;
		transform: translateY(2%) translateX(-50%);
		-webkit- transform: translateY(2%) translateX(-50%);
		width: 80%;
		text-align: center;
		font-size: 12px;
	}

}

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

	.sec-opn{
		height: 100%;
		padding: 50px 20px 80px;
	}

	.logo{
		top: -4%;
		width: 45%;
		padding-top: 20.88%;
	}

	.wedding-img{
		height: 60vh;
	}

	.special-img{
		height: 60vh;
	}

	.txt-box{
		min-height: 0px;
	}

	.under-txt{
		position: absolute;
		bottom: 3%;
		left: 50%;
		transform: translateY(3%) translateX(-50%);
		-webkit- transform: translateY(3%) translateX(-50%);
	}

}

/*----------------------------------------------------
  coming soon
----------------------------------------------------*/

.coming-soon{
	position: absolute;
	top: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, .8);
	z-index: 1;
}

.coming-txt{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	-webkit- transform: translateY(-50%) translateX(-50%);
	font-size: 1.6rem;
	color: #FFF;
	text-align: center;
}


/* -----------------------------------------------------------
  404
----------------------------------------------------------- */
/* -----------------------------------------------------------
  sec-opn
----------------------------------------------------------- */
.sec-opn_bg {
  position: relative;
  padding: 14vw 7vw;
  background: #444;
  background-size: cover;
}

/*.overlay{
  mix-blend-mode: multiply;
  position: absolute !important;
  top: 0 !important;
  left: 0% !important;
  width: 100% !important;
  height: 100% !important;
  opacity: 0.5 !important;
  display: block !important;
  z-index: 0 !important;
background: #2ea7e0;
background: -moz-linear-gradient(left,  #2ea7e0 0%, #0d618f 100%);
background: -webkit-linear-gradient(left,  #2ea7e0 0%,#0d618f 100%);
background: linear-gradient(to right,  #2ea7e0 0%,#0d618f 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#2ea7e0', endColorstr='#0d618f',GradientType=1 );
}*/
@media (min-width: 769px) {
  .sec-opn_bg {
    padding: 9vw 5vw;
  }
}
.opening {
  padding-top: 10vw;
}
@media screen and (max-width: 768px) {
  .opening {
    padding: 25vw 0 10vw 0;
  }
}
.opening .opening-ttl {
  position: relative;
  margin-bottom: 8vw;
}
.opening .opening-ttl::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: #C8C8C8;
}
.opening .opening-ttl__en {
  font-family: "Cormorant Unicase", serif;
  font-weight: 500;
  font-size: 110px;
  line-height: 1;
  padding: 0 7vw;
  color: #C8C8C8;
}
@media (min-width: 769px) and (max-width: 1499px) {
  .opening .opening-ttl__en {
    font-size: 120px;
    font-size: 8vw !important;
  }
}
@media screen and (max-width: 768px) {
  .opening .opening-ttl__en {
    font-size: 50px;
  }
}
.opening .opening-ttl__ja {
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  font-size: 21px;
  letter-spacing: 0.05em;
  padding: 0 7vw;
}
@media screen and (max-width: 768px) {
  .opening .opening-ttl__ja {
    font-size: 14px;
  }
}
.opening .opening-img {
  width: 86%;
  max-width: 1920px;
}
@media screen and (max-width: 768px) {
  .opening .opening-img {
    width: 93%;
  }
}
.opening .opening-img img {
  width: 100%;
}
.opening .subnav {
  right: 4%;
}

/* -----------------------------------------------------------
  info
----------------------------------------------------------- */
.info {
  position: relative;
  padding-bottom: 120px;
}
@media screen and (max-width: 768px) {
  .info {
    padding: 60px 0;
  }
}
.info__inner {
  padding: 0 7vw;
}
@media screen and (max-width: 768px) {
  .info__inner {
    padding: 0 20px;
  }
}
.info__container {
  max-width: 760px;
  margin: 0 auto;
}
.info .info-txt {
  margin-bottom: 50px;
}
@media screen and (max-width: 768px) {
  .info .info-txt {
    margin-bottom: 30px;
  }
}
.info .info-txt__ttl {
  font-size: 40px;
  line-height: 1.3;
  text-align: center;
  margin-bottom: 30px;
}
.info .info-txt__ttl span {
  font-size: 18px;
  font-style: italic;
}
@media screen and (max-width: 768px) {
  .info .info-txt__ttl {
    font-size: 22px;
    margin-bottom: 15px;
  }
}
@media screen and (max-width: 768px) {
  .info .info-txt__cap {
    text-align: left;
    text-align: justify;
  }
  .info .info-txt__cap br {
    display: none;
  }
}
.info .info-tel {
  width: 100%;
  color: #FFF;
  padding: 2vw 4vw;
  margin-bottom: 50px;
}
@media screen and (max-width: 768px) {
  .info .info-tel {
    padding: 20px;
    margin-bottom: 30px;
  }
}
.info .info-tel__txt {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 15px;
}
.info .info-tel__txt .txt-icon {
  position: relative;
  width: 25px;
  margin-right: 10px;
}
@media screen and (max-width: 768px) {
  .info .info-tel__txt .txt-icon {
    width: 25px;
  }
}
.info .info-tel__txt .txt-ttl {
  line-height: 1.6;
}
@media (min-width: 769px) {
  .info .info-tel__txt .txt-ttl br {
    display: none;
  }
}
.info .info-tel__link {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.info .info-tel__link span {
  font-size: 16px;
  margin-right: 10px;
}
@media screen and (max-width: 768px) {
  .info .info-tel__link span {
    font-size: 14px;
  }
}
.info .info-tel__link p {
  font-size: 40px;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .info .info-tel__link p {
    font-size: 25px;
  }
}
.info .post-btn {
  display: block;
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #1A1A1A;
}
@media screen and (max-width: 768px) {
  .info .post-btn {
    padding: 5vw 3vw;
  }
}
.info .post-btn:hover .btn01__inner .btn01-circle svg circle {
  -webkit-animation: circle 1.2s forwards cubic-bezier(0.65, 0.05, 0.1, 1);
          animation: circle 1.2s forwards cubic-bezier(0.65, 0.05, 0.1, 1);
}
.info .post-btn:hover .btn01__inner .btn01-circle .arrow::before {
  -webkit-animation: arrow-to-right 0.7s forwards cubic-bezier(0.65, 0.05, 0.1, 1);
          animation: arrow-to-right 0.7s forwards cubic-bezier(0.65, 0.05, 0.1, 1);
}
.info .post-btn .btn-txt {
  display: inline-block;
  font-size: 18px;
  margin-right: 1em;
}
.info .post-btn .btn01__inner .btn01-circle {
  width: 50px;
  height: 50px;
}
@media screen and (max-width: 768px) {
  .info .post-btn .btn01__inner .btn01-circle {
    width: 30px;
    height: 30px;
  }
}/*# sourceMappingURL=404.css.map */
