@charset "utf-8";

/* 
● Gyst Variable
font-family: "gyst-variable", sans-serif;
【Regular】
font-variation-settings: "wght" 400;
【Medium】
font-variation-settings: "wght" 550;

● 游ゴシック
font-family: yu-gothic-pr6n, sans-serif;
font-weight: 400;
font-style: normal;

● Neue Haas Grotesk
font-family: "NHaasGroteskTXPro-55Rg";

● ヒラギノ明朝
font-family: "FP-ヒラギノ明朝 ProN W3","FP-HiraMinProN-W3";

*/
body {
  font-family: yu-gothic-pr6n, sans-serif;
  font-weight: 400;
  font-style: normal;
  color: #001F28;
}

body.fixed {
  height: 100%;
  overflow: hidden;
}

/* background-color */
.bg--navy {
  background-color: #001F28;
}

.bg--wh {
  background-color: #fff;
}

.bg--camel {
  background-color: #C6B488;
}

.text--wh {
  color: #fff;
}

/* inner */
.inner-1200 {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}

@media screen and (max-width: 1300px) {
  .inner-1200 {
    max-width: 100%;
    margin-left: 6.1%;
    margin-right: 6.1%;
  }
}

.inner-1075 {
  max-width: 1075px;
  margin-left: auto;
  margin-right: auto;
}

@media screen and (max-width: 1175px) {
  .inner-1075 {
    max-width: 100%;
    margin-left: 6.1%;
    margin-right: 6.1%;
  }
}

.inner-1020 {
  max-width: 1020px;
  margin-left: auto;
  margin-right: auto;
}

@media screen and (max-width: 1120px) {
  .inner-1020 {
    max-width: 100%;
    margin-left: 6.1%;
    margin-right: 6.1%;
  }
}

.inner-863 {
  max-width: 863px;
  margin-left: auto;
  margin-right: auto;
}

@media screen and (max-width: 963px) {
  .inner-863 {
    max-width: 100%;
    margin-left: 6.1%;
    margin-right: 6.1%;
  }
}

br.b-960,
br.b-750,
br.b-480 {
  display: none;
}

.img {
  width: 100%;
  height: auto;
}

.heading1.heading1--center {
  text-align: center;
}

.heading1--en {
  font-size: 103px;
  font-family: "gyst-variable", sans-serif;
  font-variation-settings: "wght"400;
}

.heading1--ja {
  font-size: 22px;
  font-family: "FP-ヒラギノ明朝 ProN W3", "FP-HiraMinProN-W3";
  padding-left: 5px;
}

.hover--opacity {
  transition: 0.3s;
}

.hover--opacity:hover {
  opacity: 0.7;
}



/*--------------------------------
  animation
--------------------------------*/
/* オープニングアニメーション */
.opening {
  position: fixed;
  width: 100%;
  height: auto;
  z-index: 20;
  background-color: #001F28;
}

.opening__bg {
  width: 100%;
  height: 100vh;
  object-fit: cover;
  background-color: #001F28;
}

.opening__logo {
  position: absolute;
  transform: translate(-50%, -50%);
  top: 48%;
  left: 50%;
  width: 21vw;
  height: auto;
  opacity: 0;
}

/* 画像 */
.mask__animation--img {
  display: block;
  mask-image: linear-gradient(90deg, rgba(0, 0, 0, 1) 30%, rgba(0, 0, 0, 0.4) 45%, rgba(0, 0, 0, 0) 55%, rgba(0, 0, 0, 0) 100%);
  -webkit-mask-image: linear-gradient(90deg, rgba(0, 0, 0, 1) 30%, rgba(0, 0, 0, 0.4) 45%, rgba(0, 0, 0, 0) 55%, rgba(0, 0, 0, 0) 100%);
  mask-size: 300% 100%;
  -webkit-mask-size: 300% 100%;
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-position: 130% 130%;
  -webkit-mask-position: 130% 130%;
}

.mask__animation--fv {
  animation: mask-animation 2s linear 2s forwards;
}

@keyframes mask-animation {
  0% {
    mask-position: 130% 130%;
    -webkit-mask-position: 130% 130%;
  }

  100% {
    mask-position: 0 0;
    -webkit-mask-position: 0 0;
  }
}

