@charset "UTF-8";
:root {
  --viewport-max: 1800px;
  --viewport-medium: 1024px;
  --viewport-main: 1152px;
  --vw: 100vw;
  --size1: 0.8rem;
  --size: 0.8rem;
  --size2: calc(var(--size) * 2);
  --size3: calc(var(--size) * 3);
  --size4: calc(var(--size) * 4);
  --size5: calc(var(--size) * 5);
  --size6: calc(var(--size) * 6);
  --size7: calc(var(--size) * 7);
  --size8: calc(var(--size) * 8);
  --size9: calc(var(--size) * 9);
  --size10: calc(var(--size) * 10);
  --size11: calc(var(--size) * 11);
  --size12: calc(var(--size) * 12);
  --size13: calc(var(--size) * 13);
  --size14: calc(var(--size) * 14);
  --size15: calc(var(--size) * 15);
  --size16: calc(var(--size) * 16);
  --size17: calc(var(--size) * 17);
  --size18: calc(var(--size) * 18);
  --size19: calc(var(--size) * 19);
  --size20: calc(var(--size) * 20);
  --sizemax: 16rem;
  --basesize-0: 0;
  --basesize-4: 0.4rem;
  --basesize-8: 0.8rem;
  --basesize-12: 1.2rem;
  --basesize-16: 1.6rem;
  --basesize-24: 2.4rem;
  --basesize-32: 3.2rem;
  --basesize-40: 4rem;
  --basesize-48: 4.8rem;
  --basesize-56: 5.6rem;
  --basesize-64: 6.4rem;
  --basesize-80: 8rem;
  --basesize-100: 10rem;
  --basesize-128: 12.8rem;
  --basesize-160: 16rem;
  --round-max: 100vmax;
  --round-xl: 26rem;
  --round-l: clamp(1.6rem, 1.327rem + 1.17vw, 2.4rem);
  --round-r: clamp(0.8rem, 0.527rem + 1.17vw, 1.6rem);
  --round-s: clamp(0.4rem, 0.263rem + 0.58vw, 0.8rem);
  --round-xs: 0.4rem;
  --icon-l: clamp(1.6rem, 1.547rem + 0.22vw, 2.4rem);
  --icon-m: clamp(0.8rem, 0.747rem + 0.22vw, 1.6rem);
  --icon-s: clamp(1.0rem, 0.974rem + 0.11vw, 1.2rem);
  --ul-li: clamp(0.6rem, 0.532rem + 0.29vw, 0.8rem);
  --ul-gap: 0.8rem;
  --ul-lineheight: clamp(1.563rem, 1.477rem + 0.36vw, 1.813rem);
}

@supports (width: 100dvw) {
  :root {
    --vw: 100dvw;
  }
}

:root {
  --zindex-lv: 0;
  --zindex-lv1: 1;
  --zindex-lv2: calc(var(--zindex-lv1) * 10);
  --zindex-lv3: calc(var(--zindex-lv2) * 10);
  --zindex-lv4: calc(var(--zindex-lv3) * 10);
  --zindex-lv5: calc(var(--zindex-lv4) * 10);
  --zindex-lv6: calc(var(--zindex-lv5) * 10);
  --zindex-lv7: calc(var(--zindex-lv6) * 10);
  --zindex-lv8: calc(var(--zindex-lv7) * 10);
  --zindex-lv9: calc(var(--zindex-lv8) * 10);
  --zindex-lv10: calc(var(--zindex-lv9) * 10);
  --zindex-lv-max: 1000000000;
  --zindex-lv-limit: 2147483647;
}

:root {
  /* ニュートラルにほんのりローズを足した温かみベース */
  --color-black-030: #ede4e2;
  --color-black-050: #d4c6c3;
  --color-black-100: #777777;
  --color-black-200: #555555;
  --color-black-300: #333333;
  --color-black-400: #222222;
  --color-black-500: #111111;
  --color-white-100: #ffffff;
  --color-white-200: #fff7f5;
  --color-brand-primary: #ff9888;
  --color-brand-primary-5: rgba(255, 152, 136, 0.5);
  --color-brand-secondary: rgba(255, 152, 136, 0.05);
  --color-sns-line: #06c755;
  --color-text-primary: var(--color-black-300);
  --color-text-secondary: var(--color-black-200);
  --color-text-tertiary: var(--color-black-100);
  --color-text-white: var(--color-white-100);
  --color-text-current: var(--color-brand-primary);
  --color-text-h2: var(--color-brand-primary);
  --color-text-accent: var(--color-brand-primary);
  --color-border-primary: var(--color-black-050);
  --color-border-secondary: var(--color-black-030);
  --color-border-current: var(--color-brand-primary);
  --color-border-pagenationbox: var(--color-black-030);
  --color-background: #faf5f4;
  --color-background-primary: var(--color-white-200);
  --color-background-white: var(--color-white-100);
  --color-background-brand: var(--color-brand-primary);
  --color-background-pagenationbox: #f3eae7;
  --color-background-h3: #f0e4e1;
  --color-background-cardsection: #eee2df;
  --link-primary: var(--color-black-500);
  --link-secondary: var(--color-brand-primary);
  --list-disc: var(--color-brand-primary);
}

:root {
  --font-heading: "FOT-ニューセザンヌ Pro DB","NewCezannePro-DB","Hiragino Sans","Hiragino Kaku Gothic ProN","ヒラギノ角ゴ ProN W3","メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
  --font-text: "FOT-ニューセザンヌ Pro M","NewCezannePro-M","Hiragino Sans","Hiragino Kaku Gothic ProN","ヒラギノ角ゴ ProN W3","メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
  --font-en: "Marcellus", serif;
  --fontsize-xl: clamp(1.5rem, 1.447rem + 0.22vw, 1.7rem);
  --fontsize-std: clamp(1.4rem, 1.374rem + 0.11vw, 1.5rem);
  --fontsize-m: clamp(1.3rem, 1.274rem + 0.11vw, 1.4rem);
  --fontsize-s: clamp(1.2rem, 1.174rem + 0.11vw, 1.3rem);
  --fontsize-xs: clamp(1.0rem, 0.947rem + 0.22vw, 1.2rem);
  --fontsize-x2s: 1rem;
  --font-weight-1: 400;
  --font-weight-2: 600;
  --lineheight1: 1;
  --lineheight2: 1.2;
  --lineheight3: 1.4;
  --lineheight4: 1.8;
  --lineheight5: 2;
}

