/* ===================================================================
   CSS Variables
=================================================================== */
:root {
  --f-ja: "Shippori Mincho", serif;
  --f-en: "Montserrat", sans-serif;
}
/* plan */
.page-under {
  .secheader {
    background: #efefef;
  }
  .sp-menu {
    background: #efefef;
  }
}
.page-under .main-title {
  margin: 0 auto;
  width: 100%;
  padding: 290px 0 38px;
  font-family: var(--en-font);
  font-size: 30px;
  font-weight: 300;
  line-height: 1.3;
  text-align: center;
  background-color: #efefef;
  color: #4d4a52;
}
.page-under .main-title .main-title-jp {
  display: block;
  font-family: var(--sub-font);
  font-size: 20px;
  font-weight: 400;
}


#plan {
}
#plan .contents {
}
#plan .contents .sec-01 {
  margin: 0 auto;
  padding: 120px 0 50px;
  width: 100%;
}
#plan .contents .sec-01 .inner {
  margin: 0 auto;
  width: 100%;
  max-width: 720px;
  color: var(--black);
  font-family: var(--f-ja);
  text-align: center;
}
#plan .contents .sec-01 .inner .main-copy {
  margin-bottom: 50px;
  font-size: 26px;
  line-height: 2;
}
#plan .contents .sec-01 .inner .main-lead {
  margin-bottom: 142px;
  font-size: 16px;
  line-height: 2.5;
}
#plan .contents .sec-01 .inner .plan-grade {
  margin-bottom: 8px;
  font-family: var(--f-en);
  font-size: 36px;
  font-weight: 300;
  line-height: 1.1;
}
#plan .contents .sec-01 .inner .plan-grade-jp {
  font-size: 18px;
  line-height: 2;
}
#plan .contents .sec-01 .inner .plan-box {
  display: flex;
  justify-content: space-between;
  width: 100%;
}
#plan .contents .sec-01 .inner .plan-box .plan-info {
  padding: 32px 0 0;
  width: 69.584%;
}
#plan .contents .sec-01 .inner .plan-box .plan-info .box {
  width: 100%;
}
#plan .contents .sec-01 .inner .plan-box .plan-info .box + .box {
  margin-top: 20px;
}
#plan .contents .sec-01 .inner .plan-box .plan-info .box .box-tit {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 20px 9px;
  color: var(--white);
  font-family: var(--f-en);
  font-weight: 300;
  line-height: 1;
  background-color: #746342;
}
#plan
  .contents
  .sec-01
  .inner
  .plan-box
  .plan-info
  .box:nth-of-type(2)
  .box-tit {
  background-color: #c0b194;
}
#plan
  .contents
  .sec-01
  .inner
  .plan-box
  .plan-info
  .box:nth-of-type(3)
  .box-tit {
  background-color: #ccc79f;
}
#plan .contents .sec-01 .inner .plan-box .plan-info .box-tit .tit {
  font-size: 21px;
}
#plan .contents .sec-01 .inner .plan-box .plan-info .box-tit .floor {
  font-size: 21px;
}
#plan .contents .sec-01 .inner .plan-box .plan-info .box-text {
  padding: 17px 20px;
  font-family: var(--f-ja);
  font-size: 16px;
  line-height: 1.43;
  text-align: left;
  letter-spacing: normal;
  background-color: #e8e8e8;
}
#plan .contents .sec-01 .inner .plan-box .plan-img {
  width: 30.416%;
}
@media screen and (max-width: 767px) {
  #plan .contents .sec-01 {
    padding: 16.8vw 0;
  }
  #plan .contents .sec-01 .inner {
    width: 92%;
    max-width: inherit;
    text-align: left;
  }
  #plan .contents .sec-01 .inner .main-copy {
    margin-bottom: 4vw;
    padding: 0 0 0 4.266vw;
    font-size: 5.866vw;
  }
  #plan .contents .sec-01 .inner .main-lead {
    margin-bottom: 21.333vw;
    padding: 0 0 0 4.266vw;
    font-size: 3.466vw;
  }
  #plan .contents .sec-01 .inner .plan-grade {
    margin-bottom: 2.666vw;
    padding: 0 0 0 3.333vw;
    font-size: 5.333vw;
  }
  #plan .contents .sec-01 .inner .plan-grade-jp {
    margin-bottom: 5.333vw;
    padding: 0 0 0 3.333vw;
    font-size: 4.266vw;
  }
  #plan .contents .sec-01 .inner .plan-box {
    display: flex;
    justify-content: space-between;
    width: 100%;
  }
  #plan .contents .sec-01 .inner .plan-box .plan-info {
    padding: 2.666vw 0 0;
    width: 67%;
  }
  #plan .contents .sec-01 .inner .plan-box .plan-info .box + .box {
    margin-top: 3.6vw;
  }
  #plan .contents .sec-01 .inner .plan-box .plan-info .box .box-tit {
    padding: 3vw 4.266vw 2vw;
  }
  #plan .contents .sec-01 .inner .plan-box .plan-info .box-tit .tit {
    font-size: 4.533vw;
  }
  #plan .contents .sec-01 .inner .plan-box .plan-info .box-tit .floor {
    font-size: 4.533vw;
  }
  #plan .contents .sec-01 .inner .plan-box .plan-info .box-text {
    padding: 3vw 3.266vw 2vw;
    font-size: 3.166vw;
  }
  #plan .contents .sec-01 .inner .plan-box .plan-img {
    width: 33%;
  }
}

