@charset "utf-8";
/* CSS Document */
/* ==================================
   top
================================== */
#top {
  width: 100%;
  height: 100vh;
  min-height: 700px; /*好みの高さに設定*/
  position: relative;
}
#top .top_slider {
  width: 100%;
  overflow: hidden;
}
.slick-img img {
  height: 100vh;
  margin: auto;
  max-height: 100%;
  min-height: 700px;
  max-width: 100%;
  object-fit: cover;
  width: 100%;
}
@keyframes fadezoom {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.1);
  }
}
.add-animation {
  animation: fadezoom 8s 0s forwards;
}
#top .title {
  position: absolute;
  max-width: 490px;
  color: #fff;
  top: 30%;
  right: min(8vw, 15vw);
  filter: drop-shadow(3px 3px 4px rgba(0, 0, 0, .5));
}
#top h2 span {
  display: block;
  font-size: clamp(1.7rem, -0.584rem + 4.97vw, 2.2rem);
  letter-spacing: 0.1em;
  font-weight: bold;
}
#top h1 {
  margin-top: 30px;
}
#top .top_eventbx {
  position: absolute;
  background-color: #fff;
  max-width: 40%;
  min-width: 600px;
  width: 100%;
  border-top-right-radius: 30px;
  padding: 30px 40px 40px;
  bottom: 0;
  left: 0;
}
.top_eventbx h3 {
  font-size: 2.5rem;
  font-weight: bold;
  color: var(--main-color);
}
.top_eventbx .event_date {
  color: var(--main-color);
  font-size: 1.8rem;
  font-weight: 600;
}
.top_eventbx .event_date {
  font-size: 1.8rem;
}
/* ▼sp */
@media (max-width: 767px) {
  #top {
    height: 100svh;
    margin-bottom: 50px;
  }
  #top .title {
    width: 70%;
    text-align: center;
    top: 30%;
    right: inherit;
    left: 50%;
    transform: translateX(-50%);
  }
  #top .top_eventbx {
    max-width: 90%;
    min-width: inherit;
    width: 100%;
    border-radius: 30px;
    padding: 20px 30px 30px;
    bottom: 5%;
    left: 50%;
    transform: translateX(-50%);
  }
}


/* ==================================
   concept
================================== */
#concept {
  width: 100%;
  height: 945px;
  background-image: url("../../common/img/concept_background.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
#concept h2 {
  padding-top: 230px;
  margin-bottom: 30px;
}
#concept .sub-title span {
  text-transform: lowercase;
}
#concept h3 {
  font-size: 2rem;
  letter-spacing: 0.1em;
  margin-bottom: 30px;
  color: var(--main-color);
}
#concept p {
  font-size: 1.7rem;
  line-height: 2.5;
  margin-top: 1.4rem;
}
/* ▼sp */
@media (max-width: 767px) {
  #concept {
    background: url("../../common/img/concept_background_sptop.svg") top center no-repeat, url("../../common/img/concept_background_spbottom.svg") bottom center no-repeat;
    height: auto;
  }
  #concept h2 {
    padding-top: 25vw;
  }
  #concept .w600 {
    width: 85%;
    padding-bottom: 50px;
  }
  #concept p {
    line-height: 2;
  }
  #concept .w600 > div.text_c, #concept h3 {
    text-align: justify;
  }
}
@media (max-width: 767px) {
  #concept {
    background: none;
    height: auto;
  }
  #concept h2 {
    padding-top: 30px;
  }
  #concept .box-line {
    position: relative;
    border: .3vw solid var(--main-color);
    border-top: none;
    padding: 4vw;
    width: 97vw;
    margin: 0 auto;
    background-color: #fff;
  }
  #concept .cct_bg {
    width: 97vw;
    margin: 0 auto;
  }
  #concept .w600 {
    width: 100%;
  }
  #concept p {
    line-height: 2;
  }
  #concept .w600 > div.text_c, #concept h3 {
    text-align: justify;
  }
}
/* ==================================
   floor plan
================================== */
#floor-plan .flex-row {
  gap: 50px;
}
#floor-plan .fl_plan_img {
  width: 55%;
}
#floor-plan .fl_plan_txtbox {
  width: calc(45% - 50px);
}
#floor-plan .fl_plan_txtbox p {
  margin-bottom: 30px;
}
#floor-plan .fl_plan_txtbox .font-en {
  display: inline-block;
  color: var(--main-color);
  font-size: 2rem;
  font-weight: 600;
  margin-right: 3%;
}
#floor-plan .cmn-btn {
  margin: 25px 0 25px auto;
}
/* ▼sp */
@media (max-width: 767px) {
  #floor-plan .fl_plan_img, #floor-plan .fl_plan_txtbox {
    width: 100%;
  }
  #floor-plan .cmn-btn {
    margin: 0 auto 25px;
  }
}

/* ==================================
   fullHouse
================================== */
#fullHouse {
  border-radius: 30px;
  padding: 60px 80px 60px;
  position: relative;
  width: 90%;
}

#fullHouse .sub-title {
  margin-bottom: 10px;
}

