@charset "UTF-8";
/* ========================================================================================= ^^
    Custom properties
============================================================================================ ^^ */
#container {
  --min-layout-width: 375;
  --max-layout-width: 1300;
  --base-font-size: 16;
  --rem-ratio: calc(1rem / var(--base-font-size));
  --min-ratio: calc(1 / var(--min-layout-width) * 100vw);
  --max-ratio: calc(1 / var(--max-layout-width) * 100vw);
  --font-shippori: "Shippori Mincho", serif;
  --font-cinzel: "Cinzel", serif;
  --font-noto-sans: "Noto Sans JP", sans-serif;
  --font-noto-serif: "Noto Serif JP", serif;
  --font-eb-garamond: "EB Garamond", serif;
  overflow-wrap: anywhere;
}

/* ========================================================================================= ^^
  Google fonts
============================================================================================ ^^ */
/* ======================================================================================== ^^
	Utilities
============================================================================================ ^^ */
.tel-link,
a[href^="tel:"] {
  pointer-events: all;
  cursor: pointer;
}
@media (min-width: 1000px) {
  .tel-link,
  a[href^="tel:"] {
    pointer-events: none;
    cursor: default;
  }
}

@media (min-width: 1000px) {
  .is-sp {
    display: none !important;
  }
}

.is-pc {
  display: none !important;
}
@media (min-width: 1000px) {
  .is-pc {
    display: block !important;
  }
}

@media not all and (min-width: 768px) {
  .is-pc-br {
    display: none;
  }
}

@media (min-width: 1000px) {
  .is-sp-br {
    display: none;
  }
}

.is-hide {
  display: none !important;
}

a {
  transition: all 0.3s linear;
}

.is-fixed {
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
}

.screen-reader-text {
  clip: rect(0, 0, 1px, 1px);
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
}

/* ========================================================================================= ^^
  Text transform
============================================================================================ ^^ */
.u-uppercase {
  text-transform: uppercase;
}

.u-lowercase {
  text-transform: lowercase;
}

.u-capitalize {
  text-transform: capitalize;
}

/* ========================================================================================= ^^
	Break
============================================================================================ ^^ */
@media (min-width: 768px) {
  .u-pc-hide-br {
    display: none;
  }
}

@media not all and (min-width: 768px) {
  .u-sp-hide-br {
    display: none;
  }
}

@media not all and (min-width: 1300px) {
  .u-tb-hide-br {
    display: none;
  }
}

/* ========================================================================================= ^^
  Effects
============================================================================================ ^^ */
.js-fadeup {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.8s, transform 0.8s;
}

.js-fadeup.is-show {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.2s;
}

/* ========================================================================================= ^^
  Contents
============================================================================================ ^^ */
@media not all and (min-width: 768px) {
  .u-pc-contents {
    display: none;
  }
}

@media (min-width: 768px) {
  .u-sp-contents {
    display: none;
  }
}

/* ========================================================================================= ^^
  Container
============================================================================================ ^^ */
#container {
  width: 100%;
  padding: 0;
  margin-top: 0;
  font-family: var(--font-noto-serif);
  font-size: 100%;
  color: #231815;
  font-weight: 200;
  line-height: 1.5;
  font-feature-settings: "palt";
}
#container * {
  box-sizing: border-box;
}
#container h1, #container h2, #container h3, #container h4, #container h5, #container h6 {
  margin: 0;
}
#container p {
  margin: 0 0 1rem;
}
#container ul, #container ol {
  padding: 0;
  margin: 0;
  list-style: none;
}
#container dl {
  margin: 0;
}
#container dt, #container dd {
  padding: 0;
  margin: 0;
}
#container img {
  max-width: none;
  width: 100%;
  height: auto;
  vertical-align: top;
}
#container figure {
  margin: 0;
}
#container em {
  font-weight: bold;
  font-style: normal;
}
#container button {
  padding: 0;
  border-radius: 0;
  background: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  cursor: pointer;
}
#container button:focus {
  outline: none;
}
#container a {
  text-decoration: none;
}

#allWrapper {
  overflow: clip;
}

/* ========================================================================================= ^^
  Main
============================================================================================ ^^ */
.l-site-main {
  max-width: calc(var(--max-layout-width) * 1px);
  margin: 0 auto;
}

/* ========================================================================================= ^^
  Header
============================================================================================ ^^ */
.l-site-header {
  width: 100%;
  height: calc(66 * var(--min-ratio));
  background-color: rgba(255, 255, 255, 0.66);
  position: sticky;
  top: 0;
  left: 0;
  z-index: 100;
}
@media (min-width: 768px) {
  .l-site-header {
    height: calc(134 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  .l-site-header {
    height: calc(134 * var(--rem-ratio));
  }
}
.l-site-header__inner {
  max-width: calc(var(--max-layout-width) * 1px);
  padding: 0 calc(10 * var(--min-ratio));
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 28.1690140845% 15.2112676056%;
  align-items: center;
}
@media (min-width: 768px) {
  .l-site-header__inner {
    padding: calc(12 * var(--max-ratio)) calc(30 * var(--max-ratio)) calc(36 * var(--max-ratio)) calc(45 * var(--max-ratio));
    grid-template-columns: 1fr 19.5744680851% 26.5531914894%;
    -moz-column-gap: 2.0425531915%;
    column-gap: 2.0425531915%;
  }
}
@media (min-width: 1300px) {
  .l-site-header__inner {
    padding: calc(12 * var(--rem-ratio)) calc(50 * var(--rem-ratio)) calc(36 * var(--rem-ratio)) calc(75 * var(--rem-ratio));
  }
}
@media (min-width: 768px) {
  .l-site-header .c-menu-button {
    display: none;
  }
}
.l-site-header .c-site-navigation {
  max-width: calc(var(--max-layout-width) * 1px);
  margin: 0 auto;
}
@media not all and (min-width: 768px) {
  .l-site-header .c-site-sub-navigation {
    display: none;
  }
}
.l-site-header .c-site-sub-navigation__menu {
  justify-content: flex-end;
}
.l-site-header__buttons {
  display: grid;
  -moz-column-gap: calc(8 * var(--min-ratio));
  column-gap: calc(8 * var(--min-ratio));
}
@media (min-width: 768px) {
  .l-site-header__buttons {
    width: calc(312 * var(--max-ratio));
    grid-template-columns: repeat(2, 48.7179487179%);
    -moz-column-gap: 2.5641025641%;
    column-gap: 2.5641025641%;
  }
}
@media (min-width: 1300px) {
  .l-site-header__buttons {
    width: calc(312 * var(--rem-ratio));
  }
}
.l-site-header__buttons .c-button {
  height: calc(33 * var(--min-ratio));
}
@media (min-width: 768px) {
  .l-site-header__buttons .c-button {
    width: 100%;
    height: calc(57 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  .l-site-header__buttons .c-button {
    height: calc(57 * var(--rem-ratio));
  }
}
.l-site-header__buttons .c-button__link {
  font-size: clamp(0.625rem, 0.524rem + 0.43vw, 0.875rem);
  line-height: 1.2;
}
@media (min-width: 768px) {
  .l-site-header__buttons .c-button__link {
    font-size: clamp(0.625rem, 0.264rem + 0.75vw, 0.875rem);
  }
}

/* ========================================================================================= ^^
  Footer
============================================================================================ ^^ */
.l-site-footer {
  background-color: #fff;
  display: flex;
  flex-direction: column;
}
@media (min-width: 768px) {
  .l-site-footer {
    padding-bottom: calc(160 * var(--rem-ratio));
  }
}
@media (min-width: 768px) {
  .l-site-footer--rev {
    flex-direction: column-reverse;
  }
}

/* ========================================================================================= ^^
  Section
============================================================================================ ^^ */
.l-top-section__inner,
.l-section__inner {
  max-width: 1300px;
  width: 100%;
  margin: 0 auto;
}

.l-section {
  max-width: none;
  width: 100vw;
  margin: 0 calc(50% - 50vw);
}

/* ========================================================================================= ^^
  Buttons
============================================================================================ ^^ */
#container .c-button {
  padding: 0;
  margin-bottom: 0;
  border: none;
}
#container .c-button__link, #container .c-button__inner {
  width: 100%;
  height: 100%;
  padding: calc(3 * var(--min-ratio));
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media (min-width: 768px) {
  #container .c-button__link, #container .c-button__inner {
    padding: calc(3 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .c-button__link, #container .c-button__inner {
    padding: calc(3 * var(--rem-ratio));
  }
}
#container .c-button__border {
  width: 100%;
  height: 100%;
  border: 1px solid transparent;
  display: flex;
  justify-content: center;
  align-items: center;
  -moz-column-gap: calc(7 * var(--min-ratio));
  column-gap: calc(7 * var(--min-ratio));
}
@media (min-width: 768px) {
  #container .c-button__border {
    -moz-column-gap: calc(10 * var(--max-ratio));
    column-gap: calc(10 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .c-button__border {
    -moz-column-gap: calc(10 * var(--rem-ratio));
    column-gap: calc(10 * var(--rem-ratio));
  }
}
#container .c-button--vertical .c-button__border {
  flex-direction: column;
}
#container .c-button--purple .c-button__link, #container .c-button--purple .c-button__inner {
  background-color: #896066;
  color: #fff;
}
#container .c-button--purple .c-button__link:link, #container .c-button--purple .c-button__inner:link {
  color: #fff;
}
#container .c-button--purple .c-button__link:visited, #container .c-button--purple .c-button__inner:visited {
  color: #fff;
}
#container .c-button--purple .c-button__link:hover, #container .c-button--purple .c-button__inner:hover {
  color: #fff;
}
#container .c-button--purple .c-button__link:focus, #container .c-button--purple .c-button__inner:focus {
  color: #fff;
}
#container .c-button--purple .c-button__border {
  border-color: rgba(255, 255, 255, 0.52);
}
#container .c-button--brown .c-button__link, #container .c-button--brown .c-button__inner {
  background-color: #a47c52;
  color: #fff;
}
#container .c-button--brown .c-button__link:link, #container .c-button--brown .c-button__inner:link {
  color: #fff;
}
#container .c-button--brown .c-button__link:visited, #container .c-button--brown .c-button__inner:visited {
  color: #fff;
}
#container .c-button--brown .c-button__link:hover, #container .c-button--brown .c-button__inner:hover {
  color: #fff;
}
#container .c-button--brown .c-button__link:focus, #container .c-button--brown .c-button__inner:focus {
  color: #fff;
}
#container .c-button--brown .c-button__border {
  border-color: rgba(255, 255, 255, 0.52);
}
#container .c-button--gray .c-button__link, #container .c-button--gray .c-button__inner {
  background: linear-gradient(to right, #bebfbf, #a3a4a4);
  color: #fff;
}
#container .c-button--gray .c-button__link:link, #container .c-button--gray .c-button__inner:link {
  color: #fff;
}
#container .c-button--gray .c-button__link:visited, #container .c-button--gray .c-button__inner:visited {
  color: #fff;
}
#container .c-button--gray .c-button__link:hover, #container .c-button--gray .c-button__inner:hover {
  color: #fff;
}
#container .c-button--gray .c-button__link:focus, #container .c-button--gray .c-button__inner:focus {
  color: #fff;
}
#container .c-button--gray .c-button__border {
  border-color: #8a9297;
}
#container .c-button--arrow .c-button__border::before {
  width: calc(7 * var(--min-ratio));
  background-color: #fff;
  aspect-ratio: 1/1;
  content: " ";
  display: block;
  -webkit-clip-path: polygon(0% 0%, 100% 50%, 0% 100%);
  clip-path: polygon(0% 0%, 100% 50%, 0% 100%);
}
@media (min-width: 768px) {
  #container .c-button--arrow .c-button__border::before {
    width: calc(10 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .c-button--arrow .c-button__border::before {
    width: calc(10 * var(--rem-ratio));
  }
}
#container .c-button--arrow-after .c-button__border::after {
  width: calc(7 * var(--min-ratio));
  background-color: #fff;
  aspect-ratio: 1/1;
  content: " ";
  display: block;
  -webkit-clip-path: polygon(0% 0%, 100% 50%, 0% 100%);
  clip-path: polygon(0% 0%, 100% 50%, 0% 100%);
}
@media (min-width: 768px) {
  #container .c-button--arrow-after .c-button__border::after {
    width: calc(10 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .c-button--arrow-after .c-button__border::after {
    width: calc(10 * var(--rem-ratio));
  }
}
#container .c-button--c-arrow .c-button__border::after {
  width: calc(26 * var(--min-ratio));
  background: url(../images/common/c-arrow.svg) no-repeat 50% 50%/cover;
  aspect-ratio: 1/1;
  content: " ";
  display: block;
}
@media (min-width: 768px) {
  #container .c-button--c-arrow .c-button__border::after {
    width: calc(31 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .c-button--c-arrow .c-button__border::after {
    width: calc(31 * var(--rem-ratio));
  }
}

/* ========================================================================================= ^^
  Text
============================================================================================ ^^ */
#container .c-text {
  margin-bottom: 0;
}
#container .c-text p:last-of-type {
  margin-bottom: 0;
}