/*sec-02 sec-03*/
#plan .contents .sec-02 {
  margin: 0 auto;
  padding: 80px 0 120px;
  width: 100%;
  color: var(--base-color);
  text-align: center;
  background: linear-gradient(to bottom, #ccc79f 10%, #ffffff);
}
#plan .contents .sec-03 {
  margin: 0 auto;
  padding: 80px 0 120px;
  width: 100%;
  color: var(--base-color);
  text-align: center;
  background: linear-gradient(to bottom, #c0b194 10%, #f2eee8 81%, #ffffff);
}

#plan .contents .tit-en {
  font-family: var(--f-en);
  font-size: 36px;
  line-height: 1.1;
}
#plan .contents .tit-jp {
  margin-bottom: 50px;
  font-family: var(--f-ja);
  font-size: 18px;
  line-height: 2;
}
#plan .contents .sec-03 .tit-jp {
  margin-bottom: 20px;
}
#plan .contents .sxecutive-text {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 60px;
  height: 60px;
  font-family: var(--f-ja);
  font-size: 16px;
  line-height: 2.5;
  background: url(../../plan/img/bg_text.png) no-repeat center;
}
#plan .contents .sxecutive-text sup {
    font-size: 75.5%;
    vertical-align: top;
    position: relative;
    bottom: -0.2em;
}

#plan .contents .sxecutive-text-cap {
    font-family: var(--f-ja);
  font-size: min(1.2vw, 13px);
  margin-bottom: 60px;
}

#plan .contents .inner {
  margin: 0 auto;
  width: 100%;
  max-width: 1060px;
}
#plan .contents .inner .plan-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 30px 0;
  width: 100%;
}
#plan .contents .inner .plan-list li {
  width: 49%;
}

#plan .contents .inner .plan-list li .new {
position: absolute;
    z-index: 2;
    top: 0px;
    left: 0px;
    font-family: var(--f-ja);
  background: #a80202;
  color: #fff;
  font-size: 11px;
  padding:2px 10px;
}


#plan .contents .inner .plan-list li.limited-type .limited {
   position: absolute;
   z-index: 2;
   top: 5px;
   right: 5px;
    font-family: var(--f-ja);
    color: #fff;
    background: #c99797;
    font-size: 13px;
    padding: 5px 10px;
}

#plan .contents .inner .plan-list li.limited-type a dl dd {
    margin-top: 20px;
}


