@charset "UTF-8";
footer .wrap-footer-info {
  width: 100%;
}
footer .wrap-footer-info .inner {
  position: absolute;
  bottom: 30rem;
  left: 30rem;
  z-index: 2;
}
footer .wrap-footer-info .inner .footer-sns a.facebook {
  background: url(../images/logo-facebook-white.svg) no-repeat center center;
  background-size: contain;
}
footer .wrap-footer-info .inner .footer-sns a.instagram {
  background: url(../images/logo-instagram-white.svg) no-repeat center center;
  background-size: contain;
}
footer .wrap-footer-info .inner .footer-sns a.line {
  background: url(../images/logo-line-white.svg) no-repeat center center;
  background-size: contain;
}
footer .wrap-footer-info div,
footer .wrap-footer-info p,
footer .wrap-footer-info a {
  color: #fff;
}

video {
  width: 100%;
}

section.area-hero {
  position: relative;
  height: calc(100vh - 60rem);
}
section.area-hero .copy {
  position: absolute;
  top: 120rem;
  left: 30rem;
  width: 190rem;
  z-index: 1;
  opacity: 0;
  -webkit-filter: blur(10px);
  filter: blur(10px);
  -webkit-transition: all 0.7s ease;
  transition: all 0.7s ease;
}
section.area-hero .copy.show {
  opacity: 1;
  -webkit-filter: blur(0);
  filter: blur(0);
}
section.area-hero .splide {
  height: 50%;
  clip-path: inset(0 100% 0 0);
  -webkit-transition: all 0.6s var(--ease-custom);
  transition: all 0.6s var(--ease-custom);
}
section.area-hero .splide.show {
  webkit-clip-path: inset(0);
  clip-path: inset(0);
}
section.area-hero .splide .splide__track,
section.area-hero .splide ul.splide__list {
  height: 100%;
}
section.area-hero .splide img {
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  background-position: center;
}

section.area-about {
  margin-top: 50rem;
}
section.area-about .inner {
  width: 84%;
  margin: 0 auto;
}
section.area-about .hstyle-primary {
  margin-left: 8%;
}
section.area-about h2 {
  font-size: 17rem;
  letter-spacing: 0.1em;
  margin-bottom: 20rem;
}
section.area-about p {
  text-align: justify;
}
section.area-about .ph {
  margin-top: 30rem;
  width: 100vw;
  margin-left: calc(50% - 50vw);
}
section.area-about .ph img {
  display: block;
  width: 92%;
  margin: 0 auto;
}

section.area-product {
  margin-top: 35rem;
}
section.area-product .hstyle-primary {
  margin-left: 8%;
}
section.area-product .hstyle-secondary {
  margin-bottom: 10rem;
}
section.area-product .product-top-image {
  width: 282rem;
  margin: 0 auto;
}
section.area-product .product-image-text {
  text-align: center;
  font-size: 13rem;
  margin-top: 20rem;
  letter-spacing: 0.01em;
  white-space: nowrap;
}
section.area-product .inner-s {
  width: 84%;
  margin: 0 auto;
}
section.area-product .inner-m {
  width: 92%;
  margin: 0 auto;
  margin-top: 40rem;
}
section.area-product .wrap-product-large {
  display: -ms-grid;
  display: grid;
  gap: 30rem;
}
section.area-product .inner-product-large {
  margin-top: 20rem;
}
section.area-product .item-product-child {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
section.area-product .item-product-child .product-name {
  font-family: var(--font-en-serif);
  font-size: 11rem;
  font-weight: 400;
  margin-top: 9rem;
  letter-spacing: 0.05em;
}
section.area-product .item-product-child .product-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20rem;
}
section.area-product .wrap-product-small {
  margin-top: 50rem;
}
section.area-product .box-product-small {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 16rem 1fr;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 16rem;
}
section.area-product .box-product-small .product-name {
  display: -ms-grid;
  display: grid;
  margin-bottom: 5rem;
}
section.area-product .box-product-small .product-name span.en {
  font-family: var(--font-en-serif);
  font-size: 14rem;
  font-weight: 400;
  letter-spacing: 0.05em;
}
section.area-product .box-product-small .product-name span.ja {
  font-size: 11rem;
}
section.area-product .box-product-small .item-product-small:nth-child(2n) {
  margin-top: 50rem;
}
section.area-product .box-product-small .product-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  margin-top: 10rem;
}