:root {
  --ease: ease;
  --linear: linear;
  --easeIn: ease-in;
  --easeOut: ease-out;
  --easeInOut: ease-in-out;
  --easeSnap: cubic-bezier(0, 1, 0.5, 1);
  --easeOutCubic: cubic-bezier(0.215, 0.61, 0.355, 1);
  --easeInOutCubic: cubic-bezier(0.645, 0.045, 0.355, 1);
  --easeInCirc: cubic-bezier(0.6, 0.04, 0.98, 0.335);
  --easeOutCirc: cubic-bezier(0.075, 0.82, 0.165, 1);
  --easeInOutCirc: cubic-bezier(0.785, 0.135, 0.15, 0.86);
  --easeInExpo: cubic-bezier(0.95, 0.05, 0.795, 0.035);
  --easeOutExpo: cubic-bezier(0.19, 1, 0.22, 1);
  --easeInOutExpo: cubic-bezier(1, 0, 0, 1);
  --easeInQuad: cubic-bezier(0.55, 0.085, 0.68, 0.53);
  --easeOutQuad: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --easeInOutQuad: cubic-bezier(0.455, 0.03, 0.515, 0.955);
  --easeInQuart: cubic-bezier(0.895, 0.03, 0.685, 0.22);
  --easeOutQuart: cubic-bezier(0.165, 0.84, 0.44, 1);
  --easeInOutQuart: cubic-bezier(0.77, 0, 0.175, 1);
  --easeInQuint: cubic-bezier(0.755, 0.05, 0.855, 0.06);
  --easeOutQuint: cubic-bezier(0.23, 1, 0.32, 1);
  --easeInOutQuint: cubic-bezier(0.86, 0, 0.07, 1);
  --easeInSine: cubic-bezier(0.47, 0, 0.745, 0.715);
  --easeOutSine: cubic-bezier(0.39, 0.575, 0.565, 1);
  --easeInOutSine: cubic-bezier(0.445, 0.05, 0.55, 0.95);
  --easeInBack: cubic-bezier(0.6, -0.28, 0.735, 0.045);
  --easeOutBack: cubic-bezier(0.175, 0.885, 0.32, 1.275);
  --easeInOutBack: cubic-bezier(0.68, -0.55, 0.265, 1.55);
  --easeFloating: cubic-bezier(0.77, 0, 0.175, 1);
  --easeOrg: cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

:root {
  --layout-main-gap: clamp(4.8rem, 2.065rem + 11.67vw, 12.8rem);
  --layout-section-gap-l: clamp(2.4rem, 1.033rem + 5.83vw, 6.4rem);
  --layout-section-gap-r: clamp(2.4rem, 1.58rem + 3.5vw, 4.8rem);
  --space-x3l: clamp(6.4rem, 4.212rem + 9.33vw, 12.8rem);
  --space-xxl: clamp(5.6rem, 4.096rem + 6.42vw, 10rem);
  --space-xl: clamp(4.8rem, 3.706rem + 4.67vw, 8rem);
  --space-l: clamp(3.2rem, 2.106rem + 4.67vw, 6.4rem);
  --space-r: clamp(2.4rem, 2.127rem + 1.17vw, 3.2rem);
  --space-m: clamp(2rem, 1.863rem + 0.58vw, 2.4rem);
  --space-s: clamp(1.4rem, 1.332rem + 0.29vw, 1.6rem);
  --space-xs: 1.2rem;
  --space-x3s: 0.8rem;
  --space-none: 0;
  --space-mainGap: clamp(4rem, 2.633rem + 5.83vw, 8rem);
  --space-sectionGap: clamp(1.6rem, 1.327rem + 1.17vw, 2.4rem);
  --space-linkbox-block: clamp(2.4rem, 1.853rem + 2.33vw, 4rem);
  --space-linkbox-gap: clamp(2.4rem, 1.58rem + 3.5vw, 4.8rem);
  --space-linkbox-inline: clamp(2.4rem, 1.58rem + 3.5vw, 4.8rem);
  --space-inline-medium: clamp(4.8rem, 3.706rem + 4.67vw, 8rem);
  --space-inline-medium-right: clamp(2rem, -9.349rem + 48.42vw, 35.2rem);
}

@layer reset {
  * {
    min-height: 0;
    margin: 0;
    padding: 0;
    -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    vertical-align: baseline;
  }
  html {
    font-size: 62.5%;
    -ms-scroll-chaining: none;
        overscroll-behavior: none;
  }
  html,
  body {
    height: 100%;
  }
  body {
    display: block;
    line-height: 1;
    color: var(--color-text-secondary);
    text-align: left;
    width: 100%;
    background: var(--color-background);
    margin: 0;
    padding: 0;
    position: relative;
    text-rendering: optimizelegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-text-size-adjust: none;
       -moz-text-size-adjust: none;
        -ms-text-size-adjust: none;
            text-size-adjust: none;
    -webkit-font-feature-settings: "palt" on;
            font-feature-settings: "palt" on;
    word-wrap: break-word;
    overflow-wrap: break-word;
    font-family: var(--font-text);
    font-weight: 500;
    overflow-x: hidden;
  }
  :lang(en) main {
    font-family: var(--font-en);
    text-align: left;
    letter-spacing: 0;
  }
  body.fixed {
    position: fixed;
    width: 100%;
    height: 100%;
  }
  ::-moz-selection {
    background: var(--color-brand-primary);
    color: var(--color-text-white);
  }
  ::selection {
    background: var(--color-brand-primary);
    color: var(--color-text-white);
  }
  ::-moz-selection {
    background: var(--color-brand-primary);
    color: var(--color-text-white);
  }
  summary {
    cursor: pointer;
  }
  article,
  aside,
  dialog,
  figure,
  footer,
  header,
  hgroup,
  menu,
  nav,
  section,
  main {
    display: block;
  }
  audio,
  canvas,
  progress,
  video {
    display: inline-block;
    *display: inline;
    *zoom: 1;
    vertical-align: baseline;
  }
  audio:not([controls]) {
    display: none;
    height: 0;
  }
  [hidden] {
    display: none;
  }
  template {
    display: none;
  }
  address {
    font-style: normal;
  }
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    font-weight: normal;
    line-height: 100%;
    margin: 0;
    padding: 0;
  }
  strong,
  b {
    font-weight: 600;
  }
  object {
    pointer-events: none;
  }
  img {
    border: none;
    vertical-align: bottom;
  }
  audio:not([controls]) {
    display: none;
    height: 0;
  }
  svg {
    fill: currentcolor;
    vertical-align: bottom;
  }
  svg:not(:root) {
    overflow: hidden;
  }
  a {
    color: inherit;
    cursor: pointer;
  }
  a:hover {
    text-decoration: none;
  }
  .l-main a:not(.c-button) {
    color: var(--color-black-700);
  }
  a[href^="#"]:not([class], [target=_blank], [href$=".pdf"], [href$=".docx"], [href$=".doc"], [href$=".xls"], [href$=".xlsx"], [href$=".tsv"]) {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0em;
  }
  a[href^="#"]:not([class], [target=_blank], [href$=".pdf"], [href$=".docx"], [href$=".doc"], [href$=".xls"], [href$=".xlsx"], [href$=".tsv"])::before {
    content: "";
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    inline-size: 1.6em;
    aspect-ratio: 1/1;
    background: currentColor;
    display: inline-block;
    -webkit-mask-image: url("/assets/image/common/icon/icon_arrow.svg");
            mask-image: url("/assets/image/common/icon/icon_arrow.svg");
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-position: center;
            mask-position: center;
    -webkit-mask-size: contain;
            mask-size: contain;
    opacity: 0.5;
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
    rotate: 90deg;
  }
  a[href^="#"]:not([class], [target=_blank], [href$=".pdf"], [href$=".docx"], [href$=".doc"], [href$=".xls"], [href$=".xlsx"], [href$=".tsv"]):hover::before {
    opacity: 1;
  }
  a.u-link-currentcolor {
    color: currentColor;
  }
  a[target=_blank], a[href$=".pdf"], a[href$=".docx"], a[href$=".doc"], a[href$=".xls"], a[href$=".xlsx"], a[href$=".tsv"] {
    vertical-align: middle;
    position: relative;
    margin-right: 1.5em;
  }
  a[target=_blank]:has(img):hover, a[href$=".pdf"]:has(img):hover, a[href$=".docx"]:has(img):hover, a[href$=".doc"]:has(img):hover, a[href$=".xls"]:has(img):hover, a[href$=".xlsx"]:has(img):hover, a[href$=".tsv"]:has(img):hover {
    opacity: 0.8;
  }
  .l-nav a[target=_blank], .l-nav a[href$=".pdf"], .l-nav a[href$=".docx"], .l-nav a[href$=".doc"], .l-nav a[href$=".xls"], .l-nav a[href$=".xlsx"], .l-nav a[href$=".tsv"] {
    margin: 0;
  }
  a[target=_blank]:has(img)::after, a[target=_blank]:has(.c-entry-title)::after, .l-nav a[target=_blank]::after, a[href$=".pdf"]:has(img)::after, a[href$=".pdf"]:has(.c-entry-title)::after, .l-nav a[href$=".pdf"]::after, a[href$=".docx"]:has(img)::after, a[href$=".docx"]:has(.c-entry-title)::after, .l-nav a[href$=".docx"]::after, a[href$=".doc"]:has(img)::after, a[href$=".doc"]:has(.c-entry-title)::after, .l-nav a[href$=".doc"]::after, a[href$=".xls"]:has(img)::after, a[href$=".xls"]:has(.c-entry-title)::after, .l-nav a[href$=".xls"]::after, a[href$=".xlsx"]:has(img)::after, a[href$=".xlsx"]:has(.c-entry-title)::after, .l-nav a[href$=".xlsx"]::after, a[href$=".tsv"]:has(img)::after, a[href$=".tsv"]:has(.c-entry-title)::after, .l-nav a[href$=".tsv"]::after {
    display: none;
  }
  header a[target=_blank], a[target=_blank].u-link-under, header a[href$=".pdf"], a[href$=".pdf"].u-link-under, header a[href$=".docx"], a[href$=".docx"].u-link-under, header a[href$=".doc"], a[href$=".doc"].u-link-under, header a[href$=".xls"], a[href$=".xls"].u-link-under, header a[href$=".xlsx"], a[href$=".xlsx"].u-link-under, header a[href$=".tsv"], a[href$=".tsv"].u-link-under {
    -webkit-padding-end: 0;
            padding-inline-end: 0;
    margin-right: 0;
  }
  a[target=_blank].u-link-under, a[href$=".pdf"].u-link-under, a[href$=".docx"].u-link-under, a[href$=".doc"].u-link-under, a[href$=".xls"].u-link-under, a[href$=".xlsx"].u-link-under, a[href$=".tsv"].u-link-under {
    text-decoration: none;
  }
  a[target=_blank].u-link-under:hover, a[href$=".pdf"].u-link-under:hover, a[href$=".docx"].u-link-under:hover, a[href$=".doc"].u-link-under:hover, a[href$=".xls"].u-link-under:hover, a[href$=".xlsx"].u-link-under:hover, a[href$=".tsv"].u-link-under:hover {
    text-decoration: underline;
  }
  a[target=_blank]::after, a[href$=".pdf"]::after, a[href$=".docx"]::after, a[href$=".doc"]::after, a[href$=".xls"]::after, a[href$=".xlsx"]::after, a[href$=".tsv"]::after {
    content: "";
    inline-size: 0.8em;
    vertical-align: middle;
    aspect-ratio: 1/1;
    position: relative;
    display: inline-block;
    background: currentColor;
    position: absolute;
    bottom: calc(0.5lh - 0.6666666667em);
    padding-left: 0.5em;
  }
  header a[target=_blank]::after, a[target=_blank].u-link-under::after, header a[href$=".pdf"]::after, a[href$=".pdf"].u-link-under::after, header a[href$=".docx"]::after, a[href$=".docx"].u-link-under::after, header a[href$=".doc"]::after, a[href$=".doc"].u-link-under::after, header a[href$=".xls"]::after, a[href$=".xls"].u-link-under::after, header a[href$=".xlsx"]::after, a[href$=".xlsx"].u-link-under::after, header a[href$=".tsv"]::after, a[href$=".tsv"].u-link-under::after {
    display: none;
  }
  a[target=_blank]::after, a[href$=".pdf"]::after, a[href$=".docx"]::after, a[href$=".doc"]::after, a[href$=".xls"]::after, a[href$=".xlsx"]::after, a[href$=".tsv"]::after {
    -webkit-mask-image: url("/assets/image/common/icon/icon_dl.svg");
            mask-image: url("/assets/image/common/icon/icon_dl.svg");
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-position: center;
            mask-position: center;
    -webkit-mask-size: contain;
            mask-size: contain;
  }
  a[target=_blank]::after {
    -webkit-mask-image: url("/assets/image/common/icon/icon_blank.svg");
            mask-image: url("/assets/image/common/icon/icon_blank.svg");
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-position: center;
            mask-position: center;
    -webkit-mask-size: contain;
            mask-size: contain;
  }
  a * {
    cursor: pointer;
  }
  a,
  input,
  select,
  textarea,
  button,
  a object,
  button span {
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  :is(ol, ul) li {
    list-style: none;
  }
  img {
    max-width: 100%;
  }
  figure {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0.8rem;
  }
  figure figcaption {
    font-size: clamp(1.1rem, 1.0736842105rem + 0.1122807018vw, 1.2rem);
    line-height: var(--lineheight16);
    color: var(--color-text-secondary);
  }
  input[type=text],
  input[type=tel],
  input[type=email],
  input[type=number],
  textarea {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  input[type=text]:focus,
  input[type=tel]:focus,
  input[type=email]:focus,
  input[type=number]:focus,
  input[type=checkbox]:focus,
  textarea:focus,
  label:focus,
  select {
    outline: 0;
  }
  select::-ms-expand {
    display: none;
  }
  :-moz-placeholder-shown {
    color: var(--color-placeholder);
  }
  :-ms-input-placeholder {
    color: var(--color-placeholder);
  }
  :placeholder-shown {
    color: var(--color-placeholder);
  }
  ::-webkit-input-placeholder {
    color: var(--color-placeholder);
  }
  ::-moz-placeholder {
    color: var(--color-placeholder);
  }
  :-ms-input-placeholder {
    color: var(--color-placeholder);
  }
  ::-ms-input-placeholder {
    color: var(--color-placeholder);
  }
  ::placeholder {
    color: var(--color-placeholder);
  }
  :input-placeholder {
    color: var(--color-placeholder);
  }
  :placeholder {
    color: var(--color-placeholder);
  }
  ::-webkit-input-placeholder {
    color: var(--color-placeholder);
  }
  ::-moz-placeholder {
    color: var(--color-placeholder);
  }
  :-ms-input-placeholder {
    color: var(--color-placeholder);
  }
  ::-ms-input-placeholder {
    color: var(--color-placeholder);
  }
  ::placeholder {
    color: var(--color-placeholder);
  }
  ::input-placeholder {
    color: var(--color-placeholder);
  }
  iframe {
    height: 100%;
    border: none;
    outline: none;
    aspect-ratio: 16/9;
  }
  ruby {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0.7rem;
    border: none;
    white-space: nowrap;
    vertical-align: text-bottom;
    text-align: center;
    line-height: 100%;
  }
  ruby rt {
    display: table-header-group;
    font-size: 50%;
    text-align: center;
    line-height: 100%;
  }
  ruby ruby rt {
    display: table-footer-group;
    font-size: 50%;
    line-height: 100%;
  }
  ruby rp {
    display: none;
  }
  dl dt {
    font-weight: bold;
  }
  body > span {
    position: fixed;
    width: 0;
    height: 0;
    overflow: hidden;
    left: 0;
  }
  select {
    width: 100%;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    border-radius: 2px;
    font-size: 1.4rem;
    background: var(--color-pure-white);
    border: none;
    border: 1px solid #dbdbdb;
    padding: 0 1.5rem;
    outline: none;
    -webkit-box-shadow: none;
            box-shadow: none;
  }
  @media screen and (max-width: 768px) {
    select {
      background: #eee;
    }
  }
  hr {
    inline-size: 100%;
    block-size: 1px;
    background-color: #DCDBD9;
    border: none;
    -webkit-box-shadow: none;
            box-shadow: none;
  }
  hr.c-cardsection-hr {
    background-color: var(--color-border-pagenationbox);
  }
}
@layer layout {
  .l-header__inner {
    position: absolute;
    z-index: 1000;
    width: 100%;
  }
  .l-header-nav {
    margin: 0 224px 0 5.45vw;
  }
  .l-header-nav > ul {
    border-bottom: solid 1px rgba(255, 255, 255, 0.2);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: min(2.72vw, 4rem);
  }
  .l-header-nav > ul > li .l-header-nav-item {
    display: block;
    color: var(--color-text-white);
    padding-block: clamp(2.6rem, 2.4815789474rem + 0.5052631579vw, 3.05rem);
    font-size: clamp(1.1rem, 0.9684210526rem + 0.5614035088vw, 1.6rem);
    line-height: 1.2;
    opacity: 0.8;
    text-decoration: none;
    position: relative;
  }
  .l-header-nav > ul > li .l-header-nav-item:has(.l-header-dropmenu__wrap) {
    position: relative;
  }
  .l-header-nav > ul > li .l-header-nav-item:not(:has(.l-header-dropmenu__wrap))::after {
    content: "";
    inline-size: 100%;
    block-size: 1px;
    background: var(--color-background-white);
    opacity: 0;
    position: absolute;
    bottom: 0;
    left: 0;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
  .l-header-nav > ul > li .l-header-nav-item:not(:has(.l-header-dropmenu__wrap)):hover::after {
    opacity: 1;
  }
  .l-header-nav > ul > li .l-header-nav-item:hover {
    opacity: 1;
  }
  .l-header-nav > ul > li .l-header-nav-item.is-current {
    font-family: var(--font-heading);
    font-weight: 600;
    opacity: 1;
    border-bottom: solid 1px var(--color-text-white);
  }
  .l-header-nav > ul > li .l-header-nav-item.is-current:not(:has(.l-header-dropmenu__wrap))::after {
    opacity: 0;
  }
  .l-header-nav > ul > li .l-header-nav-item .c-underline.-reverse {
    background-size: 100% 0px !important;
  }
  @media screen and (max-width: 768px) {
    .l-header-nav {
      display: none;
    }
  }
  .l-header-logo {
    position: relative;
    z-index: 1000;
  }
  .l-header-logo a {
    max-inline-size: 152px;
    aspect-ratio: 1.226/1;
    background-color: var(--color-background-white);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding-inline: clamp(0.76rem, 0.3284210526rem + 1.8414035088vw, 2.4rem);
    border-radius: clamp(0.24rem, 0.1452631579rem + 0.4042105263vw, 0.6rem);
    position: fixed;
    top: 4px;
    right: 4px;
    z-index: 100;
    border: solid 1px #F2F1F0;
  }
  .l-header-logo a:hover img {
    opacity: 0.8;
  }
  @media screen and (max-width: 768px) {
    .l-header-logo a {
      aspect-ratio: 1.296/1;
      max-inline-size: 70px;
      padding-inline: 7.6px;
      border-radius: 2.4px;
      position: absolute;
      left: 4px;
      right: 0;
    }
  }
  .l-nav {
    place-content: center;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: var(--zindex-lv-max);
    background: #EDE9DF;
    -webkit-margin-end: 2rem;
            margin-inline-end: 2rem;
    border-radius: 0 1.2rem 0 0;
    border-top: solid 1px #E9E5D9;
    border-right: solid 1px #E9E5D9;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 0;
    -webkit-transition: all 0.5s ease;
    transition: all 0.5s ease;
  }
  .l-nav-list {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 0.8rem 1fr;
    grid-template-columns: 1fr 1fr;
    gap: 0.8rem;
    width: 100%;
    margin-inline: 2rem 0.8rem;
    margin-block: 0.8rem;
  }
  .l-nav-list li a {
    background-color: var(--color-background-white);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-padding-before: 1.2rem;
            padding-block-start: 1.2rem;
    -webkit-padding-after: 1.2rem;
            padding-block-end: 1.2rem;
    padding-inline: 1.2rem;
    text-decoration: none;
    border-radius: 0.8rem;
    -webkit-box-shadow: 0 1px 1px #E1DED4;
            box-shadow: 0 1px 1px #E1DED4;
    font-family: var(--font-heading);
    font-weight: 600;
    color: var(--color-text-primary);
    font-size: 1.3rem;
    line-height: 1;
  }
  .l-nav-list li a::before {
    background: url(/assets/image/common/icon/icon_nav_tel.svg) no-repeat 0 0/contain;
    content: "";
    inline-size: 16px;
    aspect-ratio: 1/1;
    margin: 0px 4px 0 0;
  }
  .l-nav-list li:nth-of-type(2) a::before {
    background: url(/assets/image/common/icon/icon_nav_schedule.svg) no-repeat 0 0/contain;
  }
  .l-toggle {
    inline-size: 4.6rem;
    block-size: 4.6rem;
    aspect-ratio: 1/1;
    background: var(--color-background-brand);
    display: none;
    place-content: center;
    border-radius: 0.8rem;
    border: none;
    margin-inline: 0.5rem;
    margin-block: 0.5rem;
  }
  @media screen and (max-width: 768px) {
    .l-toggle {
      display: -ms-grid;
      display: grid;
    }
  }
  .l-toggle .l-toggle-sign {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0.6rem;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-padding-before: 0.2rem;
            padding-block-start: 0.2rem;
  }
  .l-toggle .l-toggle-sign p {
    font-family: var(--font-en);
    color: var(--color-text-white);
    font-size: 0.8rem;
    line-height: 1;
    -webkit-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
  }
  .l-toggle .l-toggle-sign .l-toggle-icon {
    inline-size: 0.5rem;
    block-size: 0.5rem;
    background: var(--color-background-white);
    border-radius: var(--round-max);
    position: relative;
    -webkit-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
  }
  .l-toggle .l-toggle-sign .l-toggle-icon::before, .l-toggle .l-toggle-sign .l-toggle-icon::after {
    content: "";
    inline-size: 0.5rem;
    block-size: 0.5rem;
    background: var(--color-background-white);
    border-radius: var(--round-max);
    position: absolute;
    top: 0;
    -webkit-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
  }
  .l-toggle .l-toggle-sign .l-toggle-icon::before {
    left: -1rem;
  }
  .l-toggle .l-toggle-sign .l-toggle-icon::after {
    left: 1rem;
  }
  .l-toggle.is-active .l-toggle-sign p {
    display: none;
  }
  .l-toggle.is-active .l-toggle-sign .l-toggle-icon {
    inline-size: 1.5rem;
    block-size: 1.5rem;
    background: none;
    position: relative;
  }
  .l-toggle.is-active .l-toggle-sign .l-toggle-icon::before, .l-toggle.is-active .l-toggle-sign .l-toggle-icon::after {
    content: "";
    inline-size: 2rem;
    block-size: 0.1rem;
    background: var(--color-background-white);
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-margin-start: -0.95rem;
            margin-inline-start: -0.95rem;
  }
  .l-toggle.is-active .l-toggle-sign .l-toggle-icon::before {
    rotate: 45deg;
  }
  .l-toggle.is-active .l-toggle-sign .l-toggle-icon::after {
    rotate: -45deg;
  }
  .l-toggle__body {
    inline-size: 78.7%;
    block-size: 100vh;
    padding-inline: 2rem;
    -webkit-padding-before: var(--basesize-48);
            padding-block-start: var(--basesize-48);
    position: fixed;
    top: 0;
    right: -100vw;
    background: var(--color-background-white);
    border-top: solid 1px rgba(0, 0, 0, 0.15);
    overflow: scroll;
    z-index: 10000;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: all 0.3s ease-in;
    transition: all 0.3s ease-in;
  }
  .l-toggle__body.is-active {
    opacity: 1;
    visibility: visible;
    right: 0;
    -webkit-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
  }
  .t-toggle__inner {
    block-size: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: var(--basesize-32);
    -webkit-padding-after: var(--basesize-100);
            padding-block-end: var(--basesize-100);
  }
  .l-toggle__cover {
    inline-size: 100vw;
    block-size: 100vh;
    background: rgba(0, 0, 0, 0.2);
    position: fixed;
    inset: 0;
    pointer-events: none;
    opacity: 0;
    cursor: pointer;
    z-index: 9999;
    -webkit-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
  }
  .l-toggle__cover.is-active {
    opacity: 1;
    pointer-events: auto;
  }
  .l-sitemap {
    border-top: 1px solid var(--color-black-030);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0;
  }
  .l-sitemap-heading {
    inline-size: 100%;
    block-size: 100%;
    display: block;
    -webkit-padding-before: 0.8rem;
            padding-block-start: 0.8rem;
    -webkit-padding-after: 1.2rem;
            padding-block-end: 1.2rem;
    border-bottom: 1px solid var(--color-black-030);
    color: var(--color-text-secondary);
    text-decoration: none;
    font-size: 1.5rem;
    line-height: var(--lineheight4);
    font-family: var(--font-heading);
    font-weight: 600;
  }
  .l-sitemap-heading:hover span {
    color: var(--color-text-current);
  }
  .l-sitemap-heading.is-current {
    color: var(--color-text-current);
  }
  .c-nav-copy p {
    color: var(--color-text-tertiary);
    font-size: 1rem;
    line-height: 1.7;
    font-family: var(--font-en);
    opacity: 0.6;
    text-align: center;
  }
  .l-header-dropmenu {
    position: relative;
    -webkit-box-shadow: 0px 6px 30px 0px rgba(0, 0, 0, 0.12);
            box-shadow: 0px 6px 30px 0px rgba(0, 0, 0, 0.12);
  }
  .l-header-dropmenu::before {
    content: "";
    position: absolute;
    top: -10px;
    left: 50%;
    translate: -50% 0%;
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 9px 10px 9px;
    border-color: transparent transparent #000000 transparent;
  }
  .l-header-dropmenu__wrap {
    position: absolute;
    top: 98%;
    left: 50%;
    -webkit-transform: translate(-50%, 0%);
            transform: translate(-50%, 0%);
  }
  .l-header-dropmenu-item a {
    text-decoration: none;
    width: 18.5rem;
    display: block;
    -webkit-padding-before: clamp(1.4rem, 1.3342105263rem + 0.2807017544vw, 1.65rem);
            padding-block-start: clamp(1.4rem, 1.3342105263rem + 0.2807017544vw, 1.65rem);
    -webkit-padding-after: clamp(1.6rem, 1.5342105263rem + 0.2807017544vw, 1.85rem);
            padding-block-end: clamp(1.6rem, 1.5342105263rem + 0.2807017544vw, 1.85rem);
    -webkit-padding-start: clamp(1.6rem, 1.4947368421rem + 0.449122807vw, 2rem);
            padding-inline-start: clamp(1.6rem, 1.4947368421rem + 0.449122807vw, 2rem);
    -webkit-padding-end: clamp(1.4rem, 1.2947368421rem + 0.449122807vw, 1.8rem);
            padding-inline-end: clamp(1.4rem, 1.2947368421rem + 0.449122807vw, 1.8rem);
    background: var(--color-black-500);
    color: var(--color-text-white) !important;
    font-size: var(--fontsize-std);
    line-height: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    border-bottom: solid 1px rgba(255, 255, 255, 0.14);
  }
  .l-header-dropmenu-item a:after {
    content: "";
    inline-size: 1rem;
    aspect-ratio: 5/7;
    display: block;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
    background: url(/assets/image/common/icon/icon_arrow.svg) center/contain no-repeat;
    -webkit-transform: translate(0, 0.1lh);
            transform: translate(0, 0.1lh);
    opacity: 0.4;
  }
  .l-header-dropmenu-item a:hover {
    background-color: #262626;
  }
  .l-header-dropmenu-item a:hover:after {
    opacity: 1;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
  .l-header-dropmenu-item:first-of-type a {
    border-radius: 6px 6px 0 0;
  }
  .l-header-dropmenu-item:last-of-type a {
    border-radius: 0 0 6px 6px;
  }
  @media screen and (max-width: 768px) {
    .l-header-dropmenu__wrap {
      top: 4.5rem;
    }
  }
}
@layer layout {
  .l-footer {
    background: url(/assets/image/common/footer_bg.jpg) center/cover no-repeat;
    -webkit-padding-before: var(--space-mainGap);
            padding-block-start: var(--space-mainGap);
    -webkit-padding-end: clamp(2rem, -2.786rem + 20.42vw, 16rem);
            padding-inline-end: clamp(2rem, -2.786rem + 20.42vw, 16rem);
    container-type: inline-size;
  }
  @media screen and (max-width: 979px) {
    .l-footer {
      padding-block: var(--basesize-40);
      -webkit-padding-end: 2rem;
              padding-inline-end: 2rem;
    }
  }
  .l-footer-info, .l-footer-body, .l-footer-copy {
    position: relative;
    z-index: var(--zindex-lv2);
  }
  .l-footer-info {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 1fr;
    grid-template-columns: 1fr 1fr;
    position: relative;
  }
  .l-footer-info__block {
    padding-block: clamp(3.2rem, 1.9368421053rem + 5.3894736842vw, 8rem);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: clamp(2rem, 1.4736842105rem + 2.2456140351vw, 4rem);
    position: relative;
    overflow: hidden;
    z-index: -1;
    color: var(--color-text-white);
    container-type: inline-size;
  }
  .l-footer-info__block > * {
    padding-inline: clamp(2rem, 0.4210526316rem + 6.7368421053vw, 8rem);
  }
  .l-footer-info__block::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    inline-size: 100%;
    block-size: 100%;
    background: url(/assets/image/common/bg_noise.png) center/cover no-repeat;
    z-index: -1;
    pointer-events: none;
  }
  .l-footer-info__block::after {
    content: "";
    position: absolute;
    bottom: -24.5%;
    right: 0;
    aspect-ratio: 0.709/1;
    inline-size: 100%;
    block-size: 70%;
    z-index: -2;
    mix-blend-mode: multiply;
    opacity: 0.3;
    pointer-events: none;
  }
  .l-footer-info__block:first-child {
    background: linear-gradient(246deg, #CA9F62 3.44%, #A07539 85.15%);
  }
  .l-footer-info__block:first-child::after {
    background: url(/assets/image/common/icon/icon_footer-info01.svg) right/contain no-repeat;
  }
  .l-footer-info__block:last-child {
    border-radius: 0px var(--round-l) 0px 0px;
    background: linear-gradient(257deg, #ffc4ba 0.22%, #ff9888 64.49%);
  }
  .l-footer-info__block:last-child::after {
    background: url(/assets/image/common/icon/icon_footer-info02.svg) right/contain no-repeat;
  }
  .l-footer-info__block .l-footer-info__body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: clamp(2rem, 1.8947368421rem + 0.449122807vw, 2.4rem);
  }
  @media screen and (max-width: 1050px) {
    .l-footer-info {
      -ms-grid-columns: 1fr;
      grid-template-columns: 1fr;
    }
    .l-footer-info__block:first-child {
      border-top-right-radius: 16px;
    }
    .l-footer-info__block:first-child .l-footer-info__body {
      gap: 1.2rem;
    }
    .l-footer-info__block:last-child {
      border-top-right-radius: 0px;
    }
    .l-footer-info__block:last-child .l-footer-info__body {
      gap: 2rem;
    }
  }
  @media screen and (max-width: 500px) {
    .l-footer-info__block {
      padding-block: var(--basesize-32);
    }
    .l-footer-info__block > * {
      padding-inline: 2rem;
    }
    .l-footer-info__block::after {
      bottom: -20%;
    }
  }
  .l-footer-main {
    background-color: #FFFAF3;
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 0.88fr 2fr;
    grid-template-columns: 0.88fr 2fr;
  }
  @container (max-width: 1080px) {
    .l-footer-main {
      -ms-grid-columns: 1fr;
      grid-template-columns: 1fr;
    }
  }
  .l-footer-main__block {
    container-type: inline-size;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding-inline: clamp(2rem, 0.4210526316rem + 6.7368421053vw, 8rem);
    -webkit-padding-before: clamp(4.8rem, 3.9578947368rem + 3.5929824561vw, 8rem);
            padding-block-start: clamp(4.8rem, 3.9578947368rem + 3.5929824561vw, 8rem);
    -webkit-padding-after: clamp(0rem, -2.1052631579rem + 8.9824561404vw, 8rem);
            padding-block-end: clamp(0rem, -2.1052631579rem + 8.9824561404vw, 8rem);
  }
  @container (max-width: 1080px) {
    .l-footer-main__block {
      padding-inline: 2rem;
    }
  }
  .l-footer-main__block:first-child {
    gap: clamp(2.4rem, 2.1894736842rem + 0.898245614vw, 3.2rem);
  }
  @container (max-width: 1080px) {
    .l-footer-main__block:first-child {
      -webkit-padding-before: var(--basesize-48);
              padding-block-start: var(--basesize-48);
      -webkit-padding-after: 0rem;
              padding-block-end: 0rem;
    }
  }
  .l-footer-main__block:last-child {
    -webkit-border-start: 1px solid rgba(214, 214, 214, 0.5);
            border-inline-start: 1px solid rgba(214, 214, 214, 0.5);
    gap: var(--size2);
    gap: clamp(1.4rem, 1.3473684211rem + 0.2245614035vw, 1.6rem);
  }
  @container (max-width: 1080px) {
    .l-footer-main__block:last-child {
      -webkit-padding-before: var(--basesize-32);
              padding-block-start: var(--basesize-32);
      -webkit-padding-after: var(--basesize-32);
              padding-block-end: var(--basesize-32);
    }
  }
  .l-footer-logo {
    inline-size: clamp(14rem, 12.5263157895rem + 6.2877192982vw, 19.6rem);
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
  .l-footer-logo:hover {
    opacity: 0.8;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
  .l-footer-address {
    font-size: 1.4rem;
    line-height: 1.7;
    color: var(--color-text-tertiary);
  }
  .l-footer-sns {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1rem;
  }
  @media screen and (max-width: 1079px) {
    .l-footer-sns {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      gap: var(--size2);
    }
  }
  .l-footer-sns .l-footer-sns__insta,
  .l-footer-sns .l-footer-sns__line {
    list-style: none;
  }
  .l-footer-sns .l-footer-sns__insta a,
  .l-footer-sns .l-footer-sns__line a {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    position: relative;
    font-size: clamp(1.2rem, 1.1473684211rem + 0.2245614035vw, 1.4rem);
    font-family: var(--font-en);
    line-height: 1;
    text-decoration: none;
  }
  .l-footer-sns .l-footer-sns__insta a::before,
  .l-footer-sns .l-footer-sns__line a::before {
    background: url(/assets/image/common/icon/icon_instagram.svg) no-repeat 0 0/contain;
    content: "";
    inline-size: 20px;
    aspect-ratio: 1/1;
    margin: 0px 8px 0 0;
  }
  .l-footer-sns .l-footer-sns__insta a::after,
  .l-footer-sns .l-footer-sns__line a::after {
    content: none;
  }
  .l-footer-sns .l-footer-sns__line a::before {
    background: url(/assets/image/common/icon/icon_line.svg) no-repeat 0 0/contain;
  }
  .l-footer-button a[target=_blank]::after, .l-footer-button a[href$=".pdf"]::after {
    padding-left: 0;
  }
  .l-footer-button a[target=_blank]::after {
    -webkit-mask-image: none;
            mask-image: none;
  }
  .l-footer-hours {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: var(--basesize-12);
  }
  .l-footer-copy {
    background: var(--color-brand-primary);
    text-align: center;
    padding-block: var(--basesize-12);
    position: relative;
  }
  .l-footer-copy::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    inline-size: 100%;
    block-size: 100%;
    background: url(/assets/image/common/bg_noise.png) center/cover no-repeat;
    z-index: -1;
  }
  .l-footer-copy p {
    font-family: var(--font-en);
    font-size: clamp(1rem, 0.9210526316rem + 0.3368421053vw, 1.3rem);
    color: var(--color-text-white);
    line-height: 2.2;
    letter-spacing: 0;
    opacity: 0.5;
  }
  @media screen and (max-width: 768px) {
    .l-footer-copy {
      -webkit-padding-after: 2.6rem;
              padding-block-end: 2.6rem;
    }
    .l-footer-copy p {
      opacity: 1;
    }
  }
  .l-footer-heading {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: clamp(0.6rem, 0.4947368421rem + 0.449122807vw, 1rem);
  }
  .l-footer-heading__en {
    font-family: var(--font-en);
    font-family: var(--font-en);
    font-size: clamp(1rem, 0.932rem + 0.29vw, 1.2rem);
    font-weight: var(--font-wight-1);
    line-height: var(--lineheight1);
    padding-bottom: clamp(0.2rem, 0.132rem + 0.29vw, 0.4rem);
    font-weight: normal;
    line-height: 1;
  }
  .l-footer-heading__jp {
    font-family: var(--font-text);
    line-height: 1.2;
    font-size: clamp(2rem, 1.5263157895rem + 2.0210526316vw, 3.8rem);
  }
  .l-footer-heading.-type1, .l-footer-heading.-type2 {
    position: relative;
  }
  .l-footer-heading.-type1::before, .l-footer-heading.-type2::before {
    content: "";
    position: absolute;
    top: -10%;
    left: 0;
    aspect-ratio: 0.709/1;
    inline-size: clamp(1.1rem, 0.4947368421rem + 2.5824561404vw, 3.4rem);
    block-size: 100%;
  }
  @media screen and (max-width: 500px) {
    .l-footer-heading.-type1::before, .l-footer-heading.-type2::before {
      inline-size: 1.1rem;
      top: -30%;
    }
  }
  .l-footer-heading.-type1::before {
    background: url(/assets/image/common/icon/icon_footer-heading-arrow01.svg) left/contain no-repeat;
  }
  .l-footer-heading.-type2::before {
    background: url(/assets/image/common/icon/icon_footer-heading-arrow02.svg) left/contain no-repeat;
  }
  .l-footer-heading2 {
    font-family: var(--font-heading);
    font-weight: 600;
    font-size: 1.4rem;
    letter-spacing: 0;
    color: var(--color-text-primary);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0.8rem;
    position: relative;
  }
  .l-footer-heading2:before {
    content: "●";
    font-size: 0.6rem;
    color: var(--color-brand-primary);
  }
  .l-footer-text {
    font-size: 1.4rem;
    line-height: 1.7;
  }
  .l-footer-tel {
    font-family: var(--font-en);
    font-size: clamp(2.2rem, 1.3578947368rem + 3.5929824561vw, 5.4rem);
    text-decoration: none;
  }
  .l-footer-tel span {
    font-size: clamp(1.2rem, 0.9894736842rem + 0.898245614vw, 2rem);
    margin-right: 0.8rem;
  }
}
@layer layout {
  main {
    position: relative;
  }
  .l-main {
    position: relative;
    z-index: 100;
    background-color: var(--color-background);
  }
  .l-main::after {
    content: "";
    position: absolute;
    height: var(--space-x3l);
    inline-size: var(--vw);
    background-color: var(--color-background);
    top: calc(var(--space-x3l) * -1);
    left: 0;
    border-top-left-radius: clamp(2.4rem, 0.9263157895rem + 6.2877192982vw, 8rem);
    border-top-right-radius: clamp(2.4rem, 0.9263157895rem + 6.2877192982vw, 8rem);
    margin-inline: calc(50% - var(--vw) / 2);
    -webkit-box-shadow: 0px -1px 0px rgba(226, 200, 195, 0.45);
            box-shadow: 0px -1px 0px rgba(226, 200, 195, 0.45);
  }
  @media screen and (max-width: 768px) {
    .l-main {
      margin-top: calc(var(--size4) * -1);
    }
    .l-main::after {
      content: none;
    }
    .l-main:not(.l-main-select) {
      background-color: inherit;
    }
    .l-main:not(.l-main-select) .l-main__inner {
      border-radius: var(--basesize-24) var(--basesize-24) 0 0;
    }
    .l-main:has(.l-main-select) .l-main__inner {
      border-radius: 0;
    }
  }
  .l-main.-about {
    margin-top: calc(var(--space-xl) * 1);
  }
  .l-main.-about::after {
    height: var(--space-xl);
    border-radius: 0;
    top: 0;
  }
  @media screen and (max-width: 768px) {
    .l-main.-about {
      margin-top: 0;
    }
  }
  .l-main.-home::after {
    height: 7rem;
    top: -7rem;
    border-top-left-radius: clamp(2.4rem, 1.7157894737rem + 2.9192982456vw, 5rem);
    border-top-right-radius: clamp(2.4rem, 1.7157894737rem + 2.9192982456vw, 5rem);
  }
  @media screen and (max-width: 768px) {
    .l-main.-home {
      margin-top: -2rem;
    }
  }
  .l-main__inner {
    max-inline-size: var(--viewport-max);
    margin-inline: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-padding-after: var(--space-x3l);
    padding-block-end: var(--space-x3l);
    position: relative;
    z-index: 100;
    background-color: var(--color-background);
  }
  .l-main__inner:has(.l-main-side) {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr clamp(22.5rem, 20.5%, 30rem);
    grid-template-columns: 1fr clamp(22.5rem, 20.5%, 30rem);
        grid-template-areas: "body side";
  }
  .l-main__inner:has(.l-main-side.-left) {
    display: -ms-grid;
    /* display: grid; */
    -ms-grid-columns: clamp(22.5rem, 30.5%, 35rem) 1fr;
    grid-template-columns: clamp(22.5rem, 30.5%, 35rem) 1fr;
    /* grid-template-areas:
      "side body"; */
  }
  @media screen and (max-width: 768px) {
    .l-main__inner:has(.l-main-side.-left) {
      display: block;
    }
  }
  @media screen and (max-width: 768px) {
    .l-main__inner {
      -webkit-padding-before: var(--basesize-64);
              padding-block-start: var(--basesize-64);
    }
    .l-main__inner:has(.l-main-side) {
      display: block;
      padding-bottom: var(--basesize-64);
      padding-inline: 2rem;
    }
    .l-main__inner:not(.l-main-side) {
      padding-bottom: var(--basesize-64);
      padding-inline: 2rem;
    }
  }
  @media screen and (max-width: 768px) {
    .l-main__inner.-home {
      padding-inline: 0;
      -webkit-padding-before: var(--basesize-48);
              padding-block-start: var(--basesize-48);
    }
  }
  .l-main-select {
    display: none;
    margin-inline: calc(50% - var(--vw) / 2);
    background: var(--color-background-h3);
    padding: var(--basesize-8) 2rem;
    border-radius: var(--basesize-24) var(--basesize-24) 0 0;
    position: sticky;
    inline-size: 100%;
    top: 0;
    left: 0;
    z-index: var(--zindex-lv-limit);
  }
  .l-main-select-label {
    font-family: var(--font-text);
    font-size: clamp(1.2rem, 1.132rem + 0.29vw, 1.4rem);
    line-height: 1.7;
    font-weight: normal;
    font-family: var(--font-heading);
    color: var(--color-text-primary);
    padding-right: 1rem;
  }
  .l-main-select .c-select {
    border-radius: var(--round-max) !important;
  }
  .l-main-select .c-select select {
    line-height: 1.1 !important;
    padding-block: 1.4rem !important;
  }
  @media screen and (max-width: 768px) {
    .l-main-select {
      display: -ms-grid;
      display: grid;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between;
      -ms-grid-columns: 120px 1fr;
      grid-template-columns: 120px 1fr;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
    }
  }
  @media screen and (max-width: 768px) {
    .t-insured .l-main-select, .t-uninsured .l-main-select, .t-price .l-main-select {
      -ms-grid-columns: 1fr;
      grid-template-columns: 1fr;
    }
    .t-insured .l-main-select .l-main-select-label, .t-uninsured .l-main-select .l-main-select-label, .t-price .l-main-select .l-main-select-label {
      display: none;
    }
  }
  .l-main-side {
    -ms-grid-row: 1;
    -ms-grid-column: 2;
    grid-area: side;
    -ms-grid-row: 2;
    grid-row: 2;
    -ms-grid-column: 2;
    grid-column: 2;
    position: relative;
    z-index: 1;
  }
  .l-main__inner:has(.l-main-side.-left) > .l-main-side {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  @media screen and (max-width: 768px) {
    .l-main-side {
      display: none;
    }
  }
  .l-main-side.-left {
    -ms-grid-row: 1;
    -ms-grid-column: 2;
    grid-area: side;
    -ms-grid-row: 1;
    grid-row: 1;
    -ms-grid-column: 1;
    grid-column: 1;
    position: relative;
    z-index: 1;
  }
  .l-main__inner:has(.l-main-side.-left) > .l-main-side.-left {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  @media screen and (max-width: 768px) {
    .l-main-side.-left {
      display: none;
    }
  }
  .l-main-body {
    padding: 0 64px;
    -ms-grid-row: 1;
    -ms-grid-column: 1;
    grid-area: body;
    inline-size: 100%;
    min-block-size: 40svh;
    margin-inline: auto;
    container-type: inline-size;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: var(--space-xl);
  }
  .l-main__inner:has(.l-main-side.-left) > .l-main-body {
    -ms-grid-row: 1;
    -ms-grid-column: 2;
  }
  @media screen and (max-width: 768px) {
    .l-main-body {
      padding: 0;
    }
  }
  :has(.l-main-side) .l-main-body {
    -ms-grid-row: 2;
    grid-row: 2;
    -ms-grid-column: 1;
    grid-column: 1;
    -webkit-padding-start: max(var(--basesize-48), 5.45vw);
            padding-inline-start: max(var(--basesize-48), 5.45vw);
    -webkit-padding-end: max(3.265vw, var(--basesize-48));
            padding-inline-end: max(3.265vw, var(--basesize-48));
  }
  @media screen and (max-width: 768px) {
    :has(.l-main-side) .l-main-body {
      padding-inline: 0;
    }
  }
  :has(.l-main-side.-left) .l-main-body {
    -ms-grid-row: 1;
    grid-row: 1;
    -ms-grid-column: 2;
    grid-column: 2;
    -webkit-padding-end: max(var(--basesize-48), 5.45vw);
    padding-inline-end: max(var(--basesize-48), 5.45vw);
    -webkit-padding-start: max(3.265vw, var(--basesize-48));
    padding-inline-start: max(3.265vw, var(--basesize-48));
  }
  @media screen and (max-width: 768px) {
    :has(.l-main-side.-left) .l-main-body {
      padding-inline: 0;
    }
  }
  .l-main-body.-uninsured {
    padding-inline: max(var(--basesize-48), 5.45vw);
  }
  @media screen and (max-width: 768px) {
    .l-main-body.-uninsured {
      padding-inline: 0;
    }
  }
  .l-main-body.-noside {
    padding-inline: max(var(--basesize-48), 5.45vw);
  }
  @media screen and (max-width: 768px) {
    .l-main-body.-noside {
      padding-inline: 0;
    }
  }
  .l-main-body.-noside .c-block {
    padding-inline: 10.8%;
  }
  @media screen and (max-width: 768px) {
    .l-main-body.-noside .c-block {
      padding-inline: 0;
    }
  }
  .l-main-body.-home {
    padding-inline: 0;
    gap: var(--space-x3l);
  }
  @media screen and (max-width: 768px) {
    .l-main-body.-home {
      gap: var(--basesize-48);
    }
  }
  .l-main-body p, .l-main-body ul, .l-main-body ol {
    color: var(--color-text-secondary);
    font-family: var(--font-text);
    font-size: clamp(1.4rem, 1.332rem + 0.29vw, 1.6rem);
    font-weight: normal;
    line-height: 1.8;
  }
  .l-main-body table p, .l-main-body table ul, .l-main-body table ol {
    font-family: var(--font-text);
    font-size: clamp(1.4rem, 1.332rem + 0.29vw, 1.6rem);
    font-weight: normal;
    line-height: 1.8;
  }
  .l-main-body p:has(.c-button), .l-main-body ul:has(.c-button), .l-main-body ol:has(.c-button) {
    line-height: 1;
  }
  .l-main-body .c-section > p + p {
    margin-top: 0.8em;
  }
}
@layer layout {
  .l-hero {
    inline-size: var(--vw);
    block-size: clamp(31rem, 21.0789473684rem + 42.3298245614vw, 68.7rem);
    margin-inline: calc(50% - var(--vw) / 2);
    -webkit-padding-before: clamp(8rem, 3.7894736842rem + 17.9649122807vw, 24rem);
            padding-block-start: clamp(8rem, 3.7894736842rem + 17.9649122807vw, 24rem);
    -webkit-padding-after: clamp(4.8rem, 0.8rem + 17.0666666667vw, 20rem);
            padding-block-end: clamp(4.8rem, 0.8rem + 17.0666666667vw, 20rem);
    position: relative;
    background: linear-gradient(257deg, #ffc9c2 0.22%, #ff9888 64.49%);
    overflow: hidden;
    position: sticky;
    top: 0px;
    z-index: auto;
    pointer-events: auto;
  }
  .l-hero::before, .l-hero::after {
    content: "";
    position: absolute;
    top: 0;
    pointer-events: none;
  }
  .l-hero::before {
    left: 0;
    inline-size: 100%;
    block-size: 100%;
    background: url(/assets/image/common/bg_noise.png) center/cover no-repeat;
  }
  .l-hero::after {
    right: -10%;
    inline-size: 83vw;
    min-inline-size: 330px;
    aspect-ratio: 1/1;
    background: url(/assets/image/common/icon/icon_hero-bg.svg) top/contain no-repeat;
    opacity: 0.1;
    mix-blend-mode: multiply;
  }
  .l-hero__inner {
    inline-size: 100vw;
    max-inline-size: var(--viewport-max);
    margin-inline: auto;
    position: relative;
    z-index: 1;
  }
  .l-hero__inner > * {
    padding-inline: clamp(2rem, 0.4210526316rem + 6.7368421053vw, 8rem);
    padding-inline: 5.45vw;
  }
  .l-hero.-type2 {
    background: var(--color-background-white);
    -webkit-padding-before: clamp(8rem, 4.8421052632rem + 13.4736842105vw, 20rem);
            padding-block-start: clamp(8rem, 4.8421052632rem + 13.4736842105vw, 20rem);
    -webkit-padding-after: clamp(4.8rem, 0.0631578947rem + 20.2105263158vw, 22.8rem);
            padding-block-end: clamp(4.8rem, 0.0631578947rem + 20.2105263158vw, 22.8rem);
    position: static;
    block-size: auto;
  }
  .l-hero.-type2::before, .l-hero.-type2::after {
    content: none;
  }
  .l-hero.-type2 .l-hero__inner {
    padding-right: clamp(22.5rem, 20.5%, 30rem);
    z-index: 1;
  }
  .l-hero.-type2 .l-hero__inner > * {
    -webkit-padding-end: max(3.265vw, var(--basesize-48));
            padding-inline-end: max(3.265vw, var(--basesize-48));
  }
  @media screen and (max-width: 768px) {
    .l-hero.-type2 .l-hero__inner > * {
      -webkit-padding-end: clamp(2rem, 0.4210526316rem + 6.7368421053vw, 8rem);
              padding-inline-end: clamp(2rem, 0.4210526316rem + 6.7368421053vw, 8rem);
      -webkit-padding-end: 5.45vw;
              padding-inline-end: 5.45vw;
    }
  }
  .l-hero.-short {
    block-size: clamp(25rem, 15.3421052632rem + 41.2070175439vw, 61.7rem);
  }
  .l-hero.-cover {
    inline-size: 100%;
    z-index: -1;
  }
  .l-hero.-cover::before, .l-hero.-cover::after {
    display: none;
  }
  .l-hero.-cover.-price {
    background: url(../../images/price-bg.jpg) center/cover no-repeat;
  }
  .l-hero.-cover.-contact {
    background: url(../../images/contact-bg.jpg) center/cover no-repeat;
  }
  .l-hero.-cover.-staff {
    background: url(../../images/staff.jpg) center/cover no-repeat;
  }
  .l-hero.-cover.-faq {
    background: url(../../images/faq-bg.jpg) center/cover no-repeat;
  }
  .l-hero.-cover.-news {
    background: url(../../images/news-bg.jpg) center/cover no-repeat;
  }
  .l-hero.-cover .l-hero-title__wrap::before {
    display: none;
  }
  @media screen and (max-width: 979px) {
    .l-hero.-type2 .l-hero__inner {
      padding-right: 0;
    }
  }
  @media screen and (max-width: 768px) {
    .l-hero {
      position: relative;
      block-size: auto !important;
      -webkit-padding-before: 12rem;
              padding-block-start: 12rem;
      -webkit-padding-after: 10.8rem;
              padding-block-end: 10.8rem;
    }
    .l-hero__inner > * {
      padding-inline: 2rem;
    }
  }
  @media screen and (max-width: 500px) {
    .l-hero::after {
      right: -40%;
      inline-size: 130vw;
    }
  }
  .l-hero-breadcrumb {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 1.2rem;
  }
  .l-hero-breadcrumb li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 1.2rem;
    font-family: var(--font-heading);
    font-weight: 600;
    color: #F6F3E9;
    text-decoration: none;
    font-size: clamp(1.3rem, 1.1157894737rem + 0.7859649123vw, 2rem);
    line-height: 1;
    position: relative;
  }
  .l-hero-breadcrumb li a {
    text-decoration: none;
    pointer-events: auto;
  }
  .l-hero-breadcrumb li:not(:last-child):after {
    content: "";
    position: relative;
    top: 0.1lh;
    inline-size: 1.1rem;
    aspect-ratio: 1/1;
    background: rgba(246, 243, 233, 0.6);
    -webkit-mask-image: url("/assets/image/common/icon/icon_hero-arrow.svg");
            mask-image: url("/assets/image/common/icon/icon_hero-arrow.svg");
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-position: center;
            mask-position: center;
    -webkit-mask-size: contain;
            mask-size: contain;
  }
  @media screen and (max-width: 768px) {
    .l-hero-breadcrumb li:not(:last-child):after {
      inline-size: var(--basesize-8);
    }
  }
  .l-hero.-type2 .l-hero-breadcrumb li {
    color: var(--color-text-secondary);
  }
  .l-hero.-type2 .l-hero-breadcrumb li::after {
    background: rgba(85, 85, 85, 0.6);
  }
  .l-hero-title {
    font-family: var(--font-heading);
    font-size: clamp(3.8rem, 2.706rem + 4.67vw, 7rem);
    line-height: var(--lineheight2);
    font-weight: 600;
    color: var(--color-text-white);
  }
  .l-hero-title__wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: clamp(0.8rem, 0.3rem + 2.1333333333vw, 2.7rem);
    position: relative;
  }
  .l-hero-title__wrap::before {
    content: "";
    position: absolute;
    inline-size: 3.77vw;
    max-inline-size: 4.8rem;
    aspect-ratio: 1/1.416;
    top: 50%;
    left: 0;
    translate: 0 -50%;
    background: url(/assets/image/common/icon/icon_hero-title-arrow.svg) center/cover no-repeat;
  }
  .l-hero-title__wrap:not(:has(.l-hero-breadcrumb))::before {
    translate: 0 calc(-50% + 0.8lh);
  }
  .l-hero-title small {
    font-size: clamp(1.6rem, 0.9157894737rem + 2.9192982456vw, 4.2rem);
    display: inline-block;
  }
  .l-hero.-type2 .l-hero-title {
    color: var(--color-text-primary);
  }
  @media screen and (max-width: 768px) {
    .l-hero-title {
      font-size: 3.8rem;
    }
    .l-hero-title__wrap::before {
      content: none;
    }
  }
  .l-hero-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: clamp(0.6rem, 0.4947368421rem + 0.449122807vw, 1rem);
    padding-top: clamp(2rem, 1.6842105263rem + 1.3473684211vw, 3.2rem);
  }
  .l-hero-list li {
    -webkit-padding-before: clamp(0.5rem, 0.4078947368rem + 0.3929824561vw, 0.85rem);
            padding-block-start: clamp(0.5rem, 0.4078947368rem + 0.3929824561vw, 0.85rem);
    -webkit-padding-after: clamp(0.7rem, 0.6078947368rem + 0.3929824561vw, 1.05rem);
            padding-block-end: clamp(0.7rem, 0.6078947368rem + 0.3929824561vw, 1.05rem);
    padding-inline: clamp(1rem, 0.9473684211rem + 0.2245614035vw, 1.2rem);
    color: var(--color-brand-primary);
    background-color: #F6F3E9;
    font-family: var(--font-heading);
    font-weight: 600;
    border-radius: clamp(0.8rem, 0.7473684211rem + 0.2245614035vw, 1rem);
    font-size: clamp(1rem, 0.8684210526rem + 0.5614035088vw, 1.5rem);
    --em: 0.5em;
    line-height: 1.2;
  }
  .l-hero-list li::before, .l-hero-list li::after {
    content: "";
    display: block;
    width: 0;
    height: 0;
  }
  .l-hero-list li::before {
    margin-top: calc((1 - 1.2) * var(--em));
  }
  .l-hero-list li::after {
    margin-bottom: calc((1 - 1.2) * var(--em));
  }
  @media screen and (max-width: 768px) {
    .l-hero-list {
      padding-top: 2rem;
    }
    .l-hero-list li {
      -webkit-padding-before: 0.55rem;
              padding-block-start: 0.55rem;
      -webkit-padding-after: 0.75rem;
              padding-block-end: 0.75rem;
      padding-inline: 0.9rem;
      border-radius: var(--basesize-8);
    }
  }
  .l-hero-lead {
    padding-top: clamp(2rem, 1.1315789474rem + 3.7052631579vw, 5.3rem);
    color: var(--color-text-primary);
    opacity: 0.8;
  }
  .l-hero-mv {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: var(--space-xs);
    padding-top: clamp(2rem, 0.9210526316rem + 4.6035087719vw, 6.1rem);
  }
  .l-hero-lead + .l-hero-mv {
    padding-top: var(--space-r);
  }
  .l-hero-mv img {
    border-radius: var(--round-xs);
    border: 1px solid #EBEBEB;
    inline-size: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    aspect-ratio: 16/9;
    display: block;
    overflow: hidden;
  }
  .l-hero-mv figcaption {
    opacity: 0.8;
  }
}
@layer layout {
  .l-aside {
    position: sticky;
    top: 20rem;
  }
  .l-aside.-type2 {
    margin-top: -10000px;
  }
  @media screen and (max-width: 979px) {
    .l-aside.-type2 {
      margin-top: 0;
    }
  }
  :has(.l-main-side.-left) .l-aside {
    top: 8rem;
  }
  .l-aside-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    position: relative;
  }
  .l-aside-list::after {
    content: "";
    position: absolute;
    width: 1px;
    height: 32.6rem;
    left: 0;
    background-color: #D3D2D1;
    background: -webkit-gradient(linear, left top, left bottom, from(#D3D2D1), color-stop(92%, rgba(220, 219, 217, 0.1)));
    background: linear-gradient(180deg, #D3D2D1 0%, rgba(220, 219, 217, 0.1) 92%);
    z-index: -1;
  }
  @media screen and (max-width: 768px) {
    .l-aside-list {
      border-top: 1px solid #E8E8E8;
      gap: 0;
    }
  }
}
/* ----------------------------------------
[グランドコンポーネント]
どのプロジェクトでも共通して使用するもの
---------------------------------------- */
@layer component {
  .c-column {
    display: -ms-grid;
    display: grid;
    inline-size: 100%;
  }
  .c-column.-vertical, .c-column.-col1 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .c-column.-align-center {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .c-column.-col-free {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .c-column.-col-free.-space-bw {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  @media screen and (max-width: 1079px) {
    .c-column.-medium-clear {
      display: block;
    }
    .c-column.-medium-vertical {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
    }
  }
  @media screen and (max-width: 768px) {
    .c-column.-small-clear {
      display: block;
    }
    .c-column.-small-vertical, .c-column.-small-col1 {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
    }
  }
  .c-column.-col2 {
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
  }
  .c-column.-col3 {
    -ms-grid-columns: (1fr)[3];
    grid-template-columns: repeat(3, 1fr);
  }
  .c-column.-col4 {
    -ms-grid-columns: (1fr)[4];
    grid-template-columns: repeat(4, 1fr);
  }
  .c-column.-col5 {
    -ms-grid-columns: (1fr)[5];
    grid-template-columns: repeat(5, 1fr);
  }
  .c-column.-col6 {
    -ms-grid-columns: (1fr)[6];
    grid-template-columns: repeat(6, 1fr);
  }
  .c-column.-col7 {
    -ms-grid-columns: (1fr)[7];
    grid-template-columns: repeat(7, 1fr);
  }
  .c-column.-col8 {
    -ms-grid-columns: (1fr)[8];
    grid-template-columns: repeat(8, 1fr);
  }
  .c-column.-col9 {
    -ms-grid-columns: (1fr)[9];
    grid-template-columns: repeat(9, 1fr);
  }
  .c-column.-col10 {
    -ms-grid-columns: (1fr)[10];
    grid-template-columns: repeat(10, 1fr);
  }
  @media screen and (max-width: 1079px) {
    .c-column.-medium-col2 {
      -ms-grid-columns: (1fr)[2];
      grid-template-columns: repeat(2, 1fr);
    }
  }
  @media screen and (max-width: 1079px) {
    .c-column.-medium-col3 {
      -ms-grid-columns: (1fr)[3];
      grid-template-columns: repeat(3, 1fr);
    }
  }
  @media screen and (max-width: 1079px) {
    .c-column.-medium-col4 {
      -ms-grid-columns: (1fr)[4];
      grid-template-columns: repeat(4, 1fr);
    }
  }
  @media screen and (max-width: 1079px) {
    .c-column.-medium-col5 {
      -ms-grid-columns: (1fr)[5];
      grid-template-columns: repeat(5, 1fr);
    }
  }
  @media screen and (max-width: 1079px) {
    .c-column.-medium-col6 {
      -ms-grid-columns: (1fr)[6];
      grid-template-columns: repeat(6, 1fr);
    }
  }
  @media screen and (max-width: 1079px) {
    .c-column.-medium-col7 {
      -ms-grid-columns: (1fr)[7];
      grid-template-columns: repeat(7, 1fr);
    }
  }
  @media screen and (max-width: 1079px) {
    .c-column.-medium-col8 {
      -ms-grid-columns: (1fr)[8];
      grid-template-columns: repeat(8, 1fr);
    }
  }
  @media screen and (max-width: 1079px) {
    .c-column.-medium-col9 {
      -ms-grid-columns: (1fr)[9];
      grid-template-columns: repeat(9, 1fr);
    }
  }
  @media screen and (max-width: 1079px) {
    .c-column.-medium-col10 {
      -ms-grid-columns: (1fr)[10];
      grid-template-columns: repeat(10, 1fr);
    }
  }
  @media screen and (max-width: 768px) {
    .c-column.-small-col2 {
      -ms-grid-columns: (1fr)[2];
      grid-template-columns: repeat(2, 1fr);
    }
  }
  @media screen and (max-width: 768px) {
    .c-column.-small-col3 {
      -ms-grid-columns: (1fr)[3];
      grid-template-columns: repeat(3, 1fr);
    }
  }
  @media screen and (max-width: 768px) {
    .c-column.-small-col4 {
      -ms-grid-columns: (1fr)[4];
      grid-template-columns: repeat(4, 1fr);
    }
  }
  @media screen and (max-width: 768px) {
    .c-column.-small-col5 {
      -ms-grid-columns: (1fr)[5];
      grid-template-columns: repeat(5, 1fr);
    }
  }
  @media screen and (max-width: 768px) {
    .c-column.-small-col6 {
      -ms-grid-columns: (1fr)[6];
      grid-template-columns: repeat(6, 1fr);
    }
  }
  @media screen and (max-width: 768px) {
    .c-column.-small-col7 {
      -ms-grid-columns: (1fr)[7];
      grid-template-columns: repeat(7, 1fr);
    }
  }
  @media screen and (max-width: 768px) {
    .c-column.-small-col8 {
      -ms-grid-columns: (1fr)[8];
      grid-template-columns: repeat(8, 1fr);
    }
  }
  @media screen and (max-width: 768px) {
    .c-column.-small-col9 {
      -ms-grid-columns: (1fr)[9];
      grid-template-columns: repeat(9, 1fr);
    }
  }
  @media screen and (max-width: 768px) {
    .c-column.-small-col10 {
      -ms-grid-columns: (1fr)[10];
      grid-template-columns: repeat(10, 1fr);
    }
  }
  .c-column.-col3-2 {
    -ms-grid-columns: 3fr 2fr;
    grid-template-columns: 3fr 2fr;
  }
  .c-column.-col2-3 {
    -ms-grid-columns: 1.64fr 3fr;
    grid-template-columns: 1.64fr 3fr;
  }
  .c-column.-gap2 {
    gap: 0.2rem;
  }
  .c-column.-column-gap2 {
    -webkit-column-gap: 0.2rem;
       -moz-column-gap: 0.2rem;
            column-gap: 0.2rem;
  }
  .c-column.-row-gap2 {
    row-gap: 0.2rem;
  }
  .c-column.-gap4 {
    gap: 0.4rem;
  }
  .c-column.-column-gap4 {
    -webkit-column-gap: 0.4rem;
       -moz-column-gap: 0.4rem;
            column-gap: 0.4rem;
  }
  .c-column.-row-gap4 {
    row-gap: 0.4rem;
  }
  .c-column.-gap6 {
    gap: 0.6rem;
  }
  .c-column.-column-gap6 {
    -webkit-column-gap: 0.6rem;
       -moz-column-gap: 0.6rem;
            column-gap: 0.6rem;
  }
  .c-column.-row-gap6 {
    row-gap: 0.6rem;
  }
  .c-column.-gap8 {
    gap: 0.8rem;
  }
  .c-column.-column-gap8 {
    -webkit-column-gap: 0.8rem;
       -moz-column-gap: 0.8rem;
            column-gap: 0.8rem;
  }
  .c-column.-row-gap8 {
    row-gap: 0.8rem;
  }
  .c-column.-gap12 {
    gap: 1.2rem;
  }
  .c-column.-column-gap12 {
    -webkit-column-gap: 1.2rem;
       -moz-column-gap: 1.2rem;
            column-gap: 1.2rem;
  }
  .c-column.-row-gap12 {
    row-gap: 1.2rem;
  }
  .c-column.-gap16 {
    gap: 1.6rem;
  }
  .c-column.-column-gap16 {
    -webkit-column-gap: 1.6rem;
       -moz-column-gap: 1.6rem;
            column-gap: 1.6rem;
  }
  .c-column.-row-gap16 {
    row-gap: 1.6rem;
  }
  .c-column.-gap24 {
    gap: 2.4rem;
  }
  .c-column.-column-gap24 {
    -webkit-column-gap: 2.4rem;
       -moz-column-gap: 2.4rem;
            column-gap: 2.4rem;
  }
  .c-column.-row-gap24 {
    row-gap: 2.4rem;
  }
  .c-column.-gap32 {
    gap: 3.2rem;
  }
  .c-column.-column-gap32 {
    -webkit-column-gap: 3.2rem;
       -moz-column-gap: 3.2rem;
            column-gap: 3.2rem;
  }
  .c-column.-row-gap32 {
    row-gap: 3.2rem;
  }
  .c-column.-gap40 {
    gap: 4rem;
  }
  .c-column.-column-gap40 {
    -webkit-column-gap: 4rem;
       -moz-column-gap: 4rem;
            column-gap: 4rem;
  }
  .c-column.-row-gap40 {
    row-gap: 4rem;
  }
  .c-column.-gap48 {
    gap: 4.8rem;
  }
  .c-column.-column-gap48 {
    -webkit-column-gap: 4.8rem;
       -moz-column-gap: 4.8rem;
            column-gap: 4.8rem;
  }
  .c-column.-row-gap48 {
    row-gap: 4.8rem;
  }
  .c-column.-gap56 {
    gap: 5.6rem;
  }
  .c-column.-column-gap56 {
    -webkit-column-gap: 5.6rem;
       -moz-column-gap: 5.6rem;
            column-gap: 5.6rem;
  }
  .c-column.-row-gap56 {
    row-gap: 5.6rem;
  }
  .c-column.-gap64 {
    gap: 6.4rem;
  }
  .c-column.-column-gap64 {
    -webkit-column-gap: 6.4rem;
       -moz-column-gap: 6.4rem;
            column-gap: 6.4rem;
  }
  .c-column.-row-gap64 {
    row-gap: 6.4rem;
  }
  .c-column.-gap80 {
    gap: 8rem;
  }
  .c-column.-column-gap80 {
    -webkit-column-gap: 8rem;
       -moz-column-gap: 8rem;
            column-gap: 8rem;
  }
  .c-column.-row-gap80 {
    row-gap: 8rem;
  }
  @media screen and (max-width: 1079px) {
    .c-column.-medium-gap2 {
      gap: 0.2rem;
    }
  }
  @media screen and (max-width: 1079px) {
    .c-column.-medium-gap4 {
      gap: 0.4rem;
    }
  }
  @media screen and (max-width: 1079px) {
    .c-column.-medium-gap6 {
      gap: 0.6rem;
    }
  }
  @media screen and (max-width: 1079px) {
    .c-column.-medium-gap8 {
      gap: 0.8rem;
    }
  }
  @media screen and (max-width: 1079px) {
    .c-column.-medium-gap12 {
      gap: 1.2rem;
    }
  }
  @media screen and (max-width: 1079px) {
    .c-column.-medium-gap16 {
      gap: 1.6rem;
    }
  }
  @media screen and (max-width: 1079px) {
    .c-column.-medium-gap24 {
      gap: 2.4rem;
    }
  }
  @media screen and (max-width: 1079px) {
    .c-column.-medium-gap32 {
      gap: 3.2rem;
    }
  }
  @media screen and (max-width: 1079px) {
    .c-column.-medium-gap40 {
      gap: 4rem;
    }
  }
  @media screen and (max-width: 1079px) {
    .c-column.-medium-gap48 {
      gap: 4.8rem;
    }
  }
  @media screen and (max-width: 1079px) {
    .c-column.-medium-gap56 {
      gap: 5.6rem;
    }
  }
  @media screen and (max-width: 1079px) {
    .c-column.-medium-gap64 {
      gap: 6.4rem;
    }
  }
  @media screen and (max-width: 1079px) {
    .c-column.-medium-gap80 {
      gap: 8rem;
    }
  }
  @media screen and (max-width: 768px) {
    .c-column.-small-gap2 {
      gap: 0.2rem;
    }
    .c-column.-small-row-gap2 {
      row-gap: 0.2rem;
    }
  }
  @media screen and (max-width: 768px) {
    .c-column.-small-gap4 {
      gap: 0.4rem;
    }
    .c-column.-small-row-gap4 {
      row-gap: 0.4rem;
    }
  }
  @media screen and (max-width: 768px) {
    .c-column.-small-gap6 {
      gap: 0.6rem;
    }
    .c-column.-small-row-gap6 {
      row-gap: 0.6rem;
    }
  }
  @media screen and (max-width: 768px) {
    .c-column.-small-gap8 {
      gap: 0.8rem;
    }
    .c-column.-small-row-gap8 {
      row-gap: 0.8rem;
    }
  }
  @media screen and (max-width: 768px) {
    .c-column.-small-gap12 {
      gap: 1.2rem;
    }
    .c-column.-small-row-gap12 {
      row-gap: 1.2rem;
    }
  }
  @media screen and (max-width: 768px) {
    .c-column.-small-gap16 {
      gap: 1.6rem;
    }
    .c-column.-small-row-gap16 {
      row-gap: 1.6rem;
    }
  }
  @media screen and (max-width: 768px) {
    .c-column.-small-gap24 {
      gap: 2.4rem;
    }
    .c-column.-small-row-gap24 {
      row-gap: 2.4rem;
    }
  }
  @media screen and (max-width: 768px) {
    .c-column.-small-gap32 {
      gap: 3.2rem;
    }
    .c-column.-small-row-gap32 {
      row-gap: 3.2rem;
    }
  }
  @media screen and (max-width: 768px) {
    .c-column.-small-gap40 {
      gap: 4rem;
    }
    .c-column.-small-row-gap40 {
      row-gap: 4rem;
    }
  }
  @media screen and (max-width: 768px) {
    .c-column.-small-gap48 {
      gap: 4.8rem;
    }
    .c-column.-small-row-gap48 {
      row-gap: 4.8rem;
    }
  }
  @media screen and (max-width: 768px) {
    .c-column.-small-gap56 {
      gap: 5.6rem;
    }
    .c-column.-small-row-gap56 {
      row-gap: 5.6rem;
    }
  }
  @media screen and (max-width: 768px) {
    .c-column.-small-gap64 {
      gap: 6.4rem;
    }
    .c-column.-small-row-gap64 {
      row-gap: 6.4rem;
    }
  }
  @media screen and (max-width: 768px) {
    .c-column.-small-gap80 {
      gap: 8rem;
    }
    .c-column.-small-row-gap80 {
      row-gap: 8rem;
    }
  }
  .c-column__block {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: var(--size4);
  }
}
@layer component {
  .c-float {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .c-float.-vertical {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  @media screen and (max-width: 768px) {
    .c-float.-small-clear {
      display: block;
    }
    .c-float.-small-vertical {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
    }
  }
  .c-float.-gap12 {
    gap: 1.2rem;
  }
  .c-float.-gap16 {
    gap: var(--size2);
  }
  .c-float.-gap24 {
    gap: var(--size3);
  }
  .c-float.-gap32 {
    gap: var(--size4);
  }
  .c-float.-gap40 {
    gap: var(--size5);
  }
  .c-float.-gap48 {
    gap: var(--size6);
  }
  .c-float.-gap56 {
    gap: var(--size7);
  }
  .c-float.-gap64 {
    gap: var(--size8);
  }
  @media screen and (max-width: 768px) {
    .c-float.-small-gap4 {
      gap: 0.4rem;
    }
    .c-float.-small-gap8 {
      gap: 0.8rem;
    }
    .c-float.-small-gap12 {
      gap: 1.2rem;
    }
    .c-float.-small-gap16 {
      gap: var(--size2);
    }
    .c-float.-small-gap24 {
      gap: var(--size3);
    }
    .c-float.-small-gap32 {
      gap: var(--size4);
    }
    .c-float.-small-gap40 {
      gap: var(--size5);
    }
    .c-float.-small-gap48 {
      gap: var(--size6);
    }
    .c-float.-small-gap56 {
      gap: var(--size7);
    }
    .c-float.-small-gap64 {
      gap: var(--size8);
    }
  }
  .c-float.-row-gap12 {
    gap: 1.2rem;
  }
  .c-float.-row-gap16 {
    gap: var(--size2);
  }
  .c-float.-row-gap24 {
    gap: var(--size3);
  }
  .c-float.-row-gap32 {
    gap: var(--size4);
  }
  .c-float.-row-gap40 {
    gap: var(--size5);
  }
  .c-float.-row-gap48 {
    gap: var(--size6);
  }
  .c-float.-row-gap56 {
    gap: var(--size7);
  }
  @media screen and (max-width: 768px) {
    .c-float.-small-row-gap16 {
      gap: var(--size2);
    }
    .c-float.-small-row-gap24 {
      gap: var(--size3);
    }
    .c-float.-small-row-gap32 {
      gap: var(--size4);
    }
    .c-float.-small-row-gap40 {
      gap: var(--size5);
    }
    .c-float.-small-row-gap48 {
      gap: var(--size6);
    }
    .c-float.-small-row-gap56 {
      gap: var(--size7);
    }
  }
  .c-float__block {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: var(--size4);
  }
}
/* ----------------------------------------
[汎用コンポーネント]
プロジェクト全体を通して汎用的な活用が見込めるもの
---------------------------------------- */
@layer component {
  .c-list {
    list-style: none;
  }
  .c-list li {
    position: relative;
    padding-left: 1.8rem;
    text-align: left;
    line-height: 1.6;
  }
  @media screen and (max-width: 768px) {
    .c-list li {
      padding-left: 1.2rem;
    }
  }
  .c-list li + li {
    margin-top: 0.8rem;
  }
  .c-list li::before {
    content: "";
    width: 0.6rem;
    aspect-ratio: 1/1;
    background: var(--color-brand-primary);
    border-radius: var(--round-max);
    display: block;
    position: absolute;
    top: calc((1lh - 0.6rem) / 2 + 0.125em);
    left: 0;
  }
  @media screen and (max-width: 768px) {
    .c-list li::before {
      width: 0.4rem;
    }
  }
  .c-list ul li::before {
    width: 0.5rem;
    background: none;
    border: 1px solid var(--color-brand-primary);
  }
  .c-list.-small li {
    font-family: var(--font-text);
    font-size: clamp(1.2rem, 1.132rem + 0.29vw, 1.4rem);
    line-height: 1.7;
    font-weight: normal;
    color: var(--color-text-secondary);
  }
  .c-list.-small li + li {
    margin-top: 0.4rem;
  }
  .c-list.-small li::before {
    top: calc((1lh - 0.65rem) / 2 + 0.12em);
  }
  section ol:not([class]) {
    counter-reset: number 0;
  }
  section ol:not([class]) > li {
    position: relative;
    padding-left: var(--size2);
  }
  section ol:not([class]) > li::before {
    width: 1.8em;
    counter-increment: number 1;
    content: counter(number) ".";
    background: none;
    height: auto;
    top: 0;
    color: var(--color-brand-primary);
    font-family: var(--font-en);
    font-weight: bold;
    position: absolute;
    left: 0;
  }
  .c-list-num-box {
    counter-reset: number 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: var(--space-m);
  }
  .c-list-num-box > li {
    border-radius: var(--round-xs);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: clamp(0.8rem, 0.5894736842rem + 0.898245614vw, 1.6rem);
  }
  .c-list-num-box > li + li {
    margin-top: clamp(0rem, -0.4210526316rem + 1.7964912281vw, 1.6rem);
  }
  .c-list-num-box > li h3 {
    font-family: var(--font-heading);
    font-size: clamp(1.4rem, 1.297rem + 0.44vw, 1.6rem);
    line-height: var(--lineheight3);
    font-weight: 600;
    color: var(--color-text-primary);
    background-color: var(--color-background-h3);
    border-radius: var(--round-xs);
    -webkit-padding-before: 0.9rem;
            padding-block-start: 0.9rem;
    -webkit-padding-after: var(--basesize-8);
            padding-block-end: var(--basesize-8);
    padding-inline: var(--basesize-16);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: clamp(0.8rem, 0.6947368421rem + 0.449122807vw, 1.2rem);
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .c-list-num-box > li h3::before {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    inline-size: clamp(2.2rem, 2.0421052632rem + 0.6736842105vw, 2.8rem);
    block-size: clamp(2.2rem, 2.0421052632rem + 0.6736842105vw, 2.8rem);
    aspect-ratio: 1/1;
    font-size: clamp(1rem, 0.8947368421rem + 0.449122807vw, 1.4rem);
    color: var(--color-text-white);
    counter-increment: number 1;
    content: counter(number) "";
    background: var(--color-brand-primary);
    border-radius: var(--round-max);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .c-list-num-box > li ol {
    padding: clamp(1.8rem, 1.6421052632rem + 0.6736842105vw, 2.4rem);
  }
}
@layer component {
  .c-txt-l {
    font-family: var(--font-text);
    font-size: clamp(1.3rem, 1.232rem + 0.29vw, 1.6rem);
    line-height: var(--lineheight4);
    font-weight: normal;
  }
  .c-txt-r {
    font-family: var(--font-text);
    font-size: clamp(1.4rem, 1.332rem + 0.29vw, 1.6rem);
    font-weight: normal;
    line-height: 1.8;
  }
  .c-txt-m {
    font-family: var(--font-text);
    font-size: clamp(1.3rem, 1.232rem + 0.29vw, 1.5rem);
    line-height: var(--lineheight4);
    font-weight: normal;
  }
  .c-txt-m.-bold {
    font-family: var(--font-heading);
  }
  .c-txt-s {
    font-family: var(--font-text);
    font-size: clamp(1.2rem, 1.132rem + 0.29vw, 1.4rem);
    line-height: 1.7;
    font-weight: normal;
  }
  .c-txt-xs {
    font-family: var(--font-text);
    font-size: clamp(1.1rem, 1.032rem + 0.29vw, 1.3rem);
    line-height: 1.7;
    font-weight: normal;
  }
}
@layer component {
  .c-underline {
    background-image: -webkit-gradient(linear, left top, left bottom, from(currentColor), to(currentColor));
    background-image: linear-gradient(currentColor, currentColor);
    background-size: 0% 1px;
    background-position: bottom right;
    background-repeat: no-repeat;
    -webkit-transition: background-size 0.3s ease-out;
    transition: background-size 0.3s ease-out;
    text-decoration: none;
    -webkit-box-decoration-break: clone;
            box-decoration-break: clone;
  }
  a:hover .c-underline, .c-underline:hover {
    background-size: 100% 1px;
    background-position: bottom left;
  }
  .c-underline.-reverse {
    background-size: 100% 1px;
    background-position: bottom left;
  }
  a:hover .c-underline.-reverse, .c-underline.-reverse:hover {
    background-size: 0% 1px;
    background-position: bottom right;
  }
  main p a:not([class], [href^="tel:"]) {
    background-image: -webkit-gradient(linear, left top, left bottom, from(currentColor), to(currentColor));
    background-image: linear-gradient(currentColor, currentColor);
    background-size: 100% 1px;
    background-position: bottom left;
    background-repeat: no-repeat;
    -webkit-transition: background-size 0.3s ease-out;
    transition: background-size 0.3s ease-out;
    text-decoration: none;
    -webkit-box-decoration-break: clone;
            box-decoration-break: clone;
  }
  main p a:not([class], [href^="tel:"]):hover {
    background-size: 0% 1px;
    background-position: bottom right;
  }
}
@layer component {
  .c-heading {
    font-family: var(--font-heading);
    font-size: clamp(2rem, 1.795rem + 0.88vw, 2.6rem);
    line-height: var(--lineheight2);
    font-weight: 600;
    color: var(--color-brand-primary);
  }
  .c-heading span {
    display: inline-block;
    padding-top: var(--space-l);
    position: relative;
  }
  .c-heading span::before {
    content: "";
    inline-size: 100%;
    block-size: 1px;
    display: block;
    background: var(--color-brand-primary);
    position: absolute;
    inset-block-start: -1px;
  }
  .c-heading span span {
    font-size: clamp(1.6rem, 1.4947368421rem + 0.449122807vw, 2rem);
    padding-top: 0;
  }
  .c-heading span span::before {
    display: none;
  }
  .c-heading.-small {
    font-family: var(--font-heading);
    font-size: clamp(1.6rem, 1.532rem + 0.29vw, 1.8rem);
    line-height: var(--lineheight4);
    font-weight: 600;
    line-height: 1.2;
    -webkit-padding-start: max(var(--basesize-48), 5.45vw);
            padding-inline-start: max(var(--basesize-48), 5.45vw);
  }
  .c-heading.-small span {
    padding-top: 0;
  }
  .c-heading.-small span::before {
    display: none;
  }
  .c-heading.-small:not(:nth-of-type(1)) {
    margin-top: var(--basesize-32);
  }
  .c-heading2 {
    font-family: var(--font-heading);
    font-size: clamp(1.4rem, 1.297rem + 0.44vw, 1.6rem);
    line-height: var(--lineheight3);
    font-weight: 600;
    color: var(--color-text-primary);
    -webkit-padding-before: 0.8rem;
            padding-block-start: 0.8rem;
    -webkit-padding-after: 1.1rem;
            padding-block-end: 1.1rem;
    padding-inline: var(--basesize-16);
    background-color: var(--color-background-h3);
    border-radius: var(--round-xs);
  }
  .c-heading3 {
    font-family: var(--font-text);
    font-size: clamp(1.3rem, 1.232rem + 0.29vw, 1.5rem);
    line-height: var(--lineheight4);
    font-weight: normal;
    color: var(--color-text-primary);
    font-family: var(--font-heading);
    line-height: var(--lineheight1);
    font-weight: 600;
  }
  .c-slogan {
    font-family: var(--font-heading);
    font-size: clamp(2rem, 1.795rem + 0.88vw, 2.6rem);
    line-height: var(--lineheight2);
    font-weight: 600;
    color: var(--color-text-primary);
  }
  .c-heading-list {
    margin-top: var(--basesize-24);
  }
  .c-heading-list li {
    line-height: var(--lineheight1);
    padding-block: 0.6rem;
  }
  .c-heading-list li + li {
    margin-top: -2px;
  }
  @container (max-width: 769px) {
    .c-heading-list {
      display: none;
    }
  }
  :has(.l-main-side.-left) .c-heading-list {
    margin-top: 0;
  }
  :has(.l-main-side.-left) .c-heading-list li {
    -webkit-padding-start: max(var(--basesize-48), 5.45vw);
            padding-inline-start: max(var(--basesize-48), 5.45vw);
  }
  :has(.l-main-side.-left) .c-heading-list.-small {
    margin-top: var(--basesize-24);
  }
  :has(.l-main-side.-left) .c-heading-list.-small li {
    padding-block: 0;
  }
  :has(.l-main-side.-left) .c-heading-list.-small li + li {
    margin-top: 6px;
  }
}
@layer component {
  .c-icon-arrow {
    position: relative;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 1rem;
  }
  .c-icon-arrow::after, .c-icon-arrow::before {
    content: "";
    inline-size: 3.2rem;
    block-size: 3.2rem;
    aspect-ratio: 1/1;
    display: block;
    border-radius: 1.4rem;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
  .c-icon-arrow::before {
    background-color: var(--link-primary);
  }
  .c-icon-arrow::after {
    block-size: 100%;
    display: -ms-grid;
    display: grid;
    place-content: center;
    background: url(/assets/image/common/icon/icon_arrow.svg) right/contain no-repeat;
    background-size: 1rem;
    background-position: center;
    position: absolute;
    top: 0;
    left: 0;
  }
  .c-icon-arrow:hover::after, .c-button:hover .c-icon-arrow::after, a:hover .c-icon-arrow::after {
    -webkit-animation: 2s var(--easeInOutQuint) infinite button-arrow;
            animation: 2s var(--easeInOutQuint) infinite button-arrow;
  }
  .c-icon-arrow2 {
    position: relative;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .c-icon-arrow2::after, .c-icon-arrow2::before {
    content: "";
    position: absolute;
    right: var(--space-linkbox-inline);
    inline-size: clamp(5.8rem, 5.2684210526rem + 2.2680701754vw, 7.82rem);
    inline-size: 7.8rem;
    aspect-ratio: 1.564/1;
    display: block;
    border-radius: var(--round-max);
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
  .c-icon-arrow2::before {
    background-color: var(--link-secondary);
  }
  .c-icon-arrow2::after {
    block-size: 100%;
    display: -ms-grid;
    display: grid;
    place-content: center;
    background: url(/assets/image/common/icon/icon_arrow.svg) right/contain no-repeat;
    background-size: clamp(1.2rem, 1.1473684211rem + 0.2245614035vw, 1.4rem);
    background-position: center;
    position: absolute;
    top: 0;
  }
  .c-icon-arrow2:hover::after, .c-button:hover .c-icon-arrow2::after, a:hover .c-icon-arrow2::after {
    -webkit-animation: 2s var(--easeInOutQuint) infinite button-arrow;
            animation: 2s var(--easeInOutQuint) infinite button-arrow;
  }
  .c-linkbox-news .c-icon-arrow2::after, .c-linkbox-news .c-icon-arrow2::before {
    inline-size: 3.2rem;
    aspect-ratio: 1/1;
    border-radius: 1.4rem;
    right: 0;
    display: block;
  }
  .c-linkbox-news .c-icon-arrow2::before {
    background-color: var(--color-background-white);
    border: solid 1px var(--color-border-secondary);
  }
  .c-linkbox-news .c-icon-arrow2::after {
    background: url(/assets/image/common/icon/icon_arrow_primary.svg) right/contain no-repeat;
    background-size: 1.2rem;
    background-position: center;
  }
  .c-linkbox-news .c-icon-arrow2:hover::before {
    background-color: var(--color-background-brand);
    border: none;
  }
  .c-linkbox-news .c-icon-arrow2:hover::after {
    background: url(/assets/image/common/icon/icon_arrow.svg) right/contain no-repeat;
    background-size: 1.2rem;
    background-position: center;
  }
  .c-icon-pagenation-arrow {
    position: relative;
  }
  .c-icon-pagenation-arrow::after {
    content: "";
    inline-size: 1.2rem;
    aspect-ratio: 3/4;
    display: block;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
    background: url(/assets/image/common/icon/icon_arrow_primary.svg) right/contain no-repeat;
    top: 0;
    left: 0;
    padding-left: clamp(1.6rem, 1.3894736842rem + 0.898245614vw, 2.4rem);
  }
  .c-icon-arrow3 {
    position: relative;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 1rem;
  }
  .c-icon-arrow3::after, .c-icon-arrow3::before {
    content: "";
    inline-size: 2.4rem;
    aspect-ratio: 1/1;
    display: block;
    border-radius: 0.8rem;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
  .c-icon-arrow3::before {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    border: solid 1px rgba(212, 211, 210, 0.6);
    justify-items: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .c-icon-arrow3::after {
    block-size: 100%;
    display: -ms-grid;
    display: grid;
    place-content: center;
    background: url(/assets/image/common/icon/icon_arrow_primary.svg) right/contain no-repeat;
    background-size: 0.8rem;
    background-position: center;
    rotate: 90deg;
    opacity: 0.5;
    position: absolute;
    top: 0;
    left: 0;
  }
  .c-icon-arrow3:hover::after, .c-heading-button:hover .c-icon-arrow3::after, a:hover .c-icon-arrow3::after {
    -webkit-animation: 2s var(--easeInOutQuint) infinite button-arrow;
            animation: 2s var(--easeInOutQuint) infinite button-arrow;
    background: url(/assets/image/common/icon/icon_arrow.svg) right/contain no-repeat;
    background-size: 0.8rem;
    background-position: center;
    opacity: 1;
  }
  .c-icon-arrow3:hover::before {
    background-color: var(--link-secondary);
    border: none;
  }
  .c-icon-arrow3.-black::after, .c-icon-arrow3.-black::before {
    block-size: 2.4rem;
  }
  .c-icon-arrow3.-black::before {
    background-color: var(--link-primary);
    border: none;
  }
  .c-icon-arrow3.-black::after {
    block-size: 100%;
    background: url(/assets/image/common/icon/icon_arrow.svg) right/contain no-repeat;
    background-size: 0.8rem;
    background-position: center;
    opacity: 1;
    rotate: 0deg;
  }
  .c-icon-arrow3.-black:hover::before {
    background-color: var(--link-secondary);
  }
  .c-icon-arrow3.-black.-footer::before {
    background-color: var(--color-black-300);
  }
  :has(.c-heading-list.-small) .c-icon-arrow3::after, :has(.c-heading-list.-small) .c-icon-arrow3::before {
    block-size: 1.8rem;
    inline-size: 1.8rem;
    border-radius: 0.6rem;
  }
  :has(.c-heading-list.-small) .c-icon-arrow3::after {
    background-size: 0.6rem;
    rotate: 0deg;
  }
  :has(.c-heading-list.-small) .c-icon-arrow3:hover::after, .c-heading-button:hover :has(.c-heading-list.-small) .c-icon-arrow3::after, a:hover :has(.c-heading-list.-small) .c-icon-arrow3::after {
    background-position: center;
    top: 0.4px;
  }
}
@layer component {
  .c-nav-link {
    display: block;
    padding-block: 0.5rem;
    -webkit-padding-start: max(3.265vw, var(--basesize-48));
            padding-inline-start: max(3.265vw, var(--basesize-48));
    -webkit-padding-end: max(1.6325vw, var(--basesize-24));
            padding-inline-end: max(1.6325vw, var(--basesize-24));
    text-decoration: none;
    font-family: var(--font-text);
    font-size: clamp(1.1rem, 1.032rem + 0.29vw, 1.3rem);
    line-height: 1.7;
    font-weight: normal;
    color: var(--color-text-secondary);
    line-height: 1.7;
    opacity: 0.5;
  }
  .c-nav-link span {
    display: inline-block;
  }
  .c-nav-link:hover {
    color: var(--color-brand-primary);
    opacity: 1;
  }
  .c-nav-link.is-current {
    color: var(--color-text-current);
    font-family: var(--font-heading);
    font-weight: 600;
    background: var(--color-background-cardsection);
    opacity: 1;
    position: relative;
    padding-block: 0.8rem;
  }
  .c-nav-link.is-current::before {
    position: absolute;
    content: "";
    top: 50%;
    left: -46px;
    -webkit-transform: translate(50%, -50%);
            transform: translate(50%, -50%);
    width: 0;
    height: 0;
    border: transparent calc(38px / 2) solid;
    border-right-color: var(--color-background-cardsection);
    border-right-width: 12px;
  }
}
@layer component {
  .c-button {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 1.2rem;
    text-decoration: none;
    font-family: var(--font-text);
    font-size: clamp(1.3rem, 1.232rem + 0.29vw, 1.5rem);
    line-height: var(--lineheight4);
    font-weight: normal;
    font-family: var(--font-heading);
    color: var(--color-text-primary);
    line-height: var(--lineheight1);
    font-weight: 600;
    line-height: 1.2;
  }
  ul li:not(:nth-of-type(1)):has(.c-button) {
    margin-top: var(--space-s);
  }
  :has(.c-linkbox-news) ul li:not(:nth-of-type(1)):has(.c-button) {
    margin-top: clamp(0.5rem, 0.3684210526rem + 0.5614035088vw, 1rem);
  }
  @media screen and (max-width: 768px) {
    :has(.c-linkbox-news) ul li:not(:nth-of-type(1)):has(.c-button) {
      margin-top: 0;
    }
  }
  .c-button.-footer {
    color: var(--color-text-secondary);
    gap: 0.8rem;
  }
  .c-footer-button {
    inline-size: 100%;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    cursor: pointer;
    text-decoration: none;
    margin: 0;
    pointer-events: all;
  }
  .c-footer-button-text {
    inline-size: 100%;
    text-align: center;
    background: var(--color-background-white);
    font-family: var(--font-text);
    font-size: clamp(1.2rem, 1.132rem + 0.29vw, 1.4rem);
    line-height: 1.7;
    font-weight: normal;
    font-family: var(--font-heading);
    font-weight: 500;
    --em: 0.5em;
    line-height: 1.2;
    color: var(--color-black-500);
    padding-block: clamp(1.6rem, 1.4552631579rem + 0.6175438596vw, 2.15rem);
    border-radius: var(--round-max);
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
  .c-footer-button-text::before, .c-footer-button-text::after {
    content: "";
    display: block;
    width: 0;
    height: 0;
  }
  .c-footer-button-text::before {
    margin-top: calc((1 - 1.2) * var(--em));
  }
  .c-footer-button-text::after {
    margin-bottom: calc((1 - 1.2) * var(--em));
  }
  .c-footer-button-icon {
    position: relative;
    margin-left: -8px;
    padding-block: clamp(1.55rem, 1.4315789474rem + 0.5052631579vw, 2rem);
    padding-inline: clamp(1.9rem, 1.5578947368rem + 1.4596491228vw, 3.2rem);
    background: var(--color-background-white);
    border-radius: clamp(2rem, 1.2105263158rem + 3.3684210526vw, 5rem);
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
  .c-footer-button-icon img {
    width: clamp(1.2rem, 1.132rem + 0.29vw, 1.4rem);
  }
  .c-footer-button.-type3 .c-footer-button-text,
  .c-footer-button.-type3 .c-footer-button-icon {
    background-color: var(--color-brand-primary);
  }
  .c-footer-button:hover {
    opacity: 1;
  }
  .c-footer-button:hover .c-footer-button-text,
  .c-footer-button:hover .c-footer-button-icon {
    opacity: 1;
    background: var(--color-brand-primary);
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
  .c-footer-button.-type2 .c-footer-button-icon__nohover {
    display: block;
  }
  .c-footer-button.-type2 .c-footer-button-icon__hover {
    display: none;
  }
  .c-footer-button.-type2:hover .c-footer-button-text {
    color: var(--color-text-white);
  }
  .c-footer-button.-type2:hover .c-footer-button-icon__nohover {
    display: none;
    -webkit-padding-after: 0.83px;
            padding-block-end: 0.83px;
  }
  .c-footer-button.-type2:hover .c-footer-button-icon__hover {
    display: block;
  }
  .c-footer-button.-type2:hover .c-footer-button-text,
  .c-footer-button.-type2:hover .c-footer-button-icon {
    background-color: var(--color-black-500);
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
  .c-footer-button.-type3:hover {
    opacity: 1;
  }
  .c-footer-button.-type3:hover .c-footer-button-text,
  .c-footer-button.-type3:hover .c-footer-button-icon {
    opacity: 1;
    background: var(--color-black-500);
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
  .c-heading-button {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0.8rem;
    text-decoration: none;
    font-size: clamp(1.1rem, 1.032rem + 0.29vw, 1.3rem);
    font-family: var(--font-text);
    color: var(--color-text-secondary);
    opacity: 0.8;
    line-height: var(--lineheight2);
    font-weight: 600;
  }
  ul li:nth-child(n+3):has(.c-heading-button) {
    margin-top: -2px;
  }
  @media screen and (max-width: 768px) {
    ul li:not(:nth-of-type(1)):has(.c-heading-button) {
      margin-top: -2px;
    }
  }
  .c-heading-button:hover {
    color: var(--color-text-current);
    opacity: 1;
  }
  .c-heading-button span {
    -webkit-margin-after: 0.2rem;
            margin-block-end: 0.2rem;
    font-weight: 500;
  }
  :has(.c-heading-list.-small) .c-heading-button {
    font-size: clamp(1.1rem, 1.032rem + 0.29vw, 1.2rem);
  }
}
@layer component {
  .c-cell {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr var(--space-x3s) 1fr var(--space-x3s) 1fr;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-x3s);
  }
  @container (max-width: 769px) {
    .c-cell {
      -ms-grid-columns: (1fr)[2];
      grid-template-columns: repeat(2, 1fr);
    }
  }
  .c-cell li {
    font-family: var(--font-text);
    font-size: clamp(1.3rem, 1.232rem + 0.29vw, 1.5rem);
    line-height: var(--lineheight4);
    font-weight: normal;
    color: var(--color-text-primary);
    line-height: 1.8;
    border: 1px solid var(--color-border-secondary);
    padding-top: clamp(0.8rem, 0.7473684211rem + 0.2245614035vw, 1rem);
    padding-bottom: clamp(1rem, 0.9473684211rem + 0.2245614035vw, 1.2rem);
    padding-inline: var(--space-s);
    background: var(--color-background-white);
    border-radius: var(--round-s);
    display: -ms-grid;
    display: grid;
    place-content: center;
    text-align: center;
    word-break: auto-phrase;
    gap: 0.2rem;
  }
}
@layer component {
  .c-block {
    display: -ms-grid;
    display: grid;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
    gap: var(--space-m);
  }
  .c-block .c-txt-xs {
    opacity: 0.8;
  }
  .c-block__inner {
    display: -ms-grid;
    display: grid;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
    gap: var(--space-l);
  }
  .c-section {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1.55fr var(--space-r) 5fr;
    grid-template-columns: 1.55fr 5fr;
    gap: var(--space-r);
    position: relative;
    overflow: visible;
    border-top: 1px solid #DCDBD9;
  }
  .c-section__inner {
    padding-top: var(--space-l);
    display: -ms-grid;
    display: grid;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
    gap: var(--space-m);
  }
  .c-section__header {
    position: sticky;
    top: 1px;
    height: 100px;
  }
  .c-section__header.-list {
    height: 560px;
  }
  @container (max-width: 769px) {
    .c-section__header.-list {
      height: auto;
    }
  }
  .c-section__header.-type-vertical {
    position: inherit;
  }
  @container (max-width: 769px) {
    .c-section {
      -ms-grid-columns: 1fr;
      grid-template-columns: 1fr;
    }
    .c-section__inner {
      padding-top: 0;
    }
    .c-section__header {
      position: static;
      top: 0;
      height: auto;
    }
  }
  .c-section.-uninsured {
    -ms-grid-columns: 1fr 3.45fr;
    grid-template-columns: 1fr 3.45fr;
  }
  @container (max-width: 769px) {
    .c-section.-uninsured {
      -ms-grid-columns: 1fr;
      grid-template-columns: 1fr;
    }
    .c-section.-uninsured__inner {
      padding-top: 0;
    }
    .c-section.-uninsured__header {
      position: static;
      top: 0;
      height: auto;
    }
  }
  .c-section.-noside {
    -ms-grid-columns: 1fr 4.4fr;
    grid-template-columns: 1fr 4.4fr;
  }
  @container (max-width: 769px) {
    .c-section.-noside {
      -ms-grid-columns: 1fr;
      grid-template-columns: 1fr;
    }
    .c-section.-noside__inner {
      padding-top: 0;
    }
    .c-section.-noside__header {
      position: static;
      top: 0;
      height: auto;
    }
  }
  .c-section.-type-vertical {
    grid-auto-flow: row;
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: var(--space-r);
  }
  .c-section.-type-vertical .c-section__inner {
    padding-top: 0;
  }
  .c-subsection {
    display: -ms-grid;
    display: grid;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
    gap: var(--space-s);
  }
  .c-section__body .c-subsection {
    margin-top: 0;
  }
  .c-subsection + .c-subsection {
    margin-top: var(--space-s);
  }
  .c-cardsection {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr var(--space-r) 2.75fr;
    grid-template-columns: 1fr 2.75fr;
    gap: var(--space-r);
    border-radius: var(--round-s);
    background: var(--color-white-100);
    border: solid 1px #EBEBEB;
  }
  .c-cardsection-header {
    background: var(--color-background-cardsection);
    padding-inline: var(--basesize-24);
    padding-block: var(--basesize-32);
  }
  .c-cardsection-header__title {
    font-family: var(--font-heading);
    font-size: clamp(2rem, 1.795rem + 0.88vw, 2.6rem);
    line-height: var(--lineheight2);
    font-weight: 600;
    font-size: clamp(1.6rem, 1.4947368421rem + 0.449122807vw, 2rem);
    line-height: var(--lineheight3);
    color: var(--color-text-primary);
  }
  .c-cardsection-header__title span {
    font-size: clamp(1.2rem, 1.0947368421rem + 0.449122807vw, 1.6rem);
  }
  .c-cardsection-header__price {
    display: inline-block;
    font-family: var(--font-heading);
    font-size: clamp(1.1rem, 1.032rem + 0.29vw, 1.3rem);
    font-weight: var(--font-weight-2);
    line-height: 1.7;
    color: var(--color-text-primary);
    text-decoration: none;
    border: solid 1px rgba(51, 51, 51, 0.2);
    border-radius: var(--round-max);
    padding-inline: 1.9rem;
    -webkit-padding-before: 0.3rem;
            padding-block-start: 0.3rem;
    -webkit-padding-after: 0.5rem;
            padding-block-end: 0.5rem;
    margin-top: var(--space-s);
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
  .c-cardsection-header__price:hover {
    background: var(--color-black-300);
    color: var(--color-white-100);
  }
  .c-cardsection-body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: var(--space-m);
    -webkit-padding-end: var(--basesize-32);
            padding-inline-end: var(--basesize-32);
    padding-block: var(--basesize-32);
  }
  .c-cardsection-body__text p {
    font-size: var(--fontsize-m);
  }
  .c-cardsection-body__text p a {
    font-size: var(--fontsize-s);
    color: var(--color-text-secondary);
    opacity: 0.8;
  }
  .c-cardsection-body__list {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr var(--space-x3s) 1.63fr;
    grid-template-columns: 1fr 1.63fr;
    gap: var(--space-x3s);
    line-height: 0;
  }
  .c-cardsection-body__list .c-heading-button {
    opacity: 1;
  }
  .c-cardsection hr {
    border-color: var(--color-black-030);
  }
  @media screen and (max-width: 768px) {
    .c-cardsection {
      -ms-grid-columns: 1fr;
      grid-template-columns: 1fr;
      border-radius: var(--round-xs);
    }
    .c-cardsection-header {
      padding-inline: 2rem;
      padding-block: var(--basesize-24);
    }
    .c-cardsection-body {
      padding-inline: 2rem;
      -webkit-padding-before: 0;
              padding-block-start: 0;
      -webkit-padding-after: var(--basesize-24);
              padding-block-end: var(--basesize-24);
    }
    .c-cardsection-body__list {
      -ms-grid-columns: 1fr;
      grid-template-columns: 1fr;
    }
  }
}
@layer component {
  .c-callout {
    background: var(--color-background-white);
    border: 1px solid var(--color-border-secondary);
    border-radius: var(--round-s);
    padding: var(--basesize-24);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: var(--space-m);
  }
  @container (max-width: 980px) {
    .c-callout {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      gap: var(--space-s);
    }
  }
  .c-callout__heading {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 1rem;
    min-width: 22rem;
    font-family: var(--font-text);
    font-size: clamp(1.4rem, 1.332rem + 0.29vw, 1.6rem);
    font-weight: normal;
    line-height: 1.8;
    font-family: var(--font-heading);
    font-weight: 600;
    color: var(--color-brand-primary);
  }
  .c-callout__heading::before {
    content: "";
    inline-size: 2rem;
    aspect-ratio: 1/1;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    background-color: var(--color-brand-primary);
    -webkit-mask-image: url("/assets/image/common/icon/icon_callout.svg");
            mask-image: url("/assets/image/common/icon/icon_callout.svg");
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-position: center;
            mask-position: center;
    -webkit-mask-size: contain;
            mask-size: contain;
    -webkit-transform: translate(0, 0.05lh);
            transform: translate(0, 0.05lh);
  }
  .c-callout__body {
    font-family: var(--font-text);
    font-size: clamp(1.2rem, 1.132rem + 0.29vw, 1.4rem);
    line-height: 1.7;
    font-weight: normal;
    line-height: 1.7;
    color: var(--color-text-tertiary);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: var(--basesize-12);
  }
  .c-callout__body p {
    color: var(--color-text-tertiary);
  }
}
@layer component {
  .c-media {
    aspect-ratio: 3/2;
    overflow: hidden;
    border-radius: 0.2rem;
  }
  .c-media img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .c-media.-portrait {
    aspect-ratio: 2/3;
    border-radius: 0;
  }
  a:hover > .c-media img {
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }
  .c-img img {
    border-radius: var(--round-xs);
    inline-size: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    overflow: hidden;
  }
  .c-img-border img {
    border-radius: var(--round-xs);
    border: 1px solid #EBEBEB;
    inline-size: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    overflow: hidden;
  }
  .c-img-figure {
    gap: 0.2rem;
  }
  .c-img-figure figcaption {
    opacity: 0.8;
    text-align: justify;
  }
  .c-img-figure.-uninsured img {
    inline-size: clamp(16rem, 13.0526315789rem + 12.5754385965vw, 27.2rem);
  }
  .c-media-scale {
    overflow: hidden;
    border-radius: var(--round-xs);
  }
  .c-media-scale img {
    -webkit-transform: scale(1);
            transform: scale(1);
    -webkit-transition: -webkit-transform 0.85s cubic-bezier(0.33, 1, 0.68, 1);
    transition: -webkit-transform 0.85s cubic-bezier(0.33, 1, 0.68, 1);
    transition: transform 0.85s cubic-bezier(0.33, 1, 0.68, 1);
    transition: transform 0.85s cubic-bezier(0.33, 1, 0.68, 1), -webkit-transform 0.85s cubic-bezier(0.33, 1, 0.68, 1);
  }
  a:hover .c-media-scale img {
    -webkit-transform: scale(1.08);
            transform: scale(1.08);
  }
}
@layer component {
  .c-medicalmap {
    width: 100%;
    border-spacing: 0;
    border-radius: 6px 6px 0 0;
    overflow: hidden;
    background-color: var(--color-background-white);
  }
  .c-medicalmap tr:first-child {
    background: var(--color-brand-primary);
    color: var(--color-text-white);
  }
  .c-medicalmap tr:not(:first-child) .c-medicalmap__head,
  .c-medicalmap tr:not(:first-child) .c-medicalmap__cell {
    font-family: var(--font-heading);
    border-bottom: 1px solid var(--color-border-secondary);
  }
  @media screen and (max-width: 768px) {
    .c-medicalmap {
      border-radius: var(--round-xs) var(--round-xs) 0 0;
    }
    .c-medicalmap tr:not(:first-child) .c-medicalmap__head,
    .c-medicalmap tr:not(:first-child) .c-medicalmap__cell {
      font-size: 1rem;
    }
  }
  .c-medicalmap__label {
    font-family: var(--font-text);
    font-size: 1.3rem;
  }
  .c-medicalmap__label:not(:first-child) {
    border-left: solid 1px var(--color-text-white);
  }
  .c-medicalmap__label.c-medicalmap__head {
    padding: var(--size2) var(--size2) 1.5rem;
  }
  .c-medicalmap__label.c-medicalmap__cell {
    color: var(--color-text-white);
    -webkit-padding-before: 1.1rem;
            padding-block-start: 1.1rem;
    -webkit-padding-after: 0.9rem;
            padding-block-end: 0.9rem;
  }
  @media screen and (max-width: 768px) {
    .c-medicalmap__label {
      font-size: 1rem;
    }
    .c-medicalmap__label.c-medicalmap__head {
      padding: 1.1rem var(--size) 1.05rem;
    }
    .c-medicalmap__label.c-medicalmap__cell {
      -webkit-padding-before: 0.9rem;
              padding-block-start: 0.9rem;
      -webkit-padding-after: 0.7rem;
              padding-block-end: 0.7rem;
    }
  }
  .c-medicalmap__head {
    width: 31.85%;
    font-size: clamp(1rem, 0.9210526316rem + 0.3368421053vw, 1.3rem);
    --em: 0.5em;
    line-height: 1.5;
    letter-spacing: 0.04em;
    color: var(--color-text-secondary);
    text-align: left;
    padding-block: 1.8rem;
    padding-inline: var(--size2);
    vertical-align: bottom;
  }
  .c-medicalmap__head::before, .c-medicalmap__head::after {
    content: "";
    display: block;
    width: 0;
    height: 0;
  }
  .c-medicalmap__head::before {
    margin-top: calc((1 - 1.5) * var(--em));
  }
  .c-medicalmap__head::after {
    margin-bottom: calc((1 - 1.5) * var(--em));
  }
  .c-medicalmap__head span {
    display: block;
    font-size: clamp(1rem, 0.9736842105rem + 0.1122807018vw, 1.1rem);
    line-height: 1.1;
    color: var(--color-brand-primary);
  }
  @media screen and (max-width: 768px) {
    .c-medicalmap__head {
      width: 35%;
      padding-block: 1.25rem;
      padding-inline: 1rem;
    }
    .c-medicalmap__head:has(span) {
      padding-block: 1.55rem;
    }
  }
  .c-medicalmap__cell {
    font-family: var(--font-heading);
    font-size: 1.3rem;
    line-height: 1.5;
    color: var(--color-brand-primary);
    text-align: center;
    vertical-align: middle;
    -webkit-padding-before: 1.1rem;
            padding-block-start: 1.1rem;
    -webkit-padding-after: 0.5rem;
            padding-block-end: 0.5rem;
  }
  .c-medicalmap__cell > span {
    line-height: 1.2;
  }
  @media screen and (max-width: 768px) {
    .c-medicalmap__cell {
      font-size: 1rem;
    }
  }
}
@layer component {
  .c-notice li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    color: var(--color-text-secondary);
    font-family: var(--font-text);
    font-size: clamp(1.1rem, 1.032rem + 0.29vw, 1.3rem);
    line-height: 1.7;
    font-weight: normal;
  }
  .c-notice li::before {
    content: "※";
    color: inherit;
  }
  .c-notice.-type2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: var(--space-x3s);
  }
  .c-notice.-type2 li {
    display: block;
  }
  .c-notice.-type2 li::before {
    content: none;
  }
  @media screen and (max-width: 768px) {
    .c-notice.-type2 li strong {
      display: block;
    }
  }
}
.c-select {
  width: 100%;
  border-radius: var(--round-s);
  border: solid 1px var(--color-border-secondary);
  background-color: var(--color-background-white);
  overflow: hidden;
  position: relative;
  z-index: 2;
}

.c-select select {
  width: 100%;
  font-family: var(--font-text);
  font-size: clamp(1.2rem, 1.132rem + 0.29vw, 1.4rem);
  line-height: 1.7;
  font-weight: normal;
  font-family: var(--font-heading);
  font-weight: 600;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  color: var(--color_main);
  padding: var(--basesize-16) var(--basesize-24);
  background-color: var(--color-pure-white);
  border: none;
  cursor: pointer;
}

.c-select__label {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: clamp(1.3rem, 1.2736842105rem + 0.1122807018vw, 1.4rem);
  color: #212121;
  line-height: 1;
  pointer-events: none;
  gap: 0.4rem;
}

.c-select__icon {
  width: var(--basesize-8);
  position: absolute;
  top: 50%;
  right: var(--basesize-24);
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.c-select__icon::after {
  content: "";
  position: absolute;
  left: calc(var(--basesize-24) * -1);
  top: 0;
  height: 100%;
  width: 1px;
  background: repeating-linear-gradient(to bottom, var(--color-border-primary), var(--color-border-primary) 2px, transparent 2px, transparent 4px);
}

@layer component {
  .c-linkbox__wrap {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr var(--space-r) 1fr;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-r);
  }
  @container (max-width: 800px) {
    .c-linkbox__wrap {
      -ms-grid-columns: 1fr;
      grid-template-columns: 1fr;
    }
  }
  .c-linkbox a {
    background-color: var(--color-background-white);
    padding-block: var(--space-linkbox-block);
    padding-inline: var(--space-linkbox-inline);
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr var(--space-linkbox-gap) 7.8rem;
    grid-template-columns: 1fr 7.8rem;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: var(--space-linkbox-gap);
    text-decoration: none;
    color: var(--color-text-tertiary);
    position: relative;
    border-radius: 0 0 var(--round-xs) var(--round-xs);
    border: solid 1px var(--color-border-secondary);
    border-top: none;
    -webkit-box-shadow: 0px -2px 0px 0px #B9B9B9;
            box-shadow: 0px -2px 0px 0px #B9B9B9;
    height: 100%;
    container-type: inline-size;
  }
  .c-linkbox a.c-icon-arrow2::before {
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .c-linkbox a::after {
    content: "";
  }
  .c-linkbox a:hover {
    -webkit-box-shadow: 0px -2px 0px 0px var(--color-text-accent);
            box-shadow: 0px -2px 0px 0px var(--color-text-accent);
  }
  .c-linkbox__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0.6rem;
    -webkit-padding-end: var(--basesize-48);
            padding-inline-end: var(--basesize-48);
    position: relative;
    height: 100%;
  }
  .c-linkbox__inner::after {
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    height: 100%;
    width: 1px;
    background: repeating-linear-gradient(to bottom, var(--color-border-primary), var(--color-border-primary) 2px, transparent 2px, transparent 4px);
  }
  .c-linkbox__inner .c-txt-xs {
    color: var(--color-text-tertiary);
  }
  .c-linkbox a:hover .c-linkbox__inner .c-txt-xs {
    color: var(--color-text-accent);
  }
  @container (max-width: 400px) {
    .c-linkbox__inner {
      -webkit-padding-end: 0;
              padding-inline-end: 0;
    }
    .c-linkbox__inner::after {
      content: none;
    }
  }
  .c-linkbox-header__en {
    font-family: var(--font-en);
    font-size: clamp(1rem, 0.932rem + 0.29vw, 1.2rem);
    font-weight: var(--font-wight-1);
    line-height: var(--lineheight1);
    padding-bottom: clamp(0.2rem, 0.132rem + 0.29vw, 0.4rem);
    font-weight: normal;
    color: var(--color-text-accent);
  }
  .c-linkbox-header__jp {
    font-family: var(--font-heading);
    font-size: clamp(1.6rem, 1.532rem + 0.29vw, 1.8rem);
    line-height: var(--lineheight4);
    font-weight: 600;
    color: var(--color-text-primary);
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
  .c-linkbox a:hover .c-linkbox-header__jp {
    color: var(--color-text-accent);
  }
  .c-linkbox-news {
    background: var(--color-background-white);
    border-radius: var(--round-s);
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
    padding-inline: var(--space-m);
  }
  .c-linkbox-news a {
    inline-size: 100%;
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: auto clamp(1.5rem, 1.3684210526rem + 0.5614035088vw, 2rem) 3.2rem;
    grid-template-columns: auto 3.2rem;
    gap: clamp(1.5rem, 1.3684210526rem + 0.5614035088vw, 2rem);
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding-block: clamp(2rem, 1.863rem + 0.58vw, 2.55rem);
  }
  .c-linkbox-news a .c-linkbox-inner {
    inline-size: 100%;
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr clamp(2.4rem, 2.1894736842rem + 0.898245614vw, 3.2rem) 1.9fr;
    grid-template-columns: 1fr 1.9fr;
    gap: clamp(2.4rem, 2.1894736842rem + 0.898245614vw, 3.2rem);
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  @media screen and (max-width: 1279px) {
    .c-linkbox-news a .c-linkbox-inner {
      -ms-grid-columns: 1fr;
      grid-template-columns: 1fr;
      gap: clamp(0.8rem, 0.6947368421rem + 0.449122807vw, 1.2rem);
    }
  }
  .c-linkbox-news a .c-linkbox-inner .c-linkbox-sub {
    inline-size: 100%;
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr clamp(2.4rem, 2.1894736842rem + 0.898245614vw, 3.2rem) 1.2fr;
    grid-template-columns: 1fr 1.2fr;
    gap: clamp(2.4rem, 2.1894736842rem + 0.898245614vw, 3.2rem);
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  @media screen and (max-width: 1279px) {
    .c-linkbox-news a .c-linkbox-inner .c-linkbox-sub {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      gap: clamp(0.8rem, 0.6947368421rem + 0.449122807vw, 1.2rem);
    }
  }
  .c-linkbox-news a .c-linkbox-inner .c-linkbox-news-date {
    color: var(--color-text-secondary);
    font-family: var(--font-text);
    font-size: clamp(1.1rem, 1.032rem + 0.29vw, 1.3rem);
    line-height: 1.7;
    font-weight: normal;
  }
  .c-linkbox-news a .c-linkbox-inner .c-linkbox-news-title {
    margin-top: -0.5rem;
  }
  .c-linkbox-news:hover {
    -webkit-box-shadow: 0px 0px 40px 0px rgba(0, 0, 0, 0.08);
            box-shadow: 0px 0px 40px 0px rgba(0, 0, 0, 0.08);
  }
  .c-linkbox-news:hover .c-linkbox-news-title {
    color: var(--color-brand-primary);
  }
}
@layer component {
  .c-pagenation {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1.45fr var(--space-r) 5fr;
    grid-template-columns: 1.45fr 5fr;
    gap: var(--space-r);
    background-color: var(--color-background-pagenationbox);
    border: solid 1px var(--color-border-pagenationbox);
    border-radius: var(--round-s);
    padding: var(--space-r);
  }
  @container (max-width: 769px) {
    .c-pagenation {
      -ms-grid-columns: 1fr;
      grid-template-columns: 1fr;
    }
  }
  .c-pagenation-heading {
    font-family: var(--font-text);
    font-size: clamp(1.1rem, 1.032rem + 0.29vw, 1.3rem);
    line-height: 1.7;
    font-weight: normal;
    font-family: var(--font-heading);
    font-weight: 600;
    color: var(--color-text-primary);
  }
  .c-pagenation-heading span {
    display: block;
    font-family: var(--font-heading);
    font-size: clamp(2rem, 1.795rem + 0.88vw, 2.6rem);
    line-height: var(--lineheight2);
    font-weight: 600;
    color: var(--color-brand-primary);
    padding-top: var(--basesize-4);
  }
  .c-pagenation-list {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 1rem 1fr;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
  }
  .c-pagenation-list li a {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 40px;
    grid-template-columns: 1fr 40px;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    background-color: var(--color-background-white);
    text-decoration: none;
    padding-inline: clamp(1.6rem, 1.3894736842rem + 0.898245614vw, 2.4rem);
    padding-block: var(--space-s);
    font-family: var(--font-text);
    font-size: clamp(1.2rem, 1.132rem + 0.29vw, 1.4rem);
    line-height: 1.7;
    font-weight: normal;
    font-family: var(--font-heading);
    font-weight: 600;
    border: solid 1px var(--color-border-secondary);
    border-radius: var(--round-xs);
    height: 100%;
  }
  .c-pagenation-list li a.is-current {
    color: var(--color-text-current);
    border: solid 1px var(--color-border-current);
  }
  .c-pagenation-list li a span {
    position: relative;
    padding-right: var(--basesize-16);
  }
  .c-pagenation-list li a span::after {
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    height: 100%;
    width: 1px;
    background: repeating-linear-gradient(to bottom, var(--color-border-primary), var(--color-border-primary) 2px, transparent 2px, transparent 4px);
  }
  .c-pagenation-list li a:hover {
    color: var(--color-text-current);
  }
  @media screen and (max-width: 768px) {
    .c-pagenation-list {
      display: none;
    }
  }
  .c-pagenation-list.-uninsured {
    -ms-grid-columns: 1fr 1fr 1fr;
    grid-template-columns: 1fr 1fr 1fr;
  }
  .c-select {
    display: none;
  }
  @media screen and (max-width: 768px) {
    .c-select {
      display: block;
    }
  }
  @container (max-width: 769px) {
    .c-select.-heading {
      display: block;
    }
  }
}
@layer component {
  .c-table td,
  .c-table dd {
    inline-size: auto;
  }
  .c-table td p + p b,
  .c-table dd p + p b {
    display: block;
  }
  .c-table td * + *:not(p, li),
  .c-table dd * + *:not(p, li) {
    margin-top: 0.8em;
  }
  .c-table {
    table-layout: fixed;
    inline-size: 100%;
    -webkit-border-start: 1px solid #E4E4E4;
            border-inline-start: 1px solid #E4E4E4;
    -webkit-border-before: 1px solid #E4E4E4;
            border-block-start: 1px solid #E4E4E4;
    border-spacing: 0;
    background: var(--color-background-white);
    border-radius: var(--round-xs);
  }
  .c-table th {
    font-weight: bold;
  }
  .c-table :has(> th:nth-child(3):last-child) th,
  .c-table :has(> td:nth-child(2):last-child) th,
  .c-table :has(> td:nth-child(3):last-child) th {
    inline-size: 25%;
  }
  @media screen and (max-width: 1279px) {
    .c-table :has(> th:nth-child(3):last-child) th,
    .c-table :has(> td:nth-child(2):last-child) th,
    .c-table :has(> td:nth-child(3):last-child) th {
      inline-size: 100%;
    }
  }
  .c-table th,
  .c-table td {
    vertical-align: middle;
    -webkit-border-end: 1px solid #E4E4E4;
            border-inline-end: 1px solid #E4E4E4;
    -webkit-border-after: 1px solid #E4E4E4;
            border-block-end: 1px solid #E4E4E4;
    padding-inline: 1.4rem 1rem;
    padding-block: 1rem 1.02rem;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    word-break: auto-phrase;
    text-align: left;
    vertical-align: top;
    font-size: clamp(1.1rem, 1.032rem + 0.29vw, 1.3rem);
    line-height: 1.5;
  }
  @media screen and (max-width: 1279px) {
    .c-table th,
    .c-table td {
      padding: 0.8rem 1.4rem;
    }
  }
  .c-table thead tr th {
    background: var(--color-brand-primary);
    color: var(--color-white-100);
    -webkit-border-end: 1px solid rgba(255, 255, 255, 0.3);
            border-inline-end: 1px solid rgba(255, 255, 255, 0.3);
    -webkit-border-after: none;
            border-block-end: none;
    font-family: var(--font-heading);
    font-size: clamp(1.1rem, 1.032rem + 0.29vw, 1.3rem);
    font-weight: var(--font-weight-2);
    line-height: 1.7;
    padding-inline: 1.2rem;
    -webkit-padding-before: 0.8rem;
            padding-block-start: 0.8rem;
    -webkit-padding-after: 0.8rem;
            padding-block-end: 0.8rem;
  }
  .c-table thead tr:first-child th:nth-child(1) {
    border-radius: var(--round-xs) 0 0 0;
  }
  .c-table thead tr:first-child th:nth-child(2) {
    inline-size: 54.3%;
  }
  .c-table thead tr:first-child th:nth-child(3) {
    inline-size: 10.5%;
    text-align: center;
  }
  .c-table thead tr:first-child th:nth-last-child(1) {
    inline-size: 10.5%;
    text-align: center;
    -webkit-border-end: 1px solid #E4E4E4;
            border-inline-end: 1px solid #E4E4E4;
    border-radius: 0 var(--round-xs) 0 0;
  }
  @media screen and (max-width: 1279px) {
    .c-table thead tr + tbody th, .c-table thead tr + tbody td {
      display: table-cell;
    }
  }
  .c-table tbody th, .c-table tbody td {
    color: var(--color-text2);
  }
  .c-table tbody th {
    background: rgba(255, 152, 136, 0.05);
    color: var(--color-text-primary);
    font-family: var(--font-heading);
    font-weight: var(--font-weight-2);
  }
  @media screen and (max-width: 1279px) {
    .c-table tbody th {
      inline-size: 100%;
    }
  }
  .c-table tbody td:nth-last-child(2) {
    text-align: center;
  }
  .c-table tbody td:nth-last-child(1) {
    text-align: right;
  }
  .c-table tbody tr:last-child th {
    border-radius: 0 0 0 var(--round-xs);
  }
  .c-table tbody tr:last-child td:nth-last-child(1) {
    border-radius: 0 0 var(--round-xs) 0;
  }
  .c-table.-pink th,
  .c-table.-pink td {
    vertical-align: middle;
    padding-inline: 0.8rem;
    padding-block: 0.8rem;
    text-align: center;
    line-height: 1.7;
  }
  .c-table.-pink thead tr th {
    padding-inline: 0;
    -webkit-padding-before: 0.8rem;
            padding-block-start: 0.8rem;
    -webkit-padding-after: 0.8rem;
            padding-block-end: 0.8rem;
  }
  .c-table.-pink thead tr th.subth {
    background: #C62F4B;
    font-size: clamp(1rem, 1.032rem + 0.29vw, 1.2rem);
    line-height: 1.4;
    -webkit-padding-before: 0.5rem;
            padding-block-start: 0.5rem;
    -webkit-padding-after: 0.6rem;
            padding-block-end: 0.6rem;
  }
  .c-table.-pink thead tr th.subth:nth-last-child(1) {
    -webkit-border-end: 1px solid #E4E4E4;
            border-inline-end: 1px solid #E4E4E4;
  }
  .c-table.-pink thead tr:first-child th:nth-child(1) {
    inline-size: 18.5%;
  }
  .c-table.-pink thead tr:first-child th:nth-child(2) {
    inline-size: inherit;
  }
  .c-table.-pink thead tr:first-child th:nth-last-child(1) {
    inline-size: inherit;
    -webkit-border-after: 1px solid rgba(255, 255, 255, 0.3);
            border-block-end: 1px solid rgba(255, 255, 255, 0.3);
  }
  .c-table.-pink tbody th {
    background: none;
    color: var(--color-brand-primary);
    font-family: var(--font-heading);
    font-weight: var(--font-weight-2);
  }
  .c-table.-pink tbody th span {
    font-size: clamp(1.4rem, 1.3473684211rem + 0.2245614035vw, 1.6rem);
    line-height: 1.6;
  }
  .c-table.-pink tbody tr:nth-of-type(1) th {
    background: rgba(255, 152, 136, 0.15);
    -webkit-border-after: 1px solid rgba(255, 152, 136, 0.05);
            border-block-end: 1px solid rgba(255, 152, 136, 0.05);
  }
  .c-table.-pink tbody tr:nth-of-type(6) th {
    background: rgba(255, 152, 136, 0.08);
  }
  .c-table.-pink tbody td {
    color: var(--color-text-primary);
  }
  .c-table.-pink tbody td:not(:empty) {
    background: var(--color-background-primary);
  }
  .c-table.-pink tbody td:nth-last-child(1) {
    text-align: center;
  }
  .c-table.-pink tbody tr:last-child th {
    border-radius: 0 0 0 var(--round-xs);
  }
  .c-table.-pink tbody tr:last-child td:nth-last-child(1) {
    border-radius: 0 0 var(--round-xs) 0;
  }
  .c-table.-pink.-type2 th,
  .c-table.-pink.-type2 td {
    padding-inline: 0.8rem;
  }
  .c-table.-pink.-type2 thead tr th {
    inline-size: inherit;
  }
  .c-table.-pink.-type2 thead tr th:nth-child(1) {
    inline-size: 14%;
  }
  .c-table.-pink.-type2 thead tr th:nth-child(2) {
    inline-size: 40%;
  }
  .c-table.-pink.-type2 thead tr th:nth-last-child(1) {
    -webkit-border-after: none;
            border-block-end: none;
  }
  .c-table.-pink.-type2 tbody tr th {
    background: rgba(255, 152, 136, 0.08);
    -webkit-border-after: 1px solid #E4E4E4;
            border-block-end: 1px solid #E4E4E4;
  }
  .c-table.-pink.-type2 tbody tr td:not(:empty) {
    background: inherit;
  }
  .c-table.-pink.-type2 tbody tr td:nth-of-type(1) {
    text-align: left;
  }
  .c-table.-pink.-type2 tbody tr:last-of-type td:nth-of-type(2) {
    text-align: left;
  }
  .c-table2 td,
  .c-table2 dd {
    inline-size: auto;
  }
  .c-table2 td p + p b,
  .c-table2 dd p + p b {
    display: block;
  }
  .c-table2 td * + *:not(p, li),
  .c-table2 dd * + *:not(p, li) {
    margin-top: 0.8em;
  }
  .c-table2 {
    table-layout: fixed;
    inline-size: 100%;
    -webkit-border-start: 1px solid var(--color-border-secondary);
            border-inline-start: 1px solid var(--color-border-secondary);
    -webkit-border-before: 1px solid var(--color-border-secondary);
            border-block-start: 1px solid var(--color-border-secondary);
    border-spacing: 0;
    background: var(--color-pure-white);
    border-radius: var(--round-xs);
  }
  .c-table2 tr {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 3.05fr;
    grid-template-columns: 1fr 3.05fr;
  }
  @media screen and (max-width: 768px) {
    .c-table2 tr {
      -ms-grid-columns: 1fr;
      grid-template-columns: 1fr;
    }
  }
  .c-table2 tr:first-child th {
    border-radius: var(--round-xs) 0 0 0;
  }
  @media screen and (max-width: 768px) {
    .c-table2 tr:first-child th {
      border-radius: var(--round-xs) var(--round-xs) 0 0;
    }
  }
  .c-table2 tr:first-child td {
    border-radius: 0 var(--round-xs) 0 0;
  }
  @media screen and (max-width: 768px) {
    .c-table2 tr:first-child td {
      border-radius: 0 0 0 0;
    }
  }
  .c-table2 tr:last-child th {
    border-radius: 0 0 0 var(--round-xs);
  }
  @media screen and (max-width: 768px) {
    .c-table2 tr:last-child th {
      border-radius: 0 0 0 0;
    }
  }
  .c-table2 tr:last-child td {
    border-radius: 0 0 var(--round-xs) 0;
  }
  @media screen and (max-width: 768px) {
    .c-table2 tr:last-child td {
      border-radius: 0 0 var(--round-xs) var(--round-xs);
    }
  }
  .c-table2 th,
  .c-table2 td {
    vertical-align: middle;
    -webkit-border-end: 1px solid var(--color-border-secondary);
            border-inline-end: 1px solid var(--color-border-secondary);
    -webkit-border-after: 1px solid var(--color-border-secondary);
            border-block-end: 1px solid var(--color-border-secondary);
    padding-inline: 1.6rem;
    padding-block: 1.2rem;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    word-break: auto-phrase;
    text-align: left;
    vertical-align: top;
    font-size: clamp(1.1rem, 1.032rem + 0.29vw, 1.3rem);
    line-height: 1.7;
  }
  @media screen and (max-width: 768px) {
    .c-table2 th,
    .c-table2 td {
      padding: 1rem 1.2rem;
    }
  }
  .c-table2 th {
    font-family: var(--font-heading);
    font-weight: bold;
    background: var(--color-background-primary);
  }
  .c-table2 td {
    background: var(--color-background-white);
  }
  .c-table3 {
    table-layout: fixed;
    inline-size: 100%;
    border-spacing: 0;
  }
  .c-table3 tr {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 3.2fr;
    grid-template-columns: 1fr 3.2fr;
  }
  .c-table3 tr:first-child {
    -webkit-border-before: 1px solid var(--color-border-secondary);
            border-block-start: 1px solid var(--color-border-secondary);
  }
  .c-table3 tr th, .c-table3 tr td {
    inline-size: auto;
    vertical-align: middle;
    -webkit-border-after: 1px solid var(--color-border-secondary);
            border-block-end: 1px solid var(--color-border-secondary);
    -webkit-padding-end: 1.6rem;
            padding-inline-end: 1.6rem;
    padding-block: 1.15rem;
    font-family: var(--font-text);
    font-size: clamp(1.2rem, 1.132rem + 0.29vw, 1.4rem);
    line-height: 1.7;
    font-weight: normal;
    color: var(--color-text-secondary);
  }
  @media screen and (max-width: 768px) {
    .c-table3 tr th, .c-table3 tr td {
      padding: 1rem 1.2rem 1rem 0;
    }
  }
  .c-table3 tr th {
    font-family: var(--font-heading);
    font-weight: 600;
  }
  .c-table.-line {
    inline-size: 100%;
    border-spacing: 0;
    border-top: 1px solid var(--color-line);
  }
  .c-table.-line th, .c-table.-line td {
    background: url(/assets/image/common/line_dot_x.gif) repeat-x left bottom/4px 2px;
    -webkit-padding-before: clamp(0.8rem, 0.5894736842rem + 0.898245614vw, 1.6rem);
            padding-block-start: clamp(0.8rem, 0.5894736842rem + 0.898245614vw, 1.6rem);
    -webkit-padding-after: clamp(0.6rem, 0.3368421053rem + 1.1228070175vw, 1.6rem);
            padding-block-end: clamp(0.6rem, 0.3368421053rem + 1.1228070175vw, 1.6rem);
  }
  .c-table.-line th {
    color: var(--color-theme);
    inline-size: 25%;
  }
  .c-table.-line td {
    color: var(--color-text2);
  }
  @media screen and (max-width: 1279px) {
    .c-table-scrollwrapper {
      inline-size: 100%;
      display: -ms-grid;
      display: grid;
      gap: 1rem;
    }
  }
  @media screen and (max-width: 1279px) {
    .c-table-scrollwrapper__inner {
      overflow-x: scroll;
      inline-size: 100%;
    }
    .c-table-scrollwrapper__inner .c-table {
      inline-size: 100%;
    }
  }
  .c-table-callout {
    inline-size: auto;
    border: 1px solid #E4E4E4;
    border-radius: var(--round-xs);
    font-size: 1rem;
    line-height: 1;
    color: var(--color-black3);
    padding: 0.8rem 1.6rem;
    display: none;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0.4rem;
  }
  .c-table-callout p {
    font-size: 1.1rem;
    font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3";
    font-weight: 400;
  }
  @media screen and (max-width: 1279px) {
    .c-table-callout {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
    }
  }
  @media screen and (max-width: 1279px) {
    .c-table.-scroll {
      inline-size: 90rem;
      -webkit-transform-origin: 0 0;
              transform-origin: 0 0;
    }
    .c-table.-scroll th, .c-table.-scroll td {
      max-inline-size: 30rem;
    }
    .c-table.-scroll .size-1 {
      inline-size: auto;
      min-inline-size: 15rem;
    }
    .c-table.-scroll .size-2 {
      inline-size: auto;
      min-inline-size: 15rem;
    }
  }
}
@layer mod {
  .c-table .size-1 {
    inline-size: 10%;
  }
  @media screen and (max-width: 768px) {
    .c-table .size-1 {
      inline-size: 100%;
    }
  }
  .c-table .size-2 {
    inline-size: 20%;
  }
  @media screen and (max-width: 768px) {
    .c-table .size-2 {
      inline-size: 100%;
    }
  }
}
@layer component {
  a:has(.c-card, .c-card-big) {
    text-decoration: none;
  }
  a:has(.c-card, .c-card-big):hover .c-card-title__main {
    color: var(--color-text-current);
  }
  .c-card {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: var(--space-s);
  }
  @media screen and (max-width: 768px) {
    .c-card {
      -ms-grid-columns: 1fr 2rem 2fr;
      grid-template-columns: 1fr 2fr;
      gap: 2rem;
    }
  }
  .c-card img {
    aspect-ratio: 3/2;
    border-radius: var(--round-xs);
    inline-size: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    overflow: hidden;
  }
  @media screen and (max-width: 768px) {
    .c-card img {
      aspect-ratio: 1/1;
    }
  }
  .c-card figcaption {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: var(--space-x3s);
  }
  @media screen and (max-width: 768px) {
    .c-card figcaption {
      -ms-grid-rows: auto var(--space-x3s) auto var(--space-x3s) 1fr;
      grid-template-rows: auto auto 1fr;
      gap: var(--space-x3s);
    }
  }
  .c-card .c-card-title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: var(--space-x3s);
  }
  .c-card .c-card-title__main {
    font-family: var(--font-text);
    font-size: clamp(1.3rem, 1.232rem + 0.29vw, 1.6rem);
    line-height: var(--lineheight4);
    font-weight: normal;
    font-family: var(--font-heading);
    font-weight: bold;
    color: var(--color-text-primary);
  }
  @media screen and (max-width: 768px) {
    .c-card .c-card-title__main {
      line-height: var(--lineheight3);
    }
  }
  .c-card .c-card-title__sub {
    font-family: var(--font-text);
    font-size: clamp(1.1rem, 1.032rem + 0.29vw, 1.3rem);
    line-height: 1.7;
    font-weight: normal;
    color: var(--color-text-secondary);
  }
  .c-card .c-card-title__sub a[target=_blank] {
    margin-right: 1.4rem;
  }
  .c-card .c-card-title__sub a[target=_blank]::after {
    background: var(--color-text-tertiary);
    padding-left: 0.8rem;
  }
  @media screen and (max-width: 768px) {
    .c-card .c-card-title__sub {
      line-height: var(--lineheight2);
    }
    .c-card .c-card-title__sub a[target=_blank]::after {
      margin-bottom: 3px;
    }
  }
  .c-card .c-card-title__sub.-pc {
    display: block;
  }
  @media screen and (max-width: 768px) {
    .c-card .c-card-title__sub.-pc {
      display: none;
    }
  }
  .c-card .c-card-title__sub.-sp {
    display: none;
  }
  @media screen and (max-width: 768px) {
    .c-card .c-card-title__sub.-sp {
      display: block;
    }
  }
  .c-card .c-card-txt {
    font-family: var(--font-text);
    font-size: clamp(1.2rem, 1.132rem + 0.29vw, 1.4rem);
    line-height: 1.7;
    font-weight: normal;
    color: var(--color-text-tertiary);
    text-align: justify;
  }
  @media screen and (max-width: 768px) {
    .c-card .c-card-txt {
      line-height: 1.6;
    }
  }
  .c-card.-type2 {
    gap: var(--space-xs);
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
  @media screen and (max-width: 768px) {
    .c-card.-type2 {
      gap: 2rem;
    }
  }
  .c-card.-type2 figcaption {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: var(--space-s);
  }
  .c-card.-type2 .c-card-title__main {
    font-family: var(--font-text);
    font-weight: 400;
    color: var(--color-text-secondary);
  }
  .c-card.-type2 .c-card-sub {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: var(--space-xs);
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    border-top: solid 1px var(--color-border-secondary);
    -webkit-padding-before: var(--space-xs);
            padding-block-start: var(--space-xs);
  }
  .c-card.-type2 .c-card-date {
    font-family: var(--font-text);
    font-size: 1.1rem;
    line-height: 1.7;
    color: var(--color-text-secondary);
  }
  .c-card-hr {
    display: none;
  }
  @media screen and (max-width: 768px) {
    .c-card-hr {
      display: block;
      background-color: #E1E1E1;
    }
  }
  .c-card-hr.-big {
    display: block;
    background-color: #E1E1E1;
    height: auto;
  }
  @media screen and (max-width: 768px) {
    .c-card-hr.-big {
      display: none;
    }
  }
  ul:has(.c-card-big) {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr var(--basesize-32) 1px var(--basesize-32) 1fr var(--basesize-32) 1px var(--basesize-32) 1fr;
    grid-template-columns: 1fr 1px 1fr 1px 1fr;
    gap: var(--basesize-32);
  }
  @media screen and (max-width: 768px) {
    ul:has(.c-card-big) {
      -ms-grid-columns: 1fr;
      grid-template-columns: 1fr;
    }
  }
  .c-card-big {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: var(--basesize-24);
  }
  @media screen and (max-width: 768px) {
    .c-card-big {
      gap: var(--basesize-16);
    }
  }
  .c-card-big .c-media-scale {
    inline-size: 100%;
    border-radius: var(--round-s);
  }
  .c-card-big img {
    border-radius: var(--round-s);
    inline-size: 100%;
    aspect-ratio: 9/12.01;
    -o-object-fit: cover;
       object-fit: cover;
    overflow: hidden;
  }
  @media screen and (max-width: 768px) {
    .c-card-big img {
      aspect-ratio: auto;
    }
  }
  .c-card-big .c-card-img__pc {
    display: block;
  }
  @media screen and (max-width: 768px) {
    .c-card-big .c-card-img__pc {
      display: none;
    }
  }
  .c-card-big .c-card-img__sp {
    display: none;
  }
  @media screen and (max-width: 768px) {
    .c-card-big .c-card-img__sp {
      display: block;
    }
  }
  .c-card-big figcaption {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: var(--basesize-12);
  }
  @media screen and (max-width: 768px) {
    .c-card-big figcaption {
      -ms-grid-rows: auto var(--space-x3s) auto var(--space-x3s) 1fr;
      grid-template-rows: auto auto 1fr;
      gap: var(--space-x3s);
    }
  }
  .c-card-big .c-card-title__main {
    font-family: var(--font-heading);
    font-size: 1.8rem;
    line-height: 1.6;
    font-weight: 600;
    color: var(--color-text-primary);
  }
  .c-card-big .c-card-txt {
    font-family: var(--font-text);
    font-size: clamp(1.2rem, 1.132rem + 0.29vw, 1.4rem);
    line-height: 1.7;
    font-weight: normal;
    color: var(--color-text-tertiary);
    text-align: justify;
  }
  .c-card2 {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr var(--space-r) 2.3fr;
    grid-template-columns: 1fr 2.3fr;
    gap: var(--space-r);
  }
  @media screen and (max-width: 768px) {
    .c-card2 {
      -ms-grid-columns: 1fr;
      grid-template-columns: 1fr;
      gap: var(--space-m);
    }
  }
  .c-card2__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0.4rem;
    line-height: 1.7;
  }
  .c-card2 b {
    font-family: var(--font-heading);
    font-weight: 600;
  }
  .c-cardbox {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr var(--space-m) 2.2fr;
    grid-template-columns: 1fr 2.2fr;
    gap: var(--space-m);
    background: var(--color-background-pagenationbox);
    border: var(--color-border-secondary) solid 1px;
    border-radius: var(--round-s);
    padding: var(--space-r);
  }
  @container (max-width: 980px) {
    .c-cardbox {
      -ms-grid-columns: 1fr;
      grid-template-columns: 1fr;
      gap: var(--space-s);
    }
  }
  .c-cardbox .c-cardbox-title {
    color: var(--color-brand-primary);
    font-family: var(--font-heading);
    font-size: clamp(1.4rem, 1.297rem + 0.44vw, 1.6rem);
    line-height: var(--lineheight3);
    font-weight: 600;
    font-size: clamp(1.8rem, 1.7473684211rem + 0.2245614035vw, 2rem);
  }
  .c-cardbox .c-cardbox-body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: var(--space-x3s);
  }
  @container (max-width: 980px) {
    .c-cardbox .c-cardbox-body {
      gap: 0.4rem;
    }
  }
  .c-cardbox .c-cardbox-txt {
    font-family: var(--font-text);
    font-size: clamp(1.3rem, 1.232rem + 0.29vw, 1.5rem);
    line-height: var(--lineheight4);
    font-weight: normal;
  }
  .c-cardbox .c-cardbox-txt.-b {
    font-family: var(--font-heading);
    font-size: clamp(1.4rem, 1.297rem + 0.44vw, 1.6rem);
    line-height: var(--lineheight3);
    font-weight: 600;
    line-height: var(--lineheight4);
    color: var(--color-text-primary);
  }
}
@layer component {
  .c-tag {
    display: inline-block;
    background: rgba(138, 73, 64, 0.05);
    border-radius: var(--round-s);
    padding-inline: clamp(0.7rem, 0.6473684211rem + 0.2245614035vw, 0.9rem);
    padding-block: clamp(0.4rem, 0.3736842105rem + 0.1122807018vw, 0.5rem);
    font-family: var(--font-heading);
    font-size: var(--fontsize-xs);
    line-height: 1.6;
    color: var(--color-text-secondary);
    font-weight: 600;
    text-align: center;
  }
}
@layer component {
  .c-pager {
    margin-top: -1.6rem;
  }
  .c-pager:not(:has(.c-pager-select)) {
    height: 3.2rem;
  }
  .c-pager:not(:has(.c-pager-select)) .c-pager__inner {
    height: 100%;
  }
  .c-pager__inner {
    position: relative;
  }
  .c-pager-select {
    width: 100%;
    max-width: 290px;
    margin: 0 auto;
    border-radius: var(--round-s);
    border: solid 1px #ECE6ED;
    background-color: var(--color-background-white);
    overflow: hidden;
    position: relative;
    z-index: 10;
  }
  @media screen and (max-width: 1279px) {
    .c-pager-select {
      max-width: inherit;
    }
  }
  .c-pager-select select {
    width: 100%;
    padding-block: clamp(1.6rem, 1.863rem + 0.58vw, 2.1rem);
    font-size: 1.6rem;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    color: var(--color-black3);
    background-color: var(--color-background-white);
    cursor: pointer;
    opacity: 0;
  }
  @media screen and (max-width: 1279px) {
    .c-pager-select select {
      padding: 1.5rem 0;
    }
  }
  .c-pager-select__label {
    position: absolute;
    top: 1px;
    left: 0rem;
    z-index: 10;
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    color: #6D5D52;
    font-family: var(--font-text);
    font-size: clamp(1.3rem, 1.232rem + 0.29vw, 1.6rem);
    line-height: var(--lineheight4);
    font-weight: normal;
    pointer-events: none;
  }
  .c-pager-select__label.-left {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    left: 2rem;
  }
  .c-pager-select__label span {
    display: inline-block;
  }
  .c-pager-select__icon {
    width: 1rem;
    position: absolute;
    top: 50%;
    right: 2.2rem;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    display: -ms-grid;
    display: grid;
    place-content: center;
  }
  .c-pager-flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
  }
  @media screen and (max-width: 1279px) {
    .c-pager-flex {
      position: static;
      padding-top: var(--size3);
    }
  }
  .c-pager-flex .c-button:last-child {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .c-pager-flex .c-button.is-hide {
    opacity: 0.4;
    pointer-events: none;
  }
  .c-pager-flex .c-icon-arrow:first-child::after {
    rotate: 180deg;
  }
  .c-pager-flex .c-icon-arrow:last-child::after {
    left: auto;
    right: 0;
  }
  @media screen and (max-width: 768px) {
    .c-pager-flex .c-pager-back {
      display: none;
    }
  }
  .c-pager-flex.-single {
    position: static;
  }
  @media screen and (max-width: 1279px) {
    .c-pager-flex.-single {
      padding-top: 0;
    }
  }
}
@layer component {
  /* スライドの動き等速 */
  .swiper-wrapper {
    -webkit-transition-timing-function: linear;
            transition-timing-function: linear;
  }
  /* 画像のサイズ調整 */
  .swiper-slide img {
    height: auto;
    width: 100%;
  }
}
@layer utility {
  .u-mt0 {
    margin-top: 0;
  }
  @media screen and (max-width: 768px) {
    .u-mt0-small {
      margin-top: 0;
    }
  }
  .u-mb0 {
    margin-bottom: 0;
  }
  @media screen and (max-width: 768px) {
    .u-mb0-small {
      margin-bottom: 0;
    }
  }
  .u-pt0 {
    padding-top: 0;
  }
  @media screen and (max-width: 768px) {
    .u-pt0-small {
      padding-top: 0;
    }
  }
  .u-pb0 {
    padding-bottom: 0;
  }
  @media screen and (max-width: 768px) {
    .u-pb0-small {
      padding-bottom: 0;
    }
  }
  .u-pl0 {
    padding-left: 0;
  }
  @media screen and (max-width: 768px) {
    .u-pl0-small {
      padding-left: 0;
    }
  }
  .u-pr0 {
    padding-right: 0;
  }
  @media screen and (max-width: 768px) {
    .u-pr0-small {
      padding-right: 0;
    }
  }
  .u-mt4 {
    margin-top: 0.4rem;
  }
  @media screen and (max-width: 768px) {
    .u-mt4-small {
      margin-top: 0.4rem;
    }
  }
  .u-mb4 {
    margin-bottom: 0.4rem;
  }
  @media screen and (max-width: 768px) {
    .u-mb4-small {
      margin-bottom: 0.4rem;
    }
  }
  .u-pt4 {
    padding-top: 0.4rem;
  }
  @media screen and (max-width: 768px) {
    .u-pt4-small {
      padding-top: 0.4rem;
    }
  }
  .u-pb4 {
    padding-bottom: 0.4rem;
  }
  @media screen and (max-width: 768px) {
    .u-pb4-small {
      padding-bottom: 0.4rem;
    }
  }
  .u-pl4 {
    padding-left: 0.4rem;
  }
  @media screen and (max-width: 768px) {
    .u-pl4-small {
      padding-left: 0.4rem;
    }
  }
  .u-pr4 {
    padding-right: 0.4rem;
  }
  @media screen and (max-width: 768px) {
    .u-pr4-small {
      padding-right: 0.4rem;
    }
  }
  .u-mt8 {
    margin-top: var(--size);
  }
  @media screen and (max-width: 768px) {
    .u-mt8-small {
      margin-top: var(--size);
    }
  }
  .u-mb8 {
    margin-bottom: var(--size);
  }
  @media screen and (max-width: 768px) {
    .u-mb8-small {
      margin-bottom: var(--size);
    }
  }
  .u-pt8 {
    padding-top: var(--size);
  }
  @media screen and (max-width: 768px) {
    .u-pt8-small {
      padding-top: var(--size);
    }
  }
  .u-pb8 {
    padding-bottom: var(--size);
  }
  @media screen and (max-width: 768px) {
    .u-pb8-small {
      padding-bottom: var(--size);
    }
  }
  .u-pl8 {
    padding-left: var(--size);
  }
  @media screen and (max-width: 768px) {
    .u-pl8-small {
      padding-left: var(--size);
    }
  }
  .u-pr8 {
    padding-right: var(--size);
  }
  @media screen and (max-width: 768px) {
    .u-pr8-small {
      padding-right: var(--size);
    }
  }
  .u-mt16 {
    margin-top: var(--size2);
  }
  @media screen and (max-width: 768px) {
    .u-mt16-small {
      margin-top: var(--size2);
    }
  }
  .u-mb16 {
    margin-bottom: var(--size2);
  }
  @media screen and (max-width: 768px) {
    .u-mb16-small {
      margin-bottom: var(--size2);
    }
  }
  .u-pt16 {
    padding-top: var(--size2);
  }
  @media screen and (max-width: 768px) {
    .u-pt16-small {
      padding-top: var(--size2);
    }
  }
  .u-pb16 {
    padding-bottom: var(--size2);
  }
  @media screen and (max-width: 768px) {
    .u-pb16-small {
      padding-bottom: var(--size2);
    }
  }
  .u-pl16 {
    padding-left: var(--size2);
  }
  @media screen and (max-width: 768px) {
    .u-pl16-small {
      padding-left: var(--size2);
    }
  }
  .u-pr16 {
    padding-right: var(--size2);
  }
  @media screen and (max-width: 768px) {
    .u-pr16-small {
      padding-right: var(--size2);
    }
  }
  .u-mt20 {
    margin-top: 2rem;
  }
  @media screen and (max-width: 768px) {
    .u-mt20-small {
      margin-top: 2rem;
    }
  }
  .u-mb20 {
    margin-bottom: 2rem;
  }
  @media screen and (max-width: 768px) {
    .u-mb20-small {
      margin-bottom: 2rem;
    }
  }
  .u-pt20 {
    padding-top: 2rem;
  }
  @media screen and (max-width: 768px) {
    .u-pt20-small {
      padding-top: 2rem;
    }
  }
  .u-pb20 {
    padding-bottom: 2rem;
  }
  @media screen and (max-width: 768px) {
    .u-pb20-small {
      padding-bottom: 2rem;
    }
  }
  .u-pl20 {
    padding-left: 2rem;
  }
  @media screen and (max-width: 768px) {
    .u-pl20-small {
      padding-left: 2rem;
    }
  }
  .u-pr20 {
    padding-right: 2rem;
  }
  @media screen and (max-width: 768px) {
    .u-pr20-small {
      padding-right: 2rem;
    }
  }
  .u-mt24 {
    margin-top: var(--size3);
  }
  @media screen and (max-width: 768px) {
    .u-mt24-small {
      margin-top: var(--size3);
    }
  }
  .u-mb24 {
    margin-bottom: var(--size3);
  }
  @media screen and (max-width: 768px) {
    .u-mb24-small {
      margin-bottom: var(--size3);
    }
  }
  .u-pt24 {
    padding-top: var(--size3);
  }
  @media screen and (max-width: 768px) {
    .u-pt24-small {
      padding-top: var(--size3);
    }
  }
  .u-pb24 {
    padding-bottom: var(--size3);
  }
  @media screen and (max-width: 768px) {
    .u-pb24-small {
      padding-bottom: var(--size3);
    }
  }
  .u-pl24 {
    padding-left: var(--size3);
  }
  @media screen and (max-width: 768px) {
    .u-pl24-small {
      padding-left: var(--size3);
    }
  }
  .u-pr24 {
    padding-right: var(--size3);
  }
  @media screen and (max-width: 768px) {
    .u-pr24-small {
      padding-right: var(--size3);
    }
  }
  .u-mt32 {
    margin-top: var(--size4);
  }
  @media screen and (max-width: 768px) {
    .u-mt32-small {
      margin-top: var(--size4);
    }
  }
  .u-mb32 {
    margin-bottom: var(--size4);
  }
  @media screen and (max-width: 768px) {
    .u-mb32-small {
      margin-bottom: var(--size4);
    }
  }
  .u-pt32 {
    padding-top: var(--size4);
  }
  @media screen and (max-width: 768px) {
    .u-pt32-small {
      padding-top: var(--size4);
    }
  }
  .u-pb32 {
    padding-bottom: var(--size4);
  }
  @media screen and (max-width: 768px) {
    .u-pb32-small {
      padding-bottom: var(--size4);
    }
  }
  .u-pl32 {
    padding-left: var(--size4);
  }
  @media screen and (max-width: 768px) {
    .u-pl32-small {
      padding-left: var(--size4);
    }
  }
  .u-pr32 {
    padding-right: var(--size4);
  }
  @media screen and (max-width: 768px) {
    .u-pr32-small {
      padding-right: var(--size4);
    }
  }
  .u-mt40 {
    margin-top: var(--size5);
  }
  @media screen and (max-width: 768px) {
    .u-mt40-small {
      margin-top: var(--size5);
    }
  }
  .u-mb40 {
    margin-bottom: var(--size5);
  }
  @media screen and (max-width: 768px) {
    .u-mb40-small {
      margin-bottom: var(--size5);
    }
  }
  .u-pt40 {
    padding-top: var(--size5);
  }
  @media screen and (max-width: 768px) {
    .u-pt40-small {
      padding-top: var(--size5);
    }
  }
  .u-pb40 {
    padding-bottom: var(--size5);
  }
  @media screen and (max-width: 768px) {
    .u-pb40-small {
      padding-bottom: var(--size5);
    }
  }
  .u-pl40 {
    padding-left: var(--size5);
  }
  @media screen and (max-width: 768px) {
    .u-pl40-small {
      padding-left: var(--size5);
    }
  }
  .u-pr40 {
    padding-right: var(--size5);
  }
  @media screen and (max-width: 768px) {
    .u-pr40-small {
      padding-right: var(--size5);
    }
  }
  .u-mt48 {
    margin-top: var(--size6);
  }
  @media screen and (max-width: 768px) {
    .u-mt48-small {
      margin-top: var(--size6);
    }
  }
  .u-mb48 {
    margin-bottom: var(--size6);
  }
  @media screen and (max-width: 768px) {
    .u-mb48-small {
      margin-bottom: var(--size6);
    }
  }
  .u-pt48 {
    padding-top: var(--size6);
  }
  @media screen and (max-width: 768px) {
    .u-pt48-small {
      padding-top: var(--size6);
    }
  }
  .u-pb48 {
    padding-bottom: var(--size6);
  }
  @media screen and (max-width: 768px) {
    .u-pb48-small {
      padding-bottom: var(--size6);
    }
  }
  .u-pl48 {
    padding-left: var(--size6);
  }
  @media screen and (max-width: 768px) {
    .u-pl48-small {
      padding-left: var(--size6);
    }
  }
  .u-pr48 {
    padding-right: var(--size6);
  }
  @media screen and (max-width: 768px) {
    .u-pr48-small {
      padding-right: var(--size6);
    }
  }
  .u-mt56 {
    margin-top: var(--size7);
  }
  @media screen and (max-width: 768px) {
    .u-mt56-small {
      margin-top: var(--size7);
    }
  }
  .u-mb56 {
    margin-bottom: var(--size7);
  }
  @media screen and (max-width: 768px) {
    .u-mb56-small {
      margin-bottom: var(--size7);
    }
  }
  .u-pt56 {
    padding-top: var(--size7);
  }
  @media screen and (max-width: 768px) {
    .u-pt56-small {
      padding-top: var(--size7);
    }
  }
  .u-pb56 {
    padding-bottom: var(--size7);
  }
  @media screen and (max-width: 768px) {
    .u-pb56-small {
      padding-bottom: var(--size7);
    }
  }
  .u-pl56 {
    padding-left: var(--size7);
  }
  @media screen and (max-width: 768px) {
    .u-pl56-small {
      padding-left: var(--size7);
    }
  }
  .u-pr56 {
    padding-right: var(--size7);
  }
  @media screen and (max-width: 768px) {
    .u-pr56-small {
      padding-right: var(--size7);
    }
  }
  .u-mt64 {
    margin-top: var(--size8);
  }
  @media screen and (max-width: 768px) {
    .u-mt64-small {
      margin-top: var(--size8);
    }
  }
  .u-mb64 {
    margin-bottom: var(--size8);
  }
  @media screen and (max-width: 768px) {
    .u-mb64-small {
      margin-bottom: var(--size8);
    }
  }
  .u-pt64 {
    padding-top: var(--size8);
  }
  @media screen and (max-width: 768px) {
    .u-pt64-small {
      padding-top: var(--size8);
    }
  }
  .u-pb64 {
    padding-bottom: var(--size8);
  }
  @media screen and (max-width: 768px) {
    .u-pb64-small {
      padding-bottom: var(--size8);
    }
  }
  .u-pl64 {
    padding-left: var(--size8);
  }
  @media screen and (max-width: 768px) {
    .u-pl64-small {
      padding-left: var(--size8);
    }
  }
  .u-pr64 {
    padding-right: var(--size8);
  }
  @media screen and (max-width: 768px) {
    .u-pr64-small {
      padding-right: var(--size8);
    }
  }
}
@layer utility {
  .u-sticky {
    position: sticky;
  }
  @media screen and (max-width: 768px) {
    .u-sticky {
      position: static;
    }
  }
  .u-fixed {
    position: fixed;
  }
}
@layer utility {
  .u-bg-red {
    background: red;
  }
  .u-bg-green {
    background: green;
  }
  .u-bg-#FFFCF4 {
    background: #FFFCF4;
  }
  .u-bg-#FABE00 {
    background: #FABE00;
  }
  .u-color-red {
    color: var(--color-important);
  }
  .u-color-pink {
    color: var(--color-pink);
  }
  .u-color-green {
    color: var(--color-green);
  }
}
@layer utility {
  @media screen and (max-width: 769px) {
    .u-hidden-small {
      display: none;
    }
  }
  .u-visible-small {
    display: none;
  }
  @media screen and (max-width: 769px) {
    .u-visible-small {
      display: block;
    }
  }
}
@layer utility {
  .u-align-left {
    text-align: left;
  }
  .u-align-right {
    text-align: right;
  }
  .u-align-top {
    vertical-align: top;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .u-align-top th, .u-align-top td {
    vertical-align: top;
  }
  .u-align-middle {
    vertical-align: middle;
  }
  .u-align-middle th, .u-align-middle td {
    vertical-align: middle;
  }
  .u-align-middle {
    vertical-align: middle;
  }
  .u-align-center {
    text-align: center;
  }
  .u-align-center th, .u-align-center td {
    text-align: center;
  }
}
@layer utility {
  .u-ib {
    display: inline-block;
  }
}
@layer utility {
  :root {
    --leading-trim: calc((1em - 1lh) / 2);
  }
  :lang(en) {
    --leading-trim: calc((1cap - 1lh) / 2);
  }
  .u-text-trim::before, .u-text-trim::after {
    content: "";
    display: block;
    inline-size: 0;
    block-size: 1px;
  }
  .u-text-trim::before {
    -webkit-margin-after: var(--leading-trim);
            margin-block-end: var(--leading-trim);
  }
  .u-text-trim::after {
    -webkit-margin-before: var(--leading-trim);
            margin-block-start: var(--leading-trim);
  }
}
@layer utility {
  .u-aspect-32 {
    aspect-ratio: 3/2;
  }
  .u-aspect-32 img {
    inline-size: 100%;
    block-size: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .u-aspect-43 {
    aspect-ratio: 4/3;
  }
  .u-aspect-43 img {
    inline-size: 100%;
    block-size: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .u-aspect-169 {
    aspect-ratio: 16/9;
  }
  .u-aspect-169 img {
    inline-size: 100%;
    block-size: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .u-aspect-square {
    aspect-ratio: 1/1;
  }
  .u-aspect-square img {
    inline-size: 100%;
    block-size: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .u-aspect-gold {
    aspect-ratio: 1.618/1;
  }
  .u-aspect-gold img {
    inline-size: 100%;
    block-size: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .u-aspect-silver {
    aspect-ratio: 1.414/1;
  }
  .u-aspect-silver img {
    inline-size: 100%;
    block-size: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
.u-round-xs {
  border-radius: var(--round-xs);
  overflow: hidden;
}

.u-round-s {
  border-radius: var(--round-s);
  overflow: hidden;
}

.u-round-m {
  border-radius: var(--round-m);
  overflow: hidden;
}

.u-round-max {
  border-radius: var(--round-max);
  overflow: hidden;
}

.u-border-img {
  border: solid 1px var(--color-border-primar);
}

.js-dropdown .is-close {
  opacity: 0;
  pointer-events: none;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  will-change: opacity;
}
.js-dropdown .is-open {
  opacity: 1;
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
  visibility: visible;
}

/* ef-shadow
-----------------------------------------------------------------*/
@-webkit-keyframes button-arrow {
  0% {
    opacity: 1;
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  29% {
    opacity: 0;
    -webkit-transform: translate(8px, 0);
            transform: translate(8px, 0);
  }
  30% {
    -webkit-transform: translate(-8px, 0);
            transform: translate(-8px, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
}
@keyframes button-arrow {
  0% {
    opacity: 1;
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  29% {
    opacity: 0;
    -webkit-transform: translate(8px, 0);
            transform: translate(8px, 0);
  }
  30% {
    -webkit-transform: translate(-8px, 0);
            transform: translate(-8px, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
}
@-webkit-keyframes card-arrow {
  0% {
    opacity: 0.4;
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  29% {
    -webkit-transform: translate(8px, 0);
            transform: translate(8px, 0);
  }
  30% {
    opacity: 0;
    -webkit-transform: translate(-8px, 0);
            transform: translate(-8px, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
}
@keyframes card-arrow {
  0% {
    opacity: 0.4;
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  29% {
    -webkit-transform: translate(8px, 0);
            transform: translate(8px, 0);
  }
  30% {
    opacity: 0;
    -webkit-transform: translate(-8px, 0);
            transform: translate(-8px, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
}
.ef-txt-roll {
  position: relative;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
a:hover .ef-txt-roll {
  translate: 0 -100%;
}
.ef-txt-roll__base {
  position: relative;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  translate: 0 -40%;
}
a:hover .ef-txt-roll__base {
  opacity: 0;
}
.ef-txt-roll__hidden {
  position: absolute;
  top: 0;
  left: 0;
  translate: 0 100%;
  opacity: 0;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
a:hover .ef-txt-roll__hidden {
  opacity: 1;
}