@charset "UTF-8";
@property --zoom-factor {
  syntax: "<length>";
  inherits: false;
  initial-value: 0; }
.zoom-wrapper {
  --_min-viewport-width: 480px;
  /* viewportの最小値を下回ったら縮小をやめる */
  --_max-viewport-width: 1920px;
  /* viewportの最大値を上回ったら拡大をやめる */
  --_zoom-value: clamp(
    tan(atan2(var(--_min-viewport-width), var(--_max-viewport-width))),
    tan(atan2(var(--zoom-factor), var(--_max-viewport-width))),
    1
  );
  --zoom-factor: clamp(
    var(--_min-viewport-width),
    100dvi,
    var(--_max-viewport-width)
  );
  zoom: var(--_zoom-value);
  -webkit-text-size-adjust: initial;
  /* iOS Safariのバグを修正 */
  /* 768px以下では100%のズーム値を適用 */ }
  @media (max-width: 480px) {
    .zoom-wrapper {
      zoom: 1; } }

/*! kiso.css v1.2.2 | 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%;`.
  */
  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%;
  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. */
  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. */
  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. */
  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., `⇒`).
  */
  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
  */
  text-decoration-line: underline;
  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: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; }

/* ======================================================
//  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
// ====================================================== */
: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(: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; }

: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; }

: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.
  */
  touch-action: manipulation; }

: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; }

::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)::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; }

:root {
  --leading-trim: calc((1em - 1lh) / 2);
  --shape-triangle-top: polygon(50% 0, 100% 100%, 0 100%);
  --shape-triangle-bottom: polygon(0 0, 100% 0, 50% 100%);
  --shape-triangle-right: polygon(0 0, 100% 50%, 0 100%);
  --shape-triangle-left: polygon(0 50%, 100% 0, 100% 100%);
  --shape-triangle-lower-left: polygon(0 0, 100% 100%, 0 100%);
  --shape-triangle-upper-left: polygon(0 0, 100% 0, 0 100%);
  --shape-triangle-lower-right: polygon(100% 0, 100% 100%, 0 100%);
  --shape-triangle-upper-right: polygon(0 0, 100% 0, 100% 100%);
  --header-block-size: 0px;
  --scroll-margin: var(--header-block-size); }

@supports not (top: 1lh) {
  :root {
    --leading-trim: 0px; } }
/* ハーフ・レディングを打ち消すユーティリティ */
.leading-trim::before, .leading-trim::after {
  content: '';
  display: block;
  inline-size: 0;
  block-size: 1px; }
.leading-trim::before {
  margin-block-end: var(--leading-trim); }
.leading-trim::after {
  margin-block-start: var(--leading-trim); }

[id],
:focus {
  scroll-margin-block-start: var(--scroll-margin); }

html {
  font-family: "Noto Sans JP", "Outfit", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  font-size: 62.5%;
  color: #161616;
  -webkit-overflow-scrolling: touch; }

body {
  margin: 0;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0.02em;
  background: #FAF9F5;
  overflow-x: hidden;
  position: relative;
  -webkit-animation: fadeIn 2s ease 0s 1 normal;
  animation: fadeIn 2s ease 0s 1 normal;
  --_min-viewport-width: 480px;
  /* viewportの最小値を下回ったら縮小をやめる */
  --_max-viewport-width: 1920px;
  /* viewportの最大値を上回ったら拡大をやめる */
  --_zoom-value: clamp(
    tan(atan2(var(--_min-viewport-width), var(--_max-viewport-width))),
    tan(atan2(var(--zoom-factor), var(--_max-viewport-width))),
    1
  );
  --zoom-factor: clamp(
    var(--_min-viewport-width),
    100dvi,
    var(--_max-viewport-width)
  );
  zoom: var(--_zoom-value);
  -webkit-text-size-adjust: initial;
  /* iOS Safariのバグを修正 */
  /* 768px以下では100%のズーム値を適用 */ }
  @media (max-width: 480px) {
    body {
      zoom: 1; } }
  body:after {
    content: '';
    width: 100vw;
    height: 100svh;
    background: rgba(33, 33, 33, 0.8);
    mix-blend-mode: multiply;
    position: fixed;
    left: 0;
    top: 0;
    z-index: -1;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: all 0.2s;
    transition: all 0.2s; }
  body.fixed:after {
    z-index: 99;
    opacity: 1;
    visibility: visible; }
  body.open:after {
    z-index: 99;
    opacity: 1;
    visibility: visible;
    background: rgba(59, 59, 59, 0.5);
    width: 100%;
    height: 100%; }
  @media (width < 400px) {
    body {
      zoom: progress(100lvw, 0px, 390px);
      --webkit-text-size-adjust: initial; } }
  @media (max-width: 480px) {
    body {
      font-size: 1.4rem; } }

@keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
a, a:link, a:visited {
  color: #161616;
  text-decoration: none;
  -webkit-transition: all .4s;
  transition: all .4s; }
  a:hover img, a:link:hover img, a:visited:hover img {
    opacity: 0.6; }

img {
  max-width: 100%;
  width: auto;
  height: auto;
  vertical-align: bottom;
  -webkit-transition: all .4s;
  transition: all .4s; }

.container {
  margin: 0 auto;
  max-width: 1720px;
  width: 91.79%;
  height: auto; }
  .container .inner {
    width: 90%; }

.inner {
  margin: auto;
  max-width: 1100px;
  width: 85%;
  height: auto; }

@media (min-width: 1025px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none; } }
button {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }

#notfoundWrap {
  margin: clamp(72px, 12.4995vw, 120px) auto 0;
  text-align: center; }
  #notfoundWrap p {
    font-size: clamp(16px, 2vw, 20px);
    font-weight: 500;
    letter-spacing: 0.06em; }