/* ========================================================================================= ^^
  Menu button
============================================================================================ ^^ */
.c-menu-button {
  width: calc(44 * var(--min-ratio));
  height: calc(24 * var(--min-ratio));
  padding: 0;
  margin-left: calc(10 * var(--min-ratio));
  border: none;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.c-menu-button span {
  width: 100%;
  height: 2px;
  background-color: #000;
}
.c-menu-button--close {
  height: calc(44 * var(--min-ratio));
  margin-left: 0;
  position: relative;
}
.c-menu-button--close span {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
}
.c-menu-button--close span:nth-child(2) {
  transform: translate(-50%, -50%) rotate(-45deg);
}

/* ========================================================================================= ^^
  SIte logo
============================================================================================ ^^ */
#container .c-site-logo {
  width: calc(200 * var(--min-ratio));
}
@media (min-width: 768px) {
  #container .c-site-logo {
    width: calc(460 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .c-site-logo {
    width: calc(424 * var(--rem-ratio));
  }
}
#container .c-site-logo__link {
  display: grid;
  grid-template-columns: 1fr auto;
}
@media (min-width: 768px) {
  #container .c-site-logo__link {
    -moz-column-gap: calc(13 * var(--max-ratio));
    column-gap: calc(13 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .c-site-logo__link {
    -moz-column-gap: calc(13 * var(--rem-ratio));
    column-gap: calc(13 * var(--rem-ratio));
  }
}
#container .c-site-logo__link:link {
  color: #231815;
}
#container .c-site-logo__link:visited {
  color: #231815;
}
#container .c-site-logo__link:hover {
  color: #231815;
}
#container .c-site-logo__link:focus {
  color: #231815;
}
#container .c-site-logo__image {
  margin: 0;
  font-size: clamp(0.938rem, 0.836rem + 0.43vw, 1.188rem);
  line-height: 1;
  font-weight: 700;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  -moz-column-gap: calc(9 * var(--min-ratio));
  column-gap: calc(9 * var(--min-ratio));
}
@media (min-width: 768px) {
  #container .c-site-logo__image {
    font-size: clamp(0.688rem, -0.034rem + 1.5vw, 1.188rem);
    -moz-column-gap: calc(13 * var(--max-ratio));
    column-gap: calc(13 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .c-site-logo__image {
    -moz-column-gap: calc(13 * var(--rem-ratio));
    column-gap: calc(13 * var(--rem-ratio));
  }
}
#container .c-site-logo__image img {
  width: calc(120 * var(--min-ratio));
}
@media (min-width: 768px) {
  #container .c-site-logo__image img {
    width: calc(150 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .c-site-logo__image img {
    width: calc(171 * var(--rem-ratio));
  }
}
#container .c-site-logo__label {
  margin: 0;
  font-size: clamp(0.438rem, 0.361rem + 0.32vw, 0.625rem);
  line-height: 1.7;
  font-weight: 500;
  display: none;
}
@media (min-width: 768px) {
  #container .c-site-logo__label {
    display: block;
  }
}

/* ========================================================================================= ^^
  Menu wrapper
============================================================================================ ^^ */
@media not all and (min-width: 768px) {
  .c-menu-wrapper {
    width: 100vw;
    height: 100vh;
    padding: calc(15 * var(--min-ratio));
    background-color: #fff;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 6000;
    transition: all 0.4s linear;
    transform: translateX(100%);
  }
}
@media (min-width: 768px) {
  .c-menu-wrapper {
    display: contents;
  }
}
@media not all and (min-width: 768px) {
  .is-menu-open .c-menu-wrapper {
    transform: translateX(0);
  }
}
.c-menu-wrapper__header {
  margin-bottom: calc(50 * var(--min-ratio));
  display: grid;
  grid-template-columns: 1fr calc(44 * var(--min-ratio));
  align-items: center;
}
@media (min-width: 768px) {
  .c-menu-wrapper__header {
    display: none;
  }
}
.c-menu-wrapper__footer {
  padding-top: calc(50 * var(--min-ratio));
}
@media (min-width: 768px) {
  .c-menu-wrapper__footer {
    display: none;
  }
}
@media not all and (min-width: 768px) {
  .c-menu-wrapper__footer .c-site-sub-navigation {
    margin-bottom: calc(30 * var(--min-ratio));
    display: flex;
    justify-content: center;
  }
}
.c-menu-wrapper__footer .c-site-sub-navigation__menu {
  justify-content: center;
}
.c-menu-wrapper__buttons {
  display: grid;
  grid-template-columns: repeat(2, 48%);
  -moz-column-gap: 4%;
  column-gap: 4%;
}
@media (min-width: 768px) {
  .c-menu-wrapper__buttons {
    display: none;
  }
}
.c-menu-wrapper__buttons .c-button {
  height: calc(44 * var(--min-ratio));
  line-height: 1.2;
}

/* ========================================================================================= ^^
  Site navigation
============================================================================================ ^^ */
.c-site-navigation__menu {
  display: grid;
  grid-template-columns: repeat(2, 48%);
  -moz-column-gap: 4%;
  column-gap: 4%;
  row-gap: calc(20 * var(--min-ratio));
}
@media (min-width: 768px) {
  .c-site-navigation__menu {
    grid-template-columns: repeat(auto-fill, minmax(11.0769230769%, 1fr));
    gap: unset;
  }
}
.c-site-navigation__menu::after {
  display: none;
}
@media not all and (min-width: 768px) {
  .c-site-navigation__menu-item {
    width: 100%;
    height: calc(44 * var(--min-ratio));
  }
}
.c-site-navigation__menu-item.is-current .c-site-navigation__menu-link::after {
  opacity: 1;
}
@media (min-width: 768px) {
  .c-site-navigation__menu-item:last-of-type .c-site-navigation__menu-label {
    border-right: none;
  }
}
.c-site-navigation__menu-label {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media (min-width: 768px) {
  .c-site-navigation__menu-label {
    border-right: 1px solid #afb0af;
  }
}
.c-site-navigation__menu-link {
  width: 100%;
  height: 100%;
  font-family: var(--font-cinzel);
  font-size: calc(18 * var(--min-ratio));
  line-height: 1;
  letter-spacing: 0.1em;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
}
@media not all and (min-width: 768px) {
  .c-site-navigation__menu-link {
    justify-content: center;
  }
}
@media (min-width: 768px) {
  .c-site-navigation__menu-link {
    font-size: clamp(0.625rem, 0.264rem + 0.75vw, 0.875rem);
    row-gap: calc(2 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  .c-site-navigation__menu-link {
    row-gap: calc(2 * var(--rem-ratio));
  }
}
.c-site-navigation__menu-link:link {
  color: #685d58;
}
.c-site-navigation__menu-link:visited {
  color: #685d58;
}
.c-site-navigation__menu-link:hover {
  color: #685d58;
}
@media (min-width: 768px) {
  .c-site-navigation__menu-link:hover::after {
    opacity: 1;
  }
}
.c-site-navigation__menu-link:focus {
  color: #685d58;
}
@media (min-width: 768px) {
  .c-site-navigation__menu-link::after {
    width: calc(90 * var(--max-ratio));
    height: calc(6 * var(--max-ratio));
    background: url(../images/common/menu-active.png) no-repeat 50% 50%/contain;
    content: " ";
    display: block;
    transition: al 0.3s;
    opacity: 0;
  }
}
@media (min-width: 1300px) {
  .c-site-navigation__menu-link::after {
    width: calc(90 * var(--rem-ratio));
    height: calc(6 * var(--rem-ratio));
  }
}
.c-site-navigation__menu-link.is-disabled {
  opacity: 0.6;
  pointer-events: none;
}

/* ========================================================================================= ^^
  Sub navigation
============================================================================================ ^^ */
#container .c-site-sub-navigation__menu {
  display: flex;
  justify-content: center;
  align-items: center;
  -moz-column-gap: calc(30 * var(--min-ratio));
  column-gap: calc(30 * var(--min-ratio));
}
@media (min-width: 768px) {
  #container .c-site-sub-navigation__menu {
    justify-content: flex-start;
    -moz-column-gap: calc(30 * var(--max-ratio));
    column-gap: calc(30 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .c-site-sub-navigation__menu {
    -moz-column-gap: calc(30 * var(--rem-ratio));
    column-gap: calc(30 * var(--rem-ratio));
  }
}
#container .c-site-sub-navigation__menu::after {
  display: none;
}
#container .c-site-sub-navigation__menu-item {
  font-size: clamp(0.625rem, 0.524rem + 0.43vw, 0.875rem);
  line-height: 1.8;
  display: grid;
  grid-template-columns: calc(22 * var(--min-ratio)) 1fr;
  align-items: center;
}
@media (min-width: 768px) {
  #container .c-site-sub-navigation__menu-item {
    font-size: clamp(0.625rem, 0.264rem + 0.75vw, 0.875rem);
    grid-template-columns: calc(22 * var(--max-ratio)) 1fr;
  }
}
@media (min-width: 1300px) {
  #container .c-site-sub-navigation__menu-item {
    grid-template-columns: calc(22 * var(--rem-ratio)) 1fr;
  }
}
#container .c-site-sub-navigation__menu-item::before {
  width: calc(10 * var(--min-ratio));
  background-color: #000;
  aspect-ratio: 1/1;
  content: " ";
  display: block;
  -webkit-clip-path: polygon(0% 0%, 100% 50%, 0% 100%);
  clip-path: polygon(0% 0%, 100% 50%, 0% 100%);
}
@media (min-width: 768px) {
  #container .c-site-sub-navigation__menu-item::before {
    width: calc(10 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .c-site-sub-navigation__menu-item::before {
    width: calc(10 * var(--rem-ratio));
  }
}
#container .c-site-sub-navigation__menu-link:link {
  color: #231815;
}
#container .c-site-sub-navigation__menu-link:visited {
  color: #231815;
}
#container .c-site-sub-navigation__menu-link:hover {
  color: #231815;
}
#container .c-site-sub-navigation__menu-link:focus {
  color: #231815;
}

/* ========================================================================================= ^^
  Breadcrumbs
============================================================================================ ^^ */
#container .c-breadcrumbs {
  padding: calc(10 * var(--min-ratio));
  background-color: #fff;
}
@media (min-width: 768px) {
  #container .c-breadcrumbs {
    padding: calc(10 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .c-breadcrumbs {
    padding: calc(10 * var(--rem-ratio));
  }
}
#container .c-breadcrumbs__list {
  max-width: 1300px;
  margin: 0 auto;
  font-size: clamp(0.75rem, 0.699rem + 0.22vw, 0.875rem);
  line-height: 1;
  white-space: nowrap;
  overflow-x: auto;
  overflow-y: hidden;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  -moz-column-gap: calc(10 * var(--min-ratio));
  column-gap: calc(10 * var(--min-ratio));
}
@media (min-width: 768px) {
  #container .c-breadcrumbs__list {
    -moz-column-gap: calc(10 * var(--max-ratio));
    column-gap: calc(10 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .c-breadcrumbs__list {
    -moz-column-gap: calc(10 * var(--rem-ratio));
    column-gap: calc(10 * var(--rem-ratio));
  }
}
#container .c-breadcrumbs__list-item::after {
  content: ">";
  margin-left: calc(10 * var(--min-ratio));
}
@media (min-width: 768px) {
  #container .c-breadcrumbs__list-item::after {
    margin-left: calc(10 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .c-breadcrumbs__list-item::after {
    margin-left: calc(10 * var(--rem-ratio));
  }
}
#container .c-breadcrumbs__list-item:last-of-type::after {
  display: none;
}
#container .c-breadcrumbs__list-link:link {
  color: #231815;
}
#container .c-breadcrumbs__list-link:visited {
  color: #231815;
}
#container .c-breadcrumbs__list-link:hover {
  color: #231815;
}
#container .c-breadcrumbs__list-link:focus {
  color: #231815;
}

/* ========================================================================================= ^^
  Preview advertisement
============================================================================================ ^^ */
#container .c-preview-advertisement {
  width: 100vw;
  margin: 0 calc(50% - 50vw);
  background-color: #fff;
}
#container .c-preview-advertisement__inner {
  max-width: 1300px;
  padding: calc(10 * var(--min-ratio));
  margin: 0 auto;
  font-size: clamp(0.917rem, 0.756rem + 0.69vw, 1.313rem);
}
@media (min-width: 768px) {
  #container .c-preview-advertisement__inner {
    padding: calc(10 * var(--max-ratio));
    display: flex;
    align-items: center;
  }
}
@media (min-width: 1320px) {
  #container .c-preview-advertisement__inner {
    padding: calc(10 * var(--rem-ratio)) 0;
    display: flex;
    align-items: center;
  }
}
#container .c-preview-advertisement__title {
  padding: 0 calc(5 * var(--min-ratio));
  border: 1px solid #000;
  display: inline-flex;
  margin-bottom: calc(20 * var(--max-ratio));
}
@media (min-width: 768px) {
  #container .c-preview-advertisement__title {
    padding: calc(3 * var(--max-ratio)) calc(15 * var(--max-ratio));
    margin-right: calc(10 * var(--max-ratio));
    margin-bottom: 0;
  }
}
@media (min-width: 1300px) {
  #container .c-preview-advertisement__title {
    padding: 0 calc(5 * var(-rem-ratio));
    margin-right: calc(10 * var(--max-ratio));
    margin-bottom: 0;
  }
}
#container .c-preview-advertisement__text {
  font-size: clamp(0.611rem, 0.504rem + 0.46vw, 0.875rem);
}
#container .c-preview-advertisement__text p:last-of-type {
  margin-bottom: 0;
}

