@charset "UTF-8";
/*---------------------------------------------------
Variables style
----------------------------------------------------*/
/*---- Color ----*/
/*---------------------------------------------------
Breakpoints 
----------------------------------------------------*/
/*---------------------------------------------------
ホバー時の動き 透過
----------------------------------------------------*/
/*---------------------------------------------------
トップページ
----------------------------------------------------*/
/*---------------
top 共通
--------------*/
.top {
  font-size: 1.3rem;
}

@media screen and (max-width: 767px) {
  .c_wrap {
    max-width: 326px;
  }
}

h3 {
  font-family: "NotoSansJP-Bold";
  color: #B4A27B;
  font-size: 1.8rem;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 767px) {
  h3 {
    font-size: 1.4rem;
  }
}

/*---------------
fv
--------------*/
.top_bg01 {
  position: absolute;
  top: 0;
  left: 0;
  padding-right: 60%;
}
@media screen and (max-width: 767px) {
  .top_bg01 {
    padding-right: 0;
  }
  .top_bg01 img {
    width: 194px;
    height: 493px;
    padding-right: 0;
  }
}

/*====== fv画像  =======*/
.top_fv {
  margin: 2% auto 15%;
  width: 100%;
  /*====== slick  =======*/
}
@media screen and (max-width: 767px) {
  .top_fv {
    max-width: 326px;
    margin: 20px auto 218px;
  }
}
.top_fv .dammy-wrap {
  display: flex;
  position: relative;
  /*高さ・位置・透過が変化して線が上から下に動く*/
}
.top_fv .dammy-wrap .copy {
  position: absolute;
  top: 28%;
  right: 19%;
  margin-left: 50%;
}
@media screen and (max-width: 767px) {
  .top_fv .dammy-wrap .copy {
    top: 166px;
    right: -3%;
    max-width: 214px;
  }
}
.top_fv .dammy-wrap .copy p {
  margin-top: 23px;
  text-align: right;
  font-family: "NotoSansJP-Medium";
  font-size: 1.6rem;
  letter-spacing: 0.3em;
}
@media screen and (max-width: 767px) {
  .top_fv .dammy-wrap .copy p {
    width: 178px;
    margin-left: auto;
    font-size: 1.2rem;
    letter-spacing: 0.3em;
    text-align: left;
  }
}
@media screen and (max-width: 767px) {
  .top_fv .dammy-wrap .copy p span {
    display: block;
    margin-top: 7px;
  }
}
.top_fv .dammy-wrap .scrolldown {
  position: absolute;
  left: 50%;
  bottom: -16%;
  height: 50px;
}
@media screen and (max-width: 767px) {
  .top_fv .dammy-wrap .scrolldown {
    bottom: -18%;
  }
}
.top_fv .dammy-wrap .scrolldown::after {
  content: "";
  /*描画位置*/
  position: absolute;
  top: 0;
  left: 21px;
  width: 1px;
  height: 53px;
  background: #B4A27B;
  -webkit-animation: pathmove 1.4s ease-in-out infinite;
          animation: pathmove 1.4s ease-in-out infinite;
  opacity: 0;
}
.top_fv .dammy-wrap .scrolldown p {
  position: absolute;
  left: -15px;
  top: -15px;
  font-family: "OpenSans-SemiBold";
  color: #B4A27B;
}
.top_fv .dammy-wrap .scrolldown p span {
  margin-left: 5px;
}
@-webkit-keyframes pathmove {
  0% {
    height: 0;
    top: 0;
    opacity: 0;
  }
  30% {
    height: 53px;
    opacity: 1;
  }
  100% {
    height: 0;
    top: 83px;
    opacity: 0;
  }
}
@keyframes pathmove {
  0% {
    height: 0;
    top: 0;
    opacity: 0;
  }
  30% {
    height: 53px;
    opacity: 1;
  }
  100% {
    height: 0;
    top: 83px;
    opacity: 0;
  }
}
.top_fv .dammy-wrap .dammy {
  width: 70%;
}
.top_fv .slider-wrap {
  position: relative;
  padding-left: 22%;
  width: 55%;
  height: 100%;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .top_fv .slider-wrap {
    padding-left: 0%;
    width: 241px;
  }
}
.top_fv .slider-wrap .slide-item img {
  width: 688px;
}
@media screen and (max-width: 767px) {
  .top_fv .slider-wrap .slide-item img {
    width: 241px;
    height: 372px;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
.top_fv .slider-wrap .slick-dots {
  bottom: -32px;
  left: -7%;
}
@media screen and (max-width: 767px) {
  .top_fv .slider-wrap .slick-dots {
    bottom: -23px;
    left: -103px;
  }
}
.top_fv .slider-wrap .slick-dots li {
  display: inline-block;
  margin: 0;
}
@media screen and (max-width: 767px) {
  .top_fv .slider-wrap .slick-dots li {
    width: 14px;
  }
}
.top_fv .slider-wrap .slick-dots li button:before {
  color: #ffffff;
  opacity: 1;
}
.top_fv .slider-wrap .slick-dots li.slick-active button:before {
  opacity: 1;
  color: #B4A27B;
}

/*======  fv画像ズームアウト設定 =======*/
@-webkit-keyframes fadezoom {
  0% {
    transform: scale(1.1);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes fadezoom {
  0% {
    transform: scale(1.1);
  }
  100% {
    transform: scale(1);
  }
}
.slick-animation {
  -webkit-animation: fadezoom 8s 0s linear;
          animation: fadezoom 8s 0s linear;
}

/*---------------
concept
--------------*/
.concept {
  margin-bottom: 233px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .concept {
    margin-bottom: 80px;
  }
}
.concept .top_bg02 {
  position: absolute;
  bottom: -93px;
  right: 0;
  width: 1632px;
  height: 429px;
  background-image: url(../images/top/top_bg2.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  z-index: -99;
}
@media screen and (max-width: 767px) {
  .concept .top_bg02 {
    bottom: -37px;
    width: 375px;
    height: 532px;
    background-repeat: repeat;
  }
}

.concept-right {
  display: flex;
  flex-direction: column;
}
.concept-right h3 {
  line-height: 1.7;
  margin-bottom: 23px;
}
@media screen and (max-width: 767px) {
  .concept-right h3 {
    margin-bottom: 16px;
  }
}
.concept-right p {
  font-size: 1.3rem;
  line-height: 1.6;
}

h2.concept_title {
  font-family: "OpenSans-Medium";
  font-size: 4rem;
  writing-mode: tb-rl;
}
h2.concept_title span {
  display: block;
  margin-right: 21px;
}
h2.concept_title-pc {
  display: block;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-bottom: 88px;
}
@media screen and (max-width: 767px) {
  h2.concept_title-pc {
    display: none;
  }
}

.concept_wrap {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(326px, 1fr));
  -moz-column-gap: 53px;
       column-gap: 53px;
  position: relative;
}
.concept_wrap .concept_title-sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .concept_wrap .concept_title-sp {
    display: block;
    opacity: 0;
    position: absolute;
    top: -106px;
    right: 0;
    z-index: 99;
    font-size: 2rem;
  }
}
.concept_wrap .concept-left {
  position: relative;
}
.concept_wrap .concept-left .caption {
  position: absolute;
  left: 0;
  top: 96px;
}
@media screen and (max-width: 767px) {
  .concept_wrap .concept-left .caption {
    left: -14px;
    top: 60px;
  }
}
.concept_wrap .concept-left .caption img {
  width: 15px;
  height: 192px;
}
@media screen and (max-width: 767px) {
  .concept_wrap .concept-left .caption img {
    width: 9px;
    height: 102px;
  }
}

/*====== concept画像 slick設定 =======*/
.slider-wrap02 {
  max-width: 614px;
  padding-left: 30px;
}
@media screen and (max-width: 767px) {
  .slider-wrap02 {
    max-width: 326px;
    padding-left: 0px;
  }
}
.slider-wrap02 .slick-dots {
  bottom: -32px;
  left: -42%;
}
@media screen and (max-width: 767px) {
  .slider-wrap02 .slick-dots {
    bottom: -26px;
    left: -145px;
  }
}
.slider-wrap02 .slick-dots li {
  display: inline-block;
  margin: 0;
}
.slider-wrap02 .slick-dots li button:before {
  color: #ffffff;
  opacity: 1;
}
.slider-wrap02 .slick-dots li.slick-active button:before {
  opacity: 1;
  color: #B4A27B;
}

/*---------------
menu staff
--------------*/
.menu-staff {
  margin-bottom: 148px;
}
@media screen and (max-width: 767px) {
  .menu-staff {
    margin-bottom: 80px;
  }
}

.menu-staff_wrap {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(326px, 1fr));
  -moz-column-gap: 20px;
       column-gap: 20px;
}
@media screen and (max-width: 767px) {
  .menu-staff_wrap {
    row-gap: 80px;
  }
}
.menu-staff_wrap .img-box {
  margin-bottom: 16px;
}
@media screen and (max-width: 767px) {
  .menu-staff_wrap .view-more_wrap {
    text-align: center;
  }
}
.menu-staff_wrap p {
  line-height: 1.6;
  margin-bottom: 16px;
}

/*---------------
news
--------------*/
.news {
  margin-bottom: 148px;
}
@media screen and (max-width: 767px) {
  .news {
    margin-bottom: 80px;
  }
}
.news h2.title {
  text-align: center;
}

.news_wrap {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(326px, 1fr));
  -moz-column-gap: 20px;
       column-gap: 20px;
  margin-bottom: 58px;
}
@media screen and (max-width: 767px) {
  .news_wrap {
    row-gap: 32px;
  }
}
.news_wrap .post .hover-zoom {
  overflow: hidden;
  display: block;
}
.news_wrap .post .hover-zoom .thumbnail {
  overflow: hidden;
  margin-bottom: 16px;
  position: relative;
  padding-top: 66.67%;
}
.news_wrap .post .hover-zoom .thumbnail img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
}
.news_wrap .post .hover-zoom .thumbnail .zoom {
  transition: all, 0.5s;
}
.news_wrap .post .hover-zoom:hover .zoom {
  transform: scale(1.2);
}
.news_wrap .post .title {
  margin-bottom: 8px;
}
.news_wrap .post .info {
  display: flex;
  justify-content: space-between;
  color: #B4A27B;
}
@media screen and (max-width: 767px) {
  .news_wrap .post .info {
    justify-content: flex-start;
  }
}
.news_wrap .post .info .date {
  font-family: "NotoSansJP-Medium";
  font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
  .news_wrap .post .info .date {
    margin-right: 5px;
  }
}
.news_wrap .post .info .category {
  padding: 2px 22px;
  border: 1px solid #B4A27B;
  font-family: "OpenSans-Medium";
}