#plan .contents .inner .plan-list li a {
  width: 100%;
  transition: all 0.3s ease-in-out;
    position: relative;
    display: inline-block;
}
#plan .contents .inner .plan-list li a:hover {
  opacity: 0.8;
}
#plan .contents .inner .plan-list li a dl {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 18px 15px 25px;
  width: 100%;
  height: 177px;
  font-family: var(--f-en);
  font-weight: 300;
  box-sizing: border-box;
}
#plan .contents .sec-02 .inner .plan-list li a dl {
  background: url(../../plan/img/bg_list01.png) no-repeat;
  background-size: 100% auto;
}
#plan .contents .sec-03 .inner .plan-list li a dl {
  background: url(../../plan/img/bg_list02.png) no-repeat;
  background-size: 100% auto;
}
#plan .contents .inner .plan-list li a dl dt {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  padding: 20px 0 0;
  width: 34.285%;
  font-size: 30px;
  line-height: 1;
}
#plan .contents .inner .plan-list li a dl dt small {
  display: block;
  padding: 6px 0 0;
  font-size: 24px;
  line-height: 1;
}
#plan .contents .inner .plan-list li a dl dt span {
    display: block;
    padding: 6px 0 0;
    font-size: 20px;
    line-height: 1;
}
#plan .contents .inner .plan-list li a dl dd {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
  color: var(--white);
  width: 59.183%;
  font-size: 38px;
  line-height: 1;
  text-align: left;
}
#plan .contents .inner .plan-list li a dl dd p {
  width: 100%;
}
#plan .contents .inner .plan-list li a dl dd p + p {
  margin-top: 14px;
}
#plan .contents .inner .plan-list li a dl dd span {
  margin-left: 10px;
  font-size: 20px;
}
#plan .contents .inner .plan-list li a dl dd span.shipo {
  margin: 0 7px 0 0;
  font-family: var(--f-ja);
}
#plan .contents .inner .plan-list li a dl dd small {
  font-size: 24px;
}

/*
#plan .reserve-box {
  margin: 130px auto 90px;
  color: #4d4a52;
}
#plan .nomal .reserve-box {
  margin:0px auto 0px;
}
*/


/***限定間取り***/
#plan .contents .limited_plan .sec-03 {
    background: url(../../limited/img/bg.webp) repeat-x center top;
    background-size: cover;
    background-position: bottom;
}

#plan .contents .limited_plan .tit-en {
  color: #fff;
}

#plan .contents .limited_plan .tit-jp {
  color: #fff;
}

#plan .contents .limited_plan  .limited-text {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 40px;
    margin-bottom: 60px;
    font-family: var(--f-ja);
    font-size: 16px;
    line-height: 2.5;
    color: #fff;
}
#plan .contents .limited_plan .limited-text span {
  border-top: 1px solid #fff;
  border-bottom: 1px solid #fff;
  padding: 30px 0;
}
#plan .contents .limited_plan .sec-03 .inner .plan-list li a dl {
    background: url(../../plan/img/bg_list_limited.png) no-repeat;
    background-size: 100% auto;
}
#plan .contents .limited_plan .inner .plan-list li a dl dt {
    color: #fff;
}
#plan .contents .limited_plan .inner .plan-list li {
    position: relative;
}
#plan .contents .limited_plan .inner .plan-list li .limited {
   position: absolute;
   z-index: 2;
   top: 5px;
   right: 5px;
    font-family: var(--f-ja);
    color: #fff;
    background: #0000003d;
    font-size: 13px;
    padding: 5px 10px;
}
#plan .contents .limited_plan .inner .plan-list li a dl dd {
    margin-top: 20px;
}


@media screen and (max-width: 1200px) {
  #plan .contents .sec-02 {
    padding: 6.666vw 0 10vw;
  }
  #plan .contents .sec-03 {
    padding: 6.666vw 0 14.166vw;
  }
  #plan .contents .tit-en {
    font-size: 3vw;
  }
  #plan .contents .tit-jp {
    margin-bottom: 4.166vw;
    font-size: 1.5vw;
  }
  #plan .contents .inner {
    width: 85.833%;
  }
  #plan .contents .inner .plan-list {
    gap: 2.5vw 0;
  }
  #plan .contents .inner .plan-list li a dl {
    padding: 1.5vw 1.25vw 2.08vw;
    height: 14.75vw;
  }
  #plan .contents .inner .plan-list li a dl dt {
    padding: 1.666vw 0 0;
    font-size: 2.5vw;
  }
  #plan .contents .inner .plan-list li a dl dt small {
    padding: 0.5vw 0 0;
    font-size: 2vw;
  }
  #plan .contents .inner .plan-list li a dl dd {
    font-size: 3.166vw;
  }
  #plan .contents .inner .plan-list li a dl dd p + p {
    margin-top: 1.166vw;
  }
  #plan .contents .inner .plan-list li a dl dd span {
    margin-left: 0.833vw;
    font-size: 1.666vw;
  }
  #plan .contents .inner .plan-list li a dl dd span.shipo {
    margin: 0 0.583vw 0 0;
  }
  #plan .contents .inner .plan-list li a dl dd small {
    font-size: 2vw;
  }
  #plan .reserve-box {
            margin: 0 auto 60px;
  }
}
@media screen and (max-width: 767px) {

.page-under .main-title {
        text-align: left;
        padding: 100px 5% 30px;
        font-size: 24px;
    }
.page-under .contents .main-title span {
        margin-top: 10px;
        font-size: 16px;
    }

  #plan .contents .sec-02 {
    padding: 10.666vw 0 16vw;
    text-align: left;
  }
  #plan .contents .sec-03 {
    padding: 10.666vw 0 16vw;
    text-align: left;
  }
  #plan .contents .tit-en {
    padding: 0 0 0 6.666vw;
    font-size: 5.333vw;
  }
  #plan .contents .tit-jp {
    margin-bottom: 8vw;
    padding: 0 0 0 6.666vw;
    font-size: 4.266vw;
  }
  #plan .contents .sec-03 .tit-jp {
    margin-bottom: 2vw;
  }
  #plan .contents .sxecutive-text {
    display: block;
    margin-bottom: 6vw;
    padding: 6vw 0 6vw 6.666vw;
    height: auto;
    font-size: 3.466vw;
    line-height: 2.1;
    background: url(../../plan/img/sp/bg_text.png) no-repeat center left;
    background-size: 100% auto;
  }

