@charset "utf-8";
/* CSS Document */
/* ---------------------------
all
------------------------------ */
body {
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
  overflow-x: hidden;
}
article img {
  vertical-align: bottom;
	max-width: 100%;
}

article p {
  margin-bottom: 1em;
  line-height: 1.8;
  letter-spacing: .2rem;
}
article p.mb0 {
  margin-bottom: 0 !important;
}
article {
 font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.5;
  color: #333;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-feature-settings: "palt";
  /*fadein*/
  animation: fadeIn 2s ease 0s 1 normal;
  -webkit-animation: fadeIn 2s ease 0s 1 normal;
	background-color: #939BA3;
  /*text-align: justify;*/
}

article a:link, article a:hover, article a:focus {
	color: #FFFFFF;
}

section{
	max-width: 100%;
}
/*スクロールでフェードイン*/
.fadeIn {
  animation-fill-mode: both;
  animation-duration: 1s;
  animation-name: fadeIn;
  visibility: visible !important;
}
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.fadeIn {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn;
}
.animation {
  visibility: hidden;
}

.sp_only {
  display: none;
}

.pc_only {
	display: block;
}

@media  (max-width: 768px) {
	.sp_only {
  display: block!important;
		margin-top: 0;
}

.pc_only {
	display: none;
}
}

/* text 
--------------------*/

.text_wh{
	color: #FFF8E1!important;
}

.text_dk{
	color: #001933;
}
.sec-title{
	font-family: "m-plus-rounded-2m", sans-serif;
font-weight: 200;
font-style: normal;
  font-size: 3.2rem;
	font-size: clamp(1.8rem, 1.25rem + 2vw, 3.2rem);
  letter-spacing: .25rem;
	/*position: relative;*/
	width: 960px;
	margin: 50px auto 100px;
  color: #001933;
  /*text-align: center;*/
  vertical-align: middle;
  /*filter: drop-shadow(3px 3px 4px rgba(34, 23, 20, .2));*/
}

.sec-title::before{
	 content: '';
  width: 100%;
  height: 2px;
  display: inline-block;
  background-color: #FFF8E1;
  position: absolute;
  /*top: calc(50% - 2px);*/
	bottom: 10px;
  right: calc(100% + -4px);
}


@media (max-width: 768px) {
  .sec-title,
	#wrap_plan .sec-title{
    width: 230px!important;
		text-align: left;
  }
	.sec-title::before{
		height: 1px;
    right: calc(100% + -3px);
		width: 500px;
	}
}
/* box 
--------------------*/
.wrapper {
  width: 100%;
  max-width: 960px;
  margin: 15vh auto;
}
.wrapper.no_margin {
  margin: 0 auto;
}
.wrapper.no_width {
  max-width: 100%;
}
.text_area {
  max-width: 600px;
  margin: 50px auto;
  text-align: justify;
}
@media (max-width: 768px) {
  .wrapper {
    margin: 12vh auto;
   /* text-align: center;*/
  }
  .text_area {
    padding-left: 10px;
    padding-right: 10px;
  }
}


/* top
------------------------------- */
section#top {
  position: relative;
	max-height: calc(100vh - 65px);
	  overflow: hidden!important;
}

.swiper {
  /*height: 120vh;
	height: calc(100vh - 65px);*/
}
.swiper-slide {
  overflow: hidden;
}
.swiper-slide img {
  /*height: auto;*/
  width: 100%!important;
/*	height: calc(100vh - 165px);*/
}

@media screen and (max-width: 1200px) {
	.swiper {
  height: auto;
}
}

/*@media screen and (max-width: 990px) {
	.swiper {
  height: 95vh;
}
}

@media screen and (max-width: 800px) {
	.swiper {
  height: 85vh;
}
}*/

@media screen and (max-width: 768px) {
	section#top{
		/*padding-block-start: 50px;*/
		height: auto;
	}
	/*.swiper {
  height: 100vh;
}*/
}

/*@media screen and (max-width: 640px) {
	.swiper {
  height: 90vh;
}
}

@media screen and (max-width: 430px) {
	.swiper {
  height: 75vh;
}
}*/

