@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");
@layer Reset {
  /*! destyle.css v1.0.14 | MIT License | https://github.com/nicolas-cusan/destyle.css */
  /* Reset box-model */
  /* ============================================ */
  * {
    box-sizing: border-box;
  }
  ::before,
  ::after {
    box-sizing: inherit;
  }
  /* Document */
  /* ============================================ */
  /**
   * 1. Correct the line height in all browsers.
   * 2. Prevent adjustments of font size after orientation changes in iOS.
   * 3. Remove gray overlay on links for iOS.
   */
  html {
    line-height: 1.15; /* 1 */
    -webkit-text-size-adjust: 100%; /* 2 */
    -webkit-tap-highlight-color: transparent; /* 3*/
  }
  /* Sections */
  /* ============================================ */
  /**
   * Remove the margin in all browsers.
   */
  body {
    margin: 0;
  }
  /**
   * Render the `main` element consistently in IE.
   */
  main {
    display: block;
  }
  /* Vertical rhythm */
  /* ============================================ */
  p,
  table,
  blockquote,
  address,
  pre,
  iframe,
  form,
  figure,
  dl {
    margin: 0;
  }
  /* Headings */
  /* ============================================ */
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    font-size: inherit;
    line-height: inherit;
    font-weight: inherit;
    margin: 0;
  }
  /* Lists (enumeration) */
  /* ============================================ */
  ul,
  ol {
    margin: 0;
    padding: 0;
    list-style: none;
  }
  /* Lists (definition) */
  /* ============================================ */
  dt {
    font-weight: bold;
  }
  dd {
    margin-left: 0;
  }
  /* Grouping content */
  /* ============================================ */
  /**
   * 1. Add the correct box sizing in Firefox.
   * 2. Show the overflow in Edge and IE.
   */
  hr {
    box-sizing: content-box; /* 1 */
    height: 0; /* 1 */
    overflow: visible; /* 2 */
    border: 0;
    border-top: 1px solid;
    margin: 0;
    clear: both;
    color: inherit;
  }
  /**
   * 1. Correct the inheritance and scaling of font size in all browsers.
   * 2. Correct the odd `em` font sizing in all browsers.
   */
  pre {
    font-family: monospace, monospace; /* 1 */
    font-size: inherit; /* 2 */
  }
  address {
    font-style: inherit;
  }
  /* Text-level semantics */
  /* ============================================ */
  /**
   * Remove the gray background on active links in IE 10.
   */
  a {
    background-color: transparent;
    text-decoration: none;
    color: inherit;
  }
  /**
   * 1. Remove the bottom border in Chrome 57-
   * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
   */
  abbr[title] {
    border-bottom: none; /* 1 */
    text-decoration: underline; /* 2 */
    text-decoration: underline dotted; /* 2 */
  }
  /**
   * Add the correct font weight in Chrome, Edge, and Safari.
   */
  b,
  strong {
    font-weight: bolder;
  }
  /**
   * 1. Correct the inheritance and scaling of font size in all browsers.
   * 2. Correct the odd `em` font sizing in all browsers.
   */
  code,
  kbd,
  samp {
    font-family: monospace, monospace; /* 1 */
    font-size: inherit; /* 2 */
  }
  /**
   * Add the correct font size in all browsers.
   */
  small {
    font-size: 80%;
  }
  /**
   * Prevent `sub` and `sup` elements from affecting the line height in
   * all browsers.
   */
  sub,
  sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }
  sub {
    bottom: -0.25em;
  }
  sup {
    top: -0.5em;
  }
  /* Embedded content */
  /* ============================================ */
  /**
   * Remove the border on images inside links in IE 10.
   */
  img {
    border-style: none;
    vertical-align: bottom;
  }
  embed,
  object,
  iframe {
    border: 0;
    vertical-align: bottom;
  }
  /* Forms */
  /* ============================================ */
  /**
   * Reset form fields to make them styleable
   */
  button,
  input,
  optgroup,
  select,
  textarea {
    -webkit-appearance: none;
    appearance: none;
    vertical-align: middle;
    color: inherit;
    font: inherit;
    border: 0;
    background: transparent;
    padding: 0;
    margin: 0;
    outline: 0;
    border-radius: 0;
    text-align: inherit;
  }
  /**
   * Reset radio and checkbox appearance to preserve their look in iOS.
   */
  [type=checkbox] {
    -webkit-appearance: checkbox;
    appearance: checkbox;
  }
  [type=radio] {
    -webkit-appearance: radio;
    appearance: radio;
  }
  /**
   * Show the overflow in IE.
   * 1. Show the overflow in Edge.
   */
  button,
  input {
    /* 1 */
    overflow: visible;
  }
  /**
   * Remove the inheritance of text transform in Edge, Firefox, and IE.
   * 1. Remove the inheritance of text transform in Firefox.
   */
  button,
  select {
    /* 1 */
    text-transform: none;
  }
  /**
   * Correct the inability to style clickable types in iOS and Safari.
   */
  button,
  [type=button],
  [type=reset],
  [type=submit] {
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
  }
  button[disabled],
  [type=button][disabled],
  [type=reset][disabled],
  [type=submit][disabled] {
    cursor: default;
  }
  /**
   * Remove the inner border and padding in Firefox.
   */
  button::-moz-focus-inner,
  [type=button]::-moz-focus-inner,
  [type=reset]::-moz-focus-inner,
  [type=submit]::-moz-focus-inner {
    border-style: none;
    padding: 0;
  }
  /**
   * Restore the focus styles unset by the previous rule.
   */
  button:-moz-focusring,
  [type=button]:-moz-focusring,
  [type=reset]:-moz-focusring,
  [type=submit]:-moz-focusring {
    outline: 1px dotted ButtonText;
  }
  /**
   * Remove arrow in IE10 & IE11
   */
  select::-ms-expand {
    display: none;
  }
  /**
   * Remove padding
   */
  option {
    padding: 0;
  }
  /**
   * Reset to invisible
   */
  fieldset {
    margin: 0;
    padding: 0;
    border: 0;
    min-width: 0;
  }
  /**
   * 1. Correct the text wrapping in Edge and IE.
   * 2. Correct the color inheritance from `fieldset` elements in IE.
   * 3. Remove the padding so developers are not caught out when they zero out
   *    `fieldset` elements in all browsers.
   */
  legend {
    color: inherit; /* 2 */
    display: table; /* 1 */
    max-width: 100%; /* 1 */
    padding: 0; /* 3 */
    white-space: normal; /* 1 */
  }
  /**
   * Add the correct vertical alignment in Chrome, Firefox, and Opera.
   */
  progress {
    vertical-align: baseline;
  }
  /**
   * Remove the default vertical scrollbar in IE 10+.
   */
  textarea {
    overflow: auto;
  }
  /**
   * Correct the cursor style of increment and decrement buttons in Chrome.
   */
  [type=number]::-webkit-inner-spin-button,
  [type=number]::-webkit-outer-spin-button {
    height: auto;
  }
  /**
   * 1. Correct the outline style in Safari.
   */
  [type=search] {
    outline-offset: -2px; /* 1 */
  }
  /**
   * Remove the inner padding in Chrome and Safari on macOS.
   */
  [type=search]::-webkit-search-decoration {
    -webkit-appearance: none;
  }
  /**
   * 1. Correct the inability to style clickable types in iOS and Safari.
   * 2. Change font properties to `inherit` in Safari.
   */
  ::-webkit-file-upload-button {
    -webkit-appearance: button; /* 1 */
    font: inherit; /* 2 */
  }
  /**
   * Clickable labels
   */
  label[for] {
    cursor: pointer;
  }
  /* Interactive */
  /* ============================================ */
  /*
   * Add the correct display in Edge, IE 10+, and Firefox.
   */
  details {
    display: block;
  }
  /*
   * Add the correct display in all browsers.
   */
  summary {
    display: list-item;
  }
  /*
   * Remove outline for editable content.
   */
  [contenteditable] {
    outline: none;
  }
  /* Table */
  /* ============================================ */
  table {
    border-collapse: collapse;
    border-spacing: 0;
  }
  caption {
    text-align: left;
  }
  td,
  th {
    vertical-align: top;
    padding: 0;
  }
  th {
    text-align: left;
    font-weight: bold;
  }
  /* Misc */
  /* ============================================ */
  /**
   * Add the correct display in IE 10+.
   */
  template {
    display: none;
  }
  /**
   * Add the correct display in IE 10.
   */
  [hidden] {
    display: none;
  }
}
/* Settings
---------------------------------------------------------- */
/* Theme
---------------------------------------------------------- */
/* Color
---------------------------------------------------------- */
/* Font
---------------------------------------------------------- */
/* Breakpoints
---------------------------------------------------------- */
/* Bootstrap 参考 */
/**
* @ Media Query(1方向 || 範囲指定)
* params: $key : variables/breakpointsで定義しているマップのキー
* params: $option : (up/down) or (variables/breakpointsのキー)
*/
/* Base(  @layer Base )
---------------------------------------------------------- */
@layer Base {
  /**
  * 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));
  }
  :root {
    --root-font-size: 16px;
    --viewport-from: 375;
    --viewport-to: 1024;
    --clr-official-primary: #2FA0E5;
    --clr-official-instagram: #F040AA;
    --clr-season-w: #3A93C1;
    --clr-season-g: #7DA756;
    --fc-default: #000;
    --px: 0.26666666666666666vw;
    --link-clr-default: #0000ee;
    --link-clr-visited: #551a8b
    --link-clr-hover : #0000ee;
    --link-clr-active: #FF0000;
    --theme-side-gap: min(4.8vw, 48px);
    --theme-inline-size-min: 90%;
    --theme-inline-size-max: 1024px;
    --theme-inline-size-base: min(calc( 100% - ( var(--theme-side-gap) * 2 ) ), var(--theme-inline-size-max));
    --theme-inline-size-wide: 90%;
    --leading-trim: calc((1em - 1lh) / 2);
    --theme-bg-color: #fff;
    --fw-r: 400;
    --fw-m: 500;
    --fw-b: 700;
    --theme-header-height: clamp(4rem, 0.6414676425rem + 14.3297380586vw, 9.8125rem);
    --scroll-bar-inline-size: 15px;
    --ff-icon: "Material Icons Outlined";
    --easing-bounce: cubic-bezier(0.68, -0.6, 0.32, 1.6);
    --section-row-gap: clamp(3.5rem, 2.633rem + 3.7vw, 5rem);
  }
  :lang(en) {
    --leading-trim: calc((1cap - 1lh) / 2);
  }
  :where(*) {
    min-inline-size: 0;
    min-block-size: 0;
  }
  :where(html) {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
    scroll-behavior: smooth;
  }
  :where(body) {
    --min-font-size: 14;
    --max-font-size: 16;
    color: var(--fc-default);
    line-height: 1.75;
    min-block-size: 100svh;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: var(--fw-r);
    background: var(--theme-bg-color);
    overflow-x: hidden;
    accent-color: #080;
  }
  :where(body):has(.l-root.--drawer-open) {
    overflow: hidden;
  }
  :where(body):has(.l-drawer[open]) {
    overflow: hidden;
  }
  :where(a, a:link) {
    color: var(--link-clr-default);
    text-decoration: none;
    cursor: pointer;
  }
  :where(a:visited) {
    color: revert;
  }
  @media (any-hover: hover) {
    :where(a:hover) {
      color: revert;
    }
  }
  :where(a:active) {
    color: revert;
  }
  :where(a:focus-visible, a:focus) {
    outline: solid currentColor;
    color: revert;
  }
  :where(textarea) {
    inline-size: 100%;
    field-sizing: content;
  }
  @supports (field-sizing: content) {
    :where(textarea) {
      resize: none;
    }
  }
  :where(img, picture, svg) {
    display: block;
    max-inline-size: 100%;
    height: auto;
  }
  :where(iframe, object, video) {
    display: block;
    max-inline-size: 100%;
    height: auto;
  }
  :where(button, [type=button], [type=reset], [type=submit]) {
    touch-action: manipulation;
  }
  :where(dialog) {
    width: unset;
    max-width: unset;
    height: unset;
    max-height: unset;
    padding: unset;
    color: unset;
    background-color: unset;
    border: unset;
    overflow: unset;
  }
}
/* Components(  @layer Base )
---------------------------------------------------------- */
@layer Components;
/* --- Components --- */
@layer Components.buttons {
  .c-btn__list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5lh 1em;
    justify-content: center;
  }
  .c-btn {
    display: grid inline;
    background: var(--clr-season-w);
    place-content: center center;
    color: #fff;
    min-inline-size: 167px;
    border-radius: 80px;
    line-height: 1.32;
    padding: 0.4lh 1em;
  }
  .c-btn:is(.--min) {
    --min-font-size: 12;
    --max-font-size: 14;
    min-inline-size: 122px;
  }
  .c-btn[target=_blank] {
    grid-template-columns: auto min(4.2vw, 20px);
    column-gap: 0.5em;
  }
  .c-btn[target=_blank]::after {
    content: "";
    aspect-ratio: 1;
    background: url(../img/ic_blank_white.svg) no-repeat center center/contain;
    align-items: center;
  }
  .c-btn:is(.--navigator) {
    grid-template-columns: auto min(4.2vw, 20px);
  }
  .c-btn:is(.--navigator)::after {
    content: "";
    aspect-ratio: 1;
    background: url(../img/spot-navigator.svg) no-repeat center center/contain;
    align-items: center;
  }
}
@layer Components.Information {
  .c-information__list {
    display: grid;
    border-block-start: 3px solid var(--clr-season-w);
  }
  .c-information {
    display: grid;
    grid-template-columns: max-content min(6em, 100px) 1fr;
    gap: 0.32lh 1em;
    align-items: flex-start;
    border-block-end: 1px dashed #AAAAAA;
    padding-block: 0.72lh;
    color: var(--clr-season-w);
  }
  @media (width >= 992px) {
    .c-information {
      grid-template-columns: max-content min(6em, 100px) 1fr;
    }
  }
  .c-information-time {
    font-weight: var(--fw-m);
  }
  .c-information-category {
    --min-font-size: 12;
    --max-font-size: 14;
    font-weight: var(--fw-m);
    border: 1px solid currentColor;
    border-radius: 5em;
    display: grid;
    place-content: center center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .c-information__link {
    grid-column: 1/-1;
    grid-row: 2/3;
  }
  @media (width >= 992px) {
    .c-information__link {
      grid-column: revert;
      grid-row: revert;
    }
  }
}
@layer Components.Card {
  .c-card__list {
    --column-gap: min(5.6vw, 32px);
    --inline-size: var(--theme-inline-size-max);
    --column-number: 3;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, (var(--inline-size) - var(--column-gap) * (var(--column-number) - 1)) / var(--column-number)), 1fr));
    column-gap: var(--column-gap);
    row-gap: 1.24lh;
  }
  .c-card__list:where(.l-section.--wide *) {
    --inline-size: 1400px;
  }
  .c-card {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 3;
    row-gap: 0.24lh;
    padding-block-end: 1.24lh;
    border-block-end: 3px solid var(--clr-season-w);
  }
  .c-card:where(.c-card__list.--restaurant *) {
    grid-row: span 4;
  }
  .c-card:where(.c-card__list.--stay *) {
    grid-row: span 6;
  }
  .c-card__image {
    inline-size: 100%;
    aspect-ratio: 320/223;
    position: relative;
  }
  .c-card__image:has(a[target=_blank])::after {
    content: "";
    inline-size: min(8vw, 32px);
    aspect-ratio: 1;
    background: url(../img/ic_blank2.svg) no-repeat center center/contain;
    position: absolute;
    right: 0.5em;
    bottom: 0.5em;
    pointer-events: none;
  }
  .c-card__image :is(img) {
    inline-size: 100%;
    block-size: 100%;
    object-fit: cover;
  }
  .c-card-heading {
    --min-font-size: 18;
    --max-font-size: 20;
    font-weight: var(--fw-m);
    line-height: 1.48;
  }
  .c-card-description {
    --min-font-size: 14;
    --max-font-size: 16;
    color: #808080;
  }
  .c-card-sns__list {
    display: grid;
    grid-auto-flow: column;
    justify-content: center;
    align-items: center;
    column-gap: 1em;
    margin-block-start: 0.56lh;
  }
  .c-card-meta__list {
    padding-block-start: 1lh;
  }
  .c-card-data__list {
    display: grid;
    border-block: 1px solid #ddd;
  }
  .c-card-data__list dl {
    display: grid;
    grid-template-columns: min(18vw, 110px) 1fr;
    padding-block: 0.56lh;
    column-gap: 0.25em;
    line-height: 1.32;
  }
  .c-card-data__list dl:not(:last-child) {
    border-block-end: 1px solid #ddd;
  }
  .c-card-data__list dl dt {
    font-weight: var(--fw-m);
  }
}
@layer Components.FeatureLayout {
  .c-featurelayout__list {
    --max-inline-size: 1400px;
    --content-area-size: min(calc( 52vw - (var(--theme-side-gap) * 2) ), 580px);
    --padding-inline-size: calc( 100% - var(--content-area-size) );
    --image-inline-size: min(48vw, 570px);
    display: grid;
    row-gap: clamp(3.5rem, 2.633rem + 3.7vw, 5rem);
  }
  .c-featurelayout {
    display: grid;
    grid-template-columns: var(--theme-side-gap) var(--theme-inline-size-base) var(--theme-side-gap);
    grid-template-areas: ". image ." ". content .";
    align-items: center;
    max-inline-size: var(--max-inline-size);
    margin-inline: auto;
    row-gap: 1lh;
    position: relative;
  }
  @media (width >= 992px) {
    .c-featurelayout {
      grid-template-columns: var(--theme-side-gap) 1fr var(--theme-inline-size-base) 1fr var(--theme-side-gap);
      grid-template-areas: ". . content . .";
    }
  }
  .c-featurelayout:first-child::before {
    content: "";
    inline-size: min(20vw, 134px);
    aspect-ratio: 134/98;
    background: url(../img/winter_illust2.svg) no-repeat center center/contain;
    position: relative;
    transform: translate(var(--theme-side-gap), -50%);
    align-self: flex-start;
  }
  @media (width >= 992px) {
    .c-featurelayout:first-child::before {
      grid-column: 2/3;
      position: absolute;
      top: 0;
      left: 0;
      transform: revert;
    }
  }
  .c-featurelayout:nth-child(2)::before {
    content: "";
    inline-size: min(20vw, 136px);
    aspect-ratio: 136/146;
    background: url(../img/winter_illust3.svg) no-repeat center center/contain;
    grid-column: 3/5;
    position: absolute;
    bottom: 0;
    right: 0;
    transform: translate(calc(var(--theme-side-gap) * -1), 50%);
  }
  @media (width >= 992px) {
    .c-featurelayout:nth-child(2)::before {
      transform: revert;
    }
  }
  .c-featurelayout:last-child::after {
    content: "";
    inline-size: min(24vw, 204px);
    aspect-ratio: 204/161;
    background: url(../img/winter_illust4.svg) no-repeat center center/contain;
    grid-row: 3/4;
    grid-column: 1/-1;
    justify-self: center;
    margin-block-start: var(--section-row-gap);
  }
  @media (width >= 992px) {
    .c-featurelayout:last-child::after {
      grid-row: 2/3;
      grid-column: 3/5;
      justify-self: flex-end;
    }
  }
  .c-featurelayout-body {
    grid-area: content;
  }
  @media (width >= 992px) {
    .c-featurelayout-body {
      grid-row: 1/2;
      padding-inline: 0 var(--padding-inline-size);
    }
    .c-featurelayout-body:where(.c-featurelayout__list .c-featurelayout:nth-child(even) *) {
      padding-inline: var(--padding-inline-size) 0;
    }
  }
  .c-featurelayout-body .c-btn__list {
    margin-block-start: 1lh;
  }
  .c-featurelayout-heading__lv1 {
    --min-font-size: 24;
    --max-font-size: 32;
    font-weight: var(--fw-m);
    margin-block: var(--leading-trim) calc(var(--leading-trim) + 0.8lh);
  }
  .c-featurelayout-heading__lv2 {
    display: grid;
    grid-template-columns: min(12vw, 76px) 1fr;
    align-items: center;
    column-gap: 1.32em;
    margin-block: var(--leading-trim) calc(var(--leading-trim) + 1lh);
  }
  .c-featurelayout-heading__lv2::after {
    content: "";
    inline-size: 100%;
    block-size: 1px;
    display: block;
    background: var(--clr-season-w);
  }
  .c-featurelayout-subheading {
    margin-block-end: 0.32lh;
    font-weight: bold;
    color: #808080;
  }
  .c-featurelayout-image__list {
    grid-area: image;
    margin-inline: calc(var(--theme-side-gap) * -1);
  }
  @media (width >= 992px) {
    .c-featurelayout-image__list {
      margin-inline: revert;
      grid-column: -1/-4;
      grid-row: 1/-1;
      inline-size: var(--image-inline-size);
      justify-self: flex-end;
      margin-inline: revert;
    }
    .c-featurelayout-image__list:where(.c-featurelayout__list .c-featurelayout:nth-child(even) *) {
      grid-column: 1/4;
      justify-self: flex-start;
    }
  }
  .c-featurelayout-image__list :is(img) {
    inline-size: 100%;
    block-size: 100%;
    object-fit: cover;
  }
  .c-featurelayout-image :is(img) {
    aspect-ratio: 570/390;
  }
  .c-featurelayout-image figcaption {
    margin-block-start: 0.16lh;
    color: #808080;
  }
  @media (width <= 991px) {
    .c-featurelayout-image figcaption {
      padding-inline: var(--theme-side-gap);
    }
  }
  .c-featurelayout-image figcaption :is(a[target=_blank]) {
    display: grid inline;
    grid-template-columns: auto min(3.2vw, 16px);
    justify-content: flex-start;
    align-items: center;
    column-gap: 0.24lh;
    color: #808080;
  }
  .c-featurelayout-image figcaption :is(a[target=_blank])::after {
    content: "";
    aspect-ratio: 1;
    background: url(../img/ic_blank.svg) no-repeat center center/contain;
  }
  @media (width >= 992px) {
    .c-featurelayout-btn__list {
      justify-content: flex-start;
    }
  }
}
@layer Components.Facility {
  .c-facility__list {
    display: grid;
    row-gap: 1lh;
  }
  .c-facility__block {
    display: grid;
    gap: 1lh min(2.4vw, 32px);
    padding-block-end: 1lh;
    margin-block-end: 1lh;
    border-block-end: 3px double #ddd;
  }
  @media (width >= 992px) {
    .c-facility__block {
      grid-template-columns: min(32vw, 360px) 1fr;
    }
  }
  .c-facility__images {
    margin-inline: calc(var(--theme-side-gap) * -1);
  }
  @media (width >= 992px) {
    .c-facility__images {
      margin-inline: inherit;
    }
  }
  .c-facility__images img {
    inline-size: 100%;
    aspect-ratio: 4/3;
    object-fit: cover;
    contain: strict;
  }
  .c-facility-header {
    margin-block-end: 0.56lh;
  }
  .c-facility-heading__lv1 {
    --min-font-size: 18;
    --max-font-size: 24;
    font-weight: var(--fw-m);
    margin-block: var(--leading-trim);
  }
  .c-facility-heading__lv2 {
    color: #808080;
    font-weight: var(--fw-m);
    margin-block: calc(var(--leading-trim) + 0.56lh) var(--leading-trim);
  }
  .c-facility-pr {
    margin-block-end: 0.56lh;
  }
  .c-facility-tel {
    margin-block-end: 0.56lh;
  }
  .c-facility-sns:empty {
    display: none;
  }
}
@layer Components.Heading {
  .c-heading__lv1 {
    --min-font-size: 24;
    --max-font-size: 32;
    font-weight: var(--fw-m);
    margin-inline: auto;
    line-height: 1.48;
    max-inline-size: fit-content;
  }
  .c-heading__lv2 {
    --min-font-size: 20;
    --max-font-size: 24;
    font-weight: var(--fw-m);
    border-block-end: 1px solid var(--clr-season-w);
    padding-block-end: 0.16lh;
    margin-block-end: 0.56lh;
    line-height: 1.32;
  }
  .c-heading__lv2:not(:first-child) {
    margin-block-start: 1lh;
  }
}
@layer Components.Map {
  .c-map {
    inline-size: 100%;
    aspect-ratio: 16/9;
  }
  .c-map iframe {
    inline-size: 100%;
    block-size: 100%;
    object-fit: cover;
  }
}
@layer Components.IndexLink {
  .c-indexlink__list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, (1024px - min(2.4vw, 16px) * 2) / 3), 1fr));
    gap: min(2.4vw, 16px);
  }
  .c-indexlink__item {
    text-align: center;
    border: 1px solid #404040;
    padding: 0.24lh 1em;
  }
  .c-indexlink__item:is(a) {
    --min-font-size: 16;
    --max-font-size: 18;
    color: #404040;
    font-weight: var(--fw-m);
    display: grid;
    grid-template-columns: 1fr min(4.8vw, 20px);
    align-items: center;
    column-gap: 1em;
  }
  .c-indexlink__item:is(a)::after {
    content: "";
    aspect-ratio: 1;
    background: url(../img/ic_down_allow.svg) no-repeat center center/contain;
  }
}
@layer Components.Paragraph {
  .c-paragraph:not(:first-child) {
    margin-block-start: 1lh;
  }
  .c-paragraph:not(:last-child) {
    margin-block-end: 1lh;
  }
}
@layer Components.List {
  .c-list {
    display: grid;
    row-gap: 0.32lh;
  }
  .c-list li {
    line-height: 1.32;
    position: relative;
    padding-left: 1em;
  }
  .c-list li :is(a[target=_blank]) {
    display: grid inline;
    grid-template-columns: auto min(3.2vw, 16px);
    justify-content: flex-start;
    align-items: center;
    column-gap: 0.24lh;
  }
  .c-list li :is(a[target=_blank])::after {
    content: "";
    aspect-ratio: 1;
    background: url(../img/ic_blank.svg) no-repeat center center/contain;
  }
  .c-list li::before {
    content: "";
    inline-size: 0.5em;
    aspect-ratio: 1;
    background: var(--clr-season-w);
    border-radius: 50%;
    position: absolute;
    top: 0.32lh;
    left: 0;
  }
}
@layer Components.Attention {
  .c-attention {
    display: grid;
    row-gap: 0.32lh;
  }
  .c-attention:not(:last-child) {
    margin-block-end: 1lh;
  }
  .c-attention:not(:first-child) {
    margin-block-start: 1lh;
  }
  .c-attention li {
    --min-font-size: 12;
    --max-font-size: 14;
    padding-inline-start: 1em;
    position: relative;
    color: #808080;
    line-height: 1.32;
  }
  .c-attention li::before {
    content: "※";
    position: absolute;
    top: 0;
    left: 0;
    color: currentColor;
  }
}
/* --- Components --- */
@layer Components.Message {
  .c-message__empty {
    border: 1px solid currentColor;
    color: #aaa;
    padding: 0.32lh 1em;
    background: #fafafa;
    border-radius: 8px;
  }
}
@layer Components.Link {
  .c-link__list {
    display: grid;
    row-gap: 0.32lh;
  }
  .c-link__list:not(:first-child) {
    margin-block-start: 0.75lh;
  }
  .c-link {
    line-height: 1.32;
  }
  .c-link :is(a[target=_blank]) {
    display: grid inline;
    grid-template-columns: min(2vw, 8px) auto min(6.4vw, 24px);
    justify-content: flex-start;
    align-items: center;
    column-gap: 0.24em;
  }
  .c-link :is(a[target=_blank])::before {
    content: "";
    display: block;
    inline-size: 100%;
    block-size: 3px;
    background: var(--clr-season-w);
  }
  .c-link :is(a[target=_blank])::after {
    content: "";
    aspect-ratio: 1;
    background: url(../img/ic_blank2.svg) no-repeat center center/contain;
    display: block;
  }
}
/* Layout(  @layer Base )
---------------------------------------------------------- */
@layer Layout;
/* --- Root --- */
@layer Layout.Root {
  .l-root {
    min-block-size: 100svh;
    display: grid;
    grid-template-rows: auto auto 1fr;
  }
}
/* --- Header --- */
@layer Layout.Header {
  .l-header {
    --logo-inline-size: clamp(8rem, 6.122rem + 8.01vw, 11.25rem);
    --drawer-inline-size: min(12vw, 60px);
    --header-padding-block: min(2.4vw, 16px);
    display: grid;
    grid-template-columns: var(--theme-side-gap) var(--logo-inline-size) 1fr min(36vw, 180px);
    grid-template-rows: var(--header-padding-block) auto auto var(--header-padding-block);
    grid-template-areas: " . . . util" " . catch . ." " . logo . ." " . . . .";
    background: #fff;
  }
  @media (width >= 992px) {
    .l-header {
      grid-template-columns: var(--theme-side-gap) var(--logo-inline-size) 1fr auto var(--theme-side-gap);
      grid-template-areas: " . . . . ." " . catch . util ." ". logo . menu ." " . . . . .";
    }
  }
  .l-header:where(html[lang=en] *) {
    --logo-inline-size: clamp(10rem, 7.111rem + 12.33vw, 15rem);
  }
  .l-header.--fixed {
    position: fixed;
    inline-size: 100%;
    top: 0;
    left: 0;
    z-index: 100;
  }
  .l-header__sitename {
    --min-font-size: 12;
    --max-font-size: 14;
    grid-area: catch;
    grid-column: 2/4;
  }
  .l-header__logo {
    grid-area: logo;
  }
  .l-header-util-link__list {
    grid-area: util;
    grid-row: 1/-1;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
  @media (width >= 992px) {
    .l-header-util-link__list {
      column-gap: 1em;
      grid-row: 2/3;
      grid-template-columns: revert;
      grid-auto-flow: column;
      justify-self: flex-end;
    }
  }
  .l-header-util-link__list:has(.l-header-util-link.--season-g) {
    grid-template-columns: repeat(3, 1fr);
  }
  .l-header-util-link {
    color: #808080;
    padding: 0.16lh 1em;
    line-height: 1.25;
    place-content: center center;
    text-align: center;
  }
  @media (width >= 992px) {
    .l-header-util-link {
      border: 1px solid currentColor;
      border-radius: 80px;
      place-content: revert;
    }
  }
  .l-header-util-link .sp {
    display: block;
  }
  @media (width >= 992px) {
    .l-header-util-link .sp {
      display: none;
    }
  }
  .l-header-util-link:is(.--season-g) {
    border: 1px solid var(--clr-season-g);
    background: var(--clr-season-g);
    color: #fff;
  }
  @media (width <= 991px) {
    .l-header-util-link:is(.--season-g) span {
      display: none;
    }
  }
  .l-header .l-menu__list {
    grid-area: menu;
    display: grid;
    grid-auto-flow: column;
    column-gap: min(3.2vw, 24px);
    display: none;
    align-self: flex-end;
  }
  @media (width >= 992px) {
    .l-header .l-menu__list {
      display: grid;
    }
  }
  .l-header .l-menu__item {
    color: #000;
    position: relative;
  }
  .l-header .l-menu__item :is(a) {
    color: currentColor;
    font-weight: var(--fw-m);
    transition: 0.3s color ease;
  }
  .l-header .l-menu__item :is(a):focus-visible {
    color: var(--clr-season-w);
  }
  @media (any-hover: hover) {
    .l-header .l-menu__item :is(a):hover {
      color: var(--clr-season-w);
    }
  }
  .l-header .l-menu__item:is(.--current) {
    color: var(--clr-season-w);
  }
  .l-header .l-menu-sub__list {
    inline-size: min(24vw, 220px);
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 0 16px rgba(0, 0, 0, 0.1);
    position: absolute;
    left: 0;
    display: grid;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: 0.3s opacity ease, 0.3s visibility ease;
  }
  .l-header .l-menu-sub__list:where(.l-menu__item:hover > *) {
    opacity: 1;
    visibility: visible;
    pointer-events: revert;
  }
  .l-header .l-menu-sub__item {
    --min-font-size: 12;
    --max-font-size: 14;
    padding: 0.56lh 1em;
  }
  .l-header .l-menu-sub__item:not(:last-child) {
    border-block-end: 1px solid #ddd;
  }
  .l-header-drawer__btn {
    display: grid;
    place-content: center center;
    cursor: pointer;
    background: #ddd;
  }
  .l-header-drawer__btn :is(img) {
    inline-size: 30%;
    aspect-ratio: 1;
    object-fit: cover;
    margin-inline: auto;
  }
  @media (width >= 992px) {
    .l-header-drawer__btn {
      row-gap: revert;
      display: none;
    }
  }
}
/* --- Page Header --- */
@layer Layout.PageHeader {
  .l-page-header {
    display: grid;
    place-content: center center;
    padding-block: 6.8lh 2.4lh;
    padding-inline: var(--theme-side-gap);
    text-align: center;
    background: url(../img/header/img_page.jpg) no-repeat center center/cover;
    position: relative;
  }
  .l-page-header:where(.l-root[data-slug=stay] *) {
    background: url(../img/header/img_stay.jpg) no-repeat center center/cover;
  }
  .l-page-header:where(.l-root[data-slug=restaurant] *) {
    background: url(../img/header/img_restaurant.jpg) no-repeat center center/cover;
  }
  .l-page-header:where(.l-root[data-slug=activity] *) {
    background: url(../img/header/img_activity.jpg) no-repeat center center/cover;
  }
  .l-page-header:where(.l-root[data-slug=shop] *) {
    background: url(../img/header/img_shop.jpg) no-repeat center center/cover;
  }
  .l-page-header::before {
    content: "";
    inline-size: 100%;
    block-size: min(24vw, 120px);
    background-image: linear-gradient(0deg, #ffffff, transparent);
    position: absolute;
    bottom: 0;
    left: 0;
  }
  .l-page-header__icon {
    inline-size: min(18vw, 120px);
    margin-inline: auto;
    margin-block-end: 0.56lh;
  }
  .l-page-header__description {
    color: #404040;
    margin-block-start: 0.48lh;
  }
  .l-page-heading {
    --min-font-size: 32;
    --max-font-size: 40;
    font-weight: var(--fw-m);
    position: relative;
    text-shadow: 0 0 0.5em rgb(255, 255, 255), 0 0 0.5em rgb(255, 255, 255);
  }
}
/* --- Main --- */
@layer Layout.Main {
  .l-main {
    display: grid;
    row-gap: var(--section-row-gap);
  }
}
/* --- Section --- */
@layer Layout.Section {
  .l-section__group {
    display: grid;
    row-gap: var(--section-row-gap);
    position: relative;
    padding-block-end: var(--section-row-gap);
  }
  .l-section__group::after {
    content: "";
    background: #F3F3F3;
    inline-size: 100%;
    block-size: calc(100% - var(--section-row-gap) * 2);
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: -1;
  }
  .l-section__inner {
    margin-inline: auto;
    inline-size: var(--theme-inline-size-base);
  }
  .l-section__inner:where(.l-section.--wide *) {
    inline-size: min(100% - var(--theme-side-gap) * 2, 1400px);
  }
  .l-section-header {
    display: grid;
    place-content: center center;
    margin-block: var(--leading-trim) calc(var(--leading-trim) + 1.24lh);
  }
  .l-section-header:has(.c-btn) {
    grid-template-columns: 1fr auto 1fr;
    grid-template-areas: ". heading btn";
    column-gap: 1.5em;
  }
  .l-section-header:has(.c-btn) .c-btn {
    grid-area: btn;
    align-self: center;
    justify-self: flex-end;
  }
  .l-section-heading {
    --min-font-size: 24;
    --max-font-size: 32;
    font-weight: var(--fw-m);
    grid-area: heading;
    text-align: center;
  }
}
/* --- Cta --- */
@layer Layout.Cta {
  .l-cta {
    display: grid;
    row-gap: 1lh;
  }
  @media (width >= 992px) {
    .l-cta {
      grid-template-columns: 1fr 1px 1fr;
      grid-template-areas: "heading . ." "profile line action";
    }
    .l-cta::before {
      content: "";
      grid-area: line;
      block-size: 75%;
      background: #808080;
      align-self: center;
    }
  }
  .l-cta-heading {
    --min-font-size: 24;
    --max-font-size: 32;
    text-align: center;
  }
  @media (width >= 992px) {
    .l-cta-heading {
      grid-area: heading;
      grid-column: 1/-1;
    }
  }
  .l-cta-profile {
    display: grid;
    place-content: center center;
  }
  .l-cta-profile__logo {
    --min-font-size: 18;
    --max-font-size: 20;
    margin-inline: auto;
    font-weight: var(--fw-m);
  }
  .l-cta-profile__logo::before {
    content: "";
    inline-size: min(22vw, 150px);
    aspect-ratio: 150/59;
    background: url(../img/resort_logo.png) no-repeat center center/contain;
    display: block;
    margin-inline: auto;
  }
  .l-cta-profile__address {
    color: #808080;
  }
  .l-cta-action {
    display: grid;
    place-content: center center;
  }
  .l-cta-action__phone {
    --min-font-size: 24;
    --max-font-size: 32;
    font-weight: var(--fw-m);
  }
  .l-cta-action__phone :is(span) {
    --min-font-size: 18;
    --max-font-size: 24;
    color: var(--clr-season-w);
  }
}
/* --- Footer --- */
@layer Layout.Footer {
  .l-footer {
    background: var(--clr-season-w);
  }
  .l-footer-section {
    padding-inline: var(--theme-side-gap);
    background: #fff;
    padding-block: var(--section-row-gap) calc(var(--section-row-gap) * 1.5);
  }
  .l-footer-section__inner {
    inline-size: min(100%, var(--theme-inline-size-max));
    margin-inline: auto;
  }
  .l-footer__copy {
    display: grid;
    padding-block: calc(var(--section-row-gap) * 0.5) var(--section-row-gap);
  }
  .l-footer__copy::before {
    content: "";
    inline-size: min(32vw, 210px);
    aspect-ratio: 210/122;
    background: url(../img/winter_illust_bottom.svg) no-repeat center center/contain;
    display: block;
    margin-inline: auto;
    margin-block: -3lh 1lh;
  }
  .l-footer__copy small {
    color: #fff;
    --min-font-size: 12;
    --max-font-size:14;
    max-inline-size: fit-content;
    margin-inline: auto;
  }
}
/* --- Drawer --- */
@layer Layout.Drawer {
  .l-drawer {
    position: fixed;
    inset: 0;
    background: #fff;
    z-index: 999;
  }
  .l-drawer__close {
    --min-font-size: 18;
    --max-font-size: 20;
    inline-size: min(10vw, 56px);
    aspect-ratio: 1;
    background: #808080;
    border-radius: 50% 50% 0 0;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 0);
    font-weight: var(--fw-b);
    color: #fff;
    cursor: pointer;
    display: grid;
    place-content: center center;
    z-index: 99;
  }
  .l-drawer__inner {
    position: absolute;
    inset: 0;
    overflow-y: auto;
    padding: calc(var(--section-row-gap) * 0.5) var(--theme-side-gap) var(--section-row-gap);
  }
  .l-drawer-header {
    display: grid;
    grid-template-columns: 1fr min(32vw, 168px) 1fr;
    grid-template-areas: ". logo lang";
    align-items: center;
    padding-block-end: 1.4lh;
  }
  .l-drawer-header:where([lang=en] *) {
    grid-template-columns: 1fr min(48vw, 220px) 1fr;
  }
  .l-drawer-header__logo {
    grid-area: logo;
  }
  .l-drawer-header__lang {
    grid-area: lang;
    justify-self: flex-end;
    color: #808080;
  }
  .l-drawer-menu__list {
    display: grid;
    border-block-start: 1px solid var(--clr-season-w);
  }
  .l-drawer-menu__list :is(a) {
    color: #202020;
  }
  .l-drawer-menu__list :is(a[target=_blank]) {
    grid-template-columns: auto min(5.6vw, 32px);
    column-gap: 0.5em;
    align-items: center;
  }
  .l-drawer-menu__list :is(a[target=_blank])::after {
    content: "";
    aspect-ratio: 1;
    background: url(../img/ic_blank2.svg) no-repeat center center/contain;
    align-items: center;
  }
  .l-drawer-menu__item {
    --min-font-size: 18;
    --max-font-size: 20;
    font-weight: var(--fw-m);
    display: grid;
    border-block-end: 1px solid var(--clr-season-w);
  }
  .l-drawer-menu__item > a {
    padding: 0.48lh 0;
    display: grid;
  }
  .l-drawer-submenu__list {
    display: grid;
    border-block-start: 1px solid #808080;
  }
  .l-drawer-submenu__list :is(a) {
    color: #808080;
  }
  .l-drawer-submenu__item:is(a) {
    --min-font-size: 16;
    --max-font-size: 18;
    padding: 0.32lh 0 0.32lh 1.25em;
    display: grid;
  }
  .l-drawer-submenu__item:not(:last-child) {
    border-block-end: 1px solid #ddd;
  }
  .l-drawer-body {
    margin-block-end: 1lh;
  }
  .l-drawer-season-link__list {
    margin-inline: calc(var(--theme-side-gap) * -1);
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    place-content: center center;
    margin-block-end: 1lh;
  }
  .l-drawer-season-link {
    --min-font-size: 20;
    --max-font-size: 24;
    font-weight: var(--fw-m);
    padding-block: 3lh 0.56lh;
    display: grid;
    place-content: center center;
    background: #ddd;
    position: relative;
  }
  .l-drawer-season-link:not(.--current)::before {
    content: "";
    inset: 0;
    position: absolute;
    background: rgba(0, 0, 0, 0.32);
  }
  .l-drawer-season-link.--winter {
    background: url(../img/mv1.jpg) no-repeat center center/cover;
  }
  .l-drawer-season-link.--green {
    background: url(../img/gmv1.jpg) no-repeat center center/cover;
  }
  .l-drawer-season-link :is(span) {
    position: relative;
    color: #fff;
  }
}
/* --- Editor --- */
@layer Layout.Editor {
  .l-editor-slider {
    margin-block-end: 1lh;
  }
  .l-editor-slider .splide__slide {
    inline-size: 100%;
    aspect-ratio: 16/9;
  }
  .l-editor-slider .splide__slide :is(img) {
    inline-size: 100%;
    block-size: 100%;
    object-fit: cover;
  }
  .l-editor-meta__list {
    display: grid;
    grid-auto-flow: column;
    justify-content: flex-end;
    column-gap: 1em;
    border-block-end: 1px solid #ddd;
    padding-block-end: 0.56lh;
    margin-block-end: 1.24lh;
  }
  .l-editor-meta-created {
    display: grid;
    grid-template-columns: min(4.8vw, 24px) 1fr;
    align-items: center;
    column-gap: 0.5em;
  }
  .l-editor-meta-created::before {
    content: "";
    aspect-ratio: 1;
    background: url(../img/ic_clock.svg) no-repeat center center/contain;
  }
  .l-editor-category__list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.24lh 0.5em;
  }
  .l-editor-category {
    --min-font-size: 12;
    --max-font-size: 14;
    padding: 0.16lh 0.5em;
    color: var(--clr-season-w);
    border: 1px solid currentColor;
    border-radius: 2em;
    line-height: 1.32;
    min-inline-size: 80px;
    text-align: center;
  }
  .l-editor {
    margin-block-end: 1.72lh;
    border-block-end: 2px solid var(--clr-season-w);
    padding-block-end: 1.72lh;
    display: grid;
    row-gap: 1lh;
  }
  .l-editor table {
    inline-size: 100%;
    border-block-start: 1px solid #ddd;
  }
  .l-editor table th, .l-editor table td {
    border-block-end: 1px solid #ddd;
    padding: 0.72lh 1em;
    line-height: 1.32;
  }
}
/* Projects(  @layer Base )
---------------------------------------------------------- */
@layer Projects;
/* --- Projects --- */
.p-home-slider {
  margin-block-end: calc(var(--section-row-gap) * 1.75);
  position: relative;
}
.p-home-slider__inner {
  max-inline-size: 1400px;
  margin-inline: auto;
  position: relative;
}
.p-home-slider__inner::after {
  content: "";
  inline-size: min(24vw, 276px);
  aspect-ratio: 276/151;
  background: url(../img/winter_illust1.svg) no-repeat center center/contain;
  position: absolute;
  bottom: -3lh;
  right: var(--theme-side-gap);
}
.p-home-slider-pickup {
  display: grid;
  grid-template-columns: min(12vw, 80px) 1fr;
  align-items: center;
  justify-content: center;
  position: absolute;
  column-gap: 0.5em;
  top: calc(var(--theme-side-gap) * 0.5);
  left: var(--theme-side-gap);
  z-index: 99;
}
.p-home-slider-pickup figcaption {
  font-weight: var(--fw-m);
  line-height: 1.32;
  display: grid;
  row-gap: 0.24lh;
}
.p-home-slider-pickup figcaption span {
  background: #fff;
  max-inline-size: fit-content;
  padding: 0.16lh 0.5em;
}
.p-home-slider .splide .splide__arrow.p-home-slider__arrow {
  inline-size: min(6.8vw, 48px);
  block-size: revert;
  aspect-ratio: 1;
  background: var(--clr-season-w);
  border-radius: 0;
  opacity: 1;
}
.p-home-slider .splide .splide__arrow.p-home-slider__arrow :is(svg) {
  display: none;
}
.p-home-slider .splide .splide__arrow.p-home-slider__arrow::before {
  content: "";
  inline-size: min(2vw, 12px);
  aspect-ratio: 1;
  background: #fff;
  display: block;
}
.p-home-slider .splide .splide__arrow.p-home-slider__arrow.--next {
  right: 0;
}
.p-home-slider .splide .splide__arrow.p-home-slider__arrow.--next::before {
  clip-path: polygon(0 0, 0 100%, 100% 50%);
}
.p-home-slider .splide .splide__arrow.p-home-slider__arrow.--prev {
  left: 0;
}
.p-home-slider .splide .splide__arrow.p-home-slider__arrow.--prev::before {
  clip-path: polygon(100% 0, 0 50%, 100% 100%);
}
.p-home-slider .splide .splide__list .splide__slide {
  inline-size: 100%;
  aspect-ratio: 1;
}
@media (width >= 992px) {
  .p-home-slider .splide .splide__list .splide__slide {
    aspect-ratio: 2/1;
  }
}
.p-home-slider .splide .splide__list .splide__slide :is(img) {
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
}