#plan .contents .sxecutive-text-cap {
  padding: 0 6.666vw 0;
  font-size: min(2.6vw, 13px);
  margin-bottom: 6vw;
  text-align: left;
  text-indent: -1em;
  margin-left: 1em;
}

  #plan .contents .inner {
    width: 92%;
    max-width: inherit;
  }
  #plan .contents .inner .plan-list {
    gap: 5.333vw 0;
    width: 100%;
  }
  #plan .contents .inner .plan-list li {
    width: 100%;
  }
  #plan .contents .inner .plan-list li a dl {
    padding: 3vw 2.666vw 4.4vw;
    height: 30.666vw;
  }
  #plan .contents .sec-02 .inner .plan-list li a dl {
    background: url(../../plan/img/sp/bg_list01.png) no-repeat;
    background-size: 100% auto;
  }
  #plan .contents .sec-03 .inner .plan-list li a dl {
    background: url(../../plan/img/sp/bg_list02.png) no-repeat;
    background-size: 100% auto;
  }
  #plan .contents .inner .plan-list li a dl dt {
    padding: 4vw 0 0;
    width: 33.846%;
    font-size: 5.333vw;
  }
  #plan .contents .inner .plan-list li a dl dt small {
    display: block;
    padding: 1.6vw 0 0;
    font-size: 4.266vw;
    line-height: 1;
  }
  #plan .contents .inner .plan-list li a dl dd {
    width: 60.7693%;
    font-size: 6.933vw;
  }
  #plan .contents .inner .plan-list li a dl dd p + p {
    margin-top: 2vw;
  }
  #plan .contents .inner .plan-list li a dl dd span {
    margin-left: 1.6vw;
    font-size: 3.733vw;
  }
  #plan .contents .inner .plan-list li a dl dd span.shipo {
    margin: 0 1.2vw 0 0;
  }
  #plan .contents .inner .plan-list li a dl dd small {
    font-size: 4.266vw;
  }

  /*
  #plan .reserve-box {
    margin: 19.6vw auto 16vw;
  }*/
}

 @media screen and (max-width: 767px) {


#plan .contents .limited_plan .tit-en {
    text-align: center;
}
#plan .contents .limited_plan .tit-jp {
    text-align: center;
}
#plan .contents .limited_plan .limited-text span {
        font-size: 3.466vw;
    padding: 20px 0;
}
#plan .contents .inner .plan-list li.limited-type .limited {
        top: 2px;
        right: 2px;
        font-size: min(2.6vw, 13px);
  }

#plan .contents .limited_plan .inner .plan-list li .limited {
     top: 2px;
   right: 2px;
    font-size: min(2.6vw, 13px);
}
 }



@media screen and (max-width: 767px) {
  #plan .note-box {
    margin: 0 auto;
  }
}




/*****Equipment******/
#plan .contents .sec-04 {
    margin: 0 auto;
    padding: 0px 0 60px;
    width: 100%;
    color: var(--base-color);
    text-align: center;
}


#plan .contents .sec-04 .tit-jp {
  margin-bottom: 20px;
}

#plan .contents .sec-04 h3 {
  font-size: 26px;
      font-family: var(--f-en);
      color: var(--base-color);
    text-align: center;
    margin-bottom: 20px;
}

