@charset "UTF-8";
@layer normalize, destyle;
@layer normalize {
  /* Document
   * ========================================================================== */
  /**
   * Add border box sizing in all browsers (opinionated).
   */
  *,
  ::before,
  ::after {
    box-sizing: border-box;
  }
  /**
   * 1. Add text decoration inheritance in all browsers (opinionated).
   * 2. Add vertical alignment inheritance in all browsers (opinionated).
   */
  ::before,
  ::after {
    text-decoration: inherit; /* 1 */
    vertical-align: inherit; /* 2 */
  }
  /**
   * 1. Use the default cursor in all browsers (opinionated).
   * 2. Change the line height in all browsers (opinionated).
   * 3. Use a 4-space tab width in all browsers (opinionated).
   * 4. Remove the grey highlight on links in iOS (opinionated).
   * 5. Prevent adjustments of font size after orientation changes in
   *    IE on Windows Phone and in iOS.
   * 6. Breaks words to prevent overflow in all browsers (opinionated).
   */
  html {
    cursor: default; /* 1 */
    line-height: 1.5; /* 2 */
    -moz-tab-size: 4; /* 3 */
    -o-tab-size: 4;
    tab-size: 4; /* 3 */
    -webkit-tap-highlight-color: transparent;
    -ms-text-size-adjust: 100%; /* 5 */
    -webkit-text-size-adjust: 100%; /* 5 */
    word-break: break-word; /* 6 */
  }
  /* Sections
   * ========================================================================== */
  /**
   * Remove the margin in all browsers (opinionated).
   */
  body {
    margin: 0;
  }
  /**
   * Correct the font size and margin on `h1` elements within `section` and
   * `article` contexts in Chrome, Edge, Firefox, and Safari.
   */
  h1 {
    font-size: 2em;
    margin: 0.67em 0;
  }
  /* Grouping content
   * ========================================================================== */
  /**
   * Remove the margin on nested lists in Chrome, Edge, IE, and Safari.
   */
  dl dl,
  dl ol,
  dl ul,
  ol dl,
  ul dl {
    margin: 0;
  }
  /**
   * Remove the margin on nested lists in Edge 18- and IE.
   */
  ol ol,
  ol ul,
  ul ol,
  ul ul {
    margin: 0;
  }
  /**
   * 1. Add the correct sizing in Firefox.
   * 2. Show the overflow in Edge 18- and IE.
   */
  hr {
    height: 0; /* 1 */
    overflow: visible; /* 2 */
  }
  /**
   * Add the correct display in IE.
   */
  main {
    display: block;
  }
  /**
   * Remove the list style on navigation lists in all browsers (opinionated).
   */
  nav ol,
  nav ul {
    list-style: none;
    padding: 0;
  }
  /**
   * 1. Correct the inheritance and scaling of font size in all browsers.
   * 2. Correct the odd `em` font sizing in all browsers.
   */
  pre {
    font-family: monospace, monospace; /* 1 */
    font-size: 1em; /* 2 */
  }
  /* Text-level semantics
   * ========================================================================== */
  /**
   * Remove the gray background on active links in IE 10.
   */
  a {
    background-color: transparent;
  }
  /**
   * Add the correct text decoration in Edge 18-, IE, and Safari.
   */
  abbr[title] {
    text-decoration: underline;
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }
  /**
   * Add the correct font weight in Chrome, Edge, and Safari.
   */
  b,
  strong {
    font-weight: bolder;
  }
  /**
   * 1. Correct the inheritance and scaling of font size in all browsers.
   * 2. Correct the odd `em` font sizing in all browsers.
   */
  code,
  kbd,
  samp {
    font-family: monospace, monospace; /* 1 */
    font-size: 1em; /* 2 */
  }
  /**
   * Add the correct font size in all browsers.
   */
  small {
    font-size: 80%;
  }
  /* Embedded content
   * ========================================================================== */
  /*
   * Change the alignment on media elements in all browsers (opinionated).
   */
  audio,
  canvas,
  iframe,
  img,
  svg,
  video {
    vertical-align: middle;
  }
  /**
   * Add the correct display in IE 9-.
   */
  audio,
  video {
    display: inline-block;
  }
  /**
   * Add the correct display in iOS 4-7.
   */
  audio:not([controls]) {
    display: none;
    height: 0;
  }
  /**
   * Remove the border on iframes in all browsers (opinionated).
   */
  iframe {
    border-style: none;
  }
  /**
   * Remove the border on images within links in IE 10-.
   */
  img {
    border-style: none;
  }
  /**
   * Change the fill color to match the text color in all browsers (opinionated).
   */
  svg:not([fill]) {
    fill: currentColor;
  }
  /**
   * Hide the overflow in IE.
   */
  svg:not(:root) {
    overflow: hidden;
  }
  /* Tabular data
   * ========================================================================== */
  /**
   * Collapse border spacing in all browsers (opinionated).
   */
  table {
    border-collapse: collapse;
  }
  /* Forms
   * ========================================================================== */
  /**
   * Remove the margin on controls in Safari.
   */
  button,
  input,
  select {
    margin: 0;
  }
  /**
   * 1. Show the overflow in IE.
   * 2. Remove the inheritance of text transform in Edge 18-, Firefox, and IE.
   */
  button {
    overflow: visible; /* 1 */
    text-transform: none; /* 2 */
  }
  /**
   * Correct the inability to style buttons in iOS and Safari.
   */
  button,
  [type=button],
  [type=reset],
  [type=submit] {
    -webkit-appearance: button;
  }
  /**
   * 1. Change the inconsistent appearance in all browsers (opinionated).
   * 2. Correct the padding in Firefox.
   */
  fieldset {
    border: 1px solid #a0a0a0; /* 1 */
    padding: 0.35em 0.75em 0.625em; /* 2 */
  }
  /**
   * Show the overflow in Edge 18- and IE.
   */
  input {
    overflow: visible;
  }
  /**
   * 1. Correct the text wrapping in Edge 18- and IE.
   * 2. Correct the color inheritance from `fieldset` elements in IE.
   */
  legend {
    color: inherit; /* 2 */
    display: table; /* 1 */
    max-width: 100%; /* 1 */
    white-space: normal; /* 1 */
  }
  /**
   * 1. Add the correct display in Edge 18- and IE.
   * 2. Add the correct vertical alignment in Chrome, Edge, and Firefox.
   */
  progress {
    display: inline-block; /* 1 */
    vertical-align: baseline; /* 2 */
  }
  /**
   * Remove the inheritance of text transform in Firefox.
   */
  select {
    text-transform: none;
  }
  /**
   * 1. Remove the margin in Firefox and Safari.
   * 2. Remove the default vertical scrollbar in IE.
   * 3. Change the resize direction in all browsers (opinionated).
   */
  textarea {
    margin: 0; /* 1 */
    overflow: auto; /* 2 */
    resize: vertical; /* 3 */
  }
  /**
   * Remove the padding in IE 10-.
   */
  [type=checkbox],
  [type=radio] {
    padding: 0;
  }
  /**
   * 1. Correct the odd appearance in Chrome, Edge, and Safari.
   * 2. Correct the outline style in Safari.
   */
  [type=search] {
    -webkit-appearance: textfield; /* 1 */
    outline-offset: -2px; /* 2 */
  }
  /**
   * Correct the cursor style of increment and decrement buttons in Safari.
   */
  ::-webkit-inner-spin-button,
  ::-webkit-outer-spin-button {
    height: auto;
  }
  /**
   * Correct the text style of placeholders in Chrome, Edge, and Safari.
   */
  ::-webkit-input-placeholder {
    color: inherit;
    opacity: 0.54;
  }
  /**
   * Remove the inner padding in Chrome, Edge, and Safari on macOS.
   */
  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }
  /**
   * 1. Correct the inability to style upload buttons in iOS and Safari.
   * 2. Change font properties to `inherit` in Safari.
   */
  ::-webkit-file-upload-button {
    -webkit-appearance: button; /* 1 */
    font: inherit; /* 2 */
  }
  /**
   * Remove the inner border and padding of focus outlines in Firefox.
   */
  ::-moz-focus-inner {
    border-style: none;
    padding: 0;
  }
  /**
   * Restore the focus outline styles unset by the previous rule in Firefox.
   */
  :-moz-focusring {
    outline: 1px dotted ButtonText;
  }
  /**
   * Remove the additional :invalid styles in Firefox.
   */
  :-moz-ui-invalid {
    box-shadow: none;
  }
  /* Interactive
   * ========================================================================== */
  /*
   * Add the correct display in Edge 18- and IE.
   */
  details {
    display: block;
  }
  /*
   * Add the correct styles in Edge 18-, IE, and Safari.
   */
  dialog {
    background-color: white;
    border: solid;
    color: black;
    display: block;
    height: -moz-fit-content;
    height: fit-content;
    left: 0;
    margin: auto;
    padding: 1em;
    position: absolute;
    right: 0;
    width: -moz-fit-content;
    width: fit-content;
  }
  dialog:not([open]) {
    display: none;
  }
  /*
   * Add the correct display in all browsers.
   */
  summary {
    display: list-item;
  }
  /* Scripting
   * ========================================================================== */
  /**
   * Add the correct display in IE 9-.
   */
  canvas {
    display: inline-block;
  }
  /**
   * Add the correct display in IE.
   */
  template {
    display: none;
  }
  /* User interaction
   * ========================================================================== */
  /*
   * 1. Remove the tapping delay in IE 10.
   * 2. Remove the tapping delay on clickable elements
        in all browsers (opinionated).
   */
  a,
  area,
  button,
  input,
  label,
  select,
  summary,
  textarea,
  [tabindex] { /* 1 */
    touch-action: manipulation; /* 2 */
  }
  /**
   * Add the correct display in IE 10-.
   */
  [hidden] {
    display: none;
  }
  /* Accessibility
   * ========================================================================== */
  /**
   * Change the cursor on busy elements in all browsers (opinionated).
   */
  [aria-busy=true] {
    cursor: progress;
  }
  /*
   * Change the cursor on control elements in all browsers (opinionated).
   */
  [aria-controls] {
    cursor: pointer;
  }
  /*
   * Change the cursor on disabled, not-editable, or otherwise
   * inoperable elements in all browsers (opinionated).
   */
  [aria-disabled=true],
  [disabled] {
    cursor: not-allowed;
  }
  /*
   * Change the display on visually hidden accessible elements
   * in all browsers (opinionated).
   */
  [aria-hidden=false][hidden] {
    display: initial;
  }
  [aria-hidden=false][hidden]:not(:focus) {
    clip: rect(0, 0, 0, 0);
    position: absolute;
  }
}
@layer destyle {
  /*! destyle.css v4.0.1 | MIT License | https://github.com/nicolas-cusan/destyle.css */
  /* Reset box-model and set borders */
  /* ============================================ */
  *,
  ::before,
  ::after {
    box-sizing: border-box;
    border-style: solid;
    border-width: 0;
    min-width: 0;
  }
  /* Document */
  /* ============================================ */
  /**
   * 1. Correct the line height in all browsers.
   * 2. Prevent adjustments of font size after orientation changes in iOS.
   * 3. Remove gray overlay on links for iOS.
   */
  html {
    line-height: 1.15; /* 1 */
    -webkit-text-size-adjust: 100%; /* 2 */
    -webkit-tap-highlight-color: transparent; /* 3*/
  }
  /* Sections */
  /* ============================================ */
  /**
   * Remove the margin in all browsers.
   */
  body {
    margin: 0;
  }
  /**
   * Render the `main` element consistently in IE.
   */
  main {
    display: block;
  }
  /* Vertical rhythm */
  /* ============================================ */
  p,
  table,
  blockquote,
  address,
  pre,
  iframe,
  form,
  figure,
  dl {
    margin: 0;
  }
  /* Headings */
  /* ============================================ */
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    font-size: inherit;
    font-weight: inherit;
    margin: 0;
  }
  /* Lists (enumeration) */
  /* ============================================ */
  ul,
  ol {
    margin: 0;
    padding: 0;
    list-style: none;
  }
  /* Lists (definition) */
  /* ============================================ */
  dt {
    font-weight: bold;
  }
  dd {
    margin-left: 0;
  }
  /* Grouping content */
  /* ============================================ */
  /**
   * 1. Add the correct box sizing in Firefox.
   * 2. Show the overflow in Edge and IE.
   */
  hr {
    box-sizing: content-box; /* 1 */
    height: 0; /* 1 */
    overflow: visible; /* 2 */
    border-top-width: 1px;
    margin: 0;
    clear: both;
    color: inherit;
  }
  /**
   * 1. Correct the inheritance and scaling of font size in all browsers.
   * 2. Correct the odd `em` font sizing in all browsers.
   */
  pre {
    font-family: monospace, monospace; /* 1 */
    font-size: inherit; /* 2 */
  }
  address {
    font-style: inherit;
  }
  /* Text-level semantics */
  /* ============================================ */
  /**
   * Remove the gray background on active links in IE 10.
   */
  a {
    background-color: transparent;
    text-decoration: none;
    color: inherit;
  }
  /**
   * 1. Remove the bottom border in Chrome 57-
   * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
   */
  abbr[title] {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted; /* 2 */
  }
  /**
   * Add the correct font weight in Chrome, Edge, and Safari.
   */
  b,
  strong {
    font-weight: bolder;
  }
  /**
   * 1. Correct the inheritance and scaling of font size in all browsers.
   * 2. Correct the odd `em` font sizing in all browsers.
   */
  code,
  kbd,
  samp {
    font-family: monospace, monospace; /* 1 */
    font-size: inherit; /* 2 */
  }
  /**
   * Add the correct font size in all browsers.
   */
  small {
    font-size: 80%;
  }
  /**
   * Prevent `sub` and `sup` elements from affecting the line height in
   * all browsers.
   */
  sub,
  sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }
  sub {
    bottom: -0.25em;
  }
  sup {
    top: -0.5em;
  }
  /* Replaced content */
  /* ============================================ */
  /**
   * Prevent vertical alignment issues.
   */
  svg,
  img,
  embed,
  object,
  iframe {
    vertical-align: bottom;
  }
  /* Forms */
  /* ============================================ */
  /**
   * Reset form fields to make them styleable.
   * 1. Make form elements stylable across systems iOS especially.
   * 2. Inherit text-transform from parent.
   */
  button,
  input,
  optgroup,
  select,
  textarea {
    -webkit-appearance: none; /* 1 */
    -moz-appearance: none;
    appearance: none;
    vertical-align: middle;
    color: inherit;
    font: inherit;
    background: transparent;
    padding: 0;
    margin: 0;
    border-radius: 0;
    text-align: inherit;
    text-transform: inherit; /* 2 */
  }
  /**
   * Correct cursors for clickable elements.
   */
  button,
  [type=button],
  [type=reset],
  [type=submit] {
    cursor: pointer;
  }
  button:disabled,
  [type=button]:disabled,
  [type=reset]:disabled,
  [type=submit]:disabled {
    cursor: default;
  }
  /**
   * Improve outlines for Firefox and unify style with input elements & buttons.
   */
  :-moz-focusring {
    outline: auto;
  }
  select:disabled {
    opacity: inherit;
  }
  /**
   * Remove padding
   */
  option {
    padding: 0;
  }
  /**
   * Reset to invisible
   */
  fieldset {
    margin: 0;
    padding: 0;
    min-width: 0;
  }
  legend {
    padding: 0;
  }
  /**
   * Add the correct vertical alignment in Chrome, Firefox, and Opera.
   */
  progress {
    vertical-align: baseline;
  }
  /**
   * Remove the default vertical scrollbar in IE 10+.
   */
  textarea {
    overflow: auto;
  }
  /**
   * Correct the cursor style of increment and decrement buttons in Chrome.
   */
  [type=number]::-webkit-inner-spin-button,
  [type=number]::-webkit-outer-spin-button {
    height: auto;
  }
  /**
   * Correct the outline style in Safari.
   */
  [type=search] {
    outline-offset: -2px; /* 1 */
  }
  /**
   * Remove the inner padding in Chrome and Safari on macOS.
   */
  [type=search]::-webkit-search-decoration {
    -webkit-appearance: none;
  }
  /**
   * 1. Correct the inability to style clickable types in iOS and Safari.
   * 2. Fix font inheritance.
   */
  ::-webkit-file-upload-button {
    -webkit-appearance: button; /* 1 */
    font: inherit; /* 2 */
  }
  /**
   * Fix appearance for Firefox
   */
  [type=number] {
    -moz-appearance: textfield;
  }
  /**
   * Clickable labels
   */
  label[for] {
    cursor: pointer;
  }
  /* Interactive */
  /* ============================================ */
  /*
   * Add the correct display in Edge, IE 10+, and Firefox.
   */
  details {
    display: block;
  }
  /*
   * Add the correct display in all browsers.
   */
  summary {
    display: list-item;
  }
  /*
   * Remove outline for editable content.
   */
  [contenteditable]:focus {
    outline: auto;
  }
  /* Tables */
  /* ============================================ */
  /**
  1. Correct table border color inheritance in all Chrome and Safari.
  */
  table {
    border-color: inherit; /* 1 */
    border-collapse: collapse;
  }
  caption {
    text-align: left;
  }
  td,
  th {
    vertical-align: top;
    padding: 0;
  }
  th {
    text-align: left;
    font-weight: bold;
  }
  .wp-block-content * {
    all: revert-layer;
  }
}
/* ============================================================
/* variables
============================================================ */
/* ============================================================
/* base
============================================================ */
:root {
  /* color */
  --color-base: #454545;
  --color-base-rgb: 69, 69, 69;
  --color-base-invert: #fff;
  --color-base-invert-rgb: 255, 255, 255;
  --color-primary: #149248;
  --color-primary-hover: #2ab965;
  --color-primary-disabled: rgba(20, 146, 72, 0.64);
  --color-secondary: #fff000;
  --color-caution: #ff5f5f;
  --color-caution-container: #ffe6e6;
  --color-container-primary: #fffdf3;
  --color-container-secondary: #f3f0e1;
  --color-container-tertiary: #dedbd2;
  --color-line-primary: #c3bc9c;
  --color-form-primary: #f6f5ee;
  --current-container-color: var(--color-container-primary);
  --font-size-base: 1rem;
  --color-white: #fff;
  --color-disabled: #c0c0c0;
}

body {
  font-family: "Zen Kaku Gothic New", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased;
  font-weight: 500;
  line-height: 1.8;
  color: var(--color-base);
  background-color: var(--color-container-primary);
}
body.is-inversion {
  --color-base: #fff;
  --color-base-rgb: 255, 255, 255;
  --color-base-invert: #000000;
  --color-base-invert-rgb: 0, 0, 0;
  --color-primary: #ffffff;
  --color-primary-hover: #ffffff;
  --color-secondary: #000000;
  --color-container-primary: #333333;
  --color-container-secondary: #222222;
  --color-container-tertiary: #111111;
  --color-line-primary: #454545;
  --color-form-primary: #454545;
  --color-caution-container: #3a2a2a;
  --current-container-color: var(--color-container-primary);
  --color-disabled: #454545;
}
@media screen and (max-width: 811px) {
  body {
    --font-size-base: 1rem !important;
  }
}

@media screen and (min-width: 812px) {
  html {
    font-size: 62.5%;
  }
  body {
    font-size: calc(var(--font-size-base) * 1.6);
    line-height: 1.8;
  }
}
@media screen and (min-width: 812px) and (max-width: 1300px) {
  html {
    font-size: 0.7692307692vw;
  }
}
@media screen and (max-width: 811px) {
  html {
    font-size: 14px;
  }
  body {
    min-width: 320px;
    font-size: calc(var(--font-size-base) * 1.5);
  }
}
@media screen and (max-width: 520px) {
  html {
    font-size: 2.67vw;
  }
}
/* ============================================================
/* module
============================================================ */
img {
  max-width: 100%;
  height: auto;
}

@media (hover: hover) {
  a[href^="tel:"] {
    pointer-events: none;
    text-decoration: none;
  }
}
a,
button {
  color: inherit;
  text-decoration: underline;
}

@media (hover: hover) {
  a:hover,
  button:hover {
    text-decoration: none;
  }
}
/* breakpoint only layout */
@media screen and (min-width: 812px) {
  .sp-only {
    display: none !important;
  }
}
@media screen and (max-width: 811px) {
  .pc-only {
    display: none !important;
  }
}
/* icon
============================================================ */
.m-icon-pdf, .m-icon-search, .m-icon-check, .m-icon-play, .m-icon-pause, .m-icon-nakanaka, .m-icon-nav6, .m-icon-nav5, .m-icon-nav4, .m-icon-nav3, .m-icon-nav2, .m-icon-nav1, .m-icon-close, .m-icon-bars, .m-arrow-fill, .m-arrow-rounded, .m-arrow {
  position: relative;
  display: inline-block;
  width: 1em;
  aspect-ratio: 1/1;
  vertical-align: middle;
}
.m-icon-pdf:before, .m-icon-search:before, .m-icon-check:before, .m-icon-play:before, .m-icon-pause:before, .m-icon-nakanaka:before, .m-icon-nav6:before, .m-icon-nav5:before, .m-icon-nav4:before, .m-icon-nav3:before, .m-icon-nav2:before, .m-icon-nav1:before, .m-icon-close:before, .m-icon-bars:before, .m-arrow-fill:before, .m-arrow-rounded:before, .m-arrow:before {
  content: "";
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: no-repeat center center;
  background-size: contain;
}

.m-arrow {
  aspect-ratio: 7/12;
}
.m-arrow:before {
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center center;
  mask-position: center center;
  -webkit-mask-image: url("../img/common/icon_arrow.svg");
  mask-image: url("../img/common/icon_arrow.svg");
  background: currentColor;
}

.m-arrow-rounded {
  aspect-ratio: 1/1;
}
.m-arrow-rounded:before {
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center center;
  mask-position: center center;
  -webkit-mask-image: url("../img/common/icon_arrow_rounded.svg");
  mask-image: url("../img/common/icon_arrow_rounded.svg");
  background: currentColor;
}

.m-arrow-fill {
  position: relative;
  color: var(--color-base-invert);
  background-color: var(--color-primary);
  border-radius: 50%;
}
.m-arrow-fill:before {
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center center;
  mask-position: center center;
  -webkit-mask-image: url("../img/common/icon_arrow.svg");
  mask-image: url("../img/common/icon_arrow.svg");
  background: currentColor;
  -webkit-mask-size: 40% 40%;
  mask-size: 40% 40%;
  -webkit-mask-position: 55% center;
  mask-position: 55% center;
}

.m-icon-bars:before {
  background-image: url("../img/common/icon_bars.svg");
}

.m-icon-close:before {
  background-image: url("../img/common/icon_close.svg");
}

.m-icon-nav1:before {
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center center;
  mask-position: center center;
  -webkit-mask-image: url("../img/common/icon_nav1.svg");
  mask-image: url("../img/common/icon_nav1.svg");
  background: currentColor;
}

.m-icon-nav2:before {
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center center;
  mask-position: center center;
  -webkit-mask-image: url("../img/common/icon_nav2.svg");
  mask-image: url("../img/common/icon_nav2.svg");
  background: currentColor;
}

.m-icon-nav3:before {
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center center;
  mask-position: center center;
  -webkit-mask-image: url("../img/common/icon_nav3.svg");
  mask-image: url("../img/common/icon_nav3.svg");
  background: currentColor;
}

.m-icon-nav4:before {
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center center;
  mask-position: center center;
  -webkit-mask-image: url("../img/common/icon_nav4.svg");
  mask-image: url("../img/common/icon_nav4.svg");
  background: currentColor;
}

.m-icon-nav5:before {
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center center;
  mask-position: center center;
  -webkit-mask-image: url("../img/common/icon_nav5.svg");
  mask-image: url("../img/common/icon_nav5.svg");
  background: currentColor;
}

.m-icon-nav6:before {
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center center;
  mask-position: center center;
  -webkit-mask-image: url("../img/common/icon_nav6.svg");
  mask-image: url("../img/common/icon_nav6.svg");
  background: currentColor;
}

.m-icon-nakanaka {
  width: 5em;
  aspect-ratio: 115/81;
}
.m-icon-nakanaka:before {
  background-image: url("../img/common/icon_nakanaka.svg");
  transform: translateY(-0.6em);
}
.m-icon-nakanaka.fit-h {
  height: 1em;
}
.m-icon-nakanaka.fit-h:before {
  height: 3.5em;
  transform: translateY(-2em);
}
@media screen and (min-width: 812px) {
  .m-icon-nakanaka.fit-zero-pc {
    width: 0.1em;
    height: 1em;
  }
  .m-icon-nakanaka.fit-zero-pc:before {
    width: 5em;
    height: 3.5em;
    transform: translate(-5em, -2em);
  }
}
@media screen and (max-width: 811px) {
  .m-icon-nakanaka.fit-zero-sp {
    width: 0.1em;
    height: 1em;
  }
  .m-icon-nakanaka.fit-zero-sp:before {
    width: 5em;
    height: 3.5em;
    transform: translate(-5em, -2em);
  }
}

.m-icon-pause:before {
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center center;
  mask-position: center center;
  -webkit-mask-image: url("../img/common/icon_pause.svg");
  mask-image: url("../img/common/icon_pause.svg");
  background: currentColor;
}

.m-icon-play:before {
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center center;
  mask-position: center center;
  -webkit-mask-image: url("../img/common/icon_play.svg");
  mask-image: url("../img/common/icon_play.svg");
  background: currentColor;
}

.m-icon-check:before {
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center center;
  mask-position: center center;
  -webkit-mask-image: url("../img/common/icon_check.svg");
  mask-image: url("../img/common/icon_check.svg");
  background: currentColor;
}

.m-icon-search:before {
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center center;
  mask-position: center center;
  -webkit-mask-image: url("../img/common/icon_search.svg");
  mask-image: url("../img/common/icon_search.svg");
  background: currentColor;
}

.m-icon-pdf:before {
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center center;
  mask-position: center center;
  -webkit-mask-image: url("../img/common/icon_pdf.svg");
  mask-image: url("../img/common/icon_pdf.svg");
  background: currentColor;
}

/* btn
============================================================ */
.m-btn {
  position: relative;
  display: flex;
  align-items: center;
  max-width: 100%;
  text-decoration: none;
}

.m-btn {
  color: var(--color-base-invert);
  justify-content: center;
  text-align: center;
  background-color: var(--color-primary);
  width: -moz-fit-content;
  width: fit-content;
  font-weight: bold;
  line-height: 1.4;
  overflow: hidden;
  z-index: 0;
}
.m-btn:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  width: 120%;
  aspect-ratio: 2/1;
  background-color: var(--color-primary-hover);
  border-radius: 50%;
  z-index: -1;
  transform-origin: center center;
  transform: translate(-50%, -50%) scale(0.01);
  opacity: 0;
}
@media (hover: hover) {
  .m-btn:before {
    transition: transform 0.2s ease-out, opacity 0.3s ease-out;
  }
  .m-btn:hover:before {
    opacity: 1;
    transition-duration: 0.3s, 0.1s;
    transform: translate(-50%, -50%) scale(1);
  }
}
.m-btn .m-arrow {
  position: absolute;
  top: 50%;
  right: 2.4rem;
  font-size: 0.6rem;
  transform: translateY(-50%);
}
.m-btn .m-arrow-fill {
  position: absolute;
  top: 50%;
  right: 2rem;
  font-size: 2.4rem;
  color: var(--color-primary);
  background-color: var(--color-base-invert);
  transform: translateY(-50%);
}
.m-btn-outline {
  color: var(--color-primary);
  border: 2px solid var(--color-primary);
  background-color: var(--color-base-invert);
}
.m-btn-outline:before {
  content: none;
}
@media (hover: hover) {
  .m-btn-outline {
    transition: opacity 0.3s ease-out;
  }
  .m-btn-outline:hover {
    opacity: 0.7;
  }
}
.m-btn-back-fill .m-arrow-fill {
  right: auto;
  left: 2rem;
  transform: translateY(-50%) scale(-1, 1);
}
.m-btn-back-fill:before {
  content: none;
}
@media (hover: hover) {
  .m-btn-back-fill {
    transition: opacity 0.3s ease-out;
  }
  .m-btn-back-fill:hover {
    opacity: 0.7;
  }
}
.m-btn-back {
  color: var(--color-primary);
  border: 1px solid var(--color-primary);
  background-color: var(--color-base-invert);
}
.m-btn-back .m-arrow-fill {
  right: auto;
  left: 2rem;
  color: var(--color-base-invert);
  background-color: var(--color-primary);
  transform: translateY(-50%) scale(-1, 1);
}
.m-btn-back:before {
  content: none;
}
@media (hover: hover) {
  .m-btn-back {
    transition: opacity 0.3s ease-out;
  }
  .m-btn-back:hover {
    opacity: 0.7;
  }
}
@media screen and (min-width: 812px) {
  .m-btn {
    min-width: 32.5rem;
    min-height: 6.4rem;
    padding: 0 2em;
    border-radius: 6.4rem;
    font-size: calc(var(--font-size-base) * 1.8);
  }
  .m-btn.large {
    min-width: 49.8rem;
  }
}
@media screen and (max-width: 811px) {
  .m-btn {
    min-width: 32.5rem;
    min-height: 6.4rem;
    padding: 0 2em;
    border-radius: 6.4rem;
    font-size: calc(var(--font-size-base) * 1.8);
  }
}

/* ============================================================
/* project mixin
============================================================ */
/* pagination
============================================================ */
.m-pagination {
  display: flex;
  justify-content: center;
  align-items: center;
}
.m-pagination a,
.m-pagination span {
  display: flex;
  justify-content: center;
  align-items: center;
  aspect-ratio: 1/1;
  font-family: "Ubuntu", sans-serif;
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased;
  font-weight: 500;
  font-weight: 400;
  line-height: 0;
  border: 0.1rem solid var(--color-primary);
  border-radius: 50%;
  text-decoration: none;
  color: var(--color-primary);
  background-color: var(--color-base-invert);
}
@media (hover: hover) {
  .m-pagination a {
    transition: opacity 0.3s ease;
  }
  .m-pagination a:hover {
    opacity: 0.7;
  }
}
.m-pagination .current {
  color: var(--color-base-invert);
  border-color: transparent;
  background: var(--color-primary);
  pointer-events: none;
}
.m-pagination .prev,
.m-pagination .next {
  background-color: var(--color-base-invert);
  color: var(--color-primary);
}
.m-pagination .prev em {
  transform: translateX(-0.1em) rotate(180deg);
}
.m-pagination .next em {
  transform: translateX(0.1em);
}
.m-pagination .dots {
  width: -moz-fit-content;
  width: fit-content;
  color: var(--color-primary);
  background-color: transparent;
  font-family: Arial, sans-serif;
}
.m-pagination .disabled {
  color: #e0e0e0;
  pointer-events: none;
}
@media screen and (min-width: 812px) {
  .m-pagination {
    -moz-column-gap: 1.2rem;
    column-gap: 1.2rem;
  }
  .m-pagination a,
  .m-pagination span {
    width: 3.5rem;
    font-size: 2rem;
  }
  .m-pagination .prev,
  .m-pagination .next {
    width: 2.4rem;
    font-size: 0.5rem;
  }
}
@media screen and (max-width: 811px) {
  .m-pagination {
    -moz-column-gap: 0.8rem;
    column-gap: 0.8rem;
  }
  .m-pagination a,
  .m-pagination span {
    width: 3.5rem;
    font-size: 1.6rem;
  }
  .m-pagination .prev,
  .m-pagination .next {
    width: 2.4rem;
    font-size: 0.5rem;
  }
}

