html {
  font-size: max(0.94vw, 14px);
  height: 100%;
  overflow-y: scroll;
  overflow-x: hidden;
  scroll-padding-top: 120px;
}
body {
  font-family: "Zen Old Mincho", serif;
  line-height: 2.16;
  letter-spacing: .03em;
  font-weight: 400;
  font-feature-settings: "palt";
  height: 100%;
}
@media screen and (max-width: 767px) {
  html {
    font-size: 14px;
  }
  body {
    line-height: 2;
  }
}

ul,
ol { list-style: none; }

a { transition: all .4s ease-out; }

/* -- font -- */
.font-en {
  font-family: "Josefin Sans", serif;
  font-weight: 600;
}
.font-jp {
  font-weight: 400;
}
.txt-ctr {
  text-align: center;
}

/* -- ttl -- */
.section_ttl {
  display: flex;
  align-items: center;
  justify-content: center;
}
.section_ttl .font-en {
  font-size: 200%; /* 36px */
}
.section_ttl .font-jp {
  font-size: 111%; /* 20px */
}
.section_ttl .slash {
  margin: 0 2.08vw; /* 40px */
}
.section_ttl .slash svg {
  width: 4.17vw; /* 80px */
  height: 4.17vw; /* 80px */
}
@media screen and (max-width: 767px) {
  .section_ttl {
    flex-direction: column;
    text-align: center;
  }
  .section_ttl .font-en {
    line-height: 1.5;
  }
  .section_ttl .slash {
    display: none;
  }
}

/* -- list -- */
.disc_list li {
  position: relative;
  padding-left: 16px;
}
.disc_list li::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 6px;
  height: 6px;
  background-color: #fff;
  border-radius: 50%;
}

/* -- section_pdg -- */
.section_pdg {
  padding-top: 120px;
  padding-bottom: 120px;
}
@media screen and (max-width: 767px) {
  .section_pdg {
    padding-top: 80px;
    padding-bottom: 80px;
  }
}

/* -- btn -- */
.btn a {
  position: relative;
  display: inline-flex;
  align-items: center;
  padding: 24px 4.17vw;/*80px*/
  background-color: #7C684E;
  text-decoration: none;
  color: #fff;
}
.btn a:hover {
  opacity: .7;
}
.btn a::after {
  content: "";
  display: inline-block;
  width: 12px;
  height: 12px;
  border-right: 1px solid;
  border-bottom: 1px solid;
  transform: rotate(-45deg);
  margin-top: 2px;
  margin-left: 8px;
}
@media screen and (max-width: 767px) {
  .btn a {
    padding: 24px 56px;
  }
}

/* -- mgn-btm -- */
.mgn-btm16 {
  margin-bottom: 16px;
}
.mgn-btm24 {
  margin-bottom: 24px;
}
.mgn-btm32 {
  margin-bottom: 32px;
}
.mgn-btm40 {
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .mgn-btm32 {
    margin-bottom: 16px;
  }
  .mgn-btm40 {
    margin-bottom: 32px;
  }
}

/* -- inner --  */
.inner {
  max-width: 1580px;
  width: 86%;
  margin-inline: auto;
}
.inner-sm {
  max-width: 1280px;
}
.inner-xl {
  max-width: calc(100% - 64px);
  width: 90%;
}

@media print, screen and (min-width: 767px) {
  .pc-none {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .sp-none {
    display: none;
  }
}

/* header
********************************************** */
.header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
  width: 100%;
  height: 94px;
  transition: all .4s ease-out;
}
.header--wrap {
  display: flex;
  justify-content: space-between;
  height: 100%;
  padding-left: 3.33vw;/*64px*/
}
.header--logo {
  display: flex;
  align-items: center;
  padding-top: 28px;
}
.header--logo a {
  position: relative;
  display: inline-flex;
  flex-direction: column;
  text-decoration: none;
  color: #fff;
  font-weight: 500;
  font-size: 14px;
}
.header--logo a .logo {
  position: relative;
  display: inline-block;
}
.header--logo a .logo::before {
  content: "";
  position: absolute;
  inset: 0;
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url(../images/header-logo-bk.svg);
  opacity: 0;
}
.header--logo img {
  position: relative;
  z-index: 1;
  transition: all .4s ease-out;
}
.gnav {
  display: flex;
  height: 100%;
}
.gnav--link {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: 16px;
  height: 100%;
}
.gnav li a {
  padding: 0 1.35vw;/*26px*/
  font-size: 111%;
  text-decoration: none;
  color: #fff;
}
.gnav li a:hover {
  opacity: .5;
}
.gnav li.gnav--reserve {
  margin-left: 26px;
  margin-bottom: -16px;
}
.gnav li.gnav--reserve a {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  padding: 0 2.81vw;/*54px*/
  background-color: #7C684E;
}

