@charset "UTF-8";
/**
 * Colors
==================== */
/**
 * Breakpoints
 ==================== */
/**
 * Design Sizes
==================== */
/**
 * Spacing Units
==================== */
/**
 * Font sizes
==================== */
/**
 * Font Families
==================== */
/**
 * vw変換
==================== */
/**
 * em変換
==================== */
/**
 * mixins
==================== */
:root {
  /**
  -    * Color variables
    ==================== */
  --clr-main-black: #000;
  --clr-sub-black: #15181e;
  --clr-label-black: #1e1e1e;
  --clr-base-black: #212121;
  --clr-placeholder-black: #777;
  --clr-bg-pitch-black: #333;
  --clr-bg-black: #464646;
  --clr-text-gray: #423737;
  --clr-bg-white-border: #d9d9d9;
  --clr-light-white: #f5f5f5;
  --clr-base-white: #fff;
  --clr-yellow-kitaden: #fed716;
  --clr-yellow-dark-kitaden: #debb0f;
  --clr-blue-kitaden: #171c60;
  --clr-blue-kitaden-light: #515480;
  --clr-border-gray: #d3d3d3;
  --clr-pink-red: #e8178a;
  --clr-catch-gray: #a2a2a2;
  --clr-dark-blue: #181c63;
  --clr-disabled-border: #b2b2b2;
  --clr-disabled-gray: #b3b3b3;
  --clr-sample-gray: #757575;
  --clr-radio-bg-gray: #e6e6e6;
  --clr-radio-bg-black: #2c2c2c;
  --clr-progress-bar-gray: #999999;
  --clr-error-red: #900b09;
  --clr-line-green: #06c755;
  --clr-another-black: #21272a;
  --clr-caution-red: #c00;
  --clr-caution-pink: #fdf1f1;
  --clr-calendar-bg: #faf0f0;
  --clr-calendar-sat-bg: #edf8fd;
  --clr-calendar-sat: #0088cc;
  --clr-calendar-sun: #cc0000;
  --clr-mypage-bg: #e2f7ff;
  --clr-mypage-hover-gray: #e9ebef;
  --clr-mypage-navy: #101865;
  --clr-mypage-navy-2: #001d4f;
  --clr-mypage-navy-3: #013988;
  --clr-mypage-gray: #9ca3af;
  --clr-mypage-black: #0a0a0a;
  --clr-mypage-green: #00a63e;
  --clr-mypage-number-plate: #016630;
  --clr-mypage-yellow: #ff0;
  --clr-mypage-coupon-blue: #d7e6fb;
  --clr-mypage-coupon-bg: #ffefd6;
  --clr-mypage-coupon-orange: #ff9500;
  --clr-mypage-kitaden-description: #a65f00;
  --clr-mypage-blue: #EAECFC;
  --clr-mypage-chip-recommend: #f2f7ff;
  --clr-mypage-chip-booking-text: #cc0000;
  --clr-mypage-chip-booking-bg: #fdf1f1;
  /**
  -    * Font size variables
    ==================== */
  --fs-sm: em(12);
  --fs-md: 1em;
  --fs-lg: em(24);
  /**
  -    * Font variables
    ==================== */
  --ff-default: sans-serif;
  --ff-en: sans-serif;
  --ff-ja: sans-serif;
}

html {
  font-size: var(--fs-md);
  scroll-behavior: smooth;
}

body {
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  background-color: var(--clr-bg-gray);
  color: var(--clr-basic-black);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-smooth: never;
}
body:has(.overlay-menu.-active), body:has(.js-menu.close), body:has(#favDialog[open]), body:has(#favDialogSS[open]) {
  overflow: hidden;
}

a {
  text-decoration: none;
  word-wrap: break-word;
  overflow-wrap: break-word;
  word-break: break-all;
}
a:focus-visible {
  outline: 5px auto -webkit-focus-ring-color;
}

button {
  cursor: pointer;
}

