.guidanceCard {
  position: relative;
}

@media screen and (max-width: 768px) {
  .guidanceCard {
    margin: 0 calc(20 / 390 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .guidanceCard__head + .guidanceCard__cont {
    margin-top: 35px;
  }
}

@media screen and (max-width: 768px) {
  .guidanceCard__head + .guidanceCard__cont {
    margin-top: calc(24 / 390 * 100vw);
  }
}

.guidanceCard__img {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  position: relative;
  z-index: 2;
}

.guidanceCard__img.sai-animate .photo {
  opacity: 1;
  -webkit-transform: translate(0, 0) skew(0deg, 0deg) !important;
          transform: translate(0, 0) skew(0deg, 0deg) !important;
}

.guidanceCard__img .photo {
  opacity: 0;
  -webkit-transition-delay: .3s;
          transition-delay: .3s;
  -webkit-transition-duration: 1.8s !important;
          transition-duration: 1.8s !important;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  width: 100%;
  will-change: transform, opacity;
}

.guidanceCard__img .photo__image {
  width: 100%;
}

@media screen and (min-width: 768px) {
  .guidanceCard__cont .heading {
    font-size: 28px;
    letter-spacing: .2em;
  }
}

@media screen and (max-width: 768px) {
  .guidanceCard__cont .heading {
    font-size: calc(24 / 390 * 100vw);
    line-height: 1.8;
  }
  .guidanceCard__cont .heading:before {
    content: '';
    margin-top: calc((1 - 1.8) * .5em);
  }
  .guidanceCard__cont .heading:after {
    margin-bottom: calc((1 - 1.8) * .5em);
  }
  .guidanceCard__cont .heading:before, .guidanceCard__cont .heading:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
}

@media screen and (min-width: 768px) {
  .guidanceCard__cont .heading + .txt {
    margin-top: 35px;
  }
}

@media screen and (max-width: 768px) {
  .guidanceCard__cont .heading + .txt {
    margin-top: calc(24 / 390 * 100vw);
  }
}

.guidanceCard__cont .txt {
  line-height: 1.8;
}

.guidanceCard__cont .txt:before {
  content: '';
  margin-top: calc((1 - 1.8) * .5em);
}

.guidanceCard__cont .txt:after {
  margin-bottom: calc((1 - 1.8) * .5em);
}

.guidanceCard__cont .txt:before, .guidanceCard__cont .txt:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

@media screen and (min-width: 768px) {
  .guidanceCard__cont .txt {
    font-size: 14px;
  }
}

@media screen and (max-width: 768px) {
  .guidanceCard__cont .txt {
    font-size: calc(14 / 390 * 100vw);
    padding-right: calc(20 / 390 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .guidanceCard__cont .heading + .moreBtn {
    margin-top: calc(24 / 390 * 100vw);
  }
}

.guidanceCard__cont .headingCombi {
  margin: 0;
}

@media screen and (min-width: 768px) {
  .guidanceCard__cont .headingCombi + .moreBtn {
    margin-top: 35px;
  }
}

@media screen and (max-width: 768px) {
  .guidanceCard__cont .headingCombi + .moreBtn {
    margin-top: calc(24 / 390 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .guidanceCard__txt + .guidanceCard__visual {
    margin-top: calc(24 / 390 * 100vw);
  }
}

.guidanceCard__ttl {
  position: relative;
  z-index: 2;
}

.guidanceCard__ttl .photo {
  width: 100%;
}

.guidanceCard__ttl .photo__image {
  width: 100%;
}

@media screen and (min-width: 768px) {
  .guidanceCard__ttl + .guidanceCard__txt {
    margin-top: 35px;
  }
}

@media screen and (max-width: 768px) {
  .guidanceCard__ttl + .guidanceCard__txt {
    margin-top: calc(24 / 390 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .guidanceCard--location {
    gap: 80px;
    margin-left: 100px;
    width: 500px;
  }
}

.guidanceCard--location .guidanceCard__visual {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (min-width: 768px) {
  .guidanceCard--location .guidanceCard__visual {
    left: calc(100% + 80px);
    position: absolute;
    top: 0;
  }
}

@media screen and (min-width: 768px) {
  .guidanceCard--location .guidanceCard__visual .photo__capIn {
    left: 5px;
    right: unset;
  }
}

@media screen and (max-width: 768px) {
  .guidanceCard--location .guidanceCard__visual .photo__capIn {
    right: calc(40 / 390 * 100vw);
  }
}

.guidanceCard--location .guidanceCard__img {
  position: relative;
  z-index: -1;
}

@media screen and (min-width: 768px) {
  .guidanceCard--location .guidanceCard__img {
    width: 600px;
  }
}

@media screen and (max-width: 768px) {
  .guidanceCard--location .guidanceCard__img {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: calc(346 / 390 * 100vw);
  }
}

.guidanceCard--location .guidanceCard__img .photo {
  -webkit-transform: translate(80%, 0) rotate3d(1, 0, 1, 45deg);
          transform: translate(80%, 0) rotate3d(1, 0, 1, 45deg);
}

@media screen and (min-width: 768px) {
  .guidanceCard--location .guidanceCard__cont .heading + .moreBtn {
    margin-top: 80px;
  }
}

@media screen and (min-width: 768px) {
  .guidanceCard--location .guidanceCard__txt {
    width: 431px;
  }
}

@media screen and (max-width: 768px) {
  .guidanceCard--location .guidanceCard__txt {
    width: calc(293 / 390 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .guidanceCard--location .guidanceCard__ttl {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: 57px;
  }
}

@media screen and (max-width: 768px) {
  .guidanceCard--location .guidanceCard__ttl {
    position: absolute;
    right: calc(100% + (6 / 390 * 100vw));
    top: calc(0 / 390 * 100vw);
    width: calc(38 / 390 * 100vw);
    z-index: 2;
  }
}

@media screen and (min-width: 768px) {
  .guidanceCard--access {
    margin-left: 100px;
    margin-top: 180px;
  }
}

.guidanceCard--access .guidanceCard__head {
  position: relative;
}

@media screen and (min-width: 768px) {
  .guidanceCard--access .guidanceCard__head {
    width: 400px;
  }
}

@media screen and (min-width: 768px) {
  .guidanceCard--access .guidanceCard__head + .guidanceCard__cont {
    margin-top: 80px;
  }
}

@media screen and (min-width: 768px) {
  .guidanceCard--access .guidanceCard__visual {
    left: calc(100% + 60px);
    position: absolute;
    top: 0;
  }
}

@media screen and (max-width: 768px) {
  .guidanceCard--access .guidanceCard__visual {
    margin-left: calc(-44 / 390 * 100vw);
    position: relative;
    width: 100vw;
  }
}

@media screen and (min-width: 768px) {
  .guidanceCard--access .guidanceCard__visual .photo__capIn {
    left: 5px;
    right: unset;
  }
}

@media screen and (max-width: 768px) {
  .guidanceCard--access .guidanceCard__visual .photo__capIn {
    right: calc(40 / 390 * 100vw);
  }
}

.guidanceCard--access .guidanceCard__img {
  position: relative;
  z-index: -1;
}

.guidanceCard--access .guidanceCard__img .photo {
  -webkit-transform: translate(80%, 0) rotate3d(1, 0, 1, 45deg);
          transform: translate(80%, 0) rotate3d(1, 0, 1, 45deg);
}

@media screen and (min-width: 768px) {
  .guidanceCard--access .guidanceCard__img {
    width: 680px;
  }
}

@media screen and (max-width: 768px) {
  .guidanceCard--access .guidanceCard__img {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: calc(390 / 390 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .guidanceCard--access .guidanceCard__cont .heading {
    width: 400px;
  }
}

@media screen and (min-width: 768px) {
  .guidanceCard--access .guidanceCard__cont .heading + .guidanceCard__col {
    margin-top: 35px;
  }
}

@media screen and (max-width: 768px) {
  .guidanceCard--access .guidanceCard__cont .heading + .guidanceCard__col {
    margin-top: calc(24 / 390 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .guidanceCard--access .guidanceCard__col {
    gap: 60px;
  }
}

@media screen and (min-width: 768px) {
  .guidanceCard--access .guidanceCard__col .txt {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: 460px;
  }
}

@media screen and (max-width: 768px) {
  .guidanceCard--access .guidanceCard__col .txt + .moreBtn {
    margin-top: calc(24 / 390 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .guidanceCard--access .guidanceCard__col {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: end;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

@media screen and (min-width: 768px) {
  .guidanceCard--access .guidanceCard__txt {
    width: 431px;
  }
}

@media screen and (max-width: 768px) {
  .guidanceCard--access .guidanceCard__txt {
    width: calc(197 / 390 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .guidanceCard--access .guidanceCard__ttl {
    width: calc(215 / 390 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .guidanceCard--redevelopment {
    margin-left: auto;
    margin-right: 120px;
    margin-top: 200px !important;
    padding-top: 150px;
    width: 500px;
  }
}

@media screen and (min-width: 768px) {
  .guidanceCard--redevelopment .guidanceCard__visual {
    position: absolute;
    right: calc(100% + 90px);
    top: 0;
  }
}

.guidanceCard--redevelopment .guidanceCard__img {
  position: relative;
  z-index: -1;
}

@media screen and (min-width: 768px) {
  .guidanceCard--redevelopment .guidanceCard__img {
    width: 600px;
  }
}

@media screen and (max-width: 768px) {
  .guidanceCard--redevelopment .guidanceCard__img {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    margin-left: calc(-44 / 390 * 100vw);
    width: calc(346 / 390 * 100vw);
  }
}

.guidanceCard--redevelopment .guidanceCard__img .photo {
  -webkit-transform: translate(-80%, 0) rotate3d(1, 0, 1, -45deg);
          transform: translate(-80%, 0) rotate3d(1, 0, 1, -45deg);
}

@media screen and (min-width: 768px) {
  .guidanceCard--redevelopment .guidanceCard__cont .heading + .moreBtn {
    margin-top: 35px;
  }
}

@media screen and (min-width: 768px) {
  .guidanceCard--redevelopment .guidanceCard__txt {
    width: 438px;
  }
}

@media screen and (max-width: 768px) {
  .guidanceCard--redevelopment .guidanceCard__txt {
    width: calc(299 / 390 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .guidanceCard--redevelopment .guidanceCard__ttl {
    left: 440px;
    position: absolute;
    top: -63px;
    width: 644px;
    -webkit-mask-image: -webkit-gradient(linear, left top, right top, color-stop(25%, rgba(255, 255, 255, 0)), color-stop(33%, white), color-stop(66%, white), color-stop(75%, rgba(255, 255, 255, 0)));
    -webkit-mask-image: linear-gradient(90deg, rgba(255, 255, 255, 0) 25%, white 33%, white 66%, rgba(255, 255, 255, 0) 75%);
            mask-image: -webkit-gradient(linear, left top, right top, color-stop(25%, rgba(255, 255, 255, 0)), color-stop(33%, white), color-stop(66%, white), color-stop(75%, rgba(255, 255, 255, 0)));
            mask-image: linear-gradient(90deg, rgba(255, 255, 255, 0) 25%, white 33%, white 66%, rgba(255, 255, 255, 0) 75%);
    -webkit-mask-position: 100% 50%;
            mask-position: 100% 50%;
    -webkit-mask-size: 400% 100%;
            mask-size: 400% 100%;
  }
  .guidanceCard--redevelopment .guidanceCard__ttl.sai-animate {
    -webkit-mask-position: 50% 50%;
            mask-position: 50% 50%;
    -webkit-transition: 2s cubic-bezier(0.43, 0.02, 0.05, 1) 0 !important;
    transition: 2s cubic-bezier(0.43, 0.02, 0.05, 1) 0 !important;
    -webkit-transition-duration: 2s !important;
            transition-duration: 2s !important;
  }
}

@media screen and (max-width: 768px) {
  .guidanceCard--redevelopment .guidanceCard__ttl {
    left: calc(100% + (6 / 390 * 100vw));
    position: absolute;
    top: calc(0 / 390 * 100vw);
    width: calc(38 / 390 * 100vw);
    z-index: 2;
  }
}

@media screen and (max-width: 768px) {
  .guidanceCard + .guidanceCard {
    margin-top: calc(100 / 390 * 100vw);
  }
}

.guidanceSect {
  margin: 0 auto;
  position: relative;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  .guidanceSect {
    -webkit-box-shadow: 0 0 60.945px rgba(0, 0, 0, 0.1);
            box-shadow: 0 0 60.945px rgba(0, 0, 0, 0.1);
    max-width: 1340px;
  }
}

@media screen and (max-width: 768px) {
  .guidanceSect {
    -webkit-box-shadow: 0 0 calc(60 / 390 * 100vw) rgba(0, 0, 0, 0.1);
            box-shadow: 0 0 calc(60 / 390 * 100vw) rgba(0, 0, 0, 0.1);
    margin: auto;
    width: calc(366 / 390 * 100vw);
  }
}

.guidanceSect__ttl {
  margin: 0 auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

@media screen and (min-width: 768px) {
  .guidanceSect__ttl .photo {
    width: 692px;
  }
}

@media screen and (max-width: 768px) {
  .guidanceSect__ttl .photo {
    width: calc(300 / 390 * 100vw);
  }
}

.guidanceSect__head {
  background-color: #ffffff;
  font-family: "DIN Alternate", sans-serif;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  letter-spacing: 1.2em;
  position: relative;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  .guidanceSect__head {
    -webkit-box-shadow: 0 0 70.945px rgba(0, 0, 0, 0.1);
            box-shadow: 0 0 70.945px rgba(0, 0, 0, 0.1);
    font-size: 20px;
    padding: 40px 0;
  }
}

@media screen and (max-width: 768px) {
  .guidanceSect__head {
    -webkit-box-shadow: 0 0 calc(70 / 390 * 100vw) rgba(0, 0, 0, 0.1);
            box-shadow: 0 0 calc(70 / 390 * 100vw) rgba(0, 0, 0, 0.1);
    padding: calc(20 / 390 * 100vw) 0;
  }
}

.guidanceSect__cont {
  position: relative;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  .guidanceSect__cont {
    padding: 100px 70px;
  }
}

@media screen and (max-width: 768px) {
  .guidanceSect__cont {
    padding: calc(80 / 390 * 100vw) calc(12 / 390 * 100vw);
  }
}

.guidanceSect__cont:after {
  background-color: #ffffff;
  content: '';
  height: 100%;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  .guidanceSect__cont:after {
    -webkit-box-shadow: 0 70px 70.945px rgba(0, 0, 0, 0.1);
            box-shadow: 0 70px 70.945px rgba(0, 0, 0, 0.1);
    width: 70px;
  }
}

@media screen and (max-width: 768px) {
  .guidanceSect__cont:after {
    -webkit-box-shadow: 0 calc(30 / 390 * 100vw) calc(30 / 390 * 100vw) rgba(0, 0, 0, 0.3);
            box-shadow: 0 calc(30 / 390 * 100vw) calc(30 / 390 * 100vw) rgba(0, 0, 0, 0.3);
    width: calc(12 / 390 * 100vw);
  }
}

.guidanceSect__cont:before {
  background-color: #ffffff;
  -webkit-box-shadow: 0 70px 70.945px rgba(0, 0, 0, 0.1);
          box-shadow: 0 70px 70.945px rgba(0, 0, 0, 0.1);
  content: '';
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  .guidanceSect__cont:before {
    -webkit-box-shadow: 0 70px 70.945px rgba(0, 0, 0, 0.1);
            box-shadow: 0 70px 70.945px rgba(0, 0, 0, 0.1);
    width: 70px;
  }
}

@media screen and (max-width: 768px) {
  .guidanceSect__cont:before {
    -webkit-box-shadow: 0 calc(30 / 390 * 100vw) calc(30 / 390 * 100vw) rgba(0, 0, 0, 0.3);
            box-shadow: 0 calc(30 / 390 * 100vw) calc(30 / 390 * 100vw) rgba(0, 0, 0, 0.3);
    width: calc(12 / 390 * 100vw);
  }
}

.guidanceSect__bottom {
  background-color: #ffffff;
  position: relative;
  z-index: 3;
}

@media screen and (min-width: 768px) {
  .guidanceSect__bottom {
    height: 80px;
    width: 100%;
  }
}

@media screen and (max-width: 768px) {
  .guidanceSect__bottom {
    height: calc(40 / 390 * 100vw);
  }
}

.guidanceSect__bottom:before {
  content: '';
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
}

@media screen and (min-width: 768px) {
  .guidanceSect__bottom:before {
    left: 70px;
    width: calc(100% - 140px);
  }
}

.informationSect {
  font-family: YakuHanMP, "Noto Serif JP", serif;
  margin: 0 auto;
  position: relative;
  text-align: center;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  .informationSect {
    max-width: 1000px;
  }
}

.informationSect__bgArea {
  background: #d45315;
  color: #ffffff;
  padding-block: 50px;
}

@media screen and (min-width: 768px) {
  .informationSect__bgArea {
    margin-left: calc(-50vw + 50%);
    width: 100vw;
  }
}

@media screen and (max-width: 768px) {
  .informationSect__bgArea {
    padding-inline: 32px;
  }
}

@media screen and (min-width: 768px) {
  .informationSect__bgArea + .informationSect__head {
    margin-top: 80px;
  }
}

@media screen and (max-width: 768px) {
  .informationSect__bgArea + .informationSect__head {
    margin-top: calc(80 / 390 * 100vw);
  }
}

.informationSect__desc {
  font-family: YakuHanMP, "Noto Serif JP", serif;
  line-height: 2;
  margin-inline: auto;
  max-width: 1150px;
  text-align: left;
}

@media screen and (min-width: 768px) {
  .informationSect__desc {
    font-size: 16px;
  }
}

@media screen and (max-width: 768px) {
  .informationSect__desc {
    letter-spacing: .05em;
  }
}

.informationSect__news {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #eeece2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0 auto;
}

@media screen and (min-width: 768px) {
  .informationSect__news {
    font-size: 32px;
    gap: 30px;
    max-width: 840px;
    padding: 30px 0;
  }
}

@media screen and (max-width: 768px) {
  .informationSect__news {
    font-size: calc(32 / 390 * 100vw);
    gap: 14px;
    letter-spacing: .05em;
    padding: calc(30 / 390 * 100vw) 0;
    width: calc(100% - 50px);
  }
}

@media screen and (min-width: 768px) {
  .informationSect__news .title {
    font-size: 20px;
  }
}

@media screen and (max-width: 768px) {
  .informationSect__news .title {
    font-size: calc(16 / 390 * 100vw);
  }
}

.informationSect__news .detail {
  border-left: 1px solid #000000;
  font-family: YakuHanMP, "Noto Serif JP", serif;
}

@media screen and (min-width: 768px) {
  .informationSect__news .detail {
    font-size: 18px;
    line-height: calc(24 / 18);
    padding-left: 30px;
  }
}

@media screen and (max-width: 768px) {
  .informationSect__news .detail {
    display: inline-block;
    font-size: calc(14 / 390 * 100vw);
    line-height: calc(21 / 14);
    padding-left: 14px;
    text-align: left;
  }
}

@media screen and (min-width: 768px) {
  .informationSect__news + .informationSect__txt {
    margin-top: 36px;
  }
}

@media screen and (max-width: 768px) {
  .informationSect__news + .informationSect__txt {
    margin-top: 36px;
  }
}

@media screen and (min-width: 768px) {
  .informationSect__news + .informationSect__topic {
    margin-top: 24px;
  }
}

@media screen and (max-width: 768px) {
  .informationSect__news + .informationSect__topic {
    margin-top: 24px;
  }
}

@media screen and (min-width: 768px) {
  .informationSect__head {
    font-size: 32px;
  }
}

@media screen and (max-width: 768px) {
  .informationSect__head {
    font-size: calc(32 / 390 * 100vw);
    letter-spacing: .05em;
  }
}

.informationSect__ttl {
  margin: 0 auto;
}

@media screen and (min-width: 768px) {
  .informationSect__ttl {
    width: 172px;
  }
}

.informationSect__topic {
  margin: 0 auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

@media screen and (min-width: 768px) {
  .informationSect__topic {
    font-size: 32px;
    line-height: 1.4;
    text-align: left;
  }
}

@media screen and (max-width: 768px) {
  .informationSect__topic {
    font-size: calc(24 / 390 * 100vw);
    line-height: calc(40/24);
    text-align: center;
  }
}

@media screen and (min-width: 768px) {
  .informationSect__topic .data {
    font-size: 16px;
  }
}

@media screen and (max-width: 768px) {
  .informationSect__topic .data {
    font-size: calc(16 / 390 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .informationSect__topic .small {
    font-size: 22px;
  }
}

@media screen and (max-width: 768px) {
  .informationSect__topic .small {
    font-size: calc(22 / 390 * 100vw);
  }
}

.informationSect__txt + .informationSect__topic {
  margin-top: 36px;
}

.informationSect__topic + .informationSect__txt {
  position: relative;
}

@media screen and (min-width: 768px) {
  .informationSect__topic + .informationSect__txt {
    line-height: calc(50/30);
    margin-top: 36px;
    padding-top: 36px;
  }
}

@media screen and (max-width: 768px) {
  .informationSect__topic + .informationSect__txt {
    font-size: 24px;
    line-height: calc(40 / 24);
    margin-top: calc(15 / 390 * 100vw);
    padding-top: calc(15 / 390 * 100vw);
  }
}

.informationSect__topic + .informationSect__txt:before {
  background-color: rgba(0, 0, 0, 0.2);
  content: '';
  height: 1px;
  left: 50%;
  position: absolute;
  top: 0;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

@media screen and (min-width: 768px) {
  .informationSect__topic + .informationSect__txt:before {
    width: 100px;
  }
}

@media screen and (max-width: 768px) {
  .informationSect__topic + .informationSect__txt:before {
    width: calc(50 / 390 * 100vw);
  }
}

.informationSect__txt {
  line-height: 1.66667;
}

@media screen and (min-width: 768px) {
  .informationSect__txt {
    font-size: 30px;
  }
}

@media screen and (max-width: 768px) {
  .informationSect__txt {
    font-size: calc(24 / 390 * 100vw);
    letter-spacing: .05em;
  }
}

.informationSect__txt:before {
  content: '';
  margin-top: calc((1 - 1.66667) * .5em);
}

.informationSect__txt:after {
  margin-bottom: calc((1 - 1.66667) * .5em);
}

.informationSect__txt:before, .informationSect__txt:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

* + .informationSect__txt {
  margin-top: 36px;
}

.informationSect__txt .ja {
  display: block;
}

@media screen and (min-width: 768px) {
  .informationSect__txt .ja + .en {
    margin-top: 15px;
  }
}

@media screen and (max-width: 768px) {
  .informationSect__txt .ja + .en {
    margin-top: calc(20 / 390 * 100vw);
  }
}

.informationSect__txt .en {
  display: block;
  line-height: 1.5;
}

@media screen and (min-width: 768px) {
  .informationSect__txt .en {
    white-space: nowrap;
  }
}

@media screen and (min-width: 768px) {
  .informationSect__txt--small {
    font-size: 16px;
  }
}

@media screen and (max-width: 768px) {
  .informationSect__txt--small {
    font-size: calc(16 / 390 * 100vw);
  }
}

.informationSect__txt--small .caption {
  display: inline-block;
  line-height: 2;
}

.informationSect__txt + .informationSect__txt {
  margin-top: 36px;
}

@media screen and (min-width: 768px) {
  .informationSect__txt--last {
    font-size: 34px;
  }
}

@media screen and (max-width: 768px) {
  .informationSect__txt--last {
    font-size: calc(26 / 390 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .informationSect__txt--last .small {
    font-size: 24px;
  }
}

@media screen and (max-width: 768px) {
  .informationSect__txt--last .small {
    font-size: calc(18 / 390 * 100vw);
  }
}

.informationSect__txt--last .orange {
  color: #d45315;
}

.informationSect__txt--last sup {
  color: #858585;
  font-size: 10px;
  vertical-align: text-top;
}

@media screen and (min-width: 768px) {
  .informationSect__txt + * {
    margin-top: 80px;
  }
}

@media screen and (max-width: 768px) {
  .informationSect__txt + * {
    margin-top: calc(68 / 390 * 100vw);
  }
}

.informationSect__cont {
  letter-spacing: .08em;
  line-height: 2;
}

@media screen and (min-width: 768px) {
  .informationSect__cont {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 16px;
    gap: 36px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-top: 40px;
  }
}

@media screen and (max-width: 768px) {
  .informationSect__cont {
    font-size: calc(16 / 390 * 100vw);
    margin-top: calc(40 / 390 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .informationSect__cont .generalBtn {
    margin: 24px auto 0;
  }
}

@media screen and (max-width: 768px) {
  .informationSect__cont .generalBtn {
    margin: calc(24 / 390 * 100vw) auto 0;
    width: calc(280 / 390 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .informationSect__cont .generalBtn__inner {
    font-size: 20px;
    letter-spacing: .26em;
  }
}

@media screen and (max-width: 768px) {
  .informationSect__cont .generalBtn__inner {
    font-size: calc(40 / 750 * 100vw);
    letter-spacing: .16em;
  }
}

@media screen and (min-width: 768px) {
  .informationSect__item {
    width: 322px;
  }
}

@media screen and (max-width: 768px) {
  .informationSect__item:not(:first-child) {
    margin-top: 24px;
  }
}

.informationSect__item .caption {
  color: #858585;
  font-size: 12px;
  margin-top: 10px;
  text-align: left;
}

@media screen and (max-width: 768px) {
  .informationSect__item .caption {
    margin: 15px auto 40px;
    width: calc(290 / 390 * 100vw);
  }
}

.mainVisual {
  position: relative;
  width: 100%;
  z-index: 3;
}

.mainVisual__inner {
  width: 100%;
}

.mainVisual__visual {
  left: 0;
  position: relative;
  width: 100%;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  .mainVisual__visual {
    top: 0;
  }
}

@media screen and (max-width: 768px) {
  .mainVisual__visual {
    bottom: 0;
  }
}

@media screen and (min-width: 768px) {
  .mainVisual__visual .photo__image {
    max-width: unset;
    width: 100vw;
  }
}

@media screen and (min-width: 768px) {
  .mainVisual__visual .photo__capIn {
    bottom: 8px;
  }
}

.opening {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #ffffff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  left: 0;
  pointer-events: none;
  position: fixed;
  top: 0;
  -webkit-transition-delay: 3.6s;
          transition-delay: 3.6s;
  -webkit-transition-duration: 1s;
          transition-duration: 1s;
  width: 100%;
  z-index: 9999;
}

.opening.is-end {
  z-index: 0;
}

.opening__inner {
  opacity: 0;
  -webkit-transition-duration: 1s;
          transition-duration: 1s;
}

.opening .willroseLogo {
  margin: 0 auto;
}

@media screen and (min-width: 768px) {
  .opening .willroseLogo {
    width: 360px;
  }
}

@media screen and (max-width: 768px) {
  .opening .willroseLogo {
    width: 230px;
  }
}

.opening .loader {
  height: 2px;
  margin: 0 auto;
  position: relative;
}

@media screen and (min-width: 768px) {
  .opening .loader {
    margin-top: 100px;
    width: 360px;
  }
}

@media screen and (max-width: 768px) {
  .opening .loader {
    margin-top: 75px;
    width: 230px;
  }
}

.opening .loader:before, .opening .loader:after {
  bottom: 0;
  content: '';
  position: absolute;
  width: 100%;
}

.opening .loader:before {
  background-color: #999999;
  height: 2px;
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  -webkit-transform-origin: left;
          transform-origin: left;
  -webkit-transition-delay: .6s;
          transition-delay: .6s;
  -webkit-transition-duration: 3s;
          transition-duration: 3s;
  z-index: 2;
}

.opening .loader:after {
  background-color: #cccccc;
  height: 1px;
  z-index: 1;
}

.is-firstVisit.is-load .opening {
  opacity: 0;
}

.is-firstVisit.is-load .opening__inner {
  opacity: 1;
}

.is-firstVisit.is-load .opening .loader:before {
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
}

.is-load.is-visited .opening {
  display: none;
}

.perthSect {
  overflow: hidden;
  position: relative;
}

@media screen and (min-width: 768px) {
  .perthSect {
    padding-top: calc(800 / 1440 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .perthSect {
    padding-top: calc(800 / 390 * 100vw);
  }
}

.perthSect__bg {
  left: 50%;
  position: absolute;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

@media screen and (min-width: 768px) {
  .perthSect__bg {
    bottom: 0;
    width: calc(2000 /1440 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .perthSect__bg {
    bottom: 0;
    width: calc(1200 / 390 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .perthSect__visual {
    width: calc(1257 / 1440 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .perthSect__visual {
    margin-left: calc(-110 / 390 * 100vw);
    width: calc(580 / 390 * 100vw);
  }
}

.perthSect__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  position: absolute;
}

@media screen and (min-width: 768px) {
  .perthSect__inner {
    bottom: calc(488 / 1440 * 100vw);
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    right: calc(138 / 1440 * 100vw);
    width: 560px;
  }
}

@media screen and (max-width: 768px) {
  .perthSect__inner {
    bottom: calc(400 / 390 * 100vw);
    -webkit-column-gap: calc(45 / 390 * 100vw);
       -moz-column-gap: calc(45 / 390 * 100vw);
            column-gap: calc(45 / 390 * 100vw);
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}

.perthSect__item {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  position: relative;
}

@media screen and (min-width: 768px) {
  .perthSect__item {
    width: 165px;
  }
}

@media screen and (max-width: 768px) {
  .perthSect__item {
    width: calc(73 / 390 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .perthSect__item:first-child svg {
    width: calc(45 / 390 * 100vw);
  }
}

.perthSect__item:nth-of-type(2) .perthSect__logo {
  -webkit-transition-delay: .5s;
          transition-delay: .5s;
}

@media screen and (max-width: 768px) {
  .perthSect__item:nth-of-type(2) svg {
    width: calc(76 / 390 * 100vw);
  }
}

.perthSect__item:nth-of-type(3) .perthSect__logo {
  -webkit-transition-delay: 1s;
          transition-delay: 1s;
}

@media screen and (max-width: 768px) {
  .perthSect__item:nth-of-type(3) svg {
    width: calc(62 / 390 * 100vw);
  }
}

.perthSect__item:after {
  background: url("../common/imgs/txt-bukken.svg") no-repeat center center;
  bottom: 0;
  content: '';
  left: 50%;
  opacity: 0;
  position: absolute;
  -webkit-transition: opacity 1.5s ease-in;
  transition: opacity 1.5s ease-in;
  -webkit-transition-delay: 6s;
          transition-delay: 6s;
}

@media screen and (min-width: 768px) {
  .perthSect__item:after {
    height: 8px;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 165px;
  }
}

@media screen and (max-width: 768px) {
  .perthSect__item:after {
    height: calc(8 / 390 * 100vw);
    -webkit-transform: translateX(-50%) scale(0.6);
            transform: translateX(-50%) scale(0.6);
    width: calc(175 / 390 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .perthSect__cursive {
    margin-top: 16px;
    padding-bottom: 20px;
  }
}

.perthSect__logo {
  opacity: 0;
  -webkit-transform: rotate(20deg);
          transform: rotate(20deg);
  -webkit-transition: opacity 1.6s ease-in, -webkit-transform 1.6s ease-in;
  transition: opacity 1.6s ease-in, -webkit-transform 1.6s ease-in;
  transition: opacity 1.6s ease-in, transform 1.6s ease-in;
  transition: opacity 1.6s ease-in, transform 1.6s ease-in, -webkit-transform 1.6s ease-in;
}

.perthSect__ttl {
  margin: 0 auto;
  opacity: 0;
  -webkit-transition: opacity 4s ease-in;
  transition: opacity 4s ease-in;
}

@media screen and (min-width: 768px) {
  .perthSect__ttl {
    margin-top: 52px;
    width: calc(538 / 1440 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .perthSect__ttl {
    margin-top: calc(30 / 390 * 100vw);
    width: calc(340 / 390 * 100vw);
  }
}

.perthSect__enTtl {
  margin: 0 auto;
  opacity: 1;
  text-align: center;
  width: 276px;
}

@media screen and (min-width: 768px) {
  .perthSect__enTtl {
    margin-top: 26px;
  }
}

@media screen and (max-width: 768px) {
  .perthSect__enTtl {
    margin-top: calc(10 / 390 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .perthSect__enTtl svg {
    width: calc(190 / 390 * 100vw);
  }
}

.perthSect__enTtl .inner {
  margin: 0 auto;
  max-width: 800px;
}

.perthSect.is-active .perthSect__item:after {
  opacity: 1;
}

.perthSect.is-active .perthSect__logo {
  opacity: 1;
  -webkit-transform: rotate(0);
          transform: rotate(0);
}

.perthSect.is-active .perthSect__ttl {
  opacity: 1;
}

.posterFrame {
  background: #ffffff;
  left: 50%;
  -webkit-mask-image: url("/imgs/square.svg?v=2");
  mask-image: url("/imgs/square.svg?v=2");
  -webkit-mask-mode: alpha;
  mask-mode: alpha;
  -webkit-mask-position: center center;
  mask-position: center center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  -webkit-mask-type: luminance;
  mask-type: luminance;
  opacity: 1;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 2;
}

@media screen and (min-width: 768px) {
  .posterFrame {
    height: calc(740 / 1440 * 100vw);
    padding: calc(15 / 1440 * 100vw) calc(20 / 1440 * 100vw) calc(20 / 1440 * 100vw);
    width: calc(1340 / 1440 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .posterFrame {
    height: 100%;
    width: 100%;
  }
}

.posterFrame:after {
  background-color: #d45315;
  left: 50%;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 3;
}

@media screen and (min-width: 768px) {
  .posterFrame:after {
    border: calc(20 / 1440 * 100vw) solid #ffffff;
    height: 100%;
    width: 100%;
  }
}

@media screen and (max-width: 768px) {
  .posterFrame:after {
    height: 100%;
    width: 100%;
  }
}

.posterFrame__head {
  margin: 0 auto;
  text-align: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.posterFrame__head .ja {
  color: #d45315;
  letter-spacing: .15em;
}

@media screen and (min-width: 768px) {
  .posterFrame__head .ja {
    font-size: calc(48 / 1440 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .posterFrame__head .ja {
    font-size: calc(32 / 390 * 100vw);
  }
}

.posterFrame__head .ja .num {
  letter-spacing: .05em;
}

.posterFrame__head .ja .marks {
  letter-spacing: 0;
}

.posterFrame__head .en {
  font-family: "Cormorant Infant", serif;
  font-weight: bold;
  letter-spacing: .1em;
}

@media screen and (min-width: 768px) {
  .posterFrame__head .en {
    font-size: calc(11 / 1440 * 100vw);
    padding-top: calc(10 / 1440 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .posterFrame__head .en {
    font-size: calc(8 / 390 * 100vw);
    padding-top: calc(8 / 390 * 100vw);
  }
}

.posterFrame__cont {
  height: 100%;
  width: 100%;
}

@media screen and (min-width: 768px) {
  .posterFrame__cont {
    margin-top: calc(18 / 1440 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .posterFrame__cont {
    margin-top: calc(12 / 390 * 100vw);
  }
}

.scrollSect {
  position: relative;
  z-index: 1;
}

.scrollSect__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  .scrollSect__inner {
    width: 375vw;
  }
}

@media screen and (max-width: 768px) {
  .scrollSect__inner {
    width: 750vw;
  }
}

.scrollSect__scene {
  height: calc(100vh - 84px);
  position: relative;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  .scrollSect__scene {
    width: 125vw;
  }
}

@media screen and (max-width: 768px) {
  .scrollSect__scene {
    width: 250vw;
  }
}

@media screen and (min-width: 768px) {
  .scrollSect__scene--01 .scrollSect__ttl {
    left: calc(187 / 1440 * 100vw);
    top: calc(279 / 800 * calc(100vh - 84px));
  }
}

@media screen and (max-width: 768px) {
  .scrollSect__scene--01 .scrollSect__ttl {
    left: calc(54 / 390 * 100vw);
    top: calc(267 / 800 * calc(100vh - 84px));
  }
}

@media screen and (max-width: 768px) and (max-height: 780px) {
  .scrollSect__scene--01 .scrollSect__ttl {
    top: calc(240 / 800 * calc(100vh - 84px));
  }
}

@media screen and (min-width: 768px) {
  .scrollSect__scene--01 .scrollSect__txt {
    bottom: calc(98 / 800 * calc(100vh - 84px));
    left: calc(700 / 1440 * 100vw);
  }
}

@media screen and (min-width: 768px) and (max-height: 800px) {
  .scrollSect__scene--01 .scrollSect__txt {
    left: unset;
    right: calc(380 / 1440 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .scrollSect__scene--01 .scrollSect__txt {
    bottom: calc(275 / 800 * calc(100vh - 84px));
    right: calc(100 / 390 * 100vw);
  }
}

@media screen and (max-width: 768px) and (max-height: 780px) {
  .scrollSect__scene--01 .scrollSect__txt {
    bottom: calc(240 / 800 * calc(100vh - 84px));
    left: calc(650 / 390 * 100vw);
    right: unset;
  }
}

@media screen and (min-width: 768px) {
  .scrollSect__scene--01 .scrollSect__visual {
    right: calc(180 / 1440 * 100vw);
    top: calc(105 / 800 * calc(100vh - 84px));
    width: calc(637 / 800 * calc(100vh - 84px));
  }
}

@media screen and (max-width: 768px) {
  .scrollSect__scene--01 .scrollSect__visual {
    bottom: calc(62 / 800 * calc(100vh - 84px));
    left: calc(160 / 390 * 100vw);
    width: calc(534 / 390 * 100vw);
  }
}

@media screen and (max-width: 768px) and (max-height: 780px) {
  .scrollSect__scene--01 .scrollSect__visual {
    bottom: calc(30 / 800 * calc(100vh - 84px));
    width: calc(460 / 390 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .scrollSect__scene--01 .scrollSect__logo {
    left: calc(167 / 1440 * 100vw);
    top: calc(67 / 800 * calc(100vh - 84px));
  }
}

@media screen and (max-width: 768px) {
  .scrollSect__scene--01 .scrollSect__logo {
    left: calc(56 / 390 * 100vw);
    top: calc(96 / 800 * calc(100vh - 84px));
  }
}

@media screen and (min-width: 768px) {
  .scrollSect__scene--01 .scrollSect__bg {
    left: calc(400 / 1440 * 100vw);
    top: calc(430 / 800 * calc(100vh - 84px));
  }
}

@media screen and (max-width: 768px) {
  .scrollSect__scene--01 .scrollSect__bg {
    left: calc(230 / 390 * 100vw);
    top: calc(500 / 800 * calc(100vh - 84px));
  }
}

.scrollSect__scene--01 .scrollSect__bg .photo__image {
  max-width: none;
}

@media screen and (min-width: 768px) {
  .scrollSect__scene--01 .scrollSect__bg .photo__image {
    width: calc(1026 / 1440 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .scrollSect__scene--01 .scrollSect__bg .photo__image {
    width: calc(684 / 390 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .scrollSect__scene--02 .scrollSect__ttl {
    bottom: calc(493 / 800 * calc(100vh - 84px));
    right: calc(200 / 1440 * 100vw);
  }
}

@media screen and (min-width: 768px) and (max-height: 780px) {
  .scrollSect__scene--02 .scrollSect__ttl {
    right: calc(0 / 390 * 100vw);
    top: calc(150 / 800 * calc(100vh - 84px));
  }
}

@media screen and (max-width: 768px) {
  .scrollSect__scene--02 .scrollSect__ttl {
    left: calc(700 / 390 * 100vw);
    top: calc(288 / 800 * calc(100vh - 84px));
  }
}

@media screen and (min-width: 768px) {
  .scrollSect__scene--02 .scrollSect__txt {
    bottom: calc(285 / 800 * calc(100vh - 84px));
    right: calc(500 / 1440 * 100vw);
  }
}

@media screen and (min-width: 768px) and (max-height: 780px) {
  .scrollSect__scene--02 .scrollSect__txt {
    bottom: calc(300 / 800 * calc(100vh - 84px));
    right: calc(180 / 390 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .scrollSect__scene--02 .scrollSect__txt {
    bottom: calc(218 / 800 * calc(100vh - 84px));
    left: calc(0 / 390 * 100vw);
  }
}

@media screen and (max-width: 768px) and (max-height: 780px) {
  .scrollSect__scene--02 .scrollSect__txt {
    bottom: calc(140 / 800 * calc(100vh - 84px));
    left: calc(50 / 390 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .scrollSect__scene--02 .scrollSect__visual {
    left: 0;
    top: calc(65 / 800 * calc(100vh - 84px));
    width: calc(851 / 800 * calc(100vh - 84px));
  }
}

@media screen and (max-width: 768px) {
  .scrollSect__scene--02 .scrollSect__visual {
    right: 0;
    top: 0;
    width: calc(796 / 390 * 100vw);
  }
}

@media screen and (max-width: 768px) and (max-height: 780px) {
  .scrollSect__scene--02 .scrollSect__visual {
    right: calc(70 / 390 * 100vw);
    width: calc(700 / 390 * 100vw);
  }
}

@media screen and (max-width: 768px) and (max-height: 720px) {
  .scrollSect__scene--02 .scrollSect__visual {
    right: calc(200 / 390 * 100vw);
    width: calc(600 / 390 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .scrollSect__scene--02 .scrollSect__logo {
    bottom: calc(115 / 800 * calc(100vh - 84px));
    left: calc(748 / 1440 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .scrollSect__scene--02 .scrollSect__logo {
    bottom: calc(141 / 800 * calc(100vh - 84px));
    right: calc(336 / 390 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .scrollSect__scene--02 .scrollSect__bg {
    right: calc(100 / 1440 * 100vw);
    top: calc(210 / 800 * calc(100vh - 84px));
  }
}

@media screen and (max-width: 768px) {
  .scrollSect__scene--02 .scrollSect__bg {
    right: calc(-310 / 390 * 100vw);
    top: calc(300 / 800 * calc(100vh - 84px));
  }
}

.scrollSect__scene--02 .scrollSect__bg .photo__image {
  max-width: none;
}

@media screen and (min-width: 768px) {
  .scrollSect__scene--02 .scrollSect__bg .photo__image {
    width: calc(1129 / 1440 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .scrollSect__scene--02 .scrollSect__bg .photo__image {
    width: calc(752 / 390 * 100vw);
  }
}

.scrollSect__scene--03 {
  position: relative;
}

@media screen and (min-width: 768px) {
  .scrollSect__scene--03 .scrollSect__ttl {
    left: calc(169 / 1440 * 100vw);
    top: calc(63 / 800 * calc(100vh - 84px));
  }
}

@media screen and (max-width: 768px) {
  .scrollSect__scene--03 .scrollSect__ttl {
    left: calc(100 / 390 * 100vw);
    top: calc(64 / 800 * calc(100vh - 84px));
  }
}

@media screen and (max-width: 768px) and (max-height: 720px) {
  .scrollSect__scene--03 .scrollSect__ttl {
    left: calc(20 / 390 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .scrollSect__scene--03 .scrollSect__txt {
    left: calc(800 / 1440 * 100vw);
    top: calc(431 / 800 * calc(100vh - 84px));
  }
}

@media screen and (max-width: 768px) {
  .scrollSect__scene--03 .scrollSect__txt {
    bottom: calc(44 / 800 * calc(100vh - 84px));
    right: calc(10 / 390 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .scrollSect__scene--03 .scrollSect__visual--01 {
    bottom: 0;
    left: 0;
    width: calc(475 / 1440 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .scrollSect__scene--03 .scrollSect__visual--01 {
    bottom: 0;
    left: calc(250 / 390 * 100vw);
    width: calc(316 / 390 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .scrollSect__scene--03 .scrollSect__visual--02 {
    right: 0;
    top: calc(92 / 800 * calc(100vh - 84px));
    width: calc(486 / 800 * calc(100vh - 84px));
  }
}

@media screen and (max-width: 768px) {
  .scrollSect__scene--03 .scrollSect__visual--02 {
    right: 0;
    top: calc(74 / 800 * calc(100vh - 84px));
    width: calc(316 / 390 * 100vw);
  }
}

@media screen and (max-width: 768px) and (max-height: 780px) {
  .scrollSect__scene--03 .scrollSect__visual--02 {
    top: calc(10 / 800 * calc(100vh - 84px));
    width: calc(300 / 390 * 100vw);
  }
}

@media screen and (max-width: 768px) and (max-height: 720px) {
  .scrollSect__scene--03 .scrollSect__visual--02 {
    top: calc(10 / 800 * calc(100vh - 84px));
    width: calc(260 / 390 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .scrollSect__scene--03 .scrollSect__logo {
    left: calc(451 / 1440 * 100vw);
    top: calc(260 / 800 * calc(100vh - 84px));
  }
}

@media screen and (max-width: 768px) {
  .scrollSect__scene--03 .scrollSect__logo {
    left: calc(190 / 390 * 100vw);
    top: calc(285 / 800 * calc(100vh - 84px));
  }
}

@media screen and (min-width: 768px) {
  .scrollSect__scene--03 .scrollSect__bg {
    right: calc(540 / 1440 * 100vw);
    top: calc(500 / 800 * calc(100vh - 84px));
  }
}

@media screen and (max-width: 768px) {
  .scrollSect__scene--03 .scrollSect__bg {
    bottom: calc(-60 / 800 * calc(100vh - 84px));
    right: calc(40 / 390 * 100vw);
  }
}

.scrollSect__scene--03 .scrollSect__bg .photo__image {
  max-width: none;
}

@media screen and (min-width: 768px) {
  .scrollSect__scene--03 .scrollSect__bg .photo__image {
    width: calc(1031 / 1440 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .scrollSect__scene--03 .scrollSect__bg .photo__image {
    width: calc(687 / 390 * 100vw);
  }
}

.scrollSect__ttl {
  line-height: 3;
  position: absolute;
  text-shadow: rgba(255, 255, 255, 0.5) 1px 1px 2px, rgba(255, 255, 255, 0.5) -1px 1px 2px, rgba(255, 255, 255, 0.5) 1px -1px 2px, rgba(255, 255, 255, 0.5) -1px -1px 2px;
  z-index: 3;
}

@media screen and (min-width: 768px) {
  .scrollSect__ttl {
    font-size: 26px;
    letter-spacing: .38em;
  }
}

@media screen and (max-width: 768px) {
  .scrollSect__ttl {
    font-size: 17px;
    letter-spacing: .24em;
  }
}

.scrollSect__txt {
  line-height: 2.8;
  position: absolute;
  text-shadow: rgba(255, 255, 255, 0.5) 1px 1px 2px, rgba(255, 255, 255, 0.5) -1px 1px 2px, rgba(255, 255, 255, 0.5) 1px -1px 2px, rgba(255, 255, 255, 0.5) -1px -1px 2px;
  z-index: 3;
}

@media screen and (min-width: 768px) {
  .scrollSect__txt {
    font-size: 14px;
  }
}

@media screen and (max-width: 768px) {
  .scrollSect__txt {
    font-size: 10px;
    letter-spacing: .12em;
  }
}

.scrollSect__visual {
  position: absolute;
  z-index: 1;
}

.scrollSect__logo {
  position: absolute;
}

@media screen and (min-width: 768px) {
  .scrollSect__logo {
    width: 121px;
  }
}

@media screen and (max-width: 768px) {
  .scrollSect__logo {
    width: calc(80 / 390 * 100vw);
  }
}

.scrollSect__logo:after {
  background: url("../common/imgs/txt-bukken.svg") no-repeat center center;
  content: '';
  position: absolute;
}

@media screen and (min-width: 768px) {
  .scrollSect__logo:after {
    bottom: 25px;
    height: 8px;
    right: -200px;
    width: 165px;
  }
}

@media screen and (max-width: 768px) {
  .scrollSect__logo:after {
    bottom: 0;
    height: calc(8 / 390 * 100vw);
    right: calc(-200 / 390 * 100vw);
    width: calc(175 / 390 * 100vw);
  }
}

.scrollSect__bg {
  left: 50%;
  opacity: .1;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.uspArea {
  position: relative;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  .uspArea__top {
    margin: 0 auto;
    max-width: 1440px;
  }
}

@media screen and (max-width: 768px) {
  .uspArea__top {
    padding: 0 24px;
  }
}

.uspArea__bgArea {
  background: #d45315;
  color: #ffffff;
  padding-block: 50px;
}

@media screen and (max-width: 768px) {
  .uspArea__bgArea {
    padding-inline: 32px;
  }
}

.uspArea__desc {
  font-family: YakuHanMP, "Noto Serif JP", serif;
  line-height: 2;
  margin-inline: auto;
  max-width: 1150px;
}

@media screen and (min-width: 768px) {
  .uspArea__desc {
    font-size: 16px;
  }
}

@media screen and (max-width: 768px) {
  .uspArea__desc {
    letter-spacing: .05em;
  }
}

@media screen and (min-width: 768px) {
  .uspArea__desc + .uspArea__col {
    margin-top: 60px;
  }
}

@media screen and (max-width: 768px) {
  .uspArea__desc + .uspArea__col {
    margin-top: calc(80 / 390 * 100vw);
  }
}

.uspArea__desc--en {
  color: #000000;
  font-family: "Cormorant Infant", serif;
  margin-top: 25px;
  text-transform: uppercase;
}

@media screen and (min-width: 768px) {
  .uspArea__desc--en {
    letter-spacing: .13em;
  }
}

@media screen and (max-width: 768px) {
  .uspArea__desc--en {
    letter-spacing: .05em;
    line-height: 1.8;
  }
}

.uspArea__access {
  position: relative;
}

@media screen and (min-width: 768px) {
  .uspArea__access {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 10px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-inline: auto;
    max-width: 1440px;
  }
}

@media screen and (max-width: 768px) {
  .uspArea__access {
    display: grid;
    grid-template-columns: 1fr;
    margin-inline: auto;
  }
}

.uspArea__access + .uspArea__access {
  margin-top: 0;
}

.uspArea__item {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-family: YakuHanMP, "Noto Serif JP", serif;
  line-height: 1;
  position: relative;
}

@media screen and (min-width: 768px) {
  .uspArea__item {
    font-size: 28px;
    padding-bottom: 20px;
    padding-left: 50px;
  }
}

@media screen and (max-width: 768px) {
  .uspArea__item {
    font-size: 28px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    letter-spacing: .1rem;
    padding: calc(20 / 390 * 100vw) 0;
    text-align: center;
    width: 100%;
  }
  .uspArea__item:after {
    background-color: rgba(0, 0, 0, 0.2);
    bottom: -0;
    content: '';
    height: 1px;
    left: 0;
    position: absolute;
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
    -webkit-transform-origin: left;
            transform-origin: left;
    -webkit-transition: -webkit-transform 2s ease;
    transition: -webkit-transform 2s ease;
    transition: transform 2s ease;
    transition: transform 2s ease, -webkit-transform 2s ease;
    width: 100%;
  }
}

.uspArea__item .inner {
  position: relative;
}

@media screen and (min-width: 768px) {
  .uspArea__item .inner:before {
    background: #cecece;
    bottom: -20px;
    content: '';
    height: 64px;
    left: -30px;
    position: absolute;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
    width: 1px;
  }
  .uspArea__item .inner:after {
    background-color: rgba(0, 0, 0, 0.2);
    bottom: -20px;
    content: '';
    height: 1px;
    left: 0;
    position: absolute;
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
    -webkit-transform-origin: left;
            transform-origin: left;
    -webkit-transition: -webkit-transform 2s ease;
    transition: -webkit-transform 2s ease;
    transition: transform 2s ease;
    transition: transform 2s ease, -webkit-transform 2s ease;
    width: 100%;
  }
}

@media screen and (min-width: 768px) {
  .uspArea__item:first-child {
    padding-left: 0;
  }
}

@media screen and (min-width: 768px) {
  .uspArea__item:first-child .inner:before {
    content: none;
  }
}

.uspArea__item--train1 .inner, .uspArea__item--train2 .inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
}

@media screen and (max-width: 768px) {
  .uspArea__item--train1 .inner, .uspArea__item--train2 .inner {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.uspArea__item.sai-animate:after {
  -webkit-transform: scaleX(1);
          transform: scaleX(1);
}

.uspArea__item.sai-animate .inner:after {
  -webkit-transform: scaleX(1);
          transform: scaleX(1);
}

.uspArea__item .col {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
}

@media screen and (max-width: 768px) {
  .uspArea__item .col {
    -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;
  }
}

.uspArea__item .lead {
  line-height: 1.2;
  display: block;
  -webkit-font-feature-settings: 'palt';
          font-feature-settings: 'palt';
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  z-index: 1;
}

.uspArea__item .lead:before {
  content: '';
  margin-top: calc((1 - 1.2) * .5em);
}

.uspArea__item .lead:after {
  margin-bottom: calc((1 - 1.2) * .5em);
}

.uspArea__item .lead:before, .uspArea__item .lead:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.uspArea__item .lead--small {
  margin-bottom: 16px;
}

@media screen and (min-width: 768px) {
  .uspArea__item .lead--small {
    font-size: 16px;
  }
}

@media screen and (max-width: 768px) {
  .uspArea__item .lead--small {
    font-size: 14px;
    line-height: 1.5;
    margin-inline: auto;
  }
}

.uspArea__item .lead--space {
  padding-top: 15px;
}

.uspArea__item .lead--narrow {
  margin-top: -16px;
}

.uspArea__item .lead .lm {
  font-size: 24px;
}

@media screen and (max-width: 768px) {
  .uspArea__item .lead .lm {
    font-size: 26px;
  }
}

.uspArea__item .lead .middle {
  display: block;
  line-height: 1.2;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .uspArea__item .lead .middle {
    font-size: 20px;
  }
}

@media screen and (max-width: 768px) {
  .uspArea__item .lead .middle {
    font-size: 18px;
  }
}

.uspArea__item .lead .ms {
  font-size: 18px;
}

.uspArea__item .lead .small {
  display: inline;
}

@media screen and (min-width: 768px) {
  .uspArea__item .lead .small {
    font-size: 14px;
  }
}

@media screen and (max-width: 768px) {
  .uspArea__item .lead .small {
    font-size: 16px;
  }
}

.uspArea__item .lead .num {
  color: #000000;
}

@media screen and (min-width: 768px) {
  .uspArea__item .lead .num {
    font-size: 42px;
  }
}

@media screen and (max-width: 768px) {
  .uspArea__item .lead .num {
    font-size: calc(40 / 390 * 100vw);
  }
}

.uspArea__item .lead .center {
  display: block;
  margin-bottom: -18px;
  text-align: center;
}

.uspArea__item .lead .en {
  font-family: "Cormorant Infant", serif;
}

.uspArea__item .lead .ruby {
  color: rgba(0, 0, 0, 0.5);
  display: inline-block;
  font-size: 11px;
  letter-spacing: .1em;
  line-height: 1;
  position: absolute;
  right: 0;
  top: 0;
}

@media screen and (min-width: 768px) {
  .uspArea__item .lead--structure {
    font-size: 26px;
  }
}

@media screen and (max-width: 768px) {
  .uspArea__item .lead--structure {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    font-size: 28px;
    gap: 5px;
  }
}

@media screen and (max-width: 768px) {
  .uspArea__item .lead--structure .middle {
    display: block;
    line-height: 1;
  }
}

.uspArea__item .lead--zeh {
  font-size: 26px;
}

.uspArea__item .lead--zeh .lead--small {
  display: block;
  margin-bottom: -18px;
}

@media screen and (max-width: 768px) {
  .uspArea__item .lead--zeh .lead--small {
    font-size: 16px;
  }
}

.uspArea__item .lead--train1, .uspArea__item .lead--train2 {
  line-height: 1;
  font-size: 18px;
}

.uspArea__item .lead--train1:before, .uspArea__item .lead--train2:before {
  content: '';
  margin-top: calc((1 - 1) * .5em);
}

.uspArea__item .lead--train1:after, .uspArea__item .lead--train2:after {
  margin-bottom: calc((1 - 1) * .5em);
}

.uspArea__item .lead--train1:before, .uspArea__item .lead--train1:after, .uspArea__item .lead--train2:before, .uspArea__item .lead--train2:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.uspArea__item .lead--train1 .small, .uspArea__item .lead--train2 .small {
  font-size: 14px;
}

.uspArea__item .lead--train1 .large, .uspArea__item .lead--train2 .large {
  font-size: 24px;
}

.uspArea__item .lead--train1 .num, .uspArea__item .lead--train2 .num {
  font-size: 32px;
}

.uspArea__bottom {
  line-height: 1.5;
  background-color: #f9f9f9;
  color: #000000;
  font-weight: 500;
  letter-spacing: .1em;
  max-width: 1000px;
  text-align: center;
}

.uspArea__bottom:before {
  content: '';
  margin-top: calc((1 - 1.5) * .5em);
}

.uspArea__bottom:after {
  margin-bottom: calc((1 - 1.5) * .5em);
}

.uspArea__bottom:before, .uspArea__bottom:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

@media screen and (min-width: 768px) {
  .uspArea__bottom {
    font-size: 20px;
    margin: 70px auto 0;
    padding: 40px 0;
  }
}

@media screen and (max-width: 768px) {
  .uspArea__bottom {
    font-size: 16px;
    margin-top: calc(74 / 390 * 100vw);
    padding: 40px 0;
  }
}

.uspArea__bottom .strong {
  color: #d45315;
  display: block;
  margin-top: 4px;
}

@media screen and (min-width: 768px) {
  .uspArea__bottom .strong {
    display: block;
    font-size: 24px;
  }
}

@media screen and (max-width: 768px) {
  .uspArea__bottom .strong {
    font-size: 24px;
  }
}

.uspArea__price {
  background-color: #59472b;
  color: #ffffff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-font-feature-settings: 'palt';
          font-feature-settings: 'palt';
  font-size: 24px;
  font-weight: 500;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  letter-spacing: .05em;
  max-width: 1000px;
}

@media screen and (min-width: 768px) {
  .uspArea__price {
    gap: 32px;
    margin: 70px auto 0;
    padding-block: 28px 84px;
  }
}

@media screen and (max-width: 768px) {
  .uspArea__price {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    gap: 10px;
    margin-top: calc(74 / 390 * 100vw);
    padding-block: 28px 82px;
  }
}

.uspArea__price .madori {
  border-bottom: 1px solid rgba(222, 217, 198, 0.2);
  line-height: 1;
}

.uspArea__price .madori:before {
  content: '';
  margin-top: calc((1 - 1) * .5em);
}

.uspArea__price .madori:after {
  margin-bottom: calc((1 - 1) * .5em);
}

.uspArea__price .madori:before, .uspArea__price .madori:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

@media screen and (min-width: 768px) {
  .uspArea__price .madori {
    padding-bottom: 10px;
  }
}

@media screen and (max-width: 768px) {
  .uspArea__price .madori {
    padding-bottom: 8px;
  }
}

.uspArea__price .madori .num {
  color: #ded9c6;
  font-size: 40px;
}

.uspArea__price .room {
  line-height: 1;
}

.uspArea__price .room:before {
  content: '';
  margin-top: calc((1 - 1) * .5em);
}

.uspArea__price .room:after {
  margin-bottom: calc((1 - 1) * .5em);
}

.uspArea__price .room:before, .uspArea__price .room:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

@media screen and (min-width: 768px) {
  .uspArea__price .room {
    padding-top: 10px;
  }
}

@media screen and (max-width: 768px) {
  .uspArea__price .room {
    padding-top: 8px;
  }
}

@media screen and (min-width: 768px) {
  .uspArea__price .room {
    font-size: 14px;
  }
}

@media screen and (max-width: 768px) {
  .uspArea__price .room {
    font-size: 12px;
  }
}

.uspArea__price .room .type {
  color: #ded9c6;
  font-size: 22px;
}

.uspArea__price .room .num {
  color: #ded9c6;
  font-size: 18px;
}

.uspArea__price .num {
  font-size: 26px;
}

.uspArea__price .inner--02 {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 28px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
}

@media screen and (max-width: 768px) {
  .uspArea__price .inner--02 {
    -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;
    gap: 52px;
  }
}

.uspArea__price .planned {
  font-size: 24px;
  gap: 14px;
  position: relative;
}

.uspArea__price .planned .label {
  font-size: 12px;
  height: auto;
  padding-bottom: 4px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.uspArea__price .planned .num {
  color: #ded9c6;
  font-size: 50px;
  letter-spacing: .1em;
}

.uspArea__price .more {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: rgba(255, 255, 255, 0.15);
  bottom: 0;
  color: #ffffff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-family: "Cormorant Infant", serif;
  font-size: 16px;
  gap: 16px;
  height: 54px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  left: 0;
  letter-spacing: .08em;
  line-height: 1;
  position: absolute;
  -webkit-transition: background-color .8s ease;
  transition: background-color .8s ease;
  width: 100%;
  z-index: 2;
}

.uspArea__price .more .arrowSVG {
  aspect-ratio: 1/1;
  display: block;
  -webkit-transition: -webkit-transform .8s ease;
  transition: -webkit-transform .8s ease;
  transition: transform .8s ease;
  transition: transform .8s ease, -webkit-transform .8s ease;
  width: 24px;
}

@media screen and (min-width: 768px) {
  .uspArea__price .more:hover {
    background-color: rgba(255, 255, 255, 0.25);
  }
  .uspArea__price .more:hover .arrowSVG {
    -webkit-transform: scale(1.3);
            transform: scale(1.3);
  }
}

@media (hover: hover) and (pointer: fine) {
  .uspArea__price .more:hover {
    background-color: rgba(255, 255, 255, 0.25);
  }
  .uspArea__price .more:hover .arrowSVG {
    -webkit-transform: scale(1.3);
            transform: scale(1.3);
  }
}

.uspArea__price .entryLabel {
  border: 1px solid #ffffff;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .uspArea__price .entryLabel {
    font-size: 12px;
    height: 80px;
    line-height: 1.5;
    padding-block: 22px;
    width: 80px;
  }
}

@media screen and (max-width: 768px) {
  .uspArea__price .entryLabel {
    font-size: 14px;
    line-height: 1;
    padding: 8px;
    position: absolute;
    top: 40px;
  }
}

.uspArea__plan {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #59472b;
  color: #ffffff;
  position: relative;
}

@media screen and (min-width: 768px) {
  .uspArea__plan {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin: 70px auto 0;
    width: 900px;
  }
}

@media screen and (max-width: 768px) {
  .uspArea__plan {
    margin: calc(74 / 390 * 100vw) 24px;
    padding: 40px 0 54px;
  }
}

.uspArea__plan .inner--txt {
  text-align: center;
}

@media screen and (min-width: 768px) {
  .uspArea__plan .inner--txt {
    height: 221px;
    padding: 60px;
    position: relative;
    width: 527px;
  }
}

@media screen and (min-width: 768px) {
  .uspArea__plan .inner--txt .lead {
    font-size: 26px;
  }
}

@media screen and (max-width: 768px) {
  .uspArea__plan .inner--txt .lead {
    font-size: 24px;
  }
}

.uspArea__plan .inner--txt .lead--box {
  border: 1px solid rgba(255, 255, 255, 0.4);
  padding: 5px;
}

@media screen and (min-width: 768px) {
  .uspArea__plan .inner--txt .lead--box {
    font-size: 16px;
    margin-top: 10px;
  }
}

@media screen and (max-width: 768px) {
  .uspArea__plan .inner--txt .lead--box {
    font-size: 14px;
    margin: 20px 10px 30px;
  }
}

@media screen and (min-width: 768px) {
  .uspArea__plan .inner--img {
    width: 373px;
  }
}

.uspArea__plan .more {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: rgba(255, 255, 255, 0.15);
  bottom: 0;
  color: #ffffff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-family: "Cormorant Infant", serif;
  font-size: 16px;
  gap: 16px;
  height: 54px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  left: 0;
  letter-spacing: .08em;
  line-height: 1;
  position: absolute;
  -webkit-transition: background-color .8s ease;
  transition: background-color .8s ease;
  width: 100%;
  z-index: 2;
}

.uspArea__plan .more .arrowSVG {
  aspect-ratio: 1/1;
  display: block;
  -webkit-transition: -webkit-transform .8s ease;
  transition: -webkit-transform .8s ease;
  transition: transform .8s ease;
  transition: transform .8s ease, -webkit-transform .8s ease;
  width: 24px;
}

@media screen and (min-width: 768px) {
  .uspArea__plan .more:hover {
    background-color: rgba(255, 255, 255, 0.25);
  }
  .uspArea__plan .more:hover .arrowSVG {
    -webkit-transform: scale(1.3);
            transform: scale(1.3);
  }
}

@media (hover: hover) and (pointer: fine) {
  .uspArea__plan .more:hover {
    background-color: rgba(255, 255, 255, 0.25);
  }
  .uspArea__plan .more:hover .arrowSVG {
    -webkit-transform: scale(1.3);
            transform: scale(1.3);
  }
}

.topKv {
  position: relative;
}

.topKv img {
  width: 100%;
}

.topKv__title {
  position: absolute;
}

@media screen and (min-width: 768px) {
  .topKv__title {
    left: calc(50% - 490px);
    text-align: center;
    top: 235px;
  }
}

@media screen and (max-width: 768px) {
  .topKv__title {
    left: calc(26.5 / 390 * 100vw);
    top: calc(36 / 390 * 100vw);
  }
}

.topKv__titleEn {
  color: #d45315;
  display: block;
  font-family: "Cormorant Infant", serif;
  letter-spacing: normal;
  line-height: 1.1;
}

.topKv__titleEn:before {
  content: '';
  margin-top: calc((1 - 1.1) * .5em);
}

.topKv__titleEn:after {
  margin-bottom: calc((1 - 1.1) * .5em);
}

.topKv__titleEn:before, .topKv__titleEn:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

@media screen and (min-width: 768px) {
  .topKv__titleEn {
    font-size: 57px;
    margin-bottom: 20px;
  }
}

@media screen and (max-width: 768px) {
  .topKv__titleEn {
    font-size: 34px;
    margin-bottom: 15px;
    text-align: left;
  }
}

.topKv__titleJa {
  display: block;
  letter-spacing: .01em;
  line-height: 1.5;
}

.topKv__titleJa:before {
  content: '';
  margin-top: calc((1 - 1.5) * .5em);
}

.topKv__titleJa:after {
  margin-bottom: calc((1 - 1.5) * .5em);
}

.topKv__titleJa:before, .topKv__titleJa:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

@media screen and (min-width: 768px) {
  .topKv__titleJa {
    font-size: 20px;
    margin-bottom: 15px;
  }
}

@media screen and (max-width: 768px) {
  .topKv__titleJa {
    font-size: 14px;
    margin-bottom: 10px;
    text-align: left;
  }
}

.topKv__titleSub {
  display: block;
  font-size: 10px;
  letter-spacing: .01em;
  line-height: 1.3;
}

.topKv__titleSub:before {
  content: '';
  margin-top: calc((1 - 1.3) * .5em);
}

.topKv__titleSub:after {
  margin-bottom: calc((1 - 1.3) * .5em);
}

.topKv__titleSub:before, .topKv__titleSub:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

@media screen and (max-width: 768px) {
  .topKv__titleSub {
    text-align: left;
  }
}

.top-usp {
  position: relative;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  .top-bnr {
    margin-top: 75px;
  }
}

@media screen and (max-width: 768px) {
  .top-bnr {
    margin-top: calc(40 / 390 * 100vw);
  }
}

.top-info {
  position: relative;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  .top-info {
    margin-bottom: 120px;
  }
}

@media screen and (max-width: 768px) {
  .top-info {
    margin-bottom: calc(80 / 390 * 100vw);
  }
}

.top-section__img {
  overflow: hidden;
  position: relative;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  .top-section__img {
    border-bottom: 12px solid #d45315;
    margin-bottom: 100px;
    margin-top: 100px;
  }
}

@media screen and (max-width: 768px) {
  .top-section__img {
    border-bottom: 8px solid #d45315;
    margin-bottom: calc(60 / 390 * 100vw);
    margin-top: calc(60 / 390 * 100vw);
  }
}

.top-section__img img {
  width: 100%;
}

.top-section__img div[data-sai].sai-animate {
  -webkit-transition-duration: 1.5s !important;
          transition-duration: 1.5s !important;
}

@media screen and (min-width: 768px) {
  .top-section .headingLeadMore {
    margin-bottom: 100px;
  }
}

@media screen and (max-width: 768px) {
  .top-section .headingLeadMore {
    margin-bottom: calc(60 / 390 * 100vw);
  }
}
