@charset "UTF-8";
/* min-width用 */
*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

:where([hidden]:not([hidden=until-found])) {
  display: none !important;
}

:where(html) {
  -webkit-text-size-adjust: none;
  color-scheme: dark light;
}

@supports not (min-block-size: 100dvb) {
  :where(html) {
    block-size: 100%;
  }
}
@media (prefers-reduced-motion: no-preference) {
  :where(html:focus-within) {
    scroll-behavior: smooth;
  }
}
:where(body) {
  block-size: 100%;
  block-size: 100dvb;
  line-height: 1.5;
  font-family: system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
}

:where(input, button, textarea, select) {
  font: inherit;
  color: inherit;
}

:where(textarea) {
  resize: vertical;
  resize: block;
}

:where(button, label, select, summary, [role=button], [role=option]) {
  cursor: pointer;
}

:where(:disabled) {
  cursor: not-allowed;
}

:where(label:has(> input:disabled), label:has(+ input:disabled)) {
  cursor: not-allowed;
}

:where(button) {
  border-style: solid;
}

:where(a) {
  text-underline-offset: 0.2ex;
}

:where(ul:not(.wp-block-list), ol:not(.wp-block-list)) {
  list-style: none;
}

:where(img, svg, video, canvas, audio, iframe, embed, object) {
  display: block;
}

:where(img, picture, svg) {
  max-inline-size: 100%;
  block-size: auto;
}

:where(figure) {
  margin-bottom: 0 !important;
}

:where(p, h1, h2, h3, h4, h5, h6) {
  overflow-wrap: break-word;
}

:where(h1, h2, h3) {
  line-height: calc(1em + 0.5rem);
}

:where(hr) {
  border: none;
  -webkit-border-before: 1px solid;
          border-block-start: 1px solid;
  color: inherit;
  block-size: 0;
  overflow: visible;
}

:where(:focus-visible) {
  outline: 2px solid var(--focus-color, Highlight);
  outline-offset: 2px;
}

:where(.visually-hidden:not(:focus, :active, :focus-within, .not-visually-hidden)) {
  -webkit-clip-path: inset(50%) !important;
          clip-path: inset(50%) !important;
  height: 1px !important;
  width: 1px !important;
  overflow: hidden !important;
  position: absolute !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/**
* Available vars:
* @var --viewport-from: <number> - Number in pixels without the unit. Required if `--font-size` is not exist.
* @var --viewport-to: <number> - Number in pixels without the unit. Required if `--font-size` is not exist.
* @var --font-size-from: <number> - Number in pixels without the unit. Required if `--font-size` and `--min-font-size` is not exist.
* @var --font-size-to: <number> - Number in pixels without the unit. Required if `--font-size` and `--max-font-size` is not exist.
* @var --max-font-size: <number> - Number in pixels without the unit. Optional.
* @var --min-font-size: <number> - Number in pixels without the unit. Optional.
* @var --viewport-unit-converter: 1vw | 1vh | 1vmin | 1vmax - Optional. Default: 1vw.
* @var --font-size: <length> | <percentage> | <absolute-size> | <relative-size> | Global values - Optional.
*/
*,
*::before,
*::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}

body {
  font-family: "YakuHanJP", "Zen Kaku Gothic New", "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "Osaka", "MS Pゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  font-style: normal;
  color: #393938;
  line-height: 1.6;
  background: #FFFFFF;
}

:where(p) {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 15;
  --max-font-size: 16;
}
:where(p) *,
:where(p) *::before,
:where(p) *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
:where(p) {
  line-height: 1.75;
}

b,
strong {
  font-weight: 600;
}

img {
  max-width: 100%;
  image-rendering: crisp-edges;
  image-rendering: -webkit-optimize-contrast;
}

a {
  color: #393938;
  text-decoration: none;
  -webkit-transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
  transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
}

a[href*="tel:"] {
  text-decoration: none;
}
@media (min-width: 600px) {
  a[href*="tel:"] {
    pointer-events: none;
  }
}

@-webkit-keyframes left-right {
  0% {
    background-position: 1569px center;
  }
  100% {
    background-position: 0 center;
  }
}

