@charset "UTF-8";
:root {
  --color-main: #E50012;
  --color-green: #00A3AD;
  --color-blue: #004097;
  --color-sub: #0BA3E5;
  --color-sub2: #53B8E6;
  --color-bg: #EBFBF1;
  --color-bg2: #C6E7F5;
  --color-bg3: #EFEFEF;
  --color-bg4: #AEEEC5;
  --color-grad1: #F65454, #F97878;
  --color-grad2: #00A19C, #00A9CC;
  --color-dk: #666;
  --color-border: #ddd;
  --color-cv: #FA8800;
  --color-caution: #C90A14;
  --color-txt: #333;
  --color-caption: #666666;
  --color-link: #003C8A;
  --color-hover: #2668c1;
  --color-bk: #000;
  --color-wh: #FFF;
  --color-border-b: #BBB;
  --color-gray9: #999;
  --color-grayC: #CCC;
  --color-red: #DE4242;
  --color-shadow: rgba(0, 0, 0, 0.16);
  --font-base: "Zen Kaku Gothic Antique", sans-serif;
  --font-sub: "Open Sans", "Zen Kaku Gothic Antique", sans-serif;
  --font-sub2: "Nunito", sans-serif;
  --wrap-xxs: 800px;
  --wrap-xs: 970px;
  --wrap-s: 1000px;
  --wrap-mm: 1100px;
  --wrap-m: 1200px;
  --wrap-l: 1400px;
  --wrap-base: calc(100% - 40px);
  --wrap-base-pc: calc(100% - 60px);
  --wrap-base2: calc(100% - 80px);
  --fw-100: 100;
  --fw-200: 200;
  --fw-300: 300;
  --fw-400: 400;
  --fw-500: 500;
  --fw-600: 600;
  --fw-700: 700;
  --fw-800: 800;
  --fw-900: 900;
  --lineHeight-xs: 1.2;
  --lineHeight-s: 1.3;
  --lineHeight-m: 1.5;
  --lineHeight-mm: 1.6;
  --lineHeight-l: 1.8;
  --lineHeight-xl: 2;
  --trans-min02: all 0.2s ease-out;
  --trans-min03: all 0.3s ease-out;
  --trans-min04: all 0.4s ease-out;
  --trans-min05: all 0.5s ease-out;
  --trans-min06: all 0.6s ease-out;
  --trans-min07: all 0.7s ease-out;
  --trans-min08: all 0.8s ease-out;
  --trans-min09: all 0.9s ease-out;
  --trans-min1: all 1s ease-out;
  --img-zoom: scale(1.05);
  --img-zoomout: scale(0.88);
  --header-height-pc: 120px;
  --header-height-sp: 60px;
}

