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

body {
  width: 100%;
  padding: 0;
  margin: 0;
  position: relative;
}

/* all */
h1, h2, h3, h4, h5, p, dt, dd, li, th, td, address, strong, em, table, dl, ul, ol, img,
article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
  padding: 0;
  margin: 0;
  background: transparent;
}

/* font */
h1, h2, h3, h4, h5, p, dt, dd, li, th, td, a, address, strong, em, form, input, textarea, select, submit,
article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
  color: inherit;
  line-height: inherit;
  font-family: inherit;
  font-size: inherit;
}

/* indivisual */
a {
  border: none;
  color: inherit;
  word-wrap: break-word;
  text-decoration: underline;
  position: relative;
}
a:hover {
  opacity: 1;
  text-decoration: none;
}

a:hover {
  text-decoration: none;
}

address, em {
  font-style: normal;
}

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

img {
  display: block;
  border: none;
}

html {
  scroll-behavior: smooth;
}

body {
  color: #E1E1E1;
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 500;
  -webkit-font-smoothing: antialiased;
  line-height: 1;
  letter-spacing: 0.05em;
  text-align: justify;
  background: #2a2a2a;
  position: relative;
}
body::before {
  content: "";
  width: 70vw;
  aspect-ratio: 1/1;
  border-radius: 70rem;
  opacity: 0.06;
  background: #D9D9D9;
  filter: blur(120px);
  position: fixed;
  left: 32.5vw;
  top: -15.5728587319vh;
  z-index: -2;
}
@media only screen and (max-width: 999px) {
  body::before {
    width: 70rem;
    left: unset;
    right: -34rem;
    top: -7.5rem;
  }
}
body::after {
  content: "";
  width: 60vw;
  aspect-ratio: 1/1;
  border-radius: 60rem;
  opacity: 0.08;
  background: #8A4E16;
  filter: blur(120px);
  position: fixed;
  left: 2.5vw;
  top: 22.2469410456vh;
  z-index: -2;
}
@media only screen and (max-width: 999px) {
  body::after {
    width: 60rem;
    left: -34rem;
    top: unset;
    bottom: -16.3125rem;
  }
}

a {
  text-decoration: none;
}

img {
  max-width: 100%;
  height: auto;
}

.cm_h2 {
  position: relative;
}
.cm_h2 .en {
  display: block;
}
@media only screen and (max-width: 999px) {
  .cm_h2 .en {
    width: auto;
    height: 3.125rem;
  }
}
@media only screen and (max-width: 999px) {
  .cm_h2 .en img {
    width: auto;
    height: 100%;
  }
}
.cm_h2 .jp {
  font-size: 1.875rem;
  font-weight: 700;
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
}
@media only screen and (max-width: 999px) {
  .cm_h2 .jp {
    font-size: 1.625rem;
  }
}

