@charset "UTF-8";
/* ==========================================================================
Foundation
========================================================================== */
/* Reset
----------------------------------------------------------------- */
/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  box-sizing: border-box;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

input, button, textarea, select {
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

/* Base
	----------------------------------------------------------------- */
html {
  overflow-x: hidden;
  height: 100%;
  color: #000000;
  background: #f9f4ed;
  overflow-y: scroll;
}

body {
  color: #000000;
  background: #f9f4ed;
  -webkit-text-size-adjust: 100%;
  font-family: "neue-haas-grotesk-text", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 16px;
  letter-spacing: 0.2em;
  line-height: calc(21 / 16);
  -webkit-font-smoothing: antialiased;
}
@media screen and (max-width: 767px) {
  body {
    min-height: 100vh;
  }
  .is-sp body {
    min-height: 100dvh;
  }
  body {
    /* mobile viewport bug fix */
    min-height: -webkit-fill-available;
  }
}
body.is-transition {
  pointer-events: none;
}

img {
  vertical-align: bottom;
  backface-visibility: hidden;
}

a {
  color: #000000;
  text-decoration: none;
  cursor: pointer;
  text-underline-offset: 2px;
  transition: opacity 0.2s;
}
@media screen and (min-width: 768px) {
  a:hover {
    opacity: 0.7;
  }
}

strong, em {
  font-weight: 600;
}

/* ==========================================================================
	Layout
========================================================================== */
.header {
  position: fixed;
  left: 0;
  width: 100%;
  padding: 1.25vw 1.25vw 0;
  z-index: 100;
  mix-blend-mode: difference;
  box-sizing: border-box;
}
.header__logo {
  position: absolute;
  top: 1.25vw;
  left: 50%;
  transform: translate(-50%, 0);
  width: 7.5vw;
  transition: opacity 0.4s;
}
.header__logo img {
  width: 100%;
  height: auto;
}
@media screen and (max-width: 767px) {
  .header__logo img {
    width: 14.8897435897vw;
  }
}
.is-toppage.is-firstview .header__logo {
  opacity: 0;
  pointer-events: none;
}
.header__navi {
  width: 100%;
  font-size: 1.171875vw;
  letter-spacing: 0em;
  line-height: calc(19 / 15);
}
.header__navi ul {
  display: flex;
  justify-content: space-between;
}
.header__navi ul li + li {
  margin-left: 1.875vw;
}
.header__navi ul li:nth-child(3) {
  margin-left: auto;
}
.header__navi ul li a {
  color: #ffffff;
}
@media screen and (max-width: 767px) {
  .header__navi {
    display: none;
  }
}
.header__menu-btn {
  display: none;
}
@media screen and (max-width: 767px) {
  .header__menu-btn {
    display: block;
    position: fixed;
    right: 3.5897435897vw;
    top: 5.3846153846vw;
    padding: 0;
    cursor: pointer;
    font-family: "neue-haas-grotesk-text", sans-serif;
    font-style: normal;
    font-weight: 500;
    font-size: 3.8461538462vw;
    letter-spacing: 0em;
    line-height: calc(19 / 15);
    z-index: 100;
    color: #ffffff;
  }
}
@media screen and (max-width: 767px) {
  .header {
    padding: 4.1025641026vw 4.1025641026vw 0;
  }
  .header__logo {
    left: 4.1025641026vw;
    top: 4.1025641026vw;
    transform: none;
    width: 36.9230769231vw;
  }
}

.wrapper {
  position: relative;
  z-index: 1;
  background: #fffbf7;
}

.footer {
  position: relative;
  z-index: 1;
  background: #f9f4ed;
  margin-top: 30.9375vw;
}
.p-top + .footer {
  margin-top: 0;
}
@media screen and (max-width: 767px) {
  .footer {
    margin-top: 51.2820512821vw;
  }
  .p-top + .footer {
    margin-top: 0;
  }
}
.footer__contact {
  padding: 0 1.25vw;
  display: grid;
}
@media screen and (max-width: 767px) {
  .footer__contact {
    display: block;
    padding: 5.641025641vw 4.358974359vw 0;
  }
}
.footer__heading {
  font-family: "neue-haas-grotesk-text", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 1.40625vw;
  letter-spacing: 0em;
  line-height: calc(19 / 18);
  grid-column: 1;
  grid-row: 1/span 2;
  margin-top: 1.09375vw;
}
@media screen and (max-width: 767px) {
  .footer__heading {
    margin-top: 0;
    font-size: 3.8461538462vw;
    letter-spacing: 0em;
    line-height: calc(19 / 15);
  }
}
.footer__lead {
  font-family: "neue-haas-grotesk-text", sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 3.40625vw;
  letter-spacing: -0.02em;
  line-height: calc(67.9 / 43.6);
  grid-column: 2;
  grid-row: 1;
  margin-top: -0.390625vw;
}
@media screen and (max-width: 767px) {
  .footer__lead {
    margin-top: 7.1794871795vw;
    font-size: 9.2307692308vw;
    letter-spacing: -0.02em;
    line-height: calc(33 / 36);
  }
}
.footer__cta {
  grid-column: 2;
  grid-row: 2;
  margin-top: 2.5vw;
  display: flex;
}
.footer__cta a {
  color: #ffffff;
  background: #000000;
  border-radius: 1000vmax;
  height: 2.03125vw;
  padding: 0 2.109375vw;
  font-size: 1.40625vw;
  letter-spacing: 0em;
  line-height: calc(26 / 18);
}
.footer__cta a + a {
  margin-left: 2.96875vw;
}
@media screen and (max-width: 767px) {
  .footer__cta {
    margin-top: 6.1538461538vw;
    gap: 0 3.0769230769vw;
  }
  .footer__cta a {
    height: 5.9871794872vw;
    padding: 0 6.1538461538vw;
    font-size: 3.8461538462vw;
    letter-spacing: 0em;
    line-height: calc(23.35 / 15);
  }
  .footer__cta a + a {
    margin-left: 0;
  }
}
.footer__inner {
  margin-top: 9.6875vw;
  padding: 1.25vw 1.25vw 1.40625vw;
  border-top: 1px solid #000000;
  display: grid;
  grid-template-columns: 38.28125vw 26.40625vw 1fr 1fr;
  gap: 0;
}
@media screen and (max-width: 767px) {
  .footer__inner {
    margin-top: 15.3846153846vw;
    padding: 4.1025641026vw 4.1025641026vw 8.2051282051vw;
    grid-template-columns: 1fr auto;
    grid-template-rows: auto auto auto;
  }
}
.footer__brand {
  grid-column: 1;
  grid-row: 1;
  font-size: 1.40625vw;
  letter-spacing: 0em;
  line-height: calc(19 / 18);
}
@media screen and (max-width: 767px) {
  .footer__brand {
    font-size: 4.1025641026vw;
    letter-spacing: 0em;
    line-height: calc(18 / 16);
  }
}
.footer__tagline {
  grid-column: 2/span 2;
  grid-row: 1;
  font-size: 1.40625vw;
  letter-spacing: 0em;
  line-height: calc(19 / 18);
}
@media screen and (max-width: 767px) {
  .footer__tagline {
    display: none;
  }
}
.footer__pagetop {
  grid-column: 4;
  grid-row: 1;
  font-size: 1.40625vw;
  letter-spacing: 0em;
  line-height: calc(19 / 18);
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .footer__pagetop {
    grid-column: 2;
    font-size: 4.1025641026vw;
    letter-spacing: 0em;
    line-height: calc(18 / 16);
  }
}
.footer__nav {
  margin-top: 14.921875vw;
  grid-column: 1;
  grid-row: 2;
  font-family: "neue-haas-grotesk-text", sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 2.340625vw;
  letter-spacing: 0em;
  line-height: calc(31.5 / 29.96);
}
@media screen and (max-width: 767px) {
  .footer__nav {
    font-family: "neue-haas-grotesk-text", sans-serif;
    font-style: normal;
    font-weight: 400;
    grid-column: 1/span 2;
    grid-row: 2;
    margin-top: 17.1794871795vw;
    font-size: 6.9230769231vw;
    letter-spacing: 0em;
    line-height: calc(30 / 27);
  }
}
.footer__social {
  margin-top: auto;
  grid-column: 2;
  grid-row: 2;
  font-size: 1.015625vw;
  letter-spacing: -0.02em;
  line-height: calc(15 / 13);
}
@media screen and (max-width: 767px) {
  .footer__social {
    grid-column: 1;
    grid-row: 3;
    margin-top: 26.1538461538vw;
    font-size: 3.5897435897vw;
    letter-spacing: -0.02em;
    line-height: calc(18 / 14);
  }
}
.footer__location {
  margin-top: auto;
  grid-column: 3;
  grid-row: 2;
  font-size: 1.003125vw;
  letter-spacing: 0em;
  line-height: calc(15 / 12.84);
}
@media screen and (max-width: 767px) {
  .footer__location {
    display: none;
  }
}
.footer__copyright {
  margin-top: auto;
  margin-left: auto;
  grid-column: 4;
  grid-row: 2;
  font-size: 1.003125vw;
  letter-spacing: 0em;
  line-height: calc(15 / 12.84);
}
@media screen and (max-width: 767px) {
  .footer__copyright {
    grid-column: 2;
    grid-row: 3;
    margin-top: auto;
    margin-left: 0;
    text-align: left;
    font-size: 3.5897435897vw;
    letter-spacing: -0.02em;
    line-height: calc(18 / 14);
  }
}

.sp-menu {
  display: none;
}
@media screen and (max-width: 767px) {
  .sp-menu {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #f9f4ed;
    z-index: 300;
    opacity: 0;
    pointer-events: none;
    transform: translateY(-12px);
    transition: opacity 0.3s cubic-bezier(0.2, 0.5, 0.4, 1), transform 0.3s cubic-bezier(0.2, 0.5, 0.4, 1);
  }
  .sp-menu.is-open {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
  }
}
.sp-menu__inner {
  padding: 6.1538461538vw 5.1282051282vw;
  height: 100%;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
}
.sp-menu__top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.sp-menu__brand {
  font-family: "neue-haas-grotesk-text", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 4.1025641026vw;
  letter-spacing: 0em;
  line-height: calc(18 / 16);
}
.sp-menu__close {
  cursor: pointer;
  font-family: "neue-haas-grotesk-text", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 3.8461538462vw;
  letter-spacing: 0em;
  line-height: calc(19 / 15);
  color: #000000;
}
.sp-menu__nav {
  margin-top: 38.2051282051vw;
}
.sp-menu__nav ul li + li {
  margin-top: 0vw;
}
.sp-menu__nav a {
  font-family: "neue-haas-grotesk-text", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 10.2564102564vw;
  letter-spacing: -0.02em;
  line-height: calc(46 / 40);
  color: #000000;
}
.sp-menu__social {
  margin-top: 10.5128205128vw;
}
.sp-menu__social a {
  font-family: "neue-haas-grotesk-text", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 4.358974359vw;
  letter-spacing: -0.02em;
  line-height: calc(25 / 17);
  color: #000000;
}
.sp-menu__bottom {
  margin-top: auto;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
.sp-menu__logo img {
  width: 30.2564102564vw;
  height: auto;
  display: block;
}
.sp-menu__copyright {
  text-align: left;
  font-family: "neue-haas-grotesk-text", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 3.5897435897vw;
  letter-spacing: -0.01em;
  line-height: calc(18 / 14);
}

/* ==========================================================================
	Object
========================================================================== */
/* Component
----------------------------------------------------------------- */
.section__inner {
  padding: 0 1.171875vw;
}
@media screen and (max-width: 767px) {
  .section__inner {
    padding: 0 3.5897435897vw;
  }
}

.c-form-field + .c-form-field {
  margin-top: 1.640625vw;
}
@media screen and (max-width: 767px) {
  .c-form-field + .c-form-field {
    margin-top: 5.3846153846vw;
  }
}
.c-form-field label {
  display: block;
  font-family: "acumin-pro-semi-condensed", sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 1.3125vw;
  letter-spacing: -0.005em;
  line-height: calc(20.1 / 16.8);
}
@media screen and (max-width: 767px) {
  .c-form-field label {
    font-size: 4.0512820513vw;
    letter-spacing: -0.005em;
    line-height: calc(18.9 / 15.8);
  }
}
.ext-ja .c-form-field label {
  font-family: "dnp-shuei-gothic-gin-std", sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 1.09375vw;
  letter-spacing: -0.005em;
  line-height: calc(20.1 / 14);
}
@media screen and (max-width: 767px) {
  .ext-ja .c-form-field label {
    font-size: 3.5897435897vw;
    letter-spacing: -0.005em;
    line-height: calc(18.9 / 14);
  }
}
.c-form-field label.is-require::after {
  content: "＊";
  font-family: "dnp-shuei-gothic-gin-std", sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 0.91875vw;
  letter-spacing: -0.005em;
  line-height: calc(20.1 / 11.76);
  display: inline-block;
  transform: translate(0, -10%);
  margin-left: 0.390625vw;
}
@media screen and (max-width: 767px) {
  .c-form-field label.is-require::after {
    font-size: 3.0153846154vw;
    letter-spacing: -0.005em;
    line-height: calc(20.1 / 11.76);
    margin-left: 1.2820512821vw;
  }
}
.c-form-field select,
.c-form-field input[type=text],
.c-form-field input[type=email],
.c-form-field input[type=tel],
.c-form-field textarea {
  display: block;
  width: 32.1875vw;
  margin-top: 0.78125vw;
  padding: 0 0.9375vw;
  height: 3.4375vw;
  border: 1px solid #c2c2c2;
  background: transparent;
  font-family: "acumin-pro-semi-condensed", sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 1.3125vw;
  letter-spacing: -0.005em;
  line-height: calc(20.1 / 16.8);
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  outline: none;
  border-radius: 0;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .c-form-field select,
  .c-form-field input[type=text],
  .c-form-field input[type=email],
  .c-form-field input[type=tel],
  .c-form-field textarea {
    width: 90.2564102564vw;
    margin-top: 2.5641025641vw;
    padding: 0 3.0769230769vw;
    height: 11.2820512821vw;
    font-size: 4.0512820513vw;
    letter-spacing: -0.005em;
    line-height: calc(18.9 / 15.8);
  }
}
.c-form-field select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7' viewBox='0 0 12 7'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23000' stroke-width='1.2' fill='none'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.9375vw center;
  padding-right: 2.5vw;
  color: #000000;
}
@media screen and (max-width: 767px) {
  .c-form-field select {
    background-position: right 3.0769230769vw center;
    padding-right: 8.2051282051vw;
  }
}
.c-form-field textarea {
  height: 13.75vw;
  padding: 0.9375vw;
  resize: vertical;
}
@media screen and (max-width: 767px) {
  .c-form-field textarea {
    height: 45.1282051282vw;
    padding: 3.0769230769vw;
  }
}
.c-form-field--wide select,
.c-form-field--wide input[type=text],
.c-form-field--wide input[type=email],
.c-form-field--wide input[type=tel],
.c-form-field--wide textarea {
  width: 55vw;
}
@media screen and (max-width: 767px) {
  .c-form-field--wide select,
  .c-form-field--wide input[type=text],
  .c-form-field--wide input[type=email],
  .c-form-field--wide input[type=tel],
  .c-form-field--wide textarea {
    width: 90.2564102564vw;
  }
}

.c-form-upload {
  margin-top: 3.125vw;
}
@media screen and (max-width: 767px) {
  .c-form-upload {
    margin-top: 10.2564102564vw;
  }
}
.c-form-upload__label {
  display: block;
  font-family: "acumin-pro-semi-condensed", sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 1.3125vw;
  letter-spacing: -0.005em;
  line-height: calc(20.1 / 16.8);
  cursor: default;
}
@media screen and (max-width: 767px) {
  .c-form-upload__label {
    font-size: 4.0512820513vw;
    letter-spacing: -0.005em;
    line-height: calc(18.9 / 15.8);
  }
}
.ext-ja .c-form-upload__label {
  font-family: "dnp-shuei-gothic-gin-std", sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 1.09375vw;
  letter-spacing: -0.005em;
  line-height: calc(20.1 / 14);
}
@media screen and (max-width: 767px) {
  .ext-ja .c-form-upload__label {
    font-size: 3.5897435897vw;
    letter-spacing: -0.005em;
    line-height: calc(18.9 / 14);
  }
}
.c-form-upload__area {
  display: flex;
  align-items: center;
  width: 55vw;
  height: 3.4375vw;
  margin-top: 0.78125vw;
  padding: 0 0.9375vw;
  background: #faf9f9;
  border: 1px solid #c2c2c2;
  box-sizing: border-box;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .c-form-upload__area {
    width: 90.2564102564vw;
    height: 11.2820512821vw;
    margin-top: 2.5641025641vw;
    padding: 0 3.0769230769vw;
  }
}
.c-form-upload__area input[type=file] {
  display: none;
}
.c-form-upload__placeholder {
  font-family: "acumin-pro-semi-condensed", sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 1.3125vw;
  letter-spacing: -0.005em;
  line-height: calc(20.1 / 16.8);
  color: #939393;
}
.c-form-upload__placeholder.is-selected {
  color: #000000;
}
@media screen and (max-width: 767px) {
  .c-form-upload__placeholder {
    font-size: 4.0512820513vw;
    letter-spacing: -0.005em;
    line-height: calc(18.9 / 15.8);
  }
}
.ext-ja .c-form-upload__placeholder {
  font-family: "dnp-shuei-gothic-gin-std", sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 1.09375vw;
  letter-spacing: -0.005em;
  line-height: calc(20.1 / 14);
}
@media screen and (max-width: 767px) {
  .ext-ja .c-form-upload__placeholder {
    font-size: 3.5897435897vw;
    letter-spacing: -0.005em;
    line-height: calc(18.9 / 14);
  }
}

.ext-wide input,
.ext-wide textarea {
  width: 100% !important;
}
@media screen and (min-width: 768px) {
  .ext-wide input,
  .ext-wide textarea {
    max-width: 55vw;
  }
}

.cf-turnstile {
  margin-top: 3em;
}

.screen-reader-response,
.wpcf7-not-valid-tip,
.wpcf7-response-output {
  font-family: "dnp-shuei-gothic-gin-std", sans-serif;
  font-style: normal;
  font-weight: 400;
  display: block;
  margin-top: 0.7em;
  font-size: 1.3125vw;
  letter-spacing: -0.005em;
  line-height: calc(20.1 / 16.8);
  color: #939393;
}
@media screen and (max-width: 767px) {
  .screen-reader-response,
  .wpcf7-not-valid-tip,
  .wpcf7-response-output {
    font-size: 4.0512820513vw;
    letter-spacing: -0.005em;
    line-height: calc(18.9 / 15.8);
  }
}

.screen-reader-response {
  padding-top: 2em;
  margin-top: 0;
  margin-bottom: 2em;
}
.screen-reader-response:has(p:empty) {
  padding-top: 0;
  margin-bottom: 0;
}
.screen-reader-response ul {
  display: none;
}

.c-form-submit {
  margin-top: 7.265625vw;
}
@media screen and (max-width: 767px) {
  .c-form-submit {
    margin-top: 10.2564102564vw;
  }
}
.c-form-submit input[type=submit] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32.1875vw;
  height: 3.4375vw;
  background: #2a2a2a;
  color: #fffdfb;
  border: none;
  cursor: pointer;
  font-family: "acumin-pro-semi-condensed", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 1.3125vw;
  letter-spacing: -0.005em;
  line-height: calc(20.1 / 16.8);
  transition: opacity 0.3s;
}
@media screen and (max-width: 767px) {
  .c-form-submit input[type=submit] {
    width: 90.2564102564vw;
    height: 14.1025641026vw;
    font-size: 4.3076923077vw;
    letter-spacing: -0.005em;
    line-height: calc(20.1 / 16.8);
  }
}
.c-form-submit input[type=submit]:hover {
  opacity: 0.7;
}
.ext-ja .c-form-submit input[type=submit] {
  font-family: "dnp-shuei-gothic-gin-std", sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 1.09375vw;
  letter-spacing: -0.005em;
  line-height: calc(20.1 / 14);
}
@media screen and (max-width: 767px) {
  .ext-ja .c-form-submit input[type=submit] {
    font-size: 3.5897435897vw;
    letter-spacing: -0.005em;
    line-height: calc(18.9 / 14);
  }
}