#crosstalkWrap {
  background: url(../img/common-recruit/bg_crosstalk.svg) repeat;
  margin-top: 0;
  padding: 100px 0;
  position: relative;
  overflow-x: clip; }
  #crosstalkWrap .scrollInfinity .scrollInfinityWrap .scrollInfinityList .scrollInfinityItem {
    width: 53.3333333333vw;
    max-width: 768px; }
    #crosstalkWrap .scrollInfinity .scrollInfinityWrap .scrollInfinityList .scrollInfinityItem img {
      height: 8.0555555556vw; }
  #crosstalkWrap h2.cmnTtl01 {
    margin-top: -50px;
    position: relative;
    z-index: 3; }
    @media (max-width: 480px) {
      #crosstalkWrap h2.cmnTtl01 {
        margin-top: -30px; } }
  #crosstalkWrap .crosstalkListWrap {
    position: relative;
    padding-top: clamp(45px, 7.812vw, 75px); }
    #crosstalkWrap .crosstalkListWrap::before {
      content: '';
      display: block;
      position: absolute;
      top: -15px;
      left: 50%;
      translate: -50% 0;
      width: 1920px;
      height: 535px;
      background: url(../img/common-recruit/crosstalk_line_pc.svg) no-repeat center center/cover;
      z-index: 1; }
  #crosstalkWrap ul.crosstalkList {
    position: relative;
    z-index: 2; }
    #crosstalkWrap ul.crosstalkList li {
      max-width: 1200px;
      width: 100%;
      margin: 0 auto; }
      #crosstalkWrap ul.crosstalkList li a {
        position: relative;
        display: block;
        width: 100%;
        padding-top: 4px;
        -webkit-transition: all .4s;
        transition: all .4s; }
        #crosstalkWrap ul.crosstalkList li a .imgBox {
          overflow: hidden; }
          #crosstalkWrap ul.crosstalkList li a .imgBox picture {
            width: 100%;
            height: 100%;
            display: block;
            position: relative; }
            #crosstalkWrap ul.crosstalkList li a .imgBox picture::before {
              content: '';
              display: block;
              padding-top: 29.17%; }
            #crosstalkWrap ul.crosstalkList li a .imgBox picture source, #crosstalkWrap ul.crosstalkList li a .imgBox picture img {
              margin: auto;
              width: 100%;
              height: 100%;
              object-fit: cover;
              object-position: center;
              position: absolute;
              top: 0;
              left: 0;
              right: 0;
              z-index: 0; }
          #crosstalkWrap ul.crosstalkList li a .imgBox .ttl {
            position: absolute;
            top: -0.25em;
            left: 0;
            background: #FF5B19;
            color: #161616;
            font-size: clamp(22px, 3vw, 32px);
            text-align: center;
            padding: 5px 15px;
            font-weight: 500;
            z-index: 3; }
        #crosstalkWrap ul.crosstalkList li a p.txt {
          margin-top: clamp(30px, 5.208vw, 50px);
          font-size: clamp(22px, 3vw, 32px);
          font-weight: 500;
          letter-spacing: 0.05em;
          line-height: 1.5; }
        #crosstalkWrap ul.crosstalkList li a p.arrow {
          text-align: right;
          margin-top: 40px; }
          #crosstalkWrap ul.crosstalkList li a p.arrow img {
            filter: invert(57%) sepia(47%) saturate(6906%) hue-rotate(348deg) brightness(102%) contrast(105%);
            margin: 0 0 0 auto; }
        #crosstalkWrap ul.crosstalkList li a:hover .imgBox picture source, #crosstalkWrap ul.crosstalkList li a:hover .imgBox picture img {
          opacity: 1;
          transform: scale(1.05); }
        #crosstalkWrap ul.crosstalkList li a:hover p.txt {
          color: #FF5B19; }
        #crosstalkWrap ul.crosstalkList li a:hover p.arrow img {
          transform: translateX(10px); }
    #crosstalkWrap ul.crosstalkList.row {
      gap: 208px;
      display: flex; }
      #crosstalkWrap ul.crosstalkList.row li {
        max-width: 605px; }
        #crosstalkWrap ul.crosstalkList.row li a .imgBox picture::before {
          padding-top: 55.79%; }
        #crosstalkWrap ul.crosstalkList.row li a p.txt {
          font-size: clamp(18px, 3vw, 28px);
          margin-top: clamp(18px, 3.1245vw, 30px); }
      @media (max-width: 480px) {
        #crosstalkWrap ul.crosstalkList.row {
          gap: 80px;
          flex-direction: column; }
          #crosstalkWrap ul.crosstalkList.row li {
            max-width: 100%; }
            #crosstalkWrap ul.crosstalkList.row li a p.txt {
              font-size: 2rem;
              margin-top: 1em; } }
  @media (max-width: 480px) {
    #crosstalkWrap {
      padding-top: 100px;
      padding-bottom: 110px;
      background: url(../img/common-recruit/bg_crosstalk_sp.svg) no-repeat center center/cover; }
      #crosstalkWrap .container {
        width: 91.79%;
        max-width: 100%; }
      #crosstalkWrap .scrollInfinity .scrollInfinityWrap .scrollInfinityList .scrollInfinityItem {
        width: 455px; }
        #crosstalkWrap .scrollInfinity .scrollInfinityWrap .scrollInfinityList .scrollInfinityItem img {
          height: 76px; }
      #crosstalkWrap h2.cmnTtl01 {
        position: relative; }
        #crosstalkWrap h2.cmnTtl01::before {
          content: '';
          display: block;
          position: absolute;
          bottom: -60px;
          left: 50%;
          translate: -50% 0;
          width: 130%;
          min-height: 120px;
          background: url(../img/common-recruit/crosstalk_line_sp.svg) no-repeat center center/cover;
          z-index: 1; }
      #crosstalkWrap p.read {
        position: relative;
        z-index: 3;
        margin-top: 25px;
        font-size: 1.6rem;
        font-weight: 500;
        letter-spacing: 0.05em;
        line-height: 2; }
        #crosstalkWrap p.read em {
          font-style: normal;
          text-decoration: underline;
          text-underline-offset: 3px; }
      #crosstalkWrap .crosstalkListWrap {
        padding-top: 0; }
        #crosstalkWrap .crosstalkListWrap::before {
          display: none; }
      #crosstalkWrap ul.crosstalkList {
        margin-top: 50px; }
        #crosstalkWrap ul.crosstalkList li {
          width: 100%; }
          #crosstalkWrap ul.crosstalkList li a {
            position: relative;
            display: block;
            width: 100%;
            padding-top: 4px;
            -webkit-transition: all .4s;
            transition: all .4s; }
            #crosstalkWrap ul.crosstalkList li a .imgBox picture {
              width: 100%;
              height: 100%;
              display: block;
              position: relative; }
              #crosstalkWrap ul.crosstalkList li a .imgBox picture::before {
                content: '';
                display: block;
                padding-top: 55.87%; }
              #crosstalkWrap ul.crosstalkList li a .imgBox picture source, #crosstalkWrap ul.crosstalkList li a .imgBox picture img {
                margin: auto;
                width: 100%;
                height: 100%;
                object-fit: cover;
                object-position: center;
                position: absolute;
                top: 0;
                left: 0;
                right: 0;
                z-index: 0; }
            #crosstalkWrap ul.crosstalkList li a .imgBox .ttl {
              position: absolute;
              top: -0.5em;
              left: 0;
              background: #FF5B19;
              color: #161616;
              font-size: 2rem;
              text-align: center;
              padding: 5px 15px;
              font-weight: 500;
              z-index: 3; }
            #crosstalkWrap ul.crosstalkList li a p.txt {
              margin-top: 1em;
              font-size: 2rem;
              font-weight: 500;
              letter-spacing: 0.05em;
              line-height: 1.5; }
            #crosstalkWrap ul.crosstalkList li a p.arrow {
              text-align: right;
              margin-top: 8px; }
              #crosstalkWrap ul.crosstalkList li a p.arrow img {
                filter: invert(57%) sepia(47%) saturate(6906%) hue-rotate(348deg) brightness(102%) contrast(105%); } }

#recruitLinkWrap {
  margin: 200px 0 0;
  overflow-x: clip; }
  #recruitLinkWrap .subRead {
    font-size: clamp(22px, 3vw, 32px);
    font-weight: 500;
    letter-spacing: 0.05em;
    line-height: 1.5; }
  #recruitLinkWrap h2.cmnTtl01 {
    margin-top: 25px;
    position: relative;
    width: 1360px; }
    @media (max-width: 480px) {
      #recruitLinkWrap h2.cmnTtl01 {
        width: fit-content;
        white-space: nowrap; } }
    #recruitLinkWrap h2.cmnTtl01::before {
      content: '';
      display: block;
      position: absolute;
      bottom: 0;
      left: 0;
      width: 100%;
      background: #161616;
      height: 2.5px; }
      @media (max-width: 480px) {
        #recruitLinkWrap h2.cmnTtl01::before {
          width: 281px;
          height: 1px; } }
    #recruitLinkWrap h2.cmnTtl01::after {
      content: '';
      display: block;
      position: absolute;
      right: -372px;
      bottom: -97px;
      background: url(../img/common-recruit/fig_pen.svg) no-repeat center center/cover;
      width: 452px;
      height: 348px; }
      @media (max-width: 480px) {
        #recruitLinkWrap h2.cmnTtl01::after {
          width: 182px;
          height: 100px;
          right: -129px;
          bottom: -19px;
          background: url(../img/common-recruit/fig_pen_sp.svg) no-repeat center center/cover; } }
      @media (max-width: 389px) {
        #recruitLinkWrap h2.cmnTtl01::after {
          right: -42.5%; } }
  #recruitLinkWrap .btnBox {
    margin-top: clamp(69.6px, 14.4996vw, 174px);
    display: flex;
    gap: 30px;
    justify-content: flex-end; }
  @media (max-width: 480px) {
    #recruitLinkWrap {
      margin-top: 100px; }
      #recruitLinkWrap .subRead {
        font-size: 1.6rem;
        font-weight: 500;
        letter-spacing: 0.05em;
        line-height: 2;
        margin-bottom: 15px; }
      #recruitLinkWrap h2.cmnTtl01 {
        margin-top: 0; }
      #recruitLinkWrap .btnBox {
        margin-top: 50px;
        display: block; }
        #recruitLinkWrap .btnBox .recruitBtn + .recruitBtn {
          margin-top: 25px; } }