.equipment_box {
    margin: 0 auto 80px;
    width: 100%;
    max-width: 1060px;
    display: flex;
justify-content: space-between;
flex-wrap: wrap;
}
@media screen and (max-width: 1200px) {
.equipment_box {
        width: 85.833%;
    }
}

.equipment_box .equipment_in {
  width: 32%;
}
.equipment_box .equipment_in.wide {
  width: 49%;
}

.equipment_box.others .equipment_in.wide {
  margin-bottom: 60px;
}

.equipment_box .equipment_in .eq_image {
position: relative;
margin-bottom: 10px;
}
.equipment_box .equipment_in .eq_image .cap {
position: absolute;
    font-size: 12px;
    line-height: 1;
    position: absolute;
    right: 10px;
    bottom: 13px;
    color: #fff;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5), -1px 1px 2px rgba(0, 0, 0, 0.5), 1px -1px 2px rgba(0, 0, 0, 0.5), -1px -1px 2px rgba(0, 0, 0, 0.5);
}
.equipment_box .equipment_in .eq_image .cap.select_1 {
  font-size: 11px;
  left: 10px;
  right: auto;
}
.equipment_box .equipment_in .eq_image .cap.select_2 {
  font-size: 11px;
  left: 35%;
  right: auto;
}
.equipment_box .equipment_in .eq_image .cap.select_3 {
  font-size: 11px;
    left: 70%;
  right: auto;
}
.equipment_box .equipment_in .eq_image .cap.select_harf {
  font-size: 11px;
    left: 52%;
  right: auto;
}
.equipment_box .equipment_in .eq_image .cap.up_1 {
  font-size: 11px;
   right: 52%;
   top: 13px;
 bottom: auto;
}
.equipment_box .equipment_in .eq_image .cap.up_2 {
  font-size: 11px;
   right: 10px;
   top: 13px;
 bottom: auto;
}

.equipment_box .equipment_in .equip_title {
text-align: left;
font-size: min(1.6vw, 17px);
margin-bottom: 10px;
}
.equipment_in .equip_text {
text-align: left;
font-size: min(1.1vw, 15px);
letter-spacing: 0;
}

/***トグル***/
.open_button {
  display: block;
  width: 80%;
  max-width: 300px;
  margin: 0 auto;
  margin-top: 10px;
  border:1px solid #4D4A52;
  position: relative;
  text-align: center;
  padding: 20px 0;
      font-size: 18px;
    font-family: var(--f-en);
    color: var(--base-color);
    line-height: 1;
    z-index:2 ;
    cursor: pointer;
        transition: all .3s ease-in-out;
}
.open_button.opened{
 margin-top: -60px;
}
.open_button:hover {
  background: #f0f0f0;
  border: 1px solid #bfbdc3;
}

.open_button.close .close {
  display: none;
}
.open_button.close .close {
  display: none;
}

.open_button::after {
content: "";
        position: absolute;
        top: 50%;
        left: 85%;
        transform: translate(-50%, -50%);
        z-index:2 ;
        width: 16px;
        height: 16px;
         background-image: url(../../plan/img/open_icon.svg);
 background-repeat: no-repeat;
 background-size: cover;
}
.open_button.opened::after {
  background-image: url(../../plan/img/close_icon.svg);
}
.ac_wrapp {
  position: relative;
  max-height: 300px;
  margin-bottom: 0px;
  overflow: hidden;
  transition: max-height .8s ease;
}

@media screen and (max-width: 1000px) {
   .ac_wrapp {max-height: 260px;}
}

.ac_wrapp::before {
    content: "";
    position: absolute;
    z-index: 2;
    bottom: 0%;
    left: 0%;
    width: 100vw;
    height: 80px;
    background: #ffffffc2;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 50%);
    /* display: none; */
}
.ac_wrapp.open::before {
  display: none;
}



@media screen and (max-width: 767px) {
    #plan .contents .sec-04 {
        padding: 10.666vw 0 0vw;
        text-align: left;
    }
    #plan .contents .tit-en {
        padding: 0 0 0 6.666vw;
        font-size: 5.333vw;
    }

#plan .contents .sec-04 h3 {
          margin-bottom: 2vw;
        padding: 0 0 0 6.666vw;
        font-size: 4.8vw;
        text-align: left;
}

.equipment_box {
    margin: 0 auto 40px;
}


.equipment_box .equipment_in {
    width: 100%;
    margin-bottom: 40px;
}
.equipment_box .equipment_in:last-child {
  margin-bottom: 20px;
}

