@charset "UTF-8";
/*
 * メディアクエリ用ミックスイン
 *
 * $from: 指定した画面幅を超過した状態をブレークポイントに設定する
 * $until: 指定した画面幅以下の状態をブレークポイントに設定する
 */
@import url("https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@400;500;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Zen+Old+Mincho:wght@400;500;700&display=swap");
/*path*/
/*color*/
/*font-family*/
/*font-size*/
.product__itemText span:nth-of-type(1), .scrollNav__menuItem {
  font-size: clamp(1rem, 0.927rem + 0.364vw, 1.2rem);
}

.contact__text, .product__itemComing, .product__itemNew, .news__itemDate, .introduction__menuItem a span:nth-of-type(1), .slogan__conceptTitle {
  font-size: clamp(1.2rem, 1.127rem + 0.364vw, 1.4rem);
}

.wrapper {
  font-size: clamp(1.4rem, 1.327rem + 0.364vw, 1.6rem);
}

.contact__button a, .contact__title span:nth-of-type(2), .product__title span:nth-of-type(2), .news__title span:nth-of-type(2), .slogan__conceptText {
  font-size: clamp(1.6rem, 1.527rem + 0.364vw, 1.8rem);
}

.introduction__menuItem a span:nth-of-type(2) {
  font-size: clamp(2rem, 1.782rem + 1.091vw, 2.6rem);
}

.contact__title span:nth-of-type(1), .product__title span:nth-of-type(1), .news__title span:nth-of-type(1) {
  font-size: clamp(3.2rem, 3.055rem + 0.727vw, 3.6rem);
}

.slogan__text {
  font-size: clamp(2.2rem, 1.691rem + 2.55vw, 3.6rem);
}

/*arrow*/
.news__itemImg:before, .news__itemImg:after,
.news__itemImg span:before,
.news__itemImg span:after {
  content: "";
  position: absolute;
  background-color: #e7e7e7;
  pointer-events: none;
  z-index: 10;
  opacity: 1;
  will-change: width, height, opacity;
}
.news__itemImg:before {
  top: 0;
  left: 0;
  height: 1px;
  width: 0;
}
.news__itemImg:after {
  top: 0;
  right: 0;
  width: 1px;
  height: 0;
}
.news__itemImg span {
  position: relative;
  display: block;
}
.news__itemImg span:before {
  bottom: 0;
  right: 0;
  height: 1px;
  width: 0;
}
.news__itemImg span:after {
  bottom: 0;
  left: 0;
  width: 1px;
  height: 0;
}
.current.news__itemImg:before {
  width: 100%;
  opacity: 0;
  transition: width 0.7s ease 0.5s, opacity 0.6s ease 2.5s;
}
.current.news__itemImg:after {
  height: 100%;
  opacity: 0;
  transition: height 0.6s ease 0.7s, opacity 0.6s ease 2.5s;
}
.current.news__itemImg span:before {
  width: 100%;
  opacity: 0;
  transition: width 0.7s ease 1s, opacity 0.6s ease 2.5s;
}
.current.news__itemImg span:after {
  height: 100%;
  opacity: 0;
  transition: height 0.6s ease 1.2s, opacity 0.6s ease 2.5s;
}
.current.news__itemImg img {
  opacity: 1;
}
.current.news__itemImg:before {
  width: 100%;
  opacity: 0;
  transition: width 0.7s ease 0.5s, opacity 0.6s ease 2.5s;
}
.current.news__itemImg:after {
  height: 100%;
  opacity: 0;
  transition: height 0.6s ease 0.7s, opacity 0.6s ease 2.5s;
}
.current.news__itemImg span:before {
  width: 100%;
  opacity: 0;
  transition: width 0.7s ease 1s, opacity 0.6s ease 2.5s;
}
.current.news__itemImg span:after {
  height: 100%;
  opacity: 0;
  transition: height 0.6s ease 1.2s, opacity 0.6s ease 2.5s;
}