/**********************************************************************

 * Media Query For PC

 ***********************************************************************/
@media print, screen and (min-width: 768px) {
  footer .wrap-footer-info {
    margin-left: calc((100% - min(84%, max(819.2px, 80vw))) / 2);
    margin-bottom: 0;
  }
  footer .wrap-footer-info .inner {
    position: absolute;
    bottom: max(20.48px, 2vw);
    left: max(27.3066666667px, 2.67vw);
    z-index: 2;
  }
  footer .wrap-footer-bottom {
    width: max(764.5866666667px, 74.67vw);
  }
  section.area-hero {
    height: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-left: max(61.44px, 6vw);
  }
  section.area-hero .copy {
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    left: max(40.96px, 4vw);
    width: max(184.32px, 18vw);
  }
  section.area-hero .splide {
    height: auto;
    width: 50%;
    overflow: hidden;
  }
  section.area-hero .splide .splide__track,
  section.area-hero .splide ul.splide__list {
    height: 100%;
  }
  section.area-hero .splide img {
    position: relative;
    width: calc(100% + 2px);
    left: -1px;
  }
  section.area-about {
    width: 92%;
    max-width: 1200px;
    margin: clamp(68.2666666667px, 6.67vw, 100px) auto 0;
  }
  section.area-about .inner {
    max-width: 1120px;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
  }
  section.area-about .inner .desc {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
  section.area-about .hstyle-primary {
    margin-left: 0;
    margin-bottom: 0;
    -webkit-transform: translateY(50%);
            transform: translateY(50%);
  }
  section.area-about h2 {
    font-size: clamp(19.1146666667px, 1.87vw, 28px);
    letter-spacing: 0.1em;
    margin-bottom: clamp(13.6533333333px, 1.33vw, 20px);
  }
  section.area-about p {
    text-align: justify;
    line-height: 2.1;
  }
  section.area-about .link-arrow-primary {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    margin-top: clamp(6.8266666667px, 0.67vw, 10px);
    position: relative;
    bottom: clamp(-10.24px, -1vw, -15px);
  }
  section.area-about .ph {
    width: clamp(320.8533333333px, 31.33vw, 470px);
    margin-top: 0;
    margin-left: clamp(54.6133333333px, 5.33vw, 80px);
  }
  section.area-about .ph img {
    width: 100%;
    margin: 0;
  }
  section.area-product {
    width: 92%;
    max-width: 1200px;
    margin: clamp(75.0933333333px, 7.33vw, 110px) auto 0;
  }
  section.area-product .hstyle-primary {
    margin-left: 0;
    margin-bottom: 0;
    -webkit-transform: translateY(50%);
            transform: translateY(50%);
  }
  section.area-product .hstyle-secondary {
    margin-bottom: max(6.8266666667px, 0.67vw);
  }
  section.area-product .product-top-image {
    width: clamp(266.24px, 26vw, 390px);
  }
  section.area-product .product-image-text {
    letter-spacing: 0.1em;
    font-size: clamp(12.288px, 1.2vw, 18px);
    margin-top: clamp(13.6533333333px, 1.33vw, 20px);
  }
  section.area-product .inner-m {
    width: 100%;
    margin-top: clamp(47.7866666667px, 4.67vw, 70px);
  }
  section.area-product .inner-product-large {
    margin-top: 0;
  }
  section.area-product .box-product-large {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    -ms-grid-rows: auto clamp(34.1333333333px, 3.33vw, 50px) auto;
    grid-template-rows: auto auto;
    gap: clamp(34.1333333333px, 3.33vw, 50px);
  }
  section.area-product .box-product-large > *:nth-child(1) {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  section.area-product .box-product-large > *:nth-child(2) {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
  }
  section.area-product .wrap-product-large {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr clamp(13.6533333333px, 1.33vw, 20px) 1fr;
    grid-template-columns: repeat(2, 1fr);
    gap: clamp(13.6533333333px, 1.33vw, 20px);
  }
  section.area-product #p01-info {
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    grid-column: 1/2;
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    grid-row: 1/2;
  }
  section.area-product #p02-info {
    -ms-grid-column: 2;
    -ms-grid-column-span: 1;
    grid-column: 2/3;
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    grid-row: 1/2;
  }
  section.area-product .item-product-child .product-name {
    font-size: clamp(12.288px, 1.2vw, 18px);
    margin-top: clamp(6.144px, 0.6vw, 9px);
    letter-spacing: 0.05em;
  }
  section.area-product .item-product-child .product-btn {
    margin-right: clamp(68.2666666667px, 6.67vw, 100px);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 20rem;
  }
  section.area-product .splide {
    margin-top: 0;
  }
  section.area-product .wrap-product-small {
    margin-top: clamp(54.6133333333px, 5.33vw, 80px);
  }
  section.area-product .box-product-small {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: minmax(0, 1fr) clamp(27.3066666667px, 2.67vw, 40px) minmax(0, 1fr) clamp(27.3066666667px, 2.67vw, 40px) minmax(0, 1fr) clamp(27.3066666667px, 2.67vw, 40px) minmax(0, 1fr);
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0 clamp(27.3066666667px, 2.67vw, 40px);
    /* 最後の行が2個の場合：右側だけ上げる */
  }
  section.area-product .box-product-small:has(> :nth-last-child(2):nth-child(4n+1)) > :nth-last-child(2) {
    -ms-grid-column: 2;
        grid-column-start: 2;
    margin-top: clamp(58.0266666667px, 5.67vw, 85px);
  }
  section.area-product .box-product-small:has(> :nth-last-child(2):nth-child(4n+1)) > :last-child {
    margin-top: 0;
  }
  section.area-product .box-product-small .product-name {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: clamp(6.8266666667px, 0.67vw, 10px);
  }
  section.area-product .box-product-small .product-name span.en {
    font-size: clamp(13.6533333333px, 1.33vw, 20px);
  }
  section.area-product .box-product-small .product-name span.ja {
    font-size: clamp(10.9226666667px, 1.07vw, 16px);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-left: clamp(6.8266666667px, 0.67vw, 10px);
  }
  section.area-product .box-product-small .product-name span.ja::before {
    content: "";
    display: block;
    width: 1px;
    height: clamp(9.5573333333px, 0.93vw, 14px);
    margin-right: clamp(6.8266666667px, 0.67vw, 10px);
    background-color: var(--color-black);
  }
  section.area-product .box-product-small .item-product-small:nth-child(2n) {
    margin-top: clamp(58.0266666667px, 5.67vw, 85px);
  }
  section.area-product .box-product-small .item-product-small .product-image {
    overflow: hidden;
  }
  section.area-product .box-product-small .item-product-small .product-image a:hover img {
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }
  section.area-product .box-product-small .item-product-small .product-image a img {
    -webkit-transition: all 0.8s var(--ease-custom);
    transition: all 0.8s var(--ease-custom);
  }
  section.area-product .box-product-small .product-btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin: clamp(6.8266666667px, 0.67vw, 10px) auto 0;
    width: clamp(170.6666666667px, 16.67vw, 250px);
  }
}
@media screen and (min-width: 768px) and (max-width: 1660px) {
  section.area-about .link-arrow-primary {
    margin-top: clamp(13.6533333333px, 1.33vw, 20px);
  }
}
/*# sourceMappingURL=top.css.map */