.equipment_box .equipment_in.wide {
    width: 100%;
    margin-bottom: 40px;
}
.equipment_box.others .equipment_in.wide {
    margin-bottom: 40px;
}
.equipment_box.others .equipment_in.wide:last-child {
    margin-bottom: 0px;
}
.equipment_box .equipment_in .equip_title {
    font-size: min(4vw, 17px);
    margin-bottom: 10px;
}
.equipment_box .equipment_in .equip_text {
    font-size: min(3.8vw, 15px);
    letter-spacing: 0;
}

.open_button {
  width: 80%;
  max-width: inherit;
  margin: 0 auto;
  margin-top: -80px;
      font-size: 23px;
}
.open_button:hover {
  background: none;
  border:1px solid #4D4A52;
}


.ac_wrapp::before {
    height: 80px;
        background: linear-gradient(180deg,rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 80%);
}



.open_button.opened::before {
  display: none;
}.open_button.opened {
    margin-top: -80px;
}

.ac_wrapp {
  max-height: 300px;
  margin-bottom: 80px;
  overflow: hidden;
  transition: max-height .8s ease;
}


}




/* 詳細ページ */
#plan.detail {
}
#plan.detail .contents .type-title-box {
  padding: 265px 0 30px;
  font-family: var(--f-en);
  line-height: 1.3;
  text-align: center;
  background: #8c816c;
}
#plan.detail .nomal .contents .type-title-box {
  background-color: #efefef;
}
#plan.detail .contents .type-title-box .type-title {
  margin-bottom: 15px;
  color: var(--white);
  font-size: 48px;
  font-weight: 300;
}
#plan.detail .nomal .contents .type-title-box .type-title {
color: var(--black);
}

#plan.detail .contents .type-title-box .type-title small {
  display: inline-block;
  margin-left: 6px;
  font-size: 30px;
}
#plan.detail .contents .type-title-box .type-title span {
  display: block;
  color: var(--white);
  font-family: var(--f-en);
  font-size: 24px;
  font-weight: 300;
  line-height: 1;
}

#plan.detail .nomal .contents .type-title-box .type-title span {
  color: var(--black);
}