/* title
--------------------*/

.title {
  	display: inline-block;
  position: absolute;
  bottom: 8%;
  left: 3%;
	z-index: 3;
}

.title img.sp_only{
	width: 180px;
}

@media (max-width: 768px) {
   .title {
  bottom: 8%;
  left: inherit;
	right: 3%;
	   transform: none!important;
	   max-width: 230px;
}
}

/* 共通設定
___________________*/
#wrap_camera, #wrap_details {
  position: relative;
  padding-left: 35px;
}
@media (max-width: 768px) {
#wrap_camera, #wrap_details {
    padding-left: 0;
  }
}

/*----------- #intro --------------*/

#intro h2{
	font-weight: 400;
	text-align: center;
	margin: 150px auto;
	letter-spacing: 0.15em;
	font-size: clamp(1.75rem, 1.386rem + 1.75vw, 2.75rem);
	line-height: 1.8;
	width: 96%;
}

#intro div{
	width: 100%;
	margin: 150px auto 0;
}
#intro .img01 {
	max-width: 66%;
}

#intro div .int_txt01{
	margin: auto;
	max-width: 66%;
}

#intro .img02 {
	max-width: 80%;	
margin-left: auto;
}

#intro .img03,
#intro div .int_txt02{
	max-width: 45%;
	margin-top: 10vh;
	margin-left: 10vw;
}

#intro div .int_txt02{
	max-width: 80%;
	max-width: 800px;
}

#intro .img04,
#intro div .int_txt04 {
	max-width: 70%;
	margin-left: auto;
	margin-right: 3vw;
}

#intro .img01 img,#intro .img02 img,#intro .img03 img{ 
	width: 100%;
}
#intro div .txt{
	/*max-width: 850px;
	margin: 150px auto 200px;*/
	font-size: 1.8rem;
	margin-top: 120px;
	margin-bottom: 200px;
}


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

	#intro .img01,#intro .img02 {
		max-width: 90%;
	}
	#intro div{
		margin: 100px auto 0;
	}
	#intro div .txt{
		width: 96%;
		margin: 100px auto;
	}
	
	#intro div .int_txt01,
	#intro div .int_txt02,
	#intro div .int_txt04{
		max-width: 90%;
	}
}


@media (max-width: 640px) {

	.intro_text p{
				line-height: 2.35;
		height: auto;
		padding-bottom: 100px;
	}
}

.bgwrap01{
	width: 100%;
	background: rgb(0, 65, 106);
background: linear-gradient(180deg, rgba(0, 65, 106,1) 0%, rgba(0, 33, 53,1) 100%);
	padding-top: 5px;
	padding-bottom: 5px;
	margin-top: -5px;
}


/* plan
--------------------*/
#wrap_plan {
	background-color: #939BA3;
}

#wrap_plan .wrapper {
	width: 96%;
	max-width: 1080px;
	margin: auto;
}

#wrap_plan .sec-title{
	width: 600px;
}


/* photos
--------------------*/
#wrap_photos{
	padding-top: 50px;
	margin-top: 0;
	padding-bottom: 100px;
	background-color: #001933;
}

/* モーダルウィンドウ */
#photo_list {
  display: -webkit-box;
  display: -ms-box-thumbnail;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 15px;
  width: 98%;
  margin-left: auto;
  margin-right: auto;
  max-width: 960px;
  
}
#photo_list .item {
  width: 15.3%;
  box-sizing: border-box;
}

.fancybox-skin{
	background: #EFE7DF!important;
	padding: 10px!important;
}

@media screen and (max-width:768px) {
	#wrap_photos p {
    padding-left: 10px;
    padding-right: 10px;
  }
  #photo_list {
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    gap: 10px 10px;
  }
  #photo_list .item {
    width: 100px;
  }
}


#wrap_owner{
	background: url("../img/owner_bg.jpg");
	background-position: top center;
	background-repeat: no-repeat;
	background-size: cover;
	padding-top: 200px;
	padding-bottom: 150px;
	margin-top: -5px;
}

