:root {
  --en-font: "Montserrat", sans-serif;
  --sub-font: "Shippori Mincho", serif;
}

html {
  scroll-behavior: smooth;
}

img {
  vertical-align: bottom;
}

.page-under .secheader {
  background: #efefef;
}

.page-under .contents .main-title {
  background-color: #efefef;
  color: var(--black);
  font-weight: 300;
  line-height: 1.3;
}
@media screen and (max-width: 767px) {
  .page-under .contents .main-title {
    text-align: left;
    padding: 100px 5% 30px;
    font-size: 24px;
  }
}

@media screen and (max-width: 767px) {
  .contents .main-title span {
    margin-top: 10px;
    font-size: 16px;
  }
}
.page-quality {
  overflow-x: hidden;
  letter-spacing: 0;
}
.page-quality .container {
  max-width: 1440px;
  margin-inline: auto;
}
.page-quality .container .full-width {
  overflow: hidden;
  margin-inline: calc(50% - 50vw);
  padding-left: calc(50vw - 50%);
  padding-right: calc(50vw - 50%);
}
.page-quality .container .inner {
  max-width: 1060px;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .page-quality .container .inner {
    width: 84%;
  }
}
.page-quality .concept {
  padding: 120px 0 60px;
}
@media screen and (max-width: 767px) {
  .page-quality .concept {
    padding: 80px 0 0;
  }
}
.page-quality .concept__content {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
@media screen and (max-width: 767px) {
  .page-quality .concept__content {
    grid-template-columns: auto;
    gap: 38px;
  }
}
.page-quality .concept__main {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.page-quality .concept__logo {
  width: 230px;
}
@media screen and (max-width: 767px) {
  .page-quality .concept__logo {
    width: 153px;
  }
}
.page-quality .concept__logo + p {
  margin-top: 20px;
  font-family: var(--en-font);
  font-size: 22px;
  font-weight: 600;
  line-height: 2;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 767px) {
  .page-quality .concept__logo + p {
    margin-top: 17px;
  }
}
.page-quality .concept__body h3 {
  font-size: clamp(24px, 2.0967741935vw, 26px);
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .page-quality .concept__body h3 {
    font-size: 22px;
    text-align: center;
  }
}
.page-quality .concept__body p {
  margin-top: 50px;
  font-size: 16px;
  line-height: 2.5;
}
@media screen and (max-width: 767px) {
  .page-quality .concept__body p {
    margin-top: 22px;
    font-size: 13px;
    text-align: center;
  }
}
.page-quality .concept__img {
  position: relative;
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  .page-quality .concept__img {
    margin: 20px calc(50% - 50vw) 0;
  }
}
.page-quality .concept__img span {
  position: absolute;
  bottom: 0;
  right: 1em;
  font-size: 11px;
  line-height: 2.5;
  letter-spacing: 0.04em;
  color: #fff;
  text-shadow: 0 0 1em black;
}
.page-quality .equipment {
  margin-inline: calc(50% - 50vw);
  padding: 80px calc(50vw - 50%);
  background: #EFEFEF;
}
@media screen and (max-width: 767px) {
  .page-quality .equipment {
    padding: 40px calc(50vw - 50%);
  }
}
.page-quality .equipment__head h3 {
  font-size: 26px;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .page-quality .equipment__head h3 {
    font-size: 22px;
    line-height: 1.8181818182;
  }
}
.page-quality .equipment__head p {
  margin-top: 30px;
  font-size: 16px;
  line-height: 2.5;
}
@media screen and (max-width: 767px) {
  .page-quality .equipment__head p {
    margin-top: 10px;
    font-size: 13px;
  }
}
.page-quality .equipment__content {
  margin-top: 60px;
}
@media screen and (max-width: 767px) {
  .page-quality .equipment__content {
    margin-top: 28px;
  }
}
.page-quality .equipment__content + .equipment__content {
  margin-top: 70px;
}
@media screen and (max-width: 767px) {
  .page-quality .equipment__content + .equipment__content {
    margin-top: 50px;
  }
}
.page-quality .equipment__title {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 30px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(77, 74, 82, 0.8);
}
@media screen and (max-width: 767px) {
  .page-quality .equipment__title {
    gap: 10px;
    margin-bottom: 10px;
    padding-bottom: 0;
    border-bottom: none;
  }
}
.page-quality .equipment__title p {
  font-family: var(--en-font);
  font-size: 26px;
  font-weight: 300;
  line-height: 1.5384615385;
}
@media screen and (max-width: 767px) {
  .page-quality .equipment__title p {
    font-size: 16px;
  }
}
.page-quality .equipment__title h4 {
  font-size: 16px;
}
@media screen and (max-width: 767px) {
  .page-quality .equipment__title h4 {
    font-size: 13px;
  }
}
@media screen and (max-width: 767px) {
  .page-quality .equipment__list {
    margin-right: calc(50% - 50vw);
  }
}
.page-quality .equipment .swiper-wrapper {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 17px;
}
@media screen and (max-width: 767px) {
  .page-quality .equipment .swiper-wrapper {
    display: flex;
    gap: 0;
  }
}
.page-quality .equipment-card__img {
  position: relative;
}
.page-quality .equipment-card__img span {
  position: absolute;
  bottom: 0;
  right: 1em;
  font-size: 11px;
  line-height: 2.5;
  letter-spacing: 0.04em;
  color: #fff;
}
.page-quality .equipment-card__title {
  margin-top: 5px;
  font-size: 16px;
  line-height: 2.5;
}
@media screen and (max-width: 767px) {
  .page-quality .equipment-card__title {
    margin-top: 2px;
    font-size: 13px;
  }
}
.page-quality .equipment-card__text {
  font-size: 14px;
  line-height: 1.7;
}
@media screen and (max-width: 767px) {
  .page-quality .equipment-card__text {
    font-size: 12px;
  }
}
.page-quality .equipment .swiper-controls {
  display: none;
}
@media screen and (max-width: 767px) {
  .page-quality .equipment .swiper-controls {
    display: flex;
    align-items: center;
    gap: 30px;
    margin-top: 12px;
  }
  .page-quality .equipment .swiper-controls .swiper-navigation {
    display: flex;
    gap: 10px;
  }
  .page-quality .equipment .swiper-controls .swiper-button-prev,
  .page-quality .equipment .swiper-controls .swiper-button-next {
    position: static;
    z-index: 0;
    width: 36px;
    height: 36px;
    margin: 0;
  }
  .page-quality .equipment .swiper-controls .swiper-button-prev svg,
  .page-quality .equipment .swiper-controls .swiper-button-next svg {
    display: none;
  }
  .page-quality .equipment .swiper-controls .swiper-button-prev {
    background: url(../../quality/img/swiper_prev.svg) no-repeat center/contain;
  }
  .page-quality .equipment .swiper-controls .swiper-button-next {
    background: url(../../quality/img/swiper_next.svg) no-repeat center/contain;
  }
  .page-quality .equipment .swiper-controls .swiper-pagination {
    position: static;
    display: flex;
    gap: 10px;
  }
  .page-quality .equipment .swiper-controls .swiper-pagination-bullet {
    margin: 0;
    width: 8px;
    height: 8px;
    background: #4D4A52;
    opacity: 0.5;
  }
  .page-quality .equipment .swiper-controls .swiper-pagination-bullet-active {
    opacity: 1;
  }
}
.page-quality .lifestyle__head {
  padding: 130px 0 80px;
}
@media screen and (max-width: 767px) {
  .page-quality .lifestyle__head {
    padding: 60px 0 40px;
  }
}
.page-quality .lifestyle__heading {
  text-align: center;
}
@media screen and (max-width: 767px) {
  .page-quality .lifestyle__heading {
    text-align: left;
  }
}
.page-quality .lifestyle__heading p {
  font-family: var(--en-font);
  font-size: 36px;
  line-height: 1.1111111111;
}
.page-quality .lifestyle__heading h3 {
  margin-top: 24px;
  font-size: 26px;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .page-quality .lifestyle__heading h3 {
    font-size: 22px;
  }
}
.page-quality .lifestyle__lead {
  margin-top: 50px;
  font-size: 16px;
  line-height: 2.5;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .page-quality .lifestyle__lead {
    margin-top: 10px;
    font-size: 13px;
    text-align: left;
  }
}
.page-quality .scene {
  margin-inline: calc(50% - 50vw);
  padding: 0 calc(50vw - 50%) 120px;
}
@media screen and (max-width: 767px) {
  .page-quality .scene {
    padding: 0 calc(50vw - 50%) 50px;
  }
}
.page-quality .scene__bg {
  position: relative;
  margin-inline: calc(50% - 50vw);
  aspect-ratio: 1440/360;
}
@media screen and (max-width: 767px) {
  .page-quality .scene__bg {
    aspect-ratio: 375/130;
  }
}
.page-quality .scene__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.page-quality .scene__bg span {
  position: absolute;
  top: 0;
  right: 1em;
  font-size: 11px;
  line-height: 2.5;
  letter-spacing: 0.04em;
  color: #fff;
  text-shadow: 0 0 1em black;
}
.page-quality .scene__bg::after {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  content: "";
  height: 50%;
}
.page-quality .scene__content {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .page-quality .scene__content {
    flex-direction: column !important;
    align-items: normal;
    gap: 20px;
  }
}
.page-quality .scene__body {
  min-width: min(32.2580645161vw, 400px);
}
@media screen and (max-width: 767px) {
  .page-quality .scene__body {
    min-width: auto;
    padding: 0 12px;
  }
}
.page-quality .scene__title p {
  font-family: var(--en-font);
  font-size: 20px;
  font-weight: 300;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .page-quality .scene__title p {
    font-size: 18px;
    line-height: 2.2222222222;
  }
}
.page-quality .scene__title h4 {
  margin-top: 30px;
  font-size: 22px;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .page-quality .scene__title h4 {
    margin-top: 0;
    font-size: 18px;
    line-height: 2.2222222222;
  }
}
.page-quality .scene__text {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .page-quality .scene__text {
    margin-top: 14px;
  }
}
.page-quality .scene__text p {
  font-size: 15px;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .page-quality .scene__text p {
    font-size: 13px;
    line-height: 2.5;
  }
}
.page-quality .scene__text p + p {
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  .page-quality .scene__text p + p {
    margin-top: 10px;
  }
}
.page-quality .scene__img {
  position: relative;
  flex-shrink: 0;
}
.page-quality .scene__img span {
  position: absolute;
  right: 1em;
  bottom: 0;
  font-size: 11px;
  line-height: 2.5;
  letter-spacing: 0.04em;
  color: #fff;
}
.page-quality .scene__imgWrap {
  position: relative;
  flex-shrink: 0;
}
.page-quality .scene#scene01 {
  background: #fff;
}
.page-quality .scene#scene01 .scene__bg::after {
  background: linear-gradient(transparent, #fff);
}
.page-quality .scene#scene01 .scene__img {
  width: min(56.4516129032vw, 700px);
  margin-top: max(-3.2258064516vw, -40px);
  margin-right: max(-7.2580645161vw, -90px);
}
@media screen and (max-width: 767px) {
  .page-quality .scene#scene01 .scene__img {
    width: 72vw;
    margin-top: 0;
    margin-left: auto;
    margin-right: 0;
  }
}
.page-quality .scene#scene02 {
  color: #fff;
  background: #4D4A52;
}
.page-quality .scene#scene02 .scene__bg::after {
  background: linear-gradient(transparent, #4D4A52);
}
.page-quality .scene#scene02 .scene__imgWrap {
  width: min(48.1451612903vw, 597px);
  height: min(51.3709677419vw, 637px);
  margin-top: max(-11.2903225806vw, -140px);
  margin-left: max(-7.2580645161vw, -90px);
}
@media screen and (max-width: 767px) {
  .page-quality .scene#scene02 .scene__imgWrap {
    width: 100%;
    height: 86.9333333333vw;
    margin-top: 0;
    margin-left: 0;
  }
}
.page-quality .scene#scene02 .scene__imgWrap .scene__img--01 {
  position: absolute;
  top: 0;
  left: 0;
  width: min(32.2580645161vw, 400px);
}
@media screen and (max-width: 767px) {
  .page-quality .scene#scene02 .scene__imgWrap .scene__img--01 {
    width: 44vw;
  }
}
.page-quality .scene#scene02 .scene__imgWrap .scene__img--01 span {
  bottom: initial;
  top: 0;
  text-shadow: 0 0 1em black;
}
@media screen and (max-width: 767px) {
  .page-quality .scene#scene02 .scene__imgWrap .scene__img--01 span {
    bottom: 0;
    top: initial;
    left: 1em;
    right: initial;
  }
}
.page-quality .scene#scene02 .scene__imgWrap .scene__img--02 {
  position: absolute;
  bottom: 0;
  right: 0;
  width: min(28.2258064516vw, 350px);
}
@media screen and (max-width: 767px) {
  .page-quality .scene#scene02 .scene__imgWrap .scene__img--02 {
    width: 53.3333333333vw;
  }
}
.page-quality .scene#scene03 {
  background: #DAD1CA;
}
.page-quality .scene#scene03 .scene__bg::after {
  background: linear-gradient(transparent, #DAD1CA);
}
.page-quality .scene#scene03 .scene__imgWrap {
  width: min(56.4516129032vw, 700px);
  height: min(47.0967741935vw, 584px);
  margin-top: max(-2.4193548387vw, -30px);
  margin-right: max(-7.2580645161vw, -90px);
}
@media screen and (max-width: 767px) {
  .page-quality .scene#scene03 .scene__imgWrap {
    width: 100%;
    height: 86.9333333333vw;
    margin-top: 0;
    margin-right: 0;
  }
}
.page-quality .scene#scene03 .scene__imgWrap .scene__img--01 {
  position: absolute;
  top: 0;
  left: 0;
  width: min(24.1935483871vw, 300px);
}
@media screen and (max-width: 767px) {
  .page-quality .scene#scene03 .scene__imgWrap .scene__img--01 {
    left: initial;
    right: 0;
    width: 46.4vw;
  }
}
.page-quality .scene#scene03 .scene__imgWrap .scene__img--01 span {
  bottom: initial;
  right: initial;
  top: 0;
  left: 1em;
  text-shadow: 0 0 1em black;
}
@media screen and (max-width: 767px) {
  .page-quality .scene#scene03 .scene__imgWrap .scene__img--01 span {
    left: initial;
    right: 1em;
  }
}
.page-quality .scene#scene03 .scene__imgWrap .scene__img--02 {
  position: absolute;
  bottom: 0;
  right: 0;
  width: min(43.5483870968vw, 540px);
}
@media screen and (max-width: 767px) {
  .page-quality .scene#scene03 .scene__imgWrap .scene__img--02 {
    right: initial;
    left: 0;
    width: 77.3333333333vw;
  }
}
@media screen and (max-width: 767px) {
  .page-quality .scene#scene03 .scene__imgWrap .scene__img--02 span {
    right: initial;
    left: 1em;
  }
}
.page-quality .scene--reverse .scene__content {
  flex-direction: row-reverse;
}
.page-quality .gallery {
  position: relative;
  z-index: 0;
  margin-inline: calc(50% - 50vw);
  padding: 120px calc(50vw - 50%);
  color: #fff;
  background: #30363A url(../../quality/img/gallery_bg_pc.jpg) center/cover;
}
@media screen and (max-width: 767px) {
  .page-quality .gallery {
    background: linear-gradient(to right, #5D6265, #30363A);
    padding: 0 calc(50vw - 50%) 20px;
  }
}
.page-quality .gallery__bg {
  position: absolute;
  z-index: -1;
  inset: 0;
}
@media screen and (max-width: 767px) {
  .page-quality .gallery__bg {
    position: relative;
    margin: 0 calc(50% - 50vw) 60px;
  }
}
.page-quality .gallery__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.page-quality .gallery__bg span {
  position: absolute;
  bottom: 0;
  right: 1em;
  font-size: 11px;
  line-height: 2.5;
  letter-spacing: 0.04em;
  color: #fff;
}
.page-quality .gallery__title {
  text-align: center;
}
.page-quality .gallery__title p {
  font-family: var(--en-font);
  font-size: 36px;
  line-height: 1.1111111111;
}
.page-quality .gallery__title h3 {
  margin-top: 24px;
  font-size: 26px;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .page-quality .gallery__title h3 {
    font-size: 22px;
  }
}
.page-quality .gallery__lead {
  margin-top: 30px;
  font-size: 16px;
  line-height: 2.5;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .page-quality .gallery__lead {
    margin-top: 18px;
    font-size: 13px;
  }
}
.page-quality .gallery .reserve-box_wrapp {
  margin: 30px 0 0;
  padding: 60px 40px 10px;
  width: auto;
  background: linear-gradient(to right, rgba(93, 98, 101, 0.9), rgba(48, 54, 58, 0.9));
}
@media screen and (max-width: 767px) {
  .page-quality .gallery .reserve-box_wrapp {
    margin: 40px 0 0;
    padding: 0;
    background: none;
  }
}
.page-quality .gallery .reserve-box_wrapp .reserve-box {
  margin-bottom: 40px;
}
.page-quality .gallery .reserve-box_wrapp .reserve-box .rv-copy {
  margin-bottom: 26px;
  font-size: 18px;
  line-height: 28px;
}
@media screen and (max-width: 767px) {
  .page-quality .gallery .reserve-box_wrapp .reserve-box .rv-copy {
    margin-bottom: 15px;
    font-size: 16px;
    margin-inline: -6.204%;
  }
}
.page-quality .gallery .reserve-box_wrapp .reserve-box .rv-btn {
  border: 1px solid;
}

.dummy-img {
  outline: thick solid magenta;
}/*# sourceMappingURL=quality.css.map */