#newsWrap {
  margin-top: 120px; }
  @media (max-width: 480px) {
    #newsWrap {
      margin-top: 100px; } }
  #newsWrap .container {
    position: relative; }
    #newsWrap .container ul {
      margin-top: 25px;
      border-top: 1px solid #707070; }
      #newsWrap .container ul li {
        border-bottom: 1px solid #707070; }
        #newsWrap .container ul li a {
          display: block;
          position: relative;
          padding: 25px 20px;
          -webkit-transition: all .4s;
          transition: all .4s; }
          @media (max-width: 480px) {
            #newsWrap .container ul li a {
              padding: 25px 7px; } }
          #newsWrap .container ul li a .descBox {
            display: flex;
            gap: 50px; }
            #newsWrap .container ul li a .descBox p.date, #newsWrap .container ul li a .descBox p.ttl {
              font-size: 1.8rem;
              font-weight: 500;
              line-height: 2;
              letter-spacing: 0.05em; }
              @media (max-width: 480px) {
                #newsWrap .container ul li a .descBox p.date, #newsWrap .container ul li a .descBox p.ttl {
                  font-size: 1.4rem; } }
            @media (max-width: 480px) {
              #newsWrap .container ul li a .descBox p.date {
                width: 100px; } }
            #newsWrap .container ul li a .descBox p.ttl {
              text-decoration: underline;
              text-underline-offset: 6px;
              text-decoration-thickness: 2px; }
              @media (max-width: 480px) {
                #newsWrap .container ul li a .descBox p.ttl {
                  width: calc(100% - 100px); } }
          #newsWrap .container ul li a:hover .descBox p.date, #newsWrap .container ul li a:hover .descBox p.ttl {
            color: #FF5B19; }
          #newsWrap .container ul li a:hover .descBox.ttl {
            text-decoration: none; }
    #newsWrap .container .arrowLink {
      text-align: right;
      margin-top: 20px; }
      #newsWrap .container .arrowLink a {
        display: block;
        padding: 10px 0;
        width: fit-content;
        margin-left: auto; }
        #newsWrap .container .arrowLink a img {
          filter: invert(57%) sepia(47%) saturate(6906%) hue-rotate(348deg) brightness(102%) contrast(105%);
          -webkit-transition: all .4s;
          transition: all .4s; }
        #newsWrap .container .arrowLink a:hover img {
          transform: translateX(10px); }

.professionalSwiper {
  margin-top: clamp(42px, 7.2915vw, 70px);
  position: relative; }
  .professionalSwiper .swiper ul.swiper-wrapper {
    padding: 30px 0; }
    .professionalSwiper .swiper ul.swiper-wrapper li a {
      position: relative;
      display: block;
      width: 100%;
      padding-top: 4px; }
      .professionalSwiper .swiper ul.swiper-wrapper li a::before {
        position: absolute;
        background: url(../img/common-recruit/memberSlide_line.svg) no-repeat center center/contain;
        content: '';
        display: block;
        right: 0;
        bottom: 0;
        z-index: 1;
        width: 181px;
        height: 156px; }
      .professionalSwiper .swiper ul.swiper-wrapper li a p.job {
        position: absolute;
        top: 0;
        left: 0;
        width: 170px;
        height: 42px;
        background: #FAF9F5;
        color: #161616;
        font-size: 1.6rem;
        text-align: center;
        line-height: 42px;
        font-weight: 500;
        border-radius: 0 0 15px 0;
        z-index: 3; }
      .professionalSwiper .swiper ul.swiper-wrapper li a p.num {
        position: absolute;
        top: 0;
        right: 13px;
        width: 47px;
        height: 68px;
        background: #FF5B19;
        font-family: "Outfit", sans-serif;
        font-size: 3rem;
        font-weight: 500;
        display: flex;
        justify-content: center;
        border-radius: 0 0 30px 30px;
        z-index: 3; }
      .professionalSwiper .swiper ul.swiper-wrapper li a .imgBox picture {
        width: 100%;
        height: 100%;
        display: block;
        position: relative; }
        .professionalSwiper .swiper ul.swiper-wrapper li a .imgBox picture::before {
          content: '';
          display: block;
          padding-top: 139.66%; }
        .professionalSwiper .swiper ul.swiper-wrapper li a .imgBox picture source, .professionalSwiper .swiper ul.swiper-wrapper li a .imgBox picture img {
          margin: auto;
          width: 100%;
          height: 100%;
          object-fit: cover;
          object-position: center;
          position: absolute;
          top: 0;
          left: 0;
          right: 0;
          z-index: 0; }
      .professionalSwiper .swiper ul.swiper-wrapper li a .ttl {
        position: absolute;
        bottom: 92px;
        left: 0;
        z-index: 3; }
        .professionalSwiper .swiper ul.swiper-wrapper li a .ttl span {
          background: #FF5B19;
          display: block;
          font-size: 2rem;
          letter-spacing: 0;
          line-height: 1.8;
          font-weight: 500;
          width: fit-content;
          padding: 0 10px; }
          .professionalSwiper .swiper ul.swiper-wrapper li a .ttl span + span {
            margin-top: 8px; }
    .professionalSwiper .swiper ul.swiper-wrapper li:nth-child(even) {
      margin-top: 30px; }
    .professionalSwiper .swiper ul.swiper-wrapper li:nth-child(odd) {
      margin-top: -30px; }
  .professionalSwiper .swiper-nav .swiper-button-prev,
  .professionalSwiper .swiper-nav .swiper-button-next {
    width: 71px;
    height: 42px;
    top: 45%;
    -webkit-transition: all .4s;
    transition: all .4s; }
    .professionalSwiper .swiper-nav .swiper-button-prev::after,
    .professionalSwiper .swiper-nav .swiper-button-next::after {
      display: none; }
    .professionalSwiper .swiper-nav .swiper-button-prev svg.swiper-navigation-icon,
    .professionalSwiper .swiper-nav .swiper-button-next svg.swiper-navigation-icon {
      display: none; }
    .professionalSwiper .swiper-nav .swiper-button-prev img,
    .professionalSwiper .swiper-nav .swiper-button-next img {
      width: 71px;
      filter: invert(57%) sepia(47%) saturate(6906%) hue-rotate(348deg) brightness(102%) contrast(105%); }
  .professionalSwiper .swiper-nav .swiper-button-prev {
    left: -30px;
    rotate: 180deg; }
    .professionalSwiper .swiper-nav .swiper-button-prev:hover {
      translate: -10px 0; }
  .professionalSwiper .swiper-nav .swiper-button-next {
    right: -30px; }
    .professionalSwiper .swiper-nav .swiper-button-next:hover {
      translate: 10px 0; }
  @media (max-width: 480px) {
    .professionalSwiper {
      margin-top: 50px;
      position: relative; }
      .professionalSwiper .swiper ul.swiper-wrapper {
        padding: 0; }
        .professionalSwiper .swiper ul.swiper-wrapper li a {
          position: relative;
          display: block;
          width: 100%;
          padding-top: 4px; }
          .professionalSwiper .swiper ul.swiper-wrapper li a::before {
            width: 96px;
            height: 83px;
            background: url(../img/common-recruit/memberSlide_line_sp.svg) no-repeat center center/contain; }
          .professionalSwiper .swiper ul.swiper-wrapper li a p.job {
            position: absolute;
            top: 0;
            left: 0;
            width: 170px;
            height: 42px;
            background: #FAF9F5;
            color: #161616;
            font-size: 1.6rem;
            text-align: center;
            line-height: 42px;
            font-weight: 500;
            border-radius: 0 0 15px 0;
            z-index: 3; }
          .professionalSwiper .swiper ul.swiper-wrapper li a p.num {
            position: absolute;
            top: 0;
            right: 13px;
            width: 47px;
            height: 68px;
            background: #FF5B19;
            font-family: "Outfit", sans-serif;
            font-size: 3rem;
            font-weight: 500;
            display: flex;
            justify-content: center;
            border-radius: 0 0 30px 30px;
            z-index: 3; }
          .professionalSwiper .swiper ul.swiper-wrapper li a .imgBox picture {
            width: 100%;
            height: 100%;
            display: block;
            position: relative; }
            .professionalSwiper .swiper ul.swiper-wrapper li a .imgBox picture::before {
              content: '';
              display: block;
              padding-top: 139.66%; }
            .professionalSwiper .swiper ul.swiper-wrapper li a .imgBox picture source, .professionalSwiper .swiper ul.swiper-wrapper li a .imgBox picture img {
              margin: auto;
              width: 100%;
              height: 100%;
              object-fit: cover;
              object-position: center;
              position: absolute;
              top: 0;
              left: 0;
              right: 0;
              z-index: 0; }
          .professionalSwiper .swiper ul.swiper-wrapper li a .ttl {
            position: absolute;
            bottom: 45px;
            left: 0; }
            .professionalSwiper .swiper ul.swiper-wrapper li a .ttl span {
              background: #FF5B19;
              display: block;
              font-size: 1.8rem;
              letter-spacing: 0;
              line-height: 1.6;
              font-weight: 500;
              width: fit-content;
              padding: 0 10px; }
              .professionalSwiper .swiper ul.swiper-wrapper li a .ttl span + span {
                margin-top: 8px; }
        .professionalSwiper .swiper ul.swiper-wrapper li:nth-child(even) {
          margin-top: 0; }
        .professionalSwiper .swiper ul.swiper-wrapper li:nth-child(odd) {
          margin-top: 0; }
      .professionalSwiper .swiper-nav {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-top: 20px;
        height: 100%; }
        .professionalSwiper .swiper-nav .swiper-button-prev,
        .professionalSwiper .swiper-nav .swiper-button-next {
          width: 47px;
          height: 42px; }
          .professionalSwiper .swiper-nav .swiper-button-prev::after,
          .professionalSwiper .swiper-nav .swiper-button-next::after {
            display: none; }
          .professionalSwiper .swiper-nav .swiper-button-prev img,
          .professionalSwiper .swiper-nav .swiper-button-next img {
            filter: invert(57%) sepia(47%) saturate(6906%) hue-rotate(348deg) brightness(102%) contrast(105%); }
        .professionalSwiper .swiper-nav .swiper-button-prev {
          left: -10px; }
        .professionalSwiper .swiper-nav .swiper-button-next {
          right: -10px; } }

