/*** The new CSS reset - version 1.5.1 (last updated 1.3.2022) ***/
*:where(:not(iframe, canvas, img, svg, video):not(svg *, symbol *)) {
  all: unset;
  display: revert;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

a,
button {
  cursor: revert;
}

ol,
ul,
menu {
  list-style: none;
}

img,
video {
  max-width: 100%;
  vertical-align: middle;
  image-rendering: auto;
}

table {
  border-collapse: collapse;
}

textarea {
  white-space: revert;
}

meter {
  -webkit-appearance: revert;
  -moz-appearance: revert;
       appearance: revert;
}

::-moz-placeholder {
  color: unset;
}

::placeholder {
  color: unset;
}

:where([hidden]) {
  display: none;
}

:where([contenteditable]) {
  -moz-user-modify: read-write;
  -webkit-user-modify: read-write;
  overflow-wrap: break-word;
  /* -webkit-line-break: after-white-space */
}

:where([draggable=true]) {
  -webkit-user-drag: element;
}

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -khtml-user-select: none;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  display: block;
  overflow: hidden;
  margin: 0;
  padding: 0;
}

.slick-list:focus {
  outline: none;
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  top: 0;
  left: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.slick-track:before,
.slick-track:after {
  display: table;
  content: "";
}

.slick-track:after {
  clear: both;
}

.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  display: none;
  float: left;
  height: 100%;
  min-height: 1px;
}

[dir=rtl] .slick-slide {
  float: right;
}

.slick-slide img {
  display: block;
}

.slick-slide.slick-loading img {
  display: none;
}

.slick-slide.dragging img {
  pointer-events: none;
}

.slick-initialized .slick-slide {
  display: block;
}

.slick-loading .slick-slide {
  visibility: hidden;
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

html {
  scroll-behavior: smooth;
  overflow-x: hidden;
}

body {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: max(1.25vw, 18.24px);
  color: rgb(69, 63, 63);
  text-align: left;
  margin: 0 auto;
  line-height: 3;
  letter-spacing: normal;
  letter-spacing: 0.12em;
  position: relative;
  overflow-x: hidden;
}
@media screen and (max-width: 1000px) {
  body {
    text-align: justify;
    font-size: 1.8666666667vw;
  }
}
body.nav-open {
  overflow: hidden;
  position: fixed;
}

p {
  margin-bottom: 3em;
}

section {
  position: relative;
  z-index: 100;
}

button {
  background-color: rgb(115, 105, 105);
  color: rgb(255, 255, 255);
  width: max(22.5520833333vw, 329.08px);
  height: max(3.6458333333vw, 53.2px);
  border-radius: max(2.6041666667vw, 38px);
  line-height: 1;
  position: relative;
  display: block;
  text-align: center;
  cursor: pointer;
}
@media screen and (max-width: 1000px) {
  button {
    padding: 2.1333333333vw 4.8vw;
    border-radius: 1.3333333333vw;
    font-size: 1.8666666667vw;
  }
}
button::after {
  content: "";
  position: absolute;
  top: 50%;
  right: max(1.5625vw, 22.8px);
  transform: translateY(-50%);
  background-image: url(../img/chev.svg);
  background-size: contain;
  background-repeat: no-repeat;
  width: max(0.8333333333vw, 12.16px);
  height: max(0.8854166667vw, 12.92px);
}
@media screen and (max-width: 1000px) {
  button::after {
    right: 1.8666666667vw;
    width: 1.4666666667vw;
    height: 1.6vw;
  }
}

.container {
  width: max(70.7291666667vw, 1032.08px);
  margin: 0 auto;
}
@media screen and (max-width: 1000px) {
  .container {
    width: 86.6666666667vw;
  }
}

.pcnone {
  display: none;
}
@media screen and (max-width: 1000px) {
  .pcnone {
    display: block;
  }
}

@media screen and (max-width: 1000px) {
  .spnone {
    display: none;
  }
}

@media screen and (max-width: 1380px) {
  .imgnone {
    display: none;
  }
}

.hover {
  transition-duration: 300ms;
  cursor: pointer;
  position: relative;
}
.hover.hover-active {
  opacity: 0.65;
}

.fadein {
  transform: translateY(40px);
  opacity: 0;
  transition: 1200ms cubic-bezier(0, 0, 0.2, 1);
}
@media screen and (max-width: 1000px) {
  .fadein {
    transform: translateY(20px);
  }
}
.fadein.fadein-out {
  transform: translateY(0);
  opacity: 1;
}
.fadein.speed {
  transform: translateY(0);
  transition: 1200ms cubic-bezier(0, 0, 0.2, 1);
}
.fadein.delay1 {
  transition-delay: 200ms;
}
.fadein.delay2 {
  transition-delay: 400ms;
}
.fadein.delay3 {
  transition-delay: 600ms;
}

.spotin {
  opacity: 0;
  transition: 1200ms cubic-bezier(0, 0, 0.2, 1);
  transition-delay: 1000ms;
}

.onloadcm {
  opacity: 0;
  transition: 900ms cubic-bezier(0, 0, 0.2, 1);
  filter: blur(10px) invert(1);
  transform: scale(1.1);
}
.onloadcm.onloadcm-active {
  opacity: 1;
  filter: blur(0) invert(0);
  transform: scale(1);
}
.onloadcm.delay1 {
  transition-delay: 150ms;
}
.onloadcm.delay2 {
  transition-delay: 300ms;
}
.onloadcm.delay3 {
  transition-delay: 450ms;
}

.onloadcm0 {
  opacity: 0;
  transition: 1300ms cubic-bezier(0, 0, 0.2, 1);
  transition-delay: 0ms;
  filter: blur(13px);
  transform: scale(1.03);
}
.onloadcm0.onloadcm-active {
  opacity: 1;
  filter: blur(0);
  transform: scale(1);
}
.onloadcm0.delay1 {
  transition-delay: 1100ms;
}
.onloadcm0.delay2 {
  transition-delay: 1200ms;
}

.target-in,
.target-in2 {
  filter: brightness(0) invert(1);
}

#fv h1 {
  position: absolute;
  top: 50%;
  left: 50%;
  width: max(22.5520833333vw, 329.08px);
  transform: translate(-50%, -50%);
  z-index: 120;
}