@media only screen and (min-width: 1000px) {
  .cm_flex {
    display: flex;
  }
}
@media only screen and (min-width: 1000px) {
  .cm_flex2 {
    display: flex;
  }
}
.cm_link {
  display: block;
  width: 18.75rem;
  height: 3.75rem;
  border: 0.0625rem solid #E1E1E1;
  border-radius: 3.125rem;
  background-color: #E1E1E1;
  position: relative;
  transition: 0.325s ease-in-out;
  z-index: 2;
}
@media only screen and (max-width: 999px) {
  .cm_link {
    margin: 0 auto;
  }
}
.cm_link span {
  font-size: 1.125rem;
  font-weight: 700;
  color: #2a2a2a;
  white-space: nowrap;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
.cm_link:hover {
  background-color: #2a2a2a;
}
.cm_link:hover span {
  color: #E1E1E1;
}

.cm_recruit {
  width: 100%;
  height: 30.7291666667vw;
  background: url(../img/index/recruit_bg.jpg) center/cover no-repeat;
  position: relative;
  z-index: 1;
}
@media only screen and (max-width: 999px) {
  .cm_recruit {
    background: url(../img/index/_reruit_bg.jpg) center/cover no-repeat;
    height: 20.6875rem;
  }
}
.cm_recruit .wrap {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
@media only screen and (max-width: 999px) {
  .cm_recruit .wrap {
    width: calc(100% - 4rem);
    position: relative;
    top: 3.125rem;
    transform: translateX(-50%);
  }
}
.cm_recruit .wrap h2 {
  width: 29.934375vw;
  height: auto;
  margin: 0 auto;
}
@media only screen and (max-width: 999px) {
  .cm_recruit .wrap h2 {
    width: 100%;
  }
}
.cm_recruit .wrap h2 img {
  width: 100%;
  height: auto;
}
@media only screen and (max-width: 999px) {
  .cm_recruit .wrap .inner {
    background-color: #99CDE4;
    margin: 0 calc(50% - 50vw);
    padding-bottom: 5.625rem;
  }
}
.cm_recruit .wrap .inner p {
  font-size: 0.9375vw;
  font-weight: 400;
  line-height: 2.555;
  color: #fff;
  text-align: center;
  margin: calc(2.8390625vw - 0.777em) 0 -0.777em;
}
@media only screen and (max-width: 999px) {
  .cm_recruit .wrap .inner p {
    width: calc(100% - 4rem);
    font-size: 1.125rem;
    line-height: 1.75;
    margin: calc(12.62rem - 0.375em) auto -0.375em;
    padding-top: 3.125rem;
  }
}
.cm_recruit .wrap .inner .cm_link {
  margin: 2.150625rem auto 0;
}

.cm_contact {
  max-width: 67.5rem;
  width: calc(100% - 4rem);
  background-color: #fff;
  border-radius: 0.625rem;
  margin: 11.615rem auto 0;
  padding: 5.565rem 0 5.739375rem;
  position: relative;
}
.cm_contact::after {
  content: "";
  width: 15rem;
  height: 12.125rem;
  background: url(../img/airplane2.svg) center/cover no-repeat;
  position: absolute;
  left: 49.600625rem;
  top: -2.353125rem;
}
@media only screen and (max-width: 999px) {
  .cm_contact::after {
    width: 5rem;
    height: 3.5625rem;
    right: -2rem;
    left: unset;
  }
}
@media only screen and (max-width: 999px) {
  .cm_contact {
    max-width: 100%;
    margin: 7.5rem auto 0;
    padding: 3.125rem 2rem;
  }
}
.cm_contact .cm_h2 .en {
  width: 40.183125rem;
  max-width: 40.183125rem;
  height: auto;
  margin: 0 auto;
}
@media only screen and (max-width: 999px) {
  .cm_contact .cm_h2 .en {
    width: 100%;
  }
}
.cm_contact .cm_h2 .en img {
  width: 100%;
  height: auto;
}
.cm_contact .cm_h2 .jp {
  white-space: nowrap;
  left: 50%;
  bottom: -1.89875rem;
  top: unset;
  transform: translateX(-50%);
}
@media only screen and (max-width: 999px) {
  .cm_contact .cm_h2 .jp {
    font-size: 2rem;
    bottom: -1rem;
  }
}
.cm_contact .wrap {
  width: 34.2925rem;
  margin: 0 auto 0;
}
@media only screen and (max-width: 999px) {
  .cm_contact .wrap {
    width: 100%;
  }
}
.cm_contact .wrap .cm_flex {
  align-items: flex-end;
  justify-content: space-between;
}
.cm_contact .wrap .cm_flex:first-child .txt_box dl dt {
  margin: calc(4.511875rem - 0.1em) 0 -0.1em;
}
.cm_contact .wrap .cm_flex .txt_box dl dt {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.2;
  margin: calc(1.74375rem - 0.1em) 0 -0.1em;
}
.cm_contact .wrap .cm_flex .txt_box dl dd {
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: -0.02em;
  margin: calc(1.045rem - 0.25em) 0 -0.25em;
}
.cm_contact .wrap .cm_flex span {
  display: block;
}
@media only screen and (max-width: 999px) {
  .cm_contact .wrap .cm_flex span {
    margin-top: 1rem;
  }
}
.cm_contact .wrap .cm_flex .tell {
  display: flex;
  align-items: center;
  gap: 0 0.47875rem;
}
.cm_contact .wrap .cm_flex .tell .blue_bg {
  display: block;
  width: 3.75rem;
  height: 1.25rem;
  background-color: #149AE6;
  position: relative;
}
.cm_contact .wrap .cm_flex .tell .blue_bg strong {
  color: #fff;
  position: absolute;
  left: 50%;
  top: calc(50% - 0.05em);
  transform: translate(-50%, -50%);
}
.cm_contact .wrap .cm_flex .tell span {
  letter-spacing: -0.07em;
}
.cm_contact .wrap .cm_link {
  margin: 2.88625rem auto 0;
}
.cm_contact .wrap .cm_link span {
  letter-spacing: -0.07em;
  white-space: nowrap;
}

.cm_insta {
  position: fixed;
  left: 2rem;
  bottom: 7rem;
  z-index: 1;
}
.cm_insta a {
  position: relative;
}
.cm_insta a:hover .instagram {
  visibility: hidden;
}
.cm_insta a:hover .wrap {
  visibility: visible;
}
.cm_insta a .instagram {
  width: 5rem;
  height: 5rem;
  background-color: #fff;
  border-radius: 3.125rem;
  box-shadow: 0px 0px 23px -5px #149AE6;
  position: absolute;
}
.cm_insta a .instagram span {
  display: block;
  width: 2.5rem;
  height: auto;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
.cm_insta a .instagram span img {
  width: 100%;
  height: auto;
}
.cm_insta a .wrap {
  display: flex;
  align-items: center;
  width: 19.875rem;
  height: 5rem;
  background-color: #fff;
  border-radius: 3.125rem;
  box-shadow: 0px 0px 23px -5px #149AE6;
  visibility: hidden;
  position: absolute;
  transition: opacity 0.75s cubic-bezier(0.25, 1, 0.5, 1), visibility 0.75s cubic-bezier(0.25, 1, 0.5, 1);
}
.cm_insta a .wrap .insta {
  width: 5rem;
  height: 5rem;
  border-radius: 3.125rem;
  margin-right: 0.7425rem;
  position: relative;
}
.cm_insta a .wrap .insta img {
  width: 100%;
  height: auto;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
.cm_insta a .wrap .insta_line {
  width: 5.841875rem;
  height: auto;
  margin-top: 0.625rem;
  margin-right: 1.209375rem;
  position: relative;
}
.cm_insta a .wrap .insta_line::after {
  content: "";
  width: 0.0625rem;
  height: calc(100% - 0.9375rem);
  background-color: #cccccc;
  position: absolute;
  right: -0.6046875rem;
  top: calc(50% - 0.3125rem);
  transform: translateY(-50%);
}
.cm_insta a .wrap .insta_line img {
  width: 100%;
  height: auto;
}
.cm_insta a .wrap span {
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 3.395;
}

.cm_top {
  display: flex;
  align-items: center;
  gap: 0 1.0625rem;
  position: fixed;
  right: 2rem;
  bottom: 4.5rem;
  z-index: 1;
}
.cm_top .top_button {
  width: 5rem;
  height: 5rem;
  background-color: #000;
  border-radius: 3.125rem;
  position: absolute;
  right: 0;
}
.cm_top .top_button::before {
  content: "";
  width: 0.625rem;
  height: 0.5rem;
  background: url(../img/triangle.svg) center/cover no-repeat;
  position: absolute;
  left: 50%;
  top: 0.9275rem;
  transform: translateX(-50%);
}
.cm_top .top_button span {
  font-size: 1.75rem;
  font-weight: 700;
  font-family: "Great Vibes", cursive;
  color: #fff;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

.cm_txt_scroll {
  width: 100vw;
  height: 6.6666666667vw;
  overflow: hidden;
}
@media only screen and (max-width: 999px) {
  .cm_txt_scroll {
    height: 16.6666666667vw;
  }
}
.cm_txt_scroll .mask {
  display: flex;
  max-width: inherit;
  height: 6.6666666667vw;
  position: absolute;
  top: 0;
  left: 0;
  animation: a_scroll 20s linear infinite;
}
@media only screen and (max-width: 999px) {
  .cm_txt_scroll .mask {
    height: 16.6666666667vw;
  }
}
.cm_txt_scroll .mask img {
  width: auto;
  max-width: inherit;
  height: 6.6666666667vw;
}
@media only screen and (max-width: 999px) {
  .cm_txt_scroll .mask img {
    height: 16.6666666667vw;
  }
}

@keyframes a_scroll {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}
.blurIn {
  transition: 0.75s linear;
  opacity: 0;
  filter: blur(16px);
}
.blurIn.play {
  opacity: 1;
  filter: blur(0);
}

.fadeIn {
  transition: 0.75s linear;
  opacity: 0;
}
.fadeIn.play {
  opacity: 1;
}

.slideUp {
  transition: transform 0.75s cubic-bezier(0.25, 1, 0.5, 1), opacity 1s linear;
  transform: translateY(2rem);
  opacity: 0;
}
.slideUp.play {
  transform: translateY(0);
  opacity: 1;
}

.slideLeft {
  transition: transform 0.75s cubic-bezier(0.25, 1, 0.5, 1), opacity 1s linear;
  opacity: 0;
}
.slideLeft.play {
  transform: translate(0);
  opacity: 1;
}
@media only screen and (min-width: 1000px) {
  .slideLeft {
    transform: translateX(2rem);
  }
}
@media only screen and (max-width: 999px) {
  .slideLeft {
    transform: translateY(2rem);
  }
}

.slideRight {
  transition: transform 0.75s cubic-bezier(0.25, 1, 0.5, 1), opacity 1s linear;
  opacity: 0;
}
.slideRight.play {
  transform: translate(0);
  opacity: 1;
}
@media only screen and (min-width: 1000px) {
  .slideRight {
    transform: translateX(-2rem);
  }
}
@media only screen and (max-width: 999px) {
  .slideRight {
    transform: translateY(2rem);
  }
}

@media only screen and (min-width: 1000px) {
  .slideUp.delay,
  .slideLeft.delay,
  .slideRight.delay {
    transition-delay: 0.125s;
  }
  .slideUp.delay2,
  .slideLeft.delay2,
  .slideRight.delay2 {
    transition-delay: 0.25s;
  }
  .slideUp.delay3,
  .slideLeft.delay3,
  .slideRight.delay3 {
    transition-delay: 0.375s;
  }
  .slideUp.delay4,
  .slideLeft.delay4,
  .slideRight.delay4 {
    transition-delay: 0.5s;
  }
  .slideUp.delay5,
  .slideLeft.delay5,
  .slideRight.delay5 {
    transition-delay: 0.625s;
  }
}

@keyframes scroll-left {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
header {
  width: 100%;
  height: 0;
  overflow: hidden;
  z-index: 3;
}
@media only screen and (max-width: 999px) {
  header {
    max-width: unset;
    width: 100%;
    height: 0;
    left: unset;
    top: unset;
    transform: unset;
  }
}
@media only screen and (min-width: 1000px) {
  header.past-fv .nav {
    transform: translateY(0);
    opacity: 1;
    pointer-events: auto;
  }
}
header.show .menu div::before {
  display: none;
}
header.show .menu div.bar {
  top: 50% !important;
  transform: translate(0%, -50%) rotate(30deg);
}
header.show .menu div.bar2 {
  opacity: 0;
}
header.show .menu div.bar3 {
  width: 3.5rem;
  top: 50% !important;
  transform: translate(0%, -50%) rotate(-30deg);
}
header.show .wrap {
  position: fixed;
}
header.show .wrap .img {
  display: block;
}
header.show .wrap span:nth-child(4) {
  display: block;
}
header.show nav {
  pointer-events: auto;
  visibility: visible;
}
header.show nav::before {
  transition-delay: 0.125s;
  opacity: 1;
  filter: blur(0);
}
header.show nav::after {
  transition-delay: 0.25s;
  opacity: 1;
}
header.show nav .nav_area .nav_menu {
  transition-delay: 0.25s;
  transform: translateX(0);
  opacity: 1;
}
header.show nav .nav_area .nav_menu li {
  opacity: 1;
  transform: translateY(0);
  filter: blur(0);
}
header.show nav .nav_area .nav_menu li:nth-child(1) {
  transition-delay: 0.1s;
}
header.show nav .nav_area .nav_menu li:nth-child(2) {
  transition-delay: 0.16s;
}
header.show nav .nav_area .nav_menu li:nth-child(3) {
  transition-delay: 0.22s;
}
header.show nav .nav_area .nav_menu li:nth-child(4) {
  transition-delay: 0.28s;
}
header.show nav .nav_area .nav_menu li:nth-child(5) {
  transition-delay: 0.34s;
}
header.show nav .nav_area .nav_menu li:nth-child(6) {
  transition-delay: 0.4s;
}
header.show nav .nav_area .nav_menu li:nth-child(7) {
  transition-delay: 0.46s;
}
header.show .nav {
  transform: translateY(-100%);
}
header .h1 {
  position: absolute;
  left: 2rem;
  top: 2rem;
  z-index: 2;
}
@media only screen and (max-width: 999px) {
  header .h1 {
    left: 2rem;
    top: 1.5rem;
  }
}
header .h1 .logo {
  display: block;
  width: 2.5rem;
  height: auto;
}
header .h1 .logo img {
  width: 100%;
  height: auto;
}
header .h1 .logo_line {
  display: block;
  width: 1.75rem;
  height: auto;
  margin: 0.776875rem 0.4375rem 0 0.3125rem;
}
header .h1 .logo_line img {
  width: 100%;
  height: auto;
}
header .wrap {
  position: absolute;
  right: 3rem;
  top: 2.5rem;
  z-index: 99;
}
@media only screen and (max-width: 999px) {
  header .wrap {
    position: fixed;
    right: 2rem;
    top: 2rem;
  }
}
header .wrap .menu {
  cursor: pointer;
  width: 3.5rem;
  height: 1rem;
  position: absolute;
  right: 0;
  top: 0;
  line-height: 0;
}
header .wrap .menu div {
  width: 3.5rem;
  height: 1px;
  background-color: #e1e1e1;
  position: absolute;
  left: 0;
  transition: 0.375s cubic-bezier(0.25, 1, 0.5, 1);
  transform: translateY(-50%);
  z-index: 1;
}
header .wrap .menu div.bar {
  top: calc(50% - 0.5rem);
}
header .wrap .menu div.bar2 {
  top: 50%;
}
header .wrap .menu div.bar3 {
  top: calc(50% + 0.5rem);
}
header .wrap .menu div::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 1px;
  background-color: rgba(225, 225, 225, 0.4);
  transform-origin: 50% 50%;
  z-index: 0;
}
header .wrap .menu div.bar::before {
  top: 0.25rem;
  transform: rotate(172deg);
}
header .wrap .menu div.bar2::before {
  top: 0.25rem;
  transform: rotate(172deg);
}
header .wrap .menu div.bar3::before {
  display: none;
}
header .wrap span {
  color: #FFF;
  font-size: 0.5rem;
  font-weight: 400;
  line-height: 2;
  /* 16px */
  letter-spacing: 0.25em;
  position: absolute;
  right: 0.75rem;
  top: 1.625rem;
}
header .wrap span:nth-child(4) {
  letter-spacing: 0.05em;
  position: absolute;
  right: 0.4375rem;
  top: 7.25rem;
}
@media only screen and (max-width: 999px) {
  header .wrap span:nth-child(4) {
    display: none;
    transition: 0.25s ease;
  }
}
header .wrap .img {
  width: 1.75rem;
  height: auto;
  position: absolute;
  right: 0.875rem;
  top: 5rem;
}
@media only screen and (max-width: 999px) {
  header .wrap .img {
    display: none;
    transition: 0.25s ease;
  }
}
header nav {
  display: block;
  width: 32.5rem;
  height: 100vh;
  padding-bottom: 3rem;
  position: fixed;
  top: 0;
  right: 0;
  z-index: 3;
  pointer-events: none;
}
@media only screen and (max-width: 999px) {
  header nav {
    width: 100%;
  }
}
header nav::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(79, 79, 79, 0.4);
  position: absolute;
  top: 0;
  left: 0;
  z-index: -11;
  transition: 0.375s linear;
  opacity: 0;
  filter: blur(16px);
  -webkit-backdrop-filter: blur(8px);
          backdrop-filter: blur(8px);
}
header nav::after {
  content: "";
  display: block;
  width: 4.5rem;
  height: 10.529375rem;
  background: url(../img/footer_logo.svg) center/contain no-repeat;
  position: absolute;
  bottom: 2.5rem;
  right: 3rem;
  transition: 0.375s linear;
  opacity: 0;
}
header nav .nav_area {
  margin: 6rem 0 0 4rem;
}
header nav .nav_area .nav_menu {
  transition: 0.75s cubic-bezier(0.25, 1, 0.5, 1);
  transform: translateX(0.5rem);
  opacity: 0;
}
header nav .nav_area .nav_menu li {
  margin: 2rem 0 0 0;
  position: relative;
}
header nav .nav_area .nav_menu li:first-child::before {
  content: "";
  width: 0.25rem;
  height: 0.25rem;
  border-radius: 50%;
  background: #fff;
  top: 0.5rem;
  left: -0.875rem;
  transform: unset;
}
header nav .nav_area .nav_menu li::before {
  content: "";
  width: 0.5rem;
  aspect-ratio: 6/3;
  border-radius: unset;
  background: url(../img/triangle.svg) center/cover no-repeat;
  position: absolute;
  left: -0.875rem;
  top: 50%;
  transform: translateY(-50%);
}
header nav .nav_area .nav_menu li span {
  display: block;
  color: #FFF;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1;
  /* 36px */
  letter-spacing: 0.15em;
}
header nav .nav_area .nav_menu li a {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  color: #FFF;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1;
  /* 36px */
  letter-spacing: 0.15em;
}
header nav .nav_area .nav_menu li .meal {
  margin: 1rem 0 0 1.25rem;
}
header nav .nav_area .nav_menu li .meal li {
  margin-top: 1rem;
}
header nav .nav_area .nav_menu li .meal li:first-child::before {
  content: "";
  width: 0.5rem;
  aspect-ratio: 6/3;
  border-radius: unset;
  background: url(../img/triangle.svg) center/cover no-repeat;
  position: absolute;
  left: -0.875rem;
  top: 50%;
  transform: translateY(-50%);
}
header nav .nav_area .nav_menu li .meal li a {
  color: #FFF;
  font-size: 1rem;
  font-weight: 400;
  line-height: 2;
  /* 32px */
  letter-spacing: 0.15em;
  margin: calc(1rem - 0.5em) 0 -0.5em;
}
header nav .nav_area .nav_menu li.tell {
  margin: 5.5rem 0 0 -0.875rem;
}
header nav .nav_area .nav_menu li.tell::before {
  display: none;
}
header nav .nav_area .nav_menu li.tell::after {
  content: "";
  width: 20rem;
  height: 0.0625rem;
  background-color: rgba(225, 225, 225, 0.2);
  position: absolute;
  left: 0;
  top: -3rem;
}
header nav .nav_area .nav_menu li.tell a {
  width: 18.0625rem;
  height: auto;
}
header nav .nav_area .nav_menu li.tell a img {
  width: 100%;
  height: auto;
}
header nav .nav_area .nav_menu li.mail {
  margin: 2.0625rem 0 0 0.5rem;
}
header nav .nav_area .nav_menu li.mail::before {
  width: 0.975625rem;
  height: 0.75rem;
  background: url(../img/mail.svg) center/cover no-repeat;
  top: calc(50% + 1px);
  left: -1.375rem;
}
header nav .nav_area .nav_menu li.mail a {
  display: block;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 2;
  /* 28px */
  letter-spacing: 0.15em;
  margin: -0.5em 0;
}
header nav .img {
  display: block;
  width: 4.5rem;
  margin: 2.8125rem 2rem 0 auto;
}
@media only screen and (min-width: 1000px) {
  header .nav {
    height: 5rem;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 100;
    transition: 0.75s cubic-bezier(0.25, 1, 0.5, 1);
    transform: translateY(-100%);
    opacity: 0;
    pointer-events: none;
  }
}
@media only screen and (max-width: 999px) {
  header .nav {
    display: none;
  }
}
header .nav .cm_flex {
  height: 5rem;
  opacity: 0.9;
  background: #2A2A2A;
  background: linear-gradient(180deg, rgb(42, 42, 42) 0%, rgba(42, 42, 42, 0) 100%);
  position: relative;
}
@media only screen and (min-width: 1000px) {
  header .nav .cm_flex {
    align-items: center;
    justify-content: space-between;
  }
}
@media only screen and (max-width: 999px) {
  header .nav .cm_flex {
    height: 100vh;
  }
}
header .nav .cm_flex li.logo_img {
  width: 2.5rem;
  height: auto;
  margin: 0 0 0 2rem;
  transition: 0.25s ease-in;
}
@media only screen and (max-width: 999px) {
  header .nav .cm_flex li.logo_img {
    margin: 1.5rem 0 0 2rem;
  }
}
header .nav .cm_flex li.logo_img:hover {
  opacity: 0.5;
}
header .nav .cm_flex li.logo_img img {
  width: 100%;
  height: auto;
}
@media only screen and (min-width: 1000px) {
  header .nav .cm_flex li.nav_area .nav_menu {
    display: flex;
    align-items: center;
    gap: 0 2.5rem;
  }
}
header .nav .cm_flex li.nav_area a {
  display: block;
  color: #FFF;
  font-weight: 400;
  line-height: 2;
  /* 32px */
  letter-spacing: 0.15em;
  transition: 0.25s ease-in;
}
header .nav .cm_flex li.nav_area a:hover {
  opacity: 0.5;
}
header .nav .cm_flex li.nav_area a.instagram {
  width: 1.625rem;
  height: auto;
}
header .nav .cm_flex li.nav_area a.instagram img {
  width: 100%;
  height: auto;
}
header .nav .cm_flex li.nav_area a.tell {
  display: flex;
  align-items: center;
  gap: 0 0.6875rem;
  margin-right: 3.02625rem;
}
header .nav .cm_flex li.nav_area a.tell span {
  display: block;
  color: #FFF;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.05em;
  padding: 0.5rem 0;
  border-top: 0.0625rem solid #fff;
  border-bottom: 0.0625rem solid #fff;
}
header .nav .cm_flex li.nav_area a.tell .img {
  width: 10.661875rem;
  height: auto;
}
header .nav .cm_flex li.nav_area a.tell .img img {
  width: 100%;
  height: auto;
}

footer {
  width: 100%;
  padding-bottom: 6rem;
}
@media only screen and (max-width: 999px) {
  footer {
    padding-bottom: 8rem;
  }
}
footer .top_img {
  display: block;
  width: 3rem;
  height: auto;
  margin: 0 auto;
  position: relative;
}
footer .top_img::before, footer .top_img::after {
  content: "";
  width: calc(50vw - 6.5rem);
  height: 0.0625rem;
  background-color: #4F4F4F;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translate(-100%, -50%);
}
@media only screen and (max-width: 999px) {
  footer .top_img::before, footer .top_img::after {
    width: calc(50vw - 3.5rem);
  }
}
footer .top_img::after {
  left: auto;
  right: 0;
  transform: translate(100%, -50%);
}
footer .top_img img {
  width: 100%;
  height: auto;
  position: relative;
  z-index: 1;
}
footer .cm_flex {
  max-width: 80rem;
  width: calc(100% - 4rem);
  margin: 3.5rem auto 0;
}
@media only screen and (min-width: 1000px) {
  footer .cm_flex {
    align-items: center;
  }
}
@media only screen and (max-width: 999px) {
  footer .cm_flex {
    margin: 2rem auto 0;
  }
}
@media only screen and (min-width: 1000px) {
  footer .cm_flex .flex {
    display: flex;
    align-items: center;
  }
}
@media only screen and (max-width: 999px) {
  footer .cm_flex .flex {
    width: 100%;
  }
}
footer .cm_flex .flex .img {
  width: 4.786875rem;
  height: auto;
  margin-right: min(3.963125rem, 3.963125vw);
}
@media only screen and (max-width: 999px) {
  footer .cm_flex .flex .img {
    width: 3.5rem;
    margin: 0 auto;
  }
}
footer .cm_flex .flex .img img {
  width: 100%;
  height: auto;
}
footer .cm_flex .flex .txt_box .img2 {
  width: 23.5625rem;
  height: auto;
}
@media only screen and (max-width: 999px) {
  footer .cm_flex .flex .txt_box .img2 {
    margin: 3.0825rem auto 0;
  }
}
footer .cm_flex .flex .txt_box .img2 img {
  width: 100%;
  height: auto;
}
footer .cm_flex .flex .txt_box address {
  font-weight: 400;
  line-height: 2;
  /* 32px */
  letter-spacing: 0.05em;
  margin: calc(2.5rem - 0.5em) 0 -0.5em;
}
@media only screen and (max-width: 999px) {
  footer .cm_flex .flex .txt_box address {
    text-align: center;
  }
}
footer .cm_flex .link_box {
  width: 10.5rem;
  margin-left: auto;
}
@media only screen and (max-width: 999px) {
  footer .cm_flex .link_box {
    width: 100%;
    margin-top: 3rem;
  }
}
footer .cm_flex .link_box a {
  display: block;
  text-align: right;
  font-weight: 400;
  line-height: 2;
  /* 32px */
  letter-spacing: 0.05em;
  text-decoration-line: underline;
  transition: 0.25s ease-in;
}
@media only screen and (max-width: 999px) {
  footer .cm_flex .link_box a {
    text-align: center;
  }
}
footer .cm_flex .link_box a:hover {
  opacity: 0.7;
}

.cm_table, .post .wp-block-table table {
  width: 100%;
  border-collapse: collapse;
}
.cm_table th, .post .wp-block-table table th,
.cm_table td,
.post .wp-block-table table td {
  padding: 1rem 0 1rem;
  line-height: 2;
  border-bottom: 1px solid rgba(255, 255, 255, 0.4);
}
@media only screen and (max-width: 999px) {
  .cm_table th, .post .wp-block-table table th,
  .cm_table td,
  .post .wp-block-table table td {
    display: block;
    width: 100%;
  }
}
.cm_table th ul, .post .wp-block-table table th ul,
.cm_table td ul,
.post .wp-block-table table td ul {
  margin: 0;
}
.cm_table th ul li, .post .wp-block-table table th ul li,
.cm_table td ul li,
.post .wp-block-table table td ul li {
  line-height: 1.75;
  margin: calc(0.75rem - 0.375em) 0 -0.375rem;
}
@media only screen and (max-width: 999px) {
  .cm_table td, .post .wp-block-table table td {
    padding: 0 0 1rem;
  }
}
.cm_table th, .post .wp-block-table table th {
  font-weight: normal;
  text-align: left;
  vertical-align: top;
}
@media only screen and (max-width: 999px) {
  .cm_table th, .post .wp-block-table table th {
    padding: 1rem 0 0.25rem;
    border: none;
  }
}

.cm_btn, .post .wp-block-buttons .wp-block-button .wp-block-button__link {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%) translateY(50%);
}

.wp-block-table table {
  border: none;
}
.wp-block-table table tr {
  border: none;
}
.wp-block-table table tr th,
.wp-block-table table tr td {
  border: none;
}

.post .wp-block-image {
  width: 100%;
  margin: 2.5rem 0 0;
}
.post .wp-block-image.aligncenter img {
  margin: 0 auto;
}
.post .wp-block-image figcaption {
  line-height: 1.75;
  margin: calc(1rem - 0.375em) 0 -0.375em;
}
.post .aligncenter {
  text-align: center;
}
.post .aligncenterimg {
  display: block;
  margin: 2.5rem auto 0;
}
.post .aligncenter img {
  display: block;
  margin: 2.5rem auto 0;
}
.post .wp-block-table {
  margin-top: 2.5rem;
}
.post .wp-block-table.table_blue table {
  border-top: 2px solid #149AE6;
}
@media only screen and (max-width: 999px) {
  .post .wp-block-table.table_blue table {
    border-bottom: 2px solid #149AE6;
  }
}
.post .wp-block-table.table_blue table tbody tr:last-child th,
.post .wp-block-table.table_blue table tbody tr:last-child td {
  border-bottom: 2px solid #149AE6;
}
@media only screen and (max-width: 999px) {
  .post .wp-block-table.table_blue table tbody tr:last-child th,
  .post .wp-block-table.table_blue table tbody tr:last-child td {
    border: none;
  }
}
@media only screen and (max-width: 999px) {
  .post .wp-block-table.table_blue table tbody tr:last-child td:last-child {
    border-bottom: none;
  }
}
.post .wp-block-table.table_blue table tbody tr th {
  border-bottom: 1px dashed #149AE6;
}
@media only screen and (max-width: 999px) {
  .post .wp-block-table.table_blue table tbody tr th {
    border: none;
  }
}
.post .wp-block-table.table_blue table tbody tr td {
  border-bottom: 1px dashed #149AE6;
}
@media only screen and (max-width: 999px) {
  .post .wp-block-table.table_blue table tbody tr td {
    border-bottom: none;
  }
  .post .wp-block-table.table_blue table tbody tr td:last-child {
    border-bottom: 1px dashed #149AE6;
  }
}
.post .wp-block-table table {
  margin-top: 0 !important;
}
.post .wp-block-table figcaption {
  display: block;
  color: rgba(0, 0, 0, 0.5);
  font-size: 0.75rem;
  font-style: normal;
  line-height: 1.5;
  margin: calc(1.25rem - 0.25em) 0 -0.25em;
}
.post .wp-block-buttons .wp-block-button {
  text-align: center;
}
.post .wp-block-buttons .wp-block-button .wp-block-button__link {
  margin: 2.5rem auto 0;
}
.post .wp-block-columns {
  margin-top: 1rem;
}
@media only screen and (min-width: 1000px) {
  .post .wp-block-columns {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
  }
}
.post .wp-block-columns .wp-block-column > *:first-child {
  margin-top: 0;
}
.post .wp-block-quote {
  padding: 2.5rem;
  margin: 2.5rem 0 0;
  background: rgba(0, 159, 232, 0.06);
}
.post .wp-block-quote p {
  color: #149AE6;
  font-weight: 700;
  margin-top: -0.5em;
}
.post .wp-block-quote cite {
  display: block;
  color: rgba(0, 0, 0, 0.5);
  font-size: 0.75rem;
  font-style: normal;
  line-height: 1.5;
  margin: calc(1.25rem - 0.25em) 0 -0.25em;
}
.post .wp-block-preformatted {
  color: #149AE6;
  font-weight: normal;
  line-height: 2;
  padding: calc(2.5rem - 0.5em) 2.5rem;
  margin: 2.5rem 0 0;
  background: rgba(0, 159, 232, 0.06);
}
.post .wp-block-pullquote {
  margin: 2.5rem 0 0;
  border-top: 2px solid #149AE6;
  border-bottom: 2px solid #149AE6;
}
.post .wp-block-pullquote blockquote {
  padding: 2.5rem;
  margin: 0;
}
@media only screen and (max-width: 999px) {
  .post .wp-block-pullquote blockquote {
    padding: 2.5rem 0;
  }
}
.post .wp-block-pullquote blockquote p {
  color: #149AE6;
  font-weight: 700;
  margin-top: -0.5em;
}
.post .wp-block-pullquote blockquote cite {
  display: block;
  color: rgba(0, 0, 0, 0.5);
  font-size: 0.75rem;
  font-style: normal;
  line-height: 1.5;
  margin: calc(1.25rem - 0.25em) 0 -0.25em;
}
.post .has-text-align-center {
  text-align: center;
}
.post .has-text-align-right {
  text-align: right;
}
.post .wp-block-media-text {
  gap: 0 2rem;
  margin-top: 2rem;
}
.post .wp-block-media-text .wp-block-media-text__content {
  padding: 0;
}
.post .wp-block-media-text .wp-block-media-text__content > *:first-child {
  margin-top: 0;
}
.post .wp-block-media-text .wp-block-media-text__media {
  margin-bottom: 1rem;
}
.post .wp-block-media-text .wp-block-media-text__media > *:first-child {
  margin-top: 0;
}
.post .wp-block-group.is-layout-constrained {
  margin: 5rem calc(50% - 50vw) 0;
  padding: 5rem 0 8.1875rem;
  position: relative;
}
.post .wp-block-group.is-layout-constrained > *:first-child {
  margin-top: 0;
}
.post .wp-block-group.is-layout-constrained::before {
  content: "";
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  position: absolute;
  background: rgba(19, 175, 6, 0.08);
  z-index: -1;
}
.post .wp-block-gallery .wp-block-image {
  width: unset;
}

.post {
  margin: 5rem auto 0;
}
.post:first-child {
  margin: 0 auto;
}
.post h1 {
  color: #149AE6;
  font-size: 1.75rem;
  line-height: 1.5;
  padding-bottom: 0.5rem;
  border-bottom: 0.125rem solid #149AE6;
  position: relative;
}
.post h2,
.post .h2 {
  color: #149AE6;
  font-size: 1.25rem;
  font-weight: 900;
  line-height: 1.5;
  letter-spacing: 0.1em;
  margin: calc(5rem - 0.25em) 0 -0.25rem;
  position: relative;
}
@media only screen and (max-width: 999px) {
  .post h2,
  .post .h2 {
    margin: calc(4rem - 0.25em) 0 -0.25rem;
  }
}
.post h3 {
  color: #149AE6;
  font-size: 1.75rem;
  letter-spacing: 0.15em;
  line-height: 1.5;
  margin: calc(6rem - 0.25em) 0 -0.25rem;
}
@media only screen and (max-width: 999px) {
  .post h3 {
    letter-spacing: 0.1em;
    font-size: 1.5rem;
    margin: calc(4rem - 0.25em) 0 -0.25rem;
  }
}
.post h4 {
  color: #149AE6;
  font-size: 1.25rem;
  letter-spacing: 0.1em;
  line-height: 1.5;
  margin: calc(4rem - 0.25em) 0 -0.25em;
  border-bottom: 0.125rem solid #149AE6;
  padding-bottom: 0.25rem;
}
@media only screen and (max-width: 999px) {
  .post h4 {
    margin: calc(3rem - 0.25em) 0 -0.25em;
  }
}
.post h5 {
  color: #149AE6;
  line-height: 1.5;
  margin: calc(3rem - 0.25em) 0 -0.25em;
}
@media only screen and (max-width: 999px) {
  .post h5 {
    margin: calc(2rem - 0.25em) 0 -0.25em;
  }
}
.post p {
  line-height: 2;
  text-align: justify;
  margin: 1.5em 0 -0.5em;
}
.post p.date {
  margin: calc(1.5rem - 0.5em) 0 -0.5em;
}
.post ul,
.post ol {
  padding-left: 1.25rem;
  margin: 2rem 0 0 0.25em;
  list-style: square none;
}
.post ul li,
.post ol li {
  line-height: 2;
  margin: calc(1rem - 0.5em) 0 -0.5rem;
}
.post ul li:first-child,
.post ol li:first-child {
  margin-top: -0.5em;
}
.post ol {
  margin: 2rem 0 0 0.5em;
  list-style: decimal none;
}
.post img {
  margin: 2rem 0 0;
}
.post table {
  width: 100%;
  margin-top: 2rem;
  border-top: 1px solid rgba(0, 134, 209, 0.2);
}
.post table caption {
  caption-side: bottom;
  text-align: left;
  line-height: 1.75;
  margin-top: 0.75rem;
}
.post table tbody tr td,
.post table tbody tr th {
  vertical-align: top;
  padding: 0.625rem 0 0.625rem;
  line-height: 1.75;
  border-bottom: 1px solid rgba(0, 134, 209, 0.2);
}
.post table tbody tr th {
  padding-right: 1rem;
}
.post .red {
  color: red;
}

.mw_wp_form {
  margin-top: 3rem;
}
.mw_wp_form .need {
  display: inline-block;
  color: #F00C38;
  font-size: 0.75rem;
  padding-left: 0.5rem;
}
.mw_wp_form .error {
  color: #ff0033 !important;
  margin-top: 0.75em;
}
.mw_wp_form dl {
  position: relative;
}
.mw_wp_form dl:first-child dt {
  border-top: none;
}
@media only screen and (max-width: 999px) {
  .mw_wp_form dl:last-of-type {
    border: none;
  }
}
.mw_wp_form dl:last-of-type dt {
  display: block;
}
@media only screen and (min-width: 1000px) {
  .mw_wp_form dl {
    display: flex;
  }
}
.mw_wp_form dl:first-child {
  margin-top: 0;
}
.mw_wp_form dl dt {
  font-weight: bold;
  line-height: 1.5;
  color: #FFF;
  padding: 1.5rem 0rem;
}
@media only screen and (min-width: 1000px) {
  .mw_wp_form dl dt {
    width: 15.625rem;
    display: flex;
    align-items: center;
  }
}
@media only screen and (max-width: 999px) {
  .mw_wp_form dl dt {
    padding: 0.75rem 0rem;
  }
}
.mw_wp_form dl dd {
  padding: 1.25rem 0rem;
}
@media only screen and (min-width: 1000px) {
  .mw_wp_form dl dd {
    width: calc(100% - 15.625rem);
  }
}
@media only screen and (max-width: 999px) {
  .mw_wp_form dl dd {
    padding: 0.7692307692rem 0 1.1538461538rem;
  }
}
.mw_wp_form input[type=tel],
.mw_wp_form input[type=email],
.mw_wp_form input[type=text],
.mw_wp_form input[type=number],
.mw_wp_form textarea {
  display: block;
  width: 100%;
  line-height: 1.5;
  padding: 0.75em 1em;
  background: #fff;
  border: 1px solid #149AE6;
  border-radius: 0.5rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.mw_wp_form input[type=tel]::-moz-placeholder, .mw_wp_form input[type=email]::-moz-placeholder, .mw_wp_form input[type=text]::-moz-placeholder, .mw_wp_form input[type=number]::-moz-placeholder, .mw_wp_form textarea::-moz-placeholder {
  color: #C7C7C7;
}
.mw_wp_form input[type=tel]::placeholder,
.mw_wp_form input[type=email]::placeholder,
.mw_wp_form input[type=text]::placeholder,
.mw_wp_form input[type=number]::placeholder,
.mw_wp_form textarea::placeholder {
  color: #C7C7C7;
}
.mw_wp_form .btn {
  display: flex;
  justify-content: center;
  gap: 0 3.125rem;
  margin-top: 3.125rem;
}
@media only screen and (max-width: 999px) {
  .mw_wp_form .btn {
    flex-direction: column-reverse;
    gap: 2.0769230769rem 0;
    align-items: center;
  }
}
.mw_wp_form input[type=submit],
.mw_wp_form input[type=reset] {
  cursor: pointer;
  display: block;
  width: 18.75rem;
  color: #149AE6;
  background: #FFF;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0.2em;
  text-align: center;
  text-decoration: none;
  padding: 1.25rem 0;
  border-radius: 9999px;
  border: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  transition: 0.25s;
}
.mw_wp_form input[type=submit]:hover,
.mw_wp_form input[type=reset]:hover {
  opacity: 0.6;
}
.mw_wp_form input[type=reset] {
  color: #fff;
  border-radius: 0.3125rem;
}
.mw_wp_form select {
  display: block;
  width: 100%;
  line-height: 1.5;
  background: #fff;
  border: 1px solid #149AE6;
  border-radius: 0.5rem;
  padding: 0.75em 1em;
}
.mw_wp_form .radio {
  gap: 1.25rem;
  margin-top: 0.5rem;
}
.mw_wp_form .radio label {
  position: relative;
  cursor: pointer;
  padding-left: 1.875rem;
  margin-right: 0.625rem;
}
.mw_wp_form .radio label input {
  position: absolute;
  white-space: nowrap;
  border: 0;
  clip: rect(0 0 0 0);
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  overflow: hidden;
  height: 1px;
  width: 1px;
  margin: -1px;
  padding: 0;
}
.mw_wp_form .radio label:has(input:checked)::after {
  opacity: 1;
}
.mw_wp_form .radio label::before,
.mw_wp_form .radio label::after {
  content: "";
  display: block;
  border-radius: 50%;
  position: absolute;
  transform: translateY(-50%);
  top: 50%;
}
.mw_wp_form .radio label::before {
  background-color: #FFF;
  border: 1px solid #149AE6;
  border-radius: 50%;
  width: 20px;
  height: 20px;
  left: 0;
}
.mw_wp_form .radio label::after {
  background-color: #149AE6;
  border-radius: 50%;
  opacity: 0;
  width: 12px;
  height: 12px;
  left: 4px;
}
.mw_wp_form .radio input:checked + label::after {
  opacity: 1;
}
.mw_wp_form .radio .horizontal-item + .horizontal-item {
  margin-left: 0;
}
.mw_wp_form .radio_btn {
  position: absolute;
  white-space: nowrap;
  border: 0;
  clip: rect(0 0 0 0);
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  overflow: hidden;
  height: 1px;
  width: 1px;
  margin: -1px;
  padding: 0;
}
.mw_wp_form .check_box .mwform-checkbox-field .mwform-checkbox-field-text {
  display: none;
}
.mw_wp_form.mw_wp_form_confirm .input_text {
  display: none;
}
@media only screen and (min-width: 1000px) {
  .mw_wp_form.mw_wp_form_confirm dl dd {
    line-height: 1.5;
  }
}

/* wp-pagenavi */
.wp-pagenavi {
  text-align: center;
  margin-top: 10rem;
}
.wp-pagenavi a:active,
.wp-pagenavi a:hover,
.wp-pagenavi a:link,
.wp-pagenavi a:visited,
.wp-pagenavi .current {
  display: inline-block;
  width: 2.5em;
  height: 2.5em;
  color: #149AE6;
  font-weight: bold;
  text-align: center;
  text-decoration: none;
  border: 1px solid #149AE6;
  margin: 0 0.25em;
  border-radius: 0.25em;
  box-sizing: border-box;
  padding: 0.6em 0 0.3em;
}
.wp-pagenavi .pages {
  display: inline-block;
  width: 2em;
  height: 2em;
  color: #149AE6;
  font-weight: bold;
  line-height: 2em;
  text-align: center;
  text-decoration: none;
  border-bottom: 1px solid #149AE6;
  margin: 0 0.25em;
  box-sizing: border-box;
}
.wp-pagenavi a:active,
.wp-pagenavi a:hover,
.wp-pagenavi span.current {
  color: #fff;
  background: #149AE6;
}
.wp-pagenavi .extend {
  color: #149AE6;
}
.wp-pagenavi .last,
.wp-pagenavi .pages {
  width: 4em !important;
}

#index .contents .w1080 {
  max-width: 67.5rem;
  width: calc(100% - 4rem);
}
#index .contents .w1120 {
  max-width: 70rem;
  width: calc(100% - 4rem);
}
@media only screen and (max-width: 999px) {
  #index .contents #dinner {
    scroll-margin: 10rem;
  }
}
#index .contents #fv {
  height: 100vh;
  position: relative;
}
@media only screen and (max-width: 999px) {
  #index .contents #fv {
    height: 100svh;
  }
}
#index .contents #fv.active .h1 {
  transition-delay: 0.5s;
  opacity: 1;
  filter: blur(0);
}
#index .contents #fv .hero_img {
  width: calc(100% - 25vw - 10rem);
  height: 100%;
  position: absolute;
  right: 10rem;
  z-index: 1;
}
@media only screen and (max-width: 999px) {
  #index .contents #fv .hero_img {
    width: 100%;
    right: 0;
  }
  #index .contents #fv .hero_img::after {
    content: "";
    width: 100%;
    height: 100%;
    background: #2A2A2A;
    background: linear-gradient(0deg, rgba(42, 42, 42, 0.4) 40%, rgba(42, 42, 42, 0) 100%);
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
  }
}
@media only screen and (max-width: 999px) {
  #index .contents #fv .hero_img {
    width: 100%;
    margin: unset;
  }
}
#index .contents #fv .hero_img ul {
  width: 100%;
  height: 100%;
  overflow: hidden;
  position: relative;
}
#index .contents #fv .hero_img ul li {
  width: 100%;
  height: 100%;
  overflow: hidden;
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 0;
  opacity: 0;
}
#index .contents #fv .hero_img ul li.fade {
  z-index: 0;
}
#index .contents #fv .hero_img ul li.current {
  animation: a_zoom 5s linear 1 forwards;
  z-index: 1;
}
@keyframes a_zoom {
  0% {
    transform: scale(1);
    opacity: 0;
    filter: blur(8px);
  }
  20% {
    opacity: 1;
    filter: blur(0);
  }
  80% {
    opacity: 1;
    filter: blur(0);
  }
  100% {
    transform: scale(1.0375);
    opacity: 0;
    filter: blur(8px);
  }
}
#index .contents #fv .hero_img ul li img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#index .contents #fv .h1 {
  width: 7.5vw;
  height: auto;
  position: absolute;
  left: 20vw;
  bottom: 3.3333333333vw;
  z-index: 2;
  transition: 0.75s linear;
  transform: translateX(-100%);
  opacity: 0;
  filter: blur(16px);
}
@media only screen and (max-width: 999px) {
  #index .contents #fv .h1 {
    width: 7rem;
    left: 3rem;
    bottom: 3rem;
    transform: translateX(0%);
  }
}
#index .contents #fv .h1 img {
  width: 100%;
  height: auto;
}
#index .contents #index01 {
  margin-top: 12.5rem;
}
@media only screen and (max-width: 999px) {
  #index .contents #index01 {
    margin-top: 8rem;
  }
}
#index .contents #index01.fixed .scroll_area .scroll_images {
  position: fixed;
  top: 50%;
  transform: translateY(-50%);
}
#index .contents #index01.absolute .scroll_area .scroll_images {
  position: absolute;
  top: auto;
  bottom: 0;
  transform: translateY(0);
}
#index .contents #index01 .scroll_images_sp {
  width: 100%;
  overflow: hidden;
}
@media only screen and (min-width: 1000px) {
  #index .contents #index01 .scroll_images_sp {
    display: none;
  }
}
#index .contents #index01 .scroll_images_sp .flex {
  width: -moz-max-content;
  width: max-content;
  display: flex;
  animation: a_loop2 30s linear infinite;
}
#index .contents #index01 .scroll_images_sp .flex img {
  width: 20rem;
}
@keyframes a_loop2 {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-60rem);
  }
}
#index .contents #index01 .scroll_area {
  width: 100%;
  position: relative;
}
#index .contents #index01 .scroll_area .wrap {
  width: 35rem;
  margin: 0 0 0 max(2rem, 50% - 35rem);
}
@media only screen and (max-width: 999px) {
  #index .contents #index01 .scroll_area .wrap {
    width: calc(100% - 4rem);
    margin: 8rem auto 0;
  }
}
#index .contents #index01 .scroll_area .wrap h2 .en {
  display: block;
  font-family: "Great Vibes", cursive;
  font-size: 1.75rem;
  font-weight: 400;
  line-height: 2;
  /* 56px */
  letter-spacing: 0.1em;
  margin: -0.5em 0;
}
#index .contents #index01 .scroll_area .wrap h2 .jp {
  display: block;
  font-size: 3rem;
  font-weight: 400;
  line-height: 1.75;
  /* 84px */
  letter-spacing: 0.15em;
  margin: calc(4.5rem - 0.375em) 0 -0.375em;
}
#index .contents #index01 .scroll_area .wrap p {
  width: 35rem;
  font-weight: 400;
  line-height: 2.25;
  /* 36px */
  letter-spacing: 0.08em;
  margin: calc(3.5rem - 0.625em) 0 -0.625em;
}
@media only screen and (max-width: 999px) {
  #index .contents #index01 .scroll_area .wrap p {
    width: 100%;
    margin: calc(2.5rem - 0.625em) 0 -0.625em;
  }
}
#index .contents #index01 .scroll_area .wrap p:nth-child(2) {
  margin: calc(5rem - 0.625em) 0 -0.625em;
}
@media only screen and (max-width: 999px) {
  #index .contents #index01 .scroll_area .wrap p:nth-child(2) {
    margin: calc(3.5rem - 0.625em) 0 -0.625em;
  }
}
#index .contents #index01 .scroll_area .wrap .flex2 {
  margin-top: 6rem;
}
@media only screen and (min-width: 1000px) {
  #index .contents #index01 .scroll_area .wrap .flex2 {
    display: flex;
    align-items: flex-end;
    gap: 0 2rem;
  }
}
@media only screen and (max-width: 999px) {
  #index .contents #index01 .scroll_area .wrap .flex2 {
    margin-top: 5rem;
  }
}
#index .contents #index01 .scroll_area .wrap .flex2 .img2 {
  width: 20rem;
  height: auto;
}
@media only screen and (max-width: 999px) {
  #index .contents #index01 .scroll_area .wrap .flex2 .img2 {
    width: 17.5rem;
    margin: 0 auto;
  }
}
#index .contents #index01 .scroll_area .wrap .flex2 .img2 img {
  width: 100%;
  height: auto;
}
#index .contents #index01 .scroll_area .wrap .flex2 .wrap2 {
  padding-bottom: 2rem;
}
@media only screen and (max-width: 999px) {
  #index .contents #index01 .scroll_area .wrap .flex2 .wrap2 {
    width: 17.5rem;
    margin: 2rem auto 0;
  }
}
#index .contents #index01 .scroll_area .wrap .flex2 .wrap2 .position {
  display: block;
  font-weight: 400;
  line-height: 1.5;
  /* 24px */
  letter-spacing: 0.05em;
  margin: -0.25em 0;
}
@media only screen and (max-width: 999px) {
  #index .contents #index01 .scroll_area .wrap .flex2 .wrap2 .position {
    text-align: right;
  }
}
#index .contents #index01 .scroll_area .wrap .flex2 .wrap2 .name {
  display: block;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.5;
  /* 36px */
  letter-spacing: 0.05em;
  margin: calc(1.5rem - 0.25em) 0 -0.25em;
}
@media only screen and (max-width: 999px) {
  #index .contents #index01 .scroll_area .wrap .flex2 .wrap2 .name {
    text-align: right;
  }
}
#index .contents #index01 .scroll_area .wrap .flex2 .wrap2 .name_en {
  display: block;
  font-family: "Great Vibes", cursive;
  font-size: 0.625rem;
  font-weight: 400;
  line-height: 1.5;
  /* 15px */
  letter-spacing: 0.15em;
  margin: calc(0.875rem - 0.25em) 0 -0.25em;
}
@media only screen and (max-width: 999px) {
  #index .contents #index01 .scroll_area .wrap .flex2 .wrap2 .name_en {
    text-align: right;
  }
}
#index .contents #index01 .scroll_area .scroll_images {
  width: 55vw;
  overflow: hidden;
  position: absolute;
  top: 10.5rem;
  right: 0;
  z-index: -1;
  -webkit-mask-image: url(../img/index/mask.png);
          mask-image: url(../img/index/mask.png);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
          mask-size: 100% 100%;
}
@media only screen and (max-width: 999px) {
  #index .contents #index01 .scroll_area .scroll_images {
    display: none;
    width: 100%;
    margin-top: 8rem;
  }
}
#index .contents #index01 .scroll_area .scroll_images .flex {
  width: -moz-max-content;
  width: max-content;
  display: flex;
  align-items: center;
}
#index .contents #index01 .scroll_area .scroll_images .flex .img {
  width: 27.5vw;
  height: min(100vh - 12rem, 44.25rem);
}
@media only screen and (max-width: 999px) {
  #index .contents #index01 .scroll_area .scroll_images .flex .img {
    width: 20rem;
  }
}
#index .contents #index01 .scroll_area .scroll_images .flex .img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#index .contents #index01 .slideMask {
  width: 100%;
  overflow: hidden;
  position: relative;
  margin-top: 10rem;
}
@media only screen and (max-width: 999px) {
  #index .contents #index01 .slideMask {
    margin-top: 8rem;
  }
}
#index .contents #index01 .slideMask .slide {
  width: -moz-max-content;
  width: max-content;
  display: flex;
  align-items: center;
  animation: a_loop 45s linear infinite;
}
@media only screen and (max-width: 999px) {
  #index .contents #index01 .slideMask .slide {
    display: none;
  }
}
#index .contents #index01 .slideMask .slide li {
  width: 40rem;
  height: auto;
  flex-shrink: 0;
}
#index .contents #index01 .slideMask .slide li img {
  width: 100%;
  height: auto;
  aspect-ratio: 640/360;
  -o-object-fit: cover;
     object-fit: cover;
}
@keyframes a_loop {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-120rem);
  }
}
#index .contents #index01 .slideMask .images {
  display: flex;
  flex-wrap: wrap;
}
@media only screen and (min-width: 1000px) {
  #index .contents #index01 .slideMask .images {
    display: none;
  }
}
#index .contents #index01 .slideMask .images li {
  width: 50%;
}
#index .contents #index01 .slideMask .images li:nth-child(1) {
  width: 100%;
}
#index .contents #index01 .w1120 {
  font-weight: 400;
  line-height: 2;
  /* 32px */
  letter-spacing: 0.05em;
  margin: calc(1.75rem - 0.5em) auto -0.5em;
}
@media only screen and (max-width: 999px) {
  #index .contents #index01 .w1120 {
    text-align: center;
  }
}
#index .contents #index02 .w1120 {
  margin: 10rem auto 0;
}
@media only screen and (max-width: 999px) {
  #index .contents #index02 .w1120 {
    margin: 8rem auto 0;
  }
}
@media only screen and (min-width: 1000px) {
  #index .contents #index02 .w1120 .cm_flex {
    align-items: center;
    gap: 0 1.5rem;
  }
}
#index .contents #index02 .w1120 .cm_flex h2 {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.75;
  /* 42px */
  letter-spacing: 0.1em;
  margin: -0.375em 0;
}
#index .contents #index02 .w1120 .cm_flex .note {
  display: block;
  font-weight: 400;
  line-height: 2;
  /* 32px */
  letter-spacing: 0.05em;
}
@media only screen and (max-width: 999px) {
  #index .contents #index02 .w1120 .cm_flex .note {
    margin: calc(1.5rem - 0.5em) 0 -0.5em;
  }
}
#index .contents #index02 .w1120 .wrap table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 2rem;
}
#index .contents #index02 .w1120 .wrap table tbody tr {
  border-bottom: 0.0625rem solid #4B4B4B;
}
#index .contents #index02 .w1120 .wrap table tbody tr:first-child {
  border-top: 0.0625rem solid #4B4B4B;
}
@media only screen and (min-width: 1000px) {
  #index .contents #index02 .w1120 .wrap table tbody tr th dl {
    display: flex;
    align-items: center;
    gap: 0 min(1.625rem, 1.3541666667vw);
  }
}
#index .contents #index02 .w1120 .wrap table tbody tr th dl dt {
  text-align: center;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
  /* 30px */
  letter-spacing: 0.1em;
  margin: -0.25em 0 -0.25em min(1.625rem, 1.3541666667vw);
}
@media only screen and (max-width: 999px) {
  #index .contents #index02 .w1120 .wrap table tbody tr th dl dt {
    font-size: 0.9150625rem;
    margin: -0.25em 0 -0.25em;
  }
}
#index .contents #index02 .w1120 .wrap table tbody tr th dl dd {
  font-weight: 700;
  line-height: 1.5;
  /* 24px */
  letter-spacing: 0.1em;
  margin: -0.25em 0;
}
@media only screen and (min-width: 1000px) {
  #index .contents #index02 .w1120 .wrap table tbody tr th dl dd {
    display: flex;
    align-items: center;
  }
}
@media only screen and (max-width: 999px) {
  #index .contents #index02 .w1120 .wrap table tbody tr th dl dd {
    text-align: center;
    font-size: 0.549rem;
    margin: calc(0.45625rem - 0.25em) 0 -0.25em;
  }
}
#index .contents #index02 .w1120 .wrap table tbody tr th dl dd small {
  font-size: min(0.75rem, 0.625vw);
  margin-left: min(0.5rem, 0.4166666667vw);
}
#index .contents #index02 .w1120 .wrap table tbody tr td {
  width: min(9.5rem, 13.5714285714vw);
  height: min(4rem, 5.7142857143vw);
  text-align: center;
  font-weight: 700;
  vertical-align: middle;
  border-left: 0.0625rem solid #4B4B4B;
}
@media only screen and (max-width: 999px) {
  #index .contents #index02 .w1120 .wrap table tbody tr td {
    width: 4.6875rem;
    height: 2.875rem;
  }
}
#index .contents #index02 .w1120 .wrap table tbody tr td.plus {
  background-color: #383838;
}
#index .contents #index02 .w1120 .wrap table tbody tr td dl {
  padding: 1.0625rem 0;
}
@media only screen and (max-width: 999px) {
  #index .contents #index02 .w1120 .wrap table tbody tr td dl {
    padding: 0.7775rem 0 0.889375rem;
  }
}
#index .contents #index02 .w1120 .wrap table tbody tr td dl dt {
  text-align: center;
  font-size: 0.625rem;
  font-weight: 400;
  line-height: 1.75;
  /* 17.5px */
  letter-spacing: 0.1em;
  margin: -0.375em 0;
}
@media only screen and (max-width: 999px) {
  #index .contents #index02 .w1120 .wrap table tbody tr td dl dt {
    font-size: 0.4575rem;
  }
}
#index .contents #index02 .w1120 .wrap table tbody tr td dl dd {
  text-align: center;
  font-weight: 700;
  line-height: 1.5;
  /* 24px */
  letter-spacing: 0.1em;
  margin: calc(0.6875rem - 0.25em) 0 -0.25em;
}
@media only screen and (max-width: 999px) {
  #index .contents #index02 .w1120 .wrap table tbody tr td dl dd {
    font-size: 0.6405rem;
    margin: calc(0.51125rem - 0.25em) 0 -0.25em;
  }
}
#index .contents #index02 .w1120 .wrap .line {
  font-size: 0.549rem;
  font-weight: 700;
  line-height: 1.5;
  /* 13.176px */
  letter-spacing: 0.1em;
  margin: calc(0.731875rem - 0.25em) 0 -0.25em;
}
@media only screen and (min-width: 1000px) {
  #index .contents #index02 .w1120 .cm_flex2 {
    align-items: flex-start;
    gap: 0 6rem;
  }
}
#index .contents #index02 .w1120 .cm_flex2 .for_guests {
  width: calc((100% - 12rem) / 3);
  margin-top: 6rem;
  position: relative;
}
@media only screen and (max-width: 999px) {
  #index .contents #index02 .w1120 .cm_flex2 .for_guests {
    width: 100%;
  }
}
#index .contents #index02 .w1120 .cm_flex2 .for_guests::after {
  content: "";
  width: 0.0625rem;
  height: calc(100% + 0.5rem);
  background-color: #4F4F4F;
  position: absolute;
  left: -3rem;
  top: 0;
}
#index .contents #index02 .w1120 .cm_flex2 .for_guests:first-child dd:nth-child(3) {
  margin: calc(4.75rem - 0.5em) 0 -0.5em;
}
#index .contents #index02 .w1120 .cm_flex2 .for_guests:first-child::after {
  display: none;
}
#index .contents #index02 .w1120 .cm_flex2 .for_guests dt {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.75;
  /* 35px */
  letter-spacing: 0.1em;
  margin: -0.375em 0;
}
#index .contents #index02 .w1120 .cm_flex2 .for_guests dd {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 2;
  /* 28px */
  letter-spacing: 0.05em;
  margin: calc(3rem - 0.5em) 0 -0.5em;
}
#index .contents #index02 .w1120 .cm_flex2 .for_guests dd a {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.75;
  /* 24.5px */
  letter-spacing: 0.05em;
  position: relative;
  transition: 0.25s ease;
}
#index .contents #index02 .w1120 .cm_flex2 .for_guests dd a:hover {
  opacity: 0.7;
}
#index .contents #index02 .w1120 .cm_flex2 .for_guests dd a::after {
  content: "";
  width: 7rem;
  height: 0.125rem;
  background-color: #E1E1E1;
  position: absolute;
  left: 0;
  bottom: -0.375rem;
}
#index .contents #index03 {
  padding-bottom: 8.5rem;
}
@media only screen and (max-width: 999px) {
  #index .contents #index03 {
    padding-bottom: 7.5rem;
  }
}
#index .contents #index03 .w1120 {
  margin: 0 auto 0;
}
@media only screen and (max-width: 999px) {
  #index .contents #index03 .w1120 {
    margin: 4rem auto 0;
  }
}
#index .contents #index03 .w1120 .lead2 {
  display: block;
  font-weight: 700;
  line-height: 1.75;
  /* 28px */
  letter-spacing: 0.1em;
  margin: calc(5.4375rem - 0.375em) 0 -0.375em;
  padding-left: 1.5rem;
  position: relative;
}
#index .contents #index03 .w1120 .lead2::before {
  content: "";
  width: 1rem;
  height: 0.875rem;
  background: url(../img/index/triangle.svg) center/cover no-repeat;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