/* m-form
============================================================ */
.m-form {
  display: none;
  background-color: var(--color-base-invert);
  border-radius: 0.8rem;
}
.m-form.is_visible {
  display: block;
  animation: fadeIn 1s ease forwards;
}
.m-form__container.loading:after {
  content: "";
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: block;
  width: 5rem;
  height: 5rem;
  border: 3px solid var(--color-base);
  border-top: 3px solid transparent;
  border-radius: 50%;
  animation: loading-spin 0.5s linear 0s infinite;
}
@keyframes fadeIn {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }
  100% {
    opacity: 1;
    transform: none;
  }
}
@keyframes loading-spin {
  0% {
    transform: translate(-50%, -50%) rotate(0deg);
  }
  100% {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}
.m-form__list {
  display: flex;
  flex-direction: column;
}
.m-form .required {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background-color: var(--color-caution);
  border-radius: 0.4rem;
  font-size: calc(var(--font-size-base) * 1.1);
  padding: 0.1em 1em;
  min-height: 2rem;
}
.m-form__submit {
  display: flex;
  justify-content: center;
  align-items: center;
}
.m-form__btn-submit {
  position: relative;
  padding: 0;
  text-align: center;
}
.m-form__btn-submit:has(:disabled) {
  color: var(--color-base-invert);
  background-color: var(--color-disabled);
  pointer-events: none;
}
.m-form__btn-submit input {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
}
.m-form__btn-back {
  position: relative;
  padding: 0;
  text-align: center;
}
.m-form__btn-back input {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 812px) {
  .m-form {
    max-width: 84.6rem;
    margin: 0 auto;
    padding: 8.8rem;
  }
  .m-form__list {
    row-gap: 3.2rem;
  }
  .m-form__submit {
    margin-top: 4rem;
    -moz-column-gap: 2.2rem;
    column-gap: 2.2rem;
    flex-direction: row-reverse;
  }
}
@media screen and (max-width: 811px) {
  .m-form {
    padding: 4rem 2.4rem 6rem;
  }
  .m-form__list {
    row-gap: 3.2rem;
  }
  .m-form__submit {
    flex-direction: column;
    margin-top: 3.2rem;
    row-gap: 2.4rem;
  }
}

.wpcf7-spinner {
  display: none;
}

.wpcf7-not-valid-tip {
  font-size: calc(100% - 0.2rem);
}

.wpcf7-response-output {
  display: none;
}

/* m-form-item
============================================================ */
.m-form-item__caption {
  display: flex;
  align-items: center;
  -moz-column-gap: 0.5em;
  column-gap: 0.5em;
  line-height: 1.4;
  font-weight: 700;
  margin-bottom: 1rem;
}
.m-form-item__notes {
  margin-bottom: 0.5em;
  font-size: 1.2rem;
  color: #666;
}
.m-form-item__input {
  position: relative;
  width: 100%;
}
.m-form-item__input input[type=text],
.m-form-item__input input[type=email],
.m-form-item__input input[type=tel],
.m-form-item__input input[type=url],
.m-form-item__input input[type=number],
.m-form-item__input input[type=password],
.m-form-item__input select,
.m-form-item__input textarea {
  width: 100%;
  font: inherit;
  border-radius: 0.4rem;
  background-color: var(--color-form-primary);
  padding: 0.5em 1em;
  min-height: 4.8rem;
}
.m-form-item__input input[type=text]:focus,
.m-form-item__input input[type=email]:focus,
.m-form-item__input input[type=tel]:focus,
.m-form-item__input input[type=url]:focus,
.m-form-item__input input[type=number]:focus,
.m-form-item__input input[type=password]:focus,
.m-form-item__input select:focus,
.m-form-item__input textarea:focus {
  outline-color: var(--color-primary);
  outline-style: solid;
  outline-width: 2px;
}
.m-form-item__input input[type=text][aria-invalid=true],
.m-form-item__input input[type=email][aria-invalid=true],
.m-form-item__input input[type=tel][aria-invalid=true],
.m-form-item__input input[type=url][aria-invalid=true],
.m-form-item__input input[type=number][aria-invalid=true],
.m-form-item__input input[type=password][aria-invalid=true],
.m-form-item__input select[aria-invalid=true],
.m-form-item__input textarea[aria-invalid=true] {
  border-color: var(--color-caution);
  box-shadow: 0 0 0 300px var(--color-caution-container) inset;
}
.m-form-item__input textarea {
  height: 11.7rem;
}
.m-form-item__input select {
  background-image: url(../img/common/icon_chevron_down.svg);
  background-repeat: no-repeat;
  background-position: right 1.6rem center;
}
.m-form-item__input select:has(option[value=""]:checked) {
  color: #a9a9a9;
}
.m-form-item__input::-moz-placeholder, .m-form-item__input ::-moz-placeholder {
  color: #a9a9a9;
  opacity: 1;
}
.m-form-item__input::placeholder,
.m-form-item__input ::placeholder {
  color: #a9a9a9;
  opacity: 1;
}
.m-form-item__input select.noselected {
  color: #a9a9a9;
  opacity: 1;
}
.m-form-item__input label:has([type=checkbox]),
.m-form-item__input label:has([type=radio]) {
  position: relative;
  display: inline-block;
  padding-left: 2.5rem;
  cursor: pointer;
}
.m-form-item__input label:has([type=checkbox]) input,
.m-form-item__input label:has([type=radio]) input {
  position: absolute;
  left: 0;
  top: 0;
}
.m-form-item__input label:has([type=checkbox]):before,
.m-form-item__input label:has([type=radio]):before {
  content: "";
  position: absolute;
  left: 0.5em;
  top: 50%;
  display: block;
  width: 1em;
  height: 1em;
  border-radius: 0.2em;
  transform: translate(-50%, -50%) scale(1.2);
  border: 1px solid var(--color-line-primary);
  background-color: var(--color-form-primary);
  transition: all 0.2s ease;
}
.m-form-item__input label:has([type=checkbox]):after,
.m-form-item__input label:has([type=radio]):after {
  content: "";
  position: absolute;
  left: 0.5em;
  top: 50%;
  display: block;
  background-color: var(--color-base-invert);
  transition: transform 0.3s cubic-bezier(0.68, -0.6, 0.32, 1.6);
  transform: translate(-50%, -50%) scale(0);
}
.m-form-item__input label:has([type=checkbox]:checked):before,
.m-form-item__input label:has([type=radio]:checked):before {
  border-color: transparent;
  background-color: var(--color-primary);
}
.m-form-item__input label:has([type=checkbox]:checked):after,
.m-form-item__input label:has([type=radio]:checked):after {
  transform: translate(-50%, -50%) scale(1);
}
.m-form-item__input label:has([type=checkbox]):before {
  border-radius: 0.2em;
}
.m-form-item__input label:has([type=checkbox]):after {
  width: 0.5em;
  height: 0.5em;
  clip-path: polygon(0% 40%, 0% 50%, 34% 85%, 48% 85%, 100% 21%, 100% 9%, 89% 9%, 40% 70%, 11% 40%);
}
.m-form-item__input label:has([type=checkbox]:disabled),
.m-form-item__input label:has([type=radio]:disabled) {
  cursor: not-allowed;
  opacity: 0.5;
}
.m-form-item__input label:has([type=checkbox]:disabled):before,
.m-form-item__input label:has([type=radio]:disabled):before {
  background-color: var(--color-line-primary);
}
.m-form-item__input label:has([type=radio]):before {
  border-radius: 50%;
}
.m-form-item__input label:has([type=radio]):after {
  width: 0.5em;
  height: 0.5em;
  border-radius: 50%;
}
@media screen and (min-width: 812px) {
  .m-form-item__date {
    display: grid;
    grid-template-columns: repeat(3, 19rem);
    -moz-column-gap: 2rem;
    column-gap: 2rem;
  }
}
@media screen and (max-width: 811px) {
  .m-form-item__input {
    font-size: max(16px, 1.4rem);
  }
  .m-form-item__date {
    display: flex;
    -moz-column-gap: 0.8rem;
    column-gap: 0.8rem;
  }
  .m-form-item__date > * {
    flex: 1;
  }
  .m-form-item__date > *:has([name*=-y]) {
    flex: 1.5;
  }
}
.m-form-item .wpcf7-list-item {
  margin: 0;
}
.m-form-item .wpcf7-checkbox {
  display: flex;
  flex-wrap: wrap;
  -moz-column-gap: 2.4rem;
  column-gap: 2.4rem;
  row-gap: 1.6rem;
  padding-left: 0.25rem;
}
.m-form-item .wpcf7-radio {
  display: flex;
  flex-direction: column;
}

.m-form-error {
  font-size: calc(100% - 0.2rem);
  color: var(--color-caution);
  margin-top: 0.5em;
}

.m-form-item:has(.m-form-error) .m-form-item__input input[type=text],
.m-form-item:has(.m-form-error) .m-form-item__input input[type=email],
.m-form-item:has(.m-form-error) .m-form-item__input input[type=tel],
.m-form-item:has(.m-form-error) .m-form-item__input input[type=url],
.m-form-item:has(.m-form-error) .m-form-item__input input[type=number],
.m-form-item:has(.m-form-error) .m-form-item__input input[type=password],
.m-form-item:has(.m-form-error) .m-form-item__input select,
.m-form-item:has(.m-form-error) .m-form-item__input textarea {
  border-color: var(--color-caution);
  box-shadow: 0 0 0 300px var(--color-caution-container) inset;
}

.m-form#form-confirm .m-form-item__input {
  min-height: 1.8em;
}

/* m-form-terms
============================================================ */
.m-form-terms {
  padding: 2.4rem 1.4rem;
  overflow: auto;
}
@supports not selector(*::-webkit-scrollbar) {
  .m-form-terms {
    scrollbar-color: var(--color-line-primary) transparent;
    scrollbar-width: thin;
  }
}
@supports selector(*::-webkit-scrollbar) {
  .m-form-terms::-webkit-scrollbar {
    inline-size: 0.6rem;
    block-size: 0.6rem;
  }
  .m-form-terms::-webkit-scrollbar-thumb {
    background-color: var(--color-line-primary);
    border-radius: 0.3rem;
  }
  .m-form-terms::-webkit-scrollbar-thumb:hover {
    background-color: var(--color-line-primary);
  }
  .m-form-terms::-webkit-scrollbar-track {
    background-color: transparent;
    border-radius: 0.3rem;
  }
}
.m-form-terms::-webkit-scrollbar-track {
  margin-top: 1rem;
  margin-bottom: 1rem;
}
.m-form-terms__container {
  border: 1px solid var(--color-line-primary);
  border-radius: 0.4rem;
  padding: 0 1rem;
}
.m-form-terms__inner h3,
.m-form-terms__inner h4,
.m-form-terms__inner h5 {
  line-height: 1.4;
  font-weight: bold;
  margin-bottom: 1em;
  margin-top: 1em;
}
.m-form-terms__inner h3:first-child,
.m-form-terms__inner h4:first-child,
.m-form-terms__inner h5:first-child {
  margin-top: 0;
}
.m-form-terms__inner h3:last-child,
.m-form-terms__inner h4:last-child,
.m-form-terms__inner h5:last-child {
  margin-bottom: 0;
}
.m-form-terms__inner ul li {
  padding-left: 1em;
}
@media screen and (min-width: 812px) {
  .m-form-terms {
    max-height: 21rem;
  }
  .m-form-terms__inner {
    font-size: calc(var(--font-size-base) * 1.4);
  }
  .m-form-terms__inner h3,
  .m-form-terms__inner h4,
  .m-form-terms__inner h5 {
    font-size: calc(var(--font-size-base) * 1.6);
  }
}
@media screen and (max-width: 811px) {
  .m-form-terms {
    max-height: 35rem;
  }
  .m-form-terms__inner {
    font-size: calc(var(--font-size-base) * 1.3);
  }
  .m-form-terms__inner h3,
  .m-form-terms__inner h4,
  .m-form-terms__inner h5 {
    font-size: calc(var(--font-size-base) * 1.6);
  }
}

.m-form__header {
  text-align: center;
}
.m-form__ttl {
  font-weight: bold;
  line-height: 1.4;
}
.m-form__desc p + p {
  margin-top: 1.8em;
}
.m-form__status {
  display: flex;
  align-items: center;
  justify-content: center;
}
.m-form__status li {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  -moz-column-gap: 0.8rem;
  column-gap: 0.8rem;
}
.m-form__status li:not(:first-child):before {
  content: "";
  position: absolute;
  height: 1px;
  top: 1.4rem;
  right: calc(100% + 0.8rem);
  background-color: var(--color-base);
}
.m-form__status__icon {
  width: 2.8rem;
  height: 2.8rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background-color: var(--color-primary);
  color: var(--color-base-invert);
  font-size: 1.4rem;
  font-weight: bold;
}
.m-form__status__icon .m-icon-check {
  font-size: 90%;
}
#form-input .m-form__status li:nth-child(n+2) {
  opacity: 0.25;
}
#form-confirm .m-form__status li:nth-child(n+3) {
  opacity: 0.25;
}
@media screen and (min-width: 812px) {
  .m-form__header {
    margin-bottom: 3rem;
  }
  .m-form__ttl {
    margin-bottom: 4rem;
    font-size: calc(var(--font-size-base) * 3.4);
  }
  .m-form__desc {
    margin-top: 3rem;
  }
  .m-form__status {
    -moz-column-gap: 13.6rem;
    column-gap: 13.6rem;
    font-size: calc(var(--font-size-base) * 1.1);
  }
  .m-form__status li:before {
    width: 12rem;
  }
}
@media screen and (max-width: 811px) {
  .m-form__header {
    margin-bottom: 2.4rem;
  }
  .m-form__ttl {
    margin-bottom: 1.6rem;
    font-size: calc(var(--font-size-base) * 2.4);
  }
  .m-form__desc {
    margin-top: 2.4rem;
  }
  .m-form__status {
    -moz-column-gap: 7.6rem;
    column-gap: 7.6rem;
    font-size: calc(var(--font-size-base) * 1.1);
  }
  .m-form__status li:before {
    width: 6rem;
  }
}

.js-modal-sending-message {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 23rem;
  color: #fff;
  background-color: #454545;
  z-index: 9999;
  border-radius: 0.8rem;
  display: none;
}
body:has(.m-form__container.loading-sending) .js-modal-sending-message {
  display: block;
}
.js-modal-sending-message__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  row-gap: 2rem;
  padding: 2.8rem 1em;
}
.js-modal-sending-message .loading-spinner {
  position: relative;
  width: 5.2rem;
  height: 5.2rem;
}
.js-modal-sending-message .loading-spinner:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  border: 4px solid #fff;
  border-top: 4px solid transparent;
  border-radius: 50%;
  animation: loading-spin 1s linear 0s infinite;
}
@media screen and (min-width: 812px) {
  .js-modal-sending-message {
    margin-left: 12rem;
  }
}

.m-form__container.loading.loading-sending:after {
  content: none;
}

/* title
============================================================ */
/* tab
============================================================ */
.js-tab [role=tabpanel], .js-tab__tabpanel {
  display: grid;
  grid-template-rows: 1fr;
  transition: opacity 0.5s ease-out, visibility 0.5s ease-out, transform 0.5s ease-out;
}
.js-tab [role=tabpanel][aria-hidden=true], .js-tab__tabpanel[aria-hidden=true] {
  visibility: hidden;
  opacity: 0;
  transform: translateY(20px);
  grid-template-rows: 0fr;
}
.js-tab.slide-panel [role=tabpanel], .js-tab.slide-panel .js-tab__tabpanel {
  transition: opacity 0.3s ease-out 0.2s, visibility 0.3s ease-out 0.2s, grid-template-rows 0.2s ease-out;
}
.js-tab__tabpanel__inner {
  overflow: hidden;
}

/* accordion
============================================================ */
.js-accordion [aria-hidden], .js-accordion__content {
  display: grid;
  grid-template-rows: 1fr;
  transition: grid-template-rows 0.2s ease-out;
}
.js-accordion [aria-hidden][aria-hidden=true], .js-accordion__content[aria-hidden=true] {
  grid-template-rows: 0fr;
}
.js-accordion__content__inner {
  overflow: hidden;
}

/* ============================================================
/* layout
============================================================ */
@view-transition {
  navigation: auto;
}
/* inner
============================================================ */
.l-inner {
  margin: 0 auto;
}
@media screen and (min-width: 812px) {
  .l-inner {
    box-sizing: content-box;
    max-width: 1020px;
    padding: 0 2rem 0 24rem;
  }
}
@media screen and (max-width: 811px) {
  .l-inner {
    padding: 0 1rem;
    max-width: 520px;
  }
}

/* container
============================================================ */
@media screen and (max-width: 811px) {
  .l-container {
    padding-top: 8rem;
  }
}

/* logo
============================================================ */
.l-logo {
  text-decoration: none;
}
.l-logo__main {
  line-height: 1;
  color: var(--color-primary);
  font-weight: bold;
}
@media screen and (min-width: 812px) {
  .l-logo__symbol {
    width: 12rem;
  }
  .l-logo__main .main {
    width: 14.5rem;
  }
  .l-logo__main .sub {
    font-size: 1rem;
  }
}
@media screen and (max-width: 811px) {
  .l-logo__symbol {
    width: 6.2rem;
  }
  .l-logo__main .main {
    width: 13.8rem;
  }
  .l-logo__main .sub {
    font-size: 0.8rem;
  }
}

/* header
============================================================ */
.l-header {
  position: fixed;
  z-index: 999;
}
@media screen and (min-width: 812px) {
  .l-header {
    top: 0;
    bottom: 0;
    right: 50%;
    width: 50%;
    max-height: 74rem;
    display: grid;
    align-items: center;
    pointer-events: none;
  }
  .l-header__inner {
    margin-left: 2rem;
    background-color: var(--color-base-invert);
    width: 20rem;
    padding: 4rem 0;
    border-radius: 0.8rem;
    pointer-events: auto;
  }
  .l-header .l-logo {
    display: flex;
    align-items: center;
    flex-direction: column;
    row-gap: 1.6rem;
  }
  .l-header .l-logo__main {
    display: flex;
    align-items: center;
    flex-direction: column;
    row-gap: 0.8rem;
  }
}
@media (max-height: 600px) {
  .l-header__inner {
    padding: max(2vh, 2rem) 0;
  }
}
@media screen and (max-width: 811px) {
  .l-header {
    top: 0;
    left: 0;
    width: 100%;
    height: 8rem;
    background-color: var(--color-container-primary);
  }
  .l-header__inner {
    display: flex;
    height: 100%;
    align-items: center;
    justify-content: space-between;
    padding: 0 2rem 0 1.5rem;
  }
  .l-header .l-logo {
    display: flex;
    align-items: center;
    -moz-column-gap: 1.3rem;
    column-gap: 1.3rem;
  }
  .l-header .l-logo__main {
    display: flex;
    align-items: center;
    flex-direction: column;
    row-gap: 0.4rem;
  }
}

/* gnav
============================================================ */
.l-gnav__list > li {
  font-weight: 700;
}
.l-gnav__list > li:nth-child(1) {
  --color-gnav-list: #cb65a0;
}
.l-gnav__list > li:nth-child(2) {
  --color-gnav-list: #e26a6a;
}
.l-gnav__list > li:nth-child(3) {
  --color-gnav-list: #ef7800;
}
.l-gnav__list > li:nth-child(4) {
  --color-gnav-list: #ffac1c;
}
.l-gnav__list > li:nth-child(5) {
  --color-gnav-list: #1cbe60;
}
.l-gnav__list > li:nth-child(6) {
  --color-gnav-list: #3280f4;
}
.l-gnav__list > li em {
  color: var(--color-gnav-list);
}
.l-gnav__sub__list a {
  display: block;
  text-indent: -1.25em;
  padding-left: 1.25em;
  text-decoration: none;
}
.l-gnav__sub__list a:before {
  content: "●";
  display: inline-block;
  width: 1.25em;
  height: 1.25em;
  text-indent: 0;
  transform: scale(0.4);
  color: var(--color-gnav-list);
}
@media (hover: hover) {
  .l-gnav__sub__list a {
    transition: all 0.3s ease;
  }
  .l-gnav__sub__list a:hover {
    color: var(--color-gnav-list);
  }
}
@media screen and (min-width: 812px) {
  .l-gnav__btn, .l-gnav__list2 {
    display: none;
  }
  .l-gnav__list {
    padding: 1.6rem;
    display: flex;
    flex-direction: column;
    row-gap: 0.4rem;
  }
  .l-gnav__list > li {
    position: relative;
    line-height: 1.2;
    font-size: calc(var(--font-size-base) * 1.5);
  }
  .l-gnav__list > li > a,
  .l-gnav__list > li > button {
    display: flex;
    align-items: center;
    -moz-column-gap: 0.5rem;
    column-gap: 0.5rem;
    width: 100%;
    min-height: 4rem;
    padding-left: 2rem;
    text-decoration: none;
    border-radius: 0.8rem;
  }
  .l-gnav__list > li > a span,
  .l-gnav__list > li > button span {
    flex: 1;
  }
}
@media screen and (min-width: 812px) and (hover: hover) {
  .l-gnav__list > li > a,
  .l-gnav__list > li > button {
    transition: all 0.3s ease;
  }
  .l-gnav__list > li > a em,
  .l-gnav__list > li > button em {
    transition: all 0.3s ease;
  }
  .l-gnav__list > li > a:hover,
  .l-gnav__list > li > button:hover {
    color: var(--color-base-invert);
    background-color: var(--color-gnav-list);
  }
  .l-gnav__list > li > a:hover em,
  .l-gnav__list > li > button:hover em {
    color: var(--color-base-invert);
  }
}
@media screen and (min-width: 812px) {
  .l-gnav__list > li > a[aria-expanded=true],
  .l-gnav__list > li > button[aria-expanded=true] {
    color: var(--color-base-invert);
    background-color: var(--color-gnav-list);
  }
  .l-gnav__list > li > a[aria-expanded=true] em,
  .l-gnav__list > li > button[aria-expanded=true] em {
    color: var(--color-base-invert);
  }
  .l-gnav__sub {
    position: absolute;
    left: calc(100% + 1rem);
    top: 50%;
    margin-top: -5rem;
    padding: 1rem 2rem;
    background-color: var(--color-base-invert);
    box-shadow: 2px 2px 14px 0 rgba(var(--color-base-rgb), 0.25);
    border-radius: 0.8rem;
  }
  .l-gnav__sub:before {
    content: "";
    position: absolute;
    top: 5rem;
    right: calc(100% - 1px);
    display: block;
    width: 1.6rem;
    height: 2rem;
    background-color: var(--color-base-invert);
    clip-path: polygon(0 55%, 0 45%, 100% 0, 100% 100%);
    transform: translateY(-50%);
  }
  .l-gnav__sub {
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
  }
  .l-gnav__sub[aria-hidden=false] {
    opacity: 1;
    visibility: visible;
  }
  .l-gnav__sub__list {
    white-space: nowrap;
  }
  .l-gnav__sub__list li:nth-child(n+2) {
    border-top: 1px solid var(--color-line-primary);
  }
  .l-gnav__sub__list a {
    font-size: calc(var(--font-size-base) * 1.5);
    padding-top: 1rem;
    padding-bottom: 1rem;
  }
  .l-gnav__faq {
    display: none;
  }
}
@media screen and (max-width: 811px) {
  .l-gnav__btn {
    font-size: 3.6rem;
    line-height: 0;
  }
  .l-gnav__btn[aria-expanded=false] .m-icon-close {
    display: none;
  }
  .l-gnav__btn[aria-expanded=true] .m-icon-bars {
    display: none;
  }
  .l-gnav {
    position: fixed;
    top: 8rem;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: var(--color-container-primary);
    transition: opacity 0.3s ease, visibility 0.3s ease;
    opacity: 0;
    visibility: hidden;
  }
  .l-gnav[aria-hidden=false] {
    opacity: 1;
    visibility: visible;
  }
  .l-gnav__outer {
    width: 100%;
    max-height: 100%;
    overflow: auto;
    -ms-overflow-style: none;
    scrollbar-width: none;
  }
  .l-gnav__outer::-webkit-scrollbar {
    display: none;
  }
  .l-gnav__inner {
    padding: 1.5rem 4rem 11rem;
  }
  .l-gnav__list {
    display: flex;
    flex-direction: column;
    row-gap: 0.4rem;
  }
  .l-gnav__list > li {
    line-height: 1.2;
    border-bottom: 1px dashed var(--color-line-primary);
  }
  .l-gnav__list > li > a,
  .l-gnav__list > li > button {
    display: flex;
    align-items: center;
    -moz-column-gap: 0.6rem;
    column-gap: 0.6rem;
    width: 100%;
    padding: 2rem 0;
    font-size: calc(var(--font-size-base) * 2.2);
    text-decoration: none;
  }
  .l-gnav__list > li > a span,
  .l-gnav__list > li > button span {
    flex: 1;
  }
  .l-gnav__list > li > button {
    position: relative;
  }
  .l-gnav__list > li > button:before, .l-gnav__list > li > button:after {
    content: "";
    position: absolute;
    top: 50%;
    right: 1rem;
    background-color: var(--color-line-primary);
    transform: translate(50%, -50%);
  }
  .l-gnav__list > li > button:before {
    width: 2rem;
    height: 0.2rem;
  }
  .l-gnav__list > li > button:after {
    width: 0.2rem;
    height: 2rem;
  }
  .l-gnav__list > li > button[aria-expanded=true]:after {
    opacity: 0;
  }
  .l-gnav__sub {
    display: grid;
    grid-template-rows: 1fr;
    transition: grid-template-rows 0.2s ease-out;
  }
  .l-gnav__sub[aria-hidden=true] {
    grid-template-rows: 0fr;
  }
  .l-gnav__sub__inner {
    overflow: hidden;
  }
  .l-gnav__sub__list {
    display: flex;
    flex-direction: column;
    row-gap: 1.8rem;
    padding-left: 3rem;
    padding-bottom: 2rem;
  }
  .l-gnav__sub__list a {
    font-size: calc(var(--font-size-base) * 1.7);
  }
  .l-gnav__list2 {
    margin: 2rem 0;
    display: flex;
    flex-direction: column;
    row-gap: 0.8rem;
  }
  .l-gnav__list2 li {
    margin-right: -1em;
  }
  .l-gnav__list2 a {
    text-decoration: none;
    display: flex;
    align-items: baseline;
    -moz-column-gap: 0.5em;
    column-gap: 0.5em;
  }
  .l-gnav__list2 a:before {
    content: "";
    display: block;
    width: 0.5em;
    height: 1px;
    transform: translateY(-0.3em);
    background-color: var(--color-primary);
  }
  .l-gnav__faq {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 7.2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 0.8rem 0.8rem 0 0;
    background-color: var(--color-primary);
  }
  .l-gnav__faq__ill {
    position: absolute;
    width: 11.8rem;
    bottom: calc(100% - 0.5rem);
    right: 0.2rem;
    pointer-events: none;
  }
}

/* a11y (accessibility)
============================================================ */
.l-a11y {
  position: absolute;
  top: 1.6rem;
  right: 1.6rem;
  -moz-column-gap: 0.8rem;
  column-gap: 0.8rem;
  z-index: 99;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.l-a11y__item {
  display: flex;
  align-items: center;
  -moz-column-gap: 0.4rem;
  column-gap: 0.4rem;
  border: 0.4rem solid transparent;
  background-color: var(--color-container-primary);
  border-radius: 2rem;
  line-height: 1.4;
  font-size: 1.5rem;
  font-weight: bold;
}
.l-a11y__item__caption {
  padding: 0 0.6em;
}
.l-a11y__item__btns {
  display: flex;
  align-items: center;
  background-color: var(--color-container-secondary);
  border-radius: 2rem;
}
.l-a11y__item__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 6rem;
  height: 3.2rem;
  border-radius: 2rem;
  border: 1px solid transparent;
  text-decoration: none;
}
.l-a11y__item__btn.is-active {
  color: var(--color-primary);
  background-color: var(--color-base-invert);
  border-color: var(--color-primary);
}
@media screen and (max-width: 811px) {
  .l-a11y {
    display: none;
  }
}

/* cnav
============================================================ */
body:has(.sc-container.pb-0:last-child) .sc-cnav:before {
  content: none;
}
.sc-cnav__item__link {
  position: relative;
  display: block;
  text-decoration: none;
  border-radius: 0.8rem;
  background-color: var(--color-primary);
  height: 100%;
}
@media (hover: hover) {
  .sc-cnav__item__link {
    transition: opacity 0.3s ease;
  }
  .sc-cnav__item__link:hover {
    opacity: 0.7;
  }
}
.sc-cnav__item__inner {
  position: relative;
  color: var(--color-base-invert);
  text-align: center;
  height: 100%;
}
.sc-cnav__item__ttl {
  color: var(--color-secondary);
  font-weight: bold;
  line-height: 1.4;
}
.sc-cnav__item .m-arrow-fill {
  position: absolute;
  background-color: var(--color-base-invert);
  color: var(--color-primary);
}
.sc-cnav__item__ill {
  position: absolute;
  background: no-repeat center center/contain;
  pointer-events: none;
}
.sc-cnav__item:nth-child(1) .sc-cnav__item__ill:nth-child(1) {
  aspect-ratio: 116/153;
  background-image: url("../img/common/ill_cnav1_1.png");
}
.sc-cnav__item:nth-child(1) .sc-cnav__item__ill:nth-child(2) {
  aspect-ratio: 112/112;
  background-image: url("../img/common/ill_cnav1_2.png");
}
.sc-cnav__item:nth-child(2) .sc-cnav__item__ill:nth-child(1) {
  aspect-ratio: 209/142;
  background-image: url("../img/common/ill_cnav2_1.png");
}
.sc-cnav__item:nth-child(2) .sc-cnav__item__ill:nth-child(2) {
  aspect-ratio: 84/79;
  background-image: url("../img/common/ill_cnav2_2.png");
}
.sc-cnav__item:nth-child(3) .sc-cnav__item__ill:nth-child(1) {
  aspect-ratio: 179/151;
  background-image: url("../img/common/ill_cnav3_1.png");
}
.sc-cnav__item:nth-child(3) .sc-cnav__item__ill:nth-child(2) {
  aspect-ratio: 114/80;
  background-image: url("../img/common/ill_cnav3_2.png");
}
@media screen and (min-width: 812px) {
  body:has(.sc-container.pb-0:last-child) .sc-cnav {
    margin-top: 5rem;
  }
  .sc-cnav__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2.4rem;
  }
  .sc-cnav__item__inner {
    padding: 7.5rem 1rem 7rem;
  }
  .sc-cnav__item__ttl {
    margin-bottom: 1.1rem;
    font-size: calc(var(--font-size-base) * 3.2);
  }
  .sc-cnav__item .m-arrow-fill {
    right: 1.6rem;
    bottom: 1.6rem;
    font-size: 3.2rem;
  }
  .sc-cnav__item:nth-child(1) .sc-cnav__item__ill:nth-child(1) {
    top: -2.9rem;
    right: 0.7rem;
    width: 11.6rem;
  }
  .sc-cnav__item:nth-child(1) .sc-cnav__item__ill:nth-child(2) {
    bottom: -4rem;
    left: 0;
    width: 11.2rem;
  }
  .sc-cnav__item:nth-child(2) .sc-cnav__item__ill:nth-child(1) {
    top: -4.4rem;
    right: -1.1rem;
    width: 20.9rem;
  }
  .sc-cnav__item:nth-child(2) .sc-cnav__item__ill:nth-child(2) {
    bottom: -0.9rem;
    left: 1.6rem;
    width: 8.4rem;
  }
  .sc-cnav__item:nth-child(3) .sc-cnav__item__ill:nth-child(1) {
    top: -5.3rem;
    right: 0rem;
    width: 17.9rem;
  }
  .sc-cnav__item:nth-child(3) .sc-cnav__item__ill:nth-child(2) {
    bottom: -1.6rem;
    left: 1.7rem;
    width: 11.4rem;
  }
}
@media screen and (max-width: 811px) {
  body:has(.sc-container.pb-0:last-child) .sc-cnav {
    margin-top: 5rem;
  }
  .sc-cnav__list {
    display: flex;
    flex-direction: column;
    row-gap: 3.2rem;
  }
  .sc-cnav__item__inner {
    padding: 4.8rem 1rem 3.6rem;
  }
  .sc-cnav__item__ttl {
    margin-bottom: 1rem;
    font-size: calc(var(--font-size-base) * 2.4);
  }
  .sc-cnav__item .m-arrow-fill {
    right: 1rem;
    bottom: 1rem;
    font-size: 3.2rem;
  }
  .sc-cnav__item:nth-child(1) .sc-cnav__item__ill:nth-child(1) {
    top: -2.1rem;
    right: 3.1rem;
    width: 8.6rem;
  }
  .sc-cnav__item:nth-child(1) .sc-cnav__item__ill:nth-child(2) {
    top: -1.7rem;
    left: 2.5rem;
    width: 9.9rem;
  }
  .sc-cnav__item:nth-child(2) .sc-cnav__item__ill:nth-child(1) {
    top: -3.2rem;
    right: 0rem;
    width: 15.8rem;
  }
  .sc-cnav__item:nth-child(2) .sc-cnav__item__ill:nth-child(2) {
    top: -1.5rem;
    left: 3.6rem;
    width: 7.7rem;
  }
  .sc-cnav__item:nth-child(3) .sc-cnav__item__ill:nth-child(1) {
    top: -2.6rem;
    right: 0rem;
    width: 14.1rem;
  }
  .sc-cnav__item:nth-child(3) .sc-cnav__item__ill:nth-child(2) {
    top: -0.8rem;
    left: 2.5rem;
    width: 11.1rem;
  }
}

/* pagetop
============================================================ */
@media screen and (min-width: 812px) {
  .l-pagetop {
    position: relative;
  }
  .l-pagetop__link {
    position: absolute;
    top: calc(50% - 2rem);
    right: -2rem;
    width: 19.2rem;
    transform: translateY(-50%);
  }
}
@media screen and (max-width: 811px) {
  .l-pagetop {
    display: none;
  }
}

