@charset "utf-8";

:root {
  --media_pc: 1680; /* VW計算用 calc(vw / var(--media_pc)) */
  --media_sp: 750;
}

.container .caption {
  line-height: 1.2;
}
.section{
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  line-height: 0;
}
.main_wrap{
  position: relative;
  max-width: 100%;
  width:100%;
  margin: 0 auto;
  height: auto;
  overflow: hidden;
}
.container{
  overflow: hidden;
}
.main_wrap > div.bg{
  object-fit: cover;
  margin: auto;
  position: relative;
  display: grid;
  place-content: center;
  width: 100%;
  height: 100vh;
  height: 100svh;
  height: calc(100vh - 105px);
  height: calc(100svh - 105px);
}
.main_wrap > div.bg_wrap {
  background: url(../img/plan/kv_pc.webp) no-repeat center;
  background-size: cover;
  position: absolute;
  top: 0;
  height: 100%;
  width: 100%;
  transform: scale(1.2);
  transition: transform 8s;
}
.loaded .main_wrap > div.bg_wrap {
  transform: scale(1);
  transition: transform 8s;
}
.bg h2 {
  width: 133px;
  margin: 0 auto;
  opacity:0;
}
.bg.active h2 {
  opacity:1;
  transition-duration: .5s;
}
.main_wrap > div.bg img{
/*   visibility: hidden; */
}
.main_wrap > div.bg .caption{
  position: absolute;
  bottom:0;
  right:0;
  margin:5px;
  font-size:12px;
  color:#fff;
}
.section{
  line-height: 0;
}
.contents_wrap{
  background-image: url("../img/plan/cont_bg_pc.webp");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  padding-bottom:140px;
}
.section.intro .page_copy {
  font-size: 35px;
  line-height: 1.714;
  text-align: center;
  padding: 96px 0;
  letter-spacing: 0.12em;
}

@media all and (min-width: 769px) {
  
}

@media all and (max-width: 768px) {
  .container{
    margin-top: 18.667vw;
  }
  .main_wrap{
    position: relative;
    max-width: 100%;
    width:100%;
    margin: 0 auto;
    height: auto;
    overflow: hidden;
    padding-bottom:106.667%;
  }
  .main_wrap > div.bg{
    height:auto;
    padding-bottom:106.667%;
    position: absolute;
    top:0;
    left:0;
  }
  .main_wrap > div.bg_wrap {
    background: url(../img/plan/kv_sp.webp) no-repeat center;
    background-size: cover;
  }
  .bg h2 {
    width: calc(117 / var(--media_sp) * 100vw);
    position: absolute;
    top:50%;
    left:50%;
    transform: translate(-50%,-50%);
  }
  .main_wrap > div.bg .caption{
    margin:0.667vw 1.333vw;
    font-size:2.667vw;
  }
  .contents_wrap{
    background-image: url("../img/plan/cont_bg_sp.webp");
    padding-bottom: calc(136 / var(--media_sp) * 100vw);
  }
  .section.intro .page_copy {
    font-size: calc(38 / var(--media_sp) * 100vw);
    line-height: 1.684;
    padding: calc(96 / var(--media_sp) * 100vw) 0;
  }
}