#index .contents #index03 .w1120 .bnr {
  display: block;
  border: 0.0625rem solid rgba(225, 225, 225, 0.28);
  margin-top: 4rem;
  position: relative;
}
@media only screen and (min-width: 1000px) {
  #index .contents #index03 .w1120 .bnr {
    overflow: hidden;
  }
  #index .contents #index03 .w1120 .bnr a:hover .img img {
    transform: scale(1.0375);
  }
}
@media only screen and (max-width: 999px) {
  #index .contents #index03 .w1120 .bnr {
    margin-top: 5rem;
  }
}
#index .contents #index03 .w1120 .bnr:nth-child(2) {
  margin-top: 2rem;
}
@media only screen and (max-width: 999px) {
  #index .contents #index03 .w1120 .bnr:nth-child(2) {
    margin-top: 2rem;
  }
}
#index .contents #index03 .w1120 .bnr:nth-child(2) .img::before {
  width: 4.5rem;
  height: 16.5rem;
  background: url(../img/index/bnr_logo.svg) center/contain no-repeat;
}
@media only screen and (max-width: 999px) {
  #index .contents #index03 .w1120 .bnr:nth-child(2) .img::before {
    width: 4.5rem;
    height: 16.454375rem;
  }
}
#index .contents #index03 .w1120 .bnr.dinner {
  margin-top: unset;
}
#index .contents #index03 .w1120 .bnr.dinner:hover {
  opacity: 1;
}
#index .contents #index03 .w1120 .bnr.dinner .img {
  width: 50%;
  margin-left: auto;
}
@media only screen and (max-width: 999px) {
  #index .contents #index03 .w1120 .bnr.dinner .img {
    width: 24rem;
    margin: 4.5rem auto 15.6875rem;
  }
}
#index .contents #index03 .w1120 .bnr.dinner .img::before {
  display: none;
}
#index .contents #index03 .w1120 .bnr.dinner .img::after {
  display: none;
}
#index .contents #index03 .w1120 .bnr.dinner .img img {
  aspect-ratio: 560/384;
}
#index .contents #index03 .w1120 .bnr.dinner .wrap {
  position: absolute;
  left: min(3.5rem, 5vw);
  top: 50%;
  transform: translateY(-50%);
}
@media only screen and (max-width: 999px) {
  #index .contents #index03 .w1120 .bnr.dinner .wrap {
    height: 100%;
    left: 0;
    top: 0;
    transform: unset;
  }
}
#index .contents #index03 .w1120 .bnr.dinner .wrap .txt {
  position: relative;
  left: unset;
  top: unset;
}
@media only screen and (max-width: 999px) {
  #index .contents #index03 .w1120 .bnr.dinner .wrap .txt {
    position: absolute;
    left: 1.25rem;
    top: 1.25rem;
  }
}
#index .contents #index03 .w1120 .bnr.dinner .wrap .txt2 {
  position: relative;
  left: unset;
  bottom: unset;
  margin-top: min(3rem, 4.2857142857vw);
}
@media only screen and (max-width: 999px) {
  #index .contents #index03 .w1120 .bnr.dinner .wrap .txt2 {
    margin-top: unset;
    position: absolute;
    left: 2rem;
    bottom: 2.4375rem;
  }
}
@media only screen and (max-width: 999px) {
  #index .contents #index03 .w1120 .bnr.dinner .wrap .txt2 .flex {
    margin: calc(2rem - 0.5em) 0 -0.5em;
  }
}
@media only screen and (max-width: 999px) {
  #index .contents #index03 .w1120 .bnr.dinner .wrap .txt2 .flex.flex2 {
    margin: calc(1.75rem - 0.5em) 0 -0.5em;
  }
}
#index .contents #index03 .w1120 .bnr .img {
  width: 100%;
  height: auto;
  position: relative;
}
#index .contents #index03 .w1120 .bnr .img::before {
  content: "";
  width: 6rem;
  height: 15.9375rem;
  background: url(../img/index/bnr_logo02.svg) center/contain no-repeat;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
}
@media only screen and (max-width: 999px) {
  #index .contents #index03 .w1120 .bnr .img::before {
    width: 6rem;
    height: 15.9375rem;
  }
}
#index .contents #index03 .w1120 .bnr .img::after {
  content: "";
  width: 100%;
  height: 100%;
  background: rgba(42, 42, 42, 0.46);
  position: absolute;
  left: 0;
  top: 0;
}
#index .contents #index03 .w1120 .bnr .img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: 0.5s cubic-bezier(0.25, 1, 0.5, 1);
  transform: scale(1);
}
@media only screen and (max-width: 999px) {
  #index .contents #index03 .w1120 .bnr .img img {
    aspect-ratio: 448/384;
  }
}
#index .contents #index03 .w1120 .bnr .txt {
  position: absolute;
  left: min(3.5rem, 5vw);
  top: min(3.5rem, 5vw);
}
@media only screen and (max-width: 999px) {
  #index .contents #index03 .w1120 .bnr .txt {
    left: 1.25rem;
    top: 1.25rem;
  }
}
#index .contents #index03 .w1120 .bnr .txt .jp {
  display: block;
  white-space: nowrap;
  font-size: min(1.125rem, 1.6071428571vw);
  font-weight: 700;
  line-height: 2;
  /* 36px */
  letter-spacing: 0.1em;
  margin: -0.5em 0;
}
@media only screen and (max-width: 999px) {
  #index .contents #index03 .w1120 .bnr .txt .jp {
    white-space: nowrap;
    font-size: 1.125rem;
  }
}
#index .contents #index03 .w1120 .bnr .txt .en {
  display: block;
  white-space: nowrap;
  font-family: "Great Vibes", cursive;
  font-size: min(0.625rem, 0.8928571429vw);
  font-weight: 400;
  line-height: 1.5;
  /* 15px */
  letter-spacing: 0.15em;
  margin: calc(0.75rem - 0.25em) 0 -0.25em;
}
@media only screen and (max-width: 999px) {
  #index .contents #index03 .w1120 .bnr .txt .en {
    font-size: 0.625rem;
  }
}
#index .contents #index03 .w1120 .bnr .txt2 {
  white-space: nowrap;
  font-size: min(0.875rem, 1.25vw);
  font-weight: 400;
  line-height: 1.75;
  /* 24.5px */
  letter-spacing: 0.05em;
  margin: -0.375em 0;
  position: absolute;
  left: min(3.5rem, 5vw);
  bottom: min(3.3125rem, 4.7321428571vw);
}
@media only screen and (max-width: 999px) {
  #index .contents #index03 .w1120 .bnr .txt2 {
    width: calc(100vw - 4rem);
    font-size: 0.875rem;
    left: 0;
    bottom: -3.5rem;
  }
  #index .contents #index03 .w1120 .bnr .txt2.sp_txt {
    bottom: -3.75rem;
  }
}
#index .contents #index03 .w1120 .bnr .txt2 .lead4 {
  display: block;
  font-size: min(1.25rem, 1.7857142857vw);
  font-style: normal;
  font-weight: 900;
  line-height: 1.75;
  /* 35px */
  letter-spacing: 0.05em;
  margin: -0.375em 0 0 -0.5em;
}
@media only screen and (max-width: 999px) {
  #index .contents #index03 .w1120 .bnr .txt2 .lead4 {
    font-size: 1.25rem;
  }
}
#index .contents #index03 .w1120 .bnr .txt2 .line {
  font-size: min(0.875rem, 1.25vw);
  font-weight: 400;
  line-height: 1.75;
  /* 24.5px */
  letter-spacing: 0.05em;
  margin: calc(min(1.5rem, 2.1428571429vw) - 0.375em) 0 -0.375em;
}
@media only screen and (max-width: 999px) {
  #index .contents #index03 .w1120 .bnr .txt2 .line {
    font-size: 0.875rem;
  }
}
#index .contents #index03 .w1120 .bnr .txt2 .lead dt {
  display: flex;
  align-items: center;
  gap: 0 min(0.5rem, 0.7142857143vw);
}
#index .contents #index03 .w1120 .bnr .txt2 .lead dt span {
  display: block;
  font-size: min(1.75rem, 2.5vw);
  font-weight: 700;
  line-height: 2;
  /* 56px */
  letter-spacing: 0.05em;
  margin: -0.5em 0;
}
@media only screen and (max-width: 999px) {
  #index .contents #index03 .w1120 .bnr .txt2 .lead dt span {
    font-size: 1.75rem;
    white-space: nowrap;
  }
}
#index .contents #index03 .w1120 .bnr .txt2 .lead dt span:nth-child(2) {
  display: block;
  font-size: min(1.25rem, 1.7857142857vw);
  font-weight: 700;
  line-height: 2;
  /* 40px */
  letter-spacing: 0.05em;
  margin: -0.5em 0;
}
@media only screen and (max-width: 999px) {
  #index .contents #index03 .w1120 .bnr .txt2 .lead dt span:nth-child(2) {
    font-size: 1.25rem;
  }
}
#index .contents #index03 .w1120 .bnr .txt2 .lead dd {
  font-size: min(0.875rem, 1.25vw);
  font-weight: 400;
  line-height: 1.75;
  /* 24.5px */
  letter-spacing: 0.05em;
  margin: calc(min(2rem, 2.8571428571vw) - 0.375em) 0 -0.375em;
}
@media only screen and (max-width: 999px) {
  #index .contents #index03 .w1120 .bnr .txt2 .lead dd {
    white-space: nowrap;
    font-size: 0.875rem;
    margin: calc(2rem - 0.375em) 0 -0.375em;
  }
}
#index .contents #index03 .w1120 .bnr .txt2 .flex {
  display: flex;
  align-items: flex-end;
  margin-top: min(2rem, 2.8571428571vw);
}
#index .contents #index03 .w1120 .bnr .txt2 .flex.flex2 {
  align-items: center;
  margin-top: min(1.75rem, 2.5vw);
}
#index .contents #index03 .w1120 .bnr .txt2 .flex .fs18 {
  font-size: min(1.125rem, 1.6071428571vw);
  font-weight: 700;
  line-height: 1;
  /* 36px */
  letter-spacing: 0.05em;
  margin-right: 1.5rem;
}
@media only screen and (max-width: 999px) {
  #index .contents #index03 .w1120 .bnr .txt2 .flex .fs18 {
    font-size: 1.125rem;
  }
}
#index .contents #index03 .w1120 .bnr .txt2 .flex .fs18:nth-child(2) {
  margin-right: 1rem;
}
#index .contents #index03 .w1120 .bnr .txt2 .flex .price {
  font-size: min(1.75rem, 2.5vw);
  font-weight: 400;
  line-height: 2;
  /* 56px */
  margin: -0.5em 0;
}
@media only screen and (max-width: 999px) {
  #index .contents #index03 .w1120 .bnr .txt2 .flex .price {
    font-size: 1.75rem;
  }
}
#index .contents #index03 .w1120 .bnr .txt2 .flex .price small {
  font-size: min(1rem, 1.4285714286vw);
  font-weight: 400;
  line-height: 2;
  /* 32px */
  letter-spacing: 0.05em;
  margin: -0.5em 0;
  font-size: 1rem;
}
#index .contents #index03 .w1120 .bnr .txt2 .flex .fs14 {
  font-size: min(0.875rem, 1.25vw);
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  /* 21px */
  letter-spacing: 0.05em;
}
@media only screen and (max-width: 999px) {
  #index .contents #index03 .w1120 .bnr .txt2 .flex .fs14 {
    font-size: 0.875rem;
  }
}
#index .contents #index03 .w1120 .list {
  border: 0.0625rem solid rgba(225, 225, 225, 0.28);
  margin: 4rem 0 0;
  padding: 3.5rem;
}
@media only screen and (max-width: 999px) {
  #index .contents #index03 .w1120 .list {
    position: relative;
    margin-top: 7.375rem;
    padding: 4.5rem 2rem 3rem;
  }
}
#index .contents #index03 .w1120 .list li {
  margin: 3.5rem 0 0;
  padding: 3.5rem 0 0;
}
#index .contents #index03 .w1120 .list li:first-child {
  border-top: none;
  margin-top: 0;
  padding-top: 0;
}
#index .contents #index03 .w1120 .list li .bnr {
  border: none;
}
@media only screen and (min-width: 1000px) {
  #index .contents #index03 .w1120 .list li .bnr.top .wrap {
    top: 0;
    transform: unset;
  }
  #index .contents #index03 .w1120 .list li .bnr.top .wrap .txt2 {
    margin-top: 5rem;
  }
  #index .contents #index03 .w1120 .list li .bnr .wrap {
    left: 0;
  }
  #index .contents #index03 .w1120 .list li .bnr .wrap:not(:has(.txt)) .txt2 {
    margin-top: 0;
  }
}
@media only screen and (max-width: 999px) {
  #index .contents #index03 .w1120 .list li .bnr {
    position: unset;
  }
  #index .contents #index03 .w1120 .list li .bnr .img {
    width: 100%;
    margin: 0;
  }
  #index .contents #index03 .w1120 .list li .bnr .wrap {
    position: unset;
    margin: 2rem 0 0;
  }
  #index .contents #index03 .w1120 .list li .bnr .wrap .txt {
    margin: 0;
    top: -3.25rem;
    left: -0.75rem;
  }
  #index .contents #index03 .w1120 .list li .bnr .wrap .txt2 {
    width: 100%;
    position: unset;
    margin: 0;
  }
}

