@charset "UTF-8";
/* Margin Calc Set
===============================*/
@keyframes is-open-pc {
  0% {
    transform: translateY(-10px);
    opacity: 0;
  }
  50% {
    transform: translateY(7px);
  }
  100% {
    opacity: 1;
  }
}
/* Base Style
===============================*/
html {
  font-size: 62.5%;
}
@media screen and (max-width: 1535px) {
  html {
    font-size: 50%;
  }
}
@media screen and (max-width: 1326px) {
  html {
    font-size: 44%;
  }
}
@media screen and (max-width: 800px) {
  html {
    font-size: 62.5%;
  }
}

body {
  width: 100%;
  font-family: "Noto Sans JP", sans-serif;
  background-color: #ffffff;
  -webkit-font-smoothing: antialiased;
}

img {
  height: auto;
}

a:hover {
  cursor: pointer;
}

/* Visible Style
===============================*/
@media screen and (max-width: 800px) {
  .pc {
    display: none;
  }
}

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

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

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

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

.sp-360 {
  display: none;
}
@media screen and (max-width: 365px) {
  .sp-360 {
    display: block;
  }
}

#footer-link-sp {
  display: none;
}
@media screen and (max-width: 600px) {
  #footer-link-sp {
    display: flex;
  }
}

@media screen and (max-width: 600px) {
  #footer-link-pc {
    display: none;
  }
}

.nav-sp {
  display: none;
}
@media screen and (max-width: 1110px) {
  .nav-sp {
    display: block;
  }
}

@media screen and (max-width: 1110px) {
  .nav-pc {
    display: none;
  }
}

/* Header Section 
===============================*/
.header-body {
  position: fixed;
  width: 100%;
  border-radius: 0 0 100px 100px;
  background-color: #ffffff;
  box-shadow: 0px 2px 1px rgba(96, 53, 44, 0.05);
  z-index: 20000;
  transition: 0.15s;
}
@media screen and (max-width: 800px) {
  .header-body {
    border-radius: 0 0 40px 40px;
  }
}
.header-body div.header-wide {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 66%;
  margin: 0 auto;
  padding-top: 22px;
  padding-bottom: 22px;
  z-index: 19000;
}
@media screen and (max-width: 1535px) {
  .header-body div.header-wide {
    padding-top: 15px;
    padding-bottom: 15px;
  }
}
@media screen and (max-width: 600px) {
  .header-body div.header-wide {
    padding-top: 16px;
    padding-bottom: 16px;
    width: 82%;
  }
}
@media screen and (max-width: 1535px) {
  .header-body div.header-wide .header-logo {
    width: 134px;
  }
  .header-body div.header-wide .header-logo img {
    width: 100%;
  }
}
@media screen and (max-width: 1110px) {
  .header-body div.header-wide .header-logo {
    width: 114px;
  }
}
@media screen and (max-width: 600px) {
  .header-body div.header-wide .header-logo {
    width: 90px;
  }
}
.header-body div.header-wide .nav-list-main {
  display: flex;
  justify-content: space-between;
  width: 62%;
}
@media screen and (max-width: 1110px) {
  .header-body div.header-wide .nav-list-main {
    width: 49%;
  }
}
.header-body div.header-wide .nav-list-main li {
  font-size: 1.7rem;
  font-weight: 900;
  color: #3b201b;
}
@media screen and (max-width: 800px) {
  .header-body div.header-wide .nav-list-main li {
    font-size: 1rem;
  }
}
.header-body div.header-wide .nav-button div {
  width: 25px;
  height: 3px;
  border-radius: 3px;
}
@media screen and (max-width: 1110px) {
  .header-body div.header-wide .nav-button div {
    width: 19px;
  }
}
.header-body div.header-wide .nav-button div:hover {
  cursor: pointer;
}
.header-body div.header-wide .nav-button div:first-child {
  background-color: #008132;
  margin-bottom: 7.5px;
  transition: 0.3s;
}
@media screen and (max-width: 1110px) {
  .header-body div.header-wide .nav-button div:first-child {
    margin-bottom: 5px;
  }
}
.header-body div.header-wide .nav-button div:nth-child(2) {
  background-color: #c8000f;
  margin-bottom: 7.5px;
  transition: 0.2s;
}
@media screen and (max-width: 1110px) {
  .header-body div.header-wide .nav-button div:nth-child(2) {
    margin-bottom: 5px;
  }
}
.header-body div.header-wide .nav-button div:nth-child(3) {
  background-color: #ffc400;
  transition: 0.2s;
}
.header-body div.header-wide .nav-active:first-child {
  transform: rotate(45deg) translate(10px, 10px);
}
@media screen and (max-width: 1110px) {
  .header-body div.header-wide .nav-active:first-child {
    transform: rotate(45deg) translate(7px, 7px);
  }
}
.header-body div.header-wide .nav-active:nth-child(2) {
  opacity: 0;
}
.header-body div.header-wide .nav-active:nth-child(3) {
  transform: rotate(-45deg) translate(5px, -5px);
}
@media screen and (max-width: 1110px) {
  .header-body div.header-wide .nav-active:nth-child(3) {
    transform: rotate(-45deg) translate(4px, -4px);
  }
}

.header-body-open {
  border-radius: 0;
  transition: 0.15s;
  z-index: 20000;
}