/* ========================================================================================= ^^
  Footer navigation
============================================================================================ ^^ */
.c-footer-navigation {
  background: linear-gradient(to right, #dbd9ce, #dbd4ca);
  display: flex;
  justify-content: center;
  align-items: center;
}
@media (min-width: 768px) {
  .c-footer-navigation {
    height: calc(82 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  .c-footer-navigation {
    height: calc(82 * var(--rem-ratio));
  }
}
.c-footer-navigation__menu {
  max-width: 1300px;
  width: 100%;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 100%;
  justify-content: center;
}
@media (min-width: 768px) {
  .c-footer-navigation__menu {
    grid-template-columns: repeat(auto-fill, minmax(11.0769230769%, 1fr));
    gap: unset;
  }
}
.c-footer-navigation__menu::after {
  display: none;
}
@media not all and (min-width: 768px) {
  .c-footer-navigation__menu-item {
    width: 100%;
    height: calc(44 * var(--min-ratio));
    border-bottom: 1px solid #aaa;
  }
}
@media not all and (min-width: 768px) {
  .c-footer-navigation__menu-item:last-of-type {
    border-bottom: none;
  }
}
@media (min-width: 768px) {
  .c-footer-navigation__menu-item:last-of-type .c-footer-navigation__menu-label {
    border-right: none;
  }
}
.c-footer-navigation__menu-label {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media (min-width: 768px) {
  .c-footer-navigation__menu-label {
    border-right: 1px solid #afb0af;
  }
}
.c-footer-navigation__menu-link {
  width: 100%;
  height: 100%;
  font-family: var(--font-cinzel);
  font-size: calc(18 * var(--min-ratio));
  line-height: 1;
  letter-spacing: 0.1em;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
}
@media not all and (min-width: 768px) {
  .c-footer-navigation__menu-link {
    justify-content: center;
  }
}
@media (min-width: 768px) {
  .c-footer-navigation__menu-link {
    font-size: clamp(0.625rem, 0.264rem + 0.75vw, 0.875rem);
    row-gap: calc(2 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  .c-footer-navigation__menu-link {
    row-gap: calc(2 * var(--rem-ratio));
  }
}
.c-footer-navigation__menu-link:link {
  color: #685d58;
}
.c-footer-navigation__menu-link:visited {
  color: #685d58;
}
.c-footer-navigation__menu-link:hover {
  color: #685d58;
}
.c-footer-navigation__menu-link:focus {
  color: #685d58;
}
.c-footer-navigation__menu-link.is-disabled {
  opacity: 0.6;
  pointer-events: none;
}

/* ========================================================================================= ^^
  TEL
============================================================================================ ^^ */
.c-tel {
  margin: 0;
  font-family: var(--font-eb-garamond);
  font-size: clamp(2.25rem, 1.845rem + 1.73vw, 3.25rem);
  line-height: 0.8;
  letter-spacing: 0.04em;
}
.c-tel__link {
  padding-left: calc(48 * var(--min-ratio));
  background: url(../images/common/icon-free-dial.svg) no-repeat 0 54%;
  background-size: calc(43 * var(--min-ratio));
}
@media (min-width: 768px) {
  .c-tel__link {
    padding-left: calc(68 * var(--max-ratio));
    background-size: calc(61 * var(--max-ratio)) auto;
  }
}
@media (min-width: 1300px) {
  .c-tel__link {
    padding-left: calc(68 * var(--rem-ratio));
    background-size: calc(61 * var(--rem-ratio)) auto;
  }
}
.c-tel__link:link {
  color: #685e59;
}
.c-tel__link:visited {
  color: #685e59;
}
.c-tel__link:hover {
  color: #685e59;
}
.c-tel__link:focus {
  color: #685e59;
}

/* ========================================================================================= ^^
  Image note
============================================================================================ ^^ */
#container .c-image-note {
  height: calc(19 * var(--min-ratio));
  padding: 0 calc(10 * var(--min-ratio));
  margin: 0;
  background-color: #333;
  font-size: clamp(0.75rem, 0.75rem + 0vw, 0.75rem);
  color: #fff;
  line-height: 1;
  text-align: center;
  display: inline-flex;
  justify-content: center;
  align-items: center;
}
@media (min-width: 768px) {
  #container .c-image-note {
    height: calc(19 * var(--max-ratio));
    padding: 0 calc(15 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .c-image-note {
    height: calc(19 * var(--rem-ratio));
    padding: 0 calc(15 * var(--rem-ratio));
  }
}

/* ========================================================================================= ^^
  More
============================================================================================ ^^ */
.c-more {
  width: calc(108 * var(--min-ratio));
  height: calc(18 * var(--min-ratio));
  margin: 0;
  font-family: var(--font-cinzel);
  font-size: clamp(0.625rem, 0.524rem + 0.43vw, 0.875rem);
  color: #685e59;
  line-height: 1;
  letter-spacing: 0.14em;
}
@media (min-width: 768px) {
  .c-more {
    width: calc(159 * var(--max-ratio));
    height: calc(18 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  .c-more {
    width: calc(159 * var(--rem-ratio));
    height: calc(18 * var(--rem-ratio));
  }
}
.c-more__link, .c-more__label {
  width: 100%;
  height: 100%;
  background: url(../images/common/more.svg) no-repeat 0 100%/100% auto;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
}
.c-more__link:link, .c-more__label:link {
  color: #685e59;
}
.c-more__link:visited, .c-more__label:visited {
  color: #685e59;
}
.c-more__link:hover, .c-more__label:hover {
  color: #685e59;
}
.c-more__link:focus, .c-more__label:focus {
  color: #685e59;
}

/* ========================================================================================= ^^
  Grid
============================================================================================ ^^ */
.c-grid {
  display: grid;
  align-items: start;
}
@media (min-width: 768px) {
  .c-grid--n3 {
    grid-template-columns: repeat(3, 1fr);
  }
}
.c-grid--n3.c-grid--g30 {
  -moz-column-gap: calc((100% - (100% - 60px)) / 2);
  column-gap: calc((100% - (100% - 60px)) / 2);
  row-gap: calc(30 * var(--min-ratio));
}
@media (min-width: 768px) {
  .c-grid--n3.c-grid--g30 {
    row-gap: calc(30 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  .c-grid--n3.c-grid--g30 {
    row-gap: calc(30 * var(--rem-ratio));
  }
}
.c-grid--gr70 {
  row-gap: calc(70 * var(--min-ratio));
}
@media (min-width: 768px) {
  .c-grid--gr70 {
    row-gap: calc(70 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  .c-grid--gr70 {
    row-gap: calc(70 * var(--rem-ratio));
  }
}
.c-grid--gr50 {
  row-gap: calc(50 * var(--min-ratio));
}
@media (min-width: 768px) {
  .c-grid--gr50 {
    row-gap: calc(50 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  .c-grid--gr50 {
    row-gap: calc(50 * var(--rem-ratio));
  }
}

/* ========================================================================================= ^^
  Slider
============================================================================================ ^^ */
#container .c-slider {
  width: 100%;
  padding: calc(10 * var(--min-ratio)) calc(10 * var(--min-ratio)) calc(30 * var(--min-ratio));
  margin: 0;
  background-color: #fff;
  text-align: center;
  filter: drop-shadow(0 3px 15px rgba(133, 124, 118, 0.48));
}
@media (min-width: 768px) {
  #container .c-slider {
    width: calc(490 * var(--max-ratio));
    padding: calc(20 * var(--max-ratio)) calc(23 * var(--max-ratio)) calc(73 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .c-slider {
    width: calc(490 * var(--rem-ratio));
    padding: calc(20 * var(--rem-ratio)) calc(23 * var(--rem-ratio)) calc(73 * var(--rem-ratio));
  }
}
#container .c-slider__link:link {
  color: #685e59;
}
#container .c-slider__link:visited {
  color: #685e59;
}
#container .c-slider__link:hover {
  color: #685e59;
}
#container .c-slider__link:focus {
  color: #685e59;
}
#container .c-slider__name {
  margin-bottom: calc(33 * var(--min-ratio));
  font-family: var(--font-cinzel);
  font-size: clamp(1.375rem, 1.122rem + 1.08vw, 2rem);
  color: #685e59;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.14em;
}
@media (min-width: 768px) {
  #container .c-slider__name {
    margin-bottom: calc(33 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .c-slider__name {
    margin-bottom: calc(33 * var(--rem-ratio));
  }
}
#container .c-slider__name--small {
  font-size: clamp(1.063rem, 0.885rem + 0.76vw, 1.5rem);
}
#container .c-slider__image {
  margin-bottom: calc(40 * var(--min-ratio));
}
@media (min-width: 768px) {
  #container .c-slider__image {
    margin-bottom: calc(70 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .c-slider__image {
    margin-bottom: calc(70 * var(--rem-ratio));
  }
}
#container .c-slider .c-more {
  margin: 0 auto;
}

#container .c-slider .c-image-note {
  height: auto;
  padding: calc(5 * var(--min-ratio));
}
@media (min-width: 768px) {
  #container .c-slider .c-image-note {
    padding: calc(5 * var(--max-ratio));
  }
}
@media (min-width: 1200px) {
  #container .c-slider .c-image-note {
    padding: calc(5 * var(--rem-ratio));
  }
}


/* ========================================================================================= ^^
  Image
============================================================================================ ^^ */
#container .c-image {
  position: relative;
}
#container .c-image .c-image-note {
  position: absolute;
  right: 0;
  bottom: 0;
}
#container .c-image--over figcaption {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 0;
  left: 0;
}
#container .c-image--border {
  padding: calc(10 * var(--min-ratio));
}
@media (min-width: 768px) {
  #container .c-image--border {
    padding: calc(10 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .c-image--border {
    padding: calc(10 * var(--rem-ratio));
  }
}

/* ========================================================================================= ^^
  Background image
============================================================================================ ^^ */
.c-background-image {
  width: 100%;
  height: 100%;
  background: url(../images/common/bg_palla_l.jpg) no-repeat 50% 0/cover;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
}

/* ========================================================================================= ^^
  Key visual
============================================================================================ ^^ */
.c-key-visual {
  width: 100vw;
  margin: 0 calc(50% - 50vw);
  background-color: #fff;
  /* aspect-ratio: 375/392; */
  aspect-ratio: 375/120;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media (min-width: 768px) {
  .c-key-visual {
    aspect-ratio: 1300/400;
  }
}
.c-key-visual .c-image-note {
  position: absolute;
  right: 0;
  bottom: 0;
}
.c-key-visual__title {
  width: calc(340 * var(--min-ratio));
  height: calc(70 * var(--min-ratio));
  background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgb(255, 255, 255) 50%, rgba(255, 255, 255, 0));
  font-family: var(--font-cinzel);
  font-size: clamp(1.875rem, 1.368rem + 2.16vw, 3.125rem);
  color: #685e59;
  line-height: 1;
  font-weight: 400;
  letter-spacing: 0.14em;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
@media (min-width: 768px) {
  .c-key-visual__title {
    width: calc(720 * var(--max-ratio));
    height: calc(110 * var(--max-ratio));
    font-size: clamp(1.875rem, 0.07rem + 3.76vw, 3.125rem);
  }
}
@media (min-width: 1300px) {
  .c-key-visual__title {
    width: calc(720 * var(--rem-ratio));
    height: calc(110 * var(--rem-ratio));
  }
}
.c-key-visual__title .jpn {
  font-family: var(--font-shippori);
  color: #685e59;
  font-size: clamp(0.875rem, 0.824rem + 0.22vw, 1rem);
  line-height: 1.75;
  letter-spacing: 0.12em;
}

/* ========================================================================================= ^^
  Tab menu
============================================================================================ ^^ */
#container .c-tab-menu {
  max-width: 1120px;
  width: 100%;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, 32%);
  justify-content: center;
  -moz-column-gap: 2%;
  column-gap: 2%;
  row-gap: calc(10 * var(--min-ratio));
  position: relative;
  z-index: 1;
}
@media (min-width: 768px) {
  #container .c-tab-menu {
    grid-template-columns: repeat(auto-fit, minmax(16.0714285714%, 1fr));
    -moz-column-gap: 0.7142857143%;
    column-gap: 0.7142857143%;
    row-gap: unset;
  }
  #container .c-tab-menu::after {
    display: none;
  }
}
#container .c-tab-menu--vertical {
  grid-template-columns: 100%;
  row-gap: calc(10 * var(--min-ratio));
}
@media (min-width: 768px) {
  #container .c-tab-menu--vertical {
    grid-template-columns: 100%;
    row-gap: calc(10 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .c-tab-menu--vertical {
    row-gap: calc(10 * var(--rem-ratio));
  }
}
#container .c-tab-menu__item {
  height: calc(55 * var(--min-ratio));
}
@media (min-width: 768px) {
  #container .c-tab-menu__item {
    height: calc(55 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .c-tab-menu__item {
    height: calc(55 * var(--rem-ratio));
  }
}
#container .c-tab-menu__item.is-active .c-tab-menu__link {
  background-color: #685e59;
  color: #fff;
}
#container .c-tab-menu__link {
  width: 100%;
  height: 100%;
  background-color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