dialog {
  background: #fff;
  border: none;
  z-index: 100;
  transition: opacity 1s, translate 1s; }
  dialog[open] {
    opacity: 1;
    translate: 0 0; }
@starting-style {
  dialog[open] {
    opacity: 0;
    translate: 0 20px; } }
  dialog::backdrop {
    background: rgba(0, 0, 0, 0.5); }
  dialog .dialog-inner {
    position: relative; }
    dialog .dialog-inner .modalClose {
      margin: auto;
      width: 40px;
      height: 40px;
      background: #161616;
      display: block;
      border-radius: 50%;
      border: none;
      outline: none;
      -webkit-appearance: none;
      -moz-appearance: none;
      appearance: none;
      cursor: pointer;
      position: absolute;
      top: max(-25px,-3.472vw);
      right: max(-15px,-2.084vw); }
      dialog .dialog-inner .modalClose span {
        margin: auto;
        width: 20px;
        display: block;
        position: relative; }
        dialog .dialog-inner .modalClose span::before, dialog .dialog-inner .modalClose span::after {
          content: '';
          width: 100%;
          height: 2px;
          background: #FFFFFF;
          border-radius: 4px;
          -webkit-transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
          transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
          position: absolute;
          left: 0; }
        dialog .dialog-inner .modalClose span::before {
          -webkit-transform: rotate(45deg);
          -ms-transform: rotate(45deg);
          transform: rotate(45deg); }
        dialog .dialog-inner .modalClose span::after {
          -webkit-transform: rotate(-45deg);
          -ms-transform: rotate(-45deg);
          transform: rotate(-45deg); }