.product__item:before, .product__item:after,
.product__item span:before,
.product__item span:after {
  content: "";
  position: absolute;
  background-color: #FFFFFF;
  pointer-events: none;
  z-index: 10;
  opacity: 1;
  will-change: width, height, opacity;
}
.product__item:before {
  top: 0;
  left: 0;
  height: 2px;
  width: 0;
}
.product__item:after {
  top: 0;
  right: 0;
  width: 2px;
  height: 0;
}
.product__item span {
  position: relative;
  display: block;
}
.product__item span:before {
  bottom: 0;
  right: 0;
  height: 2px;
  width: 0;
}
.product__item span:after {
  bottom: 0;
  left: 0;
  width: 2px;
  height: 0;
}
.current.product__item:before {
  width: 100%;
  transition: width 0.7s ease 0.5s;
}
.current.product__item:after {
  height: 100%;
  transition: height 0.6s ease 0.7s;
}
.current.product__item span:before {
  width: 100%;
  transition: width 0.7s ease 1s;
}
.current.product__item span:after {
  height: 100%;
  transition: height 0.6s ease 1.2s;
}
.current.product__item:before {
  width: 100%;
  transition: width 0.7s ease 0.5s;
}
.current.product__item:after {
  height: 100%;
  transition: height 0.6s ease 0.7s;
}
.current.product__item span:before {
  width: 100%;
  transition: width 0.7s ease 1s;
}
.current.product__item span:after {
  height: 100%;
  transition: height 0.6s ease 1.2s;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
html {
  font-size: 62.5%; /* 10px */
  overflow-y: scroll;
}

.wrapper {
  width: 100%;
  margin: 0 auto;
  font-family: "Zen Kaku Gothic New", "Yu Gothic", "Hiragino Kaku Gothic ProN", sans-serif;
  list-style: none;
  font-weight: 400;
  font-style: normal;
  letter-spacing: 0.1em;
  line-height: 1.8;
  font-feature-settings: "palt";
  -webkit-font-feature-settings: "palt";
  position: relative;
  word-break: break-all;
}
.wrapper a {
  text-decoration: none;
  transition: opacity 0.3s;
}
.wrapper a:hover {
  opacity: 0.6;
}
@media screen and (max-width: 768px) {
  .wrapper a:hover {
    opacity: 1;
  }
}
.wrapper img {
  width: 100%;
  height: auto;
}
.wrapper::selection {
  background-color: #ceb77d;
  color: #000000;
}

/*
Copyright (c) 2010, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.com/yui/license.html
version: 2.8.1
*/
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, button, textarea, p, blockquote, th, td, section, figure {
  margin: 0;
  padding: 0;
}

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

fieldset, img {
  border: 0;
}

address, caption, cite, code, dfn, em, strong, th, var, optgroup {
  font-style: inherit;
  font-weight: inherit;
}

del, ins {
  text-decoration: none;
}

li {
  list-style: none;
}

caption, th {
  text-align: left;
}

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal;
}

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

abbr, acronym {
  border: 0;
  font-variant: normal;
}

sup {
  vertical-align: baseline;
}

sub {
  vertical-align: baseline;
}

legend {
  color: #000;
}

input, button, textarea, select, optgroup, option {
  font-family: inherit;
  font-size: inherit;
  font-style: inherit;
  font-weight: inherit;
}

input, button, textarea, select {
  *font-size: 100%;
}

article,
aside,
footer,
header,
nav,
section,
main {
  display: block;
}

* {
  box-sizing: border-box;
}

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

body.no-scroll {
  overflow: hidden;
  height: 100vh;
}

.blur {
  position: relative;
}
.blur::after {
  content: "";
  width: 100%;
  height: 0;
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  z-index: 10;
  transition: 1s;
  background: linear-gradient(to top, white 0%, transparent 100%);
}
.blur.current::after {
  height: 100vh;
  top: -100vh;
}