/* _animation.scss
-------------------------------------------------------*/
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes fadeIn_mv {
  0% {
    -webkit-filter: blur(2px);
            filter: blur(2px);
    opacity: 0.5;
    -webkit-transform: scale(1.01);
            transform: scale(1.01);
  }
  100% {
    -webkit-filter: blur(0);
            filter: blur(0);
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@keyframes fadeIn_mv {
  0% {
    -webkit-filter: blur(2px);
            filter: blur(2px);
    opacity: 0.5;
    -webkit-transform: scale(1.01);
            transform: scale(1.01);
  }
  100% {
    -webkit-filter: blur(0);
            filter: blur(0);
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@-webkit-keyframes fadeSlide {
  0% {
    opacity: 0;
    -webkit-transform: translateY(10px);
            transform: translateY(10px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes fadeSlide {
  0% {
    opacity: 0;
    -webkit-transform: translateY(10px);
            transform: translateY(10px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes blurIn {
  0% {
    -webkit-filter: blur(8px);
            filter: blur(8px);
  }
  100% {
    -webkit-filter: blur(0);
            filter: blur(0);
  }
}
@keyframes blurIn {
  0% {
    -webkit-filter: blur(8px);
            filter: blur(8px);
  }
  100% {
    -webkit-filter: blur(0);
            filter: blur(0);
  }
}
@-webkit-keyframes popup {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  20% {
    -webkit-transform: translateY(-5px);
            transform: translateY(-5px);
  }
  40% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes popup {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  20% {
    -webkit-transform: translateY(-5px);
            transform: translateY(-5px);
  }
  40% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes blur {
  from {
    -webkit-filter: blur(10px);
            filter: blur(10px);
  }
  to {
    -webkit-filter: blur(0);
            filter: blur(0);
  }
}
@keyframes blur {
  from {
    -webkit-filter: blur(10px);
            filter: blur(10px);
  }
  to {
    -webkit-filter: blur(0);
            filter: blur(0);
  }
}
@-webkit-keyframes scrollToLeft {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0);
  }
}
@keyframes scrollToLeft {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0);
  }
}
@-webkit-keyframes slideIn {
  0% {
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}
@keyframes slideIn {
  0% {
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}
@-webkit-keyframes arrowMove-r {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1;
  }
  50% {
    -webkit-transform: translateX(50%);
            transform: translateX(50%);
    opacity: 0;
  }
  50.1% {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1;
  }
}
@keyframes arrowMove-r {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1;
  }
  50% {
    -webkit-transform: translateX(50%);
            transform: translateX(50%);
    opacity: 0;
  }
  50.1% {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1;
  }
}
.cmnFade_item-1 {
  -webkit-animation-delay: 0s !important;
          animation-delay: 0s !important;
}

.cmnFade_item-2 {
  -webkit-animation-delay: 0.2s !important;
          animation-delay: 0.2s !important;
}

.cmnFade_item-3 {
  -webkit-animation-delay: 0.4s !important;
          animation-delay: 0.4s !important;
}

.cmnFade_item-4 {
  -webkit-animation-delay: 0.6s !important;
          animation-delay: 0.6s !important;
}

.cmnFade_item-5 {
  -webkit-animation-delay: 0.8s !important;
          animation-delay: 0.8s !important;
}

.cmnFade_item-6 {
  -webkit-animation-delay: 1s !important;
          animation-delay: 1s !important;
}

.cmnFade_item-7 {
  -webkit-animation-delay: 1.2s !important;
          animation-delay: 1.2s !important;
}

.cmnFade_item-8 {
  -webkit-animation-delay: 1.4s !important;
          animation-delay: 1.4s !important;
}

.cmnFade_item-9 {
  -webkit-animation-delay: 1.6s !important;
          animation-delay: 1.6s !important;
}

.cmnFade_item-10 {
  -webkit-animation-delay: 1.8s !important;
          animation-delay: 1.8s !important;
}

.cmnFade_item-11 {
  -webkit-animation-delay: 2s !important;
          animation-delay: 2s !important;
}

.cmnFade_item-12 {
  -webkit-animation-delay: 2.2s !important;
          animation-delay: 2.2s !important;
}

.cmnFade_item-13 {
  -webkit-animation-delay: 2.4s !important;
          animation-delay: 2.4s !important;
}

.cmnFade_item-14 {
  -webkit-animation-delay: 2.6s !important;
          animation-delay: 2.6s !important;
}

.cmnFade_item-15 {
  -webkit-animation-delay: 2.8s !important;
          animation-delay: 2.8s !important;
}

.cmnFade_item-16 {
  -webkit-animation-delay: 3s !important;
          animation-delay: 3s !important;
}

.cmnFade_item-17 {
  -webkit-animation-delay: 3.2s !important;
          animation-delay: 3.2s !important;
}

.cmnFade_item-18 {
  -webkit-animation-delay: 3.4s !important;
          animation-delay: 3.4s !important;
}

.cmnFade_item-19 {
  -webkit-animation-delay: 3.6s !important;
          animation-delay: 3.6s !important;
}

.cmnFade_item-20 {
  -webkit-animation-delay: 3.8s !important;
          animation-delay: 3.8s !important;
}

.cmnFade_item {
  opacity: 0;
  -webkit-transform: translateY(5px);
          transform: translateY(5px);
}
.is-show .cmnFade_item, .cmnFade_item.is-show {
  -webkit-animation: fadeSlide 0.4s linear forwards;
          animation: fadeSlide 0.4s linear forwards;
}
@media screen and (max-width: 768px) {
  .cmnFade_item-sp {
    -webkit-animation-delay: 0s !important;
            animation-delay: 0s !important;
  }
  .cmnFade_item-sp-2 {
    -webkit-animation-delay: 0.2s !important;
            animation-delay: 0.2s !important;
  }
  .cmnFade_item-sp-3 {
    -webkit-animation-delay: 0.4s !important;
            animation-delay: 0.4s !important;
  }
}

/* /_animation.scss
-------------------------------------------------------*/
/* _reset.scss 
-------------------------------------------------------*/
/*! kiso.css v1.2.1 | MIT License | https://github.com/tak-dcxi/kiso.css */
/* ======================================================
//  MARK: Universal
// ====================================================== */
*,
::before,
::after {
  /*
   * Includes `padding` and `border` in the element's specified dimensions.
   * It is highly recommended to set `box-sizing: border-box;` by default, as it makes styling much easier, especially when specifying `width: 100%;`.
   */
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/* ======================================================
//  MARK: Document and Body Elements
// ====================================================== */
:where(:root) {
  /* In Safari, if `font-family` is not specified, a serif font is applied by default, so `sans-serif` is set as the default here. */
  font-family: sans-serif;
  /*
   * For accessibility, it is recommended to set the `line-height` to at least 1.5 times the text size within paragraphs.
   * @see https://waic.jp/translations/WCAG21/#visual-presentation
   */
  line-height: 1.5;
  /* Remove space when punctuation marks are adjacent, and also remove leading spaces in a line. */
  text-spacing-trim: trim-start;
  /* Improves readability by inserting a small space between Japanese and alphanumeric characters. */
  text-autospace: normal;
  /* Prevents misreading by applying strict line-breaking rules. */
  line-break: strict;
  /* Wraps English words mid-word. Specifying `anywhere` also prevents content from overflowing in layouts like `flex` or `grid`. */
  overflow-wrap: anywhere;
  /*
   * Mobile browsers have an algorithm that automatically adjusts font sizes to prevent text from becoming too small.
   * This controls the auto-adjustment feature to prevent unwanted resizing.
   */
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
   -ms-text-size-adjust: 100%;
       text-size-adjust: 100%;
  /* Prevents layout shift caused by the appearance or disappearance of the scrollbar. */
  scrollbar-gutter: stable;
  /* Suppresses the tap highlight on iOS. */
  -webkit-tap-highlight-color: transparent;
}

:where(body) {
  /*
   * When creating a sticky footer, a minimum height is often required.
   * Setting the `min-block-size` to the dynamic viewport height ensures enough space for the footer.
   */
  min-block-size: 100dvb;
  /* The `margin` specified in the User Agent (UA) stylesheet is often unnecessary, so it is reset here. */
  margin: unset;
}

/* ======================================================
// MARK: Sections
// ------------------------------------------------------ */
:where(h1, h2, h3, h4, h5, h6) {
  /* Prevents the last line of text from ending with a single word, which can look awkward (known as an orphan). */
  text-wrap: pretty;
}

:where(h1) {
  /*
   * Adjusts user agent (UA) styles for `h1` elements within sectioning content.
   * This addresses DevTools warnings that appear when `h1` elements nested within sectioning content lack `font-size` and `margin` properties.
   * @see https://html.spec.whatwg.org/#sections-and-headings
   */
  margin-block: 0.67em;
  font-size: 2em;
}

:where(h2, h3, h4, h5, h6) {
  /* The `margin-block` specified in the User Agent (UA) stylesheet is often unnecessary, so it is reset. */
  margin-block: unset;
}

:where(search) {
  /*
   * The `<search>` element is supported from Safari 17.
   * This prevents it from being displayed as an inline element in unsupported environments.
   */
  display: block flow;
}

/* ======================================================
//  MARK: Grouping content
// ====================================================== */
:where(p, blockquote, figure, pre, address, ul, ol, dl, menu) {
  /* The `margin-block` specified in the User Agent (UA) stylesheet is often unnecessary, so it is reset. */
  margin-block: unset;
}

:where(blockquote, figure) {
  /* The `margin-inline` specified in the User Agent (UA) stylesheet is often unnecessary, so it is reset. */
  margin-inline: unset;
}

:where(p:lang(en)) {
  /*
   * In English, a single word on the last line is called a "widow" or "orphan" and is considered something to avoid as it makes the text harder to read.
   * Therefore, when lang="en", this prevents the last line from ending with a single word.
   */
  text-wrap: pretty;
}

:where(address:lang(ja)) {
  /* Italic style is not common in Japanese, so the `font-style` is reset. */
  font-style: unset;
}

:where(ul, ol, menu) {
  /* The `padding-inline-start` specified in the User Agent (UA) stylesheet is often unnecessary, so it is reset. */
  -webkit-padding-start: unset;
          padding-inline-start: unset;
  /*
   * In Safari, using `list-style: none` prevents screen readers from announcing lists.
   * `list-style-type: ""` is used to hide markers without affecting accessibility.
   * @see https://matuzo.at/blog/2023/removing-list-styles-without-affecting-semantics
   */
  list-style-type: "";
}

:where(dt) {
  /* It is common to display `<dt>` elements in bold, so `font-weight: bolder;` is set by default. */
  font-weight: bolder;
}

:where(dd) {
  /* The `margin-inline-start` specified in the User Agent (UA) stylesheet is often unnecessary, so it is reset. */
  -webkit-margin-start: unset;
          margin-inline-start: unset;
}

:where(pre) {
  /*
   * Since `text-spacing-trim` can affect spacing in `<pre>` elements even with its initial value, the final rendering may depend on the user's font settings.
   * To ensure consistent alignment, `space-all` is explicitly specified and inheritance is prevented.
   */
  text-spacing-trim: space-all;
  /* Set to `no-autospace` as it can cause misalignment with monospaced fonts. */
  text-autospace: no-autospace;
}

/* ======================================================
//  MARK: Text-level semantics
// ====================================================== */
:where(em:lang(ja)) {
  /* In Japanese, emphasis is commonly represented by bold text, so `font-weight: bolder;` is set by default. */
  font-weight: bolder;
}

:where(:is(i, cite, em, dfn, var):lang(ja)) {
  /* Italic style is not common in Japanese, so the `font-style` is reset. */
  font-style: unset;
}

:where(code, kbd, samp) {
  /*
   * Set a monospace font family referencing Tailwind.
   * @see https://tailwindcss.com/docs/font-family
   */
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  /* Font feature settings can have adverse effects on monospaced fonts, so their values are explicitly set to `initial` to prevent inheritance. */
  -webkit-font-feature-settings: initial;
          font-feature-settings: initial;
  font-variation-settings: initial;
  /* Resets the `font-size` specified in the UA stylesheet to allow inheritance. */
  font-size: unset;
  /*
   * Disables font ligatures for programming fonts (like Fira Code)
   * to prevent character combinations like `=>` from being rendered as a single symbol (e.g., `⇒`).
   */
  -webkit-font-variant-ligatures: none;
          font-variant-ligatures: none;
}

:where(abbr[title]) {
  /*
   * The `<abbr>` element with the `title` attribute isn't helpful regarding accessibility because support is inconsistent, and it's only accessible to some users.
   * This rule shows a dotted underline on abbreviations in all browsers (there's a bug in Safari) and changes the cursor.
   * @see https://adrianroselli.com/2024/01/using-abbr-element-with-title-attribute.html
   */
  -webkit-text-decoration-line: underline;
          text-decoration-line: underline;
  -webkit-text-decoration-style: dotted;
          text-decoration-style: dotted;
  cursor: help;
}

:where(time) {
  /* Set to `no-autospace` because date notations in typography do not include spaces. */
  text-autospace: no-autospace;
}

@media (forced-colors: active) {
  :where(mark) {
    /*
      * In forced-colors mode, the color of the mark element may not change, which can be problematic. Use system colors in forced-colors mode.
      * @see https://adrianroselli.com/2017/12/tweaking-text-level-styles.html#MarkWHCM
      */
    background-color: Highlight;
    color: HighlightText;
  }
}
@media print {
  :where(mark) {
    /*
      * Not all printers support color, and users might print in grayscale.
      * It's worth adding a non-disruptive style that scales with the text, as an alternative to relying only on background color.
      * @see https://adrianroselli.com/2017/12/tweaking-text-level-styles.html#MarkPrint
      */
    border-width: 1px;
    border-style: dotted;
  }
}
/* ======================================================
//  MARK: Links
// ====================================================== */
:where(a:-webkit-any-link) {
  /* The default `color` from the UA stylesheet is rarely used as is, so it's reset to allow inheritance. */
  color: unset;
  /*
   * While link underlines can be useful, they are often obstructive.
   * They are disabled by default.
   * If needed, restore them using `text-decoration-line: revert;`.
   */
  -webkit-text-decoration-line: unset;
          text-decoration-line: unset;
  /* Set the underline thickness to the font's default thickness. */
  text-decoration-thickness: from-font;
}
:where(a:-moz-any-link) {
  /* The default `color` from the UA stylesheet is rarely used as is, so it's reset to allow inheritance. */
  color: unset;
  /*
   * While link underlines can be useful, they are often obstructive.
   * They are disabled by default.
   * If needed, restore them using `text-decoration-line: revert;`.
   */
  text-decoration-line: unset;
  /* Set the underline thickness to the font's default thickness. */
  text-decoration-thickness: from-font;
}
:where(a:any-link) {
  /* The default `color` from the UA stylesheet is rarely used as is, so it's reset to allow inheritance. */
  color: unset;
  /*
   * While link underlines can be useful, they are often obstructive.
   * They are disabled by default.
   * If needed, restore them using `text-decoration-line: revert;`.
   */
  -webkit-text-decoration-line: unset;
          text-decoration-line: unset;
  /* Set the underline thickness to the font's default thickness. */
  text-decoration-thickness: from-font;
}

/* ======================================================
//  MARK: Embedded content
// ====================================================== */
:where(img, svg, picture, video, canvas, model, audio, iframe, embed, object) {
  /* Automatically adjust block size based on content. */
  block-size: auto;
  /* Prevents overflow by setting the maximum width to `100%`. */
  max-inline-size: 100%;
  /* Prevents extra space from appearing at the bottom of the element. */
  vertical-align: bottom;
}

:where(iframe) {
  /* The `border` specified in the UA stylesheet is often unnecessary, so it is reset. */
  border: unset;
}

/* ======================================================
//  MARK: Tabular data
// ====================================================== */
:where(table) {
  /* Collapse borders for a more refined table design. */
  border-collapse: collapse;
}

:where(caption, th) {
  /* The `text-align` specified in the UA stylesheet is often unnecessary, so it is reset. */
  text-align: unset;
}

:where(caption) {
  /* Prevents the last line of text from ending with a single word, which can look awkward (known as an orphan). */
  text-wrap: pretty;
}

/* ======================================================
//  MARK: Forms
// ====================================================== */
::-webkit-file-upload-button {
  /*
   * These elements are often styled with a border, so a `1px` border is applied by default for consistency.
   * This ensures readability even for unstyled elements.
   * When resetting, it's recommended to use `border-color: transparent` instead of `border: none` to account for forced color modes.
   */
  border-width: 1px;
  border-style: solid;
  /* These styles specified in the UA stylesheet are often unnecessary, so they are reset to allow for inheritance. */
  border-color: unset;
  border-radius: unset;
  color: unset;
  font: unset;
  letter-spacing: unset;
  text-align: unset;
}
:where(button, input, select, textarea),
::file-selector-button {
  /*
   * These elements are often styled with a border, so a `1px` border is applied by default for consistency.
   * This ensures readability even for unstyled elements.
   * When resetting, it's recommended to use `border-color: transparent` instead of `border: none` to account for forced color modes.
   */
  border-width: 1px;
  border-style: solid;
  /* These styles specified in the UA stylesheet are often unnecessary, so they are reset to allow for inheritance. */
  border-color: unset;
  border-radius: unset;
  color: unset;
  font: unset;
  letter-spacing: unset;
  text-align: unset;
}

:where(input:is([type=radio i], [type=checkbox i])) {
  /* The `margin` specified in the User Agent (UA) stylesheet is often unnecessary, so it is reset here. */
  margin: unset;
}

:where(input[type=file i]) {
  /* The `border` is often unnecessary, so it is reset here. */
  border: unset;
}

:where(input[type=search i]) {
  /* Remove the rounded corners of search inputs on macOS and normalize the background color. */
  -webkit-appearance: textfield;
}

@supports (-webkit-touch-callout: none) {
  :where(input[type=search i]) {
    /* normalize the background color on iOS. */
    background-color: Canvas;
  }
}
:where(input:is([type=tel i], [type=url i], [type=email i], [type=number i]):not(:-moz-placeholder-shown)) {
  /*
   * Certain input types need to maintain left alignment even in right-to-left (RTL) languages.
   * However, this only applies when the value is not empty, as the placeholder should be right-aligned.
   * @see https://rtlstyling.com/posts/rtl-styling#form-inputs
   */
  direction: ltr;
}
:where(input:is([type=tel i], [type=url i], [type=email i], [type=number i]):not(:-ms-input-placeholder)) {
  /*
   * Certain input types need to maintain left alignment even in right-to-left (RTL) languages.
   * However, this only applies when the value is not empty, as the placeholder should be right-aligned.
   * @see https://rtlstyling.com/posts/rtl-styling#form-inputs
   */
  direction: ltr;
}
:where(input:is([type=tel i], [type=url i], [type=email i], [type=number i]):not(:placeholder-shown)) {
  /*
   * Certain input types need to maintain left alignment even in right-to-left (RTL) languages.
   * However, this only applies when the value is not empty, as the placeholder should be right-aligned.
   * @see https://rtlstyling.com/posts/rtl-styling#form-inputs
   */
  direction: ltr;
}

:where(textarea) {
  /* The `margin-block` specified in Firefox's UA stylesheet is often unnecessary, so it is reset. */
  margin-block: unset;
  /* Allows vertical resizing for `<textarea>` elements. */
  resize: block;
}

:where(input:not([type=button i], [type=submit i], [type=reset i]), textarea, [contenteditable]) {
  /* Set to `no-autospace` because `text-autospace` can insert spaces during input, potentially causing erratic behavior. */
  text-autospace: no-autospace;
}

::-webkit-file-upload-button {
  /* The `background-color` specified in the User Agent (UA) stylesheet is often unnecessary, so it is reset here. */
  background-color: unset;
}

:where(button, input:is([type=button i], [type=submit i], [type=reset i])),
::file-selector-button {
  /* The `background-color` specified in the User Agent (UA) stylesheet is often unnecessary, so it is reset here. */
  background-color: unset;
}

::-webkit-file-upload-button {
  /*
   * On iOS, double-tapping a button can cause zooming, which harms usability.
   * `touch-action: manipulation` is specified to disable zooming on double-tap.
   * Third-party plugins such as Swiper sometimes use div elements with these roles as buttons, since double-tapping a div can still trigger zooming, it's advisable to specify this property.
   */
  touch-action: manipulation;
}

:where(button, input:is([type=button i], [type=submit i], [type=reset i]), [role=tab i], [role=button i], [role=option i]),
::file-selector-button {
  /*
   * On iOS, double-tapping a button can cause zooming, which harms usability.
   * `touch-action: manipulation` is specified to disable zooming on double-tap.
   * Third-party plugins such as Swiper sometimes use div elements with these roles as buttons, since double-tapping a div can still trigger zooming, it's advisable to specify this property.
   */
  -ms-touch-action: manipulation;
      touch-action: manipulation;
}

:where(:enabled)::-webkit-file-upload-button {
  /* Indicate clickable elements with a pointer cursor. */
  cursor: pointer;
}

:where(button:enabled, label[for], select:enabled, input:is([type=button i], [type=submit i], [type=reset i], [type=radio i], [type=checkbox i]):enabled, [role=tab i], [role=button i], [role=option i]),
:where(:enabled)::file-selector-button {
  /* Indicate clickable elements with a pointer cursor. */
  cursor: pointer;
}

:where(fieldset) {
  /*
   * Prevent fieldset from causing overflow.
   * Reset the default `min-inline-size: min-content` to prevent children from stretching fieldset.
   * @see https://github.com/twbs/bootstrap/issues/12359
   */
  min-inline-size: 0;
  /* The following default styles are often unnecessary, so they are reset. */
  margin-inline: unset;
  padding: unset;
  border: unset;
}

:where(legend) {
  /* The default `padding-inline` is often unnecessary, so it is reset. */
  padding-inline: unset;
}

:where(progress) {
  /* Resets the vertical alignment of the `<progress>` element to its initial value. */
  vertical-align: unset;
}

::-webkit-input-placeholder {
  /* Standardize the opacity of placeholder text (it may be set lower by default in Firefox). */
  opacity: unset;
}

::-moz-placeholder {
  /* Standardize the opacity of placeholder text (it may be set lower by default in Firefox). */
  opacity: unset;
}

:-ms-input-placeholder {
  /* Standardize the opacity of placeholder text (it may be set lower by default in Firefox). */
  opacity: unset;
}

::-ms-input-placeholder {
  /* Standardize the opacity of placeholder text (it may be set lower by default in Firefox). */
  opacity: unset;
}

::placeholder {
  /* Standardize the opacity of placeholder text (it may be set lower by default in Firefox). */
  opacity: unset;
}

/* ======================================================
//  MARK: Interactive elements
// ====================================================== */
:where(summary) {
  /* The default triangle marker is often unnecessary, so it is disabled. */
  list-style-type: "";
  /* Changing the cursor to a pointer clarifies the clickability of the element. */
  cursor: pointer;
}

:where(summary)::-webkit-details-marker {
  /* In Safari versions earlier than 18.4 (released in April 2025), a triangle icon is displayed using the -webkit-details-marker CSS pseudo-element, so it should be removed. */
  display: none;
}

:where(dialog, [popover]) {
  /*
   * When these fixed-position elements are scrolled, preventing scroll chaining on the underlying page and bounce effects on mobile improves usability.
   * Disabling block-direction scroll chaining is recommended.
   */
  overscroll-behavior-block: contain;
  /* The following default styles are often unnecessary, so they are reset. */
  padding: unset;
  border: unset;
}

:where(dialog:not([open], [popover]), [popover]:not(:popover-open)) {
  /*
   * These elements can be easily displayed by explicitly setting their `display` property.
   * To prevent them from appearing when not in an open state, they are forcibly hidden.
   */
  display: none !important;
}

:where(dialog) {
  /*
   * The max width and height of a `<dialog>` element are typically determined by the design.
   * These UA stylesheet properties are reset as they can be obstructive, especially when trying to make the dialog full-screen.
   */
  max-inline-size: unset;
  max-block-size: unset;
}

:where(dialog)::-webkit-backdrop {
  /* Normalize the background color of the `::backdrop` element. */
  background-color: oklch(0% 0 0deg/30%);
}

:where(dialog)::backdrop {
  /* Normalize the background color of the `::backdrop` element. */
  background-color: oklch(0% 0 0deg/30%);
}

:where([popover]) {
  /*
   * While the UA stylesheet's `margin` for `<dialog>` elements is useful for centering with `inset: 0`,
   * but `margin` for `popover` elements is often obstructive as they frequently use Anchor Positioning.
   */
  margin: unset;
}

/* ======================================================
//  MARK: Focus Styles
// ====================================================== */
:where(:focus-visible) {
  /* Add space between the content and the focus outline. */
  outline-offset: 3px;
}

[tabindex="-1"]:focus {
  /* Prevent programmatically focused elements from displaying an outline unless they are naturally focusable. */
  outline: none !important;
}

/* ======================================================
//  MARK: Misc
// ====================================================== */
:where(:disabled, [aria-disabled=true i]) {
  /* Display the default cursor on disabled elements to reflect their non-interactive state. */
  cursor: default;
}

[hidden]:not([hidden=until-found i]) {
  /* Ensure that elements intended to be hidden are not displayed, improving clarity and layout control. */
  display: none !important;
}

@supports selector(::scroll-button(*)) {
  ::scroll-button(*) {
    /* Apply the same reset as for `<button>` elements. */
    border-width: 1px;
    border-style: solid;
    border-color: unset;
    border-radius: unset;
    background-color: unset;
    color: unset;
    font: unset;
    letter-spacing: unset;
    text-align: unset;
    -ms-touch-action: manipulation;
        touch-action: manipulation;
  }
  ::scroll-button(*):enabled {
    /* Make the scroll button indicate interactivity when enabled. */
    cursor: pointer;
  }
}
/* /_reset.scss
-------------------------------------------------------*/
/* _base.scss
-------------------------------------------------------*/
body {
  margin: 0 auto;
  position: relative;
  font-weight: 500;
  font-size: 1rem;
  -webkit-text-size-adjust: 100%;
  width: 100%;
  color: var(--color-txt);
  font-family: var(--font-base);
  min-width: 1260px;
}
@media screen and (max-width: 768px) {
  body {
    min-width: 0;
  }
}
@media print {
  body {
    zoom: 0.8;
  }
}
body.locked {
  position: fixed;
  width: 100%;
  top: 0px;
  overflow: auto;
  scrollbar-gutter: stable;
}

:root {
  interpolate-size: allow-keywords;
  /* サイズキーワードによるアニメーションを許可 */
}

main {
  display: block;
  overflow-x: clip;
}

hr {
  border: none;
  width: 100%;
  height: 1px;
  background: var(--color-grayC);
}

button {
  border: none;
  padding: 0;
}

.material-symbols-outlined {
  font-size: inherit;
}

.material-fill {
  font-variation-settings: "FILL" 1;
}

.material-light {
  font-variation-settings: "wght" 200;
}

/* アイコン */
.icon {
  width: 1.1em;
  height: 1.1em;
  display: inline-block;
  margin: 0 5px;
  vertical-align: -2px;
}
.icon::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: var(--color-blue);
}
.icon--blank::before {
  -webkit-mask: url("/assets/images/icon/blank.svg") no-repeat center/contain;
          mask: url("/assets/images/icon/blank.svg") no-repeat center/contain;
}
.icon--pdf::before {
  -webkit-mask: url("/assets/images/icon/pdf.svg") no-repeat center/contain;
          mask: url("/assets/images/icon/pdf.svg") no-repeat center/contain;
}
.icon--arrow-r::before {
  -webkit-mask: url("/assets/images/icon/arrow-r.svg") no-repeat center/contain;
          mask: url("/assets/images/icon/arrow-r.svg") no-repeat center/contain;
}
.icon--arrow-l::before {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  -webkit-mask: url("/assets/images/icon/arrow-r.svg") no-repeat center/contain;
          mask: url("/assets/images/icon/arrow-r.svg") no-repeat center/contain;
}
.icon--arrow2-r::before {
  -webkit-mask: url("/assets/images/icon/arrow2-r.svg") no-repeat center/contain;
          mask: url("/assets/images/icon/arrow2-r.svg") no-repeat center/contain;
}
.icon--arrow2-b::before {
  -webkit-mask: url("/assets/images/icon/arrow2-r.svg") no-repeat center/contain;
          mask: url("/assets/images/icon/arrow2-r.svg") no-repeat center/contain;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
.icon--arrow3-r::before {
  -webkit-mask: url("/assets/images/icon/arrow3-r.svg") no-repeat center/contain;
          mask: url("/assets/images/icon/arrow3-r.svg") no-repeat center/contain;
}
.icon--arrow4-r::before {
  -webkit-mask: url("/assets/images/icon/arrow4-r.svg") no-repeat center/contain;
          mask: url("/assets/images/icon/arrow4-r.svg") no-repeat center/contain;
}
.icon--arrow5-r::before {
  -webkit-mask: url("/assets/images/icon/arrow5-r.svg") no-repeat center/contain;
          mask: url("/assets/images/icon/arrow5-r.svg") no-repeat center/contain;
}
.icon--arrow5-b::before {
  -webkit-mask: url("/assets/images/icon/arrow5-b.svg") no-repeat center/contain;
          mask: url("/assets/images/icon/arrow5-b.svg") no-repeat center/contain;
}
.icon--lock::before {
  -webkit-mask: url("/assets/images/icon/lock.svg") no-repeat center/contain;
          mask: url("/assets/images/icon/lock.svg") no-repeat center/contain;
}
.icon--download::before {
  -webkit-mask: url("/assets/images/icon/download.svg") no-repeat center/contain;
          mask: url("/assets/images/icon/download.svg") no-repeat center/contain;
}
.icon--arrow-wt::before {
  -webkit-mask: url("/assets/images/icon/arrow-t.svg") center/contain no-repeat;
          mask: url("/assets/images/icon/arrow-t.svg") center/contain no-repeat;
}
.icon--arrow-wr::before {
  -webkit-mask: url("/assets/images/icon/arrow-r.svg") center/contain no-repeat;
          mask: url("/assets/images/icon/arrow-r.svg") center/contain no-repeat;
}
.icon--arrow-wl::before {
  -webkit-mask: url("/assets/images/icon/arrow-l.svg") center/contain no-repeat;
          mask: url("/assets/images/icon/arrow-l.svg") center/contain no-repeat;
}
.icon--arrow-wb::before {
  -webkit-mask: url("/assets/images/icon/arrow-b.svg") center/contain no-repeat;
          mask: url("/assets/images/icon/arrow-b.svg") center/contain no-repeat;
}
.icon--search::before {
  -webkit-mask: url("/assets/images/icon/search.svg") center/contain no-repeat;
          mask: url("/assets/images/icon/search.svg") center/contain no-repeat;
}
.icon--plus::before {
  -webkit-mask: url("/assets/images/icon/plus.svg") no-repeat center/contain;
          mask: url("/assets/images/icon/plus.svg") no-repeat center/contain;
}
.icon--minus::before {
  -webkit-mask: url("/assets/images/icon/minus.svg") no-repeat center/contain;
          mask: url("/assets/images/icon/minus.svg") no-repeat center/contain;
}
.icon--close::before {
  -webkit-mask: url("/assets/images/icon/close.svg") center/contain no-repeat;
          mask: url("/assets/images/icon/close.svg") center/contain no-repeat;
}
.icon--tel::before {
  -webkit-mask: url("/assets/images/icon/call.svg") center/contain no-repeat;
          mask: url("/assets/images/icon/call.svg") center/contain no-repeat;
}
.icon--check::before {
  -webkit-mask: url("/assets/images/icon/check.svg") center/contain no-repeat;
          mask: url("/assets/images/icon/check.svg") center/contain no-repeat;
}
.icon--warning::before {
  -webkit-mask: url("/assets/images/icon/warning.svg") center/contain no-repeat;
          mask: url("/assets/images/icon/warning.svg") center/contain no-repeat;
}
.icon--paper::before {
  -webkit-mask: url("/assets/images/icon/description.svg") center/contain no-repeat;
          mask: url("/assets/images/icon/description.svg") center/contain no-repeat;
}
.icon--math::before {
  -webkit-mask: url("/assets/images/icon/calc.svg") center/contain no-repeat;
          mask: url("/assets/images/icon/calc.svg") center/contain no-repeat;
}
.icon--play::before {
  -webkit-mask: url("/assets/images/icon/play.svg") center/contain no-repeat;
          mask: url("/assets/images/icon/play.svg") center/contain no-repeat;
}
.icon--pause::before {
  -webkit-mask: url("/assets/images/icon/pause.svg") center/contain no-repeat;
          mask: url("/assets/images/icon/pause.svg") center/contain no-repeat;
}
.icon--login::before {
  -webkit-mask: url("/assets/images/icon/login.svg") center/contain no-repeat;
          mask: url("/assets/images/icon/login.svg") center/contain no-repeat;
}
.icon--map::before {
  -webkit-mask: url("/assets/images/icon/map.svg") center/contain no-repeat;
          mask: url("/assets/images/icon/map.svg") center/contain no-repeat;
}
.icon--mapfill::before {
  -webkit-mask: url("/assets/images/icon/map-fill.svg") center/contain no-repeat;
          mask: url("/assets/images/icon/map-fill.svg") center/contain no-repeat;
}
.icon--home::before {
  -webkit-mask: url("/assets/images/icon/home.svg") center/contain no-repeat;
          mask: url("/assets/images/icon/home.svg") center/contain no-repeat;
}
.icon--rate::before {
  -webkit-mask: url("/assets/images/icon/rate.svg") center/contain no-repeat;
          mask: url("/assets/images/icon/rate.svg") center/contain no-repeat;
}
.icon--home-m::before {
  -webkit-mask: url("/assets/images/icon/home-m.svg") center/contain no-repeat;
          mask: url("/assets/images/icon/home-m.svg") center/contain no-repeat;
}
.icon--car-m::before {
  -webkit-mask: url("/assets/images/icon/car-m.svg") center/contain no-repeat;
          mask: url("/assets/images/icon/car-m.svg") center/contain no-repeat;
}
.icon--child-m::before {
  -webkit-mask: url("/assets/images/icon/child-m.svg") center/contain no-repeat;
          mask: url("/assets/images/icon/child-m.svg") center/contain no-repeat;
}
.icon--hat-m::before {
  -webkit-mask: url("/assets/images/icon/hat-m.svg") center/contain no-repeat;
          mask: url("/assets/images/icon/hat-m.svg") center/contain no-repeat;
}
.icon--insurance-m::before {
  -webkit-mask: url("/assets/images/icon/insurance-m.svg") center/contain no-repeat;
          mask: url("/assets/images/icon/insurance-m.svg") center/contain no-repeat;
}
.icon--money-m::before {
  -webkit-mask: url("/assets/images/icon/money-m.svg") center/contain no-repeat;
          mask: url("/assets/images/icon/money-m.svg") center/contain no-repeat;
}
.icon--calendar::before {
  -webkit-mask: url("/assets/images/icon/calendar-2.svg") center/contain no-repeat;
          mask: url("/assets/images/icon/calendar-2.svg") center/contain no-repeat;
}
.icon--reserve::before {
  -webkit-mask: url("/assets/images/icon/reserve.svg") center/contain no-repeat;
          mask: url("/assets/images/icon/reserve.svg") center/contain no-repeat;
}
.icon--checkline::before {
  -webkit-mask: url("/assets/images/icon/checkline.svg") center/contain no-repeat;
          mask: url("/assets/images/icon/checkline.svg") center/contain no-repeat;
}
.icon--c-w::before {
  background-color: #fff !important;
}
.icon--c-green::before {
  background-color: #00A3AD;
}
.icon--c-main::before {
  background-color: var(--color-main);
}
.icon--c-red::before {
  background-color: var(--color-red);
}

/* テキスト */
.b-p {
  font-size: 1rem;
  letter-spacing: 0.03em;
  line-height: var(--lineHeight-l);
}
.b-p > a {
  color: var(--color-link);
  -webkit-transition: var(--trans-min02);
  transition: var(--trans-min02);
  display: inline;
  text-decoration: underline;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.b-p > a:hover, a:hover .b-p > a {
  -webkit-text-decoration-color: transparent;
          text-decoration-color: transparent;
}
.b-p > strong {
  font-weight: 700;
}
.b-p--xs {
  font-size: 0.8125rem;
}
.b-p--s {
  font-size: 0.875rem;
}
.b-p--l {
  font-size: 1.125rem;
}
.b-p--caption {
  font-size: 0.875rem;
  color: var(--color-caption);
}
.b-p--gy {
  color: var(--color-caption);
  font-weight: 700;
}
.b-p + .b-p {
  margin-top: 15px;
}
@media screen and (max-width: 768px) {
  .b-p {
    font-size: 0.9375rem;
  }
  .b-p--xs {
    font-size: 0.75rem;
  }
  .b-p--s {
    font-size: 0.8125rem;
  }
  .b-p--l {
    font-size: 1rem;
  }
  .b-p--caption {
    font-size: 0.75rem;
  }
}

/* タグ */
.b-tag {
  display: inline-block;
  vertical-align: top;
}
.b-tag_inner {
  min-width: 100px;
  min-height: 24px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
  padding: 3px 10px 2px;
  font-size: 0.8125rem;
  line-height: 1;
  font-weight: 500;
  line-height: var(--lineHeight-s);
  background-color: var(--color-sub);
  border: var(--color-sub) solid 1px;
  color: var(--color-wh);
  border-radius: 20px;
  letter-spacing: 0.04em;
}
.b-tag_inner--green {
  color: var(--color-wh);
  background-color: #38B8B3;
  border: #38B8B3 solid 1px;
}
.b-tag_inner--red {
  color: var(--color-wh);
  background-color: #F65454;
  border: #F65454 solid 1px;
}
.b-tag a {
  -webkit-transition: var(--trans-min02);
  transition: var(--trans-min02);
}
.b-tag a:hover {
  opacity: 0.8;
}
@media screen and (max-width: 768px) {
  .b-tag_inner {
    min-width: 80px;
    font-size: 0.75rem;
    min-height: 21px;
    padding: 1px 15px 2px;
  }
}

.b-tagContainer {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 12px;
}

/* 装飾 */
.b-deco {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
  min-width: 176px;
  min-height: 34px;
  padding: 8px 20px 9px;
  font-size: 1rem;
  line-height: 1;
  letter-spacing: 0.04em;
  background-color: #EBE9E4;
  border-radius: 50px;
  margin: 0 10px 10px 0;
}
.b-deco--color {
  background-color: var(--color-blue);
  color: var(--color-wh);
}
@media screen and (max-width: 768px) {
  .b-deco {
    min-width: 140px;
    font-size: 0.9375rem;
  }
}

/* ポイント */
.b-numTitle {
  color: var(--color-wh);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
  padding-bottom: 4px;
  gap: 4px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  background: #F65454;
  padding-inline: 14px;
  min-width: 112px;
  height: 32px;
  border-radius: 20px;
  font-style: italic;
  font-family: var(--font-sub2);
  letter-spacing: 0;
}
.b-numTitle_txt {
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1;
  margin-bottom: 4px;
}
.b-numTitle_number {
  font-size: 1.375rem;
  font-weight: 600;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .b-numTitle {
    min-width: 90px;
    height: auto;
    padding-block: 5px 2px;
  }
  .b-numTitle_txt {
    font-size: 0.6875rem;
  }
  .b-numTitle_number {
    font-size: 1.25rem;
  }
}

/* 特殊ボックス */
.b-sph {
  width: 80px;
  height: 80px;
  background: -webkit-linear-gradient(225deg, var(--color-grad1));
  background: linear-gradient(225deg, var(--color-grad1));
  color: var(--color-wh);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  border-radius: 100%;
  padding: 12px;
  position: relative;
  line-height: 1;
}
.b-sph_txt {
  font-family: var(--font-sub);
  font-size: 0.6875rem;
  font-weight: 700;
  margin-bottom: 2px;
  letter-spacing: 0.03em;
}
.b-sph_num {
  font-size: 1.875rem;
  font-weight: 700;
  font-family: var(--font-sub);
}
@media screen and (max-width: 768px) {
  .b-sph {
    width: 70px;
    height: 70px;
  }
  .b-sph--l {
    width: 90px;
    height: 90px;
  }
}

/* ライン */
.b-border {
  margin: 50px 0;
  border-bottom: var(--color-border) solid 1px;
}
.b-border--s {
  margin: 20px 0;
}

.js-inview {
  opacity: 0;
  -webkit-transform: translateY(10px);
          transform: translateY(10px);
  -webkit-transition: var(--trans-min02);
  transition: var(--trans-min02);
}
.js-inview.is-show {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

/* /_base.scss
-------------------------------------------------------*/
/* _layout.scss
-------------------------------------------------------*/
/*base*/
/* コンテンツ幅 */
.ly-wrap_xxs {
  width: var(--wrap-base-pc);
  margin: 0 auto;
  max-width: var(--wrap-xxs);
}
@media screen and (max-width: 768px) {
  .ly-wrap_xxs {
    width: var(--wrap-base);
  }
}
.ly-wrap_xs {
  width: var(--wrap-base-pc);
  margin: 0 auto;
  max-width: var(--wrap-xs);
}
@media screen and (max-width: 768px) {
  .ly-wrap_xs {
    width: var(--wrap-base);
  }
}
.ly-wrap_s {
  width: var(--wrap-base-pc);
  margin: 0 auto;
  max-width: var(--wrap-s);
}
@media screen and (max-width: 768px) {
  .ly-wrap_s {
    width: var(--wrap-base);
  }
}
.ly-wrap_ms {
  width: var(--wrap-base-pc);
  margin: 0 auto;
  max-width: var(--wrap-mm);
}
@media screen and (max-width: 768px) {
  .ly-wrap_ms {
    width: var(--wrap-base);
  }
}
.ly-wrap_m {
  width: var(--wrap-base-pc);
  margin: 0 auto;
  max-width: var(--wrap-m);
}
@media screen and (max-width: 768px) {
  .ly-wrap_m {
    width: var(--wrap-base);
  }
}
.ly-wrap_l {
  width: var(--wrap-base-pc);
  margin: 0 auto;
  max-width: var(--wrap-l);
}
@media screen and (max-width: 768px) {
  .ly-wrap_l {
    width: var(--wrap-base);
  }
}
.ly-wrap_1920 {
  max-width: 1920px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .ly-wrap_sp {
    width: var(--wrap-base-pc);
    margin: 0 auto;
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  .ly-wrap_sp {
    width: var(--wrap-base);
  }
}
@media screen and (max-width: 768px) {
  .ly-wrap_spmax {
    width: 100%;
  }
}

/* 大枠 */
.ly-main {
  position: relative;
  z-index: 2;
}
/* セクション */
.ly-sect_main {
  padding: 100px 0 100px;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 768px) {
  .ly-sect_main {
    padding: 70px 0 70px;
  }
}
.ly-sect_main:last-child {
  padding-bottom: 120px;
}
@media screen and (max-width: 768px) {
  .ly-sect_main:last-child {
    padding-bottom: 80px;
  }
}
.ly-sect_main:not(.ly-sect_bg) + .ly-sect_main:not(.ly-sect_bg) {
  padding-top: 20px;
}
.ly-sect_sub {
  position: relative;
  z-index: 2;
}
.ly-sect_sub + .ly-sect_sub {
  padding-top: 60px;
}
.ly-sect_bg {
  position: relative;
  z-index: 2;
  background: #EFF6FC;
  padding: 100px 0;
}
@media screen and (max-width: 768px) {
  .ly-sect_bg {
    padding: 70px 0;
  }
}
.ly-sect_bg::before {
  content: "";
  position: absolute;
  z-index: -10;
  pointer-events: none;
}
.ly-sect_bg:last-child {
  margin-bottom: 0;
  padding-bottom: 120px;
}
@media screen and (max-width: 768px) {
  .ly-sect_bg:last-child {
    padding-bottom: 80px;
  }
}
.ly-sect_anchor {
  padding-block: 40px 80px;
}
@media screen and (max-width: 768px) {
  .ly-sect_anchor {
    padding-block: 25px 40px;
  }
}
.ly-sect_h3wrap {
  margin-top: 80px;
}
.c-titSecondary + .ly-sect_h3wrap {
  margin-top: 0;
}
@media screen and (max-width: 768px) {
  .ly-sect_h3wrap {
    margin-top: 46px;
  }
}

/* 汎用コンテナー */
.ly-container {
  /* コンテナの横幅からギャップの合計値を引いたものをn等分する */
  --_column-width-calculated: calc((100% - var(--_gap) * (var(--_column-max-count) - 1)) / var(--_column-max-count));
  /* 最終的に適用される列の幅。
     * 理想の幅と最小幅を比較し、大きい方を採用します。
     * ただし、コンテナ全体の幅を超えることはありません。*/
  --_column-width: min(100%,
  		max(var(--_column-min-width), var(--_column-width-calculated)));
  display: block grid;
  grid-template-columns: repeat(auto-fill, minmax(var(--_column-width), 1fr));
  gap: var(--_gap);
}
:where(.ly-container--col1) {
  --_gap: 40px;
  /* gapの数値 */
  --_column-max-count: 1;
  /* 表示したい最大の列数 */
  --_column-min-width: 600px;
  /* 各列が取りうる最小の幅。これより狭くなる場合は、列数が減って折り返します。 */
}
:where(.ly-container--col2) {
  --_gap: 40px;
  /* gapの数値 */
  --_column-max-count: 2;
  /* 表示したい最大の列数 */
  --_column-min-width: 400px;
  /* 各列が取りうる最小の幅。これより狭くなる場合は、列数が減って折り返します。 */
}
:where(.ly-container--col3) {
  --_gap: 30px;
  /* gapの数値 */
  --_column-max-count: 3;
  /* 表示したい最大の列数 */
  --_column-min-width: 320px;
  /* 各列が取りうる最小の幅。これより狭くなる場合は、列数が減って折り返します。 */
}
:where(.ly-container--col4) {
  --_gap: 24px;
  /* gapの数値 */
  --_column-max-count: 4;
  /* 表示したい最大の列数 */
  --_column-min-width: 240px;
  /* 各列が取りうる最小の幅。これより狭くなる場合は、列数が減って折り返します。 */
}
.ly-container--center {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
@media screen and (min-width: 769px), print {
  .ly-container--center.ly-container--col2 .ly-container_item {
    width: calc((100% - 40px) / 2);
  }
  .ly-container--center.ly-container--col3 .ly-container_item {
    width: calc((100% - 64px) / 3);
  }
  .ly-container--center.ly-container--col4 .ly-container_item {
    width: calc((100% - 96px) / 4);
  }
}
@media screen and (max-width: 768px) {
  .ly-container {
    --_gap: 30px;
    /* gapの数値 */
  }
  .ly-container--smallSp {
    --_gap: 20px;
  }
  .ly-container--largeSp {
    --_gap: 40px;
  }
  .ly-container--col2Sp {
    display: block grid;
    --_gap: 24px;
    /* gapの数値 */
    --_column-max-count: 2;
    /* 表示したい最大の列数 */
    --_column-min-width: 140px;
    /* 各列が取りうる最小の幅。これより狭くなる場合は、列数が減って折り返します。 */
  }
  .ly-container_item {
    width: 100%;
  }
}

/* アイコンパネル用コンテナー */
.ly-iconpanelContainer {
  /* コンテナの横幅からギャップの合計値を引いたものをn等分する */
  --_column-width-calculated: calc((100% - var(--_gap) * (var(--_column-max-count) - 1)) / var(--_column-max-count));
  /* 最終的に適用される列の幅。
     * 理想の幅と最小幅を比較し、大きい方を採用します。
     * ただし、コンテナ全体の幅を超えることはありません。*/
  --_column-width: min(100%,
  		max(var(--_column-min-width), var(--_column-width-calculated)));
  display: block grid;
  grid-template-columns: repeat(auto-fill, minmax(var(--_column-width), 1fr));
  gap: var(--_gap);
}
.ly-iconpanelContainer--col2 {
  --_gap: 24px;
  /* gapの数値 */
  --_column-max-count: 2;
  /* 表示したい最大の列数 */
  --_column-min-width: 400px;
  /* 各列が取りうる最小の幅。これより狭くなる場合は、列数が減って折り返します。 */
}
.ly-iconpanelContainer--col3 {
  --_gap: 16px;
  /* gapの数値 */
  --_column-max-count: 3;
  /* 表示したい最大の列数 */
  --_column-min-width: 320px;
  /* 各列が取りうる最小の幅。これより狭くなる場合は、列数が減って折り返します。 */
}
@media screen and (max-width: 768px) {
  .ly-iconpanelContainer {
    --_gap: 40px;
    /* gapの数値 */
  }
  .ly-iconpanelContainer--col2Sp {
    --_gap: 16px;
    /* gapの数値 */
    --_column-max-count: 2;
    /* 表示したい最大の列数 */
    --_column-min-width: 140px;
    /* 各列が取りうる最小の幅。これより狭くなる場合は、列数が減って折り返します。 */
  }
}

.ly-ancpanelContainer {
  /* コンテナの横幅からギャップの合計値を引いたものをn等分する */
  --_column-width-calculated: calc((100% - var(--_gap) * (var(--_column-max-count) - 1)) / var(--_column-max-count));
  /* 最終的に適用される列の幅。
     * 理想の幅と最小幅を比較し、大きい方を採用します。
     * ただし、コンテナ全体の幅を超えることはありません。*/
  --_column-width: min(100%,
  		max(var(--_column-min-width), var(--_column-width-calculated)));
  display: block grid;
  grid-template-columns: repeat(auto-fill, minmax(var(--_column-width), 1fr));
  gap: var(--_gap);
}
.ly-ancpanelContainer--col2 {
  --_gap: 24px;
  /* gapの数値 */
  --_column-max-count: 2;
  /* 表示したい最大の列数 */
  --_column-min-width: 400px;
  /* 各列が取りうる最小の幅。これより狭くなる場合は、列数が減って折り返します。 */
}
.ly-ancpanelContainer--col3 {
  --_gap: 22px;
  /* gapの数値 */
  --_column-max-count: 3;
  /* 表示したい最大の列数 */
  --_column-min-width: 320px;
  /* 各列が取りうる最小の幅。これより狭くなる場合は、列数が減って折り返します。 */
}
@media screen and (max-width: 768px) {
  .ly-ancpanelContainer {
    --_gap: 40px;
    /* gapの数値 */
  }
  .ly-ancpanelContainer--col2Sp {
    --_gap: 16px;
    /* gapの数値 */
    --_column-max-count: 2;
    /* 表示したい最大の列数 */
    --_column-min-width: 140px;
    /* 各列が取りうる最小の幅。これより狭くなる場合は、列数が減って折り返します。 */
  }
}

/* アイコンセット用コンテナー */
.ly-iconsetContainer {
  display: grid;
  gap: 60px 40px;
}
.ly-iconsetContainer--col2 {
  grid-template-columns: repeat(2, 1fr);
}
.ly-iconsetContainer--col3 {
  grid-template-columns: repeat(3, 1fr);
}
@media screen and (max-width: 768px) {
  .ly-iconsetContainer {
    display: block;
  }
  .ly-iconsetContainer_item {
    margin-top: 50px;
  }
}

/* 余白 */
.ly-margin_top_xxl {
  margin-top: 180px !important;
}
.ly-margin_top_xl {
  margin-top: 120px !important;
}
.ly-margin_top_lla {
  margin-top: 80px !important;
}
.ly-margin_top_la {
  margin-top: 56px !important;
}
.ly-margin_top_md {
  margin-top: 48px !important;
}
.ly-margin_top_mmd {
  margin-top: 32px !important;
}
.ly-margin_top_sm {
  margin-top: 24px !important;
}
.ly-margin_top_ssm {
  margin-top: 16px !important;
}
.ly-margin_bottom_xxl {
  margin-bottom: 180px !important;
}
.ly-margin_bottom_xl {
  margin-bottom: 120px !important;
}
.ly-margin_bottom_lla {
  margin-bottom: 80px !important;
}
.ly-margin_bottom_la {
  margin-bottom: 56px !important;
}
.ly-margin_bottom_md {
  margin-bottom: 48px !important;
}
.ly-margin_bottom_mmd {
  margin-bottom: 32px !important;
}
.ly-margin_bottom_sm {
  margin-bottom: 24px !important;
}
.ly-margin_bottom_ssm {
  margin-bottom: 16px !important;
}
@media screen and (max-width: 768px) {
  .ly-margin_top_xxl {
    margin-top: 100px !important;
  }
  .ly-margin_top_xl {
    margin-top: 80px !important;
  }
  .ly-margin_top_lla {
    margin-top: 64px !important;
  }
  .ly-margin_top_la {
    margin-top: 48px !important;
  }
  .ly-margin_top_md {
    margin-top: 40px !important;
  }
  .ly-margin_bottom_xxl {
    margin-bottom: 100px !important;
  }
  .ly-margin_bottom_xl {
    margin-bottom: 80px !important;
  }
  .ly-margin_bottom_lla {
    margin-bottom: 64px !important;
  }
  .ly-margin_bottom_la {
    margin-bottom: 48px !important;
  }
  .ly-margin_bottom_md {
    margin-bottom: 40px !important;
  }
}

/* 幅 */
.ly-padding_top_xxl {
  padding-top: 180px !important;
}
.ly-padding_top_xl {
  padding-top: 120px !important;
}
.ly-padding_top_lla {
  padding-top: 80px !important;
}
.ly-padding_top_la {
  padding-top: 56px !important;
}
.ly-padding_top_md {
  padding-top: 48px !important;
}
.ly-padding_top_mmd {
  padding-top: 32px !important;
}
.ly-padding_top_sm {
  padding-top: 24px !important;
}
.ly-padding_top_ssm {
  padding-top: 16px !important;
}
.ly-padding_bottom_xxl {
  padding-bottom: 180px !important;
}
.ly-padding_bottom_xl {
  padding-bottom: 120px !important;
}
.ly-padding_bottom_lla {
  padding-bottom: 80px !important;
}
.ly-padding_bottom_la {
  padding-bottom: 56px !important;
}
.ly-padding_bottom_md {
  padding-bottom: 48px !important;
}
.ly-padding_bottom_mmd {
  padding-bottom: 32px !important;
}
.ly-padding_bottom_sm {
  padding-bottom: 24px !important;
}
.ly-padding_bottom_ssm {
  padding-bottom: 16px !important;
}
@media screen and (max-width: 768px) {
  .ly-padding_top_xxl {
    padding-top: 100px !important;
  }
  .ly-padding_top_xl {
    padding-top: 80px !important;
  }
  .ly-padding_top_lla {
    padding-top: 64px !important;
  }
  .ly-padding_top_la {
    padding-top: 48px !important;
  }
  .ly-padding_top_md {
    padding-top: 40px !important;
  }
  .ly-padding_bottom_xxl {
    padding-bottom: 100px !important;
  }
  .ly-padding_bottom_xl {
    padding-bottom: 80px !important;
  }
  .ly-padding_bottom_lla {
    padding-bottom: 64px !important;
  }
  .ly-padding_bottom_la {
    padding-bottom: 48px !important;
  }
}

/* /_layout.scss
-------------------------------------------------------*/
/* _header.scss
-------------------------------------------------------*/
.header {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  height: var(--header-height-pc);
  -webkit-box-shadow: rgba(0, 0, 0, 0.06) 0 5px 10px;
          box-shadow: rgba(0, 0, 0, 0.06) 0 5px 10px;
  z-index: 99;
  -webkit-transition: var(--trans-min02);
  transition: var(--trans-min02);
}
@media screen and (min-width: 769px), print {
  .header.is-headerNone {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
    opacity: 0;
    pointer-events: none;
  }
  .header.is-headerNone * {
    pointer-events: none;
  }
}
.header button {
  border: none;
}
.header_inner {
  background: #fff;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
}
.header_trigger {
  display: none;
}
.header_logo {
  padding: 15px 23px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  width: clamp(250px, 19%, 360px);
  z-index: 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.header_logo_inner {
  -webkit-transition: var(--trans-min02);
  transition: var(--trans-min02);
}
.header_logo_inner:hover {
  opacity: 0.8;
}
.header_logo_txt {
  font-size: 0.75rem;
  margin-top: 8px;
  font-weight: 400;
}
.header_main {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
.header_other {
  max-width: 424px;
  width: 22%;
  display: grid;
  gap: 2px;
  grid-template-columns: repeat(3, 1fr);
  height: 60px;
  position: absolute;
  top: 0;
  right: 0;
}
.header_other > li {
  height: 100%;
}
.header_other_btn {
  height: 100%;
  color: #fff;
  width: 100%;
  text-align: center;
  display: grid;
  place-content: center;
  position: relative;
  -webkit-transition: var(--trans-min02);
  transition: var(--trans-min02);
}
.header_other_btn_txt {
  font-size: 0.75rem;
  margin-top: 5px;
}
.header_other_btn::before, .header_other_btn::after {
  content: "";
  position: absolute;
  display: block;
  width: 33px;
  height: 26px;
  background: #333;
  -webkit-clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
          clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
  margin-inline: auto;
  bottom: -17px;
  right: 0;
  left: 0;
  opacity: 0;
  z-index: 5;
  -webkit-transition: var(--trans-min02);
  transition: var(--trans-min02);
  -webkit-transform: translateY(-8px);
          transform: translateY(-8px);
}
.header_other_btn::after {
  width: 33px;
  height: 26px;
  background: #fff;
  bottom: -21px;
  -webkit-transition: opacity 0.3s ease-in, -webkit-transform 0.2s ease-out;
  transition: opacity 0.3s ease-in, -webkit-transform 0.2s ease-out;
  transition: transform 0.2s ease-out, opacity 0.3s ease-in;
  transition: transform 0.2s ease-out, opacity 0.3s ease-in, -webkit-transform 0.2s ease-out;
  z-index: 6;
}
.header_other_btn.is-active::before, .header_other_btn.is-active::after {
  opacity: 1;
  -webkit-transform: translateY(0px);
          transform: translateY(0px);
}
.header_other_btn.is-active::after {
  -webkit-transition: opacity 0.2s ease-out, -webkit-transform 0.2s ease-out;
  transition: opacity 0.2s ease-out, -webkit-transform 0.2s ease-out;
  transition: transform 0.2s ease-out, opacity 0.2s ease-out;
  transition: transform 0.2s ease-out, opacity 0.2s ease-out, -webkit-transform 0.2s ease-out;
}
.header_other_btn--contact, .header_trigger_menu {
  background: -webkit-linear-gradient(207deg, #00ABEB, #417AC8);
  background: linear-gradient(243deg, #00ABEB, #417AC8);
}
.header_other_btn--login, .header_trigger_login {
  background: -webkit-linear-gradient(207deg, #F65454, #F97878);
  background: linear-gradient(243deg, #F65454, #F97878);
}
.header_other_btn--login::before, .header_trigger_login::before {
  background: var(--color-main);
}
.header_other_btn--search {
  background: -webkit-linear-gradient(207deg, #00A19C, #00A9CC);
  background: linear-gradient(243deg, #00A19C, #00A9CC);
}
.header_other_body {
  width: auto;
  position: absolute;
  top: 75px;
  right: 14px;
  padding: 30px 42px;
  background: #fff;
  border-radius: 20px;
  border: 2px solid #333;
  z-index: 2;
  -webkit-box-shadow: rgba(152, 146, 62, 0.16) 0 10px 6px;
          box-shadow: rgba(152, 146, 62, 0.16) 0 10px 6px;
  -webkit-transition: var(--trans-min02);
  transition: var(--trans-min02);
  opacity: 0;
  pointer-events: none;
  -webkit-transform: translateY(-8px);
          transform: translateY(-8px);
}
.header_other_body.is-active {
  opacity: 1;
  pointer-events: all;
  -webkit-transform: translateY(0px);
          transform: translateY(0px);
}
.header_other_body--login {
  width: 400px;
  padding-top: 38px;
  border-color: var(--color-main);
}
.header_other_body--search {
  width: 584px;
  right: 13px;
}
.header_other_body .c-btn + .c-btn {
  margin-top: 13px;
}
.header_other_body .c-btn_inner:not(.c-btn_inner--cvred, .c-btn_inner--cvblue) .c-btn_icon {
  width: 12px;
  height: 12px;
  right: 20px;
}
.header_other_body_box + .header_other_body_box {
  padding-top: 20px;
  margin-top: 20px;
  border-top: 2px solid #EBE9E4;
}
.header_other_body_login_inner.c-btn_inner {
  min-height: 70px;
}
.header_other_body_close {
  position: absolute;
  right: 20px;
  top: 20px;
}
.header_other_body_close > .icon {
  width: 21px;
  height: 21px;
  margin: 0;
}
.header_other_body_close > .icon::before {
  background: #ccc;
}
.header_other_body_closeBtn {
  width: 146px;
  height: 37px;
  border-radius: 20px;
  background: #EBE9E4;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2px;
  font-size: 0.8125rem;
  font-weight: 700;
  padding: 10px;
  margin: 25px auto 0;
}
.header_other_body_closeBtn > .icon {
  width: 11px;
  height: 11px;
}
.header_other_body_closeBtn > .icon::before {
  background: #333;
}
.header_other_body_title {
  font-size: 1.4375rem;
  font-weight: 700;
  text-align: center;
  line-height: var(--lineHeight-s);
  letter-spacing: 0.07em;
  margin-bottom: 15px;
}
.header_other_body_search {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 22px;
}
.header_other_body_search_title {
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: 0.05em;
}
.header_other_body_search_main {
  position: relative;
  max-width: 408px;
  width: 100%;
}
.header_other_body_search_main > input {
  height: 60px;
  background: #F4F4F4;
  border-radius: 10px;
  padding: 10px 70px 10px 25px;
  width: 100%;
  border: none;
}
.header_other_body_search_main > input::-webkit-input-placeholder {
  color: #ddd;
}
.header_other_body_search_main > input::-moz-placeholder {
  color: #ddd;
}
.header_other_body_search_main > input:-ms-input-placeholder {
  color: #ddd;
}
.header_other_body_search_main > input::-ms-input-placeholder {
  color: #ddd;
}
.header_other_body_search_main > input::placeholder {
  color: #ddd;
}
.header_other_body_search_main > button {
  border-radius: 10px;
  background: #333;
  color: #fff;
  width: 100px;
  font-size: 1.125rem;
  font-weight: 700;
  height: 100%;
  text-align: center;
  position: absolute;
  top: 0;
  right: 0;
  letter-spacing: 0.05em;
}
.header_nav {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.header_nav_1st {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  border-left: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
  height: 60px;
  padding-right: clamp(283px, 22vw + 10px, 434px);
}
.header_nav_1st > li {
  height: 100%;
  -webkit-box-flex: 1;
  -webkit-flex: auto;
      -ms-flex: auto;
          flex: auto;
  max-width: 338px;
}
.header_nav_1st > li:not(:has(.header_nav_1st_link--s)) {
  width: 29%;
  min-width: 180px;
}
.header_nav_1st_link {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: #F4F4F4;
  height: 100%;
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0.07em;
  padding: 10px 10px;
  line-height: var(--lineHeight-xs);
  position: relative;
}
.header_nav_1st_link::before {
  content: "";
  width: 0;
  height: 3px;
  background: #ccc;
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin-inline: auto;
  -webkit-transition: var(--trans-min02);
  transition: var(--trans-min02);
}
.header_nav_1st_link--kojin {
  color: var(--color-main);
}
.header_nav_1st_link--kojin::before {
  background: var(--color-main);
}
.header_nav_1st_link--houjin {
  color: var(--color-blue);
}
.header_nav_1st_link--houjin::before {
  background: var(--color-blue);
}
.header_nav_1st_link--s {
  background: #fff;
  font-size: 1rem;
}
.header_nav_1st_link--s::before {
  height: 2px;
}
.header_nav_1st_link:hover::before {
  width: 60px;
}
.header_nav_1st_link.is-active {
  background: #fff;
}
.header_nav_1st_link.is-active::before {
  width: 100%;
}
.header_nav_1st_icon {
  margin-right: 9px;
}
.header_nav_2nd {
  height: 60px;
  position: absolute;
  right: 0;
  bottom: 0;
  width: 100%;
  padding-left: clamp(250px, 19%, 360px);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.header_nav_2nd > li {
  max-width: 240px;
  width: 100%;
  height: 100%;
  position: relative;
}
.header_nav_2nd > li::after {
  content: "";
  width: 1px;
  height: 18px;
  background: #EBE9E4;
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
}
.header_nav_2nd_btn {
  width: 100%;
  height: 100%;
  padding: 12px 20px 14px;
  font-size: 1.125rem;
  font-weight: 700;
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.header_nav_2nd_btn::after {
  content: "";
  display: block;
  width: 13px;
  height: 5px;
  background: var(--color-blue);
  -webkit-mask: url(/assets/images/icon/down.svg) center/100% 100%;
          mask: url(/assets/images/icon/down.svg) center/100% 100%;
  position: absolute;
  bottom: 5px;
  right: 0;
  left: 0;
  margin: auto;
}
.header_nav_3rd {
  display: none;
}
@media print {
  .header {
    display: none;
  }
}
@media screen and (max-width: 1430px) and (min-width: 769px), print {
  .header_nav_1st > li:not(:has(.header_nav_1st_link--s)) {
    min-width: 140px;
    width: auto;
  }
  .header_nav_1st_link {
    font-size: 1rem;
    padding: 10px 20px;
  }
  .header_nav_1st_link--s {
    font-size: 0.875rem;
    padding: 10px;
  }
}
@media screen and (max-width: 768px) {
  .header {
    height: var(--header-height-sp);
  }
  .header_logo {
    padding: 8px 12px;
    max-width: 160px;
    width: auto;
    height: 100%;
  }
  .header_logo_txt {
    margin-top: 5px;
    line-height: 1;
    font-size: 0.625rem;
  }
  .header_main {
    display: none;
  }
  .header_trigger {
    display: block;
    margin-left: auto;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
  .header_trigger_menu {
    height: 100%;
    width: 60px;
    padding: 5px;
    display: grid;
    place-content: center;
    place-items: center;
  }
  .header_trigger_menu.is-active .header_trigger_icon_menu {
    background: transparent;
  }
  .header_trigger_menu.is-active .header_trigger_icon_menu::before {
    -webkit-transform: translateY(7px) rotate(45deg);
            transform: translateY(7px) rotate(45deg);
  }
  .header_trigger_menu.is-active .header_trigger_icon_menu::after {
    -webkit-transform: translateY(-7px) rotate(-45deg);
            transform: translateY(-7px) rotate(-45deg);
  }
  .header_trigger_login {
    height: 100%;
    width: 60px;
    padding: 5px;
    display: grid;
    place-content: center;
    place-items: center;
  }
  .header_trigger_icon {
    width: 22px;
    position: relative;
    height: 22px;
    place-items: center;
    place-content: center;
  }
  .header_trigger_icon_menu {
    margin-top: 3px;
    height: 2px;
    width: 100%;
    display: block;
    background: #fff;
    position: relative;
    -webkit-transition: var(--trans-min03);
    transition: var(--trans-min03);
  }
  .header_trigger_icon_menu::before, .header_trigger_icon_menu::after {
    content: "";
    height: 2px;
    width: 100%;
    display: block;
    background: #fff;
    position: absolute;
    top: -7px;
    -webkit-transition: var(--trans-min03);
    transition: var(--trans-min03);
  }
  .header_trigger_icon_menu::after {
    top: 7px;
  }
  .header_trigger_txt {
    text-align: center;
    font-size: 0.625rem;
    color: #fff;
    margin-top: 5px;
  }
}

/* /_header.scss
-------------------------------------------------------*/
/* _footer.scss
-------------------------------------------------------*/
.c-float ~ .footer .footer_copy {
  padding-bottom: 100px;
}
@media screen and (max-width: 768px) {
  .c-float ~ .footer .footer_copy {
    padding-bottom: 80px;
  }
}
.c-float ~ .footer .footer_toTop {
  bottom: 110px;
}
@media screen and (max-width: 768px) {
  .c-float ~ .footer .footer_toTop {
    bottom: 80px;
  }
}

/* フッター */
.footer_top {
  background: -webkit-linear-gradient(25deg, #3A79CE, #00ABEB);
  background: linear-gradient(65deg, #3A79CE, #00ABEB);
  color: #fff;
}
.footer_top_inner {
  max-width: 1200px;
  width: var(--wrap-base-pc);
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .footer_top_inner {
    width: var(--wrap-base);
  }
}
.footer_top_nav {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-around;
      -ms-flex-pack: distribute;
          justify-content: space-around;
  height: 100%;
  min-height: 74px;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.footer_top_nav > li {
  height: 100%;
}
.footer_top_nav_link {
  padding: 10px 5px;
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: 0.07em;
  display: block;
  height: 100%;
  text-underline-offset: 5px;
  position: relative;
}
.footer_top_nav_link::before {
  content: "";
  width: 0;
  height: 2px;
  background: #fff;
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin-inline: auto;
  -webkit-transition: var(--trans-min02);
  transition: var(--trans-min02);
}
.footer_top_nav_link:hover::before {
  width: 60px;
}
.footer_main_top {
  padding-top: 40px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.footer_main_top_logo {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 25px;
}
.footer_main_top_logo_caption {
  font-size: 0.875rem;
  letter-spacing: 0.05em;
}
.footer_main_top_sns {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.footer_main_top_sns > dt {
  font-family: var(--font-sub);
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  padding-right: 31px;
  position: relative;
}
.footer_main_top_sns > dt::after {
  content: "";
  width: 1px;
  height: 50px;
  background: #ccc;
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin-block: auto;
}
.footer_main_top_sns > dd {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 24px;
  padding-left: 31px;
}
.footer_main_top_sns_link {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-transition: var(--trans-min02);
  transition: var(--trans-min02);
}
.footer_main_top_sns_link:hover {
  opacity: 0.8;
}
.footer_main_top_sns_logo {
  width: 50px;
  height: 50px;
}
.footer_main_top_sns_caption {
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  margin-top: 3px;
}
.footer_main_nav {
  padding-block: 60px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px 0px;
}
.footer_main_nav_link {
  padding-left: 28px;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: calc(100% - 30px);
  position: relative;
  letter-spacing: 0.02em;
  -webkit-transition: var(--trans-min02);
  transition: var(--trans-min02);
}
.footer_main_nav_link:hover, a:hover .footer_main_nav_link {
  color: var(--color-blue);
}
.footer_main_nav_link::before {
  content: "";
  -webkit-mask: url(/assets/images/icon/arrow2-r.svg) no-repeat center/contain;
          mask: url(/assets/images/icon/arrow2-r.svg) no-repeat center/contain;
  display: block;
  background-color: var(--color-blue);
  width: 18px;
  height: 18px;
  position: absolute;
  top: 3px;
  left: 0;
}
.footer_main_bottom {
  padding-block: 36px 55px;
  border-top: 1px solid #ccc;
}
.footer_main_bottom_text {
  font-size: 0.875rem;
}
.footer_copy {
  background: #F3F1F1;
  border-top: 1px solid #ccc;
  padding: 15px;
}
.footer_copy_text {
  text-align: center;
  max-width: var(--wrap-m);
  margin-inline: auto;
  font-family: var(--font-sub);
  font-size: 0.75rem;
}
.footer_toTop {
  position: relative;
  position: fixed;
  bottom: 18px;
  right: 0;
  left: 0;
  z-index: 100;
  margin-inline: auto;
}
.footer_toTop_btn {
  display: grid;
  place-content: center;
  width: 70px;
  height: 70px;
  border-radius: 50%;
  border: 1px solid var(--color-blue);
  background: #fff;
  color: var(--color-blue);
  position: absolute;
  right: 0;
  bottom: 0;
  background: #fff;
  overflow: hidden;
  -webkit-transition: var(--trans-min03);
  transition: var(--trans-min03);
  opacity: 0;
  pointer-events: none;
}
.footer_toTop_btn::before {
  content: "";
  width: 200%;
  height: 200%;
  background: var(--color-blue);
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  margin: auto;
  border-radius: 50%;
  -webkit-transition: var(--trans-min03);
  transition: var(--trans-min03);
  -webkit-transform: translate(-50%, 100%);
          transform: translate(-50%, 100%);
  opacity: 0;
}
.footer_toTop_btn.is-visible {
  opacity: 1;
  pointer-events: all;
}
.footer_toTop_btn:hover {
  color: #fff;
}
.footer_toTop_btn:hover::before {
  -webkit-transform: translate(-50%, -10%);
          transform: translate(-50%, -10%);
  opacity: 1;
}
.footer_toTop_btn:hover .footer_toTop_icon::before {
  background: #fff;
}
.footer_toTop_btn:hover .footer_toTop_text {
  color: #fff;
}
.footer_toTop_icon {
  display: block;
  width: 20px;
  height: 22px;
  margin-bottom: 5px;
  margin-inline: auto;
}
.footer_toTop_icon::before {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  -webkit-mask: url(/assets/images/icon/skipup.svg) no-repeat center/contain;
          mask: url(/assets/images/icon/skipup.svg) no-repeat center/contain;
  background: var(--color-blue);
  -webkit-transition: var(--trans-min02);
  transition: var(--trans-min02);
}
.footer_toTop_text {
  font-size: 0.75rem;
  text-align: center;
  line-height: 1;
  -webkit-transition: var(--trans-min02);
  transition: var(--trans-min02);
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .footer_toTop {
    bottom: 15px;
    right: -5px;
  }
  .footer_toTop_btn {
    width: 50px;
    height: 50px;
  }
  .footer_toTop_icon {
    margin-bottom: 3px;
    width: 14px;
    height: 14px;
  }
  .footer_toTop_text {
    font-size: 0.625rem;
  }
}
@media print {
  .footer {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .footer_top {
    padding-block: 28px;
  }
  .footer_top_nav {
    min-height: 0;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    gap: 0;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  .footer_top_nav > li {
    width: 50%;
  }
  .footer_top_nav_link {
    padding: 7px;
    text-align: center;
    font-size: 0.875rem;
  }
  .footer_main_top {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 25px;
  }
  .footer_main_top_logo {
    display: block;
  }
  .footer_main_top_logo_main > img {
    max-width: 220px;
  }
  .footer_main_top_logo_caption {
    margin-top: 5px;
    text-align: center;
    font-size: 0.75rem;
  }
  .footer_main_top_sns > dd {
    gap: 15px;
  }
  .footer_main_top_sns_logo {
    width: 40px;
    height: 40px;
  }
  .footer_main_nav {
    padding-block: 40px 30px;
    grid-template-columns: none;
    gap: 14px;
  }
  .footer_main_nav_link {
    width: 100%;
    max-width: 100%;
    padding-left: 20px;
    font-size: 0.8125rem;
    display: inline-block;
  }
  .footer_main_nav_link::before {
    width: 1.1em;
    height: 1.1em;
    top: 0.23em;
  }
  .footer_main_bottom {
    padding-block: 30px;
  }
  .footer_main_bottom_text {
    font-size: 0.75rem;
  }
  .footer_copy_text {
    font-size: 0.625rem;
  }
}

/* /_footer.scss
-------------------------------------------------------*//*# sourceMappingURL=style.css.map */