/*============================================================================
	電話問い合わせ
=============================================================================*/
dialog.phoneBox {
  padding: clamp(24px, 4.167vw, 40px) clamp(18px, 3.1245vw, 30px);
  width: 80%;
  max-width: 500px;
  border-radius: 10px; }
  dialog.phoneBox .dialog-inner h2 {
    margin: 0 auto 10px;
    font-size: clamp(16px, 2vw, 20px);
    text-align: center; }
  dialog.phoneBox .dialog-inner .phone a {
    padding: clamp(12px, 2.0835vw, 20px) 10px;
    color: #FFFFFF;
    font-weight: 700;
    text-align: center;
    display: -webkit-flex;
    display: -moz-flex;
    display: flex;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    border-radius: 10px;
    background: #659DC6; }
    dialog.phoneBox .dialog-inner .phone a .telno {
      margin-left: 12px;
      display: -webkit-flex;
      display: -moz-flex;
      display: flex;
      -webkit-justify-content: center;
      -moz-justify-content: center;
      justify-content: center;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center; }
      dialog.phoneBox .dialog-inner .phone a .telno::before {
        content: '';
        margin-right: 6px;
        width: 20px;
        height: 20px;
        background: url("../img/common-recruit/icon_tel.svg") no-repeat center center/contain;
        display: block;
        filter: invert(100%) sepia(0%) saturate(1%) hue-rotate(144deg) brightness(103%) contrast(101%); }
  dialog.phoneBox .dialog-inner .phone + .phone {
    margin-top: 20px; }

/*============================================================================
	header
=============================================================================*/
/*============================================================================
	drawer menuBtn
=============================================================================*/
.menuBtn {
  margin: 0 0 0 auto;
  padding: 20px 15px;
  width: 77px;
  height: 72px;
  border-radius: 10px;
  background-color: #FF5B19;
  text-align: center;
  display: block;
  outline: 0;
  border: none;
  position: relative;
  z-index: 9999;
  -webkit-transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
  transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }
  .menuBtn:hover {
    cursor: pointer; }
  .menuBtn .drawer-hamburger-icon {
    margin: auto;
    width: 100%;
    height: 2px;
    -webkit-transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
    transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
    position: relative;
    display: block;
    background: linear-gradient(to right, #EBE8E1 60%, transparent 40%); }
    .menuBtn .drawer-hamburger-icon.drawer-hamburger-icon:before, .menuBtn .drawer-hamburger-icon.drawer-hamburger-icon:after {
      content: '';
      width: 100%;
      height: 2px;
      -webkit-transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
      transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
      border-radius: 12px;
      background: #EBE8E1;
      position: absolute;
      left: 50%;
      translate: -50% 0; }
    .menuBtn .drawer-hamburger-icon.drawer-hamburger-icon:before {
      top: -16px; }
    .menuBtn .drawer-hamburger-icon.drawer-hamburger-icon:after {
      top: 16px; }
  .menuBtn.close-btn .drawer-hamburger-icon {
    background: transparent; }
    .menuBtn.close-btn .drawer-hamburger-icon.drawer-hamburger-icon:before, .menuBtn.close-btn .drawer-hamburger-icon.drawer-hamburger-icon:after {
      top: 0;
      background: #fff; }
    .menuBtn.close-btn .drawer-hamburger-icon.drawer-hamburger-icon:before {
      rotate: 37.5deg;
      translate: -50% 0; }
    .menuBtn.close-btn .drawer-hamburger-icon.drawer-hamburger-icon:after {
      rotate: -37.5deg;
      translate: -50% 0; }
  .menuBtn.cross .drawer-hamburger-icon.drawer-hamburger-icon:before, .menuBtn.cross .drawer-hamburger-icon.drawer-hamburger-icon:after {
    background: #EBE8E1; }
  @media (max-width: 1024px) {
    .menuBtn {
      padding: 10px;
      width: 50px;
      height: 48px;
      padding: 10px; }
      .menuBtn .drawer-hamburger-icon.drawer-hamburger-icon:before {
        top: -8px; }
      .menuBtn .drawer-hamburger-icon.drawer-hamburger-icon:after {
        top: 8px; } }

header {
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  background: transparent;
  -webkit-transition: all .4s;
  transition: all .4s;
  z-index: 9999; }
  header #headerBox {
    height: 130px;
    align-items: center; }
    @media (max-width: 1024px) {
      header #headerBox {
        height: 65px; } }
    header #headerBox .hlogoBox {
      display: flex;
      align-items: center; }
      header #headerBox .hlogoBox #hlogo a {
        display: block;
        width: 179px;
        height: 77px;
        position: relative; }
        header #headerBox .hlogoBox #hlogo a img {
          position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          height: 100%;
          object-fit: contain;
          transition: opacity 0.3s ease; }
        header #headerBox .hlogoBox #hlogo a img.white {
          opacity: 0; }
        header #headerBox .hlogoBox #hlogo a img.normal {
          opacity: 1; }
        header #headerBox .hlogoBox #hlogo a.show-white img.white {
          opacity: 1; }
        header #headerBox .hlogoBox #hlogo a.show-white img.normal {
          opacity: 0; }
      @media (max-width: 480px) {
        header #headerBox .hlogoBox {
          margin-left: 0; }
          header #headerBox .hlogoBox #hlogo a {
            width: 179px;
            height: 39px; } }
    header #headerBox .hbtnBox {
      display: flex;
      align-items: center;
      gap: 10px;
      margin-left: auto; }
      header #headerBox .hbtnBox .entryBtn {
        width: 253px;
        height: 72px;
        -webkit-transition: all .4s;
        transition: all .4s; }
        @media (max-width: 1024px) {
          header #headerBox .hbtnBox .entryBtn {
            height: 48px;
            width: 220px; } }
        @media (max-width: 480px) {
          header #headerBox .hbtnBox .entryBtn {
            width: 50px;
            height: 48px; } }
        header #headerBox .hbtnBox .entryBtn a {
          width: 100%;
          height: 100%;
          background: #FF5B19;
          border-radius: 10px;
          text-align: center;
          position: relative;
          z-index: 5;
          display: -webkit-flex;
          display: -moz-flex;
          display: flex;
          -webkit-justify-content: center;
          -moz-justify-content: center;
          justify-content: center;
          -webkit-box-align: center;
          -ms-flex-align: center;
          align-items: center; }
          header #headerBox .hbtnBox .entryBtn a span {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            font-size: clamp(22px, 3vw, 32px);
            font-weight: 500;
            letter-spacing: 0.05em;
            line-height: 72px;
            color: #fff;
            visibility: visible;
            opacity: 1;
            display: -webkit-flex;
            display: -moz-flex;
            display: flex;
            -webkit-justify-content: center;
            -moz-justify-content: center;
            justify-content: center;
            -webkit-box-align: center;
            -ms-flex-align: center;
            align-items: center;
            -webkit-transition: all .4s;
            transition: all .4s; }
            @media (max-width: 480px) {
              header #headerBox .hbtnBox .entryBtn a span {
                display: none; } }
          header #headerBox .hbtnBox .entryBtn a i {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            display: -webkit-flex;
            display: -moz-flex;
            display: flex;
            -webkit-justify-content: center;
            -moz-justify-content: center;
            justify-content: center;
            -webkit-box-align: center;
            -ms-flex-align: center;
            align-items: center;
            -webkit-transition: all .4s;
            transition: all .4s;
            visibility: hidden;
            opacity: 0;
            pointer-events: none; }
            header #headerBox .hbtnBox .entryBtn a i img {
              width: 47px;
              height: 36px;
              max-width: 100%;
              max-height: 100%; }
            @media (max-width: 1024px) {
              header #headerBox .hbtnBox .entryBtn a i img {
                width: 31px;
                height: 23px; } }
            @media (max-width: 480px) {
              header #headerBox .hbtnBox .entryBtn a i {
                display: flex;
                opacity: 1;
                visibility: visible;
                pointer-events: auto; } }
        @media (min-width: 481px) {
          header #headerBox .hbtnBox .entryBtn.scrolled {
            width: 50px; }
            header #headerBox .hbtnBox .entryBtn.scrolled a span {
              visibility: hidden;
              opacity: 0;
              pointer-events: none; }
            header #headerBox .hbtnBox .entryBtn.scrolled a i {
              visibility: visible;
              opacity: 1;
              pointer-events: auto; } }
        @media (min-width: 1025px) {
          header #headerBox .hbtnBox .entryBtn.scrolled {
            width: 77px; } }
  header #drawerMenu {
    position: fixed;
    top: 150px;
    left: 50%;
    translate: -50% 0;
    width: 91.79%;
    max-width: 1720px;
    min-height: 700px;
    background-color: #FF5B19;
    /* 画像のオレンジ色 */
    z-index: 9999;
    overflow-y: auto;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    color: #fff;
    border-radius: 15px; }
    header #drawerMenu.is-active {
      opacity: 1;
      visibility: visible; }
    header #drawerMenu .drawer-inner {
      position: relative;
      padding: clamp(48px, 8.334vw, 80px) 0;
      min-height: 100%;
      box-sizing: border-box; }
      header #drawerMenu .drawer-inner .drawer-content {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        column-gap: 80px;
        max-width: 90%;
        margin-left: clamp(36px, 6.2505vw, 60px); }
        header #drawerMenu .drawer-inner .drawer-content .drawer-section .drawer-title span.jp {
          font-weight: 500; }
        header #drawerMenu .drawer-inner .drawer-content .drawer-section ul.drawer-list li a {
          font-weight: 300;
          letter-spacing: 0.05em;
          line-height: 1.6;
          font-size: 2rem; }
        header #drawerMenu .drawer-inner .drawer-content .drawer-section ul.drawer-list li + li {
          margin-top: 10px; }
      header #drawerMenu .drawer-inner .drawer-buttons {
        margin: clamp(24px, 4.167vw, 40px) auto 0;
        width: 90%;
        position: relative;
        z-index: 2; }
        header #drawerMenu .drawer-inner .drawer-buttons .moreBtn {
          margin-left: auto;
          width: 287px; }
          header #drawerMenu .drawer-inner .drawer-buttons .moreBtn a {
            background: #EBE8E1; }
            header #drawerMenu .drawer-inner .drawer-buttons .moreBtn a::before {
              background: #FF5B19; }
            header #drawerMenu .drawer-inner .drawer-buttons .moreBtn a span {
              color: #FF5B19; }
            header #drawerMenu .drawer-inner .drawer-buttons .moreBtn a i.arrow img {
              filter: invert(57%) sepia(47%) saturate(6906%) hue-rotate(348deg) brightness(102%) contrast(105%); }
          header #drawerMenu .drawer-inner .drawer-buttons .moreBtn + .moreBtn {
            margin-top: 25px; }
      header #drawerMenu .drawer-inner .drawer-bg-lines {
        position: absolute;
        bottom: 0;
        right: 0;
        width: 368px;
        height: 317px;
        background: url(../img/common-recruit/header_drawer_line.svg) no-repeat center center/cover;
        z-index: 1; }
    @media (max-width: 1300px) {
      header #drawerMenu {
        top: 90px;
        height: calc(100svh - 120px);
        min-height: fit-content; }
        header #drawerMenu .drawer-inner {
          padding: 50px 0; }
          header #drawerMenu .drawer-inner .drawer-content {
            display: block;
            margin: 0 auto;
            width: 90%;
            padding-top: 0; }
            header #drawerMenu .drawer-inner .drawer-content .drawer-section + .drawer-section {
              margin-top: 50px; }
          header #drawerMenu .drawer-inner .drawer-buttons {
            margin-top: clamp(18px, 3.1245vw, 30px);
            display: block; }
            header #drawerMenu .drawer-inner .drawer-buttons .moreBtn a {
              background: #EBE8E1; }
              header #drawerMenu .drawer-inner .drawer-buttons .moreBtn a::before {
                background: #FF5B19; }
              header #drawerMenu .drawer-inner .drawer-buttons .moreBtn a span {
                color: #FF5B19; }
              header #drawerMenu .drawer-inner .drawer-buttons .moreBtn a i.arrow img {
                filter: invert(57%) sepia(47%) saturate(6906%) hue-rotate(348deg) brightness(102%) contrast(105%); } }
    @media (max-width: 480px) {
      header #drawerMenu {
        top: 65px;
        height: calc(100svh - 120px);
        min-height: 90%; }
        header #drawerMenu .drawer-inner .drawer-content .drawer-section ul.drawer-list li a {
          font-size: 1.4rem; }
        header #drawerMenu .drawer-inner .drawer-content .drawer-section + .drawer-section {
          margin-top: 30px; }
        header #drawerMenu .drawer-inner .drawer-buttons {
          margin: 50px auto 0; }
          header #drawerMenu .drawer-inner .drawer-buttons .moreBtn {
            margin: auto; }
        header #drawerMenu .drawer-inner .drawer-bg-lines {
          position: absolute;
          bottom: 0;
          right: 0;
          width: 171px;
          height: 148px;
          background: url(../img/common-recruit/header_drawer_line.svg) no-repeat center center/contain;
          z-index: 1; } }

.drawer-title {
  margin-bottom: 15px;
  border-bottom: 1px solid #EBE8E1;
  /* 薄い白線 */
  padding-bottom: 10px; }

.drawer-title .en {
  display: block;
  font-size: 28px;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.05em;
  text-transform: uppercase; }

.drawer-title .jp {
  display: block;
  font-size: 1.6rem;
  margin-top: 5px;
  font-weight: normal; }

/* リストスタイル */
.drawer-list {
  list-style: none;
  padding: 0;
  margin: 0; }

.drawer-list li {
  margin-bottom: 12px; }

.drawer-list li a {
  color: #fff;
  text-decoration: none;
  font-size: 16px;
  display: block;
  letter-spacing: 0.05em;
  transition: opacity 0.2s; }