.slogan {
  top: 20%;
  left: 10%;
  position: fixed;
  z-index: 11;
  transition: 0.5s;
}
@media (max-width: 767.98px) {
  .slogan {
    top: 25%;
    left: 5%;
  }
}
@media (orientation: landscape) and (max-height: 550px) {
  .slogan {
    top: 5%;
  }
}
.slogan.current {
  position: fixed;
}
.slogan.hide {
  left: 8.5%;
  opacity: 0;
  pointer-events: none;
}
.slogan__text {
  position: relative;
  left: 1%;
  font-family: "Zen Old Mincho", "Yu Mincho", "Hiragino Mincho ProN", serif;
  opacity: 0;
  transition: 2s;
  filter: blur(10px);
  color: #584226;
}
.slogan__text.current {
  opacity: 1;
  filter: blur(0);
}
.slogan__text.black {
  color: #000000;
}
@media (orientation: landscape) and (max-height: 550px) {
  .slogan__text {
    font-size: 4vw;
  }
}
.slogan__concept {
  margin-top: 40px;
  margin-left: 10px;
  opacity: 0;
  transition: 0.5s;
}
.slogan__concept.current {
  opacity: 1;
}
@media (max-width: 767.98px) {
  .slogan__concept {
    margin-top: 30px;
  }
}
.slogan__conceptTitle {
  margin-bottom: 10px;
  color: #ceb77d;
  font-weight: 700;
}
.slogan__conceptText {
  font-family: "Zen Old Mincho", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-weight: 500;
  line-height: 2.3;
  text-shadow: 1px 1px 5px white;
}
.slogan__conceptText span {
  display: block;
  opacity: 0;
  transition: 1.5s;
}
.slogan__conceptText.current span {
  opacity: 1;
}
.slogan__conceptText.current span:nth-of-type(1) {
  transition-delay: 1s;
}
.slogan__conceptText.current span:nth-of-type(2) {
  transition-delay: 1.8s;
}
.slogan__conceptText.current span:nth-of-type(3) {
  transition-delay: 2.6s;
}
.slogan__conceptText.current span:nth-of-type(4) {
  transition-delay: 3.4s;
}
.slogan__conceptText.current span:nth-of-type(5) {
  transition-delay: 4.2s;
}
.slogan__conceptText.current span:nth-of-type(6) {
  transition-delay: 5s;
}
.slogan__conceptText.current span:nth-of-type(7) {
  transition-delay: 5.8s;
}

.productLink {
  position: fixed;
  right: 0;
  bottom: 5%;
  z-index: 12;
  transition: 1s;
  opacity: 0;
}
.productLink.current {
  opacity: 1;
  right: 3%;
}
.productLink.hide {
  opacity: 0;
}
.productLink .productLink__button a {
  width: 80px;
  height: 165px;
  background-image: url("../images/top/img_productLink_01.png");
  background-size: contain;
  background-position: center top;
  background-repeat: no-repeat;
  background-size: contain;
  text-indent: -9999px;
  display: block;
  white-space: nowrap;
  overflow: hidden;
  font-size: 0;
  line-height: 0;
  transition: 0.5s;
}
@media (max-width: 767.98px) {
  .productLink .productLink__button a a {
    width: 60px;
    height: 124px;
  }
}
.productLink .productLink__button.black a {
  background-image: url("../images/top/img_productLink_02.png");
  background-size: contain;
  background-position: center top;
  background-repeat: no-repeat;
}

.mainVisual {
  background-image: url("../images/top/bg_mainVisual.jpg");
  background-size: contain;
  background-position: center top;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}
@media (max-width: 767.98px) {
  .mainVisual {
    background-size: auto 200%;
    background-position: center 40%;
  }
}
@media (max-width: 600.98px) {
  .mainVisual {
    background-size: auto 180%;
    background-position: center 50%;
  }
}
@media (orientation: landscape) and (max-height: 450px) {
  .mainVisual {
    background-size: auto 100vw;
  }
}
.mainVisual__inner {
  width: 100%;
  height: 100vh;
  height: 100dvh;
  position: relative;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
}
.mainVisual__logo {
  width: 40%;
  max-width: 600px;
  padding-top: 5.6%;
  background-image: url("../images/top/logo.png");
  background-size: contain;
  background-position: center top;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  text-indent: -9999px;
  display: block;
  white-space: nowrap;
  overflow: hidden;
  font-size: 0;
  line-height: 0;
  z-index: 1;
}
@media (max-width: 992.98px) {
  .mainVisual__logo {
    width: 60%;
    padding-top: 8.4%;
  }
}
@media (max-width: 767.98px) {
  .mainVisual__logo {
    width: 70%;
    padding-top: 9.8%;
  }
}
.mainVisual__video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
@media (max-width: 767.98px) {
  .mainVisual__video {
    display: none;
  }
}

