@charset "utf-8";


/*--------------------------------------------------------------------------
  Content
---------------------------------------------------------------------------*/
.upper {
  text-transform: uppercase;
}

/* font
-----------------------------------------------------------------*/
.amiri {
  font-family: "Amiri", serif;
  font-weight: 400;
  font-style: normal;
}

.cormorant {
  font-family: "Cormorant", serif;
  font-style: normal;
  font-weight: 400;
}

/* 画像キャプション
-----------------------------------------------------------------*/
.photo {
  position: relative;
}
.p-caption,
.f-caption {
  position: absolute;
  right: 0;
  bottom: 0;
  font-size: 11px;
  letter-spacing: 0.05em;
  line-height: 1.2;
  text-align: right;
  padding: 5px 6px;
  z-index: 5;
}
.p-caption.w,
.f-caption.w {
  color: #fff;
  background: rgba(51 51 51 / .6);
}
.p-caption.l,
.f-caption.l {
  right: auto;
  left: 0;
  text-align: left;
}
.p-caption.t,
.f-caption.t {
  top: 0;
  bottom: auto;
}
.p-caption._static,
.f-caption._static {
  position: static;
  margin-top: 1em;
  padding: 0;
}
.p-caption.w._static,
.f-caption.w._static {
  background: transparent;
}
@media screen and (max-width: 768px) {
  .p-caption,
  .f-caption {
    font-size: 8px;
  }
  .p-caption.sp-t,
  .f-caption.sp-t {
    top: 0;
    bottom: auto;
  }
  .p-caption.sp-l,
  .f-caption.sp-l {
    left: 0;
    right: auto;
  }
}

/* 見出し
-----------------------------------------------------------------*/

/* .page-ttl */
.page-ttl{
	position: relative;
	padding: 80px 0 55px;
	background: linear-gradient(90deg, rgba(69,159,214,1) 0%, rgba(32,77,151,1) 40%);
	text-align: center;
	color: #fff;
}
.page-ttl::after{
	position: absolute;
	left: 0;
	bottom: 0;
	display: block;
	width: 100%;
	height: 8px;
	content: "";
	background: url(../../img/common/footer_border.png) no-repeat center top;
  background-size: 100vw 8px;
}
.page-ttl .ja{
	display: block;
	font-size: 4.6rem;
	letter-spacing: .1em;
	font-weight: normal;
}
.page-ttl .en{
	display: block;
	font-size: 2rem;
	letter-spacing: .08em;
	opacity: .5;
}

/* .ttl-sec */
.ttl-sec{
  line-height: 1;
  text-align: center;
}
.ttl-sec .en{
  display: block;
  margin-bottom: 15px;
  font-size: 1.2rem;
  letter-spacing: .08em;
  color: #23b48e;
}
.ttl-sec .ja{
  display: block;
   font-size: 2.8rem;
  font-weight: 500;
}
.ttl-sec .ja span{
  position: relative;
  display: inline-block;
  padding: 0 10px 18px;
}
.ttl-sec .ja span::after{
  position:absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 0;
  display: block;
  content: "";
  width: 110px;
  height: 3px;
  background: linear-gradient(60deg, rgba(255,255,255,0) 0%, rgba(98,132,190,1) 20%, rgba(98,132,190,1) 80%, rgba(255,255,255,1) 100%);
}


/* ボタン
-----------------------------------------------------------------*/
/* .btn-base */
.btn-base a{
  display: flex;
  justify-content: center;
  align-items: center;
	margin: 0 auto;
  max-width: 360px;
  width: 100%;
  height: 60px;
  background: #1f50a2;
  color: #fff;
  font-size: 1.6rem;
  transition: .5s;
}
.btn-base a:hover{
  opacity: .7;
}


/* .btn-req */
.btn-req a{
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 430px;
  width: 100%;
  height: 80px;
  background: url(../../img/common/ico_file.svg) no-repeat left 10% center #003264;
  background-size: 27px auto;
  color: #fff;
  font-size: 2.2rem;
  transition: .5s;
}
.btn-req a:hover{
  opacity: .7;
}