#container .c-tab-menu__link:link {
  color: #685e59;
}
#container .c-tab-menu__link:visited {
  color: #685e59;
}
#container .c-tab-menu__link:hover {
  color: #685e59;
}
@media (min-width: 768px) {
  #container .c-tab-menu__link:hover {
    background-color: #685e59;
    color: #fff;
  }
}
#container .c-tab-menu__link:focus {
  color: #685e59;
}
#container .c-tab-menu__link .en {
  font-family: var(--font-cinzel);
  font-size: clamp(0.75rem, 0.623rem + 0.54vw, 1.063rem);
  line-height: 1;
  letter-spacing: 0.08em;
}
#container .c-tab-menu__link .jpn {
  font-size: clamp(0.5rem, 0.399rem + 0.43vw, 0.75rem);
  line-height: 1;
  letter-spacing: 0.02em;
}
#container .c-tab-menu__link .jpn--large {
  font-size: clamp(0.813rem, 0.686rem + 0.54vw, 1.125rem);
}
#container .c-tab-menu--reverse .c-tab-menu__item.is-active .c-tab-menu__link {
  background-color: #fff;
  color: #685e59;
}
#container .c-tab-menu--reverse .c-tab-menu__link {
  border: 1px solid #685e59;
  background-color: #685e59;
  color: #fff;
}
@media (min-width: 768px) {
  #container .c-tab-menu--reverse .c-tab-menu__link:hover {
    background-color: #fff;
    color: #685e59;
  }
}

/* ========================================================================================= ^^
  Title
============================================================================================ ^^ */
#container .c-section-title {
  /* padding-top: calc(28 * var(--min-ratio)); */
  margin: 0 0 calc(-10 * var(--min-ratio)) calc(-5 * var(--min-ratio));
  position: relative;
}
@media (min-width: 768px) {
  #container .c-section-title {
    /* padding-top: calc(12 * var(--max-ratio)); */
    margin: 0 0 calc(-23 * var(--max-ratio)) calc(-10 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .c-section-title {
    /* padding-top: calc(12 * var(--rem-ratio)); */
    margin: 0 0 calc(-23 * var(--rem-ratio)) calc(-10 * var(--rem-ratio));
  }
}
#container .c-section-title .en {
  font-family: var(--font-cinzel);
  font-size: clamp(3.125rem, 1.326rem + 7.68vw, 7.563rem);
  color: rgba(104, 94, 89, 0.25);
  line-height: 1;
  font-weight: 400;
  letter-spacing: 0.08em;
}
#container .c-section-title .jpn {
  font-size: clamp(0.875rem, 0.824rem + 0.22vw, 1rem);
  font-weight: 400;
  line-height: 2.5;
  letter-spacing: 0.08em;
  position: absolute;
  top: calc(-29 * var(--min-ratio));
  left: calc(5 * var(--min-ratio));
}
@media (min-width: 768px) {
  #container .c-section-title .jpn {
    font-size: clamp(0.875rem, 0.695rem + 0.38vw, 1rem);
    top: calc(-27 * var(--max-ratio));
    left: calc(10 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .c-section-title .jpn {
    top: calc(-27 * var(--rem-ratio));
    left: calc(10 * var(--rem-ratio));
  }
}

/* ========================================================================================= ^^
  Location box
============================================================================================ ^^ */
#container .c-location-box {
  width: 100%;
  display: grid;
}
#container .c-location-box__title {
  padding-left: calc(12 * var(--min-ratio));
  margin-bottom: calc(13 * var(--min-ratio));
  border-left: 3.5px solid #685e59;
  display: flex;
  flex-direction: column;
}
@media (min-width: 768px) {
  #container .c-location-box__title {
    padding-left: calc(12 * var(--max-ratio));
    margin-bottom: calc(13 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .c-location-box__title {
    padding-left: calc(12 * var(--rem-ratio));
    margin-bottom: calc(13 * var(--rem-ratio));
  }
}
#container .c-location-box__title .name {
  font-family: var(--font-shippori);
  font-size: clamp(0.813rem, 0.686rem + 0.54vw, 1.125rem);
  line-height: 1.5;
  letter-spacing: 0.06em;
  font-weight: 500;
}
#container .c-location-box__title .distance {
  font-family: var(--font-noto-serif);
  font-size: clamp(0.5rem, 0.399rem + 0.43vw, 0.75rem);
  line-height: 1.3333333333;
  letter-spacing: 0.08em;
  font-weight: 400;
}
#container .c-location-box__content {
  display: flex;
  flex-direction: column;
}
@media not all and (min-width: 768px) {
  #container .c-location-box__content {
    padding-right: calc(10 * var(--min-ratio));
    padding-left: calc(10 * var(--min-ratio));
  }
}
#container .c-location-box.has-table .c-location-box__content {
  height: 100%;
}
@media (min-width: 768px) {
  #container .c-location-box.has-table .c-location-box__content {
    padding-top: calc(5 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .c-location-box.has-table .c-location-box__content {
    padding-top: calc(5 * var(--rem-ratio));
  }
}
#container .c-location-box__text {
  font-family: var(--font-noto-serif);
  font-size: clamp(0.75rem, 0.699rem + 0.22vw, 0.875rem);
  line-height: 1.8571428571;
  letter-spacing: 0.08em;
}
#container .c-location-box__text p:last-of-type {
  margin-bottom: 0;
}
#container .c-location-box__floor {
  padding: calc(15 * var(--min-ratio));
  margin-top: calc(30 * var(--min-ratio));
  background-color: #fff;
  filter: drop-shadow(0 3px 15px rgba(133, 124, 118, 0.48));
}
@media (min-width: 768px) {
  #container .c-location-box__floor {
    padding: calc(15 * var(--max-ratio));
    margin-top: auto;
  }
}
@media (min-width: 1300px) {
  #container .c-location-box__floor {
    padding: calc(15 * var(--rem-ratio));
  }
}
#container .c-location-box__floor-table {
  border-top: 1px solid #534741;
  border-left: 1px solid #534741;
}
#container .c-location-box__floor-table th {
  width: 15.625%;
  background-color: #534741;
  border-right: 1px solid #534741;
  border-bottom: 1px solid #fff;
  font-family: var(--font-cinzel);
  font-size: clamp(0.75rem, 0.623rem + 0.54vw, 1.063rem);
  color: #fff;
  text-align: center;
  vertical-align: middle;
  letter-spacing: 0.08em;
}
#container .c-location-box__floor-table td {
  width: 84.375%;
  padding: calc(5 * var(--min-ratio)) calc(14 * var(--min-ratio));
  border-right: 1px solid #534741;
  border-bottom: 1px solid #534741;
  background-color: #fff;
  font-family: var(--font-noto-serif);
  font-size: clamp(0.563rem, 0.563rem + 0vw, 0.563rem);
  line-height: 1.5555555556;
  letter-spacing: 0.08em;
}
@media (min-width: 768px) {
  #container .c-location-box__floor-table td {
    padding: calc(5 * var(--max-ratio)) calc(14 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .c-location-box__floor-table td {
    padding: calc(5 * var(--rem-ratio)) calc(14 * var(--rem-ratio));
  }
}
#container .c-location-box__floor-table tr:last-of-type th {
  border-bottom-color: #534741;
}
#container .c-location-box__floor figcaption {
  padding-top: calc(5 * var(--min-ratio));
  font-size: clamp(0.563rem, 0.537rem + 0.11vw, 0.625rem);
  text-align: right;
}
@media (min-width: 768px) {
  #container .c-location-box__floor figcaption {
    padding-top: calc(5 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .c-location-box__floor figcaption {
    padding-top: calc(5 * var(--rem-ratio));
  }
}

#container .c-location-box__image {
  position: relative;
}
#container .c-location-box__image .c-image-note {
  position: absolute;
  right: 0;
  bottom: 0;
}
#container .c-location-box--horizontal {
  max-width: 1120px;
  grid-template-columns: 100%;
  row-gap: calc(20 * var(--min-ratio));
}
#container .c-location-box--horizontal.c-location-box--no-image {
  row-gap: calc(40 * var(--min-ratio));
}

@media (min-width: 768px) {
  #container .c-location-box--horizontal {
    grid-template-columns: 53.5714285714% 42.8571428571%;
    -moz-column-gap: 3.5714285714%;
    column-gap: 3.5714285714%;
    align-items: center;
  }
  #container .c-location-box--horizontal.c-location-box--no-image {
    align-items: start;
  }
}
@media (min-width: 768px) {
  #container .c-location-box--horizontal .c-location-box__content {
    grid-column: 2/3;
    grid-row: 1/2;
  }
  #container .c-location-box--no-image .c-location-box__content:nth-of-type(1) {
    grid-column: 1/2;
  }
  #container .c-location-box--no-image .c-location-box__content:nth-of-type(2) {
    grid-column: 2/3;
  }
}
@media (min-width: 768px) {
  #container .c-location-box--horizontal .c-location-box__image {
    grid-column: 1/2;
    grid-row: 1/2;
  }
}
#container .c-location-box--horizontal.c-location-box--reverse {
  grid-template-columns: 100%;
  row-gap: calc(20 * var(--min-ratio));
}
@media (min-width: 768px) {
  #container .c-location-box--horizontal.c-location-box--reverse {
    grid-template-columns: 42.8571428571% 53.5714285714%;
  }
}
@media (min-width: 768px) {
  #container .c-location-box--horizontal.c-location-box--reverse .c-location-box__content {
    grid-column: 1/2;
  }
}
@media (min-width: 768px) {
  #container .c-location-box--horizontal.c-location-box--reverse .c-location-box__image {
    grid-column: 2/3;
  }
}
#container .c-location-box--vertical {
  grid-template-columns: 100%;
  row-gap: calc(20 * var(--min-ratio));
}
@media (min-width: 768px) {
  #container .c-location-box--vertical {
    row-gap: calc(20 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .c-location-box--vertical {
    row-gap: calc(20 * var(--rem-ratio));
  }
}
#container .c-location-box--vertical .c-location-box__content {
  grid-column: 1/2;
  grid-row: 2/3;
}
#container .c-location-box--vertical .c-location-box__image {
  grid-column: 1/2;
  grid-row: 1/2;
}