.c-form-meta__note {
  display: inline;
  font-family: "acumin-pro-semi-condensed", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 1.390625vw;
  letter-spacing: -0.005em;
  line-height: calc(21.3 / 17.8);
}
@media screen and (max-width: 767px) {
  .c-form-meta__note {
    font-size: 4.5641025641vw;
    letter-spacing: -0.005em;
    line-height: calc(21.3 / 17.8);
    grid-column: 1;
    grid-row: 1;
    align-self: flex-end;
  }
}
.c-form-meta__link {
  display: inline;
  margin-left: 3.75vw;
  color: #000000;
  font-family: "acumin-pro-semi-condensed", sans-serif;
  font-style: normal;
  font-weight: 600;
  font-size: 1.390625vw;
  letter-spacing: -0.005em;
  line-height: calc(21.3 / 17.8);
  text-decoration: underline;
}
@media screen and (max-width: 767px) {
  .c-form-meta__link {
    margin-left: auto;
    font-size: 4.5641025641vw;
    letter-spacing: -0.005em;
    line-height: calc(21.3 / 17.8);
    grid-column: 2;
    grid-row: 1;
    align-self: flex-end;
  }
}

.c-lang {
  display: block;
  margin-top: 7.265625vw;
  font-family: "acumin-pro-semi-condensed", sans-serif;
  font-style: normal;
  font-weight: 600;
  font-size: 1.390625vw;
  letter-spacing: -0.005em;
  line-height: calc(21.3 / 17.8);
}
@media screen and (max-width: 767px) {
  .c-lang {
    margin-top: 10.2564102564vw;
    font-size: 4.5641025641vw;
    letter-spacing: -0.005em;
    line-height: calc(21.3 / 17.8);
  }
}
.c-lang a {
  color: #bfbfbf;
  cursor: pointer;
}
.c-lang a.is-active {
  color: #000000;
}

/* Project
----------------------------------------------------------------- */
.p-top {
  background: #fffbf7;
  position: relative;
  z-index: 1;
  padding-bottom: 30.9375vw;
}

.p-kv {
  width: 100%;
  height: 100vh;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-kv {
    height: 100svh;
  }
}
.p-kv__bg {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  will-change: transform;
}
.p-kv__bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-kv__content {
  position: fixed;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  mix-blend-mode: difference;
  color: #ffffff;
  will-change: transform;
}
.p-kv__tagline {
  position: absolute;
  top: 1.25vw;
  left: 50%;
  transform: translate(-50%, 0);
  text-align: center;
  font-family: "neue-haas-grotesk-display", sans-serif;
  font-style: normal;
  font-weight: 600;
  font-size: 1.25vw;
  letter-spacing: 0.01em;
  line-height: calc(20 / 16);
}
@media screen and (max-width: 767px) {
  .p-kv__tagline {
    top: 5.3846153846vw;
    left: 4.1025641026vw;
    transform: none;
    text-align: left;
    font-size: 3.5897435897vw;
    letter-spacing: 0.01em;
    line-height: calc(15 / 14);
  }
}
.p-kv__logo {
  position: absolute;
  left: 1.25vw;
  top: 50%;
  transform: translate(0, -50%);
}
@media screen and (max-width: 767px) {
  .p-kv__logo {
    left: 4.358974359vw;
    top: 50%;
    transform: translate(0, -50%);
    width: 36.9230769231vw;
  }
}
.p-kv__brand {
  position: absolute;
  right: 1.25vw;
  top: 50%;
  transform: translate(0, -50%);
  font-size: 1.25vw;
  letter-spacing: 0em;
  line-height: calc(20 / 16);
}
@media screen and (max-width: 767px) {
  .p-kv__brand {
    right: auto;
    left: 61.7948717949vw;
    top: 49%;
    transform: none;
    font-size: 3.3333333333vw;
    letter-spacing: 0em;
    line-height: calc(16 / 13);
  }
}
.p-kv__location {
  position: absolute;
  bottom: 0.9375vw;
  left: 22.421875vw;
  font-size: 1.171875vw;
  letter-spacing: 0em;
  line-height: calc(19 / 15);
}
@media screen and (max-width: 767px) {
  .p-kv__location {
    left: 3.5897435897vw;
    bottom: 3.0769230769vw;
    font-size: 3.5897435897vw;
    letter-spacing: 0em;
    line-height: calc(17 / 14);
  }
}
.p-kv__date {
  position: absolute;
  bottom: 0.9375vw;
  right: 21.09375vw;
  font-family: "neue-haas-grotesk-display", sans-serif;
  font-style: normal;
  font-weight: 700;
  font-size: 1.171875vw;
  letter-spacing: 0em;
  line-height: calc(19 / 15);
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-kv__date {
    right: 3.5897435897vw;
    left: auto;
    bottom: 3.0769230769vw;
    font-size: 3.8461538462vw;
    letter-spacing: 0em;
    line-height: calc(18 / 15);
  }
}