.drawer-list li a:hover {
  opacity: 0.7; }

/* --- 背景の装飾（斜め線） --- */
.drawer-bg-lines {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 150px;
  height: 150px;
  background: repeating-linear-gradient(-45deg, transparent, transparent 10px, rgba(255, 255, 255, 0.3) 10px, rgba(255, 255, 255, 0.3) 12px);
  pointer-events: none;
  z-index: 1; }

/*============================================================================
	footer
=============================================================================*/
#goTop {
  width: 80px;
  height: 140px;
  background: #45CF5C;
  position: fixed;
  right: 0;
  bottom: 5%;
  z-index: 9;
  border-radius: 20px 0 0 20px;
  -webkit-transition: all .4s;
  transition: all .4s;
  opacity: 0; }
  @media (max-width: 480px) {
    #goTop {
      width: 50px;
      height: 80px; } }
  #goTop a {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    height: 100%;
    width: 100%; }
  #goTop i {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
    width: 46px;
    height: 46px;
    position: relative;
    border-radius: 50%;
    border: 2px solid #FFFFFF; }
    @media (max-width: 480px) {
      #goTop i {
        width: 30px;
        height: 30px; }
        #goTop i img {
          width: 15px; } }
  #goTop span {
    font-size: clamp(16px, 2vw, 20px);
    font-weight: 400;
    letter-spacing: 0.09em;
    color: #FFFFFF;
    font-family: "Outfit", sans-serif;
    text-align: center;
    margin: 5px auto 0; }
    @media (max-width: 480px) {
      #goTop span {
        font-size: 1.4rem; } }
  #goTop.active {
    opacity: 1; }
  #goTop:hover {
    opacity: 0.5; }