@media screen and (min-width: 768px) {
  .header-sm {
    background-color: rgba(255,255,255,.95);
  }
  .header-sm .header--logo {
    padding-top: 0;
  }
  .header-sm .header--logo a {
    color: #000;
  }
  .header-sm .header--logo a .logo::before {
    opacity: 1;
  }
  .header-sm .header--logo img {
    opacity: 0;
  }
  .header-sm .gnav--link {
    padding-top: 0;
    align-items: center;
  }
  .header-sm .gnav--link a {
    color: #3B3B3B;
  }
  .header-sm .gnav li.gnav--reserve {
    margin-bottom: 0;
  }
}
@media screen and (max-width: 767px) {
  .header {
    position: absolute;
    height: 72px;
  }
  .header--wrap {
    padding-left: 24px;
  }
  .header--logo {
    position: relative;
    z-index: -1;
    width: 62%;
    padding-top: 8px;
  }
  .header--nav {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 100;
    width: 100%;
    height: 100vh;
    opacity: 0;
    pointer-events: none;
    background-color: #3B3B3B;
    padding: 80px 7% 60px;
  }
  .header--nav.active {
    opacity: 1;
    pointer-events: all;
  }
  .gnav {
    display: block;
  }
  .gnav--link {
    height: auto;
  }
  .gnav li a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 16px;
  }
  .gnav li:not(:last-child) {
    border-bottom: 1px solid #aaa;
  }
  .gnav li.gnav--reserve {
    margin-top: 24px;
    margin-left: 0;
  }
  .gnav li.gnav--reserve a {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 20px 16px;
    text-align: center;
  }
  .gnav li a::after,
  .gnav li.gnav--reserve a::after {
    content: "";
    display: inline-block;
    width: 10px;
    height: 10px;
    border-right: 1px solid;
    border-bottom: 1px solid;
    transform: rotate(-45deg);
    margin-top: 2px;
    margin-left: 8px;
  }
  .gnav li.gnav--reserve svg {
    width: 26px;
    height: 26px;
    margin-right: 16px;
  }
  .gnav_btn {
    position: fixed;
    top: 0;
    right: 0;
    width: 72px;
    height: 72px;
    background-color: #3B3B3B;
    z-index: 999;
  }
  .gnav_btn--lines {
    position: absolute;
    inset: 0;
    margin: auto;
    width: 32px;
    height: 16px;
  }
  .gnav_btn--lines span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #fff;
    transform-origin: top left;
    transition: all .4s ease-out;
  }
  .gnav_btn--lines span:nth-child(1) {
    top: 0;
  }
  .gnav_btn--lines span:nth-child(2) {
    top: 50%;
    opacity: 1;
    transform: translateY(-50%);
  }
  .gnav_btn--lines span:nth-child(3) {
    top: calc(100% - 2px);
  }
  .gnav_btn.active .gnav_btn--lines span:nth-child(1) {
    transform: rotate(45deg) translateY(-5px);
  }
  .gnav_btn.active .gnav_btn--lines span:nth-child(2) {
    opacity: 0;
  }
  .gnav_btn.active .gnav_btn--lines span:nth-child(3) {
    transform: rotate(-45deg) translateY(5px) translateX(-2px);
  }
}