.anchor {
  padding-top: 7.5vw;
  margin-top: -7.5vw;
}
@media (max-width: 1020px) {
  .anchor {
    padding-top: 17.4358974359vw;
    margin-top: 17.4358974359vw;
  }
}
.anchor.-group {
  position: absolute;
}
@media (max-width: 1020px) {
  .anchor.-group {
    padding-top: 16.1538461538vw;
    margin-top: -16.1538461538vw;
  }
}
.anchor.-position-absolute {
  position: absolute;
}

img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

* {
  transition-property: background-color, color, opacity, width, transform, border-color, max-height, bottom, left, fill !important;
}
*:hover, *::before, *::after, *:hover::before, *:hover::after {
  transition-property: background-color, color, opacity, width, transform, border-color, max-height, bottom, left, fill !important;
}
* * {
  transition-property: background-color, color, opacity, width, transform, border-color, max-height, bottom, left, fill !important;
}
* *:hover, * *::before, * *::after, * *:hover::before, * *:hover::after {
  transition-property: background-color, color, opacity, width, transform, border-color, max-height, bottom, left, fill !important;
}

.wrapper {
  min-height: 100vh;
  position: relative;
  padding: 7.5vw 0 8.8888888889vw;
  display: flex;
  gap: 8.8888888889vw;
  flex-direction: column;
}
@media (max-width: 1020px) {
  .wrapper {
    padding: 13.8461538462vw 0 16.4102564103vw;
    gap: 16.4102564103vw;
  }
}

.only-pc {
  display: flex;
}
@media (max-width: 1020px) {
  .only-pc {
    display: none;
  }
}

.only-sp {
  display: none;
}
@media (max-width: 1020px) {
  .only-sp {
    display: block;
  }
}

.container {
  width: 100%;
  max-width: 100%;
  padding: 0 4.4444444444vw;
}
@media (max-width: 1020px) {
  .container {
    padding: 0 6.1538461538vw;
  }
}
@media (max-width: 1020px) {
  .container.-including-gray {
    padding-left: 0;
    padding-right: 0;
  }
  .container.-including-gray .-original-px {
    padding-left: 6.1538461538vw;
    padding-right: 6.1538461538vw;
  }
}
.container.-hidden {
  overflow: clip;
  overflow: hidden;
}
.container.-mv {
  padding: 0;
}
.container.-concept {
  padding: 0;
}
.container.-service {
  padding: 0 4.4444444444vw;
}
@media (max-width: 1020px) {
  .container.-service {
    padding: 0;
  }
}
.container.-news {
  padding: 0 0 0 4.4444444444vw;
}
@media (max-width: 1020px) {
  .container.-news {
    padding: 0 6.1538461538vw;
  }
}
.container.-contact {
  padding: 0 4.4444444444vw 4.4444444444vw;
}
@media (max-width: 1020px) {
  .container.-contact {
    padding: 0 6.1538461538vw;
  }
}
@media (max-width: 1020px) {
  .container.-tab {
    padding-left: 0;
    padding-right: 0;
  }
}
.container.-px-0 {
  padding-left: 0;
  padding-right: 0;
}
.container.-kitaden {
  padding-left: 16.3194444444vw;
  padding-right: 16.3194444444vw;
}
@media (max-width: 1020px) {
  .container.-kitaden {
    padding-left: 6.1538461538vw;
    padding-right: 6.1538461538vw;
  }
}
.container.-denied {
  display: none;
}

*:where(:not(iframe, canvas, dialog, img, video, svg, svg *, symbol *)) {
  all: unset;
  display: revert;
}

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

a,
button {
  cursor: revert;
}

ol,
ul,
menu {
  list-style: none;
  padding: 0;
  margin: 0;
}

img {
  max-width: 100%;
}

table {
  border-collapse: collapse;
}

textarea {
  white-space: revert;
}

meter {
  appearance: revert;
}

::placeholder {
  color: unset;
}

:where([hidden]) {
  display: none;
}

:where([contenteditable]) {
  -moz-user-modify: read-write;
  -webkit-user-modify: read-write;
  overflow-wrap: break-word;
  -webkit-line-break: after-white-space;
  line-break: after-white-space;
}

:where([draggable=true]) {
  -webkit-user-drag: element;
}

/*# sourceMappingURL=spiral-style.css.map */