#wrap_owner .owner_msg{
	width: 92%;
	max-width: 850px;
	margin: 0 auto;
	padding: 20px 20px 100px;
	background: rgba(112, 112, 112,0.5);
	color: #FFFFFF;
}

#wrap_owner .owner_msg p{
	padding-left: 80px;
	padding-right: 80px;
}

#wrap_owner h2{
	width: 100%;
	text-align: end;
	margin-bottom: 120px;
	font-family: "fot-udkakugoc60-pro", sans-serif;
font-weight: 300;
font-style: normal;
	letter-spacing: 0.15em;
	position: relative;
	font-size: 1.8em;
}

#wrap_owner h2::before{
	content: 'Owner’s Message';
  width: 100%;
  display: inline-block;
  color: #FFFFFF;
	opacity: 40%;
  position: absolute;
	font-size: 2.75em;
	font-size: clamp(3rem, 1.727rem + 6.36vw, 6.5rem);
	letter-spacing: 0.05em;
  /*top: calc(50% - 2px);*/
	bottom: 48%;
  left: -10%;
	text-align: left;
	font-family: "a-otf-ud-shin-go-pr6n", sans-serif;
font-weight: 200;
font-style: normal;
}

#wrap_ownerp{
	background-color: #001933;
	padding-top: 30px;
	padding-bottom: 100px;
}

#wrap_ownerp h2{
	font-family: "a-otf-ud-shin-go-pr6n", sans-serif;
font-weight: 200;
	text-align: center;
	color: #FFF8E1;
	margin-bottom: 30px;
	font-size: 1.6em;
	font-style: italic;
	letter-spacing: 0.05em;
}

.point_slide{
	padding-bottom: 30px;
}

.point_slideListItem{
	padding-right: 10px;
	width: 20vw;
}

.point_slide .slick-slide{
	margin: 0;
	opacity: 1;
}

.slick-slide img {
    width: 100% !important;
}

@media screen and (max-width:1020px) {
	#wrap_owner h2::before{
		left: 0;
	}
}

@media screen and (max-width: 768px){
	#wrap_owner h2::before{
		font-size: 3.15rem;
		bottom: 100%;
	}
	#wrap_owner .owner_msg p{
		padding-left: 0;
    padding-right: 0;
	}
	
	#wrap_ownerp{
		padding-bottom: 50px;
	}

	.point_slideListItem{
		padding-right: 10px;
		width: 20vw;
	}

	.point_slide .slick-slide{
		margin: 0;
		opacity: 1;
	}

	.slick-slide img {
		width: 100% !important;
	}
	
}


/* areamap
--------------------*/
#wrap_areamap {
 /* position: relative;
	background: rgba(255,255,255,0.8);*/
	background: #FFFCF0;
	padding-bottom: 80px;
	padding-top: 100px;
}

#wrap_areamap .sec-title::before{
	background-color: #001933;
}

#wrap_areamap .wrapper{
	width: 96%;
	margin: auto;
}

.swiper-container h3 {
  color: #fff;
  text-align: center;
  font-family: 'Josefin Sans', 'sans-serif';
  text-transform: uppercase;
  margin-top: 3rem;
  font-size: 3rem;
  letter-spacing: .3rem;
  font-weight: 500;
}
/* 全体のスタイル */
#wrap_areamap .swiper-container {
  width: 100%;
  margin-top: 60px!important;
  margin-bottom: 30px;
}
#wrap_areamap .swiper-wrapper {
  width: 100%;
}
/* 全スライド共通スタイル */

 #wrap_areamap .swiper-slide {
	  display: flex;
    position: relative;
    flex-flow: row-reverse nowrap;
    justify-content: space-between;
    background-color: #000033;
	  min-height: 380px;
  }

#wrap_areamap .swiper-slide >*{
	width: 30%;
	flex: 1 1 auto;
}

#wrap_areamap .swiper-slide .planImg {
 /* width: 70%;
	flex-shrink:0;
	max-width: 550px;*/
	flex-grow: 2;
  margin-left: auto;
  margin-right: auto;
}
#wrap_areamap .swiper-slide .planTxt {
  /*width: 30%;*/
	flex-grow:1;
 /* font-size: 90%;*/
  margin-left: auto;
  margin-right: auto;
  margin-bottom: auto;
	padding: 1.5em;
}