.subPage {
  overflow: hidden;
}
.subPage.active .contents {
  transform: translateY(0);
  opacity: 1;
  filter: blur(0);
}
.subPage .contents {
  transition: 1.25s cubic-bezier(0.25, 1, 0.5, 1);
  transform: translateY(1.5rem);
  opacity: 0;
  filter: blur(1rem);
}
.subPage .w1120 {
  max-width: 70rem;
  width: calc(100% - 4rem);
}
.subPage #fv {
  position: relative;
}
.subPage #fv::before {
  content: "";
  width: 70vw;
  aspect-ratio: 1/1;
  border-radius: 70rem;
  opacity: 0.06;
  background: #D9D9D9;
  filter: blur(120px);
  position: absolute;
  left: 32.5vw;
  top: -15.5728587319vh;
  z-index: 0;
}
@media only screen and (max-width: 999px) {
  .subPage #fv::before {
    width: 70rem;
    left: unset;
    right: -34rem;
    top: -7.5rem;
  }
}
.subPage #fv::after {
  content: "";
  width: 60vw;
  aspect-ratio: 1/1;
  border-radius: 60rem;
  opacity: 0.08;
  background: #8A4E16;
  filter: blur(120px);
  position: absolute;
  left: 2.5vw;
  top: 22.2469410456vh;
  z-index: 0;
}
@media only screen and (max-width: 999px) {
  .subPage #fv::after {
    width: 60rem;
    left: -34rem;
    top: unset;
    bottom: -16.3125rem;
  }
}

