@charset "UTF-8";
/* カスケードレイヤーの定義 */
@layer tokens, theme, foundation, layout, component, project, utility, animation;
/* グローバルトークンの発行 */
/* テーマ・セマンティックトークンの発行 */
/* ベースとなるスタイルの定義 */
@layer foundation {
  *, *::before,
  *::after {
    margin: 0;
    padding: 0;
    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, ol) {
    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(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;
    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)) {
    clip-path: inset(50%) !important;
    height: 1px !important;
    width: 1px !important;
    overflow: hidden !important;
    position: absolute !important;
    white-space: nowrap !important;
    border: 0 !important;
  }
}
@layer foundation {
  @import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");
  :where(body) {
    font-family: var(--font-family-ja);
    font-weight: var(--font-weight-regular);
    line-height: var(--line-height-base);
    color: var(--color-text);
    background-color: var(--color-bg);
    -webkit-font-smoothing: antialiased;
  }
  :where(h1, h2, h3, h4, h5, h6) {
    font-weight: var(--font-weight-bold);
    line-height: var(--line-height-heading);
  }
  :where(a) {
    color: var(--color-link);
    text-decoration: none;
  }
  :where(img) {
    max-inline-size: 100%;
    block-size: auto;
    vertical-align: middle;
  }
  #header,
  #footer {
    display: contents;
  }
}
@layer foundation {
  :where(button) {
    cursor: pointer;
    border: none;
    background: none;
    padding: 0;
  }
}
/* レイアウトスタイルの定義 */
@layer layout {
  .l-wrapper {
    position: relative;
    overflow-x: clip;
    inline-size: 100%;
    min-block-size: 100dvh;
  }
}
@layer layout {
  .l-header {
    grid-area: header;
    position: relative;
    top: 0;
  }
}
@layer layout {
  .l-main {
    grid-area: main;
    position: relative;
    min-block-size: 0;
    display: grid;
  }
  .l-main {
    grid-template-areas: "." "header" "." "body";
    grid-template-rows: 40px auto 60px auto;
  }
  @media (width > 750px) {
    .l-main.l-main--showroomDetail {
      grid-template-rows: 60px auto 100px auto;
    }
  }
  @media (width > 750px) {
    .l-main.l-main--event {
      grid-template-rows: 24px auto 40px auto;
    }
  }
  .l-main__header {
    grid-area: header;
    min-inline-size: 100%;
  }
  .l-main__body {
    grid-area: body;
    min-inline-size: 100%;
  }
}
@layer layout {
  .l-footer {
    grid-area: footer;
    position: sticky;
    top: 100dvh;
  }
}
@layer layout {
  .l-inner {
    --_containerSize: 1000px;
    --_paddingInlineSize: 16px;
    inline-size: min(100%, var(--_containerSize) + var(--_paddingInlineSize) * 2);
    padding-inline: var(--_paddingInlineSize);
    margin-inline: auto;
  }
  @media (width > 750px) {
    .l-inner {
      --_paddingInlineSize: 30px;
    }
  }
}
@layer layout {
  .l-section {
    --_spacingTop: 40px;
    --_spacingBottom: 40px;
    padding-block-start: var(--_spacingTop);
    padding-block-end: var(--_spacingBottom);
  }
  @media (width > 750px) {
    .l-section {
      --_spacingTop: 80px;
      --_spacingBottom: 80px;
    }
  }
  .l-section:first-child {
    padding-block-start: 0;
  }
  .l-section.l-section--lg {
    --_spacingTop: 60px;
    --_spacingBottom: 60px;
  }
  @media (width > 750px) {
    .l-section.l-section--lg {
      --_spacingTop: 100px;
      --_spacingBottom: 100px;
    }
  }
  .l-section.l-section--bgPale {
    background: #F8FBFF;
  }
  .l-section:not(.l-section--bgPale) + .l-section:not(.l-section--bgPale) {
    --_spacingTop: 0;
  }
  .l-section.l-section--bgPale + .l-section.l-section--bgPale {
    --_spacingTop: 0;
  }
  .l-section__contents {
    display: grid;
    grid-template-areas: "header" "." "body";
    grid-template-rows: auto 24px auto;
  }
  @media (width > 750px) {
    .l-section__contents {
      grid-template-rows: auto 48px auto;
    }
  }
  .l-section__header {
    grid-area: header;
    min-inline-size: 100%;
  }
  .l-section__body {
    grid-area: body;
    min-inline-size: 100%;
  }
}
/* コンポーネントスタイルの定義 */
@layer component {
  .c-button {
    display: grid;
    grid-template-columns: auto auto;
    justify-content: center;
    align-items: center;
    column-gap: 10px;
    inline-size: 100%;
    min-block-size: 50px;
    padding: 16px;
    font-size: 14px;
    line-height: 1.4;
  }
  .c-button::after {
    content: "";
    justify-self: start;
    display: block;
    inline-size: 8px;
    aspect-ratio: 8/12;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='12' fill='none' viewBox='0 0 8 12'%3E%3Cpath stroke='currentColor' d='m.338 11.369 6-5.5-6-5.5'/%3E%3C/svg%3E");
    mask-size: cover;
    mask-repeat: no-repeat;
    background: currentColor;
  }
  .c-button.c-button--primary {
    color: #0E428A !important;
    border: 1px solid #285BA3;
    background: #fff;
  }
  .c-button.c-button--secondary {
    color: #fff !important;
    border: 1px solid #285BA3;
    background: #285BA3;
  }
  .c-button.c-button--sm {
    padding: 12px;
  }
  .c-button.c-button--inPageLink {
    column-gap: 4px;
  }
  .c-button.c-button--inPageLink::after {
    mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.4997 17.079L17.9387 11.64C18.036 11.5427 18.1507 11.4917 18.2827 11.487C18.4147 11.483 18.5357 11.5364 18.6457 11.647C18.7524 11.7564 18.8067 11.874 18.8087 12C18.81 12.1254 18.7557 12.2434 18.6457 12.354L12.5657 18.434C12.4777 18.5214 12.3884 18.5827 12.2977 18.618C12.207 18.6534 12.1077 18.671 11.9997 18.671C11.8917 18.671 11.7924 18.6534 11.7017 18.618C11.611 18.5827 11.522 18.5214 11.4347 18.434L5.35371 12.354C5.26038 12.2607 5.21038 12.147 5.20371 12.013C5.19705 11.8784 5.24705 11.756 5.35371 11.646C5.46371 11.536 5.58238 11.481 5.70971 11.481C5.83771 11.481 5.95671 11.536 6.06671 11.646L11.4997 17.08V5.50002C11.4997 5.35735 11.5474 5.23835 11.6427 5.14302C11.738 5.04769 11.857 5.00002 11.9997 5.00002C12.1424 5.00002 12.2614 5.04769 12.3567 5.14302C12.452 5.23835 12.4997 5.35735 12.4997 5.50002V17.079Z' fill='%23285BA3'/%3E%3C/svg%3E%0A");
    inline-size: 24px;
    aspect-ratio: 1;
  }
}
@layer component {
  .c-icon {
    display: grid;
    grid-template-columns: auto 1fr;
    column-gap: 4px;
    color: #747474;
  }
  .c-icon__term {
    display: inline;
    inline-size: 20px;
    aspect-ratio: 1;
    background: currentColor;
    mask-size: cover;
    mask-repeat: no-repeat;
  }
  .c-icon.c-icon--adress .c-icon__term {
    mask-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 15.2083C8.35167 13.86 7.10611 12.5347 6.26333 11.2325C5.42056 9.93028 4.99944 8.69056 5 7.51333C5 6.04389 5.46667 4.84111 6.4 3.905C7.33444 2.96833 8.53445 2.5 10 2.5C11.4656 2.5 12.6656 2.96833 13.6 3.905C14.5333 4.84056 15 6.04333 15 7.51333C15 8.69056 14.5789 9.9275 13.7367 11.2242C12.8944 12.5208 11.6489 13.8489 10 15.2083ZM10.0033 8.84667C10.3739 8.84667 10.6906 8.71444 10.9533 8.45C11.2161 8.18556 11.3472 7.86806 11.3467 7.4975C11.3461 7.12694 11.2139 6.81028 10.95 6.5475C10.6861 6.28472 10.3686 6.15361 9.9975 6.15417C9.62639 6.15472 9.30972 6.28667 9.0475 6.55C8.78528 6.81333 8.65417 7.13111 8.65417 7.50333C8.65417 7.87556 8.78611 8.19222 9.05 8.45333C9.31389 8.71444 9.63167 8.84556 10.0033 8.84667ZM5 17.5V16.6667H15V17.5H5Z' fill='currentColor'/%3E%3C/svg%3E%0A");
  }
  .c-icon.c-icon--time .c-icon__term {
    mask-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.4458 13.5192L9.58333 10.6575V6.6025H10.4167V10.3225L13.0192 12.925L12.4458 13.5192ZM9.58333 5V3.33333H10.4167V5H9.58333ZM15 10.4167V9.58333H16.6667V10.4167H15ZM9.58333 16.6667V15H10.4167V16.6667H9.58333ZM3.33333 10.4167V9.58333H5V10.4167H3.33333ZM10.0025 17.5C8.96528 17.5 7.99028 17.3033 7.0775 16.91C6.16472 16.5161 5.37056 15.9817 4.695 15.3067C4.01944 14.6317 3.48472 13.8383 3.09083 12.9267C2.69694 12.015 2.5 11.0403 2.5 10.0025C2.5 8.96472 2.69694 7.98972 3.09083 7.0775C3.48417 6.16472 4.01778 5.37056 4.69167 4.695C5.36556 4.01944 6.15917 3.48472 7.0725 3.09083C7.98583 2.69694 8.96083 2.5 9.9975 2.5C11.0342 2.5 12.0092 2.69694 12.9225 3.09083C13.8353 3.48417 14.6294 4.01806 15.305 4.6925C15.9806 5.36694 16.5153 6.16056 16.9092 7.07333C17.3031 7.98611 17.5 8.96083 17.5 9.9975C17.5 11.0342 17.3033 12.0092 16.91 12.9225C16.5167 13.8358 15.9822 14.63 15.3067 15.305C14.6311 15.98 13.8378 16.5147 12.9267 16.9092C12.0156 17.3036 11.0408 17.5006 10.0025 17.5ZM10 16.6667C11.8611 16.6667 13.4375 16.0208 14.7292 14.7292C16.0208 13.4375 16.6667 11.8611 16.6667 10C16.6667 8.13889 16.0208 6.5625 14.7292 5.27083C13.4375 3.97917 11.8611 3.33333 10 3.33333C8.13889 3.33333 6.5625 3.97917 5.27083 5.27083C3.97917 6.5625 3.33333 8.13889 3.33333 10C3.33333 11.8611 3.97917 13.4375 5.27083 14.7292C6.5625 16.0208 8.13889 16.6667 10 16.6667Z' fill='currentColor'/%3E%3C/svg%3E%0A");
  }
  .c-icon.c-icon--tel .c-icon__term {
    mask-image: url("data: image/svg+xml, %3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath d='M15.9987 16.6667C14.4976 16.6667 12.9926 16.3212 11.4837 15.63C9.97481 14.9389 8.58453 13.9575 7.31287 12.6859C6.05175 11.4142 5.07314 10.0195 4.37703 8.50171C3.68036 6.98337 3.33203 5.48282 3.33203 4.00004V3.33337H7.0312L7.73786 6.73587L5.4912 8.82754C5.8712 9.48643 6.26481 10.0884 6.67203 10.6334C7.07925 11.1784 7.50342 11.6698 7.94453 12.1075C8.39009 12.5742 8.89231 13.0103 9.4512 13.4159C10.0101 13.8214 10.6479 14.2214 11.3645 14.6159L13.5404 12.3592L16.6654 12.9892V16.6667H15.9987Z' fill='currentColor' /%3E%3C/svg%3E%0A");
  }
  .c-icon__description {
    display: grid;
  }
  .c-icon__description__text {
    font-style: normal;
    font-family: Noto Sans JP;
    font-weight: 500;
    font-size: 12px;
    line-height: 160%;
    letter-spacing: 0;
    vertical-align: middle;
    color: inherit !important;
  }
  @media (width > 750px) {
    .c-icon__description__text {
      font-size: 14px;
    }
  }
}
@layer component {
  .c-floatingButton {
    position: fixed;
    bottom: 0;
    inline-size: 100%;
    background: rgba(229, 229, 229, 0.7);
    padding: 16px;
    transition: transform 0.3s ease;
    transform: translateY(0);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
  }
  .c-floatingButton.is-hidden {
    transform: translateY(100%);
    pointer-events: none;
  }
  .c-floatingButton__inner {
    --_containerSize: 648px;
  }
  .c-floatingButton__contents {
    display: grid;
    row-gap: 8px;
  }
  @media (width > 500px) {
    .c-floatingButton__contents {
      align-items: center;
      grid-template-columns: repeat(2, 1fr);
      column-gap: 40px;
    }
  }
  .c-floatingButton__title {
    font-family: Noto Sans JP;
    font-weight: 500;
    font-size: 14px;
    line-height: 160%;
    letter-spacing: 0%;
    vertical-align: middle;
  }
  @media (width > 500px) {
    .c-floatingButton__title {
      font-size: 16px;
    }
  }
}
/* 固有スタイルの定義 */
@layer project {
  .p-localHeader__contents {
    display: grid;
    row-gap: 24px;
  }
  @media (width > 750px) {
    .p-localHeader__contents {
      row-gap: 48px;
    }
  }
  .p-localHeader__heading {
    display: grid;
    place-items: center;
    text-align: center;
    grid-template: "subTitle" "." "mainTitle" "." "underLine";
    grid-template-rows: auto 12px auto 14px auto;
  }
  @media (width > 750px) {
    .p-localHeader__heading {
      grid-template-rows: auto 16px auto 20px auto;
    }
  }
  .p-localHeader__heading__sub {
    grid-area: subTitle;
    color: #285BA3;
    font-weight: 500;
    font-size: 15px;
    line-height: 120%;
    letter-spacing: 0%;
    vertical-align: middle;
  }
  @media (width > 750px) {
    .p-localHeader__heading__sub {
      font-size: 20px;
    }
  }
  .p-localHeader__heading__main {
    grid-area: mainTitle;
    font-weight: 300;
    font-size: 30px;
    line-height: 150%;
    letter-spacing: 0;
    text-align: center;
    vertical-align: middle;
  }
  @media (width > 750px) {
    .p-localHeader__heading__main {
      font-size: 40px;
    }
  }
  .p-localHeader__heading::after {
    grid-area: underLine;
    content: "";
    display: block;
    inline-size: 80px;
    block-size: 2px;
    background: #285BA3;
  }
  .p-localHeader__body {
    display: grid;
    row-gap: 24px;
    font-family: Noto Sans JP;
    font-weight: 300;
    font-style: Light;
    font-size: 14px;
    line-height: 160%;
    letter-spacing: 0%;
    vertical-align: middle;
  }
  @media (width > 750px) {
    .p-localHeader__body {
      font-size: 16px;
    }
  }
  .p-localHeader.p-localHeader--event .p-localHeader__contents {
    display: grid;
    place-items: center;
    text-align: center;
    row-gap: 0;
    grid-template: "mainImage" "." "mainTitle";
    grid-template-rows: auto 24px auto;
  }
  @media (width > 750px) {
    .p-localHeader.p-localHeader--event .p-localHeader__contents {
      grid-template-rows: auto 40px auto;
    }
  }
  .p-localHeader.p-localHeader--event .p-localHeader__heading {
    grid-area: mainTitle;
    text-align: left;
    justify-self: start;
  }
  .p-localHeader.p-localHeader--event .p-localHeader__mainImage {
    grid-area: mainImage;
  }
  .p-localHeader.p-localHeader--event .p-localHeader__heading::after {
    display: none;
  }
  .p-localHeader.p-localHeader--event .p-localHeader__heading {
    display: block;
  }
}
@layer project {
  .p-section__contents.p-section__contents--eventSection {
    display: grid;
    grid-template-rows: auto;
    row-gap: 24px;
    align-items: start;
  }
  .p-section__contents.p-section__contents--eventSection .p-section__body__contents__list {
    list-style-type: disc;
    list-style-position: inside;
    font-family: Noto Sans JP;
    font-weight: 500;
    font-style: Medium;
    font-size: 14px;
    line-height: 200%;
    letter-spacing: 0%;
    vertical-align: middle;
  }
  @media (width > 750px) {
    .p-section__contents.p-section__contents--eventSection .p-section__body__contents__list {
      font-weight: 400;
      font-size: 18px;
    }
  }
  .p-section__contents.p-section__contents--eventSection .p-section__body__contents__subTitle {
    font-family: Noto Sans JP;
    font-weight: 700;
    font-size: 16px;
    line-height: 200%;
    letter-spacing: 0%;
    vertical-align: middle;
  }
  @media (width > 750px) {
    .p-section__contents.p-section__contents--eventSection .p-section__body__contents__subTitle {
      font-size: 20px;
    }
  }
  .p-section__contents.p-section__contents--eventSection .p-section__body__contents__text {
    font-family: Noto Sans JP;
    font-weight: 350;
    font-size: 14px;
    line-height: 200%;
    letter-spacing: 0%;
    vertical-align: middle;
  }
  @media (width > 750px) {
    .p-section__contents.p-section__contents--eventSection .p-section__body__contents__text {
      font-weight: 400;
      font-size: 18px;
    }
  }
  @media (width > 500px) {
    .p-section__contents.p-section__contents--eventSection .p-section__body__contents__links {
      justify-self: center;
      min-inline-size: 304px;
    }
  }
}
@layer project {
  .p-featureList {
    display: grid;
    row-gap: 48px;
    counter-reset: listnum;
    /* カウンターをリセット */
    list-style: none;
    /* 標準のスタイルは消す */
  }
  @media (width > 1200px) {
    .p-featureList {
      row-gap: 60px;
      max-inline-size: 100%;
    }
  }
  .p-featureList__item {
    display: block grid;
    grid-template-areas: "image" "number" "contents";
  }
  @media (width > 1200px) {
    .p-featureList__item {
      grid-template-columns: 600px 1fr;
      grid-template-rows: auto 1fr;
      column-gap: 48px;
      grid-template-areas: "image number" "image contents";
    }
  }
  @media (width > 1200px) {
    .p-featureList__item:nth-child(even) {
      grid-template-columns: 1fr 600px;
      grid-template-areas: "number image" "contents image";
    }
  }
  .p-featureList__item::before {
    grid-area: number;
    margin-block-start: 16px;
    counter-increment: listnum;
    /* counter-resetと同じ文字列 */
    content: counter(listnum, decimal-leading-zero);
    /* カウントした数に応じて番号を表示 */
    font-size: 60px;
    line-height: 100%;
    font-family: Helvetica Neue;
    font-style: Italic;
    font-weight: 100;
    color: #B7CAE4;
  }
  @media (width > 1200px) {
    .p-featureList__item::before {
      margin-block-start: 0;
      font-size: 80px;
    }
  }
  .p-featureList__item__contents {
    grid-area: contents;
    display: block grid;
    grid-template-areas: "heading" "description";
  }
  @media (width > 1200px) {
    .p-featureList__item__contents {
      grid-template-rows: auto 1fr;
    }
  }
  .p-featureList__item__heading {
    grid-area: heading;
    margin-block-start: 8px;
    font-size: 24px;
    line-height: 1.6;
    font-weight: 350;
  }
  @media (width > 1200px) {
    .p-featureList__item__heading {
      margin-block-start: 40px;
      font-size: 28px;
    }
  }
  .p-featureList__item__description {
    grid-area: description;
    margin-block-start: 10px;
    font-size: 14px;
    line-height: 1.6;
    font-weight: 300;
  }
  @media (width > 1200px) {
    .p-featureList__item__description {
      font-size: 16px;
    }
  }
  .p-featureList__item__mainImage {
    grid-area: image;
    inline-size: 100%;
    aspect-ratio: 343/231;
    background: #ccc;
  }
  @media (width > 1200px) {
    .p-featureList__item__mainImage {
      aspect-ratio: 600/400;
    }
  }
  .p-featureList__item__mainImage__image {
    object-fit: cover;
    display: block;
    inline-size: 100%;
    block-size: 100%;
  }
}
@layer project {
  .p-simpleCard {
    display: grid;
    grid-template-areas: "thumb" "." "title" "." "button";
    grid-template-rows: auto 16px auto 16px auto;
    border: 1px solid #E3E3E3;
    padding: 24px;
  }
  @media (width > 750px) {
    .p-simpleCard {
      border: none;
      padding: 0;
    }
  }
  .p-simpleCard__thumb {
    grid-area: thumb;
    aspect-ratio: 476/317;
  }
  .p-simpleCard__title {
    grid-area: title;
    font-family: Noto Sans JP;
    font-weight: 350;
    font-size: 18px;
    line-height: 160%;
    letter-spacing: 0%;
    vertical-align: middle;
  }
  @media (width > 750px) {
    .p-simpleCard__title {
      font-size: 24px;
    }
  }
  .p-simpleCard__button {
    grid-area: button;
  }
  @media (width > 750px) {
    .p-simpleCard__button {
      justify-self: start;
      min-inline-size: 304px;
    }
  }
}
@layer project {
  .p-mediaCardWrapper {
    display: grid;
    row-gap: 48px;
  }
  @media (width > 750px) {
    .p-mediaCardWrapper {
      grid-template-columns: repeat(2, 1fr);
      column-gap: 48px;
      row-gap: 80px;
    }
  }
  .p-mediaCard {
    display: grid;
    grid-template-areas: "thumbnail" "." "heading" "." "details" "." "links";
    grid-template-rows: auto 10px auto 10px auto 16px auto;
  }
  @media (width > 750px) {
    .p-mediaCard {
      grid-template-rows: auto 10px auto 8px auto 16px auto;
    }
  }
  .p-mediaCard--bd {
    border: 1px solid #E3E3E3;
    padding: 24px !important;
  }
  @media (width > 750px) {
    .p-mediaCard--bd {
      padding: 0 !important;
      border: none;
    }
  }
  .p-mediaCard__heading {
    grid-area: heading;
  }
  .p-mediaCard__title {
    font-size: 28px;
    font-weight: 300;
    font-style: normal;
    line-height: 1.6;
    font-family: "Hiragino Mincho ProN", "Noto Serif JP", "sans-serif";
  }
  @media (width > 750px) {
    .p-mediaCard__title {
      font-size: 32px;
    }
  }
  .p-mediaCard__details {
    grid-area: details;
    display: grid;
    grid-template-areas: "info" "." "divider" "." "description";
    grid-template-rows: auto 10px auto 10px auto;
  }
  @media (width > 750px) {
    .p-mediaCard__details {
      grid-template-rows: auto 12px auto 12px auto;
    }
  }
  .p-mediaCard__details__info {
    grid-area: info;
    display: grid;
    row-gap: 4px;
  }
  @media (width > 750px) {
    .p-mediaCard__details__info {
      row-gap: 6px;
    }
  }
  .p-mediaCard__details::before {
    grid-area: divider;
    content: "";
    display: block;
    inline-size: 100%;
    block-size: 1px;
    background: #F1F1F1;
  }
  .p-mediaCard__details__description {
    grid-area: description;
    font-size: 12px;
    font-weight: 400;
    font-style: normal;
    line-height: 1.6;
    text-align: justify;
  }
  @media (width > 750px) {
    .p-mediaCard__details__description {
      font-size: 16px;
    }
  }
  .p-mediaCard__links {
    grid-area: links;
    align-self: end;
    display: grid;
    row-gap: 12px;
  }
  @media (width > 750px) {
    .p-mediaCard__links {
      justify-self: start;
      min-inline-size: 304px;
    }
  }
  .bl_mediaCard_thumb {
    background: #F1F1F1;
    aspect-ratio: 343/317;
    inline-size: 100%;
  }
  @media (width > 1024px) {
    .bl_mediaCard_thumb {
      aspect-ratio: 476/320;
    }
  }
  .p-mediaCard__thumb__image {
    inline-size: 100%;
    block-size: 100%;
    object-fit: cover;
  }
}
@layer project {
  /* （装飾） */
  .accordions {
    --bdc: hsl(210, 16%, 80%);
    --bdrs: 8px;
    overflow: clip;
  }
  /* （装飾）2つ目以降のアコーディオンには上部にボーダーを追加 */
  .accordion ~ .accordion {
    margin-block-start: 12px;
  }
  .accordion {
    --duration: 0.25s;
    --icon-transform: rotate(0deg);
    /* icon 変化用の変数 */
    border: solid 1px var(--bdc);
  }
  /* 開いている時 */
  .accordion[data-opened] {
    --icon-transform: rotate(90deg);
  }
  .accordion__title {
    /* 見出しタグのフォントを打ち消す */
    font: inherit;
  }
  .accordion__button {
    background: none;
    display: grid;
    grid-template-columns: auto 1fr auto;
    inline-size: 100%;
    padding: 16px 24px;
    gap: 8px;
    /* button のスタイルリセット */
    height: auto;
    border: none;
    color: inherit;
    text-align: left;
    cursor: pointer;
    font-size: 14px;
  }
  @media (width > 750px) {
    .accordion__button {
      padding-block: 24px;
      gap: 24px;
      font-size: 16px;
    }
  }
  .accordion__button::before {
    content: "Q";
    display: block;
    font-family: Helvetica;
    font-size: 20px;
    color: #285BA3;
    line-height: 1.5;
    font-weight: 400;
    inline-size: 16px;
    block-size: 30px;
    margin-block-start: -0.02em;
  }
  .accordion__panel {
    position: relative;
    overflow: hidden;
    background-color: color-mix(in srgb, var(--bdc), transparent 80%);
    height: 0px;
    transition: height var(--duration);
    /* jsで変数にセットする */
    --height--opened: auto;
  }
  /* 開いている時 */
  [data-opened] > .accordion__panel {
    height: var(--height--opened);
  }
  /* パネルが完全に閉じている時にabsoluteで飛ばしておくと、Chromeでも検索時に正常にハイライトされるようになる（なぜかは不明） */
  [hidden] > .accordion__content {
    position: absolute;
  }
  /* コンテンツの paddingは __panel ではなくこっちにつける */
  .accordion__content {
    padding: 24px;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 24px;
  }
  .accordion__content::before {
    content: "A";
    display: block;
    font-family: Helvetica;
    font-size: 20px;
    color: #285BA3;
    line-height: 1.5;
    font-weight: 400;
    inline-size: 14px;
    block-size: 30px;
    margin-block-start: -0.02em;
  }
  /* コンテンツ間の余白 */
  .flow > * + * {
    margin-block-start: 1rem;
  }
  /* アイコンの描画 */
  .accordion__icon {
    display: grid;
    block-size: 24px;
    aspect-ratio: 1;
    place-items: center;
    flex-shrink: 0;
  }
  .accordion__icon::before, .accordion__icon::after {
    content: "";
    display: block;
    grid-area: 1/1;
    background-color: currentColor;
  }
  .accordion__icon::before {
    inline-size: 0.1em;
    block-size: 15px;
    transition: transform var(--duration);
    transform: var(--icon-transform);
  }
  .accordion__icon::after {
    block-size: 0.1em;
    inline-size: 15px;
  }
  @media (width > 750px) {
    .accordion__icon {
      block-size: 30px;
    }
  }
  /* タイトルホバー時、背景色を少し濃くする */
  @media (any-hover: hover) {
    .accordion__title:hover {
      background-color: color-mix(in srgb, var(--bdc), transparent 60%);
    }
  }
  /* Tabキーでのフォーカス時も同じスタイリング */
  .accordion__title:has(> :focus-visible) {
    background-color: color-mix(in srgb, var(--bdc), transparent 60%);
  }
  /* フォーカス時のアウトラインを少し内側に寄せる( overflow:hidden によって途切れてしまうので)  */
  .accordion__button:focus-visible {
    outline: solid 2px currentColor;
    outline-color: revert;
    outline-offset: -3px;
    /* offset 調整だけだとブラウザ間の差が大きい */
  }
  /* --- (任意) フォーカスリングの角丸調整 --- */
  /* --- 「視差効果を減らす」設定を考慮 --- */
  @media (prefers-reduced-motion: reduce) {
    .accordion {
      --duration: 0s;
    }
  }
  /* --- JSオフ環境の考慮 --- */
  @media (scripting: none) {
    .accordion__panel {
      height: auto !important;
      content-visibility: visible !important;
    }
    .accordion__content {
      position: static !important;
    }
  }
}
@layer project {
  .p-carousel {
    --_containerSize: 1000px;
    --_paddingInlineSize: 16px;
  }
  @media (width > 750px) {
    .p-carousel {
      --_paddingInlineSize: 30px;
    }
  }
  .p-carousel__inner {
    position: relative;
    inline-size: min(100%, var(--_containerSize) + var(--_paddingInlineSize) * 2) !important;
    padding-inline: var(--_paddingInlineSize) !important;
    margin-inline: auto;
  }
  .p-carousel__thumb {
    display: block;
    aspect-ratio: 343/231;
    text-decoration: none;
  }
  .p-carousel__card:focus-visible {
    outline: 3px solid #333;
  }
  .p-carousel__button {
    --swiper-navigation-color: #7B7B7B;
    color: var(--swiper-navigation-color) !important;
  }
  .swiper-horizontal.swiper-rtl .swiper-button-next, .swiper-horizontal.swiper-rtl ~ .swiper-button-next, .swiper-horizontal ~ .swiper-button-prev,
  .swiper-horizontal .swiper-button-prev {
    left: 1rem !important;
  }
  .swiper-horizontal.swiper-rtl .swiper-button-prev, .swiper-horizontal.swiper-rtl ~ .swiper-button-prev, .swiper-horizontal ~ .swiper-button-next,
  .swiper-horizontal .swiper-button-next {
    right: 1rem !important;
  }
  .p-carousel__pagination {
    margin-block-start: 16px;
    position: static !important;
  }
  .p-carousel__pagination .swiper-pagination-bullet-active {
    --swiper-pagination-color: #000 !important;
  }
  .p-carousel {
    position: relative;
  }
  .p-carousel__inner {
    position: relative;
    max-width: 1200px;
    margin: auto;
  }
  .swiper {
    overflow: hidden;
  }
  .swiper-slide img {
    width: 100%;
    height: auto;
  }
  /* ボタン */
  .c-carousel-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    width: 40px;
    height: 40px;
    cursor: pointer;
    background: #7B7B7B;
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: contain;
  }
  .c-carousel-btn--prev {
    left: var(--_paddingInlineSize);
    mask-image: url("data: image/svg+xml, %3Csvg width='15' height='25' viewBox='0 0 15 25' fill='none' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath d='M13.7383 24.3674L0.738281 12.3674L13.7383 0.367431' stroke='%237B7B7B' /%3E%3C/svg%3E%0A");
  }
  .c-carousel-btn--next {
    right: var(--_paddingInlineSize);
    mask-image: url("data: image/svg+xml, %3Csvg width='15' height='25' viewBox='0 0 15 25' fill='none' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath d='M0.339844 24.3674L13.3398 12.3674L0.339844 0.367431' stroke='%237B7B7B' /%3E%3C/svg%3E");
  }
  .c-carousel-btn:focus {
    outline: 2px solid #000;
  }
  /* pagination */
  .c-carousel-pagination {
    margin-top: 16px;
    text-align: center;
    --swiper-pagination-color: #000;
  }
  .swiper-slide {
    min-block-size: 200px;
  }
  @media (width > 1200px) {
    .p-carousel:has(.swiper[data-carousel=type1]) .c-carousel-btn--prev {
      left: calc(0px - var(--_paddingInlineSize));
    }
    .p-carousel:has(.swiper[data-carousel=type1]) .c-carousel-btn--next {
      right: calc(0px - var(--_paddingInlineSize));
    }
  }
}
.c-table {
  inline-size: 100%;
  border-collapse: collapse;
  table-layout: auto;
}