#plan.detail .contents .type-title-box .type-box {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 10px;
}
#plan.detail .contents .type-title-box .type-box p {
  display: inline-block;
  padding: 10px 22px;
  width: auto;
  color: var(--white);
  font-family: var(--f-en);
  font-size: 18px;
  font-weight: 300;
  line-height: 1;
  border: 1px solid var(--white);
}
#plan.detail .contents .detail-box {
  margin: 0 auto;
  padding: 90px 0;
  width: 100%;
}
#plan.detail .contents .detail-box .inner {
  margin: 0 auto;
  width: 100%;
  max-width: 1060px;
}
#plan.detail .contents .detail-box .inner .detail-head {
  margin: 0 auto;
  width: 96.415%;
  max-width: 1022px;
  color: var(--black);
  font-family: var(--f-ja);
  line-height: 1;
}
#plan.detail .contents .detail-box .inner .detail-head .detail-plan {
  font-size: 40px;
  font-weight: 500;
  letter-spacing: 0.04em;
}
#plan.detail .contents .detail-box .inner .detail-head .detail-plan span {
  margin-left: 5px;
  font-size: 24px;
  font-weight: 500;
}
#plan.detail .contents .detail-box .inner .detail-head .detail-excl {
  margin: 20px 0;
  font-size: 16px;
  font-weight: 400;
}
#plan.detail .contents .detail-box .inner .detail-head .detail-excl span {
  font-size: 36px;
  font-weight: 400;
  line-height: 26px;
}
#plan.detail .contents .detail-box .inner .detail-head .detail-area {
  margin-bottom: 40px;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.3;
}
#plan.detail .contents .detail-box .inner .detail-img {
  margin-bottom: 70px;
  padding: 50px 0;
  width: 100%;
  text-align: center;
  border: 1px solid #cccccc;
}
#plan.detail .contents .detail-box .inner .detail-img .img {
  margin: 0 auto;
  width: 90.566%;
  max-width: 960px;
}
#plan.detail .contents .detail-box .inner .page-navi {
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
  width: 79.245%;
  max-width: 840px;
}
#plan.detail .contents .detail-box .inner .page-navi.single {
  width: 47.62%;
  max-width: 400px;
}
#plan.detail .contents .detail-box .inner .page-navi li {
  width: 47.62%;
  max-width: 400px;
}
#plan.detail .contents .detail-box .inner .page-navi.single li {
  width: 100%;
}
#plan.detail .contents .detail-box .inner .page-navi li a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 70px;
  box-sizing: border-box;
}
#plan.detail .contents .detail-box .inner .page-navi li:first-of-type a {
  border: 1px solid var(--base-color);
}
#plan.detail .contents .detail-box .inner .page-navi li:nth-of-type(2) a {
  background: linear-gradient(to right, #d9c296, #a49270);
}
#plan.detail .contents .detail-box .inner .page-navi li a span {
  margin: 0 auto;
  width: 86%;
  font-family: var(--f-ja);
  font-size: 24px;
  line-height: 1;
  text-align: center;
}
#plan.detail .contents .detail-box .inner .page-navi li:first-of-type a span {
  background: url(../../plan/img/arrow02.svg) no-repeat left center;
  background-size: 26px auto;
}
#plan.detail .contents .detail-box .inner .page-navi li:nth-of-type(2) a span {
  color: var(--white);
  background: url(../../plan/img/arrow03.svg) no-repeat right center;
  background-size: 26px auto;
}
#plan.detail .contents .detail-box .inner .other-plan-tit {
  margin: 140px 0 63px;
  color: var(--black);
  font-family: var(--f-en);
  font-size: 36px;
  font-weight: 300;
  line-height: 1;
  text-align: center;
}
#plan.detail .contents .detail-box .inner .other-plan-tit span {
  display: block;
  padding: 20px 0 0;
  font-family: var(--f-ja);
  font-size: 18px;
  font-weight: 400;
}
#plan.detail .contents .detail-box .inner .plan-list {
  margin: 0 auto;
}
#plan.detail .contents .detail-box .inner .plan-list li.superior a dl {
  background: url(../../plan/img/bg_list01.png) no-repeat;
  background-size: 100% auto;
}
#plan.detail .contents .detail-box .inner .plan-list li.exective a dl {
  background: url(../../plan/img/bg_list02.png) no-repeat;
  background-size: 100% auto;
}
@media screen and (max-width: 1200px) {
  #plan.detail .contents .type-title-box {
    padding: 18.333vw 0 30px;
  }
  #plan.detail .contents .detail-box {
    padding: 7.5vw 0 0;
  }
  #plan.detail .contents .detail-box .inner {
    width: 88.333%;
  }
  #plan.detail .contents .detail-box .inner .detail-img {
    margin-bottom: 5.833vw;
    padding: 4.166vw 0;
  }
  #plan.detail .contents .detail-box .inner .page-navi li a {
    height: 5.833vw;
  }
  #plan.detail .contents .detail-box .inner .page-navi li a span {
    font-size: 2vw;
  }
  #plan.detail .contents .detail-box .inner .page-navi li:first-of-type a span {
    background-size: 2.166vw auto;
  }
  #plan.detail
    .contents
    .detail-box
    .inner
    .page-navi
    li:nth-of-type(2)
    a
    span {
    background-size: 2.166vw auto;
  }
  #plan.detail .contents .detail-box .inner .other-plan-tit {
    margin: 11.666vw 0 5.25vw;
    font-size: 3vw;
  }
  #plan.detail .contents .detail-box .inner .other-plan-tit span {
    padding: 1.666vw 0 0;
    font-size: 1.5vw;
  }
}
@media screen and (max-width: 767px) {
  #plan.detail .contents .type-title-box {
    padding: 17.333vw 4.533vw 8vw;
    /* font-size: 6.4vw; */
    text-align: left;
    box-sizing: border-box;
  }
  #plan.detail .contents .type-title-box .type-title {
    margin-bottom: 3vw;
    font-size: 9.6vw;
  }
  #plan.detail .contents .type-title-box .type-title small {
    margin-left: 2vw;
    font-size: 5.333vw;
  }
  #plan.detail .contents .type-title-box .type-title span {
    font-size: 4.266vw;
  }
  #plan.detail .contents .type-title-box .type-box {
    justify-content: flex-start;
    gap: 0 1.333vw;
  }
  #plan.detail .contents .type-title-box .type-box p {
    padding: 2vw 4.8vw;
    font-size: 3.733vw;
  }
  #plan.detail .contents .detail-box {
    padding: 10vw 0;
  }
  #plan.detail .contents .detail-box .inner {
    width: 92%;
    max-width: inherit;
  }
  #plan.detail .contents .detail-box .inner .detail-head {
    width: 91.3%;
    max-width: inherit;
  }
  #plan.detail .contents .detail-box .inner .detail-head .detail-plan {
    font-size: 6.933vw;
  }
  #plan.detail .contents .detail-box .inner .detail-head .detail-plan span {
    margin-left: 1.6vw;
    font-size: 4.266vw;
  }
  #plan.detail .contents .detail-box .inner .detail-head .detail-excl {
    margin: 3.333vw 0;
    font-size: 3.733vw;
  }
  #plan.detail .contents .detail-box .inner .detail-head .detail-excl span {
    font-size: 6.933vw;
    line-height: 6vw;
  }
  #plan.detail .contents .detail-box .inner .detail-head .detail-area {
    margin-bottom: 12vw;
    font-size: 3.733vw;
    line-height: 2;
  }
  #plan.detail .contents .detail-box .inner .detail-img {
    margin-bottom: 10.666vw;
    padding: 0;
    width: 100%;
    border: none;
  }
  #plan.detail .contents .detail-box .inner .detail-img .img {
    width: 100%;
    max-width: inherit;
  }
  #plan.detail .contents .detail-box .inner .detail-img .img.s81nw {
    width: 100%;
  }
  #plan.detail .contents .detail-box .inner .page-navi {
    flex-wrap: wrap;
    flex-direction: column-reverse;
    gap: 3.2vw 0;
    width: 81.16%;
    max-width: inherit;
  }
  #plan.detail .contents .detail-box .inner .page-navi.single {
    width: 84%;
  }
  #plan.detail .contents .detail-box .inner .page-navi li {
    width: 100%;
    max-width: inherit;
  }
  #plan.detail .contents .detail-box .inner .page-navi li a {
    height: 16vw;
  }
  #plan.detail .contents .detail-box .inner .page-navi li a span {
    font-size: 5.333vw;
  }
  #plan.detail .contents .detail-box .inner .page-navi li:first-of-type a span {
    background-size: 6.933vw auto;
  }
  #plan.detail .contents .detail-box .inner .page-navi li:last-of-type a span {
    background-size: 6.933vw auto;
  }
  #plan.detail .contents .detail-box .inner .other-plan-tit {
    margin: 24vw 0 8vw;
    font-size: 5.333vw;
  }
  #plan.detail .contents .detail-box .inner .other-plan-tit span {
    padding: 4vw 0 0;
    font-size: 4.266vw;
  }
  #plan.detail .contents .detail-box .inner .plan-list {
    margin: 0 auto;
  }
}