.view-wrap {
  text-align: center;
}

/*---------------
access
--------------*/
.access {
  margin-bottom: 115px;
}
@media screen and (max-width: 767px) {
  .access {
    margin-bottom: 80px;
  }
}
.access h2.acccess-title {
  position: relative;
  display: none;
}
.access h2.acccess-title_pc {
  display: block;
}
@media screen and (max-width: 767px) {
  .access h2.acccess-title_pc {
    display: none;
  }
}
.access h2.acccess-title_sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .access h2.acccess-title_sp {
    display: block;
  }
}

.access_wrap {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(326px, 1fr));
  align-items: end;
}
@media screen and (max-width: 767px) {
  .access_wrap {
    display: flex;
    flex-direction: column-reverse;
    align-items: flex-start;
  }
}
.access_wrap-left {
  padding-bottom: 48px;
}
.access_wrap-left .info {
  max-width: 384px;
}
@media screen and (max-width: 767px) {
  .access_wrap-left .info {
    margin-top: 10px;
  }
}
.access_wrap-left .info p {
  margin-bottom: 9px;
}
.access_wrap-left .info .border {
  margin: 21px 0;
  border-bottom: 1px solid #222222;
}

/*---------------
reserve contact
--------------*/
.reserve-contact {
  margin-bottom: 102px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .reserve-contact {
    margin-bottom: 80px;
  }
}
.reserve-contact .top_bg03 {
  position: absolute;
  top: -379px;
  left: 0;
  width: 100%;
  height: 715px;
  background-image: url(../images/top/top_bg2.jpg);
  background-size: contain;
  z-index: -99;
}
.reserve-contact .title {
  text-align: center;
}

