/* arguments inittial */
/* font style */
/* site style */
/* [ writing-mode ]
-------------------------------------------------*/
/* [ easy breakpoint ]
-------------------------------------------------*/
.p-layout__img {
  margin-bottom: 163px;
  padding-top: 42%;
  z-index: 0;
  clip-path: inset(0);
}

@media (max-width: 767px) {
  .p-layout__img {
    margin-bottom: 80px;
    padding-top: 62.18%;
  }
}

.p-layout__img img {
  width: 100%;
  height: 100vh;
  position: fixed;
  z-index: -1;
}

.p-layout__row {
  position: relative;
}

@media (min-width: 768px) {
  .p-layout__row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }
}

.p-layout__row .left {
  width: 360px;
  box-sizing: border-box;
  padding-left: 94px;
}

@media (min-width: 768px) {
  .p-layout__row .left {
    position: sticky;
    top: 70px;
  }
}

@media only screen and (max-width: 1023px) {
  .p-layout__row .left {
    padding-left: 0;
    width: 300px;
  }
}

@media (max-width: 767px) {
  .p-layout__row .left {
    width: 100%;
    padding-left: 0;
    margin-bottom: 30px;
  }
}

.p-layout__row .left__ttl01 {
  font-size: 20px;
  font-size: 2rem;
  line-height: 1.75em;
  letter-spacing: 0.1em;
  font-weight: 400;
  margin-bottom: 25px;
}

@media (max-width: 767px) {
  .p-layout__row .left__ttl01 {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.78571em;
    letter-spacing: 0.05em;
    margin-bottom: 0;
  }
}

.p-layout__row .left__en {
  font-family: "Lora", serif;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 2.14286em;
  letter-spacing: 0.05em;
  font-weight: 400;
}

.p-layout__row .right {
  width: 720px;
  max-width: calc(100% - 360px - 120px);
}

@media only screen and (max-width: 1023px) {
  .p-layout__row .right {
    max-width: calc(100% - 300px);
  }
}

@media (max-width: 767px) {
  .p-layout__row .right {
    width: 100%;
    max-width: 100%;
  }
}

.p-layout__row .right__img-top {
  margin-bottom: 84px;
}

@media (max-width: 767px) {
  .p-layout__row .right__img-top {
    margin-bottom: 30px;
  }
}

.p-layout__row .right__txt {
  font-size: 15px;
  font-size: 1.5rem;
  line-height: 2.33333em;
  font-weight: 400;
}

@media (max-width: 767px) {
  .p-layout__row .right__txt {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 2em;
  }
}

.p-layout__row .right__txt-en {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 2.14286em;
  font-weight: 400;
  margin-top: 33px;
}

.p-layout__row .right__img01 {
  margin-top: 65px;
}

@media (max-width: 767px) {
  .p-layout__row .right__img01 {
    margin-top: 30px;
  }
}

.p-layout__row .right__img02 {
  margin-top: 19px;
}

@media (max-width: 767px) {
  .p-layout__row .right__img02 {
    margin-top: 10px;
  }
}

.inner--small {
  max-width: 746px;
}

.mv {
  margin: 161px 0 197px;
  position: relative;
}

@media (max-width: 767px) {
  .mv {
    margin: 64px 0 140px;
  }
}

.mv__img img {
  width: 100%;
}

.mv__ttl01 {
  color: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  padding-top: 16px;
}

@media (max-width: 767px) {
  .mv__ttl01 {
    padding-top: 0;
    margin-top: -4px;
  }
}

@media (min-width: 768px) {
  .mv__ttl01 .ttl {
    font-size: 25px;
    font-size: 2.5rem;
    line-height: 1.52em;
  }
}

@media (min-width: 768px) {
  .mv__ttl01 .ttl-en {
    font-size: 20px;
    font-size: 2rem;
    margin-top: 32px;
  }
}

@media (max-width: 767px) {
  .mv__ttl01 .ttl-en {
    margin-top: 15px;
  }
}

.sec-pd {
  margin-top: 250px;
}

@media (min-width: 768px) {
  .sec-pd .p-layout__row .right__txt-en {
    margin-top: 37px;
  }
}

@media (max-width: 767px) {
  .sec-pd {
    margin-top: 118px;
  }
}

.sec-home {
  margin-top: 235px;
}

@media (max-width: 767px) {
  .sec-home {
    margin-top: 116px;
  }
}

.sec-banner {
  margin-top: 165px;
  color: #fff;
  padding: 276px 20px 276px;
  background: center center/cover no-repeat;
}

@media (max-width: 767px) {
  .sec-banner {
    margin-top: 120px;
    padding: 105px 15px 98px;
  }
}

.sec-banner__txt {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 2.5em;
  letter-spacing: 0.05em;
  font-weight: 400;
}

@media (max-width: 767px) {
  .sec-banner__txt {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 2em;
  }
}

.sec-banner__txt-en {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 2.14286em;
  font-weight: 400;
  margin-top: 62px;
}

/*# sourceMappingURL=maps/design.css.map */