#lead {
  margin-top: max(20.8333333333vw, 304px);
  margin-bottom: max(31.25vw, 456px);
  font-size: max(1.6666666667vw, 24.32px);
}
#lead .lead-container {
  display: flex;
  margin-bottom: max(10.4166666667vw, 152px);
}
#lead .lead-container.rev {
  flex-direction: row-reverse;
}
#lead .lead-container.rev .lead-img {
  margin-right: 0;
  margin-left: max(1.5625vw, 22.8px);
}
#lead .lead-container .lead-img {
  width: max(34.5833333333vw, 504.64px);
  margin-right: max(1.5625vw, 22.8px);
}
#lead .lead-container .lead-text {
  width: max(34.5833333333vw, 504.64px);
}

#product {
  margin-bottom: max(15.625vw, 228px);
}
#product .product-img {
  margin-bottom: max(1.5625vw, 22.8px);
}
#product .product-text__container {
  display: flex;
  line-height: 2;
}
#product .product-text__container .product-text__h2 {
  width: max(34.5833333333vw, 504.64px);
  margin-right: max(1.5625vw, 22.8px);
  font-size: max(1.6666666667vw, 24.32px);
}
#product .product-text__container .product-text__lead {
  width: max(34.5833333333vw, 504.64px);
}

#contact {
  margin-bottom: max(15.625vw, 228px);
}
#contact .contact-container {
  display: flex;
}
#contact .contact-container .contact-lead {
  width: max(34.5833333333vw, 504.64px);
  margin-right: max(1.5625vw, 22.8px);
}
#contact .contact-container .contact-lead h3 {
  font-size: max(1.6666666667vw, 24.32px);
}
#contact .contact-container .contact-lead p {
  line-height: 2;
}
#contact .contact-container .contact-form {
  width: max(34.5833333333vw, 504.64px);
}
#contact .contact-container .contact-form p {
  margin-bottom: 0;
  line-height: 2;
}
#contact .contact-container .contact-form .contact-form__rect {
  width: 100%;
  height: max(3.6458333333vw, 53.2px);
  border: 1px solid rgb(115, 105, 105);
  border-radius: max(0.5208333333vw, 7.6px);
  margin-bottom: max(2.6041666667vw, 38px);
}
#contact .contact-container .contact-form .contact-form__rect.lf {
  height: max(20.8333333333vw, 304px);
}
#contact .contact-container .contact-form .contact-form__cb {
  display: flex;
  align-items: center;
  margin-bottom: max(2.6041666667vw, 38px);
}
#contact .contact-container .contact-form .contact-form__cb .cb {
  width: max(1.6666666667vw, 24.32px);
  height: max(1.6666666667vw, 24.32px);
  margin-right: max(0.5208333333vw, 7.6px);
  border: 1px solid rgb(115, 105, 105);
}
#contact .contact-container .contact-form .contact-form__cb p {
  line-height: 1;
}
#contact .contact-container .contact-form button {
  margin-left: auto;
}

footer {
  background-color: rgb(115, 105, 105);
  height: max(34.5833333333vw, 504.64px);
  position: relative;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  color: rgb(255, 255, 255);
}
footer img {
  position: absolute;
  top: 50%;
  left: 50%;
  width: max(10.46875vw, 152.76px);
  transform: translate(-50%, -50%);
  z-index: 120;
}/*# sourceMappingURL=style.css.map */