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

@media screen and (min-width: 768px) {
  .conceptSect {
    max-width: 1000px;
    padding: 216px 0;
  }
}

@media screen and (max-width: 768px) {
  .conceptSect {
    padding: calc(330 / 750 * 100vw) 0 calc(360 / 750 * 100vw);
  }
}

.conceptSect__head {
  font-family: "Cinzel", serif;
  letter-spacing: 1.2em;
}

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

@media screen and (min-width: 768px) {
  .conceptSect__head .photo {
    margin: 64px auto 0;
    width: 692px;
  }
}

@media screen and (max-width: 768px) {
  .conceptSect__head .photo {
    margin: calc(100 / 750 * 100vw) calc(60 / 750 * 100vw) 0;
  }
}

.conceptSect__cont {
  line-height: 2.6;
}

@media screen and (min-width: 768px) {
  .conceptSect__cont {
    font-size: 16px;
    margin-top: 80px;
  }
}

@media screen and (max-width: 768px) {
  .conceptSect__cont {
    font-size: calc(28 / 750 * 100vw);
    margin-top: calc(100 / 750 * 100vw);
  }
}

.informationSect {
  font-family: "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;
  }
}

@media screen and (max-width: 768px) {
  .informationSect {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

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

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

@media screen and (max-width: 768px) {
  .informationSect__head + * {
    margin-top: 20px;
  }
}

.informationSect__head > .generalBtn {
  margin: 0 auto;
}

@media screen and (min-width: 768px) {
  .informationSect__head > .generalBtn {
    margin-top: 20px;
  }
}

@media screen and (max-width: 768px) {
  .informationSect__head > .generalBtn {
    margin-top: 20px;
  }
}

.informationSect .generalBtn + .caption {
  text-align: start;
}

@media screen and (min-width: 768px) {
  .informationSect .generalBtn + .caption {
    margin-top: 32px;
  }
}

@media screen and (max-width: 768px) {
  .informationSect .generalBtn + .caption {
    margin-top: 18px;
    padding: 0 20px;
  }
}

.informationSect__ttl {
  margin: 0 auto;
}

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

.informationSect__ttl + .informationSect__txt {
  margin-top: 20px;
}

@media screen and (max-width: 768px) {
  .informationSect__copy {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
}

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

@media screen and (min-width: 768px) {
  .informationSect__cont {
    font-size: 16px;
    margin-top: 40px;
  }
}

@media screen and (max-width: 768px) {
  .informationSect__cont {
    font-size: calc(24 / 750 * 100vw);
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
}

.informationSect__cont .date {
  font-weight: 700;
}

.informationSect__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

@media screen and (min-width: 768px) {
  .informationSect__inner {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    gap: 40px;
  }
}

@media screen and (max-width: 768px) {
  .informationSect__inner {
    -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: calc(40 / 390 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .informationSect__item + .informationSect__item {
    margin-top: 30px;
  }
}

.informationSect__item .generalBtn {
  margin: 0 auto;
}

.informationSect__txt {
  letter-spacing: .03em;
}

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

@media screen and (max-width: 768px) {
  .informationSect__txt {
    font-size: calc(24 / 750 * 100vw);
    line-height: 1.5;
  }
}

.informationSect__txt a {
  text-decoration: underline;
  -webkit-transition: opacity .3s ease-in-out;
  transition: opacity .3s ease-in-out;
}

@media screen and (min-width: 768px) {
  .informationSect__txt a:hover {
    opacity: .7;
  }
}

@media (hover: hover) and (pointer: fine) {
  .informationSect__txt a:hover {
    opacity: .7;
  }
}

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

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

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

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

@media screen and (min-width: 768px) {
  .informationSect__txt--monthly {
    font-size: 28px;
    line-height: 1.5;
  }
}

@media screen and (max-width: 768px) {
  .informationSect__txt--monthly {
    font-size: calc(24 / 390 * 100vw);
    line-height: 1.5;
  }
}

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

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

.informationSect__txt .orange {
  color: #bf6a02;
}

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

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

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

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

@media screen and (max-width: 768px) {
  .informationSect__bnr {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
  }
}

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

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

@media screen and (max-width: 768px) {
  .informationSect__bnr:nth-child(1) {
    margin-bottom: calc(68 / 390 * 100vw);
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .informationSect__bnr:nth-child(1) + * {
    margin-top: 0;
  }
}

@media screen and (max-width: 768px) {
  .informationSect__bnr .bnrArea__inner {
    padding: 0 20px;
  }
}

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

.mainVisual__video {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: top center;
     object-position: top center;
  position: relative;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .mainVisual__video {
    height: 100vh;
    min-height: 590px;
    -o-object-position: bottom;
       object-position: bottom;
  }
}

.mainVisual__inner {
  height: 100%;
  position: relative;
  z-index: 1;
}

.mainVisual__movie {
  height: 100%;
  overflow: hidden;
  pointer-events: none;
  position: relative;
  width: 100%;
}

.mainVisual .caption {
  bottom: 5px;
  font-size: 10px;
  left: 10px;
  line-height: calc(18 / 10);
  opacity: 0;
  position: absolute;
  -webkit-transition: opacity 1.6s ease;
  transition: opacity 1.6s ease;
  z-index: 2;
}

.mainVisual.is-ended .caption {
  opacity: 1;
}

.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;
  z-index: -1 !important;
}

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

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

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

.perthSect__bg {
  -webkit-filter: brightness(2) blur(20px);
          filter: brightness(2) blur(20px);
  left: 50%;
  position: absolute;
}

@media screen and (min-width: 768px) {
  .perthSect__bg {
    bottom: 0;
    padding-top: calc(400 /1440 * 100vw);
    -webkit-transform: translate(-50%, 8%);
            transform: translate(-50%, 8%);
    width: calc(1700 /1440 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .perthSect__bg {
    bottom: 0;
    -webkit-transform: translate(-50%, 4%);
            transform: translate(-50%, 4%);
    width: calc(1100 / 390 * 100vw);
  }
}

.perthSect__bg .photo {
  -webkit-transform: translateX(0) scale(1.05);
          transform: translateX(0) scale(1.05);
  -webkit-transition: -webkit-transform 10s;
  transition: -webkit-transform 10s;
  transition: transform 10s;
  transition: transform 10s, -webkit-transform 10s;
}

@media screen and (min-width: 768px) {
  .perthSect__bg.is-active .photo {
    -webkit-transform: translateX(5%) scale(1.05);
            transform: translateX(5%) scale(1.05);
  }
}

@media screen and (max-width: 768px) {
  .perthSect__bg.is-active .photo {
    -webkit-transform: translateX(7%) scale(1.05);
            transform: translateX(7%) scale(1.05);
  }
}

.perthSect__visual {
  -webkit-filter: brightness(0.8);
          filter: brightness(0.8);
  -webkit-transform-origin: left bottom;
          transform-origin: left bottom;
}

@media screen and (min-width: 768px) {
  .perthSect__visual {
    -webkit-transform: scale(1.12);
            transform: scale(1.12);
    -webkit-transition: -webkit-filter 4s ease, -webkit-transform 10s ease;
    transition: -webkit-filter 4s ease, -webkit-transform 10s ease;
    transition: filter 4s ease, transform 10s ease;
    transition: filter 4s ease, transform 10s ease, -webkit-filter 4s ease, -webkit-transform 10s ease;
    width: calc(1257 / 1440 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .perthSect__visual {
    margin-left: calc(-110 / 390 * 100vw);
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
    -webkit-transition: -webkit-filter 4s ease, -webkit-transform 8s ease;
    transition: -webkit-filter 4s ease, -webkit-transform 8s ease;
    transition: filter 4s ease, transform 8s ease;
    transition: filter 4s ease, transform 8s ease, -webkit-filter 4s ease, -webkit-transform 8s ease;
    width: calc(580 / 390 * 100vw);
  }
}

.perthSect__visual.is-active {
  -webkit-animation: brightnessEffect 4s ease forwards;
          animation: brightnessEffect 4s ease forwards;
  -webkit-transform: scale(1);
          transform: scale(1);
}

@-webkit-keyframes brightnessEffect {
  0% {
    -webkit-filter: brightness(0.7);
            filter: brightness(0.7);
  }
  60% {
    -webkit-filter: brightness(1.4);
            filter: brightness(1.4);
  }
  100% {
    -webkit-filter: brightness(1);
            filter: brightness(1);
  }
}

@keyframes brightnessEffect {
  0% {
    -webkit-filter: brightness(0.7);
            filter: brightness(0.7);
  }
  60% {
    -webkit-filter: brightness(1.4);
            filter: brightness(1.4);
  }
  100% {
    -webkit-filter: brightness(1);
            filter: brightness(1);
  }
}

.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(410 / 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;
  opacity: 1;
  pointer-events: none;
  position: relative;
  -webkit-transition: opacity .8s ease-in-out;
  transition: opacity .8s ease-in-out;
}

@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(62 / 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(50 / 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(76 / 390 * 100vw);
  }
}

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

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

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

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

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

@media screen and (max-width: 768px) {
  .perthSect__item:after {
    bottom: calc(-25 / 390 * 100vw);
    height: calc(13 / 390 * 100vw);
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: calc(79 / 390 * 100vw);
  }
}

.perthSect__item--open {
  pointer-events: unset;
}

.perthSect__item--open:after {
  background: url("../common/imgs/txt-readmore.svg") no-repeat center center;
}

@media screen and (min-width: 768px) {
  .perthSect__item--open:after {
    bottom: -30px;
    height: 16px;
    width: 84px;
  }
}

@media screen and (max-width: 768px) {
  .perthSect__item--open:after {
    bottom: calc(-30 / 390 * 100vw);
    height: calc(20 / 390 * 100vw);
    width: calc(92 / 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.4s ease-in, -webkit-transform 1.4s ease-in;
  transition: opacity 1.4s ease-in, -webkit-transform 1.4s ease-in;
  transition: opacity 1.4s ease-in, transform 1.4s ease-in;
  transition: opacity 1.4s ease-in, transform 1.4s ease-in, -webkit-transform 1.4s ease-in;
}

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

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

@media screen and (max-width: 768px) {
  .perthSect__ttl {
    margin-top: calc(45 / 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:before, .perthSect.is-active .perthSect__item:after {
  opacity: 1;
}

.perthSect.is-active .perthSect__item--open:hover {
  opacity: .6;
}

.perthSect.is-active .perthSect__item--open:hover .perthSect__logo {
  -webkit-transform: rotate(5deg);
          transform: rotate(5deg);
  -webkit-transition: -webkit-transform .8s ease-in;
  transition: -webkit-transform .8s ease-in;
  transition: transform .8s ease-in;
  transition: transform .8s ease-in, -webkit-transform .8s ease-in;
}

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

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

.perthSect__box {
  background-color: rgba(0, 0, 0, 0.2);
  height: 10%;
  left: 50%;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 10%;
}

.perthSect .caption {
  bottom: 5px;
  font-size: 10px;
  left: 10px;
  line-height: calc(18 / 10);
  position: absolute;
  z-index: 2;
}

@media screen and (min-width: 768px) {
  .planInfoArea {
    padding-bottom: 40px;
  }
}

@media screen and (max-width: 768px) {
  .planInfoArea {
    padding-bottom: calc(42 / 390 * 100vw);
  }
}

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

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

.planInfoArea__label {
  line-height: 1;
  background: #bf6a02;
  color: #ffffff;
  margin-inline: auto;
}

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

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

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

@media screen and (min-width: 768px) {
  .planInfoArea__label {
    font-size: 14px;
    padding: 8px;
    width: 160px;
  }
}

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

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

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

.planInfoArea__txt {
  line-height: 1.2;
  border-bottom: 1px solid #000000;
  margin-inline: auto;
  padding: 20px 0 16px;
  text-align: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

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

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

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

@media screen and (min-width: 768px) {
  .planInfoArea__txt {
    font-size: 24px;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}

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

*:not(.planInfoArea__txt) + .planInfoArea__txt {
  padding-top: 0;
}

.planInfoArea__txt:only-child {
  border-bottom: none;
  padding-bottom: 0;
}

@media screen and (min-width: 768px) {
  .planInfoArea__txt .meter {
    font-size: 26px;
  }
}

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

.planInfoArea__txt .meter .num {
  color: #bf6a02;
}

@media screen and (min-width: 768px) {
  .planInfoArea__txt .meter .num {
    font-size: 26px;
  }
}

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

@media screen and (min-width: 768px) {
  .planInfoArea__txt .meter .unit {
    font-size: 18px;
  }
}

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

@media screen and (min-width: 768px) {
  .planInfoArea__txt .ldk {
    font-size: 26px;
  }
}

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

@media screen and (min-width: 768px) {
  .planInfoArea__txt .price {
    font-size: 26px;
  }
}

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

.planInfoArea__txt .price .orange {
  color: #bf6a02;
}

.planInfoArea__txt .caption {
  line-height: 1;
}

@media screen and (min-width: 768px) {
  .planInfoArea__txt .caption {
    font-size: 12px;
  }
}

@media screen and (max-width: 768px) {
  .planInfoArea__txt .caption {
    display: inline-block;
    font-size: calc(10 / 390 * 100vw);
    margin-top: 4px;
  }
}

.planInfoArea__txt--direction {
  border-bottom: none;
  padding-bottom: 0;
}

@media screen and (max-width: 768px) {
  .planInfoArea__txt--direction {
    line-height: 1.4;
  }
}

.planInfoArea__txt--direction .caption {
  color: #000000;
  display: block;
}

@media screen and (min-width: 768px) {
  .planInfoArea__txt--direction .caption {
    font-size: 18px;
    margin-top: 10px;
    text-align: end;
  }
}

@media screen and (max-width: 768px) {
  .planInfoArea__txt--direction .caption {
    font-size: calc(10 / 390 * 100vw);
  }
}

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

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

.scrollSect__xMove {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

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

@media screen and (min-width: 768px) {
  .scrollSect__scene--01 {
    aspect-ratio: calc(1490 / 800);
  }
}

@media screen and (max-width: 768px) {
  .scrollSect__scene--01 {
    width: calc(949 * var(--windowVhScale) * 1px);
  }
}

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

@media screen and (max-width: 768px) {
  .scrollSect__scene--01 .scrollSect__ttl {
    left: calc(276px * var(--windowVhScale));
    top: calc(247 / 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(670px * var(--windowVhScale));
  }
}

@media screen and (max-width: 768px) {
  .scrollSect__scene--01 .scrollSect__txt {
    left: calc(660px * var(--windowVhScale));
    top: calc(380px * var(--windowVhScale));
  }
}

@media screen and (min-width: 768px) {
  .scrollSect__scene--01 .scrollSect__visual {
    left: calc(764px * var(--windowVhScale));
    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 {
    left: calc(250px * var(--windowVhScale));
    top: calc(154px * var(--windowVhScale));
    width: calc(534px * var(--windowVhScale));
  }
}

@media screen and (min-width: 768px) {
  .scrollSect__scene--01 .scrollSect__logo {
    left: calc(290px * var(--windowVhScale));
    top: calc(66px * var(--windowVhScale));
  }
}

@media screen and (max-width: 768px) {
  .scrollSect__scene--01 .scrollSect__logo {
    left: calc(275px * var(--windowVhScale));
    top: calc(96px * var(--windowVhScale));
  }
}

@media screen and (min-width: 768px) {
  .scrollSect__scene--01 .scrollSect__logo .scrollSect__link, .scrollSect__scene--01 .scrollSect__logo:after {
    bottom: calc(60px * var(--windowVhScale));
  }
}

@media screen and (max-width: 768px) {
  .scrollSect__scene--01 .scrollSect__logo .scrollSect__link, .scrollSect__scene--01 .scrollSect__logo:after {
    bottom: calc(50px * var(--windowVhScale));
    left: calc(105px * var(--windowVhScale));
  }
}

.scrollSect__scene--01 .scrollSect__logo .scrollSect__link {
  background-image: url("../common/imgs/txt-readmore-sense.svg");
}

@media screen and (min-width: 768px) {
  .scrollSect__scene--01 .scrollSect__logo .scrollSect__link--open {
    bottom: calc(-2px * var(--windowVhScale));
  }
}

@media screen and (max-width: 768px) {
  .scrollSect__scene--01 .scrollSect__logo .scrollSect__link--open {
    bottom: calc(-10px * var(--windowVhScale));
  }
}

@media screen and (min-width: 768px) {
  .scrollSect__scene--01 .scrollSect__bg {
    left: calc(503px * var(--windowVhScale));
    top: calc(-79px * var(--windowVhScale));
    width: calc(1025px * var(--windowVhScale));
  }
}

@media screen and (max-width: 768px) {
  .scrollSect__scene--01 .scrollSect__bg {
    left: calc(104px * var(--windowVhScale));
    top: calc(114px * var(--windowVhScale));
  }
}

@media screen and (min-width: 768px) {
  .scrollSect__scene--02 {
    aspect-ratio: calc(1869 / 800);
  }
}

@media screen and (max-width: 768px) {
  .scrollSect__scene--02 {
    width: calc(1042 * var(--windowVhScale) * 1px);
  }
}

@media screen and (min-width: 768px) {
  .scrollSect__scene--02 .scrollSect__ttl {
    bottom: calc(493 / 800 * calc(100vh - 84px));
    left: calc(971px * var(--windowVhScale));
  }
}

@media screen and (max-width: 768px) {
  .scrollSect__scene--02 .scrollSect__ttl {
    left: calc(575px * var(--windowVhScale));
    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));
    left: calc(832px * var(--windowVhScale));
  }
}

@media screen and (max-width: 768px) {
  .scrollSect__scene--02 .scrollSect__txt {
    left: calc(210px * var(--windowVhScale));
    top: calc(465px * var(--windowVhScale));
  }
}

@media screen and (min-width: 768px) {
  .scrollSect__scene--02 .scrollSect__visual {
    left: calc(70px * var(--windowVhScale));
    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 {
    left: calc(100px * var(--windowVhScale));
    top: 0;
    width: calc(796px * var(--windowVhScale));
  }
}

@media screen and (min-width: 768px) {
  .scrollSect__scene--02 .scrollSect__logo {
    bottom: calc(65px * var(--windowVhScale));
    left: calc(824px * var(--windowVhScale));
  }
}

@media screen and (max-width: 768px) {
  .scrollSect__scene--02 .scrollSect__logo {
    right: calc(513px * var(--windowVhScale));
    top: calc(579px * var(--windowVhScale));
  }
}

@media screen and (min-width: 768px) {
  .scrollSect__scene--02 .scrollSect__logo:after {
    bottom: calc(58px * var(--windowVhScale));
    left: calc(188px * var(--windowVhScale));
  }
}

@media screen and (max-width: 768px) {
  .scrollSect__scene--02 .scrollSect__logo:after {
    bottom: calc(50px * var(--windowVhScale));
    left: calc(110px * var(--windowVhScale));
  }
}

.scrollSect__scene--02 .scrollSect__logo .scrollSect__link {
  background-image: url("../common/imgs/txt-readmore-artistic.svg");
}

@media screen and (min-width: 768px) {
  .scrollSect__scene--02 .scrollSect__logo .scrollSect__link--open {
    left: calc(190px * var(--windowVhScale));
    top: calc(2px * var(--windowVhScale));
  }
}

@media screen and (max-width: 768px) {
  .scrollSect__scene--02 .scrollSect__logo .scrollSect__link--open {
    left: calc(110px * var(--windowVhScale));
    top: calc(10px * var(--windowVhScale));
  }
}

@media screen and (min-width: 768px) {
  .scrollSect__scene--02 .scrollSect__bg {
    left: calc(499px * var(--windowVhScale));
    top: calc(-69px * var(--windowVhScale));
    width: calc(1129px * var(--windowVhScale));
  }
}

@media screen and (max-width: 768px) {
  .scrollSect__scene--02 .scrollSect__bg {
    left: calc(120px * var(--windowVhScale));
    top: calc(128px * var(--windowVhScale));
    width: calc(752px * var(--windowVhScale));
  }
}

.scrollSect__scene--03 {
  position: relative;
}

@media screen and (min-width: 768px) {
  .scrollSect__scene--03 {
    aspect-ratio: calc(1681 / 800);
  }
}

@media screen and (max-width: 768px) {
  .scrollSect__scene--03 {
    width: calc(809 * var(--windowVhScale) * 1px);
  }
}

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

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

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

@media screen and (max-width: 768px) {
  .scrollSect__scene--03 .scrollSect__txt {
    left: calc(556px * var(--windowVhScale));
    top: calc(610px * var(--windowVhScale));
  }
}

@media screen and (min-width: 768px) {
  .scrollSect__scene--03 .scrollSect__visual--01 {
    bottom: 0;
    left: calc(241px * var(--windowVhScale));
    width: calc(475px * var(--windowVhScale));
  }
}

@media screen and (max-width: 768px) {
  .scrollSect__scene--03 .scrollSect__visual--01 {
    left: calc(104px * var(--windowVhScale));
    top: calc(617px * var(--windowVhScale));
    width: calc(316px * var(--windowVhScale));
  }
}

@media screen and (min-width: 768px) {
  .scrollSect__scene--03 .scrollSect__visual--02 {
    left: calc(1195px * var(--windowVhScale));
    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 {
    left: calc(555px * var(--windowVhScale));
    top: calc(74 / 800 * calc(100vh - 84px));
    width: calc(250px * var(--windowVhScale));
  }
}

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

@media screen and (max-width: 768px) {
  .scrollSect__scene--03 .scrollSect__logo {
    left: calc(202px * var(--windowVhScale));
    top: calc(285px * var(--windowVhScale));
    width: calc(80px * var(--windowVhScale));
  }
}

@media screen and (min-width: 768px) {
  .scrollSect__scene--03 .scrollSect__logo:after {
    bottom: calc(58px * var(--windowVhScale));
  }
}

@media screen and (max-width: 768px) {
  .scrollSect__scene--03 .scrollSect__logo:after {
    bottom: calc(38px * var(--windowVhScale));
  }
}

@media screen and (min-width: 768px) {
  .scrollSect__scene--03 .scrollSect__logo .scrollSect__link {
    bottom: calc(-5px * var(--windowVhScale));
  }
}

@media screen and (max-width: 768px) {
  .scrollSect__scene--03 .scrollSect__logo .scrollSect__link {
    bottom: calc(-20px * var(--windowVhScale));
  }
}

@media screen and (min-width: 768px) {
  .scrollSect__scene--03 .scrollSect__bg {
    left: calc(858px * var(--windowVhScale));
    top: calc(-233px * var(--windowVhScale));
  }
}

@media screen and (max-width: 768px) {
  .scrollSect__scene--03 .scrollSect__bg {
    left: calc(0px * var(--windowVhScale));
    top: calc(-162px * var(--windowVhScale));
  }
}

.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: calc(26px * var(--windowVhScale));
    letter-spacing: calc(.38em * var(--windowVhScale));
  }
}

@media screen and (max-width: 768px) {
  .scrollSect__ttl {
    font-size: calc(20px * var(--windowVhScale));
    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: calc(14px * var(--windowVhScale));
  }
}

@media screen and (max-width: 768px) {
  .scrollSect__txt {
    font-size: calc(max(11px, 11px * var(--windowVhScale)));
    letter-spacing: .12em;
    line-height: 2.4;
    white-space: nowrap;
  }
}

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

.scrollSect__logo {
  position: absolute;
}

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

@media screen and (max-width: 768px) {
  .scrollSect__logo {
    width: calc(80px * var(--windowVhScale));
  }
}

.scrollSect__logo:after {
  background: url("../common/imgs/txt-bukken.svg") no-repeat center center/contain;
  content: '';
  height: calc(8px * var(--windowVhScale));
  position: absolute;
  width: calc(165px * var(--windowVhScale));
}

@media screen and (min-width: 768px) {
  .scrollSect__logo:after {
    bottom: calc(10px * var(--windowVhScale));
    left: calc(175px * var(--windowVhScale));
  }
}

@media screen and (max-width: 768px) {
  .scrollSect__logo:after {
    bottom: calc(-10px * var(--windowVhScale));
    left: calc(110px * var(--windowVhScale));
  }
}

.scrollSect__logo .scrollSect__link {
  background-image: url("../common/imgs/txt-readmore-history.svg");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  content: '';
  display: block;
  height: calc(50px * var(--windowVhScale));
  pointer-events: none;
  position: absolute;
  width: calc(169px * var(--windowVhScale));
}

@media screen and (min-width: 768px) {
  .scrollSect__logo .scrollSect__link {
    bottom: calc(-52px * var(--windowVhScale));
    left: calc(176px * var(--windowVhScale));
  }
}

@media screen and (max-width: 768px) {
  .scrollSect__logo .scrollSect__link {
    bottom: calc(-70px * var(--windowVhScale));
    left: calc(110px * var(--windowVhScale));
  }
}

.scrollSect__logo .scrollSect__link img {
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  width: 100%;
}

.scrollSect__logo .scrollSect__link--open {
  pointer-events: unset;
  position: relative;
  z-index: 1;
}

.scrollSect__logo .scrollSect__link--open:before {
  -webkit-animation: echoEffect 4s infinite;
          animation: echoEffect 4s infinite;
  background-color: rgba(89, 106, 50, 0.1);
  border-radius: 50%;
  content: '';
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

@media screen and (min-width: 768px) {
  .scrollSect__logo .scrollSect__link--open:before {
    height: calc(44px * var(--windowVhScale));
    left: calc(120px * var(--windowVhScale));
    width: calc(44px * var(--windowVhScale));
  }
}

@media screen and (max-width: 768px) {
  .scrollSect__logo .scrollSect__link--open:before {
    height: calc(42px * var(--windowVhScale));
    left: calc(123px * var(--windowVhScale));
    width: calc(42px * var(--windowVhScale));
  }
}

@-webkit-keyframes echoEffect {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-50%) scale(0);
            transform: translateY(-50%) scale(0);
  }
  40% {
    opacity: 1;
    -webkit-transform: translateY(-50%) scale(1);
            transform: translateY(-50%) scale(1);
  }
  42% {
    opacity: 1;
    -webkit-transform: translateY(-50%) scale(1);
            transform: translateY(-50%) scale(1);
  }
  75% {
    opacity: 0;
    -webkit-transform: translateY(-50%) scale(1);
            transform: translateY(-50%) scale(1);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-50%) scale(1);
            transform: translateY(-50%) scale(1);
  }
}

@keyframes echoEffect {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-50%) scale(0);
            transform: translateY(-50%) scale(0);
  }
  40% {
    opacity: 1;
    -webkit-transform: translateY(-50%) scale(1);
            transform: translateY(-50%) scale(1);
  }
  42% {
    opacity: 1;
    -webkit-transform: translateY(-50%) scale(1);
            transform: translateY(-50%) scale(1);
  }
  75% {
    opacity: 0;
    -webkit-transform: translateY(-50%) scale(1);
            transform: translateY(-50%) scale(1);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-50%) scale(1);
            transform: translateY(-50%) scale(1);
  }
}

.scrollSect__bg {
  left: 0;
  opacity: .1;
  position: absolute;
  top: 0;
  width: calc(1030px * var(--windowVhScale));
}

@media screen and (max-width: 768px) {
  .scrollSect__bg {
    width: calc(686px * var(--windowVhScale));
  }
}

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

@media screen and (min-width: 768px) {
  .scrollSect__bg .photo__image {
    width: 100%;
  }
}

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

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

@media screen and (min-width: 768px) {
  .uspArea {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 24px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin: 0 auto;
    max-width: 1440px;
    padding: 0 64px;
  }
}

@media screen and (min-width: 769px) and (max-width: 1330px) {
  .uspArea {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(2, 1fr);
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}

.uspArea__item {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

@media screen and (min-width: 769px) and (max-width: 1330px) {
  .uspArea__item {
    justify-self: center;
  }
}

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

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

@media screen and (max-width: 768px) {
  .uspArea__item:first-child .uspArea__txt {
    margin-right: auto;
  }
}

@media screen and (max-width: 768px) {
  .uspArea__item:first-child .uspArea__txt .inner {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}

@media screen and (max-width: 768px) {
  .uspArea__item:first-child .uspArea__txt .inner .lead {
    left: calc(16 / 750 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .uspArea__item:first-child .uspArea__txt .inner:first-child .lead {
    margin-right: calc(-20 / 750 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .uspArea__item:nth-of-type(2) .uspArea__txt {
    margin: 0 auto;
  }
}

@media screen and (max-width: 768px) {
  .uspArea__item:nth-of-type(2) .uspArea__txt {
    margin: 0 auto;
  }
}

@media screen and (min-width: 768px) {
  .uspArea__item:nth-of-type(2) .uspArea__txt .inner .small {
    font-size: 18px;
  }
}

@media screen and (max-width: 768px) {
  .uspArea__item:nth-of-type(2) .uspArea__txt .inner .small {
    font-size: calc(26 / 750 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .uspArea__item:nth-of-type(2) .uspArea__txt .inner .small .num {
    font-size: 24px;
  }
}

@media screen and (max-width: 768px) {
  .uspArea__item:nth-of-type(2) .uspArea__txt .inner .small .num {
    font-size: calc(26 / 750 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .uspArea__item:nth-of-type(2) .uspArea__txt .inner + .inner {
    margin-top: 0;
  }
}

@media screen and (max-width: 768px) {
  .uspArea__item:nth-of-type(2) .uspArea__txt .inner + .inner {
    margin-top: calc(5 / 750 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .uspArea__item:nth-of-type(2) .uspArea__txt .inner .lead {
    left: calc(20 / 750 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .uspArea__item:nth-of-type(4) .uspArea__txt {
    margin: 0 0 0 auto;
    width: 340px;
  }
}

@media screen and (max-width: 768px) {
  .uspArea__item:nth-of-type(4) .uspArea__txt .small {
    display: block;
    margin-bottom: calc(10 / 750 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .uspArea__item:nth-of-type(4) .uspArea__txt .inner + .inner {
    margin-top: 40px;
  }
}

@media screen and (max-width: 768px) {
  .uspArea__item:nth-of-type(4) .uspArea__txt .inner + .inner {
    margin-top: 16px;
  }
}

@media screen and (max-width: 768px) {
  .uspArea__item:nth-of-type(4) .uspArea__txt .inner .lead {
    top: calc(-35 / 750 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .uspArea__item:nth-of-type(3) .uspArea__txt, .uspArea__item:nth-of-type(4) .uspArea__txt {
    padding: 0 24px 15px;
  }
}

.uspArea__txt {
  border-bottom: 1px solid #000000;
  font-family: "Noto Serif JP", serif;
  letter-spacing: .1em;
  line-height: 1;
  text-align: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

@media screen and (min-width: 768px) {
  .uspArea__txt {
    font-size: 12px;
    padding: 0 24px 20px;
  }
}

@media screen and (max-width: 768px) {
  .uspArea__txt {
    font-size: calc(26 / 750 * 100vw);
    letter-spacing: .05em;
    padding: calc(45 / 750 * 100vw) 0;
    width: calc(640 / 750 * 100vw);
  }
}

.uspArea__txt .xSmall {
  font-size: 10px;
  letter-spacing: 0;
}

@media screen and (min-width: 768px) {
  .uspArea__txt .xSmall {
    left: 50%;
    position: absolute;
    top: -5px;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}

.uspArea__txt .small {
  font-size: 12px;
}

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

@media screen and (max-width: 768px) {
  .uspArea__txt .middle {
    font-size: 14px;
  }
}

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

@media screen and (max-width: 768px) {
  .uspArea__txt .middle {
    font-size: 14px;
  }
}

@media screen and (min-width: 768px) {
  .uspArea__txt .large {
    font-size: 26px;
  }
}

@media screen and (max-width: 768px) {
  .uspArea__txt .large {
    font-size: 26px;
  }
}

@media screen and (min-width: 768px) {
  .uspArea__txt .xLarge {
    font-size: 28px;
  }
}

@media screen and (max-width: 768px) {
  .uspArea__txt .xLarge {
    font-size: 28px;
  }
}

.uspArea__txt .airport {
  position: relative;
}

.uspArea__txt .airport .xSmall {
  position: absolute;
  white-space: nowrap;
}

@media screen and (min-width: 768px) {
  .uspArea__txt .airport .xSmall {
    bottom: -9px;
    left: 0;
    top: auto;
    -webkit-transform: none;
            transform: none;
  }
}

@media screen and (max-width: 768px) {
  .uspArea__txt .airport .xSmall {
    bottom: -12px;
    right: -2px;
  }
}

.uspArea__txt .time {
  position: relative;
}

.uspArea__txt .time .xSmall {
  position: absolute;
}

@media screen and (min-width: 768px) {
  .uspArea__txt .time .xSmall {
    bottom: -9px;
    left: auto;
    right: -4px;
    top: auto;
    -webkit-transform: none;
            transform: none;
  }
}

@media screen and (max-width: 768px) {
  .uspArea__txt .time .xSmall {
    bottom: -12px;
    right: -11px;
  }
}

.uspArea__txt sup {
  display: inline;
}

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

@media screen and (max-width: 768px) {
  .uspArea__txt sup {
    font-size: 14px;
  }
}

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

@media screen and (max-width: 768px) {
  .uspArea__txt .cross {
    display: block;
    font-size: calc(34 / 750 * 100vw);
    margin-bottom: calc(10 / 750 * 100vw);
    margin-left: calc(142 / 750 * 100vw);
    margin-top: calc(10 / 750 * 100vw);
  }
}

.uspArea__txt .color {
  color: #bf6a02;
}

.uspArea__txt .num {
  color: #bf6a02;
  font-family: "Cinzel", serif;
}

@media screen and (min-width: 768px) {
  .uspArea__txt .num {
    font-size: 36px;
  }
}

@media screen and (max-width: 768px) {
  .uspArea__txt .num {
    font-size: 32px;
  }
}

.uspArea__txt .zeh {
  color: #59472b;
  display: inline-block;
}

@media screen and (min-width: 768px) {
  .uspArea__txt .zeh {
    font-size: 28px;
  }
}

@media screen and (max-width: 768px) {
  .uspArea__txt .zeh {
    font-size: calc(48 / 750 * 100vw);
    padding-right: calc(10 / 750 * 100vw);
  }
}

.uspArea__txt .ldk {
  color: #59472b;
  font-family: "Cinzel", serif;
}

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

@media screen and (max-width: 768px) {
  .uspArea__txt .ldk {
    font-size: calc(34 / 750 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .uspArea__txt .meter {
    font-size: 12px;
  }
}

@media screen and (max-width: 768px) {
  .uspArea__txt .meter {
    font-size: 10px;
    padding: 0 calc(4 / 750 * 100vw);
  }
}

.uspArea__txt .en {
  color: #bf6a02;
  font-family: "Cinzel", serif;
}

.uspArea__txt .tel {
  letter-spacing: 0;
}

@media screen and (min-width: 768px) {
  .uspArea__txt .tel {
    left: 50%;
    position: absolute;
    top: -20px;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    white-space: nowrap;
  }
}

@media screen and (max-width: 768px) {
  .uspArea__txt .tel {
    display: block;
    margin-bottom: 5px;
  }
}

.uspArea__txt .inner {
  position: relative;
}

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

@media screen and (max-width: 768px) {
  .uspArea__txt .inner {
    font-size: 20px;
    margin: 0 auto;
    position: relative;
    text-align: center;
  }
}

@media screen and (max-width: 768px) {
  .uspArea__txt .inner .lead {
    font-size: 10px;
    left: calc(0 / 750 * 100vw);
    letter-spacing: 0;
    position: absolute;
    top: calc(-30 / 750 * 100vw);
  }
}

@media screen and (min-width: 768px) {
  .uspArea__txt .inner--column {
    margin-top: 10px;
  }
}

@media screen and (min-width: 768px) {
  .uspArea__txt .inner + .inner {
    margin-top: 4px;
  }
}

@media screen and (max-width: 768px) {
  .uspArea__txt .inner + .inner {
    margin-top: 10px;
  }
}

@media screen and (min-width: 768px) {
  .uspArea__txt .inner + .inner--column {
    margin-top: 10px;
  }
}

@media screen and (min-width: 768px) {
  .uspArea__txt .row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 10px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

@media screen and (min-width: 768px) {
  .uspArea + .caption {
    margin: 40px auto 0;
    max-width: 1440px;
    padding: 0 30px;
    text-align: end;
  }
}

@media screen and (max-width: 768px) {
  .uspArea + .caption {
    margin-top: calc(40 / 750 * 100vw);
    padding: 0 calc(32 / 390 * 100vw);
  }
}

.uspCopyArea {
  background: -webkit-gradient(linear, left bottom, left top, from(#ddddd8), to(#ebebe7));
  background: linear-gradient(0deg, #ddddd8 0%, #ebebe7 100%);
  margin: 0 auto;
}

@media screen and (min-width: 768px) {
  .uspCopyArea {
    padding: 20px 0;
  }
}

@media screen and (max-width: 768px) {
  .uspCopyArea {
    padding: calc(25 / 750 * 100vw) 0;
  }
}

.uspCopyArea__inner {
  color: #596a32;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .uspCopyArea__inner {
    font-size: 24px;
    letter-spacing: .3em;
    line-height: 1;
  }
}

@media screen and (max-width: 768px) {
  .uspCopyArea__inner {
    font-size: calc(32 / 750 * 100vw);
    letter-spacing: .18em;
    line-height: calc(22/16);
  }
}

@media screen and (min-width: 768px) {
  .uspCopyArea + .uspArea {
    margin-top: 50px;
  }
}

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

.container:before {
  content: '';
  height: 100%;
  position: fixed;
  width: 100vw;
  z-index: 0;
}

@media screen and (min-width: 768px) {
  .container:before {
    background: url("../common/imgs/pc/bg-texture-01@2x.jpg") repeat center top;
  }
}

@media screen and (max-width: 768px) {
  .container:before {
    background: url("../common/imgs/sp/bg-texture-01.jpg") no-repeat center bottom;
  }
}

.top-usp {
  background-color: #ffffff;
  position: relative;
  z-index: 1;
}

.top-info {
  background-color: #ffffff;
  position: relative;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  .top-info {
    margin: 0 auto;
    padding: 64px 0 80px;
  }
}

@media screen and (max-width: 768px) {
  .top-info {
    margin: 0 auto;
    padding: calc(110 / 750 * 100vw) 0 calc(160 / 750 * 100vw);
  }
}

.top-concept {
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .top-concept {
    padding-bottom: calc(250px * var(--windowVhScale));
  }
}

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

.top-perth {
  position: relative;
}

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

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

.lineAnimation {
  pointer-events: none;
  position: absolute;
  z-index: 10;
}

@media screen and (min-width: 768px) {
  .lineAnimation {
    aspect-ratio: 5063/800;
    left: calc(241px * var(--windowVhScale));
    top: calc(-10px * var(--windowVhScale));
    width: calc(5063px * var(--windowVhScale) * 1.014);
  }
}

@media screen and (max-width: 768px) {
  .lineAnimation {
    aspect-ratio: 3121/800;
    left: calc(-197px * var(--windowVhScale));
    top: calc(0px * var(--windowVhScale));
    width: calc(3121px * var(--windowVhScale));
  }
}
