@charset "UTF-8";
/*Font
------------------------------------------*/
/*Color
------------------------------------------*/
/* z-index
------------------------------------------*/
/* Media queries PCファースト
------------------------------------------*/
/*
よく使用するmixin
------------------------------------------*/
.mainvisual {
  height: calc(100vh - 135px);
  position: relative;
  overflow: hidden;
}

.mv01 {
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: 0.6s;
}

.mv01_copy {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 100%;
  height: auto;
  z-index: 3;
}

.mv01_copy figure {
  max-width: 28px;
  width: 2vw;
  margin: auto;
}

.mv01_Img {
  background: url("../img/top/mv/mv_01.webp") no-repeat center bottom;
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transform: scale(1.06);
  transition: 5s all linear;
}

.mv01_Img:before {
  content: "";
  background: rgba(22, 22, 22, 0.4);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.mv02 {
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: 0.6s;
}

.mv02_copy {
  position: absolute;
  bottom: 5%;
  left: 10%;
  z-index: 3;
}

.mv02_copy figure {
  width: 5.8vw;
}

.mv02_Img {
  background: url("../img/top/mv/mv_02.webp") no-repeat center center;
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transform: scale(1.06);
  transition: 5s all linear;
}

.mv03 {
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: 0.6s;
}

.mv03_copy {
  position: absolute;
  top: 5vw;
  left: 0;
  width: 100%;
  z-index: 3;
}

.mv03_copy figure {
  width: 34vw;
  margin: 0 auto; /*filter: brightness(0) invert(1);*/
}

.mv03_Img {
  background: url("../img/top/mv/mv_03.webp") no-repeat center bottom 30%;
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  /*transform: scale(1.06); transition: 5s all linear;*/
}

.is-anim01 .mv01 {
  opacity: 1;
}

.is-anim01 .mv01 .mv01_Img {
  transform: scale(1);
}

.is-anim02 .mv01 {
  opacity: 0;
}

.is-anim02 .mv02 {
  opacity: 1;
}

.is-anim02 .mv02 .mv02_Img {
  transform: scale(1);
}

.is-anim03 .mv02 {
  opacity: 0;
}

.is-anim03 .mv03 {
  opacity: 1;
}

.is-anim03 .mv03 .mv03_Img { /*transform: scale(1);*/ }

.is-anim03 .mv01 .mv01_Img {
  transform: scale(1.06);
}

@media (max-width: 991px) {
  .mainvisual {
    aspect-ratio: 6/4;
    height: auto;
    margin-top: 64px;
  }
  .mv01_copy figure {
    width: 3vw;
  }
  .mv02_copy {
    top: initial;
    bottom: 5%;
    left: 5%;
  }
  .mv02_copy figure {
    width: 9vw;
  }
  .mv03_copy {
    top: 12%;
  }
  .mv03_copy figure {
    width: 60vw;
    margin: 0 auto;
  }
  /*.mv02_Img {background: url("../img/top/mv/mv_02.webp")no-repeat center right;background-size: cover;}*/
}
.top_merit {
  max-width: 1170px;
  width: 100%;
  margin: 60px auto 0;
  padding: 0 15px;
  position: relative;
  z-index: 20;
}
.top_merit .top_merit__list {
  align-items: center;
  background: #fff;
  padding: 15px;
  box-shadow: 0 0 10px rgba(184, 173, 163, 0.8);
}
.top_merit .top_merit__list li {
  flex: auto;
  text-align: center;
  position: relative;
}
.top_merit .top_merit__list li:not(:first-child):before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 1px;
  height: 60px;
  background: #ccc;
}
.top_merit .text01 {
  font-size: 12px;
}
.top_merit .text02 {
  font-size: clamp(16px, 2vw, 20px);
}
.top_merit .marker {
  color: #a08b70;
  font-weight: normal;
  line-height: 1;
  display: inline-block;
}
.top_merit .anno {
  font-size: 10px;
}
@media (max-width: 991px) {
  .top_merit {
    margin: 0 auto;
    padding-top: 30px;
  }
  .top_merit .top_merit__list li {
    width: 100%;
    padding: 10px 0;
  }
  .top_merit .top_merit__list li:not(:first-child):before {
    top: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
  }
}

.top_contentsWrap {
  padding-top: 80px;
  padding-bottom: 130px;
}
@media (max-width: 991px) {
  .top_contentsWrap {
    padding-top: 50px;
    padding-bottom: 80px;
  }
}