.nav-open {
  position: absolute;
  position: fixed;
  top: -100px;
  width: 100%;
  height: 73px;
  background-color: #ffc400;
  z-index: 5000;
  transition: 0.2s;
}
@media screen and (max-width: 1535px) {
  .nav-open {
    height: 66px;
  }
}
@media screen and (max-width: 1110px) {
  .nav-open {
    overflow-y: scroll;
  }
}
.nav-open .header-curve {
  width: 100vw;
}
@media screen and (max-width: 1110px) {
  .nav-open .header-curve {
    display: none;
  }
}
.nav-open .header-curve img {
  width: 100%;
}
@media screen and (max-width: 1110px) {
  .nav-open .nav-container-sp {
    display: flex;
    justify-content: space-between;
    margin-top: 90px;
    padding: 0 10% 0 10%;
  }
}
.nav-open .nav-container-sp .common-menu {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 1280px;
  padding: 47px 22px 0 22px;
  margin: 0 auto 0 auto;
}
@media screen and (max-width: 1535px) {
  .nav-open .nav-container-sp .common-menu {
    max-width: 1000px;
    padding-top: 36px;
  }
}
@media screen and (max-width: 1110px) {
  .nav-open .nav-container-sp .common-menu {
    display: block;
    width: auto;
    padding: 0;
    margin: 0;
  }
}
.nav-open .nav-container-sp .common-menu .menu-effect {
  font-size: 1.3rem;
  font-weight: 700;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 1110px) {
  .nav-open .nav-container-sp .common-menu .menu-effect {
    margin-bottom: 24px;
    font-size: 24px;
    color: #3b201b;
  }
}
@media screen and (max-width: 400px) {
  .nav-open .nav-container-sp .common-menu .menu-effect {
    font-size: 21px;
  }
}
@media screen and (max-width: 365px) {
  .nav-open .nav-container-sp .common-menu .menu-effect {
    font-size: 19px;
  }
}
.nav-open .nav-container-sp .common-menu .menu-effect.menu-effect-small {
  margin-bottom: 20px;
}
@media screen and (max-width: 1110px) {
  .nav-open .nav-container-sp .common-menu .menu-effect.menu-effect-small {
    font-size: 15px;
  }
}
@media screen and (max-width: 400px) {
  .nav-open .nav-container-sp .common-menu .menu-effect.menu-effect-small {
    font-size: 14px;
  }
}
@media screen and (max-width: 365px) {
  .nav-open .nav-container-sp .common-menu .menu-effect.menu-effect-small {
    font-size: 14px;
  }
}
.nav-open .nav-container-sp .common-menu .menu-effect .header-menu-img {
  width: auto;
}
@media screen and (max-width: 1110px) {
  .nav-open .nav-container-sp .common-menu .menu-effect .header-menu-img {
    display: block;
  }
}
.nav-open .nav-container-sp .common-menu .menu-effect .lang_list {
  display: flex;
  font-size: 1.1rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: #8b675f;
}
.nav-open .nav-container-sp .common-menu .menu-effect .lang_list li {
  padding-right: 11px;
  padding-left: 11px;
  border-right: 1px solid #8b675f;
}
.nav-open .nav-container-sp .common-menu .menu-effect .lang_list li:first-child {
  padding-left: 0;
}
@media screen and (max-width: 1110px) {
  .nav-open .nav-container-sp .common-menu .menu-effect .lang_list li:first-child {
    font-size: 11px;
  }
}
@media screen and (max-width: 400px) {
  .nav-open .nav-container-sp .common-menu .menu-effect .lang_list li:first-child {
    font-size: 11px;
  }
}
.nav-open .nav-container-sp .common-menu .menu-effect #menu-effect-last {
  margin-bottom: 28px;
}
.nav-open .nav-container-sp .common-menu .menu-effect #header_sns {
  display: flex;
}
.nav-open .nav-container-sp .common-menu .menu-effect #header_sns li {
  padding-left: 10px;
}
@media screen and (max-width: 1110px) {
  .nav-open #header_sns_sp {
    display: inline;
    animation: is-open-pc 0.47s ease-in-out;
    animation-fill-mode: forwards;
    animation-delay: 0.8s;
    opacity: 0;
  }
  .nav-open #header_sns_sp li {
    margin-bottom: 22px;
  }
  .nav-open #header_sns_sp img {
    width: 32px;
  }
}
.nav-open .pc-effect-active {
  animation: is-open-pc 0.47s ease-in-out;
  animation-fill-mode: forwards;
  opacity: 0;
}
.nav-open .pc-effect-active:nth-child(2) {
  animation-delay: 0.2s;
}
.nav-open .pc-effect-active:nth-child(3) {
  animation-delay: 0.3s;
}
.nav-open .pc-effect-active:nth-child(4) {
  animation-delay: 0.4s;
}
.nav-open .pc-effect-active:nth-child(5) {
  animation-delay: 0.5s;
}
.nav-open .pc-effect-active:nth-child(6) {
  animation-delay: 0.6s;
}
.nav-open .pc-effect-active:nth-child(n+7) {
  animation-delay: 0.7s;
}
@media screen and (max-width: 1110px) {
  .nav-open .pc-effect-active:nth-child(6) {
    animation-delay: 0s;
  }
  .nav-open .pc-effect-active:nth-child(7) {
    animation-delay: 0.1s;
  }
  .nav-open .pc-effect-active:nth-child(8) {
    animation-delay: 0.2s;
  }
  .nav-open .pc-effect-active:nth-child(9) {
    animation-delay: 0.3s;
  }
  .nav-open .pc-effect-active:nth-child(10) {
    animation-delay: 0.4s;
  }
  .nav-open .pc-effect-active:nth-child(11) {
    animation-delay: 0.5s;
  }
  .nav-open .pc-effect-active:nth-child(12) {
    animation-delay: 0.6s;
  }
  .nav-open .pc-effect-active:nth-child(13) {
    animation-delay: 0.7s;
  }
  .nav-open .pc-effect-active:nth-child(n+14) {
    animation-delay: 0.8s;
  }
}

.nav-open-active {
  top: 100px;
  transition: 0.2s;
}
@media screen and (max-width: 1535px) {
  .nav-open-active {
    top: 70px;
  }
}
@media screen and (max-width: 1110px) {
  .nav-open-active {
    top: 0px;
    width: 100vw;
    height: 100vh;
  }
}

/* Footer Section 
================================*/
footer {
  z-index: 500;
}

.app-link {
  width: 100%;
  padding-top: 32px;
  padding-bottom: 32px;
  background-color: #c8000f;
  text-align: center;
}
@media screen and (max-width: 800px) {
  .app-link {
    padding-top: 24px;
    padding-bottom: 20px;
  }
}
.app-link img {
  max-width: 956px;
}
@media screen and (max-width: 1535px) {
  .app-link img {
    max-width: 878px;
  }
}
@media screen and (max-width: 1110px) {
  .app-link img {
    max-width: 70%;
  }
}
@media screen and (max-width: 800px) {
  .app-link img {
    margin: 0 auto;
  }
}
@media screen and (max-width: 600px) {
  .app-link img {
    max-width: 88%;
  }
}

.footer-nav {
  padding-top: 70px;
  padding-bottom: 72px;
  background-color: #60352c;
  background-image: url(/lp/2025_tsukimihamburg/images/footer_illust.png);
  background-position: bottom;
  background-repeat: no-repeat;
  background-size: contain;
}
@media screen and (max-width: 800px) {
  .footer-nav {
    background-image: url(/lp/2025_tsukimihamburg/images/footer_illust_sp.png);
    padding-top: 35px;
    padding-bottom: 110px;
    padding-left: 8.1%;
    padding-right: 8.1%;
  }
}
@media screen and (max-width: 600px) {
  .footer-nav {
    padding-bottom: 90px;
  }
}
.footer-nav ul.footer-link {
  font-weight: 700;
  font-size: 1.3rem;
  display: flex;
  flex-wrap: wrap;
  max-width: 900px;
  margin: 0 auto 25px auto;
  color: #fff;
  letter-spacing: 0.075em;
}
@media screen and (max-width: 1110px) {
  .footer-nav ul.footer-link {
    max-width: 700px;
  }
}
@media screen and (max-width: 800px) {
  .footer-nav ul.footer-link {
    font-size: 1.1rem;
  }
}
.footer-nav ul.footer-link li {
  width: 25%;
  margin-bottom: 21px;
}
.footer-nav ul.footer-link li:nth-child(4n+1) {
  width: 24%;
  padding-left: 1%;
}
.footer-nav ul.footer-link li:nth-child(4n+2) {
  width: 24%;
}
.footer-nav ul.footer-link li:nth-child(4n+3) {
  width: 27%;
}
.footer-nav ul.footer-link li:nth-child(4n+4) {
  width: 23.7%;
}
.footer-nav ul.footer-link li:nth-child(-n+4) {
  margin-bottom: 22px;
}
@media screen and (max-width: 800px) {
  .footer-nav ul.footer-link li {
    margin-bottom: 16px;
    line-height: 1.7;
  }
  .footer-nav ul.footer-link li:nth-child(4n+1) {
    width: 50%;
    padding-right: 10%;
    padding-left: 0;
  }
  .footer-nav ul.footer-link li:nth-child(4n+2) {
    width: 46%;
  }
  .footer-nav ul.footer-link li:nth-child(4n+3) {
    width: 50%;
    padding-right: 10%;
  }
  .footer-nav ul.footer-link li:nth-child(4n+4) {
    width: 46%;
  }
  .footer-nav ul.footer-link li:nth-child(-n+4) {
    margin-bottom: 22px;
  }
}
@media screen and (max-width: 600px) {
  .footer-nav ul.footer-link li {
    margin-bottom: 15px;
  }
  .footer-nav ul.footer-link li:nth-child(-n+4) {
    margin-bottom: 15px;
  }
}
@media screen and (max-width: 600px) {
  .footer-nav #footer-link-sp {
    display: flex;
  }
}
.footer-nav .footer-sns {
  display: flex;
  justify-content: space-between;
  width: 206px;
  margin: 0 auto 15px auto;
}
@media screen and (max-width: 600px) {
  .footer-nav .footer-sns {
    display: flex;
    justify-content: space-between;
    width: 167px;
    margin-bottom: 20px;
  }
}
.footer-nav .copy {
  font-size: 1.1rem;
  color: #a38680;
  letter-spacing: 0.075em;
  text-align: center;
}
@media screen and (max-width: 1110px) {
  .footer-nav .copy {
    font-size: 1rem;
  }
}