/* footer
============================================================ */
.l-footer {
  background-color: var(--color-container-tertiary);
  position: relative;
}
.l-footer:before {
  content: "";
  position: absolute;
  bottom: calc(100% - 1px);
  left: 0;
  width: 100%;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center center;
  mask-position: center center;
  -webkit-mask-image: url("../img/common/ptn_wave.svg");
  mask-image: url("../img/common/ptn_wave.svg");
  background: currentColor;
  -webkit-mask-repeat: repeat-x;
  mask-repeat: repeat-x;
  -webkit-mask-size: auto 100%;
  mask-size: auto 100%;
  background-color: inherit;
}
@media screen and (min-width: 812px) {
  .l-footer:before {
    height: 2rem;
  }
}
@media screen and (max-width: 811px) {
  .l-footer:before {
    height: 1.5rem;
  }
}
.l-footer__sub {
  font-weight: bold;
  line-height: 1.4;
}
.l-footer__info {
  font-weight: bold;
  line-height: 1.4;
}
.l-footer__nav {
  line-height: 1.4;
}
.l-footer__nav a {
  font-weight: bold;
  text-decoration: none;
}
@media (hover: hover) {
  .l-footer__nav a:hover {
    text-decoration: underline;
  }
}
.l-footer__bnr {
  border-top: 1px solid var(--color-base-invert);
}
@media (hover: hover) {
  .l-footer__bnr a {
    transition: opacity 0.3s ease;
  }
  .l-footer__bnr a:hover {
    opacity: 0.7;
  }
}
.l-footer__bnr a img {
  border-radius: 0.4rem;
}
.l-footer .l-copyright {
  line-height: 1;
  text-align: center;
  font-size: calc(var(--font-size-base) * 1);
}
@media screen and (min-width: 812px) {
  .l-footer {
    padding-bottom: 7rem;
  }
  .l-footer__inner {
    padding: 7rem 0 7rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .l-footer__meta {
    width: 34rem;
  }
  .l-footer .l-logo {
    display: flex;
    align-items: center;
    -moz-column-gap: 1.3rem;
    column-gap: 1.3rem;
  }
  .l-footer .l-logo__main {
    display: flex;
    align-items: center;
    flex-direction: column;
    row-gap: 0.8rem;
  }
  .l-footer .l-logo__main .main {
    width: 16.7rem;
  }
  .l-footer .l-logo__main .main img {
    width: 100%;
  }
  .l-footer__sub {
    font-size: calc(var(--font-size-base) * 2);
    margin-top: 2rem;
  }
  .l-footer__info {
    margin-top: 2.4rem;
    display: flex;
    flex-wrap: wrap;
    -moz-column-gap: 1em;
    column-gap: 1em;
  }
  .l-footer__nav {
    display: flex;
    -moz-column-gap: 4.8rem;
    column-gap: 4.8rem;
  }
  .l-footer__nav__list {
    display: flex;
    flex-direction: column;
    row-gap: 1.6rem;
  }
  .l-footer__bnr {
    padding-top: 8rem;
  }
  .l-footer__bnr ul {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2.4rem;
  }
  .l-footer .l-copyright {
    margin-top: 3.5rem;
  }
}
@media screen and (max-width: 811px) {
  .l-footer {
    padding-bottom: 3rem;
  }
  .l-footer__inner {
    padding: 4rem 0;
  }
  .l-footer__meta {
    text-align: center;
  }
  .l-footer .l-logo {
    display: flex;
    flex-direction: column;
    align-items: center;
    row-gap: 1.6rem;
  }
  .l-footer .l-logo__symbol {
    width: 12rem;
  }
  .l-footer .l-logo__main {
    display: flex;
    flex-direction: column;
    align-items: center;
    row-gap: 0.6rem;
  }
  .l-footer .l-logo__main .sub {
    font-size: calc(var(--font-size-base) * 1);
  }
  .l-footer__sub {
    font-size: calc(var(--font-size-base) * 1.7);
    margin-top: 2rem;
  }
  .l-footer__info {
    margin-top: 1.5rem;
  }
  .l-footer__nav {
    display: none;
  }
  .l-footer__bnr {
    padding-top: 3.2rem;
  }
  .l-footer__bnr ul {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.5rem;
  }
  .l-footer .l-copyright {
    margin-top: 2rem;
  }
}

/* follow-faq
============================================================ */
.l-follow-faq {
  position: fixed;
  z-index: 99;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
body.is_fixed_follow .l-follow-faq {
  opacity: 1;
  visibility: visible;
}
.l-follow-faq__link {
  display: block;
}
@media (hover: hover) {
  .l-follow-faq__link:hover {
    animation: poyon 1.2s;
  }
}
@keyframes poyon {
  0% {
    transform: scale(1, 1) translate(0%, 0%);
  }
  15% {
    transform: scale(0.9, 0.9) translate(0%, 5%);
  }
  30% {
    transform: scale(1.3, 0.8) translate(0%, 10%);
  }
  50% {
    transform: scale(0.8, 1.3) translate(0%, -10%);
  }
  70% {
    transform: scale(1.1, 0.9) translate(0%, 5%);
  }
  100% {
    transform: scale(1, 1) translate(0%, 0%);
  }
}
@media screen and (min-width: 812px) {
  .l-follow-faq {
    right: 3.4rem;
    bottom: 6rem;
    width: 14rem;
  }
}
@media screen and (max-width: 811px) {
  .l-follow-faq {
    left: 50%;
    bottom: 1.5rem;
    transform: translateX(-50%);
    width: 35.5rem;
  }
}

/* breadcrumb
============================================================ */
.l-breadcrumb ul {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  align-items: center;
  font-weight: 700;
}
.l-breadcrumb li {
  display: inline;
}
.l-breadcrumb li:nth-child(n+2):before {
  content: "";
  display: inline-block;
  width: 0.6em;
  height: 0.6em;
  border-top: 1px solid var(--color-line-primary);
  border-right: 1px solid var(--color-line-primary);
  transform: translateX(-25%) rotate(45deg);
  margin: 0 0.6em 0 0.4em;
}
.l-breadcrumb li a {
  color: var(--color-primary);
  text-decoration: none;
}
@media (hover: hover) {
  .l-breadcrumb li a:hover {
    text-decoration: underline;
  }
}
@media screen and (min-width: 812px) {
  .l-breadcrumb {
    padding: 1.5rem 0 7rem;
    font-size: calc(var(--font-size-base) * 1.4);
  }
}
@media screen and (max-width: 811px) {
  .l-breadcrumb {
    padding: 1.3rem 0 3rem;
    font-size: calc(var(--font-size-base) * 1.3);
  }
}

/* ============================================================
/* project module
============================================================ */
.m-text-link {
  display: inline-flex;
  align-items: center;
  color: var(--color-primary);
  text-decoration: none;
  font-weight: bold;
  -moz-column-gap: 0.5em;
  column-gap: 0.5em;
}
.m-text-link .m-arrow-fill {
  transform: scale(1.4);
}
@media (hover: hover) {
  .m-text-link:hover {
    text-decoration: underline;
  }
}

.sc-container {
  --color-post-idx-tag: var(--color-container-secondary);
  background-color: var(--current-container-color);
  position: relative;
}
.sc-container:before {
  content: "";
  position: absolute;
  bottom: calc(100% - 1px);
  left: 0;
  width: 100%;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center center;
  mask-position: center center;
  -webkit-mask-image: url("../img/common/ptn_wave.svg");
  mask-image: url("../img/common/ptn_wave.svg");
  background: currentColor;
  -webkit-mask-repeat: repeat-x;
  mask-repeat: repeat-x;
  -webkit-mask-size: auto 100%;
  mask-size: auto 100%;
  background-color: inherit;
}
@media screen and (min-width: 812px) {
  .sc-container:before {
    height: 2rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-container:before {
    height: 1.5rem;
  }
}
.sc-container.no-wave:before {
  content: none;
}
.sc-container.bg-secondary {
  --current-container-color: var(--color-container-secondary);
  --color-post-idx-tag: var(--color-base-invert);
}
.sc-container.inview-init {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 1s ease, transform 1s ease;
}
.sc-container.isInviewed {
  opacity: 1;
  transform: none;
}
@media screen and (min-width: 812px) {
  .sc-container {
    padding-top: 12rem;
    padding-bottom: 14rem;
  }
  .sc-container.pb-0 {
    padding-bottom: 0;
  }
}
@media screen and (max-width: 811px) {
  .sc-container {
    padding-top: 5rem;
    padding-bottom: 7rem;
  }
  .sc-container.pb-0 {
    padding-bottom: 0;
  }
}

/* sc-header
============================================================ */
.sc-header {
  text-align: center;
}
@media screen and (min-width: 812px) {
  .sc-header {
    margin-bottom: 4rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-header {
    margin-bottom: 4rem;
  }
}

.sc-ttl {
  line-height: 1.4;
  font-weight: 700;
  color: var(--color-primary);
  -webkit-text-stroke: 0.2em var(--current-container-color, var(--color-base-invert));
  text-stroke: 0.2em var(--current-container-color, var(--color-base-invert));
  paint-order: stroke;
}
@media screen and (min-width: 812px) {
  .sc-ttl {
    font-size: calc(var(--font-size-base) * 4);
  }
  .sc-ttl .m-icon-nakanaka {
    margin-right: 0.2em;
    font-size: calc(var(--font-size-base) * 2.4);
  }
}
@media screen and (max-width: 811px) {
  .sc-ttl {
    font-size: calc(var(--font-size-base) * 3.2);
  }
  .sc-ttl .m-icon-nakanaka {
    margin-right: 0.2em;
    font-size: calc(var(--font-size-base) * 1.8);
  }
}

.sc-sub {
  color: var(--color-primary);
  font-weight: bold;
  line-height: 1.4;
  -webkit-text-stroke: 0.2em var(--current-container-color, var(--color-base-invert));
  text-stroke: 0.2em var(--current-container-color, var(--color-base-invert));
  paint-order: stroke;
}
@media screen and (min-width: 812px) {
  .sc-sub {
    margin-bottom: 1.6rem;
    font-size: calc(var(--font-size-base) * 2);
  }
}
@media screen and (max-width: 811px) {
  .sc-sub {
    font-size: calc(var(--font-size-base) * 1.6);
  }
}

.sc-ttl-2 {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: var(--color-primary);
}
.sc-ttl-2 .main {
  font-family: "Ubuntu", sans-serif;
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased;
  font-weight: 500;
  font-weight: 500;
  line-height: 1;
}
.sc-ttl-2 .sub {
  font-weight: bold;
  line-height: 1.4;
}
@media screen and (min-width: 812px) {
  .sc-ttl-2 {
    margin-top: -4rem;
  }
  .sc-ttl-2 .main {
    font-size: calc(var(--font-size-base) * 5.6);
  }
  .sc-ttl-2 .sub {
    font-size: calc(var(--font-size-base) * 2);
    margin-top: 0.4rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-ttl-2 .main {
    font-size: calc(var(--font-size-base) * 4);
  }
  .sc-ttl-2 .sub {
    font-size: calc(var(--font-size-base) * 1.7);
    margin-top: 0.8rem;
  }
}

@media screen and (min-width: 812px) {
  .sc-desc {
    margin-top: 1.6rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-desc {
    margin-top: 0.8rem;
  }
}

.m-line-wave {
  position: relative;
  background: url("../img/common/line_wave.svg") repeat-x left bottom;
}
@media screen and (min-width: 812px) {
  .m-line-wave {
    padding-bottom: 0.6rem;
    background-size: auto 1rem;
  }
}
@media screen and (max-width: 811px) {
  .m-line-wave {
    padding-bottom: 0.4rem;
    background-size: auto 0.6rem;
  }
}

.sc-more {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}
@media screen and (min-width: 812px) {
  .sc-more {
    margin: 4rem auto 0;
    -moz-column-gap: 2.6rem;
    column-gap: 2.6rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-more {
    margin: 3.2rem auto 0;
    flex-direction: column;
    row-gap: 1.6rem;
  }
}

/* pnav
============================================================ */
.m-pnav {
  position: relative;
}
.m-pnav__caption {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto -0.6rem;
  text-align: center;
  color: var(--color-primary);
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
  padding: 0.2em 1em;
  border: 2px solid var(--color-primary);
  background-color: var(--color-base-invert);
  z-index: 1;
}
.m-pnav__caption:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  width: 1.9rem;
  height: 1.4rem;
  background-color: var(--color-primary);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  transform: translateX(-50%);
}
.m-pnav__caption:after {
  content: "";
  position: absolute;
  top: calc(100% - 0.5px);
  left: 50%;
  width: 1.3rem;
  height: 1.1rem;
  background-color: var(--color-base-invert);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  transform: translateX(-50%);
}
.m-pnav__list {
  color: var(--color-primary);
  border-top: 2px solid var(--color-primary);
  border-bottom: 2px solid var(--color-primary);
  display: flex;
}
.m-pnav__list li {
  position: relative;
  flex: 1;
}
.m-pnav__list li:before {
  content: "";
  position: absolute;
  left: 0;
  border-left: 2px dashed var(--color-primary);
}
.m-pnav__list a {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  height: 100%;
  line-height: 1.4;
  font-weight: bold;
  text-decoration: none;
  border-radius: 0.6rem;
  padding: 0.2em 0.25em;
}
@media (hover: hover) {
  .m-pnav__list a {
    transition: background-color 0.3s ease;
  }
  .m-pnav__list a:hover {
    background-color: var(--color-container-primary);
  }
}
@media screen and (min-width: 812px) {
  .m-pnav__caption {
    font-size: calc(var(--font-size-base) * 2);
    min-height: 5.6rem;
    min-width: 36rem;
    border-radius: 5.6rem;
  }
  .m-pnav__list li {
    padding: 0.8rem;
  }
  .m-pnav__list li:before {
    top: 2rem;
    bottom: 2rem;
  }
  .m-pnav__list li:first-child:before {
    content: none;
  }
  .m-pnav__list a {
    min-height: 8rem;
    font-size: calc(var(--font-size-base) * 2);
  }
}
@media screen and (max-width: 811px) {
  .m-pnav__caption {
    font-size: calc(var(--font-size-base) * 1.7);
    min-height: 3.8rem;
    min-width: 26.5rem;
    border-radius: 3.8rem;
  }
  .m-pnav__list {
    margin: 0 -1rem;
  }
  .m-pnav__list li:before {
    top: 1rem;
    bottom: 1rem;
  }
  .m-pnav__list li:first-child:before {
    content: none;
  }
  .m-pnav__list:has(li:last-child:nth-child(4)) {
    flex-wrap: wrap;
  }
  .m-pnav__list:has(li:last-child:nth-child(4)) li {
    flex: 0 0 50%;
  }
  .m-pnav__list:has(li:last-child:nth-child(4)) li:nth-child(n+3) {
    border-top: 2px solid var(--color-primary);
  }
  .m-pnav__list:has(li:last-child:nth-child(4)) li:nth-child(3):before {
    content: none;
  }
  .m-pnav__list:has(li:last-child:nth-child(5)) {
    flex-wrap: wrap;
  }
  .m-pnav__list:has(li:last-child:nth-child(5)) li:nth-child(-n+4) {
    flex: 0 0 33.33%;
  }
  .m-pnav__list:has(li:last-child:nth-child(5)) li:nth-child(n+4) {
    flex: 0 0 50%;
    border-top: 2px solid var(--color-primary);
  }
  .m-pnav__list:has(li:last-child:nth-child(5)) li:nth-child(4) {
    flex: 0 0 50%;
  }
  .m-pnav__list:has(li:last-child:nth-child(5)) li:nth-child(4):before {
    content: none;
  }
  .m-pnav__list:has(li:last-child:nth-child(6)) {
    flex-wrap: wrap;
  }
  .m-pnav__list:has(li:last-child:nth-child(6)) li {
    flex: 0 0 33.33%;
  }
  .m-pnav__list:has(li:last-child:nth-child(6)) li:nth-child(n+4) {
    border-top: 2px solid var(--color-primary);
  }
  .m-pnav__list:has(li:last-child:nth-child(6)) li:nth-child(4):before {
    content: none;
  }
  .m-pnav__list a {
    min-height: 8rem;
    font-size: calc(var(--font-size-base) * 1.7);
  }
}

/* tab
============================================================ */
.m-tablist {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: flex-end;
}
.m-tablist:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  border-bottom: 2px solid var(--color-primary);
}
@media screen and (min-width: 812px) {
  .m-tablist {
    max-width: 68rem;
    margin: 0 auto;
    -moz-column-gap: 0.8rem;
    column-gap: 0.8rem;
    padding: 0 5rem;
  }
}
@media screen and (max-width: 811px) {
  .m-tablist {
    width: 100%;
    -moz-column-gap: 0.7rem;
    column-gap: 0.7rem;
  }
  .m-tablist:before {
    left: 50%;
    width: 100vw;
    transform: translateX(-50%);
  }
  .sticky-tab-sp .m-tablist {
    position: sticky;
    background-color: var(--current-container-color);
    z-index: 10;
    top: 8rem;
  }
  .sticky-tab-sp .m-tablist:after {
    content: "";
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    height: 1rem;
    background-color: var(--current-container-color);
  }
}

.m-tab {
  position: relative;
  display: flex;
  flex: 1;
  justify-content: center;
  align-items: center;
  text-align: center;
  line-height: 1.4;
  font-weight: bold;
  color: var(--color-base-invert);
  background-color: var(--color-primary);
  text-decoration: none;
  border-radius: 0.8rem 0.8rem 0 0;
  border: 2px solid var(--color-primary);
  border-bottom: none;
  transition: background-color 0.3s ease;
}
.m-tab[aria-selected=true] {
  color: var(--color-primary);
  background-color: var(--current-container-color);
  pointer-events: none;
}
.m-tab > span {
  display: inline-block;
  padding: 0.25em 0.5em;
}
@media screen and (min-width: 812px) {
  .m-tab {
    min-height: 4.8rem;
  }
  .m-tab[aria-selected=true] {
    min-height: 5.6rem;
    font-size: calc(var(--font-size-base) * 2);
  }
}
@media screen and (max-width: 811px) {
  .m-tab {
    min-height: 4.8rem;
  }
  .m-tab[aria-selected=true] {
    min-height: 5.6rem;
  }
}

@media screen and (min-width: 812px) {
  .m-tabpanel-wrap {
    margin-top: 4rem;
  }
}
@media screen and (max-width: 811px) {
  .m-tabpanel-wrap {
    margin-top: 2.4rem;
  }
}

/* card support
============================================================ */
.m-card-support__link {
  display: block;
  height: 100%;
  text-decoration: none;
}
@media (hover: hover) {
  .m-card-support__link {
    transition: opacity 0.3s ease;
  }
  .m-card-support__link:hover {
    opacity: 0.7;
  }
}
.m-card-support__inner {
  position: relative;
  height: 100%;
  border-radius: 0.8rem;
  border: 2px solid var(--color-primary);
  background-color: var(--color-base-invert);
}
.m-card-support__content {
  border-top: 2px dashed var(--color-primary);
}
.m-card-support__ttl {
  line-height: 1.4;
  color: var(--color-primary);
  font-weight: bold;
  text-align: center;
}
.m-card-support__arrow {
  position: absolute;
  bottom: 0;
  right: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 3.2rem;
  height: 3.2rem;
  font-size: 0.8rem;
  padding-left: 3px;
  padding-top: 3px;
  border-radius: 0.8rem 0 0.6rem 0;
  color: var(--color-base-invert);
  background-color: var(--color-primary);
}
@media screen and (min-width: 812px) {
  .m-card-support {
    margin-top: 1.7rem;
  }
  .m-card-support__inner {
    padding: 0 2.4rem 4rem;
  }
  .m-card-support__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    -moz-column-gap: 2.4rem;
    column-gap: 2.4rem;
  }
  .m-card-support__list:has(> *:first-child:last-child) {
    grid-template-columns: repeat(1, 1fr);
    margin-left: auto;
    margin-right: auto;
    max-width: 32.4rem;
  }
  .m-card-support__list:has(> *:last-child:nth-child(2)) {
    grid-template-columns: repeat(2, 1fr);
    margin-left: auto;
    margin-right: auto;
    max-width: 67.2rem;
  }
  .m-card-support__image {
    margin-bottom: 2rem;
  }
  .m-card-support__image img {
    margin-top: -1.7rem;
  }
  .m-card-support__content {
    padding: 2rem 0 0;
  }
  .m-card-support__ttl {
    margin-bottom: 1rem;
    font-size: calc(var(--font-size-base) * 2);
  }
  .m-card-support__ttl small {
    font-size: calc(var(--font-size-base) * 1.6);
  }
}
@media screen and (max-width: 811px) {
  .m-card-support {
    margin-top: 3rem;
  }
  .m-card-support__inner {
    padding: 0 2.4rem 4rem;
  }
  .m-card-support__list {
    display: flex;
    flex-direction: column;
    row-gap: 3rem;
  }
  .m-card-support__image {
    margin-bottom: 1.5rem;
  }
  .m-card-support__image img {
    margin-top: -3rem;
  }
  .m-card-support__content {
    padding: 1.5rem 0 0;
  }
  .m-card-support__ttl {
    margin-bottom: 1.2rem;
    font-size: calc(var(--font-size-base) * 1.7);
  }
  .m-card-support__ttl small {
    font-size: calc(var(--font-size-base) * 1.5);
  }
}

/* card link
============================================================ */
.m-card-link__link {
  display: block;
  height: 100%;
  text-decoration: none;
}
@media (hover: hover) {
  .m-card-link__link {
    transition: opacity 0.3s ease;
  }
  .m-card-link__link:hover {
    opacity: 0.7;
  }
}
.m-card-link__inner {
  position: relative;
  height: 100%;
  border-radius: 0.8rem;
  border: 2px solid var(--color-primary);
  background-color: var(--color-base-invert);
  overflow: hidden;
}
.m-card-link__ttl {
  line-height: 1.4;
  color: var(--color-primary);
  font-weight: bold;
  text-align: center;
}
.m-card-link__arrow {
  position: absolute;
  bottom: 0;
  right: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 3.2rem;
  height: 3.2rem;
  font-size: 0.8rem;
  padding-left: 3px;
  padding-top: 3px;
  border-radius: 0.8rem 0 0.6rem 0;
  color: var(--color-base-invert);
  background-color: var(--color-primary);
}
@media screen and (min-width: 812px) {
  .m-card-link__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    -moz-column-gap: 2.4rem;
    column-gap: 2.4rem;
  }
  .m-card-link__list:has(> *:last-child:nth-child(2)) {
    grid-template-columns: repeat(2, 1fr);
    margin-left: auto;
    margin-right: auto;
    max-width: 67.2rem;
  }
  .m-card-link__content {
    padding: 2rem 0 4rem;
  }
  .m-card-link__ttl {
    margin-bottom: 1rem;
    font-size: calc(var(--font-size-base) * 2);
  }
  .m-card-link__ttl small {
    font-size: calc(var(--font-size-base) * 1.6);
  }
  .m-card-link__text {
    padding: 0 2.4rem;
  }
}
@media screen and (max-width: 811px) {
  .m-card-link__list {
    display: flex;
    flex-direction: column;
    row-gap: 1.6rem;
  }
  .m-card-link__content {
    padding: 1.5rem 0 4rem;
  }
  .m-card-link__ttl {
    margin-bottom: 1.2rem;
    font-size: calc(var(--font-size-base) * 1.7);
  }
  .m-card-link__ttl small {
    font-size: calc(var(--font-size-base) * 1.5);
  }
  .m-card-link__text {
    padding: 0 2.4rem;
  }
}

/* card data
============================================================ */
.m-card-data__item {
  background-color: var(--color-base-invert);
  border-radius: 0.8rem;
  border: 2px solid var(--color-primary);
}
.m-card-data__item__data {
  aspect-ratio: 276/131;
}
.m-card-data__item__data img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
}
.m-card-data__item__ttl {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.25em 0.5em;
  line-height: 1.4;
  text-align: center;
  font-weight: bold;
  color: var(--color-base-invert);
  background-color: var(--color-primary);
}
.m-card-data__item__note {
  margin-top: 0.5em;
  line-height: 1.4;
}
@media screen and (min-width: 812px) {
  .m-card-data__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2.4rem;
  }
  .m-card-data__item__ttl {
    font-size: calc(var(--font-size-base) * 2);
    min-height: 5.6rem;
  }
  .m-card-data__item__inner {
    padding: 2.4rem;
  }
  .m-card-data__item__note {
    font-size: calc(var(--font-size-base) * 1);
  }
}
@media screen and (max-width: 811px) {
  .m-card-data__list {
    display: flex;
    flex-direction: column;
    row-gap: 2.4rem;
  }
  .m-card-data__item__ttl {
    font-size: calc(var(--font-size-base) * 1.7);
    min-height: 5.6rem;
  }
  .m-card-data__item__inner {
    padding: 2rem 2.4rem;
  }
  .m-card-data__item__note {
    margin-top: 1em;
    font-size: calc(var(--font-size-base) * 1);
  }
}

/* post index
============================================================ */
.m-post-idx__tags {
  display: flex;
  flex-wrap: wrap;
  font-size: calc(var(--font-size-base) * 1.2);
  gap: 1rem;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}
.m-post-idx__tags li a {
  display: flex;
  justify-content: center;
  align-items: center;
  color: var(--color-primary);
  text-decoration: none;
  background-color: var(--color-post-idx-tag);
  padding: 0.25em 1em;
  min-height: 3.4rem;
  border-radius: 3.4rem;
}
@media (hover: hover) {
  .m-post-idx__tags li a {
    transition: opacity 0.3s ease;
  }
  .m-post-idx__tags li a:hover {
    opacity: 0.7;
  }
}
.m-post-idx__item__image {
  border-radius: 0.8rem;
  border: 2px solid var(--color-primary);
  aspect-ratio: 324/243;
  overflow: hidden;
}
.m-post-idx__item__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
@media (hover: hover) {
  .m-post-idx__item__image img {
    transition: transform 0.3s ease;
  }
  a:hover .m-post-idx__item__image img, .m-post-idx__item__image:hover img {
    transform: scale(1.1);
  }
}
.m-post-idx__item__link {
  display: block;
  text-decoration: none;
}
@media (hover: hover) {
  .m-post-idx__item__link {
    transition: opacity 0.3s ease;
  }
  .m-post-idx__item__link:hover {
    opacity: 0.7;
  }
}
.m-post-idx__item__meta {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: baseline;
  color: var(--color-primary);
  line-height: 1.4;
}
.m-post-idx__item__date {
  position: relative;
}
.m-post-idx__item__date:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  height: 1em;
  border-right: 1px solid var(--color-primary);
  transform: translateY(-40%);
}
.m-post-idx__item__ttl {
  line-height: 1.4;
  font-weight: bold;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.m-post-idx__item__tags {
  display: flex;
  flex-wrap: wrap;
}
.m-post-idx__item__tags li a {
  display: flex;
  justify-content: center;
  align-items: center;
  color: var(--color-primary);
  text-decoration: none;
  background-color: var(--color-post-idx-tag);
  padding: 0.25em 1em;
}
@media (hover: hover) {
  .m-post-idx__item__tags li a {
    transition: opacity 0.3s ease;
  }
  .m-post-idx__item__tags li a:hover {
    opacity: 0.7;
  }
}
@media screen and (min-width: 812px) {
  .m-post-idx {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    -moz-column-gap: 2.4rem;
    column-gap: 2.4rem;
    row-gap: 3.2rem;
  }
  .m-post-idx__tags {
    margin-bottom: 3rem;
    justify-content: center;
  }
  .m-post-idx__item__image {
    margin-bottom: 1.4rem;
  }
  .m-post-idx__item__meta {
    margin-bottom: 0.8rem;
    -moz-column-gap: 2rem;
    column-gap: 2rem;
    font-size: calc(var(--font-size-base) * 1.4);
  }
  .m-post-idx__item__date:after {
    margin-right: -1rem;
  }
  .m-post-idx__item__ttl {
    font-size: calc(var(--font-size-base) * 1.6);
  }
  .m-post-idx__item__tags {
    margin-top: 1.6rem;
    font-size: calc(var(--font-size-base) * 1.2);
    gap: 1rem;
  }
  .m-post-idx__item__tags li a {
    min-height: 3.4rem;
    border-radius: 3.4rem;
  }
}
@media screen and (max-width: 811px) {
  .m-post-idx {
    display: flex;
    flex-direction: column;
    gap: 3.2rem;
  }
  .m-post-idx__tags {
    margin-bottom: 2.4rem;
  }
  .m-post-idx__item__image {
    margin-bottom: 1.4rem;
  }
  .m-post-idx__item__meta {
    margin-bottom: 0.8rem;
    -moz-column-gap: 1.6rem;
    column-gap: 1.6rem;
    font-size: calc(var(--font-size-base) * 1.3);
  }
  .m-post-idx__item__date:after {
    margin-right: -0.8rem;
  }
  .m-post-idx__item__ttl {
    font-size: calc(var(--font-size-base) * 1.5);
  }
  .m-post-idx__item__tags {
    margin-top: 0.8rem;
    font-size: calc(var(--font-size-base) * 1.1);
    gap: 1rem;
  }
  .m-post-idx__item__tags li a {
    min-height: 3.2rem;
    border-radius: 3.2rem;
  }
}

/* post empty
============================================================ */
.m-post-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.m-post-empty__text {
  line-height: 1;
}
.m-post-empty__text.en {
  font-family: "Ubuntu", sans-serif;
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased;
  font-weight: 500;
  font-weight: 500;
}
@media screen and (min-width: 812px) {
  .m-post-empty {
    margin: 6rem 0;
    row-gap: 2.4rem;
  }
  .m-post-empty__text {
    font-size: calc(var(--font-size-base) * 2.4);
  }
  .m-post-empty__text.en {
    font-size: calc(var(--font-size-base) * 2.8);
  }
  .m-post-empty__image {
    width: 28rem;
  }
}
@media screen and (max-width: 811px) {
  .m-post-empty {
    row-gap: 2.4rem;
  }
  .m-post-empty__text {
    font-size: calc(var(--font-size-base) * 2);
  }
  .m-post-empty__image {
    width: 20rem;
  }
}

.sc-container:has(.m-post-empty) .m-post-idx__tags {
  display: none;
}

/* akiya idx
============================================================ */
.m-akiya-idx__item {
  position: relative;
  display: none;
}
.m-akiya-idx__item.is-visible {
  display: block;
}
.m-akiya-idx__item__check {
  position: absolute;
  line-height: 0;
  z-index: 1;
}
.m-akiya-idx__item__link {
  display: block;
  height: 100%;
  text-decoration: none;
}
@media (hover: hover) {
  .m-akiya-idx__item__link {
    transition: opacity 0.3s ease;
  }
  .m-akiya-idx__item__link:hover {
    opacity: 0.7;
  }
}
.m-akiya-idx__item__container {
  position: relative;
  color: var(--color-primary);
  border-radius: 0.8rem;
  border: 2px solid var(--color-primary);
  background-color: var(--color-base-invert);
  overflow: hidden;
  height: 100%;
}
.m-akiya-idx__item:has(input:checked) .m-akiya-idx__item__container:before {
  content: "";
  position: absolute;
  top: -2px;
  left: -2px;
  right: -2px;
  bottom: -2px;
  background-color: transparent;
  border: 5px solid var(--color-primary);
  border-radius: inherit;
  z-index: 1;
  pointer-events: none;
}
.m-akiya-idx__item__header {
  position: relative;
}
.m-akiya-idx__item__new {
  position: absolute;
  top: 0.8rem;
  right: 0.8rem;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 6rem;
  height: 4rem;
  font-family: "Ubuntu", sans-serif;
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased;
  font-weight: 500;
  font-size: 2.1rem;
  line-height: 0;
  color: var(--color-primary);
  background-color: var(--color-secondary);
  border-radius: 0.6rem;
  z-index: 1;
}
.m-akiya-idx__item__consult {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  justify-content: center;
  align-items: center;
  width: 18rem;
  height: 8rem;
  font-size: 2.4rem;
  font-weight: bold;
  color: var(--color-base-invert);
  background-color: var(--color-primary);
  border-radius: 0.8rem;
  z-index: 1;
}
.m-akiya-idx__item__image {
  aspect-ratio: 324/213;
}
.m-akiya-idx__item__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.m-akiya-idx__item__header:has(.m-akiya-idx__item__consult) .m-akiya-idx__item__image {
  position: relative;
}
.m-akiya-idx__item__header:has(.m-akiya-idx__item__consult) .m-akiya-idx__item__image::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.6);
}
.m-akiya-idx__item__inner {
  padding: 2rem 2.4rem 2.4rem;
}
.m-akiya-idx__item__list {
  display: flex;
  flex-direction: column;
  row-gap: 0.6rem;
  border-left: 2px solid var(--color-primary);
  padding-left: 1.4rem;
}
.m-akiya-idx__item__list li {
  line-height: 1.4;
  font-weight: bold;
}
.m-akiya-idx__item__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 2rem;
}
.m-akiya-idx__item__tags li {
  display: flex;
  justify-content: center;
  align-items: center;
  color: var(--color-primary);
  background-color: var(--color-container-secondary);
  font-size: calc(var(--font-size-base) * 1.2);
  padding: 0.25em 1em;
  border-radius: 3.4rem;
  min-height: 3.4rem;
}
@media screen and (min-width: 812px) {
  .m-akiya-idx {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2.4rem;
  }
  .m-akiya-idx__item__check {
    top: 1.2rem;
    left: 1.2rem;
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 811px) {
  .m-akiya-idx {
    display: flex;
    flex-direction: column;
    gap: 2.4rem;
  }
  .m-akiya-idx__item__check {
    top: 0;
    left: 0;
    width: 6rem;
    height: 6rem;
    padding: 1.2rem;
  }
  .m-akiya-idx__item__check .m-form-item__input {
    font-size: 3.6rem;
  }
  .m-akiya-idx__item__check .m-form-item__input label {
    display: block;
    width: 1em;
    height: 1em;
  }
}

/* faq
============================================================ */
.m-faq__list {
  display: flex;
  flex-direction: column;
}
.m-faq__item {
  border: 1px solid var(--color-primary);
  background-color: var(--color-base-invert);
  border-radius: 0.8rem;
}
.m-faq__item__ttl {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  line-height: 1.4;
  font-weight: bold;
  color: var(--color-primary);
  text-decoration: none;
}
.m-faq__item__ttl:before {
  content: "Q";
  font-family: "Ubuntu", sans-serif;
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased;
  font-weight: 500;
  display: block;
  font-weight: 500;
  line-height: 1;
  position: absolute;
  left: 0;
  top: 50%;
  text-align: center;
  transform: translateY(-50%);
}
.m-faq__item__ttl .icon-accordion {
  position: absolute;
  right: 0;
  top: 50%;
  width: 1.4rem;
  height: 1.4rem;
  color: var(--color-primary);
  transform: translateY(-50%);
}
.m-faq__item__ttl .icon-accordion:before, .m-faq__item__ttl .icon-accordion:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: currentColor;
}
.m-faq__item__ttl .icon-accordion:before {
  width: 100%;
  height: 2px;
}
.m-faq__item__ttl .icon-accordion:after {
  width: 2px;
  height: 100%;
}
.m-faq__item__ttl[aria-expanded=true] .icon-accordion:after {
  opacity: 0;
}
@media screen and (min-width: 812px) {
  .m-faq__list {
    row-gap: 2.4rem;
  }
  .m-faq__item__ttl {
    padding: 1.6rem 5.4rem;
    min-height: 7.4rem;
  }
  .m-faq__item__ttl:before {
    font-size: 3.2rem;
    width: 5.4rem;
  }
  .m-faq__item__ttl .icon-accordion {
    margin-right: 3.2rem;
  }
  .m-faq__item__inner {
    padding: 0 1.6rem 1.6rem 5.4rem;
  }
}
@media screen and (max-width: 811px) {
  .m-faq__list {
    row-gap: 1rem;
  }
  .m-faq__item__ttl {
    padding: 1.6rem 5.4rem;
    min-height: 7.4rem;
  }
  .m-faq__item__ttl:before {
    font-size: 3.2rem;
    width: 5.4rem;
  }
  .m-faq__item__ttl .icon-accordion {
    margin-right: 2rem;
  }
  .m-faq__item__inner {
    padding: 0 1.6rem 1.6rem 5.4rem;
  }
}