.reserve-contact_wrap {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(326px, 1fr));
  -moz-column-gap: 20px;
       column-gap: 20px;
}
@media screen and (max-width: 767px) {
  .reserve-contact_wrap {
    row-gap: 24px;
  }
}
.reserve-contact_wrap .btn {
  border: 2px solid #898989;
  background-color: #ffffff;
}
.reserve-contact_wrap .btn:hover {
  border: 2px solid #B4A27B;
  transition-duration: 0.3s;
  transition-timing-function: ease;
}
.reserve-contact_wrap .btn a {
  display: block;
  width: 100%;
  height: 100%;
  padding: 52px 0 55px 0;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .reserve-contact_wrap .btn a {
    padding: 31.5px 0 31.5px 0;
  }
}
.reserve-contact_wrap .btn a:hover {
  color: #B4A27B;
  transition-duration: 0.3s;
  transition-timing-function: ease;
}
.reserve-contact_wrap .btn p {
  margin-bottom: 12px;
  font-family: "OpenSans-Bold";
  font-size: 2.8rem;
}
@media screen and (max-width: 767px) {
  .reserve-contact_wrap .btn p {
    font-size: 2rem;
  }
}
.reserve-contact_wrap .btn span {
  font-family: "NotoSansJP-Medium";
  font-size: 1.5rem;
}
@media screen and (max-width: 767px) {
  .reserve-contact_wrap .btn span {
    font-size: 1.3rem;
  }
}
.reserve-contact_wrap .btn.reserve svg {
  margin-left: 16.5px;
  fill: currentColor;
}
/*# sourceMappingURL=top.css.map */