.news .inner {
  max-width: 990px;
  margin: 0 auto;
  padding: 0 15px;
}
.news .news_contents .left {
  width: 18%;
}
.news .news_contents .left p {
  font-size: clamp(26px, 5vw, 50px);
  color: #b8ada3;
  line-height: 1;
}
.news .news_contents .news_text {
  width: 82%;
  padding-left: 2%;
  display: flex;
  align-items: center;
}
.news .news_contents .news_text li {
  font-size: clamp(18px, 2vw, 20px);
}
.news .news_contents .news_text li + li {
  margin-top: 15px;
}
@media (max-width: 991px) {
  .news .news_contents {
    display: block;
  }
  .news .news_contents .left {
    width: 100%;
    margin-bottom: 20px;
  }
  .news .news_contents .news_text {
    width: 100%;
    padding-left: 0;
  }
}

.cvBtnWrap .cvBtn_item {
  margin-top: 30px;
}
.cvBtnWrap .cvBtn_item a.cvBtn {
  max-width: 360px;
  margin: 0 auto;
  padding: 20px 0;
  color: #fff;
  text-align: center;
  display: block;
  position: relative;
}
.cvBtnWrap .cvBtn_item a.cvBtn.entry {
  background: #E6E1DB;
  background: linear-gradient(90deg, rgb(230, 225, 219) 0%, rgb(184, 173, 163) 25%, rgb(184, 173, 163) 100%);
}

.entry_advantage {
  padding-top: clamp(50px, 6vw, 70px);
}
.entry_advantage .inner {
  max-width: 990px;
  margin: 0 auto;
  padding: 0 15px;
}
.entry_advantage .entry_advantage_head .secTitle {
  font-size: clamp(18px, 2vw, 25px);
  letter-spacing: 0;
}
.entry_advantage .entry_advantage_head .sectText {
  font-size: clamp(13px, 1.4vw, 14px);
  letter-spacing: 0;
}
.entry_advantage .entry_advantage_head .left {
  width: 36%;
}
.entry_advantage .entry_advantage_head .right {
  width: 64%;
}
.entry_advantage .entry_advantage__list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  -moz-column-gap: 3%;
       column-gap: 3%;
  row-gap: 30px;
  margin-top: 30px;
}
.entry_advantage .textWrap {
  background: #e6e1db;
  padding: 10px 0;
}
.entry_advantage .textWrap p {
  font-size: clamp(13px, 1.6vw, 16px);
  text-align: center;
}
@media (max-width: 991px) {
  .entry_advantage .entry_advantage_head .left {
    width: 100%;
    margin-bottom: 20px;
  }
  .entry_advantage .entry_advantage_head .right {
    width: 100%;
  }
  .entry_advantage .entry_advantage__list {
    display: flex;
    width: 700px;
  }
  .entry_advantage .entry_advantage__list li {
    width: auto;
  }
}

.sticky-contents__wrap {
  position: relative;
  border-top: 1px solid rgba(0, 0, 0, 0.2);
  /*@include m.max() {
    border-top: none;
  }*/
}