/* js-inview
============================================================ */
.js-inview {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 1s ease, transform 1s ease;
}
.js-inview.isInviewed {
  opacity: 1;
  transform: none;
}

.js-inview-fade {
  opacity: 0;
  transition: opacity 1s ease;
}
.js-inview-fade.isInviewed {
  opacity: 1;
}

/* ============================================================
/* top page
============================================================ */
.sc-top__ttl {
  color: var(--color-primary);
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
  -webkit-text-stroke: 0.2em var(--current-container-color, var(--color-base-invert));
  text-stroke: 0.2em var(--current-container-color, var(--color-base-invert));
  paint-order: stroke;
}
.sc-top__ttl em {
  font-style: normal;
}
.sc-top__balloon {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  text-align: center;
  color: var(--color-primary);
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
  padding: 0.2em 1em;
  border: 2px solid var(--color-primary);
  background-color: var(--color-base-invert);
}
.sc-top__balloon:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  width: 1.9rem;
  height: 1.4rem;
  background-color: var(--color-primary);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  transform: translateX(-50%);
}
.sc-top__balloon:after {
  content: "";
  position: absolute;
  top: calc(100% - 0.5px);
  left: 50%;
  width: 1.3rem;
  height: 1.1rem;
  background-color: var(--color-base-invert);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  transform: translateX(-50%);
}
@media screen and (min-width: 812px) {
  .sc-top__balloon {
    margin-bottom: 1rem;
    font-size: calc(var(--font-size-base) * 2);
    min-height: 5.6rem;
    min-width: 28.4rem;
    border-radius: 5.6rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-top__balloon {
    margin-bottom: 1rem;
    font-size: calc(var(--font-size-base) * 1.7);
    min-height: 3.8rem;
    min-width: 20.5rem;
    border-radius: 3.8rem;
  }
}
@media screen and (min-width: 812px) {
  .sc-top__ttl {
    margin-bottom: 4rem;
    font-size: calc(var(--font-size-base) * 4.8);
  }
  .sc-top__ttl em {
    font-size: calc(var(--font-size-base) * 6);
  }
  .sc-top__ttl .m-icon-nakanaka {
    font-size: calc(var(--font-size-base) * 2.4);
  }
  .sc-top__balloon {
    font-size: calc(var(--font-size-base) * 2.4);
    min-width: 31.5rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-top__ttl {
    font-size: calc(var(--font-size-base) * 3.2);
  }
  .sc-top__ttl .m-icon-nakanaka {
    font-size: calc(var(--font-size-base) * 1.8);
  }
}

/* top mv ==================================================== */
.sc-top-mv__slider .js-slider__controller {
  line-height: 0;
  display: flex;
  align-items: center;
  gap: 1.2rem;
  font-size: 2rem;
}
.sc-top-mv__slider .js-slider__pagination {
  width: auto;
}
.sc-top-mv__slider .js-slider__arrow__prev em {
  transform: rotate(180deg);
}
.sc-top-mv__slider .js-slider__player {
  position: relative;
}
.sc-top-mv__slider .js-slider__player .m-icon-play {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.sc-top-mv__slider:not(.is-autoplay-stop) .m-icon-play {
  opacity: 0;
}
.sc-top-mv__slider.is-autoplay-stop .m-icon-pause {
  opacity: 0;
}
.sc-top-mv__item {
  position: relative;
}
.sc-top-mv__item:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  opacity: 0.3;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgb(0, 0, 0) 100%);
}
.sc-top-mv__item__image {
  height: inherit;
}
.sc-top-mv__item__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.sc-top-mv__item__ttl {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  text-align: center;
}
.sc-top-mv__item__ttl img {
  width: auto;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
}
.sc-top-mv__item__ttl {
  transition: opacity 0.5s ease;
  opacity: 0;
}
.swiper-slide-active .sc-top-mv__item__ttl {
  transition: opacity 1.5s ease 0.5s;
  opacity: 1;
}
@media screen and (min-width: 812px) {
  .sc-top-mv__slider {
    height: 100dvh;
  }
  .sc-top-mv__slider .js-slider__controller {
    position: absolute;
    right: 1.6rem;
    bottom: 1.6rem;
    color: var(--color-white);
    z-index: 1;
  }
  .sc-top-mv__slider .swiper-pagination-bullet {
    opacity: 1;
    background-color: var(--color-white);
  }
  .sc-top-mv__slider .swiper-pagination-bullet-active {
    background-color: var(--color-primary);
  }
  .sc-top-mv__item {
    height: 100dvh;
  }
  .sc-top-mv__item::before {
    height: 20rem;
  }
  .sc-top-mv__item__ttl {
    height: 12rem;
    margin-bottom: 5.4rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-top-mv__slider .js-slider__controller {
    justify-content: center;
    color: var(--color-primary);
    margin-top: 1.6rem;
  }
  .sc-top-mv__slider .swiper-pagination-bullet {
    opacity: 1;
    background-color: var(--color-container-secondary);
  }
  .sc-top-mv__slider .swiper-pagination-bullet-active {
    background-color: var(--color-primary);
  }
  .sc-top-mv__item {
    aspect-ratio: 375/350;
  }
  .sc-top-mv__item::before {
    height: 10rem;
  }
  .sc-top-mv__item__ttl {
    height: 6.5rem;
    margin-bottom: 1.1rem;
  }
}

/* important ==================================================== */
.sc-important {
  display: none;
}
.sc-important:has(.sc-important__item) {
  display: block;
}
.sc-important__inner {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
}
.sc-important__ttl {
  color: var(--color-primary);
  font-family: "Ubuntu", sans-serif;
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased;
  font-weight: 500;
  line-height: 1.2;
}
.sc-important__item {
  position: relative;
}
.sc-important__item:before {
  content: "";
  position: absolute;
  border-left: 1px dotted var(--color-line-primary);
}
.sc-important__item__date {
  font-family: "Ubuntu", sans-serif;
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased;
  font-weight: 500;
  color: var(--color-primary);
}
.sc-important__item a {
  text-decoration: none;
}
@media (hover: hover) {
  .sc-important__item a:hover {
    text-decoration: underline;
  }
}
@media screen and (min-width: 812px) {
  .sc-important {
    padding: 4rem 0 5rem;
  }
  .sc-important__inner {
    -moz-column-gap: 3.5rem;
    column-gap: 3.5rem;
  }
  .sc-important__ttl {
    font-size: calc(var(--font-size-base) * 2.2);
  }
  .sc-important__item:before {
    top: 0.5rem;
    bottom: 0.5rem;
    left: -1.75rem;
  }
  .sc-important__item__inner {
    display: grid;
    grid-template-columns: auto 1fr;
    -moz-column-gap: 1.3rem;
    column-gap: 1.3rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-important {
    padding: 1.6rem 1.4rem 4rem;
  }
  .sc-important__inner {
    -moz-column-gap: 3.2rem;
    column-gap: 3.2rem;
  }
  .sc-important__ttl {
    font-size: calc(var(--font-size-base) * 1.6);
  }
  .sc-important__item:before {
    top: 0.5rem;
    bottom: 0.5rem;
    left: -1.6rem;
  }
  .sc-important__item__date {
    font-size: calc(var(--font-size-base) * 1);
  }
  .sc-important__item__ttl {
    font-size: calc(var(--font-size-base) * 1.3);
  }
}

/* top lead ==================================================== */
.sc-top-lead {
  text-align: center;
}
.sc-top-lead__ill {
  position: absolute;
}
.sc-top-lead .l-inner {
  position: relative;
}
.sc-top-lead__ttl {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  color: var(--color-primary);
  font-weight: bold;
  -webkit-text-stroke: 0.2em var(--current-container-color, var(--color-base-invert));
  text-stroke: 0.2em var(--current-container-color, var(--color-base-invert));
  paint-order: stroke;
}
.sc-top-lead__ttl .sub {
  line-height: 1.5;
}
.sc-top-lead__ttl .main {
  line-height: 1.4;
}
.sc-top-lead__inner {
  position: relative;
  font-weight: bold;
  -webkit-text-stroke: 0.2em var(--current-container-color, var(--color-base-invert));
  text-stroke: 0.2em var(--current-container-color, var(--color-base-invert));
  paint-order: stroke;
}
.sc-top-lead__inner p + p {
  margin-top: 1.8em;
}
@media screen and (min-width: 812px) {
  .sc-top-lead__ill:nth-child(1) {
    width: 20.2rem;
    top: -1rem;
    right: calc(50% + 17rem);
  }
  .sc-top-lead__ill:nth-child(2) {
    width: 15rem;
    top: -1rem;
    left: calc(50% + 42rem);
  }
  .sc-top-lead__ill:nth-child(3) {
    width: 23rem;
    top: calc(50% - 7rem);
    right: calc(50% + 17rem);
  }
  .sc-top-lead__ill:nth-child(4) {
    width: 17.2rem;
    top: calc(50% - 8rem);
    left: calc(50% + 40rem);
  }
  .sc-top-lead__ill:nth-child(5) {
    width: 13.7rem;
    bottom: -4rem;
    right: calc(50% + 12rem);
  }
  .sc-top-lead__ill:nth-child(6) {
    width: 23.6rem;
    bottom: -4rem;
    left: calc(50% + 36rem);
  }
  .sc-top-lead__ttl {
    margin-bottom: 5rem;
    row-gap: 0.4rem;
  }
  .sc-top-lead__ttl .sub {
    font-size: calc(var(--font-size-base) * 2.3);
  }
  .sc-top-lead__ttl .main {
    font-size: calc(var(--font-size-base) * 4.5);
  }
  .sc-top-lead__inner {
    font-size: calc(var(--font-size-base) * 2);
  }
}
@media screen and (max-width: 811px) {
  .sc-top-lead__ill:nth-child(1) {
    width: 9.8rem;
    top: -0.4rem;
    right: calc(50% + 9rem);
  }
  .sc-top-lead__ill:nth-child(2) {
    width: 6.4rem;
    top: -0.4rem;
    left: calc(50% + 10rem);
  }
  .sc-top-lead__ill:nth-child(3) {
    width: 10.6rem;
    right: calc(50% + 5rem);
    bottom: 5rem;
  }
  .sc-top-lead__ill:nth-child(4) {
    display: none;
  }
  .sc-top-lead__ill:nth-child(5) {
    width: 8.2rem;
    right: calc(50% + 0rem);
    bottom: -3rem;
  }
  .sc-top-lead__ill:nth-child(6) {
    width: 12.9rem;
    left: calc(50% + 2rem);
    bottom: 1rem;
  }
  .sc-top-lead__ttl {
    margin-bottom: 2.7rem;
    row-gap: 0.7rem;
  }
  .sc-top-lead__ttl .sub {
    font-size: calc(var(--font-size-base) * 1.6);
  }
  .sc-top-lead__ttl .main {
    font-size: calc(var(--font-size-base) * 2.4);
  }
  .sc-top-lead__inner {
    padding-bottom: 16rem;
    font-size: calc(var(--font-size-base) * 1.6);
  }
}

/* top support ==================================================== */
.sc-top-support .m-tab span {
  position: relative;
}
.sc-top-support .m-tab span:before, .sc-top-support .m-tab span:after {
  content: "";
  position: absolute;
  background: no-repeat center center/contain;
  opacity: 0;
  transform: scale(0);
  transition: opacity 0.3s ease, transform 0.3s ease;
}
.sc-top-support .m-tab span:before {
  aspect-ratio: 40/42;
  background-image: url("../img/top/ill_support_star1.png");
}
.sc-top-support .m-tab span:after {
  aspect-ratio: 24/24;
  background-image: url("../img/top/ill_support_star2.png");
}
.sc-top-support .m-tab[aria-selected=true] span:before, .sc-top-support .m-tab[aria-selected=true] span:after {
  opacity: 1;
  transform: scale(1);
}
@media screen and (min-width: 812px) {
  .sc-top-support .m-tab span:before {
    width: 2rem;
    top: calc(50% - 1.5rem);
    right: calc(100% + 0.5rem);
  }
  .sc-top-support .m-tab span:after {
    width: 1.2rem;
    top: calc(50% + 0rem);
    right: calc(100% - 0.5rem);
  }
}
@media screen and (max-width: 811px) {
  .sc-top-support .m-tab span:before {
    width: 2rem;
    top: calc(50% - 1.5rem);
    right: calc(100% - 0.2rem);
  }
  .sc-top-support .m-tab span:after {
    width: 1.2rem;
    top: calc(50% - 0.5rem);
    left: calc(100% - 0.2rem);
  }
}

/* top childcare ==================================================== */
.sc-top-childcare .l-inner {
  position: relative;
}
.sc-top-childcare__ill {
  position: absolute;
}
.sc-top-childcare__ttl {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  color: var(--color-primary);
  font-weight: bold;
  line-height: 1.4;
  -webkit-text-stroke: 0.2em var(--current-container-color, var(--color-base-invert));
  text-stroke: 0.2em var(--current-container-color, var(--color-base-invert));
  paint-order: stroke;
}
.sc-top-childcare__item {
  border-radius: 0.8rem;
  border: 2px solid var(--color-primary);
  background-color: var(--color-base-invert);
  text-align: center;
}
.sc-top-childcare__item__ttl {
  color: var(--color-primary);
  font-weight: bold;
  line-height: 1.4;
}
@media screen and (min-width: 812px) {
  .sc-top-childcare__ill:nth-child(1) {
    width: 21.2rem;
    top: -5rem;
    right: calc(50% + 28rem);
  }
  .sc-top-childcare__ill:nth-child(2) {
    width: 26.7rem;
    bottom: -17rem;
    left: calc(50% + 36rem);
    z-index: 1;
  }
  .sc-top-childcare__ttl {
    margin-bottom: 3rem;
    row-gap: 0.8rem;
  }
  .sc-top-childcare__ttl .sub {
    font-size: calc(var(--font-size-base) * 3.2);
  }
  .sc-top-childcare__ttl .main {
    font-size: calc(var(--font-size-base) * 4);
  }
  .sc-top-childcare__ttl .main .m-icon-nakanaka {
    font-size: calc(var(--font-size-base) * 2.4);
    transform: translateY(0.2em);
  }
  .sc-top-childcare__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    -moz-column-gap: 2.4rem;
    column-gap: 2.4rem;
  }
  .sc-top-childcare__item {
    padding: 4rem 1.6rem;
  }
  .sc-top-childcare__item__caption {
    margin-bottom: 1.6rem;
  }
  .sc-top-childcare__item__ttl {
    font-size: calc(var(--font-size-base) * 2);
    margin-bottom: 1.2rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-top-childcare__ills {
    position: absolute;
    top: -8rem;
    left: 0;
    right: 0;
    height: 20rem;
    overflow: hidden;
  }
  .sc-top-childcare__ill:nth-child(1) {
    width: 13.1rem;
    top: 0;
    right: calc(50% + 9.6rem);
  }
  .sc-top-childcare__ill:nth-child(2) {
    width: 14rem;
    top: 0;
    left: calc(50% + 8rem);
  }
  .sc-top-childcare__ttl {
    position: relative;
    margin-bottom: 2.4rem;
  }
  .sc-top-childcare__ttl .sub {
    font-size: calc(var(--font-size-base) * 1.6);
  }
  .sc-top-childcare__ttl .main {
    position: relative;
    font-size: calc(var(--font-size-base) * 3.2);
  }
  .sc-top-childcare__ttl .main .m-icon-nakanaka {
    position: absolute;
    top: -0.8em;
    right: calc(50% + 3.5em);
    transform-origin: center right;
    transform: scale(0.4);
  }
  .sc-top-childcare__list {
    display: flex;
    flex-direction: column;
    row-gap: 2.4rem;
  }
  .sc-top-childcare__item {
    padding: 3.2rem 3rem;
  }
  .sc-top-childcare__item__caption {
    margin-bottom: 1.6rem;
  }
  .sc-top-childcare__item__ttl {
    font-size: calc(var(--font-size-base) * 2);
    margin-bottom: 1.2rem;
  }
}

/* top guide ==================================================== */
.sc-top-guide__header {
  position: relative;
}
.sc-top-guide__header .sc-top__ttl {
  position: relative;
  z-index: 2;
}
.sc-top-guide__ill {
  position: absolute;
}
.sc-top-guide__list {
  border-top: 2px solid var(--color-primary);
  border-bottom: 2px solid var(--color-primary);
}
.sc-top-guide__item__link {
  text-decoration: none;
  height: 100%;
}
@media (hover: hover) {
  .sc-top-guide__item__link {
    transition: opacity 0.3s ease;
  }
  .sc-top-guide__item__link:hover {
    opacity: 0.7;
  }
}
.sc-top-guide__item__inner {
  position: relative;
  text-align: center;
  height: 100%;
}
.sc-top-guide__item__ttl {
  line-height: 1.4;
  font-weight: bold;
  color: var(--color-primary);
}
.sc-top-guide__item__ttl .small {
  display: inline-block;
}
.sc-top-guide__item .m-arrow-fill {
  position: absolute;
}
@media screen and (min-width: 812px) {
  .sc-top-guide .sc-top__balloon {
    min-width: 0;
  }
  .sc-top-guide__ill:nth-child(1) {
    width: 33.8rem;
    top: 0.3rem;
    right: calc(50% + 16rem);
  }
  .sc-top-guide__ill:nth-child(2) {
    width: 3.9rem;
    top: 1rem;
    left: calc(50% + 14rem);
  }
  .sc-top-guide__list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    padding: 2.5rem 0;
  }
  .sc-top-guide__item:nth-child(n+2) {
    border-left: 2px dashed var(--color-primary);
  }
  .sc-top-guide__item__inner {
    padding: 2.5rem 2rem 1rem;
  }
  .sc-top-guide__item__ttl {
    margin-bottom: 1rem;
    font-size: calc(var(--font-size-base) * 3.2);
  }
  .sc-top-guide__item__ttl .small {
    font-size: calc(var(--font-size-base) * 2.4);
  }
  .sc-top-guide__item .m-arrow-fill {
    right: 1.2rem;
    bottom: -1.6rem;
    font-size: 3.2rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-top-guide__ill:nth-child(1) {
    position: relative;
    width: 23rem;
    margin: -1rem auto 0;
  }
  .sc-top-guide__ill:nth-child(2) {
    width: 3.9rem;
    top: 0rem;
    left: calc(50% + 11rem);
  }
  .sc-top-guide__item:nth-child(n+2) {
    border-top: 2px dashed var(--color-primary);
  }
  .sc-top-guide__item__inner {
    padding: 1.6rem 0.5rem 2.4rem;
  }
  .sc-top-guide__item__ttl {
    margin-bottom: 1rem;
    font-size: calc(var(--font-size-base) * 2.4);
  }
  .sc-top-guide__item__ttl .small {
    font-size: inherit;
  }
  .sc-top-guide__item .m-arrow-fill {
    right: 0;
    bottom: 1rem;
    font-size: 2.4rem;
  }
}

/* top access ==================================================== */
.sc-top-access__header {
  text-align: center;
}
.sc-top-access__map {
  position: relative;
}
.sc-top-access__map__inner {
  position: absolute;
}
.sc-top-access__map__ttl {
  line-height: 1.2;
  color: var(--color-primary);
  font-weight: bold;
}
.sc-top-access__map__gmap {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-primary);
  font-weight: bold;
  gap: 0.3rem;
  line-height: 1.2;
}
.sc-top-access__map__gmap .m-arrow-fill {
  font-size: 120%;
}
@media screen and (min-width: 812px) {
  .sc-top-access__header {
    margin-bottom: 5.6rem;
  }
  .sc-top-access__list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    -moz-column-gap: 6.3rem;
    column-gap: 6.3rem;
  }
  .sc-top-access__map {
    margin-top: 4rem;
  }
  .sc-top-access__map__inner {
    top: 8rem;
    left: 76rem;
    display: flex;
    align-items: center;
    -moz-column-gap: 1rem;
    column-gap: 1rem;
  }
  .sc-top-access__map__ttl {
    font-size: calc(var(--font-size-base) * 3);
  }
  .sc-top-access__map__gmap {
    font-size: calc(var(--font-size-base) * 1.6);
  }
}
@media screen and (max-width: 811px) {
  .sc-top-access__header {
    margin-bottom: 3rem;
  }
  .sc-top-access__desc {
    margin-top: 1.6rem;
  }
  .sc-top-access__list {
    display: flex;
    flex-direction: column;
    row-gap: 3.2rem;
  }
  .sc-top-access__map {
    margin-top: 3rem;
  }
  .sc-top-access__map__inner {
    top: 26rem;
    left: 19.8rem;
  }
  .sc-top-access__map__ttl {
    font-size: calc(var(--font-size-base) * 2.4);
  }
  .sc-top-access__map__gmap {
    font-size: calc(var(--font-size-base) * 1.5);
  }
}

/* top point ==================================================== */
.sc-top-point__header {
  position: relative;
}
.sc-top-point__header .sc-top__ttl {
  position: relative;
  z-index: 2;
}
.sc-top-point__ill {
  position: absolute;
}
.sc-top-point__item {
  background-color: var(--color-base-invert);
  border: 2px solid var(--color-primary);
  border-radius: 0.8rem;
}
.sc-top-point__item__image {
  aspect-ratio: 324/213;
  border-top-left-radius: 0.6rem;
  border-top-right-radius: 0.6rem;
}
.sc-top-point__item__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  border-radius: inherit;
}
.sc-top-point__item__ttl {
  color: var(--color-primary);
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
}
@media screen and (min-width: 812px) {
  .sc-top-point__ill {
    width: 32.4rem;
    left: calc(50% + 19rem);
    top: 6.3rem;
  }
  .sc-top-point__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    -moz-column-gap: 2.4rem;
    column-gap: 2.4rem;
  }
  .sc-top-point__item__ttl {
    margin-bottom: 1rem;
    font-size: calc(var(--font-size-base) * 2);
  }
  .sc-top-point__item__inner {
    padding: 2rem 2.4rem 3.2rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-top-point__ill {
    position: relative;
    width: 23.5rem;
    margin: 0 auto -0.3rem;
    z-index: 1;
  }
  .sc-top-point__list {
    display: flex;
    flex-direction: column;
    row-gap: 2.4rem;
  }
  .sc-top-point__item__ttl {
    margin-bottom: 1rem;
    font-size: calc(var(--font-size-base) * 2);
  }
  .sc-top-point__item__inner {
    padding: 2rem 2.4rem 3.2rem;
  }
}

/* top promotion ==================================================== */
.sc-top-promotion__header {
  position: relative;
}
.sc-top-promotion__header .sc-top__ttl {
  position: relative;
  z-index: 2;
}
.sc-top-promotion__ill {
  position: absolute;
}
.sc-top-promotion__item__movie {
  aspect-ratio: 16/9;
}
.sc-top-promotion__item__movie iframe {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  border-radius: 0.8rem;
}
.sc-top-promotion__item__ttl {
  line-height: 1.4;
  font-weight: bold;
}
@media screen and (min-width: 812px) {
  .sc-top-promotion__ill {
    width: 30.6rem;
    top: -9.75rem;
    right: calc(50% + 9rem);
    z-index: 1;
  }
  .sc-top-promotion__list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    -moz-column-gap: 2.6rem;
    column-gap: 2.6rem;
  }
  .sc-top-promotion__item__movie {
    margin-bottom: 1.6rem;
  }
  .sc-top-promotion__item__ttl {
    font-size: calc(var(--font-size-base) * 1.6);
  }
}
@media screen and (max-width: 811px) {
  .sc-top-promotion__ill {
    width: 17.8rem;
    top: -6rem;
    right: calc(50% + 3.2rem);
    z-index: 1;
  }
  .sc-top-promotion__list {
    display: flex;
    flex-direction: column;
    row-gap: 2.4rem;
    margin-top: 2.4rem;
  }
  .sc-top-promotion__item__movie {
    margin-bottom: 0.8rem;
  }
  .sc-top-promotion__item__ttl {
    font-size: calc(var(--font-size-base) * 1.5);
  }
}

/* ============================================================
/* subpage page
============================================================ */
.sc-subpage__header {
  position: relative;
  z-index: 0;
}
.sc-subpage__header .l-inner {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  height: 100%;
}
.sc-subpage__image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.sc-subpage__image:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  background: linear-gradient(to bottom, transparent 0%, rgba(0, 0, 0, 0.3) 100%);
}
.sc-subpage__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.sc-subpage__ttl {
  font-weight: bold;
  line-height: 1.4;
  color: var(--color-white);
}
@media screen and (min-width: 812px) {
  .sc-subpage__header {
    height: 20rem;
    background-color: var(--color-primary);
  }
  .sc-subpage__header:has(.sc-subpage__image) {
    height: 40rem;
    background-color: transparent;
  }
  .sc-subpage__image:before {
    height: 17.6rem;
  }
  .sc-subpage__ttl {
    margin-bottom: 3rem;
    font-size: calc(var(--font-size-base) * 4);
    margin-left: -5rem;
  }
}
@media screen and (min-width: 812px) and (max-width: 1440px) {
  .sc-subpage__ttl {
    margin-left: 0;
  }
}
@media screen and (max-width: 811px) {
  .sc-subpage__header {
    height: 8rem;
    background-color: var(--color-primary);
  }
  .sc-subpage__header:has(.sc-subpage__image) {
    height: 24rem;
    background-color: transparent;
  }
  .sc-subpage__image:before {
    height: 12rem;
  }
  .sc-subpage__ttl {
    font-size: calc(var(--font-size-base) * 2.4);
    margin-bottom: 2.4rem;
    padding: 0 1.4rem;
  }
}