#fullHouse .flex-row{
	justify-content: space-around;
}

#fullHouse .cmn-btn {
  margin: 50px auto 0;
}
#fullHouse .fullHouse_mainImg {
  width: 40%;
}
#fullHouse .fullHouse_mainImg img {
  border-radius: 30px;
  height: 100%;
  object-fit: cover;
}
#fullHouse p {
  width: calc(50% - 30px);
}

.fullHouse_subtitle{
	text-align: center;
	font-size: 24px;
	margin-bottom: 40px;
	color: #C59E7E;
}

.fullHouse_pict01 img{
	width: 20%;
	border-radius: 50%;
	border: 2px solid #C59E7E;
	position: absolute;
	right: 4%;
	top: -6%;
}

.fullHouse_pict02 img{
	width: 25%;
	position: absolute;
	top: 76%;
	left: -8%;
	transform: rotate(-6deg);
	border-radius: 30px;
}

.fullHouse_time{
	margin-top: 20px;
	display: inline-block;
}

/* ▼sp */
@media screen and (max-width: 767px) {
  #fullHouse {
    padding: 50px 25px 30px;
  }
  #fullHouse .fullHouse_mainImg {
    width: 100%;
  }
  #fullHouse p {
    width: 80%;
    margin-top: 60px;
  }
	
  #fullHouse .cmn-btn {
  margin: 20px auto 0;
  }
	
  .fullHouse_subtitle{
	font-size: 18px;
	margin-bottom: 30px;
  }
	
  .fullHouse_pict01 img{
	width: 40%;
	max-width:150px; 
	border-radius: 50%;
	border: 2px solid #C59E7E;
	position: absolute;
	right: 4%;
	top: -12%;
  }
	
  .fullHouse_pict02 img{
	width: 40%;
	position: absolute;
	top: 45%;
	left: -8%;
	transform: rotate(-6deg);
	border-radius: 30px;
  }

}
/* ==================================
   rokuichisan
================================== */
#rokuichisan {
  border-radius: 30px;
  padding: 60px 80px 60px;
  position: relative;
  width: 90%;
}

#rokuichisan .sub-title {
  margin-bottom: 10px;
}

#rokuichisan .flex-row{
	justify-content: space-around;
}

#rokuichisan .cmn-btn {
  margin: 50px auto 0;
}
#rokuichisan .fullHouse_mainImg {
  width: 40%;
}
#rokuichisan .fullHouse_mainImg img {
  border-radius: 30px;
  height: 100%;
  object-fit: cover;
}
#rokuichisan p {
  width: calc(50% - 30px);
}

.fullHouse_subtitle{
	text-align: center;
	font-size: 24px;
	margin-bottom: 40px;
	color: #C59E7E;
}

.fullHouse_pict01 img{
	width: 20%;
	border-radius: 50%;
	border: 2px solid #C59E7E;
	position: absolute;
	right: 4%;
	top: -6%;
}

.fullHouse_pict02 img{
	width: 25%;
	position: absolute;
	top: 76%;
	left: -8%;
	transform: rotate(-6deg);
	border-radius: 30px;
}

.fullHouse_time{
	margin-top: 20px;
	display: inline-block;
}

/* ▼sp */
@media screen and (max-width: 767px) {
  #rokuichisan {
    padding: 50px 25px 30px;
  }
  #rokuichisan .fullHouse_mainImg {
    width: 100%;
  }
  #rokuichisan p {
    width: 80%;
    margin-top: 60px;
  }
	
  #rokuichisan .cmn-btn {
  margin: 20px auto 0;
  }
	
  .fullHouse_subtitle{
	font-size: 18px;
	margin-bottom: 30px;
  }
	
  .fullHouse_pict01 img{
	width: 40%;
	max-width:150px; 
	border-radius: 50%;
	border: 2px solid #C59E7E;
	position: absolute;
	right: 4%;
	top: -12%;
  }
	
  .fullHouse_pict02 img{
	width: 40%;
	position: absolute;
	top: 45%;
	left: -8%;
	transform: rotate(-6deg);
	border-radius: 30px;
  }

}