.p-kv-slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 1s ease;
}
.p-kv-slide.is-active {
  opacity: 1;
}
.p-kv-slide img,
.p-kv-slide video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.p-kv-slide--dual {
  display: flex;
}

.p-kv-slide__half {
  width: 50%;
  height: 100%;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-kv-slide__half:last-child {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .p-kv-slide--dual .p-kv-slide__half:first-child {
    width: 100%;
  }
}

.p-top-about {
  padding-top: 11.015625vw;
}
@media screen and (max-width: 767px) {
  .p-top-about {
    padding-top: 4.1025641026vw;
  }
  .p-top-about .section__inner {
    display: block;
  }
}
.p-top-about .section__inner {
  display: grid;
}
.p-top-about .section__inner > * {
  align-self: flex-start;
}
.p-top-about__title {
  width: 16.640625vw;
  font-size: 1.25vw;
  letter-spacing: -0.01em;
  line-height: calc(18 / 16);
  display: flex;
  justify-content: space-between;
  align-items: center;
  grid-column: 1;
  grid-row: 1;
}
.p-top-about__title span {
  display: flex;
  align-items: center;
  white-space: nowrap;
}
.p-top-about__title span:last-child {
  margin-left: 0.5078125vw;
}
.p-top-about__title span:last-child:before {
  content: "";
  display: block;
  background: #727272;
  height: 1px;
  width: 3.203125vw;
  margin-right: 0.8984375vw;
}
@media screen and (max-width: 767px) {
  .p-top-about__title {
    margin-bottom: 21.2820512821vw;
    font-size: 3.8461538462vw;
    letter-spacing: 0em;
    line-height: calc(19 / 15);
  }
  .p-top-about__title span:last-child {
    margin-left: 2.9487179487vw;
  }
  .p-top-about__title span:last-child::before {
    margin-right: 2.9487179487vw;
  }
}
.p-top-about__heading {
  grid-column: 2/span 2;
  grid-row: 1;
  font-family: "neue-haas-grotesk-text", sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 3.359375vw;
  letter-spacing: -0.01em;
  line-height: calc(44 / 43);
  margin-left: auto;
  padding-bottom: 9.453125vw;
}
.p-top-about__heading img {
  width: 13.984375vw;
  height: auto;
  transform: translate(0, 10%);
}
@media screen and (max-width: 767px) {
  .p-top-about__heading img {
    width: 27.1256410256vw;
  }
}
.p-top-about__heading strong {
  font-weight: 500;
}
.p-top-about__heading span.ext-01 {
  margin-left: 11.71875vw;
}
.p-top-about__heading span.ext-02 {
  margin-left: 7.8125vw;
}
@media screen and (min-width: 768px) {
  .p-top-about__heading {
    white-space: nowrap;
  }
}
@media screen and (max-width: 767px) {
  .p-top-about__heading {
    grid-column: 1/span 2;
    grid-row: 2;
    grid-column: auto;
    grid-row: auto;
    margin-left: 0;
    padding-bottom: 10.7692307692vw;
    text-align: right;
    font-size: 6.6666666667vw;
    letter-spacing: -0.01em;
    line-height: calc(27 / 26);
  }
  .p-top-about__heading span.ext-01,
  .p-top-about__heading span.ext-02 {
    margin-left: 0;
  }
}
.p-top-about__more {
  grid-row: 2;
  grid-column: 2/span 2;
  font-size: 1.390625vw;
  letter-spacing: 0em;
  line-height: calc(14.7 / 17.8);
  text-decoration: underline;
  color: rgb(112, 112, 112);
}
@media screen and (max-width: 767px) {
  .p-top-about__more {
    grid-column: auto;
    grid-row: auto;
    font-size: 4.8205128205vw;
    letter-spacing: 0em;
    line-height: calc(14.7 / 18.8);
    font-weight: 700;
    margin-bottom: 13.0769230769vw;
  }
}
.p-top-about__img-sm {
  grid-column: 1;
  grid-row: 2/span 2;
  width: 41.484375vw;
}
.p-top-about__img-sm img {
  width: 24.84375vw;
  height: auto;
  justify-content: object-fit;
}
@media screen and (max-width: 767px) {
  .p-top-about__img-sm {
    grid-column: auto;
    grid-row: auto;
    width: 70.7692307692vw;
  }
  .p-top-about__img-sm img {
    width: 70.7692307692vw;
    height: auto;
  }
}
.p-top-about__location {
  grid-column: 2;
  grid-row: 3;
  margin-top: auto;
  font-size: 1.25vw;
  letter-spacing: 0em;
  line-height: calc(20 / 16);
}
@media screen and (max-width: 767px) {
  .p-top-about__location {
    grid-column: auto;
    grid-row: auto;
    margin-top: 1.7948717949vw;
    font-size: 3.8461538462vw;
    letter-spacing: 0em;
    line-height: calc(19 / 15);
  }
}
.p-top-about__desc {
  grid-column: 3;
  grid-row: 3;
  margin-top: auto;
  font-size: 1.25vw;
  letter-spacing: 0em;
  line-height: calc(20 / 16);
  text-align: right;
}
@media screen and (max-width: 767px) {
  .p-top-about__desc {
    display: none;
  }
}
.p-top-about__taxonomy {
  grid-column: 1/span 3;
  grid-row: 4;
  margin-top: 15.3125vw;
  display: grid;
}
@media screen and (max-width: 767px) {
  .p-top-about__taxonomy {
    grid-column: auto;
    grid-row: auto;
    margin-top: 40.7692307692vw;
  }
}
.p-top-about__cat-heading {
  grid-column: 1/span 2;
  grid-row: 1;
  font-family: "neue-haas-grotesk-text", sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 4.296875vw;
  letter-spacing: -0.02em;
  line-height: calc(52 / 55);
}
@media screen and (max-width: 767px) {
  .p-top-about__cat-heading {
    grid-column: 1/span 2;
    grid-row: 1;
    font-size: 11.7948717949vw;
    letter-spacing: -0.02em;
    line-height: calc(43.5 / 46);
    font-size: 9.641025641vw;
    letter-spacing: -0.02em;
    line-height: calc(35.5565217391 / 37.6);
    margin-bottom: 3.8461538462vw;
  }
}
.p-top-about__img-lg {
  grid-column: 3;
  grid-row: 1/span 2;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .p-top-about__img-lg {
    margin-left: 0;
    grid-column: 1/span 2;
    grid-row: 2;
  }
  .p-top-about__img-lg img {
    width: 93.3333333333vw;
    height: 72.3076923077vw;
    -o-object-fit: cover;
       object-fit: cover;
    display: block;
  }
}
.p-top-about__cat-list {
  margin-top: auto;
  font-family: "neue-haas-grotesk-text", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 1.25vw;
  letter-spacing: 0em;
  line-height: calc(18 / 16);
}
.p-top-about__cat-list.ext-01 {
  grid-column: 1;
  grid-row: 2;
}
.p-top-about__cat-list.ext-02 {
  grid-column: 2;
  grid-row: 2;
}
@media screen and (max-width: 767px) {
  .p-top-about__cat-list {
    margin-top: 5.1282051282vw;
    font-size: 4.1025641026vw;
    letter-spacing: 0em;
    line-height: calc(18 / 16);
    align-self: flex-start;
  }
  .p-top-about__cat-list.ext-01 {
    grid-column: 1;
    grid-row: 3;
  }
  .p-top-about__cat-list.ext-02 {
    grid-column: 2;
    grid-row: 3;
    margin-left: auto;
  }
}

.p-top-products {
  margin-top: 23.671875vw;
}
.p-top-products__header {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  font-family: "neue-haas-grotesk-text", sans-serif;
  font-style: normal;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  .p-top-products__header {
    justify-content: space-between;
  }
}
.p-top-products__title {
  font-size: 4.296875vw;
  letter-spacing: -0.02em;
  line-height: calc(52 / 55);
  width: 38.28125vw;
}
@media screen and (max-width: 767px) {
  .p-top-products__title {
    width: auto;
    font-size: 9.641025641vw;
    letter-spacing: -0.02em;
    line-height: calc(52 / 37.6);
  }
}
.p-top-products__label {
  font-size: 2.1640625vw;
  letter-spacing: -0.02em;
  line-height: calc(41.2 / 27.7);
  color: #5d5d5d;
}
@media screen and (max-width: 767px) {
  .p-top-products__label {
    margin-left: 2.5641025641vw;
    font-size: 4.9230769231vw;
    letter-spacing: -0.02em;
    line-height: calc(31.5 / 19.2);
  }
}
.p-top-products__viewall {
  margin-left: auto;
  font-size: 1.55859375vw;
  letter-spacing: -0.005em;
  line-height: calc(23 / 19.95);
  text-decoration: underline;
}
@media screen and (max-width: 767px) {
  .p-top-products__viewall {
    margin-left: 0;
    margin-top: 20.7692307692vw;
    display: flex;
    justify-content: center;
    width: 100%;
    font-size: 5.1282051282vw;
    letter-spacing: -0.005em;
    line-height: calc(18 / 20);
  }
}
.p-top-products__list {
  margin-top: 3.4375vw;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .p-top-products__list {
    flex-wrap: wrap;
    gap: 19.2307692308vw 2.0512820513vw;
    margin-top: 1.2820512821vw;
  }
}
.p-top-products__item {
  width: 28.828125vw;
}
.p-top-products__item:first-child {
  width: 36.796875vw;
}
.p-top-products__item:first-child img {
  height: 49.0625vw;
}
.p-top-products__item img {
  width: 100%;
  height: 38.4859375vw;
}
@media screen and (max-width: 767px) {
  .p-top-products__item {
    width: calc(50% - 1.0256410256vw);
  }
  .p-top-products__item img {
    height: 60.5128205128vw;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .p-top-products__item:first-child {
    width: 100%;
  }
  .p-top-products__item:first-child img {
    height: 123.8461538462vw;
  }
}
.p-top-products__link {
  display: block;
}
.p-top-products__name {
  margin-top: 0.46875vw;
  font-size: 1.328125vw;
  letter-spacing: 0em;
  line-height: calc(21 / 17);
}
@media screen and (max-width: 767px) {
  .p-top-products__name {
    font-size: 3.8461538462vw;
    letter-spacing: 0em;
    line-height: calc(19 / 15);
    margin-top: 2.3076923077vw;
  }
}
.p-top-products__more {
  color: #939393;
  font-size: 1.25vw;
  letter-spacing: 0em;
  line-height: calc(20 / 16);
}
@media screen and (max-width: 767px) {
  .p-top-products__more {
    font-size: 3.8461538462vw;
    letter-spacing: 0em;
    line-height: calc(19 / 15);
  }
}
@media screen and (max-width: 767px) {
  .p-top-products {
    margin-top: 69.4871794872vw;
  }
}

.p-about {
  background: #fffbf7;
  position: relative;
  z-index: 1;
}

.p-about-hero {
  padding-top: 19.375vw;
}
@media screen and (max-width: 767px) {
  .p-about-hero {
    padding-top: 41.5384615385vw;
  }
}
.p-about-hero .section__inner {
  position: relative;
  padding: 0 1.25vw;
}
@media screen and (max-width: 767px) {
  .p-about-hero .section__inner {
    display: grid;
    grid-template-columns: 1fr;
    padding: 0 3.3333333333vw;
  }
}
.p-about-hero__label {
  display: block;
  font-family: "neue-haas-grotesk-text", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 1.203125vw;
  letter-spacing: -0.02em;
  line-height: calc(19.4 / 15.4);
  margin-bottom: 2.265625vw;
}
@media screen and (max-width: 767px) {
  .p-about-hero__label {
    font-size: 3.8461538462vw;
    letter-spacing: -0.02em;
    line-height: calc(18 / 15);
    margin-bottom: 2.0512820513vw;
  }
}
.p-about-hero__media {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .p-about-hero__media {
    display: contents;
  }
}
.p-about-hero__img-lg {
  flex-shrink: 0;
}
.p-about-hero__img-lg img {
  width: 47.1875vw;
  height: 47.1875vw;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
@media screen and (max-width: 767px) {
  .p-about-hero__img-lg img {
    width: 71.5384615385vw;
    height: 71.5384615385vw;
  }
}
.p-about-hero__img-sm {
  flex-shrink: 0;
}
.p-about-hero__img-sm img {
  width: 17.890625vw;
  height: 23.59375vw;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
@media screen and (max-width: 767px) {
  .p-about-hero__img-sm {
    grid-row: 4;
    margin-top: 29.2307692308vw;
    margin-left: auto;
  }
  .p-about-hero__img-sm img {
    width: 58.7179487179vw;
    height: 77.4358974359vw;
  }
}
.p-about-hero__heading {
  font-family: "neue-haas-grotesk-text", sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 3.515625vw;
  letter-spacing: -0.02em;
  line-height: calc(45 / 45);
  margin-top: -3.203125vw;
  padding-left: 34.84375vw;
}
@media screen and (max-width: 767px) {
  .p-about-hero__heading {
    grid-row: 3;
    padding-left: 0;
    margin-top: 3.5897435897vw;
    font-size: 7.6923076923vw;
    letter-spacing: -0.02em;
    line-height: calc(30.1 / 30);
    text-align: center;
  }
  .p-about-hero__heading .ext-01,
  .p-about-hero__heading .ext-02 {
    margin-left: 0;
  }
}
.p-about-hero__heading img {
  width: 14.4296875vw;
  height: auto;
}
@media screen and (max-width: 767px) {
  .p-about-hero__heading img {
    width: 30.3846153846vw;
  }
}
.p-about-hero__heading .ext-01 {
  margin-left: 13.75vw;
}
@media screen and (max-width: 767px) {
  .p-about-hero__heading .ext-01 {
    margin-left: 0;
  }
}
.p-about-hero__heading .ext-02 {
  margin-left: 2.578125vw;
}
@media screen and (max-width: 767px) {
  .p-about-hero__heading .ext-02 {
    margin-left: 0;
  }
}

.p-about-service {
  margin-top: 23.046875vw;
}
@media screen and (max-width: 767px) {
  .p-about-service {
    margin-top: 33.0769230769vw;
  }
}
.p-about-service .section__inner {
  display: grid;
  grid-template-columns: 1fr 42.890625vw;
  grid-template-rows: auto 1fr;
  padding: 0 1.25vw;
  gap: 0 1.25vw;
}
.p-about-service .section__inner > * {
  align-self: flex-start;
}
@media screen and (max-width: 767px) {
  .p-about-service .section__inner {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
    padding: 0 3.3333333333vw;
    gap: 0;
  }
}
.p-about-service__label {
  grid-column: 1;
  grid-row: 1;
  font-family: "neue-haas-grotesk-text", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 1.28125vw;
  letter-spacing: -0.02em;
  line-height: calc(19.4 / 16.4);
}
@media screen and (max-width: 767px) {
  .p-about-service__label {
    grid-row: 1;
    grid-column: 1;
    font-size: 3.8461538462vw;
    letter-spacing: -0.02em;
    line-height: calc(18 / 15);
  }
}
.p-about-service__categories {
  grid-column: 1;
  grid-row: 2;
  margin-top: auto;
  font-family: "neue-haas-grotesk-text", sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 3.515625vw;
  letter-spacing: -0.02em;
  line-height: calc(45 / 45);
}
@media screen and (max-width: 767px) {
  .p-about-service__categories {
    grid-row: 3;
    grid-column: 1;
    margin-top: 2.8205128205vw;
    font-size: 7.5384615385vw;
    letter-spacing: -0.01em;
    line-height: calc(29.4 / 29.4);
  }
}
.p-about-service__img {
  grid-column: 2;
  grid-row: 1/span 2;
}
.p-about-service__img img {
  width: 42.890625vw;
  height: 33.203125vw;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
@media screen and (max-width: 767px) {
  .p-about-service__img {
    grid-row: 2;
    grid-column: 1;
    margin-top: 2.5641025641vw;
  }
  .p-about-service__img img {
    width: 93.3333333333vw;
    height: 72.3076923077vw;
  }
}

.p-about-why {
  margin-top: 20vw;
}
@media screen and (max-width: 767px) {
  .p-about-why {
    margin-top: 35.641025641vw;
  }
}
.p-about-why .section__inner {
  display: grid;
  grid-template-columns: 54.21875vw 1fr;
  grid-template-rows: auto 1fr;
  margin: 0 1.25vw;
  padding: 0.31171875vw 0 0;
  border-top: 1px solid #000000;
  gap: 0;
}
.p-about-why .section__inner > * {
  align-self: flex-start;
}
@media screen and (max-width: 767px) {
  .p-about-why .section__inner {
    grid-template-columns: 1fr;
    margin: 0 3.3333333333vw;
    padding: 1.0230769231vw 0 0;
  }
}
.p-about-why__label {
  grid-column: 1;
  grid-row: 1;
  font-family: "neue-haas-grotesk-text", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 1.125vw;
  letter-spacing: -0.02em;
  line-height: calc(19.4 / 14.4);
}
@media screen and (max-width: 767px) {
  .p-about-why__label {
    font-size: 3.6923076923vw;
    letter-spacing: -0.02em;
    line-height: calc(19.4 / 14.4);
  }
}
.p-about-why__img {
  grid-column: 1;
  grid-row: 2;
  margin-top: 17.5vw;
}
.p-about-why__img img {
  width: 25.15625vw;
  height: 25.15625vw;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
@media screen and (max-width: 767px) {
  .p-about-why__img {
    grid-row: 3;
    margin-top: 11.5384615385vw;
  }
  .p-about-why__img img {
    width: 62.8205128205vw;
    height: 62.8205128205vw;
  }
}
.p-about-why__body {
  grid-column: 2;
  grid-row: 1/span 2;
}
@media screen and (max-width: 767px) {
  .p-about-why__body {
    grid-column: 1;
    grid-row: 2;
    margin-top: 5.1282051282vw;
  }
}
.p-about-why__lang {
  display: block;
  font-family: "neue-haas-grotesk-text", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 1.25vw;
  letter-spacing: -0.02em;
  line-height: calc(19 / 16);
  margin-top: 3.28125vw;
}
@media screen and (max-width: 767px) {
  .p-about-why__lang {
    font-size: 4.1025641026vw;
    letter-spacing: -0.02em;
    line-height: calc(19 / 16);
    margin-top: 9.2307692308vw;
  }
}
.p-about-why__lang a {
  color: #bfbfbf;
}
.p-about-why__lang a.is-active {
  color: #000000;
}
.p-about-why__text {
  font-family: "neue-haas-grotesk-text", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 1.25vw;
  letter-spacing: -0.02em;
  line-height: calc(18 / 16);
  display: none;
  width: 38.046875vw;
  margin-right: 5.1953125vw;
}
.p-about-why__text.is-active {
  display: block;
}
@media screen and (max-width: 767px) {
  .p-about-why__text {
    font-size: 4.1025641026vw;
    letter-spacing: -0.02em;
    line-height: calc(18 / 16);
    width: 100%;
    margin-right: 0;
  }
}

.p-about-values {
  margin-top: 1.484375vw;
}
@media screen and (max-width: 767px) {
  .p-about-values {
    margin-top: 21.2820512821vw;
  }
}
.p-about-values .section__inner {
  display: grid;
  grid-template-columns: 41.40625vw 1fr;
  margin: 0 1.25vw;
  padding: 0 0 0;
  border-top: 1px solid #000000;
  gap: 0;
}
.p-about-values .section__inner > * {
  align-self: flex-start;
}
@media screen and (max-width: 767px) {
  .p-about-values .section__inner {
    display: block;
    margin: 0 3.3333333333vw;
    padding: 1.0230769231vw 0 0;
  }
}
.p-about-values__label {
  grid-column: 1;
  grid-row: 1;
  font-family: "neue-haas-grotesk-text", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 1.125vw;
  letter-spacing: -0.02em;
  line-height: calc(19.4 / 14.4);
  padding-top: 0.390625vw;
}
@media screen and (max-width: 767px) {
  .p-about-values__label {
    font-size: 3.6923076923vw;
    letter-spacing: -0.02em;
    line-height: calc(19.4 / 14.4);
    padding-top: 0;
  }
}
.p-about-values__list {
  grid-column: 2;
  grid-row: 1;
}
@media screen and (max-width: 767px) {
  .p-about-values__list {
    margin-top: 16.9230769231vw;
  }
}
.p-about-values__item + .p-about-values__item {
  margin-top: 5.390625vw;
}
@media screen and (max-width: 767px) {
  .p-about-values__item + .p-about-values__item {
    margin-top: 14.8717948718vw;
  }
}
.p-about-values__name {
  font-family: "neue-haas-grotesk-text", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 2.1875vw;
  letter-spacing: -0.02em;
  line-height: calc(37 / 28);
}
@media screen and (max-width: 767px) {
  .p-about-values__name {
    font-size: 7.1794871795vw;
    letter-spacing: -0.02em;
    line-height: calc(37 / 28);
  }
}
.p-about-values__desc {
  width: 36.5625vw;
  margin-left: 12.890625vw;
  font-family: "neue-haas-grotesk-text", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 1.25vw;
  letter-spacing: -0.02em;
  line-height: calc(18 / 16);
  margin-top: 0.46875vw;
}
@media screen and (max-width: 767px) {
  .p-about-values__desc {
    width: auto;
    margin-left: 12.0512820513vw;
    font-size: 4.1025641026vw;
    letter-spacing: -0.02em;
    line-height: calc(18 / 16);
  }
}

.p-about-info {
  margin-top: 8.125vw;
}
@media screen and (max-width: 767px) {
  .p-about-info {
    margin-top: 31.0256410256vw;
  }
}
.p-about-info .section__inner {
  margin: 0 1.25vw;
  padding: 0.31171875vw 0 0;
  border-top: 1px solid #000000;
}
@media screen and (max-width: 767px) {
  .p-about-info .section__inner {
    display: grid;
    grid-template-columns: 56.6666666667vw 1fr;
    align-items: start;
    margin: 0 3.3333333333vw;
    padding: 1.0230769231vw 0 0;
  }
}
.p-about-info__tabs {
  display: grid;
  gap: 0;
  grid-template-columns: 20.703125vw 20.703125vw 20.3125vw 1fr;
  font-family: "neue-haas-grotesk-text", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 1.28125vw;
  letter-spacing: -0.02em;
  line-height: calc(19.4 / 16.4);
}
@media screen and (max-width: 767px) {
  .p-about-info__tabs {
    display: contents;
  }
}
@media screen and (max-width: 767px) {
  .p-about-info__tab {
    font-size: 4.2051282051vw;
    letter-spacing: -0.02em;
    line-height: calc(19.4 / 16.4);
  }
  .p-about-info__tab:nth-child(1) {
    grid-column: 1;
    grid-row: 1;
  }
  .p-about-info__tab:nth-child(2) {
    grid-column: 2;
    grid-row: 1;
  }
  .p-about-info__tab:nth-child(3) {
    grid-column: 1;
    grid-row: 3;
    margin-top: 26.4102564103vw;
  }
  .p-about-info__tab:nth-child(4) {
    grid-column: 2;
    grid-row: 3;
    margin-top: 26.4102564103vw;
  }
}
.p-about-info__grid {
  margin-top: 8.203125vw;
  display: grid;
  grid-template-columns: 20.703125vw 20.703125vw 20.3125vw 1fr;
  gap: 0;
  font-family: "neue-haas-grotesk-text", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 1.28125vw;
  letter-spacing: -0.02em;
  line-height: calc(19.4 / 16.4);
}
@media screen and (max-width: 767px) {
  .p-about-info__grid {
    display: contents;
  }
}
@media screen and (min-width: 768px) {
  .p-about-info__col {
    display: flex;
    flex-direction: column;
  }
}
@media screen and (max-width: 767px) {
  .p-about-info__col {
    font-size: 4.2051282051vw;
    letter-spacing: -0.02em;
    line-height: calc(19.4 / 16.4);
  }
  .p-about-info__col:nth-child(1) {
    grid-column: 1;
    grid-row: 2;
    margin-top: 21.7948717949vw;
  }
  .p-about-info__col:nth-child(2) {
    grid-column: 2;
    grid-row: 2;
    margin-top: 21.7948717949vw;
  }
  .p-about-info__col:nth-child(3) {
    grid-column: 1;
    grid-row: 4;
    margin-top: 21.7948717949vw;
  }
  .p-about-info__col:nth-child(4) {
    grid-column: 2;
    grid-row: 4;
    margin-top: 21.7948717949vw;
  }
}
.p-about-info__address {
  font-style: normal;
  line-height: inherit;
}
.p-about-info__downloads {
  display: flex;
  flex-direction: column;
}
.p-about-info__downloads a {
  text-decoration: none;
}
.p-about-info__downloads img {
  width: 2.65625vw;
  height: 2.65625vw;
  margin-top: 1.171875vw;
}
@media screen and (max-width: 767px) {
  .p-about-info__downloads img {
    width: 8.7179487179vw;
    height: 8.7179487179vw;
    margin-top: 3.8461538462vw;
  }
}
.p-about-info__contact-item + .p-about-info__contact-item {
  margin-top: 1.515625vw;
}
@media screen and (max-width: 767px) {
  .p-about-info__contact-item + .p-about-info__contact-item {
    margin-top: 14.8717948718vw;
  }
}
.p-about-info__contact-item a {
  display: block;
  text-decoration: underline;
}

.p-about-photo {
  margin-top: 10.078125vw;
  padding: 0 1.25vw;
}
.p-about-photo img {
  width: 64.140625vw;
  height: 42.1875vw;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
@media screen and (max-width: 767px) {
  .p-about-photo {
    margin-top: 13.0769230769vw;
    padding: 0 3.3333333333vw;
  }
  .p-about-photo img {
    width: 93.3333333333vw;
    height: 61.2820512821vw;
  }
}

.p-contact {
  background: #fffbf7;
  position: relative;
  z-index: 1;
}

.p-contact-hero {
  padding-top: 19.375vw;
}
@media screen and (max-width: 767px) {
  .p-contact-hero {
    padding-top: 37.6923076923vw;
  }
}
.p-contact-hero .section__inner {
  display: grid;
  grid-template-columns: 1fr 25.078125vw;
  gap: 0 1.25vw;
  padding: 0 1.25vw;
  align-items: start;
}
@media screen and (max-width: 767px) {
  .p-contact-hero .section__inner {
    display: block;
    padding: 0 4.8717948718vw;
  }
}
.p-contact-hero__content {
  grid-column: 1;
}
.p-contact-hero__media {
  grid-column: 2;
}
@media screen and (max-width: 767px) {
  .p-contact-hero__media {
    display: none;
  }
}
.p-contact-hero__heading {
  font-family: "neue-haas-grotesk-text", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 2.9921875vw;
  letter-spacing: -0.01em;
  line-height: calc(45.4 / 38.3);
}
@media screen and (max-width: 767px) {
  .p-contact-hero__heading {
    font-size: 10vw;
    letter-spacing: -0.02em;
    line-height: calc(43 / 39);
  }
}
.p-contact-hero__img img {
  width: 25.078125vw;
  height: 25.078125vw;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.p-contact-hero__intro {
  margin-top: 3.4375vw;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 1.25vw;
}
@media screen and (max-width: 767px) {
  .p-contact-hero__intro {
    margin-top: 11.2820512821vw;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }
}
.p-contact-hero__lead, .p-contact-hero__email-note {
  font-family: "acumin-pro-semi-condensed", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 1.390625vw;
  letter-spacing: -0.005em;
  line-height: calc(21.3 / 17.8);
}
@media screen and (max-width: 767px) {
  .p-contact-hero__lead, .p-contact-hero__email-note {
    font-size: 4.5641025641vw;
    letter-spacing: -0.005em;
    line-height: calc(21.3 / 17.8);
  }
}
@media screen and (max-width: 767px) {
  .p-contact-hero__email-note {
    margin-top: 12.5641025641vw;
    align-self: flex-end;
  }
}
.p-contact-hero__email-note a {
  color: #000000;
}

.p-contact-form {
  margin-top: 7.265625vw;
}
@media screen and (max-width: 767px) {
  .p-contact-form {
    margin-top: 14.358974359vw;
  }
}
.p-contact-form .section__inner {
  margin: 0 1.25vw;
  padding: 0;
}
@media screen and (max-width: 767px) {
  .p-contact-form .section__inner {
    margin: 0 4.8717948718vw;
  }
}
.p-contact-form__meta {
  margin-top: 8.203125vw;
}
@media screen and (max-width: 767px) {
  .p-contact-form__meta {
    margin-top: 11.2820512821vw;
    display: grid;
  }
  .p-contact-form__meta .c-lang {
    margin-top: 21.2820512821vw;
  }
}
@media screen and (min-width: 768px) {
  .p-contact-form__body {
    max-width: 55vw;
  }
}
.p-contact-form .c-form-submit button {
  height: 4.296875vw;
}
@media screen and (max-width: 767px) {
  .p-contact-form .c-form-submit button {
    height: 14.1025641026vw;
  }
}

.p-single-product {
  background: #fffbf7;
  position: relative;
  z-index: 1;
}

.p-single-product-hero .section__inner {
  display: grid;
  grid-template-columns: 49.84375vw 1fr;
  padding: 0;
}
@media screen and (max-width: 767px) {
  .p-single-product-hero .section__inner {
    display: block;
  }
}
.p-single-product-hero__media {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: stretch;
}
.p-single-product-hero .js-product-hero-swiper {
  width: 49.84375vw;
  height: 100%;
}
@media screen and (max-width: 767px) {
  .p-single-product-hero .js-product-hero-swiper {
    width: 100%;
    height: 128.7179487179vw;
  }
}
.p-single-product-hero__img {
  height: 100%;
}
.p-single-product-hero__img img {
  width: 49.84375vw;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
@media screen and (max-width: 767px) {
  .p-single-product-hero__img {
    height: 128.7179487179vw;
  }
  .p-single-product-hero__img img {
    width: 100%;
    height: 128.7179487179vw;
  }
}
.p-single-product-hero .swiper-slide {
  height: auto;
}
.p-single-product-hero__number {
  position: absolute;
  bottom: 0.859375vw;
  left: 1.25vw;
  font-family: "neue-haas-grotesk-text", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 1.203125vw;
  letter-spacing: -0.02em;
  line-height: calc(16.2 / 15.4);
  z-index: 2;
  font-variant-numeric: tabular-nums;
}
@media screen and (max-width: 767px) {
  .p-single-product-hero__number {
    bottom: 2.8205128205vw;
    left: 4.1025641026vw;
    font-size: 3.9487179487vw;
    letter-spacing: -0.02em;
    line-height: calc(16.2 / 15.4);
  }
}
.p-single-product-hero__body {
  padding: 15.703125vw 1.25vw 3.90625vw 2.421875vw;
}
@media screen and (max-width: 767px) {
  .p-single-product-hero__body {
    padding: 5.8974358974vw 3.8461538462vw 12.8205128205vw;
  }
}
.p-single-product-hero__title {
  font-family: "neue-haas-grotesk-text", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 2.265625vw;
  letter-spacing: -0.005em;
  line-height: calc(30.5 / 29);
}
@media screen and (max-width: 767px) {
  .p-single-product-hero__title {
    font-size: 6.9230769231vw;
    letter-spacing: -0.005em;
    line-height: calc(30.5 / 27);
  }
}
.p-single-product-hero__desc {
  margin-top: 3.828125vw;
}
@media screen and (max-width: 767px) {
  .p-single-product-hero__desc {
    margin-top: 4.6153846154vw;
  }
}
.p-single-product-hero__text {
  font-family: "acumin-pro-semi-condensed", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 1.38671875vw;
  letter-spacing: -0.005em;
  line-height: calc(21.3 / 17.75);
  display: none;
}
.p-single-product-hero__text.is-active {
  display: block;
}
@media screen and (max-width: 767px) {
  .p-single-product-hero__text {
    font-size: 4.1025641026vw;
    letter-spacing: -0.0008em;
    line-height: calc(19 / 16);
  }
}
.p-single-product-hero__lang {
  display: block;
  margin-top: 1.09375vw;
  font-family: "acumin-pro-semi-condensed", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 1.075vw;
  letter-spacing: -0.005em;
  line-height: 1;
  cursor: default;
}
.p-single-product-hero__lang a {
  color: #939393;
  cursor: pointer;
}
.p-single-product-hero__lang a.is-active {
  color: #000000;
}
@media screen and (max-width: 767px) {
  .p-single-product-hero__lang {
    margin-top: 2.8205128205vw;
    font-size: 4.0384615385vw;
    letter-spacing: -0.0008em;
    line-height: calc(18.9 / 15.75);
  }
}
.p-single-product-hero__meta {
  margin-top: 6.171875vw;
  font-family: "neue-haas-grotesk-text", sans-serif;
  font-style: normal;
  font-weight: 500;
  display: grid;
  grid-template-columns: 26.640625vw 1fr;
  row-gap: 4.609375vw;
}
.p-single-product-hero__meta > *:first-child {
  grid-column: 1/-1;
}
.p-single-product-hero__meta-row--col {
  grid-column: 2;
  grid-row: 2;
}
@media screen and (max-width: 767px) {
  .p-single-product-hero__meta-row--col {
    grid-column: unset;
    grid-row: unset;
    margin-top: 8.2051282051vw;
  }
}
@media screen and (max-width: 767px) {
  .p-single-product-hero__meta {
    display: block;
    margin-top: 8.2051282051vw;
    grid-template-columns: unset;
    row-gap: 0;
  }
  .p-single-product-hero__meta > *:first-child {
    grid-column: unset;
  }
  .p-single-product-hero__meta > * + * {
    margin-top: 14.358974359vw;
  }
}
.p-single-product-hero__meta-row:first-child .p-single-product-hero__meta-value {
  font-size: 1.4375vw;
  letter-spacing: -0.02em;
  line-height: calc(19.4 / 18.4);
}
@media screen and (max-width: 767px) {
  .p-single-product-hero__meta-row:first-child .p-single-product-hero__meta-value {
    font-size: 4.7179487179vw;
    letter-spacing: -0.02em;
    line-height: calc(19.4 / 18.4);
  }
}
.p-single-product-hero__meta-label {
  font-size: 1.015625vw;
  letter-spacing: 0em;
  line-height: calc(16.2 / 13);
  color: #5d5d5d;
}
@media screen and (max-width: 767px) {
  .p-single-product-hero__meta-label {
    font-size: 3.3333333333vw;
    letter-spacing: 0em;
    line-height: calc(16.2 / 13);
  }
}
.p-single-product-hero__meta-value {
  margin-top: 0.625vw;
  font-size: 1.09375vw;
  letter-spacing: -0.01em;
  line-height: calc(18 / 14);
}
@media screen and (max-width: 767px) {
  .p-single-product-hero__meta-value {
    margin-top: 2.0512820513vw;
    font-size: 3.5897435897vw;
    letter-spacing: -0.01em;
    line-height: calc(18 / 14);
  }
}
.p-single-product-hero__links {
  margin-top: 7.578125vw;
  font-family: "neue-haas-grotesk-text", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 1.40625vw;
  letter-spacing: -0.02em;
  line-height: calc(19 / 18);
}
@media screen and (max-width: 767px) {
  .p-single-product-hero__links {
    margin-top: 14.8717948718vw;
    font-size: 5.3846153846vw;
    letter-spacing: -0.004em;
    line-height: calc(24.2 / 21);
  }
}
.p-single-product-hero__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 18.515625vw;
  border: 1px solid #000000;
  border-left: 0;
  padding: 0.546875vw 0.9375vw 0.546875vw 0;
  position: relative;
}
.p-single-product-hero__link span {
  display: flex;
  justify-content: space-between;
  width: 100%;
  align-items: center;
}
.p-single-product-hero__link span:after {
  content: "";
  display: inline-block;
  width: 1.09375vw;
  height: 0.96640625vw;
  background: url(/sgwp/wp-content/themes/sog/asset/img/icn-arrow.svg) no-repeat center center/contain;
  flex-shrink: 0;
  flex-grow: 0;
}
@media screen and (max-width: 767px) {
  .p-single-product-hero__link span:after {
    width: 4.6153846154vw;
    height: 3.8461538462vw;
  }
}
.p-single-product-hero__link:before, .p-single-product-hero__link:after {
  content: "";
  width: 0.546875vw;
  height: 3px;
  display: block;
  position: absolute;
  right: 0;
  background: #fffbf7;
}
.p-single-product-hero__link:before {
  top: -2px;
}
.p-single-product-hero__link:after {
  bottom: -2px;
}
.p-single-product-hero__link + .p-single-product-hero__link {
  margin-top: 1.09375vw;
}
@media screen and (max-width: 767px) {
  .p-single-product-hero__link {
    width: 100%;
    padding: 1.7948717949vw 3.8461538462vw 1.7948717949vw 0;
  }
  .p-single-product-hero__link:before, .p-single-product-hero__link:after {
    width: 1.7948717949vw;
  }
  .p-single-product-hero__link + .p-single-product-hero__link {
    margin-top: 5.3846153846vw;
  }
}

.p-single-product-detail {
  margin-top: 14.921875vw;
}
@media screen and (max-width: 767px) {
  .p-single-product-detail {
    margin-top: 26.9230769231vw;
  }
}
.p-single-product-detail .section__inner {
  display: grid;
  grid-template-columns: 65vw 1fr;
  padding: 0 1.25vw;
  align-items: start;
}
@media screen and (max-width: 767px) {
  .p-single-product-detail .section__inner {
    display: block;
    padding: 0 3.8461538462vw;
  }
}
.p-single-product-detail__left {
  grid-column: 1;
}
.p-single-product-detail__right {
  grid-column: 2;
}
@media screen and (max-width: 767px) {
  .p-single-product-detail__right {
    margin-top: 32.8205128205vw;
  }
}
.p-single-product-detail__heading {
  font-family: "neue-haas-grotesk-text", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 1.75vw;
  letter-spacing: -0.02em;
  line-height: calc(19.4 / 22.4);
}
@media screen and (max-width: 767px) {
  .p-single-product-detail__heading {
    font-size: 5.3846153846vw;
    letter-spacing: -0.02em;
    line-height: calc(20 / 21);
  }
}
.p-single-product-detail__scroll-wrap {
  margin-top: 0.9375vw;
  width: 48.4375vw;
}
@media screen and (max-width: 767px) {
  .p-single-product-detail__scroll-wrap {
    margin-top: 3.5897435897vw;
    width: calc(100% + 3.8461538462vw);
  }
}
.p-single-product-detail__imgs {
  display: flex;
  gap: 0.78125vw;
  overflow-x: auto;
  scrollbar-width: none;
  cursor: grab;
}
.p-single-product-detail__imgs::-webkit-scrollbar {
  display: none;
}
.p-single-product-detail__imgs.is-dragging {
  cursor: grabbing;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
@media screen and (max-width: 767px) {
  .p-single-product-detail__imgs {
    gap: 2.5641025641vw;
    padding-right: 3.8461538462vw;
  }
}
.p-single-product-detail__img {
  flex-shrink: 0;
}
.p-single-product-detail__img img {
  width: 15.625vw;
  height: 20.859375vw;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
  pointer-events: none;
  -webkit-user-drag: none;
}
@media screen and (max-width: 767px) {
  .p-single-product-detail__img img {
    width: 51.2820512821vw;
    height: 68.4615384615vw;
  }
}
.p-single-product-detail__scrollbar {
  margin-top: 1.09375vw;
  height: 1px;
  background: rgba(0, 0, 0, 0.15);
  position: relative;
  visibility: hidden;
}
@media screen and (max-width: 767px) {
  .p-single-product-detail__scrollbar {
    margin-top: 7.1794871795vw;
  }
}
.p-single-product-detail__scrollbar-thumb {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  background: #000000;
  will-change: width, transform;
}
.p-single-product-detail__specs {
  margin-top: 0.859375vw;
}
@media screen and (max-width: 767px) {
  .p-single-product-detail__specs {
    margin-top: 2.8205128205vw;
  }
}
.p-single-product-detail__spec-row {
  display: grid;
  grid-template-columns: 11.875vw 1fr;
  align-items: start;
  border-top: 1px solid #000000;
  padding-top: 0.078125vw;
  padding-bottom: 0.078125vw;
}
.p-single-product-detail__spec-row + .p-single-product-detail__spec-row {
  margin-top: 0;
}
.p-single-product-detail__spec-row dt {
  font-family: "neue-haas-grotesk-text", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 1.28125vw;
  letter-spacing: -0.02em;
  line-height: calc(19.4 / 16.4);
}
.p-single-product-detail__spec-row dd {
  font-family: "neue-haas-grotesk-text", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 1.28125vw;
  letter-spacing: -0.02em;
  line-height: calc(19 / 16.4);
}
.p-single-product-detail__spec-row dd span {
  display: block;
}
@media screen and (max-width: 767px) {
  .p-single-product-detail__spec-row {
    grid-template-columns: 34.8717948718vw 1fr;
    padding-top: 0;
    padding-bottom: 2.8205128205vw;
  }
  .p-single-product-detail__spec-row dt {
    font-size: 3.8461538462vw;
    letter-spacing: -0.003em;
    line-height: calc(17 / 15);
  }
  .p-single-product-detail__spec-row dd {
    font-size: 3.8461538462vw;
    letter-spacing: -0.003em;
    line-height: calc(17 / 15);
  }
}
.p-single-product-detail__downloads {
  text-decoration: none;
  display: flex;
  align-items: flex-end;
  font-size: 1.28125vw;
  letter-spacing: -0.02em;
  line-height: calc(19 / 16.4);
}
.p-single-product-detail__downloads:after {
  content: "";
  width: 2.65625vw;
  height: 2.65625vw;
  background: url(/sgwp/wp-content/themes/sog/asset/img/icn-download.svg) no-repeat center center/2.65625vw 2.65625vw;
  margin-left: auto;
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .p-single-product-detail__downloads {
    font-size: 3.8461538462vw;
    letter-spacing: -0.003em;
    line-height: calc(17 / 15);
    flex-direction: column;
    align-items: flex-start;
  }
  .p-single-product-detail__downloads:after {
    width: 8.7179487179vw;
    height: 8.7179487179vw;
    background-size: 8.7179487179vw 8.7179487179vw;
    margin-left: 0;
    margin-top: 3.3333333333vw;
  }
}

.p-single-product-scenes {
  margin-top: 17.96875vw;
}
@media screen and (max-width: 767px) {
  .p-single-product-scenes {
    margin-top: 24.1025641026vw;
  }
}
.p-single-product-scenes .section__inner {
  display: grid;
  grid-template-columns: 25.390625vw 1fr;
  padding: 0 1.25vw 0 1.328125vw;
  align-items: start;
}
@media screen and (max-width: 767px) {
  .p-single-product-scenes .section__inner {
    display: block;
    padding: 0 3.8461538462vw;
  }
}
.p-single-product-scenes__heading {
  grid-column: 1;
  font-family: "neue-haas-grotesk-text", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 1.75vw;
  letter-spacing: -0.02em;
  line-height: calc(19.4 / 22.4);
}
@media screen and (max-width: 767px) {
  .p-single-product-scenes__heading {
    grid-column: unset;
    font-size: 5.3846153846vw;
    letter-spacing: -0.02em;
    line-height: calc(20 / 21);
  }
}
.p-single-product-scenes__content {
  grid-column: 2;
}
@media screen and (max-width: 767px) {
  .p-single-product-scenes__content {
    grid-column: unset;
    margin-top: 7.4358974359vw;
  }
}
.p-single-product-scenes__desc {
  font-family: "acumin-pro-semi-condensed", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 1.38671875vw;
  letter-spacing: -0.005em;
  line-height: calc(21.3 / 17.75);
}
@media screen and (max-width: 767px) {
  .p-single-product-scenes__desc {
    font-size: 3.5897435897vw;
    letter-spacing: -0.0007em;
    line-height: calc(19 / 14);
  }
}
.p-single-product-scenes__media {
  margin-top: 5.078125vw;
  display: grid;
  grid-template-columns: 35.46875vw 1fr;
  gap: 0 15.9375vw;
  align-items: start;
}
@media screen and (max-width: 767px) {
  .p-single-product-scenes__media {
    display: block;
    margin-top: 4.6153846154vw;
  }
}
.p-single-product-scenes__img-main {
  grid-column: 1;
  position: relative;
}
.p-single-product-scenes__img-main img {
  width: 35.46875vw;
  height: 27.5vw;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.p-single-product-scenes__img-main .js-scenes-prev {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .p-single-product-scenes__img-main {
    grid-column: unset;
  }
  .p-single-product-scenes__img-main img {
    width: 100%;
    height: 71.7948717949vw;
  }
}
.p-single-product-scenes__caption {
  margin-top: 0.859375vw;
  font-family: "acumin-pro-semi-condensed", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 1.25vw;
  letter-spacing: -0.005em;
  line-height: calc(19.2 / 16);
}
@media screen and (max-width: 767px) {
  .p-single-product-scenes__caption {
    margin-top: 2.3076923077vw;
    font-size: 3.5897435897vw;
    letter-spacing: -0.0007em;
    line-height: calc(16.8 / 14);
  }
}
.p-single-product-scenes__img-grid {
  grid-column: 2;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.3125vw;
  align-content: start;
}
@media screen and (max-width: 767px) {
  .p-single-product-scenes__img-grid {
    grid-column: unset;
    margin-top: 6.6666666667vw;
    gap: 0.5128205128vw;
  }
}
.p-single-product-scenes__img-sm {
  cursor: pointer;
}
.p-single-product-scenes__img-sm img {
  width: 100%;
  height: auto;
  aspect-ratio: 86/67;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
  transition: opacity 0.2s ease;
}
.p-single-product-scenes__img-sm.js-inview.ext-reveal img {
  transition: transform 1.2s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.2s ease;
}
.p-single-product-scenes__img-sm:not(.is-active) img {
  opacity: 0.3;
}
.p-single-product-scenes__img-sm:not(.is-active):hover img {
  opacity: 0.6;
}
.p-single-product-scenes__img-sm.is-active {
  outline: 1px solid currentColor;
  outline-offset: -1px;
}

.p-single-product-related {
  margin-top: 29.53125vw;
}
@media screen and (max-width: 767px) {
  .p-single-product-related {
    margin-top: 76.4102564103vw;
  }
}
.p-single-product-related .section__inner {
  padding: 0 1.25vw;
}
@media screen and (max-width: 767px) {
  .p-single-product-related .section__inner {
    padding: 0 3.5897435897vw;
  }
}
.p-single-product-related__heading {
  font-family: "neue-haas-grotesk-text", sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 3.1796875vw;
  letter-spacing: -0.01em;
  line-height: calc(49.1 / 40.7);
}
@media screen and (max-width: 767px) {
  .p-single-product-related__heading {
    font-size: 7.358974359vw;
    letter-spacing: -0.003em;
    line-height: calc(49 / 28.7);
  }
}
.p-single-product-related__list {
  margin-top: 3.90625vw;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 3.90625vw;
}
@media screen and (max-width: 767px) {
  .p-single-product-related__list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2.0512820513vw;
    margin-top: 1.5384615385vw;
    align-items: start;
  }
}
.p-single-product-related__item {
  display: flex;
  align-items: flex-start;
  width: 33.125vw;
}
@media screen and (max-width: 767px) {
  .p-single-product-related__item {
    display: block;
    width: auto;
  }
  .p-single-product-related__item:nth-child(n+3) {
    display: none;
  }
}
.p-single-product-related__link {
  flex-shrink: 0;
}
.p-single-product-related__link img {
  width: 18.828125vw;
  height: 23.59375vw;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
@media screen and (max-width: 767px) {
  .p-single-product-related__link {
    flex-shrink: unset;
    display: block;
    width: 100%;
  }
  .p-single-product-related__link img {
    width: 100%;
    height: 60.5128205128vw;
  }
}
.p-single-product-related__info {
  flex: 1;
  padding-left: 0.703125vw;
  height: 23.59375vw;
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 767px) {
  .p-single-product-related__info {
    padding-left: 0;
    height: auto;
    margin-top: 1.7948717949vw;
  }
}
.p-single-product-related__name {
  font-family: "neue-haas-grotesk-text", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 1.328125vw;
  letter-spacing: 0em;
  line-height: calc(21.1 / 17);
}
@media screen and (max-width: 767px) {
  .p-single-product-related__name {
    font-size: 3.8461538462vw;
    letter-spacing: 0em;
    line-height: calc(18.6 / 15);
  }
}
.p-single-product-related__more {
  color: #939393;
  font-size: 1.25vw;
  letter-spacing: 0em;
  line-height: calc(19.9 / 16);
}
@media screen and (max-width: 767px) {
  .p-single-product-related__more {
    font-size: 3.8461538462vw;
    letter-spacing: 0em;
    line-height: calc(18.6 / 15);
  }
}
.p-single-product-related__tags {
  margin-top: auto;
  font-family: "neue-haas-grotesk-text", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 1.171875vw;
  letter-spacing: 0em;
  line-height: calc(18 / 15);
  color: #5d5d5d;
}
.p-single-product-related__tags span {
  display: block;
}
@media screen and (max-width: 767px) {
  .p-single-product-related__tags {
    display: none;
  }
}

.p-estimate {
  background: #fffbf7;
  position: relative;
  z-index: 1;
}

.p-estimate-hero {
  padding-top: 19.375vw;
}
@media screen and (max-width: 767px) {
  .p-estimate-hero {
    padding-top: 37.6923076923vw;
  }
}
.p-estimate-hero .section__inner {
  display: grid;
  grid-template-columns: 1fr 26.796875vw;
  gap: 0 1.25vw;
  padding: 0 1.25vw;
  align-items: start;
}
@media screen and (max-width: 767px) {
  .p-estimate-hero .section__inner {
    display: block;
    padding: 0 4.8717948718vw;
  }
}
.p-estimate-hero__content {
  grid-column: 1;
  grid-row: 1;
}
.p-estimate-hero__media {
  grid-column: 2;
  grid-row: 1/span 2;
}
@media screen and (max-width: 767px) {
  .p-estimate-hero__media {
    display: none;
  }
}
.p-estimate-hero__heading {
  font-family: "neue-haas-grotesk-text", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 2.9921875vw;
  letter-spacing: -0.01em;
  line-height: calc(41 / 38.3);
}
@media screen and (max-width: 767px) {
  .p-estimate-hero__heading {
    font-size: 10vw;
    letter-spacing: -0.02em;
    line-height: calc(43 / 39);
  }
}
.p-estimate-hero__img img {
  width: 26.796875vw;
  height: 26.796875vw;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.p-estimate-hero__lead {
  margin-top: 5vw;
  font-family: "acumin-pro-semi-condensed", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 1.390625vw;
  letter-spacing: -0.005em;
  line-height: calc(21.3 / 17.8);
}
@media screen and (max-width: 767px) {
  .p-estimate-hero__lead {
    margin-top: 17.1794871795vw;
    font-size: 4.5641025641vw;
    letter-spacing: -0.005em;
    line-height: calc(21.3 / 17.8);
  }
}
.p-estimate-hero__meta {
  margin-top: 8.4375vw;
}
@media screen and (max-width: 767px) {
  .p-estimate-hero__meta {
    margin-top: 17.4358974359vw;
    display: grid;
  }
  .p-estimate-hero__meta .c-lang {
    margin-top: 21.2820512821vw;
  }
}

.p-estimate-form {
  margin-top: 3.828125vw;
}
@media screen and (max-width: 767px) {
  .p-estimate-form {
    margin-top: 12.5641025641vw;
  }
}
.p-estimate-form .section__inner {
  margin: 0 1.25vw;
  padding: 0;
}
@media screen and (max-width: 767px) {
  .p-estimate-form .section__inner {
    margin: 0 4.8717948718vw;
  }
}
.p-estimate-form__details {
  display: grid;
  grid-template-columns: 32.1875vw 1fr;
  gap: 0 10.625vw;
  align-items: stretch;
}
@media screen and (max-width: 767px) {
  .p-estimate-form__details {
    display: block;
  }
}
.p-estimate-form__details-left {
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 767px) {
  .p-estimate-form__details-left {
    display: block;
  }
}
.p-estimate-form__details-right {
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 767px) {
  .p-estimate-form__details-right {
    display: block;
    margin-top: 5.3846153846vw;
  }
}
.p-estimate-form__details-right .c-form-field:last-child {
  margin-top: auto;
}
@media screen and (max-width: 767px) {
  .p-estimate-form__details-right .c-form-field:last-child {
    margin-top: 5.3846153846vw;
  }
}
.p-estimate-form__info {
  margin-top: 5.625vw;
}
@media screen and (max-width: 767px) {
  .p-estimate-form__info {
    margin-top: 13.3333333333vw;
  }
}
.p-estimate-form__info-heading {
  font-family: "acumin-pro-semi-condensed", sans-serif;
  font-style: normal;
  font-weight: 600;
  font-size: 1.390625vw;
  letter-spacing: -0.005em;
  line-height: calc(21.3 / 17.8);
  margin-bottom: 2.5vw;
}
@media screen and (max-width: 767px) {
  .p-estimate-form__info-heading {
    font-size: 4.5641025641vw;
    letter-spacing: -0.005em;
    line-height: calc(21.3 / 17.8);
    margin-bottom: 8.2051282051vw;
  }
}

.p-archive-products {
  background: #fffbf7;
  position: relative;
  z-index: 1;
}

.p-archive-products-hero {
  padding-top: 17.1875vw;
}
@media screen and (max-width: 767px) {
  .p-archive-products-hero {
    padding-top: 37.6923076923vw;
  }
}
.p-archive-products-hero .section__inner {
  padding: 0 1.25vw;
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .p-archive-products-hero .section__inner {
    display: block;
    padding: 0 3.5897435897vw;
  }
}
.p-archive-products-hero__title {
  font-family: "neue-haas-grotesk-text", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 5.078125vw;
  letter-spacing: -0.02em;
  line-height: calc(68 / 65);
}
@media screen and (max-width: 767px) {
  .p-archive-products-hero__title {
    font-size: 10.2564102564vw;
    letter-spacing: -0.02em;
    line-height: calc(42 / 40);
  }
}
.p-archive-products-hero__lead {
  font-family: "neue-haas-grotesk-text", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 1.71875vw;
  letter-spacing: -0.005em;
  line-height: calc(25 / 22);
  margin-top: 1.25vw;
}
@media screen and (max-width: 767px) {
  .p-archive-products-hero__lead {
    font-size: 3.5897435897vw;
    letter-spacing: -0.005em;
    line-height: calc(16 / 14);
    margin-top: 7.1794871795vw;
  }
}

.p-archive-products-filter {
  margin-top: 10.234375vw;
}
@media screen and (max-width: 767px) {
  .p-archive-products-filter {
    margin-top: 13.058974359vw;
  }
}
.p-archive-products-filter .section__inner {
  padding: 0 1.25vw;
}
@media screen and (max-width: 767px) {
  .p-archive-products-filter .section__inner {
    padding: 0 3.5897435897vw;
  }
}
.p-archive-products-filter__row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .p-archive-products-filter__row {
    flex-direction: column;
    gap: 0;
  }
}
.p-archive-products-filter__label {
  font-family: "neue-haas-grotesk-text", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 1.40625vw;
  letter-spacing: 0em;
  line-height: calc(22 / 18);
  display: inline-block;
  width: 8.515625vw;
  white-space: nowrap;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .p-archive-products-filter__label {
    font-size: 4.6153846154vw;
    letter-spacing: 0em;
    line-height: calc(22 / 18);
    width: auto;
    min-width: 19.7435897436vw;
  }
}
.p-archive-products-filter__tags {
  display: flex;
  align-items: flex-start;
  gap: 0.625vw 0;
  max-width: 64.0625vw;
}
@media screen and (max-width: 767px) {
  .p-archive-products-filter__tags {
    margin-top: 15.3846153846vw;
    max-width: 100%;
    gap: 2.0512820513vw 0;
  }
}
.p-archive-products-filter__tag-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3125vw 0.9375vw;
  width: 35.390625vw;
}
@media screen and (max-width: 767px) {
  .p-archive-products-filter__tag-list {
    width: auto;
    gap: 2.0512820513vw 4.1025641026vw;
  }
}
.p-archive-products-filter__tag {
  display: flex;
  align-items: center;
  gap: 0.46875vw;
  cursor: pointer;
  font-family: "neue-haas-grotesk-text", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 1.40625vw;
  letter-spacing: -0.02em;
  line-height: calc(22 / 18);
}
@media screen and (max-width: 767px) {
  .p-archive-products-filter__tag {
    gap: 1.5384615385vw;
    font-size: 4.6153846154vw;
    letter-spacing: -0.02em;
    line-height: calc(22 / 18);
  }
}
.p-archive-products-filter__tag input[type=radio] {
  display: none;
}
.p-archive-products-filter__radio {
  display: block;
  width: 1.25vw;
  height: 1.25vw;
  border-radius: 50%;
  border: 1px solid #000000;
  flex-shrink: 0;
  transition: background 0.2s;
}
@media screen and (max-width: 767px) {
  .p-archive-products-filter__radio {
    width: 4.1025641026vw;
    height: 4.1025641026vw;
  }
}
.p-archive-products-filter__tag.is-active .p-archive-products-filter__radio {
  background: #000000;
}
.p-archive-products-filter__search {
  display: flex;
  align-items: center;
  gap: 0.3125vw;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .p-archive-products-filter__search {
    order: -1;
    gap: 1.0256410256vw;
  }
}
.p-archive-products-filter__input {
  font-family: "neue-haas-grotesk-text", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 1.40625vw;
  letter-spacing: -0.01em;
  line-height: calc(22 / 18);
  background: transparent;
  border: none;
  border-bottom: 1px solid #000000;
  outline: none;
  padding: 0.15625vw 0;
  width: 15.625vw;
  color: #000000;
}
@media screen and (max-width: 767px) {
  .p-archive-products-filter__input {
    font-size: 4.6153846154vw;
    letter-spacing: -0.01em;
    line-height: calc(22 / 18);
    padding: 0.5128205128vw 0;
    width: 51.2820512821vw;
  }
}
.p-archive-products-filter__input::-moz-placeholder {
  color: #bebebe;
}
.p-archive-products-filter__input::placeholder {
  color: #bebebe;
}
.p-archive-products-filter__advanced {
  margin-top: 5.546875vw;
}
@media screen and (max-width: 767px) {
  .p-archive-products-filter__advanced {
    margin-top: 11.5384615385vw;
  }
}
.p-archive-products-filter__toggle {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
}
@media screen and (max-width: 767px) {
  .p-archive-products-filter__toggle {
    align-items: flex-start;
    gap: 2.0512820513vw 0;
  }
}
.p-archive-products-filter__toggle-label {
  font-family: "neue-haas-grotesk-text", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 1.40625vw;
  letter-spacing: 0em;
  line-height: calc(22 / 18);
  width: 8.515625vw;
  flex-shrink: 0;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-archive-products-filter__toggle-label {
    font-size: 4.6153846154vw;
    letter-spacing: 0em;
    line-height: calc(22 / 18);
    width: auto;
    min-width: 19.7435897436vw;
  }
}
.p-archive-products-filter__toggle-body {
  display: flex;
  flex-wrap: nowrap;
  gap: 0.625vw 5.859375vw;
}
@media screen and (max-width: 767px) {
  .p-archive-products-filter__toggle-body {
    flex-wrap: wrap;
    gap: 7.1794871795vw 9.4871794872vw;
  }
}
.p-archive-products-filter__dropdown {
  position: relative;
}
.p-archive-products-filter__dropdown-btn {
  color: #000000;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  display: flex;
  align-items: center;
  gap: 0.46875vw;
  font-family: "neue-haas-grotesk-text", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 1.40625vw;
  letter-spacing: -0.02em;
  line-height: calc(22 / 18);
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-archive-products-filter__dropdown-btn {
    gap: 1.5384615385vw;
    font-size: 4.6153846154vw;
    letter-spacing: -0.02em;
    line-height: calc(22 / 18);
  }
}
.p-archive-products-filter__dropdown-current em {
  font-style: normal;
  display: none;
}
.p-archive-products-filter__dropdown-arrow {
  display: block;
  width: 0.546875vw;
  height: 0.546875vw;
  border-right: 1px solid #000000;
  border-bottom: 1px solid #000000;
  transform: rotate(45deg) translateY(-30%);
  transition: transform 0.25s ease;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .p-archive-products-filter__dropdown-arrow {
    width: 1.7948717949vw;
    height: 1.7948717949vw;
  }
}
.p-archive-products-filter__dropdown.is-open .p-archive-products-filter__dropdown-arrow {
  transform: rotate(225deg) translateY(30%);
}
.p-archive-products-filter__dropdown-list {
  display: none;
  position: absolute;
  left: 1.09375vw;
  min-width: 12.5vw;
  background: #fffbf7;
  padding: 0.390625vw 0.78125vw 0.78125vw;
  z-index: 20;
}
@media screen and (max-width: 767px) {
  .p-archive-products-filter__dropdown-list {
    top: calc(100% + 2.5641025641vw);
    min-width: 35.8974358974vw;
    padding: 3.5897435897vw 4.6153846154vw;
  }
}
.p-archive-products-filter__dropdown.is-open .p-archive-products-filter__dropdown-list {
  display: block;
}
.p-archive-products-filter__dropdown-item {
  display: block;
  cursor: pointer;
  font-family: "neue-haas-grotesk-text", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 1.25vw;
  letter-spacing: -0.02em;
  line-height: 1;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-archive-products-filter__dropdown-item {
    font-size: 4.1025641026vw;
    letter-spacing: -0.02em;
    line-height: calc(20 / 16);
  }
}
.p-archive-products-filter__dropdown-item input[type=radio] {
  display: none;
}
.p-archive-products-filter__dropdown-item + .p-archive-products-filter__dropdown-item {
  margin-top: 0.3125vw;
}
@media screen and (max-width: 767px) {
  .p-archive-products-filter__dropdown-item + .p-archive-products-filter__dropdown-item {
    margin-top: 1.0256410256vw;
  }
}
.p-archive-products-filter__dropdown-item.is-active {
  text-decoration: underline;
}
.p-archive-products-filter__dropdown-item:not(.is-active):hover {
  opacity: 0.6;
}

.p-archive-products-list {
  margin-top: 13.046875vw;
}
@media screen and (max-width: 767px) {
  .p-archive-products-list {
    margin-top: 26.9230769231vw;
  }
}
.p-archive-products-list .section__inner {
  padding: 0 1.328125vw;
}
@media screen and (max-width: 767px) {
  .p-archive-products-list .section__inner {
    padding: 0 3.5897435897vw;
  }
}
.p-archive-products-list__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8.4375vw 0;
}
@media screen and (max-width: 767px) {
  .p-archive-products-list__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 9.2307692308vw 2.0512820513vw;
  }
}
.p-archive-products-list__item {
  display: flex;
  align-items: stretch;
  gap: 0.703125vw;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-archive-products-list__item {
    flex-direction: column;
    gap: 0;
  }
  .p-archive-products-list__item:nth-child(-n+2) {
    grid-column: 1/-1;
  }
}
.p-archive-products-list__img {
  display: block;
  flex-shrink: 0;
  width: 18.828125vw;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-archive-products-list__img {
    width: 100%;
  }
}
.p-archive-products-list__img img {
  width: 100%;
  height: 23.59375vw;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
  transition: transform 0.6s cubic-bezier(0.2, 0.5, 0.4, 1);
}
@media screen and (max-width: 767px) {
  .p-archive-products-list__img img {
    height: 60.5128205128vw;
  }
}
.p-archive-products-list__img:hover img {
  transform: scale(1.03);
}
@media screen and (max-width: 767px) {
  .p-archive-products-list__item:nth-child(-n+2) .p-archive-products-list__img img {
    height: 123.8461538462vw;
  }
  .p-archive-products-list__item:nth-child(-n+2) .p-archive-products-list__tags {
    display: flex;
    margin-top: 0;
    margin-left: auto;
  }
}
.p-archive-products-list__info {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  padding-top: 0.15625vw;
}
@media screen and (max-width: 767px) {
  .p-archive-products-list__info {
    padding-top: 2.0512820513vw;
    display: grid;
  }
}
.p-archive-products-list__name {
  font-family: "neue-haas-grotesk-text", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 1.328125vw;
  letter-spacing: 0em;
  line-height: calc(21 / 17);
}
@media screen and (max-width: 767px) {
  .p-archive-products-list__name {
    font-size: 3.8461538462vw;
    letter-spacing: 0em;
    line-height: calc(19 / 15);
    grid-column: 1;
    grid-row: 1;
    height: -moz-fit-content;
    height: fit-content;
  }
}
.p-archive-products-list__name a {
  color: #000000;
}
.p-archive-products-list__more {
  display: inline-block;
  color: #939393;
  font-family: "neue-haas-grotesk-text", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 1.25vw;
  letter-spacing: 0em;
  line-height: calc(20 / 16);
}
@media screen and (max-width: 767px) {
  .p-archive-products-list__more {
    font-size: 3.8461538462vw;
    letter-spacing: 0em;
    line-height: calc(19 / 15);
    grid-column: 1;
    grid-row: 2;
  }
}
.p-archive-products-list__tags {
  margin-top: auto;
  padding-top: 1.25vw;
  font-family: "neue-haas-grotesk-text", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 1.171875vw;
  letter-spacing: 0em;
  line-height: calc(18 / 15);
  color: #5d5d5d;
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 767px) {
  .p-archive-products-list__tags {
    font-size: 3.8461538462vw;
    letter-spacing: 0em;
    line-height: calc(17 / 15);
    grid-column: 2;
    grid-row: 1/span 2;
    display: none;
  }
}
.p-archive-products-list__tags a {
  color: inherit;
  display: inline-block;
  margin-right: 0.3125vw;
}
@media screen and (max-width: 767px) {
  .p-archive-products-list__tags a {
    margin-right: 1.0256410256vw;
  }
  .p-archive-products-list__tags a:nth-child(n+3) {
    display: none;
  }
}
.p-archive-products-list__empty {
  font-family: "neue-haas-grotesk-text", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 1.40625vw;
  letter-spacing: 0em;
  line-height: calc(22 / 18);
  color: #939393;
}
@media screen and (max-width: 767px) {
  .p-archive-products-list__empty {
    font-size: 4.1025641026vw;
    letter-spacing: 0em;
    line-height: calc(20 / 16);
  }
}

/* Utility
----------------------------------------------------------------- */
@media screen and (min-width: 768px) {
  .u-sp_only {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  .u-pc_only {
    display: none !important;
  }
}
.u-breakctrl {
  display: inline-block;
}

.js-lazy {
  opacity: 1;
  transition: opacity 0.4s;
}
.js-lazy[src^="/asset/img/dummy"] {
  opacity: 0;
}

.js-inview.ext-float {
  opacity: 0;
  transform: translateY(15px) translateZ(0);
  transition: transform 1s cubic-bezier(0.33, 1, 0.68, 1), opacity 1.2s cubic-bezier(0.33, 1, 0.68, 1);
}
.js-inview.ext-float.is-animated {
  opacity: 1;
  transform: none;
}
.js-inview.ext-reveal {
  --reveal-color: #fffbf7;
  overflow: hidden;
  position: relative;
}
.js-inview.ext-reveal img {
  display: block;
  transform: scale(1.06) translateZ(0);
  transition: transform 1.2s cubic-bezier(0.16, 1, 0.3, 1);
}
.js-inview.ext-reveal::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: var(--reveal-color);
  transform: translateY(0%) translateZ(0);
  transition: transform 1.2s cubic-bezier(0.16, 1, 0.3, 1);
}
.js-inview.ext-reveal.is-animated::after {
  transform: translateY(105%) translateZ(0);
}
.js-inview.ext-reveal.is-animated img {
  transform: scale(1) translateZ(0);
}

.js-split-text .st-line {
  display: block;
  overflow: hidden;
  line-height: inherit;
  padding-bottom: 0.2em;
  margin-bottom: -0.2em;
}
.js-split-text .st-line-inner {
  display: block;
  transform: translateY(110%);
  transition: transform 0.85s cubic-bezier(0.16, 1, 0.3, 1);
  transition-delay: calc(var(--i, 0) * var(--split-stagger, 0.08s));
}
.js-split-text.is-animated .st-line-inner {
  transform: translateY(0);
}

.js-logo-reveal {
  overflow: hidden;
}
.js-logo-reveal img {
  display: block;
  transform: translateY(110%);
  transition: transform 0.85s cubic-bezier(0.16, 1, 0.3, 1);
}
.js-logo-reveal.is-animated img {
  transform: translateY(0);
}

/* Animations */
@keyframes scrolltext {
  0% {
    transform: translate(0, -50%);
  }
  25% {
    transform: translate(0, 0);
  }
  99% {
    transform: translate(0, 0);
  }
  100% {
    transform: translate(0, 0);
  }
}
@keyframes scrollarrow1 {
  0% {
    transform: translate(0, 0);
  }
  25% {
    transform: translate(0, 0);
  }
  35% {
    transform: translate(0, 75%);
  }
  70% {
    transform: translate(0, 75%);
  }
  80% {
    transform: translate(0, 0);
  }
  100% {
    transform: translate(0, 0);
  }
}
@keyframes scrollarrow2 {
  0% {
    transform: translate(0, 0);
  }
  20% {
    transform: translate(0, 0);
  }
  30% {
    transform: translate(0, 75%);
  }
  75% {
    transform: translate(0, 75%);
  }
  85% {
    transform: translate(0, 0);
  }
  100% {
    transform: translate(0, 0);
  }
}