/* ========================================================================================= ^^
  List
============================================================================================ ^^ */
.c-list {
  display: grid;
  row-gap: calc(15 * var(--min-ratio));
  align-items: start;
  counter-reset: number;
}
@media (min-width: 768px) {
  .c-list {
    row-gap: calc(15 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  .c-list {
    row-gap: calc(15 * var(--rem-ratio));
  }
}
.c-list__item {
  font-family: var(--font-shippori);
  font-size: clamp(0.625rem, 0.524rem + 0.43vw, 0.875rem);
  color: #685e59;
  display: grid;
  grid-template-columns: calc(18 * var(--rem-ratio)) auto 1fr auto;
  -moz-column-gap: 0.2em;
  column-gap: 0.2em;
  align-items: center;
}
@media (min-width: 768px) {
  .c-list__item {
    grid-template-columns: calc(18 * var(--max-ratio)) auto 1fr auto;
  }
}
@media (min-width: 1300px) {
  .c-list__item {
    grid-template-columns: calc(18 * var(--rem-ratio)) auto 1fr auto;
  }
}
.c-list__item:not(.c-list__item--no-num)::before {
  width: calc(18 * var(--min-ratio));
  height: calc(18 * var(--min-ratio));
  padding-bottom: calc(2 * var(--min-ratio));
  border-radius: 9999em;
  background: url(../images/common/num0.svg) no-repeat 50% 50% / cover;
  color: #fff;
  line-height: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  content: '\0020';
  /* content: counter(number);
  counter-increment: number; */
  grid-column: 1/2;
  grid-row: 1/2;
  box-sizing: border-box;
}
.c-list__item.c-list__item--num1::before {
  content: '1';
}
.c-list__item.c-list__item--num2::before {
  content: '2';
}
.c-list__item.c-list__item--num3::before {
  content: '3';
}
.c-list__item.c-list__item--num4::before {
  content: '4';
}
.c-list__item.c-list__item--num5::before {
  content: '5';
}
.c-list__item.c-list__item--num6::before {
  content: '6';
}
.c-list__item.c-list__item--num7::before {
  content: '7';
}
.c-list__item.c-list__item--num8::before {
  content: '8';
}
.c-list__item.c-list__item--num9::before {
  content: '9';
}
.c-list__item.c-list__item--num10::before {
  content: '10';
}
.c-list__item.c-list__item--num11::before {
  content: '11';
}
.c-list__item.c-list__item--num12::before {
  content: '12';
}
.c-list__item.c-list__item--num13::before {
  content: '13';
}
.c-list__item.c-list__item--num14::before {
  content: '14';
}
.c-list__item.c-list__item--num15::before {
  content: '15';
}
.c-list__item.c-list__item--num16::before {
  content: '16';
}
.c-list__item.c-list__item--num17::before {
  content: '17';
}
.c-list__item.c-list__item--num18::before {
  content: '18';
}
.c-list__item.c-list__item--num19::before {
  content: '19';
}
.c-list__item.c-list__item--num20::before {
  content: '20';
}
.c-list__item.c-list__item--no-num::before {
  width: calc(18 * var(--min-ratio));
  height: calc(18 * var(--min-ratio));
  padding-bottom: calc(2 * var(--min-ratio));
  border-radius: 9999em;
  background: url(../images/common/num0.svg) no-repeat 50% 50% / cover;
  color: #fff;
  line-height: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  counter-increment: number;
  content: '\0020';
  grid-column: 1/2;
  grid-row: 1/2;
  box-sizing: border-box;
}
@media (min-width: 768px) {
  .c-list__item:not(.c-list__item--no-num)::before {
    width: calc(18 * var(--max-ratio));
    height: calc(18 * var(--max-ratio));
    padding-bottom: calc(2 * var(--max-ratio));
  }
  .c-list__item.c-list__item--no-num::before {
    width: calc(18 * var(--max-ratio));
    height: calc(18 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  .c-list__item:not(.c-list__item--no-num)::before {
    width: calc(18 * var(--rem-ratio));
    height: calc(18 * var(--rem-ratio));
    padding-bottom: calc(2 * var(--rem-ratio));
  }
  .c-list__item.c-list__item--no-num::before {
    width: calc(18 * var(--rem-ratio));
    height: calc(18 * var(--rem-ratio));
  }
}
.c-list__item::after {
  width: 100%;
  height: 1px;
  border-top: 1px dotted #685e59;
  content: " ";
  display: block;
  grid-column: 3/4;
  grid-row: 1/2;
}
/* .c-list__item:nth-of-type(1)::before {
  background: url(../images/common/num1.svg) no-repeat center/contain;
}
.c-list__item:nth-of-type(2)::before {
  background: url(../images/common/num2.svg) no-repeat center/contain;
}
.c-list__item:nth-of-type(3)::before {
  background: url(../images/common/num3.svg) no-repeat center/contain;
}
.c-list__item:nth-of-type(4)::before {
  background: url(../images/common/num4.svg) no-repeat center/contain;
}
.c-list__item:nth-of-type(5)::before {
  background: url(../images/common/num5.svg) no-repeat center/contain;
}
.c-list__item:nth-of-type(6)::before {
  background: url(../images/common/num6.svg) no-repeat center/contain;
}
.c-list__item:nth-of-type(7)::before {
  background: url(../images/common/num7.svg) no-repeat center/contain;
}
.c-list__item:nth-of-type(8)::before {
  background: url(../images/common/num8.svg) no-repeat center/contain;
}
.c-list__item:nth-of-type(9)::before {
  background: url(../images/common/num9.svg) no-repeat center/contain;
}
.c-list__item:nth-of-type(10)::before {
  background: url(../images/common/num10.svg) no-repeat center/contain;
}
.c-list__item:nth-of-type(11)::before {
  background: url(../images/common/num11.svg) no-repeat center/contain;
} */
.c-list .name {
  grid-column: 2/3;
  grid-row: 1/2;
}
.c-list .distance {
  grid-column: 4/5;
  grid-row: 1/2;
}

/* ========================================================================================= ^^
  Image box
============================================================================================ ^^ */
#container .c-image-box {
  max-width: 1120px;
  width: 100%;
  padding: calc(28 * var(--min-ratio));
  margin: 0 auto;
  background-color: #fff;
  filter: drop-shadow(0 3px 15px rgba(133, 124, 118, 0.48));
  display: grid;
}
@media (min-width: 768px) {
  #container .c-image-box {
    padding: calc(28 * var(--max-ratio));
    grid-template-columns: 47.3684210526% 50.2819548872%;
    align-items: center;
    -moz-column-gap: 2.3496240602%;
    column-gap: 2.3496240602%;
  }
}
@media (min-width: 1300px) {
  #container .c-image-box {
    padding: calc(28 * var(--rem-ratio));
  }
}
#container .c-image-box__image {
  margin-bottom: 0;
  grid-column: 1/2;
  grid-row: 1/2;
}
@media (min-width: 768px) {
  #container .c-image-box__image {
    grid-column: 1/2;
    grid-row: 1/2;
  }
}
#container .c-image-box__content {
  grid-column: 1/2;
  grid-row: 2/3;
}
@media (min-width: 768px) {
  #container .c-image-box__content {
    grid-column: 2/3;
    grid-row: 1/2;
  }
}
#container .c-image-box__title {
  margin-bottom: calc(10 * var(--min-ratio));
  font-family: var(--font-shippori);
  font-size: clamp(0.938rem, 0.76rem + 0.76vw, 1.375rem);
  color: #333;
  line-height: 1.6818181818;
  font-weight: 500;
}
@media (min-width: 768px) {
  #container .c-image-box__title {
    margin-bottom: calc(10 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .c-image-box__title {
    margin-bottom: calc(10 * var(--rem-ratio));
  }
}
#container .c-image-box__text {
  font-family: var(--font-noto-serif);
  font-size: clamp(0.625rem, 0.524rem + 0.43vw, 0.875rem);
  color: #333;
  line-height: 2.2857142857;
  font-weight: 400;
}
#container .c-image-box__text p:last-of-type {
  margin-bottom: 0;
}

/* ========================================================================================= ^^
  Panel
============================================================================================ ^^ */
.c-panel {
  display: none;
}
.c-panel.is-active {
  display: block;
}

/* ========================================================================================= ^^
  Image & Text
============================================================================================ ^^ */
#container .c-image-text {
  display: grid;
  grid-template-columns: 100%;
}
@media (min-width: 768px) {
  #container .c-image-text {
    grid-template-columns: repeat(2, 50%);
    align-items: center;
  }
}
#container .c-image-text__image {
  grid-column: 1/2;
  grid-row: 1/2;
  position: relative;
  z-index: 10;
}
#container .c-image-text__image figcaption {
  font-size: clamp(0.563rem, 0.563rem + 0vw, 0.563rem);
  line-height: 1;
  text-align: right;
}
#container .c-image-text__content {
  height: 100%;
  padding: calc(20 * var(--min-ratio)) calc(10 * var(--min-ratio));
  background-color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  grid-column: 1/2;
  grid-row: 2/3;
  position: relative;
  z-index: 1;
}
@media (min-width: 768px) {
  #container .c-image-text__content {
    padding: calc(20 * var(--max-ratio));
    grid-column: 2/3;
    grid-row: 1/2;
  }
}
@media (min-width: 1300px) {
  #container .c-image-text__content {
    padding: calc(20 * var(--rem-ratio));
  }
}
#container .c-image-text__content--no-color {
  background-color: transparent;
  text-align: left;
}
#container .c-image-text__content h3 {
  margin-bottom: calc(20 * var(--min-ratio));
  font-family: var(--font-shippori);
  font-size: clamp(0.938rem, 0.76rem + 0.76vw, 1.375rem);
  color: #333;
  line-height: 1.5454545455;
  font-weight: 500;
  text-align: left;
  letter-spacing: 0.08em;
}
@media (min-width: 768px) {
  #container .c-image-text__content h3 {
    margin-bottom: calc(20 * var(--max-ratio));
    font-size: clamp(0.938rem, 0.306rem + 1.32vw, 1.375rem);
  }
}
@media (min-width: 1300px) {
  #container .c-image-text__content h3 {
    margin-bottom: calc(20 * var(--rem-ratio));
  }
}
#container .c-image-text__title {
  padding-left: calc(14 * var(--min-ratio));
  border-left: 3.5px solid #685e59;
  display: flex;
  flex-direction: column;
  row-gap: calc(8 * var(--min-ratio));
}
@media (min-width: 768px) {
  #container .c-image-text__title {
    padding-left: calc(14 * var(--max-ratio));
    row-gap: calc(8 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .c-image-text__title {
    padding-left: calc(14 * var(--rem-ratio));
    row-gap: calc(8 * var(--rem-ratio));
  }
}
#container .c-image-text__title .name {
  font-family: var(--font-shippori);
  font-size: clamp(0.813rem, 0.686rem + 0.54vw, 1.125rem);
  color: #685e59;
  line-height: 1;
  font-weight: 500;
  letter-spacing: 0.06em;
}
#container .c-image-text__title .distance {
  font-size: clamp(0.75rem, 0.75rem + 0vw, 0.75rem);
  color: #685e59;
  line-height: 1;
  letter-spacing: 0.06em;
}
#container .c-image-text__text {
  font-size: clamp(0.875rem, 0.824rem + 0.22vw, 1rem);
  line-height: 2.5;
  letter-spacing: 0.08em;
}
@media (min-width: 768px) {
  #container .c-image-text__text {
    font-size: clamp(0.875rem, 0.695rem + 0.38vw, 1rem);
  }
}
#container .c-image-text--reverse .c-image-text__image {
  grid-column: 1/2;
}
@media (min-width: 768px) {
  #container .c-image-text--reverse .c-image-text__image {
    grid-column: 2/3;
  }
  #container .c-image-text--reverse .c-image-text__image .c-image-note {
    padding-right: calc(45 * var(--max-ratio));
  }
}
@media (min-width: 1200px) {
  #container .c-image-text--reverse .c-image-text__image .c-image-note {
    padding-right: calc(10 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .c-image-text--reverse .c-image-text__image .c-image-note {
    padding-right: calc(10 * var(--rem-ratio));
  }
}
#container .c-image-text--reverse .c-image-text__content {
  grid-column: 1/2;
}
@media (min-width: 768px) {
  #container .c-image-text--over {
    grid-template-columns: 45.5357142857% 54.4642857143%;
  }
}
@media (min-width: 767px) {
  #container .c-image-text--over .c-image-text__image {
    width: calc(100% + 35 * var(--min-ratio));
    margin-right: calc(-35 * var(--min-ratio));
  }
}
@media (min-width: 1300px) {
  #container .c-image-text--over .c-image-text__image {
    width: calc(100% + 35 * var(--rem-ratio));
    margin-right: calc(-35 * var(--rem-ratio));
  }
}
@media (min-width: 768px) {
  #container .c-image-text--over .c-image-text__content {
    padding: calc(20 * var(--max-ratio)) calc(20 * var(--max-ratio)) calc(20 * var(--max-ratio)) calc(147 * var(--max-ratio));
    transform: translateY(calc(60 * var(--max-ratio)));
  }
}
@media (min-width: 1300px) {
  #container .c-image-text--over .c-image-text__content {
    padding: calc(20 * var(--rem-ratio)) calc(20 * var(--rem-ratio)) calc(20 * var(--rem-ratio)) calc(47 * var(--rem-ratio));
    transform: translateY(calc(60 * var(--rem-ratio)));
  }
}
@media (min-width: 768px) {
  #container .c-image-text--over.c-image-text--o24 .c-image-text__content {
    transform: translateY(calc(24 * var(--max-ratio)));
  }
}
@media (min-width: 1300px) {
  #container .c-image-text--over.c-image-text--o24 .c-image-text__content {
    transform: translateY(calc(24 * var(--rem-ratio)));
  }
}
@media (min-width: 768px) {
  #container .c-image-text--over.c-image-text--reverse {
    grid-template-columns: 54.4642857143% 45.5357142857%;
  }
}
@media (min-width: 767px) {
  #container .c-image-text--over.c-image-text--reverse .c-image-text__image {
    margin-right: 0;
    margin-left: calc(-35 * var(--min-ratio));
    grid-column: 2/3;
  }
}
@media (min-width: 1300px) {
  #container .c-image-text--over.c-image-text--reverse .c-image-text__image {
    margin-right: 0;
    margin-left: calc(-35 * var(--rem-ratio));
  }
}
@media (min-width: 768px) {
  #container .c-image-text--over.c-image-text--reverse .c-image-text__content {
    padding: calc(20 * var(--max-ratio)) calc(147 * var(--max-ratio)) calc(20 * var(--max-ratio)) calc(20 * var(--max-ratio));
    grid-column: 1/2;
  }
}
@media (min-width: 1300px) {
  #container .c-image-text--over.c-image-text--reverse .c-image-text__content {
    padding: calc(20 * var(--rem-ratio)) calc(47 * var(--rem-ratio)) calc(20 * var(--rem-ratio)) calc(20 * var(--rem-ratio));
  }
}
#container .c-image-text--over.c-image-text--content .c-image-text__image {
  z-index: 1;
}
#container .c-image-text--over.c-image-text--content .c-image-text__content {
  z-index: 10;
}
@media (min-width: 768px) {
  #container .c-image-text--offset {
    grid-template-columns: 39.2307692308% 60.7692307692%;
  }
}
#container .c-image-text--offset .c-image-text__image {
  z-index: 1;
}
@media (min-width: 768px) {
  #container .c-image-text--offset .c-image-text__image {
    grid-column: 2/3;
    grid-row: 1/2;
  }
}
#container .c-image-text--offset .c-image-text__content {
  z-index: 10;
}
@media (min-width: 768px) {
  #container .c-image-text--offset .c-image-text__content {
    width: calc(100% + 50 * var(--max-ratio));
    height: auto;
    padding: calc(74 * var(--max-ratio)) calc(70 * var(--max-ratio));
    margin-right: calc(-50 * var(--max-ratio));
    grid-column: 1/2;
    grid-row: 1/2;
  }
}
@media (min-width: 1300px) {
  #container .c-image-text--offset .c-image-text__content {
    width: calc(100% + 50 * var(--rem-ratio));
    padding: calc(74 * var(--rem-ratio)) calc(50 * var(--rem-ratio)) calc(74 * var(--rem-ratio)) calc(70 * var(--rem-ratio));
    margin-right: calc(-50 * var(--rem-ratio));
  }
}
#container .c-image-text--offset .c-image-text__text {
  font-size: clamp(0.625rem, 0.524rem + 0.43vw, 0.875rem);
  line-height: 2.4285714286;
  text-align: left;
}
#container .c-image-text--offset .c-image-text__text p:last-of-type {
  margin-bottom: 0;
}
@media (min-width: 768px) {
  #container .c-image-text--offset.c-image-text--reverse {
    grid-template-columns: 60.7692307692% 39.2307692308%;
  }
}
@media (min-width: 768px) {
  #container .c-image-text--offset.c-image-text--reverse .c-image-text__image {
    grid-column: 1/2;
  }
}
@media (min-width: 768px) {
  #container .c-image-text--offset.c-image-text--reverse .c-image-text__content {
    margin-right: 0;
    margin-left: calc(-50 * var(--max-ratio));
    grid-column: 2/3;
  }
}
@media (min-width: 1300px) {
  #container .c-image-text--offset.c-image-text--reverse .c-image-text__content {
    margin-left: calc(-50 * var(--rem-ratio));
  }
}