#taste .contents {
  overflow: hidden;
}
#taste .contents #fv {
  padding-top: 10rem;
}
#taste .contents #fv .main_img {
  width: 70vw;
  margin: 0 auto;
  position: relative;
}
@media only screen and (max-width: 999px) {
  #taste .contents #fv .main_img {
    width: 100%;
  }
}
#taste .contents #fv .main_img .img {
  width: 100%;
  height: auto;
  position: relative;
  z-index: 1;
}
#taste .contents #fv .main_img .img img {
  width: 100%;
  height: auto;
}
#taste .contents #fv .main_img h1 {
  width: 6vw;
  height: auto;
  position: absolute;
  left: 15vw;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
}
@media only screen and (max-width: 999px) {
  #taste .contents #fv .main_img h1 {
    width: 5rem;
    margin: 4rem auto 0;
    position: relative;
    left: unset;
    top: unset;
    transform: unset;
  }
}
#taste .contents #fv .main_img h1 img {
  width: 100%;
  height: auto;
}
#taste .contents #taste01 .w1120 {
  margin: 6rem auto 0;
}
#taste .contents #taste01 .w1120 dl {
  display: flex;
  align-items: center;
  border-bottom: 0.0625rem solid #56534F;
}
@media only screen and (max-width: 999px) {
  #taste .contents #taste01 .w1120 dl {
    align-items: flex-start;
  }
}
#taste .contents #taste01 .w1120 dl:first-child {
  border-top: 0.0625rem solid #56534F;
}
#taste .contents #taste01 .w1120 dl dt {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 2;
  /* 40px */
  letter-spacing: 0.05em;
  white-space: nowrap;
}
@media only screen and (max-width: 999px) {
  #taste .contents #taste01 .w1120 dl dt {
    margin: calc(1.75rem - 0.5em) 0 -0.5em 0;
  }
}
#taste .contents #taste01 .w1120 dl.menu dt {
  margin-right: min(4.6875rem, 6.6964285714vw);
}
@media only screen and (max-width: 1071px) {
  #taste .contents #taste01 .w1120 dl.menu dt {
    margin-right: 3.3333333333vw;
  }
}
@media only screen and (max-width: 999px) {
  #taste .contents #taste01 .w1120 dl.menu dt {
    margin-right: 2rem;
  }
}
#taste .contents #taste01 .w1120 dl.menu dd {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.75;
  /* 24.5px */
  letter-spacing: 0.05em;
  margin: calc(1.875rem - 0.375em) 0;
}
@media only screen and (max-width: 999px) {
  #taste .contents #taste01 .w1120 dl.menu dd {
    margin: calc(1.75rem - 0.375em) 0;
  }
}
#taste .contents #taste01 .w1120 dl.price dt {
  margin-right: min(4.75rem, 6.7857142857vw);
}
@media only screen and (max-width: 1071px) {
  #taste .contents #taste01 .w1120 dl.price dt {
    margin-right: 3.3333333333vw;
  }
}
@media only screen and (max-width: 999px) {
  #taste .contents #taste01 .w1120 dl.price dt {
    margin-right: 2rem;
  }
}
#taste .contents #taste01 .w1120 dl.price dd {
  display: flex;
  align-items: center;
  font-size: 1.75rem;
  font-weight: 400;
  line-height: 2;
  /* 56px */
  margin: -0.5em 0.25rem -0.5em 0;
  padding: 2.375rem 0;
}
@media only screen and (max-width: 999px) {
  #taste .contents #taste01 .w1120 dl.price dd {
    padding: 1.375rem 0;
  }
}
#taste .contents #taste01 .w1120 dl.price dd small {
  display: block;
  font-size: 1rem;
  font-weight: 400;
  line-height: 2;
  /* 32px */
  letter-spacing: 0.05em;
  margin: 0.5rem 1.5rem 0 0;
}
#taste .contents #taste01 .w1120 dl.price dd span {
  display: block;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.75;
  /* 24.5px */
  letter-spacing: 0.05em;
  margin: -0.375em 0;
}
@media only screen and (max-width: 999px) {
  #taste .contents #taste01 .w1120 dl.price dd span {
    margin: calc(0.5rem - 0.375em) 0 -0.375em;
  }
}
@media only screen and (max-width: 999px) {
  #taste .contents #taste01 .w1120 dl.use {
    display: flex;
    flex-wrap: wrap;
  }
}
#taste .contents #taste01 .w1120 dl.use dt {
  margin-right: min(4.1875rem, 5.9821428571vw);
}
@media only screen and (max-width: 1071px) {
  #taste .contents #taste01 .w1120 dl.use dt {
    margin-right: 3.3333333333vw;
  }
}
@media only screen and (max-width: 999px) {
  #taste .contents #taste01 .w1120 dl.use dt {
    margin-right: 1.5rem;
  }
}
#taste .contents #taste01 .w1120 dl.use dd:nth-child(2) {
  font-size: min(1.25rem, 1.7857142857vw);
  font-weight: 700;
  line-height: 2;
  /* 40px */
  letter-spacing: 0.05em;
  margin-right: min(0.6875rem, 0.9821428571vw);
}
@media only screen and (max-width: 999px) {
  #taste .contents #taste01 .w1120 dl.use dd:nth-child(2) {
    font-size: 1.25rem;
    margin: calc(1.8125rem - 0.5em) 7.5rem -0.5em 0;
  }
}
#taste .contents #taste01 .w1120 dl.use dd:nth-child(3) {
  width: auto;
  height: min(1.125rem, 1.6071428571vw);
  margin: 2.375rem min(1.255625rem, 1.79375vw) 2.5rem 0;
}
@media only screen and (max-width: 999px) {
  #taste .contents #taste01 .w1120 dl.use dd:nth-child(3) {
    width: 11.994375rem;
    height: 1.125rem;
    margin: 1.5rem 5rem 0 6rem;
  }
}
#taste .contents #taste01 .w1120 dl.use dd:nth-child(3) img {
  width: 100%;
  height: 100%;
}
#taste .contents #taste01 .w1120 dl.use dd:nth-child(4) {
  font-size: min(0.875rem, 1.25vw);
  font-weight: 400;
  line-height: 1.5;
  /* 21px */
  letter-spacing: 0.05em;
  margin-right: min(4rem, 5.7142857143vw);
}
@media only screen and (max-width: 1182px) {
  #taste .contents #taste01 .w1120 dl.use dd:nth-child(4) {
    margin-right: 1.6666666667vw;
  }
}
@media only screen and (max-width: 999px) {
  #taste .contents #taste01 .w1120 dl.use dd:nth-child(4) {
    width: 100%;
    font-size: 0.875rem;
    margin: calc(1rem - 0.25em) 2rem -0.25em 6rem;
  }
}
#taste .contents #taste01 .w1120 dl.use dd:nth-child(5) {
  font-size: min(1.125rem, 1.6071428571vw);
  font-weight: 700;
  line-height: 2;
  /* 36px */
  letter-spacing: 0.05em;
  margin-right: min(1.25rem, 1.7857142857vw);
}
@media only screen and (max-width: 999px) {
  #taste .contents #taste01 .w1120 dl.use dd:nth-child(5) {
    font-size: 1.125rem;
    margin: calc(1.5rem - 0.5em) 1.25rem -0.5em 6rem;
  }
}
#taste .contents #taste01 .w1120 dl.use dd:nth-child(6) {
  font-size: min(1.125rem, 16.3636363636vw);
  font-weight: 700;
  line-height: 2;
  /* 36px */
  letter-spacing: 0.05em;
  margin-right: min(1.25rem, 1.7857142857vw);
}
@media only screen and (max-width: 999px) {
  #taste .contents #taste01 .w1120 dl.use dd:nth-child(6) {
    font-size: 1.125rem;
    margin: calc(1.5rem - 0.5em) 7.5rem -0.5em 0;
  }
}
#taste .contents #taste01 .w1120 dl.use dd:nth-child(7) {
  font-size: min(0.875rem, 1.25vw);
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  /* 21px */
  letter-spacing: 0.05em;
}
@media only screen and (max-width: 1182px) {
  #taste .contents #taste01 .w1120 dl.use dd:nth-child(7) {
    font-size: 1.25vw;
  }
}
@media only screen and (max-width: 999px) {
  #taste .contents #taste01 .w1120 dl.use dd:nth-child(7) {
    font-size: 0.875rem;
    margin: calc(1rem - 0.25em) 0 calc(1.5rem - 0.25em) 6rem;
  }
}
#taste .contents #taste02 .cm_flex {
  width: calc(100% - 4rem);
  margin: 12.5rem auto 0;
}
@media only screen and (min-width: 1000px) {
  #taste .contents #taste02 .cm_flex {
    align-items: flex-start;
    gap: 0 7.5rem;
    justify-content: center;
  }
}
@media only screen and (max-width: 999px) {
  #taste .contents #taste02 .cm_flex {
    margin: 7.875rem auto 0;
  }
}
#taste .contents #taste02 .cm_flex .txt_box {
  width: 32.5rem;
}
@media only screen and (max-width: 999px) {
  #taste .contents #taste02 .cm_flex .txt_box {
    width: 100%;
  }
}
#taste .contents #taste02 .cm_flex .txt_box h2 .en {
  display: block;
  font-family: "Great Vibes", cursive;
  font-size: 1.75rem;
  font-weight: 400;
  line-height: 2;
  /* 56px */
  letter-spacing: 0.1em;
  margin: calc(3.5rem - 0.5em) 0 -0.5em;
}
#taste .contents #taste02 .cm_flex .txt_box h2 .jp {
  display: block;
  font-size: 3rem;
  font-weight: 400;
  line-height: 1.75;
  /* 84px */
  letter-spacing: 0.15em;
  margin: calc(4.5rem - 0.375em) 0 -0.375em;
}
#taste .contents #taste02 .cm_flex .txt_box .line {
  font-weight: 400;
  line-height: 2.5;
  /* 40px */
  letter-spacing: 0.08em;
  margin: calc(5rem - 0.75em) 0 -0.75em;
}
#taste .contents #taste02 .cm_flex .img {
  width: 30rem;
  height: auto;
  position: relative;
}
@media only screen and (max-width: 999px) {
  #taste .contents #taste02 .cm_flex .img {
    width: 20rem;
    margin-top: 5rem;
  }
  #taste .contents #taste02 .cm_flex .img::before {
    display: none;
  }
}
#taste .contents #taste02 .cm_flex .img::before {
  content: "";
  width: 3.5rem;
  height: 12.7975rem;
  background: url(../img/taste/logo.svg) center/cover no-repeat;
  position: absolute;
  right: 2.5rem;
  top: -2rem;
}
#taste .contents #taste02 .cm_flex .img img {
  width: 100%;
  height: auto;
}
#taste .contents #taste02 .img2 {
  width: 40rem;
  height: auto;
  margin: 6rem auto 0;
}
@media only screen and (max-width: 999px) {
  #taste .contents #taste02 .img2 {
    width: 22.5rem;
    margin: 3.5rem 2rem 0 auto;
  }
}
#taste .contents #taste02 .cm_flex2 {
  margin-top: 5rem;
}
@media only screen and (min-width: 1000px) {
  #taste .contents #taste02 .cm_flex2 {
    align-items: flex-start;
  }
}
@media only screen and (max-width: 999px) {
  #taste .contents #taste02 .cm_flex2 {
    margin-top: 2.5rem;
  }
}
#taste .contents #taste02 .cm_flex2 .img3 {
  width: 50vw;
  height: auto;
  margin-right: 6vw;
}
@media only screen and (max-width: 999px) {
  #taste .contents #taste02 .cm_flex2 .img3 {
    width: 30rem;
    margin: 3.5rem 0 0 auto;
  }
}
#taste .contents #taste02 .cm_flex2 .img3 img {
  width: 100%;
  height: auto;
}
#taste .contents #taste02 .cm_flex2 .img4 {
  width: 20vw;
  height: auto;
  margin-top: 12.5vw;
  margin-right: 4vw;
}
@media only screen and (max-width: 999px) {
  #taste .contents #taste02 .cm_flex2 .img4 {
    width: 17.5rem;
    margin: 3.5rem 0 0 4rem;
  }
}
#taste .contents #taste02 .cm_flex2 .img4 img {
  width: 100%;
  height: auto;
}
#taste .contents #taste02 .cm_flex2 .img5 {
  width: 20.0625vw;
  height: auto;
  margin-top: 29.9375vw;
}
@media only screen and (max-width: 999px) {
  #taste .contents #taste02 .cm_flex2 .img5 {
    width: 15rem;
    margin: 3.5rem 0 0 13rem;
  }
}
#taste .contents #taste02 .cm_flex2 .img5 img {
  width: 100%;
  height: auto;
}
#taste .contents #taste03 .lead {
  width: 41rem;
  font-weight: 400;
  line-height: 2.5;
  /* 40px */
  letter-spacing: 0.08em;
  margin: calc(0.5rem - 0.375em) auto -0.75em;
}
@media only screen and (max-width: 999px) {
  #taste .contents #taste03 .lead {
    width: calc(100% - 4rem);
    margin: calc(5rem - 0.75em) auto -0.75em;
  }
}
#taste .contents #taste03 .img {
  width: 55rem;
  height: auto;
  margin: 6rem auto 0;
}
@media only screen and (max-width: 999px) {
  #taste .contents #taste03 .img {
    width: 100%;
    margin: 5rem 0 0;
  }
}
#taste .contents #taste03 .img img {
  width: 100%;
  height: auto;
}
#taste .contents #taste03 .line2 {
  text-align: center;
  font-weight: 400;
  line-height: 2.5;
  /* 40px */
  letter-spacing: 0.08em;
  margin: calc(1.75rem - 0.75em) 0 -0.75em;
}
@media only screen and (max-width: 999px) {
  #taste .contents #taste03 .line2 {
    width: calc(100% - 4rem);
    margin: calc(1.75rem - 0.75em) auto -0.75em;
  }
}
@media only screen and (min-width: 1000px) {
  #taste .contents #taste03 .cm_flex {
    align-items: flex-start;
    justify-content: center;
    gap: 0 6rem;
  }
}
#taste .contents #taste03 .cm_flex:nth-child(4) {
  margin-top: 10rem;
}
@media only screen and (max-width: 999px) {
  #taste .contents #taste03 .cm_flex:nth-child(4) {
    margin-top: 8rem;
  }
}
@media only screen and (max-width: 999px) {
  #taste .contents #taste03 .cm_flex .wrap {
    width: -moz-max-content;
    width: max-content;
    display: flex;
    align-items: center;
    animation: a_loop2 30s linear infinite;
  }
}
#taste .contents #taste03 .cm_flex .img2 {
  width: 23.5rem;
  height: auto;
}
@media only screen and (max-width: 999px) {
  #taste .contents #taste03 .cm_flex .img2 {
    width: 20rem;
    flex-shrink: 0;
  }
}
#taste .contents #taste03 .cm_flex .img2 img {
  width: 100%;
  height: auto;
}
#taste .contents #taste03 .cm_flex dl {
  width: 25.5rem;
  margin-top: 5rem;
}
@media only screen and (max-width: 999px) {
  #taste .contents #taste03 .cm_flex dl {
    width: calc(100% - 4rem);
    margin: 5rem auto 0;
  }
}
#taste .contents #taste03 .cm_flex dl dt {
  font-size: 1.75rem;
  font-weight: 400;
  line-height: 1.75;
  /* 49px */
  letter-spacing: 0.15em;
  margin: -0.375em 0;
}
#taste .contents #taste03 .cm_flex dl dd {
  font-weight: 400;
  line-height: 2;
  /* 32px */
  letter-spacing: 0.05em;
  margin: calc(3.5rem - 0.5em) 0 -0.5em;
}
@media only screen and (max-width: 999px) {
  #taste .contents #taste03 .cm_flex dl dd {
    margin: calc(2.5rem - 0.5em) 0 -0.5em;
  }
}
#taste .contents #taste03 .w880 {
  display: block;
  max-width: 55rem;
  margin: 12.5rem auto 8.5rem;
  border-top: 0.125rem solid #A4A4A4;
  border-bottom: 0.125rem solid #A4A4A4;
  padding: 3.5rem 0;
}
@media only screen and (max-width: 999px) {
  #taste .contents #taste03 .w880 {
    margin: 8rem auto 6.5rem;
  }
}
@media only screen and (min-width: 1000px) {
  #taste .contents #taste03 .w880 .cm_flex2 {
    align-items: center;
    justify-content: center;
    gap: 0 1.5rem;
  }
}
@media only screen and (max-width: 999px) {
  #taste .contents #taste03 .w880 .cm_flex2 {
    width: calc(100% - 4rem);
    margin: 0 auto;
  }
}
#taste .contents #taste03 .w880 .cm_flex2 .img3 {
  width: 5rem;
  height: auto;
}
@media only screen and (max-width: 999px) {
  #taste .contents #taste03 .w880 .cm_flex2 .img3 {
    margin: 0 auto;
  }
}
#taste .contents #taste03 .w880 .cm_flex2 .img3 img {
  width: 100%;
  height: auto;
}
#taste .contents #taste03 .w880 .cm_flex2 .line {
  text-align: left;
  font-weight: 700;
  line-height: 2;
  /* 32px */
  letter-spacing: 0.05em;
  margin: -0.5em 0;
}
@media only screen and (max-width: 999px) {
  #taste .contents #taste03 .w880 .cm_flex2 .line {
    text-align: center;
    margin: calc(2.5rem - 0.5em) 0 -0.5em;
  }
}

#banquet .contents .w800 {
  max-width: 50rem;
  width: calc(100% - 4rem);
}
#banquet .contents #fv {
  padding-top: 10rem;
}
@media only screen and (min-width: 1000px) {
  #banquet .contents #fv .flex {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: 0 5.25vw;
  }
}
#banquet .contents #fv .flex .txt_box {
  width: 4.5vw;
  margin-top: 0.3125rem;
  margin-left: 15.25vw;
}
@media only screen and (min-width: 1000px) {
  #banquet .contents #fv .flex .txt_box {
    display: flex;
    flex-direction: column;
    align-items: center;
    order: 1;
  }
}
@media only screen and (max-width: 999px) {
  #banquet .contents #fv .flex .txt_box {
    width: calc(100% - 4rem);
    margin: 0 auto;
  }
}
#banquet .contents #fv .flex .txt_box h1 {
  font-size: 3rem;
  font-weight: 400;
  line-height: 1.25;
  /* 60px */
  letter-spacing: 0.05em;
  writing-mode: vertical-rl;
}
@media only screen and (max-width: 999px) {
  #banquet .contents #fv .flex .txt_box h1 {
    text-align: center;
    writing-mode: unset;
    margin: 4rem auto 0;
  }
}
#banquet .contents #fv .flex .txt_box .flex2 {
  display: flex;
  align-items: flex-start;
  gap: 0 0.75vw;
  margin-top: 2.5rem;
  padding-top: 2.5rem;
  border-top: 0.0625rem solid #54514D;
}
#banquet .contents #fv .flex .txt_box .flex2 li {
  font-weight: 400;
  line-height: 1.15;
  /* 18.4px */
  letter-spacing: 0.05em;
  writing-mode: vertical-rl;
}
#banquet .contents #fv .flex .img {
  width: 60vw;
  height: auto;
  margin-right: 15vw;
  position: relative;
  z-index: 1;
  order: 2;
}
@media only screen and (max-width: 999px) {
  #banquet .contents #fv .flex .img {
    width: 100%;
  }
}
#banquet .contents #fv .flex .img img {
  width: 100%;
  height: auto;
}
@media only screen and (max-width: 999px) {
  #banquet .contents #fv .flex .img img {
    aspect-ratio: 512/299;
  }
}
#banquet .contents #banquet01 .w800 {
  margin: 0 auto;
}
#banquet .contents #banquet01 .w800 .line {
  font-weight: 400;
  line-height: 2;
  /* 32px */
  letter-spacing: 0.05em;
  margin: calc(4rem - 0.5em) 0 -0.5em;
}
#banquet .contents #banquet01 .w800 .reservation {
  width: 50rem;
  height: 5rem;
  border: 0.1875rem solid #E1E1E1;
  margin-top: 4rem;
  position: relative;
}
@media only screen and (max-width: 999px) {
  #banquet .contents #banquet01 .w800 .reservation {
    width: 100%;
    height: 10rem;
    padding: 0 2rem;
  }
}
#banquet .contents #banquet01 .w800 .reservation span {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 2;
  /* 40px */
  letter-spacing: 0.05em;
  white-space: nowrap;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
@media only screen and (max-width: 999px) {
  #banquet .contents #banquet01 .w800 .reservation span {
    white-space: unset;
    left: unset;
    transform: translateY(-50%);
  }
}
#banquet .contents #banquet02 .w800 {
  margin: 0 auto;
}
#banquet .contents #banquet02 .w800 .meal {
  width: 50rem;
  height: 6rem;
  border: 0.0625rem solid #E1E1E1;
  margin-top: 8rem;
  position: relative;
}
@media only screen and (max-width: 999px) {
  #banquet .contents #banquet02 .w800 .meal {
    width: 100%;
  }
}
#banquet .contents #banquet02 .w800 .meal h2 {
  font-size: 2rem;
  font-weight: 700;
  line-height: 2;
  /* 64px */
  letter-spacing: 0.15em;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
#banquet .contents #banquet02 .w800 .lead {
  font-weight: 400;
  line-height: 2;
  /* 32px */
  letter-spacing: 0.05em;
  margin: calc(2.5rem - 0.5em) 0 -0.5em;
}
#banquet .contents #banquet02 .w800 .img {
  width: 100%;
  height: auto;
  margin: 5rem 0 0;
}
#banquet .contents #banquet02 .w800 .img img {
  width: 100%;
  height: auto;
}
#banquet .contents #banquet02 .w800 .flex {
  padding: 2.5rem 0;
  border-bottom: 0.0625rem solid #4F4F4F;
}
@media only screen and (min-width: 1000px) {
  #banquet .contents #banquet02 .w800 .flex {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
}
#banquet .contents #banquet02 .w800 .flex .content {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.75;
  /* 24.5px */
  letter-spacing: 0.05em;
  margin: -0.375em 0;
}
#banquet .contents #banquet02 .w800 .flex span {
  font-size: 1.75rem;
  font-weight: 400;
  line-height: 2;
  /* 56px */
  margin: -0.5em 0;
}
#banquet .contents #banquet02 .w800 .flex span small {
  line-height: 2;
  /* 32px */
  letter-spacing: 0.05em;
  margin: -0.5em 0;
}
#banquet .contents #banquet03 .w800 {
  margin: 0 auto;
}
#banquet .contents #banquet03 .w800 h3 {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 2;
  /* 48px */
  letter-spacing: 0.1em;
  margin: calc(6rem - 0.5em) 0 -0.5em;
}
#banquet .contents #banquet03 .w800 .line {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.75;
  /* 24.5px */
  letter-spacing: 0.05em;
  margin: calc(2.5rem - 0.375em) 0 -0.375em;
}
#banquet .contents #banquet03 .w800 .content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 0.0625rem solid #4F4F4F;
  padding: 1.625rem 0;
}
#banquet .contents #banquet03 .w800 .content:nth-child(3) {
  margin-top: 2.5rem;
  border-top: 0.0625rem solid #4F4F4F;
}
#banquet .contents #banquet03 .w800 .content dt {
  font-weight: 400;
  line-height: 1;
  /* 400% */
  letter-spacing: 0.15em;
}
#banquet .contents #banquet03 .w800 .content dd {
  font-weight: 400;
  line-height: 1;
  /* 400% */
  letter-spacing: 0.15em;
}
#banquet .contents #banquet03 .w800 .plan {
  padding: 1.75rem 0;
  border-bottom: 0.0625rem solid #4F4F4F;
  border-top: 0.0625rem solid #4F4F4F;
  margin-top: 2.5rem;
  padding: 1.625rem 0;
}
@media only screen and (min-width: 1000px) {
  #banquet .contents #banquet03 .w800 .plan {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
}
#banquet .contents #banquet03 .w800 .plan dt,
#banquet .contents #banquet03 .w800 .plan dd {
  font-weight: 400;
  line-height: 1;
  /* 400% */
  letter-spacing: 0.15em;
}
@media only screen and (max-width: 999px) {
  #banquet .contents #banquet03 .w800 .plan dt,
  #banquet .contents #banquet03 .w800 .plan dd {
    line-height: 1.75;
  }
}
#banquet .contents #banquet03 .w800 .plan dd:nth-child(2) {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.75;
  /* 24.5px */
  letter-spacing: 0.05em;
  margin: -0.375em 0;
}
#banquet .contents #banquet04 .w800 {
  margin: 0 auto;
  padding-bottom: 8.5rem;
}
@media only screen and (max-width: 999px) {
  #banquet .contents #banquet04 .w800 {
    padding-bottom: 6.5rem;
  }
}
#banquet .contents #banquet04 .w800 .meal {
  width: 50rem;
  height: 6rem;
  border: 0.0625rem solid #E1E1E1;
  margin-top: 10rem;
  position: relative;
}
@media only screen and (max-width: 999px) {
  #banquet .contents #banquet04 .w800 .meal {
    width: 100%;
  }
}
#banquet .contents #banquet04 .w800 .meal h2 {
  font-size: 2rem;
  font-weight: 700;
  line-height: 2;
  /* 64px */
  letter-spacing: 0.15em;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