@keyframes left-right {
  0% {
    background-position: 1569px center;
  }
  100% {
    background-position: 0 center;
  }
}
@-webkit-keyframes left-right-tab {
  0% {
    background-position: 1093px center;
  }
  100% {
    background-position: 0 center;
  }
}
@keyframes left-right-tab {
  0% {
    background-position: 1093px center;
  }
  100% {
    background-position: 0 center;
  }
}
@-webkit-keyframes left-right-sp {
  0% {
    background-position: 656px center;
  }
  100% {
    background-position: 0 center;
  }
}
@keyframes left-right-sp {
  0% {
    background-position: 656px center;
  }
  100% {
    background-position: 0 center;
  }
}
@-webkit-keyframes MoveLeft {
  from {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
  to {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}
@keyframes MoveLeft {
  from {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
  to {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}
@-webkit-keyframes MoveLeft2 {
  from {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-200%);
            transform: translateX(-200%);
  }
}
@keyframes MoveLeft2 {
  from {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-200%);
            transform: translateX(-200%);
  }
}
@-webkit-keyframes spin {
  from {
    -webkit-transform: rotate(var(--start));
            transform: rotate(var(--start));
  }
  to {
    -webkit-transform: rotate(calc(var(--start) + 360deg));
            transform: rotate(calc(var(--start) + 360deg));
  }
}
@keyframes spin {
  from {
    -webkit-transform: rotate(var(--start));
            transform: rotate(var(--start));
  }
  to {
    -webkit-transform: rotate(calc(var(--start) + 360deg));
            transform: rotate(calc(var(--start) + 360deg));
  }
}
@-webkit-keyframes pulse {
  0% {
    -webkit-transform: scale(0.7);
            transform: scale(0.7);
    opacity: 1;
  }
  70% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
@keyframes pulse {
  0% {
    -webkit-transform: scale(0.7);
            transform: scale(0.7);
    opacity: 1;
  }
  70% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
@-webkit-keyframes move {
  to {
    background-position: -144px 0;
  }
}
@keyframes move {
  to {
    background-position: -144px 0;
  }
}
@-webkit-keyframes move-sp {
  to {
    background-position: -112px 0;
  }
}
@keyframes move-sp {
  to {
    background-position: -112px 0;
  }
}
.l-header {
  width: 100%;
  min-height: 72px;
  background: #FFFFFF;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10;
  border-bottom: 1px solid #393938;
}
@media (min-width: 600px) {
  .l-header {
    border-bottom: 2px solid #393938;
  }
}
@media (min-width: 960px) {
  .l-header {
    min-height: 95px;
  }
}
.l-header.--home {
  border-bottom: none;
}
@media (min-width: 960px) {
  .l-header.--home {
    border-bottom: 2px solid #393938;
  }
}
.l-header__inner {
  width: 100%;
  padding: 0 max(24px, 1.6vw);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 16px;
}
@media (min-width: 960px) {
  .l-header__inner {
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .l-header__inner::after {
    content: "";
    width: min(100%, 200px);
  }
}
.l-header__logo {
  width: min(100%, 153px);
  margin-right: auto;
}
@media (min-width: 960px) {
  .l-header__logo {
    margin-right: 0;
    width: min(100%, 272px);
  }
}
.l-header__logo-link {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.l-header__tools {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
  -webkit-box-ordinal-group: 11;
  -webkit-order: 10;
      -ms-flex-order: 10;
          order: 10;
  position: relative;
}
@media (min-width: 960px) {
  .l-header__tools {
    width: min(100%, 365px);
    -webkit-box-ordinal-group: initial;
    -webkit-order: initial;
        -ms-flex-order: initial;
            order: initial;
  }
}
.l-header__tools .l-header__search {
  display: none;
}
@media (min-width: 960px) {
  .l-header__tools .l-header__search {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
}
@media (min-width: 960px) {
  .l-header__search {
    width: min(100%, 237px);
  }
}
.l-header__search-box {
  position: relative;
}
.l-header__search-input {
  width: 100%;
  padding: 10px 16px 10px 46px;
  background: #FFFFFF;
  border: 1px solid #707070;
  max-height: 40px;
  border-radius: 999px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.l-header__search-button {
  background: url("../images/common/ic_search.svg") no-repeat center center/100% auto;
  width: 15px;
  height: 100%;
  position: absolute;
  top: 1px;
  left: 16px;
  border: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.l-header__menu {
  color: #FFFFFF;
  font-size: 18px;
  font-family: "Onest", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  padding: 8px;
  min-width: 44px;
  background: #151414;
  border-radius: 8px;
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  cursor: pointer;
  -webkit-transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
  transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
}
.l-header__menu::before {
  content: "";
  min-width: 27px;
  aspect-ratio: 27/31;
  background: url(../images/common/ic_menu.svg) no-repeat top left;
  position: absolute;
  right: 0;
  top: 0;
  -webkit-transform: translate(5px, 10px);
          transform: translate(5px, 10px);
  -webkit-transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
  transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
}
@media (min-width: 960px) {
  .l-header__menu {
    min-width: 112px;
    padding: 5px;
    gap: 8px;
  }
  .l-header__menu::before {
    display: none;
  }
  .l-header__menu::after {
    content: "MENU";
  }
}
@media (hover: hover) and (pointer: fine) {
  .l-header__menu:hover {
    opacity: 0.6;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .l-header__menu:hover {
    opacity: 0.6;
  }
}
.is-open .l-header__menu::before {
  opacity: 0;
}
@media (min-width: 960px) {
  .is-open .l-header__menu::after {
    content: "CLOSE";
  }
}
.l-header__menu-bar {
  min-width: 20px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 4px;
}
@media (min-width: 960px) {
  .l-header__menu-bar {
    min-width: 24px;
    gap: 6px;
  }
}
.l-header__menu-bar span {
  width: 100%;
  height: 2px;
  background: #FFFFFF;
  -webkit-transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
  transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
}
.is-open .l-header__menu-bar span {
  width: 16px;
}
.is-open .l-header__menu-bar span:nth-child(1) {
  -webkit-transform: translateY(6px) rotate(45deg);
          transform: translateY(6px) rotate(45deg);
}
.is-open .l-header__menu-bar span:nth-child(2) {
  opacity: 0;
}
.is-open .l-header__menu-bar span:nth-child(3) {
  -webkit-transform: translateY(-6px) rotate(-45deg);
          transform: translateY(-6px) rotate(-45deg);
}
@media (min-width: 960px) {
  .is-open .l-header__menu-bar span {
    width: 20px;
  }
  .is-open .l-header__menu-bar span:nth-child(1) {
    -webkit-transform: translateY(8px) rotate(45deg);
            transform: translateY(8px) rotate(45deg);
  }
  .is-open .l-header__menu-bar span:nth-child(3) {
    -webkit-transform: translateY(-8px) rotate(-45deg);
            transform: translateY(-8px) rotate(-45deg);
  }
}
.l-header__nav {
  width: 100%;
  height: calc(100dvh - 72px);
  padding: 0;
  position: absolute;
  top: 72px;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
  overflow-y: scroll;
}
.l-header__nav::before {
  content: "";
  width: 100%;
  height: 100%;
  background: #FFFFFF;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.is-open .l-header__nav {
  opacity: 1;
  visibility: visible;
}
.is-open .l-header__nav::before {
  opacity: 1;
}
.l-header__nav .l-header__search {
  margin: 0 auto;
}
@media (min-width: 960px) {
  .l-header__nav .l-header__search {
    display: none;
  }
}
@media (min-width: 960px) {
  .l-header__nav {
    height: calc(100dvh - 95px);
    padding: 0 24px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    position: fixed;
    top: 95px;
    left: 0;
  }
  .l-header__nav::before {
    background: rgba(34, 34, 34, 0.84);
    opacity: 0;
  }
}
.l-header__content {
  width: min(100%, 1248px);
  min-height: 100%;
  margin: 0 auto;
  padding: 24px 24px 56px 24px;
  background: #FFFFFF;
  position: relative;
}
@media (min-width: 960px) {
  .l-header__content {
    min-height: 300px;
    padding: 56px;
    border-radius: 32px;
    -webkit-transform: translateY(30px);
            transform: translateY(30px);
    -webkit-transition: -webkit-transform 0.4s ease;
    transition: -webkit-transform 0.4s ease;
    transition: transform 0.4s ease;
    transition: transform 0.4s ease, -webkit-transform 0.4s ease;
  }
}
.is-open .l-header__content {
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.l-header__close {
  display: none;
}
@media (min-width: 960px) {
  .l-header__close {
    display: block;
    position: absolute;
    top: 24px;
    right: 24px;
    cursor: pointer;
  }
}
.l-header__index {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 18;
  --max-font-size: 24;
}
.l-header__index *,
.l-header__index *::before,
.l-header__index *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.l-header__index {
  font-family: "Onest", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  margin-top: 32px;
}
@media (min-width: 960px) {
  .l-header__index {
    margin-top: 0;
  }
}
.l-header__spot {
  margin-top: 8px;
  padding: 24px 0 0 0;
  border-top: 1px solid #393938;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  position: relative;
}
.l-header__spot::before {
  content: "";
  width: 1px;
  height: 100%;
  background: #E6E6E6;
  position: absolute;
  inset: 0;
  top: 40px;
  margin: auto;
}
@media (min-width: 600px) {
  .l-header__spot {
    padding: 40px 0 0 0;
    grid-template-columns: repeat(4, 1fr);
    gap: 56px 24px;
  }
  .l-header__spot::before {
    display: none;
  }
}
@media (min-width: 960px) {
  .l-header__spot {
    grid-template-columns: repeat(7, 1fr);
    gap: clamp(0px, 1vw, 56px);
  }
}
.l-header__info {
  margin-top: 40px;
  padding-top: 24px;
  border-top: 1px solid #393938;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
}
@media (min-width: 600px) {
  .l-header__info {
    padding-top: 40px;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    gap: 55px;
  }
}
@media (min-width: 600px) {
  .l-header__info-item {
    text-align: center;
  }
}
.l-header__spot-link {
  font-size: 16px;
  font-weight: 700;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  text-align: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 4px;
}
.l-header__spot-link::before {
  content: "";
  width: 56px;
  aspect-ratio: 1/1;
  background-size: 200% auto;
  background-repeat: no-repeat;
}
@media (min-width: 600px) {
  .l-header__spot-link::before {
    width: 72px;
  }
}
@media (min-width: 600px) {
  .l-header__spot-link {
    gap: 16px;
  }
}
.l-header__spot-link.--gourmet::before {
  background-image: url(../images/common/ic_gourmet.svg);
}
.l-header__spot-link.--tourism::before {
  background-image: url(../images/common/ic_tourism.svg);
}
.l-header__spot-link.--play::before {
  background-image: url(../images/common/ic_play.svg);
}
.l-header__spot-link.--shopping::before {
  background-image: url(../images/common/ic_shopping.svg);
}
.l-header__spot-link.--event::before {
  background-image: url(../images/common/ic_event.svg);
}
.l-header__spot-link.--stay::before {
  background-image: url(../images/common/ic_stay.svg);
}
.l-header__spot-link.--transportation::before {
  background-image: url(../images/common/ic_transportation.svg);
}
@media (hover: hover) and (pointer: fine) and (min-width: 960px) {
  .l-header__spot-link:hover::before {
    -webkit-animation: move 1s steps(2) infinite;
            animation: move 1s steps(2) infinite;
  }
}
@media (-ms-high-contrast: none) and (min-width: 960px), (-ms-high-contrast: active) and (min-width: 960px) {
  .l-header__spot-link:hover::before {
    -webkit-animation: move 1s steps(2) infinite;
            animation: move 1s steps(2) infinite;
  }
}
.l-header__info-link {
  font-size: 15px;
  font-weight: 700;
}
.l-header__info-link::before {
  content: attr(data-en);
  font-family: "Onest", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-size: 20px;
  line-height: 1;
  display: block;
}
@media (hover: hover) and (pointer: fine) {
  .l-header__info-link:hover {
    opacity: 0.6;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .l-header__info-link:hover {
    opacity: 0.6;
  }
}
.l-header__other {
  margin-top: 24px;
  padding-top: 24px;
  border-top: 1px solid #393938;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 8px 16px;
}
@media (min-width: 960px) {
  .l-header__other {
    margin-top: 40px;
    padding-top: 16px;
    gap: 24px;
  }
}
.l-header__other-link {
  font-size: 15px;
  color: #6E7171;
  text-decoration: underline;
}
@media (hover: hover) and (pointer: fine) {
  .l-header__other-link:hover {
    opacity: 0.6;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .l-header__other-link:hover {
    opacity: 0.6;
  }
}
.l-header__sns {
  margin-top: 48px;
  display: block;
}
@media (min-width: 960px) {
  .l-header__sns {
    display: none;
  }
}
.l-header__sns-logo {
  width: min(100%, 216px);
}
.l-header__sns-logo img {
  -webkit-filter: invert(99%) sepia(3%) saturate(51%) hue-rotate(138deg) brightness(105%) contrast(100%);
          filter: invert(99%) sepia(3%) saturate(51%) hue-rotate(138deg) brightness(105%) contrast(100%);
}
.l-header__sns-list {
  margin-top: 16px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 8px 24px;
}
.l-header__sns-title {
  font-size: 18px;
  font-family: "Onest", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  width: 100%;
}
.l-header__sns-description {
  width: min(100%, 40px);
}
.l-header__sns-description img {
  -webkit-filter: invert(99%) sepia(3%) saturate(51%) hue-rotate(138deg) brightness(105%) contrast(100%);
          filter: invert(99%) sepia(3%) saturate(51%) hue-rotate(138deg) brightness(105%) contrast(100%);
}
.l-header__lang {
  cursor: pointer;
  position: relative;
  z-index: 1;
}
@media (min-width: 960px) {
  .l-header__lang {
    position: fixed;
    top: 24px;
    right: 24px;
    background: #EFEFEF;
    border: 1px solid #393938;
    border-radius: 22px;
    overflow: hidden;
  }
}
.l-header__lang-btn {
  font-size: 16px;
  font-family: "Onest", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  padding: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
  transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
}
.is-active .l-header__lang-btn {
  border-radius: 22px 22px 0 0;
}
.l-header__lang-btn::before {
  content: "";
  min-width: 24px;
  aspect-ratio: 1/1;
  margin-right: 0;
  margin-bottom: 0;
  -webkit-mask: url(../images/common/ic_lang.svg) no-repeat center center/38px auto;
          mask: url(../images/common/ic_lang.svg) no-repeat center center/38px auto;
  background: #393938;
  -webkit-transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
  transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
}
.l-header__lang-btn span {
  display: none;
}
@media (min-width: 960px) {
  .l-header__lang-btn {
    padding: 0 24px 3px 16px;
  }
  .l-header__lang-btn::before {
    content: "";
    min-width: 40px;
    aspect-ratio: 1/1;
    margin-right: 4px;
    margin-bottom: -3px;
    -webkit-mask: url(../images/common/ic_lang.svg) no-repeat center center/100% auto;
            mask: url(../images/common/ic_lang.svg) no-repeat center center/100% auto;
  }
  .l-header__lang-btn::after {
    content: "";
    min-width: 6px;
    aspect-ratio: 6/11;
    margin-left: 16px;
    margin-bottom: -3px;
    -webkit-mask: url(../images/common/ic_lang_arrow.svg) no-repeat center center/100% auto;
            mask: url(../images/common/ic_lang_arrow.svg) no-repeat center center/100% auto;
    background: #393938;
    -webkit-transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
    transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
  }
  .l-header__lang-btn span {
    display: block;
  }
}
.l-header__lang-list {
  text-align: left;
  min-width: 100%;
  padding: 0;
  background: #FFFFFF;
  border: 1px solid #393938;
  border-radius: 16px;
  display: none;
  position: absolute;
  z-index: 10;
  -webkit-transform: translate(-40%, 10px);
          transform: translate(-40%, 10px);
}
@media (min-width: 960px) {
  .l-header__lang-list {
    padding: 0 0 8px 0;
    background: none;
    border: none;
    position: relative;
    -webkit-transform: initial;
            transform: initial;
  }
}
.l-header__lang-list img {
  display: none !important;
}
.is-active .l-header__lang-list {
  display: block;
}
.l-header__lang-list a {
  font-size: 14px;
  font-family: "Onest", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  display: block;
  padding: 6px 24px;
  text-decoration: none;
  position: relative;
}
@media (min-width: 960px) {
  .l-header__lang-list a {
    padding: 6px 0px 6px 24px;
  }
}
.l-header__lang-list li a:hover {
  opacity: 0.7;
}
.l-header__lang-list li a:hover::before {
  opacity: 1;
  visibility: visible;
}

.l-footer {
  color: #FFFFFF;
  padding: 56px 0;
  background: #393938;
  border: 1px solid #707070;
  border-bottom: none;
  border-radius: 16px 16px 0 0;
}
@media (min-width: 600px) {
  .l-footer {
    padding: 64px 0;
    border: 2px solid #707070;
    border-radius: 32px 32px 0 0;
  }
}
.l-footer__pagetop a {
  min-width: 48px;
  aspect-ratio: 1/1;
  background: #FFFFFF;
  border: 1px solid #AFAFAF;
  border-radius: 4px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  position: fixed;
  right: 16px;
  bottom: 16px;
  z-index: 8;
  opacity: 0;
  visibility: hidden;
}
.l-footer__pagetop a::before {
  content: "";
  width: 12px;
  height: 6px;
  -webkit-mask: url(../images/common/ic_acc_arrow.svg) no-repeat center center/100% auto;
          mask: url(../images/common/ic_acc_arrow.svg) no-repeat center center/100% auto;
  background: #393938;
}
.l-footer__pagetop a.is-show {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.l-footer__inner {
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media (min-width: 960px) {
  .l-footer__inner {
    display: grid;
    grid-template-columns: auto 236px;
    gap: 0 40px;
  }
}
@media (min-width: 1440px) {
  .l-footer__inner {
    grid-template-columns: auto 284px;
  }
}
.l-footer__info {
  width: min(100%, 326px);
  margin: 0 auto;
}
@media (min-width: 600px) {
  .l-footer__info {
    width: min(100%, 656px);
  }
}
@media (min-width: 960px) {
  .l-footer__info {
    width: 100%;
  }
}
.l-footer__logo {
  display: none;
}
@media (min-width: 960px) {
  .l-footer__logo {
    display: block;
  }
}
.l-footer__member {
  margin-top: 32px;
  display: grid;
  gap: 16px;
}
@media (min-width: 600px) {
  .l-footer__member {
    margin-top: 24px;
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 960px) {
  .l-footer__member {
    width: min(100%, 656px);
  }
}
.l-footer__member-link {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 18;
  --max-font-size: 20;
}
.l-footer__member-link *,
.l-footer__member-link *::before,
.l-footer__member-link *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.l-footer__member-link {
  font-weight: 700;
  color: #FFFFFF;
  width: 100%;
  padding: 16px 24px;
  background: #434342;
  border: 1px solid #AFAFAF;
  border-radius: 16px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
  transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
}
.l-footer__member-link::after {
  content: "";
  min-width: 12px;
  aspect-ratio: 14/16;
  background: url(../images/common/ic_arrow_diagonal.svg) no-repeat center center/100% auto;
  -webkit-transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
  transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
}
@media (hover: hover) and (pointer: fine) {
  .l-footer__member-link:hover {
    opacity: 0.6;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .l-footer__member-link:hover {
    opacity: 0.6;
  }
}
@media (min-width: 600px) {
  .l-footer__member-link::after {
    content: "";
    min-width: 14px;
  }
}
.l-footer__address {
  margin-top: 24px;
  font-style: normal;
  line-height: 1.75;
}
@media (min-width: 600px) {
  .l-footer__address {
    margin-top: 40px;
  }
}
.l-footer__address-map {
  margin-top: 24px;
  font-weight: 700;
}
.l-footer__address-map a {
  color: #FFFFFF;
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 19;
}
.l-footer__address-map a *,
.l-footer__address-map a *::before,
.l-footer__address-map a *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.l-footer__address-map a {
  text-decoration: underline;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  gap: 8px;
  -webkit-transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
  transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
}
.l-footer__address-map a::after {
  content: "";
  min-width: 18px;
  aspect-ratio: 21/25;
  background: url(../images/common/ic_map.svg) no-repeat center center/100% auto;
  -webkit-transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
  transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
}
@media (hover: hover) and (pointer: fine) {
  .l-footer__address-map a:hover {
    opacity: 0.6;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .l-footer__address-map a:hover {
    opacity: 0.6;
  }
}
@media (min-width: 600px) {
  .l-footer__address-map::after {
    content: "";
    min-width: 21px;
  }
}
.l-footer__nav {
  width: min(100%, 326px);
  margin-top: 32px;
}
@media (min-width: 600px) {
  .l-footer__nav {
    width: min(100%, 656px);
    margin: 64px auto 0 auto;
  }
}
@media (min-width: 960px) {
  .l-footer__nav {
    width: 100%;
    grid-column: span 2;
  }
}
.l-footer__nav-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px 45px;
}
@media (min-width: 600px) {
  .l-footer__nav-list {
    width: 100%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: 16px;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
}
@media (min-width: 960px) {
  .l-footer__nav-list {
    width: min(100%, 750px);
    gap: 0 24px;
  }
}
@media (min-width: 600px) {
  .l-footer__nav-list + .l-footer__nav-list {
    margin-top: 24px;
  }
}
@media (max-width: 600px) {
  .l-footer__nav-item:nth-child(1) {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
  }
  .l-footer__nav-item:nth-child(2) {
    -webkit-box-ordinal-group: 4;
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3;
  }
  .l-footer__nav-item:nth-child(3) {
    -webkit-box-ordinal-group: 5;
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4;
  }
  .l-footer__nav-item:nth-child(4) {
    -webkit-box-ordinal-group: 6;
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5;
  }
  .l-footer__nav-item:nth-child(5) {
    -webkit-box-ordinal-group: 7;
    -webkit-order: 6;
        -ms-flex-order: 6;
            order: 6;
  }
  .l-footer__nav-item:nth-child(6) {
    -webkit-box-ordinal-group: 8;
    -webkit-order: 7;
        -ms-flex-order: 7;
            order: 7;
  }
  .l-footer__nav-item:nth-child(7) {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2;
  }
  .l-footer__nav-item:nth-child(8) {
    -webkit-box-ordinal-group: 9;
    -webkit-order: 8;
        -ms-flex-order: 8;
            order: 8;
  }
  .l-footer__nav-item:nth-child(9) {
    -webkit-box-ordinal-group: 10;
    -webkit-order: 9;
        -ms-flex-order: 9;
            order: 9;
  }
}
.l-footer__nav-link {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 12;
  --max-font-size: 15;
}
.l-footer__nav-link *,
.l-footer__nav-link *::before,
.l-footer__nav-link *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.l-footer__nav-link {
  color: #FFFFFF;
  text-decoration: underline;
  -webkit-transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
  transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
}
@media (hover: hover) and (pointer: fine) {
  .l-footer__nav-link:hover {
    opacity: 0.6;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .l-footer__nav-link:hover {
    opacity: 0.6;
  }
}
.l-footer__sns {
  margin: 0 auto;
  padding: 0;
  -webkit-box-ordinal-group: 0;
  -webkit-order: -1;
      -ms-flex-order: -1;
          order: -1;
}
@media (min-width: 960px) {
  .l-footer__sns {
    margin: 0;
    -webkit-box-ordinal-group: inherit;
    -webkit-order: inherit;
        -ms-flex-order: inherit;
            order: inherit;
  }
}
@media (min-width: 1440px) {
  .l-footer__sns {
    padding: 0 48px 0 0;
  }
}
.l-footer__sns-logo {
  width: min(100%, 216px);
  margin: 0 auto;
}
@media (min-width: 960px) {
  .l-footer__sns-logo {
    display: none;
  }
}
.l-footer__sns-list {
  width: 100%;
  margin: 32px auto 0 auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 32px 24px;
}
@media (min-width: 960px) {
  .l-footer__sns-list {
    margin-top: 0;
  }
}
.l-footer__sns-title {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 18;
}
.l-footer__sns-title *,
.l-footer__sns-title *::before,
.l-footer__sns-title *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.l-footer__sns-title {
  font-family: "Onest", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  width: 100%;
  text-align: center;
  border-radius: 9999px;
  padding: 10px 0;
  border: 1px solid #FFFFFF;
  position: relative;
}
.l-footer__sns-title::before {
  content: "";
  position: absolute;
  bottom: -17px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-top: 17px solid #FFFFFF;
}
.l-footer__sns-title::after {
  content: "";
  position: absolute;
  bottom: -15px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 9px solid transparent;
  border-right: 9px solid transparent;
  border-top: 15px solid #393938;
}
.l-footer__copyright {
  font-size: 12px;
  width: min(100%, 326px);
  margin: 48px auto 0 auto;
  display: block;
}
@media (min-width: 600px) {
  .l-footer__copyright {
    width: min(100%, 656px);
    margin: 64px auto 0 auto;
  }
}
@media (min-width: 960px) {
  .l-footer__copyright {
    width: 100%;
  }
}

.l-container {
  overflow: clip;
  position: relative;
  z-index: 0;
}

.l-main {
  margin-top: 72px;
}
@media (min-width: 960px) {
  .l-main {
    margin-top: 94px;
  }
}
.l-main:not(.is-special) {
  padding: 0 16px 56px 16px;
  border: 1px solid #393938;
  border-top: none;
  border-radius: 0 0 16px 16px;
  position: relative;
}
@media (min-width: 600px) {
  .l-main:not(.is-special) {
    padding: 0 40px 160px 40px;
    border-width: 2px;
    border-radius: 0 0 32px 32px;
  }
}
@media (min-width: 960px) {
  .l-main:not(.is-special) {
    padding: 0 60px 160px 60px;
  }
}
.l-main:not(.is-special)::before {
  content: "";
  width: 1px;
  height: 100%;
  background: #393938;
  position: absolute;
  top: 0;
  left: 16px;
  z-index: 1;
}
@media (min-width: 600px) {
  .l-main:not(.is-special)::before {
    width: 2px;
    left: 40px;
  }
}
@media (min-width: 960px) {
  .l-main:not(.is-special)::before {
    left: 60px;
  }
}
.l-main:not(.is-special)::after {
  content: "";
  width: 1px;
  height: 100%;
  background: #393938;
  position: absolute;
  top: 0;
  right: 16px;
  z-index: 1;
}
@media (min-width: 600px) {
  .l-main:not(.is-special)::after {
    width: 2px;
    right: 40px;
  }
}
@media (min-width: 960px) {
  .l-main:not(.is-special)::after {
    right: 60px;
  }
}

.l-two-column {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media (min-width: 960px) {
  .l-two-column {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.l-two-column__side {
  width: min(25%, 272px);
  position: relative;
  display: none;
}
.l-two-column__side::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 2px;
  height: calc(100% + 160px);
  background: #393938;
  z-index: 1;
}
@media (min-width: 960px) {
  .l-two-column__side {
    display: block;
  }
}
.l-two-column__main {
  padding: 0 24px;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media (min-width: 600px) {
  .l-two-column__main {
    padding: 0 clamp(32px, 4.5vw, 60px);
  }
}

.c-container {
  width: 100%;
  padding: 0 24px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 600px) {
  .c-container {
    padding: 0;
    width: min(100% - 80px, 1318px);
  }
}
@media (min-width: 960px) {
  .c-container {
    width: min(100% - 120px, 1318px);
  }
}
@media (min-width: 600px) {
  .c-container.--md {
    padding: 0;
    width: min(100% - 80px, 1200px);
  }
}
@media (min-width: 960px) {
  .c-container.--md {
    width: min(100% - 120px, 1200px);
  }
}
@media (min-width: 600px) {
  .c-container.--sm {
    padding: 0;
    width: min(100% - 80px, 920px);
  }
}
@media (min-width: 960px) {
  .c-container.--sm {
    padding: 0;
    width: min(100% - 120px, 920px);
  }
}
.is-special .c-container {
  padding: 0 32px;
}
@media (min-width: 600px) {
  .is-special .c-container {
    padding: 0;
    width: min(100% - 140px, 1318px);
  }
}
@media (min-width: 960px) {
  .is-special .c-container {
    width: min(100% - 240px, 1318px);
  }
}
@media (min-width: 600px) {
  .is-special .c-container.--md {
    padding: 0;
    width: min(100% - 140px, 1200px);
  }
}
@media (min-width: 960px) {
  .is-special .c-container.--md {
    width: min(100% - 240px, 1200px);
  }
}
.is-special .c-container.--sm {
  padding: 0 32px;
}
@media (min-width: 600px) {
  .is-special .c-container.--sm {
    padding: 0;
    width: min(100% - 140px, 920px);
  }
}
@media (min-width: 960px) {
  .is-special .c-container.--sm {
    padding: 0;
    width: min(100% - 240px, 920px);
  }
}

.c-hero {
  width: 100%;
  padding: 24px 24px;
  border-bottom: 1px solid #393938;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  position: relative;
}
@media (min-width: 600px) {
  .c-hero {
    padding: 40px;
    border-bottom: 2px solid #393938;
  }
}
@media (min-width: 960px) {
  .c-hero {
    padding: 60px;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
        -ms-flex-align: end;
            align-items: flex-end;
  }
}
.c-hero.--single {
  padding: 16px 24px;
}
@media (min-width: 600px) {
  .c-hero.--single {
    padding: 32px 40px;
    border-bottom: 2px solid #393938;
  }
}
@media (min-width: 960px) {
  .c-hero.--single {
    padding: 54px 60px;
  }
}
.c-hero__title {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 24;
}
.c-hero__title *,
.c-hero__title *::before,
.c-hero__title *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.c-hero__title::before {
  content: attr(data-en);
  font-family: "Chubbo", sans-serif;
  font-weight: 500;
  font-style: normal;
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 36;
  --max-font-size: 94;
}
.c-hero__title::before *,
.c-hero__title::before *::before,
.c-hero__title::before *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.c-hero__title::before {
  line-height: 1.3;
  display: block;
}
.c-hero__title-jp::before {
  content: "（ ";
}
.c-hero__title-jp::after {
  content: " ）";
}
.c-hero__inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 16px;
}
.c-hero__inner::before {
  content: "";
  min-width: 56px;
  aspect-ratio: 1/1;
  background-size: 100% auto;
  background-repeat: no-repeat;
  background-position: center;
}
@media (min-width: 600px) {
  .c-hero__inner {
    gap: 0 24px;
  }
  .c-hero__inner::before {
    min-width: 80px;
  }
}
@media (min-width: 960px) {
  .c-hero__inner {
    gap: 0 32px;
  }
  .c-hero__inner::before {
    min-width: 126px;
  }
}
.--single .c-hero__inner::before {
  min-width: 40px;
}
@media (min-width: 600px) {
  .--single .c-hero__inner::before {
    min-width: 64px;
  }
}
@media (min-width: 960px) {
  .--single .c-hero__inner::before {
    min-width: 102px;
  }
}
.--gourmet .c-hero__inner::before {
  background-image: url(../images/sitemap/ic_gourmet.svg);
}
.--tourism .c-hero__inner::before {
  background-image: url(../images/sitemap/ic_tourism.svg);
}
.--play .c-hero__inner::before {
  background-image: url(../images/sitemap/ic_play.svg);
}
.--shop .c-hero__inner::before {
  background-image: url(../images/sitemap/ic_shopping.svg);
}
.--event .c-hero__inner::before {
  background-image: url(../images/sitemap/ic_event.svg);
}
.--stay .c-hero__inner::before {
  background-image: url(../images/sitemap/ic_stay.svg);
}
.--transportation .c-hero__inner::before {
  background-image: url(../images/sitemap/ic_transportation.svg);
}
.c-hero__inner .c-hero__title::before {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 30;
  --max-font-size: 72;
}
.c-hero__inner .c-hero__title::before *,
.c-hero__inner .c-hero__title::before *::before,
.c-hero__inner .c-hero__title::before *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.c-hero__inner .c-hero__title::before {
  font-family: initial;
  font-weight: 700;
}
.--single .c-hero__inner .c-hero__title {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 18;
}
.--single .c-hero__inner .c-hero__title *,
.--single .c-hero__inner .c-hero__title *::before,
.--single .c-hero__inner .c-hero__title *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.--single .c-hero__inner .c-hero__title::before {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 24;
  --max-font-size: 56;
}
.--single .c-hero__inner .c-hero__title::before *,
.--single .c-hero__inner .c-hero__title::before *::before,
.--single .c-hero__inner .c-hero__title::before *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}

.c-sec-title {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 22;
  --max-font-size: 40;
}
.c-sec-title *,
.c-sec-title *::before,
.c-sec-title *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.c-sec-title {
  text-align: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 8px;
}
.c-sec-title::before {
  content: "";
  width: 14px;
  aspect-ratio: 23/17;
  background: url(../images/common/ic_sq.svg) no-repeat center center/100% auto;
}
@media (min-width: 600px) {
  .c-sec-title::before {
    width: min(3%, 23px);
  }
}
.c-sec-title::after {
  content: "";
  width: 14px;
  aspect-ratio: 23/17;
  background: url(../images/common/ic_sq.svg) no-repeat center center/100% auto;
  -webkit-transform: scale(-1, -1);
          transform: scale(-1, -1);
}
@media (min-width: 600px) {
  .c-sec-title::after {
    width: min(3%, 23px);
  }
}
.c-sec-title-line {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 18;
  --max-font-size: 24;
}
.c-sec-title-line *,
.c-sec-title-line *::before,
.c-sec-title-line *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.c-sec-title-line {
  padding-bottom: 8px;
  border-bottom: 1px solid #393938;
}

.c-sec-title-band {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 18;
  --max-font-size: 20;
}
.c-sec-title-band *,
.c-sec-title-band *::before,
.c-sec-title-band *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.c-sec-title-band {
  width: 100%;
  padding: 16px;
  background: #FFFBF4;
  border: 2px solid #AFAFAF;
  border-radius: 8px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
}
.c-sec-title-band::before {
  content: "";
  min-width: 10px;
  aspect-ratio: 1/1;
  background: url(../images/common/ic_sec_title.svg) no-repeat center center/100% auto;
}
@media (min-width: 600px) {
  .c-sec-title-band {
    padding: 24px 32px;
  }
}

.c-button {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 18;
  --max-font-size: 20;
}
.c-button *,
.c-button *::before,
.c-button *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.c-button {
  font-family: "Onest", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-weight: 700;
  line-height: 1.2;
  min-width: 216px;
  padding: 16px 24px;
  border: 1px solid #393938;
  border-radius: 999px;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 24px;
  white-space: nowrap;
  -webkit-transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
  transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
}
@media (min-width: 960px) {
  .c-button {
    width: auto;
    padding: 16px 32px;
  }
}
.c-button::after {
  content: "";
  min-width: 8px;
  aspect-ratio: 1/1;
  background: #393938;
  border-radius: 50%;
  -webkit-transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
  transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
}
@media (hover: hover) and (pointer: fine) {
  .c-button:hover {
    color: #FFFFFF;
    background: #393938;
  }
  .c-button:hover::after {
    background: #FFFFFF;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .c-button:hover {
    color: #FFFFFF;
    background: #393938;
  }
  .c-button:hover::after {
    background: #FFFFFF;
  }
}
.c-button.--pdf {
  padding: 8px 8px 8px 24px;
}
.c-button.--pdf::after {
  content: "";
  min-width: 34px;
  aspect-ratio: 1/1;
  background: url(../images/common/ic_pdf.svg) no-repeat center center/17px auto;
  border: 1px solid #393938;
  -webkit-transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
  transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
}
@media (hover: hover) and (pointer: fine) {
  .c-button.--pdf:hover::after {
    background-color: #FFFFFF;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .c-button.--pdf:hover::after {
    background-color: #FFFFFF;
  }
}
@media (min-width: 960px) {
  .c-button.--pdf {
    padding: 8px 8px 8px 32px;
  }
  .c-button.--pdf::after {
    content: "";
    min-width: 40px;
    background-size: 20px auto;
  }
}
.c-button.--blank {
  text-align: left;
  line-height: 1.3;
}
.c-button.--blank::after {
  content: "";
  min-width: 24px;
  aspect-ratio: 1/1;
  -webkit-mask: url(../images/common/ic_blank.svg) no-repeat center center/24px auto;
          mask: url(../images/common/ic_blank.svg) no-repeat center center/24px auto;
  border-radius: 0;
  -webkit-transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
  transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
}
@media (min-width: 960px) {
  .c-button.--blank {
    padding: 16px 24px 16px 32px;
  }
}

.c-breadcrumbs {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
@media (min-width: 960px) {
  .c-breadcrumbs {
    max-width: calc(100% - 40vw);
    position: absolute;
    right: 60px;
    z-index: 2;
  }
}
.c-breadcrumbs__list {
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  overflow-x: scroll;
  scrollbar-width: none;
}
.c-breadcrumbs__item {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 12;
  --max-font-size: 14;
}
.c-breadcrumbs__item *,
.c-breadcrumbs__item *::before,
.c-breadcrumbs__item *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.c-breadcrumbs__item {
  color: #AFAFAF;
  margin-top: 16px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  white-space: nowrap;
}
@media (min-width: 960px) {
  .c-breadcrumbs__item {
    margin-top: 0px;
  }
}
.c-breadcrumbs__item a {
  color: #6E7171;
  white-space: nowrap;
}
.c-breadcrumbs__item a::after {
  content: "";
  width: 5px;
  height: 10px;
  background: url(../images/common/ic_arrow_breadcrumbs.svg) no-repeat center center/100% auto;
  margin: 0 8px;
  display: inline-block;
}

.c-pagination {
  margin-top: 112px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 8px;
}
.c-pagination .page-numbers {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 20;
}
.c-pagination .page-numbers *,
.c-pagination .page-numbers *::before,
.c-pagination .page-numbers *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.c-pagination .page-numbers {
  font-family: "Darker Grotesque", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-weight: 700;
  min-width: 40px;
  aspect-ratio: 1/1;
  border-radius: 50%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.c-pagination .current {
  color: #FFFFFF;
  background: #393938;
}

.c-navigation {
  margin-top: 72px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
}
@media (min-width: 600px) {
  .c-navigation {
    margin-top: 124px;
    gap: 24px;
  }
}
.c-navigation__prve a {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
}
.c-navigation__prve a *,
.c-navigation__prve a *::before,
.c-navigation__prve a *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.c-navigation__prve a {
  font-weight: 700;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
}
.c-navigation__prve a::before {
  content: "";
  width: 11px;
  height: 14px;
  background: url(../images/common/ic_arrow.svg) no-repeat center center/100% auto;
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
}
@media (min-width: 600px) {
  .c-navigation__prve a {
    gap: 16px;
  }
}
@media (hover: hover) and (pointer: fine) {
  .c-navigation__prve a:hover {
    opacity: 0.6;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .c-navigation__prve a:hover {
    opacity: 0.6;
  }
}
.c-navigation__back {
  text-align: center;
}
.c-navigation__back a {
  color: #FFFFFF;
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 20;
}
.c-navigation__back a *,
.c-navigation__back a *::before,
.c-navigation__back a *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.c-navigation__back a {
  font-weight: 700;
  width: min(100%, 216px);
  min-width: initial;
  background: #393938;
  margin: 0 auto;
  padding: 8px 16px;
  border-radius: 9999px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  white-space: nowrap;
}
.c-navigation__back a::after {
  display: none;
}
@media (hover: hover) and (pointer: fine) {
  .c-navigation__back a:hover {
    color: #393938;
    background: #FFFFFF;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .c-navigation__back a:hover {
    color: #393938;
    background: #FFFFFF;
  }
}
@media (min-width: 600px) {
  .c-navigation__back a {
    min-width: 216px;
    padding: 16px;
  }
}
.c-navigation__next {
  text-align: right;
}
.c-navigation__next a {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
}
.c-navigation__next a *,
.c-navigation__next a *::before,
.c-navigation__next a *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.c-navigation__next a {
  font-weight: 700;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
}
.c-navigation__next a::after {
  content: "";
  width: 11px;
  height: 14px;
  background: url(../images/common/ic_arrow.svg) no-repeat center center/100% auto;
}
@media (min-width: 600px) {
  .c-navigation__next a {
    gap: 16px;
  }
}
@media (hover: hover) and (pointer: fine) {
  .c-navigation__next a:hover {
    opacity: 0.6;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .c-navigation__next a:hover {
    opacity: 0.6;
  }
}

.c-password {
  text-align: center;
  margin-top: 56px;
  min-height: 200px;
}
@media (min-width: 600px) {
  .c-password {
    margin-top: 112px;
  }
}
.c-password__form {
  margin-top: 40px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
}
@media (min-width: 600px) {
  .c-password__form {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.c-password__form input {
  font-size: 16px;
  width: min(100%, 320px);
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding: 16px 16px 16px 56px;
  background: url(../images/common/ic_lock.svg) no-repeat #F7F7F7 left 16px center/24px auto;
  border: 1px solid #393938;
  border-radius: 4px;
}
.c-password__form button {
  color: #FFFFFF;
  font-size: 16px;
  width: 120px;
  padding: 10px 16px;
  background: #393938;
  border-radius: 4px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

.c-contact {
  width: 100%;
  margin: 64px auto 0 auto;
  padding: 24px 16px;
  background: #FFFBF4;
  border: 1px solid #393938;
  border-radius: 16px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
}
@media (min-width: 960px) {
  .c-contact {
    margin: 80px auto 0 auto;
    padding: 32px 40px;
  }
}
.c-contact__tel {
  --viewport-from: 600;
  --viewport-to: 960;
  --min-font-size: 28;
  --max-font-size: 56;
}
.c-contact__tel *,
.c-contact__tel *::before,
.c-contact__tel *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.c-contact__tel {
  font-family: "Onest", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
}
.c-contact__tel::before {
  content: "";
  min-width: 40px;
  aspect-ratio: 1/1;
  background: url(../images/common/ic_tel.svg) #FFFFFF no-repeat center center/24px auto;
  border: 1px solid #393938;
  border-radius: 50%;
}
@media (min-width: 960px) {
  .c-contact__tel {
    gap: 16px;
  }
  .c-contact__tel::before {
    min-width: 72px;
    background-size: 40px auto;
  }
}

.c-block-layout {
  margin-top: 40px;
}
.c-block-layout p + p {
  margin-top: 16px;
}
.c-block-layout p + .has-text-align-center {
  margin-top: 48px;
}
@media (min-width: 600px) {
  .c-block-layout p + .has-text-align-center {
    margin-top: 80px;
  }
}
.c-block-layout .wp-block-image {
  margin: 40px 0 0 0;
}
.c-block-layout .wp-block-image img {
  border-radius: 8px;
}
.c-block-layout .wp-block-image + p {
  margin-top: 40px;
}
.c-block-layout a {
  text-decoration: underline;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
}
.c-block-layout a::before {
  content: "";
  min-width: 32px;
  aspect-ratio: 1/1;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="15.255" height="17.321" viewBox="0 0 15.255 17.321"><g transform="translate(-349.273 -8687.86)"><path d="M1.061,3.078l.3,1.1L11.735,1.714,0,15.283.946,16,12.68,2.431l-.423,10.018,1.217.045L14,0Z" transform="translate(350 8688.5)" fill="%23393938"/><path d="M14.528-.64l-.575,13.652-2.216-.082.383-9.087L1.018,16.681-.727,15.36l11.07-12.8L1,4.78.443,2.711ZM13,11.976,13.473.639,1.678,3.445l.037.138L13.127.87.727,15.207l.147.111L13.24,1.019l-.462,10.949Z" transform="translate(350 8688.5)" fill="%23393938"/></g></svg>') no-repeat no-repeat center center/7px auto;
  border: 1px solid #393938;
  border-radius: 50%;
}
.c-block-layout a[target=_blank]::before {
  background: url(../images/common/ic_blank_b.svg) no-repeat center center/10px auto;
}
@media (min-width: 960px) {
  .c-block-layout a::before {
    content: "";
    min-width: 40px;
    background-size: 9px auto;
  }
  .c-block-layout a[target=_blank]::before {
    background-size: 14px auto;
  }
}
.c-block-layout h3 + p {
  margin-top: 24px;
}
.c-block-layout p + h4 {
  margin-top: 48px;
}
.c-block-layout ul + p {
  margin-top: 24px;
}
.c-block-layout .wp-block-heading:not(:first-child) {
  margin-top: 64px;
}
.c-block-layout .wp-block-columns {
  margin-top: 32px;
}
.c-block-layout h4 + .wp-block-columns {
  margin-top: 16px;
}

.p-home-kv {
  padding-top: 24px;
}
.p-home-kv__logo {
  width: min(100%, 246px);
  margin: 0 auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  z-index: 8;
}
@media (min-width: 600px) {
  .p-home-kv__logo {
    width: min(35%, 407px);
  }
}
@media (min-width: 1440px) {
  .p-home-kv__logo {
    width: min(100%, 407px);
  }
}
.p-home-kv__swiper {
  margin-top: 32px;
}
@media (min-width: 600px) {
  .p-home-kv__swiper {
    margin-top: 40px;
  }
}
@media (min-width: 960px) {
  .p-home-kv__swiper {
    margin-top: -1vw;
  }
}
.p-home-kv__swiper-wrapper {
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.p-home-kv__swiper-slide {
  height: auto;
}
.p-home-kv__swiper-link {
  height: 100%;
  padding: 16px 16px 40px 16px;
  position: relative;
  display: block;
}
@media (min-width: 600px) {
  .p-home-kv__swiper-link {
    padding: 40px 26px 80px 40px;
  }
}
.p-home-kv__swiper-link[data-en=Gourmet] {
  background: #F6B16A;
}
.p-home-kv__swiper-link[data-en=Gourmet] .p-home-kv__swiper-label {
  background: #F6B16A;
}
.p-home-kv__swiper-link[data-en=Gourmet] .p-home-kv__swiper-label::before {
  background-image: url(../images/sitemap/ic_gourmet.svg);
}
.p-home-kv__swiper-link[data-en=Tourism] {
  background: #38A79A;
}
.p-home-kv__swiper-link[data-en=Tourism] .p-home-kv__swiper-label {
  background: #38A79A;
}
.p-home-kv__swiper-link[data-en=Tourism] .p-home-kv__swiper-label::before {
  background-image: url(../images/sitemap/ic_tourism.svg);
}
.p-home-kv__swiper-link[data-en=Transportation] {
  background: #E3A7A8;
}
.p-home-kv__swiper-link[data-en=Transportation] .p-home-kv__swiper-label {
  background: #E3A7A8;
}
.p-home-kv__swiper-link[data-en=Transportation] .p-home-kv__swiper-label::before {
  background-image: url(../images/sitemap/ic_transportation.svg);
}
.p-home-kv__swiper-link[data-en=Play] {
  background: #38B779;
}
.p-home-kv__swiper-link[data-en=Play] .p-home-kv__swiper-label {
  background: #38B779;
}
.p-home-kv__swiper-link[data-en=Play] .p-home-kv__swiper-label::before {
  background-image: url(../images/sitemap/ic_play.svg);
}
.p-home-kv__swiper-link[data-en=Shop] {
  background: #A8A1F8;
}
.p-home-kv__swiper-link[data-en=Shop] .p-home-kv__swiper-label {
  background: #A8A1F8;
}
.p-home-kv__swiper-link[data-en=Shop] .p-home-kv__swiper-label::before {
  background-image: url(../images/sitemap/ic_shopping.svg);
}
.p-home-kv__swiper-link[data-en=Event] {
  background: #2E7FBA;
}
.p-home-kv__swiper-link[data-en=Event] .p-home-kv__swiper-label {
  background: #2E7FBA;
}
.p-home-kv__swiper-link[data-en=Event] .p-home-kv__swiper-label::before {
  background-image: url(../images/sitemap/ic_event.svg);
}
.p-home-kv__swiper-link[data-en=Stay] {
  background: #9AD6EB;
}
.p-home-kv__swiper-link[data-en=Stay] .p-home-kv__swiper-label {
  background: #9AD6EB;
}
.p-home-kv__swiper-link[data-en=Stay] .p-home-kv__swiper-label::before {
  background-image: url(../images/sitemap/ic_stay.svg);
}
.p-home-kv__swiper-label {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 20;
}
.p-home-kv__swiper-label *,
.p-home-kv__swiper-label *::before,
.p-home-kv__swiper-label *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-home-kv__swiper-label {
  font-family: "Onest", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  color: #FFFFFF;
  min-width: 212px;
  min-height: 40px;
  padding: 0 16px;
  border-radius: 4px 32px 0 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 10px;
  -webkit-transform: translateY(-38px);
          transform: translateY(-38px);
  z-index: 1;
}
.p-home-kv__swiper-label::before {
  content: "";
  min-width: 32px;
  aspect-ratio: 1/1;
  background: #FFFFFF no-repeat center center/15px auto;
  border: 1px solid #E6E6E6;
  border-radius: 50%;
  -webkit-transform: translateY(20%);
          transform: translateY(20%);
}
@media (min-width: 600px) {
  .p-home-kv__swiper-label {
    min-width: 286px;
    min-height: 56px;
    padding: 0 24px;
    border-radius: 36px 48px 8px 0;
    -webkit-transform: translateY(-52px);
            transform: translateY(-52px);
  }
}
@media (min-width: 600px) and (min-width: 600px) {
  .p-home-kv__swiper-label::before {
    min-width: 56px;
    background-size: 27px;
  }
}
.p-home-kv__swiper-media {
  display: block;
}
@media (min-width: 960px) {
  .p-home-kv__swiper-media {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 0 12px;
  }
}
.p-home-kv__swiper-image {
  width: 100%;
  aspect-ratio: 648/433;
  border-radius: 8px;
  overflow: hidden;
}
.p-home-kv__swiper-image img {
  max-width: initial;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-home-kv__swiper-caption {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 18;
}
.p-home-kv__swiper-caption *,
.p-home-kv__swiper-caption *::before,
.p-home-kv__swiper-caption *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-home-kv__swiper-caption {
  color: #FFFFFF;
  margin-top: 8px;
  grid-column: span 2;
}
.p-home-kv__swiper-text {
  color: #FFFFFF;
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 13;
  --max-font-size: 18;
}
.p-home-kv__swiper-text *,
.p-home-kv__swiper-text *::before,
.p-home-kv__swiper-text *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-home-kv__swiper-text {
  font-family: "Onest", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  margin-top: 16px;
}
.p-home-kv__swiper-text strong {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 24;
  --max-font-size: 40;
}
.p-home-kv__swiper-text strong *,
.p-home-kv__swiper-text strong *::before,
.p-home-kv__swiper-text strong *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-home-kv__swiper-text strong {
  line-height: 1;
}
.p-home-kv__swiper-text::after {
  content: "";
  width: 100%;
  height: 1px;
  margin-top: 8px;
  background: #FFFFFF;
  display: block;
}
@media (min-width: 960px) {
  .p-home-kv__swiper-text {
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
    margin: 0;
  }
  .p-home-kv__swiper-text::after {
    display: none;
  }
}

.p-home-yokkaichi {
  margin-top: -16px;
  background: #FFFBF4;
  border: 1px solid #393938;
  border-radius: 16px;
  position: relative;
  overflow: hidden;
  z-index: 5;
}
@media (min-width: 600px) {
  .p-home-yokkaichi {
    margin-top: -40px;
    border-width: 2px;
    border-radius: 32px;
  }
}
.p-home-yokkaichi__inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 0 0 56px 0;
}
@media (min-width: 600px) {
  .p-home-yokkaichi__inner {
    padding: 56px 0;
  }
}
@media (min-width: 960px) {
  .p-home-yokkaichi__inner {
    padding: 0;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    position: relative;
  }
}
.p-home-yokkaichi__textarea {
  margin-top: 24px;
  text-align: center;
}
@media (min-width: 600px) {
  .p-home-yokkaichi__textarea {
    text-align: left;
    margin-top: 0px;
    position: static;
    width: min(100% - 80px, 1200px) !important;
  }
}
@media (min-width: 960px) {
  .p-home-yokkaichi__textarea {
    margin: 0 auto;
    position: absolute;
    left: 0;
    right: 0;
    z-index: 1;
  }
}
.p-home-yokkaichi__title {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 18;
  --max-font-size: 24;
}
.p-home-yokkaichi__title *,
.p-home-yokkaichi__title *::before,
.p-home-yokkaichi__title *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-home-yokkaichi__title::before {
  content: attr(data-en);
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 40;
  --max-font-size: 96;
}
.p-home-yokkaichi__title::before *,
.p-home-yokkaichi__title::before *::before,
.p-home-yokkaichi__title::before *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-home-yokkaichi__title::before {
  font-family: "Chubbo", sans-serif;
  font-weight: 500;
  font-style: normal;
  line-height: 1.5;
  display: block;
}
.p-home-yokkaichi__caption {
  margin-top: 24px;
  width: 100%;
}
@media (min-width: 600px) {
  .p-home-yokkaichi__caption {
    width: min(100%, 300px);
    margin-top: 40px;
  }
}
@media (min-width: 960px) {
  .p-home-yokkaichi__caption {
    width: min(45%, 500px);
  }
}
.p-home-yokkaichi__button {
  margin-top: 24px;
}
@media (min-width: 600px) {
  .p-home-yokkaichi__button {
    margin-top: 40px;
  }
}
.p-home-yokkaichi__map {
  height: 100%;
  -webkit-box-ordinal-group: 0;
  -webkit-order: -1;
      -ms-flex-order: -1;
          order: -1;
  position: relative;
  overflow: hidden;
  -webkit-perspective: 1000px;
          perspective: 1000px;
  -webkit-transform-style: preserve-3d;
          transform-style: preserve-3d;
}
.p-home-yokkaichi__map::before {
  content: "";
  width: 50%;
  aspect-ratio: 446/308;
  background: url(../images/home/img_yokkaichi_illust.svg) no-repeat center center/100% auto;
  position: absolute;
  right: 0;
  bottom: 0;
  -webkit-transform: translate(7%, 14%) rotateX(90deg) scale(0.5);
          transform: translate(7%, 14%) rotateX(90deg) scale(0.5);
  z-index: -1;
  opacity: 0;
  -webkit-transition: opacity 0.1s ease, -webkit-transform 0.4s cubic-bezier(0.43, 1.78, 0.61, 0.72);
  transition: opacity 0.1s ease, -webkit-transform 0.4s cubic-bezier(0.43, 1.78, 0.61, 0.72);
  transition: opacity 0.1s ease, transform 0.4s cubic-bezier(0.43, 1.78, 0.61, 0.72);
  transition: opacity 0.1s ease, transform 0.4s cubic-bezier(0.43, 1.78, 0.61, 0.72), -webkit-transform 0.4s cubic-bezier(0.43, 1.78, 0.61, 0.72);
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  -webkit-transition-delay: 0.3s;
          transition-delay: 0.3s;
}
@media (min-width: 600px) {
  .p-home-yokkaichi__map {
    width: min(67%, 906px);
    position: absolute;
    top: 0;
    right: 0;
    z-index: -1;
  }
}
@media (min-width: 960px) {
  .p-home-yokkaichi__map {
    width: min(70%, 906px);
    margin-left: auto;
    position: relative;
    -webkit-box-ordinal-group: initial;
    -webkit-order: initial;
        -ms-flex-order: initial;
            order: initial;
  }
}
@media (min-width: 1440px) {
  .p-home-yokkaichi__map {
    width: min(70%, 906px);
  }
}
.p-home-yokkaichi__map.is-show::before {
  -webkit-transform: translate(7%, 14%) rotateX(0deg) scale(1);
          transform: translate(7%, 14%) rotateX(0deg) scale(1);
  opacity: 1;
}
.p-home-yokkaichi__map-image::before {
  content: "";
  width: 6%;
  aspect-ratio: 1/1;
  background: #F6B16A;
  border-radius: 50%;
  position: absolute;
  top: 32%;
  right: 38%;
  -webkit-animation: pulse 1.6s ease-in-out infinite;
          animation: pulse 1.6s ease-in-out infinite;
}
.p-home-yokkaichi__map-image::after {
  content: "";
  width: 28.9%;
  aspect-ratio: 1/1;
  background: url(../images/home/img_yokkaichi_here_sp.svg) no-repeat center center/100% auto;
  position: absolute;
  top: 9%;
  right: 47.5%;
}
@media (min-width: 600px) {
  .p-home-yokkaichi__map-image::before {
    width: 4.2%;
    top: 27%;
    right: 29%;
  }
  .p-home-yokkaichi__map-image::after {
    width: 19.7%;
    background: url(../images/home/img_yokkaichi_here.svg) no-repeat center center/100% auto;
    top: 9.9%;
    right: 33%;
  }
}

.p-home-focus {
  border: 1px solid #393938;
  border-top: none;
  border-radius: 0 0 16px 16px;
  position: relative;
}
.p-home-focus::before {
  content: "";
  width: calc(100% + 2px);
  height: 40px;
  position: absolute;
  top: 0px;
  left: -1px;
  pointer-events: none;
  background-color: #AFAFAF;
  -webkit-mask-image: -webkit-gradient(linear, left top, left bottom, from(#000), to(#000)), url(../images/home/deco_section_sp.svg);
  -webkit-mask-image: -webkit-linear-gradient(#000, #000), url(../images/home/deco_section_sp.svg);
          mask-image: -webkit-gradient(linear, left top, left bottom, from(#000), to(#000)), url(../images/home/deco_section_sp.svg);
          mask-image: linear-gradient(#000, #000), url(../images/home/deco_section_sp.svg);
  -webkit-mask-repeat: no-repeat, repeat-x;
          mask-repeat: no-repeat, repeat-x;
  -webkit-mask-position: 0 0, top center;
          mask-position: 0 0, top center;
  -webkit-mask-size: 100% 100%, 720px auto;
          mask-size: 100% 100%, 720px auto;
  -webkit-mask-composite: xor;
          mask-composite: exclude;
}
.p-home-focus::after {
  content: "";
  width: calc(100% + 2px);
  height: 40px;
  position: absolute;
  top: 0px;
  left: -1px;
  background: url(../images/home/deco_section_sp.svg) repeat top center/720px auto;
  z-index: -1;
}
@media (min-width: 600px) {
  .p-home-focus {
    border-width: 2px;
    border-radius: 0 0 32px 32px;
  }
  .p-home-focus::before {
    width: calc(100% + 4px);
    left: -2px;
    height: 60px;
    -webkit-mask-image: -webkit-gradient(linear, left top, left bottom, from(#000), to(#000)), url(../images/home/deco_section.svg);
    -webkit-mask-image: -webkit-linear-gradient(#000, #000), url(../images/home/deco_section.svg);
            mask-image: -webkit-gradient(linear, left top, left bottom, from(#000), to(#000)), url(../images/home/deco_section.svg);
            mask-image: linear-gradient(#000, #000), url(../images/home/deco_section.svg);
    -webkit-mask-size: 100% 100%, 1774px auto;
            mask-size: 100% 100%, 1774px auto;
  }
  .p-home-focus::after {
    content: "";
    width: calc(100% + 4px);
    height: 60px;
    background: url(../images/home/deco_section.svg) repeat top center/1774px auto;
    position: absolute;
    top: 0px;
    left: -2px;
  }
}
.p-home-focus__lead {
  padding-top: 56px;
  text-align: center;
  position: relative;
  position: relative;
  -webkit-perspective: 1000px;
          perspective: 1000px;
  -webkit-transform-style: preserve-3d;
          transform-style: preserve-3d;
}
.p-home-focus__lead::before {
  content: "";
  width: min(25%, 303px);
  aspect-ratio: 303/305;
  background: url(../images/home/img_focus_illust-left.svg) no-repeat center center/100% auto;
  position: absolute;
  top: 17%;
  left: 0;
  -webkit-transform: translate(-22%, 0) rotateX(90deg) scale(0.5);
          transform: translate(-22%, 0) rotateX(90deg) scale(0.5);
  opacity: 0;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  will-change: transform, opacity;
  -webkit-transition: opacity 0.1s ease, -webkit-transform 0.4s cubic-bezier(0.43, 1.78, 0.61, 0.72);
  transition: opacity 0.1s ease, -webkit-transform 0.4s cubic-bezier(0.43, 1.78, 0.61, 0.72);
  transition: opacity 0.1s ease, transform 0.4s cubic-bezier(0.43, 1.78, 0.61, 0.72);
  transition: opacity 0.1s ease, transform 0.4s cubic-bezier(0.43, 1.78, 0.61, 0.72), -webkit-transform 0.4s cubic-bezier(0.43, 1.78, 0.61, 0.72);
}
.p-home-focus__lead::after {
  content: "";
  width: min(25%, 276px);
  aspect-ratio: 276/330;
  background: url(../images/home/img_focus_illust-right.svg) no-repeat center center/100% auto;
  position: absolute;
  top: 13%;
  right: -6%;
  -webkit-transform: rotateX(90deg) scale(0.5);
          transform: rotateX(90deg) scale(0.5);
  opacity: 0;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  will-change: transform, opacity;
  -webkit-transition: opacity 0.1s ease, -webkit-transform 0.4s cubic-bezier(0.43, 1.78, 0.61, 0.72);
  transition: opacity 0.1s ease, -webkit-transform 0.4s cubic-bezier(0.43, 1.78, 0.61, 0.72);
  transition: opacity 0.1s ease, transform 0.4s cubic-bezier(0.43, 1.78, 0.61, 0.72);
  transition: opacity 0.1s ease, transform 0.4s cubic-bezier(0.43, 1.78, 0.61, 0.72), -webkit-transform 0.4s cubic-bezier(0.43, 1.78, 0.61, 0.72);
  -webkit-transition-delay: 0.2s;
          transition-delay: 0.2s;
}
@media (min-width: 600px) {
  .p-home-focus__lead {
    padding-top: 112px;
  }
  .p-home-focus__lead::before {
    top: 0;
    left: 0;
    -webkit-transform: translate(-16%, 30%) rotateX(90deg) scale(0.5);
            transform: translate(-16%, 30%) rotateX(90deg) scale(0.5);
  }
  .p-home-focus__lead::after {
    top: auto;
    bottom: 0;
    right: 0;
    -webkit-transform: translate(29%, 25%) rotateX(90deg) scale(0.5);
            transform: translate(29%, 25%) rotateX(90deg) scale(0.5);
    z-index: -1;
  }
}
@media (min-width: 960px) {
  .p-home-focus__lead::after {
    -webkit-transform: translate(29%, 10%) rotateX(90deg) scale(0.5);
            transform: translate(29%, 10%) rotateX(90deg) scale(0.5);
  }
}
.p-home-focus__lead.is-show::before {
  -webkit-transform: translate(-22%, 0) rotateX(0deg) scale(1);
          transform: translate(-22%, 0) rotateX(0deg) scale(1);
  opacity: 1;
}
.p-home-focus__lead.is-show::after {
  -webkit-transform: rotateX(0deg) scale(1);
          transform: rotateX(0deg) scale(1);
  opacity: 1;
}
@media (min-width: 600px) {
  .p-home-focus__lead.is-show::before {
    -webkit-transform: translate(-16%, 30%) rotateX(0deg) scale(1);
            transform: translate(-16%, 30%) rotateX(0deg) scale(1);
    opacity: 1;
  }
  .p-home-focus__lead.is-show::after {
    -webkit-transform: translate(29%, 25%) rotateX(0deg) scale(1);
            transform: translate(29%, 25%) rotateX(0deg) scale(1);
  }
}
@media (min-width: 960px) {
  .p-home-focus__lead.is-show::after {
    -webkit-transform: translate(29%, 10%) rotateX(0deg) scale(1);
            transform: translate(29%, 10%) rotateX(0deg) scale(1);
  }
}
.p-home-focus__eyebrow {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 18;
}
.p-home-focus__eyebrow *,
.p-home-focus__eyebrow *::before,
.p-home-focus__eyebrow *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-home-focus__eyebrow {
  font-weight: 700;
  font-family: "Onest", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  color: #38A79A;
  line-height: 1;
}
.p-home-focus__title {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 18;
  --max-font-size: 24;
}
.p-home-focus__title *,
.p-home-focus__title *::before,
.p-home-focus__title *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-home-focus__title::before {
  content: attr(data-en);
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 40;
  --max-font-size: 96;
}
.p-home-focus__title::before *,
.p-home-focus__title::before *::before,
.p-home-focus__title::before *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-home-focus__title::before {
  font-family: "Chubbo", sans-serif;
  font-weight: 500;
  font-style: normal;
  line-height: 1.5;
  display: block;
}
.p-home-focus__caption {
  font-weight: 700;
  text-align: left;
  list-style: 1.75;
  margin-top: 24px;
}
@media (min-width: 600px) {
  .p-home-focus__caption {
    text-align: center;
    width: min(100%, 540px);
    margin: 40px auto 0 auto;
  }
}
.p-home-focus__button {
  margin-top: 40px;
}
.p-home-focus__button span {
  pointer-events: none;
}
.p-home-focus__list {
  margin-top: 32px;
  border-top: 1px solid #393938;
  padding: 0 16px;
}
@media (min-width: 600px) {
  .p-home-focus__list {
    margin-top: 56px;
    border-width: 2px;
    padding: 0 40px;
  }
}
@media (min-width: 960px) {
  .p-home-focus__list {
    padding: 0 60px;
  }
}
.p-home-focus__swiper {
  margin: 0 auto;
  overflow: hidden;
  position: relative;
}
.p-home-focus__swiper::before {
  content: "";
  width: 1px;
  height: 100%;
  background: #393938;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 5;
}
.p-home-focus__swiper::after {
  content: "";
  width: 1px;
  height: 100%;
  background: #393938;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 5;
}
@media (min-width: 600px) {
  .p-home-focus__swiper::before {
    width: 2px;
  }
  .p-home-focus__swiper::after {
    width: 2px;
  }
}
.p-home-focus__swiper-wrapper {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.p-home-focus__swiper-slide {
  height: auto;
}
@media (min-width: 600px) {
  .p-home-focus__swiper-slide {
    border-right: 1px solid #393938;
  }
}
.p-home-focus__swiper-link {
  padding: 16px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%;
}
.p-home-focus__swiper-link.--color01 {
  background: #F6B16A;
}
.p-home-focus__swiper-link.--color02 {
  background: #38B779;
}
.p-home-focus__swiper-link.--color03 {
  background: #38A79A;
}
@media (min-width: 600px) {
  .p-home-focus__swiper-link {
    padding: 32px;
  }
}
@media (min-width: 960px) {
  .p-home-focus__swiper-link {
    padding: 56px;
  }
}
.p-home-focus__swiper-image {
  padding: 80px 0 0 0;
  position: relative;
}
@media (min-width: 960px) {
  .p-home-focus__swiper-image {
    padding: 80px 56px 0 0;
  }
}
.p-home-focus__image {
  width: 100%;
  aspect-ratio: 644/430;
  margin: 0;
  border: 1px solid #393938;
  border-radius: 8px;
  overflow: hidden;
}
.p-home-focus__image img {
  max-width: initial;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-home-focus__image-caption {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 15;
  --max-font-size: 24;
}
.p-home-focus__image-caption *,
.p-home-focus__image-caption *::before,
.p-home-focus__image-caption *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-home-focus__image-caption {
  font-weight: 700;
  line-height: 1.6;
  width: 90%;
  margin: 0 auto;
  padding: 16px;
  background: #FFFFFF;
  border: 1px solid #393938;
  border-radius: 4px;
  z-index: 10;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}
.p-home-focus__image-caption::before {
  content: "";
  width: 20px;
  aspect-ratio: 27/22;
  background: url(../images/common/bubble_tail.svg) no-repeat center center/100% auto;
  margin: 0 auto;
  position: absolute;
  bottom: -15px;
  left: 0;
  right: 0;
}
.p-home-focus__image-caption p {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
@media (min-width: 960px) {
  .p-home-focus__image-caption {
    margin: 24px auto 0 auto;
    width: min(90%, 576px);
    padding: 24px;
    left: auto;
  }
  .p-home-focus__image-caption::before {
    width: 27px;
    bottom: -22px;
  }
}
.p-home-focus__meta {
  font-family: "Darker Grotesque", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  padding: 8px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  position: absolute;
  bottom: 0;
}
@media (min-width: 600px) {
  .p-home-focus__meta {
    padding: 16px;
  }
}
@media (min-width: 960px) {
  .p-home-focus__meta {
    padding: 24px;
  }
}
.p-home-focus__meta-title, .p-home-focus__meta-date {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 24;
}
.p-home-focus__meta-title *,
.p-home-focus__meta-title *::before,
.p-home-focus__meta-title *::after, .p-home-focus__meta-date *,
.p-home-focus__meta-date *::before,
.p-home-focus__meta-date *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-home-focus__meta-title, .p-home-focus__meta-date {
  min-height: 20px;
  line-height: 1.6;
  padding: 0 8px;
  background: #FFFFFF;
  border: 1px solid #393938;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (min-width: 600px) {
  .p-home-focus__meta-title, .p-home-focus__meta-date {
    min-height: 34px;
    padding: 0 16px;
    line-height: 1.4;
  }
}
.p-home-focus__meta-number {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 20;
}
.p-home-focus__meta-number *,
.p-home-focus__meta-number *::before,
.p-home-focus__meta-number *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-home-focus__meta-number {
  line-height: 1.2;
  text-align: center;
  min-width: 31px;
  height: 31px;
  background: #FFFFFF;
  border: 1px solid #393938;
  border-radius: 50%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (min-width: 600px) {
  .p-home-focus__meta-number {
    line-height: 1;
  }
}
.p-home-focus__swiper-title {
  color: #FFFFFF;
  display: none;
}
@media (min-width: 960px) {
  .p-home-focus__swiper-title {
    line-height: 1.75;
    margin-top: 24px;
    padding-right: 56px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
  }
}
.p-home-focus__terms-list {
  margin-top: 16px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 8px;
}
.p-home-focus__terms-item {
  font-size: 12px;
  color: #696969;
  padding: 3px 16px 4px 16px;
  background: #FFFFFF;
  border-radius: 999px;
}
.p-home-focus__none {
  padding-bottom: 56px;
}
@media (min-width: 600px) {
  .p-home-focus__none {
    padding-bottom: 112px;
  }
}

.p-home-news {
  padding: 56px 0;
  background: #FFFBF4;
  border: 1px solid #393938;
  border-radius: 16px;
  position: relative;
  z-index: 4;
}
@media (min-width: 600px) {
  .p-home-news {
    padding: 124px 0;
    border-width: 2px;
    border-radius: 32px;
  }
}
.p-home-news__lead {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 24px;
}
@media (min-width: 600px) {
  .p-home-news__lead {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 48px;
  }
}
.p-home-news__title {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 18;
  --max-font-size: 24;
}
.p-home-news__title *,
.p-home-news__title *::before,
.p-home-news__title *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-home-news__title::before {
  content: attr(data-en);
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 40;
  --max-font-size: 96;
}
.p-home-news__title::before *,
.p-home-news__title::before *::before,
.p-home-news__title::before *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-home-news__title::before {
  font-family: "Chubbo", sans-serif;
  font-weight: 500;
  font-style: normal;
  line-height: 1.3;
  display: block;
}
.p-home-news__caption {
  font-weight: 700;
  line-height: 1.75;
  width: min(100%, 784px);
}
.p-home-news__list {
  margin-top: 32px;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
}
@media (max-width: 600px) {
  .p-home-news__list {
    border-top: 1px solid #AFAFAF;
  }
}
@media (min-width: 600px) {
  .p-home-news__list {
    margin-top: 40px;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
  }
}
@media (min-width: 960px) {
  .p-home-news__list {
    gap: 32px;
  }
}
@media (min-width: 1440px) {
  .p-home-news__list {
    gap: 40px;
  }
}
@media (max-width: 600px) {
  .p-home-news__post {
    border-bottom: 1px solid #AFAFAF;
  }
}
.p-home-news__post-link {
  padding: 24px 0;
  display: grid;
  grid-template-columns: 104px auto;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
}
@media (min-width: 600px) {
  .p-home-news__post-link {
    padding: 0;
    display: block;
  }
}
@media (hover: hover) and (pointer: fine) {
  .p-home-news__post-link:hover {
    opacity: 0.7;
  }
  .p-home-news__post-link:hover .p-home-news__post-image img {
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .p-home-news__post-link:hover {
    opacity: 0.7;
  }
  .p-home-news__post-link:hover .p-home-news__post-image img {
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }
}
.p-home-news__post-image {
  width: 100%;
  aspect-ratio: 373/249;
  border: 1px solid #393938;
  border-radius: 8px;
  overflow: hidden;
}
.p-home-news__post-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
  transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
}
.p-home-news__post-meta {
  font-family: "Darker Grotesque", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  margin-top: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 8px;
}
@media (min-width: 600px) {
  .p-home-news__post-meta {
    margin-top: 16px;
    gap: 8px 16px;
  }
}
.p-home-news__post-category {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
}
.p-home-news__post-category *,
.p-home-news__post-category *::before,
.p-home-news__post-category *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-home-news__post-category {
  color: #FFFFFF;
  text-align: center;
  min-width: 86px;
  border-radius: 999px;
}
.p-home-news__post-category.--event {
  background: #F6B16A;
}
.p-home-news__post-category.--other {
  background: #2E7FBA;
}
.p-home-news__post-category.--trip {
  background: #38A79A;
}
.p-home-news__post-date {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
}
.p-home-news__post-date *,
.p-home-news__post-date *::before,
.p-home-news__post-date *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-home-news__post-date {
  font-weight: 500;
}
.p-home-news__post-title {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 20;
}
.p-home-news__post-title *,
.p-home-news__post-title *::before,
.p-home-news__post-title *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-home-news__post-title {
  font-weight: 700;
  margin-top: 8px;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
@media (min-width: 600px) {
  .p-home-news__post-title {
    margin-top: 24px;
  }
}
.p-home-news__button {
  text-align: center;
  margin-top: 32px;
}
@media (min-width: 600px) {
  .p-home-news__button {
    margin-top: 48px;
  }
}

.p-home-spot {
  background: #FFFFFF;
  border: 1px solid #393938;
  border-radius: 16px;
  position: relative;
  overflow: hidden;
  z-index: 0;
}
@media (min-width: 600px) {
  .p-home-spot {
    border-width: 2px;
    border-radius: 32px 32px;
  }
}
.p-home-spot::before {
  content: "";
  width: 1px;
  height: 100%;
  background: #393938;
  position: absolute;
  top: 0;
  left: 16px;
  z-index: 10;
}
@media (min-width: 600px) {
  .p-home-spot::before {
    width: 2px;
    left: 32px;
  }
}
@media (min-width: 960px) {
  .p-home-spot::before {
    left: 60px;
  }
}
.p-home-spot::after {
  content: "";
  width: 1px;
  height: 100%;
  background: #393938;
  position: absolute;
  top: 0;
  right: 16px;
  z-index: 10;
}
@media (min-width: 600px) {
  .p-home-spot::after {
    width: 2px;
    right: 32px;
  }
}
@media (min-width: 960px) {
  .p-home-spot::after {
    right: 60px;
  }
}
.p-home-spot__inner {
  width: calc(100% - 32px);
  margin: 0 auto;
  padding: 56px 0 0 0;
}
@media (min-width: 600px) {
  .p-home-spot__inner {
    padding: 124px 0 0 0;
    width: calc(100% - 64px);
  }
}
@media (min-width: 960px) {
  .p-home-spot__inner {
    width: calc(100% - 120px);
  }
}
.p-home-spot__heading {
  text-align: center;
  position: relative;
  -webkit-perspective: 1000px;
          perspective: 1000px;
  -webkit-transform-style: preserve-3d;
          transform-style: preserve-3d;
}
.p-home-spot__heading::before {
  content: "";
  width: min(16%, 192px);
  aspect-ratio: 192/213;
  background: url(../images/home/img_spot_illust-left.svg) no-repeat center center/100% auto;
  position: absolute;
  left: 0;
  -webkit-transform: translate(25%, 90%) rotateX(90deg) scale(0.5);
          transform: translate(25%, 90%) rotateX(90deg) scale(0.5);
  opacity: 0;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  will-change: transform, opacity;
  -webkit-transition: opacity 0.1s ease, -webkit-transform 0.4s cubic-bezier(0.43, 1.78, 0.61, 0.72);
  transition: opacity 0.1s ease, -webkit-transform 0.4s cubic-bezier(0.43, 1.78, 0.61, 0.72);
  transition: opacity 0.1s ease, transform 0.4s cubic-bezier(0.43, 1.78, 0.61, 0.72);
  transition: opacity 0.1s ease, transform 0.4s cubic-bezier(0.43, 1.78, 0.61, 0.72), -webkit-transform 0.4s cubic-bezier(0.43, 1.78, 0.61, 0.72);
}
.p-home-spot__heading::after {
  content: "";
  width: min(27%, 354px);
  aspect-ratio: 354/426;
  background: url(../images/home/img_spot_illust-right.svg) no-repeat center center/100% auto;
  position: absolute;
  right: 0;
  -webkit-transform: translate(-8px, -65%) rotateX(90deg) scale(0.5);
          transform: translate(-8px, -65%) rotateX(90deg) scale(0.5);
  opacity: 0;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  will-change: transform, opacity;
  -webkit-transition: opacity 0.1s ease, -webkit-transform 0.4s cubic-bezier(0.43, 1.78, 0.61, 0.72);
  transition: opacity 0.1s ease, -webkit-transform 0.4s cubic-bezier(0.43, 1.78, 0.61, 0.72);
  transition: opacity 0.1s ease, transform 0.4s cubic-bezier(0.43, 1.78, 0.61, 0.72);
  transition: opacity 0.1s ease, transform 0.4s cubic-bezier(0.43, 1.78, 0.61, 0.72), -webkit-transform 0.4s cubic-bezier(0.43, 1.78, 0.61, 0.72);
  -webkit-transition-delay: 0.3s;
          transition-delay: 0.3s;
}
@media (min-width: 600px) {
  .p-home-spot__heading::before {
    -webkit-transform: translate(47%, 10%) rotateX(90deg) scale(0.5);
            transform: translate(47%, 10%) rotateX(90deg) scale(0.5);
  }
  .p-home-spot__heading::after {
    -webkit-transform: translate(-16px, -80%) rotateX(90deg) scale(0.5);
            transform: translate(-16px, -80%) rotateX(90deg) scale(0.5);
    z-index: -1;
  }
}
@media (min-width: 960px) {
  .p-home-spot__heading::before {
    -webkit-transform: translate(47%, -10%) rotateX(90deg) scale(0.5);
            transform: translate(47%, -10%) rotateX(90deg) scale(0.5);
  }
  .p-home-spot__heading::after {
    -webkit-transform: translate(-24px, -50%) rotateX(90deg) scale(0.5);
            transform: translate(-24px, -50%) rotateX(90deg) scale(0.5);
  }
}
.p-home-spot__heading.is-show::before {
  -webkit-transform: translate(25%, 90%) rotateX(0deg) scale(1);
          transform: translate(25%, 90%) rotateX(0deg) scale(1);
  opacity: 1;
}
.p-home-spot__heading.is-show::after {
  -webkit-transform: translate(-8px, -65%) rotateX(0deg) scale(1);
          transform: translate(-8px, -65%) rotateX(0deg) scale(1);
  opacity: 1;
}
@media (min-width: 600px) {
  .p-home-spot__heading.is-show::before {
    -webkit-transform: translate(47%, 10%) rotateX(0deg) scale(1);
            transform: translate(47%, 10%) rotateX(0deg) scale(1);
  }
  .p-home-spot__heading.is-show::after {
    -webkit-transform: translate(-16px, -80%) rotateX(0deg) scale(1);
            transform: translate(-16px, -80%) rotateX(0deg) scale(1);
  }
}
@media (min-width: 960px) {
  .p-home-spot__heading.is-show::before {
    -webkit-transform: translate(47%, -10%) rotateX(0deg) scale(1);
            transform: translate(47%, -10%) rotateX(0deg) scale(1);
  }
  .p-home-spot__heading.is-show::after {
    -webkit-transform: translate(-24px, -50%) rotateX(0deg) scale(1);
            transform: translate(-24px, -50%) rotateX(0deg) scale(1);
  }
}
.p-home-spot__eyebrow {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 18;
  --max-font-size: 24;
}
.p-home-spot__eyebrow *,
.p-home-spot__eyebrow *::before,
.p-home-spot__eyebrow *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-home-spot__eyebrow {
  font-weight: 700;
  text-align: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
}
.p-home-spot__eyebrow::before, .p-home-spot__eyebrow::after {
  content: "";
  width: min(5%, 13px);
  aspect-ratio: 33/56;
  background: url(../images/home/deco_ttl_spot.svg) no-repeat center center/100% auto;
}
.p-home-spot__eyebrow::after {
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
}
@media (min-width: 600px) {
  .p-home-spot__eyebrow {
    gap: 24px;
  }
  .p-home-spot__eyebrow::before, .p-home-spot__eyebrow::after {
    width: min(3%, 33px);
  }
}
.p-home-spot__title {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 18;
  --max-font-size: 24;
}
.p-home-spot__title *,
.p-home-spot__title *::before,
.p-home-spot__title *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-home-spot__title {
  text-align: center;
}
.p-home-spot__title::before {
  content: attr(data-en);
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 40;
  --max-font-size: 96;
}
.p-home-spot__title::before *,
.p-home-spot__title::before *::before,
.p-home-spot__title::before *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-home-spot__title::before {
  font-family: "Chubbo", sans-serif;
  font-weight: 500;
  font-style: normal;
  line-height: 1.5;
  display: block;
}
.p-home-spot__list {
  margin-top: 96px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  position: relative;
}
@media (min-width: 960px) {
  .p-home-spot__list {
    grid-template-columns: repeat(3, 1fr);
  }
}
.p-home-spot__card {
  margin-top: -8px;
}
@media (min-width: 960px) {
  .p-home-spot__card {
    margin-left: 1px;
  }
}
@media (min-width: 960px) {
  .p-home-spot__card:nth-child(3n+2) {
    margin-left: -1px;
    margin-top: 80px;
  }
}
@media (min-width: 960px) {
  .p-home-spot__card:nth-child(3n+3) {
    margin-left: -1px;
    margin-top: 160px;
  }
}
.p-home-spot__card:has([data-en=Tourism]) {
  margin-left: -1px;
}
.p-home-spot__card:has([data-en=Shop]) {
  margin-left: -1px;
}
.p-home-spot__card:has([data-en=Stay]) {
  margin-left: -1px;
}
.p-home-spot__card:has(.--other1) {
  margin-left: -1px;
}
.p-home-spot__card:has(.--other2) {
  margin-left: -1px;
  -webkit-box-ordinal-group: 11;
  -webkit-order: 10;
      -ms-flex-order: 10;
          order: 10;
  z-index: 3;
}
@media (min-width: 960px) {
  .p-home-spot__card:has(.--other2) {
    margin-left: 0;
    -webkit-box-ordinal-group: initial;
    -webkit-order: initial;
        -ms-flex-order: initial;
            order: initial;
  }
}
.p-home-spot__link {
  padding: 16px 12px 56px 12px;
  border: 1px solid #393938;
  border-bottom: none;
  border-radius: 0 8px 0 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  position: relative;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}
@media (min-width: 600px) {
  .p-home-spot__link {
    padding: 24px 24px 96px 24px;
  }
}
.p-home-spot__link::after {
  content: "";
  width: calc(100% + 1px);
  height: 100px;
  border-left: 1px solid #393938;
  position: absolute;
  left: -1px;
  bottom: -100px;
  z-index: 0;
}
@media (hover: hover) and (pointer: fine) {
  .p-home-spot__link:hover {
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px);
  }
  .p-home-spot__link:hover .p-home-spot__image img {
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .p-home-spot__link:hover {
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px);
  }
  .p-home-spot__link:hover .p-home-spot__image img {
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }
}
.p-home-spot__link[data-en=Gourmet] {
  background: #F6B16A;
}
.p-home-spot__link[data-en=Gourmet]::after {
  background: #F6B16A;
}
.p-home-spot__link[data-en=Gourmet] .p-home-spot__label {
  background: #F6B16A;
  border-bottom-color: #F6B16A;
}
.p-home-spot__link[data-en=Gourmet] .p-home-spot__label::before {
  background-image: url(../images/sitemap/ic_gourmet.svg);
}
.p-home-spot__link[data-en=Tourism] {
  background: #3AA69A;
}
.p-home-spot__link[data-en=Tourism]::after {
  background: #3AA69A;
}
.p-home-spot__link[data-en=Tourism] .p-home-spot__label {
  background: #3AA69A;
  border-bottom-color: #3AA69A;
}
.p-home-spot__link[data-en=Tourism] .p-home-spot__label::before {
  background-image: url(../images/sitemap/ic_tourism.svg);
}
@media (min-width: 960px) {
  .p-home-spot__link[data-en=Play] {
    margin-top: -180px;
  }
}
.p-home-spot__link[data-en=Play] {
  background: #38B779;
}
.p-home-spot__link[data-en=Play]::after {
  background: #38B779;
}
.p-home-spot__link[data-en=Play] .p-home-spot__label {
  background: #38B779;
  border-bottom-color: #38B779;
}
.p-home-spot__link[data-en=Play] .p-home-spot__label::before {
  background-image: url(../images/sitemap/ic_play.svg);
}
@media (min-width: 960px) {
  .p-home-spot__link[data-en=Shop] {
    margin-top: -180px;
  }
}
.p-home-spot__link[data-en=Shop] {
  background: #A8A1F8;
}
.p-home-spot__link[data-en=Shop]::after {
  background: #A8A1F8;
}
.p-home-spot__link[data-en=Shop] .p-home-spot__label {
  background: #A8A1F8;
  border-bottom-color: #A8A1F8;
}
.p-home-spot__link[data-en=Shop] .p-home-spot__label::before {
  background-image: url(../images/sitemap/ic_shopping.svg);
}
@media (min-width: 960px) {
  .p-home-spot__link[data-en=Event] {
    margin-top: -180px;
  }
}
.p-home-spot__link[data-en=Event] {
  background: #2E7FBA;
}
.p-home-spot__link[data-en=Event]::after {
  background: #2E7FBA;
}
.p-home-spot__link[data-en=Event] .p-home-spot__label {
  background: #2E7FBA;
  border-bottom-color: #2E7FBA;
}
.p-home-spot__link[data-en=Event] .p-home-spot__label::before {
  background-image: url(../images/sitemap/ic_event.svg);
}
@media (min-width: 960px) {
  .p-home-spot__link[data-en=Stay] {
    margin-top: -180px;
  }
}
.p-home-spot__link[data-en=Stay] {
  background: #9AD6EB;
}
.p-home-spot__link[data-en=Stay]::after {
  background: #9AD6EB;
}
.p-home-spot__link[data-en=Stay] .p-home-spot__label {
  background: #9AD6EB;
  border-bottom-color: #9AD6EB;
}
.p-home-spot__link[data-en=Stay] .p-home-spot__label::before {
  background-image: url(../images/sitemap/ic_stay.svg);
}
.p-home-spot__link[data-en=Transportation] {
  background: #E3A7A8;
  padding: 16px 12px 24px 12px;
}
@media (min-width: 600px) {
  .p-home-spot__link[data-en=Transportation] {
    padding: 24px;
  }
}
@media (min-width: 960px) {
  .p-home-spot__link[data-en=Transportation] {
    margin-top: -180px;
  }
}
.p-home-spot__link[data-en=Transportation]::after {
  background: #E3A7A8;
}
.p-home-spot__link[data-en=Transportation] .p-home-spot__label {
  background: #E3A7A8;
  border-bottom-color: #E3A7A8;
}
.p-home-spot__link[data-en=Transportation] .p-home-spot__label::before {
  background-image: url(../images/sitemap/ic_transportation.svg);
}
.p-home-spot__link.--other1, .p-home-spot__link.--other2 {
  background: #E6E6E6;
  pointer-events: none;
}
.p-home-spot__link.--other1::after, .p-home-spot__link.--other2::after {
  background: #E6E6E6;
}
.p-home-spot__link.--other1 .p-home-spot__label, .p-home-spot__link.--other2 .p-home-spot__label {
  background: #E6E6E6;
  border-bottom-color: #E6E6E6;
}
.p-home-spot__link.--other1 .p-home-spot__label::before, .p-home-spot__link.--other2 .p-home-spot__label::before {
  display: none;
}
.p-home-spot__link.--other1 .p-home-spot__card-title::after, .p-home-spot__link.--other2 .p-home-spot__card-title::after {
  display: none;
}
.p-home-spot__link.--other2 {
  padding: 16px 12px 24px 12px;
}
@media (min-width: 600px) {
  .p-home-spot__link.--other2 {
    padding: 24px;
  }
}
@media (min-width: 960px) {
  .p-home-spot__link.--other2 {
    margin-top: -180px;
    padding: 24px 24px 96px 24px;
  }
}
.p-home-spot__label {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 12;
  --max-font-size: 20;
}
.p-home-spot__label *,
.p-home-spot__label *::before,
.p-home-spot__label *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-home-spot__label {
  font-family: "Onest", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  color: #FFFFFF;
  min-width: 154px;
  min-height: 30px;
  padding: 0 12px;
  border-radius: 4px 32px 0 0;
  border: 1px solid #393938;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 8px;
  position: absolute;
  top: 0px;
  left: -1px;
  -webkit-transform: translateY(-30px);
          transform: translateY(-30px);
  z-index: 3;
}
.p-home-spot__label::before {
  content: "";
  min-width: 28px;
  aspect-ratio: 1/1;
  background: #FFFFFF no-repeat center center/15px auto;
  border: 1px solid #E6E6E6;
  border-radius: 50%;
  -webkit-transform: translateY(20%);
          transform: translateY(20%);
}
@media (min-width: 600px) {
  .p-home-spot__label {
    min-width: 231px;
    min-height: 56px;
    padding: 0 24px;
    border-radius: 12px 48px 0 0;
    -webkit-transform: translateY(-55px);
            transform: translateY(-55px);
  }
  .p-home-spot__label::before {
    min-width: 42px;
    background-size: 21px auto;
    -webkit-transform: translateY(20%);
            transform: translateY(20%);
  }
}
.p-home-spot__image {
  width: 100%;
  aspect-ratio: 3/2;
  border: 1px solid #393938;
  border-radius: 8px;
  overflow: hidden;
}
.p-home-spot__image img {
  max-width: initial;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
  transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
}
.p-home-spot__card-title {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 13;
  --max-font-size: 16;
}
.p-home-spot__card-title *,
.p-home-spot__card-title *::before,
.p-home-spot__card-title *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-home-spot__card-title {
  color: #FFFFFF;
  margin-top: 8px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.p-home-spot__card-title::before {
  content: attr(data-text);
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 24;
  --max-font-size: 40;
}
.p-home-spot__card-title::before *,
.p-home-spot__card-title::before *::before,
.p-home-spot__card-title::before *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-home-spot__card-title::before {
  line-height: 1.8;
  margin-right: 16px;
}
.p-home-spot__card-title::after {
  content: "";
  min-width: 14px;
  aspect-ratio: 14/16;
  margin-left: 24px;
  background: url(../images/home/ic_spot_arrow.svg) no-repeat center center/100% auto;
  display: block;
}
@media (max-width: 600px) {
  .p-home-spot__card-title {
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
  .p-home-spot__card-title::before {
    width: 40%;
    -webkit-box-ordinal-group: -1;
    -webkit-order: -2;
        -ms-flex-order: -2;
            order: -2;
  }
  .p-home-spot__card-title::after {
    min-width: 11px;
    -webkit-box-ordinal-group: 0;
    -webkit-order: -1;
        -ms-flex-order: -1;
            order: -1;
  }
}

.p-home-scroll-text {
  color: #FFFFFF;
  padding: 8px 0;
  background-color: #AFAFAF;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  position: relative;
}
.p-home-scroll-text::before {
  content: "";
  width: 100%;
  height: 100%;
  background-color: #AFAFAF;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: -2;
}
.p-home-scroll-text::after {
  content: "";
  width: 100%;
  height: 100%;
  background-color: #AFAFAF;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transform: translateY(50%);
          transform: translateY(50%);
  z-index: -2;
}
@media (min-width: 600px) {
  .p-home-scroll-text {
    padding: 20px 0;
  }
}
.p-home-scroll-text__item {
  font-weight: 900;
  white-space: nowrap;
  padding-left: 8px;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  position: relative;
  z-index: 3;
}
.p-home-scroll-text:not(.no-tick) .p-home-scroll-text__item:nth-child(odd) {
  -webkit-animation: MoveLeft var(--tick-duration, 30s) var(--tick-delay, -12s) infinite linear;
          animation: MoveLeft var(--tick-duration, 30s) var(--tick-delay, -12s) infinite linear;
}
.p-home-scroll-text:not(.no-tick) .p-home-scroll-text__item:nth-child(even) {
  -webkit-animation: MoveLeft2 var(--tick-duration, 30s) infinite linear;
          animation: MoveLeft2 var(--tick-duration, 30s) infinite linear;
}
@media (min-width: 600px) {
  .p-home-scroll-text__item {
    padding-left: 32px;
    gap: 32px;
  }
}
.p-home-scroll-text__icon {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.p-home-scroll-text__icon img {
  --start: 0deg;
  width: 32px;
  -webkit-animation: spin linear infinite;
          animation: spin linear infinite;
}
.p-home-scroll-text__icon img.--shop {
  --start: 12deg;
  -webkit-animation-duration: 2s;
          animation-duration: 2s;
}
.p-home-scroll-text__icon img.--event {
  --start: -49deg;
  -webkit-animation-duration: 3s;
          animation-duration: 3s;
}
.p-home-scroll-text__icon img.--stay {
  --start: 131deg;
  -webkit-animation-duration: 2.5s;
          animation-duration: 2.5s;
}
.p-home-scroll-text__icon img.--transportation {
  --start: -174deg;
  -webkit-animation-duration: 2s;
          animation-duration: 2s;
}
.p-home-scroll-text__icon img.--gourmet {
  --start: -29deg;
  -webkit-animation-duration: 2.5s;
          animation-duration: 2.5s;
}
.p-home-scroll-text__icon img.--tourism {
  --start: -47deg;
  -webkit-animation-duration: 2s;
          animation-duration: 2s;
}
.p-home-scroll-text__icon img.--play {
  --start: 134deg;
  -webkit-animation-duration: 1.5s;
          animation-duration: 1.5s;
}
@media (min-width: 600px) {
  .p-home-scroll-text__icon img {
    width: 55px;
  }
}
.p-home-scroll-text__en {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 18;
  --max-font-size: 40;
}
.p-home-scroll-text__en *,
.p-home-scroll-text__en *::before,
.p-home-scroll-text__en *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-home-scroll-text__en {
  font-family: "Onest", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  display: block;
}
.p-home-scroll-text__ja {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 18;
  --max-font-size: 39;
}
.p-home-scroll-text__ja *,
.p-home-scroll-text__ja *::before,
.p-home-scroll-text__ja *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-home-scroll-text__ja {
  display: block;
}

.p-home-instagram {
  padding: 56px 0;
  border: 1px solid #393938;
  border-top: none;
  border-radius: 0 0 16px 16px;
  position: relative;
}
.p-home-instagram::before {
  content: "";
  width: calc(100% + 2px);
  height: 40px;
  position: absolute;
  top: 0px;
  left: -1px;
  pointer-events: none;
  background-color: #AFAFAF;
  -webkit-mask-image: -webkit-gradient(linear, left top, left bottom, from(#000), to(#000)), url(../images/home/deco_section_sp.svg);
  -webkit-mask-image: -webkit-linear-gradient(#000, #000), url(../images/home/deco_section_sp.svg);
          mask-image: -webkit-gradient(linear, left top, left bottom, from(#000), to(#000)), url(../images/home/deco_section_sp.svg);
          mask-image: linear-gradient(#000, #000), url(../images/home/deco_section_sp.svg);
  -webkit-mask-repeat: no-repeat, repeat-x;
          mask-repeat: no-repeat, repeat-x;
  -webkit-mask-position: 0 0, top center;
          mask-position: 0 0, top center;
  -webkit-mask-size: 100% 100%, 720px auto;
          mask-size: 100% 100%, 720px auto;
  -webkit-mask-composite: xor;
          mask-composite: exclude;
}
.p-home-instagram::after {
  content: "";
  width: calc(100% + 2px);
  height: 40px;
  position: absolute;
  top: 0px;
  left: -1px;
  background: url(../images/home/deco_section_sp.svg) repeat top center/720px auto;
  z-index: -1;
}
@media (min-width: 600px) {
  .p-home-instagram {
    padding: 194px 0 124px 0;
    border-width: 2px;
    border-radius: 0 0 32px 32px;
  }
  .p-home-instagram::before {
    width: calc(100% + 4px);
    left: -2px;
    height: 60px;
    -webkit-mask-image: -webkit-gradient(linear, left top, left bottom, from(#000), to(#000)), url(../images/home/deco_section.svg);
    -webkit-mask-image: -webkit-linear-gradient(#000, #000), url(../images/home/deco_section.svg);
            mask-image: -webkit-gradient(linear, left top, left bottom, from(#000), to(#000)), url(../images/home/deco_section.svg);
            mask-image: linear-gradient(#000, #000), url(../images/home/deco_section.svg);
    -webkit-mask-size: 100% 100%, 1774px auto;
            mask-size: 100% 100%, 1774px auto;
  }
  .p-home-instagram::after {
    content: "";
    width: calc(100% + 4px);
    height: 60px;
    background: url(../images/home/deco_section.svg) repeat top center/1774px auto;
    position: absolute;
    top: 0px;
    left: -2px;
  }
}
.p-home-instagram__lead {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 24px;
}
@media (min-width: 600px) {
  .p-home-instagram__lead {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 48px;
  }
}
.p-home-instagram__title {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 40;
  --max-font-size: 72;
}
.p-home-instagram__title *,
.p-home-instagram__title *::before,
.p-home-instagram__title *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-home-instagram__title {
  font-family: "Chubbo", sans-serif;
  font-weight: 500;
  font-style: normal;
}
@media (max-width: 600px) {
  .p-home-instagram__title {
    text-align: center;
  }
}
.p-home-instagram__button {
  text-align: center;
  margin-top: 24px;
}
@media (min-width: 600px) {
  .p-home-instagram__button {
    text-align: left;
    margin-top: 40px;
  }
}
.p-home-instagram__caption {
  font-weight: 700;
  line-height: 1.75;
}
.p-home-instagram__feed {
  margin-top: 56px;
}

.p-home-about {
  background: #FFFBF4;
  padding: 0 0 32px 0;
  border: 1px solid #393938;
  border-radius: 16px;
  position: relative;
  z-index: 0;
}
@media (min-width: 600px) {
  .p-home-about {
    padding: 0 0 80px 0;
    border-width: 2px;
    border-radius: 32px;
  }
}
.p-home-about::before {
  content: "";
  width: 100%;
  height: 84px;
  margin-top: 24px;
  background: url(../images/home/txt_deep-yokkaichi.svg) repeat-x left top/auto 100%;
  -webkit-animation: left-right-sp 10s infinite linear;
          animation: left-right-sp 10s infinite linear;
  z-index: -1;
  display: block;
  position: absolute;
}
@media (min-width: 600px) {
  .p-home-about::before {
    height: 140px;
    margin-top: 68px;
    -webkit-animation: left-right-tab 10s infinite linear;
            animation: left-right-tab 10s infinite linear;
  }
}
@media (min-width: 960px) {
  .p-home-about::before {
    height: 201px;
    -webkit-animation: left-right 10s infinite linear;
            animation: left-right 10s infinite linear;
  }
}
.p-home-about__inner {
  margin-top: 80px;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
}
@media (min-width: 600px) {
  .p-home-about__inner {
    margin-top: 160px;
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 960px) {
  .p-home-about__inner {
    margin-top: 200px;
  }
}
.p-home-about__card {
  padding: 24px;
  background: #EDEAE4;
  border: 1px solid #393938;
  border-radius: 16px;
}
@media (min-width: 600px) {
  .p-home-about__card {
    border-width: 2px;
    border-radius: 32px;
  }
}
@media (min-width: 960px) {
  .p-home-about__card {
    padding: 24px 24px 48px 48px;
  }
}
@media (min-width: 600px) {
  .p-home-about__card:first-child {
    margin-right: -1px;
  }
}
@media (max-width: 600px) {
  .p-home-about__card:last-child {
    margin-top: -1px;
  }
}
@media (min-width: 600px) {
  .p-home-about__card:last-child {
    margin-left: -1px;
  }
}
.p-home-about__title {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 18;
  --max-font-size: 24;
}
.p-home-about__title *,
.p-home-about__title *::before,
.p-home-about__title *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-home-about__title {
  font-weight: 500;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.p-home-about__title::after {
  content: "";
  min-width: 24px;
  aspect-ratio: 1/1;
}
@media (min-width: 600px) {
  .p-home-about__title::after {
    min-width: 40px;
  }
}
@media (min-width: 960px) {
  .p-home-about__title::after {
    min-width: 64px;
  }
}
.p-home-about__caption {
  font-size: 14px;
  line-height: 1.7;
  font-weight: 700;
  width: min(100%, 350px);
  margin-top: 16px;
}
@media (min-width: 600px) {
  .p-home-about__caption {
    margin-top: 24px;
  }
}
.p-home-about__button {
  margin-top: 24px;
}
.p-home-about__button a {
  background: #FFFFFF;
}
@media (min-width: 600px) {
  .p-home-about__button {
    margin-top: 32px;
  }
}
.p-home-about .--about .p-home-about__title::after {
  background: url(../images/home/ic_about.svg) no-repeat center center/100% auto;
}
.p-home-about .--about .c-button::after {
  background: #FC642C;
}
@media (hover: hover) and (pointer: fine) {
  .p-home-about .--about .c-button:hover::after {
    background: #FFFFFF;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .p-home-about .--about .c-button:hover::after {
    background: #FFFFFF;
  }
}
.p-home-about .--guide .p-home-about__title::after {
  background: url(../images/home/ic_guide.svg) no-repeat center center/100% auto;
}
.p-home-about .--guide .c-button::after {
  background: #1056BF;
}
@media (hover: hover) and (pointer: fine) {
  .p-home-about .--guide .c-button:hover::after {
    background: #FFFFFF;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .p-home-about .--guide .c-button:hover::after {
    background: #FFFFFF;
  }
}

.p-home-related {
  border: 1px solid #393938;
  border-radius: 16px;
  position: relative;
}
@media (min-width: 600px) {
  .p-home-related {
    border-width: 2px;
    border-radius: 32px;
  }
}
.p-home-related::before {
  content: "";
  width: 1px;
  height: 100%;
  background: #393938;
  position: absolute;
  top: 0;
  left: 16px;
}
@media (min-width: 600px) {
  .p-home-related::before {
    width: 2px;
    left: 40px;
  }
}
@media (min-width: 960px) {
  .p-home-related::before {
    left: 60px;
  }
}
.p-home-related::after {
  content: "";
  width: 1px;
  height: 100%;
  background: #393938;
  position: absolute;
  top: 0;
  right: 16px;
}
@media (min-width: 600px) {
  .p-home-related::after {
    width: 2px;
    right: 40px;
  }
}
@media (min-width: 960px) {
  .p-home-related::after {
    right: 60px;
  }
}
.p-home-related__inner {
  padding: 40px 0 56px 0;
  position: relative;
}
.p-home-related__inner::after {
  content: "";
  width: min(100%, 102px);
  aspect-ratio: 212/131;
  background: url(../images/home/deco_rhombus.png) no-repeat center center/100% auto;
  position: absolute;
  top: 0;
  right: 32px;
  -webkit-transform: translateY(-51.5%);
          transform: translateY(-51.5%);
  z-index: 2;
}
@media (min-width: 600px) {
  .p-home-related__inner::after {
    right: 0;
    width: min(100%, 212px);
  }
}
@media (min-width: 600px) {
  .p-home-related__inner {
    padding: 112px 0 160px 0;
  }
}
.p-home-related__title {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 24;
  --max-font-size: 40;
}
.p-home-related__title *,
.p-home-related__title *::before,
.p-home-related__title *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-home-related__banner-lg {
  margin-top: 24px;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 16px;
}
.p-home-related__banner-lg .p-home-related__banner-link {
  background: #FFFFFF;
  width: 100%;
  aspect-ratio: 580/124;
  border: 1px solid #393938;
  border-radius: 8px;
  display: block;
  overflow: hidden;
}
@media (min-width: 600px) {
  .p-home-related__banner-lg {
    margin-top: 40px;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
  }
}
.p-home-related__banner-lg img {
  -o-object-fit: cover;
     object-fit: cover;
}
.p-home-related__banner-sm {
  margin-top: 24px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
}
.p-home-related__banner-sm .p-home-related__banner-link {
  width: 100%;
  aspect-ratio: 280/120;
  background: #DDDDDD;
  border: 1px solid #393938;
  border-radius: 8px;
  display: block;
  overflow: hidden;
}
@media (min-width: 600px) {
  .p-home-related__banner-sm {
    margin-top: 112px;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
  }
}
.p-home-related__banner-sm img {
  max-width: initial;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-place-access::before, .p-place-highlights::before, .p-place-info::before {
  content: "";
  width: 1px;
  height: 100%;
  background: #393938;
  position: absolute;
  top: 0;
  left: 16px;
  z-index: 1;
}
@media (min-width: 600px) {
  .p-place-access::before, .p-place-highlights::before, .p-place-info::before {
    width: 2px;
    left: 32px;
  }
}
@media (min-width: 960px) {
  .p-place-access::before, .p-place-highlights::before, .p-place-info::before {
    left: 60px;
  }
}
.p-place-access::after, .p-place-highlights::after, .p-place-info::after {
  content: "";
  width: 1px;
  height: 100%;
  background: #393938;
  position: absolute;
  top: 0;
  right: 16px;
  z-index: 1;
}
@media (min-width: 600px) {
  .p-place-access::after, .p-place-highlights::after, .p-place-info::after {
    width: 2px;
    right: 32px;
  }
}
@media (min-width: 960px) {
  .p-place-access::after, .p-place-highlights::after, .p-place-info::after {
    right: 60px;
  }
}

.p-place-info {
  padding: 56px 0 0 0;
  border: 1px solid #393938;
  border-top: none;
  border-radius: 0 0 16px 16px;
  position: relative;
}
@media (min-width: 600px) {
  .p-place-info {
    padding: 112px 0 0 0;
    border-width: 2px;
    border-radius: 0 0 32px 32px;
  }
}
.p-place-info__inner {
  width: calc(100% - 32px);
  margin: 0 auto;
}
@media (min-width: 600px) {
  .p-place-info__inner {
    width: calc(100% - 64px);
  }
}
@media (min-width: 960px) {
  .p-place-info__inner {
    width: calc(100% - 120px);
  }
}
.p-place-info__textarea {
  padding: 0 16px;
}
.p-place-info__caption {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 18;
}
.p-place-info__caption *,
.p-place-info__caption *::before,
.p-place-info__caption *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-place-info__caption {
  font-weight: 700;
  text-align: center;
  margin-top: 24px;
}
.p-place-info__caption + .p-place-info__caption {
  margin-top: 16px;
}
@media (min-width: 600px) {
  .p-place-info__caption {
    margin-top: 40px;
  }
  .p-place-info__caption + .p-place-info__caption {
    margin-top: 24px;
  }
}
.p-place-info__image {
  width: 100%;
  margin-top: 48px;
}
@media (min-width: 600px) {
  .p-place-info__image {
    margin-top: 96px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

.p-place-stats {
  padding: 56px 0;
  background: #FFFBF4;
  border: 1px solid #393938;
  border-top: none;
  border-radius: 16px;
  position: relative;
}
@media (min-width: 600px) {
  .p-place-stats {
    padding: 124px 0;
    border-width: 2px;
    border-radius: 32px;
  }
}
.p-place-stats__layout {
  margin-top: 56px;
  border-left: 1px solid #393938;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 0;
  position: relative;
}
@media (min-width: 600px) {
  .p-place-stats__layout {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 960px) {
  .p-place-stats__layout {
    grid-template-columns: repeat(3, 1fr);
  }
}
.p-place-stats__card {
  padding: 32px;
  border-bottom: 1px solid #393938;
  border-right: 1px solid #393938;
}
.p-place-stats__card:first-child {
  padding-top: 0;
}
.p-place-stats__card:nth-child(n+2) {
  position: relative;
}
.p-place-stats__card:nth-child(n+2)::before {
  content: "";
  width: 32px;
  aspect-ratio: 1/1;
  background: #FFFBF4;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.p-place-stats__card:nth-child(n+2)::after {
  content: "";
  width: 32px;
  aspect-ratio: 1/1;
  background: #FFFBF4;
  position: absolute;
  top: 0;
  right: 0;
  -webkit-transform: translate(50%, -50%);
          transform: translate(50%, -50%);
}
.p-place-stats__card:nth-last-child(1) {
  padding-bottom: 0;
  border-bottom: none;
}
@media (min-width: 600px) {
  .p-place-stats__card:nth-child(-n+2) {
    padding-top: 0;
  }
  .p-place-stats__card:nth-child(-n+2)::before {
    display: none;
  }
  .p-place-stats__card:nth-child(-n+2)::after {
    display: none;
  }
  .p-place-stats__card:nth-last-child(2) {
    padding-bottom: 0;
    border-bottom: none;
  }
}
@media (min-width: 960px) {
  .p-place-stats__card:nth-child(-n+3) {
    padding-top: 0;
  }
  .p-place-stats__card:nth-child(-n+3)::before {
    display: none;
  }
  .p-place-stats__card:nth-child(-n+3)::after {
    display: none;
  }
  .p-place-stats__card:nth-last-of-type(-n+3) {
    padding-bottom: 0;
    border-bottom: none;
  }
}
.p-place-stats__title {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 18;
}
.p-place-stats__title *,
.p-place-stats__title *::before,
.p-place-stats__title *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-place-stats__title {
  font-weight: 700;
}
.p-place-stats__icon {
  margin: 16px 0 0 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.p-place-stats__icon img {
  width: 56px;
}
@media (min-width: 600px) {
  .p-place-stats__icon {
    margin: 32px 0 0 0;
  }
  .p-place-stats__icon img {
    width: 96px;
  }
}
.p-place-stats__number {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 18;
  --max-font-size: 24;
}
.p-place-stats__number *,
.p-place-stats__number *::before,
.p-place-stats__number *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-place-stats__number {
  text-align: center;
  font-weight: 700;
  margin-top: 8px;
}
.p-place-stats__number strong {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 32;
  --max-font-size: 72;
}
.p-place-stats__number strong *,
.p-place-stats__number strong *::before,
.p-place-stats__number strong *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-place-stats__number strong {
  font-family: "Onest", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
}
.p-place-stats__number span {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 24;
  --max-font-size: 40;
}
.p-place-stats__number span *,
.p-place-stats__number span *::before,
.p-place-stats__number span *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
@media (min-width: 600px) {
  .p-place-stats__number {
    margin-top: 0px;
  }
}
.p-place-stats__caption {
  margin-top: 8px;
}
.p-place-stats__note {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 12;
  --max-font-size: 14;
}
.p-place-stats__note *,
.p-place-stats__note *::before,
.p-place-stats__note *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-place-stats__note {
  text-indent: -1em;
  margin-top: 8px;
  margin-left: 1em;
}

.p-place-highlights {
  padding: 56px 0;
  border: 1px solid #393938;
  border-radius: 16px;
  position: relative;
}
@media (min-width: 600px) {
  .p-place-highlights {
    padding: 124px 0;
    border-width: 2px;
    border-radius: 32px;
  }
}
.p-place-highlights__caption {
  margin-top: 24px;
}
@media (min-width: 600px) {
  .p-place-highlights__caption {
    text-align: center;
    margin-top: 40px;
  }
}
.p-place-highlights__section {
  width: calc(100% - 32px);
  margin: 40px auto 0 auto;
  padding: 0 16px;
  border-bottom: 1px solid #393938;
  display: grid;
  grid-template-columns: 1fr;
  gap: 40px;
}
@media (min-width: 600px) {
  .p-place-highlights__section {
    width: calc(100% - 64px);
    margin: 60px auto 0 auto;
    padding: 0 40px;
  }
}
@media (min-width: 960px) {
  .p-place-highlights__section {
    width: calc(100% - 120px);
    padding: 0 60px;
    grid-template-columns: 44% 49%;
    gap: 0 clamp(40px, 5.5vw, 80px);
  }
}
.p-place-highlights__title {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 22;
  --max-font-size: 32;
}
.p-place-highlights__title *,
.p-place-highlights__title *::before,
.p-place-highlights__title *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-place-highlights__title {
  margin: 0;
  display: grid;
  grid-template-columns: 40px auto;
  padding: 0;
}
.p-place-highlights__title::before {
  content: attr(data-num);
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 24;
  --max-font-size: 40;
}
.p-place-highlights__title::before *,
.p-place-highlights__title::before *::before,
.p-place-highlights__title::before *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-place-highlights__title::before {
  font-family: "Onest", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
}
@media (min-width: 600px) {
  .p-place-highlights__title {
    white-space: nowrap;
    grid-template-columns: clamp(56px, 5.5vw, 80px) auto;
  }
}
.p-place-highlights__image {
  border-radius: 16px 16px 0 0;
  overflow: hidden;
  -webkit-align-self: self-end;
      -ms-flex-item-align: self-end;
          align-self: self-end;
}
.p-place-highlights__section-caption {
  margin-top: 24px;
  padding: 0;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media (min-width: 600px) {
  .p-place-highlights__section-caption {
    margin-top: 40px;
    padding: 0 0 0 56px;
  }
}
@media (min-width: 960px) {
  .p-place-highlights__section-caption {
    padding: 0 0 40px clamp(56px, 5.5vw, 80px);
  }
}

.p-place-recommended-spots {
  padding: 56px 0;
  background: #FFFBF4;
  border: 1px solid #393938;
  border-top: none;
  border-radius: 16px;
  position: relative;
}
@media (min-width: 600px) {
  .p-place-recommended-spots {
    padding: 124px 0;
    border-width: 2px;
    border-radius: 32px;
  }
}
.p-place-recommended-spots__caption {
  margin-top: 24px;
}
@media (min-width: 600px) {
  .p-place-recommended-spots__caption {
    text-align: center;
    margin-top: 40px;
  }
}
.p-place-recommended-spots__list {
  margin-top: 88px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
@media (min-width: 960px) {
  .p-place-recommended-spots__list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
}
.p-place-recommended-spots__card {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.p-place-recommended-spots__card:first-child .p-place-recommended-spots__link {
  border: 1px solid #393938;
}
.p-place-recommended-spots__card:nth-child(odd) .p-place-recommended-spots__link {
  border: 1px solid #393938;
}
.p-place-recommended-spots__card:nth-child(n+3) {
  margin-top: -8px;
}
@media (min-width: 960px) {
  .p-place-recommended-spots__card {
    width: 25%;
  }
  .p-place-recommended-spots__card:nth-child(2) .p-place-recommended-spots__link {
    border-right: none;
  }
  .p-place-recommended-spots__card:nth-child(6) .p-place-recommended-spots__link {
    border-right: none;
  }
}
.p-place-recommended-spots__link {
  width: 100%;
  height: 100%;
  padding: 16px 16px 24px 16px;
  border: 1px solid #393938;
  border-left: none;
  position: relative;
}
@media (min-width: 600px) {
  .p-place-recommended-spots__link {
    padding: clamp(16px, 2vw, 32px);
  }
}
.p-place-recommended-spots__link.--gourmet {
  background: #F6B16A;
}
.p-place-recommended-spots__link.--gourmet .p-place-recommended-spots__label {
  background: #F6B16A;
}
.p-place-recommended-spots__link.--tourism {
  background: #38A79A;
}
.p-place-recommended-spots__link.--tourism .p-place-recommended-spots__label {
  background: #38A79A;
}
.p-place-recommended-spots__link.--play {
  background: #38B779;
}
.p-place-recommended-spots__link.--play .p-place-recommended-spots__label {
  background: #38B779;
}
.p-place-recommended-spots__link.--shop {
  background: #A8A1F8;
}
.p-place-recommended-spots__link.--shop .p-place-recommended-spots__label {
  background: #A8A1F8;
}
.p-place-recommended-spots__link.--event {
  background: #2E7FBA;
}
.p-place-recommended-spots__link.--event .p-place-recommended-spots__label {
  background: #2E7FBA;
}
.p-place-recommended-spots__link.--stay {
  background: #9AD6EB;
}
.p-place-recommended-spots__link.--stay .p-place-recommended-spots__label {
  background: #9AD6EB;
}
.p-place-recommended-spots__link.--transportation {
  background: #E3A7A8;
}
.p-place-recommended-spots__link.--transportation .p-place-recommended-spots__label {
  background: #E3A7A8;
}
.p-place-recommended-spots__label {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 20;
}
.p-place-recommended-spots__label *,
.p-place-recommended-spots__label *::before,
.p-place-recommended-spots__label *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-place-recommended-spots__label {
  color: #FFFFFF;
  font-family: "Darker Grotesque", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  min-width: 136px;
  height: 28px;
  padding: 0 12px;
  border: 1px solid #393938;
  border-bottom: none;
  border-radius: 8px 32px 0 0;
  position: absolute;
  top: 0;
  left: -1px;
  -webkit-transform: translateY(-27px);
          transform: translateY(-27px);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
}
@media (min-width: 960px) {
  .p-place-recommended-spots__label {
    height: 31px;
    -webkit-transform: translateY(-30px);
            transform: translateY(-30px);
  }
}
.p-place-recommended-spots__card-inner {
  width: 100%;
  height: 100%;
  padding: 16px 12px;
  background: #FFFFFF;
  border-radius: 8px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.p-place-recommended-spots__card-inner::after {
  content: "";
  min-width: 28px;
  aspect-ratio: 1/1;
  margin-top: 8px;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="15.255" height="17.321" viewBox="0 0 15.255 17.321"><g transform="translate(-349.273 -8687.86)"><path d="M1.061,3.078l.3,1.1L11.735,1.714,0,15.283.946,16,12.68,2.431l-.423,10.018,1.217.045L14,0Z" transform="translate(350 8688.5)" fill="%23393938"/><path d="M14.528-.64l-.575,13.652-2.216-.082.383-9.087L1.018,16.681-.727,15.36l11.07-12.8L1,4.78.443,2.711ZM13,11.976,13.473.639,1.678,3.445l.037.138L13.127.87.727,15.207l.147.111L13.24,1.019l-.462,10.949Z" transform="translate(350 8688.5)" fill="%23393938"/></g></svg>') no-repeat no-repeat center center/7px auto;
  border: 1px solid #393938;
  border-radius: 50%;
  display: block;
}
@media (min-width: 600px) {
  .p-place-recommended-spots__card-inner {
    padding: 32px 12px;
  }
}
@media (min-width: 960px) {
  .p-place-recommended-spots__card-inner::after {
    min-width: 40px;
    margin-top: 16px;
    background-size: 9px auto;
    gap: 16px;
  }
}
.p-place-recommended-spots__icon img {
  width: 40px;
}
@media (min-width: 600px) {
  .p-place-recommended-spots__icon {
    width: min(35%, 72px);
  }
  .p-place-recommended-spots__icon img {
    width: 100%;
  }
}
.p-place-recommended-spots__card-caption {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 20;
}
.p-place-recommended-spots__card-caption *,
.p-place-recommended-spots__card-caption *::before,
.p-place-recommended-spots__card-caption *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-place-recommended-spots__card-caption {
  font-weight: 700;
  margin-top: 8px;
}
@media (min-width: 600px) {
  .p-place-recommended-spots__card-caption {
    margin-top: 16px;
  }
}

.p-place-access {
  padding: 56px 0;
  border: 1px solid #393938;
  border-radius: 16px;
  position: relative;
}
@media (min-width: 600px) {
  .p-place-access {
    padding: 124px 0 160px 0;
    border-width: 2px;
    border-radius: 32px;
  }
}
.p-place-access__inner {
  width: calc(100% - 32px);
  margin: 0 auto;
}
@media (min-width: 600px) {
  .p-place-access__inner {
    width: calc(100% - 64px);
  }
}
@media (min-width: 960px) {
  .p-place-access__inner {
    width: calc(100% - 120px);
  }
}
.p-place-access__caption {
  margin-top: 24px;
}
@media (min-width: 600px) {
  .p-place-access__caption {
    text-align: center;
    margin-top: 40px;
  }
}
.p-place-access__map {
  margin: 40px auto 0 auto;
  width: calc(100% - 32px);
  border-top: 1px solid #393938;
  border-bottom: 1px solid #393938;
  display: block;
}
@media (min-width: 600px) {
  .p-place-access__map {
    width: calc(100% - 64px);
    border-width: 2px;
  }
}
@media (min-width: 960px) {
  .p-place-access__map {
    width: calc(100% - 120px);
  }
}
.p-place-access__time {
  margin-top: 40px;
  padding: 0 32px;
  display: block;
}
@media (min-width: 600px) {
  .p-place-access__time {
    display: none;
  }
}
.p-place-access__time-card {
  padding: 16px;
  border: 1px solid #393938;
  border-radius: 4px;
}
.p-place-access__time-card + .p-place-access__time-card {
  margin-top: 16px;
}
.p-place-access__time-title {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 15;
  --max-font-size: 16;
}
.p-place-access__time-title *,
.p-place-access__time-title *::before,
.p-place-access__time-title *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-place-access__time-title {
  padding-bottom: 8px;
  border-bottom: 1px solid #393938;
}
.p-place-access__time-list {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 12;
  --max-font-size: 14;
}
.p-place-access__time-list *,
.p-place-access__time-list *::before,
.p-place-access__time-list *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-place-access__time-list {
  margin-top: 16px;
  display: grid;
  grid-template-columns: 32px auto;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 16px;
}
.p-place-access__time-list strong {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 20;
  --max-font-size: 24;
}
.p-place-access__time-list strong *,
.p-place-access__time-list strong *::before,
.p-place-access__time-list strong *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-place-access__time-list strong {
  display: inline-block;
  vertical-align: -0.1em;
}
.p-place-access__time-list span {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 18;
  --max-font-size: 20;
}
.p-place-access__time-list span *,
.p-place-access__time-list span *::before,
.p-place-access__time-list span *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-place-access__time-list span {
  font-weight: 700;
  display: inline-block;
  vertical-align: -0.1em;
}
.p-place-access__time-icon {
  aspect-ratio: 1/1;
  border: 1px solid #393938;
  border-radius: 50%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.p-place-access__time-icon img {
  width: 20px;
}
.p-place-access__title {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 18;
  --max-font-size: 20;
}
.p-place-access__title *,
.p-place-access__title *::before,
.p-place-access__title *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-place-access__title {
  margin-top: 48px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
}
@media (min-width: 600px) {
  .p-place-access__title {
    margin-top: 80px;
  }
}
.p-place-access__title + .p-place-access__card {
  margin-top: 16px;
}
.p-place-access__title span {
  min-width: 40px;
  aspect-ratio: 1/1;
  background: #FFFFFF;
  border: 1px solid #393938;
  border-radius: 50%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.p-place-access__card-title {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 20;
}
.p-place-access__card-title *,
.p-place-access__card-title *::before,
.p-place-access__card-title *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-place-access__card-title {
  color: #FFFFFF;
  font-weight: 700;
  padding: 8px 24px;
  background: #38A79A;
  border-radius: 8px 8px 0 0;
}
@media (min-width: 600px) {
  .p-place-access__card-title {
    padding: 24px 32px;
  }
}
.p-place-access__card {
  margin-top: 16px;
}
@media (min-width: 600px) {
  .p-place-access__card {
    margin-top: 24px;
  }
}
.p-place-access__card-content {
  background: #FFFBF4;
  padding: 0;
  border: 2px solid #38A79A;
  border-top: none;
  border-radius: 0 0 8px 8px;
}
@media (max-width: 600px) {
  .p-place-access__card-content {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 600px) {
  .p-place-access__card-content {
    padding: 24px;
  }
}
@media (min-width: 960px) {
  .p-place-access__card-content {
    padding: 24px 40px;
  }
}
.p-place-access__card-content.--highway {
  padding: 24px;
  display: block;
}
.p-place-access__flow {
  min-height: 220px;
  padding: 24px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.p-place-access__flow + .p-place-access__flow {
  border-left: 1px solid #E6E6E6;
}
@media (min-width: 600px) {
  .p-place-access__flow {
    min-height: initial;
    padding: 24px 0;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
    overflow: hidden;
  }
  .p-place-access__flow + .p-place-access__flow {
    border-top: 1px solid #E6E6E6;
    border-left: none;
  }
}
.p-place-access__item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media (min-width: 600px) {
  .p-place-access__item {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
        -ms-flex: 1;
            flex: 1;
    display: block;
  }
  .p-place-access__item.--last {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    min-width: auto;
  }
}
.p-place-access__top {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media (min-width: 600px) {
  .p-place-access__top {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.p-place-access__line {
  width: 100%;
  height: 100%;
  z-index: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
}
.p-place-access__line::before {
  content: "";
  width: 8px;
  height: calc(100% + 1em);
  background-image: -webkit-linear-gradient(bottom, #393938 2px, transparent 2px), -webkit-linear-gradient(left, #393938 2px, transparent 2px);
  background-image: linear-gradient(0deg, #393938 2px, transparent 2px), linear-gradient(90deg, #393938 2px, transparent 2px);
  background-size: 100% 10px, 2px 100%;
  background-repeat: repeat, no-repeat;
  background-position: left center, center;
  position: absolute;
  left: 0;
  place-items: center;
  inset: 0;
  z-index: -1;
  -webkit-transform: translateY(-0.5em) translateX(4px);
          transform: translateY(-0.5em) translateX(4px);
}
@media (min-width: 600px) {
  .p-place-access__line {
    height: 8px;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
        -ms-flex: 1;
            flex: 1;
    position: relative;
    -webkit-transform: translateY(7px);
            transform: translateY(7px);
  }
  .p-place-access__line::before {
    width: calc(100% + 5em);
    height: 8px;
    background-image: -webkit-linear-gradient(left, #393938 2px, transparent 2px), -webkit-linear-gradient(#393938 2px, transparent 2px);
    background-image: linear-gradient(90deg, #393938 2px, transparent 2px), linear-gradient(#393938 2px, transparent 2px);
    background-size: 12px 100%, 100% 2px;
    background-repeat: repeat, no-repeat;
    background-position: left center, center;
    position: absolute;
    place-items: center;
    inset: 0;
    z-index: -1;
    -webkit-transform: translateY(0) translateX(-2.5em);
            transform: translateY(0) translateX(-2.5em);
  }
}
.p-place-access__line.--shinkansen::before {
  width: 4px;
  height: calc(100% + 1em);
  background-image: -webkit-linear-gradient(bottom, #FFFFFF 3px, transparent 3px);
  background-image: linear-gradient(0deg, #FFFFFF 3px, transparent 3px);
  background-size: 100% 6px;
  background-color: #2E7FBA;
  border-left: 1px solid #2E7FBA;
  border-right: 1px solid #2E7FBA;
  display: block;
  -webkit-transform: translateY(-0.5em) translateX(6px);
          transform: translateY(-0.5em) translateX(6px);
}
.p-place-access__line.--shinkansen .p-place-access__label {
  background: #2E7FBA;
}
@media (min-width: 600px) {
  .p-place-access__line.--shinkansen::before {
    width: calc(100% + 5em);
    height: 5px;
    margin: auto 0;
    background-image: -webkit-linear-gradient(left, #FFFFFF 3px, transparent 3px);
    background-image: linear-gradient(90deg, #FFFFFF 3px, transparent 3px);
    background-size: 6px 100%;
    background-color: #2E7FBA;
    border: 1px solid #2E7FBA;
    border-left: none;
    border-right: none;
    -webkit-transform: translateY(0) translateX(-2.5em);
            transform: translateY(0) translateX(-2.5em);
  }
}
.p-place-access__line.--jr::before {
  width: 4px;
  height: calc(100% + 1em);
  background-image: -webkit-linear-gradient(bottom, #FFFFFF 3px, transparent 3px);
  background-image: linear-gradient(0deg, #FFFFFF 3px, transparent 3px);
  background-size: 100% 6px;
  background-color: #393938;
  border-left: 1px solid #393938;
  border-right: 1px solid #393938;
  display: block;
  -webkit-transform: translateY(-0.5em) translateX(6px);
          transform: translateY(-0.5em) translateX(6px);
}
.p-place-access__line.--jr .p-place-access__label {
  background: #38B779;
}
@media (min-width: 600px) {
  .p-place-access__line.--jr::before {
    width: calc(100% + 5em);
    height: 5px;
    margin: auto 0;
    background-image: -webkit-linear-gradient(left, #FFFFFF 3px, transparent 3px);
    background-image: linear-gradient(90deg, #FFFFFF 3px, transparent 3px);
    background-size: 6px 100%;
    background-color: #393938;
    border: 1px solid #393938;
    border-left: none;
    border-right: none;
    -webkit-transform: translateY(0) translateX(-2.5em);
            transform: translateY(0) translateX(-2.5em);
  }
}
.p-place-access__line.--bus::before {
  content: "";
  width: 8px;
  height: calc(100% + 1em);
  background-image: -webkit-linear-gradient(left, #393938 2px, transparent 2px);
  background-image: linear-gradient(90deg, #393938 2px, transparent 2px);
  background-size: 2px 100%;
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  left: 0;
  place-items: center;
  inset: 0;
  z-index: -1;
  -webkit-transform: translateY(-0.5em) translateX(4px);
          transform: translateY(-0.5em) translateX(4px);
}
@media (min-width: 600px) {
  .p-place-access__line.--bus {
    height: 8px;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
        -ms-flex: 1;
            flex: 1;
    position: relative;
    -webkit-transform: translateY(7px);
            transform: translateY(7px);
  }
  .p-place-access__line.--bus::before {
    width: calc(100% + 4em);
    height: 8px;
    background-image: -webkit-linear-gradient(#393938 2px, transparent 2px);
    background-image: linear-gradient(#393938 2px, transparent 2px);
    background-size: 100% 2px;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    place-items: center;
    inset: 0;
    z-index: -1;
    -webkit-transform: translateY(0) translateX(-2em);
            transform: translateY(0) translateX(-2em);
  }
}
.p-place-access__line.--bus .p-place-access__label {
  background: #9A92F5;
}
.p-place-access__label {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 12;
  --max-font-size: 16;
}
.p-place-access__label *,
.p-place-access__label *::before,
.p-place-access__label *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-place-access__label {
  color: #FFFFFF;
  font-weight: 700;
  white-space: nowrap;
  padding: 0 8px 1px 8px;
  background: #EF9334;
  border-radius: 999px;
}
@media (max-width: 600px) {
  .p-place-access__label {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    position: absolute;
    left: 32px;
  }
  .p-place-access__label::before {
    content: "";
    width: 20px;
    height: 1px;
    margin-right: 4px;
    background: #393938;
    position: absolute;
    left: -24px;
    z-index: -1;
    display: block;
  }
}
@media (min-width: 600px) {
  .p-place-access__label {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
}
@media (min-width: 960px) {
  .p-place-access__label {
    padding: 0 24px 1px 24px;
  }
}
.p-place-access__dot {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  z-index: 1;
}
.p-place-access__dot::before {
  content: "";
  width: 16px;
  aspect-ratio: 1/1;
  background: #FFFFFF;
  border: 1px solid #393938;
  border-radius: 50%;
  display: block;
  -webkit-box-ordinal-group: -1;
  -webkit-order: -2;
      -ms-flex-order: -2;
          order: -2;
}
.p-place-access__dot::after {
  content: "";
  width: 12px;
  height: 1px;
  margin-right: 4px;
  background: #393938;
  position: relative;
  z-index: -1;
  -webkit-box-ordinal-group: 0;
  -webkit-order: -1;
      -ms-flex-order: -1;
          order: -1;
}
@media (min-width: 600px) {
  .p-place-access__dot {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .p-place-access__dot::before {
    width: 20px;
    margin-bottom: 4px;
  }
  .p-place-access__dot::after {
    width: 36px;
    height: 20px;
    margin-bottom: 4px;
    background: #FFFBF4;
    position: absolute;
    top: 0;
    z-index: -1;
  }
}
.p-place-access__place {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 11;
  --max-font-size: 18;
}
.p-place-access__place *,
.p-place-access__place *::before,
.p-place-access__place *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-place-access__place {
  font-weight: 700;
  white-space: nowrap;
}
.p-place-access__place span {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 10;
  --max-font-size: 14;
}
.p-place-access__place span *,
.p-place-access__place span *::before,
.p-place-access__place span *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-place-access__place span {
  color: #6E7171;
  position: absolute;
  margin-top: 4px;
  padding-left: 0.5em;
}
@media (max-width: 600px) {
  .p-place-access__place {
    white-space: wrap;
  }
  .p-place-access__place span {
    display: block;
    white-space: nowrap;
  }
}
.p-place-access .--first .p-place-access__dot {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.p-place-access .--first .p-place-access__dot::before {
  background: #38A79A;
  border: none;
}
@media (min-width: 600px) {
  .p-place-access .--first .p-place-access__dot {
    display: block;
  }
  .p-place-access .--first .p-place-access__dot::before {
    margin-left: 1em;
  }
  .p-place-access .--first .p-place-access__dot::after {
    width: 44px;
    top: 0;
    left: 0;
    z-index: -1;
  }
}
@media (min-width: 600px) {
  .p-place-access .--first .--bus .p-place-access__dot::before {
    margin-left: 0.3em;
  }
  .p-place-access .--first .--bus .p-place-access__dot::after {
    width: 32px;
  }
}
.p-place-access .--last {
  -webkit-box-flex: inherit;
  -webkit-flex: inherit;
      -ms-flex: inherit;
          flex: inherit;
}
.p-place-access .--last .p-place-access__dot::before {
  border: 6px solid #38A79A;
}
@media (min-width: 600px) {
  .p-place-access .--last::before {
    margin-right: 2.2em;
    margin-left: auto;
  }
  .p-place-access .--last::after {
    top: 0;
    right: calc(2.2em - 8px);
    z-index: -1;
  }
}
.p-place-access__card-caption {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
}
.p-place-access__card-caption *,
.p-place-access__card-caption *::before,
.p-place-access__card-caption *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-place-access__card-caption {
  line-height: 2;
}
.p-place-access__card-caption span {
  font-weight: 700;
  line-height: 1;
  margin: 0 4px;
  padding: 6px 16px;
  background: #E6E6E6;
  border-radius: 8px;
  display: inline-block;
}
@media (min-width: 600px) {
  .p-place-access__card-caption span {
    padding: 4px 24px;
  }
}
.p-place-access__detail {
  margin-top: 32px;
  text-align: center;
}
.p-place-access__detail-caption {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 18;
}
.p-place-access__detail-caption *,
.p-place-access__detail-caption *::before,
.p-place-access__detail-caption *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-place-access__detail-links {
  margin-top: 24px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 16px;
}
.p-place-access__detail-item {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 18;
}
.p-place-access__detail-item *,
.p-place-access__detail-item *::before,
.p-place-access__detail-item *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-place-access__detail-item {
  font-weight: 700;
  width: min(100%, 256px);
}
.p-place-access__detail-item a {
  padding: 14px 24px;
  border: 1px solid #393938;
  border-radius: 999px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.p-place-access__detail-item a::after {
  content: "";
  min-width: 18px;
  aspect-ratio: 1/1;
  background: url(../images/common/ic_blank.svg) no-repeat center center/100% auto;
}
@media (min-width: 600px) {
  .p-place-access__detail-item a {
    padding: 14px 32px 14px 24px;
    min-width: 24px;
  }
}

.p-about-ask {
  padding: 56px 0 0 0;
  border: 1px solid #393938;
  border-top: none;
  border-radius: 0 0 16px 16px;
  position: relative;
}
@media (min-width: 600px) {
  .p-about-ask {
    padding: 112px 0 0 0;
    border-width: 2px;
    border-radius: 0 0 32px 32px;
  }
}
.p-about-ask::before {
  content: "";
  width: 1px;
  height: 100%;
  background: #393938;
  position: absolute;
  top: 0;
  left: 16px;
  z-index: 1;
}
@media (min-width: 600px) {
  .p-about-ask::before {
    width: 2px;
    left: 32px;
  }
}
@media (min-width: 960px) {
  .p-about-ask::before {
    left: 60px;
  }
}
.p-about-ask::after {
  content: "";
  width: 1px;
  height: 100%;
  background: #393938;
  position: absolute;
  top: 0;
  right: 16px;
  z-index: 1;
}
@media (min-width: 600px) {
  .p-about-ask::after {
    width: 2px;
    right: 32px;
  }
}
@media (min-width: 960px) {
  .p-about-ask::after {
    right: 60px;
  }
}
.p-about-ask__title {
  text-align: center;
}
.p-about-ask__layout {
  margin-top: 24px;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 24px;
}
.p-about-ask__layout figure {
  margin: 0;
}
@media (min-width: 600px) {
  .p-about-ask__layout {
    margin-top: 56px;
    gap: 40px;
  }
}
@media (min-width: 960px) {
  .p-about-ask__layout {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, auto);
    gap: 40px clamp(40px, 5.5vw, 80px);
  }
}
.p-about-ask__images {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}
.p-about-ask__images img {
  border-radius: 4px;
}
@media (min-width: 600px) {
  .p-about-ask__images img {
    border-radius: 8px;
  }
}
@media (min-width: 960px) {
  .p-about-ask__images {
    padding-bottom: 40px;
    grid-area: 2/1/3/2;
  }
}
.p-about-ask__image {
  -webkit-align-self: flex-end;
      -ms-flex-item-align: end;
          align-self: flex-end;
}
.p-about-ask__image img {
  border-radius: 8px 8px 0 0;
}
@media (min-width: 600px) {
  .p-about-ask__image img {
    border-radius: 16px 16px 0 0;
  }
}
@media (min-width: 960px) {
  .p-about-ask__image {
    grid-area: 1/2/3/3;
  }
}
.p-about-ask__textarea {
  grid-area: 1/1/2/2;
}

.p-about-philosophy {
  padding: 56px 0;
  background: #FFFBF4;
  border: 1px solid #393938;
  border-radius: 32px;
}
@media (min-width: 600px) {
  .p-about-philosophy {
    padding: 124px 0;
    border-width: 2px;
  }
}
.p-about-philosophy__layout {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 16px;
}
@media (min-width: 600px) {
  .p-about-philosophy__layout {
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
  }
}
.p-about-philosophy__card {
  padding: 24px;
  background: #FFFFFF;
  border: 1px solid #393938;
  border-radius: 16px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
}
.p-about-philosophy__card.--col1 {
  padding: 24px;
}
@media (min-width: 600px) {
  .p-about-philosophy__card.--col1 {
    padding: 40px 0 48px 0;
    grid-column: span 2;
  }
}
@media (min-width: 960px) {
  .p-about-philosophy__card {
    padding: 40px;
  }
}
.p-about-philosophy__title {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 18;
}
.p-about-philosophy__title *,
.p-about-philosophy__title *::before,
.p-about-philosophy__title *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-about-philosophy__title {
  text-align: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
}
.p-about-philosophy__title::before {
  content: attr(data-en);
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 32;
  --max-font-size: 56;
}
.p-about-philosophy__title::before *,
.p-about-philosophy__title::before *::before,
.p-about-philosophy__title::before *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-about-philosophy__title::before {
  font-family: "Chubbo", sans-serif;
  font-weight: 500;
  font-style: normal;
  line-height: 1.3;
}
.p-about-philosophy__icon {
  margin: 24px auto 0 auto;
  display: block;
}
.p-about-philosophy__icon img {
  width: 50px;
  margin: 0 auto;
}
@media (min-width: 960px) {
  .p-about-philosophy__icon img {
    width: auto;
  }
}
.p-about-philosophy__catch {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 24;
}
.p-about-philosophy__catch *,
.p-about-philosophy__catch *::before,
.p-about-philosophy__catch *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-about-philosophy__catch {
  font-weight: 700;
  margin-top: 24px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.p-about-philosophy__caption {
  margin-top: 16px;
}
@media (min-width: 600px) {
  .p-about-philosophy__caption {
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.p-about-philosophy__value {
  width: 100%;
  margin-top: 8px;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
}
@media (min-width: 600px) {
  .p-about-philosophy__value {
    margin-top: 24px;
    grid-template-columns: repeat(3, 1fr);
  }
}
.p-about-philosophy__value-card {
  padding: 24px 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media (max-width: 600px) {
  .p-about-philosophy__value-card:nth-child(2) {
    border-top: 1px solid #707070;
    border-bottom: 1px solid #707070;
  }
}
@media (min-width: 600px) {
  .p-about-philosophy__value-card:nth-child(2) {
    border-left: 1px solid #707070;
    border-right: 1px solid #707070;
  }
}
@media (min-width: 600px) {
  .p-about-philosophy__value-card {
    padding: 16px;
  }
}
@media (min-width: 960px) {
  .p-about-philosophy__value-card {
    padding: 16px 40px;
  }
}
.p-about-philosophy__value-catch {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 24;
}
.p-about-philosophy__value-catch *,
.p-about-philosophy__value-catch *::before,
.p-about-philosophy__value-catch *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-about-philosophy__value-catch {
  font-weight: 700;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
.p-about-philosophy__value-caption {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
}
.p-about-philosophy__value-caption *,
.p-about-philosophy__value-caption *::before,
.p-about-philosophy__value-caption *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-about-philosophy__value-caption {
  margin-top: 24px;
}
@media (min-width: 960px) {
  .p-about-philosophy__value-caption {
    text-align: center;
  }
}

.p-about-outline {
  padding: 56px 16px 0 16px;
  border: 2px solid #393938;
  border-bottom: none;
  border-radius: 16px 16px 0 0;
  position: relative;
}
@media (min-width: 600px) {
  .p-about-outline {
    padding: 124px 0 1px 0;
    border-width: 2px;
    border-radius: 32px 32px 0 0;
  }
}
.p-about-outline::before {
  content: "";
  width: 1px;
  height: 100%;
  background: #393938;
  position: absolute;
  top: 0;
  left: 16px;
  z-index: 1;
}
@media (min-width: 600px) {
  .p-about-outline::before {
    width: 2px;
    left: 32px;
  }
}
@media (min-width: 960px) {
  .p-about-outline::before {
    left: 60px;
  }
}
.p-about-outline::after {
  content: "";
  width: 1px;
  height: 100%;
  background: #393938;
  position: absolute;
  top: 0;
  right: 16px;
  z-index: 1;
}
@media (min-width: 600px) {
  .p-about-outline::after {
    width: 2px;
    right: 32px;
  }
}
@media (min-width: 960px) {
  .p-about-outline::after {
    right: 60px;
  }
}
.p-about-outline__list {
  margin-top: 24px;
  display: grid;
  grid-template-columns: 85px auto;
}
@media (min-width: 600px) {
  .p-about-outline__list {
    grid-template-columns: 130px auto;
  }
}
.p-about-outline__term {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 15;
  --max-font-size: 18;
}
.p-about-outline__term *,
.p-about-outline__term *::before,
.p-about-outline__term *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-about-outline__term {
  font-weight: 700;
  padding: 24px 0;
  border-bottom: 1px solid #AFAFAF;
}
@media (min-width: 600px) {
  .p-about-outline__term {
    padding: 32px 0;
  }
}
.p-about-outline__description {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
}
.p-about-outline__description *,
.p-about-outline__description *::before,
.p-about-outline__description *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-about-outline__description {
  padding: 24px 0;
  border-bottom: 1px solid #AFAFAF;
}
@media (min-width: 600px) {
  .p-about-outline__description {
    padding: 32px 0;
  }
}
.p-about-outline__button {
  margin-top: 40px;
}
.p-about-outline__button-link {
  width: 100%;
  padding: 24px;
  background: #EDEAE4;
  border: 2px solid #393938;
  border-radius: 16px 16px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.p-about-outline__button-link::after {
  content: "";
  min-width: 40px;
  aspect-ratio: 1/1;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="15.255" height="17.321" viewBox="0 0 15.255 17.321"><g transform="translate(-349.273 -8687.86)"><path d="M1.061,3.078l.3,1.1L11.735,1.714,0,15.283.946,16,12.68,2.431l-.423,10.018,1.217.045L14,0Z" transform="translate(350 8688.5)" fill="%23393938"/><path d="M14.528-.64l-.575,13.652-2.216-.082.383-9.087L1.018,16.681-.727,15.36l11.07-12.8L1,4.78.443,2.711ZM13,11.976,13.473.639,1.678,3.445l.037.138L13.127.87.727,15.207l.147.111L13.24,1.019l-.462,10.949Z" transform="translate(350 8688.5)" fill="%23393938"/></g></svg>') no-repeat no-repeat center center/10px auto;
  background-color: #FFFFFF;
  border: 1px solid #393938;
  border-radius: 50%;
}
@media (hover: hover) and (pointer: fine) {
  .p-about-outline__button-link:hover {
    opacity: 0.6;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .p-about-outline__button-link:hover {
    opacity: 0.6;
  }
}
@media (min-width: 600px) {
  .p-about-outline__button-link {
    padding: 40px;
    border-radius: 32px;
  }
}
@media (min-width: 960px) {
  .p-about-outline__button-link {
    padding: 56px;
  }
  .p-about-outline__button-link::after {
    min-width: 64px;
    background-size: 14px auto;
  }
}
.p-about-outline__button-text strong {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 20;
  --max-font-size: 32;
}
.p-about-outline__button-text strong *,
.p-about-outline__button-text strong *::before,
.p-about-outline__button-text strong *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-about-outline__button-text strong {
  font-weight: 700;
}

.p-about-membership-info {
  padding: 72px 16px 80px 16px;
  border: 2px solid #393938;
  border-top: none;
  border-radius: 0 0 16px 16px;
  position: relative;
}
@media (min-width: 600px) {
  .p-about-membership-info {
    padding: 124px 0 160px 0;
    border-radius: 0 0 32px 32px;
  }
}
.p-about-membership-info::before {
  content: "";
  width: 1px;
  height: 100%;
  background: #393938;
  position: absolute;
  top: 0;
  left: 16px;
  z-index: 1;
}
@media (min-width: 600px) {
  .p-about-membership-info::before {
    width: 2px;
    left: 32px;
  }
}
@media (min-width: 960px) {
  .p-about-membership-info::before {
    left: 60px;
  }
}
.p-about-membership-info::after {
  content: "";
  width: 1px;
  height: 100%;
  background: #393938;
  position: absolute;
  top: 0;
  right: 16px;
  z-index: 1;
}
@media (min-width: 600px) {
  .p-about-membership-info::after {
    width: 2px;
    right: 32px;
  }
}
@media (min-width: 960px) {
  .p-about-membership-info::after {
    right: 60px;
  }
}
.p-about-membership-info .c-sec-title-band {
  margin-top: 56px;
}
@media (min-width: 600px) {
  .p-about-membership-info .c-sec-title-band {
    margin-top: 80px;
  }
}
.p-about-membership-info__caption {
  margin-top: 24px;
}
.p-about-membership-info__caption + .c-sec-title-band {
  margin-top: 40px;
}
@media (min-width: 600px) {
  .p-about-membership-info__caption {
    text-align: center;
    margin-top: 40px;
  }
}
.p-about-membership-info__list {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 18;
}
.p-about-membership-info__list *,
.p-about-membership-info__list *::before,
.p-about-membership-info__list *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-about-membership-info__list {
  font-weight: 700;
  margin-top: 24px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px;
}
@media (min-width: 600px) {
  .p-about-membership-info__list {
    gap: 24px;
  }
}
.p-about-membership-info__item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 8px;
}
.p-about-membership-info__item::before {
  content: "";
  min-width: 24px;
  aspect-ratio: 1/1;
  margin-top: 0.2em;
  background: url(../images/about/ic_check.svg) #38A79A no-repeat center center/12px auto;
  border-radius: 50%;
}
@media (min-width: 600px) {
  .p-about-membership-info__item {
    gap: 16px;
  }
}
@media (min-width: 960px) {
  .p-about-membership-info__item {
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .p-about-membership-info__item::before {
    min-width: 32px;
    background-size: 17px auto;
  }
}
.p-about-membership-info__target {
  margin-top: 24px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media (min-width: 600px) {
  .p-about-membership-info__target {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.p-about-membership-info__target-term {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 18;
}
.p-about-membership-info__target-term *,
.p-about-membership-info__target-term *::before,
.p-about-membership-info__target-term *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-about-membership-info__target-term {
  font-weight: 700;
  white-space: nowrap;
  width: 5em;
}
.p-about-membership-info__target-description {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 15;
  --max-font-size: 16;
}
.p-about-membership-info__target-description *,
.p-about-membership-info__target-description *::before,
.p-about-membership-info__target-description *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-about-membership-info__target-description {
  margin-top: 2px;
  line-height: 1.75;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.p-about-membership-info__fee {
  text-align: center;
  margin-top: 8px;
  padding: 24px;
  background: #F7F7F7;
  border-radius: 8px;
}
@media (min-width: 600px) {
  .p-about-membership-info__fee {
    padding: 40px;
  }
}
.p-about-membership-info__yearly {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 20;
}
.p-about-membership-info__yearly *,
.p-about-membership-info__yearly *::before,
.p-about-membership-info__yearly *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-about-membership-info__yearly {
  font-weight: 700;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
}
@media (max-width: 600px) {
  .p-about-membership-info__yearly {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
}
.p-about-membership-info__amount {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 40;
  --max-font-size: 56;
}
.p-about-membership-info__amount *,
.p-about-membership-info__amount *::before,
.p-about-membership-info__amount *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-about-membership-info__amount {
  font-family: "Onest", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  line-height: 1;
}
.p-about-membership-info__yen {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 24;
  --max-font-size: 40;
}
.p-about-membership-info__yen *,
.p-about-membership-info__yen *::before,
.p-about-membership-info__yen *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-about-membership-info__fee-caption {
  margin-top: 8px;
}
@media (max-width: 600px) {
  .p-about-membership-info__fee-caption {
    text-align: left;
  }
}
.p-about-membership-info__flow-group {
  margin-top: 8px;
  padding: 16px 24px 24px 24px;
  background: #F7F7F7;
  border-radius: 8px;
  display: grid;
  grid-template-columns: 1 1;
}
@media (min-width: 600px) {
  .p-about-membership-info__flow-group {
    padding: 24px 0;
    grid-template-columns: 108px auto;
  }
}
@media (min-width: 960px) {
  .p-about-membership-info__flow-group {
    grid-template-columns: 140px auto;
  }
}
.p-about-membership-info__flow-step {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 18;
}
.p-about-membership-info__flow-step *,
.p-about-membership-info__flow-step *::before,
.p-about-membership-info__flow-step *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-about-membership-info__flow-step {
  font-family: "Onest", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  padding: 8px 0;
  border-bottom: 1px solid #393938;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
}
.p-about-membership-info__flow-step strong {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 40;
  --max-font-size: 56;
}
.p-about-membership-info__flow-step strong *,
.p-about-membership-info__flow-step strong *::before,
.p-about-membership-info__flow-step strong *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-about-membership-info__flow-step strong {
  line-height: 1;
}
@media (min-width: 600px) {
  .p-about-membership-info__flow-step {
    padding: 16px 0;
    border-right: 1px solid #393938;
    border-bottom: none;
  }
}
.p-about-membership-info__flow-caption {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 15;
  --max-font-size: 16;
}
.p-about-membership-info__flow-caption *,
.p-about-membership-info__flow-caption *::before,
.p-about-membership-info__flow-caption *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-about-membership-info__flow-caption {
  display: grid;
  grid-template-columns: 1 1;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
}
@media (min-width: 600px) {
  .p-about-membership-info__flow-caption {
    padding: 0 24px;
    grid-template-columns: 48px auto;
  }
}
@media (min-width: 960px) {
  .p-about-membership-info__flow-caption {
    padding: 0 40px;
    grid-template-columns: 64px auto;
    gap: 40px;
  }
}
.p-about-membership-info__flow-image {
  margin: 16px auto 0 auto;
}
.p-about-membership-info__flow-image img {
  width: 48px;
}
@media (min-width: 600px) {
  .p-about-membership-info__flow-image {
    margin: 0;
  }
}
@media (min-width: 960px) {
  .p-about-membership-info__flow-image img {
    width: 64px;
  }
}
.p-about-membership-info__flow-text {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.p-about-membership-info__flow-note {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 12;
  --max-font-size: 14;
}
.p-about-membership-info__flow-note *,
.p-about-membership-info__flow-note *::before,
.p-about-membership-info__flow-note *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-about-membership-info__flow-note {
  margin-top: 16px;
}
@media (min-width: 600px) {
  .p-about-membership-info__flow-note {
    margin-top: 40px;
  }
}

.p-member-side .p-member__nav-link {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
}
.p-member-side .p-member__nav-link *,
.p-member-side .p-member__nav-link *::before,
.p-member-side .p-member__nav-link *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-member-side .p-member__nav-link {
  padding: 16px 40px;
  border-bottom: 2px solid #393938;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
}
.p-member-side .p-member__nav-link::before {
  content: "";
  min-width: 14px;
  aspect-ratio: 14/17;
  -webkit-mask: url(../images/common/ic_arrow.svg) no-repeat center center/100% auto;
          mask: url(../images/common/ic_arrow.svg) no-repeat center center/100% auto;
  background-color: #393938;
  -webkit-transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
  transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
}
@media (hover: hover) and (pointer: fine) {
  .p-member-side .p-member__nav-link:hover {
    color: #FFFFFF;
    background: #38A79A;
  }
  .p-member-side .p-member__nav-link:hover::before {
    background-color: #FFFFFF;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .p-member-side .p-member__nav-link:hover {
    color: #FFFFFF;
    background: #38A79A;
  }
  .p-member-side .p-member__nav-link:hover::before {
    background-color: #FFFFFF;
  }
}
@media (min-width: 600px) {
  .p-member-side .p-member__nav-link {
    padding: 16px;
    gap: 16px;
  }
}
@media (min-width: 960px) {
  .p-member-side .p-member__nav-link {
    padding: 16px clamp(24px, 2.5vw, 40px);
  }
}

.p-member-main__anchor {
  margin: 56px auto 0 auto;
  display: table;
  position: relative;
}
@media (min-width: 960px) {
  .p-member-main__anchor {
    display: none;
  }
}
.p-member-main__anchor.is-open .p-member__nav-list {
  display: block;
}
.p-member-main__anchor .p-member__nav-list {
  width: 100%;
  background: #FFFFFF;
  border: 1px solid #707070;
  border-radius: 8px;
  position: absolute;
  top: 100%;
  left: 0;
  overflow: hidden;
  display: none;
  z-index: 1;
}
.p-member-main__anchor .p-member__nav-link {
  padding: 8px 16px;
  display: block;
}
@media (hover: hover) and (pointer: fine) {
  .p-member-main__anchor .p-member__nav-link:hover {
    background: #E6E6E6;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .p-member-main__anchor .p-member__nav-link:hover {
    background: #E6E6E6;
  }
}
.p-member-main__nav-trigger {
  font-size: 16px;
  text-align: left;
  min-width: 237px;
  padding: 8px 16px;
  background: #fff;
  border: 1px solid #707070;
  border-radius: 8px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  cursor: pointer;
}
.p-member-main__nav-trigger::after {
  content: "";
  min-width: 8px;
  aspect-ratio: 8/12;
  background: url(../images/common/ic_lang_arrow.svg) no-repeat center center/100% auto;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
.p-member-main__lead {
  margin-top: 56px;
}
.p-member-main__lead + .p-member-main__section {
  margin-top: 62px;
}
@media (min-width: 600px) {
  .p-member-main__lead {
    margin-top: 112px;
  }
  .p-member-main__lead + .p-member-main__section {
    margin-top: 124px;
  }
}
.p-member-main__lead-caption {
  text-align: left;
  margin-top: 24px;
}
@media (min-width: 600px) {
  .p-member-main__lead-caption {
    text-align: center;
    margin-top: 40px;
  }
}
.p-member-main__section {
  margin-top: 48px;
}
@media (min-width: 600px) {
  .p-member-main__section {
    margin-top: 80px;
  }
}
.p-member-main__list {
  margin-top: 24px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
}
@media (min-width: 600px) {
  .p-member-main__list {
    margin-top: 40px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px 16px;
  }
}
@media (min-width: 960px) {
  .p-member-main__list {
    grid-template-columns: repeat(6, 1fr);
  }
}
.p-member-main__list-item {
  --viewport-from: 960;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 18;
}
.p-member-main__list-item *,
.p-member-main__list-item *::before,
.p-member-main__list-item *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
@media (min-width: 600px) {
  .p-member-main__list-item {
    grid-column: span 2;
  }
}
.p-member-main__list-item.--col2 {
  grid-column: span 4;
}
.p-member-main__list-item.--col3 {
  grid-column: span 4;
}
@media (min-width: 960px) {
  .p-member-main__list-item.--col3 {
    grid-column: span 3;
  }
}
.p-member-main__list-link {
  min-height: 74px;
  height: 100%;
  padding: 16px;
  background: #F7F7F7;
  border: 1px solid #707070;
  border-radius: 8px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 8px;
}
.p-member-main__list-link::after {
  content: "";
  min-width: 18px;
  aspect-ratio: 1/1;
  background: url(../images/common/ic_blank.svg) no-repeat center center/100% auto;
}
.p-member-main__list-link:hover {
  opacity: 0.6;
}
@media (min-width: 600px) {
  .p-member-main__list-link {
    min-height: 94px;
    padding: 16px clamp(16px, 2vw, 24px);
  }
}
@media (min-width: 960px) {
  .p-member-main__list-link::after {
    min-width: min(1.8vw, 26px);
  }
}
.p-member-main__list-nolink {
  min-height: 74px;
  height: 100%;
  padding: 16px;
  background: #F7F7F7;
  border: 1px solid #707070;
  border-radius: 8px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  pointer-events: none;
}
@media (min-width: 600px) {
  .p-member-main__list-nolink {
    min-height: 94px;
    padding: 16px clamp(16px, 2vw, 24px);
  }
}

.p-member-info-archive {
  margin-top: 32px;
}
@media (min-width: 600px) {
  .p-member-info-archive {
    margin-top: 72px;
  }
}
.p-member-info-archive__item {
  border-bottom: 1px solid #AFAFAF;
}
.p-member-info-archive__link {
  padding: 24px 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 8px;
}
.p-member-info-archive__link::after {
  content: "";
  min-width: 32px;
  aspect-ratio: 1/1;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="15.255" height="17.321" viewBox="0 0 15.255 17.321"><g transform="translate(-349.273 -8687.86)"><path d="M1.061,3.078l.3,1.1L11.735,1.714,0,15.283.946,16,12.68,2.431l-.423,10.018,1.217.045L14,0Z" transform="translate(350 8688.5)" fill="%23393938"/><path d="M14.528-.64l-.575,13.652-2.216-.082.383-9.087L1.018,16.681-.727,15.36l11.07-12.8L1,4.78.443,2.711ZM13,11.976,13.473.639,1.678,3.445l.037.138L13.127.87.727,15.207l.147.111L13.24,1.019l-.462,10.949Z" transform="translate(350 8688.5)" fill="%23393938"/></g></svg>') no-repeat no-repeat center center/7px auto;
  border: 1px solid #393938;
  border-radius: 50%;
  margin-left: auto;
}
@media (hover: hover) and (pointer: fine) {
  .p-member-info-archive__link:hover {
    opacity: 0.6;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .p-member-info-archive__link:hover {
    opacity: 0.6;
  }
}
@media (min-width: 600px) {
  .p-member-info-archive__link {
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    gap: 8px 32px;
    padding: 40px 0;
  }
  .p-member-info-archive__link::after {
    content: "";
    min-width: 40px;
  }
}
@media (min-width: 960px) {
  .p-member-info-archive__link {
    gap: 8px 56px;
  }
}
.p-member-info-archive__date {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
}
.p-member-info-archive__date *,
.p-member-info-archive__date *::before,
.p-member-info-archive__date *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-member-info-archive__date {
  color: #6E7171;
  width: 100%;
}
@media (min-width: 600px) {
  .p-member-info-archive__date {
    width: 70px;
  }
}
.p-member-info-archive__title {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 20;
}
.p-member-info-archive__title *,
.p-member-info-archive__title *::before,
.p-member-info-archive__title *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-member-info-archive__title {
  font-weight: 700;
  width: calc(100% - 60px);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media (min-width: 600px) {
  .p-member-info-archive__title {
    margin-right: 24px;
  }
}

.p-member-info-article {
  margin-top: 56px;
}
@media (min-width: 600px) {
  .p-member-info-article {
    margin-top: 112px;
  }
}
.p-member-info-article__title {
  font-size: 32px;
  line-height: 1.5;
  padding-bottom: 24px;
  border-bottom: 1px solid #393938;
}
.p-member-info-article__date {
  color: #747474;
  font-family: "Darker Grotesque", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  margin-top: 24px;
}

.p-focus-side {
  padding: 40px clamp(24px, 2.5vw, 40px);
}
.p-focus-side__title {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 20;
  --max-font-size: 24;
}
.p-focus-side__title *,
.p-focus-side__title *::before,
.p-focus-side__title *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-focus-side__title {
  font-family: "Onest", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-weight: 700;
  padding-bottom: 8px;
  border-bottom: 1px solid #393938;
}
.p-focus-side__list {
  font-size: 16px;
  font-weight: 700;
  margin-top: 24px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
}
.p-focus-side__link {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
}
.p-focus-side__link::before {
  content: "";
  min-width: 24px;
  aspect-ratio: 1/1;
  background: url(../images/common/ic_tag.svg) no-repeat center center/100% auto;
}

.p-focus-main {
  padding: 56px 24px;
}
@media (min-width: 600px) {
  .p-focus-main {
    padding: 60px clamp(24px, 4vw, 60px) 0 clamp(24px, 4vw, 60px);
  }
}
.p-focus-main__tag {
  margin: 0 auto;
  display: table;
  position: relative;
}
@media (min-width: 960px) {
  .p-focus-main__tag {
    display: none;
  }
}
.p-focus-main__tag.is-open .p-focus-main__tag-list {
  display: block;
}
.p-focus-main__tag-list {
  width: 100%;
  background: #FFFFFF;
  border: 1px solid #707070;
  border-radius: 8px;
  position: absolute;
  top: 100%;
  left: 0;
  display: none;
  overflow: hidden;
  z-index: 1;
}
.p-focus-main__tag-link {
  padding: 8px 16px;
  display: block;
}
@media (hover: hover) and (pointer: fine) {
  .p-focus-main__tag-link:hover {
    background: #E6E6E6;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .p-focus-main__tag-link:hover {
    background: #E6E6E6;
  }
}
.p-focus-main__tag-trigger {
  font-size: 16px;
  text-align: left;
  min-width: 237px;
  padding: 8px 16px;
  background: #fff;
  border: 1px solid #707070;
  border-radius: 8px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  cursor: pointer;
}
.p-focus-main__tag-trigger::after {
  content: "";
  min-width: 8px;
  aspect-ratio: 8/12;
  background: url(../images/common/ic_lang_arrow.svg) no-repeat center center/100% auto;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
.p-focus-main__archive {
  margin-top: 56px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px 24px;
}
@media (min-width: 600px) {
  .p-focus-main__archive {
    gap: 40px;
  }
}
@media (min-width: 960px) {
  .p-focus-main__archive {
    margin-top: 0;
  }
}
.p-focus-main__card {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
}
.p-focus-main__link {
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
.p-focus-main__card-inner {
  position: relative;
}
.p-focus-main__image {
  width: 100%;
  aspect-ratio: 3/2;
  border-radius: 8px;
  overflow: hidden;
}
.p-focus-main__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-focus-main__meta {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 11;
  --max-font-size: 24;
}
.p-focus-main__meta *,
.p-focus-main__meta *::before,
.p-focus-main__meta *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-focus-main__meta {
  font-family: "Darker Grotesque", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  line-height: 1.3;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  position: absolute;
  left: 8px;
  bottom: 8px;
}
@media (min-width: 600px) {
  .p-focus-main__meta {
    left: 16px;
    bottom: 16px;
  }
}
.p-focus-main__meta-title {
  min-height: 18px;
  padding: 0 4px 0px 4px;
  background: #FFFFFF;
  border: 1px solid #393938;
}
@media (min-width: 600px) {
  .p-focus-main__meta-title {
    min-height: 31px;
    padding: 0 16px 2px 16px;
  }
}
.p-focus-main__meta-num {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 10;
  --max-font-size: 20;
}
.p-focus-main__meta-num *,
.p-focus-main__meta-num *::before,
.p-focus-main__meta-num *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-focus-main__meta-num {
  color: #FFFFFF;
  width: 18px;
  height: 18px;
  padding-bottom: 2px;
  border: 1px solid #393938;
  border-radius: 50%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (min-width: 600px) {
  .p-focus-main__meta-num {
    width: 31px;
    height: 31px;
  }
}
.p-focus-main__meta-num.--color01 {
  background: #F6B16A;
}
.p-focus-main__meta-num.--color02 {
  background: #38A79A;
}
.p-focus-main__meta-num.--color03 {
  background: #38B779;
}
.p-focus-main__meta-num.--color04 {
  background: #A8A1F8;
}
.p-focus-main__meta-num.--color05 {
  background: #2E7FBA;
}
.p-focus-main__meta-num.--color06 {
  background: #9AD6EB;
}
.p-focus-main__meta-num.--color07 {
  background: #E3A7A8;
}
.p-focus-main__meta-num.--color08 {
  background: #F6B16A;
}
.p-focus-main__meta-num.--color09 {
  background: #38A79A;
}
.p-focus-main__meta-num.--color10 {
  background: #38B779;
}
.p-focus-main__meta-date {
  min-height: 18px;
  padding: 0 4px;
  background: #FFFFFF;
  border: 1px solid #393938;
}
@media (min-width: 600px) {
  .p-focus-main__meta-date {
    min-height: 31px;
    padding: 0 16px 2px 16px;
  }
}
.p-focus-main__title {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 24;
}
.p-focus-main__title *,
.p-focus-main__title *::before,
.p-focus-main__title *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-focus-main__title {
  font-weight: 700;
  line-height: 1.6;
  margin-top: 8px;
}
@media (min-width: 600px) {
  .p-focus-main__title {
    margin-top: 16px;
  }
}
.p-focus-main__terms {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid #AFAFAF;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 8px;
}
.p-focus-main__term a {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 10;
  --max-font-size: 12;
}
.p-focus-main__term a *,
.p-focus-main__term a *::before,
.p-focus-main__term a *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-focus-main__term a {
  color: #393938;
  padding: 2px 10px;
  border-radius: 999px;
  border: 1px solid #EDEDED;
  display: block;
}
@media (min-width: 600px) {
  .p-focus-main__term a {
    padding: 4px 16px;
  }
}
.p-focus-article {
  padding: 56px 24px;
}
@media (min-width: 600px) {
  .p-focus-article {
    padding: 112px clamp(24px, 4vw, 60px) 0 clamp(24px, 4vw, 60px);
  }
}
.p-focus-article__title {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 24;
  --max-font-size: 32;
}
.p-focus-article__title *,
.p-focus-article__title *::before,
.p-focus-article__title *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-focus-article__title {
  padding-bottom: 24px;
  border-bottom: 1px solid #393938;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 16px;
}
.p-focus-article__meta {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 24;
}
.p-focus-article__meta *,
.p-focus-article__meta *::before,
.p-focus-article__meta *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-focus-article__meta {
  font-family: "Darker Grotesque", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  line-height: 1.3;
  margin-top: 24px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.p-focus-article__meta-title {
  min-height: 24px;
  padding: 0 4px 0px 4px;
  background: #FFFFFF;
  border: 1px solid #393938;
}
@media (min-width: 600px) {
  .p-focus-article__meta-title {
    min-height: 31px;
    padding: 0 16px 2px 16px;
  }
}
.p-focus-article__meta-num {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 20;
}
.p-focus-article__meta-num *,
.p-focus-article__meta-num *::before,
.p-focus-article__meta-num *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-focus-article__meta-num {
  color: #FFFFFF;
  width: 24px;
  height: 24px;
  padding-bottom: 2px;
  border: 1px solid #393938;
  border-radius: 50%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (min-width: 600px) {
  .p-focus-article__meta-num {
    width: 31px;
    height: 31px;
  }
}
.p-focus-article__meta-num.--color01 {
  background: #F6B16A;
}
.p-focus-article__meta-num.--color02 {
  background: #38A79A;
}
.p-focus-article__meta-num.--color03 {
  background: #38B779;
}
.p-focus-article__meta-num.--color04 {
  background: #A8A1F8;
}
.p-focus-article__meta-num.--color05 {
  background: #2E7FBA;
}
.p-focus-article__meta-num.--color06 {
  background: #9AD6EB;
}
.p-focus-article__meta-num.--color07 {
  background: #E3A7A8;
}
.p-focus-article__meta-num.--color08 {
  background: #F6B16A;
}
.p-focus-article__meta-num.--color09 {
  background: #38A79A;
}
.p-focus-article__meta-num.--color10 {
  background: #38B779;
}
.p-focus-article__meta-date {
  min-height: 24px;
  padding: 0 4px;
  background: #FFFFFF;
  border: 1px solid #393938;
}
@media (min-width: 600px) {
  .p-focus-article__meta-date {
    min-height: 31px;
    padding: 0 16px 2px 16px;
  }
}
.p-focus-article__terms {
  margin-top: 16px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 8px;
}
.p-focus-article__term a {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 10;
  --max-font-size: 12;
}
.p-focus-article__term a *,
.p-focus-article__term a *::before,
.p-focus-article__term a *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-focus-article__term a {
  color: #696969;
  padding: 2px 10px;
  border-radius: 999px;
  border: 1px solid #EDEDED;
  display: block;
}
@media (min-width: 600px) {
  .p-focus-article__term a {
    padding: 4px 16px;
  }
}

.p-spot-side {
  width: 100%;
  padding: 40px 32px;
  border-bottom: 1px solid #393938;
  display: block;
}
.p-spot-side::before {
  display: none;
}
@media (min-width: 600px) {
  .p-spot-side {
    border-width: 2px;
  }
}
@media (min-width: 960px) {
  .p-spot-side {
    width: min(30%, 317px);
    padding: 40px clamp(24px, 2.5vw, 40px);
    border: none;
  }
  .p-spot-side::before {
    display: block;
  }
}
.p-spot-side__title {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 20;
}
.p-spot-side__title *,
.p-spot-side__title *::before,
.p-spot-side__title *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-spot-side__title {
  font-weight: 700;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 8px;
}
.p-spot-side__title::before {
  content: "";
  min-width: 10px;
  aspect-ratio: 1/1;
  background: url(../images/common/ic_sec_title.svg) no-repeat center center/100% auto;
}
@media (min-width: 960px) {
  .p-spot-side__title {
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}
.p-spot-side__select {
  margin: 8px auto 0 auto;
  display: table;
  position: relative;
}
@media (min-width: 960px) {
  .p-spot-side__select {
    width: 100%;
  }
}
.p-spot-side__select.is-open .p-spot-side__select-list {
  display: block;
}
.p-spot-side__select-list {
  width: 100%;
  max-height: 240px;
  overflow-y: auto;
  background: #FFFFFF;
  border: 1px solid #707070;
  border-radius: 8px;
  position: absolute;
  top: 100%;
  left: 0;
  display: none;
  z-index: 1;
  scrollbar-width: none;
}
.p-spot-side__select-link {
  padding: 8px 16px;
  display: block;
}
@media (hover: hover) and (pointer: fine) {
  .p-spot-side__select-link:hover {
    background: #E6E6E6;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .p-spot-side__select-link:hover {
    background: #E6E6E6;
  }
}
.p-spot-side__select-trigger {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
}
.p-spot-side__select-trigger *,
.p-spot-side__select-trigger *::before,
.p-spot-side__select-trigger *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-spot-side__select-trigger {
  text-align: left;
  min-width: 237px;
  padding: 8px 16px;
  background: #fff;
  border: 1px solid #707070;
  border-radius: 8px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  cursor: pointer;
}
.p-spot-side__select-trigger::after {
  content: "";
  min-width: 8px;
  aspect-ratio: 8/12;
  background: url(../images/common/ic_lang_arrow.svg) no-repeat center center/100% auto;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
@media (min-width: 960px) {
  .p-spot-side__select-trigger {
    min-width: initial;
    width: 100%;
  }
}

.p-spot-main {
  padding: 0;
}
.p-spot-main__note {
  padding: 40px 32px;
}
.p-spot-main__category {
  padding: 32px 24px;
  border-bottom: 1px solid #393938;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (min-width: 600px) {
  .p-spot-main__category {
    border-width: 2px;
  }
}
@media (min-width: 960px) {
  .p-spot-main__category {
    display: none;
  }
}
.p-spot-main__category-title {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 20;
}
.p-spot-main__category-title *,
.p-spot-main__category-title *::before,
.p-spot-main__category-title *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-spot-main__category-title {
  font-weight: 700;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
}
.p-spot-main__category-title::before {
  content: "";
  min-width: 10px;
  aspect-ratio: 1/1;
  background: url(../images/common/ic_sec_title.svg) no-repeat center center/100% auto;
}
.p-spot-main__archive {
  background: #6E7171;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
.p-spot-main__archive::before {
  content: "";
  background: #FFFFFF;
  -webkit-box-ordinal-group: 12;
  -webkit-order: 11;
      -ms-flex-order: 11;
          order: 11;
}
.p-spot-main__archive::after {
  content: "";
  background: #FFFFFF;
  -webkit-box-ordinal-group: 12;
  -webkit-order: 11;
      -ms-flex-order: 11;
          order: 11;
}
@media (min-width: 600px) {
  .p-spot-main__archive {
    grid-template-columns: repeat(3, 1fr);
  }
}
.p-spot-main__card {
  padding: 16px;
  background: #FFFFFF;
  border-right: 1px solid #6E7171;
  border-bottom: 1px solid #6E7171;
}
@media (min-width: 600px) {
  .p-spot-main__card {
    padding: 24px;
  }
}
.p-spot-main__link {
  display: block;
}
@media (hover: hover) and (pointer: fine) {
  .p-spot-main__link:hover {
    opacity: 0.7;
  }
  .p-spot-main__link:hover .p-spot-main__image img {
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .p-spot-main__link:hover {
    opacity: 0.7;
  }
  .p-spot-main__link:hover .p-spot-main__image img {
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }
}
.p-spot-main__image {
  width: 100%;
  background: #ccc;
  aspect-ratio: 3/2;
  border-radius: 8px;
  overflow: hidden;
}
.p-spot-main__image img {
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
  transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
}
.p-spot-main__title {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 24;
}
.p-spot-main__title *,
.p-spot-main__title *::before,
.p-spot-main__title *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-spot-main__title {
  font-weight: 700;
  line-height: 1.6;
  margin-top: 8px;
}
@media (min-width: 600px) {
  .p-spot-main__title {
    margin-top: 16px;
  }
}
.p-spot-main__terms {
  margin-top: 8px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 8px;
}
.p-spot-main__term a {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 10;
  --max-font-size: 12;
}
.p-spot-main__term a *,
.p-spot-main__term a *::before,
.p-spot-main__term a *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-spot-main__term a {
  color: #696969;
  padding: 2px 10px;
  border-radius: 999px;
  border: 1px solid #EDEDED;
  display: block;
}
@media (min-width: 600px) {
  .p-spot-main__term a {
    padding: 4px 16px;
  }
}
@media (hover: hover) and (pointer: fine) {
  .p-spot-main__term a:hover {
    background: #EDEDED;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .p-spot-main__term a:hover {
    background: #EDEDED;
  }
}
.p-spot-main__focus {
  width: min(90%, 883px);
  margin: 112px auto 0 auto;
  background: #FFFBF4;
  border: 1px solid #393938;
}
.p-spot-main__focus-link {
  padding: 24px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 24px;
  position: relative;
}
@media (min-width: 600px) {
  .p-spot-main__focus-link {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .p-spot-main__focus-link::after {
    content: "";
    min-width: 64px;
    aspect-ratio: 1/1;
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="15.255" height="17.321" viewBox="0 0 15.255 17.321"><g transform="translate(-349.273 -8687.86)"><path d="M1.061,3.078l.3,1.1L11.735,1.714,0,15.283.946,16,12.68,2.431l-.423,10.018,1.217.045L14,0Z" transform="translate(350 8688.5)" fill="%23393938"/><path d="M14.528-.64l-.575,13.652-2.216-.082.383-9.087L1.018,16.681-.727,15.36l11.07-12.8L1,4.78.443,2.711ZM13,11.976,13.473.639,1.678,3.445l.037.138L13.127.87.727,15.207l.147.111L13.24,1.019l-.462,10.949Z" transform="translate(350 8688.5)" fill="%23393938"/></g></svg>') no-repeat center center/14px auto;
    background-color: #FFFFFF;
    border: 1px solid #393938;
    border-radius: 50%;
    position: absolute;
    right: 24px;
    top: 24px;
  }
}
@media (min-width: 960px) {
  .p-spot-main__focus-link {
    padding: 40px;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 32px;
  }
  .p-spot-main__focus-link::before {
    right: 40px;
    top: 40px;
  }
}
@media (hover: hover) and (pointer: fine) {
  .p-spot-main__focus-link:hover {
    opacity: 0.6;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .p-spot-main__focus-link:hover {
    opacity: 0.6;
  }
}
.p-spot-main__focus-image {
  width: 100%;
  border-radius: 8px;
  overflow: hidden;
}
@media (min-width: 600px) {
  .p-spot-main__focus-image {
    width: min(36%, 285px);
  }
}
.p-spot-main__focus-textarea {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  position: relative;
}
@media (max-width: 600px) {
  .p-spot-main__focus-textarea::after {
    content: "";
    min-width: 40px;
    aspect-ratio: 1/1;
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="15.255" height="17.321" viewBox="0 0 15.255 17.321"><g transform="translate(-349.273 -8687.86)"><path d="M1.061,3.078l.3,1.1L11.735,1.714,0,15.283.946,16,12.68,2.431l-.423,10.018,1.217.045L14,0Z" transform="translate(350 8688.5)" fill="%23393938"/><path d="M14.528-.64l-.575,13.652-2.216-.082.383-9.087L1.018,16.681-.727,15.36l11.07-12.8L1,4.78.443,2.711ZM13,11.976,13.473.639,1.678,3.445l.037.138L13.127.87.727,15.207l.147.111L13.24,1.019l-.462,10.949Z" transform="translate(350 8688.5)" fill="%23393938"/></g></svg>') no-repeat center center/10px auto;
    background-color: #FFFFFF;
    border: 1px solid #393938;
    border-radius: 50%;
    position: absolute;
    right: 0px;
    top: 0px;
  }
}
.p-spot-main__focus-title {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 18;
  --max-font-size: 20;
}
.p-spot-main__focus-title *,
.p-spot-main__focus-title *::before,
.p-spot-main__focus-title *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-spot-main__focus-title::before {
  content: attr(data-en);
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 32;
  --max-font-size: 56;
}
.p-spot-main__focus-title::before *,
.p-spot-main__focus-title::before *::before,
.p-spot-main__focus-title::before *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-spot-main__focus-title::before {
  font-family: "Chubbo", sans-serif;
  font-weight: 500;
  font-style: normal;
  margin-bottom: 16px;
  display: block;
}
.p-spot-main__focus-caption {
  margin-top: 24px;
}

.p-spot-article {
  padding: 56px 0;
}
@media (min-width: 600px) {
  .p-spot-article {
    padding: 112px 0 0 0;
  }
}
.p-spot-article__title {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 24;
  --max-font-size: 32;
}
.p-spot-article__title *,
.p-spot-article__title *::before,
.p-spot-article__title *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-spot-article__title {
  padding-bottom: 16px;
  border-bottom: 1px solid #393938;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 16px;
}
.p-spot-article__title::before {
  content: "";
  min-width: 40px;
  aspect-ratio: 1/1;
  background-color: #FFFFFF;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 20px auto;
  border: 1px solid #E6E6E6;
  border-radius: 50%;
}
@media (min-width: 600px) {
  .p-spot-article__title::before {
    min-width: 46px;
    background-size: 24px auto;
  }
}
.p-spot-article__title.--gourmet::before {
  background-image: url(../images/sitemap/ic_gourmet.svg);
}
.p-spot-article__title.--tourism::before {
  background-image: url(../images/sitemap/ic_tourism.svg);
}
.p-spot-article__title.--play::before {
  background-image: url(../images/sitemap/ic_play.svg);
}
.p-spot-article__title.--shop::before {
  background-image: url(../images/sitemap/ic_shopping.svg);
}
.p-spot-article__title.--event::before {
  background-image: url(../images/sitemap/ic_event.svg);
}
.p-spot-article__title.--stay::before {
  background-image: url(../images/sitemap/ic_stay.svg);
}
.p-spot-article__title.--transportation::before {
  background-image: url(../images/sitemap/ic_transportation.svg);
}
.p-spot-article__terms {
  margin-top: 16px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 8px;
}
.p-spot-article__term a {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 10;
  --max-font-size: 12;
}
.p-spot-article__term a *,
.p-spot-article__term a *::before,
.p-spot-article__term a *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-spot-article__term a {
  color: #696969;
  padding: 2px 10px;
  border-radius: 999px;
  border: 1px solid #EDEDED;
  display: block;
}
@media (min-width: 600px) {
  .p-spot-article__term a {
    padding: 4px 16px;
  }
}
.p-spot-article__gallery {
  width: min(100%, 800px);
  margin: 40px auto 0 auto;
  position: relative;
}
.p-spot-article__gallery-swiper-slide {
  text-align: center;
  background: #FFFBF4;
  border-radius: 8px;
  aspect-ratio: 3/2;
  overflow: hidden;
}
.p-spot-article__gallery-swiper-slide img {
  max-width: initial;
  width: auto;
  height: 100%;
  margin: 0 auto;
  border-radius: 8px;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-spot-article__gallery-pager {
  margin-top: 32px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 32px;
  position: relative;
}
.p-spot-article__gallery-pagination {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 18;
  --max-font-size: 20;
}
.p-spot-article__gallery-pagination *,
.p-spot-article__gallery-pagination *::before,
.p-spot-article__gallery-pagination *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-spot-article__gallery-pagination {
  font-family: "Darker Grotesque", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  position: static;
}
.p-spot-article__gallery-pagination {
  width: 42px;
  position: static;
}
.p-spot-article__gallery-button {
  width: 40px;
  height: 40px;
  margin: 0;
  aspect-ratio: 1/1;
  border: 1px solid #393938;
  border-radius: 50%;
  position: static;
}
@media (min-width: 600px) {
  .p-spot-article__gallery-button {
    width: 64px;
    height: 64px;
  }
}
.p-spot-article__gallery-button::after {
  content: "";
  width: 14px;
  aspect-ratio: 17/14;
  background: url(../images/common/ic_arrow.svg) no-repeat center center/100% auto;
}
@media (min-width: 600px) {
  .p-spot-article__gallery-button::after {
    width: 17px;
  }
}
.p-spot-article__gallery-button.--prev::after {
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
}
.p-spot-article__caption {
  width: min(100%, 800px);
  margin: 32px auto 0 auto;
}
@media (min-width: 600px) {
  .p-spot-article__caption {
    margin-top: 64px;
  }
}
.p-spot-article__data {
  margin-top: 56px;
  padding: 16px;
  border: 1px solid #393938;
  border-radius: 16px;
}
@media (min-width: 600px) {
  .p-spot-article__data {
    padding: 32px;
    margin-top: 112px;
  }
}
@media (min-width: 960px) {
  .p-spot-article__data {
    padding: 60px;
  }
}
.p-spot-article__table {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
}
.p-spot-article__table *,
.p-spot-article__table *::before,
.p-spot-article__table *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-spot-article__table {
  width: 100%;
  border-collapse: collapse;
}
@media (max-width: 600px) {
  .p-spot-article__table {
    display: block;
  }
  .p-spot-article__table tbody {
    display: block;
  }
}
.p-spot-article__table-caption {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 18;
  --max-font-size: 24;
}
.p-spot-article__table-caption *,
.p-spot-article__table-caption *::before,
.p-spot-article__table-caption *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-spot-article__table-caption {
  font-family: "Onest", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-weight: 700;
  text-align: left;
}
.p-spot-article__table-row {
  border-bottom: 1px solid #AFAFAF;
}
.p-spot-article__table-row:last-child {
  border: none;
}
@media (max-width: 600px) {
  .p-spot-article__table-row {
    display: block;
  }
}
.p-spot-article__table-th {
  text-align: left;
  min-width: 127px;
  padding: 16px 0;
}
@media (max-width: 600px) {
  .p-spot-article__table-th {
    width: 100%;
    min-width: inherit;
    padding: 16px 0 4px 0;
    display: block;
  }
  .p-spot-article__table-th br {
    display: none;
  }
}
.p-spot-article__table-td {
  width: 100%;
  padding: 16px 0;
}
@media (max-width: 600px) {
  .p-spot-article__table-td {
    padding: 4px 0 16px 0;
    display: block;
  }
}
.p-spot-article__links {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 20;
}
.p-spot-article__links *,
.p-spot-article__links *::before,
.p-spot-article__links *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-spot-article__links {
  font-weight: 700;
  margin-top: 40px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 16px 40px;
}
.p-spot-article__links a {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
}
.p-spot-article__links a::before {
  content: "";
  min-width: 40px;
  aspect-ratio: 1/1;
  border: 1px solid #393938;
  border-radius: 50%;
}
.p-spot-article__links-map a::before {
  background: url(../images/common/ic_map_b.svg) no-repeat center center/18px auto;
}
.p-spot-article__links-site a::before {
  background: url(../images/common/ic_blank_b.svg) no-repeat center center/18px auto;
}

.p-news-archive {
  margin-top: 56px;
}
@media (min-width: 600px) {
  .p-news-archive {
    margin-top: 112px;
  }
}
.p-news-archive__search {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (max-width: 600px) {
  .p-news-archive__search {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px 0;
  }
}
.p-news-archive__search-category {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
}
.p-news-archive__search-category *,
.p-news-archive__search-category *::before,
.p-news-archive__search-category *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-news-archive__search-category {
  font-family: "Onest", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  border-right: 1px solid #707070;
}
.p-news-archive__search-category:last-of-type {
  border-right: none;
}
.p-news-archive__search-category a {
  padding: 0 40px;
}
.p-news-archive__search-category.current-cat a {
  color: #707070;
}
@media (max-width: 600px) {
  .p-news-archive__search-category {
    text-align: center;
    padding: 4px 8px;
    position: relative;
  }
  .p-news-archive__search-category:nth-child(even) {
    border: none;
  }
}
.p-news-archive__list {
  margin-top: 80px;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
}
@media (max-width: 600px) {
  .p-news-archive__list {
    border-top: 1px solid #AFAFAF;
  }
}
@media (min-width: 600px) {
  .p-news-archive__list {
    margin-top: 40px;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
  }
}
@media (min-width: 960px) {
  .p-news-archive__list {
    gap: 32px;
  }
}
@media (min-width: 1440px) {
  .p-news-archive__list {
    gap: 40px;
  }
}
@media (max-width: 600px) {
  .p-news-archive__item {
    border-bottom: 1px solid #AFAFAF;
  }
}
.p-news-archive__link {
  padding: 24px 0;
  display: grid;
  grid-template-columns: 104px auto;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
}
@media (min-width: 600px) {
  .p-news-archive__link {
    padding: 0;
    display: block;
  }
}
@media (hover: hover) and (pointer: fine) {
  .p-news-archive__link:hover {
    opacity: 0.7;
  }
  .p-news-archive__link:hover .p-news-archive__image img {
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .p-news-archive__link:hover {
    opacity: 0.7;
  }
  .p-news-archive__link:hover .p-news-archive__image img {
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }
}
.p-news-archive__image {
  width: 100%;
  aspect-ratio: 373/249;
  border: 1px solid #393938;
  border-radius: 8px;
  overflow: hidden;
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
.p-news-archive__image img {
  max-width: initial;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
  transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
}
.p-news-archive__meta {
  font-family: "Darker Grotesque", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  margin-top: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 8px;
}
@media (min-width: 600px) {
  .p-news-archive__meta {
    margin-top: 16px;
    gap: 8px 16px;
  }
}
.p-news-archive__category {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
}
.p-news-archive__category *,
.p-news-archive__category *::before,
.p-news-archive__category *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-news-archive__category {
  color: #FFFFFF;
  text-align: center;
  min-width: 86px;
  border-radius: 999px;
}
.p-news-archive__category.--event {
  background: #F6B16A;
}
.p-news-archive__category.--other {
  background: #2E7FBA;
}
.p-news-archive__category.--trip {
  background: #38A79A;
}
.p-news-archive__date {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
}
.p-news-archive__date *,
.p-news-archive__date *::before,
.p-news-archive__date *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-news-archive__date {
  font-weight: 500;
}
.p-news-archive__title {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 20;
}
.p-news-archive__title *,
.p-news-archive__title *::before,
.p-news-archive__title *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-news-archive__title {
  font-weight: 700;
  margin-top: 8px;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
@media (min-width: 600px) {
  .p-news-archive__title {
    margin-top: 24px;
  }
}

.p-news-article {
  margin-top: 56px;
}
@media (min-width: 600px) {
  .p-news-article {
    margin-top: 112px;
  }
}
.p-news-article__title {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 20;
  --max-font-size: 32;
}
.p-news-article__title *,
.p-news-article__title *::before,
.p-news-article__title *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-news-article__title {
  line-height: 1.5;
  padding-bottom: 24px;
  border-bottom: 1px solid #393938;
}
.p-news-article__meta {
  font-family: "Darker Grotesque", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  margin-top: 24px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
}
.p-news-article__category {
  font-size: 16px;
  color: #FFFFFF;
  text-align: center;
  min-width: 90px;
  border-radius: 999px;
}
.p-news-article__category.--event {
  background: #F6B16A;
}
.p-news-article__category.--other {
  background: #2E7FBA;
}
.p-news-article__category.--trip {
  background: #38A79A;
}
.p-news-article__date {
  color: #747474;
  font-family: "Darker Grotesque", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
}
.p-news-article__content {
  margin-top: 40px;
}
.p-news-article__content p + p {
  margin-top: 40px;
}
.p-news-article__content p + .has-text-align-center {
  margin-top: 80px;
}
.p-news-article__content .wp-block-image {
  margin: 40px 0 0 0;
}
.p-news-article__content .wp-block-image img {
  border-radius: 8px;
}
.p-news-article__content .wp-block-image + p {
  margin-top: 40px;
}
.p-news-article__content a {
  text-decoration: underline;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
}
.p-news-article__content a::before {
  content: "";
  min-width: 40px;
  aspect-ratio: 1/1;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="15.255" height="17.321" viewBox="0 0 15.255 17.321"><g transform="translate(-349.273 -8687.86)"><path d="M1.061,3.078l.3,1.1L11.735,1.714,0,15.283.946,16,12.68,2.431l-.423,10.018,1.217.045L14,0Z" transform="translate(350 8688.5)" fill="%23393938"/><path d="M14.528-.64l-.575,13.652-2.216-.082.383-9.087L1.018,16.681-.727,15.36l11.07-12.8L1,4.78.443,2.711ZM13,11.976,13.473.639,1.678,3.445l.037.138L13.127.87.727,15.207l.147.111L13.24,1.019l-.462,10.949Z" transform="translate(350 8688.5)" fill="%23393938"/></g></svg>') no-repeat no-repeat center center/9px auto;
  border: 1px solid #393938;
  border-radius: 50%;
}
.p-news-article__content a[target=_blank]::before {
  background: url(../images/common/ic_blank_b.svg) no-repeat center center/14px auto;
}

.p-convention-side .p-convention__nav-link {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
}
.p-convention-side .p-convention__nav-link *,
.p-convention-side .p-convention__nav-link *::before,
.p-convention-side .p-convention__nav-link *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-convention-side .p-convention__nav-link {
  padding: 16px 40px;
  border-bottom: 2px solid #393938;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
}
.p-convention-side .p-convention__nav-link::before {
  content: "";
  min-width: 14px;
  aspect-ratio: 14/17;
  -webkit-mask: url(../images/common/ic_arrow.svg) no-repeat center center/100% auto;
          mask: url(../images/common/ic_arrow.svg) no-repeat center center/100% auto;
  background-color: #393938;
  -webkit-transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
  transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
}
@media (hover: hover) and (pointer: fine) {
  .p-convention-side .p-convention__nav-link:hover {
    color: #FFFFFF;
    background: #38A79A;
  }
  .p-convention-side .p-convention__nav-link:hover::before {
    background-color: #FFFFFF;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .p-convention-side .p-convention__nav-link:hover {
    color: #FFFFFF;
    background: #38A79A;
  }
  .p-convention-side .p-convention__nav-link:hover::before {
    background-color: #FFFFFF;
  }
}
@media (min-width: 600px) {
  .p-convention-side .p-convention__nav-link {
    padding: 16px;
    gap: 16px;
  }
}
@media (min-width: 960px) {
  .p-convention-side .p-convention__nav-link {
    padding: 16px clamp(24px, 2.5vw, 40px);
  }
}

.p-convention-main {
  padding: 0;
}
.p-convention-main__anchor {
  margin: 56px auto 0 auto;
  display: table;
  position: relative;
}
@media (min-width: 960px) {
  .p-convention-main__anchor {
    display: none;
  }
}
.p-convention-main__anchor.is-open .p-convention__nav-list {
  display: block;
}
.p-convention-main__anchor .p-convention__nav-list {
  width: 100%;
  background: #FFFFFF;
  border: 1px solid #707070;
  border-radius: 8px;
  position: absolute;
  top: 100%;
  left: 0;
  overflow: hidden;
  display: none;
  z-index: 1;
}
.p-convention-main__anchor .p-convention__nav-link {
  padding: 8px 16px;
  display: block;
}
@media (hover: hover) and (pointer: fine) {
  .p-convention-main__anchor .p-convention__nav-link:hover {
    background: #E6E6E6;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .p-convention-main__anchor .p-convention__nav-link:hover {
    background: #E6E6E6;
  }
}
.p-convention-main__nav-trigger {
  font-size: 16px;
  text-align: left;
  min-width: 237px;
  padding: 8px 16px;
  background: #fff;
  border: 1px solid #707070;
  border-radius: 8px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  cursor: pointer;
}
.p-convention-main__nav-trigger::after {
  content: "";
  min-width: 8px;
  aspect-ratio: 8/12;
  background: url(../images/common/ic_lang_arrow.svg) no-repeat center center/100% auto;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
.p-convention-main__lead {
  margin-top: 56px;
  padding: 0 24px;
}
@media (min-width: 600px) {
  .p-convention-main__lead {
    margin-top: 112px;
    padding: 0 40px;
  }
}
@media (min-width: 960px) {
  .p-convention-main__lead {
    padding: 0 60px;
  }
}
.p-convention-main__lead-caption {
  text-align: left;
  width: min(100%, 928px);
  margin: 0 auto;
}
@media (min-width: 600px) {
  .p-convention-main__lead-caption {
    text-align: center;
  }
}
.p-convention-main__lead-caption + .c-sec-title {
  margin-top: 72px;
}
@media (min-width: 600px) {
  .p-convention-main__lead-caption + .c-sec-title {
    margin-top: 124px;
  }
}
.p-convention-main__lead-caption + .c-sec-title + .p-convention-main__lead-caption {
  margin-top: 24px;
}
@media (min-width: 600px) {
  .p-convention-main__lead-caption + .c-sec-title + .p-convention-main__lead-caption {
    margin-top: 40px;
  }
}
.p-convention-main__button {
  text-align: center;
  margin: 40px 0 0 0;
}
.p-convention-main__facility {
  margin-top: 72px;
  padding-top: 72px;
  background: #FFFBF4;
  border-top: 1px solid #393938;
}
@media (min-width: 600px) {
  .p-convention-main__facility {
    margin-top: 124px;
    padding-top: 124px;
    border-width: 2px;
  }
}
.p-convention-main__section {
  padding: 40px 24px;
  border-bottom: 1px solid #AFAFAF;
}
@media (min-width: 600px) {
  .p-convention-main__section {
    padding: 64px 40px;
  }
}
@media (min-width: 960px) {
  .p-convention-main__section {
    padding: 80px 60px;
  }
}
.p-convention-main__section:nth-of-type(even) {
  background: #FFFFFF;
}
.p-convention-main__section:last-child {
  border: none;
  padding-bottom: 0;
}
.p-convention-main__title {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 20;
}
.p-convention-main__title *,
.p-convention-main__title *::before,
.p-convention-main__title *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-convention-main__title {
  width: min(100%, 928px);
  margin: 0 auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
}
.p-convention-main__title::before {
  content: "";
  min-width: 10px;
  aspect-ratio: 1/1;
  background: url(../images/common/ic_sec_title.svg) no-repeat center center/100% auto;
}
.p-convention-main__card {
  width: min(100%, 928px);
  background: #FFFFFF;
  margin: 24px auto 0 auto;
  padding: 16px;
  border: 1px solid #393938;
  border-radius: 8px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 24px;
}
@media (min-width: 600px) {
  .p-convention-main__card {
    padding: 24px clamp(24px, 2.5vw, 40px);
    border-radius: 16px;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
@media (min-width: 960px) {
  .p-convention-main__card {
    padding: 40px clamp(24px, 2.5vw, 40px);
    gap: 24px 40px;
  }
}
.p-convention-main__image {
  width: 100%;
  aspect-ratio: 3/2;
  background: #ccc;
  border-radius: 4px;
  overflow: hidden;
}
@media (min-width: 600px) {
  .p-convention-main__image {
    width: min(30%, 218px);
  }
}
.p-convention-main__textarea {
  width: 100%;
}
@media (min-width: 600px) {
  .p-convention-main__textarea {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}
.p-convention-main__card-title {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 20;
}
.p-convention-main__card-title *,
.p-convention-main__card-title *::before,
.p-convention-main__card-title *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-convention-main__card-title {
  font-weight: 700;
}
.p-convention-main__card-link {
  text-decoration: underline;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
}
.p-convention-main__card-link::before {
  content: "";
  min-width: 32px;
  aspect-ratio: 1/1;
  background: url(../images/common/ic_blank_b.svg) no-repeat center center/12px auto;
  border: 1px solid #393938;
  border-radius: 50%;
}
@media (min-width: 600px) {
  .p-convention-main__card-link {
    gap: 16px;
  }
  .p-convention-main__card-link::before {
    min-width: 40px;
    background-size: 16px auto;
  }
}
@media (min-width: 600px) {
  .p-convention-main__card-list {
    margin-top: 8px;
    display: grid;
    grid-template-columns: 104px auto;
  }
}
@media (min-width: 960px) {
  .p-convention-main__card-list {
    grid-template-columns: 126px auto;
  }
}
.p-convention-main__card-term {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 15;
  --max-font-size: 16;
}
.p-convention-main__card-term *,
.p-convention-main__card-term *::before,
.p-convention-main__card-term *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-convention-main__card-term {
  font-weight: 700;
  padding: 16px 0 0 0;
  border-top: 1px solid #AFAFAF;
}
.p-convention-main__card-term:nth-of-type(1) {
  border: none;
}
@media (min-width: 600px) {
  .p-convention-main__card-term {
    padding: 16px 0;
  }
}
.p-convention-main__card-term.--accordion-title {
  grid-column: span 2;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  cursor: pointer;
}
.p-convention-main__card-term.--accordion-title::after {
  content: "";
  min-width: 6px;
  aspect-ratio: 6/12;
  background: url(../images/common/ic_acc_arrow.svg) no-repeat center center/100% auto;
  -webkit-transform: scale(1, -1);
          transform: scale(1, -1);
  -webkit-transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
  transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
}
.p-convention-main__card-term.--accordion-title.is-active::after {
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
}
.p-convention-main__card-description {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 15;
  --max-font-size: 16;
}
.p-convention-main__card-description *,
.p-convention-main__card-description *::before,
.p-convention-main__card-description *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-convention-main__card-description {
  line-height: 1.75;
  padding: 8px 0 16px 0;
}
.p-convention-main__card-description strong {
  display: inline-block;
  margin-top: 8px;
}
@media (min-width: 600px) {
  .p-convention-main__card-description {
    padding: 16px 0;
    border-top: 1px solid #AFAFAF;
  }
  .p-convention-main__card-description:nth-of-type(1) {
    border: none;
  }
}
.p-convention-main__card-description.--accordion-content {
  padding: 8px 0 0 0;
  grid-column: span 2;
  border-top: none;
  height: 0;
  overflow: hidden;
  -webkit-transition: height 0.3s;
  transition: height 0.3s;
}
.p-convention-main__card-description.--accordion-content strong:first-child {
  margin-top: 0;
}
@media (min-width: 600px) {
  .p-convention-main__card-description.--accordion-content {
    padding: 0;
  }
}
.p-convention-main__card-remarks li {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 0 0.5em;
}
.p-convention-main__card-remarks li::before {
  content: "・";
}
.p-convention-main__card-map {
  text-decoration: underline;
}
.p-convention-main__card-map::after {
  content: "";
  min-width: 21px;
  aspect-ratio: 21/26;
  margin-left: 16px;
  background-color: #393938;
  -webkit-mask: url(../images/common/ic_map.svg) no-repeat center center/100% auto;
          mask: url(../images/common/ic_map.svg) no-repeat center center/100% auto;
  display: inline-block;
  vertical-align: middle;
}

.p-pamphlet-pagenavi {
  margin-top: 56px;
}
@media (min-width: 600px) {
  .p-pamphlet-pagenavi {
    margin-top: 112px;
  }
}
.p-pamphlet-pagenavi__list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
}
@media (min-width: 600px) {
  .p-pamphlet-pagenavi__list {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 24px;
  }
}
.p-pamphlet-pagenavi__item {
  width: min(100%, 305px);
}
@media (min-width: 960px) {
  .p-pamphlet-pagenavi__item {
    min-width: 305px;
  }
}
.p-pamphlet-pagenavi__link {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 18;
}
.p-pamphlet-pagenavi__link *,
.p-pamphlet-pagenavi__link *::before,
.p-pamphlet-pagenavi__link *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-pamphlet-pagenavi__link {
  font-weight: 700;
  padding: 16px 24px;
  border: 1px solid #393938;
  border-radius: 9999px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 16px;
}
.p-pamphlet-pagenavi__link::before {
  content: "";
  min-width: 14px;
  aspect-ratio: 14/11;
  background: url(../images/common/ic_arrow.svg) no-repeat center center/100% auto;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
@media (min-width: 600px) {
  .p-pamphlet-pagenavi__link {
    padding: 16px;
  }
}
@media (min-width: 960px) {
  .p-pamphlet-pagenavi__link {
    padding: 16px 32px;
  }
}

.p-pamphlet-tourism {
  margin-top: 72px;
}
@media (min-width: 600px) {
  .p-pamphlet-tourism {
    margin-top: 124px;
  }
}
.p-pamphlet-tourism__lead {
  text-align: left;
  margin-top: 24px;
}
@media (min-width: 600px) {
  .p-pamphlet-tourism__lead {
    text-align: center;
    margin-top: 40px;
  }
}
.p-pamphlet-tourism__list {
  margin-top: 40px;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 40px;
}
@media (min-width: 600px) {
  .p-pamphlet-tourism__list {
    grid-template-columns: repeat(2, 1fr);
    gap: 40px 32px;
  }
}
@media (min-width: 960px) {
  .p-pamphlet-tourism__list {
    grid-template-columns: repeat(3, 1fr);
    gap: 40px clamp(32px, 3.5vw, 56px);
  }
}
@media (hover: hover) and (pointer: fine) {
  .p-pamphlet-tourism__link:hover .p-pamphlet-tourism__caption {
    opacity: 0.6;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .p-pamphlet-tourism__link:hover .p-pamphlet-tourism__caption {
    opacity: 0.6;
  }
}
.p-pamphlet-tourism__thumbnail {
  width: 100%;
  aspect-ratio: 10/7;
  margin: 0;
  padding: 0;
  background: #F7F7F7;
  border: 2px solid #393938;
  border-radius: 8px;
  overflow: hidden;
  text-align: center;
}
.p-pamphlet-tourism__thumbnail img {
  width: auto;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  margin: 0 auto;
}
.p-pamphlet-tourism__caption {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 15;
  --max-font-size: 16;
}
.p-pamphlet-tourism__caption *,
.p-pamphlet-tourism__caption *::before,
.p-pamphlet-tourism__caption *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-pamphlet-tourism__caption {
  font-weight: 700;
  margin-top: 8px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
  -webkit-transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
  transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
}
.p-pamphlet-tourism__caption::after {
  content: "";
  min-width: 32px;
  aspect-ratio: 1/1;
  background: url(../images/common/ic_pdf.svg) no-repeat center center/17px auto;
  border: 1px solid #393938;
  border-radius: 999px;
  -webkit-transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
  transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
}
@media (min-width: 600px) {
  .p-pamphlet-tourism__caption {
    margin-top: 24px;
    gap: 24px;
  }
  .p-pamphlet-tourism__caption::after {
    min-width: 40px;
    background-size: 20px auto;
  }
}

.p-pamphlet-volunteer {
  margin-top: 72px;
}
@media (min-width: 600px) {
  .p-pamphlet-volunteer {
    margin-top: 124px;
  }
}
.p-pamphlet-volunteer__lead {
  margin-top: 24px;
}
@media (min-width: 600px) {
  .p-pamphlet-volunteer__lead {
    text-align: center;
    margin-top: 40px;
  }
}
.p-pamphlet-volunteer .c-sec-title-line {
  margin-top: 48px;
}
@media (min-width: 600px) {
  .p-pamphlet-volunteer .c-sec-title-line {
    margin-top: 80px;
  }
}
.p-pamphlet-volunteer__caption {
  margin-top: 24px;
}
.p-pamphlet-volunteer__caption + .c-contact {
  margin-top: 40px;
}
.p-pamphlet-volunteer__apply {
  margin-top: 40px;
  background: #FFFBF4;
  border: 2px solid #38A79A;
  border-radius: 8px;
}
.p-pamphlet-volunteer__apply + .p-pamphlet-volunteer__apply {
  margin-top: 24px;
}
.p-pamphlet-volunteer__apply-title {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 18;
  --max-font-size: 20;
}
.p-pamphlet-volunteer__apply-title *,
.p-pamphlet-volunteer__apply-title *::before,
.p-pamphlet-volunteer__apply-title *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-pamphlet-volunteer__apply-title {
  color: #FFFFFF;
  text-align: center;
  line-height: 1;
  padding: 16px;
  background: #38A79A;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
}
.p-pamphlet-volunteer__apply-title::before {
  content: "";
  min-width: 10px;
  aspect-ratio: 1/1;
  background-color: #FFFFFF;
  -webkit-mask: url(../images/common/ic_sec_title.svg) no-repeat center center/100% auto;
          mask: url(../images/common/ic_sec_title.svg) no-repeat center center/100% auto;
}
@media (min-width: 600px) {
  .p-pamphlet-volunteer__apply-title {
    padding: 24px;
  }
}
.p-pamphlet-volunteer__apply-textarea {
  padding: 24px 16px;
}
@media (min-width: 600px) {
  .p-pamphlet-volunteer__apply-textarea {
    padding: 32px;
  }
}
.p-pamphlet-volunteer__catch {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 18;
}
.p-pamphlet-volunteer__catch *,
.p-pamphlet-volunteer__catch *::before,
.p-pamphlet-volunteer__catch *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-pamphlet-volunteer__catch {
  font-weight: 700;
  text-align: center;
}
.p-pamphlet-volunteer__button {
  margin: 24px auto 0 auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
}
.p-pamphlet-volunteer__button li {
  width: 100%;
  text-align: center;
}
@media (min-width: 600px) {
  .p-pamphlet-volunteer__button li {
    width: auto;
  }
}
.p-pamphlet-volunteer__button a {
  font-family: inherit;
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 18;
}
.p-pamphlet-volunteer__button a *,
.p-pamphlet-volunteer__button a *::before,
.p-pamphlet-volunteer__button a *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-pamphlet-volunteer__button a {
  font-weight: 700;
  width: min(100%, 256px);
  background: #FFFFFF;
}
@media (min-width: 600px) {
  .p-pamphlet-volunteer__button {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
@media (min-width: 960px) {
  .p-pamphlet-volunteer__button a {
    min-width: 256px;
  }
}
.p-pamphlet-volunteer__address {
  text-align: center;
  margin-top: 24px;
}
.p-pamphlet-volunteer__map {
  text-align: center;
  margin-top: 16px;
}
.p-pamphlet-volunteer__map-link {
  font-size: 19px;
  text-decoration: underline;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
}
.p-pamphlet-volunteer__map-link::after {
  content: "";
  min-width: 21px;
  aspect-ratio: 21/26;
  background-color: #393938;
  -webkit-mask: url(../images/common/ic_map.svg) no-repeat center center/100% auto;
          mask: url(../images/common/ic_map.svg) no-repeat center center/100% auto;
}
@media (hover: hover) and (pointer: fine) {
  .p-pamphlet-volunteer__map-link:hover {
    opacity: 0.6;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .p-pamphlet-volunteer__map-link:hover {
    opacity: 0.6;
  }
}
.p-pamphlet-volunteer__note {
  font-size: 14px;
  margin-top: 40px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px;
}
.p-pamphlet-volunteer__note-item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
}
.p-pamphlet-volunteer__note-item::before {
  content: "※";
}

.p-links {
  margin-top: 56px;
}
@media (min-width: 600px) {
  .p-links {
    margin-top: 112px;
  }
}
.p-links__caption {
  text-align: left;
}
@media (min-width: 960px) {
  .p-links__caption {
    text-align: center;
  }
}
.p-links__section {
  margin-top: 64px;
}
@media (min-width: 600px) {
  .p-links__section {
    margin-top: 124px;
  }
}
.p-links__subtitle {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 18;
  --max-font-size: 20;
}
.p-links__subtitle *,
.p-links__subtitle *::before,
.p-links__subtitle *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-links__subtitle {
  margin-top: 48px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
}
.p-links__subtitle::before {
  content: "";
  min-width: 10px;
  aspect-ratio: 1/1;
  background: url(../images/common/ic_sec_title.svg) no-repeat center center/100% auto;
}
@media (min-width: 600px) {
  .p-links__subtitle {
    margin-top: 80px;
  }
}
.p-links .c-sec-title + .p-links__subtitle {
  margin-top: 40px;
}
.p-links__list {
  margin-top: 24px;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 16px;
}
@media (min-width: 600px) {
  .p-links__list {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 960px) {
  .p-links__list {
    gap: 32px;
    grid-template-columns: repeat(3, 1fr);
  }
}
.p-links .c-sec-title + .p-links__list {
  margin-top: 40px;
}
.p-links__list-item {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 15;
  --max-font-size: 18;
}
.p-links__list-item *,
.p-links__list-item *::before,
.p-links__list-item *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-links__list-item {
  font-weight: 700;
}
.p-links__list-link {
  min-height: 80px;
  height: 100%;
  padding: 16px;
  background: #F7F7F7;
  border: 1px solid #707070;
  border-radius: 8px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.p-links__list-link::after {
  content: "";
  min-width: 18px;
  aspect-ratio: 1/1;
  background: url(../images/common/ic_blank.svg) no-repeat center center/100% auto;
}
.p-links__list-link:hover {
  opacity: 0.6;
}
.p-links__list-link.--no-link {
  pointer-events: none;
}
.p-links__list-link.--no-link::after {
  display: none;
}
@media (min-width: 960px) {
  .p-links__list-link {
    padding: 16px clamp(16px, 2vw, 24px);
  }
  .p-links__list-link::after {
    min-width: min(1.8vw, 26px);
  }
}

.p-banner-lead {
  margin-top: 56px;
}
@media (min-width: 600px) {
  .p-banner-lead {
    margin-top: 112px;
  }
}
.p-banner-lead__caption {
  text-align: left;
  margin-top: 24px;
}
@media (min-width: 600px) {
  .p-banner-lead__caption {
    text-align: center;
    margin-top: 40px;
  }
}

.p-banner-detail {
  margin-top: 64px;
}
@media (min-width: 600px) {
  .p-banner-detail {
    margin-top: 124px;
  }
}
.p-banner-detail__table {
  margin-top: 24px;
  border-radius: 8px;
  overflow: hidden;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
}
@media (min-width: 600px) {
  .p-banner-detail__table {
    margin-top: 40px;
    grid-template-columns: min(100%, 150px) auto;
  }
}
@media (min-width: 960px) {
  .p-banner-detail__table {
    grid-template-columns: min(100%, 204px) auto;
  }
}
.p-banner-detail__table dt {
  color: #FFFFFF;
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 18;
}
.p-banner-detail__table dt *,
.p-banner-detail__table dt *::before,
.p-banner-detail__table dt *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-banner-detail__table dt {
  font-weight: 700;
  padding: 16px;
  background: #38A79A;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.p-banner-detail__table dt:last-of-type {
  border: none;
}
@media (min-width: 600px) {
  .p-banner-detail__table dt {
    padding: 24px;
    border-bottom: 1px solid #FFFFFF;
  }
}
@media (min-width: 960px) {
  .p-banner-detail__table dt {
    padding: 24px 32px;
  }
}
.p-banner-detail__table dd {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 15;
  --max-font-size: 16;
}
.p-banner-detail__table dd *,
.p-banner-detail__table dd *::before,
.p-banner-detail__table dd *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-banner-detail__table dd {
  padding: 24px 16px;
  background: #FFFBF4;
}
.p-banner-detail__table dd:last-of-type {
  border: none;
}
@media (min-width: 600px) {
  .p-banner-detail__table dd {
    padding: 24px;
    border-bottom: 1px solid #38A79A;
  }
}
@media (min-width: 960px) {
  .p-banner-detail__table dd {
    padding: 24px 32px;
  }
}

.p-banner-position {
  margin-top: 48px;
}
@media (min-width: 600px) {
  .p-banner-position {
    margin-top: 80px;
  }
}
.p-banner-position__image {
  width: min(100%, 556px);
  margin: 24px auto 0 auto;
}
@media (min-width: 600px) {
  .p-banner-position__image {
    margin-top: 40px;
  }
}

.p-banner-publish {
  margin-top: 48px;
}
@media (min-width: 600px) {
  .p-banner-publish {
    margin-top: 80px;
  }
}
.p-banner-publish__list {
  margin-top: 24px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px;
}
.p-banner-publish__item {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 15;
  --max-font-size: 16;
}
.p-banner-publish__item *,
.p-banner-publish__item *::before,
.p-banner-publish__item *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-banner-publish__item {
  counter-increment: num;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 0 8px;
}
.p-banner-publish__item::before {
  content: "( " counter(num) " )";
  min-width: 2em;
}

.p-banner-data {
  margin-top: 48px;
}
@media (min-width: 600px) {
  .p-banner-data {
    margin-top: 80px;
  }
}
.p-banner-data__list {
  margin-top: 24px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
}
@media (min-width: 600px) {
  .p-banner-data__list {
    margin-top: 40px;
    gap: 24px;
  }
}
.p-banner-data__item {
  max-width: 656px;
}
.p-banner-data__link {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
}
.p-banner-data__link *,
.p-banner-data__link *::before,
.p-banner-data__link *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-banner-data__link {
  width: 100%;
  padding: 12px 16px 12px 24px;
  background: #F7F7F7;
  border: 1px solid #6E7171;
  border-radius: 999px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 16px;
}
.p-banner-data__link::after {
  content: "";
  min-width: 28px;
  aspect-ratio: 1/1;
  background: url(../images/common/ic_pdf.svg) #FFFFFF no-repeat center center/14px auto;
  border: 1px solid #6E7171;
  border-radius: 50%;
}
@media (hover: hover) and (pointer: fine) {
  .p-banner-data__link:hover {
    opacity: 0.6;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .p-banner-data__link:hover {
    opacity: 0.6;
  }
}
@media (min-width: 960px) {
  .p-banner-data__link {
    min-width: 48px;
    padding: 12px 16px 12px 32px;
    background-size: 24px auto;
  }
}

.p-banner-contact {
  margin-top: 48px;
}
@media (min-width: 600px) {
  .p-banner-contact {
    margin-top: 80px;
  }
}
.p-banner-contact__caption {
  margin-top: 24px;
}
.p-banner-contact__button {
  margin-top: 32px;
}
@media (min-width: 600px) {
  .p-banner-contact__button {
    margin-top: 40px;
  }
}

.p-privacy-policy__lead {
  margin-top: 56px;
}
@media (min-width: 600px) {
  .p-privacy-policy__lead {
    margin-top: 112px;
  }
}
.p-privacy-policy__info {
  text-align: right;
  margin-top: 24px;
}
@media (min-width: 600px) {
  .p-privacy-policy__info {
    margin-top: 48px;
  }
}
.p-privacy-policy__section {
  margin-top: 72px;
}
.p-privacy-policy__section + .p-privacy-policy__section {
  margin-top: 40px;
}
@media (min-width: 600px) {
  .p-privacy-policy__section {
    margin-top: 124px;
  }
}
.p-privacy-policy__caption {
  margin-top: 24px;
}
.p-privacy-policy__caption + h2 {
  margin-top: 40px;
}
.p-privacy-policy__list {
  margin-top: 24px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px;
}
.p-privacy-policy__item {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 15;
  --max-font-size: 16;
}
.p-privacy-policy__item *,
.p-privacy-policy__item *::before,
.p-privacy-policy__item *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-privacy-policy__item {
  counter-increment: num;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 0 8px;
}
.p-privacy-policy__item::before {
  content: "( " counter(num) " )";
  min-width: 2em;
}

.p-sitemap-lead {
  padding: 56px 0;
  border-bottom: 1px solid #393938;
}
@media (min-width: 600px) {
  .p-sitemap-lead {
    padding: 112px 0;
    border-width: 2px;
  }
}
.p-sitemap-lead__caption {
  text-align: left;
}
@media (min-width: 600px) {
  .p-sitemap-lead__caption {
    text-align: center;
  }
}

@media (min-width: 960px) {
  .p-sitemap-links {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
}
.p-sitemap-links__side {
  padding: 0 0 56px 0;
  border-bottom: 1px solid #393938;
  position: relative;
}
@media (min-width: 600px) {
  .p-sitemap-links__side {
    padding: 0 0 112px 0;
  }
}
@media (min-width: 960px) {
  .p-sitemap-links__side {
    padding: 0 60px;
    border: none;
  }
  .p-sitemap-links__side::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 2px;
    height: calc(100% + 160px);
    background: #393938;
    z-index: 1;
  }
}
.p-sitemap-links__side-list {
  margin-top: 56px;
  padding: 0 24px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px 0;
}
@media (min-width: 600px) {
  .p-sitemap-links__side-list {
    padding: 0 40px;
    margin-top: 112px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px 24px;
  }
}
@media (min-width: 960px) {
  .p-sitemap-links__side-list {
    padding: 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 24px 0;
  }
}
.p-sitemap-links__side-link {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 15;
  --max-font-size: 20;
}
.p-sitemap-links__side-link *,
.p-sitemap-links__side-link *::before,
.p-sitemap-links__side-link *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-sitemap-links__side-link {
  font-weight: 700;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
}
.p-sitemap-links__side-link::before {
  content: "";
  min-width: 28px;
  aspect-ratio: 1/1;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="15.255" height="17.321" viewBox="0 0 15.255 17.321"><g transform="translate(-349.273 -8687.86)"><path d="M1.061,3.078l.3,1.1L11.735,1.714,0,15.283.946,16,12.68,2.431l-.423,10.018,1.217.045L14,0Z" transform="translate(350 8688.5)" fill="%23393938"/><path d="M14.528-.64l-.575,13.652-2.216-.082.383-9.087L1.018,16.681-.727,15.36l11.07-12.8L1,4.78.443,2.711ZM13,11.976,13.473.639,1.678,3.445l.037.138L13.127.87.727,15.207l.147.111L13.24,1.019l-.462,10.949Z" transform="translate(350 8688.5)" fill="%23393938"/></g></svg>') no-repeat no-repeat center center/7px auto;
  border: 1px solid #393938;
  border-radius: 50%;
}
@media (min-width: 960px) {
  .p-sitemap-links__side-link::before {
    min-width: 40px;
    background-size: 9px auto;
    gap: 16px;
  }
}
.p-sitemap-links__sub-list {
  margin-top: 0;
  padding-left: 36px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px;
}
@media (min-width: 960px) {
  .p-sitemap-links__sub-list {
    padding-left: 56px;
  }
}
.p-sitemap-links__sub-link {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
}
.p-sitemap-links__sub-link *,
.p-sitemap-links__sub-link *::before,
.p-sitemap-links__sub-link *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-sitemap-links__sub-link {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
}
.p-sitemap-links__sub-link::before {
  content: "";
  min-width: 6px;
  aspect-ratio: 6/12;
  background: url(../images/common/ic_arrow_breadcrumbs.svg) no-repeat center center/100% auto;
}
.p-sitemap-links__content {
  padding: 0 24px;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media (min-width: 600px) {
  .p-sitemap-links__content {
    padding: 0 40px;
  }
}
@media (min-width: 960px) {
  .p-sitemap-links__content {
    padding: 0 60px;
  }
}
.p-sitemap-links__title {
  margin-top: 56px;
}
@media (min-width: 600px) {
  .p-sitemap-links__title {
    margin-top: 112px;
  }
}
.p-sitemap-links__section {
  margin-top: 40px;
}
.p-sitemap-links__section-link {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 20;
}
.p-sitemap-links__section-link *,
.p-sitemap-links__section-link *::before,
.p-sitemap-links__section-link *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-sitemap-links__section-link {
  font-weight: 700;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
}
.p-sitemap-links__section-link::before {
  content: "";
  min-width: 28px;
  aspect-ratio: 1/1;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="15.255" height="17.321" viewBox="0 0 15.255 17.321"><g transform="translate(-349.273 -8687.86)"><path d="M1.061,3.078l.3,1.1L11.735,1.714,0,15.283.946,16,12.68,2.431l-.423,10.018,1.217.045L14,0Z" transform="translate(350 8688.5)" fill="%23393938"/><path d="M14.528-.64l-.575,13.652-2.216-.082.383-9.087L1.018,16.681-.727,15.36l11.07-12.8L1,4.78.443,2.711ZM13,11.976,13.473.639,1.678,3.445l.037.138L13.127.87.727,15.207l.147.111L13.24,1.019l-.462,10.949Z" transform="translate(350 8688.5)" fill="%23393938"/></g></svg>') no-repeat no-repeat center center/7px auto;
  border: 1px solid #393938;
  border-radius: 50%;
  margin-right: 4px;
}
.p-sitemap-links__section-link img {
  width: 28px;
}
@media (min-width: 960px) {
  .p-sitemap-links__section-link {
    min-width: 40px;
    background-size: 9px auto;
    margin-right: 8px;
  }
  .p-sitemap-links__section-link img {
    width: 40px;
  }
}
.p-sitemap-links__list {
  margin-top: 24px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}
@media (min-width: 600px) {
  .p-sitemap-links__list {
    grid-template-columns: repeat(3, 1fr);
  }
}
.p-sitemap-links__list-link {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 14;
  --max-font-size: 16;
}
.p-sitemap-links__list-link *,
.p-sitemap-links__list-link *::before,
.p-sitemap-links__list-link *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-sitemap-links__list-link {
  height: 100%;
  background: #F7F7F7;
  padding: 8px;
  border: 1px solid #6E7171;
  border-radius: 4px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (min-width: 600px) {
  .p-sitemap-links__list-link {
    padding: 8px 16px;
  }
}

.p-contact-form {
  margin-top: 56px;
}
@media (min-width: 600px) {
  .p-contact-form {
    margin-top: 112px;
  }
}
.p-contact-form__caption {
  text-align: left;
}
@media (min-width: 600px) {
  .p-contact-form__caption {
    text-align: center;
  }
}
.p-contact-form__list {
  margin-top: 16px;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
}
@media (min-width: 600px) {
  .p-contact-form__list {
    margin-top: 48px;
    grid-template-columns: 180px auto;
  }
}
@media (min-width: 960px) {
  .p-contact-form__list {
    grid-template-columns: 250px auto;
  }
}
.p-contact-form__item {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 15;
  --max-font-size: 16;
}
.p-contact-form__item *,
.p-contact-form__item *::before,
.p-contact-form__item *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-contact-form__item {
  font-weight: 700;
  padding: 24px 0 0 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
}
@media (min-width: 600px) {
  .p-contact-form__item {
    padding: 32px 0;
    border-bottom: 1px solid #AFAFAF;
  }
}
.p-contact-form__item span {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 12;
  --max-font-size: 14;
}
.p-contact-form__item span *,
.p-contact-form__item span *::before,
.p-contact-form__item span *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-contact-form__item span {
  color: #EF5834;
}
.p-contact-form__item.--top {
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.p-contact-form__item:last-of-type {
  border: none;
}
.p-contact-form__input {
  font-size: 16px;
  padding: 0 0 24px 0;
  border-bottom: 1px solid #AFAFAF;
}
@media (max-width: 600px) {
  .p-contact-form__input {
    margin-top: 16px;
  }
}
@media (min-width: 600px) {
  .p-contact-form__input {
    padding: 32px 0;
  }
}
.p-contact-form__input:last-of-type {
  border: none;
}
.p-contact-form__acceptance {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 15;
  --max-font-size: 16;
}
.p-contact-form__acceptance *,
.p-contact-form__acceptance *::before,
.p-contact-form__acceptance *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-contact-form__acceptance {
  text-align: center;
  margin-top: 56px;
}
.p-contact-form__acceptance a {
  text-decoration: underline;
}
@media (hover: hover) and (pointer: fine) {
  .p-contact-form__acceptance a:hover {
    opacity: 0.7;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .p-contact-form__acceptance a:hover {
    opacity: 0.7;
  }
}
.p-contact-form__acceptance .wpcf7-list-item {
  margin: 0;
}
.p-contact-form__submit {
  text-align: center;
  margin-top: 40px;
}
.p-contact-form__note {
  margin-top: 8px;
}
.p-contact-form__note-title {
  padding-bottom: 8px;
  border-bottom: 1px solid #707070;
}
.p-contact-form__note-list {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 15;
  --max-font-size: 16;
}
.p-contact-form__note-list *,
.p-contact-form__note-list *::before,
.p-contact-form__note-list *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-contact-form__note-list {
  margin: 16px 0 0 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px;
}
.p-contact-form__note-item {
  text-indent: -1.3em;
  margin-left: 1.3em;
}
.p-contact-form__note-item a {
  text-decoration: underline;
}
@media (hover: hover) and (pointer: fine) {
  .p-contact-form__note-item a:hover {
    opacity: 0.7;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .p-contact-form__note-item a:hover {
    opacity: 0.7;
  }
}
.p-contact-form .hidden-fields-container, .p-contact-form .screen-reader-response {
  display: none;
}
.p-contact-form .wpcf7-acceptance .wpcf7-list-item-label {
  font-size: 16px;
  line-height: 1;
  padding-left: 32px;
  position: relative;
}
.p-contact-form .wpcf7-acceptance .wpcf7-list-item-label::before {
  content: "";
  display: block;
  width: 24px;
  aspect-ratio: 1/1;
  border-radius: 2px;
  background: #FFFFFF;
  border: 1px solid #E6E6E6;
  position: absolute;
  top: 0;
  left: 0;
}
.p-contact-form .wpcf7-acceptance input[type=checkbox]:checked + .wpcf7-list-item-label::after {
  content: "";
  display: block;
  width: 24px;
  aspect-ratio: 24/30;
  background: url(../images/common/ic_chack.svg) no-repeat center center/20px auto;
  position: absolute;
  left: 0;
  top: -7px;
}
.p-contact-form input[type=checkbox] {
  display: none;
}
.p-contact-form input[type=text], .p-contact-form input[type=email], .p-contact-form input[type=tel] {
  font-size: 16px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 100%;
  background: #F7F7F7;
  padding: 16px;
  border: 1px solid #6E7171;
  border-radius: 5px;
  outline: none;
}
.p-contact-form input[type=text]::-webkit-input-placeholder, .p-contact-form input[type=email]::-webkit-input-placeholder, .p-contact-form input[type=tel]::-webkit-input-placeholder {
  color: #AFAFAF;
}
.p-contact-form input[type=text]::-moz-placeholder, .p-contact-form input[type=email]::-moz-placeholder, .p-contact-form input[type=tel]::-moz-placeholder {
  color: #AFAFAF;
}
.p-contact-form input[type=text]:-ms-input-placeholder, .p-contact-form input[type=email]:-ms-input-placeholder, .p-contact-form input[type=tel]:-ms-input-placeholder {
  color: #AFAFAF;
}
.p-contact-form input[type=text]::-ms-input-placeholder, .p-contact-form input[type=email]::-ms-input-placeholder, .p-contact-form input[type=tel]::-ms-input-placeholder {
  color: #AFAFAF;
}
.p-contact-form input[type=text]::placeholder, .p-contact-form input[type=email]::placeholder, .p-contact-form input[type=tel]::placeholder {
  color: #AFAFAF;
}
.p-contact-form textarea {
  font-size: 16px;
  line-height: 2;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 100%;
  height: auto !important;
  min-height: 230px;
  background: #F7F7F7;
  padding: 16px;
  border: 1px solid #6E7171;
  border-radius: 5px;
  outline: none;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  overflow: visible;
}
.p-contact-form textarea::-webkit-input-placeholder {
  color: #AFAFAF;
}
.p-contact-form textarea::-moz-placeholder {
  color: #AFAFAF;
}
.p-contact-form textarea:-ms-input-placeholder {
  color: #AFAFAF;
}
.p-contact-form textarea::-ms-input-placeholder {
  color: #AFAFAF;
}
.p-contact-form textarea::placeholder {
  color: #AFAFAF;
}
.p-contact-form input[type=submit] {
  color: #FFFFFF;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  min-width: 250px;
  background: #393938;
  padding: 12px 16px;
  border: none;
  border-radius: 9999px;
  outline: none;
  cursor: pointer;
  -webkit-transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
  transition: 0.3s cubic-bezier(0.12, 0, 0.39, 0);
}
.p-contact-form input[type=submit]::-webkit-input-placeholder {
  color: #ABB0AC;
}
.p-contact-form input[type=submit]::-moz-placeholder {
  color: #ABB0AC;
}
.p-contact-form input[type=submit]:-ms-input-placeholder {
  color: #ABB0AC;
}
.p-contact-form input[type=submit]::-ms-input-placeholder {
  color: #ABB0AC;
}
.p-contact-form input[type=submit]::placeholder {
  color: #ABB0AC;
}
.p-contact-form .wpcf7-spinner {
  display: none;
}
.p-contact-form .wpcf7-not-valid-tip {
  font-size: 14px;
  color: #F84D36;
  margin-top: 8px;
}
.p-contact-form .wpcf7-response-output {
  margin-top: 40px;
  text-align: center;
  color: #F84D36;
}

.p-contact-thanks {
  margin-top: 56px;
}
@media (min-width: 600px) {
  .p-contact-thanks {
    margin-top: 112px;
  }
}
.p-contact-thanks__message {
  text-align: left;
}
@media (min-width: 600px) {
  .p-contact-thanks__message {
    text-align: center;
  }
}
.p-contact-thanks__caption + .p-contact-thanks__caption {
  margin-top: 24px;
}
.p-contact-thanks__button {
  text-align: center;
  margin-top: 40px;
}

.p-site-policy {
  margin-top: 56px;
}
@media (min-width: 600px) {
  .p-site-policy {
    margin-top: 112px;
  }
}
.p-site-policy__section {
  margin-top: 72px;
}
.p-site-policy__section + .p-site-policy__section {
  margin-top: 40px;
}
@media (min-width: 600px) {
  .p-site-policy {
    margin-top: 124px;
  }
}
.p-site-policy__caption {
  margin-top: 24px;
}
.p-site-policy .c-sec-title + .p-site-policy__caption {
  margin-top: 32px;
}
@media (min-width: 600px) {
  .p-site-policy .c-sec-title + .p-site-policy__caption {
    margin-top: 40px;
    text-align: center;
  }
}
.p-site-policy__item {
  line-height: 1.75;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.p-site-policy__item::before {
  content: "・";
  min-width: 1em;
}

.p-search-result {
  margin-top: 56px;
}
@media (min-width: 600px) {
  .p-search-result {
    margin-top: 112px;
  }
}
.p-search-result .gsc-above-wrapper-area {
  max-width: 100%;
}
.p-search-result .gsc-wrapper {
  max-width: 100%;
}
.p-search-result .gsc-webResult.gsc-result {
  padding: 0;
}
.p-search-result .gs-webResult.gs-result {
  padding: 20px 0 !important;
  border-bottom: 1px solid #393938;
}
.p-search-result .gsc-results .gsc-cursor-box {
  margin: 56px 0 0 0 !important;
}
@media (min-width: 600px) {
  .p-search-result .gsc-results .gsc-cursor-box {
    margin-top: 112px 0 0 0 !important;
  }
}
.p-search-result .gsc-results .gsc-cursor {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.p-search-result .gsc-results .gsc-cursor-box .gsc-cursor-page {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 20;
}
.p-search-result .gsc-results .gsc-cursor-box .gsc-cursor-page *,
.p-search-result .gsc-results .gsc-cursor-box .gsc-cursor-page *::before,
.p-search-result .gsc-results .gsc-cursor-box .gsc-cursor-page *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.p-search-result .gsc-results .gsc-cursor-box .gsc-cursor-page {
  font-family: "Darker Grotesque", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-weight: 700;
  min-width: 40px;
  aspect-ratio: 1/1;
  border-radius: 50%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.p-search-result .gsc-results .gsc-cursor-box .gsc-cursor-current-page {
  color: #FFFFFF;
  background: #393938;
}
.p-search-result .gcsc-find-more-on-google {
  display: none;
}
.p-search-result .gs-webResult.gs-result a.gs-title:link, .p-search-result .gs-webResult.gs-result a.gs-title:link b, .p-search-result .gs-imageResult a.gs-title:link, .p-search-result .gs-imageResult a.gs-title:link b {
  color: #393938;
  font-weight: 700;
}
.p-search-result .gs-result .gs-title, .p-search-result .gs-result .gs-title * {
  color: #393938 !important;
}
.p-search-result .gs-webResult div.gs-visibleUrl {
  color: #6E7171;
}
@media (max-width: 600px) {
  .p-search-result .gsc-control-cse .gs-spelling, .p-search-result .gsc-control-cse .gs-result .gs-title, .p-search-result .gsc-control-cse .gs-result .gs-title * {
    font-size: 16px;
  }
}
.p-search-result .gsc-webResult-divider {
  display: none;
}

/*------------------------------------
  404
-------------------------------------*/
.p-404-notfound {
  text-align: center;
  margin-top: 56px;
}
@media (min-width: 600px) {
  .p-404-notfound {
    margin-top: 112px;
  }
}
.p-404-notfound__button {
  margin-top: 40px;
}

h3.wp-block-heading {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 18;
  --max-font-size: 20;
}
h3.wp-block-heading *,
h3.wp-block-heading *::before,
h3.wp-block-heading *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
h3.wp-block-heading {
  width: 100%;
  padding: 16px;
  background: #FFFBF4;
  border: 2px solid #AFAFAF;
  border-radius: 8px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
}
h3.wp-block-heading::before {
  content: "";
  min-width: 10px;
  aspect-ratio: 1/1;
  -webkit-mask: url(../images/common/ic_sec_title.svg) no-repeat center center/100% auto;
          mask: url(../images/common/ic_sec_title.svg) no-repeat center center/100% auto;
  background: #38A79A;
}
@media (min-width: 600px) {
  h3.wp-block-heading {
    padding: 24px 32px;
  }
}
h3.wp-block-heading.is-style-title-color-orange::before {
  background: #F6B16A;
}
h3.wp-block-heading.is-style-title-color-pink::before {
  background: #E3A7A8;
}
h3.wp-block-heading.is-style-title-color-green::before {
  background: #38B779;
}
h3.wp-block-heading.is-style-title-color-blue::before {
  background: #2E7FBA;
}

h4.wp-block-heading {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 16;
  --max-font-size: 18;
}
h4.wp-block-heading *,
h4.wp-block-heading *::before,
h4.wp-block-heading *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
h4.wp-block-heading {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
}
h4.wp-block-heading::before {
  content: "";
  min-width: 10px;
  aspect-ratio: 1/1;
  border-radius: 50%;
}
h4.wp-block-heading.is-style-title-color-orange::before {
  background: #F6B16A;
}
h4.wp-block-heading.is-style-title-color-pink::before {
  background: #E3A7A8;
}
h4.wp-block-heading.is-style-title-color-green::before {
  background: #38B779;
}
h4.wp-block-heading.is-style-title-color-blue::before {
  background: #2E7FBA;
}

.wp-block-list {
  margin: 24px 0 0 30px;
  list-style: none;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 9px;
}
.wp-block-list > li {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 5px;
}
.wp-block-list > li::before {
  content: "";
  min-width: 9px;
  aspect-ratio: 1/1;
  background: #AFAFAF;
  margin-top: 0.5em;
}
.wp-block-list.is-style-list-link {
  margin: 24px 0 0 0;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 24px 40px;
}
.wp-block-list.is-style-list-link > li::before {
  display: none;
}
.wp-block-list.is-style-list-link > li a {
  text-decoration: none;
  gap: 8px;
}

.wp-block-columns.is-style-columns-2 {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 40px;
}
@media (min-width: 600px) {
  .wp-block-columns.is-style-columns-2 {
    grid-template-columns: repeat(2, 1fr);
    gap: 32px;
  }
}
@media (min-width: 960px) {
  .wp-block-columns.is-style-columns-2 {
    gap: 40px;
  }
}
.wp-block-columns.is-style-columns-3 {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 32px;
}
@media (min-width: 600px) {
  .wp-block-columns.is-style-columns-3 {
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
  }
}
@media (min-width: 960px) {
  .wp-block-columns.is-style-columns-3 {
    gap: 32px;
  }
}
.wp-block-columns .wp-element-caption {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 13;
  --max-font-size: 15;
}
.wp-block-columns .wp-element-caption *,
.wp-block-columns .wp-element-caption *::before,
.wp-block-columns .wp-element-caption *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.wp-block-columns .wp-element-caption {
  margin-top: 8px;
}
.wp-block-columns .wp-block-column .wp-block-image {
  margin: 0;
}

/*----------------------------------------------------
  margin
----------------------------------------------------*/
.u-mt0 {
  margin-top: 0px;
}

.u-mt8 {
  margin-top: 8px;
}

.u-mt16 {
  margin-top: 16px;
}

.u-mt24 {
  margin-top: 24px;
}

.u-mt32 {
  margin-top: 32px;
}

.u-mt40 {
  margin-top: 40px;
}

.u-mt48 {
  margin-top: 48px;
}

.u-mt56 {
  margin-top: 56px;
}

.u-mt64 {
  margin-top: 64px;
}

.u-mt72 {
  margin-top: 72px;
}

.u-mt80 {
  margin-top: 80px;
}

.u-mt88 {
  margin-top: 88px;
}

.u-mt96 {
  margin-top: 96px;
}

.u-mt104 {
  margin-top: 104px;
}

.u-mt112 {
  margin-top: 112px;
}

.u-mt120 {
  margin-top: 120px;
}

.u-mt128 {
  margin-top: 128px;
}

.u-mt136 {
  margin-top: 136px;
}

.u-mt144 {
  margin-top: 144px;
}

.u-mt152 {
  margin-top: 152px;
}

.u-mt160 {
  margin-top: 160px;
}

@media (max-width: 600px) {
  .u-mt-sp0 {
    margin-top: 0px;
  }
  .u-mt-sp8 {
    margin-top: 8px;
  }
  .u-mt-sp16 {
    margin-top: 16px;
  }
  .u-mt-sp24 {
    margin-top: 24px;
  }
  .u-mt-sp32 {
    margin-top: 32px;
  }
  .u-mt-sp40 {
    margin-top: 40px;
  }
  .u-mt-sp48 {
    margin-top: 48px;
  }
  .u-mt-sp56 {
    margin-top: 56px;
  }
  .u-mt-sp64 {
    margin-top: 64px;
  }
  .u-mt-sp72 {
    margin-top: 72px;
  }
  .u-mt-sp80 {
    margin-top: 80px;
  }
  .u-mt-sp88 {
    margin-top: 88px;
  }
  .u-mt-sp96 {
    margin-top: 96px;
  }
  .u-mt-sp104 {
    margin-top: 104px;
  }
  .u-mt-sp112 {
    margin-top: 112px;
  }
  .u-mt-sp120 {
    margin-top: 120px;
  }
  .u-mt-sp128 {
    margin-top: 128px;
  }
  .u-mt-sp136 {
    margin-top: 136px;
  }
  .u-mt-sp144 {
    margin-top: 144px;
  }
  .u-mt-sp152 {
    margin-top: 152px;
  }
  .u-mt-sp160 {
    margin-top: 160px;
  }
}
/*----------------------------------------------------
  画像
----------------------------------------------------*/
.u-note {
  --viewport-from: 600;
  --viewport-to: 1440;
  --min-font-size: 10;
  --max-font-size: 12;
}
.u-note *,
.u-note *::before,
.u-note *::after {
  --viewport-unit-converter: 1vw;
  --fz-from: var(--font-size-from, var(--min-font-size));
  --fz-to: var(--font-size-to, var(--max-font-size));
  --fz-slope: (var(--fz-to) - var(--fz-from)) / (var(--viewport-to) - var(--viewport-from)) * 100;
  --fz-intercept: (var(--viewport-to) * var(--fz-from) - var(--viewport-from) * var(--fz-to)) / (var(--viewport-to) - var(--viewport-from));
  --font-size: calc(var(--fz-slope) * var(--viewport-unit-converter) + var(--fz-intercept) * 1px);
  --min-fz-px: calc(var(--min-font-size) * 1px);
  --max-fz-px: calc(var(--max-font-size) * 1px);
  --clamp: clamp(var(--min-fz-px), var(--font-size), var(--max-fz-px));
  --max: var(--has-max, var(--min));
  --min: var(--has-min, var(--font-size));
  --has-max: min(var(--max-fz-px), var(--font-size));
  --has-min: max(var(--min-fz-px), var(--font-size));
  font-size: var(--clamp, var(--max));
}
.u-note {
  margin-top: 8px;
}

/*----------------------------------------------------
  画像
----------------------------------------------------*/
.u-image {
  border-radius: 5px;
}

/*----------------------------------------------------
  display
----------------------------------------------------*/
@media (max-width: 600px) {
  .u-dn-sp-only {
    display: none !important;
  }
}

.u-db-sp-only {
  display: none !important;
}
@media (max-width: 600px) {
  .u-db-sp-only {
    display: block !important;
  }
}

@media (min-width: 600px) {
  .u-dn-md {
    display: none !important;
  }
}

.u-db-md {
  display: none !important;
}
@media (min-width: 600px) {
  .u-db-md {
    display: block !important;
  }
}

@media (min-width: 960px) {
  .u-dn-lg {
    display: none !important;
  }
}

.u-db-lg {
  display: none !important;
}
@media (min-width: 960px) {
  .u-db-lg {
    display: block !important;
  }
}

@media (min-width: 1440px) {
  .u-dn-xl {
    display: none !important;
  }
}

.u-db-xl {
  display: none !important;
}
@media (min-width: 1440px) {
  .u-db-xl {
    display: block !important;
  }
}

@media (min-width: 1920px) {
  .u-dn-xxl {
    display: none !important;
  }
}

.u-db-xxl {
  display: none !important;
}
@media (min-width: 1920px) {
  .u-db-xxl {
    display: block !important;
  }
}/*# sourceMappingURL=style.css.map */