.scrollNav {
  display: inline-block;
  position: fixed;
  left: -3%;
  bottom: 3%;
  z-index: 13;
  opacity: 0;
  transition: 1s;
}
@media (max-width: 767.98px) {
  .scrollNav {
    display: none;
  }
}
.scrollNav__menuItem {
  margin-top: 5px;
  display: flex;
  align-items: center;
  gap: 10px;
  letter-spacing: 0.15em;
  transition: 1s;
  margin-left: -500px;
}
.scrollNav__menuItem:hover {
  transition: 0;
}
.scrollNav__menuItem:hover::before {
  width: 20px;
}
.scrollNav__menuItem:hover a {
  opacity: 1;
}
.scrollNav__menuItem::before {
  content: "";
  width: 10px;
  height: 1px;
  background-color: #FFFFFF;
  opacity: 0.5;
  transition: 0.3s;
}
.scrollNav__menuItem a {
  color: #FFFFFF;
  opacity: 0.3;
  transition: 0.3s;
}
.scrollNav__menuItem.current::before {
  width: 20px;
}
.scrollNav__menuItem.current a {
  opacity: 1;
}
.scrollNav.current {
  opacity: 1;
  left: 3%;
}
.scrollNav.current .scrollNav__menuItem {
  margin-left: 0;
}
.scrollNav.current .scrollNav__menuItem--01 {
  transition-delay: 0.2s;
}
.scrollNav.current .scrollNav__menuItem--02 {
  transition-delay: 0.4s;
}
.scrollNav.current .scrollNav__menuItem--03 {
  transition-delay: 0.6s;
}
.scrollNav.current .scrollNav__menuItem--04 {
  transition-delay: 0.8s;
}
.scrollNav.current .scrollNav__menuItem--05 {
  transition-delay: 1s;
}
.scrollNav.black li::before {
  background-color: #000000;
}
.scrollNav.black li a {
  color: #000000;
}