.contents .main-visual {
  overflow: hidden;
}
.contents .main-visual.img-fade img {
  transform: scale(1.05);
  filter: blur(10px) brightness(0.7);
  width: 100%;
  transition: transform 1s ease-out, filter 1s ease-out;
}
.contents .main-visual.img-fade.show img {
  transform: scale(1);
  filter: blur(0) brightness(1);
}

/****プランリスト****/

#plan.detail .contents .detail-box .inner .plan-list.s-44n .s-44n {
    display: none;
}
#plan.detail .contents .detail-box .inner .plan-list.s-59nw .s-59nw {
    display: none;
}
#plan.detail .contents .detail-box .inner .plan-list.s-66ne .s-66ne {
    display: none;
}
#plan.detail .contents .detail-box .inner .plan-list.s-81nw .s-81nw {
    display: none;
}
#plan.detail .contents .detail-box .inner .plan-list.e-95ne .e-95ne {
    display: none;
}
#plan.detail .contents .detail-box .inner .plan-list.e-141se .e-141se {
    display: none;
}


#plan.detail .contents .detail-box .inner .plan-list.s40wa .s40wa {
    display: none;
}
#plan.detail .contents .detail-box .inner .plan-list.s62w .s62w {
    display: none;
}
#plan.detail .contents .detail-box .inner .plan-list.s66ne_menu1 .s66ne_menu1 {
    display: none;
}
#plan.detail .contents .detail-box .inner .plan-list.s71sw .s71sw {
    display: none;
}
#plan.detail .contents .detail-box .inner .plan-list.s85se .s85se {
    display: none;
}
#plan.detail .contents .detail-box .inner .plan-list.e116sw .e116sw {
    display: none;
}
#plan.detail .contents .detail-box .inner .plan-list.s118sw .s118sw {
    display: none;
}