/* 文字 */
.fade__text {
  display: block;
  color: transparent;
  margin-bottom: 40px;
  background-clip: text;
  -webkit-background-clip: text;
  background-size: 300% 300%;
}

.fade__text.to__right {
  background-image: linear-gradient(to right, #fff 30%, rgba(255, 255, 255, 0) 60%);
  background-position: left 100% center;
  transform: translate(25px, 0);
  -webkit-animation: toRight 3.5s ease forwards;
  animation: toRight 3.5s ease forwards;
}

.fade__text.to__right.text--navy {
  background-image: linear-gradient(to right, #001F28 30%, rgba(255, 255, 255, 0) 60%);
}

@keyframes toRight {
  100% {
    transform: translate(0, 0);
    background-position: left 0% center;
  }
}

/* fv */
.img-wrap {
  animation: img-wrap 4s ease-in-out 2.5s forwards;
  clip-path: circle(0 at 50% 50%);
}

@keyframes img-wrap {
  0% {
    clip-path: circle(0 at 50% 50%);
    -webkit-clip-path: circle(0 at 50% 50%);
  }

  100% {
    clip-path: circle(100% at 50% 50%);
    -webkit-clip-path: circle(100% at 50% 50%);
  }
}



/* ぼかしフェードイン */
.blurIn {
  opacity: 0;
  filter: blur(15px);
  perspective: 1000;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transition: opacity 0.6s, filter 0.6s;
}
.blurIn.on {
  opacity: 1;
  filter: blur(0);
}

.blurInFv {
  opacity: 0;
  filter: blur(15px);
  perspective: 1000;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transition: opacity 1s, filter 1s;
}
.blurInFv.on {
  opacity: 1;
  filter: blur(0);
}



/*--------------------------------
  header
--------------------------------*/
header {
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 10;
  padding-top: 36px;

}
.header__logoWrapper {
  position: fixed;
  top: 36px;
  left: 0;
  width: 100%;
  mix-blend-mode: difference;
  z-index: 8;
}
.header__logo {
  width: 150px;
  display: block;
  opacity: 0;
  transition: 0.3s;
}
.header__logo.header__logo--display {
  opacity: 1;
}
.ham {
  pointer-events: auto;
  cursor: pointer;
  display: block;
  margin-left: auto;
  width: 50px;
  height: 50px;
  position: relative;
  z-index: 10;
}

.ham__img {
  position: absolute;
  width: 40px;
  height: auto;
  display: block;
  transition: 0.3s;
}

.ham__img:first-of-type {
  transform: translateX(-50%) rotate(184deg);
  top: 17px;
  left: 50%;
}

.ham__img:nth-of-type(2) {
  transform: translateX(-50%);
  left: 50%;
  top: 30px;
}

.ham.active .ham__img:first-of-type {
  transform: translate(-50%, -50%) rotate(201deg);
  top: 50%;
  left: 55%;
}

.ham.active .ham__img:nth-of-type(2) {
  position: absolute;
  transform: translate(-50%, -50%) rotate(-39deg);
  top: 50%;
  left: 50%;
}

.headerNav {
  display: none;
  width: 100%;
  height: 100vh;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 9;
  background-image: url(../imgs/bg_nav.jpg);
  background-size: cover;
}

.headerNav__wrapper {
  width: 62vw;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
}

.headerNav__list {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  gap: 35px 130px;
  height: 21svw;
}

.headerNav__listItem {
  font-family: "gyst-variable", sans-serif;
  font-variation-settings: "wght"400;
  font-size: 3.5vw;
  color: #fff;
  position: relative;
  display: block;
  overflow: hidden;

}

.headerNav__listItem--ig .headerNav__listLink {
  font-size: 18px;
  color: #fff;
  display: flex;
  align-items: center;
  padding: 10px 0;
}

.headerNav__igIcon {
  width: 24px;
  display: block;
  margin-right: 10px;
}

.headerNav__logo {
  width: 17.4vw;
  height: auto;
  margin-top: 5vw;
}

.headerNav__copy {
  color: #fff;
  position: absolute;
  transform: translateX(-50%);
  left: 50%;
  bottom: 48.3px;
  font-size: 8px;
}

/*--------------------------------
  fv
--------------------------------*/
.fv {
  position: relative;
  /* height: 62.1vw; */
  height: 100vh;
}

.fv__mainWrapper {
  width: 89vw;
  height: auto;
  position: absolute;
  transform: translate(-50%, -50%);
  top: 50%;
  left: 50%;
  z-index: 2;
}

.fv__main {
  width: 100%;
  height: auto;
}

.fv__logoWrapper {
  position: absolute;
  transform: translateX(-50%);
  top: 4.1vw;
  left: 50%;
  z-index: 3;
  width: 21vw;
}

.fv .inner-1200 {
  height: 100%;
  display: flex;
  flex-direction: column;
}

.fv__textWrapper {
  font-family: "gyst-variable", sans-serif;
  font-variation-settings: "wght"400;
  margin-top: auto;
  position: relative;
  z-index: 3;
  margin-bottom: 2.1vw;
}

.fv__text--img {
  width: 254px;
  height: auto;
  display: block;
  margin-bottom: 23.3px;
}

.fv__text {
  opacity: 0.3;
  font-size: 1.8vw;
}

.fv__text--small {
  opacity: 0.3;
  font-size: 1vw;
}

.fv__deco--1 {
  position: absolute;
  top: 4.5vw;
  left: 0;
  width: 13vw;
  height: auto;
  z-index: 3;
}

.fv__deco--2 {
  width: 30.7vw;
  height: auto;
  position: absolute;
  bottom: -21.5vw;
  right: 0;
  z-index: 1;
  pointer-events: none;
}

.fvScroll {
  width: fit-content;
  position: absolute;
  bottom: 0;
  right: 2.9vw;
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.fvScroll__text {
  color: #001F28;
  font-family: "NHaasGroteskTXPro-55Rg";
  font-size: 10px;
  letter-spacing: 0.02em;
  -ms-writing-mode: tb-rl;
  -webkit-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
  margin-bottom: 9px;
}

.fvScroll__line--bg {
  display: block;
  width: 1px;
  height: 72px;
  background-color: #D5CECE;
  position: relative;
}

.fvScroll__line {
  position: absolute;
  top: 0;
  left: 0;
  width: 1px;
  height: 0;
  background-color: #001F28;
}


/*--------------------------------
  product
--------------------------------*/
.product {
  padding-top: 20.6vw;
  padding-bottom: 41vw;
  position: relative;
}

.product__imgWrapper {
  position: relative;
  width: 87.7vw;
  margin-left: auto;
  margin-bottom: 14vw;
}

.product__img {
  width: 100%;
  height: auto;
}

.product__heading {
  font-family: "gyst-variable", sans-serif;
  font-variation-settings: "wght"400;
  font-size: 3.2vw;
  -ms-writing-mode: tb-rl;
  -webkit-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
  position: absolute;
  transform: translateX(-50%);
  left: 0;
  bottom: 3.7vw;
}

.product__circleWrapper {
  width: 9.8vw;
  height: 9.8vw;
  position: absolute;
  top: -4.8vw;
  right: 15.7vw;
  z-index: 2;
}

.product__title {
  font-family: "FP-ヒラギノ明朝 ProN W3", "FP-HiraMinProN-W3";
  font-size: 54px;
  line-height: 1.55;
  letter-spacing: -0.02em;
  margin-bottom: 6vw;
}

.product__text {
  font-family: "FP-ヒラギノ明朝 ProN W3", "FP-HiraMinProN-W3";
  font-size: 18px;
  line-height: 2.77;
}

.product__deco--1 {
  width: 50.9vw;
  position: absolute;
  right: 0;
  bottom: 18vw;
}

.product__deco--2 {
  width: 45.6vw;
  position: absolute;
  bottom: -8.8vw;
  left: 12.3vw;
  z-index: 2;
}

.product__line {
  position: absolute;
  width: 100%;
  bottom: -1px;
  left: 0;
  z-index: 1;
  pointer-events: none;
}


/*--------------------------------
  features
--------------------------------*/
.features {
  padding-top: 2vw;
  padding-bottom: 17.3vw;
}

.features .heading1 {
  margin-bottom: 4.5vw;
}

.featuresItem {
  position: relative;
}

.featuresItem:not(:last-of-type) {
  margin-bottom: 80px;
}

.featuresItem__img {
  width: 43.75vw;
  max-width: 560px;
  height: auto;
  display: block;
  margin-left: 20px;
}

.featuresItem__textWrapper {
  position: absolute;
  width: 100%;
  transform: translateY(-50%);
  top: 50%;
}

.featuresItem__textBox {
  width: 32vw;
  max-width: 334px;
  margin-left: auto;
}

.featuresItem__num {
  font-family: "gyst-variable", sans-serif;
  font-variation-settings: "wght"550;
  font-size: 60px;
  margin-bottom: 20px;
}

.featuresItem__title {
  font-family: "FP-ヒラギノ明朝 ProN W3", "FP-HiraMinProN-W3";
  font-size: clamp(25px, 2.8vw, 36px);
  margin-bottom: 20px;
}

.featuresItem__text {
  font-size: 15px;
  letter-spacing: -0.02em;
  line-height: 1.86;
}

.featuresItem:nth-of-type(2) .featuresItem__img {
  margin-left: auto;
  margin-right: 20px;
}

.featuresItem:nth-of-type(2) .featuresItem__textBox {
  margin-left: 0;
  width: 32vw;
  max-width: 361px;
}

.features__deco {
  display: block;
  margin-left: auto;
  margin-right: 3.1vw;
  width: 46.1vw;
  height: auto;
  pointer-events: none;
}


/*--------------------------------
  menu
--------------------------------*/
.menu {
  padding-top: 16vw;
  padding-bottom: 13vw;
  position: relative;
}

.menu__line {
  pointer-events: none;
  position: absolute;
  top: -1px;
  width: 100%;
  left: 0;
}

.menu .heading1 {
  margin-bottom: 10vw;
}

.menu .heading1 .heading1--en {
  font-size: 80px;
}

.menu__wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 110px 3%;
}

.menuItem {
  width: calc(97% / 2);
  position: relative;
}

.menuItem__imgWrapper {
  background-image: url(../imgs/bg_menu.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center 63%;
  margin-bottom: 15px;
}

.menuItem__img {
  display: block;
  margin-left: auto;
  margin-right: 91px;
  width: 57%;
  transition: transform 0.3s;
}

.menuItem__img:hover {
  transform: rotate(7.5deg);
}

.menuItem__name--en {
  position: absolute;
  top: 10px;
  left: 10%;
  -ms-writing-mode: tb-rl;
  -webkit-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
  font-family: "NHaasGroteskTXPro-55Rg";
  font-size: 16px;
  letter-spacing: 0.04em;
}

.menuItem__textWrapper {
  position: relative;
  width: 70%;
  margin-left: auto;
  margin-right: 13%;
}

.menuItem__name--ja {
  font-size: 34px;
  font-family: "FP-ヒラギノ明朝 ProN W3", "FP-HiraMinProN-W3";
  margin-bottom: 20px;
}

.menuItem__text {
  margin-bottom: 20px;
  font-size: 15px;
  line-height: 1.73;
}

.menuItem__price {
  text-align: right;
  font-family: "FP-ヒラギノ明朝 ProN W3", "FP-HiraMinProN-W3";
  font-size: 17px;
}


/*--------------------------------
  parallax
--------------------------------*/
.parallax {
  width: 100%;
  height: 40vw;
  overflow: hidden;
}

.parallax__img {
  width: 93%;
}

.parallax__img--sp {
  display: none;
}

/*--------------------------------
  scene
--------------------------------*/
.scene {
  padding-top: 16.4vw;
  padding-bottom: 42.1vw;
  position: relative;
}

.scene .heading1 {
  margin-bottom: 109px;
}

.scene .heading1 .heading1--en {
  font-size: 80px;
}

.scene__wrapper {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

.sceneItem {
  width: 30%;
  position: relative;
}

.sceneItem:nth-child(2) {
  margin-top: 110px;
}

.sceneItem:nth-child(3) {
  margin-top: 205px;
}

.sceneItem__icon {
  max-width: 100px;
  width: 7.8vw;
  position: absolute;
  top: -30px;
  left: -15px;
  z-index: 1;
}

.sceneItem__text {
  text-align: right;
  padding-bottom: 16.9px;
  font-family: "FP-ヒラギノ明朝 ProN W3", "FP-HiraMinProN-W3";
  font-size: 17px;
}

.sceneItem__imgWrapper {
  width: 85%;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  z-index: 2;
  overflow: hidden;
  border-radius: 4px;
}

.sceneItem__img {
  width: 100%;
  height: auto;
}

.sceneItem__deco {
  position: absolute;
  z-index: 3;
  height: auto;
}

.sceneItem__deco--1 {
  width: 130px;
  right: -25px;
  bottom: -100px;
}

.sceneItem__deco--2 {
  width: 125px;
  right: -27px;
  bottom: -92px;
}

.sceneItem__deco--3 {
  width: 166px;
  right: -10px;
  bottom: -110px;
}

.scene__deco--1 {
  mix-blend-mode: multiply;
  width: 30vw;
  height: auto;
  position: absolute;
  right: 0;
  top: 15vw;
}

.scene__deco--2 {
  mix-blend-mode: multiply;
  width: 39vw;
  height: auto;
  position: absolute;
  bottom: 0;
  left: 8vw;
}


/*--------------------------------
  follow
--------------------------------*/
.follow__item {
  display: block;
  width: 93.2vw;
  margin-top: -19.1vw;
  position: relative;
  z-index: 2;
  overflow: hidden;
  border-top-right-radius: 7px;
  border-bottom-right-radius: 7px;
}

.follow__item:hover .follow__bg {
  filter: blur(5px);
}

.follow__bg {
  transition: filter 1s;
  width: 100%;
}

.follow__contents {
  position: absolute;
  transform: translate(-50%, -50%);
  top: 54%;
  left: 50%;
  text-align: center;
  pointer-events: none;
}

.follow__heading {
  font-family: "gyst-variable", sans-serif;
  font-variation-settings: "wght"400;
  font-size: 60px;
  margin-bottom: 10px;
}

.follow__text {
  font-family: "FP-ヒラギノ明朝 ProN W3", "FP-HiraMinProN-W3";
  /* font-size: 22px; */
  font-size: 19px;
  letter-spacing: 0.04em;
}

.follow__ig {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 73px;
}

.follow__igIcon {
  margin-right: 13.5px;
}

.follow__igText {
  font-family: "NHaasGroteskTXPro-55Rg";
  /* font-size: 23px; */
  font-size: 19px;
  letter-spacing: 0.04em;
}

/*--------------------------------
  store
--------------------------------*/
.store {
  padding-top: 12.8vw;
  padding-bottom: 11vw;
}

.store .heading1::after {
  content: "";
  display: block;
  width: 44.5px;
  height: 0.8px;
  background-color: #001F28;
  margin-top: 30px;
  margin-bottom: 67.1px;
}

.store .heading1 .heading1--en {
  font-size: 80px;
}

.storeItem {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.storeItem__leftItemBox {
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
}
.storeItem__left {
  width: 50%;
}
.storeItem__leftItem {
  display: flex;
  align-items: flex-start;
}

.storeItem__leftItem:not(:last-of-type) {
  margin-bottom: 25px;
}

.storeItem__leftIcon {
  margin-right: 12px;
  margin-top: 3px;
}

.storeItem__leftText {
  font-size: 13px;
  line-height: 1.69;
}

.storeItem__right {
  text-align: center;
  width: 50%;
}

.storeItem__tel {
  background-color: #001F28;
  color: #fff;
  width: 219px;
  display: block;
  border-radius: 100px;
  padding: 12px 0;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 12px;
  font-family: "NHaasGroteskTXPro-55Rg";
  font-size: 14px;
  letter-spacing: 0.12em;
}

.storeItem__rightImg {
  max-width: 432px;
  width: 100%;
}
.storeItem__telIcon {
  margin-right: 13px;
}

.toTop {
  margin-bottom: 18.5px;
}

.toTop__link {
  display: block;
  margin-left: auto;
  width: fit-content;
  padding: 5px;
  cursor: pointer;
}

/*--------------------------------
  footer
--------------------------------*/
.footer__wrapper {
  display: flex;
  justify-content: space-between;
  padding-top: 9.1vw;
  padding-bottom: 8.5vw;
}

.footer__list {
  width: 472px;
  display: flex;
  flex-wrap: wrap;
}

.footer__listItem {
  font-size: 36px;
  font-family: "gyst-variable", sans-serif;
  font-variation-settings: "wght"400;
  width: 50%;
  margin-bottom: 24.5px;
  cursor: pointer;
}

.footer__listItem--ig {
  font-family: "NHaasGroteskTXPro-55Rg";
  font-size: 14px;
  display: flex;
  align-items: center;
}

.footer__igIcon {
  width: 19px;
  height: auto;
  margin-right: 8px;
}

.footer__logoLink {
  width: 223px;
  display: block;
  cursor: pointer;
  margin-right: -30px;
}

.footer__copy {
  font-family: "NHaasGroteskTXPro-55Rg";
  font-size: 8px;
  padding-bottom: 47.3px;
}
.footer__listLink {
  display: block;
  position: relative;
  overflow: hidden;
}
.text-wrap{
  position: relative;
  display: flex;
  align-items: center;
}
.after{
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
}
.before{
  display: flex;
  align-items: center;
}
.before span,
.after span{
  line-height: 1.1;
  transition: color .3s ease-out;/*ease-outで余裕のある動きに*/
}
.after span{
  transform: translateY(100%);/*予め下から出現するテキストを一文字分下に配置しておく*/
}


@media screen and (min-width: 750px) {
  .delay1 {
    transition-delay: 0.3s;
  }

  .delay2 {
    transition-delay: 1s;
  }
}


@media screen and (max-width: 1200px) {

  .sceneItem__icon {
    top: -2.3vw;
  }

  .sceneItem__deco--1 {
    width: 10.15vw;
    right: -1.9vw;
    bottom: -7.8vw;
  }

  .sceneItem__deco--2 {
    width: 9.7vw;
    right: -2.1vw;
    bottom: -7.18vw;
  }

  .sceneItem__deco--3 {
    width: 12.9vw;
    right: -0.7vw;
    bottom: -8.5vw;
  }

}

@media screen and (max-width: 960px) {
  br.b-960 {
    display: block;
  }

  br.n-960 {
    display: none;
  }

  .heading1--en {
    font-size: 8vw;
  }

  .headerNav__list {
    height: 26vw;
  }

  .featuresItem__num {
    font-size: 4.6vw;
  }

  .sceneItem__text {
    font-size: 14px;
  }

  .sceneItem:nth-child(2) {
    margin-top: 70px;
  }

  .sceneItem:nth-child(3) {
    margin-top: 150px;
  }

  .follow__text {
    font-size: 20px;
  }

  .follow__ig {
    margin-top: 50px;
  }
}

@media screen and (max-width: 750px) {
  br.b-750 {
    display: block;
  }

  br.n-750 {
    display: none;
  }

  .heading1--en {
    font-size: 16vw;
  }

  .heading1--ja {
    font-size: 4.2vw;
  }

  .opening__logo {
    width: 51.4vw;
  }

  .parallax {
    height: 62vw;
  }
  .parallax__img--sp {
    display: block;
  }
  .parallax__img {
    width: 95%;
  }

  .parallax__img--pc {
    display: none;
  }

  /*--------------------------------
    header
  --------------------------------*/
  header {
    padding-top: 17px;
  }

  .ham {
    width: 35px;
    height: 35px;
  }

  .ham__img {
    width: 25px;
  }

  .ham__img:first-of-type {
    top: 9px;
  }

  .ham__img:nth-of-type(2) {
    top: 19px;
  }

  .headerNav {
    background-image: url(../imgs/bg_nav_sp.jpg);
  }

  .headerNav__wrapper {
    width: 72vw;
    align-items: center;
  }

  .headerNav__list {
    display: block;
    height: fit-content;
  }

  .headerNav__listItem {
    font-size: 8vw;
  }

  .headerNav__listItem:not(:last-child) {
    margin-bottom: 15px;
  }

  .headerNav__logo {
    width: 31.4vw;
  }

  .headerNav__copy {
    display: none;
  }

  .headerNav__listItem--ig {
    margin-top: 47.6px;
  }

  .headerNav__listItem--ig .headerNav__listLink {
    font-size: 14px;
  }

  .headerNav__igIcon {
    width: 18px;
    margin-right: 8.5px;
  }
  .header__logoWrapper {
    top: 17px;
  }
  .header__logo {
    width: 112px;
  }

  /*--------------------------------
    fv
  --------------------------------*/
  .fv__mainWrapper {
    overflow-x: hidden;
    width: 100%;
    text-align: center;
    transform: translateX(-50%);
    top: 22.6vw;
  }
  .fv {
    height: 170vw;
  }
  .fv__logoWrapper {
    width: 51.4vw;
    top: 12.9vw;
  }
  .fv__deco--1 {
    width: 19.4vw;
    top: 11.7vw;
  }
  .fv__deco--2 {
    width: 65.8vw;
    top: 96.2vw;
  }
  .fv__textWrapper {
    margin-bottom: 3vw;
  }
  .fv__text--img {
    width: 46vw;
    margin-bottom: 14px;
  }
  .fv__text {
    font-size: 14px;
  }
  .fv__text--small {
    font-size: 11px;
  }
  .fvScroll {
    right: 5vw;
  }


  /*--------------------------------
    product
  --------------------------------*/
  .product {
    padding-top: 38.4vw;
    padding-bottom: 116vw;
  }
  .product__imgWrapper {
    width: 91.4vw;
    margin-bottom: 18vw;
  }
  .product__circleWrapper {
    width: 25.8vw;
    height: 25.8vw;
    top: -5vw;
    right: 52vw;
  }
  .product__heading {
    font-size: 5.6vw;
    bottom: 8.7vw;
  }
  .product__title {
    font-size: 32px;
    margin-bottom: 9vw;
  }
  .product__text {
    font-size: 15px;
    font-feature-settings: "palt";
    letter-spacing: 0.02em;
  }
  .product .inner-863 {
    margin-left: 13vw;
    margin-right: 13vw;
    position: relative;
    z-index: 2;
  }
  .product__deco--1 {
    width: 72.5vw;
    right: 0;
    bottom: 30vw;
  }
  .product__deco--2 {
    width: 64.2vw;
    left: 0;
    bottom: -40vw;
  }


  /*--------------------------------
    features
  --------------------------------*/

  .features {
    padding-bottom: 30vw;
  }

  .features__deco {
    width: 45vw;
    margin-right: 0;
    margin-bottom: 6vw;
    margin-top: 14vw;
  }

  .features .inner-1075 {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    overflow: hidden;
    padding-top: 63px;
  }

  .featuresItem {
    display: flex;
    flex-wrap: wrap;
    position: relative;
  }

  .featuresItem__num {
    position: absolute;
    top: -2vw;
    left: 6.1%;
    font-size: 13vw;
  }

  .featuresItem__img,
  .featuresItem:nth-of-type(2) .featuresItem__img {
    width: calc(100% + 20vw);
    margin: 0 -10vw;
    height: auto;
    margin-bottom: 23px;
    max-width: initial;
  }

  .featuresItem__textWrapper,
  .featuresItem:nth-of-type(2) .featuresItem__textBox {
    position: static;
    width: 100%;
    transform: none;
    max-width: initial;
  }

  .featuresItem__textBox,
  .featuresItem:nth-of-type(2) .featuresItem__textBox {
    width: 85%;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
  }

  .featuresItem__title {
    font-size: 28px;
    margin-bottom: 15px;
  }

  .featuresItem__text {
    font-size: 13px;
    letter-spacing: -0.02em;
  }

  /*--------------------------------
    menu
  --------------------------------*/
  .menu {
    padding-top: 27vw;
    padding-bottom: 31vw;
  }

  .menu .heading1 .heading1--en {
    font-size: 48px;
  }

  .menu__wrapper {
    display: block;
    margin-left: 0;
    margin-right: 0;
  }

  .menuItem {
    width: 100%;
  }

  .menuItem:not(:last-of-type) {
    margin-bottom: 106px;
  }

  .menuItem__name--en {
    left: 6.1%;
    font-size: 12px;
    top: 20px;
  }

  .menuItem__img {
    width: 59.7%;
    margin-left: 23.2vw;
  }

  .menuItem__textWrapper {
    width: 67.7vw;
    margin-left: auto;
    margin-right: auto;
  }

  .menuItem__name--ja {
    font-size: 26px;
    letter-spacing: 0.04em;
  }

  .menuItem__text {
    font-size: 13px;
    letter-spacing: -0.02em;
    margin-bottom: 11px;
  }

  .menuItem__price {
    font-size: 15px;
    letter-spacing: 0.04em;
  }




  /*--------------------------------
    scene 
  --------------------------------*/
  .scene {
    padding-top: 31vw;
    padding-bottom: 108.2vw;
  }

  .scene .heading1 .heading1--en {
    font-size: 48px;
  }

  .scene__deco--1,
  .scene__deco--2 {
    display: none;
  }

  .scene__wrapper {
    display: block;
  }

  .sceneItem {
    width: 100%;
  }

  .sceneItem:nth-child(2),
  .sceneItem:nth-child(3) {
    margin-top: initial;
  }

  .sceneItem:not(:last-of-type) {
    margin-bottom: 177px;
  }

  .sceneItem__icon {
    top: -8vw;
    width: 27vw;
    left: -3vw;
  }

  .sceneItem__text {
    font-size: 17px;
    text-align: left;
    padding-left: 30vw;
    padding-bottom: 25px;
  }

  .sceneItem__deco--1 {
    width: 127px;
    right: -3vw;
    bottom: -17vw;
  }

  .sceneItem__deco--2 {
    width: 120px;
    right: 27vw;
    bottom: -17vw;
  }

  .sceneItem__deco--3 {
    width: 158px;
    right: -6vw;
    bottom: -27vw;
  }

  /*--------------------------------
    follow
  --------------------------------*/
  .follow__item {
    margin-top: -51.2vw;
    width: 91.2vw;
  }

  .follow__contents {
    width: fit-content;
    top: 43%;
  }

  .follow__heading {
    font-size: 34px;
  }

  .follow__text {
    font-size: 13px;
    white-space: nowrap;
  }

  .follow__igIcon {
    width: 23px;
  }

  .follow__igText {
    font-size: 15px;
  }

  /*--------------------------------
    store
  --------------------------------*/
  .store {
    padding-top: 28vw;
    padding-bottom: 15vw;
    position: relative;
  }

  .store .heading1 {
    text-align: center;
  }
  .store .heading1--ja{
    padding-left: 0;
  }
  .store .heading1::after {
    margin-left: auto;
    margin-right: auto;
    margin-top: 13px;
    margin-bottom: 51px;
  }

  .store .heading1 .heading1--en {
    font-size: 34px;
  }

  .storeItem {
    display: block;
    width: 100%;
    padding-top: 80vw;
  }
  .storeItem__right {
    max-width: initial;
    position: absolute;
    top: 50vw;
    left: 0;
    width: 100%;
  }
  .storeItem__rightImg {
    max-width: initial;
  }
  .storeItem__left {
    width: 100%;
    margin-bottom: 40px;
  }

  .storeItem__tel {
    margin-bottom: 24px;
  }

  .toTop {
    margin-bottom: 14px;
  }

  .toTop__link {
    font-size: 11px;
  }


  /*--------------------------------
    footer
  --------------------------------*/
  footer {
    padding-top: 18.3vw;
  }

  .footer__wrapper {
    flex-wrap: wrap;
    padding-top: 0;
    padding-bottom: 0;
  }

  .footer__list {
    width: 100%;
    margin-bottom: 72px;
  }

  .footer__logoLink {
    order: -1;
    width: 50vw;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 58px;
  }

  .footer__list {
    width: 73.3vw;
    margin-left: auto;
  }

  .footer__listItem {
    font-size: 5.6vw;
  }

  .footer__listItem--ig {
    font-size: 3.2vw;
  }
  .footer__listItem--ig .footer__listLink {
    display: flex;
  }
  .footer__igIcon {
    width: 3.8vw;
  }

  .footer__copy {
    text-align: center;
    padding-bottom: 24px;
  }
}

@media screen and (max-width: 480px) {
  br.b-480 {
    display: block;
  }

  br.n-480 {
    display: none;
  }
  .storeItem__right{
    top: 55vw;
  }
}

@media screen and (max-width: 375px) {}