.introduction::before, .introduction::after {
  content: "";
  width: 0;
  height: 100vh;
  background: #FFFFFF;
  position: fixed;
  top: 0;
  transition: 1s;
  z-index: 5;
}
.introduction::after {
  left: 0;
}
.introduction::before {
  right: 0;
}
.introduction.small::before, .introduction.small::after {
  width: 5%;
}
.introduction__inner {
  width: 100%;
  height: 600vh;
  height: 600dvh;
  background-color: #000000;
  position: relative;
  overflow: hidden;
  transition: 1.5s;
  opacity: 0;
}
.introduction__inner::after {
  content: "";
  width: 100%;
  height: 100vh;
  height: 100dvh;
  background-image: url("../images/top/bg_introduction.jpg");
  background-size: contain;
  background-position: center top;
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  top: 0;
  z-index: 0;
  transition: 1.5s;
}
.introduction__inner.current {
  opacity: 1;
}
.introduction__inner.current::after {
  position: fixed;
}
.introduction__inner.dark::after {
  opacity: 0.3;
}
.introduction__menu {
  z-index: 8;
  display: block;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, 150%);
  transition: 0.5s;
}
.introduction__menu.current {
  top: 30%;
  opacity: 1;
}
@media (max-width: 799.98px) {
  .introduction__menu.current {
    top: 50%;
    transform: translate(-50%, -50%);
  }
}
.introduction__menuList {
  gap: 50px;
  display: flex;
}
@media (max-width: 799.98px) {
  .introduction__menuList {
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 20px;
  }
}
.introduction__menuItem {
  margin: 0 auto;
  position: relative;
  transition: 1.5s;
  opacity: 0;
  white-space: nowrap;
  filter: blur(10px);
}
@media (max-width: 799.98px) {
  .introduction__menuItem {
    text-align: center;
  }
}
.introduction__menuItem:nth-of-type(2) {
  top: 100px;
}
.introduction__menuItem:nth-of-type(3) {
  top: 200px;
}
.introduction__menuItem.current {
  filter: blur(0);
  opacity: 1;
}
.introduction__menuItem.current:nth-of-type(1) {
  top: 0;
  transition-delay: 0.5s;
}
.introduction__menuItem.current:nth-of-type(1) a::after {
  transform: scale(1, 1);
  transform-origin: left top;
  transition-delay: 1s;
}
.introduction__menuItem.current:nth-of-type(2) {
  top: 0;
  transition-delay: 1s;
}
.introduction__menuItem.current:nth-of-type(2) a::after {
  transform: scale(1, 1);
  transform-origin: left top;
  transition-delay: 1.5s;
}
.introduction__menuItem.current:nth-of-type(3) {
  top: 0;
  transition-delay: 1.5s;
}
.introduction__menuItem.current:nth-of-type(3) a::after {
  transform: scale(1, 1);
  transform-origin: left top;
  transition-delay: 2s;
}
.introduction__menuItem a {
  color: #FFFFFF;
  display: inline-block;
  margin-bottom: 40px;
  text-decoration: none;
  position: relative;
}
.introduction__menuItem a:last-child a {
  margin-bottom: 0;
}
.introduction__menuItem a::after {
  position: absolute;
  left: 0;
  content: "";
  width: 100%;
  height: 1px;
  background: #ceb77d;
  bottom: -0.5em;
  transform: scale(0, 1);
  transform-origin: right top;
  transition: transform 1s;
}
.introduction__menuItem a span {
  display: block;
  line-height: 1;
}
.introduction__menuItem a span:nth-of-type(1) {
  margin-bottom: 10px;
  color: #c7c7c7;
}
.news {
  background: #FFFFFF;
  position: relative;
  z-index: 12;
}
.news video {
  position: absolute;
  width: 50%;
  height: 50%;
  object-fit: cover; /* アスペクト比を維持 */
  z-index: -1; /* コンテンツの下に配置 */
  pointer-events: none;
}
.news video.news__videoTop {
  top: 0;
  right: 0;
  opacity: 0.7;
}
.news video.news__videoBottom {
  left: 0;
  bottom: 0;
  transform: rotate(-180deg);
  opacity: 0.7;
}
.news__inner {
  width: 100%;
  margin: 0 auto;
  padding: 100px 30px;
}
@media (max-width: 767.98px) {
  .news__inner {
    padding: 80px 20px;
  }
}
.news__title {
  margin: 0 auto 80px;
  text-align: center;
  line-height: 1.5;
}
@media (max-width: 767.98px) {
  .news__title {
    margin: 0 auto 60px;
  }
}
.news__title span {
  display: block;
}
.news__title span:nth-of-type(2) {
  color: #ceb77d;
  letter-spacing: 0.3em;
}
.news__list {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 80px;
}
@media (max-width: 767.98px) {
  .news__list {
    gap: 60px;
  }
}
.news__item {
  width: 90%;
  max-width: 1000px;
  display: flex;
  gap: 60px;
}
@media (max-width: 767.98px) {
  .news__item {
    flex-direction: column;
    gap: 10px;
  }
}
.news__itemLink {
  width: 50%;
  opacity: 0;
  display: flex;
  align-items: center;
}
@media (max-width: 767.98px) {
  .news__itemLink {
    width: 100%;
  }
}
.news__itemLink a {
  width: 100%;
  color: #000000;
}
.news__itemLink a:hover {
  opacity: 1;
}
.news__itemLink a:hover .news__itemText::before {
  transform: scale(1, 1);
}
.news__itemLink.current {
  opacity: 1;
  transition: 1.5s;
  transition-delay: 2s;
}
.news__itemImg {
  width: 50%;
  position: relative;
  display: flex;
}
@media (max-width: 767.98px) {
  .news__itemImg {
    width: 100%;
  }
}
.news__itemImg img {
  display: block;
  width: 100%;
  height: auto;
  opacity: 0;
  transition: opacity 1s ease 1.5s;
}
.news__itemImg.current img {
  opacity: 1;
}
.news__itemDetail {
  width: 100%;
  flex: 1;
}
.news__itemText {
  margin: 10px 0 15px;
  padding: 0 0 10px;
  display: inline-block;
  position: relative;
  text-align: justify;
  line-height: 1.6;
  display: flex;
  flex-grow: 1;
}
@media (max-width: 767.98px) {
  .news__itemText {
    width: 100%;
    margin: 5px 0 0;
    padding: 0 0 10px;
  }
}
.news__itemText::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -7px;
  width: 100%;
  height: 1px;
  background: #ceb77d;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: transform 1s;
}
.news__itemText::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -7px;
  width: 100%;
  height: 1px;
  background: #ceb77d;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: transform 1s;
  transition-delay: 3s;
  opacity: 0.3;
}
.news__itemText.current::after {
  transform: scale(1, 1);
}
.news__itemDate {
  color: #ceb77d;
}
.news__button {
  width: 100%;
  padding: 100px 0;
  text-align: center;
}
@media (max-width: 767.98px) {
  .news__button {
    padding: 80px 0 0;
  }
}
.news__button a {
  color: #918080;
  text-decoration: none;
  display: inline;
  position: relative;
}
.news__button a::after {
  content: "";
  width: 20px;
  height: 20px;
  background-image: url("../images/common/arrow_button.png");
  background-size: contain;
  background-position: center top;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
  display: block;
  position: absolute;
  top: 0.1em;
  right: -2em;
}
.news__button a span {
  position: relative;
  top: -0.05em;
}

