@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Cardo:wght@400;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Shippori+Mincho+B1:wght@400;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Herr+Von+Muellerhoff&display=swap");
@media only screen and (min-width: 768px) {
  .top-info {
    padding-top: 96px;
  }
}
@media only screen and (max-width: 767px) {
  .top-info {
    padding-top: 16vw;
  }
}

@media only screen and (min-width: 768px) {
  .top-feature {
    margin-bottom: 120px;
    padding: 120px 0 0;
  }
}
@media only screen and (max-width: 767px) {
  .top-feature {
    margin-bottom: 16vw;
    padding: 26.6666666667vw 0 0;
  }
}
.top-feature .wrap {
  width: 100vw;
  padding: 0;
}

.top-plan {
  position: relative;
  background: url("../img/top/bg-top-01@1.5x.jpg") no-repeat center/cover;
}
@media only screen and (min-width: 768px) {
  .top-plan {
    margin-bottom: 120px;
    padding: 160px 0;
  }
}
@media only screen and (max-width: 767px) {
  .top-plan {
    margin-bottom: 16vw;
    padding: 21.3333333333vw 0;
  }
}
.top-plan:before {
  background: -webkit-gradient(linear, left top, right top, from(rgba(51, 51, 51, 0.5)), to(rgba(153, 153, 153, 0.5)));
  background: linear-gradient(to right, rgba(51, 51, 51, 0.5), rgba(153, 153, 153, 0.5));
  content: "";
  left: 50%;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  height: 100%;
  width: 100%;
  z-index: 0;
}
.top-plan .wrap {
  position: relative;
  z-index: 1;
}