#wrap_areamap .swiper-slide .planTxt p {
    /*color: #7C6347;*/
	line-height: 1.8;
  }
#wrap_areamap .swiper-slide .planTtl {
  /*color: #7C6347;*/
  /*font-family: 'Lato', sans-serif;*/
  line-height: 150%;
  display: block;
  font-weight: 500;
  font-size: 2.6rem;
	margin-bottom: 20px;
		text-align: left;
}

#wrap_areamap .swiper-slide .planTtl span {
  font-family: 'Noto Sans JP', 'sans-serif';
  /*color: #fff;*/
  display: block;
  font-size: 1.4rem;
	line-height: 1.5;
}
#wrap_areamap .swiper-pagination-bullet-active {
  background: #fff;
}

#wrap_areamap .slick-next, #wrap_areamap .slick-prev {
  display: block;
  border: 1px solid #00416A;
  border-radius: 50%;
  position: absolute;
  top: 55%;
  z-index: 99;
  cursor: pointer;
  text-align: center;
  transition: all 0.2s ease;
  width: 40px;
  height: 40px;
  padding-top: 7px;
  margin-top: -30px;
}
#wrap_areamap .slick-prev {
	 left: calc(50% - 35%);
    padding-left: 7px;
}
#wrap_areamap .slick-next {
	 right: calc(50% - 35%);
    padding-right: 7px;
}
#wrap_areamap .slick-next span, #wrap_areamap .slick-prev span {
  display: inline-block;	
	width: 12px;
    height: 12px;
    transition: all 0.5s ease;
	margin-top: 5px;
    margin-bottom: 0;
  border-right: 1px solid #00416A;
  border-top: 1px solid #00416A;

}
#wrap_areamap .slick-prev span {
  transform: rotate(-135deg);
}
#wrap_areamap .slick-next span {
  transform: rotate(45deg);
}
#wrap_areamap .slick-next:hover, #wrap_areamap .slick-prev:hover {
  background-color: #939BA3;
  border-color: #F0DED0;
}
#wrap_areamap .slick-next:hover span, #wrap_areamap .slick-prev:hover span {
  border-color: #F0DED0;
}

#wrap_areamap .swiper-pagination {
  color: #FFF8E1;
  font-weight: bold;
  font-family: 'Lato', sans-serif;
  margin-top: 3rem;
}

.slick-prev:before, .slick-next:before {
	display: none;
}

.suehirogari {
	width:100%;
	margin: 100px auto 80px;
	text-align: center;
}
.suehirogari p {
	margin-bottom: 20px;
	padding: 5rem auto 0;
	font-size: 1.6rem;
}

.suehirogari img{
	margin: 0 auto;
}

.suehirogari img:hover{
	opacity: 0.8;
}

@media (max-width: 1250px) {
	#wrap_areamap .swiper-slide{
		min-height: 330px;
	}
	#wrap_areamap .swiper-slide .planImg {
	flex-grow: 2;
}
#wrap_areamap .swiper-slide .planTxt {
	flex-grow: 3;
	}
}

@media (max-width: 950px) {

	#wrap_areamap .swiper-slide {
  width: 100%;
  display: flex;
  flex-direction: column;
	padding-bottom: 20px;
}
	
	#wrap_areamap .swiper-slide .planImg {
    width: 100%;
  }
  #wrap_areamap .swiper-slide .planTxt {
    width: 90%;
    padding: 0;
	  min-height: 230px;
  }
	#wrap_areamap .slick-next, #wrap_areamap .slick-prev {
    width: 30px;
    height: 30px;
    padding-top: 0;
    margin-top: -15px;
  }
	  #wrap_areamap .slick-prev {
     left: 5px;
  padding-left: 3px;
  }
  #wrap_areamap .slick-next {
      right: 5px;
  padding-right: 3px;
  }
	  #wrap_areamap .slick-next span, #wrap_areamap .slick-prev span {
      width: 8px;
  height: 8px;
      transition: all 0.5s ease;
  margin-bottom: 1px;
  }
	
	#wrap_areamap .swiper-pagination-fraction{
		bottom: 0;
	}
}