.product {
  background: #f7f4ed;
  position: relative;
  z-index: 12;
}
.product__inner {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 100px 20px;
}
@media (max-width: 767.98px) {
  .product__inner {
    padding: 80px 20px;
  }
}
.product__title {
  margin: 0 auto 80px;
  text-align: center;
  line-height: 1.5;
}
@media (max-width: 767.98px) {
  .product__title {
    margin: 0 auto 40px;
  }
}
.product__title span {
  display: block;
}
.product__title span:nth-of-type(2) {
  color: #ceb77d;
  letter-spacing: 0.3em;
}
.product__list {
  display: flex;
  justify-content: center;
  align-items: stretch;
}
@media (max-width: 767.98px) {
  .product__list {
    flex-direction: column;
    align-items: center;
  }
}
.product__item {
  width: 33.33%;
  margin-left: -2px;
  position: relative;
  position: relative;
}
@media (max-width: 767.98px) {
  .product__item {
    width: 80%;
    margin-left: 0;
    margin-top: -2px;
  }
}
.product__item:hover video {
  opacity: 1;
  transition: 0.5s;
}
.product__item video {
  position: absolute;
  top: 0;
  left: 0;
  width: calc(100% - 2px);
  height: 100%;
  object-fit: cover; /* アスペクト比を維持 */
  z-index: -1; /* コンテンツの下に配置 */
  pointer-events: none;
  opacity: 0;
}
.product__item span {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
}
.product__item--coming span {
  -webkit-user-select: none;
  user-select: none;
}
.product__item--coming video {
  display: none;
}
.product__itemNew {
  width: 80px;
  height: 80px;
  position: absolute;
  top: 25px;
  left: 25px;
  background: transparent;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #ff8f82;
  border: #ff8f82 1px solid;
  pointer-events: none;
  transform-origin: center center;
  opacity: 0;
}
.product__itemNew.current {
  transition: 1s;
  transition-delay: 2s;
  opacity: 1;
}
@media (max-width: 767.98px) {
  .product__itemNew {
    width: 60px;
    height: 60px;
    top: 15px;
    left: 15px;
  }
}
.product__itemComing {
  width: 100%;
  position: absolute;
  top: 40%;
  color: #ceb77d;
  text-align: center;
  opacity: 0;
}
.product__itemComing.current {
  transition: 1s;
  transition-delay: 1s;
  opacity: 1;
}
.product__itemImg {
  width: 60%;
  opacity: 0;
}
@media (max-width: 767.98px) {
  .product__itemImg {
    width: 50%;
  }
}
.product__itemImg.current {
  opacity: 1;
  transition: 0.5s;
  transition-delay: 0.5s;
}
.product__itemImg a:hover {
  opacity: 1;
}
.product__itemText {
  margin: 0 0 30px;
  display: inline-block;
  position: relative;
  top: -25px;
  line-height: 1.4;
  text-align: center;
  opacity: 0;
}
.product__itemText span {
  display: block;
}
.product__itemText span::before, .product__itemText span::after {
  display: none;
}
.product__itemText span:nth-of-type(1) {
  margin-bottom: 5px;
  color: #ceb77d;
}
.product__itemText.current {
  opacity: 1;
  transition: 0.5s;
  transition-delay: 0.5s;
}
.product__button {
  width: 100%;
  padding: 80px 0 20px;
  text-align: center;
}
@media (max-width: 767.98px) {
  .product__button {
    padding: 60px 0 0;
  }
}
.product__button a {
  color: #918080;
  text-decoration: none;
  display: inline;
  position: relative;
}
.product__button a::after {
  content: "";
  width: 20px;
  height: 20px;
  background-image: url("../images/common/arrow_button.png");
  background-size: contain;
  background-position: center top;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
  display: block;
  position: absolute;
  top: 0.1em;
  right: -2em;
}
.product__button a span {
  position: relative;
  top: -0.05em;
}