/* fix_cta
********************************************** */
.fix_cta {
  position: fixed;
  top: 50%;
  right: 0;
  z-index: 99;
  transform: translateY(-50%);
}
.fix_cta a {
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  color: #fff;
  width: 64px;
  height: 64px;
}
.fix_cta .reserve a { background-color: #7C684E; }
.fix_cta .tel a { background-color: #404044; }
.fix_cta .icon-tel {
  width: 22px;
  height: 30px;
  transition: all .4s ease-out;
}
.fix_cta .icon-calendar {
  width: 24px;
  height: 24px;
  transition: all .4s ease-out;
}
.fix_cta a:hover svg {
  opacity: .5;
}

@media screen and (max-width: 767px) {
  .fix_cta {
    position: fixed;
    top: auto;
    bottom: 0;
    width: 100%;
    transform: translateY(0);
    display: flex;
  }
  .fix_cta li {
    width: 50%;
  }
  .fix_cta a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 58px;
  }
  .fix_cta li.reserve a::after {
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    border-right: 1px solid;
    border-bottom: 1px solid;
    transform: rotate(-45deg);
    margin-top: 2px;
    margin-left: 8px;
  }
  .fix_cta .icon-calendar,
  .fix_cta .icon-tel {
    width: 26px;
    height: 26px;
    margin-right: 8px;
  }
}

/* hero
********************************************** */
.hero {
  position: relative;
  height: 100vh;
}
.hero--content {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  padding: 72px 4vw;
  background-color: rgba(64, 64, 68, .4);
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}
.hero--catch {
  font-size: 2.08vw; /* 40px */
  line-height: 1.6;
  font-weight: 400;
  color: #fff;
  letter-spacing: 1.2px;
}
.hero--content .bnr {
  width: 48.86vw;
  margin-top: -152px;
  margin-bottom: -26px;
}
.hero--content .bnr a:hover {
  opacity: .75;
}
.hero_slide li {
  position: relative;
  width: 100%;
  height: 100vh;
}
.hero_slide li img {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media screen and (max-width: 767px) {
  .hero {
    height: calc(100vh - 58px);
  }
  .hero--content {
    display: block;
    padding: 0;
  }
  .hero--catch {
    padding: 24px 8px;
    font-size: 125%;
    text-align: center;
  }
  .hero--content .bnr {
    width: 100%;
    margin-top: 0;
    margin-bottom: 0;
  }
}

/* home_model
********************************************** */
.home_model {
  position: relative;
  padding-top: 120px;
  padding-bottom: 120px;
  overflow: hidden;
}
.home_model::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  max-width: 1468px;
  width: 74%;
  height: 100%;
  background-color: #DDD9D6;
}
.home_model .section_ttl {
  position: relative;
  z-index: 1;
  margin-bottom: 5.89vw; /* 113px */
}
@media screen and (min-width: 767px) {
  .home_model_slide {
    width: 30.21vw; /* 580px */
    margin-left: 7.81vw; /* 150px */
  }
  .home_model_slide .slick-list {
    overflow: visible !important;
  }
  .home_model_slide .slick-track {
    display: flex;
  }
  .home_model_slide .slick-slide {
    width: 15.63vw !important; /* 300px */
    height: 38.54vw; /* 740px */
    margin: 0 auto;
    transition: all .4s ease-out;
  }
  .home_model_slide .slick-current {
    z-index: 2;
    width: 28.13vw !important; /* 540px */
  }
}
.home_model_slide .model_bloc,
.home_model_slide .imgarea {
  position: relative;
}
.home_model_slide .imgarea .name {
  position: absolute;
  top: 1.35vw; /* 26px */
  left: 1.56vw; /* 30px */
  padding: 24px 10px;
  writing-mode: vertical-rl;
  background-color: #fff;
  font-weight: 500;
}
.home_model_slide .txtarea {
  position: absolute;
  top: 24.48vw; /* 470px */
  left: 0;
  width: calc(29.17vw + 2.92vw); /* 560px + 56px */
  padding-left: 2.92vw;
  transform: translateX(29.17vw);
  opacity: 0;
  pointer-events: none;
  transition: all .4s ease-out;
}
.home_model_slide .slick-current .txtarea {
  opacity: 1;
}
.home_model_slide .slick-arrow,
.feature_contents .slick-arrow {
  position: absolute;
  bottom: 30%;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5vw; /* 48px */
  height: 2.5vw;
  border-radius: 50%;
  background-color: #7C684E;
  border: none;
  color: #fff;
  font-size: 0;
  cursor: pointer;
  transition: all .4s ease-out;
}
.home_model_slide .slick-arrow:hover {
  opacity: .7;
}
.home_model_slide .slick-arrow::before,
.feature_contents .slick-arrow::before {
  content: "";
  display: inline-block;
  width: .63vw; /*12px*/
  height: .63vw;
  border-right: 1px solid;
  border-bottom: 1px solid;
}
.home_model_slide .slick-prev {
  left: 247.5%;
  transform: rotate(135deg);
  padding-top: 4px;
  padding-bottom: 8px;
  padding-right: 10px;
}
.home_model_slide .slick-next {
  left: 273%;
  transform: rotate(-45deg);
  padding-top: 9px;
  padding-bottom: 11px;
  padding-right: 9px;
}
.home_model_slide .slick-dots {
  position: absolute;
  right: -172%;
  bottom: 33%;
  display: flex;
}
.home_model_slide .slick-dots li {
  width: .31vw;
  height: .31vw;
  background-color: #C5C5C3;
  border-radius: 50%;
  margin: 0 .42vw;
  pointer-events: none;
}
.home_model_slide .slick-dots li:nth-child(n+5),
.home_model_slide .slick-dots li button {
  display: none;
}

@media screen and (max-width: 767px) {
  .home_model {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  .home_model::before {
    width: 100%;
    max-width: 100%;
  }
  .home_model_slide {
    width: 74%;
    margin-inline: auto;
  }
  .home_model_slide .slick-list {
    overflow: visible;
  }
  .home_model_slide .model_bloc {
    margin: 0 14px;
  }
  .home_model_slide .txtarea {
    position: static;
    width: 100%;
    margin-top: 16px;
    padding-left: 0;
    transform: translateX(0);
  }
  .home_model_slide .slick-arrow,
  .feature_contents .slick-arrow {
    bottom: 50%;
    width: 40px;
    height: 40px;
  }
  .home_model_slide .slick-arrow::before,
  .feature_contents .slick-arrow::before {
    width: 12px;
    height: 12px;
  }
  .home_model_slide .slick-prev {
    left: -10%;
  }
  .home_model_slide .slick-next {
    left: auto;
    right: -10%;
  }
}

/* home_gallery
********************************************** */
.home_gallery {
  padding-top: 187px;
  padding-bottom: 200px;
}
.home_gallery .section_ttl {
  margin-bottom: 12.5vw;
}
.home_gallery--wrap {
  position: relative;
}
.home_gallery--wrap::before {
  content: "";
  position: absolute;
  top: -108px;
  left: 0;
  max-width: 1410px;
  width: 80%;
  height: calc(100% + 235px);
  background-color: #908B89;
}
.home_gallery--txtbox {
  position: absolute;
  top: 204px;
  left: 92px;
  z-index: 2;
  width: 720px;
  padding: 64px;
  background-color: #fff;
}
.home_gallery--txtbox .catch {
  margin-bottom: 24px;
  font-size: 2.08vw; /* 40px */
  font-weight: 500;
}
.home_gallery--imgs {
  position: relative;
  z-index: 1;
  overflow: hidden;
}
.home_gallery_list .img_item {
  display: flex;
}
.home_gallery_list .img_item:not(:last-child) {
  margin-bottom: 40px;
}
.home_gallery_list .img_item img {
  margin: 0 20px;
  clip-path: inset(0 100% 0 0);
  transition: all .4s ease-out;
}
.home_gallery_list .img_item.active img { clip-path: inset(0 0 0 0); }
.home_gallery_list .img_item .gallery_img {
  width: 20.83vw !important;
  height: 20.83vw;
}
.home_gallery_list .img_item .gallery_img_rect {
  width: 43.75vw !important;
  height: 20.83vw;
}

@media screen and (max-width: 767px) {
  .home_gallery {
    padding-top: 68px;
    padding-bottom: 0;
  }
  .home_gallery--wrap::before {
    display: none;
  }
  .home_gallery .section_ttl {
    position: relative;
    z-index: 1;
    margin-bottom: 40px;
  }
  .home_gallery--txtbox {
    position: relative;
    top: 0;
    left: 0;
    width: 100%;
    padding: 32px 32px 0;
  }
  .home_gallery--txtbox .catch {
    margin-bottom: 16px;
    font-size: 171%;
    line-height: 1.6;
    text-align: center;
  }
  .home_gallery_list .img_item:not(:last-child) {
    margin-bottom: 16px;
  }
  .home_gallery_list .img_item img {
    margin: 0 8px;
    height: 200px;
  }
  .home_gallery_list .img_item .gallery_img {
    width: 200px !important;
    height: 200px;
  }
  .home_gallery_list .img_item .gallery_img_rect {
    width: 420px !important;
    height: 200px;
  }
}

/* home_plan
********************************************** */
.home_plan .section_ttl {
  margin-bottom: 162px;
}
.home_plan--floor {
  position: relative;
  display: flex;
  justify-content: space-between;
}
.home_plan--floor::before {
  content: "";
  position: absolute;
  top: -42px;
  right: 7%;
  width: 42px;
  height: 50px;
  background-image: url(../images/compass.png);
}
.home_plan--floor li {
  display: flex;
  flex-direction: column;
  width: 48%;
}
.home_plan--floor .floor_img {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}
.home_plan--floor li p {
  margin-top: auto;
}

@media screen and (max-width: 767px) {
  .home_plan .section_ttl {
    margin-bottom: 80px;
  }
  .home_plan--floor {
    display: block;
  }
  .home_plan--floor::before {
    top: -80px;
  }
  .home_plan--floor li {
    width: 100%;
  }
  .home_plan--floor li:not(:last-child) {
    margin-bottom: 32px;
  }
  .home_plan--floor .floor_img {
    height: auto;
    margin-bottom: 8px;
  }
}

/* home_message
********************************************** */
.home_message {
  padding-top: 250px;
  padding-bottom: 120px;
}
.home_message .deco {
  position: absolute;
  top: 50%;
  left: -90px;
  z-index: -1;
  opacity: .2;
  font-size: 7.92vw; /*152px*/
  color: #E0DFDB;
  writing-mode: vertical-rl;
  line-height: 1;
  transform: translateY(-50%);
}
.home_message--gree {
  background-position: bottom 100px right;
  background-repeat: no-repeat;
  background-size: 37.29vw 26.82vw;
  background-image: url(../images/message-img04.png);
}
.home_message--gree .inner {
  max-width: 1716px;
  width: 95%;
  display: flex;
  align-items: center;
  margin-left: 46px;
  margin-right: auto;
  padding-bottom: 24.48vw; /*470px*/
}
.home_message--gree .imgs {
  display: flex;
}
.home_message--gree .imgs img {
  width: 15.63vw; /*300px*/
}
.home_message--gree .imgs img:not(:last-child) { margin-right: 32px; }
.home_message--gree .imgs img:nth-child(1) { transform: translateY(85px); }
.home_message--gree .imgs img:nth-child(2) { transform: translateY(192px); }
.home_message--gree .txt {
  position: relative;
  width: 30.83vw; /*592px*/
  margin-left: 8.23vw; /*158px*/
}
.home_message--design {
  /* margin-bottom: 308px; */
  padding-top: 10.21vw; /* 196px */
}
.home_message--gree .ttl,
.home_message--design .ttl,
.home_message--coordinator .ttl {
  margin-bottom: 24px;
  font-weight: 500;
  font-size: 2.08vw; /* 40px */
}
.home_message--design .inner,
.home_message--coordinator .inner {
  max-width: 77.08vw; /*1480px*/
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.home_message--design .inner {
  align-items: flex-end;
  flex-direction: row-reverse;
}
.home_message--design .imgs,
.home_message--coordinator .imgs {
  width: 33.33vw; /*640px*/
}
.home_message--design .txt,
.home_message--coordinator .txt {
  position: relative;
  width: 30.83vw; /*592px*/
}
.home_message--design .txt {
  margin-bottom: -75px;
}
.home_message--design .deco {
  /* top: 25%; */
  top: 16%;
}
.home_message--coordinator .deco {
  top: 70%;
}
.home_message--design .deco-illust {
  display: block;
  margin-top: 58px;
  margin-left: auto;
  margin-right: -48px;
}
.home_message--coordinator .deco-illust {
  display: block;
  margin-left: auto;
  width: 29.84vw; /*573px*/
  margin-right: -7.71vw; /*148px*/
  margin-bottom: 32px;
}

.home_message--parties .flex {
  display: flex;
  justify-content: space-between;
}

@media screen and (max-width: 767px) {
  .home_message {
    padding-top: 70px;
    padding-bottom: 0;
  }
  .home_message .deco {
    top: 14%;
    left: -18%;
    font-size: 152px;
    line-height: 1;
  }
  .home_message--gree {
    background-position: bottom right;
  }
  .home_message--design {
    margin-bottom: 128px;
  }
  .home_message--gree .inner,
  .home_message--design .inner, 
  .home_message--coordinator .inner {
    display: block;
    max-width: 86%;
  }
  .home_message--gree .inner {
    width: 86%;
    margin-left: auto;
    padding-bottom: 80px;
  }
  .home_message--design .imgs, 
  .home_message--coordinator .imgs,
  .home_message--design .txt, 
  .home_message--coordinator .txt {
    width: 100%;
  }
  .home_message--gree .imgs {
    margin-bottom: 56px;
  }
  .home_message--gree .imgs img:not(:last-child) {
    margin-right: 16px;
  }
  .home_message--gree .imgs img:nth-child(1) {
    transform: translateY(0);
  }
  .home_message--gree .imgs img:nth-child(2) {
    transform: translateY(32px);
  }
  .home_message--gree .imgs img {
    width: calc(100% / 3 - (16px* 2 / 3));
  }
  .home_message--gree .txt {
    width: 100%;
    margin-left: 0;
  }
  .home_message--design .txt,
  .home_message--coordinator .txt {
    background-color: #f7f7f7;
    padding: 24px;
  }
  .home_message--gree .ttl, 
  .home_message--design .ttl, 
  .home_message--coordinator .ttl {
    margin-bottom: 12px;
    font-size: 143%;
  }
  .home_message--design .deco-illust {
    width: 50%;
    margin-top: 16px;
    margin-right: 0;
    mix-blend-mode: darken;
  }
  .home_message--coordinator .deco-illust {
    width: 60%;
    margin-right: 0;
    margin-bottom: 0;
    mix-blend-mode: darken;
  }
  .home_message--design .deco {
    top: 0;
    left: auto;
    right: -7%;
    display: none;
  }
  .home_message--coordinator .deco {
    top: -50%;
    left: -18%;
    display: none;
  }
  .home_message--parties .flex {
    display: block;
  }
}

/* home_cta
********************************************** */
.home_cta {
  padding-top: 120px;
  padding-bottom: 120px;
}
.home_cta--bloc {
  max-width: 1393px;
  width: 92%;
  margin-inline: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 120px 4.17vw;/*80px*/
  background-color: #3B3B3B;
  color: #fff;
}
.cta_txt {
  margin: 0 4.17vw;/*80px*/
  font-size: 111%;
}
.cta_txt .catch {
  margin-bottom: 16px;
  font-size: 24px;
  font-weight: 500;
}
.cta_links--reserve {
  margin-bottom: 16px;
}
.cta_links a {
  width: 300px;
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 111%;
  text-decoration: none;
}
.cta_links a svg {
  margin-right: 24px;
}
.cta_links--reserve a {
  background-color: #7C684E;
}
.cta_links--reserve a:hover {
  opacity: .7;
}
.cta_links--reserve a::after {
  content: "";
  display: inline-block;
  width: 12px;
  height: 12px;
  border-right: 1px solid;
  border-bottom: 1px solid;
  transform: rotate(-45deg);
  margin-top: 2px;
  margin-left: 8px;
}
.cta_links--reserve svg {
  width: 38px;
  height: 38px;
}
.cta_links--tel a {
  background-color: #000;
}
.cta_links--tel svg {
  width: 29px;
  height: 38px;
}

@media screen and (max-width: 767px) {
  .home_cta {
    padding-top: 80px;
    padding-bottom: 80px;
  }
  .home_cta--bloc {
    display: block;
    padding: 40px 24px;
  }
  .cta_txt {
    margin: 0;
    margin-bottom: 24px;
    font-size: 14px;
  }
  .cta_txt .catch {
    font-size: 124%;
    text-align: center;
  }
  .cta_links a {
    width: 100%;
    height: 58px;
  }
  .cta_links a svg {
    width: 24px;
    height: 24px;
    margin-right: 12px;
  }
}

/* home_feature
********************************************** */
.home_feature {
  padding-bottom: 200px;
}
@media screen and (min-width: 767px) {
  .home_feature .section_ttl {
    margin-bottom: 4.58vw; /*88px*/
  }
  .feature_tab_contents {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
  }
  .feature_tabs {
    width: max(22.92vw, 380px); /*440px*/
    margin-right: 4.58vw;
  }
  .feature_tabs li {
    position: relative;
    display: flex;
    align-items: center;
    padding: 0 1.25vw; /*24px*/
    height: 120px;
    border-bottom: 1px solid;
    transition: all .4s ease-out;
    cursor: pointer;
  }
  .feature_tabs li::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 24px;
    width: 12px;
    height: 12px;
    border-right: 1px solid;
    border-bottom: 1px solid;
    transform: translateY(-50%) rotate(-45deg);
  }
  .feature_tabs li:hover,
  .feature_tabs li.selected {
    background-color: #908B89;
    color: #fff;
  }
  .feature_bloc {
    display: none;
  }
  .feature_bloc.selected {
    display: flex;
    align-items: flex-end;
  }
  .feature_bloc .imgbox {
    position: relative;
    z-index: 1;
    width: 31.25vw; /*600px*/
    margin-bottom: 85px;
  }
  .feature_bloc .txtbox {
    flex: 1;
    margin-left: -2.92vw; /*56px*/
    background-color: #908B89;
    padding: 5.21vw; /*100px*/
    color: #fff;
    aspect-ratio: 1 / .9;
    max-width: 650px;
  }
}
@media screen and (max-width: 767px) {
  .home_feature {
    padding-bottom: 70px;
  }
  .home_feature .section_ttl {
    margin-bottom: 32px;
  }
  .feature_portrait {
    overflow: hidden;
  }
  .feature_tab {
    width: 220px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 32px;
  }
  .feature_tab .slick-list {
    overflow: visible !important;
  }
  .feature_tab .slick-track {
    border-bottom: 1px solid;
  }
  .feature_tab li {
    display: flex !important;
    align-items: center;
    justify-content: center;
    text-align: center;
    height: 70px;
    font-size: 13px;
    line-height: 1.5;
  }
  .feature_tab li.slick-current {
    background-color: #908B89;
    color: #fff;
  }
  .feature_contents {
    width: 86%;
    margin-inline: auto;
  }
  .feature_contents .ttl {
    margin-bottom: 24px;
    font-size: 18px;
    text-align: center;
    font-weight: 500;
  }
  .feature_contents .imgbox {
    width: 280px;
    margin-inline: auto;
    margin-bottom: 16px;
  }
  .feature_contents .slick-arrow {
    bottom: 61%;
  }
  .feature_contents .slick-prev {
    left: -6%;
    transform: rotate(135deg);
    padding-top: 4px;
    padding-bottom: 8px;
    padding-right: 10px;
  }
  .feature_contents .slick-next {
    right: -6%;
    transform: rotate(-45deg);
    padding-top: 9px;
    padding-bottom: 11px;
    padding-right: 9px;
  }
}

/* home_news
********************************************** */
.home_news {
  background-color: #F7F7F7;
}
.home_news .inner {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  background-repeat: no-repeat;
  background-position: bottom left;
  background-size: 30.83vw 8.02vw;
  background-image: url(../images/news_illust.png);
}
.home_news .section_ttl {
  margin-left: 3.54vw;/*68px*/
}
.home_news--posts {
  flex: 1;
  border-top: 1px solid #7A7A81;
  margin-left: 16.15vw;/*310px*/
}
.home_news--posts .post {
  position: relative;
  display: flex;
  align-items: center;
  border-bottom: 1px solid #7A7A81;
  padding: 40px;
}
.home_news--posts .post--date {
  margin-right: 80px;
}
.home_news--posts .post--ttl {
  font-weight: 500;
}
.home_news--posts a {
  text-decoration: none;
  color: #000;
  font-weight: 500;
}
.home_news--posts a:hover {
  opacity: .5;
}
.home_news--posts a::before {
  content: "";
  position: absolute;
  inset: 0;
}

@media screen and (max-width: 767px) {
  .home_news .inner {
    display: block;
    background-image: none;
  }
  .home_news .section_ttl {
    margin-left: 0;
    margin-bottom: 32px;
  }
  .home_news--posts {
    margin-left: 0;
  }
  .home_news--posts .post {
    display: block;
    padding: 24px 16px;
    line-height: 1.6;
  }
  .home_news--posts .post--date {
    margin-right: 0;
    margin-bottom: 8px;
  }
}

/* home_event
********************************************** */
.home_event .section_ttl {
  margin-bottom: 68px;
}
.home_event--banner {
  display: flex;
  justify-content: center;
  gap: 75px;
}
.home_event--banner li {
  max-width: 460px;
  width: 48%;
}
.home_event--banner a:hover {
  opacity: .5;
}

@media screen and (max-width: 767px) {
  .home_event .section_ttl {
    margin-bottom: 32px;
  }
  .home_event--banner {
    display: block;
  }
  .home_event--banner li {
    width: 100%;
  }
  .home_event--banner li:not(:last-child) {
    margin-bottom: 16px;
  }
}

/* footer
********************************************** */
.footer {
  padding-top: 100px;
  padding-bottom: 16px;
  background-color: #3B3B3B;
  color: #fff;
}
.footer--top {
  display: flex;
}
.footer_address {
  width: 50%;
  padding-right: 40px;
}
.footer--logo {
  font-size: 32px;
  line-height: 1.8;
}
.footer_address iframe {
  width: 28.54vw;
  height: 17.4vw;
}
.footer_cta {
  display: flex;
  flex: 1;
}
.footer_cta li {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 50%;
  border-left: 1px solid #fff;
}
.footer_cta--tel .ttl,
.footer_cta--reserve .ttl {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 40px;
  font-weight: 500;
}
.footer_cta--tel .ttl svg {
  width: 48px;
  height: 62px;
  margin-bottom: 24px;
}
.footer_cta--reserve .ttl svg {
  width: 45px;
  height: 45px;
  margin-bottom: 40px;
}
.footer_cta--tel .tel_num a {
  font-size: 2.08vw;/*40px*/
  line-height: 1;
  color: #fff;
  text-decoration: none;
}
.footer--btm {
  border-top: 1px solid #fff;
  padding-top: 16px;
  margin-top: 60px;
}

@media screen and (max-width: 767px) {
  .footer {
    padding-top: 54px;
    padding-bottom: 66px;
  }
  .footer--top {
    display: block;
  }
  .footer_address {
    width: 100%;
    padding-right: 0;
    margin-bottom: 40px;
  }
  .footer--logo {
    font-size: 150%;
    margin-bottom: 16px;
  }
  .footer_address iframe {
    width: 100%;
    height: 320px;
  }
  .footer_cta {
    flex-direction: column;
  }
  .footer_cta li {
    width: 100%;
    border-left: none;
  }
  .footer_cta--tel .ttl, 
  .footer_cta--reserve .ttl {
    margin-bottom: 20px;
    font-size: 16px;
  }
  .footer_cta--reserve .ttl svg {
    margin-bottom: 32px;
  }
  .footer_cta--tel {
    padding-bottom: 40px;
    margin-bottom: 40px;
    border-bottom: 1px solid #fff;
  }
  .footer_cta--tel .tel_num a {
    font-size: 220%;
  }
}