/* ========================================================================================= ^^
  Anchor list
============================================================================================ ^^ */
#container .c-anchor-links {
  max-width: 744px;
  width: 100%;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, 32%);
  justify-content: center;
  -moz-column-gap: 2%;
  column-gap: 2%;
  row-gap: calc(10 * var(--min-ratio));
}
@media (min-width: 768px) {
  #container .c-anchor-links {
    grid-template-columns: repeat(auto-fit, minmax(32.5268817204%, 1fr));
    -moz-column-gap: 1.2096774194%;
    column-gap: 1.2096774194%;
    row-gap: unset;
  }
}
#container .c-anchor-links--n2 {
  max-width: 612px;
  grid-template-columns: repeat(2, 48%);
}
@media (min-width: 768px) {
  #container .c-anchor-links--n2 {
    grid-template-columns: repeat(auto-fit, minmax(49.0196078431%, 1fr));
  }
}
#container .c-anchor-links__item {
  height: calc(55 * var(--min-ratio));
}
@media (min-width: 768px) {
  #container .c-anchor-links__item {
    height: calc(55 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .c-anchor-links__item {
    height: calc(55 * var(--rem-ratio));
  }
}
#container .c-anchor-links__item.is-active .c-anchor-links__link {
  background-color: #685e59;
  color: #fff;
}
#container .c-anchor-links__link {
  width: 100%;
  height: 100%;
  background-color: #fff;
  font-size: clamp(0.875rem, 0.824rem + 0.22vw, 1rem);
  color: #685e59;
  line-height: 1.5;
  letter-spacing: 0.02em;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
#container .c-anchor-links__link:link {
  color: #685e59;
}
#container .c-anchor-links__link:visited {
  color: #685e59;
}
#container .c-anchor-links__link:hover {
  color: #685e59;
}
@media (min-width: 768px) {
  #container .c-anchor-links__link:hover {
    background-color: #685e59;
    color: #fff;
  }
}
#container .c-anchor-links__link:focus {
  color: #685e59;
}
#container .c-anchor-links__link .en {
  font-family: var(--font-cinzel);
  font-size: clamp(0.75rem, 0.623rem + 0.54vw, 1.063rem);
  line-height: 1;
  letter-spacing: 0.08em;
}
#container .c-anchor-links__link .jpn {
  font-size: clamp(0.5rem, 0.399rem + 0.43vw, 0.75rem);
  line-height: 1;
  letter-spacing: 0.02em;
}
#container .c-anchor-links__link .jpn--large {
  font-size: clamp(0.813rem, 0.686rem + 0.54vw, 1.125rem);
}
#container .c-anchor-links--reverse .c-anchor-links__item.is-active .c-anchor-links__link {
  background-color: #fff;
  color: #685e59;
}
#container .c-anchor-links--reverse .c-anchor-links__link {
  border: 1px solid #685e59;
  background-color: #685e59;
  color: #fff;
}
@media (min-width: 768px) {
  #container .c-anchor-links--reverse .c-anchor-links__link:hover {
    background-color: #fff;
    color: #685e59;
  }
}

/* ========================================================================================= ^^
  Event box
============================================================================================ ^^ */
.c-event-box {
  max-width: 1300px;
  width: 100%;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 100%;
  grid-template-rows: calc(100 * var(--min-ratio)) 1fr;
  filter: drop-shadow(0 3px 15px rgba(133, 124, 118, 0.48));
}
@media (min-width: 768px) {
  .c-event-box {
    grid-template-columns: 47.6923076923% 52.3076923077%;
    grid-template-rows: 1fr;
    aspect-ratio: 1300/280;
  }
}
.c-event-box__title {
  width: 100%;
  height: 100%;
  padding: 0 calc(20 * var(--min-ratio));
  font-family: var(--font-shippori);
  font-size: clamp(1.25rem, 1.047rem + 0.86vw, 1.75rem);
  color: #fff;
  line-height: 1.7857142857;
  letter-spacing: 0.08em;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
@media (min-width: 768px) {
  .c-event-box__title {
    padding: 0 calc(70 * var(--max-ratio)) 0 calc(20 * var(--max-ratio));
    font-size: clamp(1.25rem, 0.528rem + 1.5vw, 1.75rem);
  }
}
@media (min-width: 1300px) {
  .c-event-box__title {
    padding: 0 calc(70 * var(--rem-ratio)) 0 calc(20 * var(--rem-ratio));
  }
}
.c-event-box__content {
  width: 100%;
  height: 100%;
  padding: calc(30 * var(--min-ratio)) calc(20 * var(--min-ratio));
  font-family: var(--font-shippori);
  font-size: clamp(0.938rem, 0.709rem + 0.97vw, 1.5rem);
  color: #fff;
  line-height: 1.1666666667;
  letter-spacing: -0.02em;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  position: relative;
}
@media (min-width: 768px) {
  .c-event-box__content {
    padding: 0 calc(10 * var(--max-ratio)) 0 calc(50 * var(--max-ratio));
    font-size: clamp(0.938rem, 0.125rem + 1.69vw, 1.5rem);
  }
}
@media (min-width: 1300px) {
  .c-event-box__content {
    padding: 0 calc(10 * var(--rem-ratio)) 0 calc(50 * var(--rem-ratio));
  }
}
.c-event-box__content .c-image-note {
  position: absolute;
  right: 0;
  bottom: 0;
}
.c-event-box__content ul {
  width: 100%;
  display: flex;
  flex-direction: column;
  row-gap: 1em;
}
.c-event-box__content ul::after {
  display: none;
}
.c-event-box--spring .c-event-box__title {
  background: url(../images/childcare/bg-spring01.jpg) no-repeat 50% 50%/cover;
}
.c-event-box--spring .c-event-box__content {
  background: url(../images/childcare/bg-spring02.jpg) no-repeat 50% 50%/cover;
}
.c-event-box--summer .c-event-box__title {
  background: url(../images/childcare/bg-summer01.jpg) no-repeat 50% 50%/cover;
}
.c-event-box--summer .c-event-box__content {
  background: url(../images/childcare/bg-summer02.jpg) no-repeat 50% 50%/cover;
}
.c-event-box--autumn .c-event-box__title {
  background: url(../images/childcare/bg-autumn01.jpg) no-repeat 50% 50%/cover;
}
.c-event-box--autumn .c-event-box__content {
  background: url(../images/childcare/bg-autumn02.jpg) no-repeat 50% 50%/cover;
}
.c-event-box--winter .c-event-box__title {
  background: url(../images/childcare/bg-winter01.jpg) no-repeat 50% 50%/cover;
}
.c-event-box--winter .c-event-box__content {
  background: url(../images/childcare/bg-winter02.jpg) no-repeat 50% 50%/cover;
}
.c-event-box__content ul li {
  display: grid;
  grid-template-columns: 1fr auto;
}
.c-event-box__content ul li .cont {
  padding-left: 1em;
  text-indent: -1em;
}
.c-event-box__content ul li .distance {
  padding-top: 5px;
  margin-left: 1em;
  font-size: clamp(0.875rem, 0.774rem + 0.43vw, 1.125rem);
}

/* ========================================================================================= ^^
  Service box
============================================================================================ ^^ */
#container .c-service-box {
  width: 100%;
  height: 100%;
  padding: calc(14 * var(--min-ratio)) calc(10 * var(--min-ratio)) calc(20 * var(--min-ratio));
  background-color: #fff;
  filter: drop-shadow(0 3px 15px rgba(133, 124, 118, 0.48));
  display: flex;
  flex-direction: column;
}
@media (min-width: 768px) {
  #container .c-service-box {
    padding: calc(14 * var(--max-ratio)) calc(10 * var(--max-ratio)) calc(20 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .c-service-box {
    padding: calc(14 * var(--rem-ratio)) calc(10 * var(--rem-ratio)) calc(20 * var(--rem-ratio));
  }
}
#container .c-service-box__title {
  font-family: var(--font-shippori);
  font-size: clamp(0.875rem, 0.723rem + 0.65vw, 1.25rem);
  color: #333;
  line-height: 1.4;
  font-weight: 500;
  letter-spacing: -0.02em;
  text-align: center;
  position: relative;
}
@media (min-width: 768px) {
  #container .c-service-box__title {
    font-size: clamp(0.75rem, 0.028rem + 1.5vw, 1.25rem);
  }
}
#container .c-service-box__title .icon {
  width: calc(30 * var(--min-ratio));
  height: calc(30 * var(--min-ratio));
  font-size: clamp(0.5rem, 0.348rem + 0.65vw, 0.875rem);
  line-height: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 0;
  left: 0;
}
@media (min-width: 768px) {
  #container .c-service-box__title .icon {
    width: calc(52 * var(--max-ratio));
    height: calc(52 * var(--max-ratio));
    font-size: clamp(0.5rem, -0.041rem + 1.13vw, 0.875rem);
  }
}
@media (min-width: 1300px) {
  #container .c-service-box__title .icon {
    width: calc(52 * var(--rem-ratio));
    height: calc(52 * var(--rem-ratio));
  }
}
#container .c-service-box__title .icon span {
  font-size: clamp(0.75rem, 0.598rem + 0.65vw, 1.125rem);
}
#container .c-service-box__title .icon--01 {
  background: url(../images/childcare/icon01.png) no-repeat 50% 50%/cover;
}
#container .c-service-box__title .icon--02 {
  background: url(../images/childcare/icon02.png) no-repeat 50% 50%/cover;
  color: #fff;
}
#container .c-service-box__image {
  margin: auto auto calc(10 * var(--min-ratio));
}
@media (min-width: 768px) {
  #container .c-service-box__image {
    margin-bottom: calc(10 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .c-service-box__image {
    margin-bottom: calc(10 * var(--rem-ratio));
  }
}
#container .c-service-box__text {
  padding: 0 calc(10 * var(--min-ratio));
  margin-top: auto;
  font-size: clamp(0.625rem, 0.524rem + 0.43vw, 0.875rem);
  color: #333;
  line-height: 1.6;
  letter-spacing: 0.08em;
}
@media (min-width: 768px) {
  #container .c-service-box__text {
    padding: 0 calc(10 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .c-service-box__text {
    padding: 0 calc(10 * var(--rem-ratio));
  }
}
#container .c-service-box__text p:last-of-type {
  margin-bottom: 0;
}
#container .c-service-box--only-text {
  justify-content: center;
  align-items: center;
}
#container .c-service-box--only-text .c-service-box__text {
  margin-top: 0;
  font-family: var(--font-shippori);
  font-size: clamp(1.125rem, 0.922rem + 0.86vw, 1.625rem);
  color: #333;
  line-height: 1.6923076923;
  font-weight: 500;
  text-align: center;
  letter-spacing: 0.08em;
}
@media (min-width: 768px) {
  #container .c-service-box--only-text .c-service-box__text {
    font-size: clamp(1.125rem, 0.403rem + 1.5vw, 1.625rem);
  }
}
#container .c-service-box--only-text .c-service-box__text span {
  font-size: clamp(0.75rem, 0.617rem + 0.57vw, 1.079rem);
  line-height: 2.2358053302;
}
@media (min-widthL: 768px) {
  #container .c-service-box--only-text .c-service-box__text span {
    font-size: clamp(0.75rem, 0.275rem + 0.99vw, 1.079rem);
  }
}