.contact {
  background-image: url("../images/top/bg_contact.jpg");
  background-size: contain;
  background-position: center top;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center top;
  position: relative;
  z-index: 12;
}
.contact__inner {
  width: 30%;
  padding: 200px 40px 100px;
}
@media (max-width: 1199.98px) {
  .contact__inner {
    width: 100%;
    padding: 100px 20px 100px;
  }
}
.contact__title {
  margin: 0 auto 20px;
  text-align: center;
  line-height: 1.5;
  color: #FFFFFF;
}
@media (max-width: 767.98px) {
  .contact__title {
    margin: 0 auto 60px;
  }
}
.contact__title span {
  display: block;
}
.contact__title span:nth-of-type(2) {
  letter-spacing: 0.3em;
}
.contact__text {
  text-align: center;
  color: #FFFFFF;
}
.contact__button {
  margin: 20px auto 0;
  text-align: center;
}
.contact__button a {
  display: inline-block;
  position: relative;
  color: #FFFFFF;
}
.contact__button a::after {
  content: "";
  width: 100%;
  height: 1px;
  background: #FFFFFF;
  position: absolute;
  left: 0;
  bottom: -5px;
  transition: 0.5s;
}
.contact__button a:hover {
  opacity: 0.8;
}
.contact__button a:hover::after {
  width: 0;
}

/* スプラッシュ画面 */
#splash {
  position: fixed;
  z-index: 99;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #FFFFFF;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 1s ease;
}

.splash__logo {
  width: 40%;
  max-width: 600px;
  padding-top: 5.6%;
  background-image: url("../images/top/logo.png");
  background-size: contain;
  background-position: center top;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  text-indent: -9999px;
  display: block;
  white-space: nowrap;
  overflow: hidden;
  font-size: 0;
  line-height: 0;
  animation: fadeInZoom 1.5s ease-out forwards;
}
@media (max-width: 992.98px) {
  .splash__logo {
    width: 60%;
    padding-top: 8.4%;
  }
}
@media (max-width: 767.98px) {
  .splash__logo {
    width: 70%;
    padding-top: 9.8%;
  }
}

@keyframes fadeInZoom {
  0% {
    opacity: 0;
    filter: blur(50px);
  }
  100% {
    opacity: 1;
    filter: blur(0);
  }
}/*# sourceMappingURL=top.css.map */