/* .btn-rsv */
.btn-rsv a{
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 430px;
  width: 100%;
  height: 80px;
  background: url(../../img/common/ico_calendar.svg) no-repeat left 10% center #911432;
  background-size: 27px auto;
  color: #fff;
  font-size: 2.2rem;
  transition: .5s;
}
.btn-rsv a:hover{
  opacity: .7;
}

/* .btn-tel */
.btn-tel a{
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 430px;
  width: 100%;
  height: 80px;
  background: url(../../img/common/ico_tel.svg) no-repeat left 10% center #ad9159;
  background-size: 27px auto;
  color: #fff;
  font-size: 2.2rem;
  transition: .5s;
}
.btn-rsv a:hover{
  opacity: .7;
}


/* .btn-google-map */
.btn-google-map a{
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 360px;
  width: 100%;
  height: 70px;
  background: url(../../img/common/ico_marker.svg) no-repeat left 10% center #1f50a2;
  background-size: 14px auto;
  color: #fff;
  font-size: 1.6rem;
  letter-spacing: .08em;
  transition: .5s;
}
.btn-google-map a:hover{
  opacity: .7;
}



/* page-notes
-----------------------------------------------------------------*/
.page-notes{
  padding: 40px 0;
  color: #666;
  font-size: 1.3rem;
  line-height: 1.5;
  font-family:"Noto Sans JP","ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","游ゴシック体", "Yu Gothic", YuGothic,"メイリオ",Meiryo ,"ＭＳ Ｐゴシック" ,"MS P Gothic" ,sans-serif;
}
.page-notes ul li:nth-child(n+2){
  margin-top: 3px;
}













/*--------------------------------------------------------------------------
   mobile
---------------------------------------------------------------------------*/
@media screen and (max-width: 768px) {

/* 見出し
-----------------------------------------------------------------*/
/* .page-ttl */
	.page-ttl{
		padding: 25px 0 22px;
	}
	.page-ttl::after{
		height: 6px;
		background-size: 100vw 6px;
	}
	.page-ttl .ja{
		font-size: 2.6rem;
		line-height: 1.6;
	}
	.page-ttl .en{
		font-size: 1.5rem;
	}

/* .ttl-sec */
  .ttl-sec .en{
    margin-bottom: 10px;
    font-size: 1rem;
  }
  .ttl-sec .ja{
     font-size: 2.2rem;
  }
  .ttl-sec .ja span{
    padding: 0 10px 15px;
  }
  .ttl-sec .ja span::after{
    height: 2px;
  }


/* ボタン
-----------------------------------------------------------------*/
/* .btn-base */
	.btn-base a{
		height: 55px;
		font-size: 1.4rem;
	}
	.btn-base a:hover{
		opacity: 1;
	}


/* .btn-req */
  .btn-req a{
    height: 60px;
    background-size: 20px auto;
    font-size: 2rem;
  }
  .btn-req a:hover{
    opacity: 1;
  }


/* .btn-google-map */
  .btn-google-map a:hover{
    opacity: 1;
  }



/* page-notes
-----------------------------------------------------------------*/
  .page-notes{
    font-size: 1.1rem;
  }




}

/* holiday
-----------------------------------------------------------------*/
.holiday {
	max-width: 880px;
	margin-top: 40px;
}
.holiday__txt {
  font-family: YakuHanMP, "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", YuMincho, serif;
	font-size: 16px;
	letter-spacing: 0.05em;
	line-height: 1.8;
	background-color: rgb(255 255 255 / .1);
  color: #fff;
	padding: 1em .5em;
	text-align: center;
}

@media screen and (max-width: 768px) {
  .holiday {
		margin-top: 20px;
    padding: 0;
	}
	.holiday__txt {
		font-size: 13px;
		padding: 1em;
	}
}