@media (max-width: 768px) {
	
	 #wrap_areamap .swiper-slide .planTxt {
	  min-height: 300px;
  }
}

@media (max-width: 410px) {
	 #wrap_areamap .swiper-slide .planTxt {
	  min-height: 350px;
  }
}

/* 360度カメラ 
--------------------*/
#wrap_camera {
	background: #677CA0;
	margin: 0 auto;
	padding-top: 100px;
	padding-bottom: 100px;
}

#wrap_camera .sec-title{
	width: 1080px;
}

#wrap_camera .camera_box {
	width: 96%;
  max-width: 1080px;
  margin-inline-start: auto;
  margin-inline-end: auto;
}

#wrap_camera .setsumei h3 {
  font-weight: normal;
}

/* #amenities
--------------------*/
#amenities,#wrap_details{
	background-color: #F5F5F5;
	padding-top: 100px;
	margin-bottom: 0;
	margin-top: 0;
	padding-bottom: 120px;
	max-width: 100%;
}

#amenityBox{
		width: 96%;
	max-width: 960px;
	margin: auto;
}

#amenities .sec-title::before{
	background-color: #001933;
	bottom: 15px;
	right: calc(100% + -2px);
}

#amenities th, #amenities td {
	font-size: inherit;
}

/* #details
--------------------*/
/*#wrap_details .sec-title::before{
	left: -15%;
}*/
#wrap_details{
	background-color: #939BA3;
	padding-top: 120px;
	padding-bottom: 120px;
}
#wakugaiyoL{
	max-width: 960px;
	margin: auto;
}
#wrap_details table {
  box-sizing: border-box;
  border-collapse: collapse;
  margin: 0 auto;
  /*width: 100%;*/
  font-size: 1.6rem;
    letter-spacing: .15rem;
    line-height: 1.8;
}
#wrap_details table th, #wrap_details table td {
  border-block-end: 1px solid #001933;
  padding-inline-start: 8px;
  margin-block-start: 5px;
  vertical-align: middle;
  font-style: normal;
  height: 2.8em;
  /*text-align: justify;*/
}
#wrap_details table th {
  width: 23%;
  font-weight: 600;
}
@media (max-width: 768px) {
	#amenityBox, #wakugaiyoL{
		max-width: 96%;
	}
  #wrap_details table {
    width: 100%;
  }
  #wrap_details table th, #wrap_details table td {
    display: block;
    width: 100%;
    height: auto;
    border-block-end: 0px;
    padding: 3px 10px;
  }
  #wrap_details table th {
    background-color: #bcc0c4;
	  font-weight: 600;
  }
	
	article #calendar .captionbox{
		width: 96%;
	}
}

/*@media (max-width: 480px) {
	#wrap_details .sec-title::before{
	left: 0;
}*/



/* #calendar
--------------------*/
article #calendar {
	width: 100%!important;
	max-width: none;
	/*background: #EFEAE9;*/
	padding-top: 100px;
	padding-bottom: 60px;
}

article #calendar .sec-title{
	margin-bottom: 60px!important;
}
article #datepicker{
	margin: 1em auto;
}


/* inquiry 
--------------------*/

#inquiry{
	background-color: #939BA3;
	width: 100%!important;
	max-width: 100%;
	margin: 0;
	padding-top: 100px;
}

#inquiry .sec-title{
	margin-bottom: 50px;
}
#inquiry.wrapper {
	margin-bottom: 0;
}

#inquiryBox{
	    width: 100%;
    max-width: 960px;
    margin: 15vh auto;
}

#inquiry .howTo{
	width: 96%;
}

/*＝＝＝＝＝システム導入で追加＝＝＝＝＝*/
#visitHowTo{
	/*display: inherit;*/
}
#visitHowTo ul{
	display: flex;
	flex-wrap: nowrap;
	max-width: inherit;
	align-items: center!important;
	justify-content: center;
	gap: 1em;
		margin-bottom: 1.5em;
}

#visitHowTo .formbutton{
	flex-basis: auto;
	gap: 1em;
	margin-bottom: 0;
}