/* ========================================================================================= ^^
  Spot box
============================================================================================ ^^ */
#container .c-spot-box {
  height: 100%;
  padding: calc(17 * var(--min-ratio));
  background-color: #fff;
}
@media (min-width: 768px) {
  #container .c-spot-box {
    padding: calc(17 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .c-spot-box {
    width: calc(314 * var(--rem-ratio));
    padding: calc(17 * var(--rem-ratio));
  }
}
#container .c-spot-box__image {
  margin-bottom: calc(28 * var(--min-ratio));
  position: relative;
}
@media (min-width: 768px) {
  #container .c-spot-box__image {
    margin-bottom: calc(28 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .c-spot-box__image {
    margin-bottom: calc(28 * var(--rem-ratio));
  }
}
#container .c-spot-box__image .c-image-note {
  position: absolute;
  right: 0;
  bottom: 0;
}
#container .c-spot-box figcaption {
  padding: 0 calc(2 * var(--min-ratio));
}
@media (min-width: 768px) {
  #container .c-spot-box figcaption {
    padding: 0 calc(2 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .c-spot-box figcaption {
    padding: 0 calc(2 * var(--rem-ratio));
  }
}
#container .c-spot-box__title {
  padding-left: calc(13 * var(--min-ratio));
  margin-bottom: calc(13 * var(--min-ratio));
  border-left: 4px solid #685e59;
  display: flex;
  flex-direction: column;
}
@media (min-width: 768px) {
  #container .c-spot-box__title {
    padding-left: calc(13 * var(--max-ratio));
    margin-bottom: calc(13 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .c-spot-box__title {
    padding-left: calc(13 * var(--rem-ratio));
    margin-bottom: calc(13 * var(--rem-ratio));
  }
}
#container .c-spot-box__title .name {
  margin: 0;
  font-family: var(--font-shippori);
  font-size: clamp(0.813rem, 0.686rem + 0.54vw, 1.125rem);
  line-height: 1.1666666667;
  letter-spacing: 0.06em;
  font-weight: 500;
}
#container .c-spot-box__title .distance {
  margin: 0;
  font-size: clamp(0.5rem, 0.399rem + 0.43vw, 0.75rem);
  line-height: 2.1666666667;
  letter-spacing: 0.08em;
}
#container .c-spot-box__text {
  font-size: clamp(0.625rem, 0.524rem + 0.43vw, 0.875rem);
  line-height: 2;
  letter-spacing: -0.08em;
}
#container .c-spot-box__text p:lst-od-type {
  margin-bottom: 0;
}

/* ========================================================================================= ^^
  Access box
============================================================================================ ^^ */
#container .c-access-box {
  display: grid;
  grid-template-columns: repeat(2, 50%);
  filter: drop-shadow(0 3px 15px rgba(133, 124, 118, 0.48));
}
#container .c-access-box__image {
  width: 100%;
  height: 100%;
  position: relative;
  grid-column: 1/2;
  grid-row: 1/2;
}
#container .c-access-box__image figcaption {
  width: 100%;
  height: 100%;
  font-family: var(--font-cinzel);
  font-size: clamp(0.875rem, 0.824rem + 0.22vw, 1rem);
  color: #fff;
  font-weight: 400;
  letter-spacing: 0.12em;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 0;
  left: 0;
}
#container .c-access-box__content {
  width: 100%;
  height: 100%;
  padding: calc(10 * var(--min-ratio)) calc(5 * var(--min-ratio));
  background-color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  grid-column: 2/3;
  grid-row: 1/2;
}
@media (min-width: 768px) {
  #container .c-access-box__content {
    padding: calc(5 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .c-access-box__content {
    padding: calc(5 * var(--rem-ratio));
  }
}
#container .c-access-box__content p {
  margin-bottom: 0;
  color: #333;
  text-align: center;
  letter-spacing: 0.08em;
}
#container .c-access-box__content .station {
  font-family: var(--font-shippori);
  font-size: clamp(1.125rem, 0.872rem + 1.08vw, 1.75rem);
  line-height: 1.4178571429;
  font-weight: 500;
}
#container .c-access-box__content .station span {
  font-size: clamp(0.75rem, 0.571rem + 0.76vw, 1.191rem);
  line-height: 2.0828961175;
}
#container .c-access-box__content .station--n {
  font-family: var(--font-shippori);
  font-size: clamp(1.125rem, 0.872rem + 1.08vw, 1.75rem);
  line-height: 1.4178571429;
  font-weight: 500;
  letter-spacing: -0.08em;
}
#container .c-access-box__content .station--n span {
  font-size: clamp(0.75rem, 0.571rem + 0.76vw, 1.191rem);
  line-height: 2.0828961175;
  letter-spacing: 0.08em;
}
#container .c-access-box__content .distance {
  font-family: var(--font-shippori);
  font-size: clamp(1rem, 0.848rem + 0.65vw, 1.375rem);
  line-height: 2.0727272727;
  font-weight: 500;
}
#container .c-access-box__content .distance .num {
  font-size: clamp(1.875rem, 1.549rem + 1.39vw, 2.679rem);
  line-height: 1.0639290714;
}
#container .c-access-box__content .distance .time {
  font-size: clamp(0.875rem, 0.824rem + 0.22vw, 1rem);
  line-height: 2.85;
}
#container .c-access-box__content .line {
  font-size: clamp(0.875rem, 0.824rem + 0.22vw, 1rem);
  line-height: 2.5;
}
#container .c-access-box__content .line--s {
  font-size: clamp(0.688rem, 0.688rem + 0vw, 0.688rem);
  line-height: 1.6363636364;
}
@media not all and (min-width: 768px) {
  #container .c-access-box.c-access-box--sp-reverse .c-access-box__image {
    grid-column: 2/3;
  }
}
@media not all and (min-width: 768px) {
  #container .c-access-box.c-access-box--sp-reverse .c-access-box__content {
    grid-column: 1/2;
  }
}
#container .c-access-box--reverse .c-access-box__image {
  grid-column: 2/3;
}
#container .c-access-box--reverse .c-access-box__content {
  grid-column: 1/2;
}
@media not all and (min-width: 768px) {
  #container .c-access-box--reverse.c-access-box--sp-reverse .c-access-box__image {
    grid-column: 1/2;
  }
}
@media not all and (min-width: 768px) {
  #container .c-access-box--reverse.c-access-box--sp-reverse .c-access-box__content {
    grid-column: 2/3;
  }
}

/* ========================================================================================= ^^
  Access car box
============================================================================================ ^^ */
.c-access-car-box {
  width: 100%;
  height: 100%;
  position: relative;
}
.c-access-car-box figcaption {
  width: 100%;
  height: 100%;
  color: #fff;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 0;
  left: 0;
}
.c-access-car-box figcaption .name {
  font-family: var(--font-cinzel);
  font-size: clamp(0.875rem, 0.824rem + 0.22vw, 1rem);
  line-height: 1.25;
  font-weight: 400;
  letter-spacing: 0.12em;
}
.c-access-car-box figcaption .time {
  font-family: var(--font-shippori);
  font-size: clamp(1.875rem, 1.549rem + 1.39vw, 2.679rem);
  line-height: 1;
  font-weight: 500;
  letter-spacing: 0.08em;
}
.c-access-car-box figcaption .time .unit {
  font-size: clamp(0.958rem, 0.791rem + 0.71vw, 1.368rem);
  line-height: 2.0950205573;
}

/* ========================================================================================= ^^
  Access bus block
============================================================================================ ^^ */
#container .c-access-bus-block {
  max-width: 1134px;
  width: 100%;
  background-color: rgba(255, 255, 255, 0.65);
  display: grid;
}
@media (min-width: 768px) {
  #container .c-access-bus-block {
    grid-template-columns: 63.4920634921% 36.5079365079%;
  }
}
#container .c-access-bus-block__contents {
  padding: calc(15 * var(--min-ratio)) 0;
}
#container .c-access-bus-block__title {
  margin-bottom: calc(10 * var(--min-ratio));
  font-size: clamp(0.938rem, 0.811rem + 0.54vw, 1.25rem);
  font-weight: 400;
}
#container .c-access-bus-block__list {
  width: 100%;
  display: grid;
  grid-template-columns: 100%;
  grid-template-rows: repeat(2, 50%);
}
@media (min-width: 768px) {
  #container .c-access-bus-block__contents {
    padding: calc(28 * var(--max-ratio)) 0 calc(28 * var(--max-ratio)) calc(54 * var(--max-ratio));
  }
  #container .c-access-bus-block__title {
    margin-bottom: 0;
  }
  #container .c-access-bus-block__list {
    height: 100%;
  }
}
@media (min-width: 1300px) {
  #container .c-access-bus-block__contents {
    padding: calc(28 * var(--rem-ratio)) 0 calc(28 * var(--rem-ratio)) calc(54 * var(--rem-ratio));
  }
}
#container .c-access-bus-block__list::after {
  display: none;
}
#container .c-access-bus-block__item {
  width: 100%;
  height: 100%;
  border-bottom: 1px solid #323333;
  font-family: var(--font-shippori);
  color: #323333;
  font-weight: 500;
  letter-spacing: 0.08em;
  display: grid;
  grid-template-columns: 67% 33%;
  align-items: center;
}
@media (min-width: 768px) {
  #container .c-access-bus-block__item {
    /* grid-template-columns: 76.4264264264% 23.6090225564%; */
    grid-template-columns: calc((409 / 666) * 100%) calc((257 / 665) * 100%);
    align-items: center;
  }
}
#container .c-access-bus-block__item:last-of-type {
  border-bottom: none;
}
#container .c-access-bus-block__item .name {
  font-size: clamp(1rem, 0.696rem + 1.3vw, 1.75rem);
  line-height: 1.4178571429;
}
#container .c-access-bus-block__item .name span {
  font-size: clamp(0.834rem, 0.689rem + 0.62vw, 1.191rem);
  line-height: 2.0828961175;
}
#container .c-access-bus-block__item .time {
  /* font-size: clamp(1.625rem, 1.198rem + 1.82vw, 2.679rem); */
  font-size: clamp(1rem, 0.696rem + 1.3vw, 1.75rem);
  line-height: 1.0639290714;
}
#container .c-access-bus-block__item .time span {
  /* font-size: clamp(0.958rem, 0.791rem + 0.71vw, 1.368rem); */
  font-size: clamp(0.958rem, 0.865rem + 0.4vw, 1.188rem);
  line-height: 2.0831429877;
}

/* ========================================================================================= ^^
  Equipment box
============================================================================================ ^^ */
#container .c-equipment-box {
  width: 100%;
  height: 100%;
}
@media not all and (min-width: 768px) {
  #container .c-equipment-box--2 {
    margin-top: calc(-30 * var(--min-ratio));
  }
}
#container .c-equipment-box__image {
  margin-bottom: calc(28 * var(--min-ratio));
  position: relative;
}
@media not all and (min-width: 768px) {
  #container .c-equipment-box--1 .c-equipment-box__image {
    margin-bottom: 0;
    display: flex;
    flex-direction: column-reverse;
  }
}

@media (min-width: 768px) {
  #container .c-equipment-box__image {
    margin-bottom: calc(28 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .c-equipment-box__image {
    margin-bottom: calc(28 * var(--rem-ratio));
  }
}
@media (min-width: 768px) {
  #container .c-equipment-box__image--wide::after {
    width: calc(52 * var(--max-ratio));
    height: 100%;
    background-color: #fff;
    content: '\0020';
    display: block;
    position: absolute;
    top: 0;
    left: 100%;
  }
}
@media (min-width: 1300px) {
  #container .c-equipment-box__image--wide::after {
    width: calc(52 * var(--rem-ratio));
  }
}
#container .c-equipment-box figcaption {
  text-align: left;
}
#container .c-equipment-box__title {
  padding-left: calc(13 * var(--min-ratio));
  margin-bottom: calc(13 * var(--min-ratio));
  border-left: 4px solid #685e59;
  display: flex;
  flex-direction: column;
}
#container .c-equipment-box__title--no-border {
  padding-left: 0;
  border-left: 0;
}
@media not all and (min-width: 768px) {
  #container .c-equipment-box__title--no-border {
    display: none;
  }
}
@media (min-width: 768px) {
  #container .c-equipment-box__title {
    padding-left: calc(13 * var(--max-ratio));
    margin-bottom: calc(13 * var(--max-ratio));
  }
  #container .c-equipment-box__title--wide {
    margin-left: calc(-390 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .c-equipment-box__title {
    padding-left: calc(13 * var(--rem-ratio));
    margin-bottom: calc(13 * var(--rem-ratio));
  }
  #container .c-equipment-box__title--wide {
    margin-left: calc(-390 * var(--rem-ratio));
  }
}
#container .c-equipment-box__title .name {
  margin: 0;
  font-family: var(--font-shippori);
  font-size: clamp(0.813rem, 0.686rem + 0.54vw, 1.125rem);
  color: #685e59;
  line-height: 1.5;
  letter-spacing: 0.06em;
  font-weight: 500;
}
#container .c-equipment-box__text {
  font-size: clamp(0.625rem, 0.524rem + 0.43vw, 0.875rem);
  color: #333;
  line-height: 1.8571428571;
  letter-spacing: -0.08em;
}
@media (min-width: 768px) {
  #container .c-equipment-box__text--wide {
    margin-left: calc(-390 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .c-equipment-box__text--wide {
    margin-left: calc(-390 * var(--rem-ratio));
  }
}

#container .c-equipment-box__text p:last-of-type {
  margin-bottom: 0;
}