/* ============================================================
/* about page
============================================================ */
/* about header
============================================================ */
.sc-about-header__ills {
  position: relative;
  pointer-events: none;
}
.sc-about-header__ill {
  position: absolute;
}
.sc-about-header__text {
  position: relative;
  text-align: center;
  font-weight: bold;
  -webkit-text-stroke: 0.2em var(--current-container-color, var(--color-base-invert));
  text-stroke: 0.2em var(--current-container-color, var(--color-base-invert));
  paint-order: stroke;
  z-index: 1;
}
@media screen and (min-width: 812px) {
  .sc-about-header__text {
    font-size: calc(var(--font-size-base) * 2);
  }
  .sc-about-header .m-pnav {
    margin-top: 2rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-about-header {
    position: relative;
  }
  .sc-about-header__ills {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 15rem;
    overflow: hidden;
  }
  .sc-about-header__text {
    font-size: calc(var(--font-size-base) * 1.6);
  }
  .sc-about-header .m-pnav {
    margin-top: 3.2rem;
  }
}
@media screen and (min-width: 812px) {
  .sc-about-header__ill:nth-child(1) {
    width: 25.2rem;
    top: -0.5rem;
    right: calc(50% + 22rem);
  }
  .sc-about-header__ill:nth-child(2) {
    width: 27.1rem;
    top: -3.5rem;
    left: calc(50% + 24rem);
  }
}
@media screen and (max-width: 811px) {
  .sc-about-header__ills {
    margin-top: -2rem;
  }
  .sc-about-header__ill:nth-child(1) {
    width: 13.1rem;
    top: 3rem;
    left: calc(50% + 7rem);
  }
  .sc-about-header__ill:nth-child(2) {
    width: 15.2rem;
    top: 0;
    right: calc(50% + 2rem);
  }
}

/* about intro
============================================================ */
.sc-about-intro__list__wrap {
  overflow: hidden;
}
.sc-about-intro__list {
  position: relative;
}
.sc-about-intro__list .js-slider__arrow__prev,
.sc-about-intro__list .js-slider__arrow__next {
  font-size: 3.2rem;
  z-index: 1;
}
.sc-about-intro__list .js-slider__arrow__prev .m-arrow-fill {
  transform: scaleX(-1);
}
.sc-about-intro__item {
  border: 2px solid var(--color-primary);
  border-radius: 0.8rem;
  background-color: var(--color-base-invert);
  overflow: hidden;
}
.sc-about-intro__item__image {
  aspect-ratio: 423/400;
}
.sc-about-intro__item__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.sc-about-intro__item__ttl {
  font-weight: bold;
  line-height: 1.4;
  color: var(--color-primary);
}
@media screen and (min-width: 812px) {
  .sc-about-intro__list {
    width: 91rem;
    margin: 0 auto;
  }
  .sc-about-intro__list .swiper {
    overflow: visible;
  }
  .sc-about-intro__list .swiper-slide {
    width: 91rem;
    padding: 0 3.2rem;
  }
  .sc-about-intro__list .js-slider__arrow__prev {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translate(-50%, -50%);
  }
  .sc-about-intro__list .js-slider__arrow__next {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translate(50%, -50%);
  }
  .sc-about-intro__item {
    display: grid;
    grid-template-columns: auto 1fr;
  }
  .sc-about-intro__item__image {
    width: 42.3rem;
  }
  .sc-about-intro__item__inner {
    padding: 4rem 3.2rem;
  }
  .sc-about-intro__item__ttl {
    margin-bottom: 1.6rem;
    font-size: calc(var(--font-size-base) * 2.4);
  }
}
@media screen and (max-width: 811px) {
  .sc-about-intro__list {
    width: 100%;
    padding-top: 1.6rem;
  }
  .sc-about-intro__list .swiper {
    overflow: visible;
  }
  .sc-about-intro__list .swiper-slide {
    opacity: 0 !important;
  }
  .sc-about-intro__list .swiper-slide-prev {
    opacity: 0.3 !important;
  }
  .sc-about-intro__list .swiper-slide-next {
    opacity: 0.3 !important;
  }
  .sc-about-intro__list .swiper-slide-active {
    opacity: 1 !important;
  }
  .sc-about-intro__list .js-slider__controller {
    display: flex;
    align-items: center;
    justify-content: center;
    -moz-column-gap: 1.6rem;
    column-gap: 1.6rem;
    margin-top: 2.4rem;
    line-height: 0;
  }
  .sc-about-intro__item__inner {
    padding: 2.4rem;
  }
  .sc-about-intro__item__ttl {
    margin-bottom: 1.6rem;
    text-align: center;
    font-size: calc(var(--font-size-base) * 2);
  }
}

/* about area
============================================================ */
.sc-about-area__item__ttl {
  font-weight: bold;
  line-height: 1.4;
  color: var(--color-primary);
}
.sc-about-area__item__image img {
  border-radius: 0.8rem;
}
@media screen and (min-width: 812px) {
  .sc-about-area__inner {
    display: grid;
    grid-template-columns: 43.5rem 1fr;
    align-items: center;
  }
  .sc-about-area__map {
    width: 61rem;
    margin-left: -11.7rem;
  }
  .sc-about-area .m-tablist {
    padding: 0 3rem;
    -moz-column-gap: 0.4rem;
    column-gap: 0.4rem;
  }
  .sc-about-area__item__ttl {
    margin-bottom: 1.6rem;
    font-size: calc(var(--font-size-base) * 2.4);
  }
  .sc-about-area__item__text {
    margin-bottom: 1.6rem;
  }
}
@media screen and (min-width: 812px) and (max-width: 1440px) {
  .sc-about-area__map {
    width: 50rem;
    margin-left: -2rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-about-area__map {
    margin-bottom: 3.6rem;
  }
  .sc-about-area__item__ttl {
    text-align: center;
    font-size: calc(var(--font-size-base) * 2);
    margin-bottom: 1.6rem;
  }
  .sc-about-area__item__text {
    margin-bottom: 1.6rem;
  }
}

/* about aruaru
============================================================ */
.sc-about-aruaru__item {
  background-color: var(--color-base-invert);
  border-radius: 0.8rem;
  border: 2px solid var(--color-primary);
}
.sc-about-aruaru__item__ttl {
  color: var(--color-primary);
  font-weight: bold;
  line-height: 1.4;
}
.sc-about-aruaru__item__note {
  margin-top: 0.5em;
  line-height: 1.4;
}
@media screen and (min-width: 812px) {
  .sc-about-aruaru__list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2.4rem;
  }
  .sc-about-aruaru__item {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    padding: 2.4rem;
  }
  .sc-about-aruaru__item__image {
    width: 19.2rem;
    margin-left: -0.5rem;
  }
  .sc-about-aruaru__item__ttl {
    margin-bottom: 0.8rem;
    font-size: calc(var(--font-size-base) * 2);
  }
  .sc-about-aruaru__item__note {
    font-size: calc(var(--font-size-base) * 1);
  }
}
@media screen and (max-width: 811px) {
  .sc-about-aruaru__list {
    display: flex;
    flex-direction: column;
    row-gap: 2.4rem;
  }
  .sc-about-aruaru__item {
    padding: 2rem 2.4rem;
  }
  .sc-about-aruaru__item__image {
    width: 19.2rem;
    margin: 0 auto;
  }
  .sc-about-aruaru__item__ttl {
    margin-bottom: 0.8rem;
    font-size: calc(var(--font-size-base) * 1.7);
    text-align: center;
  }
  .sc-about-aruaru__item__note {
    font-size: calc(var(--font-size-base) * 1);
  }
}

/* ============================================================
/* faq page
============================================================ */
@media screen and (min-width: 812px) {
  .sc-faq-header .m-pnav__list a {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
  .sc-faq-header .m-pnav__icon {
    width: 9rem;
    height: 1.5rem;
    display: flex;
    align-items: flex-end;
  }
}
@media screen and (max-width: 811px) {
  .sc-faq-header .m-pnav__list a {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .sc-faq-header .m-pnav__icon {
    width: 6rem;
  }
}

.sc-faq__header {
  position: relative;
  z-index: 0;
}
.sc-faq__icon {
  position: absolute;
  z-index: -1;
}
.sc-faq:nth-child(odd) .sc-faq__icon {
  right: 50%;
  top: 50%;
  transform: translateY(-50%);
}
.sc-faq:nth-child(even) .sc-faq__icon {
  left: 50%;
  top: 50%;
  transform: translateY(-50%);
}
.sc-faq__ttl {
  color: var(--color-primary);
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
  -webkit-text-stroke: 0.2em var(--current-container-color, var(--color-base-invert));
  text-stroke: 0.2em var(--current-container-color, var(--color-base-invert));
  paint-order: stroke;
}
.sc-faq__ttl em {
  font-style: normal;
}
.sc-faq .m-faq__list {
  position: relative;
}
@media screen and (min-width: 812px) {
  .sc-faq {
    padding-top: 11.6rem;
  }
  .sc-faq__header {
    margin-bottom: 2.4rem;
  }
  .sc-faq__icon {
    width: 19.2rem;
    margin: 0 4rem;
  }
  .sc-faq__icon img[src*=childcare] {
    transform-origin: center top;
    transform: scale(1.3);
  }
  .sc-faq__ttl {
    font-size: calc(var(--font-size-base) * 2.4);
  }
}
@media screen and (max-width: 811px) {
  .sc-faq {
    padding-top: 6.4rem;
  }
  .sc-faq__header {
    margin-bottom: 1.6rem;
  }
  .sc-faq__icon {
    width: 12rem;
    margin: 0 4rem;
  }
  .sc-faq__icon img[src*=childcare] {
    margin-top: 1rem;
  }
  .sc-faq__ttl {
    font-size: calc(var(--font-size-base) * 2);
  }
}

/* ============================================================
/* contact page
============================================================ */
/* ============================================================
/* akiya page
============================================================ */
/* sc-akiya-lead
==================================================== */
.sc-akiya-lead__ills {
  position: relative;
  pointer-events: none;
}
.sc-akiya-lead__ill {
  position: absolute;
}
.sc-akiya-lead__text {
  position: relative;
  text-align: center;
  font-weight: bold;
  -webkit-text-stroke: 0.2em var(--current-container-color, var(--color-base-invert));
  text-stroke: 0.2em var(--current-container-color, var(--color-base-invert));
  paint-order: stroke;
  z-index: 1;
}
@media screen and (min-width: 812px) {
  .sc-akiya-lead__text {
    font-size: calc(var(--font-size-base) * 2);
  }
  .sc-akiya-lead .m-pnav {
    margin-top: 2rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-akiya-lead {
    position: relative;
  }
  .sc-akiya-lead__ills {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 15rem;
    overflow: hidden;
  }
  .sc-akiya-lead__text {
    font-size: calc(var(--font-size-base) * 1.6);
  }
  .sc-akiya-lead .m-pnav {
    margin-top: 3.2rem;
  }
}
@media screen and (min-width: 812px) {
  .sc-akiya-lead__inner {
    position: relative;
  }
  .sc-akiya-lead__ills {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .sc-akiya-lead__ill:nth-child(1) {
    width: 21.6rem;
    top: -8rem;
    right: calc(50% + 34rem);
  }
  .sc-akiya-lead__ill:nth-child(2) {
    width: 20.5rem;
    bottom: -10rem;
    left: calc(50% + 28rem);
  }
}
@media screen and (max-width: 811px) {
  .sc-akiya-lead {
    position: relative;
  }
  .sc-akiya-lead__inner {
    padding: 2rem 0;
  }
  .sc-akiya-lead__ills {
    top: -3rem;
    bottom: -3rem;
    height: auto;
  }
  .sc-akiya-lead__ill:nth-child(1) {
    width: 12.3rem;
    bottom: 0;
    right: calc(50% + 5rem);
    z-index: 1;
  }
  .sc-akiya-lead__ill:nth-child(2) {
    width: 10.6rem;
    top: 0;
    left: calc(50% + 4rem);
  }
}

/* sc-akiya-about
==================================================== */
.sc-akiya-about__image {
  position: relative;
}
.sc-akiya-about__image img {
  border-radius: 0.8rem;
}
.sc-akiya-about__ill {
  position: absolute;
}
@media screen and (min-width: 812px) {
  .sc-akiya-about .l-inner {
    display: flex;
    -moz-column-gap: 5.6rem;
    column-gap: 5.6rem;
    align-items: center;
    flex-direction: row-reverse;
  }
  .sc-akiya-about .sc-header {
    text-align: left;
    margin-bottom: 1.6rem;
  }
  .sc-akiya-about__inner {
    flex: 1;
  }
  .sc-akiya-about__image {
    width: 46.6rem;
  }
  .sc-akiya-about__ill {
    width: 12.7rem;
    right: -2.9rem;
    bottom: -6rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-akiya-about .sc-header {
    margin-bottom: 0.8rem;
  }
  .sc-akiya-about__image {
    margin-top: 3.2rem;
  }
  .sc-akiya-about__ill {
    width: 7.2rem;
    right: 1rem;
    bottom: -3rem;
  }
}

/* sc-akiya-rule  
==================================================== */
.sc-akiya-rule__image {
  position: relative;
}
.sc-akiya-rule__image img {
  border-radius: 0.8rem;
}
.sc-akiya-rule__ill {
  position: absolute;
}
.sc-akiya-rule__content li {
  padding-left: 1em;
  text-indent: -1em;
}
.sc-akiya-rule__content li:before {
  content: "・";
  display: inline-block;
  width: 1em;
  text-indent: 0;
}
@media screen and (min-width: 812px) {
  .sc-akiya-rule .l-inner {
    display: flex;
    -moz-column-gap: 5.6rem;
    column-gap: 5.6rem;
    align-items: center;
  }
  .sc-akiya-rule .sc-header {
    text-align: left;
    margin-bottom: 1.6rem;
  }
  .sc-akiya-rule__inner {
    flex: 1;
  }
  .sc-akiya-rule__image {
    width: 46.6rem;
  }
  .sc-akiya-rule__ill {
    width: 16.9rem;
    left: -4.3rem;
    bottom: -7.5rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-akiya-rule .sc-header {
    margin-bottom: 0.8rem;
  }
  .sc-akiya-rule__image {
    margin-top: 3.2rem;
  }
  .sc-akiya-rule__ill {
    width: 10.1rem;
    left: 1.2rem;
    bottom: -3rem;
  }
}

/* sc-akiya-step
==================================================== */
.sc-akiya-step__list {
  display: flex;
  flex-direction: column;
}
.sc-akiya-step__item {
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr;
  border-radius: 0.8rem;
  background-color: var(--color-base-invert);
}
.sc-akiya-step__item:not(:last-child):before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 4px;
  height: 100%;
  background-color: var(--color-primary);
  transform: translateX(-50%);
  z-index: 1;
}
.sc-akiya-step__item__caption {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1/1;
  font-family: "Ubuntu", sans-serif;
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased;
  font-weight: 500;
  font-weight: 500;
  line-height: 1;
  color: var(--color-secondary);
  border-radius: 0.8rem;
  background-color: var(--color-primary);
}
.sc-akiya-step__item__caption em {
  font-style: normal;
}
.sc-akiya-step__item__ttl {
  font-weight: bold;
  line-height: 1.4;
  color: var(--color-primary);
}
.sc-akiya-step__item__inner a {
  color: var(--color-primary);
}
.sc-akiya-step__item__list dl {
  border-top: 1px solid var(--color-line-primary);
}
.sc-akiya-step__item__list dt {
  font-weight: bold;
}
@media screen and (min-width: 812px) {
  .sc-akiya-step__list {
    row-gap: 2rem;
  }
  .sc-akiya-step__item {
    padding: 2rem;
    -moz-column-gap: 2rem;
    column-gap: 2rem;
  }
  .sc-akiya-step__item:before {
    margin-left: 8.2rem;
    margin-top: 8.2rem;
  }
  .sc-akiya-step__item__caption {
    width: 12.4rem;
    font-size: 2.4rem;
  }
  .sc-akiya-step__item__caption em {
    font-size: 5.4rem;
  }
  .sc-akiya-step__item__inner {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 12.4rem;
  }
  .sc-akiya-step__item__ttl {
    margin-bottom: 0.8rem;
    font-size: calc(var(--font-size-base) * 2);
  }
  .sc-akiya-step__item__list dl {
    display: grid;
    grid-template-columns: auto 1fr;
    -moz-column-gap: 0.8rem;
    column-gap: 0.8rem;
    padding: 1.6rem 0;
  }
  .sc-akiya-step__item__list dt {
    width: 6.5em;
  }
  .sc-akiya-step__item__note {
    font-size: calc(var(--font-size-base) * 1);
  }
}
@media screen and (max-width: 811px) {
  .sc-akiya-step__list {
    row-gap: 2.4rem;
  }
  .sc-akiya-step__item {
    padding: 2.4rem 2.4rem 2.4rem 1rem;
    -moz-column-gap: 1rem;
    column-gap: 1rem;
  }
  .sc-akiya-step__item:before {
    margin-left: 4.2rem;
    margin-top: 5.6rem;
  }
  .sc-akiya-step__item__caption {
    width: 6.4rem;
    font-size: 1.6rem;
  }
  .sc-akiya-step__item__caption em {
    font-size: 4rem;
  }
  .sc-akiya-step__item__ttl {
    margin-bottom: 0.8rem;
    font-size: calc(var(--font-size-base) * 1.7);
  }
  .sc-akiya-step__item__list dl {
    padding: 1.6rem 0;
  }
  .sc-akiya-step__item__list dt {
    margin-bottom: 0.8rem;
  }
  .sc-akiya-step__item__note {
    font-size: calc(var(--font-size-base) * 1);
  }
}

/* sc-akiya-faq
==================================================== */
.sc-akiya-faq .sc-header {
  position: relative;
  z-index: 0;
}
.sc-akiya-faq__ill {
  position: absolute;
  z-index: -1;
}
.sc-akiya-faq__inner {
  position: relative;
}
@media screen and (min-width: 812px) {
  .sc-akiya-faq__ill {
    width: 11.8rem;
    top: -3.5rem;
    left: calc(50% + 16rem);
  }
}
@media screen and (max-width: 811px) {
  .sc-akiya-faq__ill {
    width: 7.5rem;
    top: -9rem;
    left: calc(50% + 8rem);
  }
}

/* sc-akiya-area
==================================================== */
.sc-akiya-area__list {
  display: flex;
  flex-direction: column;
}
.sc-akiya-area__item {
  background-color: var(--color-base-invert);
  border-radius: 0.8rem;
}
.sc-akiya-area__item__ttl {
  font-weight: bold;
  line-height: 1.4;
  color: var(--color-primary);
}
.sc-akiya-area__item__image img {
  border-radius: 0.8rem;
}
@media screen and (min-width: 812px) {
  .sc-akiya-area__inner {
    display: grid;
    grid-template-columns: 43.5rem 1fr;
    align-items: center;
  }
  .sc-akiya-area__map {
    width: 61rem;
    margin-left: -11.7rem;
  }
  .sc-akiya-area__list {
    row-gap: 1.6rem;
  }
  .sc-akiya-area__item {
    padding: 2.4rem 1.6rem 2.4rem 2.4rem;
  }
  .sc-akiya-area__item__ttl {
    margin-bottom: 0.8rem;
    font-size: calc(var(--font-size-base) * 2);
  }
}
@media screen and (min-width: 812px) and (max-width: 1440px) {
  .sc-akiya-area__map {
    width: 50rem;
    margin-left: -2rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-akiya-area__map {
    margin-bottom: 3.6rem;
  }
  .sc-akiya-area__list {
    row-gap: 2.4rem;
  }
  .sc-akiya-area__item {
    padding: 2.4rem;
  }
  .sc-akiya-area__item__ttl {
    font-size: calc(var(--font-size-base) * 1.7);
    margin-bottom: 0.8rem;
  }
}

/* sc-akiya-search
==================================================== */
.sc-akiya-search .sc-ttl {
  display: flex;
  align-items: center;
  justify-content: center;
  -moz-column-gap: 0.5rem;
  column-gap: 0.5rem;
}
.sc-akiya-search__contact {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  text-align: center;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 99;
  background-color: rgba(var(--color-base-invert-rgb), 0.9);
  transform: translateY(110%);
  transition: transform 0.3s ease;
}
body.is_fixed_akiya_search_result .sc-akiya-search__contact {
  transform: translateY(0);
}
.sc-akiya-search__contact .l-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
@media screen and (min-width: 812px) {
  .sc-akiya-search .sc-ttl .m-icon-search {
    font-size: 5.4rem;
  }
  .sc-akiya-search__contact {
    padding: 1.6rem 0;
    font-size: calc(var(--font-size-base) * 1.4);
  }
  .sc-akiya-search__contact .l-inner {
    row-gap: 1rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-akiya-search__contact {
    padding: 0.8rem 0 2rem;
    font-size: calc(var(--font-size-base) * 1.2);
  }
  .sc-akiya-search__contact .l-inner {
    row-gap: 0.6rem;
  }
  .sc-akiya-search__contact .m-btn {
    min-height: 4rem;
  }
}

.sc-akiya-search-sort {
  position: relative;
  color: var(--color-primary);
  border: 2px solid var(--color-primary);
  background-color: var(--color-base-invert);
  border-radius: 0.8rem;
}
.sc-akiya-search-sort__list {
  display: flex;
  flex-direction: column;
}
.sc-akiya-search-sort__list dt {
  border-bottom: 1px solid var(--color-primary);
  font-weight: bold;
  line-height: 1.4;
}
.sc-akiya-search-sort__list dd {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 1.6rem;
}
.sc-akiya-search-sort__list label {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  text-align: center;
  padding: 0.2em 1em;
  border-radius: 3.5rem;
  background-color: var(--color-container-secondary);
  cursor: pointer;
  border: 2px solid transparent;
}
@media (hover: hover) {
  .sc-akiya-search-sort__list label {
    transition: opacity 0.3s ease;
  }
  .sc-akiya-search-sort__list label:hover {
    opacity: 0.7;
  }
}
.sc-akiya-search-sort__list label input {
  display: none;
}
.sc-akiya-search-sort__list label:has(input:checked) {
  color: var(--color-base-invert);
  background-color: var(--color-primary);
}
.sc-akiya-search-sort__submit {
  display: flex;
  justify-content: center;
  align-items: center;
}
.sc-akiya-search-sort__submit .m-btn .m-icon-search {
  position: absolute;
  top: 50%;
  right: 2rem;
  font-size: 2.4rem;
  transform: translateY(-50%);
}
.sc-akiya-search-sort__result__wrap {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-weight: bold;
  line-height: 1.4;
  color: var(--color-base-invert);
  padding: 1em 1em;
  background-color: var(--color-base);
  border-radius: 0.8rem;
  white-space: nowrap;
  z-index: 10;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
.sc-akiya-search__container.visible-result .sc-akiya-search-sort__result__wrap {
  opacity: 1;
  visibility: visible;
}
.sc-akiya-search__container.visible-result .sc-akiya-search-sort {
  pointer-events: none;
}
.sc-akiya-search__container.loading .sc-akiya-search-sort {
  pointer-events: none;
}
.sc-akiya-search__container.loading .sc-akiya-search-sort:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: block;
  width: 5rem;
  height: 5rem;
  border: 3px solid var(--color-base);
  border-top: 3px solid transparent;
  border-radius: 50%;
  animation: loading-spin 0.5s linear 0s infinite;
}
@keyframes loading-spin {
  0% {
    transform: translate(-50%, -50%) rotate(0deg);
  }
  100% {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}
@media screen and (min-width: 812px) {
  .sc-akiya-search-sort {
    padding: 4.8rem;
    max-width: 84.6rem;
    margin: 0 auto 6rem;
  }
  .sc-akiya-search-sort__list {
    row-gap: 3.2rem;
  }
  .sc-akiya-search-sort__list dt {
    display: flex;
    align-items: center;
    -moz-column-gap: 0.5rem;
    column-gap: 0.5rem;
    font-size: calc(var(--font-size-base) * 2);
  }
  .sc-akiya-search-sort__list dt small {
    font-size: calc(var(--font-size-base) * 1);
  }
  .sc-akiya-search-sort__list label {
    min-height: 3.7rem;
    font-size: calc(var(--font-size-base) * 1.4);
  }
  .sc-akiya-search-sort__submit {
    margin-top: 4rem;
  }
  .sc-akiya-search-sort__result {
    font-size: calc(var(--font-size-base) * 2);
  }
  .sc-akiya-search-sort__result span {
    font-size: calc(var(--font-size-base) * 4.8);
  }
}
@media screen and (max-width: 811px) {
  .sc-akiya-search-sort {
    padding: 2.4rem;
    margin-bottom: 4rem;
  }
  .sc-akiya-search-sort__list {
    row-gap: 3.2rem;
  }
  .sc-akiya-search-sort__list dt {
    display: flex;
    flex-direction: column;
    row-gap: 0.5rem;
    padding-bottom: 0.6rem;
    font-size: calc(var(--font-size-base) * 1.7);
  }
  .sc-akiya-search-sort__list dt small {
    font-size: calc(var(--font-size-base) * 1.1);
  }
  .sc-akiya-search-sort__list label {
    min-height: 3.5rem;
    font-size: calc(var(--font-size-base) * 1.3);
  }
  .sc-akiya-search-sort__submit {
    margin-top: 2.4rem;
  }
  .sc-akiya-search-sort__result {
    font-size: calc(var(--font-size-base) * 1.6);
  }
  .sc-akiya-search-sort__result span {
    font-size: calc(var(--font-size-base) * 4);
  }
}

.sc-akiya-search-result__header {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.sc-akiya-search-result__ttl {
  font-weight: bold;
  line-height: 1.4;
  color: var(--color-primary);
}
.sc-akiya-search-result__ttl span {
  display: inline-block;
  min-width: 1em;
}
.sc-akiya-search-result__desc [aria-hidden=true] {
  display: none;
}
.sc-akiya-search-result__more {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 4rem;
}
.sc-akiya-search-result__more .m-btn {
  background-color: var(--color-container-primary);
}
.sc-akiya-search-result__more .m-btn .m-arrow:before {
  transform: rotate(90deg);
}
.sc-akiya-search-result__more .m-btn.is-disabled {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.sc-akiya-search-result__more:has(.is-disabled) {
  display: none;
}
.sc-akiya-search__container:not(.loading) .sc-akiya-search-result {
  animation: fadeIn 0.5s ease forwards;
}
.sc-akiya-search__container.loading .sc-akiya-search-result {
  position: relative;
  min-height: 5rem;
  overflow: hidden;
}
.sc-akiya-search__container.loading .sc-akiya-search-result > * {
  opacity: 0;
}
.sc-akiya-search__container.loading .sc-akiya-search-result:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: block;
  width: 5rem;
  height: 5rem;
  border: 3px solid var(--color-base);
  border-top: 3px solid transparent;
  border-radius: 50%;
  animation: loading-spin 0.5s linear 0s infinite;
}
@keyframes fadeIn {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }
  100% {
    opacity: 1;
    transform: none;
  }
}
@keyframes loading-spin {
  0% {
    transform: translate(-50%, -50%) rotate(0deg);
  }
  100% {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}
@media screen and (min-width: 812px) {
  .sc-akiya-search-result__header {
    margin-bottom: 4rem;
  }
  .sc-akiya-search-result__ttl {
    font-size: calc(var(--font-size-base) * 3.2);
  }
  .sc-akiya-search-result__ttl span {
    font-size: calc(var(--font-size-base) * 6.4);
  }
}
@media screen and (max-width: 811px) {
  .sc-akiya-search-result__more .m-btn {
    min-width: 27.5rem;
  }
  .sc-akiya-search-result__header {
    margin-bottom: 4rem;
  }
  .sc-akiya-search-result__ttl {
    font-size: calc(var(--font-size-base) * 2.4);
  }
  .sc-akiya-search-result__ttl span {
    font-size: calc(var(--font-size-base) * 4.8);
  }
}

/* sc-akiya-registry
==================================================== */
.sc-akiya-registry {
  --current-container-color: var(--color-primary);
}
.sc-akiya-registry__link {
  display: block;
  text-decoration: none;
}
@media (hover: hover) {
  .sc-akiya-registry__link {
    transition: opacity 0.3s ease;
  }
  .sc-akiya-registry__link:hover {
    opacity: 0.7;
  }
}
.sc-akiya-registry__inner {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: var(--color-secondary);
  background-color: var(--color-primary);
  border-radius: 0.8rem;
}
.sc-akiya-registry__ill {
  position: absolute;
}
.sc-akiya-registry__ttl {
  position: relative;
  line-height: 1.4;
  font-weight: bold;
  -webkit-text-stroke: 0.2em var(--current-container-color, var(--color-base-invert));
  text-stroke: 0.2em var(--current-container-color, var(--color-base-invert));
  paint-order: stroke;
}
.sc-akiya-registry__more {
  position: absolute;
  bottom: 0;
  right: 0;
  line-height: 0;
}
.sc-akiya-registry__more .m-arrow-fill {
  background-color: var(--color-base-invert);
  color: var(--color-primary);
}
.sc-akiya-registry__balloon {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  text-align: center;
  color: var(--color-primary);
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
  padding: 0.2em 1em;
  border: 2px solid var(--color-primary);
  background-color: var(--color-base-invert);
}
.sc-akiya-registry__balloon:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  width: 1.9rem;
  height: 1.4rem;
  background-color: var(--color-primary);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  transform: translateX(-50%);
}
.sc-akiya-registry__balloon:after {
  content: "";
  position: absolute;
  top: calc(100% - 0.5px);
  left: 50%;
  width: 1.3rem;
  height: 1.1rem;
  background-color: var(--color-base-invert);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  transform: translateX(-50%);
}
@media screen and (min-width: 812px) {
  .sc-akiya-registry__balloon {
    margin-bottom: 1rem;
    font-size: calc(var(--font-size-base) * 2);
    min-height: 5.6rem;
    min-width: 28.4rem;
    border-radius: 5.6rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-akiya-registry__balloon {
    margin-bottom: 1rem;
    font-size: calc(var(--font-size-base) * 1.7);
    min-height: 3.8rem;
    min-width: 20.5rem;
    border-radius: 3.8rem;
  }
}
.sc-akiya-registry__balloon {
  position: absolute;
  left: 50%;
  bottom: 100%;
  margin-bottom: -0.6rem;
  transform: translateX(-50%);
  z-index: 1;
}
@media screen and (min-width: 812px) {
  .sc-akiya-registry__inner {
    min-height: 18.4rem;
  }
  .sc-akiya-registry__balloon {
    font-size: calc(var(--font-size-base) * 2.4);
    margin-bottom: -2.8rem;
  }
  .sc-akiya-registry__ttl {
    font-size: calc(var(--font-size-base) * 2.4);
  }
  .sc-akiya-registry__ill {
    width: 20rem;
  }
  .sc-akiya-registry__ill:nth-child(1) {
    top: -2rem;
    left: 3rem;
  }
  .sc-akiya-registry__ill:nth-child(2) {
    top: -3rem;
    right: 5.8rem;
  }
  .sc-akiya-registry__more {
    bottom: 1.5rem;
    right: 1.5rem;
    font-size: 3.2rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-akiya-registry {
    margin-top: 4rem;
  }
  .sc-akiya-registry__inner {
    min-height: 25.3rem;
  }
  .sc-akiya-registry__balloon {
    min-height: 7rem;
    min-width: 25.5rem;
    border-radius: 7rem;
    margin-bottom: -3.5rem;
  }
  .sc-akiya-registry__ttl {
    font-size: calc(var(--font-size-base) * 2.4);
  }
  .sc-akiya-registry__ills {
    position: absolute;
    top: -5rem;
    left: 50%;
    width: 100vw;
    height: 100%;
    overflow: hidden;
    transform: translateX(-50%);
    z-index: 2;
    pointer-events: none;
  }
  .sc-akiya-registry__ill:nth-child(1) {
    width: 12rem;
    top: 0;
    right: calc(50% + 9.5rem);
  }
  .sc-akiya-registry__ill:nth-child(2) {
    width: 10rem;
    top: 0;
    left: calc(50% + 9rem);
  }
  .sc-akiya-registry__more {
    bottom: 1.5rem;
    right: 1.5rem;
    font-size: 3.2rem;
  }
}

/* sc-akiya-dtl
==================================================== */
.sc-akiya-dtl__consult {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-caution);
  border: 1px solid var(--color-caution);
  background-color: var(--color-base-invert);
  border-radius: 0.8rem;
  padding: 0.2em 1em;
  text-align: center;
  font-weight: bold;
  line-height: 1.4;
}
.sc-akiya-dtl__image {
  position: relative;
}
.sc-akiya-dtl__image .swiper-slide {
  border-radius: 0.8rem;
  aspect-ratio: 4/3;
  background-color: var(--color-container-primary);
}
.sc-akiya-dtl__image .swiper-slide img {
  border-radius: inherit;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
}
.sc-akiya-dtl__image .js-slider__arrow__prev .m-arrow-fill {
  transform: scaleX(-1);
}
.sc-akiya-dtl__image .js-slider__pagination {
  width: -moz-fit-content;
  width: fit-content;
}
.sc-akiya-dtl__image .js-slider__pagination .swiper-pagination-bullet {
  background-color: var(--color-base-invert);
  opacity: 1;
}
.sc-akiya-dtl__image .js-slider__pagination .swiper-pagination-bullet-active {
  background-color: var(--color-primary);
}
.sc-akiya-dtl__image .js-slider__controller {
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  line-height: 0;
}
.sc-akiya-dtl__ttl {
  display: flex;
  align-items: center;
  color: var(--color-primary);
  font-weight: bold;
  line-height: 1.4;
}
.sc-akiya-dtl__ttl span {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.2em 0.7em;
  border: 2px solid;
  background-color: var(--color-container-primary);
}
.sc-akiya-dtl__ttl em {
  font-style: normal;
}
.sc-akiya-dtl__list {
  display: flex;
  flex-direction: column;
  row-gap: 0.6rem;
  border-left: 2px solid var(--color-primary);
  padding-left: 1.4rem;
  color: var(--color-primary);
}
.sc-akiya-dtl__list li {
  line-height: 1.4;
  font-weight: bold;
}
.sc-akiya-dtl__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 2.4rem;
}
.sc-akiya-dtl__tags li {
  display: flex;
  justify-content: center;
  align-items: center;
  color: var(--color-primary);
  background-color: var(--color-base-invert);
  font-size: calc(var(--font-size-base) * 1.2);
  padding: 0.25em 1em;
  border-radius: 3.4rem;
  min-height: 3.4rem;
}
.sc-akiya-dtl__caution {
  color: var(--color-caution);
  border: 1px solid var(--color-caution);
  background-color: var(--color-base-invert);
  border-radius: 0.8rem;
}
.sc-akiya-dtl__caution__ttl {
  font-weight: bold;
  line-height: 1.4;
}
@media screen and (min-width: 812px) {
  .sc-akiya-dtl {
    max-width: 84.6rem;
    margin: 0 auto;
  }
  .sc-akiya-dtl__consult {
    margin-bottom: 2.4rem;
    font-size: calc(var(--font-size-base) * 2);
    min-height: 4.1rem;
  }
  .sc-akiya-dtl__image {
    margin-bottom: 3rem;
  }
  .sc-akiya-dtl__image .js-slider__arrow__prev,
  .sc-akiya-dtl__image .js-slider__arrow__next {
    font-size: 3.2rem;
    z-index: 1;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
  }
  .sc-akiya-dtl__image .js-slider__arrow__prev {
    right: calc(100% + 2.4rem);
  }
  .sc-akiya-dtl__image .js-slider__arrow__next {
    left: calc(100% + 2.4rem);
  }
  .sc-akiya-dtl__image .js-slider__controller {
    margin-top: 2.4rem;
  }
  .sc-akiya-dtl__ttl {
    margin-bottom: 2.4rem;
    -moz-column-gap: 1.6rem;
    column-gap: 1.6rem;
  }
  .sc-akiya-dtl__ttl span {
    font-size: calc(var(--font-size-base) * 2);
    min-height: 4.1rem;
    border-radius: 4.1rem;
  }
  .sc-akiya-dtl__ttl em {
    font-size: calc(var(--font-size-base) * 3.2);
  }
  .sc-akiya-dtl__caution {
    padding: 3.2rem;
    margin-top: 4rem;
  }
  .sc-akiya-dtl__caution__ttl {
    margin-bottom: 0.8rem;
    font-size: calc(var(--font-size-base) * 2);
  }
}
@media screen and (max-width: 811px) {
  .sc-akiya-dtl__consult {
    margin-bottom: 2.4rem;
    font-size: calc(var(--font-size-base) * 1.7);
    min-height: 4.1rem;
  }
  .sc-akiya-dtl__image {
    margin-bottom: 3rem;
  }
  .sc-akiya-dtl__image .js-slider__arrow__prev,
  .sc-akiya-dtl__image .js-slider__arrow__next {
    font-size: 3.2rem;
  }
  .sc-akiya-dtl__image .js-slider__controller {
    margin-top: 2.4rem;
    display: flex;
    align-items: center;
    justify-content: center;
    -moz-column-gap: 1.6rem;
    column-gap: 1.6rem;
  }
  .sc-akiya-dtl__ttl {
    margin-bottom: 1.6rem;
    -moz-column-gap: 1.6rem;
    column-gap: 1.6rem;
  }
  .sc-akiya-dtl__ttl span {
    font-size: calc(var(--font-size-base) * 1.5);
    min-height: 4.1rem;
    border-radius: 4.1rem;
  }
  .sc-akiya-dtl__ttl em {
    font-size: calc(var(--font-size-base) * 2.4);
  }
  .sc-akiya-dtl__caution {
    padding: 1.6rem;
    margin-top: 2.4rem;
  }
  .sc-akiya-dtl__caution__ttl {
    margin-bottom: 0.8rem;
    font-size: calc(var(--font-size-base) * 1.7);
  }
}

/* sc-akiya-summary
==================================================== */
.sc-akiya-summary__table {
  table-layout: fixed;
  width: 100%;
  border-collapse: collapse;
  background-color: var(--color-base-invert);
}
.sc-akiya-summary__table th,
.sc-akiya-summary__table td {
  border-top: 1px solid var(--color-line-primary);
  border-bottom: 1px solid var(--color-line-primary);
}
.sc-akiya-summary__table th {
  vertical-align: middle;
  font-weight: bold;
  background-color: var(--color-container-secondary);
}
.sc-akiya-summary__table iframe {
  width: 100%;
  margin-bottom: 1rem;
}
.sc-akiya-summary__table a {
  display: inline-flex;
  align-items: center;
  color: var(--color-primary);
  -moz-column-gap: 0.7em;
  column-gap: 0.7em;
}
.sc-akiya-summary__table a .m-arrow-fill {
  font-size: 130%;
}
@media screen and (min-width: 812px) {
  .sc-akiya-summary {
    max-width: 84.6rem;
    margin: 0 auto;
  }
  .sc-akiya-summary__table th,
  .sc-akiya-summary__table td {
    padding: 1em;
  }
  .sc-akiya-summary__table th {
    width: 26rem;
  }
  .sc-akiya-summary__table iframe {
    height: 29rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-akiya-summary__table th,
  .sc-akiya-summary__table td {
    padding: 0.5em 0.7em;
  }
  .sc-akiya-summary__table th {
    width: 15rem;
  }
  .sc-akiya-summary__table iframe {
    height: 24rem;
  }
}

/* sc-akiya-contact
==================================================== */
.sc-akiya-contact__header {
  position: relative;
}
.sc-akiya-contact__ttl {
  line-height: 1.4;
  font-weight: bold;
  color: var(--color-primary);
  text-align: center;
  -webkit-text-stroke: 0.2em var(--current-container-color, var(--color-base-invert));
  text-stroke: 0.2em var(--current-container-color, var(--color-base-invert));
  paint-order: stroke;
}
.sc-akiya-contact__ill {
  position: absolute;
}
@media screen and (min-width: 812px) {
  .sc-akiya-contact__header {
    padding-bottom: 3rem;
  }
  .sc-akiya-contact__ttl {
    font-size: calc(var(--font-size-base) * 2.4);
  }
  .sc-akiya-contact__ill {
    width: 28rem;
    bottom: 0;
    right: calc(50% + 14rem);
  }
}
@media screen and (max-width: 811px) {
  .sc-akiya-contact__header {
    padding-bottom: 6.8rem;
  }
  .sc-akiya-contact__ttl {
    font-size: calc(var(--font-size-base) * 2);
  }
  .sc-akiya-contact__ill {
    width: 15rem;
    bottom: -1rem;
    left: 50%;
    transform: translateX(-50%);
  }
}

/* ============================================================
/* articles page
============================================================ */
/* sc-article-filter
==================================================== */
.sc-article-filter + .sc-article-filter {
  border-top: 1px solid var(--color-line-primary);
}
.sc-article-filter__ttl {
  display: flex;
  flex-direction: column;
}
.sc-article-filter__ttl .main {
  font-family: "Ubuntu", sans-serif;
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased;
  font-weight: 500;
  font-weight: 500;
  line-height: 1;
  color: var(--color-primary);
}
.sc-article-filter__ttl .sub {
  font-weight: bold;
  line-height: 1.4;
  margin-top: 0.5em;
}
.sc-article-filter__list {
  display: flex;
  flex-wrap: wrap;
}
.sc-article-filter__list a,
.sc-article-filter__list button {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  text-align: center;
  padding: 0.2em 1em;
  border-radius: 3.5rem;
  color: var(--color-primary);
  background-color: var(--color-base-invert);
  border: 2px solid transparent;
  text-decoration: none;
}
@media (hover: hover) {
  .sc-article-filter__list a,
  .sc-article-filter__list button {
    transition: opacity 0.3s ease;
  }
  .sc-article-filter__list a:hover,
  .sc-article-filter__list button:hover {
    opacity: 0.7;
  }
}
.sc-article-filter__list a input,
.sc-article-filter__list button input {
  display: none;
}
.sc-article-filter__list a:has(input:checked),
.sc-article-filter__list button:has(input:checked) {
  border: 2px solid var(--color-primary);
}
.sc-article-filter__list a.is-active,
.sc-article-filter__list button.is-active {
  border: 2px solid var(--color-primary);
}
.sc-article-filter:not(.full) li:nth-child(n+11) {
  display: none;
}
.sc-article-filter:has(li:nth-child(11)) .sc-article-filter__more {
  display: block;
}
.sc-article-filter__more {
  display: none;
}
.sc-article-filter__more__inner {
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}
.sc-article-filter__more__inner:before, .sc-article-filter__more__inner:after {
  content: "";
  position: absolute;
  top: 50%;
  height: 0;
  border-top: 1px solid var(--color-primary);
  transform: translateY(-50%);
}
.sc-article-filter__more .m-btn span, .sc-article-filter__more .m-btn:after {
  transition: opacity 0.3s ease;
}
.sc-article-filter__more .m-btn:after {
  content: attr(data-text-open);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
}
.sc-article-filter__more .m-arrow-fill:before {
  transform: rotate(90deg);
}
.sc-article-filter.full .sc-article-filter__more .m-btn span {
  opacity: 0;
}
.sc-article-filter.full .sc-article-filter__more .m-btn:after {
  opacity: 1;
}
.sc-article-filter.full .sc-article-filter__more .m-btn .m-arrow-fill:before {
  transform: rotate(270deg);
}
@media screen and (min-width: 812px) {
  .sc-article-filter + .sc-article-filter {
    margin-top: 4rem;
    padding-top: 4rem;
  }
  .sc-article-filter__inner {
    display: grid;
    grid-template-columns: 19rem 1fr;
    align-items: flex-start;
  }
  .sc-article-filter__ttl .main {
    font-size: 3.2rem;
  }
  .sc-article-filter__ttl .sub {
    font-size: calc(var(--font-size-base) * 1.6);
  }
  .sc-article-filter__list {
    gap: 1rem;
  }
  .sc-article-filter__list a {
    min-height: 4.1rem;
  }
  .sc-article-filter__more {
    margin-top: 4rem;
  }
  .sc-article-filter__more__inner:before {
    width: 4rem;
    right: calc(100% + 1.6rem);
  }
  .sc-article-filter__more__inner:after {
    width: 4rem;
    left: calc(100% + 1.6rem);
  }
}
@media screen and (max-width: 811px) {
  .sc-article-filter + .sc-article-filter {
    margin-top: 3.2rem;
    padding-top: 3.2rem;
  }
  .sc-article-filter__ttl {
    margin-bottom: 2rem;
    flex-direction: row;
    align-items: baseline;
    -moz-column-gap: 1rem;
    column-gap: 1rem;
  }
  .sc-article-filter__ttl .main {
    font-size: calc(var(--font-size-base) * 3.2);
  }
  .sc-article-filter__ttl .sub {
    font-size: calc(var(--font-size-base) * 1.5);
  }
  .sc-article-filter__list {
    gap: 0.6rem;
  }
  .sc-article-filter__more {
    margin-top: 3.2rem;
  }
  .sc-article-filter__more__inner:before {
    width: 2.4rem;
    right: calc(100% + 1rem);
  }
  .sc-article-filter__more__inner:after {
    width: 2.4rem;
    left: calc(100% + 1rem);
  }
  .sc-article-filter__more .m-btn {
    min-width: 21rem;
    min-height: 4rem;
    font-size: calc(var(--font-size-base) * 1.6);
  }
  .sc-article-filter__more .m-arrow-fill {
    right: 1rem;
  }
}

/* sc-article-idx
==================================================== */
@media screen and (min-width: 812px) {
  .sc-article-idx {
    margin-top: 8rem;
  }
  .sc-article-idx .m-pagination {
    margin-top: 10rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-article-idx {
    margin-top: 4rem;
  }
  .sc-article-idx .m-pagination {
    margin-top: 3.2rem;
  }
}

/*  sc-article
==================================================== */
.sc-article__header {
  position: relative;
  z-index: 0;
}
.sc-article__header .l-inner {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  height: 100%;
}
.sc-article__image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.sc-article__image:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  background: linear-gradient(to bottom, transparent 0%, rgba(0, 0, 0, 0.3) 100%);
}
.sc-article__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.sc-article__ttl {
  font-weight: bold;
  line-height: 1.4;
  color: var(--color-white);
}
@media screen and (min-width: 812px) {
  .sc-article__header {
    height: 75.6rem;
  }
  .sc-article__image:before {
    height: 20rem;
  }
  .sc-article__ttl {
    margin-bottom: 3rem;
    font-size: calc(var(--font-size-base) * 3.2);
    margin-left: -5rem;
  }
}
@media screen and (min-width: 812px) and (max-width: 1440px) {
  .sc-article__ttl {
    margin-left: 0;
  }
}
@media screen and (max-width: 811px) {
  .sc-article__header {
    height: 35rem;
  }
  .sc-article__image:before {
    height: 12rem;
  }
  .sc-article__ttl {
    font-size: calc(var(--font-size-base) * 2);
    margin-bottom: 2rem;
    padding: 0 1.4rem;
  }
}

/*  sc-article-meta
==================================================== */
.sc-article-meta {
  display: flex;
  color: var(--color-primary);
  line-height: 1.4;
}
.sc-article-meta__date {
  position: relative;
  font-family: "Ubuntu", sans-serif;
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased;
  font-weight: 500;
}
.sc-article-meta__date:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 100%;
  width: 0;
  height: 1em;
  border-right: 1px solid var(--color-primary);
  transform: translateY(-50%);
}
.sc-article-meta__category {
  font-weight: bold;
}
@media screen and (min-width: 812px) {
  .sc-article-meta {
    max-width: 84.6rem;
    margin: 0 auto;
    -moz-column-gap: 4.8rem;
    column-gap: 4.8rem;
    font-size: calc(var(--font-size-base) * 2.4);
  }
  .sc-article-meta__date:after {
    margin-left: 2.4rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-article-meta {
    -moz-column-gap: 4.8rem;
    column-gap: 4.8rem;
    font-size: calc(var(--font-size-base) * 2);
  }
  .sc-article-meta__date:after {
    margin-left: 2.4rem;
  }
}

.sc-article-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}
.sc-article-tags li span {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0.2em 1em;
  line-height: 1.4;
  border-radius: 3.9rem;
  color: var(--color-primary);
  background-color: var(--color-base-invert);
}
@media screen and (min-width: 812px) {
  .sc-article-tags {
    max-width: 84.6rem;
    margin: 2.4rem auto 0;
  }
  .sc-article-tags li span {
    min-height: 4.1rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-article-tags {
    margin-top: 2rem;
  }
  .sc-article-tags li span {
    min-height: 3.9rem;
  }
}

/*  sc-article-intro
==================================================== */
.sc-article-intro__image {
  aspect-ratio: 1/1;
}
.sc-article-intro__image img {
  border-radius: 0.8rem;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.sc-article-intro__profile dl {
  display: grid;
  grid-template-columns: 6em 1fr;
  -moz-column-gap: 1em;
  column-gap: 1em;
  border-bottom: 1px solid var(--color-line-primary);
  padding: 0.4em 0;
}
.sc-article-intro__profile dl dt {
  font-weight: bold;
  color: var(--color-primary);
}
.sc-article-intro__links {
  margin-top: 2.4rem;
  display: flex;
  flex-direction: column;
  row-gap: 2.4rem;
}
.sc-article-intro__links .m-btn {
  min-height: 4.8rem;
  min-width: 23.7rem;
}
.sc-article-intro__links .m-btn .m-arrow-fill {
  right: 1rem;
}
@media screen and (min-width: 812px) {
  .sc-article-intro {
    max-width: 84.6rem;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    -moz-column-gap: 2.4rem;
    column-gap: 2.4rem;
  }
  .sc-article-meta + .sc-article-intro {
    margin-top: 2.4rem;
    padding-top: 4rem;
    border-top: 1px solid var(--color-line-primary);
  }
  .sc-article-intro__image {
    width: 41.1rem;
  }
  .sc-article-intro__inner {
    flex: 1;
  }
}
@media screen and (max-width: 811px) {
  .sc-article-meta + .sc-article-intro {
    margin-top: 2.4rem;
    padding-top: 3.2rem;
    border-top: 1px solid var(--color-line-primary);
  }
  .sc-article-intro__inner {
    margin-top: 1rem;
  }
  .sc-article-intro__profile {
    font-size: calc(var(--font-size-base) * 1.6);
  }
  .sc-article-intro__links {
    align-items: center;
  }
}

/*  sc-article-content
==================================================== */
@media screen and (min-width: 812px) {
  .sc-article-content {
    max-width: 84.6rem;
    margin: 0 auto;
  }
}
/*  wp-block-toc
==================================================== */
.wp-block-toc {
  background-color: var(--color-base-invert);
  border: 1px solid var(--color-primary);
  border-radius: 0.8rem;
}
.wp-block-toc__ttl {
  line-height: 1.2;
  font-family: "Ubuntu", sans-serif;
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased;
  font-weight: 500;
  color: var(--color-primary);
  border-bottom: 1px solid var(--color-primary);
}
.wp-block-toc .ez-toc-list {
  counter-reset: toc;
  display: flex;
  flex-direction: column;
  line-height: 1.4;
}
.wp-block-toc .ez-toc-list > li > a {
  display: block;
  text-decoration: none;
  font-weight: bold;
  color: var(--color-primary);
  margin-left: 2em;
  text-indent: -2em;
}
.wp-block-toc .ez-toc-list > li > a:before {
  content: counter(toc) ".";
  counter-increment: toc;
  display: inline-block;
  width: 2em;
  text-indent: 0;
  text-align: right;
  font-weight: bold;
  padding-right: 0.5em;
  color: var(--color-primary);
}
@media (hover: hover) {
  .wp-block-toc .ez-toc-list > li > a:hover {
    text-decoration: underline;
  }
  .wp-block-toc .ez-toc-list > li > a:hover:before {
    text-decoration: none;
  }
}
.wp-block-toc .ez-toc-list ul {
  text-indent: 0;
  padding-left: 1.5em;
  display: flex;
  flex-direction: column;
}
.wp-block-toc .ez-toc-list ul a {
  text-decoration: none;
}
@media (hover: hover) {
  .wp-block-toc .ez-toc-list ul a {
    transition: opacity 0.3s ease;
  }
  .wp-block-toc .ez-toc-list ul a:hover {
    opacity: 0.7;
  }
}
.wp-block-toc .ez-toc-list ul a:hover {
  text-decoration: underline;
}
.wp-block-toc__more {
  position: relative;
  display: none;
  background-color: var(--color-base-invert);
}
.wp-block-toc__more:before {
  content: "";
  position: absolute;
  bottom: 100%;
  left: 0;
  width: 100%;
  height: 3.6rem;
  background: linear-gradient(to bottom, transparent 0%, var(--color-base-invert) 100%);
}
.wp-block-toc__more__inner {
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}
.wp-block-toc__more__inner:before, .wp-block-toc__more__inner:after {
  content: "";
  position: absolute;
  top: 50%;
  height: 0;
  border-top: 1px solid var(--color-primary);
  transform: translateY(-50%);
}
.wp-block-toc__more .m-btn span, .wp-block-toc__more .m-btn:after {
  transition: opacity 0.3s ease;
}
.wp-block-toc__more .m-btn:after {
  content: attr(data-text-open);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
}
.wp-block-toc__more .m-arrow-fill:before {
  transform: rotate(90deg);
}
.wp-block-toc.enable-more .ez-toc-list {
  overflow: hidden;
}
.wp-block-toc.enable-more .wp-block-toc__inner {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.3s ease-out;
}
.wp-block-toc.enable-more .wp-block-toc__inner > * {
  min-height: 18rem;
  overflow: hidden;
}
.wp-block-toc.enable-more.is-open .wp-block-toc__inner {
  grid-template-rows: 1fr;
}
.wp-block-toc.enable-more .wp-block-toc__more {
  display: block;
}
.wp-block-toc.enable-more.is-open .wp-block-toc__more:before {
  height: 0;
  transition: height 0.3s ease-out;
}
.wp-block-toc.enable-more.is-open .wp-block-toc__more .m-arrow-fill:before {
  transform: rotate(270deg);
}
.wp-block-toc.enable-more.is-open .wp-block-toc__more .m-btn span {
  opacity: 0;
}
.wp-block-toc.enable-more.is-open .wp-block-toc__more .m-btn:after {
  opacity: 1;
}
.wp-block-toc.enable-more.is-open .wp-block-toc__more span {
  display: none;
}
@media screen and (min-width: 812px) {
  .wp-block-toc {
    padding: 4.8rem;
    margin-bottom: 4.8rem;
  }
  .wp-block-toc__ttl {
    font-size: calc(var(--font-size-base) * 3.2);
  }
  .wp-block-toc .ez-toc-list {
    margin-top: 2.4rem;
    row-gap: 2.4rem;
    font-size: calc(var(--font-size-base) * 2);
  }
  .wp-block-toc .ez-toc-list ul {
    margin-top: 1.6rem;
    row-gap: 0.8rem;
  }
  .wp-block-toc .ez-toc-list ul li {
    font-size: calc(var(--font-size-base) * 1.4);
  }
  .wp-block-toc__more {
    padding-top: 2.4rem;
  }
  .wp-block-toc__more__inner:before {
    width: 4rem;
    right: calc(100% + 1.6rem);
  }
  .wp-block-toc__more__inner:after {
    width: 4rem;
    left: calc(100% + 1.6rem);
  }
  .wp-block-toc__more .m-btn {
    min-width: 22rem;
    min-height: 4rem;
    font-size: calc(var(--font-size-base) * 1.6);
  }
  .wp-block-toc__more .m-arrow-fill {
    font-size: 2rem;
    right: 1rem;
  }
}
@media screen and (max-width: 811px) {
  .wp-block-toc {
    padding: 2.4rem;
    margin-bottom: 3.2rem;
  }
  .wp-block-toc__ttl {
    font-size: calc(var(--font-size-base) * 2.4);
  }
  .wp-block-toc .ez-toc-list {
    margin-top: 1.6rem;
    row-gap: 1.6rem;
    font-size: calc(var(--font-size-base) * 1.7);
  }
  .wp-block-toc .ez-toc-list ul {
    margin-top: 1.6rem;
    row-gap: 0.8rem;
  }
  .wp-block-toc .ez-toc-list ul li {
    font-size: calc(var(--font-size-base) * 1.3);
  }
  .wp-block-toc__more {
    padding-top: 1.6rem;
  }
  .wp-block-toc__more__inner:before {
    width: 2.4rem;
    right: calc(100% + 1rem);
  }
  .wp-block-toc__more__inner:after {
    width: 2.4rem;
    left: calc(100% + 1rem);
  }
  .wp-block-toc__more .m-btn {
    min-width: 21rem;
    min-height: 4rem;
    font-size: calc(var(--font-size-base) * 1.6);
  }
  .wp-block-toc__more .m-arrow-fill {
    right: 1rem;
  }
}

/* ============================================================
/* people page
============================================================ */
/* people header
============================================================ */
.sc-people-header__ills {
  position: relative;
  pointer-events: none;
}
.sc-people-header__ill {
  position: absolute;
}
.sc-people-header__text {
  position: relative;
  text-align: center;
  font-weight: bold;
  -webkit-text-stroke: 0.2em var(--current-container-color, var(--color-base-invert));
  text-stroke: 0.2em var(--current-container-color, var(--color-base-invert));
  paint-order: stroke;
  z-index: 1;
}
@media screen and (min-width: 812px) {
  .sc-people-header__text {
    font-size: calc(var(--font-size-base) * 2);
  }
  .sc-people-header .m-pnav {
    margin-top: 2rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-people-header {
    position: relative;
  }
  .sc-people-header__ills {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 15rem;
    overflow: hidden;
  }
  .sc-people-header__text {
    font-size: calc(var(--font-size-base) * 1.6);
  }
  .sc-people-header .m-pnav {
    margin-top: 3.2rem;
  }
}
@media screen and (min-width: 812px) {
  .sc-people-header__ill:nth-child(1) {
    width: 17rem;
    top: -3.5rem;
    right: calc(50% + 26rem);
  }
  .sc-people-header__ill:nth-child(2) {
    width: 22.9rem;
    top: -3.5rem;
    left: calc(50% + 26rem);
  }
}
@media screen and (max-width: 811px) {
  .sc-people-header__ills {
    margin-top: 2rem;
  }
  .sc-people-header__ill:nth-child(1) {
    width: 8.6rem;
    top: 0;
    right: calc(50% + 8rem);
  }
  .sc-people-header__ill:nth-child(2) {
    width: 10.4rem;
    top: 1rem;
    left: calc(50% + 7rem);
  }
}

/* people sch
============================================================ */
.sc-people-sch__item {
  background-color: var(--color-base-invert);
  border-radius: 0.8rem;
}
.sc-people-sch__item__avator {
  aspect-ratio: 1/1;
  background-color: var(--color-container-secondary);
  border-radius: 50%;
}
@media screen and (min-width: 812px) {
  .sc-people-sch__item {
    padding: 6.5rem 4rem;
    max-width: 84.6rem;
    margin: 0 auto;
  }
  .sc-people-sch__item__header {
    display: grid;
    grid-template-columns: 18rem 1fr;
    align-items: center;
    -moz-column-gap: 2rem;
    column-gap: 2rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-people-sch__item {
    padding: 4rem 2.4rem;
  }
  .sc-people-sch__item__avator {
    width: 14rem;
    margin: 0 auto;
  }
}

.sc-people-sch__profile__caption {
  color: var(--color-primary);
  font-weight: bold;
  line-height: 1;
}
.sc-people-sch__profile__list dl {
  display: grid;
  grid-template-columns: 5em 1fr;
  border-bottom: 1px solid var(--color-line-primary);
  padding: 0.5em 0;
}
.sc-people-sch__profile__list dt {
  color: var(--color-primary);
  font-weight: bold;
}
@media screen and (min-width: 812px) {
  .sc-people-sch__profile__caption {
    display: grid;
    grid-template-columns: auto 1fr;
    -moz-column-gap: 1.6rem;
    column-gap: 1.6rem;
    align-items: center;
    font-size: calc(var(--font-size-base) * 2.4);
    margin-bottom: 1.4rem;
  }
  .sc-people-sch__profile__caption:after {
    content: "";
    width: 100%;
    height: 2px;
    background-color: var(--color-primary);
  }
}
@media screen and (max-width: 811px) {
  .sc-people-sch__profile {
    margin-top: 1.6rem;
  }
  .sc-people-sch__profile__caption {
    font-size: calc(var(--font-size-base) * 2);
    text-align: center;
    margin-bottom: 1.6rem;
  }
}

.sc-people-sch__dtl__caption {
  position: relative;
  z-index: 1;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  text-align: center;
  color: var(--color-primary);
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
  padding: 0.2em 1em;
  border: 2px solid var(--color-primary);
  background-color: var(--color-base-invert);
}
.sc-people-sch__dtl__caption:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  width: 1.9rem;
  height: 1.4rem;
  background-color: var(--color-primary);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  transform: translateX(-50%);
}
.sc-people-sch__dtl__caption:after {
  content: "";
  position: absolute;
  top: calc(100% - 0.5px);
  left: 50%;
  width: 1.3rem;
  height: 1.1rem;
  background-color: var(--color-base-invert);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  transform: translateX(-50%);
}
@media screen and (min-width: 812px) {
  .sc-people-sch__dtl__caption {
    margin-bottom: 1rem;
    font-size: calc(var(--font-size-base) * 2);
    min-height: 5.6rem;
    min-width: 28.4rem;
    border-radius: 5.6rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-people-sch__dtl__caption {
    margin-bottom: 1rem;
    font-size: calc(var(--font-size-base) * 1.7);
    min-height: 3.8rem;
    min-width: 20.5rem;
    border-radius: 3.8rem;
  }
}
.sc-people-sch__dtl__inner {
  position: relative;
  border: 2px solid var(--color-primary);
  border-radius: 0.8rem;
  background-color: var(--color-container-primary);
}
.sc-people-sch__dtl__list dl {
  position: relative;
  z-index: 0;
  display: flex;
  justify-content: space-between;
  align-items: baseline;
}
.sc-people-sch__dtl__list dl:not(:last-child):before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 4px;
  height: 100%;
  background-color: var(--color-primary);
  transform: translateX(-50%);
  z-index: -1;
}
.sc-people-sch__dtl__list dt {
  line-height: 1.4;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-base-invert);
  font-weight: bold;
  background-color: var(--color-primary);
  z-index: 1;
}
.sc-people-sch__dtl__list dd {
  flex: 1;
  line-height: 1.4;
  font-weight: bold;
}
.sc-people-sch__dtl__image {
  position: relative;
}
.sc-people-sch__dtl__image img {
  border-radius: 0.8rem;
}
.sc-people-sch__dtl__image__ill {
  position: absolute;
}
.sc-people-sch__dtl__ill {
  position: absolute;
  pointer-events: none;
}
@media screen and (min-width: 812px) {
  .sc-people-sch__dtl {
    margin-top: 2.4rem;
  }
  .sc-people-sch__dtl__inner {
    padding: 6rem 4rem 4rem;
  }
  .sc-people-sch__dtl__caption {
    margin-bottom: -3rem;
  }
  .sc-people-sch__dtl__list {
    display: flex;
    flex-direction: column;
    row-gap: 2.4rem;
  }
  .sc-people-sch__dtl__list dl {
    -moz-column-gap: 1.2rem;
    column-gap: 1.2rem;
  }
  .sc-people-sch__dtl__list dl:before {
    margin-left: 5rem;
    margin-top: 4rem;
  }
  .sc-people-sch__dtl__list dt {
    width: 10rem;
    height: 4rem;
    border-radius: 4rem;
    font-size: 2.4rem;
  }
  .sc-people-sch__dtl__list dd {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    font-size: calc(var(--font-size-base) * 2);
  }
  .sc-people-sch__dtl__image {
    max-width: 26.4rem;
  }
  .sc-people-sch__dtl__image__ill {
    width: 12rem;
    top: -2rem;
    left: -8rem;
  }
  .sc-people-sch__dtl__ill {
    width: 16.5rem;
    right: 7rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-people-sch__dtl {
    margin-top: 3rem;
  }
  .sc-people-sch__dtl__caption {
    margin-bottom: -2rem;
  }
  .sc-people-sch__dtl__inner {
    padding: 4rem 1.6rem;
  }
  .sc-people-sch__dtl__list {
    display: flex;
    flex-direction: column;
    row-gap: 2.4rem;
  }
  .sc-people-sch__dtl__list dl {
    -moz-column-gap: 0.8rem;
    column-gap: 0.8rem;
  }
  .sc-people-sch__dtl__list dl:before {
    margin-left: 3.5rem;
    margin-top: 2.4rem;
  }
  .sc-people-sch__dtl__list dt {
    width: 7rem;
    height: 2.4rem;
    border-radius: 2.4rem;
    font-size: calc(var(--font-size-base) * 1.7);
  }
  .sc-people-sch__dtl__list dd {
    font-size: calc(var(--font-size-base) * 1.7);
  }
  .sc-people-sch__dtl__list dd img {
    margin-top: 0.8rem;
  }
  .sc-people-sch__dtl__image__ill {
    width: 7rem;
    right: 0;
    bottom: -3rem;
  }
  .sc-people-sch__dtl__ill {
    display: none;
  }
}

.sc-people-sch__point__caption {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  text-align: center;
  color: var(--color-primary);
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
  padding: 0.2em 1em;
  border: 2px solid var(--color-primary);
  background-color: var(--color-base-invert);
}
.sc-people-sch__point__caption:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  width: 1.9rem;
  height: 1.4rem;
  background-color: var(--color-primary);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  transform: translateX(-50%);
}
.sc-people-sch__point__caption:after {
  content: "";
  position: absolute;
  top: calc(100% - 0.5px);
  left: 50%;
  width: 1.3rem;
  height: 1.1rem;
  background-color: var(--color-base-invert);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  transform: translateX(-50%);
}
@media screen and (min-width: 812px) {
  .sc-people-sch__point__caption {
    margin-bottom: 1rem;
    font-size: calc(var(--font-size-base) * 2);
    min-height: 5.6rem;
    min-width: 28.4rem;
    border-radius: 5.6rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-people-sch__point__caption {
    margin-bottom: 1rem;
    font-size: calc(var(--font-size-base) * 1.7);
    min-height: 3.8rem;
    min-width: 20.5rem;
    border-radius: 3.8rem;
  }
}
.sc-people-sch__point__list {
  margin-top: 2.3rem;
}
.sc-people-sch__point__list li {
  position: relative;
  font-weight: bold;
  border-top: 1px solid var(--color-line-primary);
  border-bottom: 1px solid var(--color-line-primary);
  margin-top: -1px;
  padding: 0.5em 0;
  padding-left: 1.25em;
  line-height: 1.4;
}
.sc-people-sch__point__list li:before {
  content: "●";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%) scale(0.4);
  font-size: 1.2em;
  color: var(--color-primary);
}
@media screen and (min-width: 812px) {
  .sc-people-sch__point {
    margin-top: 4.8rem;
  }
  .sc-people-sch__point__list li {
    font-size: calc(var(--font-size-base) * 2);
  }
}
@media screen and (max-width: 811px) {
  .sc-people-sch__point {
    margin-top: 4rem;
  }
  .sc-people-sch__point__list li {
    font-size: calc(var(--font-size-base) * 1.7);
  }
}

/* ============================================================
/* housing page
============================================================ */
/* housing header
============================================================ */
.sc-housing-header__ills {
  position: relative;
  pointer-events: none;
}
.sc-housing-header__ill {
  position: absolute;
}
.sc-housing-header__text {
  position: relative;
  text-align: center;
  font-weight: bold;
  -webkit-text-stroke: 0.2em var(--current-container-color, var(--color-base-invert));
  text-stroke: 0.2em var(--current-container-color, var(--color-base-invert));
  paint-order: stroke;
  z-index: 1;
}
@media screen and (min-width: 812px) {
  .sc-housing-header__text {
    font-size: calc(var(--font-size-base) * 2);
  }
  .sc-housing-header .m-pnav {
    margin-top: 2rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-housing-header {
    position: relative;
  }
  .sc-housing-header__ills {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 15rem;
    overflow: hidden;
  }
  .sc-housing-header__text {
    font-size: calc(var(--font-size-base) * 1.6);
  }
  .sc-housing-header .m-pnav {
    margin-top: 3.2rem;
  }
}
@media screen and (min-width: 812px) {
  .sc-housing-header__ill:nth-child(1) {
    width: 16.5rem;
    top: -5rem;
    right: calc(50% + 33rem);
  }
  .sc-housing-header__ill:nth-child(2) {
    width: 26rem;
    top: -12rem;
    left: calc(50% + 26rem);
  }
}
@media screen and (max-width: 811px) {
  .sc-housing-header {
    position: relative;
  }
  .sc-housing-header__ills {
    margin-top: -3.5rem;
  }
  .sc-housing-header__ill:nth-child(1) {
    width: 10rem;
    top: 4rem;
    right: calc(50% + 10rem);
  }
  .sc-housing-header__ill:nth-child(2) {
    width: 16.4rem;
    top: 0;
    left: calc(50% + 3.5rem);
  }
}

/* housing new
============================================================ */
.sc-housing-new .sc-ttl {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.sc-housing-new__item {
  background-color: var(--color-base-invert);
  border-radius: 0.8rem;
  border: 2px solid var(--color-primary);
}
.sc-housing-new__item__image {
  aspect-ratio: 1/1;
  margin: 0 auto;
}
.sc-housing-new__item__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
}
.sc-housing-new__item__ttl {
  color: var(--color-primary);
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
}
@media screen and (min-width: 812px) {
  .sc-housing-new .sc-ttl {
    margin-bottom: 3rem;
    row-gap: 2rem;
  }
  .sc-housing-new .sc-ttl .sub {
    font-size: calc(var(--font-size-base) * 3.2);
  }
  .sc-housing-new__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2.4rem;
  }
  .sc-housing-new__item {
    padding: 4rem 0 3rem;
  }
  .sc-housing-new__item__image {
    width: 15rem;
    margin-bottom: 1rem;
  }
  .sc-housing-new__item__ttl {
    font-size: calc(var(--font-size-base) * 2.4);
  }
  .sc-housing-new__item__text {
    padding: 0.4rem 2.4rem 0;
  }
}
@media screen and (max-width: 811px) {
  .sc-housing-new .sc-ttl {
    margin-bottom: 1.6rem;
  }
  .sc-housing-new .sc-ttl .sub {
    font-size: calc(var(--font-size-base) * 1.6);
  }
  .sc-housing-new__list {
    display: flex;
    flex-direction: column;
    row-gap: 2.4rem;
  }
  .sc-housing-new__item {
    padding: 4rem 0;
  }
  .sc-housing-new__item__image {
    width: 15rem;
    margin-bottom: 1.6rem;
  }
  .sc-housing-new__item__ttl {
    font-size: calc(var(--font-size-base) * 2);
  }
  .sc-housing-new__item__text {
    padding: 1.6rem 2.4rem 0;
  }
}

/* housing akiya
============================================================ */
.sc-housing-akiya .sc-header {
  position: relative;
  z-index: 0;
  -webkit-text-stroke: 0.2em var(--current-container-color, var(--color-base-invert));
  text-stroke: 0.2em var(--current-container-color, var(--color-base-invert));
  paint-order: stroke;
}
.sc-housing-akiya__ill {
  position: absolute;
  z-index: -1;
  pointer-events: none;
}
.sc-housing-akiya .m-akiya-idx__item {
  display: block;
}
@media screen and (min-width: 812px) {
  .sc-housing-akiya__ill {
    width: 28rem;
    bottom: -4rem;
    right: calc(50% + 20rem);
  }
}
@media screen and (max-width: 811px) {
  .sc-housing-akiya .sc-header {
    margin-bottom: 16rem;
  }
  .sc-housing-akiya__ill {
    width: 28rem;
    bottom: -16rem;
    left: 50%;
    transform: translateX(-50%);
  }
}

/* housing life
============================================================ */
.sc-housing-life .sc-header {
  position: relative;
  z-index: 0;
  -webkit-text-stroke: 0.2em var(--current-container-color, var(--color-base-invert));
  text-stroke: 0.2em var(--current-container-color, var(--color-base-invert));
  paint-order: stroke;
}
.sc-housing-life__ill {
  position: absolute;
  z-index: -1;
  pointer-events: none;
}
.sc-housing-life__list {
  display: flex;
  flex-direction: column;
}
.sc-housing-life__item {
  border: 1px solid var(--color-primary);
  background-color: var(--color-base-invert);
  border-radius: 0.8rem;
}
.sc-housing-life__item__ttl {
  position: relative;
  width: 100%;
  display: flex;
  align-items: center;
  font-weight: bold;
  line-height: 1.4;
  color: var(--color-primary);
  text-decoration: none;
  padding: 0.2em 1.6rem;
  min-height: 6.4rem;
}
.sc-housing-life__item__ttl .icon-accordion {
  position: absolute;
  right: 1.6rem;
  top: 50%;
  width: 1.4rem;
  height: 1.4rem;
  color: var(--color-primary);
  transform: translateY(-50%);
}
.sc-housing-life__item__ttl .icon-accordion:before, .sc-housing-life__item__ttl .icon-accordion:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: currentColor;
}
.sc-housing-life__item__ttl .icon-accordion:before {
  width: 100%;
  height: 2px;
}
.sc-housing-life__item__ttl .icon-accordion:after {
  width: 2px;
  height: 100%;
}
.sc-housing-life__item__ttl[aria-expanded=true] .icon-accordion:after {
  opacity: 0;
}
.sc-housing-life__item__inner {
  padding: 0 1.6rem 1.6rem;
}
.sc-housing-life__item__map {
  border-radius: 0.8rem;
  overflow: hidden;
}
.sc-housing-life__item__map iframe {
  width: 100%;
  height: 100%;
}
.sc-housing-life__item__list dt {
  color: var(--color-primary);
  font-weight: bold;
  line-height: 1.4;
}
.sc-housing-life__footer {
  text-align: center;
}
.sc-housing-life__footer .m-text-link {
  text-decoration: underline;
}
@media (hover: hover) {
  .sc-housing-life__footer .m-text-link:hover {
    text-decoration: none;
  }
}
.sc-housing-life__bnr {
  display: block;
}
@media (hover: hover) {
  .sc-housing-life__bnr {
    transition: opacity 0.3s ease;
  }
  .sc-housing-life__bnr:hover {
    opacity: 0.7;
  }
}
@media screen and (min-width: 812px) {
  .sc-housing-life__ill {
    width: 13.1rem;
    top: -16.2rem;
    left: calc(50% + 16rem);
  }
  .sc-housing-life__list {
    row-gap: 2.4rem;
  }
  .sc-housing-life__item__ttl {
    font-size: calc(var(--font-size-base) * 2);
  }
  .sc-housing-life__item__map {
    height: 50rem;
    margin-bottom: 1.6rem;
  }
  .sc-housing-life__item__list dt {
    font-size: calc(var(--font-size-base) * 2);
    margin-bottom: 0.5em;
  }
  .sc-housing-life__footer {
    margin-top: 8rem;
  }
  .sc-housing-life__bnr {
    width: 32rem;
    margin: 4rem auto 1.6rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-housing-life__ill {
    width: 8rem;
    top: -9rem;
    left: calc(50% + 10rem);
  }
  .sc-housing-life__list {
    row-gap: 1.6rem;
  }
  .sc-housing-life__item__ttl {
    font-size: calc(var(--font-size-base) * 1.7);
  }
  .sc-housing-life__item__map {
    aspect-ratio: 323/165;
    margin-bottom: 1rem;
  }
  .sc-housing-life__item__list dt {
    font-size: calc(var(--font-size-base) * 1.7);
    margin-bottom: 0.25em;
  }
  .sc-housing-life__footer {
    margin-top: 4.8rem;
  }
  .sc-housing-life__bnr {
    width: 18.4rem;
    margin: 4rem auto 1.6rem;
  }
}

/* housing experience
============================================================ */
.sc-housing-exp__copy {
  color: var(--color-primary);
  line-height: 1.4;
  font-weight: bold;
}
.sc-housing-exp__image {
  position: relative;
}
.sc-housing-exp__image img {
  border-radius: 0.8rem;
}
.sc-housing-exp__ills {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  pointer-events: none;
}
.sc-housing-exp__ill {
  position: absolute;
}
@media screen and (min-width: 812px) {
  .sc-housing-exp .l-inner {
    display: grid;
    grid-template-columns: 1fr 46.4rem;
    align-items: flex-start;
  }
  .sc-housing-exp .sc-ttl {
    margin-bottom: 2.4rem;
  }
  .sc-housing-exp__copy {
    font-size: calc(var(--font-size-base) * 2.4);
    margin-bottom: 1rem;
  }
  .sc-housing-exp__text {
    padding-right: 5.6rem;
  }
  .sc-housing-exp .sc-more {
    justify-content: flex-start;
    margin-top: 3rem;
  }
  .sc-housing-exp__ill:nth-child(1) {
    width: 24.2rem;
    left: -4.4rem;
    bottom: -12.6rem;
  }
  .sc-housing-exp__ill:nth-child(2) {
    width: 19.9rem;
    right: -2rem;
    bottom: -6.4rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-housing-exp .sc-ttl {
    text-align: center;
    margin-bottom: 1.6rem;
  }
  .sc-housing-exp__copy {
    font-size: calc(var(--font-size-base) * 2);
    text-align: center;
    margin-bottom: 3.2rem;
  }
  .sc-housing-exp__image {
    margin-top: 3.2rem;
    margin-bottom: 9rem;
  }
  .sc-housing-exp__ill:nth-child(1) {
    width: 18.3rem;
    left: 0.5rem;
    bottom: -9.9rem;
  }
  .sc-housing-exp__ill:nth-child(2) {
    width: 14.8rem;
    right: 0.5rem;
    bottom: -6rem;
  }
}

/* ============================================================
/* privacy page
============================================================ */
.sc-privacy h2 {
  padding: 0.4em 0;
  font-weight: bold;
  line-height: 1.4;
  color: var(--color-primary);
  border-bottom: 1px solid var(--color-primary);
}
.sc-privacy a {
  color: var(--color-primary);
  text-decoration: underline;
  word-break: break-all;
}
@media (hover: hover) {
  .sc-privacy a:hover {
    text-decoration: none;
  }
}
.sc-privacy ul li {
  padding-left: 1em;
  text-indent: -1em;
}
.sc-privacy ul li:before {
  content: "・";
  display: inline-block;
  width: 1em;
  text-indent: 0;
}
@media screen and (min-width: 812px) {
  .sc-privacy {
    padding-bottom: 2rem;
  }
  .sc-privacy__inner {
    max-width: 84.6rem;
    margin: 0 auto;
  }
  .sc-privacy h2 {
    font-size: calc(var(--font-size-base) * 2);
    margin-top: 4.8rem;
    margin-bottom: 2.4rem;
  }
  .sc-privacy ul {
    padding-left: 1em;
  }
}
@media screen and (max-width: 811px) {
  .sc-privacy {
    padding-bottom: 2rem;
  }
  .sc-privacy h2 {
    font-size: calc(var(--font-size-base) * 1.7);
    margin-top: 3.2rem;
    margin-bottom: 1.6rem;
  }
  .sc-privacy ul {
    padding-left: 0.5em;
    margin: 0.5em 0;
  }
}

/* ============================================================
/* work page
============================================================ */
/* work header
============================================================ */
.sc-work-header__ills {
  position: relative;
  pointer-events: none;
}
.sc-work-header__ill {
  position: absolute;
}
.sc-work-header__text {
  position: relative;
  text-align: center;
  font-weight: bold;
  -webkit-text-stroke: 0.2em var(--current-container-color, var(--color-base-invert));
  text-stroke: 0.2em var(--current-container-color, var(--color-base-invert));
  paint-order: stroke;
  z-index: 1;
}
@media screen and (min-width: 812px) {
  .sc-work-header__text {
    font-size: calc(var(--font-size-base) * 2);
  }
  .sc-work-header .m-pnav {
    margin-top: 2rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-work-header {
    position: relative;
  }
  .sc-work-header__ills {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 15rem;
    overflow: hidden;
  }
  .sc-work-header__text {
    font-size: calc(var(--font-size-base) * 1.6);
  }
  .sc-work-header .m-pnav {
    margin-top: 3.2rem;
  }
}
@media screen and (min-width: 812px) {
  .sc-work-header__ill:nth-child(1) {
    width: 10.6rem;
    top: -4rem;
    right: calc(50% + 30rem);
  }
  .sc-work-header__ill:nth-child(2) {
    width: 23rem;
    top: -15rem;
    left: calc(50% + 28rem);
  }
}
@media screen and (max-width: 811px) {
  .sc-work-header__ills {
    margin-top: -6rem;
  }
  .sc-work-header__ill:nth-child(1) {
    display: none;
  }
  .sc-work-header__ill:nth-child(2) {
    width: 10rem;
    top: 0;
    left: calc(50% + 7rem);
  }
}

/* work ideal
============================================================ */
.sc-work-ideal__item {
  border: 2px solid var(--color-primary);
  border-radius: 0.8rem;
  background-color: var(--color-base-invert);
}
.sc-work-ideal__item__image img {
  border-radius: 0.8rem;
}
.sc-work-ideal__item__ttl {
  font-weight: bold;
  line-height: 1.4;
  color: var(--color-primary);
  text-align: center;
}
@media screen and (min-width: 812px) {
  .sc-work-ideal__list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    -moz-column-gap: 2.4rem;
    column-gap: 2.4rem;
    row-gap: 3.2rem;
  }
  .sc-work-ideal__item {
    padding: 2.4rem;
  }
  .sc-work-ideal__item__image {
    margin-bottom: 1.6rem;
  }
  .sc-work-ideal__item__ttl {
    margin-bottom: 0.8rem;
    font-size: calc(var(--font-size-base) * 2);
  }
}
@media screen and (max-width: 811px) {
  .sc-work-ideal__list {
    display: flex;
    flex-direction: column;
    row-gap: 1.6rem;
  }
  .sc-work-ideal__item {
    padding: 2.4rem;
  }
  .sc-work-ideal__item__image {
    margin-bottom: 1.6rem;
  }
  .sc-work-ideal__item__ttl {
    margin-bottom: 1.6rem;
    font-size: calc(var(--font-size-base) * 1.7);
  }
}

/* work support
============================================================ */
.sc-work-support__inner {
  display: flex;
  flex-direction: column;
}
.sc-work-support__list__ttl {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-base-invert);
  font-weight: bold;
  line-height: 1.4;
  padding: 0.2em 1em;
  background-color: var(--color-primary);
  border-radius: 0.8rem;
  text-align: center;
}
@media screen and (min-width: 812px) {
  .sc-work-support__inner {
    row-gap: 6.4rem;
  }
  .sc-work-support__list {
    width: -moz-fit-content;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
  }
  .sc-work-support__list__ttl {
    margin-bottom: 4rem;
    min-height: 4.8rem;
    font-size: calc(var(--font-size-base) * 2.4);
  }
}
@media screen and (max-width: 811px) {
  .sc-work-support__inner {
    row-gap: 4.8rem;
  }
  .sc-work-support__list__ttl {
    margin-bottom: 1.6rem;
    min-height: 4.8rem;
    font-size: calc(var(--font-size-base) * 2);
  }
}

/* ============================================================
/* childcare page
============================================================ */
/* childcare header
============================================================ */
.sc-cc-header__ills {
  position: relative;
  pointer-events: none;
}
.sc-cc-header__ill {
  position: absolute;
}
.sc-cc-header__text {
  position: relative;
  text-align: center;
  font-weight: bold;
  -webkit-text-stroke: 0.2em var(--current-container-color, var(--color-base-invert));
  text-stroke: 0.2em var(--current-container-color, var(--color-base-invert));
  paint-order: stroke;
  z-index: 1;
}
@media screen and (min-width: 812px) {
  .sc-cc-header__text {
    font-size: calc(var(--font-size-base) * 2);
  }
  .sc-cc-header .m-pnav {
    margin-top: 2rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-cc-header {
    position: relative;
  }
  .sc-cc-header__ills {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 15rem;
    overflow: hidden;
  }
  .sc-cc-header__text {
    font-size: calc(var(--font-size-base) * 1.6);
  }
  .sc-cc-header .m-pnav {
    margin-top: 3.2rem;
  }
}
@media screen and (min-width: 812px) {
  .sc-cc-header__ill:nth-child(1) {
    width: 31.7rem;
    top: -15rem;
    right: calc(50% + 20rem);
  }
  .sc-cc-header__ill:nth-child(2) {
    width: 22.3rem;
    top: -7rem;
    left: calc(50% + 28rem);
  }
}
@media screen and (max-width: 811px) {
  .sc-cc-header__text {
    padding: 1rem 0 2rem;
  }
  .sc-cc-header__ills {
    top: -4rem;
    bottom: -4rem;
    height: auto;
  }
  .sc-cc-header__ill:nth-child(1) {
    width: 12.6rem;
    top: 0;
    left: calc(50% + 5rem);
  }
  .sc-cc-header__ill:nth-child(2) {
    width: 9.7rem;
    bottom: 0;
    right: calc(50% + 7rem);
    z-index: 1;
  }
}

/* childcare feature
============================================================ */
.sc-cc-feature__item {
  border-radius: 0.8rem;
  border: 2px solid var(--color-primary);
  background-color: var(--color-base-invert);
}
.sc-cc-feature__item__image img {
  margin-top: -1.5rem;
}
.sc-cc-feature__item__sub {
  position: relative;
  background-color: var(--color-primary);
  color: var(--color-base-invert);
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
  padding: 0.25em 0.5em;
  border-radius: 0.8rem;
  margin-bottom: 1.5rem;
}
.sc-cc-feature__item__sub:after {
  content: "";
  position: absolute;
  top: calc(100% - 1px);
  left: 50%;
  transform: translateX(-50%);
  width: 1.5rem;
  height: 1rem;
  background-color: inherit;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.sc-cc-feature__item__ttl {
  color: var(--color-primary);
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
}
@media screen and (min-width: 812px) {
  .sc-cc-feature__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    -moz-column-gap: 2.4rem;
    column-gap: 2.4rem;
    padding-top: 1.5rem;
  }
  .sc-cc-feature__item {
    padding: 0 2rem 3rem;
  }
  .sc-cc-feature__item__image {
    margin-bottom: 1.5rem;
  }
  .sc-cc-feature__item__sub {
    font-size: calc(var(--font-size-base) * 2.4);
    min-height: 4.8rem;
  }
  .sc-cc-feature__item__ttl {
    font-size: calc(var(--font-size-base) * 2);
    margin-bottom: 1rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-cc-feature__list {
    display: flex;
    flex-direction: column;
    row-gap: 2.4rem;
  }
  .sc-cc-feature__item {
    padding: 0 2.4rem 3rem;
  }
  .sc-cc-feature__item__image {
    margin-bottom: 0.8rem;
  }
  .sc-cc-feature__item__sub {
    font-size: calc(var(--font-size-base) * 2);
    min-height: 4rem;
  }
  .sc-cc-feature__item__ttl {
    font-size: calc(var(--font-size-base) * 1.7);
    margin-bottom: 1rem;
  }
}

/* childcare lifestage
============================================================ */
.sc-cc-lifestage__item {
  position: relative;
}
.sc-cc-lifestage__item:before {
  content: "";
  position: absolute;
  top: 0;
  width: 2px;
  height: 100%;
  background-color: var(--color-primary);
  transform: translateX(-50%);
}
.sc-cc-lifestage__item__header {
  display: flex;
  align-items: flex-start;
}
.sc-cc-lifestage__item__caption {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  aspect-ratio: 1/1;
  color: var(--color-secondary);
  background-color: var(--color-primary);
  border-radius: 50%;
  z-index: 1;
}
.sc-cc-lifestage__item__caption .num {
  font-family: "Ubuntu", sans-serif;
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased;
  font-weight: 500;
  line-height: 1.4;
}
.sc-cc-lifestage__item__caption .main {
  font-weight: bold;
  line-height: 1.4;
}
.sc-cc-lifestage__item__ill {
  position: relative;
}
.sc-cc-lifestage__item__inner {
  border-radius: 0.8rem;
  background-color: var(--color-base-invert);
}
.sc-cc-lifestage__item__ttl {
  color: var(--color-primary);
  font-weight: bold;
  line-height: 1.4;
}
.sc-cc-lifestage__item__list li {
  padding-left: 1em;
  text-indent: -1em;
}
.sc-cc-lifestage__item__list li:before {
  content: "・";
  display: inline-block;
  width: 1em;
  text-indent: 0;
}
.sc-cc-lifestage__item__list a {
  color: var(--color-primary);
  text-decoration: underline;
}
@media (hover: hover) {
  .sc-cc-lifestage__item__list a:hover {
    text-decoration: none;
  }
}
.sc-cc-lifestage__item .m-btn {
  margin-top: 1.6rem;
  min-width: 23.7rem;
  min-height: 4rem;
  font-size: calc(var(--font-size-base) * 1.6);
}
@media screen and (min-width: 812px) {
  .sc-cc-lifestage__list {
    display: flex;
    flex-direction: column;
    row-gap: 4rem;
    padding-bottom: 4rem;
    overflow: hidden;
  }
  .sc-cc-lifestage__item {
    display: flex;
    align-items: flex-start;
    -moz-column-gap: 4.5rem;
    column-gap: 4.5rem;
  }
  .sc-cc-lifestage__item:before {
    left: 50%;
    margin-top: 10rem;
  }
  .sc-cc-lifestage__item__header {
    width: calc(50% + 7.25rem);
    -moz-column-gap: 4.5rem;
    column-gap: 4.5rem;
  }
  .sc-cc-lifestage__item__caption {
    width: 14.5rem;
    margin-top: 5rem;
  }
  .sc-cc-lifestage__item__caption .num {
    font-size: 3.2rem;
  }
  .sc-cc-lifestage__item__caption .main {
    font-size: 2rem;
  }
  .sc-cc-lifestage__item__ill {
    flex: 1;
  }
  .sc-cc-lifestage__item__ill span {
    position: absolute;
    display: block;
    width: 200%;
  }
  .sc-cc-lifestage__item__ill img {
    max-width: 200%;
    transform: scale(0.5);
  }
  .sc-cc-lifestage__item__inner {
    padding: 3.2rem;
    flex: 1;
    position: relative;
  }
  .sc-cc-lifestage__item__inner:before {
    content: "";
    position: absolute;
    top: 12.25rem;
    margin-top: -1.3rem;
    width: 2.6rem;
    height: 2.6rem;
    background-color: inherit;
    clip-path: polygon(0 0, 100% 50%, 0 100%);
  }
  .sc-cc-lifestage__item__ttl {
    font-size: calc(var(--font-size-base) * 2);
    margin-bottom: 0.5rem;
  }
  .sc-cc-lifestage__item:nth-child(odd) {
    flex-direction: row-reverse;
  }
  .sc-cc-lifestage__item:nth-child(odd) .sc-cc-lifestage__item__inner:before {
    left: calc(100% - 1px);
  }
  .sc-cc-lifestage__item:nth-child(odd) .sc-cc-lifestage__item__ill span {
    left: 0;
    text-align: left;
  }
  .sc-cc-lifestage__item:nth-child(odd) .sc-cc-lifestage__item__ill img {
    transform-origin: top left;
  }
  .sc-cc-lifestage__item:nth-child(even) .sc-cc-lifestage__item__header {
    flex-direction: row-reverse;
  }
  .sc-cc-lifestage__item:nth-child(even) .sc-cc-lifestage__item__inner:before {
    right: calc(100% - 1px);
    transform: scale(-1, 1);
  }
  .sc-cc-lifestage__item:nth-child(even) .sc-cc-lifestage__item__ill span {
    right: 0;
    text-align: right;
  }
  .sc-cc-lifestage__item:nth-child(even) .sc-cc-lifestage__item__ill img {
    transform-origin: top right;
  }
}
@media screen and (max-width: 811px) {
  .sc-cc-lifestage__list {
    display: flex;
    flex-direction: column;
    row-gap: 5rem;
  }
  .sc-cc-lifestage__item:before {
    left: 2.4rem;
    top: 10rem;
  }
  .sc-cc-lifestage__item__header {
    justify-content: space-between;
    margin-bottom: -0.5rem;
  }
  .sc-cc-lifestage__item__caption {
    width: 12rem;
  }
  .sc-cc-lifestage__item__caption .num {
    font-size: calc(var(--font-size-base) * 2.4);
  }
  .sc-cc-lifestage__item__caption .main {
    font-size: calc(var(--font-size-base) * 1.7);
  }
  .sc-cc-lifestage__item__ill {
    min-width: 12rem;
    height: 12rem;
    display: flex;
    align-items: center;
    padding-right: 1rem;
    text-align: center;
  }
  .sc-cc-lifestage__item__ill img {
    width: auto;
    height: 13rem;
  }
  .sc-cc-lifestage__item__inner {
    padding: 2.4rem 2.4rem 2.4rem 4.8rem;
  }
  .sc-cc-lifestage__item__ttl {
    font-size: calc(var(--font-size-base) * 1.7);
    margin-bottom: 0.5rem;
  }
  .sc-cc-lifestage__item:nth-child(1) .sc-cc-lifestage__item__ill img {
    height: 15rem;
  }
  .sc-cc-lifestage__item:last-child:before {
    height: auto;
    bottom: 2.4rem;
  }
}

/* childcare future
============================================================ */
.sc-cc-future {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: var(--color-primary);
  border: 2px solid var(--color-primary);
  border-radius: 0.8rem;
  background-color: var(--color-base-invert);
  text-align: center;
  z-index: 0;
}
.sc-cc-future__ttl {
  font-weight: bold;
  line-height: 1.4;
}
.sc-cc-future__text {
  font-weight: bold;
  line-height: 1.4;
}
.sc-cc-future__more {
  display: flex;
  justify-content: center;
}
.sc-cc-future__more .m-btn {
  line-height: 1.4;
}
.sc-cc-future__more .m-btn .m-icon-pdf {
  font-size: 180%;
}
.sc-cc-future__ills {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
}
.sc-cc-future__ill {
  position: absolute;
}
@media screen and (min-width: 812px) {
  .sc-cc-future {
    padding: 2.4rem;
    min-height: 38.4rem;
  }
  .sc-cc-future__ttl {
    margin-bottom: 1.7rem;
    font-size: calc(var(--font-size-base) * 3.2);
  }
  .sc-cc-future__more {
    margin-top: 3.6rem;
  }
  .sc-cc-future__more .m-btn {
    width: 49.6rem;
    min-height: 8rem;
  }
  .sc-cc-future__ill:nth-child(1) {
    width: 21.4rem;
    left: 4rem;
    top: -2.5rem;
  }
  .sc-cc-future__ill:nth-child(2) {
    width: 7.7rem;
    right: 5.9rem;
    top: 2.6rem;
  }
  .sc-cc-future__ill:nth-child(3) {
    width: 17rem;
    right: 7rem;
    bottom: -1.8rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-cc-future {
    padding: 5.6rem 1.6rem 6rem;
    margin-top: 4rem;
  }
  .sc-cc-future__ttl {
    margin-bottom: 1.6rem;
    font-size: calc(var(--font-size-base) * 2.4);
  }
  .sc-cc-future__more {
    margin-top: 3.2rem;
  }
  .sc-cc-future__more .m-btn {
    min-height: 7.2rem;
    padding-left: 1rem;
    padding-right: 1rem;
    font-size: calc(var(--font-size-base) * 1.6);
  }
  .sc-cc-future__ill:nth-child(1) {
    width: 14.2rem;
    left: 0;
    top: -4rem;
  }
  .sc-cc-future__ill:nth-child(2) {
    width: 3.6rem;
    right: 1.8rem;
    top: -3rem;
  }
  .sc-cc-future__ill:nth-child(3) {
    width: 8.5rem;
    right: 4.5rem;
    top: -4rem;
  }
}

/* childcare community
============================================================ */
.sc-cc-community__item {
  border-radius: 0.8rem;
  border: 2px solid var(--color-primary);
  background-color: var(--color-base-invert);
}
.sc-cc-community__item__image img {
  border-radius: 0.8rem;
}
.sc-cc-community__item__ttl {
  color: var(--color-primary);
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
}
.sc-cc-community__item__more {
  display: flex;
  justify-content: center;
}
@media screen and (min-width: 812px) {
  .sc-cc-community__list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    -moz-column-gap: 2.4rem;
    column-gap: 2.4rem;
  }
  .sc-cc-community__item {
    padding: 2.4rem 2.4rem 4rem;
  }
  .sc-cc-community__item__image {
    margin-bottom: 1.6rem;
  }
  .sc-cc-community__item__ttl {
    margin-bottom: 0.8rem;
    font-size: calc(var(--font-size-base) * 2.4);
  }
  .sc-cc-community__item__more {
    margin-top: 1.6rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-cc-community__list {
    display: flex;
    flex-direction: column;
    row-gap: 2.4rem;
  }
  .sc-cc-community__item {
    padding: 2.4rem 2.4rem 3.2rem;
  }
  .sc-cc-community__item__image {
    margin-bottom: 1.6rem;
  }
  .sc-cc-community__item__ttl {
    margin-bottom: 0.7rem;
    font-size: calc(var(--font-size-base) * 2);
  }
  .sc-cc-community__item__more {
    margin-top: 1.6rem;
  }
}

/* ============================================================
/* tokyo page
============================================================ */
.l-container:has(.sc-tokyo-header) {
  overflow: hidden;
}

/* tokyo header
============================================================ */
.sc-tokyo-header__ills {
  position: relative;
  pointer-events: none;
}
.sc-tokyo-header__ill {
  position: absolute;
}
.sc-tokyo-header__text {
  position: relative;
  text-align: center;
  font-weight: bold;
  -webkit-text-stroke: 0.2em var(--current-container-color, var(--color-base-invert));
  text-stroke: 0.2em var(--current-container-color, var(--color-base-invert));
  paint-order: stroke;
  z-index: 1;
}
@media screen and (min-width: 812px) {
  .sc-tokyo-header__text {
    font-size: calc(var(--font-size-base) * 2);
  }
  .sc-tokyo-header .m-pnav {
    margin-top: 2rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-tokyo-header {
    position: relative;
  }
  .sc-tokyo-header__ills {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 15rem;
    overflow: hidden;
  }
  .sc-tokyo-header__text {
    font-size: calc(var(--font-size-base) * 1.6);
  }
  .sc-tokyo-header .m-pnav {
    margin-top: 3.2rem;
  }
}
.sc-tokyo-header .sc-ttl {
  text-align: center;
}
.sc-tokyo-header__text + .sc-tokyo-header__text {
  margin-top: 1.8em;
}
@media screen and (min-width: 812px) {
  .sc-tokyo-header .sc-ttl {
    margin-bottom: 2.4rem;
  }
  .sc-tokyo-header__container {
    position: relative;
  }
  .sc-tokyo-header__ills {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .sc-tokyo-header__ill:nth-child(1) {
    width: 20.7rem;
    top: -18rem;
    left: calc(50% + 37rem);
  }
  .sc-tokyo-header__ill:nth-child(2) {
    width: 33.6rem;
    bottom: -22rem;
    right: calc(50% + 24rem);
    z-index: 1;
  }
}
@media screen and (max-width: 811px) {
  .sc-tokyo-header .sc-ttl {
    margin-bottom: 2.4rem;
  }
  .sc-tokyo-header .l-inner {
    padding-bottom: 4rem;
  }
  .sc-tokyo-header__ills {
    top: -4rem;
    bottom: -2rem;
    height: auto;
  }
  .sc-tokyo-header__ill:nth-child(1) {
    width: 9.2rem;
    top: 0;
    left: calc(50% + 8.5rem);
  }
  .sc-tokyo-header__ill:nth-child(2) {
    width: 11.9rem;
    bottom: 0;
    right: calc(50% + 5rem);
    z-index: 1;
  }
}

/* tokyo activity
============================================================ */
.sc-tokyo-activity__list {
  display: flex;
  flex-direction: column;
}
.sc-tokyo-activity__item {
  position: relative;
  border-radius: 0.8rem;
  border: 2px solid var(--color-primary);
  background-color: var(--color-base-invert);
}
.sc-tokyo-activity__item__num {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1/1;
  border-radius: 50%;
  font-family: "Ubuntu", sans-serif;
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased;
  font-weight: 500;
  line-height: 0;
  color: var(--color-secondary);
  background-color: var(--color-primary);
}
.sc-tokyo-activity__item__image img {
  border-radius: 0.8rem;
}
.sc-tokyo-activity__item__ttl {
  font-weight: bold;
  line-height: 1.4;
  color: var(--color-primary);
}
.sc-tokyo-activity__footer {
  position: relative;
  text-align: center;
}
.sc-tokyo-activity__text {
  position: relative;
  font-weight: bold;
  line-height: 1.4;
  color: var(--color-primary);
  -webkit-text-stroke: 0.2em var(--current-container-color, var(--color-base-invert));
  text-stroke: 0.2em var(--current-container-color, var(--color-base-invert));
  paint-order: stroke;
}
.sc-tokyo-activity__ill {
  position: absolute;
}
.sc-tokyo-activity__fb {
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (min-width: 812px) {
  .sc-tokyo-activity__list {
    row-gap: 2.4rem;
    max-width: 84.6rem;
    margin: 0 auto;
  }
  .sc-tokyo-activity__item {
    padding: 4rem;
    display: grid;
    grid-template-columns: 37rem 1fr;
    align-items: center;
    -moz-column-gap: 2.4rem;
    column-gap: 2.4rem;
  }
  .sc-tokyo-activity__item__num {
    top: 1.4rem;
    left: 1.4rem;
    width: 7.2rem;
    font-size: 3.6rem;
  }
  .sc-tokyo-activity__item__ttl {
    font-size: calc(var(--font-size-base) * 2);
    margin-bottom: 0.5rem;
  }
  .sc-tokyo-activity__footer {
    padding-top: 9.6rem;
  }
  .sc-tokyo-activity__ill {
    width: 32rem;
    top: -9rem;
    right: -6rem;
  }
  .sc-tokyo-activity__text {
    font-size: calc(var(--font-size-base) * 3.2);
  }
  .sc-tokyo-activity__fb {
    margin-top: 4rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-tokyo-activity__list {
    row-gap: 1.6rem;
  }
  .sc-tokyo-activity__item {
    padding: 3.2rem 2.4rem 2.4rem;
  }
  .sc-tokyo-activity__item__num {
    top: 1rem;
    left: 1rem;
    width: 5.6rem;
    font-size: 3.2rem;
  }
  .sc-tokyo-activity__item__image {
    margin-bottom: 2.4rem;
  }
  .sc-tokyo-activity__item__ttl {
    font-size: calc(var(--font-size-base) * 1.7);
    text-align: center;
    margin-bottom: 0.8rem;
  }
  .sc-tokyo-activity__footer {
    padding-top: 7rem;
  }
  .sc-tokyo-activity__ill {
    width: 11.4rem;
    top: -5rem;
    right: 1rem;
  }
  .sc-tokyo-activity__text {
    font-size: calc(var(--font-size-base) * 2.4);
  }
  .sc-tokyo-activity__fb {
    margin-top: 3.2rem;
  }
}

/* ============================================================
/* furusato page
============================================================ */
/* furusato header
============================================================ */
.sc-furusato-header__ills {
  position: relative;
  pointer-events: none;
}
.sc-furusato-header__ill {
  position: absolute;
}
.sc-furusato-header__text {
  position: relative;
  text-align: center;
  font-weight: bold;
  -webkit-text-stroke: 0.2em var(--current-container-color, var(--color-base-invert));
  text-stroke: 0.2em var(--current-container-color, var(--color-base-invert));
  paint-order: stroke;
  z-index: 1;
}
@media screen and (min-width: 812px) {
  .sc-furusato-header__text {
    font-size: calc(var(--font-size-base) * 2);
  }
  .sc-furusato-header .m-pnav {
    margin-top: 2rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-furusato-header {
    position: relative;
  }
  .sc-furusato-header__ills {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 15rem;
    overflow: hidden;
  }
  .sc-furusato-header__text {
    font-size: calc(var(--font-size-base) * 1.6);
  }
  .sc-furusato-header .m-pnav {
    margin-top: 3.2rem;
  }
}
@media screen and (min-width: 812px) {
  .sc-furusato-header__ill:nth-child(1) {
    width: 26rem;
    top: -11rem;
    right: calc(50% + 24rem);
  }
  .sc-furusato-header__ill:nth-child(2) {
    width: 30.4rem;
    top: -16rem;
    left: calc(50% + 20rem);
  }
}
@media screen and (max-width: 811px) {
  .sc-furusato-header__text {
    padding-bottom: 2rem;
  }
  .sc-furusato-header__ills {
    top: -6rem;
    bottom: -6rem;
    height: auto;
  }
  .sc-furusato-header__ill:nth-child(1) {
    width: 13.4rem;
    bottom: 0;
    right: calc(50% + 4rem);
    z-index: 1;
  }
  .sc-furusato-header__ill:nth-child(2) {
    width: 14.5rem;
    top: 0;
    left: calc(50% + 3rem);
  }
}

/* sc-furusato-product
============================================================ */
.sc-furusato-prod__item {
  background-color: var(--color-base-invert);
  border-radius: 0.8rem;
  border: 2px solid var(--color-primary);
}
.sc-furusato-prod__item__image {
  position: relative;
}
.sc-furusato-prod__item__image .swiper-slide {
  aspect-ratio: 1/1;
}
.sc-furusato-prod__item__image .swiper-slide img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  border-radius: 0.8rem;
}
.sc-furusato-prod__item__image .js-slider__controller {
  display: flex;
  align-items: center;
  justify-content: center;
  -moz-column-gap: 1rem;
  column-gap: 1rem;
  margin-top: 1rem;
  line-height: 0;
}
.sc-furusato-prod__item__image .js-slider__pagination {
  width: -moz-fit-content;
  width: fit-content;
}
.sc-furusato-prod__item__image .js-slider__pagination .swiper-pagination-bullet {
  opacity: 1;
  background-color: var(--color-container-secondary);
}
.sc-furusato-prod__item__image .js-slider__pagination .swiper-pagination-bullet-active {
  background-color: var(--color-primary);
}
.sc-furusato-prod__item__image .js-slider__player {
  font-size: 2rem;
  color: var(--color-primary);
  position: relative;
}
.sc-furusato-prod__item__image .js-slider__player .m-icon-play {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.sc-furusato-prod__item__image:not(.is-autoplay-stop) .m-icon-play {
  opacity: 0;
}
.sc-furusato-prod__item__image.is-autoplay-stop .m-icon-pause {
  opacity: 0;
}
.sc-furusato-prod__item__ttl {
  font-weight: bold;
  line-height: 1.4;
  color: var(--color-primary);
}
.sc-furusato-prod__item__links {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.8rem;
}
.sc-furusato-prod__item__links dt {
  font-weight: bold;
  line-height: 1.4;
  grid-column: 1/-1;
}
.sc-furusato-prod__item__links dd .m-btn {
  min-width: 100%;
  min-height: 4rem;
}
.sc-furusato-prod__item__links dd .m-btn .m-arrow {
  right: 1.25rem;
}
@media screen and (min-width: 812px) {
  .sc-furusato-prod__list {
    display: flex;
    flex-direction: column;
    row-gap: 3.2rem;
  }
  .sc-furusato-prod__item {
    padding: 4rem;
    display: flex;
    align-items: center;
    -moz-column-gap: 2.4rem;
    column-gap: 2.4rem;
  }
  .sc-furusato-prod__item__image {
    width: 45.8rem;
  }
  .sc-furusato-prod__item__image .js-slider__controller {
    position: absolute;
    top: 100%;
  }
  .sc-furusato-prod__item__inner {
    flex: 1;
  }
  .sc-furusato-prod__item__ttl {
    font-size: calc(var(--font-size-base) * 3.2);
    padding-bottom: 1rem;
    margin-bottom: 0.5rem;
  }
  .sc-furusato-prod__item__links {
    margin-top: 2.4rem;
  }
  .sc-furusato-prod__item__links dt {
    font-size: calc(var(--font-size-base) * 2);
  }
  .sc-furusato-prod__item:nth-child(odd) .sc-furusato-prod__item__image .js-slider__controller {
    left: 0;
  }
  .sc-furusato-prod__item:nth-child(even) {
    flex-direction: row-reverse;
  }
  .sc-furusato-prod__item:nth-child(even) .sc-furusato-prod__item__image .js-slider__controller {
    right: 0;
  }
}
@media screen and (max-width: 811px) {
  .sc-furusato-prod__list {
    display: flex;
    flex-direction: column;
    row-gap: 3.2rem;
  }
  .sc-furusato-prod__item {
    padding: 2.4rem 2.4rem 3.2rem;
  }
  .sc-furusato-prod__item__image {
    margin-bottom: 2.4rem;
  }
  .sc-furusato-prod__item__ttl {
    margin-bottom: 0.5rem;
    padding-bottom: 0.5em;
    text-align: center;
    font-size: calc(var(--font-size-base) * 2.4);
  }
  .sc-furusato-prod__item__desc {
    font-size: calc(var(--font-size-base) * 1.6);
  }
  .sc-furusato-prod__item__links {
    margin-top: 2.4rem;
  }
  .sc-furusato-prod__item__links dt {
    font-size: calc(var(--font-size-base) * 1.7);
  }
  .sc-furusato-prod__item__links dd .m-btn {
    font-size: calc(var(--font-size-base) * 1.2);
  }
}

/* sc-furusato-about
============================================================ */
.sc-furusato-about__image img {
  border-radius: 0.8rem;
}
@media screen and (min-width: 812px) {
  .sc-furusato-about .l-inner {
    display: grid;
    grid-template-columns: 46.6rem 1fr;
    -moz-column-gap: 5.6rem;
    column-gap: 5.6rem;
    align-items: center;
  }
  .sc-furusato-about .sc-ttl {
    margin-bottom: 1.6rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-furusato-about .l-inner {
    padding-left: 3.4rem;
    padding-right: 3.4rem;
  }
  .sc-furusato-about__image {
    margin-bottom: 3.2rem;
  }
  .sc-furusato-about .sc-ttl {
    margin-bottom: 2.4rem;
    text-align: center;
  }
}

/* sc-furusato-use
============================================================ */
.sc-furusato-use__item {
  position: relative;
  border-radius: 0.8rem;
  border: 2px solid var(--color-primary);
  background-color: var(--color-base-invert);
}
.sc-furusato-use__item__num {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1/1;
  border-radius: 50%;
  font-family: "Ubuntu", sans-serif;
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased;
  font-weight: 500;
  line-height: 0;
  color: var(--color-secondary);
  background-color: var(--color-primary);
}
.sc-furusato-use__item__image {
  aspect-ratio: 1/1;
  margin: 0 auto;
}
.sc-furusato-use__item__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  border-radius: 50%;
}
.sc-furusato-use__item__ttl {
  font-weight: bold;
  line-height: 1.4;
  color: var(--color-primary);
  text-align: center;
}
@media screen and (min-width: 812px) {
  .sc-furusato-use__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    -moz-column-gap: 2.4rem;
    column-gap: 2.4rem;
  }
  .sc-furusato-use__item {
    padding: 3.2rem 2.4rem;
  }
  .sc-furusato-use__item__num {
    top: 1.4rem;
    left: 1.4rem;
    width: 7.2rem;
    font-size: 3.6rem;
  }
  .sc-furusato-use__item__image {
    width: 15rem;
    margin-bottom: 2.4rem;
  }
  .sc-furusato-use__item__ttl {
    font-size: calc(var(--font-size-base) * 2.4);
    margin-bottom: 2.2rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-furusato-use__list {
    display: flex;
    flex-direction: column;
    row-gap: 1.6rem;
  }
  .sc-furusato-use__item {
    padding: 4rem 2.4rem;
  }
  .sc-furusato-use__item__num {
    top: 1rem;
    left: 1rem;
    width: 5.6rem;
    font-size: 3.2rem;
  }
  .sc-furusato-use__item__image {
    width: 15.5rem;
    margin-bottom: 2.4rem;
  }
  .sc-furusato-use__item__ttl {
    font-size: calc(var(--font-size-base) * 2);
    margin-bottom: 0.5rem;
  }
}

/* ============================================================
/* support page
============================================================ */
/* support header
============================================================ */
.sc-support-header__ills {
  position: relative;
  pointer-events: none;
}
.sc-support-header__ill {
  position: absolute;
}
.sc-support-header__text {
  position: relative;
  text-align: center;
  font-weight: bold;
  -webkit-text-stroke: 0.2em var(--current-container-color, var(--color-base-invert));
  text-stroke: 0.2em var(--current-container-color, var(--color-base-invert));
  paint-order: stroke;
  z-index: 1;
}
@media screen and (min-width: 812px) {
  .sc-support-header__text {
    font-size: calc(var(--font-size-base) * 2);
  }
  .sc-support-header .m-pnav {
    margin-top: 2rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-support-header {
    position: relative;
  }
  .sc-support-header__ills {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 15rem;
    overflow: hidden;
  }
  .sc-support-header__text {
    font-size: calc(var(--font-size-base) * 1.6);
  }
  .sc-support-header .m-pnav {
    margin-top: 3.2rem;
  }
}
.sc-support-header__container {
  position: relative;
}
@media screen and (min-width: 812px) {
  .sc-support-header__ills {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .sc-support-header__ill:nth-child(1) {
    width: 25.1rem;
    top: -7rem;
    right: calc(50% + 24rem);
  }
  .sc-support-header__ill:nth-child(2) {
    width: 12.6rem;
    bottom: -7rem;
    left: calc(50% + 24rem);
  }
}
@media screen and (max-width: 811px) {
  .sc-support-header__ills {
    top: -10rem;
    bottom: -7rem;
    height: auto;
  }
  .sc-support-header__ill:nth-child(1) {
    width: 12.2rem;
    top: 0;
    left: calc(50% + 4rem);
  }
  .sc-support-header__ill:nth-child(2) {
    width: 6.9rem;
    bottom: 0;
    right: calc(50% + 10.5rem);
    z-index: 1;
  }
  .sc-support-header .m-pnav__caption {
    min-width: 20.5rem;
  }
}

.sc-support__group__ttl {
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  background-color: var(--color-primary);
  color: var(--color-base-invert);
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
  padding: 0.25em 1em;
}
.sc-support__group__ttl:after {
  content: "";
  position: absolute;
  top: calc(100% - 1px);
  left: 50%;
  transform: translateX(-50%);
  width: 1.5rem;
  height: 1rem;
  background-color: inherit;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.sc-support__group__desc {
  text-align: center;
}
.sc-support__item {
  border-radius: 0.8rem;
  border: 2px solid var(--color-primary);
  background-color: var(--color-base-invert);
}
.sc-support__item__image img {
  border-radius: 0.8rem;
}
.sc-support__item__ttl {
  font-weight: bold;
  line-height: 1.4;
  color: var(--color-primary);
  margin-bottom: 0.8rem;
}
.sc-support__item__content {
  display: flex;
  align-items: center;
  -moz-column-gap: 0.5em;
  column-gap: 0.5em;
  margin-bottom: 0.8rem;
}
.sc-support__item__content dt {
  width: -moz-fit-content;
  width: fit-content;
  line-height: 1.4;
  font-weight: bold;
  padding: 0.3em 0.8em;
  color: var(--color-primary);
  border: 2px solid var(--color-primary);
  background-color: var(--color-container-primary);
  border-radius: 4.1rem;
}
.sc-support__item__content dd {
  flex: 1;
  line-height: 1.4;
  font-weight: bold;
  color: var(--color-primary);
}
.sc-support__item__more {
  margin-top: 0.8rem;
}
.sc-support__item__more .m-btn {
  min-width: 23.7rem;
  min-height: 4rem;
  font-size: inherit;
}
@media screen and (min-width: 812px) {
  .sc-support__group__header {
    margin-bottom: 2.4rem;
  }
  .sc-support__group__ttl {
    min-width: 31rem;
    min-height: 5.6rem;
    border-radius: 5.6rem;
    margin-bottom: 2rem;
    font-size: calc(var(--font-size-base) * 2.4);
  }
  .sc-support__group + .sc-support__group {
    margin-top: 10rem;
  }
  .sc-support__list {
    display: flex;
    flex-direction: column;
    row-gap: 2.4rem;
    max-width: 84.6rem;
    margin: 0 auto;
  }
  .sc-support__item {
    display: grid;
    grid-template-columns: 32rem 1fr;
    align-items: center;
    -moz-column-gap: 2.4rem;
    column-gap: 2.4rem;
    padding: 4rem;
  }
  .sc-support__item__ttl {
    font-size: calc(var(--font-size-base) * 2);
  }
  .sc-support__item__content {
    margin-top: 2rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-support__group__header {
    margin-bottom: 3.2rem;
  }
  .sc-support__group__ttl {
    min-width: 20.5rem;
    min-height: 5rem;
    border-radius: 5rem;
    margin-bottom: 2rem;
    font-size: calc(var(--font-size-base) * 1.7);
  }
  .sc-support__group + .sc-support__group {
    margin-top: 6rem;
  }
  .sc-support__group:first-child .sc-support__group__header {
    margin-top: -2rem;
  }
  .sc-support__list {
    display: flex;
    flex-direction: column;
    row-gap: 1.6rem;
  }
  .sc-support__item {
    padding: 2.4rem 2.4rem 3.2rem;
  }
  .sc-support__item__ttl {
    margin-top: 1.6rem;
    font-size: calc(var(--font-size-base) * 1.7);
    text-align: center;
  }
  .sc-support__item__content {
    margin: 0.8rem auto;
    width: -moz-fit-content;
    width: fit-content;
  }
  .sc-support__item__more {
    display: flex;
    justify-content: center;
  }
}

/* ============================================================
/* video project page
============================================================ */
/* video lead
============================================================ */
.sc-video-lead__header {
  position: relative;
  text-align: center;
  color: var(--color-primary);
  font-weight: bold;
  line-height: 1.4;
  -webkit-text-stroke: 0.2em var(--current-container-color, var(--color-base-invert));
  text-stroke: 0.2em var(--current-container-color, var(--color-base-invert));
  paint-order: stroke;
}
.sc-video-lead__ttl {
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}
.sc-video-lead__ttl:before, .sc-video-lead__ttl:after {
  content: "";
  position: absolute;
  width: 1em;
  height: 1em;
  background: url(../img/common/icon_dq.svg) no-repeat center center/contain;
}
.sc-video-lead__ttl:before {
  right: calc(100% + 0.3em);
  top: 0;
}
.sc-video-lead__ttl:after {
  left: calc(100% + 0.3em);
  bottom: -0.3em;
  transform: rotate(180deg);
}
.sc-video-lead__subttl {
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  padding-bottom: 0.3em;
}
.sc-video-lead__text {
  text-align: center;
}
.sc-video-lead__images img {
  border-radius: 0.8rem;
}
@media screen and (min-width: 812px) {
  .sc-video-lead__header {
    margin-bottom: 8rem;
  }
  .sc-video-lead__ttl {
    margin-bottom: 2.4rem;
    font-size: calc(var(--font-size-base) * 4);
  }
  .sc-video-lead__subttl {
    margin-bottom: 2.4rem;
    font-size: calc(var(--font-size-base) * 3.2);
  }
  .sc-video-lead__sub {
    font-size: calc(var(--font-size-base) * 2.4);
  }
  .sc-video-lead__ill {
    position: absolute;
    width: 19.7rem;
    top: -14rem;
    right: calc(50% + 27rem);
  }
  .sc-video-lead__images {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    -moz-column-gap: 2.4rem;
    column-gap: 2.4rem;
    margin-top: 3rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-video-lead__ttl {
    margin-bottom: 2.4rem;
    font-size: calc(var(--font-size-base) * 3.2);
  }
  .sc-video-lead__subttl {
    margin-bottom: 2.4rem;
    font-size: calc(var(--font-size-base) * 2.4);
  }
  .sc-video-lead__sub {
    font-size: calc(var(--font-size-base) * 2);
  }
  .sc-video-lead__ill {
    width: 10.2rem;
    margin: 2.4rem auto;
  }
  .sc-video-lead__images {
    display: flex;
    flex-direction: column;
    row-gap: 2.4rem;
    margin-top: 3rem;
  }
}

/* video process
============================================================ */
.sc-video-process__images img {
  border-radius: 0.8rem;
}
.sc-video-process__list {
  color: var(--color-primary);
  border: 1px solid var(--color-primary);
  border-radius: 0.8rem;
  background-color: var(--color-base-invert);
  line-height: 1.4;
}
.sc-video-process__list dt {
  padding-bottom: 0.5em;
  font-weight: bold;
  border-bottom: 1px solid;
}
.sc-video-process__list dd {
  font-weight: bold;
  text-indent: -1em;
  padding-left: 1em;
}
.sc-video-process__list dd:before {
  content: "・";
  display: inline-block;
  width: 1em;
  text-align: center;
  text-indent: 0;
}
@media screen and (min-width: 812px) {
  .sc-video-process .sc-sub {
    margin-top: 1.5rem;
  }
  .sc-video-process__list {
    padding: 4.8rem;
    display: flex;
    flex-direction: column;
    row-gap: 1.6rem;
  }
  .sc-video-process__list dt {
    margin-bottom: 0.8rem;
    font-size: calc(var(--font-size-base) * 2.4);
  }
  .sc-video-process__list dd {
    font-size: calc(var(--font-size-base) * 2);
  }
  .sc-video-process__images {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2.4rem;
    margin-top: 4rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-video-process .sc-sub {
    margin-bottom: 2.4rem;
    margin-top: 1.5rem;
  }
  .sc-video-process__list {
    padding: 2.4rem;
    display: flex;
    flex-direction: column;
    row-gap: 1.6rem;
  }
  .sc-video-process__list dt {
    padding-bottom: 1em;
    margin-bottom: 0.4rem;
    font-size: calc(var(--font-size-base) * 2);
  }
  .sc-video-process__list dd {
    font-size: calc(var(--font-size-base) * 1.7);
  }
  .sc-video-process__images {
    display: flex;
    flex-direction: column;
    row-gap: 2.4rem;
    margin-top: 2.4rem;
  }
}

/* video voice
============================================================ */
.sc-voice-cmt__header {
  color: var(--color-primary);
  font-weight: bold;
  line-height: 1.4;
}
.sc-voice-cmt__ttl {
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}
.sc-voice-cmt__ttl:after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 0;
  width: 2.4rem;
  border-bottom: 1px solid var(--color-line-primary);
}
.sc-voice-cmt__members {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}
.sc-voice-cmt__members li {
  display: flex;
  width: 100%;
  justify-content: space-between;
  align-items: center;
}
.sc-voice-cmt__members span {
  font-weight: bold;
}
.sc-voice-cmt__members em {
  display: flex;
  justify-content: center;
  align-items: center;
  font-style: normal;
  font-weight: bold;
  padding: 0.2em 1em;
  border: 2px solid var(--color-primary);
  background-color: var(--color-container-primary);
  border-radius: 4rem;
}
.sc-voice-cmt__item {
  display: flex;
  align-items: center;
}
.sc-voice-cmt__item__avator img {
  border-radius: 50%;
}
.sc-voice-cmt__item__avator figcaption {
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
  white-space: nowrap;
  margin-top: 0.2em;
}
.sc-voice-cmt__item__cnt {
  position: relative;
  flex: 1;
  border-radius: 0.8rem;
  color: var(--color-primary);
}
.sc-voice-cmt__item__cnt:before {
  position: absolute;
  font-family: "Ubuntu", sans-serif;
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased;
  font-weight: 500;
  font-weight: bold;
  line-height: 1;
}
.sc-voice-cmt__item__cnt:after {
  content: "";
  position: absolute;
  top: 50%;
  width: 2rem;
  height: 2rem;
  background-color: inherit;
  transform: translateY(-50%);
}
.sc-voice-cmt__item.interviewer .sc-voice-cmt__item__cnt {
  background-color: var(--color-container-primary);
}
.sc-voice-cmt__item.interviewer .sc-voice-cmt__item__cnt:before {
  content: "Q.";
}
.sc-voice-cmt__item.interviewer .sc-voice-cmt__item__cnt:after {
  right: calc(100% - 1px);
  clip-path: polygon(0 50%, 100% 0, 100% 100%);
}
.sc-voice-cmt__item.answer {
  flex-direction: row-reverse;
}
.sc-voice-cmt__item.answer .sc-voice-cmt__item__cnt {
  background-color: var(--color-base-invert);
}
.sc-voice-cmt__item.answer .sc-voice-cmt__item__cnt:before {
  content: "A.";
}
.sc-voice-cmt__item.answer .sc-voice-cmt__item__cnt:after {
  left: calc(100% - 1px);
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}
@media screen and (min-width: 812px) {
  .sc-voice-cmt {
    max-width: 84.6rem;
    margin: 0 auto;
  }
  .sc-voice-cmt__ttl {
    font-size: calc(var(--font-size-base) * 2.4);
    padding-bottom: 1.2rem;
    margin-bottom: 1.2rem;
  }
  .sc-voice-cmt__members {
    row-gap: 0.8rem;
    font-size: calc(var(--font-size-base) * 2.4);
  }
  .sc-voice-cmt__members li {
    -moz-column-gap: 0.8rem;
    column-gap: 0.8rem;
  }
  .sc-voice-cmt__members em {
    min-height: 4.1rem;
    font-size: calc(var(--font-size-base) * 1.6);
  }
  .sc-voice-cmt__list {
    display: flex;
    flex-direction: column;
    row-gap: 2.4rem;
    margin-top: 2.4rem;
  }
  .sc-voice-cmt__item {
    -moz-column-gap: 3rem;
    column-gap: 3rem;
  }
  .sc-voice-cmt__item__avator {
    width: 10rem;
  }
  .sc-voice-cmt__item__avator figcaption {
    font-size: 1.6rem;
  }
  .sc-voice-cmt__item__cnt {
    padding: 2rem 2.4rem 2rem 6rem;
    font-size: calc(var(--font-size-base) * 1.8);
  }
  .sc-voice-cmt__item__cnt::before {
    top: 2.4rem;
    left: 2.4rem;
    font-size: 2.5rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-voice-cmt__ttl {
    font-size: calc(var(--font-size-base) * 2);
    padding-bottom: 1.6rem;
    margin-bottom: 1.6rem;
  }
  .sc-voice-cmt__members {
    row-gap: 0.8rem;
    font-size: calc(var(--font-size-base) * 2);
  }
  .sc-voice-cmt__members li {
    -moz-column-gap: 0.8rem;
    column-gap: 0.8rem;
  }
  .sc-voice-cmt__members em {
    min-height: 4.1rem;
    font-size: calc(var(--font-size-base) * 1.5);
  }
  .sc-voice-cmt__list {
    display: flex;
    flex-direction: column;
    row-gap: 2.4rem;
    margin-top: 2.4rem;
  }
  .sc-voice-cmt__item {
    -moz-column-gap: 2.2rem;
    column-gap: 2.2rem;
  }
  .sc-voice-cmt__item__avator {
    width: 5.6rem;
  }
  .sc-voice-cmt__item__avator figcaption {
    font-size: 1rem;
  }
  .sc-voice-cmt__item__cnt {
    padding: 1.2rem 1.4rem 1.2rem 3.6rem;
    font-size: calc(var(--font-size-base) * 1.7);
  }
  .sc-voice-cmt__item__cnt::before {
    top: 1.8rem;
    left: 1.2rem;
    font-size: 1.8rem;
  }
  .sc-voice-cmt__item__cnt:after {
    width: 1.6rem;
    height: 1.6rem;
  }
}

/* video challenge
============================================================ */
.sc-video-challenge__item {
  border: 2px solid var(--color-primary);
  border-radius: 0.8rem;
  background-color: var(--color-primary);
  overflow: hidden;
}
.sc-video-challenge__item__ttl {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 0.2em 0.5em;
  line-height: 1.4;
  font-weight: bold;
  color: var(--color-base-invert);
}
@media screen and (min-width: 812px) {
  .sc-video-challenge__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    -moz-column-gap: 2.4rem;
    column-gap: 2.4rem;
    margin-top: 2.4rem;
  }
  .sc-video-challenge__item__ttl {
    min-height: 5.6rem;
    font-size: calc(var(--font-size-base) * 2);
  }
}
@media screen and (max-width: 811px) {
  .sc-video-challenge .sc-header {
    margin-bottom: 2.4rem;
  }
  .sc-video-challenge__list {
    display: flex;
    flex-direction: column;
    row-gap: 2.4rem;
    margin-top: 3rem;
  }
  .sc-video-challenge__item__ttl {
    min-height: 5.6rem;
    font-size: calc(var(--font-size-base) * 1.7);
  }
}

/* video promotion
============================================================ */
.sc-video-promotion__list {
  display: flex;
  flex-direction: column;
}
.sc-video-promotion__item {
  text-align: center;
}
.sc-video-promotion__item__ttl {
  line-height: 1.4;
  font-weight: bold;
  color: var(--color-primary);
}
.sc-video-promotion__item__movie {
  aspect-ratio: 16/9;
}
.sc-video-promotion__item__movie iframe {
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: 0.8rem;
}
.sc-video-promotion__link {
  display: flex;
  justify-content: center;
}
@media screen and (min-width: 812px) {
  .sc-video-promotion__list {
    row-gap: 6.4rem;
    max-width: 84.6rem;
    margin: 0 auto 6.4rem;
  }
  .sc-video-promotion__item__ttl {
    font-size: calc(var(--font-size-base) * 3.2);
    margin-bottom: 1.6rem;
  }
  .sc-video-promotion__item__movie {
    margin-top: 1.6rem;
  }
  .sc-video-promotion__link {
    margin-top: 6.4rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-video-promotion .sc-desc {
    text-align: left;
  }
  .sc-video-promotion__list {
    margin-bottom: 4rem;
    row-gap: 3.2rem;
  }
  .sc-video-promotion__item__ttl {
    font-size: calc(var(--font-size-base) * 2.4);
    margin-bottom: 1.6rem;
  }
  .sc-video-promotion__item__movie {
    margin-top: 1.6rem;
  }
}

/* ============================================================
/* promotion page
============================================================ */
/* promotion header
============================================================ */
.sc-promotion-header__ills {
  position: relative;
  pointer-events: none;
}
.sc-promotion-header__ill {
  position: absolute;
}
.sc-promotion-header__text {
  position: relative;
  text-align: center;
  font-weight: bold;
  -webkit-text-stroke: 0.2em var(--current-container-color, var(--color-base-invert));
  text-stroke: 0.2em var(--current-container-color, var(--color-base-invert));
  paint-order: stroke;
  z-index: 1;
}
@media screen and (min-width: 812px) {
  .sc-promotion-header__text {
    font-size: calc(var(--font-size-base) * 2);
  }
  .sc-promotion-header .m-pnav {
    margin-top: 2rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-promotion-header {
    position: relative;
  }
  .sc-promotion-header__ills {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 15rem;
    overflow: hidden;
  }
  .sc-promotion-header__text {
    font-size: calc(var(--font-size-base) * 1.6);
  }
  .sc-promotion-header .m-pnav {
    margin-top: 3.2rem;
  }
}
.sc-promotion-header .sc-ttl {
  text-align: center;
  position: relative;
}
@media screen and (min-width: 812px) {
  .sc-promotion-header .sc-ttl {
    margin-bottom: 2.4rem;
  }
  .sc-promotion-header__ill:nth-child(1) {
    width: 11.2rem;
    top: -16rem;
    right: calc(50% + 24rem);
  }
  .sc-promotion-header__ill:nth-child(2) {
    width: 18.2rem;
    top: 3rem;
    right: calc(50% + 30rem);
  }
  .sc-promotion-header__ill:nth-child(3) {
    width: 18.1rem;
    top: -16rem;
    left: calc(50% + 29rem);
  }
  .sc-promotion-header__ill:nth-child(4) {
    width: 16.7rem;
    top: 10rem;
    left: calc(50% + 34rem);
  }
}
@media screen and (max-width: 811px) {
  .sc-promotion-header .sc-ttl {
    margin-bottom: 2.4rem;
  }
  .sc-promotion-header .l-inner {
    padding-bottom: 3rem;
  }
  .sc-promotion-header__ills {
    top: -2rem;
    bottom: -1rem;
    height: auto;
  }
  .sc-promotion-header__ill:nth-child(1) {
    width: 7rem;
    top: 0;
    right: calc(50% + 9rem);
  }
  .sc-promotion-header__ill:nth-child(2) {
    width: 9.7rem;
    top: 0;
    left: calc(50% + 8rem);
  }
  .sc-promotion-header__ill:nth-child(3) {
    width: 9.3rem;
    bottom: 0;
    left: calc(50% + 8rem);
    z-index: 1;
  }
  .sc-promotion-header__ill:nth-child(4) {
    width: 11.1rem;
    bottom: 1rem;
    left: calc(50% - 8rem);
    z-index: 1;
  }
}

/* promotion
============================================================ */
.sc-promotion__list {
  display: flex;
  flex-direction: column;
}
.sc-promotion__item {
  text-align: center;
}
.sc-promotion__item__ttl {
  line-height: 1.4;
  font-weight: bold;
  color: var(--color-primary);
}
.sc-promotion__item__movie {
  aspect-ratio: 16/9;
}
.sc-promotion__item__movie iframe {
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: 0.8rem;
}
.sc-promotion__link {
  display: flex;
  justify-content: center;
}
@media screen and (min-width: 812px) {
  .sc-promotion__list {
    row-gap: 6.4rem;
    max-width: 84.6rem;
    margin: 0 auto;
  }
  .sc-promotion__item__ttl {
    font-size: calc(var(--font-size-base) * 3.2);
    margin-bottom: 1.6rem;
  }
  .sc-promotion__item__movie {
    margin-top: 1.6rem;
  }
  .sc-promotion__link {
    margin-top: 6.4rem;
  }
}
@media screen and (max-width: 811px) {
  .sc-promotion__list {
    row-gap: 3.2rem;
  }
  .sc-promotion__item__ttl {
    font-size: calc(var(--font-size-base) * 2.4);
    margin-bottom: 1.6rem;
  }
  .sc-promotion__item__movie {
    margin-top: 1.6rem;
  }
  .sc-promotion__link {
    margin-top: 4rem;
  }
  .sc-promotion__link .m-btn {
    line-height: 1.4;
  }
}