#banquet .contents #banquet04 .w800 .lead {
  font-weight: 400;
  line-height: 2;
  /* 32px */
  letter-spacing: 0.05em;
  margin: calc(2.5rem - 0.5em) 0 -0.5em;
}
#banquet .contents #banquet04 .w800 h3 {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.75;
  /* 42px */
  letter-spacing: 0.1em;
  margin: calc(6rem - 0.375em) 0 -0.375em;
}
#banquet .contents #banquet04 .w800 .img {
  width: 100%;
  height: auto;
  margin-top: 2.5rem;
}
#banquet .contents #banquet04 .w800 .img img {
  width: 100%;
  height: auto;
}
#banquet .contents #banquet04 .w800 .line {
  font-weight: 400;
  line-height: 2;
  /* 32px */
  letter-spacing: 0.05em;
  margin: calc(2.5rem - 0.5em) 0 -0.5em;
}
#banquet .contents #banquet04 .w800 .cm_flex {
  align-items: center;
  gap: 0 2.5rem;
  margin-top: 5rem;
}
#banquet .contents #banquet04 .w800 .cm_flex .img2 {
  width: 15rem;
  height: auto;
}
#banquet .contents #banquet04 .w800 .cm_flex .img2 img {
  width: 100%;
  height: auto;
}
#banquet .contents #banquet04 .w800 .cm_flex .line2 {
  font-weight: 400;
  line-height: 2;
  /* 32px */
  letter-spacing: 0.05em;
  margin: -0.5em 0;
}
@media only screen and (max-width: 999px) {
  #banquet .contents #banquet04 .w800 .cm_flex .line2 {
    margin: calc(2.5rem - 0.5em) 0 -0.5em;
  }
}

#lunchbox .contents {
  overflow: hidden;
}
#lunchbox .contents .w800 {
  max-width: 50rem;
  width: calc(100% - 4rem);
}
#lunchbox .contents #fv {
  padding-top: 10rem;
}
@media only screen and (min-width: 1000px) {
  #lunchbox .contents #fv .flex {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: 0 5.25vw;
  }
}
#lunchbox .contents #fv .flex .txt_box {
  order: 1;
  width: 4.5vw;
  margin-top: 0.3125rem;
  margin-left: 15.25vw;
}
@media only screen and (min-width: 1000px) {
  #lunchbox .contents #fv .flex .txt_box {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
}
@media only screen and (max-width: 999px) {
  #lunchbox .contents #fv .flex .txt_box {
    width: calc(100% - 4rem);
    margin: 0 auto;
  }
}
#lunchbox .contents #fv .flex .txt_box h1 {
  font-size: 3rem;
  font-weight: 400;
  line-height: 1.25;
  /* 60px */
  letter-spacing: 0.05em;
  writing-mode: vertical-rl;
}
@media only screen and (max-width: 999px) {
  #lunchbox .contents #fv .flex .txt_box h1 {
    text-align: center;
    margin: 4rem auto 0;
    writing-mode: unset;
  }
}
#lunchbox .contents #fv .flex .txt_box .flex2 {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 0 0.75vw;
  width: 4.5vw;
  margin-top: 2.5rem;
  padding-top: 2.5rem;
  border-top: 0.0625rem solid #54514D;
}
@media only screen and (max-width: 999px) {
  #lunchbox .contents #fv .flex .txt_box .flex2 {
    width: 100%;
    display: block;
  }
}
#lunchbox .contents #fv .flex .txt_box .flex2 li {
  font-weight: 400;
  line-height: 1.15;
  /* 18.4px */
  letter-spacing: 0.05em;
  writing-mode: vertical-rl;
}
@media only screen and (max-width: 999px) {
  #lunchbox .contents #fv .flex .txt_box .flex2 li {
    writing-mode: unset;
    margin: calc(1.5rem - 0.075em) 0 -0.075em;
  }
  #lunchbox .contents #fv .flex .txt_box .flex2 li:first-child {
    margin: unset;
  }
}
#lunchbox .contents #fv .flex .img {
  order: 2;
  width: 60vw;
  height: auto;
  margin-right: 15vw;
  position: relative;
  z-index: 1;
}
@media only screen and (max-width: 999px) {
  #lunchbox .contents #fv .flex .img {
    width: 100%;
  }
}
#lunchbox .contents #fv .flex .img img {
  width: 100%;
  height: auto;
}
@media only screen and (max-width: 999px) {
  #lunchbox .contents #fv .flex .img img {
    aspect-ratio: 512/299;
  }
}
#lunchbox .contents #lunchbox01 {
  padding-bottom: 8.5rem;
}
@media only screen and (max-width: 999px) {
  #lunchbox .contents #lunchbox01 {
    padding-bottom: 6.5rem;
  }
}
#lunchbox .contents #lunchbox01 .w800 {
  margin: 0 auto;
}
#lunchbox .contents #lunchbox01 .w800 .lead {
  font-weight: 400;
  line-height: 2;
  /* 32px */
  letter-spacing: 0.05em;
  margin: calc(4rem - 0.5em) 0 -0.5em;
}
#lunchbox .contents #lunchbox01 .w800 .content {
  width: 100%;
  height: 9.9375rem;
  border: 0.1875rem solid #E1E1E1;
  margin-top: 4rem;
  position: relative;
}
@media only screen and (max-width: 999px) {
  #lunchbox .contents #lunchbox01 .w800 .content {
    height: 17.5rem;
  }
}
#lunchbox .contents #lunchbox01 .w800 .content span {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 2;
  /* 40px */
  letter-spacing: 0.05em;
  white-space: nowrap;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
#lunchbox .contents #lunchbox01 .w800 h2 {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 2;
  /* 48px */
  letter-spacing: 0.1em;
  margin: calc(6rem - 0.5em) 0 -0.5em;
}
#lunchbox .contents #lunchbox01 .w800 .line {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.75;
  /* 24.5px */
  letter-spacing: 0.05em;
  margin: calc(2.5rem - 0.375em) 0 -0.375em;
}
#lunchbox .contents #lunchbox01 .w800 .wrap {
  overflow-x: auto;
}
#lunchbox .contents #lunchbox01 .w800 .wrap table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 2.5rem;
}
@media only screen and (max-width: 999px) {
  #lunchbox .contents #lunchbox01 .w800 .wrap table {
    width: 50rem;
  }
}
#lunchbox .contents #lunchbox01 .w800 .wrap table tbody tr {
  border-bottom: 0.0625rem solid #4F4F4F;
}
#lunchbox .contents #lunchbox01 .w800 .wrap table tbody tr:first-child {
  border-top: 0.0625rem solid #4F4F4F;
}
#lunchbox .contents #lunchbox01 .w800 .wrap table tbody tr th,
#lunchbox .contents #lunchbox01 .w800 .wrap table tbody tr td {
  font-weight: 400;
  line-height: 2;
  /* 400% */
  letter-spacing: 0.15em;
  margin: -0.5em 0;
  padding: 1.5rem 0;
}
#lunchbox .contents #lunchbox01 .w800 .wrap table tbody tr th {
  padding-right: min(3rem, 6vw);
}
#lunchbox .contents #lunchbox01 .w800 .wrap table tbody tr td:nth-child(2) {
  white-space: nowrap;
  padding-right: min(3.5rem, 7vw);
}
#lunchbox .contents #lunchbox01 .w800 .wrap table tbody tr td:nth-child(3) {
  padding-right: min(3rem, 6vw);
}
#lunchbox .contents #lunchbox01 .w800 .wrap table tbody tr td:last-child {
  text-align: right;
}
#lunchbox .contents #lunchbox01 .w800 .cm_flex {
  margin-top: 4rem;
}
@media only screen and (min-width: 1000px) {
  #lunchbox .contents #lunchbox01 .w800 .cm_flex {
    align-items: flex-start;
    gap: 0 3rem;
  }
}
#lunchbox .contents #lunchbox01 .w800 .cm_flex .img_box {
  width: calc((100% - 3rem) / 2);
}
@media only screen and (max-width: 999px) {
  #lunchbox .contents #lunchbox01 .w800 .cm_flex .img_box {
    width: 100%;
    margin-top: 2.5rem;
  }
}
#lunchbox .contents #lunchbox01 .w800 .cm_flex .img_box .img {
  width: 100%;
  height: auto;
}
#lunchbox .contents #lunchbox01 .w800 .cm_flex .img_box .img img {
  width: 100%;
  height: auto;
}
#lunchbox .contents #lunchbox01 .w800 .cm_flex .img_box p {
  font-weight: 400;
  line-height: 4;
  /* 400% */
  letter-spacing: 0.15em;
  margin: calc(1.3125rem - 1.5em) 0 -1.5em;
}

#about .contents {
  overflow: hidden;
}
#about .contents #history,
#about .contents #building,
#about .contents #chef {
  scroll-margin: 10rem;
}
#about .contents h2 {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.75;
  /* 42px */
  letter-spacing: 0.1em;
  margin: calc(6rem - 0.375em) 0 -0.375em;
}
#about .contents .w1120 {
  max-width: 70rem;
  width: calc(100% - 4rem);
}
@media only screen and (max-width: 999px) {
  #about .contents #fv {
    padding-top: 10rem;
  }
}
@media only screen and (min-width: 1000px) {
  #about .contents #fv .cm_flex {
    align-items: flex-end;
    justify-content: center;
    gap: 0 3vw;
  }
}
#about .contents #fv .cm_flex h1 {
  order: 1;
  font-size: 2rem;
  font-weight: 400;
  line-height: 1;
  /* 40px */
  letter-spacing: 0.05em;
  writing-mode: vertical-rl;
  margin-left: 10vw;
  margin-bottom: 3.5rem;
}
@media only screen and (max-width: 999px) {
  #about .contents #fv .cm_flex h1 {
    writing-mode: unset;
    text-align: center;
    margin: 4rem 0 0 0;
  }
}
#about .contents #fv .cm_flex .img {
  order: 2;
  width: calc(100% - 15vw);
  height: auto;
  position: relative;
  z-index: 1;
}
@media only screen and (max-width: 999px) {
  #about .contents #fv .cm_flex .img {
    width: 100%;
  }
}
#about .contents #fv .cm_flex .img img {
  width: 100%;
  height: auto;
}
#about .contents #about01 .w1120 {
  margin: 5rem auto 0;
}
@media only screen and (min-width: 1000px) {
  #about .contents #about01 .w1120 .cm_flex {
    align-items: center;
    gap: 0 4.25rem;
  }
}
@media only screen and (max-width: 1011px) {
  #about .contents #about01 .w1120 .cm_flex {
    gap: 0 5.5390702275vw;
  }
}
#about .contents #about01 .w1120 .cm_flex li a {
  font-weight: 400;
  line-height: 2;
  /* 32px */
  letter-spacing: 0.15em;
  margin: -0.5em 0;
  position: relative;
  transition: 0.25s ease-in;
}
#about .contents #about01 .w1120 .cm_flex li a:hover {
  opacity: 0.7;
}
#about .contents #about01 .w1120 .cm_flex li a::after {
  content: "";
  width: 0.7625rem;
  height: 0.693125rem;
  background: url(../img/about/arw.svg) center/cover no-repeat;
  position: absolute;
  right: -1.2625rem;
  top: 50%;
  transform: translateY(-50%);
}
#about .contents #about02 {
  scroll-margin: 10rem;
}
#about .contents #about02 .cm_flex {
  margin-top: 10rem;
  margin-left: max(2rem, 50% - 35rem);
}
@media only screen and (min-width: 1000px) {
  #about .contents #about02 .cm_flex {
    align-items: flex-start;
    justify-content: center;
    gap: 0 5vw;
  }
}
@media only screen and (max-width: 999px) {
  #about .contents #about02 .cm_flex {
    width: calc(100% - 4rem);
    margin: 4rem auto 0;
  }
}
#about .contents #about02 .cm_flex p {
  width: 35rem;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 2.5;
  /* 45px */
  letter-spacing: 0.05em;
  margin: -0.75em 0;
}
@media only screen and (max-width: 999px) {
  #about .contents #about02 .cm_flex p {
    width: 100%;
  }
}
#about .contents #about02 .cm_flex .img {
  width: 45vw;
  height: auto;
}
@media only screen and (max-width: 999px) {
  #about .contents #about02 .cm_flex .img {
    width: 100%;
    margin-top: 2.5rem;
  }
}
#about .contents #about02 .cm_flex .img img {
  width: 100%;
  height: auto;
}
#about .contents #about03 {
  scroll-margin: 10rem;
}
#about .contents #about03 .w1120 {
  margin: 10rem auto 0;
}
@media only screen and (min-width: 1000px) {
  #about .contents #about03 .w1120 .cm_flex {
    align-items: center;
    gap: 0 1.5rem;
  }
}
#about .contents #about03 .w1120 .cm_flex h2 {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.75;
  /* 42px */
  letter-spacing: 0.1em;
  margin: -0.375em 0;
}
#about .contents #about03 .w1120 .cm_flex p {
  font-weight: 400;
  line-height: 2;
  /* 32px */
  letter-spacing: 0.05em;
  margin: -0.5em 0;
}
@media only screen and (max-width: 999px) {
  #about .contents #about03 .w1120 .cm_flex p {
    margin: calc(2rem - 0.5em) 0 -0.5em;
  }
}
#about .contents #about03 .w1120 .wrap table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 2rem;
}
#about .contents #about03 .w1120 .wrap table tbody tr {
  border-bottom: 0.0625rem solid #4B4B4B;
}
#about .contents #about03 .w1120 .wrap table tbody tr:first-child {
  border-top: 0.0625rem solid #4B4B4B;
}
@media only screen and (min-width: 1000px) {
  #about .contents #about03 .w1120 .wrap table tbody tr th dl {
    display: flex;
    align-items: center;
    gap: 0 min(1.625rem, 1.3541666667vw);
  }
}
#about .contents #about03 .w1120 .wrap table tbody tr th dl dt {
  text-align: center;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
  /* 30px */
  letter-spacing: 0.1em;
  margin: -0.25em 0 -0.25em min(1.625rem, 1.3541666667vw);
}
@media only screen and (max-width: 999px) {
  #about .contents #about03 .w1120 .wrap table tbody tr th dl dt {
    font-size: 0.9150625rem;
    margin: -0.25em 0 -0.25em;
  }
}
#about .contents #about03 .w1120 .wrap table tbody tr th dl dd {
  font-weight: 700;
  line-height: 1.5;
  /* 24px */
  letter-spacing: 0.1em;
  margin: -0.25em 0;
}
@media only screen and (min-width: 1000px) {
  #about .contents #about03 .w1120 .wrap table tbody tr th dl dd {
    display: flex;
    align-items: center;
  }
}
@media only screen and (max-width: 999px) {
  #about .contents #about03 .w1120 .wrap table tbody tr th dl dd {
    text-align: center;
    font-size: 0.549rem;
    margin: calc(0.45625rem - 0.25em) 0 -0.25em;
  }
}
#about .contents #about03 .w1120 .wrap table tbody tr th dl dd small {
  font-size: min(0.75rem, 0.625vw);
  margin-left: min(0.5rem, 0.4166666667vw);
}
#about .contents #about03 .w1120 .wrap table tbody tr td {
  width: min(9.5rem, 13.5714285714vw);
  height: min(4rem, 5.7142857143vw);
  text-align: center;
  font-weight: 700;
  vertical-align: middle;
  border-left: 0.0625rem solid #4B4B4B;
}
@media only screen and (max-width: 999px) {
  #about .contents #about03 .w1120 .wrap table tbody tr td {
    width: 4.6875rem;
    height: 2.875rem;
  }
}
#about .contents #about03 .w1120 .wrap table tbody tr td.plus {
  background-color: #383838;
}
#about .contents #about03 .w1120 .wrap table tbody tr td dl {
  padding: 1.0625rem 0;
}
@media only screen and (max-width: 999px) {
  #about .contents #about03 .w1120 .wrap table tbody tr td dl {
    padding: 0.7775rem 0 0.889375rem;
  }
}
#about .contents #about03 .w1120 .wrap table tbody tr td dl dt {
  text-align: center;
  font-size: 0.625rem;
  font-weight: 400;
  line-height: 1.75;
  /* 17.5px */
  letter-spacing: 0.1em;
  margin: -0.375em 0;
}
@media only screen and (max-width: 999px) {
  #about .contents #about03 .w1120 .wrap table tbody tr td dl dt {
    font-size: 0.4575rem;
  }
}
#about .contents #about03 .w1120 .wrap table tbody tr td dl dd {
  text-align: center;
  font-weight: 700;
  line-height: 1.5;
  /* 24px */
  letter-spacing: 0.1em;
  margin: calc(0.6875rem - 0.25em) 0 -0.25em;
}
@media only screen and (max-width: 999px) {
  #about .contents #about03 .w1120 .wrap table tbody tr td dl dd {
    font-size: 0.6405rem;
    margin: calc(0.51125rem - 0.25em) 0 -0.25em;
  }
}
#about .contents #about03 .w1120 .wrap .line {
  font-size: 0.549rem;
  font-weight: 700;
  line-height: 1.5;
  /* 13.176px */
  letter-spacing: 0.1em;
  margin: calc(0.731875rem - 0.25em) 0 -0.25em;
}
#about .contents #about04 .w1120 {
  margin: 0 auto;
}
#about .contents #about04 .w1120 p {
  font-weight: 400;
  line-height: 2;
  /* 32px */
  letter-spacing: 0.05em;
  margin: calc(2.5rem - 0.5em) 0 -0.5em;
}
#about .contents #about05 {
  scroll-margin: 10rem;
}
#about .contents #about05 .w1120 {
  margin: 0 auto;
}
#about .contents #about05 .w1120 p {
  font-weight: 400;
  line-height: 2;
  /* 32px */
  letter-spacing: 0.05em;
  margin: calc(2.5rem - 0.5em) 0 -0.5em;
}
#about .contents #about05 .w1120 table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 3.125rem;
}
#about .contents #about05 .w1120 table tbody tr {
  border-bottom: 0.0625rem solid #4B4B4B;
}
#about .contents #about05 .w1120 table tbody tr:first-child {
  border-top: 0.0625rem solid #4B4B4B;
}
#about .contents #about05 .w1120 table tbody tr th,
#about .contents #about05 .w1120 table tbody tr td {
  font-weight: 400;
  line-height: 3;
  /* 300% */
  letter-spacing: 0.15em;
}
#about .contents #about05 .w1120 table tbody tr th {
  width: 10.1875rem;
}
#about .contents #about06 {
  scroll-margin: 10rem;
}
#about .contents #about06 .w1120 {
  margin: 0 auto;
}
#about .contents #about06 .w1120 h2 {
  margin: calc(12rem - 0.375em) 0 -0.375em;
}
#about .contents #about06 .w1120 p {
  font-weight: 400;
  line-height: 2;
  /* 32px */
  letter-spacing: 0.05em;
  margin: calc(2.5rem - 0.5em) 0 -0.5em;
}
#about .contents #about06 .w1120 .cm_flex {
  margin-top: 3.5rem;
}
@media only screen and (min-width: 1000px) {
  #about .contents #about06 .w1120 .cm_flex {
    align-items: flex-start;
    gap: 0 5rem;
  }
}
#about .contents #about06 .w1120 .cm_flex iframe {
  order: 1;
  width: calc((100% - 5rem) / 2);
  aspect-ratio: 520/360;
}
@media only screen and (max-width: 999px) {
  #about .contents #about06 .w1120 .cm_flex iframe {
    width: 100%;
    margin-top: 3.5rem;
  }
}
#about .contents #about06 .w1120 .cm_flex .box {
  order: 2;
  width: calc((100% - 5rem) / 2);
}
@media only screen and (max-width: 999px) {
  #about .contents #about06 .w1120 .cm_flex .box {
    width: 100%;
    margin-top: 2.5rem;
  }
}
#about .contents #about06 .w1120 .cm_flex .box .img {
  width: 100%;
  height: auto;
}
#about .contents #about06 .w1120 .cm_flex .box .img img {
  width: 100%;
  height: auto;
}
#about .contents #about06 .w1120 .cm_flex .box address {
  font-weight: 400;
  line-height: 2;
  /* 32px */
  letter-spacing: 0.05em;
  margin: calc(3.10125rem - 0.5em) 0 -0.5em;
}
#about .contents #about07 {
  padding-bottom: 8.5rem;
}
@media only screen and (max-width: 999px) {
  #about .contents #about07 {
    padding-bottom: 6.5rem;
  }
}
#about .contents #about07 .w1120 {
  margin: 0 auto;
}
#about .contents #about07 .w1120 .cm_flex {
  margin-top: 12.5rem;
}
@media only screen and (min-width: 1000px) {
  #about .contents #about07 .w1120 .cm_flex {
    align-items: flex-start;
  }
}
@media only screen and (max-width: 999px) {
  #about .contents #about07 .w1120 .cm_flex {
    margin-top: 8rem;
  }
}
#about .contents #about07 .w1120 .cm_flex .txt_box {
  height: 40rem;
  margin-right: 7.5rem;
  position: relative;
}
@media only screen and (max-width: 999px) {
  #about .contents #about07 .w1120 .cm_flex .txt_box {
    height: auto;
  }
}
#about .contents #about07 .w1120 .cm_flex .txt_box::after {
  content: "";
  width: 0.0625rem;
  height: 100%;
  background-color: #4F4F4F;
  position: absolute;
  right: -2.5rem;
  top: 0;
}
@media only screen and (max-width: 999px) {
  #about .contents #about07 .w1120 .cm_flex .txt_box::after {
    display: none;
  }
}
#about .contents #about07 .w1120 .cm_flex .txt_box h2 {
  font-size: 2rem;
  font-weight: 400;
  line-height: 1;
  /* 48px */
  letter-spacing: 0.05em;
  writing-mode: vertical-rl;
  margin: unset;
}
@media only screen and (max-width: 999px) {
  #about .contents #about07 .w1120 .cm_flex .txt_box h2 {
    writing-mode: unset;
  }
}
#about .contents #about07 .w1120 .cm_flex .txt_box .en {
  display: block;
  width: 0.6875rem;
  font-family: "Great Vibes", cursive;
  font-weight: 400;
  line-height: 1;
  /* 32px */
  letter-spacing: 0.1em;
  writing-mode: vertical-rl;
  margin: 2.5rem auto 0;
}
@media only screen and (max-width: 999px) {
  #about .contents #about07 .w1120 .cm_flex .txt_box .en {
    width: 100%;
    writing-mode: unset;
    margin: 2.5rem 0 0 0;
  }
}
#about .contents #about07 .w1120 .cm_flex p {
  width: 25.5rem;
  font-weight: 400;
  line-height: 2;
  /* 32px */
  letter-spacing: 0.05em;
  margin: -0.5em 5rem -0.5em 0;
}
@media only screen and (max-width: 999px) {
  #about .contents #about07 .w1120 .cm_flex p {
    width: 100%;
    margin: calc(2.5rem - 0.5em) 0 -0.5em;
  }
}
#about .contents #about07 .w1120 .cm_flex .img {
  width: 30rem;
  height: auto;
}
@media only screen and (max-width: 999px) {
  #about .contents #about07 .w1120 .cm_flex .img {
    width: 100%;
    margin-top: 2.5rem;
  }
}
#about .contents #about07 .w1120 .cm_flex .img img {
  width: 100%;
  height: auto;
}
#about .contents #about07 .w1120 .cm_flex .inner {
  width: 25.5rem;
  margin-right: 5rem;
}
@media only screen and (max-width: 999px) {
  #about .contents #about07 .w1120 .cm_flex .inner {
    margin: 2.5rem 0 0;
  }
}
#about .contents #about07 .w1120 .cm_flex .inner .jp {
  display: block;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 2;
  /* 48px */
  letter-spacing: 0.05em;
  margin: -0.5em 0;
}
#about .contents #about07 .w1120 .cm_flex .inner .en {
  display: block;
  font-size: 0.625rem;
  font-weight: 400;
  line-height: 2;
  /* 20px */
  letter-spacing: 0.05em;
  margin: calc(1.25rem - 0.5em) 0 -0.5em;
}
#about .contents #about07 .w1120 .cm_flex .inner p {
  width: 100%;
  margin: calc(3rem - 0.5em) 0 -0.5em;
}
#about .contents #about07 .w1120 .cm_flex .img_box {
  width: 30rem;
}
@media only screen and (max-width: 999px) {
  #about .contents #about07 .w1120 .cm_flex .img_box {
    width: 100%;
    margin-top: 2.5rem;
  }
}
#about .contents #about07 .w1120 .cm_flex .img_box .img2 {
  width: 100%;
  height: auto;
}
#about .contents #about07 .w1120 .cm_flex .img_box .img2 img {
  width: 100%;
  height: auto;
}