/* OP STYLE
===============================*/
/* COLUMN STYLE
===============================*/
.column {
  position: relative;
  display: flex;
  overflow: visible;
}

.center {
  position: relative;
  overflow: visible;
  width: 600px;
  z-index: 50;
  filter: drop-shadow(0 0 20px #FFFFFF);
}
@media screen and (max-width: 1535px) {
  .center {
    width: 450px;
  }
}
@media screen and (max-width: 600px) {
  .center {
    width: 100%;
  }
}

/* LEFTSIDE
===============================*/
.leftside {
  position: sticky;
  overflow-x: clip;
  top: 0;
  left: 0;
  height: 100vh;
  width: calc(50% - 300px);
  background-size: cover;
  background-size: 100% 100%;
  z-index: 32;
  background: linear-gradient(0deg, rgb(53, 76, 109) 0%, rgb(35, 53, 97) 19.27%, rgb(17, 30, 86) 35.14%, rgb(4, 8, 56) 74.48%);
}
@media screen and (max-width: 1535px) {
  .leftside {
    width: calc(50% - 225px);
  }
}
@media screen and (max-width: 600px) {
  .leftside {
    display: none;
  }
}

.left-kumo-01 {
  width: 53.4%;
  top: 13%;
  left: -18%;
}

.left-title {
  width: 54%;
  top: 22%;
  left: 32%;
  filter: brightness(0.3) blur(3px);
  animation: brightness 10s ease-in-out alternate infinite;
}

.left-dish {
  width: 51.36%;
  top: 59.5%;
  left: 29%;
}

/* RIGHT SIDE
===============================*/
.rightside {
  position: sticky;
  overflow-x: clip;
  top: 0;
  right: 0;
  height: 100vh;
  width: calc(50% - 300px);
  background-size: cover;
  z-index: 32;
  background: linear-gradient(0deg, rgb(53, 76, 109) 0%, rgb(35, 53, 97) 19.27%, rgb(17, 30, 86) 35.14%, rgb(4, 8, 56) 74.48%);
}
@media screen and (max-width: 1535px) {
  .rightside {
    width: calc(50% - 225px);
  }
}
@media screen and (max-width: 600px) {
  .rightside {
    display: none;
  }
}

.right-kumo-01 {
  width: 61.2%;
  top: -2%;
  right: 16%;
}

.right-kumo-02 {
  width: 65.3%;
  right: -18%;
  bottom: -2%;
}

.right-usagi {
  width: 41%;
  top: 54%;
  left: 15%;
}

.right-usagi-arm {
  width: 24%;
  top: 23.8%;
  left: 33%;
  transform: rotate(-10deg);
  transform-origin: left bottom;
  animation: arm 4s infinite ease-in-out;
}

.right-search {
  top: -89%;
  right: -30.5%;
  width: 44.7%;
}

@keyframes arm {
  0% {
    transform: rotate(-10deg);
  }
  15% {
    transform: rotate(-8deg);
  }
  30% {
    transform: rotate(-10deg);
  }
  60% {
    transform: rotate(5deg);
  }
  100% {
    transform: rotate(-10deg);
  }
}
.circle {
  width: 11px;
  height: 11px;
  top: -11.5%;
  left: 35%;
  background-color: #fff;
  border-radius: 20px;
  transition: transform 0.3s, background-color 0.3s;
  z-index: 10;
}

.right-link-abs {
  top: 0;
  left: 0;
  opacity: 0;
  transition: 0.3s;
}

.right-link {
  top: 32%;
  left: 25%;
  display: flex;
  width: 28%;
}
.right-link .right-link-ch {
  width: 20%;
}
.right-link .right-link-ch:nth-child(1) {
  margin-right: 14%;
}
.right-link .right-link-ch:nth-child(2) {
  margin-right: 14%;
}

.circle-kumo-top {
  width: 100%;
  left: -50%;
  top: -10%;
  z-index: 5;
  opacity: 0;
  transition: 0.3s;
}

.circle-kumo-bottom {
  width: 100%;
  right: -50%;
  bottom: -10%;
  z-index: 15;
  opacity: 0;
  transition: 0.3s;
}

/* PRICE SETTINGS
===============================*/
.price {
  font-size: 44px;
  font-family: "rubik";
  color: #e1dcd1;
}
@media screen and (max-width: 1535px) {
  .price {
    font-size: 36px;
  }
}
@media screen and (max-width: 600px) {
  .price {
    font-size: 32px;
  }
}

.yen {
  font-size: 28px;
  font-family: fredoka one;
  font-weight: 400;
}
@media screen and (max-width: 1535px) {
  .yen {
    font-size: 20px;
  }
}
@media screen and (max-width: 600px) {
  .yen {
    font-size: 16px;
  }
}

.select-cap {
  font-size: 19px;
  font-weight: 700;
  font-feature-settings: "palt";
  letter-spacing: 0em;
  color: #FFFFFF;
}
@media screen and (max-width: 1535px) {
  .select-cap {
    font-size: 14px;
  }
}
@media screen and (max-width: 600px) {
  .select-cap {
    font-size: 12px;
  }
}

.food .select-cap {
  color: #6b371d;
}

.selbox {
  font-size: 17px;
  font-weight: 900;
  color: #05062c;
}
@media screen and (max-width: 1535px) {
  .selbox {
    font-size: 13px;
  }
}
@media screen and (max-width: 600px) {
  .selbox {
    font-size: 11px;
  }
}

.gram {
  color: #44260e;
  font-weight: 700;
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
  font-size: 19px;
}
@media screen and (max-width: 1535px) {
  .gram {
    font-size: 14px;
  }
}
@media screen and (max-width: 600px) {
  .gram {
    font-size: 12px;
  }
}

.size {
  font-family: "Rubik", sans-serif;
  font-weight: 400;
  font-size: 38px;
  padding-right: 4px;
}
@media screen and (max-width: 1535px) {
  .size {
    font-size: 29px;
  }
}
@media screen and (max-width: 600px) {
  .size {
    font-size: 24px;
  }
}

.caption {
  font-size: 14px;
  color: #43260a;
  margin-top: 72px;
  line-height: 1.8;
}
@media screen and (max-width: 1535px) {
  .caption {
    margin-top: 54px;
    font-size: 12px;
  }
}
@media screen and (max-width: 600px) {
  .caption {
    margin-top: 45px;
  }
}

/* MENU COMMON LAYOUT
===============================*/
.select-card {
  display: flex;
  width: 77.6%;
  justify-content: space-between;
  align-items: center;
  border-radius: 50px;
  background: linear-gradient(127.06deg, rgb(255, 229, 197) 4.09%, rgb(255, 221, 176) 5.05%, rgb(255, 207, 140) 7.02%, rgb(255, 194, 108) 9.24%, rgb(255, 183, 80) 11.69%, rgb(255, 175, 58) 14.46%, rgb(255, 168, 41) 17.69%, rgb(255, 163, 30) 21.69%, rgb(255, 161, 23) 27.3%, rgb(255, 160, 21) 66.86%, rgb(252, 154, 22) 68.68%, rgb(226, 112, 32) 94.35%, rgb(211, 87, 38) 99.08%);
  padding: 4.4% 5% 4.4% 6%;
  margin: 0 auto 40px auto;
  filter: drop-shadow(0 2px 4px rgba(0, 8, 40, 0.4));
}
@media screen and (max-width: 1535px) {
  .select-card {
    padding-top: 5.2%;
    padding-bottom: 5%;
    margin-bottom: 30px;
  }
}
@media screen and (max-width: 600px) {
  .select-card {
    margin-bottom: 25px;
  }
}
.select-card .menu-bottom {
  width: 60%;
  left: 20%;
  bottom: -29%;
}
@media screen and (max-width: 1535px) {
  .select-card .menu-bottom {
    bottom: -24%;
  }
}
@media screen and (max-width: 600px) {
  .select-card .menu-bottom {
    bottom: -24%;
  }
}

.selbox {
  background-color: #FFFFFF;
  text-align: left;
  text-align: -webkit-left;
  width: 30.8%;
  padding-top: 12px;
  padding-bottom: 14px;
  padding-left: 17px;
  border-radius: 30px;
  background-image: url(/lp/2025_tsukimihamburg/images/menu_arrow.svg);
  background-repeat: no-repeat;
  background-size: 24px;
  background-position: right 13px center;
}
@media screen and (max-width: 1535px) {
  .selbox {
    padding-top: 11px;
    padding-bottom: 10px;
    padding-left: 13px;
  }
}
@media screen and (max-width: 600px) {
  .selbox {
    padding-left: 10px;
  }
}
@media screen and (max-width: 1535px) {
  .selbox {
    background-size: 18px;
    background-position: right 10px center;
  }
}
@media screen and (max-width: 600px) {
  .selbox {
    background-size: 15px;
    background-position: right 8px center;
  }
}

.pr-con {
  display: flex;
  justify-content: space-between;
  width: 43.3%;
  margin: 0 auto 19px auto;
}
.pr-con .gram-only {
  width: 18.5%;
}
.pr-con .menu-dot {
  width: 58%;
}

.pr-con-center {
  display: block;
  text-align: center;
}

.caption {
  font-family: "Noto Sans JP", sans-serif;
  font-feature-settings: "palt";
  font-weight: 700;
  color: #ddd7cc;
  text-align: center;
  font-size: 18px;
}
@media screen and (max-width: 1535px) {
  .caption {
    font-size: 14px;
  }
}
@media screen and (max-width: 600px) {
  .caption {
    padding-bottom: 9.333vw;
    font-size: 12px;
  }
}

.black {
  color: #040838;
}

.priceBL {
  color: #040838;
}

.selboxBL {
  background-image: url(/lp/2025_tsukimihamburg/images/menu_arrowBL.svg);
  background-color: #040838;
  color: #db9e29;
}

/* Margin Calc Set
===============================*/
/* FV SECTION
==============================*/
.fv {
  position: fixed;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 600px;
  height: 100vh;
  z-index: 110;
  background: linear-gradient(to bottom, #010316 0%, #060f38 40%, #08597c 80%, #004d80 100%);
}
@media screen and (max-width: 1535px) {
  .fv {
    width: 450px;
  }
}
@media screen and (max-width: 600px) {
  .fv {
    width: 100%;
  }
}
.fv .fv-gif {
  width: 60%;
  top: 34%;
  left: 51.5%;
  transform: translateX(-50%);
}

/* OP STYLE
==============================*/
.op-kumo-01 {
  width: 111.2%;
  top: 10%;
  left: 11%;
}

.op-kumo-02 {
  width: 121.6%;
  top: 23%;
  left: -11%;
}

.op-kumo-03 {
  width: 96.8%;
  top: 35%;
  left: 45%;
}

.op-kumo-04 {
  width: 121.6%;
  top: 46.5%;
  left: -30%;
}

.op-kumo-05 {
  width: 123.2%;
  top: 55%;
  left: 23%;
}

/* メインビジュアル
===============================*/
.mv-moon-img {
  width: 100.1%;
  transform: translateX(-0.1%);
}

.mv-moon-illust {
  width: 100%;
  top: 11%;
  left: 0;
}

.mv-dish-img {
  bottom: -0.8%;
  left: 0;
}

.mv-limited-img {
  width: 23.2%;
  top: 43.3%;
  left: 5%;
}

.mv-bottom-img {
  width: 100%;
  left: 0;
  bottom: -2%;
}

.mv-titleA-img {
  width: 51.7%;
  left: 24.5%;
  top: 22.7%;
}

.mv-titleB-img {
  width: 51.7%;
  left: 24.5%;
  top: 22.7%;
}

.mv-detaA-img {
  width: 24%;
  right: 6.5%;
  top: 19%;
  opacity: 0;
}

.mv-detaB-img {
  width: 24%;
  right: 10%;
  top: 25.5%;
  opacity: 0;
}

.mv-detaD-img {
  width: 12.5%;
  right: 16.5%;
  top: 25.5%;
  opacity: 0;
}

.mv-kumoA-img {
  width: 27.2%;
  top: 14%;
  left: -4.5%;
}

.mv-kumoB-img {
  width: 27.2%;
  top: 43%;
  right: -6%;
}

.mv-kumoC-img {
  width: 67.2%;
  top: 77.4%;
  left: -20%;
}

/* 導入部コピー
===============================*/
.intro-kumo-01 {
  width: 24.7%;
  top: 9.5%;
  left: 11.3%;
}

.intro-kumo-02 {
  width: 42.08%;
  top: 92%;
  left: -18.5%;
}

.intro-kumo-03 {
  width: 78.6%;
  top: 85%;
  right: -29%;
}

.intro-stickyA {
  top: 16%;
}

.intro-stickyB {
  width: 100%;
  top: 9%;
  left: 0;
}

.intro-stickyC-01 {
  width: 100%;
  top: -5%;
  left: 0;
}

.intro-stickyC-02 {
  width: 100%;
  top: 8%;
  left: 0;
}

.intro-stickyD-01 {
  width: 49.6%;
  top: 21%;
  left: 25%;
}

/* ムービーA
===============================*/
.movieA-susuki {
  width: 78.4%;
  top: -15%;
  left: -16%;
}

.movieA-kumo-01 {
  width: 39.4%;
  top: 40%;
  right: -10%;
}

.movieA-kumo-02 {
  width: 45.28%;
  top: 91.5%;
  left: -10%;
}

.movieA-usagi-01 {
  width: 28.2%;
  top: 82.5%;
  right: 1%;
}

/* ムービーB
===============================*/
.movieB-kumo-01 {
  width: 39.4%;
  top: 34.5%;
  right: -9.4%;
}

.movieB-kumo-02 {
  top: 91.2%;
  left: -10%;
  width: 45.3%;
}

.movieB-usagi-01 {
  width: 34.6%;
  top: 23%;
}

/* とろーり卵A
===============================*/
.enjoy-moon {
  width: 72%;
  top: 8%;
  left: 50%;
  transform: translateX(-50%);
}

.enjoy-moon-02 {
  width: 51%;
  top: 14.5%;
  left: 50%;
  transform: translateX(-50%);
}

.enjoy-moon-03 {
  width: 51%;
  top: 14.5%;
  left: 50%;
  transform: translateX(-50%);
}

.enjoy-moon-03-img {
  transform: scale(0.9, 0.78);
}

.enjoy-usagi {
  width: 69.3%;
  top: 46%;
  left: 50%;
  transform: translateX(-50%);
}

.enjoy-typo {
  width: 34.6%;
  top: 18.8%;
  left: 50%;
  transform: translateX(-50%);
}

/* メニュー写真周りA
===============================*/
.dishA-limited {
  width: 41.6%;
  top: -7.5%;
  left: 55%;
}

.dishA-kumo-01 {
  width: 41.76%;
  top: 60%;
  right: -19%;
}

/* ムービーC
===============================*/
.movieC-susuki {
  width: 71.4%;
  top: -14%;
  left: -17%;
}

.movieC-kumo-01 {
  width: 39.8%;
  top: 90.5%;
  right: -5.5%;
}

.movieC-usagi-01 {
  width: 39.46%;
  top: 82.5%;
  left: -4.5%;
}

/* ムービーD
===============================*/
.movieD-kumo-01 {
  width: 45%;
  top: 42%;
  left: -12%;
}

.movieD-kumo-02 {
  width: 39.2%;
  top: 95%;
  right: -5.2%;
}

.movieD-usagi-01 {
  width: 32.8%;
  top: 30.2%;
  right: -5%;
}

/* メニュー写真周りB
===============================*/
.dishB-limited {
  width: 38.2%;
  top: -11%;
  left: 5%;
}

/* とろーり卵B
===============================*/
.enjoy-moonB {
  width: 88.26%;
  top: 0%;
  left: 50%;
  transform: translateX(-50%);
}

.enjoy-usagiB {
  width: 77.3%;
  top: 41.6%;
  left: 50%;
  transform: translateX(-50%);
}

.enjoy-typoB {
  width: 34.6%;
  top: 18.8%;
  left: 50.6%;
  transform: translateX(-50%);
}

/* ムービーE
===============================*/
.movieE-kumo-01 {
  width: 39.2%;
  top: 41.8%;
  right: -8.8%;
}

.movieE-kumo-02 {
  width: 45.28%;
  top: 93.7%;
  left: -10.7%;
}

.movieE-usagi-01 {
  width: 41.06%;
  top: 82%;
  right: -3%;
}

/* とろーり卵C
===============================*/
.enjoy-moonC {
  width: 88%;
  top: 2%;
  left: 50%;
  transform: translateX(-50%);
}

.enjoy-usagiC {
  width: 69.3%;
  top: 45.5%;
  left: 50%;
  transform: translateX(-50%);
}

.enjoy-typoC {
  width: 34.6%;
  top: 19.4%;
  left: 50.3%;
  transform: translateX(-50%);
}

/* メニュー写真周りB
===============================*/
.dishC-limited {
  width: 47.46%;
  top: -18.5%;
  right: 5%;
}

.dishC-kumo-01 {
  width: 41.6%;
  top: -19%;
  left: -9.7%;
}

.dishC-kumo-02 {
  width: 45.5%;
  top: 87%;
  right: -17%;
}

/* 月見_うさぎ
===============================*/
.date-usagi-01 {
  width: 24%;
  left: 0;
  bottom: 3%;
}

.date-usagi-02 {
  width: 24%;
  right: 0;
  bottom: 2.8%;
}

.date-music {
  width: 32.5%;
  right: 0;
  bottom: 32.5%;
}
.date-music .date-onpu-01 {
  width: 27.2%;
  top: -2%;
  left: 43%;
}
.date-music .date-onpu-02 {
  width: 27.2%;
  top: -13%;
  left: 22%;
}
.date-music .date-tap {
  width: 56.5%;
  left: -16%;
  top: 16%;
}
.date-music .date-caption {
  width: 33.9%;
  top: 50%;
  left: -6%;
}

/* Margin Calc Set
===============================*/
/* 定番 TRANSITION-Y
================================*/
.opacity-active {
  opacity: 1;
  transition: 0.75s ease-in-out;
}

.trans-y-small {
  opacity: 0;
  transform: translateY(3%);
}

.trans-y-small-active {
  opacity: 1;
  transform: translateY(0%);
  transition: 1s ease-in-out;
}

.trans-y {
  opacity: 0;
  transform: translateY(5%);
}

.trans-y-active {
  opacity: 1;
  transform: translateY(0%);
  transition: 1s ease-in-out;
}

.trans-y-large {
  opacity: 0;
  transform: translateY(8%);
}

.trans-y-large-active {
  opacity: 1;
  transform: translateY(0%);
  transition: 1s ease-in-out;
}

/* 定番 KEYFRAMES
================================*/
@keyframes slide-in-01 {
  0% {
    transform: translateX(-125%);
    opacity: 1;
  }
  100% {
    transform: translateX(0%);
    opacity: 1;
  }
}
@keyframes slide-in-02 {
  0% {
    transform: translateX(125%);
    opacity: 1;
  }
  100% {
    transform: translateX(0%);
    opacity: 1;
  }
}
.slide-in-wrap {
  overflow: hidden;
  opacity: 0;
}

.slide-in-wrap-active {
  animation: slide-in-01 0.75s ease-out forwards;
}

.slide-in-active {
  animation: slide-in-02 0.75s ease-out forwards;
}

@keyframes flash-step {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
}
.flash-step {
  opacity: 0;
}

.flash-step-active {
  animation: flash-step 1s steps(1) infinite 0.8s;
}

@keyframes flash {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
.flash {
  opacity: 0;
  animation: flash 1.5s ease-in-out infinite;
}

.flash-koma {
  animation: flash-koma 2s steps(1) infinite;
}

@keyframes up-down {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(15%);
  }
  100% {
    transform: translateY(0);
  }
}
.up-down {
  animation: up-down 3s ease-in-out alternate infinite;
}

@keyframes rotate {
  0% {
    transform: rotate(-5deg);
  }
  50% {
    transform: rotate(5deg);
  }
  100% {
    transform: rotate(-5deg);
  }
}
@keyframes puru-rotate {
  0% {
    transform: rotate(0);
  }
  20% {
    transform: rotate(5deg);
  }
  40% {
    transform: rotate(-5deg);
  }
  60% {
    transform: rotate(0deg);
  }
}
@keyframes pon {
  0% {
    opacity: 0;
    transform: scale(0.8);
  }
  50% {
    opacity: 1;
  }
  85% {
    opacity: 1;
    transform: scale(1.1);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes yuge {
  0% {
    opacity: 0;
    filter: blur(20px);
    transform: scale(0.6);
  }
  100% {
    opacity: 0.7;
    filter: blur(0px);
    transform: scale(1);
  }
}
@keyframes yugeAlt {
  0% {
    opacity: 0;
    filter: blur(10px);
    transform: scale(0.9);
  }
  70% {
    opacity: 0.5;
    filter: blur(0px);
  }
  100% {
    opacity: 0;
    filter: blur(0px);
    transform: scale(1.5);
  }
}
@keyframes boyoyon {
  0% {
    transform: scale(0);
    opacity: 0;
  }
  20% {
    transform: scale(1.2);
    opacity: 1;
  }
  35% {
    transform: scale(0.92);
  }
  50% {
    transform: scale(1.04);
  }
  60% {
    transform: scale(0.99);
  }
  85% {
    transform: scale(1);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
.boyoyon {
  opacity: 0;
}

.boyoyon-active {
  animation: boyoyon 1.25s ease-out forwards;
}

@keyframes ban {
  0% {
    transform: scale(0.6);
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  60% {
    transform: scale(1.12);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
.ban {
  opacity: 0;
}

.ban-active {
  animation: ban 0.5s ease-in-out forwards;
}

/* ユニークアニメーション ここから
================================*/
/* オープニング関連
================================*/
@keyframes op-kumo-l {
  100% {
    transform: translateX(-100%);
  }
}
@keyframes op-kumo-r {
  100% {
    transform: translateX(100%);
  }
}
.op-kumo-01-active {
  animation: op-kumo-r 2.5s cubic-bezier(0.55, -0.01, 0.17, 0.99) forwards 1.3s;
}

.op-kumo-02-active {
  animation: op-kumo-l 2.5s cubic-bezier(0.55, -0.01, 0.17, 0.99) forwards 1.4s;
}

.op-kumo-03-active {
  animation: op-kumo-r 2.5s cubic-bezier(0.55, -0.01, 0.17, 0.99) forwards 1.5s;
}

.op-kumo-04-active {
  animation: op-kumo-l 2.5s cubic-bezier(0.55, -0.01, 0.17, 0.99) forwards 1.6s;
}

.op-kumo-05-active {
  animation: op-kumo-r 2.5s cubic-bezier(0.55, -0.01, 0.17, 0.99) forwards 1.7s;
}

@keyframes op-moon {
  0% {
    opacity: 1;
    filter: blur(0px) brightness(1);
    transform: scale(1);
  }
  100% {
    opacity: 0;
    filter: blur(20px) brightness(1.4);
    transform: scale(1.1);
  }
}
.mv-moon-illust-active {
  animation: op-moon 2.5s ease-out forwards 2.2s;
}

.mv-titleA-img {
  opacity: 0;
}

.mv-titleB-img {
  opacity: 0;
}

.mv-limited {
  opacity: 1;
}

.mv-titleA-img-active {
  animation: mask-anime 3s steps(35) forwards 2.5s;
  -webkit-mask-image: url(/lp/2025_tsukimihamburg/images/sprite_mask_re.png);
  mask-image: url(/lp/2025_tsukimihamburg/images/sprite_mask_re.png);
  -webkit-mask-position: 0 0;
  mask-position: 0 0;
  -webkit-mask-size: 100% 3600%;
  mask-size: 100% 3600%;
}

.mv-titleB-img-active {
  animation: mask-anime 3s steps(35) forwards 2.5s;
  -webkit-mask-image: url(/lp/2025_tsukimihamburg/images/sprite_mask_re.png);
  mask-image: url(/lp/2025_tsukimihamburg/images/sprite_mask_re.png);
  -webkit-mask-position: 0 0;
  mask-position: 0 0;
  -webkit-mask-size: 100% 3600%;
  mask-size: 100% 3600%;
}

.mv-kumoA-img-active {
  opacity: 0;
  animation: dish-kumo-l 8s infinite ease-in-out alternate-reverse 2.5s;
}

.mv-kumoB-img-active {
  opacity: 0;
  animation: dish-kumo-r 8s infinite ease-in-out alternate-reverse 3s;
}

.mv-kumoC-img-active {
  animation: dish-kumo-l 8s infinite ease-in-out alternate-reverse 2.5s;
}

@keyframes op-y {
  100% {
    opacity: 1;
    transform: translateY(-20%);
  }
}
.mv-detaA-img-active {
  animation: op-y 1s forwards 2.4s;
}

.mv-detaB-img-active {
  animation: op-y 1s forwards 2.5s;
}

.mv-detaC-img-active {
  animation: op-y 1s forwards 2.6s;
}

.mv-detaD-img-active {
  animation: op-y 1s forwards 2.7s;
}

/* 導入部〜雲とコピーの出現
================================*/
.intro-sticky-00 {
  transform: translateY(10%);
  opacity: 0;
}

.intro-sticky-01, .intro-sticky-02, .intro-sticky-03 {
  filter: blur(15px);
  opacity: 0;
}

.intro-stickyB-01, .intro-stickyB-02, .intro-stickyB-04 {
  transform: translateY(10%);
  opacity: 0;
}

.intro-stickyB-03 {
  transform: scale(0.6);
  transform-origin: 30% 60%;
  filter: blur(15px);
  opacity: 0;
}

.intro-stickyC-01 {
  transform-origin: center;
  transform: scale(0.8);
  filter: blur(75px);
  opacity: 0;
}

.intro-stickyC-02 {
  filter: blur(45px);
  opacity: 0;
}

.intro-stickyD-01 {
  opacity: 0;
  filter: blur(10px);
}

.intro-stickyD-02 {
  width: 49.6%;
  top: 21%;
  left: 25%;
  transform: scale(0.9, 0.5);
  opacity: 0;
}

/* 全体の雲の動き
================================*/
@keyframes dish-kumo-r {
  0% {
    transform: translateX(0%);
  }
  50% {
    transform: translateX(-10%);
  }
  100% {
    transform: translateX(0%);
  }
}
@keyframes dish-kumo-l {
  0% {
    transform: translateX(0%);
  }
  50% {
    transform: translateX(10%);
  }
  100% {
    transform: translateX(0%);
  }
}
.kumo-r {
  animation: dish-kumo-r 4s infinite ease-in-out alternate-reverse;
}

.kumo-l {
  animation: dish-kumo-l 4s infinite ease-in-out alternate-reverse;
}

/* マスクアニメ（左）
================================*/
.maskL-active {
  animation: mask-anime 2s steps(35) forwards;
  -webkit-mask-image: url(/lp/2025_tsukimihamburg/images/sprite_mask.png);
  mask-image: url(/lp/2025_tsukimihamburg/images/sprite_mask.png);
  -webkit-mask-position: 0 0;
  mask-position: 0 0;
  -webkit-mask-size: 100% 3000%;
  mask-size: 100% 3000%;
}

.maskL {
  -webkit-mask-position: 0 0;
  mask-position: 0 0;
  opacity: 0;
}

@keyframes mask-anime {
  0% {
    opacity: 1;
    -webkit-mask-position: 0 0;
    mask-position: 0 0;
  }
  100% {
    opacity: 1;
    -webkit-mask-position: 0 100%;
    mask-position: 100% 100%;
  }
}
/* マスクアニメ（右）
================================*/
.maskR-active {
  animation: mask-anime 2s steps(35) forwards;
  -webkit-mask-image: url(/lp/2025_tsukimihamburg/images/sprite_mask_re.png);
  mask-image: url(/lp/2025_tsukimihamburg/images/sprite_mask_re.png);
  -webkit-mask-position: 0 0;
  mask-position: 0 0;
  -webkit-mask-size: 100% 3000%;
  mask-size: 100% 3000%;
}

.maskR {
  -webkit-mask-position: 0 0;
  mask-position: 0 0;
  opacity: 0;
}

@keyframes mask-anime {
  0% {
    opacity: 1;
    -webkit-mask-position: 0 0;
    mask-position: 0 0;
  }
  100% {
    opacity: 1;
    -webkit-mask-position: 0 100%;
    mask-position: 100% 100%;
  }
}
/* バナー周辺
================================*/
.banner-link-bg-01 {
  opacity: 0;
}

.banner-link-bg-01-active {
  animation: slideIn-r 1s ease-in-out forwards;
}

.banner-text-01 {
  opacity: 0;
}

.banner-text-01-active {
  animation: slideIn-l 0.75s ease-in-out forwards 0.25s;
}

.banner-link-bg-02 {
  opacity: 0;
}

.banner-link-bg-02-active {
  animation: slideIn-l 1s ease-in-out forwards;
}

.banner-text-02 {
  opacity: 0;
}

.banner-text-02-active {
  animation: slideIn-r 0.75s ease-in-out forwards 0.25s;
}

@keyframes slideIn-r {
  0% {
    transform: translateX(20%);
    opacity: 0;
  }
  100% {
    transform: translateX(0%);
    opacity: 1;
  }
}
@keyframes slideIn-l {
  0% {
    transform: translateX(-20%);
    opacity: 0;
  }
  100% {
    transform: translateX(0%);
    opacity: 1;
  }
}
.moonA-active {
  opacity: 0;
  transition: 2.5s ease-in-out;
  filter: blur(10px);
}

.moonB-active {
  opacity: 0;
  transition: 1s ease-in-out;
  transition-delay: 2.25s;
}

.moonC-active {
  transform: scale(1);
  transition: 2s ease-in-out;
  transition-delay: 1s;
}

@keyframes pyon-usagi {
  0% {
    opacity: 0;
    transform: scaleY(0.9) translateY(5%);
  }
  50% {
    opacity: 1;
    transform: scaleY(1) translateY(-7%);
  }
  100% {
    opacity: 1;
    transform: scaleY(1) translateY(0);
  }
}
.pyon-usagi {
  opacity: 0;
}

.pyon-usagi-active {
  animation: pyon-usagi 0.5s ease-in-out forwards;
}

/* うさぎ 音楽ON
================================*/
@keyframes onpu-music {
  0% {
    transform: translateY(0);
    opacity: 0;
  }
  40% {
    transform: translateY(-60%);
    opacity: 1;
  }
  80% {
    transform: translateY(0%) scaleY(0.8);
    opacity: 1;
  }
  100% {
    transform: translateY(0%) scaleY(1);
    opacity: 1;
  }
}
.date-onpu {
  opacity: 0;
}

.date-onpu-active {
  animation: onpu-music 0.5s ease-in-out forwards;
  transform-origin: bottom;
}

.date-tap {
  animation: rotate 2s ease-in-out infinite;
  transform-origin: 80% 80%;
}

.date-usagi-active {
  animation: rotate 2s ease-in-out infinite alternate-reverse;
  transform-origin: 80% 80%;
}

.date-pyon-active {
  animation: pyon-music 2s ease-in-out infinite;
}

@keyframes pyon-music {
  0% {
    transform: translateY(0);
  }
  10% {
    transform: translateY(-4%);
  }
  20% {
    transform: translateY(0);
  }
  30% {
    transform: translateY(-4%);
  }
  40% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(0);
  }
}
@keyframes brightness {
  0% {
    filter: brightness(0.3) blur(3px);
  }
  40% {
    filter: brightness(1) blur(0);
  }
  47.5% {
    filter: brightness(0.8) blur(0px);
  }
  55% {
    filter: brightness(1) blur(0);
  }
  90% {
    filter: brightness(0.3) blur(3px);
  }
}
/* Media Query
===============================*/
/* Margin Calc Set
===============================*/
/* LP Common Style
===============================*/
img {
  width: 100%;
  height: auto;
}

.abs {
  position: absolute;
}

.abs-def {
  position: absolute;
  width: 100%;
  top: 0;
  left: 0;
}

.rel {
  position: relative;
}

.sticky {
  position: sticky;
}

.mt-1 {
  margin-top: -1px;
}

.opacity {
  opacity: 0;
}

.zeroA {
  margin: 0 auto;
}

/* Delay Set
===============================*/
.delay-005 {
  transition-delay: 0.05s;
  animation-delay: 0.05s;
}

.delay-01 {
  transition-delay: 0.1s;
  animation-delay: 0.1s;
}

.delay-015 {
  transition-delay: 0.15s;
  animation-delay: 0.15s;
}

.delay-02 {
  transition-delay: 0.2s;
  animation-delay: 0.2s;
}

.delay-025 {
  transition-delay: 0.25s;
  animation-delay: 0.25s;
}

.delay-03 {
  transition-delay: 0.3s;
  animation-delay: 0.3s;
}

.delay-035 {
  transition-delay: 0.35s;
  animation-delay: 0.35s;
}

.delay-04 {
  transition-delay: 0.4s;
  animation-delay: 0.4s;
}

.delay-045 {
  transition-delay: 0.45s;
  animation-delay: 0.45s;
}

.delay-05 {
  transition-delay: 0.5s;
  animation-delay: 0.5s;
}

.delay-055 {
  transition-delay: 0.55s;
  animation-delay: 0.55s;
}

.delay-06 {
  transition-delay: 0.6s;
  animation-delay: 0.6s;
}

.delay-07 {
  transition-delay: 0.7s;
  animation-delay: 0.7s;
}

.delay-08 {
  transition-delay: 0.8s;
  animation-delay: 0.8s;
}

.delay-10 {
  transition-delay: 1s;
  animation-delay: 1s;
}

/* メインビジュアル
===============================*/
.mv {
  overflow-x: clip;
  margin-top: -90px;
}
@media screen and (max-width: 1535px) {
  .mv {
    margin-top: calc(-90px * 0.75);
  }
}
@media screen and (max-width: 600px) {
  .mv {
    margin-top: calc(-90 * 0.625 / 375 * 100vw);
  }
}

.fixed-moon {
  width: 165px;
  position: fixed;
  bottom: 2%;
  right: calc(50% - 300px);
  z-index: 100;
  transition: 0.4s;
  opacity: 0;
}
@media screen and (max-width: 1535px) {
  .fixed-moon {
    width: 123px;
    right: calc(50% - 225px);
  }
}
@media screen and (max-width: 600px) {
  .fixed-moon {
    width: 31%;
    right: 0;
  }
}
.fixed-moon:hover {
  filter: brightness(1.15);
}

/* セクションカラー
===============================*/
.sec-dish {
  background: linear-gradient(0deg, rgb(0, 81, 117) 0%, rgb(8, 89, 124) 1%, rgb(7, 79, 120) 3%, rgb(4, 52, 108) 5.43%, rgb(0, 13, 91) 10.61%, rgb(1, 12, 86) 20.75%, rgb(2, 10, 69) 33.36%, rgb(4, 8, 59) 58.31%, rgb(4, 8, 56) 99.96%);
}

.sec-dishMenuB {
  background: linear-gradient(0deg, rgb(255, 229, 212) 0%, rgb(245, 219, 191) 11.57%, rgb(232, 208, 166) 23.07%, rgb(248, 204, 154) 54.05%, rgb(255, 202, 148) 79.51%, rgb(244, 196, 159) 83.99%, rgb(232, 189, 170) 90.51%, rgb(226, 187, 170) 91.48%, rgb(210, 183, 169) 94.73%, rgb(184, 175, 168) 96.13%, rgb(147, 164, 167) 97.65%, rgb(99, 150, 165) 98.75%, rgb(42, 133, 163) 99.5%, rgb(0, 121, 162) 100%);
}

.sec-dishMenuC {
  background: linear-gradient(0deg, rgb(0, 77, 128) 4.62%, rgb(8, 89, 124) 25.5%, rgb(7, 83, 121) 34.24%, rgb(5, 65, 114) 46.32%, rgb(2, 36, 101) 60.26%, rgb(0, 13, 91) 69.31%, rgb(2, 11, 77) 77.3%, rgb(3, 9, 62) 89.98%, rgb(4, 8, 56) 99.96%);
}

.sec-lowerBody {
  background: linear-gradient(180deg, rgb(255, 187, 133) 0%, rgb(186, 155, 126) 2.23%, rgb(107, 119, 119) 4.95%, rgb(49, 93, 114) 7.2%, rgb(13, 76, 110) 8.86%, rgb(0, 70, 109) 9.75%, rgb(0, 56, 93) 10.88%, rgb(0, 36, 68) 13.04%, rgb(1, 20, 49) 15.47%, rgb(1, 9, 35) 18.29%, rgb(1, 2, 27) 21.84%, rgb(1, 0, 25) 28.47%, rgb(1, 0, 25) 32.76%, rgb(1, 0, 25) 58.83%);
}

/* 導入部分コピー
===============================*/
.sec-intro {
  padding-top: 160px;
  height: 10000px;
  overflow-x: clip;
  margin-bottom: 380px;
}
@media screen and (max-width: 1535px) {
  .sec-intro {
    padding-top: calc(160px * 0.75);
    margin-bottom: calc(380px * 0.75);
    height: calc(10000px * 0.75);
  }
}
@media screen and (max-width: 600px) {
  .sec-intro {
    padding-top: calc(160 * 0.625 / 375 * 100vw);
    margin-bottom: calc(380 * 0.625 / 375 * 100vw);
    height: calc(10000 * 0.625 / 375 * 100vw);
  }
}
.sec-intro .intro-sticky {
  position: sticky;
  top: 26%;
  left: 0;
  height: 380px;
}
@media screen and (max-width: 1535px) {
  .sec-intro .intro-sticky {
    height: calc(380px * 0.75);
  }
}
@media screen and (max-width: 600px) {
  .sec-intro .intro-sticky {
    height: calc(380 * 0.625 / 375 * 100vw);
  }
}

/* メニューセクションoverflow
===============================*/
.sec-dish {
  overflow-x: clip;
}

/* ビデオタグ汎用
===============================*/
.movie-box {
  overflow-x: clip;
  width: 100%;
  -webkit-mask-image: url(/lp/2025_tsukimihamburg/images/movA_mask.svg);
          mask-image: url(/lp/2025_tsukimihamburg/images/movA_mask.svg);
  -webkit-mask-size: 100% 100%;
          mask-size: 100% 100%;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}
.movie-box video {
  width: 122%;
}

.movie-box-re {
  overflow-x: clip;
  width: 100%;
  -webkit-mask-image: url(/lp/2025_tsukimihamburg/images/movA_mask_reverse.svg);
          mask-image: url(/lp/2025_tsukimihamburg/images/movA_mask_reverse.svg);
  -webkit-mask-size: 100% 100%;
          mask-size: 100% 100%;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}
.movie-box-re video {
  width: 122%;
}

/* ディッシュA
===============================*/
.sec-movieA {
  margin-bottom: 112px;
  overflow-x: clip;
}
@media screen and (max-width: 1535px) {
  .sec-movieA {
    margin-bottom: calc(112px * 0.75);
  }
}
@media screen and (max-width: 600px) {
  .sec-movieA {
    margin-bottom: calc(112 * 0.625 / 375 * 100vw);
  }
}
.sec-movieA .movieA-copy {
  width: 33.6%;
}

.sec-movieB {
  overflow-x: clip;
}
.sec-movieB .movieB-copy {
  width: 33.6%;
}

.sec-enjoyA {
  height: 766px;
}
@media screen and (max-width: 1535px) {
  .sec-enjoyA {
    height: calc(766px * 0.75);
  }
}
@media screen and (max-width: 600px) {
  .sec-enjoyA {
    height: calc(766 * 0.625 / 375 * 100vw);
  }
}

.sec-dishMenuA {
  padding-bottom: 96px;
}
@media screen and (max-width: 1535px) {
  .sec-dishMenuA {
    padding-bottom: calc(96px * 0.75);
  }
}
@media screen and (max-width: 600px) {
  .sec-dishMenuA {
    padding-bottom: calc(96 * 0.625 / 375 * 100vw);
  }
}

/* ディッシュB
===============================*/
.sec-dishMenuB {
  overflow-x: clip;
  padding-top: 283px;
  padding-bottom: 80px;
}
@media screen and (max-width: 1535px) {
  .sec-dishMenuB {
    padding-top: calc(283px * 0.75);
    padding-bottom: calc(80px * 0.75);
  }
}
@media screen and (max-width: 600px) {
  .sec-dishMenuB {
    padding-top: calc(283 * 0.625 / 375 * 100vw);
    padding-bottom: calc(80 * 0.625 / 375 * 100vw);
  }
}
.sec-dishMenuB .sec-movieC {
  margin-bottom: 123px;
}
@media screen and (max-width: 1535px) {
  .sec-dishMenuB .sec-movieC {
    margin-bottom: calc(123px * 0.75);
  }
}
@media screen and (max-width: 600px) {
  .sec-dishMenuB .sec-movieC {
    margin-bottom: calc(123 * 0.625 / 375 * 100vw);
  }
}
.sec-dishMenuB .sec-movieC .movieC-copy {
  width: 33.6%;
}
.sec-dishMenuB .sec-movieD .movieD-copy {
  width: 43.68%;
}
.sec-dishMenuB .sec-enjoyB {
  height: 734px;
}
@media screen and (max-width: 1535px) {
  .sec-dishMenuB .sec-enjoyB {
    height: calc(734px * 0.75);
  }
}
@media screen and (max-width: 600px) {
  .sec-dishMenuB .sec-enjoyB {
    height: calc(734 * 0.625 / 375 * 100vw);
  }
}

/* ディッシュC
===============================*/
.sec-dishMenuC {
  overflow-x: clip;
  padding-top: 238px;
  padding-bottom: 97px;
}
@media screen and (max-width: 1535px) {
  .sec-dishMenuC {
    padding-top: calc(238px * 0.75);
    padding-bottom: calc(97px * 0.75);
  }
}
@media screen and (max-width: 600px) {
  .sec-dishMenuC {
    padding-top: calc(238 * 0.625 / 375 * 100vw);
    padding-bottom: calc(97 * 0.625 / 375 * 100vw);
  }
}
.sec-dishMenuC .sec-movieE .movieE-copy {
  width: 33.6%;
}
.sec-dishMenuC .sec-enjoyC {
  height: 768px;
}
@media screen and (max-width: 1535px) {
  .sec-dishMenuC .sec-enjoyC {
    height: calc(768px * 0.75);
  }
}
@media screen and (max-width: 600px) {
  .sec-dishMenuC .sec-enjoyC {
    height: calc(768 * 0.625 / 375 * 100vw);
  }
}

/* 月見セクション
===============================*/
.date_stars {
  top: 1.2%;
}

.sec-date {
  padding-top: 239px;
}
@media screen and (max-width: 1535px) {
  .sec-date {
    padding-top: calc(239px * 0.75);
  }
}
@media screen and (max-width: 600px) {
  .sec-date {
    padding-top: calc(239 * 0.625 / 375 * 100vw);
  }
}
.sec-date .sec-title {
  width: 67.7%;
}
.sec-date .date-img-0907, .sec-date .date-img-0908 {
  padding-bottom: 60px;
}
@media screen and (max-width: 1535px) {
  .sec-date .date-img-0907, .sec-date .date-img-0908 {
    padding-bottom: calc(60px * 0.75);
  }
}
@media screen and (max-width: 600px) {
  .sec-date .date-img-0907, .sec-date .date-img-0908 {
    padding-bottom: calc(60 * 0.625 / 375 * 100vw);
  }
}

/* TV-CM セクション
===============================*/
.sec-cm {
  padding-bottom: 114px;
}
@media screen and (max-width: 1535px) {
  .sec-cm {
    padding-bottom: calc(114px * 0.75);
  }
}
@media screen and (max-width: 600px) {
  .sec-cm {
    padding-bottom: calc(114 * 0.625 / 375 * 100vw);
  }
}
.sec-cm .youtube {
  width: 100%;
  height: 330px;
}
@media screen and (max-width: 1535px) {
  .sec-cm .youtube {
    height: 257px;
  }
}
@media screen and (max-width: 600px) {
  .sec-cm .youtube {
    height: 55vw;
  }
}

/* キャンペーン セクション
===============================*/
.sec-cp {
  width: 80.8%;
  padding-bottom: 205px;
}
@media screen and (max-width: 1535px) {
  .sec-cp {
    padding-bottom: calc(205px * 0.75);
  }
}
@media screen and (max-width: 600px) {
  .sec-cp {
    padding-bottom: calc(205 * 0.625 / 375 * 100vw);
  }
}
.sec-cp .banner-img {
  border-radius: 25px;
}

/* 店舗検索セクション
===============================*/
.sec-banner-link {
  padding-bottom: 179px;
  overflow-x: clip;
}
@media screen and (max-width: 1535px) {
  .sec-banner-link {
    padding-bottom: calc(179px * 0.75);
  }
}
@media screen and (max-width: 600px) {
  .sec-banner-link {
    padding-bottom: calc(179 * 0.625 / 375 * 100vw);
  }
}
.sec-banner-link .banner-moon {
  width: 61.3%;
  top: -15%;
  left: 0;
}
.sec-banner-link .banner-link-01 {
  width: 75.4%;
  margin-left: auto;
}
.sec-banner-link .banner-link-01 .banner-text-01 {
  width: 23.8%;
  top: 21%;
  right: 10.9%;
}
.sec-banner-link .banner-link-01 .banner-usagi-01 {
  width: 44.68%;
  top: 28.5%;
  right: 34.5%;
}
.sec-banner-link .banner-link-02 {
  width: 69.6%;
  margin-top: -62px;
}
@media screen and (max-width: 1535px) {
  .sec-banner-link .banner-link-02 {
    margin-top: calc(-62px * 0.75);
  }
}
@media screen and (max-width: 600px) {
  .sec-banner-link .banner-link-02 {
    margin-top: calc(-62 * 0.625 / 375 * 100vw);
  }
}
.sec-banner-link .banner-link-02 .banner-text-02 {
  width: 31.4%;
  top: 21.2%;
  left: 14.5%;
}
.sec-banner-link .banner-link-02 .banner-usagi-02 {
  width: 48.27%;
  top: 28%;
  left: 46%;
}/*# sourceMappingURL=style.css.map */