@layer Projects.Home {
  .p-home-condition {
    inline-size: min(70%, 580px);
    margin-inline: auto;
    border-radius: 1em;
    overflow: hidden;
    box-shadow: 0 0 24px rgba(0, 0, 0, 0.16);
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 35%);
  }
  .p-home-condition-header {
    background: var(--clr-season-w);
    text-align: center;
    color: #fff;
  }
  .p-home-condition-heading {
    --min-font-size: 16;
    --max-font-size: 18;
    font-weight: var(--fw-m);
    padding: 0.32lh min(2.5vw, 24px);
  }
  .p-home-condition-body {
    padding: 0.56lh min(2.5vw, 24px);
    background: #fff;
  }
  .p-home-condition__list {
    display: grid;
    grid-auto-flow: column;
    place-content: center center;
  }
  .p-home-condition__row {
    display: grid;
    align-items: center;
    column-gap: 1em;
  }
  @media (width >= 992px) {
    .p-home-condition__row {
      grid-auto-flow: column;
    }
  }
  .p-home-condition__row:not(:last-child)::after {
    grid-column: 2/3;
    grid-row: 1/3;
    content: "";
    inline-size: 1px;
    block-size: 24px;
    background: #aaa;
    transform: skew(-24deg);
    margin-inline: min(3.2vw, 24px);
    align-self: center;
    display: grid;
  }
  @media (width >= 992px) {
    .p-home-condition__row:not(:last-child)::after {
      grid-column: revert;
      grid-row: revert;
      block-size: 24px;
      grid-row: 1/-1;
    }
  }
  .p-home-condition__row :is(dt, dd) {
    line-height: 1.24;
  }
  .p-home-condition__row :is(dt) {
    text-align: center;
  }
  @media (width >= 992px) {
    .p-home-condition__row :is(dt) {
      text-align: left;
    }
  }
  .p-home-condition__row :is(dd) {
    --min-font-size: 20;
    --max-font-size: 32;
    font-weight: var(--fw-b);
  }
  .p-home-condition__row :is(dd) span {
    --min-font-size: 14;
    --max-font-size: 16;
    color: #808080;
  }
  .p-home-condition__place {
    --min-font-size: 12;
    --max-font-size: 14;
    color: #808080;
    margin-inline: auto;
    max-inline-size: fit-content;
    margin-block-start: 0.24lh;
  }
}
@layer Reset, Base, Layout, Components, Projects;

/*# sourceMappingURL=styles.css.map */