#lunch .contents {
  overflow: hidden;
}
#lunch .contents .w1120 {
  max-width: 70rem;
  width: calc(100% - 4rem);
}
#lunch .contents #fv {
  padding-top: 10.125rem;
}
@media only screen and (max-width: 999px) {
  #lunch .contents #fv {
    padding-top: 10rem;
  }
}
#lunch .contents #fv .img_box {
  width: 70vw;
  margin: 0 auto;
  position: relative;
}
@media only screen and (max-width: 999px) {
  #lunch .contents #fv .img_box {
    width: 100%;
  }
}
#lunch .contents #fv .img_box .img {
  width: 100%;
  height: auto;
  position: relative;
  z-index: 1;
}
#lunch .contents #fv .img_box .img img {
  width: 100%;
  height: auto;
}
#lunch .contents #fv .img_box h1 {
  width: 8vw;
  height: auto;
  position: absolute;
  left: 12.5vw;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
}
@media only screen and (max-width: 999px) {
  #lunch .contents #fv .img_box h1 {
    width: 6rem;
    margin: 4rem auto 0;
    position: relative;
    left: unset;
    top: unset;
    transform: unset;
  }
}
#lunch .contents #fv .img_box h1 img {
  width: 100%;
  height: auto;
}
#lunch .contents #lunch01 .w1120 {
  margin: 6rem auto 0;
}
#lunch .contents #lunch01 .w1120 dl {
  display: flex;
  align-items: center;
  border-bottom: 0.0625rem solid #56534F;
}
@media only screen and (max-width: 999px) {
  #lunch .contents #lunch01 .w1120 dl {
    align-items: flex-start;
  }
}
#lunch .contents #lunch01 .w1120 dl:first-child {
  border-top: 0.0625rem solid #56534F;
}
#lunch .contents #lunch01 .w1120 dl dt {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 2;
  /* 40px */
  letter-spacing: 0.05em;
  white-space: nowrap;
  margin: 0 4rem 0 0;
}
@media only screen and (max-width: 1156px) {
  #lunch .contents #lunch01 .w1120 dl dt {
    margin-right: 3.3333333333vw;
  }
}
@media only screen and (max-width: 999px) {
  #lunch .contents #lunch01 .w1120 dl dt {
    margin: calc(1.75rem - 0.5em) 2rem -0.5em 0;
  }
}
#lunch .contents #lunch01 .w1120 dl dd {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.75;
  /* 24.5px */
  letter-spacing: 0.05em;
  margin: -0.375em 0;
  padding: 1.875rem 0;
}
@media only screen and (max-width: 999px) {
  #lunch .contents #lunch01 .w1120 dl dd {
    margin: calc(1.75rem - 0.375em) 0;
    padding: unset;
  }
}
@media only screen and (max-width: 999px) {
  #lunch .contents #lunch01 .w1120 dl.price {
    flex-wrap: wrap;
  }
}
@media only screen and (max-width: 999px) {
  #lunch .contents #lunch01 .w1120 dl.price dt {
    margin-right: 2rem;
  }
}
#lunch .contents #lunch01 .w1120 dl.price dd:nth-child(2) {
  margin-right: 5rem;
}
@media only screen and (max-width: 999px) {
  #lunch .contents #lunch01 .w1120 dl.price dd:nth-child(2) {
    margin: calc(1.75rem - 0.25em) 2rem -0.25em 0;
  }
}
#lunch .contents #lunch01 .w1120 dl.price dd:nth-child(3) {
  font-size: 1.75rem;
  font-weight: 400;
  line-height: 2;
  /* 56px */
}
@media only screen and (max-width: 999px) {
  #lunch .contents #lunch01 .w1120 dl.price dd:nth-child(3) {
    width: 100%;
    font-size: 0.875rem;
    margin: calc(1rem - 0.25em) 2rem calc(1.75rem - 0.25em) 6rem;
  }
}
#lunch .contents #lunch01 .w1120 dl.price dd:nth-child(3) small {
  font-weight: 400;
  line-height: 2;
  /* 32px */
  letter-spacing: 0.05em;
}
@media only screen and (max-width: 999px) {
  #lunch .contents #lunch01 .w1120 dl.use {
    flex-wrap: wrap;
  }
}
@media only screen and (max-width: 999px) {
  #lunch .contents #lunch01 .w1120 dl.use dt {
    margin-right: 2rem;
  }
}
@media only screen and (max-width: 999px) {
  #lunch .contents #lunch01 .w1120 dl.use dd:nth-child(2) {
    margin: calc(1.625rem - 0.25em) 2rem -0.25em 0;
  }
}
#lunch .contents #lunch01 .w1120 dl.use dd:nth-child(2), #lunch .contents #lunch01 .w1120 dl.use dd:nth-child(3) {
  font-size: min(1.125rem, 1.6071428571vw);
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.01em;
  margin-right: 1.4375rem;
}
@media only screen and (max-width: 1156px) {
  #lunch .contents #lunch01 .w1120 dl.use dd:nth-child(2), #lunch .contents #lunch01 .w1120 dl.use dd:nth-child(3) {
    margin-right: 1.1979166667vw;
  }
}
@media only screen and (max-width: 999px) {
  #lunch .contents #lunch01 .w1120 dl.use dd:nth-child(2), #lunch .contents #lunch01 .w1120 dl.use dd:nth-child(3) {
    font-size: 1.125rem;
    margin-right: unset;
  }
}
#lunch .contents #lunch01 .w1120 dl.use dd:nth-child(3) {
  margin: 0 1.25rem 0 0;
}
@media only screen and (max-width: 1156px) {
  #lunch .contents #lunch01 .w1120 dl.use dd:nth-child(3) {
    margin-right: 1.0416666667vw;
  }
}
@media only screen and (max-width: 999px) {
  #lunch .contents #lunch01 .w1120 dl.use dd:nth-child(3) {
    font-size: 1.125rem;
    width: 100%;
    margin: calc(1rem - 0.5em) 0 -0.5em 6rem;
  }
}
#lunch .contents #lunch01 .w1120 dl.use dd:nth-child(3) img {
  width: 100%;
  height: 100%;
}
#lunch .contents #lunch01 .w1120 dl.use dd:nth-child(4) {
  font-size: min(0.875rem, 1.25vw);
  font-weight: 400;
  line-height: 1.5;
  /* 21px */
  letter-spacing: 0.01em;
  margin-right: 3rem;
}
@media only screen and (max-width: 1156px) {
  #lunch .contents #lunch01 .w1120 dl.use dd:nth-child(4) {
    margin-right: 2.5vw;
  }
}
@media only screen and (max-width: 999px) {
  #lunch .contents #lunch01 .w1120 dl.use dd:nth-child(4) {
    width: 100%;
    font-size: 0.875rem;
    margin: calc(1rem - 0.25em) 0 -0.25em 6rem;
  }
}
#lunch .contents #lunch01 .w1120 dl.use dd:nth-child(5) {
  font-size: min(1.25rem, 1.7857142857vw);
  font-weight: 700;
  line-height: 2;
  /* 40px */
  letter-spacing: 0.01em;
  margin-right: 0.6875rem;
}
@media only screen and (max-width: 1156px) {
  #lunch .contents #lunch01 .w1120 dl.use dd:nth-child(5) {
    margin-right: 0.5729166667vw;
  }
}
@media only screen and (max-width: 999px) {
  #lunch .contents #lunch01 .w1120 dl.use dd:nth-child(5) {
    font-size: 1.125rem;
    margin: calc(1rem - 0.5em) 1.25rem -0.5em 5.5rem;
  }
}
#lunch .contents #lunch01 .w1120 dl.use dd:nth-child(6) {
  width: min(11.994375rem, 17.1348214286vw);
  height: auto;
  margin-right: 1.25rem;
}
@media only screen and (max-width: 1156px) {
  #lunch .contents #lunch01 .w1120 dl.use dd:nth-child(6) {
    margin-right: 1.0416666667vw;
  }
}
@media only screen and (max-width: 999px) {
  #lunch .contents #lunch01 .w1120 dl.use dd:nth-child(6) {
    width: 11.994375rem;
    height: 1.125rem;
    margin: 1rem 5rem 0 6rem;
  }
}
#lunch .contents #lunch01 .w1120 dl.use dd:nth-child(6) img {
  width: 100%;
  height: auto;
}
#lunch .contents #lunch01 .w1120 dl.use dd:nth-child(7) {
  font-size: min(0.875rem, 1.25vw);
  font-weight: 400;
  line-height: 1.5;
  /* 21px */
  letter-spacing: 0.01em;
  margin: -0.25em 0;
}
@media only screen and (max-width: 999px) {
  #lunch .contents #lunch01 .w1120 dl.use dd:nth-child(7) {
    font-size: 0.875rem;
    width: 100%;
    margin: calc(1rem - 0.25em) 0 calc(1.625rem - 0.25em) 6rem;
  }
}
#lunch .contents #lunch02 .w1120 {
  margin: 8rem auto 8.5rem;
}
#lunch .contents #lunch02 .w1120 h2 .en {
  display: block;
  font-family: "Great Vibes", cursive;
  font-size: 1.75rem;
  font-weight: 400;
  line-height: 2;
  /* 56px */
  letter-spacing: 0.1em;
  margin: -0.5em 0;
}
#lunch .contents #lunch02 .w1120 h2 .jp {
  display: block;
  font-size: 2.5rem;
  font-weight: 400;
  line-height: 1.75;
  /* 70px */
  letter-spacing: 0.15em;
  margin: calc(3.5rem - 0.375em) 0 -0.375em;
}
@media only screen and (min-width: 1000px) {
  #lunch .contents #lunch02 .w1120 .cm_flex {
    align-items: flex-start;
    gap: 0 5rem;
  }
}
#lunch .contents #lunch02 .w1120 .cm_flex p {
  font-weight: 400;
  line-height: 2;
  /* 32px */
  letter-spacing: 0.05em;
  margin: calc(4rem - 0.5em) 0 -0.5em;
}
#lunch .contents #lunch02 .w1120 .grid {
  display: grid;
  grid-template-columns: 1fr 1fr 2.05970149fr;
  gap: 1rem;
  margin-top: 5rem;
}
@media only screen and (max-width: 999px) {
  #lunch .contents #lunch02 .w1120 .grid {
    grid-template-columns: 1fr 1fr;
    gap: 0.5rem;
  }
}
@media only screen and (max-width: 999px) {
  #lunch .contents #lunch02 .w1120 .grid .img {
    width: 13.75rem;
  }
}
#lunch .contents #lunch02 .w1120 .grid .img img {
  height: auto;
  aspect-ratio: 268/358;
}
@media only screen and (max-width: 999px) {
  #lunch .contents #lunch02 .w1120 .grid .img img {
    aspect-ratio: 220/294;
  }
}
@media only screen and (max-width: 999px) {
  #lunch .contents #lunch02 .w1120 .grid .img_box {
    width: 13.75rem;
  }
}
#lunch .contents #lunch02 .w1120 .grid .img_box .img2 {
  width: 100%;
}
#lunch .contents #lunch02 .w1120 .grid .img_box .img2.middle {
  margin-top: 1rem;
}
@media only screen and (max-width: 999px) {
  #lunch .contents #lunch02 .w1120 .grid .img_box .img2.middle {
    margin-top: 0.5rem;
  }
}
#lunch .contents #lunch02 .w1120 .grid .img_box .img2 img {
  aspect-ratio: 268/171;
}
@media only screen and (max-width: 999px) {
  #lunch .contents #lunch02 .w1120 .grid .img_box .img2 img {
    aspect-ratio: 220/144;
  }
}
@media only screen and (max-width: 999px) {
  #lunch .contents #lunch02 .w1120 .grid .img3 {
    width: 100%;
    grid-column: 1/4;
    grid-row: 2/4;
  }
}
#lunch .contents #lunch02 .w1120 .grid .img3 img {
  height: auto;
  aspect-ratio: 552/358;
}
@media only screen and (max-width: 999px) {
  #lunch .contents #lunch02 .w1120 .grid .img3 img {
    aspect-ratio: 448/291;
  }
}
#lunch .contents #lunch02 .w1120 .grid .img4 {
  grid-column: 1/4;
  grid-row: 2/3;
}
@media only screen and (max-width: 999px) {
  #lunch .contents #lunch02 .w1120 .grid .img4 {
    width: 100%;
    grid-row: 4/4;
  }
}
#lunch .contents #lunch02 .w1120 .grid .img4 img {
  width: 100%;
  aspect-ratio: 1120/640;
}
@media only screen and (max-width: 999px) {
  #lunch .contents #lunch02 .w1120 .grid .img4 img {
    aspect-ratio: 448/291;
  }
}

#recruit .contents .w800 {
  max-width: 50rem;
  width: calc(100% - 4rem);
}
#recruit .contents #fv {
  padding-top: 10rem;
}
@media only screen and (min-width: 1000px) {
  #recruit .contents #fv .flex {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: 0 5.25vw;
  }
}
#recruit .contents #fv .flex .txt_box {
  order: 1;
  width: 4.5vw;
  margin-top: 0.3125rem;
  margin-left: 15.25vw;
}
@media only screen and (min-width: 1000px) {
  #recruit .contents #fv .flex .txt_box {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
}
@media only screen and (max-width: 999px) {
  #recruit .contents #fv .flex .txt_box {
    width: calc(100% - 4rem);
    margin: 0 auto;
  }
}
#recruit .contents #fv .flex .txt_box h1 {
  font-size: 3rem;
  font-weight: 400;
  line-height: 1.25;
  /* 60px */
  letter-spacing: 0.05em;
  writing-mode: vertical-rl;
}
@media only screen and (max-width: 999px) {
  #recruit .contents #fv .flex .txt_box h1 {
    text-align: center;
    writing-mode: unset;
    margin: 4rem auto 0;
  }
}
#recruit .contents #fv .flex .txt_box .flex2 {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 0 0.75vw;
  width: 4.5vw;
  margin-top: 2.5rem;
  padding-top: 2.5rem;
  border-top: 0.0625rem solid #54514D;
}
@media only screen and (max-width: 999px) {
  #recruit .contents #fv .flex .txt_box .flex2 {
    width: 100%;
    justify-content: left;
  }
}
#recruit .contents #fv .flex .txt_box .flex2 li {
  font-weight: 400;
  line-height: 1.15;
  /* 18.4px */
  letter-spacing: 0.05em;
  writing-mode: vertical-rl;
}
@media only screen and (max-width: 999px) {
  #recruit .contents #fv .flex .txt_box .flex2 li {
    writing-mode: unset;
  }
}
#recruit .contents #fv .flex .img {
  order: 2;
  width: 60vw;
  height: auto;
  margin-right: 15vw;
  position: relative;
  z-index: 1;
}
@media only screen and (max-width: 999px) {
  #recruit .contents #fv .flex .img {
    width: 100%;
  }
}
#recruit .contents #fv .flex .img img {
  width: 100%;
  height: auto;
}
@media only screen and (max-width: 999px) {
  #recruit .contents #fv .flex .img img {
    aspect-ratio: 512/299;
  }
}
#recruit .contents #recruit01 .w800 {
  margin: 4rem auto 0;
}
#recruit .contents #recruit01 .w800 .line {
  font-weight: 400;
  line-height: 2;
  /* 32px */
  letter-spacing: 0.05em;
  margin: -0.5em 0;
}
#recruit .contents #recruit01 .w800 h2 {
  width: 100%;
  height: 6rem;
  border: 0.0625rem solid #E1E1E1;
  position: relative;
  margin-top: 8rem;
}
#recruit .contents #recruit01 .w800 h2 span {
  font-size: 2rem;
  font-weight: 700;
  line-height: 2;
  /* 64px */
  letter-spacing: 0.15em;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