/* ==================================
   shop
================================== */
#shop {
  margin-bottom: 200px;
}
/*#shop .sub-title {
	margin-bottom: 30px;
}*/
#shop > p.w700 {
	margin-bottom: 50px;
}
/* ▼swiper */
.swiper-parent {
  position: relative;
  --swiper-theme-color: var(--main-color);
}
.swiper {
  width: calc(100% - 100px);
}
.swiper-slide {
  opacity: .3; /* 左右のスライドを薄くする */
  transform: scale(.8); /* 左右のスライドを小さくする */
  transition: .7s; /* ゆっくり小さくさせる */
}
.swiper-slide-active {
  opacity: 1; /* 中央のスライドは薄くしない */
  transform: scale(1); /* 中央のスライドは小さくしない */
  z-index: 1;
}
/* 前・次スライドボタンの縦位置調整 */
.swiper-button-prev, .swiper-button-next {
  top: calc((100% - 50px) * 0.5);
  margin-top: -22px;
}
/* 前ページボタンのスタイル */
.swiper-button-prev:after {
  font-family: "Material Icons";
  content: "\e5cb";
}
/* 次ページボタンのスタイル */
.swiper-button-next:after {
  font-family: "Material Icons";
  content: "\e5cc";
}
.swiper-slide a {
  display: block;
}
.swiper-slide img {
  height: auto;
  width: 100%;
}
.blog_img img {
  border-radius: 50%;
}
.blog_text {
  width: 65%;
  margin-left: auto;
  margin-right: -20px;
}
.blog_text .blog_title {
  font-size: 2rem;
  font-weight: 600;
  margin-top: 3%;
}
.blog_text .blog_title span {
  display: block;
}
.blog_text .blog_title span:nth-of-type(2) {
  margin-left: 10px;
}
.blog_text .blog_title .font-en {
  position: relative;
  font-size: 1.3rem;
  letter-spacing: .04em;
  padding: calc(13rem / 10) 0 0 calc(12rem / 10);
}
.blog_text .blog_title .font-en::before {
  content: "";
  position: absolute;
  top: 30px;
  left: 0;
  width: 30px;
  height: 1px;
  background-color: var(--main-color);
  transform: rotate(-48deg);
  transform-origin: bottom left;
}
.blog_text p {
  flex-grow: 1;
  padding-left: 12px;
  margin-top: calc(26rem / 16);
  margin-bottom: calc(26rem / 16);
  text-align: left;
  font-size: 1.3rem;
}

.recommend_list{
	display: grid;
    grid-template-columns: repeat(2, 1fr);
	gap:40px;
	padding-inline:40px;
}

.recommend_listItem{
	max-width: 300px;
	margin-inline:auto;
}


/* ▼sp */
@media screen and (max-width: 767px) {
  #area iframe {
    height: 400px;
  }
  .blog_text {
    width: 80%;
    margin: 2.93vw auto;
  }
	
	.recommend_listItem{
	max-width: 100%;
  }

  .recommend_list{
	grid-template-columns: repeat(1, 1fr);
  }
}
/* ==================================
   news,event
================================== */
#news .sub-title {
  line-height: 1;
}
#news .flex-row {
  /*width: fit-content;*/
  align-items: flex-start;
  justify-content: flex-start;
  gap: 87.5px;
}
#news .topic {
  position: relative;
  padding-left: 87.5px;
}
#news .topic::before {
  position: absolute;
  content: "";
  width: 1px;
  height: 100%;
  background-color: var(--main-color);
  top: 0;
  left: 0;
}
.topic_item {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 20px;
}
.topic li {
  margin-bottom: 15px;
}
.topic li:last-child {
  margin-bottom: 0;
}
.topic_date {
  font-size: 1.2rem;
}
.topic_categoly {
  font-weight: bold;
  font-size: 1.2rem;
  color: var(--main-color);
  text-transform: uppercase;
}
#news a .topic_ttl {
  text-decoration: underline;
}
/* ▼sp */
@media (max-width: 767px) {
  #news .sub-title {
    margin-bottom: 0;
  }
  #news .topic {
    padding-left: 0
  }
  .topic_item {
    row-gap: 0;
  }
	.topic li:last-child {
  margin-bottom: 30px;
}
  #news .topic::before {
    width: 30%;
    height: 1px;
    top: -43.75px;
    left: 0;
  }
  #news a .topic_ttl {
    width: 100%
  }
}
/* ==================================
   ig
================================== */
#ig {
  width: 100%;
}
#ig .sub-title {
  margin-bottom: 50px;
}
#ig .sub-title a {
  text-transform: none;
  font-size: 1.5rem;
  margin-left: 35px;
  -webkit-text-stroke: 0;
  text-stroke: 0;
  color: var(--main-color);
  letter-spacing: 0.05em;
  font-weight: 600;
}
/* ==================================
   ig
================================== */
#ig {
  width: 100%;
  height: auto;
}
/* ==================================
   information
================================== */
#info .info_map {
  width: 50%;
  height: 500px;
  border-radius: 30px;
  overflow: hidden;
}
#info .info_text {
  width: 42%;
  display: flex;
  flex-flow: column wrap;
  justify-content: space-between;
}
#info .sub-title {
  margin-bottom: 0;
}
.info_text div {
  margin-top: 100px;
}
.info_text p {
  margin-bottom: 40px;
}
.info_text p:last-of-type {
  margin-bottom: 0;
}
.info_text p::after {
  content: "";
  background-image: linear-gradient(to right, #C59E7E, #C59E7E 5px, transparent 5px, transparent 10px);
  background-size: 10px 2px;
  background-repeat: repeat-x;
  background-position: left bottom;
  display: block;
  height: 1px;
  margin-top: 1rem;
}
.info_text p span {
  display: block;
  color: var(--main-color);
  text-transform: uppercase;
  font-weight: 600;
  letter-spacing: 0.08em;
}
/* ▼sp */
@media (max-width: 767px) {
  #info .info_map {
    width: 97%;
  }
  #info .info_text {
    width: 100%;
    margin-top: 100px;
  }
  .info_text div {
    margin-top: 50px;
  }
}