.section.point{
  width:100%;
  background-color:rgba(171,169,185,.2);
  padding:100px 0 140px;
}
.section_inner_wrap{
  width:95%;
  max-width:1280px;
  margin:0 auto;
  text-align: center;
}
.section_inner_wrap .copy p{
  font-size:27px;
  line-height:1;
  letter-spacing: 0.15em;
  margin-bottom:69px;
}
.point_wrap{
  width:100%;
  display:flex;
  gap:40px;
}
.point_wrap .point_box{
  width:400px;
  height:236px;
  position: relative;
  background: -webkit-linear-gradient(40deg, #58636d 0%, #7c8c9a 45%, #7c8c9a 50%, #7c8c9a 55%, #58636d 100%);
  background: -o-linear-gradient(40deg, #58636d 0%, #7c8c9a 45%, #7c8c9a 50%, #7c8c9a 55%, #58636d 100%);
  background: linear-gradient(130deg, #58636d 0%, #7c8c9a 45%, #7c8c9a 50%, #7c8c9a 55%, #58636d 100%);
}
.point_wrap .point_box::before{
  content:'';
  display:block;
  pointer-events: none;
  width:calc(100% - 10px);
  height:calc(100% - 10px);
  position: absolute;
  top:50%;
  left:50%;
  transform: translate(-50%,-50%);
  border:1px solid #aab0b5;
}
.point_wrap .point_box p{
  width:100%;
  font-size:27px;
  line-height:1.593;
  color:#fff;
  letter-spacing: 0.12em;
  position:absolute;
  top:50%;
  left:50%;
  transform: translate(-50%,-50%);
}
.point_wrap .point_box p span{
  font-size:15px;
  letter-spacing: 0.12em;
  display:block;
  margin-top:2px;
}

@media all and (max-width: 1300px) {
  .point_wrap{
    gap:3.125%;
  }
  .point_wrap .point_box{
    height:18.154vw;
  }
  .point_wrap .point_box p{
    font-size:2.077vw;
  }
  .point_wrap .point_box p span{
    font-size:1.154vw;
    margin-top:0.154vw;
  }
}

@media all and (max-width: 768px) {
  .section.point{
    padding:11.333vw 0 14.667vw;
  }
  .section_inner_wrap{
    width:89.333%;
    max-width:inherit;
  }
  .section_inner_wrap .copy p{
    font-size: calc(32 / var(--media_sp) * 100vw);
    line-height:1.688;
    margin-bottom: calc(40 / var(--media_sp) * 100vw);
  }
  .point_wrap{
    display:block;
    gap:0;
  }
  .point_wrap .point_box{
    width:100%;
    height:23.2vw;
    background: -webkit-linear-gradient(left, #58636d 0%, #7c8c9a 45%, #7c8c9a 50%, #7c8c9a 55%, #58636d 100%);
    background: -o-linear-gradient(left, #58636d 0%, #7c8c9a 45%, #7c8c9a 50%, #7c8c9a 55%, #58636d 100%);
    background: linear-gradient(to right, #58636d 0%, #7c8c9a 45%, #7c8c9a 50%, #7c8c9a 55%, #58636d 100%);
  }
  .point_wrap .point_box:nth-child(n+2){
    margin-top:2.667vw;
  }
  .point_wrap .point_box p{
    font-size: calc(30 / var(--media_sp) * 100vw);
    line-height:1.593;
    letter-spacing: 0.1em;
  }
  .point_wrap .point_box p span{
    font-size: calc(20 / var(--media_sp) * 100vw);
    margin-top: calc(2 / var(--media_sp) * 100vw);
    letter-spacing: 0.1em;
  }
}

.section.lineup{
  /*padding-top:112px;*/
  padding-top: 215px;
  margin-top: -104px;
}
h3{
  width:177px;
  margin:0 auto 44px;
}
.leadcopy p{
  font-size: 27px;
  line-height: 1.593;
  margin-bottom: 60px;
  letter-spacing: 0.13em;
}
.plan_wrap{
  width:100%;
  display:flex;
  flex-wrap: wrap;
  gap:60px 4.688%;
}
.plan_wrap .plan_box{
  width:47.656%;
  overflow: hidden;
}
.plan_wrap .plan_box a{
  width:100%;
  padding:30px 0;
  background: -webkit-linear-gradient(left, #a2c6e8 0%, #a7a3db 100%);
  background: -o-linear-gradient(left, #a2c6e8 0%, #a7a3db 100%);
  background: linear-gradient(to right, #a2c6e8 0%, #a7a3db 100%);
  display:flex;
  align-items: center;
  justify-content: flex-start;
  color:#fff;
  position: relative;
}
.plan_wrap .plan_box.soon a{
  pointer-events: none;
}
.plan_wrap .plan_box.soon a::before{
  content:'';
  display:block;
  width:100%;
  height:100%;
  position: absolute;
  top:0;
  left:0;
  background-color:rgba(22,42,52,.8);
}
.plan_wrap .plan_box.soon a::after{
  content:'';
  display:block;
  background-image: url("../img/plan/coming_soon.svg");
  background-repeat: no-repeat;
  width:30.812%;
  height:auto;
  padding-bottom:2.789%;
  position: absolute;
  top:50%;
  left:50%;
  transform: translate(-50%,-50%);
}
.plan_wrap .plan_box.limited a::before{
  content:'資料請求者様限定にてご案内中';
  display:inline-block;
  position: absolute;
  top:20px;
  right:20px;
  color:#fff;
  font-size:15px;
  line-height:1;
  letter-spacing: 0.04em;
  z-index: 1;
}
.plan_wrap .plan_box.limited a::after{
  content:'';
  display:block;
  width:100%;
  height:100%;
  position: absolute;
  top:0;
  left:0;
  background-color:rgba(22,42,52,.5);
}
.plan_wrap .plan_box.new a::before{
  content:'NEW';
  display:inline-block;
  position: absolute;
  top:20px;
  right:20px;
  color:#fff;
  font-size:15px;
  line-height:1;
  letter-spacing: 0.06em;
}
.plan_wrap .plan_box .type_wrap{
  width:108px;
  height:229px;
  background-color:rgba(255,255,255,.25);
  display:flex;
  justify-content: center;
  align-items: center;
  margin-right:6.557%;
  z-index: 1;
}
.plan_wrap .plan_box .type_wrap .type{
  font-size:20px;
  line-height:1;
  font-family: "AGaramondPro-Regular";
}
.plan_wrap .plan_box .type_wrap .type strong{
  display:block;
  font-size:50px;
  line-height:1;
  font-family: "AGaramondPro-Regular";
  margin-bottom:2px;
}
.plan_wrap .plan_box .p_txt_wrap{
  text-align: left;
  z-index: 1;
}
.plan_wrap .plan_box .p_txt_wrap p{
  font-size:29px;
  line-height:1;
  letter-spacing: 0.06em;
}
.plan_wrap .plan_box .p_txt_wrap p strong{
  font-size:36px;
  line-height:1;
}
.plan_wrap .plan_box .p_txt_wrap p.ldk{
  margin-bottom:33px;
}
.plan_wrap .plan_box .p_txt_wrap p.area{
  margin-bottom:37px;
}
.plan_wrap .plan_box .p_txt_wrap .label_wrap{
  display:flex;
  align-items: center;
  flex-wrap: wrap;
  gap:5px;
}
.plan_wrap .plan_box .p_txt_wrap .label_wrap p{
  font-size:17px;
  letter-spacing: 0.06em;
  background-color:#687791;
  padding:7px 10px 6px;
  box-sizing: border-box;
}
.plan_wrap .plan_box.limited .p_txt_wrap .label_wrap p{
  background-color:#495468;
}
.plan_wrap .plan_box .p_txt_wrap .label_wrap p.pick,
.plan_wrap .plan_box.limited .p_txt_wrap .label_wrap p.pick{
  background-color:#984355;
}

@media all and (max-width: 1300px) {
  .plan_wrap{
    gap:4.688vw 4.688%;
  }
  .plan_wrap .plan_box a{
    padding:2.308vw 0;
  }
  .plan_wrap .plan_box.limited a::before{
    top:1.538vw;
    right:1.538vw;
    font-size:1.154vw;
  }
  .plan_wrap .plan_box.new a::before{
    top:1.538vw;
    right:1.538vw;
    font-size:1.154vw;
  }
  .plan_wrap .plan_box .type_wrap{
    width:8.308vw;
    height:17.615vw;
  }
  .plan_wrap .plan_box .type_wrap .type{
    font-size:1.538vw;
  }
  .plan_wrap .plan_box .type_wrap .type strong{
    font-size:3.846vw;
    margin-bottom:0.154vw;
  }
  .plan_wrap .plan_box .p_txt_wrap p{
    font-size:2.231vw;
  }
  .plan_wrap .plan_box .p_txt_wrap p strong{
    font-size:2.769vw;
  }
  .plan_wrap .plan_box .p_txt_wrap p.ldk{
    margin-bottom:2.538vw;
  }
  .plan_wrap .plan_box .p_txt_wrap p.area{
    margin-bottom:2.846vw;
  }
  .plan_wrap .plan_box .p_txt_wrap .label_wrap{
    gap:0.385vw;
  }
  .plan_wrap .plan_box .p_txt_wrap .label_wrap p{
    font-size:1.308vw;
    padding:0.538vw 0.769vw 0.462vw;
  }
}

@media all and (max-width: 768px) {
  .section.lineup{
    /*padding-top: calc(110 / var(--media_sp) * 100vw);*/
    padding-top: calc(248 / var(--media_sp) * 100vw);
    margin-top: calc(-138 / var(--media_sp) * 100vw);
  }
  h3{
    width: calc(206 / var(--media_sp) * 100vw);
    margin-bottom: calc(47 / var(--media_sp) * 100vw);
  }
  .leadcopy p{
    font-size: calc(32 / var(--media_sp) * 100vw);
    line-height: 1.688;
    margin-bottom: calc(57 / var(--media_sp) * 100vw);
  }
  .plan_wrap{
    display:block;
    gap:0;
  }
  .plan_wrap .plan_box{
    width:100%;
  }
  .plan_wrap .plan_box:nth-child(n+2){
    margin-top: calc(20 / var(--media_sp) * 100vw);
  }
  .plan_wrap .plan_box a{
    padding-top: calc(33 / var(--media_sp) * 100vw);
    padding-bottom: calc(33 / var(--media_sp) * 100vw);
  }
  .plan_wrap .plan_box.soon a::after{
    width:30.896%;
    padding-bottom:2.836%;
  }
  .plan_wrap .plan_box.limited a::before{
    top:2.667vw;
    right:2.667vw;
    font-size:2.195vw;
    letter-spacing: 0;
  }
  .plan_wrap .plan_box.new a::before{
    top:2.667vw;
    right:2.667vw;
    font-size:2.195vw;
  }
  .plan_wrap .plan_box .type_wrap{
    width:17.761%;
    height:33.733vw;
    margin-right:6.418%;
  }
  .plan_wrap .plan_box .type_wrap .type{
    font-size: calc(21.96 / var(--media_sp) * 100vw);
  }
  .plan_wrap .plan_box .type_wrap .type strong{
    font-size: calc(54.92 / var(--media_sp) * 100vw);
    margin-bottom: calc(2 / var(--media_sp) * 100vw);
  }
  .plan_wrap .plan_box .p_txt_wrap p{
    font-size: calc(31.84 / var(--media_sp) * 100vw);
  }
  .plan_wrap .plan_box .p_txt_wrap p strong{
    font-size: calc(39.54 / var(--media_sp) * 100vw);
  }
  .plan_wrap .plan_box .p_txt_wrap p.ldk{
    margin-bottom: calc(35 / var(--media_sp) * 100vw);
  }
  .plan_wrap .plan_box .p_txt_wrap p.area{
    margin-bottom: calc(37 / var(--media_sp) * 100vw);
  }
  .plan_wrap .plan_box .p_txt_wrap .label_wrap{
    gap:0.8vw;
  }
  .plan_wrap .plan_box .p_txt_wrap .label_wrap p{
    font-size:2.488vw;
    padding:1.067vw 1.2vw;
  }
}

/***眺望***/

.view_wrap{
  width:100%;
  text-align: center;
  padding-top:113px;
}
.inner_view_wrap{
  width:100%;
}
.inner_view_wrap h3{
  width:121px;
  margin:0 auto 56px;
}
.containerbox .cap {
  position: absolute;
  bottom: 0;
  right:0;
  margin:2px 5px;
  font-size: 12px;
  text-shadow: #fff 0 0 10px,#fff 0 0 10px;
}
.containerbox {
  overflow: hidden;
  position: relative;
  height: 35.714vw;
  max-height:600px;
  cursor: move;
}
.panoramixImg {
  width: auto;
  max-width: none;
  height: 100%;
  position: absolute;
  margin: auto;
}
.pano {
  width: 100%;
  height: 100%;
  margin: 0 auto;
}
.pano .controls {
  position: relative;
  width:100%;
  height:100%;
  pointer-events: none;
}
.pano .controls div {
  position: absolute;
  display: block;
  text-decoration: none;
  top: 50%;
  transform: translate(0,-50%);
  width: 81px;
  z-index: 99;
  transition: all 0.3s ease-in-out 0s;
  cursor: pointer;
  pointer-events: auto;
}
.containerbox img{
  -webkit-touch-callout:none;
  -webkit-user-select:none;
  -moz-touch-callout:none;
  -moz-user-select:none;
  user-select:none;
  touch-callout:none;
}
.pano .controls div.left {
  left: 30px;
}
.pano .controls div.right {
  right: 30px;
}
.pano .controls div.left:hover {
  opacity: 0.8;
  left: 20px;
}
.pano .controls div.right:hover {
  opacity: 0.8;
  right: 20px;
}

@media all and (max-width: 768px) {
  .view_wrap{
    padding-top: calc(112 / var(--media_sp) * 100vw);
  }
  .inner_view_wrap h3{
    width:18.8%;
    margin:0 auto calc(50 / var(--media_sp) * 100vw);
  }
  .inner_view_wrap .leadcopy p {
    margin-bottom: calc(40 / var(--media_sp) * 100vw);
  }
  .containerbox .cap {
    margin:0.267vw 0.667vw;
    font-size: calc(20 / var(--media_sp) * 100vw);
  }
  .containerbox {
    height: 80vw;
    max-height:inherit;
  }
  .pano .controls div {
    width: 10.8%;
  }
  .pano .controls div.left {
    left: 2.667%;
  }
  .pano .controls div.right {
    right: 2.667%;
  }
  .pano .controls div.left:hover {
    left: 1.333%;
  }
  .pano .controls div.right:hover {
    right: 1.333%;
  }
}