.top-pickup__item {
  position: relative;
  background: #ffffff;
}
.top-pickup__item:not(.is-sticky):nth-of-type(n + 2)::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: calc(100% - var(--vw-size86));
  height: 1px;
  background: rgba(0, 0, 0, 0.2);
}
.top-pickup__item.is-sticky {
  height: 200vh;
  position: sticky;
  top: 135px;
  padding-bottom: 100vh;
}
@media screen and (max-width: 991px) {
  .top-pickup__item.is-sticky {
    top: 0;
  }
}
.top-pickup__item .service_line {
  height: 24px;
  border-top: 1px solid #efefef;
}
.top-pickup__item .service_line a {
  background: #fff;
  color: #000;
  display: block;
  padding-left: 30px;
  transition: all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.top-pickup__item .service_line a span {
  width: 100px;
  display: block;
  position: relative;
}
.top-pickup__item .service_line a span:before {
  content: "";
  position: absolute;
  top: 6px;
  right: -25px;
  transform: rotate(135deg);
  width: 12px;
  height: 12px;
  background: url("../img/top/pickup_icon_arrow.svg") no-repeat center center;
  background-size: cover;
}
@media (hover: hover) {
  .top-pickup__item .service_line a:hover {
    background: #b8ada3;
    color: #fff;
  }
}
.top-pickup__item .frame {
  display: flex;
}
@media screen and (min-width: 992px) {
  .top-pickup__item .frame {
    height: calc(100vh - 135px - 24px);
  }
}
@media screen and (max-width: 991px) {
  .top-pickup__item .frame {
    flex-direction: column-reverse;
    height: 100vh;
  }
}
@media screen and (max-width: 991px) {
  .top-pickup__item:nth-child(1) .frame {
    height: calc(100vh + 24px);
  }
}
.top-pickup__item:nth-child(2).is-sticky {
  top: 159px;
}
@media screen and (max-width: 991px) {
  .top-pickup__item:nth-child(2).is-sticky {
    top: 24px;
  }
}
@media screen and (min-width: 992px) {
  .top-pickup__item:nth-child(2) .frame {
    height: calc(100vh - 135px - 48px);
  }
}
.top-pickup__item:nth-child(3).is-sticky {
  top: 183px;
}
@media screen and (max-width: 991px) {
  .top-pickup__item:nth-child(3).is-sticky {
    top: 48px;
  }
}
@media screen and (min-width: 992px) {
  .top-pickup__item:nth-child(3) .frame {
    height: calc(100vh - 135px - 72px);
  }
}
.top-pickup__item:nth-child(4).is-sticky {
  top: 207px;
}
@media screen and (max-width: 991px) {
  .top-pickup__item:nth-child(4).is-sticky {
    top: 72px;
  }
}
@media screen and (min-width: 992px) {
  .top-pickup__item:nth-child(4) .frame {
    height: calc(100vh - 135px - 96px);
  }
}
.top-pickup__item:nth-child(5).is-sticky {
  top: 0;
}
.top-pickup__item .body {
  background: url("../img/top/pickup_bg_02.jpg") no-repeat right center;
  background-size: cover;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: var(--vw-size74);
  justify-content: center;
}
@media screen and (max-width: 991px) {
  .top-pickup__item .body {
    padding: 30px 20px;
    justify-content: start;
  }
}
@media screen and (min-width: 992px) {
  .top-pickup__item .body .verticalText {
    writing-mode: vertical-rl;
    text-orientation: upright;
    -webkit-text-orientation: upright;
    -ms-text-orientation: upright;
    display: block;
    flex-shrink: 0;
  }
}
.top-pickup__item .body .tcu {
  text-combine-upright: all;
}
.top-pickup__item .body .subTtl {
  font-size: 17px;
  color: #a08c6e;
  line-height: 1;
  letter-spacing: 0.03em;
  margin-left: 30px;
}
@media screen and (min-width: 992px) {
  .top-pickup__item .body .subTtl {
    text-orientation: sideways-right;
    -webkit-text-orientation: sideways-right;
    -ms-text-orientation: sideways-right;
  }
}
@media screen and (max-width: 991px) {
  .top-pickup__item .body .subTtl {
    margin-left: 0;
    margin-bottom: 10px;
  }
}
.top-pickup__item .body .copy_textWrap {
  margin-top: clamp(20px, 3vw, 50px);
}
@media screen and (min-width: 992px) {
  .top-pickup__item .body .copy_textWrap {
    justify-content: center;
    flex-direction: row-reverse;
  }
}
@media screen and (max-width: 991px) {
  .top-pickup__item .body .copy_textWrap {
    display: block;
  }
}
.top-pickup__item .body .copy {
  justify-content: center;
  flex-direction: row-reverse;
}
@media screen and (max-width: 991px) {
  .top-pickup__item .body .copy {
    flex-direction: column;
  }
}
.top-pickup__item .body .copy h3 {
  font-size: clamp(20px, 1.6vw, 27px);
  line-height: 1.3;
  margin-left: 30px;
}
@media screen and (max-width: 991px) {
  .top-pickup__item .body .copy h3 {
    line-height: 1.7;
    margin-left: 0;
  }
}
@media screen and (min-width: 992px) {
  .top-pickup__item .body .copy_text {
    margin-left: 30px;
  }
}
.top-pickup__item .body .copy_text p {
  font-size: clamp(13px, 1.5vw, 15px);
  line-height: 2.4;
}
.top-pickup__item .body {
  /* PC用 横幅1250px x 高さ530px */
}
@media screen and (min-width: 1200px) and (min-height: 500px) {
  .top-pickup__item .body .copy_textWrap {
    margin-top: 0;
  }
  .top-pickup__item .body .copy_text small {
    font-size: 9px;
  }
}
.top-pickup__item:nth-of-type(odd) .frame {
  flex-direction: row-reverse;
}
@media screen and (max-width: 991px) {
  .top-pickup__item:nth-of-type(odd) .frame {
    flex-direction: column-reverse;
  }
}
.top-pickup__item:nth-of-type(odd) .body {
  background: url("../img/top/pickup_bg_01.jpg") no-repeat right center;
  background-size: cover;
}
@media screen and (min-width: 992px) {
  .top-pickup__item:nth-of-type(2n) .cap {
    left: 0;
    right: inherit;
  }
}
.top-pickup__item .top-pickup__kv {
  width: 50%;
  background: #fff;
}
@media screen and (max-width: 991px) {
  .top-pickup__item .top-pickup__kv {
    width: 100%;
    aspect-ratio: 12/6;
  }
}
.top-pickup__item .top-pickup__kv a {
  height: 100%;
  display: block;
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 991px) {
  .top-pickup__item .top-pickup__kv a {
    pointer-events: none;
  }
}
.top-pickup__item .top-pickup__kv a::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(22, 22, 22, 0.3);
  z-index: 1;
}
.top-pickup__item .top-pickup__kv a:after {
  transition: all 0.5s;
}
@media (hover: hover) {
  .top-pickup__item .top-pickup__kv a:hover:after {
    transform: scale(1.07);
  }
}
.top-pickup__item .top-pickup__kv h4 {
  font-size: clamp(32px, 4vw, 70px);
  color: #fff;
  letter-spacing: 0.01em;
  text-shadow: 0 0 12px #000;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 3;
}
.top-pickup__item .top-pickup__Btn {
  color: #a08c6e;
  background: #fff;
  border: 1px solid #a08c6e;
  padding: clamp(15px, 2vw, 20px) 5px;
  margin-top: auto;
  align-self: flex-start;
  display: block;
  position: relative;
  transition: all 0.2s;
}
@media screen and (max-width: 991px) {
  .top-pickup__item .top-pickup__Btn {
    max-width: 230px;
    margin: 50px auto 0;
    text-align: center;
  }
}
@media screen and (min-width: 992px) {
  .top-pickup__item .top-pickup__Btn {
    white-space: normal;
    writing-mode: vertical-rl;
    -ms-text-orientation: mixed;
    text-orientation: mixed;
    position: relative;
    -webkit-font-smoothing: antialiased;
  }
}
.top-pickup__item .top-pickup__Btn:after {
  content: "";
  background: url("../img/top/pickup_icon.svg") no-repeat center center;
  background-size: cover;
  position: absolute;
  top: -31px;
  left: 50%;
  transform: translateX(-50%);
  width: 4px;
  height: 31px;
}
@media (hover: hover) {
  .top-pickup__item .top-pickup__Btn:hover {
    color: #fff;
    background: #a08c6e;
  }
}
.top-pickup__item {
  /* iPhone SE用 */
}
@media screen and (max-width: 375px) and (max-height: 750px) {
  .top-pickup__item .top-pickup__kv {
    width: 100%;
    aspect-ratio: 12/4;
  }
  .top-pickup__item .top-pickup__Btn {
    margin: 40px auto 0;
  }
  .top-pickup__item .body .copy h3 {
    font-size: 18px;
  }
  .top-pickup__item .body .copy_text p {
    font-size: 12px;
  }
}

.js-top-pickup__item01 .top-pickup__kv a::after {
  content: "";
  background: url("../img/top/pickup_concept.webp") no-repeat center center;
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.js-top-pickup__item02 .top-pickup__kv a::after {
  content: "";
  background: url("../img/top/pickup_location.webp") no-repeat center center;
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.js-top-pickup__item03 .top-pickup__kv a::after {
  content: "";
  background: url("../img/top/pickup_access.webp") no-repeat center center;
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.js-top-pickup__item04 .top-pickup__kv a::after {
  content: "";
  background: url("../img/top/pickup_design.webp") no-repeat center center;
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.js-top-pickup__item05 .top-pickup__kv a::after {
  content: "";
  background: url("../img/top/pickup_plan.webp") no-repeat center center;
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

#end_pickupcontents {
  height: 100vh;
}
@media screen and (max-width: 991px) {
  #end_pickupcontents {
    height: auto;
  }
}
#end_pickupcontents {
  position: relative;
  z-index: 199;
  padding-bottom: 0;
}

@media screen and (max-width: 991px) {
  #end_pickupcontents .frame {
    height: auto;
  }
}

#all_contents-container,
#footer-container {
  position: relative;
  z-index: 199;
}