.mainVisual {
  line-height: 0;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
.mainVisual.slick-dotted.slick-slider {
  margin-bottom: 0;
}
.mainVisual .photo__image {
  width: 100%;
}
.mainVisual .slick-dots {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  bottom: 0;
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  left: 0;
  margin: 0;
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .mainVisual .slick-dots {
    bottom: 0;
    gap: 14px;
    padding: 16px 24px;
  }
}
@media only screen and (max-width: 767px) {
  .mainVisual .slick-dots {
    gap: 2.6666666667vw;
    padding: 2.1333333333vw;
  }
}
.mainVisual .slick-dots > li {
  background-color: rgba(255, 255, 255, 0.2);
  border-radius: 50%;
  height: auto;
  margin: 0;
  opacity: 1;
}
@media only screen and (min-width: 768px) {
  .mainVisual .slick-dots > li {
    height: 6px;
    width: 6px;
  }
}
@media only screen and (max-width: 767px) {
  .mainVisual .slick-dots > li {
    height: 0.8vw;
    width: 0.8vw;
  }
}
.mainVisual .slick-dots > li.slick-active {
  background-color: #ffffff;
  pointer-events: none;
}
.mainVisual .slick-dots > li button {
  height: 100%;
  padding: 0;
  width: 100%;
}
.mainVisual .slick-dots > li button:before {
  content: initial;
}

/* USP、価格帯は基本的に3〜4つ掲載 */
.uspArea {
  width: 100vw;
  height: auto;
  background: url("../img/top/bg-top-01@1.5x.jpg") no-repeat center;
  overflow: hidden;
  z-index: 1;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .uspArea {
    background-size: 100% auto;
  }
}
@media only screen and (max-width: 767px) {
  .uspArea {
    background-size: auto 100%;
  }
}
.uspArea:before {
  position: absolute;
  background-color: #fff;
  top: 50%;
  content: "";
  left: 50%;
  height: 1px;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 3;
}
@media only screen and (max-width: 767px) {
  .uspArea:before {
    max-width: 750px;
  }
}
.uspArea:after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 50%;
  z-index: 2;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
@media only screen and (min-width: 768px) {
  .uspArea:after {
    background: -webkit-gradient(linear, left top, right top, from(rgba(51, 51, 51, 0)), color-stop(rgba(51, 51, 51, 0)), color-stop(rgba(153, 153, 153, 0.3)), to(rgba(153, 153, 153, 0.4)));
    background: linear-gradient(to right, rgba(51, 51, 51, 0), rgba(51, 51, 51, 0), rgba(153, 153, 153, 0.3), rgba(153, 153, 153, 0.4));
  }
}
@media only screen and (max-width: 767px) {
  .uspArea:after {
    background: -webkit-gradient(linear, left top, right top, from(rgba(51, 51, 51, 0)), color-stop(rgba(153, 153, 153, 0.3)), to(rgba(153, 153, 153, 0.4)));
    background: linear-gradient(to right, rgba(51, 51, 51, 0), rgba(153, 153, 153, 0.3), rgba(153, 153, 153, 0.4));
  }
}
.uspArea .wrap {
  position: relative;
  z-index: 3;
}
@media only screen and (min-width: 768px) {
  .uspArea .wrap {
    width: 1345px;
  }
}
.uspArea + .caption {
  color: #999999;
  letter-spacing: 0.05em;
}
@media only screen and (min-width: 768px) {
  .uspArea + .caption {
    font-size: 12px;
    padding: 10px 20px;
  }
}
@media only screen and (max-width: 767px) {
  .uspArea + .caption {
    line-height: 1.8;
    font-size: 10px;
    padding: 2.5641025641vw 3.8461538462vw;
  }
}

.priceArea {
  background-color: #333333;
  color: #ffffff;
}

.txtList {
  padding: 20px 0;
}
@media only screen and (min-width: 768px) {
  .txtList {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    row-gap: 40px;
  }
}
@media only screen and (max-width: 767px) {
  .txtList {
    padding: 8vw 0;
  }
}
.txtList__item {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  color: #ffffff;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  line-height: 1.8;
  position: relative;
  white-space: nowrap;
}
@media only screen and (min-width: 768px) {
  .txtList__item {
    font-size: 20px;
    padding: 0 24px;
  }
}
@media only screen and (max-width: 767px) {
  .txtList__item {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    font-size: 3.0769230769vw;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 0 1.3333333333vw 2.6666666667vw;
  }
  .txtList__item:not(:first-child) {
    padding-top: 2.6666666667vw;
  }
}
@media only screen and (min-width: 768px) {
  .txtList__item:first-child {
    padding-left: 0;
  }
}
@media only screen and (min-width: 768px) {
  .txtList__item:last-child {
    padding-right: 0;
  }
}
@media only screen and (max-width: 767px) {
  .txtList__item:last-child {
    padding-bottom: 0;
  }
}
.txtList__item:last-child:after {
  display: none;
}
.txtList__item:after {
  background-color: rgba(204, 204, 204, 0.5);
  content: "";
  position: absolute;
  width: 1px;
}
@media only screen and (min-width: 768px) {
  .txtList__item:after {
    height: 100%;
    right: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}
@media only screen and (max-width: 767px) {
  .txtList__item:after {
    bottom: 0;
    height: 1px;
    left: 0;
    width: 100%;
  }
}
@media only screen and (min-width: 768px) {
  .txtList__item .line {
    line-height: 1.6;
  }
}
@media only screen and (min-width: 768px) {
  .txtList__item .line .small {
    font-size: 16px;
  }
}
@media only screen and (max-width: 767px) {
  .txtList__item .line .small {
    font-size: 3.5897435897vw;
  }
}
@media only screen and (min-width: 768px) {
  .txtList__item .size-l {
    font-size: 26px;
  }
}
@media only screen and (max-width: 767px) {
  .txtList__item .size-l {
    font-size: 4.6153846154vw;
  }
}
@media only screen and (min-width: 768px) {
  .txtList__item .size-m {
    font-size: 24px;
  }
}
@media only screen and (max-width: 767px) {
  .txtList__item .size-m {
    font-size: 4.1025641026vw;
  }
}
.txtList__item .num {
  background: -webkit-gradient(linear, left top, left bottom, from(#EBD7A2), to(#D8A82C));
  background: linear-gradient(to bottom, #EBD7A2, #D8A82C);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-family: "Cardo", serif;
  letter-spacing: 0.05em;
  line-height: 0.7;
}
@media only screen and (min-width: 768px) {
  .txtList__item .num {
    font-size: 30px;
  }
}
@media only screen and (max-width: 767px) {
  .txtList__item .num {
    font-size: 4.6153846154vw;
  }
}
@media only screen and (min-width: 768px) {
  .txtList__item .num.size-l {
    font-size: 34px;
  }
}
@media only screen and (max-width: 767px) {
  .txtList__item .num.size-l {
    font-size: 5.641025641vw;
  }
}
@media only screen and (min-width: 768px) {
  .txtList__item .num.size-m {
    font-size: 30px;
  }
}
@media only screen and (max-width: 767px) {
  .txtList__item .num.size-m {
    font-size: 4.1025641026vw;
  }
}
@media only screen and (min-width: 768px) {
  .txtList__item .num.size-s {
    font-size: 26px;
  }
}
@media only screen and (max-width: 767px) {
  .txtList__item .num.size-s {
    font-size: 4.1025641026vw;
  }
}
.txtList__item .colored {
  background: -webkit-gradient(linear, left top, left bottom, from(#EBD7A2), to(#D8A82C));
  background: linear-gradient(to bottom, #EBD7A2, #D8A82C);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  letter-spacing: 0;
}

/* 文字色変更不可。背景色は変更可能。 */
.newsArea {
  background-color: #f8f8f8;
  color: #000000;
  padding: 20px 40px;
}
@media only screen and (min-width: 768px) {
  .newsArea {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}
@media only screen and (max-width: 767px) {
  .newsArea {
    padding: 5.3333333333vw 4vw;
  }
}
.newsArea__ttl {
  font-size: 15px;
  line-height: 1.7333333333;
  margin-right: 20px;
}
@media only screen and (min-width: 768px) {
  .newsArea__ttl {
    border-right: 1px solid #cccccc;
    padding-right: 20px;
  }
}
@media only screen and (max-width: 767px) {
  .newsArea__ttl {
    border-bottom: 1px solid #cccccc;
    line-height: 0.7;
    margin-bottom: 5.3333333333vw;
    padding-bottom: 5.3333333333vw;
    text-align: center;
    width: 100%;
  }
}

.newsList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.newsList__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 16px;
  line-height: 1.8571428571;
  position: relative;
  text-align: left;
}
@media only screen and (max-width: 767px) {
  .newsList__item {
    font-size: 3.0666666667vw;
  }
}
.newsList__item .date {
  margin-right: 16px;
  white-space: nowrap;
}
@media only screen and (max-width: 767px) {
  .newsList__item .date {
    margin-right: 3.0666666667vw;
  }
}
.newsList__item .cont {
  display: inline-block;
  position: relative;
}
.newsList__item.is-new .cont:after {
  background-color: #ac2730;
  color: #fff;
  display: inline-block;
  content: "NEW";
  font-size: 10px;
  letter-spacing: 0;
  line-height: 1;
  padding: 5px;
}
@media only screen and (min-width: 768px) {
  .newsList__item.is-new .cont:after {
    position: absolute;
    right: -40px;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}
@media only screen and (max-width: 767px) {
  .newsList__item.is-new .cont:after {
    padding: 1.0666666667vw;
  }
}
.newsList__item + .newsList__item {
  margin-top: 15px;
}
@media only screen and (max-width: 767px) {
  .newsList__item + .newsList__item {
    margin-top: 4vw;
  }
}

.infoArea {
  padding-top: 120px;
}
@media only screen and (max-width: 767px) {
  .infoArea {
    padding-top: 16vw;
  }
}
.infoArea__ttl + .infoCont {
  margin-top: 60px;
}
@media only screen and (max-width: 767px) {
  .infoArea__ttl + .infoCont {
    margin-top: 8vw;
  }
}
.infoArea__inner {
  margin: 80px auto 0;
}
@media only screen and (max-width: 767px) {
  .infoArea__inner {
    margin-top: 13.3333333333vw;
  }
}

.infoCont {
  text-align: center;
}
.infoCont__txt {
  font-size: 28px;
  line-height: 1.7;
}
@media only screen and (max-width: 767px) {
  .infoCont__txt {
    font-size: 4.8vw;
    line-height: 2;
  }
}
.infoCont__txt + .infoCont__txt {
  margin-top: 30px;
}
@media only screen and (max-width: 767px) {
  .infoCont__txt + .infoCont__txt {
    margin-top: 6.6666666667vw;
  }
}

.guidanceCont {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border: 1px solid #cccccc;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 30px;
  padding: 40px;
}
@media only screen and (max-width: 767px) {
  .guidanceCont {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: 13.3333333333vw;
    padding: 8vw 5.3333333333vw;
  }
}
.guidanceCont__btn {
  width: 280px;
}
@media only screen and (max-width: 767px) {
  .guidanceCont__btn {
    width: 100%;
    margin: 5.3333333333vw auto 0;
  }
}
.guidanceCont + .cvBlock {
  margin-top: 50px;
}
@media only screen and (max-width: 767px) {
  .guidanceCont + .cvBlock {
    margin-top: 13.3333333333vw;
  }
}

.featureSect {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media only screen and (min-width: 768px) {
  .featureSect {
    gap: 9.0277777778vw;
  }
}
@media only screen and (max-width: 767px) {
  .featureSect {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
.featureSect__head {
  margin: auto 0;
}
.featureSect__visual {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .featureSect__visual {
    height: 51.875vw;
    width: 47.9166666667vw;
    gap: 0.6944444444vw;
  }
}
@media only screen and (max-width: 767px) {
  .featureSect__visual {
    gap: 1.6vw;
    margin-top: 15.3846153846vw;
  }
}
@media only screen and (min-width: 768px) {
  .featureSect__visual .photo:first-child {
    width: 8.3333333333vw;
  }
}
@media only screen and (max-width: 767px) {
  .featureSect__visual .photo:first-child {
    width: 17.3333333333vw;
  }
}
@media only screen and (min-width: 768px) {
  .featureSect__visual .photo:nth-child(2) {
    width: 38.8888888889vw;
  }
}
@media only screen and (max-width: 767px) {
  .featureSect__visual .photo:nth-child(2) {
    width: 81.0666666667vw;
  }
}
@media only screen and (min-width: 768px) {
  .featureSect__visual .photo:nth-child(3) {
    width: 30.625vw;
  }
}
@media only screen and (max-width: 767px) {
  .featureSect__visual .photo:nth-child(3) {
    width: 63.4666666667vw;
  }
}
@media only screen and (min-width: 768px) {
  .featureSect__visual .photo:nth-child(4) {
    width: 16.5972222222vw;
  }
}
@media only screen and (max-width: 767px) {
  .featureSect__visual .photo:nth-child(4) {
    width: 34.4vw;
  }
}
@media only screen and (min-width: 768px) {
  .featureSect__visual .photo:nth-child(5) {
    width: 20.6944444444vw;
  }
}
@media only screen and (max-width: 767px) {
  .featureSect__visual .photo:nth-child(5) {
    width: 42.9333333333vw;
  }
}
@media only screen and (min-width: 768px) {
  .featureSect__visual .photo:nth-child(6) {
    width: 26.5277777778vw;
  }
}
@media only screen and (max-width: 767px) {
  .featureSect__visual .photo:nth-child(6) {
    width: 55.2vw;
  }
}
@media only screen and (max-width: 767px) {
  .featureSect__visual .photo .cap--inRight {
    letter-spacing: 0;
    right: 3px;
    bottom: 3px;
  }
}
.featureSect__visual + .caption {
  color: #999999;
  letter-spacing: 0.05em;
}
@media only screen and (min-width: 768px) {
  .featureSect__visual + .caption {
    font-size: 12px;
    padding: 10px 0 0 10px;
    width: 47.9166666667vw;
  }
}
@media only screen and (max-width: 767px) {
  .featureSect__visual + .caption {
    line-height: 1.8;
    font-size: 10px;
    padding: 2.5641025641vw 3.8461538462vw;
  }
}
@media only screen and (max-width: 767px) {
  .featureSect__cont {
    padding: 0 6.4102564103vw;
  }
}
.featureSect__ttl .headingLv1 {
  text-align: left;
}
@media only screen and (min-width: 768px) {
  .featureSect__ttl .headingLv1 {
    font-size: 42px;
  }
}
@media only screen and (min-width: 768px) {
  .featureSect__ttl .headingLv1 .jp {
    padding-top: 16px;
    font-size: 16px;
  }
}
.featureSect__heading {
  line-height: 2;
  letter-spacing: 0.25em;
}
@media only screen and (min-width: 768px) {
  .featureSect__heading {
    margin-top: 6.9444444444vw;
    font-size: 2.7777777778vw;
  }
}
@media only screen and (max-width: 767px) {
  .featureSect__heading {
    margin-top: 7.6923076923vw;
    font-size: 7.6923076923vw;
  }
}
.featureSect__txt {
  line-height: 2.35;
}
@media only screen and (min-width: 768px) {
  .featureSect__txt {
    letter-spacing: 0.15em;
    margin-top: 2.5vw;
    font-size: 1.1111111111vw;
  }
}
@media only screen and (max-width: 767px) {
  .featureSect__txt {
    letter-spacing: 0em;
    margin-top: 7.6923076923vw;
    font-size: 3.5897435897vw;
  }
}

.featureArea {
  background-color: #E7E8DE;
  counter-reset: number 0;
  position: relative;
  overflow: hidden;
}
@media only screen and (min-width: 768px) {
  .featureArea {
    padding: 200px 0;
    margin-top: 160px;
  }
}
@media only screen and (max-width: 767px) {
  .featureArea {
    margin-top: 20.5128205128vw;
  }
}
@media only screen and (min-width: 768px) {
  .featureArea:before {
    position: absolute;
    background: url("../img/top/bg-top-02@1.5x.jpg") no-repeat center center;
    background-size: cover;
    content: "";
    z-index: 1;
    opacity: 0.5;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    width: 100vw;
    height: 100%;
  }
}
@media only screen and (min-width: 768px) {
  .featureArea__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 220px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
@media only screen and (max-width: 767px) {
  .featureArea__list {
    margin: 20.5128205128vw 3.8461538462vw;
  }
}
.featureArea__item {
  position: relative;
  z-index: 2;
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .featureArea__item:nth-child(even) .featureCard {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
@media only screen and (min-width: 768px) {
  .featureArea__item:nth-child(even) .featureCard:before {
    left: calc((100vw - var(--scrollbar) - 960px) / -2);
    right: unset;
  }
}
@media only screen and (min-width: 768px) {
  .featureArea__item:nth-child(even) .featureCard:after {
    left: calc((100vw - var(--scrollbar) - 960px) / -2);
    right: unset;
    border-right: 1px solid #666666;
    border-left: none;
  }
}
@media only screen and (min-width: 768px) {
  .featureArea__item:nth-child(even) .featureCard {
    padding: 20px 20px 20px 0;
  }
}
@media only screen and (max-width: 767px) {
  .featureArea__item + .featureArea__item {
    margin-top: 10.2564102564vw;
  }
}
@media only screen and (max-width: 767px) {
  .featureArea__item:before {
    background-color: #ffffff;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    content: "";
    opacity: 0.8;
  }
}
@media only screen and (max-width: 767px) {
  .featureArea__item:after {
    border: 1px solid rgba(51, 51, 51, 0.6);
    width: calc(100% - 5.1282051282vw);
    height: calc(100% - 5.1282051282vw);
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    content: "";
  }
}
.featureArea__cap {
  position: absolute;
  bottom: 10px;
  right: 10px;
}
@media only screen and (min-width: 768px) {
  .featureArea__cap {
    font-size: 12px;
  }
}
@media only screen and (max-width: 767px) {
  .featureArea__cap {
    display: none;
  }
}

.featureCard {
  margin: 0 auto;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .featureCard {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 60px;
    width: 960px;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}
@media only screen and (max-width: 767px) {
  .featureCard {
    padding: 7.6923076923vw 6.4102564103vw 10.2564102564vw;
  }
}
@media only screen and (min-width: 768px) {
  .featureCard:before {
    background-color: #ffffff;
    content: "";
    height: calc(100% + 120px);
    position: absolute;
    top: 50%;
    opacity: 0.8;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    width: calc(100% + (100vw - var(--scrollbar) - 960px) / 2 + 120px);
    right: calc((100vw - var(--scrollbar) - 960px) / -2);
    z-index: -1;
    padding: 20px 0 20px 20px;
  }
}
@media only screen and (min-width: 768px) {
  .featureCard:after {
    content: "";
    height: calc(100% + 80px);
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    width: calc(100% + (100vw - var(--scrollbar) - 960px) / 2 + 100px);
    right: calc((100vw - var(--scrollbar) - 960px) / -2);
    z-index: -1;
    border: 1px solid #666666;
    border-right: none;
    padding: 20px 0 20px 20px;
  }
}
@media only screen and (min-width: 768px) {
  .featureCard__head .photo__pic {
    width: 550px;
  }
}
@media only screen and (min-width: 768px) {
  .featureCard__cont {
    width: 350px;
  }
}
@media only screen and (max-width: 767px) {
  .featureCard__cont {
    margin-top: 16.6666666667vw;
  }
}
@media only screen and (max-width: 767px) {
  .featureCard__cont .generalBtn {
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
  }
}
.featureCard__ttl {
  position: relative;
}
.featureCard__ttl:before {
  font-family: "Herr Von Muellerhoff", cursive;
  counter-increment: number 1;
  content: "0" counter(number);
  position: absolute;
  left: 0;
  line-height: 1;
}
@media only screen and (min-width: 768px) {
  .featureCard__ttl:before {
    color: rgba(149, 119, 40, 0.2);
    top: -90px;
    font-size: 100px;
  }
}
@media only screen and (max-width: 767px) {
  .featureCard__ttl:before {
    color: rgba(149, 119, 40, 0.4);
    top: -15.3846153846vw;
    font-size: 15.3846153846vw;
  }
}
.featureCard__ttl .en {
  line-height: 0.8;
  color: rgba(149, 119, 40, 0.8);
  font-family: "Cardo", serif;
}
@media only screen and (min-width: 768px) {
  .featureCard__ttl .en {
    font-size: 50px;
  }
}
@media only screen and (max-width: 767px) {
  .featureCard__ttl .en {
    font-size: 7.6923076923vw;
  }
}
@media only screen and (min-width: 768px) {
  .featureCard__ttl .jp {
    margin-top: 24px;
    font-size: 18px;
  }
}
@media only screen and (max-width: 767px) {
  .featureCard__ttl .jp {
    font-size: 4.1025641026vw;
    margin-top: 1.5384615385vw;
  }
}
.featureCard__txt {
  line-height: 1.6;
  letter-spacing: 0.05em;
}
@media only screen and (min-width: 768px) {
  .featureCard__txt {
    margin-top: 30px;
    font-size: 16px;
  }
}
@media only screen and (max-width: 767px) {
  .featureCard__txt {
    margin-top: 5.1282051282vw;
    font-size: 3.5897435897vw;
  }
}
@media only screen and (min-width: 768px) {
  .featureCard__txt + .generalBtn {
    margin-top: 40px;
  }
}
@media only screen and (max-width: 767px) {
  .featureCard__txt + .generalBtn {
    margin-top: 5.1282051282vw;
  }
}

.planArea__ttl {
  margin: 0 auto;
  max-width: 728px;
  padding: 0 15px;
}
.planArea__ttl .headingLv1,
.planArea__ttl .headingLv2,
.planArea__ttl .txt {
  color: #fff;
}
.planArea__ttl .txt {
  font-size: 20px;
}
.planArea__btn {
  margin: 50px auto 0;
  width: 280px;
}
@media only screen and (max-width: 767px) {
  .planArea__btn {
    width: 100%;
  }
}

.plansList {
  margin-top: 60px;
}
@media only screen and (min-width: 768px) {
  .plansList {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    gap: 30px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
@media only screen and (max-width: 767px) {
  .plansList {
    margin: 9.3333333333vw 5.3333333333vw;
  }
}
.plansList__item {
  width: 300px;
}
@media only screen and (max-width: 767px) {
  .plansList__item {
    width: 100%;
  }
  .plansList__item:not(:first-child) {
    margin-top: 9.3333333333vw;
  }
}

.planLink {
  background-color: rgba(255, 255, 255, 0.15);
  display: block;
  position: relative;
  -webkit-box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
          box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
  color: #fff;
}
@media only screen and (min-width: 768px) {
  .planLink {
    padding: 45px 20px 30px;
    height: 100%;
  }
  .planLink:hover .thumbBlock__image {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
}
@media only screen and (max-width: 767px) {
  .planLink {
    padding: 12vw 4vw;
  }
}
.planLink__cap {
  text-align: right;
}
.planLink__cap .cap {
  color: #fff;
}
.planLink .speckBlock {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.planLink .speckBlock__type {
  display: inline-block;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .planLink .speckBlock__type {
    font-size: 3.7333333333vw;
    line-height: 1.2;
  }
}
.planLink .speckBlock__type .name {
  display: block;
  font-size: 40px;
  line-height: 1.2;
}
@media only screen and (max-width: 767px) {
  .planLink .speckBlock__type .name {
    font-size: 10.6666666667vw;
  }
}
.planLink .speckBlock__variation {
  display: inline-block;
  text-align: right;
}
@media only screen and (max-width: 767px) {
  .planLink .speckBlock__variation {
    font-size: 3.7333333333vw;
    line-height: 1.3333333333;
  }
}
.planLink .speckBlock__variation .num {
  font-size: 30px;
}
@media only screen and (max-width: 767px) {
  .planLink .speckBlock__variation .num {
    font-size: 8vw;
  }
}
.planLink .speckBlock__variation .ldk {
  display: block;
  font-size: 20px;
  line-height: 1.3333333333;
}
@media only screen and (max-width: 767px) {
  .planLink .speckBlock__variation .ldk {
    font-size: 5.3333333333vw;
  }
}
.planLink .thumbBlock {
  margin: 20px -10px;
  overflow: hidden;
}
@media only screen and (max-width: 767px) {
  .planLink .thumbBlock {
    margin: 6.6666666667vw -1.3333333333vw;
  }
}
.planLink .thumbBlock__image {
  -webkit-transition: -webkit-transform ease 0.4s;
  transition: -webkit-transform ease 0.4s;
  transition: transform ease 0.4s;
  transition: transform ease 0.4s, -webkit-transform ease 0.4s;
}
@media only screen and (max-width: 767px) {
  .planLink .thumbBlock__image {
    width: 100%;
  }
}
.planLink .areaBlock {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media only screen and (max-width: 767px) {
  .planLink .areaBlock {
    font-size: 3.7333333333vw;
  }
}
.planLink .areaBlock__mator {
  font-size: 20px;
  line-height: 1.3333333333;
}
@media only screen and (max-width: 767px) {
  .planLink .areaBlock__mator {
    font-size: 5.3333333333vw;
    line-height: 0.9333333333;
  }
}
.planLink .areaBlock__mator .num {
  font-size: 30px;
}
@media only screen and (max-width: 767px) {
  .planLink .areaBlock__mator .num {
    font-size: 8vw;
  }
}
.planLink--premium:after {
  content: "プレミアムプラン";
  background: -webkit-gradient(linear, left top, right top, from(#FFECB2), to(#D0AF4A));
  background: linear-gradient(to right, #FFECB2, #D0AF4A);
  color: #000000;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media only screen and (min-width: 768px) {
  .planLink--premium:after {
    height: 30px;
    font-size: 14px;
  }
}
@media only screen and (max-width: 767px) {
  .planLink--premium:after {
    font-size: 3.5897435897vw;
    height: 7.6923076923vw;
  }
}

.btmCap {
  padding-bottom: 0;
}

/*共通パーツ用*/
.ohkarte-add_banner {
  display: none !important;
}