/* ========================================================================================= ^^
  History block
============================================================================================ ^^ */
#container .c-history-block {
  width: 100%;
  padding-right: calc(10 * var(--min-ratio));
  display: grid;
  grid-template-columns: 19.7183098592% 80.2816901408%;
}
@media (min-width: 768px) {
  #container .c-history-block {
    padding-right: calc(20 * var(--max-ratio));
    grid-template-columns: 13.8248847926% 86.1751152074%;
  }
}
@media (min-width: 1300px) {
  #container .c-history-block {
    padding-right: calc(20 * var(--rem-ratio));
  }
}
#container .c-history-block__year {
  font-family: var(--font-cinzel);
  font-size: clamp(1.25rem, 1.047rem + 0.86vw, 1.75rem);
  color: #333;
  line-height: 1.75;
  font-weight: 400;
  letter-spacing: 0.1em;
  text-align: center;
}
#container .c-history-block__year:first-of-type {
  padding-top: calc(27 * var(--min-ratio));
}
@media (min-width: 768px) {
  #container .c-history-block__year:first-of-type {
    padding-top: calc(27 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .c-history-block__year:first-of-type {
    padding-top: calc(27 * var(--rem-ratio));
  }
}
#container .c-history-block__content {
  padding: 0 0 calc(22 * var(--min-ratio)) calc(15 * var(--min-ratio));
  border-left: 1px solid #231815;
  font-size: clamp(0.875rem, 0.824rem + 0.22vw, 1rem);
  line-height: 2.25;
  letter-spacing: 0.06em;
}
@media (min-width: 768px) {
  #container .c-history-block__content {
    padding: 0 0 calc(22 * var(--max-ratio)) calc(30 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .c-history-block__content {
    padding: 0 0 calc(22 * var(--rem-ratio)) calc(30 * var(--rem-ratio));
  }
}
#container .c-history-block__content:first-of-type {
  padding-top: calc(27 * var(--min-ratio));
}
@media (min-width: 768px) {
  #container .c-history-block__content:first-of-type {
    padding-top: calc(27 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .c-history-block__content:first-of-type {
    padding-top: calc(27 * var(--rem-ratio));
  }
}
#container .c-history-block__content--has-image {
  padding-bottom: calc(55 * var(--min-ratio));
}
@media (min-width: 768px) {
  #container .c-history-block__content--has-image {
    padding-bottom: calc(55 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .c-history-block__content--has-image {
    padding-bottom: calc(55 * var(--rem-ratio));
  }
}
#container .c-history-block__list {
  display: flex;
  flex-direction: column;
  row-gap: calc(20 * var(--min-ratio));
}
#container .c-history-block__list::after {
  display: none;
}
@media (min-width: 768px) {
  #container .c-history-block__list {
    display: block;
  }
  #container .c-history-block__list--double {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    -moz-column-gap: 4.0106951872%;
    column-gap: 4.0106951872%;
    row-gap: calc(30 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .c-history-block__list--double {
    row-gap: calc(30 * var(--rem-ratio));
  }
}
#container .c-history-block__item {
  display: grid;
  grid-template-columns: 100%;
  -moz-column-gap: 3.5087719298%;
  column-gap: 3.5087719298%;
}
@media (min-width: 768px) {
  #container .c-history-block__item {
    grid-template-columns: 10.6951871658% 1fr;
  }
}
#container .c-history-block__item--has-image {
  grid-template-columns: 100%;
  grid-template-rows: calc(36 * var(--min-ratio)) 1fr;
  align-items: start;
}
@media (min-width: 768px) {
  #container .c-history-block__item--has-image {
    grid-template-rows: calc(36 * var(--max-ratio)) 1fr;
  }
}
@media (min-width: 1300px) {
  #container .c-history-block__item--has-image {
    grid-template-rows: calc(36 * var(--rem-ratio)) 1fr;
  }
}
#container .c-history-block__item--full {
  grid-column: 1/3;
}
#container .c-history-block__date {
  margin-bottom: 0;
}
#container .c-history-block__image figcaption {
  font-size: clamp(0.75rem, 0.75rem + 0vw, 0.75rem);
  line-height: 2;
  letter-spacing: 0.06em;
}
#container .c-history-block .logo {
  width: 80%;
  margin: calc(27 * var(--min-ratio)) 0 0 calc(10 * var(--min-ratio));
}
@media (min-width: 768px) {
  #container .c-history-block .logo {
    width: calc(200 * var(--max-ratio));
    margin: calc(27 * var(--max-ratio)) 0 0 calc(36 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .c-history-block .logo {
    width: calc(200 * var(--rem-ratio));
    margin: calc(27 * var(--rem-ratio)) 0 0 calc(36 * var(--rem-ratio));
  }
}

/* ========================================================================================= ^^
  Service section
============================================================================================ ^^ */
#container .c-service-section {
  max-width: 1120px;
  width: 100%;
  margin: 0 auto;
}
#container .c-service-section__title {
  height: calc(55 * var(--min-ratio));
  padding: 0 calc(22 * var(--min-ratio));
  margin-bottom: calc(28 * var(--min-ratio));
  background-color: #685e59;
  font-size: clamp(0.938rem, 0.76rem + 0.76vw, 1.375rem);
  color: #fff;
  line-height: 1.8181818182;
  letter-spacing: 0.1em;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
@media (min-width: 768px) {
  #container .c-service-section__title {
    height: calc(55 * var(--max-ratio));
    padding: 0 calc(22 * var(--max-ratio));
    margin-bottom: calc(28 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .c-service-section__title {
    height: calc(55 * var(--rem-ratio));
    padding: 0 calc(22 * var(--rem-ratio));
    margin-bottom: calc(28 * var(--rem-ratio));
  }
}
#container .c-service-section__inner {
  padding: 0 calc(10 * var(--min-ratio));
}
@media (min-width: 768px) {
  #container .c-service-section__inner {
    padding: 0;
  }
}
#container .c-service-section__text {
  font-size: clamp(0.688rem, 0.561rem + 0.54vw, 1rem);
  line-height: 1.875;
  letter-spacing: 0.08em;
  text-align: left;
}
#container .c-service-section__text p:last-of-type {
  margin-bottom: 0;
}
#container .c-service-section .c-grid {
  grid-template-columns: 1fr 29.6428571429%;
  -moz-column-gap: 3.5714285714%;
  column-gap: 3.5714285714%;
}
#container .c-service-section__note {
  font-size: clamp(0.75rem, 0.75rem + 0vw, 0.75rem);
  line-height: 1.6666666667;
  letter-spacing: 0.08em;
  text-align: left;
}
#container .c-service-section__note--num > li {
  display: grid;
  grid-template-columns: 5.6338028169% 1fr;
}
@media (min-width: 768px) {
  #container .c-service-section__note--num > li {
    grid-template-columns: 1.7857142857% 1fr;
  }
}

/* ========================================================================================= ^^
  Equipment example
============================================================================================ ^^ */
#container .c-equipment-example__title {
  width: 100%;
  height: calc(58 * var(--min-ratio));
  margin-bottom: calc(10 * var(--min-ratio));
  border-right: 1px solid #685e59;
  border-left: 1px solid #685e59;
  font-size: clamp(0.875rem, 0.723rem + 0.65vw, 1.25rem);
  color: #685e59;
  font-weight: 400;
  text-align: center;
  line-height: 1;
  letter-spacing: 0.05em;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media (min-width: 768px) {
  #container .c-equipment-example__title {
    width: calc(274 * var(--max-ratio));
    height: calc(58 * var(--max-ratio));
    margin-bottom: calc(10 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .c-equipment-example__title {
    width: calc(274 * var(--rem-ratio));
    height: calc(58 * var(--rem-ratio));
    margin-bottom: calc(10 * var(--rem-ratio));
  }
}
#container .c-equipment-example__list {
  display: grid;
  grid-template-columns: repeat(2, 48%);
  grid-template-rows: repeat(4, calc(58 * var(--min-ratio)));
  -moz-column-gap: 4%;
  column-gap: 4%;
  row-gap: calc(10 * var(--min-ratio));
}
@media (min-width: 768px) {
  #container .c-equipment-example__list {
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: repeat(2, calc(58 * var(--max-ratio)));
    -moz-column-gap: 0.8928571429%;
    column-gap: 0.8928571429%;
    row-gap: calc(10 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .c-equipment-example__list {
    grid-template-rows: repeat(2, calc(58 * var(--rem-ratio)));
    row-gap: calc(10 * var(--rem-ratio));
  }
}
#container .c-equipment-example__item {
  width: 100%;
  height: 100%;
  background-color: #876066;
  font-size: clamp(0.813rem, 0.686rem + 0.54vw, 1.125rem);
  color: #fff;
  line-height: 1;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* ========================================================================================= ^^
  Form
============================================================================================ ^^ */
#container .c-form {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  row-gap: calc(66 * var(--min-ratio));
}
@media (min-width: 768px) {
  #container .c-form {
    row-gap: calc(66 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .c-form {
    row-gap: calc(66 * var(--rem-ratio));
  }
}

/* ========================================================================================= ^^
  Information list
============================================================================================ ^^ */
#container .c-information-list {
  display: flex;
  flex-direction: column;
  row-gap: calc(28 * var(--min-ratio));
}
@media (min-width: 768px) {
  #container .c-information-list {
    row-gap: calc(28 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .c-information-list {
    row-gap: calc(28 * var(--rem-ratio));
  }
}
#container .c-information-list__item {
  font-family: var(--font-shippori);
  font-size: clamp(0.875rem, 0.824rem + 0.22vw, 1rem);
  color: #685e59;
  line-height: 1.75;
  letter-spacing: 0.12em;
  display: grid;
  grid-template-columns: 100%;
  list-style: disc;
}
@media (min-width: 768px) {
  #container .c-information-list__item {
    /* grid-template-columns: 2.0325203252% 12.1951219512% 1fr; */
    grid-template-columns: 15.1951219512% 1fr;
  }
}
#container .c-information-list__item--no-date {
  grid-template-columns: 1fr;
}
@media (min-width: 768px) {
  #container .c-information-list__item--no-date {
    grid-template-columns: 1fr;
  }
}
#container .c-information-list__item::before {
  /* content: "・"; */
  display: block;
}
#container .c-information-list__text p:last-of-type {
  margin-bottom: 0;
}
#container .c-information-note {
  font-size: clamp(0.75rem, 0.649rem + 0.43vw, 1rem);
}
#container .c-information-note p:last-of-type {
  margin-bottom: 0;
}

/* ========================================================================================= ^^
  CTA
============================================================================================ ^^ */
#container .p-cta {
  padding: calc(40 * var(--min-ratio)) calc(20 * var(--min-ratio));
  font-family: var(--font-shippori);
  text-align: center;
  letter-spacing: 0.06em;
}
@media (min-width: 768px) {
  #container .p-cta {
    padding: calc(40 * var(--max-ratio)) calc(20 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .p-cta {
    padding: calc(40 * var(--rem-ratio)) calc(20 * var(--rem-ratio));
  }
}
#container .p-cta .c-text:not(.business-hours) {
  margin-bottom: calc(12 * var(--min-ratio));
  font-size: clamp(0.688rem, 0.586rem + 0.43vw, 0.938rem);
  font-weight: 500;
}
@media (min-width: 768px) {
  #container .p-cta .c-text:not(.business-hours) {
    margin-bottom: calc(12 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .p-cta .c-text:not(.business-hours) {
    margin-bottom: calc(12 * var(--rem-ratio));
  }
}
#container .p-cta .c-text.business-hours {
  margin-bottom: calc(26 * var(--min-ratio));
  font-size: clamp(0.688rem, 0.586rem + 0.43vw, 0.938rem);
  font-weight: 500;
}
@media (min-width: 768px) {
  #container .p-cta .c-text.business-hours {
    margin-bottom: calc(26 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .p-cta .c-text.business-hours {
    margin-bottom: calc(26 * var(--rem-ratio));
  }
}
#container .p-cta .c-tel {
  margin-bottom: calc(13 * var(--min-ratio));
}
@media (min-width: 768px) {
  #container .p-cta .c-tel {
    margin-bottom: calc(13 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .p-cta .c-tel {
    margin-bottom: calc(13 * var(--rem-ratio));
  }
}
#container .p-cta .c-button {
  width: 90%;
  height: calc(58 * var(--min-ratio));
  margin: 0 auto;
}
@media (min-width: 768px) {
  #container .p-cta .c-button {
    width: calc(250 * var(--max-ratio));
    height: calc(58 * var(--max-ratio));
  }
}
@media (min-width: 1300px) {
  #container .p-cta .c-button {
    width: calc(250 * var(--rem-ratio));
    height: calc(58 * var(--rem-ratio));
  }
}
#container .p-cta .c-button__link {
  /* font-size: clamp(0.625rem, 0.524rem + 0.43vw, 0.875rem); */
  font-size: clamp(1.063rem, 0.885rem + 0.76vw, 1.5rem);
  font-weight: 700;
}
@media (min-width: 768px) {
  #container .p-cta .c-button__link {
    font-size: clamp(0.625rem, 0.264rem + 0.75vw, 0.875rem);
  }
}

#footerArea .areaInner,
#footerNavArea .areaInner {
  width: 100% !important;
}

#footerArea,
#footerNavArea {
  min-width: 0 !important;
}

#footerArea .areaInner .column1 {
  width: 430px;
}

#footerArea .areaInner .column2 {
  width: 33%;
  padding-right: 20px;
}