footer {
  color: #EBE8E1;
  margin-top: 100px; }
  footer .drawer-content {
    padding: 100px 0 45px;
    background: #3B3B3B; }
    footer .drawer-content .container {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 80px; }
    footer .drawer-content .drawer-section .drawer-title {
      border: none; }
      footer .drawer-content .drawer-section .drawer-title span.en {
        font-size: 3.2rem;
        font-weight: 500;
        letter-spacing: 0;
        line-height: 1.2;
        font-family: "Outfit", sans-serif; }
      footer .drawer-content .drawer-section .drawer-title span.jp {
        font-size: clamp(16px, 2vw, 20px);
        font-weight: 400;
        letter-spacing: 0.05em;
        line-height: 1.2;
        color: #FF5B19;
        margin-top: 3px; }
    footer .drawer-content .drawer-section ul.drawer-list li a {
      font-weight: 300;
      letter-spacing: 0.05em;
      line-height: 1.6;
      font-size: 2rem; }
    footer .drawer-content .drawer-section ul.drawer-list li + li {
      margin-top: 10px; }
    footer .drawer-content .corpLink {
      text-align: right;
      display: block;
      margin-top: 60px; }
      footer .drawer-content .corpLink a {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: 10px; }
        footer .drawer-content .corpLink a span {
          font-size: clamp(16px, 2vw, 20px);
          font-weight: 500;
          letter-spacing: 0.05em;
          line-height: 1.5;
          color: #EBE8E1; }
  @media (max-width: 480px) {
    footer .drawer-content {
      padding: 100px 0 45px; }
      footer .drawer-content .container {
        display: block; }
      footer .drawer-content .drawer-section + .drawer-section {
        margin-top: 50px; }
      footer .drawer-content .drawer-section .drawer-title {
        position: relative;
        padding-bottom: 15px; }
        footer .drawer-content .drawer-section .drawer-title::before {
          content: '';
          display: block;
          position: absolute;
          bottom: 0;
          left: 0;
          width: 85%;
          height: 1px;
          background: #EBE8E1; }
        footer .drawer-content .drawer-section .drawer-title span.jp {
          font-size: 1.6rem;
          font-weight: 500; }
      footer .drawer-content .drawer-section ul.drawer-list li a {
        font-size: 1.4rem; } }
  footer p.copyright {
    font-size: clamp(16px, 2vw, 20px);
    font-weight: 500;
    letter-spacing: 0.05em;
    line-height: 1.5;
    text-align: center;
    padding: 20px 0;
    background: #fff;
    color: #FF5B19; }
    @media (max-width: 480px) {
      footer p.copyright {
        font-size: 1.4rem; } }

/*============================================================================
	common
=============================================================================*/
.wh {
  color: #FFFFFF; }

.bl {
  color: #4880D3; }

.gd {
  color: #E2B623; }

.gr {
  color: #45CF5C; }

h2.cmnTtl01 {
  font-size: clamp(16px, 6vw, 60px);
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.5; }
  h2.cmnTtl01.en {
    font-family: "Outfit", sans-serif; }
  @media (max-width: 480px) {
    h2.cmnTtl01 {
      font-size: 3.2rem;
      line-height: 1.4375; } }

.cmnTtl02 .en {
  font-size: clamp(16px, 6vw, 60px);
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.25; }
  @media (max-width: 480px) {
    .cmnTtl02 .en {
      font-size: 3.2rem;
      line-height: 1.4375; } }
  @media (max-width: 389px) {
    .cmnTtl02 .en {
      font-size: 3rem; } }
.cmnTtl02 .jp {
  font-weight: 500;
  font-size: 2rem;
  line-height: 1.2;
  display: block;
  margin-bottom: 0px;
  letter-spacing: 0.05em; }
  @media (max-width: 480px) {
    .cmnTtl02 .jp {
      font-size: 1.6rem;
      line-height: 1.5; } }

.cmnTtl03 .jp {
  font-size: clamp(22px, 3vw, 32px);
  font-weight: 900;
  line-height: 1.2;
  display: block; }
.cmnTtl03 .en {
  margin-top: 10px;
  font-family: "Outfit", sans-serif;
  font-size: clamp(14px, 2vw, 16px);
  font-weight: 700;
  line-height: 1.0;
  opacity: 0.5;
  display: block; }

hgroup h2 {
  font-family: "Outfit", sans-serif;
  font-size: clamp(26px, 5vw, 48px);
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.1;
  display: block; }
hgroup p {
  margin-top: 5px;
  font-size: clamp(14px, 2vw, 18px);
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.1;
  display: block; }

.moreBtn {
  width: 358px;
  height: 56px; }
  @media (max-width: 480px) {
    .moreBtn {
      width: 100%; } }
  .moreBtn a {
    width: 100%;
    height: 100%;
    background: #FF5B19;
    position: relative;
    align-items: center;
    display: flex;
    justify-content: space-between;
    border-radius: 10px;
    gap: 30px;
    padding-right: 34px;
    filter: drop-shadow(0px 3px 6px rgba(0, 0, 0, 0.15));
    -webkit-transition: all .4s;
    transition: all .4s; }
    .moreBtn a::before {
      content: "";
      position: absolute;
      width: 1px;
      height: 100%;
      background: #fff;
      right: 16px;
      top: 0; }
    .moreBtn a span {
      font-weight: 500;
      letter-spacing: 0.05em;
      font-size: 1.8rem;
      line-height: 56px;
      text-align: center;
      position: relative;
      color: #fff;
      z-index: 5;
      -webkit-transition: all .4s;
      transition: all .4s; }
    .moreBtn a i.arrow {
      display: block;
      width: 47px;
      height: 27px;
      font-style: normal;
      line-height: 1;
      vertical-align: baseline;
      position: relative;
      z-index: 2;
      -webkit-transition: all .4s;
      transition: all .4s; }
      .moreBtn a i.arrow img {
        width: 47px;
        height: 27px;
        vertical-align: text-top;
        object-fit: cover;
        filter: brightness(0) invert(1); }
    .moreBtn a::after {
      content: "";
      position: absolute;
      width: 0;
      height: 100%;
      top: 0;
      left: 0;
      background: #fff;
      transition: width 0.3s ease;
      z-index: 1;
      border-radius: 10px; }
    .moreBtn a:hover::before {
      background: #FF5B19; }
    .moreBtn a:hover span {
      color: #FF5B19; }
    .moreBtn a:hover i.arrow {
      transform: translateX(10px); }
      .moreBtn a:hover i.arrow img {
        opacity: 1;
        filter: invert(42%) sepia(94%) saturate(2008%) hue-rotate(348deg) brightness(99%) contrast(104%); }
    .moreBtn a:hover::after {
      width: 100%; }
  .moreBtn.wh a {
    background: #fff;
    border: 2px solid #161616; }
    .moreBtn.wh a::after {
      background: #161616; }
    .moreBtn.wh a span {
      color: #161616; }
    .moreBtn.wh a i.arrow img {
      filter: brightness(0) invert(0); }
    .moreBtn.wh a:hover span {
      color: #fff; }
    .moreBtn.wh a:hover i.arrow {
      transform: translateX(10px); }
      .moreBtn.wh a:hover i.arrow img {
        filter: brightness(0) invert(1); }
    .moreBtn.wh a:hover::after {
      width: 100%; }
  .moreBtn.border a {
    border: 3px solid #161616; }
    .moreBtn.border a:hover {
      background: #161616; }
  .moreBtn.long {
    max-width: 450px;
    width: 100%;
    height: auto;
    min-height: 50px; }
  .moreBtn.hoverBorderBL a:hover::before {
    border: 1px solid #FFFFFF; }

@keyframes transformLeftRight {
  0% {
    transform: translateX(-150%); }
  100% {
    transform: translateX(0); } }
@keyframes transformRightLeft {
  0% {
    transform: translateX(0); }
  100% {
    transform: translateX(150%); } }
.recruitBtn {
  width: 419px;
  height: 133px; }
  @media (max-width: 480px) {
    .recruitBtn {
      width: 100%;
      height: 84px; } }
  .recruitBtn a {
    width: 100%;
    height: 100%;
    background: #FF5B19;
    position: relative;
    display: block grid;
    place-items: center;
    border-radius: 10px;
    gap: 30px;
    filter: drop-shadow(0px 3px 6px rgba(0, 0, 0, 0.15));
    -webkit-transition: all .4s;
    transition: all .4s; }
    .recruitBtn a span {
      font-weight: 500;
      letter-spacing: 0.05em;
      font-size: clamp(22px, 3vw, 32px);
      line-height: 133px;
      text-align: center;
      position: relative;
      z-index: 5;
      color: #fff;
      -webkit-transition: all .4s;
      transition: all .4s; }
      @media (max-width: 480px) {
        .recruitBtn a span {
          font-size: 1.8rem;
          line-height: 84px; } }
    .recruitBtn a::after {
      content: "";
      position: absolute;
      background: url(../img/common-recruit/recruitBtn_line.svg) no-repeat center center/cover;
      width: 77px;
      height: 62px;
      bottom: 0;
      right: 0;
      transition: width 0.3s ease;
      z-index: 1; }
  .recruitBtn.yl a {
    background: #FFC72F; }

/*============================================================================
	animation
=============================================================================*/
.maskText {
  overflow: hidden;
  position: relative; }
  .maskText::after {
    content: '';
    width: 100%;
    height: 100%;
    background: #659DC6;
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    transform: translateX(var(--maskText)); }

.slipin {
  overflow: hidden; }
  .slipin span {
    transform: translate(0, 100px);
    transform-origin: top;
    transition: all 0.3s ease-out; }
    .slipin span[data-status="active"] {
      transform: translate(0, 0); }

.maskDoor {
  overflow: hidden;
  position: relative; }
  .maskDoor::before, .maskDoor::after {
    content: '';
    margin: auto;
    width: 51%;
    height: 100%;
    background: #FF5B19;
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    transform: scale(var(--myScale), 1);
    z-index: 10; }
  .maskDoor::before {
    left: 0;
    right: auto;
    transform-origin: left; }
  .maskDoor::after {
    left: auto;
    right: 0;
    transform-origin: right; }

.maskBlock {
  overflow: hidden;
  position: relative; }
  .maskBlock::after {
    content: '';
    margin: auto;
    width: 100%;
    height: 100%;
    background: #FF5B19;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    transform: translateX(var(--blockScale));
    z-index: 10; }
  .maskBlock.fromR::after {
    transform-origin: right; }

.ziguzagu {
  /* 初期状態は非表示 */
  /* JSで付与されるクラス。これがつくとアニメーション開始 */ }
  .ziguzagu svg {
    display: block;
    overflow: visible;
    /* アニメーション中に端が切れないように */ }
  .ziguzagu #ziguzaguGroup path {
    opacity: 0;
    /* CSSでのtransformは指定しないこと */ }
  .ziguzagu #ziguzaguGroup path.is-visible {
    animation: appear 1s ease-out forwards; }

/* Transform（移動）はSVGの属性と競合するため削除し、opacityのみにします */
@keyframes appear {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }
.scrollInfinity .scrollInfinityWrap {
  display: flex;
  overflow: hidden;
  column-gap: clamp(32.4px, 5.625vw, 54px); }
  .scrollInfinity .scrollInfinityWrap .scrollInfinityList {
    display: flex;
    list-style: none;
    align-items: center;
    padding: 0;
    column-gap: clamp(32.4px, 5.625vw, 54px); }
    .scrollInfinity .scrollInfinityWrap .scrollInfinityList.scrollInfinityListLeft {
      animation: infinity-scroll-left 40s infinite linear 0.5s both; }
  .scrollInfinity .scrollInfinityWrap .scrollInfinityItem img {
    width: 100%; }
    @media (max-width: 480px) {
      .scrollInfinity .scrollInfinityWrap .scrollInfinityItem img {
        width: fit-content; } }

@keyframes infinity-scroll-left {
  from {
    transform: translateX(0); }
  to {
    transform: translateX(-100%); } }
/* ======================================================
// Slide in with overlay
// ------------------------------------------------------ */
@media (prefers-reduced-motion: no-preference) and (scripting: enabled) {
  [data-scroll-animation="clip-with-overlay"] {
    --duration: 0.6s;
    --easing: cubic-bezier(0.25, 1, 0.5, 1);
    --property: clip-path;
    --overlay-color: #659DC6;
    --stating-path: inset(0 100% 0 0);
    --end-path: inset(0 0 0 0);
    --overlay-duration: var(--duration);
    --overlay-delay: calc(var(--overlay-duration) / 2);
    position: relative; }
    [data-scroll-animation="clip-with-overlay"]::after {
      position: absolute;
      inset: 0;
      content: "";
      background-color: var(--overlay-color);
      transition-timing-function: var(--easing);
      transition-property: var(--property);
      rotate: 180deg;
      /* アニメーションをvar(--stating-path)のみで完結させるために疑似要素を180度回転 */ }
    [data-scroll-animation="clip-with-overlay"]:not(:focus-within)::after {
      transition-duration: var(--overlay-duration);
      transition-delay: var(--overlay-delay); }
    [data-scroll-animation="clip-with-overlay"]:not([data-animated="true"])::after {
      clip-path: var(--end-path); }
    [data-scroll-animation="clip-with-overlay"][data-animated="true"]::after {
      clip-path: var(--stating-path); }

  [data-scroll-animation="fade-in"] {
    --property: opacity, transform;
    --easing: cubic-bezier(0.33, 1, 0.68, 1);
    --duration: 1s;
    --delay: 0s;
    --offset: 40px;
    transition-property: var(--property);
    transition-duration: var(--duration);
    transition-timing-function: var(--easing);
    transition-delay: var(--delay); }
    [data-scroll-animation="fade-in"]:not([data-animated="true"]) {
      opacity: 0;
      transform: translateY(var(--offset)); }
    [data-scroll-animation="fade-in"][data-animated="true"] {
      opacity: 1;
      transform: translateY(0); } }
/*============================================================================
	regulation
=============================================================================*/
/*============================================================================
	調整用
=============================================================================*/
.fl {
  display: -webkit-flex;
  display: -moz-flex;
  display: flex; }

.fl-tab {
  display: -webkit-flex;
  display: -moz-flex;
  display: flex; }
  @media (max-width: 1024px) {
    .fl-tab {
      -webkit-flex-direction: column;
      -moz-flex-direction: column;
      flex-direction: column; } }

.fl-sp {
  display: -webkit-flex;
  display: -moz-flex;
  display: flex; }
  @media (max-width: 480px) {
    .fl-sp {
      -webkit-flex-direction: column;
      -moz-flex-direction: column;
      flex-direction: column; } }

.fl-jst {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between; }

.fl-cen {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center; }

.fl-end {
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end; }

.fl-wrap {
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }

.fl-col {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column; }

.fl-reverse {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse; }

.mt0 {
  margin-top: min(0vw,0px); }

.mb0 {
  margin-bottom: min(0vw,0px); }

.pt0 {
  padding-top: min(0vw,0px); }

.pb0 {
  padding-bottom: min(0vw,0px); }

.mt10 {
  margin-top: min(3vw,10px); }

.mb10 {
  margin-bottom: min(3vw,10px); }

.pt10 {
  padding-top: min(3vw,10px); }

.pb10 {
  padding-bottom: min(3vw,10px); }

.mt20 {
  margin-top: min(6vw,20px); }

.mb20 {
  margin-bottom: min(6vw,20px); }

.pt20 {
  padding-top: min(6vw,20px); }

.pb20 {
  padding-bottom: min(6vw,20px); }

.mt30 {
  margin-top: min(9vw,30px); }

.mb30 {
  margin-bottom: min(9vw,30px); }

.pt30 {
  padding-top: min(9vw,30px); }

.pb30 {
  padding-bottom: min(9vw,30px); }

.mt40 {
  margin-top: min(12vw,40px); }

.mb40 {
  margin-bottom: min(12vw,40px); }

.pt40 {
  padding-top: min(12vw,40px); }

.pb40 {
  padding-bottom: min(12vw,40px); }

.mt50 {
  margin-top: min(15vw,50px); }

.mb50 {
  margin-bottom: min(15vw,50px); }

.pt50 {
  padding-top: min(15vw,50px); }

.pb50 {
  padding-bottom: min(15vw,50px); }

.mt60 {
  margin-top: min(18vw,60px); }

.mb60 {
  margin-bottom: min(18vw,60px); }

.pt60 {
  padding-top: min(18vw,60px); }

.pb60 {
  padding-bottom: min(18vw,60px); }

.mt70 {
  margin-top: min(21vw,70px); }

.mb70 {
  margin-bottom: min(21vw,70px); }

.pt70 {
  padding-top: min(21vw,70px); }

.pb70 {
  padding-bottom: min(21vw,70px); }

.mt80 {
  margin-top: min(24vw,80px); }

.mb80 {
  margin-bottom: min(24vw,80px); }

.pt80 {
  padding-top: min(24vw,80px); }

.pb80 {
  padding-bottom: min(24vw,80px); }

.mt90 {
  margin-top: min(27vw,90px); }

.mb90 {
  margin-bottom: min(27vw,90px); }

.pt90 {
  padding-top: min(27vw,90px); }

.pb90 {
  padding-bottom: min(27vw,90px); }

.mt100 {
  margin-top: min(30vw,100px); }

.mb100 {
  margin-bottom: min(30vw,100px); }

.pt100 {
  padding-top: min(30vw,100px); }

.pb100 {
  padding-bottom: min(30vw,100px); }

.mt110 {
  margin-top: min(33vw,110px); }

.mb110 {
  margin-bottom: min(33vw,110px); }

.pt110 {
  padding-top: min(33vw,110px); }

.pb110 {
  padding-bottom: min(33vw,110px); }

.mt120 {
  margin-top: min(36vw,120px); }

.mb120 {
  margin-bottom: min(36vw,120px); }

.pt120 {
  padding-top: min(36vw,120px); }

.pb120 {
  padding-bottom: min(36vw,120px); }

.mt130 {
  margin-top: min(39vw,130px); }

.mb130 {
  margin-bottom: min(39vw,130px); }

.pt130 {
  padding-top: min(39vw,130px); }

.pb130 {
  padding-bottom: min(39vw,130px); }

.mt140 {
  margin-top: min(42vw,140px); }

.mb140 {
  margin-bottom: min(42vw,140px); }

.pt140 {
  padding-top: min(42vw,140px); }

.pb140 {
  padding-bottom: min(42vw,140px); }

br {
  display: inline; }
  @media (min-width: 1301px) {
    br.showPC {
      display: none !important; } }
  @media (min-width: 1025px) {
    br.showTab {
      display: none !important; } }
  @media (min-width: 821px) {
    br.showStab {
      display: none !important; } }
  @media (min-width: 481px) {
    br.showSP {
      display: none !important; } }
  @media (max-width: 1100px) {
    br.hdn1100 {
      display: none; }
    br.show1100 {
      display: inherit; } }
  @media (max-width: 1300px) {
    br.hdnPC {
      display: none; }
    br.showPC {
      display: inherit; } }
  @media (max-width: 1024px) {
    br.hdnTab {
      display: none; }
    br.showTab {
      display: inherit; } }
  @media (max-width: 820px) {
    br.hdnStab {
      display: none; }
    br.showStab {
      display: inherit; } }
  @media (max-width: 480px) {
    br.hdnSP {
      display: none; }
    br.showSP {
      display: inherit; } }

span {
  display: inline-block; }
  @media (min-width: 1301px) {
    span.showPC {
      display: none !important; } }
  @media (min-width: 1025px) {
    span.showTab {
      display: none !important; } }
  @media (min-width: 821px) {
    span.showStab {
      display: none !important; } }
  @media (min-width: 481px) {
    span.showSP {
      display: none !important; } }
  @media (max-width: 1300px) {
    span.hdnPC {
      display: none !important; }
    span.showPC {
      display: inherit; } }
  @media (max-width: 1024px) {
    span.hdnTab {
      display: none !important; }
    span.showTab {
      display: inherit; } }
  @media (max-width: 820px) {
    span.hdnStab {
      display: none !important; }
    span.showStab {
      display: inherit; } }
  @media (max-width: 480px) {
    span.hdnSP {
      display: none !important; }
    span.showSP {
      display: inherit; } }

p, div, figure, ul, img, svg {
  display: block; }
  @media (min-width: 1301px) {
    p.showPC, div.showPC, figure.showPC, ul.showPC, img.showPC, svg.showPC {
      display: none !important; } }
  @media (min-width: 1025px) {
    p.showTab, div.showTab, figure.showTab, ul.showTab, img.showTab, svg.showTab {
      display: none !important; } }
  @media (min-width: 821px) {
    p.showStab, div.showStab, figure.showStab, ul.showStab, img.showStab, svg.showStab {
      display: none !important; } }
  @media (min-width: 481px) {
    p.showSP, div.showSP, figure.showSP, ul.showSP, img.showSP, svg.showSP {
      display: none !important; } }
  @media (max-width: 1300px) {
    p.hdnPC, div.hdnPC, figure.hdnPC, ul.hdnPC, img.hdnPC, svg.hdnPC {
      display: none !important; }
    p.showPC, div.showPC, figure.showPC, ul.showPC, img.showPC, svg.showPC {
      display: inherit; } }
  @media (max-width: 1024px) {
    p.hdnTab, div.hdnTab, figure.hdnTab, ul.hdnTab, img.hdnTab, svg.hdnTab {
      display: none !important; }
    p.showTab, div.showTab, figure.showTab, ul.showTab, img.showTab, svg.showTab {
      display: inherit; } }
  @media (max-width: 820px) {
    p.hdnStab, div.hdnStab, figure.hdnStab, ul.hdnStab, img.hdnStab, svg.hdnStab {
      display: none !important; }
    p.showStab, div.showStab, figure.showStab, ul.showStab, img.showStab, svg.showStab {
      display: inherit; } }
  @media (max-width: 480px) {
    p.hdnSP, div.hdnSP, figure.hdnSP, ul.hdnSP, img.hdnSP, svg.hdnSP {
      display: none !important; }
    p.showSP, div.showSP, figure.showSP, ul.showSP, img.showSP, svg.showSP {
      display: inherit; } }

li {
  display: list-item; }
  @media (min-width: 1301px) {
    li.showPC {
      display: none !important; } }
  @media (min-width: 1025px) {
    li.showTab {
      display: none !important; } }
  @media (min-width: 821px) {
    li.showStab {
      display: none !important; } }
  @media (min-width: 481px) {
    li.showSP {
      display: none !important; } }
  @media (max-width: 1300px) {
    li.hdnPC {
      display: none !important; }
    li.showPC {
      display: inherit; } }
  @media (max-width: 1024px) {
    li.hdnTab {
      display: none !important; }
    li.showTab {
      display: inherit; } }
  @media (max-width: 820px) {
    li.hdnStab {
      display: none !important; }
    li.showStab {
      display: inherit; } }
  @media (max-width: 480px) {
    li.hdnSP {
      display: none !important; }
    li.showSP {
      display: inherit; } }

.ta_cnt {
  text-align: center; }

.ta_right {
  text-align: right; }

.clearfix:after {
  content: "";
  display: block;
  clear: both; }