.c-table__body {
  display: grid;
}

.c-table__row {
  display: grid;
  grid-template-columns: subgrid;
  grid-column: span 2;
}

.c-table__heading {
  font-size: 14px;
  line-height: 1.6;
  font-weight: 350;
  text-align: left;
  vertical-align: text-top;
  padding: 16px;
  background: #F1F1F1;
}

.c-table__description {
  vertical-align: text-top;
  inline-size: auto;
  padding: 16px;
  font-family: Noto Sans JP;
  font-weight: 350;
  font-size: 14px;
  line-height: 160%;
  letter-spacing: 0%;
}

.c-table {
  border: 1px solid #F1F1F1;
}

.c-table__row + .c-table__row .c-table__heading {
  border-top: 1px solid #fff;
}

.c-table__row + .c-table__row .c-table__description {
  border-top: 1px solid #F1F1F1;
}

@layer project {
  @media (1200px <= width) {
    .p-localHeader.p-localHeader--showroomDetail .p-localHeader__inner {
      --_containerSize: 100%;
    }
  }
  @media (1200px <= width <= 1440px) {
    .p-localHeader.p-localHeader--showroomDetail .p-localHeader__inner {
      padding-inline-start: 0;
      padding-inline-end: 10vw;
    }
  }
  @media (width > 1440px) {
    .p-localHeader.p-localHeader--showroomDetail .p-localHeader__inner {
      --_containerSize: 1360px;
      margin-inline: auto;
    }
  }
  .p-localHeader.p-localHeader--showroomDetail .p-localHeader__contents {
    display: grid;
    row-gap: 0;
    grid-template-areas: "heading" "." "mainImage" "." "details" "." "description" "." "buttons";
    grid-template-rows: auto 16px auto 16px auto 10px auto 16px auto;
  }
  @media (1200px <= width) {
    .p-localHeader.p-localHeader--showroomDetail .p-localHeader__contents {
      column-gap: 60px;
      grid-template-columns: auto 1fr;
      grid-template-areas: "mainImage heading" "mainImage ." "mainImage details" "mainImage ." "mainImage description" "mainImage ." "mainImage buttons";
      grid-template-rows: auto 12px auto 16px auto 16px auto;
    }
  }
  @media (width > 1440px) {
    .p-localHeader.p-localHeader--showroomDetail .p-localHeader__contents {
      column-gap: 60px;
      grid-template-columns: auto 400px;
    }
  }
  .p-localHeader.p-localHeader--showroomDetail .p-localHeader__heading {
    grid-area: heading;
    display: block;
    justify-content: start;
    font-size: 28px;
    font-weight: 300;
    font-style: normal;
    line-height: 1.6;
    font-family: "Hiragino Mincho ProN", "Noto Serif JP", "sans-serif";
    word-break: keep-all;
    text-align: left;
    overflow-wrap: anywhere;
  }
  @media (width > 1200px) {
    .p-localHeader.p-localHeader--showroomDetail .p-localHeader__heading {
      font-size: 32px;
    }
  }
  .p-localHeader.p-localHeader--showroomDetail .p-localHeader__heading::after {
    display: none;
  }
  .p-localHeader.p-localHeader--showroomDetail .p-localHeader__details {
    grid-area: details;
    display: flex;
    flex-direction: column;
    row-gap: 6px;
  }
  .p-localHeader.p-localHeader--showroomDetail .p-localHeader__details__contents {
    font-size: 12px;
    font-weight: 500;
    font-style: normal;
    line-height: 1.6;
  }
  @media (width > 750px) {
    .p-localHeader.p-localHeader--showroomDetail .p-localHeader__details__contents {
      font-size: 14px;
    }
  }
  .p-localHeader.p-localHeader--showroomDetail .p-localHeader__description {
    grid-area: description;
    text-align: justify;
    font-family: Noto Sans JP;
    font-weight: 300;
    font-size: 14px;
    line-height: 160%;
    letter-spacing: 0%;
    vertical-align: middle;
  }
  @media (width > 750px) {
    .p-localHeader.p-localHeader--showroomDetail .p-localHeader__description {
      font-size: 16px;
    }
  }
  .p-localHeader.p-localHeader--showroomDetail .p-localHeader__buttons {
    grid-area: buttons;
    display: grid;
    row-gap: 16px;
  }
  .p-localHeader.p-localHeader--showroomDetail .p-localHeader__buttons__sub {
    display: grid;
    gap: 8px;
    grid-template-areas: "col1 col2";
  }
  .p-localHeader.p-localHeader--showroomDetail .p-localHeader__buttons__sub__item:nth-child(1) {
    grid-area: col1;
  }
  .p-localHeader.p-localHeader--showroomDetail .p-localHeader__buttons__sub__item:nth-child(2) {
    grid-area: col2;
  }
  .p-localHeader.p-localHeader--showroomDetail .p-localHeader__buttons__sub__item:nth-child(3) {
    grid-area: col3;
  }
  .p-localHeader.p-localHeader--showroomDetail .p-localHeader__mainImage {
    display: block;
    grid-area: mainImage;
    aspect-ratio: 375/317;
    background: #ccc;
    margin-inline-start: calc(50% - 50vw);
    min-inline-size: 100vw;
  }
  @media (1200px <= width) {
    .p-localHeader.p-localHeader--showroomDetail .p-localHeader__mainImage {
      aspect-ratio: 884/573;
      min-inline-size: 100%;
      max-inline-size: unset;
      inline-size: 61.3888888889vw;
      margin-inline-start: 0;
      margin-block-start: 0;
    }
  }
  @media (width > 1440px) {
    .p-localHeader.p-localHeader--showroomDetail .p-localHeader__mainImage {
      inline-size: 884px;
      justify-self: end;
    }
  }
  .p-localHeader.p-localHeader--showroomDetail .p-localHeader__mainImage__image {
    object-fit: cover;
    display: block;
    inline-size: 100%;
    block-size: 100%;
  }
  .p-localHeader.p-localHeader--showroomDetail .p-localHeader__thumbs {
    margin-block-start: 48px;
  }
  .p-showroom-ctaSection__contents {
    display: grid;
    grid-template-areas: "lead" "." "thumb" "." "name" "." "details" "." "cta";
    grid-template-rows: auto 12px auto 12px auto 12px auto 16px auto;
  }
  @media (width > 1000px) {
    .p-showroom-ctaSection__contents {
      grid-template-areas: "thumb lead" "thumb ." "thumb name" "thumb ." "thumb details" "thumb ." "thumb cta";
      column-gap: 24px;
      grid-template-rows: auto 12px auto 12px auto 24px auto;
      align-items: start;
      grid-template-columns: 636px auto;
    }
  }
  .p-showroom-ctaSection__lead {
    grid-area: lead;
    border: 1px solid #285BA3;
    padding: 12px 30px;
    color: #285BA3;
    font-family: Noto Sans JP;
    font-weight: 350;
    font-size: 20px;
    letter-spacing: 0%;
    vertical-align: middle;
    text-align: center;
  }
  .p-showroom-ctaSection__thumb {
    grid-area: thumb;
    aspect-ratio: 636/378;
    overflow: hidden;
  }
  .p-showroom-ctaSection__name {
    grid-area: name;
    font-family: "Hiragino Mincho ProN", "Noto Serif JP", "sans-serif";
    font-weight: 300;
    font-size: 24px;
    line-height: 160%;
    letter-spacing: 0%;
    vertical-align: middle;
  }
  @media (width > 1000px) {
    .p-showroom-ctaSection__name {
      font-size: 28px;
      line-height: 140%;
    }
  }
  .p-showroom-ctaSection__details {
    grid-area: details;
    display: grid;
    row-gap: 4px;
  }
  @media (width > 1000px) {
    .p-showroom-ctaSection__details {
      row-gap: 6px;
    }
  }
  .p-showroom-ctaSection__details__contents {
    color: #000;
  }
  @media (width > 1000px) {
    .p-showroom-ctaSection__details__contents__text {
      font-size: 14px;
      line-height: 160%;
    }
  }
  .p-showroom-ctaSection__cta {
    grid-area: cta;
  }
}
@layer project {
  .p-localHeader.p-localHeader--eventSection .p-localHeader__heading {
    display: block;
    font-family: Noto Sans JP;
    font-weight: 350;
    font-size: 14px;
    line-height: 200%;
    letter-spacing: 0%;
    vertical-align: middle;
    text-align: left;
  }
  @media (width > 750px) {
    .p-localHeader.p-localHeader--eventSection .p-localHeader__heading {
      font-weight: 400;
      font-size: 18px;
      line-height: 200%;
      letter-spacing: 0%;
      vertical-align: middle;
    }
  }
  .p-localHeader.p-localHeader--eventSection .p-localHeader__heading::after {
    display: none;
  }
  .p-localHeader.p-localHeader--eventSection .p-localHeader__description {
    font-family: Noto Sans JP;
    font-weight: 350;
    font-size: 14px;
    line-height: 200%;
    letter-spacing: 0%;
    vertical-align: middle;
  }
}
/* アニメーションスタイルの定義 */
/* ヘルパークラスの定義 */
@layer utility {
  .u-wbr {
    /* CJKテキストでの折り返しを無効化 */
    word-break: keep-all;
    /* 長い単語でも折り返し可能に */
    overflow-wrap: anywhere;
  }
}

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