#recruit .contents #recruit01 .w800 .cm_flex {
  margin-top: 4rem;
}
@media only screen and (min-width: 1000px) {
  #recruit .contents #recruit01 .w800 .cm_flex {
    align-items: flex-start;
    gap: 0 5rem;
  }
}
#recruit .contents #recruit01 .w800 .cm_flex dl {
  width: 22.5rem;
}
@media only screen and (max-width: 999px) {
  #recruit .contents #recruit01 .w800 .cm_flex dl {
    width: 100%;
  }
}
@media only screen and (max-width: 999px) {
  #recruit .contents #recruit01 .w800 .cm_flex dl:nth-child(2) dt {
    margin: calc(4rem - 0.5em) 0 -0.5em;
  }
}
#recruit .contents #recruit01 .w800 .cm_flex dl dt {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 2;
  /* 48px */
  letter-spacing: 0.1em;
  margin: -0.5em 0;
}
#recruit .contents #recruit01 .w800 .cm_flex dl dd {
  font-weight: 400;
  line-height: 2;
  /* 32px */
  letter-spacing: 0.05em;
  margin: calc(2.5rem - 0.5em) 0 -0.5em;
}
#recruit .contents #recruit01 .w800 .top {
  margin-top: 9rem;
}
#recruit .contents #recruit01 .w800 .content {
  margin-top: 4rem;
}
#recruit .contents #recruit01 .w800 .content.m_top {
  margin-top: 6rem;
}
#recruit .contents #recruit01 .w800 .content dt {
  font-size: 1.75rem;
  font-weight: 400;
  line-height: 1.75;
  /* 49px */
  letter-spacing: 0.1em;
  margin: -0.375em 0;
}
#recruit .contents #recruit01 .w800 .content dd {
  font-weight: 400;
  line-height: 2;
  /* 32px */
  letter-spacing: 0.05em;
  margin: calc(2.5rem - 0.5em) 0 -0.5em;
}
#recruit .contents #recruit01 .w800 .cm_flex2 {
  width: 100%;
  margin-top: 6rem;
  box-sizing: border-box;
}
@media only screen and (min-width: 1000px) {
  #recruit .contents #recruit01 .w800 .cm_flex2 {
    align-items: stretch;
    flex-wrap: nowrap;
    gap: 0;
  }
}
#recruit .contents #recruit01 .w800 .cm_flex2 .img {
  width: 50%;
  height: auto;
}
@media only screen and (max-width: 999px) {
  #recruit .contents #recruit01 .w800 .cm_flex2 .img {
    width: 100%;
  }
}
#recruit .contents #recruit01 .w800 .cm_flex2 .img img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 400/225;
}
#recruit .contents #recruit01 .w800 .img2 {
  width: 100%;
  height: auto;
  margin-top: 4rem;
}
#recruit .contents #recruit01 .w800 .img2 img {
  width: 100%;
  height: auto;
}
#recruit .contents #recruit02 {
  padding-bottom: 8.5rem;
}
@media only screen and (max-width: 999px) {
  #recruit .contents #recruit02 {
    padding-bottom: 6.5rem;
  }
}
#recruit .contents #recruit02 .w800 {
  margin: 0 auto;
}
#recruit .contents #recruit02 .w800 h2 {
  width: 100%;
  height: 6rem;
  border: 0.0625rem solid #E1E1E1;
  position: relative;
  margin-top: 8rem;
}
#recruit .contents #recruit02 .w800 h2 span {
  font-size: 2rem;
  font-weight: 700;
  line-height: 2;
  /* 64px */
  letter-spacing: 0.15em;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
#recruit .contents #recruit02 .w800 table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 4rem;
}
#recruit .contents #recruit02 .w800 table tbody tr {
  border-bottom: 0.0625rem solid #4F4F4F;
}
#recruit .contents #recruit02 .w800 table tbody tr:first-child {
  border-top: 0.0625rem solid #4F4F4F;
}
#recruit .contents #recruit02 .w800 table tbody tr th,
#recruit .contents #recruit02 .w800 table tbody tr td {
  font-weight: 400;
  line-height: 2;
  /* 32px */
  letter-spacing: 0.05em;
  padding: 1.5rem 0;
  margin: -0.5em 0;
}
#recruit .contents #recruit02 .w800 table tbody tr th {
  vertical-align: top;
  font-weight: 700;
}
@media only screen and (max-width: 999px) {
  #recruit .contents #recruit02 .w800 table tbody tr th {
    white-space: nowrap;
  }
}
@media only screen and (max-width: 999px) {
  #recruit .contents #recruit02 .w800 table tbody tr td {
    padding-left: 1.5rem;
  }
}

#contact .contents .w800 {
  max-width: 50rem;
  width: calc(100% - 4rem);
}
#contact .contents #fv h1 {
  width: 50rem;
  height: 6rem;
  border: solid 0.0625rem rgba(225, 225, 225, 0.2);
  margin: 10rem auto 0;
  position: relative;
}
@media only screen and (max-width: 999px) {
  #contact .contents #fv h1 {
    width: calc(100% - 4rem);
  }
}
#contact .contents #fv h1 span {
  font-size: 2rem;
  font-weight: 700;
  line-height: 2;
  /* 64px */
  letter-spacing: 0.15em;
  white-space: nowrap;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
#contact .contents #contact01 .w800 {
  margin: 10rem auto 8.5rem;
}
@media only screen and (max-width: 999px) {
  #contact .contents #contact01 .w800 {
    margin: 10rem auto 6.5rem;
  }
}
#contact .contents #contact01 .w800 h2 {
  text-align: center;
  font-size: 1.75rem;
  font-weight: 400;
  line-height: 1.75;
  /* 49px */
  letter-spacing: 0.1em;
  margin: calc(4rem - 0.375em) 0 -0.375em;
}
#contact .contents #contact01 .w800 p {
  font-weight: 400;
  line-height: 2;
  /* 36px */
  letter-spacing: 0.08em;
  margin: calc(4rem - 0.5em) 0 -0.5em;
}
#contact .contents #contact01 .w800 p span {
  width: -moz-fit-content;
  width: fit-content;
  display: block;
  background-color: #D34B3F;
  padding: 0 0.625rem;
}
#contact .contents #contact01 .w800 form {
  margin: 6rem 0 0;
  position: relative;
  z-index: 1;
}
#contact .contents #contact01 .w800 form .ac {
  margin-top: 2.5rem;
}
#contact .contents #contact01 .w800 form .ac dt {
  display: flex;
  align-items: center;
  width: 14.375rem;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: -0.05em;
  margin: -0.3em 0;
}
#contact .contents #contact01 .w800 form .ac dt .need {
  color: #D34B3F;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 2;
  margin: -0.5em 0;
  padding-left: 0.465rem;
}
#contact .contents #contact01 .w800 form .ac dd {
  width: 100%;
  margin-top: 0.75rem;
}
#contact .contents #contact01 .w800 form .ac dd input {
  display: inline-block;
  width: 100%;
  height: 2.375rem;
  color: #2A2A2A;
  font-weight: 500;
  background-color: #F2F2F2;
  border: 0.0625rem solid #cccccc;
  border-radius: 0.625rem;
  padding: 0.8125rem 1.0975rem 0.8125rem 1.0975rem;
}
#contact .contents #contact01 .w800 form .ac dd textarea {
  display: inline-block;
  width: 100%;
  height: 13.0625rem;
  color: #2A2A2A;
  background-color: #F2F2F2;
  border: 0.0625rem solid #cccccc;
  border-radius: 0.625rem;
  padding: 0.8125rem 1.0975rem 0.8125rem 1.0975rem;
}
#contact .contents #contact01 .w800 form #gr_submit,
#contact .contents #contact01 .w800 form button[type=submit] {
  cursor: pointer;
  display: block;
  width: 18.75rem;
  height: 3.8125rem;
  background-color: #e1e1e1;
  border: unset;
  border-radius: 3.125rem;
  margin: 3.15125rem auto 0;
  position: relative;
  transition: 0.25s ease-in;
}
#contact .contents #contact01 .w800 form #gr_submit[disabled],
#contact .contents #contact01 .w800 form button[type=submit][disabled] {
  pointer-events: none;
  opacity: 0.5;
}
#contact .contents #contact01 .w800 form #gr_submit:hover,
#contact .contents #contact01 .w800 form button[type=submit]:hover {
  background-color: #2A2A2A;
  border: solid 0.0625rem rgba(225, 225, 225, 0.2);
}
#contact .contents #contact01 .w800 form #gr_submit:hover span,
#contact .contents #contact01 .w800 form button[type=submit]:hover span {
  color: #E1E1E1;
}
#contact .contents #contact01 .w800 form #gr_submit span,
#contact .contents #contact01 .w800 form button[type=submit] span {
  color: #2A2A2A;
  font-size: 1.125rem;
  font-weight: 400;
}
#contact .contents #contact01 .w800 form .recaptcha {
  margin: 4rem 0 0;
}
#contact .contents #contact01 .w800 form .recaptcha .g-recaptcha > div {
  margin: 0 auto;
}
#contact .contents #contact02 {
  scroll-margin: 10rem;
  padding-bottom: 8.5rem;
}
@media only screen and (max-width: 999px) {
  #contact .contents #contact02 {
    padding-bottom: 6.5rem;
  }
}
#contact .contents #contact02 .w800 {
  margin: 0 auto;
}
#contact .contents #contact02 .w800 h2 {
  width: 50rem;
  height: 6rem;
  border: solid 0.0625rem rgba(225, 225, 225, 0.2);
  margin: 10rem auto 0;
  position: relative;
}
@media only screen and (max-width: 999px) {
  #contact .contents #contact02 .w800 h2 {
    width: 100%;
  }
}
#contact .contents #contact02 .w800 h2 span {
  font-size: 2rem;
  font-weight: 700;
  line-height: 2;
  /* 64px */
  letter-spacing: 0.15em;
  white-space: nowrap;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
#contact .contents #contact02 .w800 .lead {
  font-weight: 400;
  line-height: 2;
  /* 36px */
  letter-spacing: 0.08em;
  margin: calc(4rem - 0.5em) 0 -0.5em;
}
#contact .contents #contact02 .w800 h3 {
  font-weight: 700;
  line-height: 2;
  /* 36px */
  letter-spacing: 0.08em;
  margin: calc(4rem - 0.5em) 0 -0.5em;
}
#contact .contents #contact02 .w800 p {
  font-weight: 400;
  line-height: 2;
  /* 36px */
  letter-spacing: 0.08em;
  margin: calc(2.5rem - 0.5em) 0 -0.5em;
}
#contact .contents #contact02 .w800 p a {
  text-decoration: underline;
}

#thanks .contents #fv {
  width: calc(100% - 4rem);
  height: 100vh;
  margin: 0 auto 8.5rem;
}
@media only screen and (max-width: 999px) {
  #thanks .contents #fv {
    margin: 0 auto 5rem;
  }
}
#thanks .contents #fv h1 {
  width: 12.5rem;
  height: auto;
  margin: 10rem auto 0;
}
#thanks .contents #fv h1 a {
  width: 100%;
  height: auto;
}
#thanks .contents #fv h1 a img {
  width: 100%;
  height: auto;
}
#thanks .contents #fv .center {
  text-align: center;
  font-size: 1.75rem;
  line-height: 2;
  letter-spacing: 0.05em;
  margin: calc(5.5rem - 0.5em) 0 -0.5em;
}
#thanks .contents #fv .cm_link {
  margin: 4rem auto 0;
}

#dining .contents .w800 {
  max-width: 50rem;
  width: calc(100% - 4rem);
}
#dining .contents #fv {
  padding-top: 10rem;
}
@media only screen and (min-width: 1000px) {
  #dining .contents #fv .flex {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: 0 5.25vw;
  }
}
#dining .contents #fv .flex .txt_box {
  width: 4.5vw;
  margin-top: 0.3125rem;
  margin-left: 15.25vw;
}
@media only screen and (min-width: 1000px) {
  #dining .contents #fv .flex .txt_box {
    display: flex;
    flex-direction: column;
    align-items: center;
    order: 1;
  }
}
@media only screen and (max-width: 999px) {
  #dining .contents #fv .flex .txt_box {
    width: calc(100% - 4rem);
    margin: 0 auto;
  }
}
#dining .contents #fv .flex .txt_box h1 {
  font-size: 3rem;
  font-weight: 400;
  line-height: 1.25;
  /* 60px */
  letter-spacing: 0.05em;
  writing-mode: vertical-rl;
}
@media only screen and (max-width: 999px) {
  #dining .contents #fv .flex .txt_box h1 {
    text-align: center;
    writing-mode: unset;
    margin: 4rem auto 0;
  }
}
#dining .contents #fv .flex .txt_box .flex2 {
  display: flex;
  align-items: flex-start;
  gap: 0 0.75vw;
  justify-content: center;
  width: 5rem;
  margin-top: 2.5rem;
  padding-top: 2.5rem;
  border-top: 0.0625rem solid #54514D;
}
#dining .contents #fv .flex .txt_box .flex2 li {
  font-weight: 400;
  line-height: 1.15;
  /* 18.4px */
  letter-spacing: 0.05em;
  writing-mode: vertical-rl;
}
#dining .contents #fv .flex .img {
  width: 60vw;
  height: auto;
  margin-right: 15vw;
  position: relative;
  z-index: 1;
  order: 2;
}
@media only screen and (max-width: 999px) {
  #dining .contents #fv .flex .img {
    width: 100%;
  }
}
#dining .contents #fv .flex .img img {
  width: 100%;
  height: auto;
}
@media only screen and (max-width: 999px) {
  #dining .contents #fv .flex .img img {
    aspect-ratio: 512/299;
  }
}
#dining .contents #dining01 {
  padding-bottom: 8.5rem;
}
@media only screen and (max-width: 999px) {
  #dining .contents #dining01 {
    padding-bottom: 4.25rem;
  }
}
#dining .contents #dining01.w800 {
  margin: 0 auto 0;
}
#dining .contents #dining01 .lead {
  text-align: center;
  font-weight: 400;
  line-height: 2;
  /* 32px */
  letter-spacing: 0.05em;
  margin: calc(4rem - 0.5em) 0 -0.5em;
}
#dining .contents #dining01 .flex {
  margin-top: 4rem;
}
@media only screen and (min-width: 1000px) {
  #dining .contents #dining01 .flex {
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
#dining .contents #dining01 .flex .line {
  display: block;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 2;
  /* 40px */
  letter-spacing: 0.05em;
  margin: -0.5em 0.6875rem -0.5em 0;
}
@media only screen and (max-width: 999px) {
  #dining .contents #dining01 .flex .line {
    text-align: center;
  }
}
#dining .contents #dining01 .flex .tel_img {
  display: block;
  width: 11.994375rem;
  height: auto;
  margin-right: 1.25rem;
}
@media only screen and (max-width: 999px) {
  #dining .contents #dining01 .flex .tel_img {
    margin: 1rem auto 0;
  }
}
#dining .contents #dining01 .flex .tel_img img {
  width: 100%;
  height: auto;
}
#dining .contents #dining01 .flex .line2 {
  display: block;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.5;
  /* 21px */
  letter-spacing: 0.05em;
  margin: -0.25em 0;
}
@media only screen and (max-width: 999px) {
  #dining .contents #dining01 .flex .line2 {
    text-align: center;
    margin: calc(1rem - 0.25em) 0 -0.25em;
  }
}
#dining .contents #dining01 h2 {
  width: 100%;
  height: 6rem;
  border: solid 0.0625rem #4F4F4F;
  margin-top: 9.75rem;
  position: relative;
}
@media only screen and (max-width: 999px) {
  #dining .contents #dining01 h2 {
    margin-top: 5rem;
  }
}
#dining .contents #dining01 h2.m_top {
  margin-top: 10rem;
}
@media only screen and (max-width: 999px) {
  #dining .contents #dining01 h2.m_top {
    margin-top: 5rem;
  }
}
#dining .contents #dining01 h2 span {
  display: block;
  font-size: 2rem;
  font-weight: 700;
  line-height: 2;
  /* 64px */
  letter-spacing: 0.15em;
  white-space: nowrap;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
#dining .contents #dining01 .flex2 {
  display: flex;
  align-items: center;
  gap: 0 1.25rem;
  justify-content: center;
  margin-top: 2.5rem;
  padding-bottom: 2.5rem;
  border-bottom: solid 0.0625rem #4F4F4F;
}
#dining .contents #dining01 .flex2 .line1 {
  display: block;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 2;
  /* 36px */
  letter-spacing: 0.05em;
  margin: -0.5em 0;
}
#dining .contents #dining01 .flex2 .line2 {
  display: block;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.5;
  /* 21px */
  letter-spacing: 0.05em;
  margin: -0.25em 0;
}
#dining .contents #dining01 h3 {
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 2;
  /* 56px */
  letter-spacing: 0.05em;
  margin: calc(5rem - 0.5em) 0 -0.5em;
}
#dining .contents #dining01 h3.top {
  margin: calc(4rem - 0.5em) 0 -0.5em;
}
#dining .contents #dining01 .lead2 {
  font-weight: 400;
  line-height: 1.75;
  /* 28px */
  letter-spacing: 0.05em;
  margin: calc(2.5rem - 0.375em) 0 -0.375em;
}
#dining .contents #dining01 .price {
  display: block;
  font-size: 1.75rem;
  font-weight: 400;
  line-height: 2;
  /* 56px */
  margin: calc(2.5rem - 0.5em) 0.25rem -0.5em 0;
}
#dining .contents #dining01 .price small {
  font-weight: 400;
  line-height: 2;
  /* 32px */
  letter-spacing: 0.05em;
  margin: -0.5em 0;
}
#dining .contents #dining01 .img {
  width: 100%;
  height: auto;
  margin-top: 2.5rem;
}
#dining .contents #dining01 .img img {
  width: 100%;
  height: auto;
}
#dining .contents #dining01 .cm_flex {
  align-items: flex-start;
  gap: 0 3rem;
  padding-bottom: 5rem;
  border-bottom: solid 0.0625rem #4F4F4F;
}
#dining .contents #dining01 .cm_flex .img_box {
  width: calc((100% - 3rem) / 2);
  margin-top: 3rem;
}
@media only screen and (max-width: 999px) {
  #dining .contents #dining01 .cm_flex .img_box {
    width: 100%;
  }
}
#dining .contents #dining01 .cm_flex .img_box p {
  font-weight: 700;
  line-height: 1.75; /* 28px */
  letter-spacing: 0.05em;
  margin: -0.375em 0;
}
#dining .contents #dining01 .cm_flex .img_box .img2 {
  width: 100%;
  height: auto;
  margin-top: 1.5rem;
}
#dining .contents #dining01 .cm_flex .img_box .img2 img {
  width: 100%;
  height: auto;
}
#dining .contents #dining01 .img2 {
  width: 100%;
  height: auto;
  margin: 5rem 0 0;
}
#dining .contents #dining01 .img2:nth-child(12), #dining .contents #dining01 .img2:nth-child(20) {
  margin-top: 4rem;
}
#dining .contents #dining01 .img2 img {
  width: 100%;
  height: auto;
}
#dining .contents #dining01 .flex3 {
  padding: 2.5rem 0;
  border-bottom: 0.0625rem solid #4F4F4F;
}
@media only screen and (min-width: 1000px) {
  #dining .contents #dining01 .flex3 {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
}
#dining .contents #dining01 .flex3:nth-child(15), #dining .contents #dining01 .flex3:nth-child(23) {
  padding: 2.5rem 0 0;
  border-bottom: unset;
}
#dining .contents #dining01 .flex3 .content {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.75;
  /* 24.5px */
  letter-spacing: 0.05em;
  margin: -0.375em 0;
}
#dining .contents #dining01 .flex3 span {
  font-size: 1.75rem;
  font-weight: 400;
  line-height: 2;
  /* 56px */
  margin: -0.5em 0;
}
#dining .contents #dining01 .flex3 span small {
  line-height: 2;
  /* 32px */
  letter-spacing: 0.05em;
  margin: -0.5em 0;
}

@media screen and (min-width: 1000px) {
  .pcNone {
    display: none !important;
  }
  html {
    width: 100%;
    height: 100%;
    font-size: 16px;
  }
  body {
    width: 100%;
    height: 100%;
    font-size: 1rem;
  }
  img {
    display: block;
    height: auto;
  }
}
@media screen and (min-width: 1921px) {
  html {
    font-size: 1vw;
  }
}
@media screen and (max-width: 999px) {
  .spNone {
    display: none !important;
  }
  html {
    width: 100%;
    height: 100%;
    font-size: 3.125vw;
  }
  body {
    width: 100%;
    height: 100%;
    font-size: 1rem;
    overflow-x: hidden;
  }
  img {
    display: block;
    max-width: 100%;
    width: 100%;
  }
}/*# sourceMappingURL=layout.css.map */