.how_link{
	width: 100%;
	text-decoration: none;
	font-weight: 600;
	text-align: center;
	color: #FFFFFF;
	font-size: 1.35em;
	margin: auto;
	display: block;
}

@media (max-width: 768px) {
	#inquiryBox{
		margin: 5vh auto;
	}
	#visitHowTo ul{
		gap: 1em;
		flex-wrap: wrap;
}
	
	/*#visitHowTo .formbutton{
		flex-basis: 46%;
	}*/
}

/*@media (max-width: 420px) {

	#visitHowTo .formbutton{
		flex-basis: 100%;
	}
}*/

/*
#gmap
------------------------------ */
#gmap {
  width: 100%;
  margin: 0 auto 0;
}
/*
.pagetop
------------------------------ */

.pagetop {
  position: fixed;
  bottom: calc(4% + 60px) !important;
  right: 0;
  z-index: 97;
}

.cta_btn{
	background-color: #00416A;
}

#cta_floating.cta_btn, .cta_floating {
    transform: translateX(10.3rem);
}

/* Google Map グーグルマップ */
section#gmap {
	position: relative;
	width: 100%;
	height: 800px;
	margin: 0 auto;
	/*margin-block-end: 50px;*/
}
#gmap iframe {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}


/*
　汎用
------------------------------ */
.fadein {
  opacity: 0;
  transform: translate(0, 5%);
  transition: all 1500ms;
}
.fadein.scrollin {
  opacity: 1;
  transform: translate(0, 0);
}
.sp-only {
  display: none;
}
.pc-only {
  display: block;
}
@media (max-width: 640px) {
  .sp-only {
    display: block;
  }
  .pc-only {
    display: none;
  }
}
.fixed {
  position: fixed;
  top: 0;
  z-index: 10000;
}
.display_n {
  display: none;
}
.fixed .display_n {
  display: block;
}
/* clearfix */
.clearfix:after {
  clear: both;
  content: "";
  display: block;
}
.clearfix {
  *zoom: 1;
}
/* 画像レイアウト*/
.bxslider {
  margin: 0 auto;
  width: 100%;
  position: relative;
  z-index: 1;
}
.bx-wrapper {
  position: relative;
}
.bx-wrapper img {
  max-width: 100%;
  vertical-align: bottom;
}
.bx-viewport {
  max-width: 100%;
  max-height: 100%;
}
/* ページャー*/
.bx-pager {
  text-align: center;
  width: 100%;
  bottom: 0;
  position: absolute;
  z-index: 2;
}
.bx-pager-item, .bx-controls-auto-item {
  display: inline-block;
}
.bx-default-pager a {
  background: #281a14;
  text-indent: -9999px;
  display: block;
  width: 8px;
  height: 8px;
  margin: 0 5px;
  outline: 0;
  border-radius: 0px;
}
.bx-default-pager a:hover, .bx-default-pager a.active {
  background: #ececec;
}





/*＝＝＝＝＝システム導入で追加＝＝＝＝＝*/
#visitHowTo{
	display: inherit;
}
#visitHowTo ul{
	display: flex;
	flex-wrap: nowrap;
	max-width: inherit;
	align-items: center;
	justify-content: center;
	gap: 1em;
		margin-bottom: 1.5em;
}

#visitHowTo .formbutton{
	flex-basis: auto;
	gap: 1em;
	margin-bottom: 0;
}

#cta_floating.cta_btn, .cta_floating {
    transform: translateX(15rem);
}

.how_link{
	width: 100%;
	text-decoration: none;
	font-weight: 600;
	text-align: center;
	color: #333333;
	font-size: 1.3em;
	margin: auto;
	margin-top: 2em;
	display: block;
	letter-spacing: 0.05em;
}

@media (max-width: 768px) {
	#inquiryBox{
		margin: 5vh auto;
	}
	#visitHowTo ul{
		gap: 1em;
		flex-wrap: wrap;
}
	
	#visitHowTo .formbutton{
		flex-basis: 46%;
	}
}

@media (max-width: 420px) {

	#visitHowTo .formbutton{
		flex-basis: 100%;
	}
}