@charset "UTF-8";
/* ============================================
// normalize.css v3.0.2 | MIT License | git.io/normalize
// ==========================================*/
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */
html {
  font-family: sans-serif; /* 1 */
  -ms-text-size-adjust: 100%; /* 2 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/**
 * Remove default margin.
 */
body {
  margin: 0;
}

/* HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11
 * and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block;
}

/**
 * 1. Correct `inline-block` display not defined in IE 8/9.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */
audio,
canvas,
progress,
video {
  display: inline-block; /* 1 */
  vertical-align: baseline; /* 2 */
}

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}

/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
 */
[hidden],
template {
  display: none;
}

/* Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */
a:active,
a:hover {
  outline: 0;
}

/* Text-level semantics
   ========================================================================== */
/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */
abbr[title] {
  border-bottom: 1px dotted;
}

/**
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
 */
b,
strong {
  font-weight: bold;
}

/**
 * Address styling not present in Safari and Chrome.
 */
dfn {
  font-style: italic;
}

/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari, and Chrome.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/**
 * Address styling not present in IE 8/9.
 */
mark {
  background: #ff0;
  color: #000;
}

/**
 * Address inconsistent and variable font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove border when inside `a` element in IE 8/9/10.
 */
img {
  border: 0;
}

/**
 * Correct overflow not hidden in IE 9/10/11.
 */
svg:not(:root) {
  overflow: hidden;
}

/* Grouping content
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari.
 */
figure {
  margin: 1em 40px;
}

/**
 * Address differences between Firefox and other browsers.
 */
hr {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  height: 0;
}

/**
 * Contain overflow in all browsers.
 */
pre {
  overflow: auto;
}

/**
 * Address odd `em`-unit font size rendering in all browsers.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

/* Forms
   ========================================================================== */
/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */
/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 */
button,
input,
optgroup,
select,
textarea {
  color: inherit; /* 1 */
  font: inherit; /* 2 */
  margin: 0; /* 3 */
}

/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */
button {
  overflow: visible;
}

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */
button,
select {
  text-transform: none;
}

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */
button,
html input[type=button],
input[type=reset],
input[type=submit] {
  -webkit-appearance: button; /* 2 */
  cursor: pointer; /* 3 */
}

/**
 * Re-set default cursor for disabled elements.
 */
button[disabled],
html input[disabled] {
  cursor: default;
}

/**
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
input {
  line-height: normal;
}

/**
 * It's recommended that you don't attempt to style these elements.
 * Firefox's implementation doesn't respect box-sizing, padding, or width.
 *
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */
input[type=checkbox],
input[type=radio] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
 *    (include `-moz` to future-proof).
 */
input[type=search] {
  -webkit-appearance: textfield; /* 1 */
  -webkit-box-sizing: border-box; /* 2 */
  box-sizing: border-box;
}

/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */
input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * Define consistent border, margin, and padding.
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
  border: 0; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */
textarea {
  overflow: auto;
}

/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */
optgroup {
  font-weight: bold;
}

/* Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

td,
th {
  padding: 0;
}

/* ============================================
// RESET
// ==========================================*/
*, *::before, *::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, textarea, p, blockquote, th, td {
  margin: 0;
  padding: 0;
}

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal;
  line-height: 1.6;
}

a {
  outline: none;
  text-decoration: none;
}

li {
  list-style: none;
}

img {
  vertical-align: bottom;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

::-moz-selection {
  background: #59cdea;
  color: #ffffff;
}

::selection {
  background: #59cdea;
  color: #ffffff;
}

@media (min-device-width: 835px) {
  a[href^="tel:"] {
    cursor: default;
    pointer-events: none;
  }
}
/* ============================================
// BASE
// ==========================================*/
html,
body {
  min-width: 1024px;
}
@media (max-width: 834px) {
  html,
  body {
    min-width: inherit;
  }
}

html {
  font-size: 62.5%;
}

body {
  position: relative;
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  font-size: 1.6rem;
  font-weight: 400;
  color: #031422;
  line-height: 2;
  letter-spacing: 0.075em;
  word-break: break-word;
  background: #fff;
  -webkit-text-size-adjust: none;
  -webkit-overflow-scrolling: touch;
}
@media (max-width: 834px) {
  body {
    font-size: 1.4rem;
  }
}

#container {
  width: 100%;
  overflow: hidden;
}

.innerWrap {
  max-width: 1340px;
  position: relative;
  z-index: 1;
  margin: 0 auto;
  padding: 0 70px;
}
@media (max-width: 834px) {
  .innerWrap {
    padding: 0 6.25%;
  }
}
.innerWrap.-m {
  max-width: 1240px;
}

main.main,
main.l-main {
  position: relative;
  z-index: 1;
  padding: 80px 0;
}
@media (max-width: 834px) {
  main.main,
  main.l-main {
    padding: 48px 0;
  }
}

a {
  color: #031422;
  -webkit-transition: opacity 0.24s, color 0.24s, -webkit-filter 0.24s;
  transition: opacity 0.24s, color 0.24s, -webkit-filter 0.24s;
  transition: opacity 0.24s, filter 0.24s, color 0.24s;
  transition: opacity 0.24s, filter 0.24s, color 0.24s, -webkit-filter 0.24s;
}
@media (any-hover: hover) {
  a:hover {
    opacity: 0.8;
  }
}

/* classes */
img {
  max-width: 100%;
  -webkit-transition: -webkit-transform 0.4s;
  transition: -webkit-transform 0.4s;
  transition: transform 0.4s;
  transition: transform 0.4s, -webkit-transform 0.4s;
}

.ofi {
  -o-object-fit: cover;
  object-fit: cover;
  font-family: "object-fit: cover;";
  width: 100%;
  height: 100%;
}

@media (min-width: 835px) {
  .ro:hover {
    opacity: 0.8;
    -webkit-transition: all 0.16s linear;
    transition: all 0.16s linear;
  }
}

.ro:hover img {
  opacity: 1;
}

.bold {
  font-weight: bold;
}

.tac {
  text-align: center;
}

.tar {
  text-align: right;
}

.tal {
  text-align: left;
}

/* fonts */
.eng {
  font-family: "Cormorant Garamond", serif;
  font-weight: 700;
  letter-spacing: 0.15em;
}

.mincho {
  font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-weight: 500;
  letter-spacing: -0.12em;
}

/* animations */
.anime {
  -webkit-transition: opacity 1s cubic-bezier(0.14, 1, 0.34, 1), -webkit-transform 1s cubic-bezier(0.14, 1, 0.34, 1);
  transition: opacity 1s cubic-bezier(0.14, 1, 0.34, 1), -webkit-transform 1s cubic-bezier(0.14, 1, 0.34, 1);
  transition: transform 1s cubic-bezier(0.14, 1, 0.34, 1), opacity 1s cubic-bezier(0.14, 1, 0.34, 1);
  transition: transform 1s cubic-bezier(0.14, 1, 0.34, 1), opacity 1s cubic-bezier(0.14, 1, 0.34, 1), -webkit-transform 1s cubic-bezier(0.14, 1, 0.34, 1);
}
.anime.-fadeIn {
  opacity: 0.01;
}
.anime.-fadeIn.js-active, .js-active > .anime.-fadeIn {
  opacity: 1;
}
.anime.-fadeInBottom {
  opacity: 0.01;
  -webkit-transform: translateY(40px);
          transform: translateY(40px);
}
.anime.-fadeInBottom.js-active, .js-active > .anime.-fadeInBottom {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.anime.-fadeInTop {
  opacity: 0.01;
  -webkit-transform: translateY(-40px);
          transform: translateY(-40px);
}
.anime.-fadeInTop.js-active, .js-active > .anime.-fadeInTop {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.anime.-fadeInLeft {
  opacity: 0.01;
  -webkit-transform: translateX(-40px);
          transform: translateX(-40px);
}
.anime.-fadeInLeft.js-active, .js-active > .anime.-fadeInLeft {
  opacity: 1;
  -webkit-transform: translateX(0);
          transform: translateX(0);
}
.anime.-fadeInRight {
  opacity: 0.01;
  -webkit-transform: translateX(40px);
          transform: translateX(40px);
}
.anime.-fadeInRight.js-active, .js-active > .anime.-fadeInRight {
  opacity: 1;
  -webkit-transform: translateX(0);
          transform: translateX(0);
}

#ot-sdk-btn-floating.ot-floating-button {
  z-index: 100 !important;
}
#ot-sdk-btn-floating.ot-floating-button .ot-floating-button__front button {
  outline: none !important;
}

.lower-kyujin_d #ot-sdk-btn-floating.ot-floating-button {
  bottom: 100px;
}
@media (max-width: 834px) {
  .lower-kyujin_d #ot-sdk-btn-floating.ot-floating-button {
    bottom: 84px;
  }
}

/* ============================================
// loading
// ==========================================*/
/* ============================================
// hamburger
// ==========================================*/
.hamburger {
  position: fixed;
  inset: 0;
  z-index: 999;
  opacity: 0;
  visibility: hidden;
  translate: 10% 0;
  background: #fff;
}
.js-loaded .hamburger {
  -webkit-transition: opacity 0.3s ease, visibility 0.2s ease, translate 0.3s ease;
  transition: opacity 0.3s ease, visibility 0.2s ease, translate 0.3s ease;
}
.hamburger.js-open {
  opacity: 1;
  translate: 0;
  visibility: visible;
}
.hamburger.js-open .hamburger__menu__logo {
  -webkit-animation: hamburger-fadeInTop 1s cubic-bezier(0.14, 1, 0.34, 1) forwards;
          animation: hamburger-fadeInTop 1s cubic-bezier(0.14, 1, 0.34, 1) forwards;
}
@-webkit-keyframes hamburger-fadeInTop {
  0% {
    opacity: 0;
    translate: 0 -24px;
  }
  100% {
    opacity: 1;
    translate: 0 0;
  }
}
@keyframes hamburger-fadeInTop {
  0% {
    opacity: 0;
    translate: 0 -24px;
  }
  100% {
    opacity: 1;
    translate: 0 0;
  }
}
.hamburger.js-open .hamburger__menu__nav__recruit {
  -webkit-animation: hamburger-fadeInBottom 1s cubic-bezier(0.14, 1, 0.34, 1) 210ms forwards;
          animation: hamburger-fadeInBottom 1s cubic-bezier(0.14, 1, 0.34, 1) 210ms forwards;
}
.hamburger.js-open .hamburger__menu__left img {
  translate: 0 0;
}
.hamburger__btn {
  position: relative;
  display: none;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  z-index: 500;
  background: #1b66a2;
  border-radius: 5px;
  width: 64px;
  aspect-ratio: 1/1;
  cursor: pointer;
  padding-top: 3px;
  gap: 4px;
  border-radius: 4px;
  -webkit-box-shadow: 0px 0px 30px rgba(255, 255, 255, 0.2);
          box-shadow: 0px 0px 30px rgba(255, 255, 255, 0.2);
  -webkit-transition: scale 0.3s, -webkit-filter 0.3s;
  transition: scale 0.3s, -webkit-filter 0.3s;
  transition: scale 0.3s, filter 0.3s;
  transition: scale 0.3s, filter 0.3s, -webkit-filter 0.3s;
}
@media (max-width: 1300px) {
  .hamburger__btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
@media (max-width: 834px) {
  .hamburger__btn {
    width: 56px;
  }
}
@media (any-hover: hover) {
  .hamburger__btn:hover {
    scale: 0.95;
    -webkit-filter: saturate(1.2);
            filter: saturate(1.2);
  }
}
.hamburger__btn__bar {
  width: 18px;
  height: 1px;
  background-color: #fff;
  border-radius: 2px;
  -webkit-transition: translate 0.3s;
  transition: translate 0.3s;
}
@media (max-width: 834px) {
  .hamburger__btn__bar {
    width: 16px;
  }
}
.hamburger__btn__text {
  font-size: 0.9rem;
  color: #fff;
  line-height: 1;
  margin-top: 2px;
}
.hamburger__menu {
  position: relative;
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  overflow-y: auto;
}
.hamburger__menu::before {
  content: "";
  position: absolute;
  inset: 0;
  -webkit-transform-origin: right;
          transform-origin: right;
  background: url(../img/common/bg_hamburger.png) center right/cover no-repeat;
  pointer-events: none;
  z-index: -1;
}
.hamburger__menu__inner {
  position: relative;
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media (max-width: 834px) {
  .hamburger__menu__inner {
    padding: 48px 6.25%;
  }
}
.hamburger__menu__left {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 47%;
          flex: 0 0 47%;
  overflow: hidden;
  background: rgba(89, 205, 234, 0.1);
}
.hamburger__menu__left img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  translate: 16px 0;
  -webkit-transition: translate 0.6s ease;
  transition: translate 0.6s ease;
}
@media (max-width: 834px) {
  .hamburger__menu__left {
    display: none;
  }
}
.hamburger__menu__right {
  width: 100%;
  margin: auto 0;
  padding: 40px 6%;
}
.hamburger__menu__logo {
  opacity: 0;
  translate: 0 -24px;
}
.hamburger__menu__logo-link {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}
.hamburger__menu__logo-image {
  display: block;
  width: 36px;
  margin-inline: auto;
  -webkit-transition: max-width 0.3s, -webkit-filter 0.3s;
  transition: max-width 0.3s, -webkit-filter 0.3s;
  transition: filter 0.3s, max-width 0.3s;
  transition: filter 0.3s, max-width 0.3s, -webkit-filter 0.3s;
}
@media (max-width: 834px) {
  .hamburger__menu__logo-image {
    width: 34px;
  }
}
.hamburger__menu__logo-title {
  display: block;
  font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 2.1rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  line-height: 1;
  margin-inline: auto;
  margin-top: 12px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  -webkit-transition: font-size 0.3s, color 0.3s, margin-top 0.3s;
  transition: font-size 0.3s, color 0.3s, margin-top 0.3s;
}
@media (max-width: 834px) {
  .hamburger__menu__logo-title {
    font-size: 1.9rem;
    margin-top: 8px;
    margin-top: 11px;
  }
}
.hamburger__menu__logo-text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 1.3rem;
  font-weight: 700;
  letter-spacing: 0.075em;
  color: #1b66a2;
  line-height: 1.6;
  padding: 0.513em 2.1em 0.35em 2.5em;
  border: 1px solid #1b66a2;
  margin-top: 12px;
  background: #fff;
  -webkit-transition: color 0.3s, border-color 0.3s, font-size 0.3s, padding 0.3s, margin-top 0.3s;
  transition: color 0.3s, border-color 0.3s, font-size 0.3s, padding 0.3s, margin-top 0.3s;
}
@media (max-width: 834px) {
  .hamburger__menu__logo-text {
    font-size: 1.1rem;
  }
}
.hamburger__menu__nav {
  position: relative;
  margin-top: 16px;
  max-width: 280px;
  margin-inline: auto;
  z-index: 1;
}
@media (max-width: 834px) {
  .hamburger__menu__nav {
    margin-top: 8px;
  }
}
.hamburger__menu__nav__item {
  font-size: 1.7rem;
  font-weight: 700;
  opacity: 0;
}
@media (max-width: 834px) {
  .hamburger__menu__nav__item {
    font-size: 1.5rem;
  }
}
.js-open .hamburger__menu__nav__item:nth-child(1) {
  -webkit-animation: hamburger-fadeInBottom 1s cubic-bezier(0.14, 1, 0.34, 1) 30ms forwards;
          animation: hamburger-fadeInBottom 1s cubic-bezier(0.14, 1, 0.34, 1) 30ms forwards;
}
@-webkit-keyframes hamburger-fadeInBottom {
  0% {
    opacity: 0;
    translate: 0 24px;
  }
  100% {
    opacity: 1;
    translate: 0 0;
  }
}
@keyframes hamburger-fadeInBottom {
  0% {
    opacity: 0;
    translate: 0 24px;
  }
  100% {
    opacity: 1;
    translate: 0 0;
  }
}
.js-open .hamburger__menu__nav__item:nth-child(2) {
  -webkit-animation: hamburger-fadeInBottom 1s cubic-bezier(0.14, 1, 0.34, 1) 60ms forwards;
          animation: hamburger-fadeInBottom 1s cubic-bezier(0.14, 1, 0.34, 1) 60ms forwards;
}
@keyframes hamburger-fadeInBottom {
  0% {
    opacity: 0;
    translate: 0 24px;
  }
  100% {
    opacity: 1;
    translate: 0 0;
  }
}
.js-open .hamburger__menu__nav__item:nth-child(3) {
  -webkit-animation: hamburger-fadeInBottom 1s cubic-bezier(0.14, 1, 0.34, 1) 90ms forwards;
          animation: hamburger-fadeInBottom 1s cubic-bezier(0.14, 1, 0.34, 1) 90ms forwards;
}
@keyframes hamburger-fadeInBottom {
  0% {
    opacity: 0;
    translate: 0 24px;
  }
  100% {
    opacity: 1;
    translate: 0 0;
  }
}
.js-open .hamburger__menu__nav__item:nth-child(4) {
  -webkit-animation: hamburger-fadeInBottom 1s cubic-bezier(0.14, 1, 0.34, 1) 120ms forwards;
          animation: hamburger-fadeInBottom 1s cubic-bezier(0.14, 1, 0.34, 1) 120ms forwards;
}
@keyframes hamburger-fadeInBottom {
  0% {
    opacity: 0;
    translate: 0 24px;
  }
  100% {
    opacity: 1;
    translate: 0 0;
  }
}
.js-open .hamburger__menu__nav__item:nth-child(5) {
  -webkit-animation: hamburger-fadeInBottom 1s cubic-bezier(0.14, 1, 0.34, 1) 150ms forwards;
          animation: hamburger-fadeInBottom 1s cubic-bezier(0.14, 1, 0.34, 1) 150ms forwards;
}
@keyframes hamburger-fadeInBottom {
  0% {
    opacity: 0;
    translate: 0 24px;
  }
  100% {
    opacity: 1;
    translate: 0 0;
  }
}
.js-open .hamburger__menu__nav__item:nth-child(6) {
  -webkit-animation: hamburger-fadeInBottom 1s cubic-bezier(0.14, 1, 0.34, 1) 180ms forwards;
          animation: hamburger-fadeInBottom 1s cubic-bezier(0.14, 1, 0.34, 1) 180ms forwards;
}
@keyframes hamburger-fadeInBottom {
  0% {
    opacity: 0;
    translate: 0 24px;
  }
  100% {
    opacity: 1;
    translate: 0 0;
  }
}
.js-open .hamburger__menu__nav__item:nth-child(7) {
  -webkit-animation: hamburger-fadeInBottom 1s cubic-bezier(0.14, 1, 0.34, 1) 210ms forwards;
          animation: hamburger-fadeInBottom 1s cubic-bezier(0.14, 1, 0.34, 1) 210ms forwards;
}
@keyframes hamburger-fadeInBottom {
  0% {
    opacity: 0;
    translate: 0 24px;
  }
  100% {
    opacity: 1;
    translate: 0 0;
  }
}
.js-open .hamburger__menu__nav__item:nth-child(8) {
  -webkit-animation: hamburger-fadeInBottom 1s cubic-bezier(0.14, 1, 0.34, 1) 240ms forwards;
          animation: hamburger-fadeInBottom 1s cubic-bezier(0.14, 1, 0.34, 1) 240ms forwards;
}
@keyframes hamburger-fadeInBottom {
  0% {
    opacity: 0;
    translate: 0 24px;
  }
  100% {
    opacity: 1;
    translate: 0 0;
  }
}
.js-open .hamburger__menu__nav__item:nth-child(9) {
  -webkit-animation: hamburger-fadeInBottom 1s cubic-bezier(0.14, 1, 0.34, 1) 270ms forwards;
          animation: hamburger-fadeInBottom 1s cubic-bezier(0.14, 1, 0.34, 1) 270ms forwards;
}
@keyframes hamburger-fadeInBottom {
  0% {
    opacity: 0;
    translate: 0 24px;
  }
  100% {
    opacity: 1;
    translate: 0 0;
  }
}
.js-open .hamburger__menu__nav__item:nth-child(10) {
  -webkit-animation: hamburger-fadeInBottom 1s cubic-bezier(0.14, 1, 0.34, 1) 300ms forwards;
          animation: hamburger-fadeInBottom 1s cubic-bezier(0.14, 1, 0.34, 1) 300ms forwards;
}
@keyframes hamburger-fadeInBottom {
  0% {
    opacity: 0;
    translate: 0 24px;
  }
  100% {
    opacity: 1;
    translate: 0 0;
  }
}
.js-open .hamburger__menu__nav__item:nth-child(11) {
  -webkit-animation: hamburger-fadeInBottom 1s cubic-bezier(0.14, 1, 0.34, 1) 330ms forwards;
          animation: hamburger-fadeInBottom 1s cubic-bezier(0.14, 1, 0.34, 1) 330ms forwards;
}
@keyframes hamburger-fadeInBottom {
  0% {
    opacity: 0;
    translate: 0 24px;
  }
  100% {
    opacity: 1;
    translate: 0 0;
  }
}
.js-open .hamburger__menu__nav__item:nth-child(12) {
  -webkit-animation: hamburger-fadeInBottom 1s cubic-bezier(0.14, 1, 0.34, 1) 360ms forwards;
          animation: hamburger-fadeInBottom 1s cubic-bezier(0.14, 1, 0.34, 1) 360ms forwards;
}
@keyframes hamburger-fadeInBottom {
  0% {
    opacity: 0;
    translate: 0 24px;
  }
  100% {
    opacity: 1;
    translate: 0 0;
  }
}
.js-open .hamburger__menu__nav__item:nth-child(13) {
  -webkit-animation: hamburger-fadeInBottom 1s cubic-bezier(0.14, 1, 0.34, 1) 390ms forwards;
          animation: hamburger-fadeInBottom 1s cubic-bezier(0.14, 1, 0.34, 1) 390ms forwards;
}
@keyframes hamburger-fadeInBottom {
  0% {
    opacity: 0;
    translate: 0 24px;
  }
  100% {
    opacity: 1;
    translate: 0 0;
  }
}
.js-open .hamburger__menu__nav__item:nth-child(14) {
  -webkit-animation: hamburger-fadeInBottom 1s cubic-bezier(0.14, 1, 0.34, 1) 420ms forwards;
          animation: hamburger-fadeInBottom 1s cubic-bezier(0.14, 1, 0.34, 1) 420ms forwards;
}
@keyframes hamburger-fadeInBottom {
  0% {
    opacity: 0;
    translate: 0 24px;
  }
  100% {
    opacity: 1;
    translate: 0 0;
  }
}
.js-open .hamburger__menu__nav__item:nth-child(15) {
  -webkit-animation: hamburger-fadeInBottom 1s cubic-bezier(0.14, 1, 0.34, 1) 450ms forwards;
          animation: hamburger-fadeInBottom 1s cubic-bezier(0.14, 1, 0.34, 1) 450ms forwards;
}
@keyframes hamburger-fadeInBottom {
  0% {
    opacity: 0;
    translate: 0 24px;
  }
  100% {
    opacity: 1;
    translate: 0 0;
  }
}
.js-open .hamburger__menu__nav__item:nth-child(16) {
  -webkit-animation: hamburger-fadeInBottom 1s cubic-bezier(0.14, 1, 0.34, 1) 480ms forwards;
          animation: hamburger-fadeInBottom 1s cubic-bezier(0.14, 1, 0.34, 1) 480ms forwards;
}
@keyframes hamburger-fadeInBottom {
  0% {
    opacity: 0;
    translate: 0 24px;
  }
  100% {
    opacity: 1;
    translate: 0 0;
  }
}
.js-open .hamburger__menu__nav__item:nth-child(17) {
  -webkit-animation: hamburger-fadeInBottom 1s cubic-bezier(0.14, 1, 0.34, 1) 510ms forwards;
          animation: hamburger-fadeInBottom 1s cubic-bezier(0.14, 1, 0.34, 1) 510ms forwards;
}
@keyframes hamburger-fadeInBottom {
  0% {
    opacity: 0;
    translate: 0 24px;
  }
  100% {
    opacity: 1;
    translate: 0 0;
  }
}
.js-open .hamburger__menu__nav__item:nth-child(18) {
  -webkit-animation: hamburger-fadeInBottom 1s cubic-bezier(0.14, 1, 0.34, 1) 540ms forwards;
          animation: hamburger-fadeInBottom 1s cubic-bezier(0.14, 1, 0.34, 1) 540ms forwards;
}
@keyframes hamburger-fadeInBottom {
  0% {
    opacity: 0;
    translate: 0 24px;
  }
  100% {
    opacity: 1;
    translate: 0 0;
  }
}
.js-open .hamburger__menu__nav__item:nth-child(19) {
  -webkit-animation: hamburger-fadeInBottom 1s cubic-bezier(0.14, 1, 0.34, 1) 570ms forwards;
          animation: hamburger-fadeInBottom 1s cubic-bezier(0.14, 1, 0.34, 1) 570ms forwards;
}
@keyframes hamburger-fadeInBottom {
  0% {
    opacity: 0;
    translate: 0 24px;
  }
  100% {
    opacity: 1;
    translate: 0 0;
  }
}
.js-open .hamburger__menu__nav__item:nth-child(20) {
  -webkit-animation: hamburger-fadeInBottom 1s cubic-bezier(0.14, 1, 0.34, 1) 600ms forwards;
          animation: hamburger-fadeInBottom 1s cubic-bezier(0.14, 1, 0.34, 1) 600ms forwards;
}
@keyframes hamburger-fadeInBottom {
  0% {
    opacity: 0;
    translate: 0 24px;
  }
  100% {
    opacity: 1;
    translate: 0 0;
  }
}
.js-open .hamburger__menu__nav__item:nth-child(21) {
  -webkit-animation: hamburger-fadeInBottom 1s cubic-bezier(0.14, 1, 0.34, 1) 630ms forwards;
          animation: hamburger-fadeInBottom 1s cubic-bezier(0.14, 1, 0.34, 1) 630ms forwards;
}
@keyframes hamburger-fadeInBottom {
  0% {
    opacity: 0;
    translate: 0 24px;
  }
  100% {
    opacity: 1;
    translate: 0 0;
  }
}
.js-open .hamburger__menu__nav__item:nth-child(22) {
  -webkit-animation: hamburger-fadeInBottom 1s cubic-bezier(0.14, 1, 0.34, 1) 660ms forwards;
          animation: hamburger-fadeInBottom 1s cubic-bezier(0.14, 1, 0.34, 1) 660ms forwards;
}
@keyframes hamburger-fadeInBottom {
  0% {
    opacity: 0;
    translate: 0 24px;
  }
  100% {
    opacity: 1;
    translate: 0 0;
  }
}
.js-open .hamburger__menu__nav__item:nth-child(23) {
  -webkit-animation: hamburger-fadeInBottom 1s cubic-bezier(0.14, 1, 0.34, 1) 690ms forwards;
          animation: hamburger-fadeInBottom 1s cubic-bezier(0.14, 1, 0.34, 1) 690ms forwards;
}
@keyframes hamburger-fadeInBottom {
  0% {
    opacity: 0;
    translate: 0 24px;
  }
  100% {
    opacity: 1;
    translate: 0 0;
  }
}
.js-open .hamburger__menu__nav__item:nth-child(24) {
  -webkit-animation: hamburger-fadeInBottom 1s cubic-bezier(0.14, 1, 0.34, 1) 720ms forwards;
          animation: hamburger-fadeInBottom 1s cubic-bezier(0.14, 1, 0.34, 1) 720ms forwards;
}
@keyframes hamburger-fadeInBottom {
  0% {
    opacity: 0;
    translate: 0 24px;
  }
  100% {
    opacity: 1;
    translate: 0 0;
  }
}
.js-open .hamburger__menu__nav__item:nth-child(25) {
  -webkit-animation: hamburger-fadeInBottom 1s cubic-bezier(0.14, 1, 0.34, 1) 750ms forwards;
          animation: hamburger-fadeInBottom 1s cubic-bezier(0.14, 1, 0.34, 1) 750ms forwards;
}
@keyframes hamburger-fadeInBottom {
  0% {
    opacity: 0;
    translate: 0 24px;
  }
  100% {
    opacity: 1;
    translate: 0 0;
  }
}
.js-open .hamburger__menu__nav__item:nth-child(26) {
  -webkit-animation: hamburger-fadeInBottom 1s cubic-bezier(0.14, 1, 0.34, 1) 780ms forwards;
          animation: hamburger-fadeInBottom 1s cubic-bezier(0.14, 1, 0.34, 1) 780ms forwards;
}
@keyframes hamburger-fadeInBottom {
  0% {
    opacity: 0;
    translate: 0 24px;
  }
  100% {
    opacity: 1;
    translate: 0 0;
  }
}
.js-open .hamburger__menu__nav__item:nth-child(27) {
  -webkit-animation: hamburger-fadeInBottom 1s cubic-bezier(0.14, 1, 0.34, 1) 810ms forwards;
          animation: hamburger-fadeInBottom 1s cubic-bezier(0.14, 1, 0.34, 1) 810ms forwards;
}
@keyframes hamburger-fadeInBottom {
  0% {
    opacity: 0;
    translate: 0 24px;
  }
  100% {
    opacity: 1;
    translate: 0 0;
  }
}
.js-open .hamburger__menu__nav__item:nth-child(28) {
  -webkit-animation: hamburger-fadeInBottom 1s cubic-bezier(0.14, 1, 0.34, 1) 840ms forwards;
          animation: hamburger-fadeInBottom 1s cubic-bezier(0.14, 1, 0.34, 1) 840ms forwards;
}
@keyframes hamburger-fadeInBottom {
  0% {
    opacity: 0;
    translate: 0 24px;
  }
  100% {
    opacity: 1;
    translate: 0 0;
  }
}
.js-open .hamburger__menu__nav__item:nth-child(29) {
  -webkit-animation: hamburger-fadeInBottom 1s cubic-bezier(0.14, 1, 0.34, 1) 870ms forwards;
          animation: hamburger-fadeInBottom 1s cubic-bezier(0.14, 1, 0.34, 1) 870ms forwards;
}
@keyframes hamburger-fadeInBottom {
  0% {
    opacity: 0;
    translate: 0 24px;
  }
  100% {
    opacity: 1;
    translate: 0 0;
  }
}
.js-open .hamburger__menu__nav__item:nth-child(30) {
  -webkit-animation: hamburger-fadeInBottom 1s cubic-bezier(0.14, 1, 0.34, 1) 900ms forwards;
          animation: hamburger-fadeInBottom 1s cubic-bezier(0.14, 1, 0.34, 1) 900ms forwards;
}
@keyframes hamburger-fadeInBottom {
  0% {
    opacity: 0;
    translate: 0 24px;
  }
  100% {
    opacity: 1;
    translate: 0 0;
  }
}
.hamburger__menu__nav__item-link {
  position: relative;
  display: block;
  padding: 12px 8px;
  border-bottom: 1px solid #e8e8e8;
}
@media (max-width: 834px) {
  .hamburger__menu__nav__item-link {
    padding: 14px 8px 12px;
  }
}
.hamburger__menu__nav__item-link::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 8px;
  translate: 0 -50%;
  width: 12px;
  aspect-ratio: 1/1;
  -webkit-mask: url(../img/common/icon_arrow_01.png) center center/contain no-repeat;
          mask: url(../img/common/icon_arrow_01.png) center center/contain no-repeat;
  background: #59cdea;
}
.hamburger__menu__nav__item-link::after {
  content: "";
  display: block;
  position: absolute;
  z-index: 1;
  bottom: -1px;
  width: 0;
  left: auto;
  right: 0;
  height: 1px;
  border-bottom: 1px solid #1b66a2;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media (any-hover: hover) {
  .hamburger__menu__nav__item-link:hover {
    opacity: 1;
    color: #1b66a2;
  }
  .hamburger__menu__nav__item-link:hover::after {
    left: 0;
    width: 100%;
  }
}
.hamburger__menu__nav__recruit {
  margin-top: 24px;
  opacity: 0;
  translate: 0 -24px;
}
.hamburger__menu__nav__recruit-link {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-weight: 700;
  letter-spacing: 0.075em;
  line-height: 1.6;
  color: #fff;
  background: url(../img/common/bg_header_recruit.png) center center/contain no-repeat;
  width: 165px;
  aspect-ratio: 165/90;
  margin-inline: auto;
  -webkit-transition: scale 0.3s, -webkit-filter 0.3s;
  transition: scale 0.3s, -webkit-filter 0.3s;
  transition: scale 0.3s, filter 0.3s;
  transition: scale 0.3s, filter 0.3s, -webkit-filter 0.3s;
}
.hamburger__menu__nav__recruit-link::before {
  content: "";
  position: absolute;
  top: -7px;
  left: -7px;
  width: 1.125em;
  aspect-ratio: 1/1;
  background: url(../img/common/icon_search.png) center center/contain no-repeat;
  pointer-events: none;
  -webkit-transition: width 0.3s, top 0.3s, left 0.3s;
  transition: width 0.3s, top 0.3s, left 0.3s;
}
.hamburger__menu__nav__recruit-link::after {
  content: "";
  position: absolute;
  bottom: 11px;
  right: 11px;
  width: 1em;
  aspect-ratio: 16/13;
  background: url(../img/common/icon_arrow_01.png) center center/contain no-repeat;
  pointer-events: none;
  -webkit-transition: width 0.3s, bottom 0.3s, right 0.3s;
  transition: width 0.3s, bottom 0.3s, right 0.3s;
}
@media (max-width: 834px) {
  .hamburger__menu__nav__recruit-link {
    scale: 0.95;
    font-size: 1.5rem;
  }
}
@media (any-hover: hover) {
  .hamburger__menu__nav__recruit-link:hover {
    opacity: 1;
    scale: 0.95;
    -webkit-filter: saturate(1.1);
            filter: saturate(1.1);
  }
}
.hamburger__menu__close {
  position: fixed;
  top: 32px;
  right: 32px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  z-index: 500;
  width: 64px;
  aspect-ratio: 1/1;
  cursor: pointer;
  background: #1b66a2;
  border-radius: 4px;
  -webkit-transition: scale 0.3s, -webkit-filter 0.3s;
  transition: scale 0.3s, -webkit-filter 0.3s;
  transition: scale 0.3s, filter 0.3s;
  transition: scale 0.3s, filter 0.3s, -webkit-filter 0.3s;
}
@media (max-width: 834px) {
  .hamburger__menu__close {
    width: 56px;
  }
}
@media (any-hover: hover) {
  .hamburger__menu__close:hover {
    scale: 0.95;
    -webkit-filter: saturate(1.2);
            filter: saturate(1.2);
  }
}
.hamburger__menu__close__bar {
  width: 18px;
  height: 1px;
  background-color: #fff;
  border-radius: 2px;
  -webkit-transition: rotate 0.3s;
  transition: rotate 0.3s;
}
.hamburger__menu__close__bar:nth-child(1) {
  rotate: 45deg;
}
.hamburger__menu__close__bar:nth-child(2) {
  rotate: -45deg;
  translate: 0px -1px;
}
.hamburger__menu__close__text {
  font-size: 0.85rem;
  color: #fff;
  line-height: 1;
  margin-top: 2px;
  margin-top: 11px;
}
.hamburger__menu__bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 1;
  opacity: 0;
  -webkit-transition: opacity 0.8s ease 0.5s;
  transition: opacity 0.8s ease 0.5s;
}
.js-open .hamburger__menu__bg {
  -webkit-animation: hamburger-fadeIn 0.8s ease 0.6s forwards;
          animation: hamburger-fadeIn 0.8s ease 0.6s forwards;
}
@-webkit-keyframes hamburger-fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 0.05;
  }
}
@keyframes hamburger-fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 0.05;
  }
}
.hamburger__menu__bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (min-width: 835px) {
  .hamburger__buttons {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: clamp(24px, 2.1428571429vw, 30px);
    margin-top: 48px;
  }
}
@media (max-width: 834px) {
  .hamburger__buttons {
    margin-top: 24px;
  }
}

body:has(.hamburger.js-open) {
  overflow: hidden;
}

/*-------------------------------------------------------
form base setting（kyujin.scssと記述被らないように注意）
-------------------------------------------------------*/
body.iPhone select,
body.iPhone input,
body.iPhone textarea {
  font-size: 16px !important;
}

body input,
body button,
body textarea,
body select {
  -moz-appearance: none;
  -ms-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  text-indent: 0.01px;
  line-height: inherit;
  text-overflow: "";
}
body input::-ms-expand,
body button::-ms-expand,
body textarea::-ms-expand,
body select::-ms-expand {
  display: none;
}
body input::-ms-reveal,
body button::-ms-reveal,
body textarea::-ms-reveal,
body select::-ms-reveal {
  visibility: hidden;
}
body input::-ms-clear,
body button::-ms-clear,
body textarea::-ms-clear,
body select::-ms-clear {
  visibility: hidden;
}
body input[type=text],
body input[type=submit],
body input[type=search],
body input[type=button],
body select,
body textarea {
  -moz-transition: all 0.2s;
  -ms-transition: all 0.2s;
  -webkit-transition: all 0.2s;
  border: none;
  outline: none;
  transition: all 0.2s;
}
body input[type=search] {
  cursor: auto;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -webkit-appearance: textfield;
  -webkit-appearance: none;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
body input[type=search]:focus {
  outline-offset: -2px;
}
body input[type=search]::-webkit-search-decoration {
  display: none;
}
body select,
body search,
body input {
  width: 100%;
  display: block;
  overflow: hidden;
  padding: 15px 28px !important;
  text-overflow: ellipsis;
  white-space: nowrap;
  cursor: pointer;
  background: #fff;
}
@media (max-width: 834px) {
  body select,
  body search,
  body input {
    padding: 8px 16px !important;
  }
}
@media (max-width: 834px) {
  body select,
  body input[type=text],
  body input[type=search] {
    font-size: 1.6rem;
  }
}
body select {
  padding-right: 64px !important;
  -webkit-box-shadow: 0 3px 15px rgba(0, 0, 0, 0.05);
          box-shadow: 0 3px 15px rgba(0, 0, 0, 0.05);
}
body input[type=text],
body input[type=search],
body input[type=submit] {
  padding: 11px 24px 9px !important;
  background: #fff;
  border-radius: 100vmax;
}
@media (min-width: 835px) {
  body input[type=text]:hover,
  body input[type=search]:hover,
  body input[type=submit]:hover {
    background: #ffffff;
  }
}
@media (max-width: 834px) {
  body input[type=text],
  body input[type=search],
  body input[type=submit] {
    padding: 11px 16px 9px !important;
  }
}
body input[type=checkbox] {
  display: none;
}
body input[type=checkbox] + label {
  -moz-transition: all 0.2s;
  -ms-transition: all 0.2s;
  -webkit-transition: all 0.2s;
  position: relative;
  cursor: pointer;
  line-height: 1.5;
  padding-left: 22px;
  transition: all 0.2s;
}
@media (max-width: 834px) {
  body input[type=checkbox] + label {
    padding-left: 20px;
  }
}
body input[type=checkbox] + label a:link,
body input[type=checkbox] + label a:visited {
  color: #222;
}
body input[type=checkbox]:checked + label:after {
  -webkit-transform: rotate(40deg);
  transform: rotate(40deg);
  opacity: 1;
}
body input[type=radio] {
  display: none;
}
body input[type=radio] + label {
  -moz-transition: all 0.2s;
  -ms-transition: all 0.2s;
  -webkit-transition: all 0.2s;
  cursor: pointer;
  display: block;
  line-height: 1.5;
  padding: 0 15px 0 1.5em;
  position: relative;
  transition: all 0.2s;
}
body input[type=radio] + label:before, body input[type=radio] + label:after {
  -moz-transition: all 0.2s;
  -ms-transition: all 0.2s;
  -webkit-transition: all 0.2s;
  content: "";
  position: absolute;
  transition: all 0.2s;
}
body input[type=radio] + label:before {
  background: #f2f2f2;
  border: 1px solid #f2f2f2;
  border-radius: 50%;
  height: 13px;
  left: 0;
  top: 3px;
  width: 13px;
  z-index: 0;
}
body input[type=radio] + label:after {
  background: #00a1e9;
  border-radius: 50%;
  height: 7px;
  left: 3px;
  opacity: 0;
  top: 6px;
  width: 7px;
  z-index: 2;
}
body input[type=radio] + label a:link,
body input[type=radio] + label a:visited {
  color: #222;
}
body input[type=radio]:checked + label:after {
  opacity: 1;
}

/*------------------------------------------
	form custom setting（適宜変更ください）
------------------------------------------*/
.custom-form {
  position: relative;
  z-index: 1;
  font-weight: 700;
}
.custom-form .custom-form_parts {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  margin-top: 37px;
}
@media (max-width: 834px) {
  .custom-form .custom-form_parts {
    margin-top: 16px;
  }
}
.custom-form .custom-form_parts.-occupation {
  margin-top: 0;
  background: #fff;
  padding: 38px 5.0526315789% 40px;
}
@media (max-width: 834px) {
  .custom-form .custom-form_parts.-occupation {
    padding: 24px 5%;
  }
}
.custom-form .custom-form_parts.-occupation .parts_ttl {
  color: #031422;
}
.custom-form .custom-form_parts.-freeword {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 511px;
          flex: 0 0 511px;
  -ms-flex: 0 0 clamp(408.8px, 37.8518518519vw, 511px);
      flex: 0 0 clamp(408.8px, 37.8518518519vw, 511px);
}
@media (min-width: 835px) {
  .custom-form .custom-form_parts-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 8px;
  }
}
.custom-form .parts_ttl {
  position: relative;
  font-weight: 700;
  letter-spacing: 0.075em;
  color: #fff;
  line-height: 1.6;
  margin-bottom: 12px;
  padding-left: 0.9375em;
}
@media (max-width: 834px) {
  .custom-form .parts_ttl {
    font-size: 1.5rem;
    margin-bottom: 8px;
  }
}
.custom-form .parts_ttl::before {
  content: "";
  position: absolute;
  top: 0.45em;
  left: 0;
  width: 0.625em;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background: #59cdea;
  pointer-events: none;
}
.custom-form .category_title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 1.4rem;
  color: #59cdea;
  margin-top: 8px;
}
@media (max-width: 834px) {
  .custom-form .category_title {
    margin-top: 4px;
  }
}
.custom-form .category_title::before {
  content: "";
  width: 5px;
  height: 2px;
  margin-top: 2px;
  margin-right: 6px;
  background: #59cdea;
}
.custom-form .category_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 10px;
}
@media (max-width: 834px) {
  .custom-form .category_list {
    gap: 8px;
  }
}
.custom-form .category_list li label {
  display: block;
  padding-left: 24px;
}
@media (max-width: 834px) {
  .custom-form .category_list li label {
    font-size: 1.4rem;
  }
}
.custom-form select,
.custom-form option,
.custom-form .searchWord {
  -webkit-box-shadow: none;
          box-shadow: none;
  background-color: #ffffff;
  border: 1px solid #d7d2d2;
}
.custom-form .searchWord {
  font-weight: 400;
}
.custom-form .pull-down {
  position: relative;
}
.custom-form .pull-down::after {
  content: "";
  width: 8px;
  height: 8px;
  position: absolute;
  right: 28px;
  top: calc(50% - 4px);
  border: 1px solid #59cdea;
  border-top-color: transparent;
  border-right-color: transparent;
  -webkit-transform: rotate(-45deg) translateY(-50%);
          transform: rotate(-45deg) translateY(-50%);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  pointer-events: none;
}
@media (max-width: 834px) {
  .custom-form .pull-down::after {
    right: 20px;
  }
}
.custom-form input[type=checkbox] + label a:link,
.custom-form input[type=checkbox] + label a:visited {
  color: #222;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.custom-form .selCity-box {
  margin-top: 4px;
}
.custom-form .selCity_alert {
  color: #59cdea;
  display: block;
}
@media (max-width: 834px) {
  .custom-form .selCity_alert {
    font-size: 1.4rem;
  }
}
.custom-form input[type=checkbox] {
  display: none;
}
.custom-form input[type=checkbox] + label {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  gap: 14px;
  line-height: 1.5;
  cursor: pointer;
  padding: 14px 16px 14px 20px;
  border: 1px solid #e8e8e8;
  border-radius: 100vmax;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  background: #fff;
}
@media (max-width: 834px) {
  .custom-form input[type=checkbox] + label {
    gap: 8px;
    padding: 13px 15px 12px 18px;
  }
}
.custom-form input[type=checkbox] + label .check {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  position: relative;
  top: 0.25em;
  width: 0.9375em;
  height: 0.9375em;
  display: inline-block;
  background: #dfdddd;
  border-radius: 50%;
}
@media (max-width: 834px) {
  .custom-form input[type=checkbox] + label .check {
    top: 0.3em;
  }
}
.custom-form input[type=checkbox] + label .check::before, .custom-form input[type=checkbox] + label .check::after {
  content: "";
  background: #031422;
  display: block;
  opacity: 0;
  position: absolute;
  z-index: 10;
}
.custom-form input[type=checkbox] + label .check::before {
  width: 6px;
  height: 2px;
  top: 7px;
  left: 3px;
  -webkit-transform: rotate(55deg) scaleX(0);
          transform: rotate(55deg) scaleX(0);
  -webkit-transform-origin: center top;
          transform-origin: center top;
  -webkit-transition: 0.15s;
  transition: 0.15s;
}
.custom-form input[type=checkbox] + label .check::after {
  width: 2px;
  height: 12px;
  top: -2px;
  left: 6px;
  -webkit-transform: rotate(45deg) scaleY(0);
          transform: rotate(45deg) scaleY(0);
  -webkit-transform-origin: center bottom;
          transform-origin: center bottom;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
@media (max-width: 834px) {
  .custom-form input[type=checkbox] + label .check::after {
    height: 11px;
    top: -1px;
    left: 5px;
  }
}
.custom-form input[type=checkbox] + label .text {
  display: block;
  font-size: 1.5rem;
  font-weight: 500;
  letter-spacing: 0.075em;
  line-height: 1.6;
}
@media (max-width: 834px) {
  .custom-form input[type=checkbox] + label .text {
    font-size: 1.4rem;
  }
}
@media (hover: hover) {
  .custom-form input[type=checkbox] + label:hover {
    background-color: #e1f2ff;
  }
}
.custom-form input[type=checkbox]:checked + label {
  background-color: #59cdea;
  border-color: #59cdea;
  color: #fff;
}
.custom-form input[type=checkbox]:checked + label .check {
  background-color: #fdf164;
}
.custom-form input[type=checkbox]:checked + label .check::before, .custom-form input[type=checkbox]:checked + label .check::after {
  opacity: 1;
}
.custom-form input[type=checkbox]:checked + label .check::before {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.custom-form input[type=checkbox]:checked + label .check::after {
  -webkit-transform: rotate(40deg);
          transform: rotate(40deg);
  -webkit-transition-delay: 0.1s;
          transition-delay: 0.1s;
}
.custom-form .custom-form_searth_btn {
  margin-top: 54px;
}
@media (max-width: 834px) {
  .custom-form .custom-form_searth_btn {
    margin-top: 24px;
  }
}
.custom-form .btn_cover {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-weight: 700;
  letter-spacing: 0.075em;
  line-height: 1.6;
  color: #fff;
  background: url(../img/common/bg_header_recruit.png) center center/contain no-repeat;
  width: 165px;
  aspect-ratio: 165/90;
  margin-inline: auto;
  -webkit-transition: width 0.3s, scale 0.3s, -webkit-filter 0.3s;
  transition: width 0.3s, scale 0.3s, -webkit-filter 0.3s;
  transition: width 0.3s, scale 0.3s, filter 0.3s;
  transition: width 0.3s, scale 0.3s, filter 0.3s, -webkit-filter 0.3s;
}
@media (max-width: 834px) {
  .custom-form .btn_cover {
    scale: 0.95;
  }
}
.custom-form .btn_cover::before {
  content: "";
  position: absolute;
  top: -7px;
  left: -7px;
  width: 1.125em;
  aspect-ratio: 1/1;
  background: url(../img/common/icon_search.png) center center/contain no-repeat;
  pointer-events: none;
  -webkit-transition: width 0.3s, top 0.3s, left 0.3s;
  transition: width 0.3s, top 0.3s, left 0.3s;
}
.custom-form .btn_cover::after {
  content: "";
  position: absolute;
  bottom: 11px;
  right: 11px;
  width: 1em;
  aspect-ratio: 16/13;
  background: url(../img/common/icon_arrow_01.png) center center/contain no-repeat;
  pointer-events: none;
  -webkit-transition: width 0.3s, bottom 0.3s, right 0.3s;
  transition: width 0.3s, bottom 0.3s, right 0.3s;
}
@media (min-width: 835px) {
  .custom-form .btn_cover:hover {
    -webkit-filter: saturate(1.1);
            filter: saturate(1.1);
    opacity: 1;
    scale: 0.95;
  }
}
.custom-form .btn_cover input[type=submit] {
  height: 100%;
  background-color: #59cdea;
  color: #fff;
  letter-spacing: 0.1em;
  padding: 1em !important;
}
@media (max-width: 834px) {
  .custom-form .btn_cover input[type=submit] {
    font-size: 1.5rem !important;
  }
}

/* ============================================
// MODULES
// ==========================================*/
/*--------------------
	page-title
--------------------*/
.page-title {
  position: relative;
}
.page-title::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(27, 102, 162, 0.85);
  pointer-events: none;
  z-index: 1;
}
.page-title__bg {
  position: absolute;
  inset: 0;
  opacity: 0.01;
  -webkit-transition: opacity 1s 0.3s;
  transition: opacity 1s 0.3s;
}
.page-title__bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.page-title__inner {
  height: clamp(360px, 33.3333333333vw, 400px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (max-width: 834px) {
  .page-title__inner {
    height: 240px;
  }
}
.page-title__text {
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px;
  margin-top: 144px;
  translate: -24px 0;
  opacity: 0;
  -webkit-transition: translate 1s cubic-bezier(0.14, 1, 0.34, 1), opacity 1s cubic-bezier(0.14, 1, 0.34, 1);
  transition: translate 1s cubic-bezier(0.14, 1, 0.34, 1), opacity 1s cubic-bezier(0.14, 1, 0.34, 1);
}
@media (max-width: 1100px) {
  .page-title__text {
    margin-top: 158px;
  }
}
@media (max-width: 834px) {
  .page-title__text {
    gap: 4px;
    margin-top: 87px;
  }
}
.page-title__eng {
  position: relative;
  font-family: "Cormorant Garamond", serif;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: #fff;
  line-height: 1;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding-left: 1.375em;
}
@media (max-width: 834px) {
  .page-title__eng {
    font-size: 1.4rem;
  }
}
.page-title__eng::before {
  content: "";
  position: absolute;
  top: 0.2em;
  left: 0;
  width: 0.625em;
  aspect-ratio: 1/1;
  background: #fdf164;
  border-radius: 50%;
  pointer-events: none;
}
.page-title__ja {
  font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 4.8rem;
  font-weight: 600;
  letter-spacing: 0.075em;
  color: #fff;
  line-height: 1.5;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media (max-width: 834px) {
  .page-title__ja {
    font-size: 2.8rem;
  }
}

.js-loaded .page-title__bg {
  opacity: 1;
}
.js-loaded .page-title__text {
  translate: 0 0;
  opacity: 1;
}

/*--------------------
	breadcrumb
--------------------*/
.breadcrumb {
  position: relative;
  padding: 16px 24px;
  border-top: 1px solid #e8e8e8;
  border-bottom: 1px solid #e8e8e8;
  background: #fff;
  z-index: 1;
}
@media (max-width: 834px) {
  .breadcrumb {
    padding: 6px 16px 8px;
  }
}
.breadcrumb_list {
  position: relative;
  z-index: 1;
  overflow-x: auto;
  white-space: nowrap;
}
.breadcrumb_list_item {
  display: inline;
  font-size: 1.2rem;
  font-weight: 400;
  color: #acacac;
  line-height: 1;
  margin: 0 2px;
}
@media (max-width: 834px) {
  .breadcrumb_list_item {
    font-size: 1rem;
  }
}
.breadcrumb_list_item::after {
  content: ">";
  margin-left: 7px;
}
.breadcrumb_list_item:last-child::after {
  display: none;
}
.breadcrumb_list_item a {
  color: #acacac;
}

/*--------------------
	common-title
--------------------*/
.common-title__heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 40px;
}
@media (max-width: 834px) {
  .common-title__heading {
    gap: 8px;
  }
}
.common-title__eng {
  position: relative;
  font-family: "Cormorant Garamond", serif;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: #59cdea;
  line-height: 1;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding-left: 1.375em;
}
@media (max-width: 834px) {
  .common-title__eng {
    font-size: 1.4rem;
  }
}
.common-title__eng::before {
  content: "";
  position: absolute;
  top: 0.2em;
  left: 0;
  width: 0.625em;
  aspect-ratio: 1/1;
  background: #fdf164;
  border-radius: 50%;
  pointer-events: none;
}
.common-title__ja {
  font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 4.6rem;
  font-weight: 600;
  letter-spacing: 0.075em;
  line-height: 1.5;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media (max-width: 834px) {
  .common-title__ja {
    font-size: 2.8rem;
  }
}
.common-title.-white .common-title__ja, .common-title.-white .common-title__eng {
  color: #fff;
}

/*--------------------
	common-btn
--------------------*/
.common-btn__body {
  max-width: 315px;
}
@media (max-width: 834px) {
  .common-btn__body {
    max-width: 232px;
  }
}
.common-btn__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 16px;
  min-height: 72px;
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0.075em;
  line-height: 1.6;
  border: 1px solid #e8e8e8;
  background: #fff;
  border-radius: 100vmax;
  padding: 1em 30px 1em 40px;
  -webkit-transition: translate 0.3s, -webkit-box-shadow 0.3s;
  transition: translate 0.3s, -webkit-box-shadow 0.3s;
  transition: translate 0.3s, box-shadow 0.3s;
  transition: translate 0.3s, box-shadow 0.3s, -webkit-box-shadow 0.3s;
}
@media (max-width: 834px) {
  .common-btn__link {
    min-height: 58px;
    gap: 16px;
    font-size: 1.4rem;
    padding: 1em 20px 1em 32px;
  }
}
@media (any-hover: hover) {
  .common-btn__link:hover {
    opacity: 1;
    translate: 0 -4px;
    -webkit-box-shadow: 0 4px 10px rgba(3, 20, 34, 0.05);
            box-shadow: 0 4px 10px rgba(3, 20, 34, 0.05);
  }
}
.common-btn__icon {
  display: block;
  width: 16px;
  aspect-ratio: 16/13;
  background: url(../img/common/icon_arrow_02.png) center center/contain no-repeat;
}
@media (max-width: 834px) {
  .common-btn__icon {
    width: 13px;
  }
}

.common-lower-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column;
          flex-flow: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 14px;
}
@media (max-width: 834px) {
  .common-lower-title {
    gap: 10px;
  }
}
.common-lower-title .eng {
  font-family: "Cormorant Garamond", serif;
  line-height: 1;
  font-size: 8rem;
  font-weight: 500;
  letter-spacing: 0;
}
@media (max-width: 834px) {
  .common-lower-title .eng {
    font-size: clamp(3.8rem, 2.098rem + 3.404vw, 7rem);
  }
}
.common-lower-title .ja {
  font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  line-height: 1.6;
  font-weight: 600;
  font-size: 2rem;
}
@media (max-width: 834px) {
  .common-lower-title .ja {
    font-size: 1.4rem;
  }
}

/* ============================================
// HEADER
// ==========================================*/
.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 100;
  -webkit-transition: -webkit-box-shadow 0.3s;
  transition: -webkit-box-shadow 0.3s;
  transition: box-shadow 0.3s;
  transition: box-shadow 0.3s, -webkit-box-shadow 0.3s;
}
.header__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 34px clamp(40.5px, 3.8571428571vw, 54px) 34px 72px;
  -webkit-transition: padding 0.3s, background 0.3s;
  transition: padding 0.3s, background 0.3s;
}
@media (max-width: 834px) {
  .header__inner {
    padding: 16px;
  }
}
.header__logo-link {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.header__logo-image {
  display: block;
  width: 36px;
  -webkit-filter: brightness(0) invert(1);
          filter: brightness(0) invert(1);
  margin-inline: auto;
  -webkit-transition: max-width 0.3s, width 0.3s, -webkit-filter 0.3s;
  transition: max-width 0.3s, width 0.3s, -webkit-filter 0.3s;
  transition: filter 0.3s, max-width 0.3s, width 0.3s;
  transition: filter 0.3s, max-width 0.3s, width 0.3s, -webkit-filter 0.3s;
}
@media (max-width: 834px) {
  .header__logo-image {
    width: 27px;
    display: inline-block;
  }
}
@media (max-width: 365px) {
  .header__logo-image {
    width: 26px;
  }
}
.header__logo-title {
  display: block;
  font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 2.1rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  color: #fff;
  line-height: 1;
  margin-inline: auto;
  margin-top: 12px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  -webkit-transition: font-size 0.3s, color 0.3s, margin-top 0.3s;
  transition: font-size 0.3s, color 0.3s, margin-top 0.3s;
}
@media (max-width: 834px) {
  .header__logo-title {
    font-size: 1.9rem;
    margin-top: 0;
    margin-left: 3px;
    display: inline-block;
  }
}
@media (max-width: 365px) {
  .header__logo-title {
    font-size: 1.8rem;
  }
}
.header__logo-text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 1.3rem;
  font-weight: 700;
  letter-spacing: 0.075em;
  color: #fff;
  line-height: 1.6;
  padding: 0.513em 2.1em 0.35em 2.5em;
  border: 1px solid #fff;
  margin-top: 12px;
  -webkit-transition: color 0.3s, border-color 0.3s, font-size 0.3s, padding 0.3s, margin-top 0.3s;
  transition: color 0.3s, border-color 0.3s, font-size 0.3s, padding 0.3s, margin-top 0.3s;
}
@media (max-width: 834px) {
  .header__logo-text {
    font-size: 1.1rem;
    margin-top: 8px;
    max-width: -webkit-fit-content;
    max-width: -moz-fit-content;
    max-width: fit-content;
    margin-inline: auto;
  }
}
@media (max-width: 365px) {
  .header__logo-text {
    font-size: 1rem;
  }
}
.header__nav-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 24px;
}
.header__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: clamp(27px, 2.5714285714vw, 36px);
}
.header__nav-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: clamp(18px, 1.7142857143vw, 24px);
}
@media (max-width: 1300px) {
  .header__nav-list {
    display: none;
  }
}
.header__nav-link {
  font-weight: 700;
  letter-spacing: 0.075em;
  line-height: 1.6;
  color: #fff;
}
@media (max-width: 834px) {
  .header__recruit {
    display: none;
  }
}
.header__recruit-link {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-weight: 700;
  letter-spacing: 0.075em;
  line-height: 1.6;
  color: #fff;
  background: url(../img/common/bg_header_recruit.png) center center/contain no-repeat;
  width: 165px;
  aspect-ratio: 165/90;
  -webkit-transition: width 0.3s, scale 0.3s, -webkit-filter 0.3s;
  transition: width 0.3s, scale 0.3s, -webkit-filter 0.3s;
  transition: width 0.3s, scale 0.3s, filter 0.3s;
  transition: width 0.3s, scale 0.3s, filter 0.3s, -webkit-filter 0.3s;
}
.header__recruit-link::before {
  content: "";
  position: absolute;
  top: -7px;
  left: -7px;
  width: 1.125em;
  aspect-ratio: 1/1;
  background: url(../img/common/icon_search.png) center center/contain no-repeat;
  pointer-events: none;
  -webkit-transition: width 0.3s, top 0.3s, left 0.3s;
  transition: width 0.3s, top 0.3s, left 0.3s;
}
.header__recruit-link::after {
  content: "";
  position: absolute;
  bottom: 11px;
  right: 11px;
  width: 1em;
  aspect-ratio: 16/13;
  background: url(../img/common/icon_arrow_01.png) center center/contain no-repeat;
  pointer-events: none;
  -webkit-transition: width 0.3s, bottom 0.3s, right 0.3s;
  transition: width 0.3s, bottom 0.3s, right 0.3s;
}
@media (any-hover: hover) {
  .header__recruit-link:hover {
    opacity: 1;
    scale: 0.95;
    -webkit-filter: saturate(1.1);
            filter: saturate(1.1);
  }
}

.js-scrolled .header {
  -webkit-box-shadow: 62px 8px 32px 0px rgba(0, 0, 0, 0.05);
          box-shadow: 62px 8px 32px 0px rgba(0, 0, 0, 0.05);
}
.js-scrolled .header__inner {
  background: rgba(255, 255, 255, 0.85);
  padding: 12px 24px 12px 56px;
}
@media (max-width: 834px) {
  .js-scrolled .header__inner {
    padding: 10px 5%;
  }
}
.js-scrolled .header__logo-image {
  max-width: 34.2px;
  -webkit-filter: brightness(1) invert(0);
          filter: brightness(1) invert(0);
}
@media (max-width: 834px) {
  .js-scrolled .header__logo-image {
    width: 24px;
  }
}
.js-scrolled .header__logo-title {
  font-size: 1.9rem;
  color: #231f20;
  margin-top: 8px;
}
@media (max-width: 834px) {
  .js-scrolled .header__logo-title {
    font-size: 1.8rem;
    margin-left: 2px;
  }
}
.js-scrolled .header__logo-text {
  font-size: 1.1rem;
  color: #1b66a2;
  border-color: #1b66a2;
  margin-top: 10px;
}
@media (max-width: 834px) {
  .js-scrolled .header__logo-text {
    font-size: 1.1rem;
    margin-top: 6px;
  }
}
.js-scrolled .header__nav-link {
  color: #031422;
}
@media (any-hover: hover) {
  .js-scrolled .header__nav-link:hover {
    opacity: 1;
    color: #1b66a2;
  }
}
.js-scrolled .header__recruit-link {
  width: 140.25px;
}
.js-scrolled .header__recruit-link::before {
  top: -5px;
  left: -5px;
  width: 0.95625em;
}
.js-scrolled .header__recruit-link::after {
  bottom: 9px;
  right: 9px;
  width: 0.85em;
}

@media (max-width: 834px) {
  .front-page .header__inner {
    padding: 16px 16px 16px 32px;
  }
}
.front-page .header__nav-link {
  color: #031422;
}
@media (any-hover: hover) {
  .front-page .header__nav-link:hover {
    opacity: 1;
    color: #1b66a2;
  }
}

/* ============================================
// FOOTER
// ==========================================*/
.footer {
  position: relative;
  background: #1b66a2;
  z-index: 1;
}
.footer__inner {
  padding-top: 160px;
  padding-bottom: 140px;
}
@media (max-width: 834px) {
  .footer__inner {
    padding-top: 40px;
    padding-bottom: 88px;
  }
}
@media (min-width: 835px) {
  .footer__contents {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: clamp(50px, 5.5555555556vw, 80px);
  }
}
@media (min-width: 835px) {
  .footer__left {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 240px;
            flex: 0 0 240px;
  }
}
@media (min-width: 835px) {
  .footer__right {
    overflow: hidden;
  }
}
.footer__logo-link {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.footer__logo-image {
  display: block;
  width: 36px;
  -webkit-filter: brightness(0) invert(1);
          filter: brightness(0) invert(1);
  margin-inline: auto;
  -webkit-transition: max-width 0.3s, -webkit-filter 0.3s;
  transition: max-width 0.3s, -webkit-filter 0.3s;
  transition: filter 0.3s, max-width 0.3s;
  transition: filter 0.3s, max-width 0.3s, -webkit-filter 0.3s;
}
@media (max-width: 834px) {
  .footer__logo-image {
    width: 34px;
  }
}
.footer__logo-title {
  display: block;
  font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 2.1rem;
  font-weight: 600;
  letter-spacing: 0.075em;
  color: #fff;
  line-height: 1;
  margin-inline: auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-top: 12px;
}
@media (max-width: 834px) {
  .footer__logo-title {
    font-size: 1.9rem;
    margin-top: 11px;
  }
}
.footer__logo-text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 1.3rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: #fff;
  line-height: 1.6;
  padding: 0.513em 2.1em 0.35em 2.5em;
  border: 1px solid #fff;
  margin-top: 12px;
  -webkit-transition: color 0.3s, border-color 0.3s, font-size 0.3s, padding 0.3s, margin-top 0.3s;
  transition: color 0.3s, border-color 0.3s, font-size 0.3s, padding 0.3s, margin-top 0.3s;
}
@media (max-width: 834px) {
  .footer__logo-text {
    font-size: 1.1rem;
  }
}
.footer__nav {
  margin-top: 72px;
}
@media (max-width: 834px) {
  .footer__nav {
    margin-top: 24px;
  }
}
@media (max-width: 834px) {
  .footer__nav-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 10px 16px;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
@media (min-width: 835px) {
  .footer__nav-item {
    margin-top: 16px;
  }
  .footer__nav-item:first-child {
    margin-top: 0;
  }
}
.footer__nav-link {
  font-weight: 700;
  letter-spacing: 0.075em;
  color: #fff;
  line-height: 1.6;
}
@media (max-width: 834px) {
  .footer__right {
    margin-top: 24px;
  }
}
.footer__info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 17px;
}
@media (max-width: 834px) {
  .footer__info {
    gap: 8px;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
.footer__site {
  position: relative;
  background: #fff;
  width: clamp(280px, 26.9230769231vw, 350px);
}
@media (min-width: 835px) {
  .footer__site {
    aspect-ratio: 350/212;
  }
}
@media (max-width: 834px) {
  .footer__site {
    width: clamp(217px, 33.5731414868vw, 280px);
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
    min-height: 121px;
  }
}
.footer__site::before {
  content: "";
  position: absolute;
  top: clamp(12px, 1.1538461538vw, 15px);
  right: clamp(11.2px, 1.0769230769vw, 14px);
  width: clamp(11.2px, 1.0769230769vw, 14px);
  aspect-ratio: 1/1;
  background: url(../img/common/icon_external.png) center center/contain no-repeat;
  pointer-events: none;
}
@media (max-width: 834px) {
  .footer__site::before {
    width: 10px;
    top: 8px;
    right: 8px;
  }
}
.footer__site-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 100%;
}
.footer__site-text {
  position: relative;
  font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: clamp(1.8rem, 1.5384615385vw, 2rem);
  font-weight: 600;
  letter-spacing: 0.075em;
  line-height: 1.8;
  text-align: center;
}
@media (max-width: 834px) {
  .footer__site-text {
    font-size: 1.6rem;
  }
}
.footer__site-text::before {
  content: "";
  position: absolute;
  top: 50%;
  left: calc(-1 * clamp(51.2px, 4.9230769231vw, 64px));
  translate: 0 -50%;
  width: clamp(80px, 7.6923076923vw, 100px);
  aspect-ratio: 100/117;
  background: url(../img/common/deco_footer_site.png) center center/contain no-repeat;
  pointer-events: none;
}
@media (max-width: 834px) {
  .footer__site-text::before {
    width: 64px;
    left: calc(-1 * clamp(40px, 5.9952038369vw, 50px));
  }
}
.footer__contact {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: #fff;
  width: clamp(336.8px, 32.3846153846vw, 421px);
  padding: 24px;
}
@media (min-width: 835px) {
  .footer__contact {
    aspect-ratio: 421/212;
  }
}
@media (max-width: 834px) {
  .footer__contact {
    width: clamp(320px, 30.7692307692vw, 400px);
    padding: 24px 16px;
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
  }
}
.footer__contact-title {
  font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: clamp(2rem, 1.6923076923vw, 2.2rem);
  font-weight: 600;
  letter-spacing: 0.075em;
  line-height: 1.6;
}
@media (max-width: 834px) {
  .footer__contact-title {
    font-size: 1.8rem;
  }
}
.footer__contact-detail {
  font-size: clamp(1.3rem, 1.1538461538vw, 1.5rem);
  font-weight: 500;
  letter-spacing: 0.075em;
  line-height: 1.6;
  margin-top: clamp(11.2px, 1.0769230769vw, 14px);
}
@media (max-width: 834px) {
  .footer__contact-detail {
    margin-top: 8px;
  }
}
.footer__contact-small {
  font-size: clamp(1.2rem, 1.0769230769vw, 1.4rem);
}
.footer__search {
  margin-top: 64px;
}
@media (max-width: 834px) {
  .footer__search {
    margin-top: 32px;
  }
}
.footer__search-block {
  margin-top: 29px;
}
@media (max-width: 834px) {
  .footer__search-block {
    margin-top: 16px;
  }
}
.footer__search-block:nth-child(1 of .footer__search-block) {
  margin-top: 0;
}
.footer__search-head {
  position: relative;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.075em;
  color: #fff;
  line-height: 1.6;
  border-bottom: 1px solid currentColor;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding-bottom: 2px;
}
@media (max-width: 834px) {
  .footer__search-head {
    font-size: 1.5rem;
    padding-bottom: 1px;
  }
}
.footer__search-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 8px 20px;
  margin-top: 24px;
}
@media (max-width: 834px) {
  .footer__search-list {
    margin-top: 8px;
    gap: 10px 16px;
  }
}
.footer__search-link {
  position: relative;
  display: block;
  font-size: 1.5rem;
  letter-spacing: 0.075em;
  color: #ccc;
  line-height: 1.6;
}
@media (max-width: 834px) {
  .footer__search-link {
    font-size: 1.4rem;
  }
}
.footer__search-link::before {
  content: "";
  display: block;
  position: absolute;
  z-index: 1;
  bottom: 0;
  height: 1px;
  border-bottom: 1px solid currentColor;
  width: 0;
  left: auto;
  right: 0;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media (any-hover: hover) {
  .footer__search-link:hover {
    opacity: 1;
    color: #fff;
  }
  .footer__search-link:hover::before {
    width: 100%;
    left: 0;
    right: auto;
  }
}
.footer__copyright-contents {
  background: #031422;
}
@media (min-width: 835px) {
  .footer__copyright-contents {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding: 12px 34px 12px 88px;
  }
}
@media (max-width: 834px) {
  .footer__copyright-contents {
    padding: 8px;
    text-align: center;
  }
}
.footer__analytics-link {
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: 0.075em;
  color: #fff;
  line-height: 1.6;
}
.footer__copyright {
  font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 1.2rem;
  font-weight: 300;
  letter-spacing: 0.075em;
  color: #fff;
  line-height: 1.6;
  padding-top: 3px;
}

/* ============================================
// PAGETOP
// ==========================================*/
.pagetop {
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  top: 0;
  right: 30px;
  bottom: 56px;
  z-index: 50;
  opacity: 0;
  -webkit-transform: translateY(16px);
          transform: translateY(16px);
  pointer-events: none;
  -webkit-transition: opacity 0.3s, -webkit-transform 0.3s;
  transition: opacity 0.3s, -webkit-transform 0.3s;
  transition: opacity 0.3s, transform 0.3s;
  transition: opacity 0.3s, transform 0.3s, -webkit-transform 0.3s;
}
@media (max-width: 834px) {
  .pagetop {
    right: 8px;
    bottom: 66px;
  }
}
.pagetop__scroll {
  position: sticky;
  bottom: 0;
  right: 0;
  margin-top: auto;
  padding-bottom: 39px;
  pointer-events: auto;
}
@media (max-width: 834px) {
  .pagetop__scroll {
    padding-bottom: 16px;
  }
}
.pagetop__link {
  display: block;
  width: 100px;
  aspect-ratio: 1/1;
  pointer-events: none;
}
@media (max-width: 834px) {
  .pagetop__link {
    width: 60px;
  }
}

.js-scrolled .pagetop {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.js-scrolled .pagetop__link {
  pointer-events: auto;
  -webkit-transition: scale 0.3s;
  transition: scale 0.3s;
}
@media (any-hover: hover) {
  .js-scrolled .pagetop__link:hover {
    opacity: 1;
    scale: 0.95;
  }
}

/* ============================================
// 採用情報
// ==========================================*/
.footer-recruit {
  position: relative;
}
body.front-page .footer-recruit::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 853px;
  aspect-ratio: 853/688;
  background: url(../img/common/deco_footer_recruit_03.png) center bottom/contain no-repeat;
  pointer-events: none;
}
body.front-page .footer-recruit__inner {
  padding-top: 0;
}

.footer-recruit__inner {
  padding-top: 110px;
}
@media (max-width: 834px) {
  .footer-recruit__inner {
    padding-top: 50px;
  }
}
.footer-recruit__contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 9.6666666667%;
}
@media (max-width: 834px) {
  .footer-recruit__contents {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
.footer-recruit__image-block {
  position: relative;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 54.7%;
          flex: 0 0 54.7%;
}
@media (max-width: 834px) {
  .footer-recruit__image-block {
    margin-top: 40px;
  }
}
.footer-recruit__image-block::before {
  content: "";
  position: absolute;
  bottom: -104px;
  left: -160px;
  width: 373px;
  aspect-ratio: 373/404;
  background: url(../img/common/deco_footer_recruit_01.png) center center/contain no-repeat;
  pointer-events: none;
  z-index: -2;
}
.footer-recruit__image-block::after {
  content: "";
  position: absolute;
  bottom: -14px;
  right: -172px;
  width: 404px;
  aspect-ratio: 1/1;
  background: url(../img/common/deco_footer_recruit_02.png) center center/contain no-repeat;
  pointer-events: none;
  z-index: -2;
}
.footer-recruit__image-bg {
  position: absolute;
  inset: -18px 0 0 -75px;
  pointer-events: none;
  z-index: -1;
  translate: -16px 0;
  opacity: 0.01;
  -webkit-transition: translate 2s cubic-bezier(0.14, 1, 0.34, 1) 0.3s, opacity 2s cubic-bezier(0.14, 1, 0.34, 1) 0.3s;
  transition: translate 2s cubic-bezier(0.14, 1, 0.34, 1) 0.3s, opacity 2s cubic-bezier(0.14, 1, 0.34, 1) 0.3s;
}
@media (max-width: 834px) {
  .footer-recruit__image-bg {
    inset: -8px 0 0 -24px;
  }
}
.footer-recruit__image-bg.js-active {
  translate: 0 0;
  opacity: 1;
}
.footer-recruit__text-block {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
}
.footer-recruit__image-photo {
  margin-bottom: -2px;
}
@media (min-width: 835px) {
  .footer-recruit__image-photo {
    padding-left: clamp(22.4px, 2.1538461538vw, 28px);
    padding-top: 20px;
  }
}
@media (max-width: 834px) {
  .footer-recruit__image-photo {
    width: 88%;
    margin-inline: auto;
    text-align: center;
  }
}
.footer-recruit .common-title__heading {
  gap: 60px;
}
@media (max-width: 834px) {
  .footer-recruit .common-title__heading {
    gap: 32px;
  }
}
.footer-recruit .common-title__image {
  max-width: 378px;
}
@media (max-width: 834px) {
  .footer-recruit .common-title__image {
    margin-right: 15%;
  }
}
.footer-recruit__button {
  margin-top: 124px;
  margin-left: 20px;
}
@media (max-width: 834px) {
  .footer-recruit__button {
    margin-top: 32px;
    margin-left: 0;
  }
}
.footer-recruit__button-link {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0.075em;
  line-height: 1.6;
  color: #fff;
  background: url(../img/common/bg_footer_recruit_btn.png) center center/contain no-repeat;
  max-width: 330px;
  aspect-ratio: 330/90;
  padding-top: 6px;
  -webkit-transition: width 0.3s, scale 0.3s;
  transition: width 0.3s, scale 0.3s;
}
@media (max-width: 834px) {
  .footer-recruit__button-link {
    scale: 0.9;
  }
}
.footer-recruit__button-link::before {
  content: "";
  position: absolute;
  top: -7px;
  left: -7px;
  width: 1.125em;
  aspect-ratio: 1/1;
  background: url(../img/common/icon_search.png) center center/contain no-repeat;
  pointer-events: none;
  -webkit-transition: width 0.3s, top 0.3s, left 0.3s;
  transition: width 0.3s, top 0.3s, left 0.3s;
}
.footer-recruit__button-link::after {
  content: "";
  position: absolute;
  bottom: 11px;
  right: 11px;
  width: 1em;
  aspect-ratio: 16/13;
  background: url(../img/common/icon_arrow_01.png) center center/contain no-repeat;
  pointer-events: none;
  -webkit-transition: width 0.3s, bottom 0.3s, right 0.3s;
  transition: width 0.3s, bottom 0.3s, right 0.3s;
}
@media (any-hover: hover) {
  .footer-recruit__button-link:hover {
    opacity: 1;
    scale: 0.95;
  }
}

/* ============================================
// INDEX
// ==========================================*/
.front-page .main {
  padding-top: 0;
  padding-bottom: 160px;
}
@media (max-width: 834px) {
  .front-page .main {
    padding-bottom: 56px;
  }
}
.front-page .hero {
  position: relative;
  min-height: clamp(689.68px, 66.5714285714vw, 932px);
  overflow: hidden;
}
@media (max-width: 834px) {
  .front-page .hero {
    min-height: 440px;
  }
}
.front-page .hero__bg {
  position: absolute;
  inset: 0;
}
.front-page .hero__bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.front-page .hero__deco-shape-01 {
  position: absolute;
  top: 0;
  left: 0;
  max-width: clamp(461.72px, 36.6153846154vw, 476px);
  z-index: 2;
}
@media (max-width: 834px) {
  .front-page .hero__deco-shape-01 {
    top: -51px;
    max-width: 384px;
  }
}
.front-page .hero__deco-shape-02 {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  opacity: 0.01;
  clip-path: circle(0% at 0 0);
  -webkit-transition: opacity 4s cubic-bezier(0.14, 1, 0.34, 1) 0.3s, clip-path 2s cubic-bezier(0.14, 1, 0.34, 1) 0.3s;
  transition: opacity 4s cubic-bezier(0.14, 1, 0.34, 1) 0.3s, clip-path 2s cubic-bezier(0.14, 1, 0.34, 1) 0.3s;
}
.front-page .hero__deco-shape-02 img {
  width: 100%;
}
.front-page .hero__sunlight-02 {
  position: absolute;
  max-width: clamp(548.8px, 49vw, 686px);
  bottom: 0;
  left: clamp(126px, 10.9375vw, 210px);
  z-index: 2;
  mix-blend-mode: screen;
  rotate: 45deg;
  opacity: 0.01;
  -webkit-transition: rotate 1s cubic-bezier(0.14, 1, 0.34, 1) 1.8s, opacity 1s cubic-bezier(0.14, 1, 0.34, 1) 1.8s;
  transition: rotate 1s cubic-bezier(0.14, 1, 0.34, 1) 1.8s, opacity 1s cubic-bezier(0.14, 1, 0.34, 1) 1.8s;
}
@media (max-width: 1600px) {
  .front-page .hero__sunlight-02 {
    left: 100px;
    bottom: 0;
  }
}
@media (max-width: 834px) {
  .front-page .hero__sunlight-02 {
    left: 0;
    bottom: 0px;
    max-width: 300px;
  }
}
@media (max-width: 834px) {
  .front-page .hero__sunlight-02 {
    right: 70px;
    max-width: 200px;
  }
}
@media (min-width: 835px) {
  .front-page .hero__contents {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-flow: row-reverse;
            flex-flow: row-reverse;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    gap: 0 clamp(51.8px, 4.8611111111vw, 70px);
    min-height: clamp(689.68px, 66.5714285714vw, 932px);
  }
}
@media (max-width: 834px) {
  .front-page .hero__contents {
    width: auto;
    min-height: 440px;
  }
}
@media (max-width: 600px) {
  .front-page .hero__contents {
    min-height: 240px;
  }
}
.front-page .hero__text-block {
  position: relative;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  margin-bottom: clamp(224px, 22.2222222222vw, 320px);
}
@media (max-width: 1200px) {
  .front-page .hero__text-block {
    margin-bottom: clamp(195.5px, 19.1666666667vw, 230px);
  }
}
@media (max-width: 834px) {
  .front-page .hero__text-block {
    margin-bottom: 120px;
  }
}
@media (max-width: 834px) {
  .front-page .hero__text-block {
    margin-bottom: 0;
    margin-top: 168px;
    margin-inline: auto;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    padding-inline: 1%;
  }
}
.front-page .hero__sunlight-01 {
  position: absolute;
  top: calc(-1 * clamp(235.2px, 21vw, 294px));
  left: -254px;
  max-width: clamp(628.8px, 56.1428571429vw, 786px);
  opacity: 0.01;
  -webkit-transition: opacity 1s cubic-bezier(0.14, 1, 0.34, 1) 0.3s;
  transition: opacity 1s cubic-bezier(0.14, 1, 0.34, 1) 0.3s;
}
@media (max-width: 834px) {
  .front-page .hero__sunlight-01 {
    top: -80px;
    left: -70px;
    max-width: 200px;
  }
}
.front-page .hero__title {
  position: relative;
  z-index: 1;
  opacity: 0.01;
  clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
  -webkit-transition: clip-path 2s cubic-bezier(0.14, 1, 0.34, 1) 0.6s, opacity 2s cubic-bezier(0.14, 1, 0.34, 1) 0.6s;
  transition: clip-path 2s cubic-bezier(0.14, 1, 0.34, 1) 0.6s, opacity 2s cubic-bezier(0.14, 1, 0.34, 1) 0.6s;
}
@media (min-width: 835px) {
  .front-page .hero__title {
    max-width: clamp(398.86px, 39.0579710145vw, 539px);
  }
}
@media (max-width: 834px) {
  .front-page .hero__title {
    margin-left: 0;
    width: 85%;
    max-width: 400px;
  }
}
.front-page .hero__site {
  position: relative;
  z-index: 1;
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(1.4rem, 1.1594202899vw, 1.6rem);
  font-weight: 700;
  letter-spacing: 0.12em;
  color: #3b4336;
  line-height: 1.6;
  margin-top: clamp(41.6px, 3.7142857143vw, 52px);
  margin-left: 6px;
  opacity: 0.01;
  -webkit-transition: opacity 3s cubic-bezier(0.14, 1, 0.34, 1) 2.6s;
  transition: opacity 3s cubic-bezier(0.14, 1, 0.34, 1) 2.6s;
}
@media (max-width: 834px) {
  .front-page .hero__site {
    font-size: 1.1rem;
    margin-top: 16px;
    margin-left: 2px;
  }
}
.front-page .hero__image-block {
  position: relative;
}
@media (min-width: 835px) {
  .front-page .hero__image-block {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 clamp(273.7px, 27.1527777778vw, 391px);
            flex: 0 0 clamp(273.7px, 27.1527777778vw, 391px);
    margin-left: 70px;
  }
}
@media (max-width: 834px) {
  .front-page .hero__image-block {
    width: 42%;
    min-width: 132px;
    margin-inline: auto;
    margin-top: 12px;
  }
}
.front-page .hero__deco-shape-03 {
  position: absolute;
  top: -40px;
  left: -215px;
  width: clamp(631.96px, 61.884057971vw, 854px);
  aspect-ratio: 854/717;
  translate: 24px 0;
  opacity: 0.01;
  -webkit-transition: translate 2s cubic-bezier(0.14, 1, 0.34, 1) 2.3s, opacity 2s cubic-bezier(0.14, 1, 0.34, 1) 2.3s;
  transition: translate 2s cubic-bezier(0.14, 1, 0.34, 1) 2.3s, opacity 2s cubic-bezier(0.14, 1, 0.34, 1) 2.3s;
}
@media (max-width: 834px) {
  .front-page .hero__deco-shape-03 {
    inset: 16px -80px 0 -48px;
    width: auto;
  }
}
.front-page .hero__image {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  z-index: 1;
  max-width: 391px;
  aspect-ratio: 391/745;
  opacity: 0.01;
  translate: 24px 0;
  -webkit-transition: opacity 1s cubic-bezier(0.14, 1, 0.34, 1) 2.1s, translate 1s cubic-bezier(0.14, 1, 0.34, 1) 2.1s;
  transition: opacity 1s cubic-bezier(0.14, 1, 0.34, 1) 2.1s, translate 1s cubic-bezier(0.14, 1, 0.34, 1) 2.1s;
}
.front-page .hero__sunlight-03 {
  position: absolute;
  max-width: clamp(323.2px, 28.8571428571vw, 404px);
  bottom: 0;
  left: calc(-1 * clamp(160px, 14.2857142857vw, 200px));
  z-index: 2;
}
@media (max-width: 834px) {
  .front-page .hero__sunlight-03 {
    left: -50px;
    max-width: 152px;
  }
}
@media (max-width: 600px) {
  .front-page .hero__sunlight-03 {
    max-width: 112px;
  }
}
.front-page.js-loaded .hero__deco-shape-02 {
  clip-path: circle(150% at 0 0);
  opacity: 0.5;
}
.front-page.js-loaded .hero__sunlight-02 {
  rotate: 0deg;
  opacity: 1;
}
.front-page.js-loaded .hero__sunlight-01 {
  opacity: 1;
}
.front-page.js-loaded .hero__title {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  opacity: 1;
}
.front-page.js-loaded .hero__site {
  opacity: 1;
}
.front-page.js-loaded .hero__deco-shape-03 {
  translate: 0 0;
  opacity: 1;
}
.front-page.js-loaded .hero__image {
  opacity: 1;
  translate: 0 0;
}
.front-page .charm__inner {
  max-width: 1440px;
  padding-top: 160px;
  padding-left: clamp(60px, 8.3333333333vw, 120px);
  padding-right: 0;
}
@media (max-width: 834px) {
  .front-page .charm__inner {
    padding-top: 40px;
    padding-inline: 6.25%;
  }
}
@media (min-width: 835px) {
  .front-page .charm__contents {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-flow: row-reverse;
            flex-flow: row-reverse;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 8.3333333333vw;
  }
}
.front-page .charm__illust-block {
  margin-inline: auto;
}
@media (min-width: 835px) {
  .front-page .charm__illust-block {
    max-width: 539px;
    margin-left: -20px;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 44.9166666667%;
            flex: 0 0 44.9166666667%;
  }
}
@media (max-width: 834px) {
  .front-page .charm__illust-block {
    max-width: 440px;
  }
}
.front-page .charm__image-block {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 clamp(320px, 44.4444444444vw, 640px);
          flex: 0 0 clamp(320px, 44.4444444444vw, 640px);
  overflow: hidden;
}
@media (max-width: 834px) {
  .front-page .charm__image-block {
    max-width: 640px;
    margin-bottom: 24px;
    margin-inline: auto;
  }
}
.front-page .charm__image-block .slide__item {
  aspect-ratio: 640/480;
}
.front-page .charm__image-block .swiper-pagination {
  position: relative;
  z-index: 1;
  inset: 0;
  text-align: start;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 8px 10px;
}
@media (min-width: 835px) {
  .front-page .charm__image-block .swiper-pagination {
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    margin-left: auto;
    margin-top: 32px;
    padding-right: 32px;
  }
}
@media (max-width: 834px) {
  .front-page .charm__image-block .swiper-pagination {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 6px 8px;
    margin-top: -20px;
  }
}
.front-page .charm__image-block .swiper-pagination-bullet {
  margin: 0;
  padding-bottom: 2px;
  background: #fff;
  border: 1px solid #59cdea;
  border-radius: 100vmax;
  width: 74px;
  height: 46px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-family: "Cormorant Garamond", serif;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: #59cdea;
  line-height: 1;
  opacity: 1;
  -webkit-transition: background 0.3s, color 0.3s, translate 0.3s;
  transition: background 0.3s, color 0.3s, translate 0.3s;
}
@media (max-width: 834px) {
  .front-page .charm__image-block .swiper-pagination-bullet {
    width: 64px;
    height: 40px;
  }
}
@media (any-hover: hover) {
  .front-page .charm__image-block .swiper-pagination-bullet:hover {
    translate: 0 -4px;
  }
}
.front-page .charm__image-block .swiper-pagination-bullet-active {
  background: #59cdea;
  color: #fff;
}
.front-page .charm__text-block {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
}
.front-page .charm__heading {
  max-width: 323px;
}
@media (max-width: 834px) {
  .front-page .charm__heading {
    max-width: 226.1px;
  }
}
.front-page .charm__text {
  margin-top: 60px;
  line-height: 1.8;
}
@media (max-width: 834px) {
  .front-page .charm__text {
    margin-top: 24px;
  }
}
.front-page .charm .common-btn {
  margin-top: 60px;
}
@media (max-width: 834px) {
  .front-page .charm .common-btn {
    margin-top: 24px;
  }
}
.front-page .charm-image {
  position: relative;
  z-index: 3;
}
.front-page .charm-image__inner {
  max-width: 1250px;
  margin: 0 auto;
  padding-top: 140px;
  padding-bottom: 160px;
  padding-right: 50px;
}
@media (max-width: 834px) {
  .front-page .charm-image__inner {
    padding-top: 48px;
    padding-bottom: 0;
    padding-right: 0;
  }
}
.front-page .charm-image__contents {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media (max-width: 834px) {
  .front-page .charm-image__contents {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-flow: column;
            flex-flow: column;
    gap: 20px;
  }
}
.front-page .charm-image__contents .charm-image__photo-wrapper {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 clamp(612px, 53.125vw, 765px);
          flex: 0 0 clamp(612px, 53.125vw, 765px);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}
@media (max-width: 834px) {
  .front-page .charm-image__contents .charm-image__photo-wrapper {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    gap: 8px;
  }
}
.front-page .charm-image__contents .charm-image__photo-wrapper .charm-image__photo {
  height: 100%;
  overflow: hidden;
}
.front-page .charm-image__contents .charm-image__photo-wrapper .charm-image__photo:nth-child(1) {
  aspect-ratio: 374/560;
  grid-column: 1;
  grid-row: 1/span 2;
}
.front-page .charm-image__contents .charm-image__photo-wrapper .charm-image__photo:nth-child(2) {
  aspect-ratio: 375/271;
  grid-column: 2;
  grid-row: 1;
}
.front-page .charm-image__contents .charm-image__photo-wrapper .charm-image__photo:nth-child(3) {
  aspect-ratio: 375/271;
  grid-column: 2;
  grid-row: 2;
}
.front-page .charm-image__contents .charm-image__deco {
  max-width: 435px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column;
          flex-flow: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  margin-left: -2px;
}
@media (max-width: 834px) {
  .front-page .charm-image__contents .charm-image__deco {
    display: none;
  }
}
.front-page .charm-image__text-wrapper {
  position: absolute;
  z-index: -1;
  inset: 50% 0 auto 0;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  translate: 0 -100%;
}
@media (max-width: 834px) {
  .front-page .charm-image__text-wrapper {
    display: none;
  }
}
.front-page .charm-image__text-wrapper .charm-image__text {
  -webkit-animation: infinity-scroll 60s linear infinite both;
          animation: infinity-scroll 60s linear infinite both;
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(10.22rem, 10.1388888889vw, 14.6rem);
  font-weight: 500;
  letter-spacing: 0;
  color: rgba(27, 102, 162, 0.1);
  line-height: 1;
}
@media (max-width: 834px) {
  .front-page .charm-image__text-wrapper .charm-image__text {
    font-size: 8rem;
  }
}
.front-page .charm-image__text-wrapper .charm-image__text span {
  display: block;
  margin-right: 24px;
}
.front-page .jobs {
  position: relative;
  z-index: 2;
  margin-top: 140px;
}
@media (max-width: 834px) {
  .front-page .jobs {
    margin-top: 48px;
  }
}
.front-page .jobs__inner {
  max-width: 1280px;
  padding-inline: 40px;
}
@media (max-width: 834px) {
  .front-page .jobs__inner {
    padding-inline: 6.25%;
  }
}
.front-page .jobs__contents {
  position: relative;
  background: #1b66a2;
  padding: 116px 10.4166666667% 119px;
}
@media (max-width: 834px) {
  .front-page .jobs__contents {
    padding: 40px 7% 32px;
    margin-inline: -4%;
  }
}
.front-page .jobs__contents::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url(../img/index/bg_jobs.png) center right/cover no-repeat;
  pointer-events: none;
}
.front-page .jobs .common-title__ja {
  font-size: 4rem;
}
@media (max-width: 834px) {
  .front-page .jobs .common-title__ja {
    font-size: 2.8rem;
  }
}
.front-page .jobs__body {
  margin-top: 23px;
}
.front-page .sec-image {
  position: relative;
  margin-top: -170px;
}
@media (max-width: 834px) {
  .front-page .sec-image {
    margin-top: -136px;
  }
}
.front-page .sec-image::before {
  content: "";
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 100%;
  aspect-ratio: 1440/88;
  background: url(../img/index/shape_sec-image.png) center bottom/cover no-repeat;
  pointer-events: none;
  z-index: 3;
}
@media (max-width: 834px) {
  .front-page .sec-image::before {
    background-position: right -16px bottom;
    height: 44px;
  }
}
.front-page .sec-image__bg {
  position: absolute;
  inset: 0;
  background: #201917;
}
.front-page .sec-image__bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  opacity: 0.6;
}
.front-page .sec-image__character {
  position: absolute;
  bottom: -69px;
  right: clamp(112px, 8.5416666667vw, 164px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 14px;
  z-index: 3;
}
@media (max-width: 1500px) {
  .front-page .sec-image__character {
    right: clamp(78.4px, 7.7777777778vw, 112px);
  }
}
@media (max-width: 834px) {
  .front-page .sec-image__character {
    bottom: -55px;
    right: 33px;
    gap: 10px;
  }
}
.front-page .sec-image__character-image {
  max-width: clamp(81.9px, 7.2916666667vw, 105px);
}
@media (max-width: 834px) {
  .front-page .sec-image__character-image {
    max-width: 65.52px;
  }
}
.front-page .sec-image__character-role {
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: 0.075em;
  line-height: 1.6;
}
.front-page .sec-image__character-name {
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0.075em;
  line-height: 1.6;
  margin-left: auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.front-page .sec-image__contents {
  min-height: 700px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (max-width: 834px) {
  .front-page .sec-image__contents {
    min-height: 420px;
  }
}
.front-page .sec-image__text {
  position: relative;
  z-index: 1;
  max-width: 390px;
  margin-top: 170px;
  -webkit-filter: drop-shadow(0 0 10px black);
          filter: drop-shadow(0 0 10px black);
}
@media (max-width: 834px) {
  .front-page .sec-image__text {
    max-width: 312px;
    margin-top: 128px;
    margin-right: 18%;
  }
}
.front-page .interview {
  position: relative;
}
.front-page .interview::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 1202px;
  aspect-ratio: 1202/1152;
  background: url(../img/index/bg_interview.png) center top/contain no-repeat;
  pointer-events: none;
}
.front-page .interview__inner {
  padding-top: 140px;
}
@media (max-width: 834px) {
  .front-page .interview__inner {
    padding-top: 104px;
  }
}
.front-page .interview .common-title {
  position: relative;
  z-index: 2;
}
.front-page .interview .common-title__ja {
  font-size: 5.2rem;
}
@media (max-width: 834px) {
  .front-page .interview .common-title__ja {
    font-size: 2.8rem;
  }
}
.front-page .interview .swiper {
  position: relative;
  width: 100%;
  overflow: visible;
}
@media (min-width: 835px) {
  .front-page .interview .swiper {
    max-width: clamp(720px, 69.2307692308vw, 900px);
    height: clamp(384px, 36.9230769231vw, 480px);
    margin-left: clamp(75.6px, 7.5vw, 108px);
    margin-top: 90px;
  }
}
@media (max-width: 1200px) {
  .front-page .interview .swiper {
    margin-left: 32px;
  }
}
@media (max-width: 834px) {
  .front-page .interview .swiper {
    margin-left: 0;
    margin-top: 24px;
  }
}
@media (min-width: 835px) {
  .front-page .interview .swiper .swiper-slide {
    translate: -640px 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: clamp(79.8px, 7.9166666667vw, 114px);
    margin-top: 153px;
    -webkit-transition: translate 0.6s, margin-top 0.6s;
    transition: translate 0.6s, margin-top 0.6s;
  }
  .front-page .interview .swiper .swiper-slide:has(.interview__text-block-link:hover) .interview__image-block .interview__image img {
    scale: 1.05;
  }
  .front-page .interview .swiper .swiper-slide:has(.interview__image-block-link:hover) .interview__comment {
    color: #1b66a2;
  }
}
@media (max-width: 834px) {
  .front-page .interview .swiper .swiper-slide {
    scale: 0.8;
    -webkit-transition: scale 0.6s;
    transition: scale 0.6s;
  }
}
@media (min-width: 835px) {
  .front-page .interview .swiper .swiper-slide.swiper-slide-active {
    translate: 0 0;
    margin-top: 0;
  }
}
@media (min-width: 835px) {
  .front-page .interview .swiper .swiper-slide.swiper-slide-active .interview__image-block {
    max-width: clamp(328px, 31.5384615385vw, 410px);
    -webkit-box-flex: 0;
        -ms-flex: 0 0 clamp(328px, 31.5384615385vw, 410px);
            flex: 0 0 clamp(328px, 31.5384615385vw, 410px);
  }
}
.front-page .interview .swiper .swiper-slide.swiper-slide-active .interview__image-block::before {
  background: #1b66a2;
}
@media (min-width: 835px) {
  .front-page .interview .swiper .swiper-slide.swiper-slide-active .interview__image-block::before {
    top: calc(-1 * clamp(43.2px, 4.1538461538vw, 54px));
    left: calc(-1 * clamp(124.8px, 12vw, 156px));
    width: clamp(534.4px, 51.3846153846vw, 668px);
  }
}
.front-page .interview .swiper .swiper-slide.swiper-slide-active .interview__image-block-link {
  display: block;
  translate: 0 0;
  -webkit-transition: translate 0.3s;
  transition: translate 0.3s;
}
.front-page .interview .swiper .swiper-slide.swiper-slide-active .interview__text-block {
  -webkit-animation: show 1s cubic-bezier(0.14, 1, 0.34, 1) 450ms both;
          animation: show 1s cubic-bezier(0.14, 1, 0.34, 1) 450ms both;
}
@-webkit-keyframes show {
  0% {
    opacity: 0;
    pointer-events: none;
  }
  100% {
    opacity: 1;
    pointer-events: auto;
  }
}
@keyframes show {
  0% {
    opacity: 0;
    pointer-events: none;
  }
  100% {
    opacity: 1;
    pointer-events: auto;
  }
}
@media (min-width: 835px) {
  .front-page .interview .swiper .swiper-slide.swiper-slide-active .interview__text-block {
    display: block;
    z-index: 1;
  }
}
@media (min-width: 835px) and (any-hover: hover) {
  .front-page .interview .swiper .swiper-slide.swiper-slide-active .interview__text-block-link:hover {
    opacity: 1;
  }
  .front-page .interview .swiper .swiper-slide.swiper-slide-active .interview__text-block-link:hover .interview__comment {
    color: #1b66a2;
  }
}
.front-page .interview .swiper .swiper-slide.swiper-slide-next {
  translate: 0 0;
}
.front-page .interview .swiper .swiper-slide.swiper-slide-next .swiper-button-next {
  opacity: 1;
}
@media (max-width: 670px) {
  .front-page .interview .swiper .swiper-slide.swiper-slide-next .interview__image-block::before {
    inset: -20px 0 0 -80px;
  }
}
@media (max-width: 834px) {
  .front-page .interview .swiper .swiper-slide.swiper-slide-next .interview__image-block-link {
    display: block;
    translate: calc(-1 * clamp(96px, 28.7769784173vw, 240px)) 0;
    -webkit-transition: translate 0.3s;
    transition: translate 0.3s;
  }
}
@media (max-width: 670px) {
  .front-page .interview .swiper .swiper-slide.swiper-slide-next .interview__image-block-link {
    translate: calc(-1 * clamp(72px, 20.8955223881vw, 140px)) 0;
  }
}
.front-page .interview .swiper .swiper-slide.swiper-slide-prev {
  translate: 0 0;
}
.front-page .interview .swiper .swiper-slide .interview__image-block {
  position: relative;
}
@media (min-width: 835px) {
  .front-page .interview .swiper .swiper-slide .interview__image-block {
    max-width: clamp(209.95px, 18.4166666667vw, 221px);
    -webkit-box-flex: 0;
        -ms-flex: 0 0 clamp(209.95px, 18.4166666667vw, 221px);
            flex: 0 0 clamp(209.95px, 18.4166666667vw, 221px);
    -webkit-transition: max-width 0.6s, translate 0.6s, -webkit-box-flex 0.6s;
    transition: max-width 0.6s, translate 0.6s, -webkit-box-flex 0.6s;
    transition: max-width 0.6s, flex 0.6s, translate 0.6s;
    transition: max-width 0.6s, flex 0.6s, translate 0.6s, -webkit-box-flex 0.6s, -ms-flex 0.6s;
  }
}
@media (any-hover: hover) {
  .front-page .interview .swiper .swiper-slide .interview__image-block-link:hover {
    opacity: 1;
  }
  .front-page .interview .swiper .swiper-slide .interview__image-block-link:hover .interview__image img {
    scale: 1.05;
  }
}
@media (min-width: 835px) {
  .front-page .interview .swiper .swiper-slide .interview__text-block {
    display: none;
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
  }
}
@media (max-width: 834px) {
  .front-page .interview .swiper .swiper-slide .interview__text-block {
    opacity: 0;
  }
}
@media (max-width: 834px) {
  .front-page .interview .swiper .swiper-slide.-duplicate, .front-page .interview .swiper .swiper-slide.-duplicate-next, .front-page .interview .swiper .swiper-slide.-duplicate-prev, .front-page .interview .swiper .swiper-slide.-duplicate-active, .front-page .interview .swiper .swiper-slide.-next, .front-page .interview .swiper .swiper-slide.-prev, .front-page .interview .swiper .swiper-slide-active {
    scale: 1;
  }
}
.front-page .interview .swiper .swiper-button-next {
  opacity: 0;
  -webkit-transition: opacity 0.6s;
  transition: opacity 0.6s;
  top: -23px;
  left: -36px;
  width: 74px;
  height: 46px;
  background: #fff;
  border-radius: 100vmax;
  margin-top: 0;
  color: #59cdea;
  -webkit-transition: scale 0.3s;
  transition: scale 0.3s;
}
@media (max-width: 834px) {
  .front-page .interview .swiper .swiper-button-next {
    left: -120px;
    top: -16px;
  }
}
@media (max-width: 670px) {
  .front-page .interview .swiper .swiper-button-next {
    left: calc(-1 * clamp(90px, 11.9904076739vw, 100px));
  }
}
@media (any-hover: hover) {
  .front-page .interview .swiper .swiper-button-next:hover {
    scale: 1.05;
  }
}
.front-page .interview .swiper .swiper-button-next::after {
  content: "NEXT";
  font-family: "Cormorant Garamond", serif;
  font-size: 1.3rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: #59cdea;
  line-height: 1;
  pointer-events: none;
}
.front-page .interview__image-block {
  position: relative;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 410px;
          flex: 0 0 410px;
}
.front-page .interview__image-block::before {
  content: "";
  position: absolute;
  top: -29.7px;
  left: -85.8px;
  width: 367.4px;
  aspect-ratio: 668/568;
  -webkit-mask: url(../img/index/deco_interview_bg.png) center center/contain no-repeat;
          mask: url(../img/index/deco_interview_bg.png) center center/contain no-repeat;
  background: #59cdea;
  pointer-events: none;
  -webkit-transition: top 0.6s, left 0.6s, width 0.6s, background 0.6s, inset 0.6s;
  transition: top 0.6s, left 0.6s, width 0.6s, background 0.6s, inset 0.6s;
}
@media (max-width: 834px) {
  .front-page .interview__image-block::before {
    width: auto;
    inset: -20px 70px 0 40px;
  }
}
@media (max-width: 670px) {
  .front-page .interview__image-block::before {
    inset: -20px 0 0 -20px;
  }
}
.front-page .interview__swiper-button {
  position: absolute;
  top: 0;
  left: 0;
}
.front-page .interview__image {
  position: relative;
  max-width: 410px;
  margin-inline: auto;
  z-index: 1;
  overflow: hidden;
}
@media (max-width: 834px) {
  .front-page .interview__image {
    width: 80%;
  }
}
.front-page .interview__image img {
  aspect-ratio: 410/480;
  -webkit-transition: scale 0.3s;
  transition: scale 0.3s;
}
@media (min-width: 835px) {
  .front-page .interview__text-block {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
  }
}
.front-page .interview__comment {
  position: relative;
  z-index: 1;
  font-size: clamp(2.55rem, 2.3076923077vw, 3rem);
  font-weight: 700;
  letter-spacing: 0.075em;
  line-height: 1.6;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  overflow: hidden;
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
}
@media (min-width: 835px) {
  .front-page .interview__comment {
    min-height: 140px;
  }
}
@media (max-width: 834px) {
  .front-page .interview__comment {
    font-size: 2.1rem;
    margin-top: 16px;
    -webkit-line-clamp: 3;
  }
}
.front-page .interview__info {
  position: relative;
  background: #fff;
  -webkit-box-shadow: 0px 0px 30px 0px rgba(34, 34, 34, 0.1);
          box-shadow: 0px 0px 30px 0px rgba(34, 34, 34, 0.1);
  padding: clamp(51.2px, 4.9230769231vw, 64px) clamp(44.8px, 4.3076923077vw, 56px) clamp(51.2px, 4.9230769231vw, 64px) clamp(56px, 5.3846153846vw, 70px);
  margin-top: clamp(64px, 6.1538461538vw, 80px);
  margin-left: calc(-1 * clamp(123.2px, 11.8461538462vw, 154px));
  margin-right: clamp(64px, 6.1538461538vw, 80px);
  z-index: 1;
}
@media (max-width: 834px) {
  .front-page .interview__info {
    padding: 32px 24px;
    margin-top: 16px;
    margin-left: 0;
    margin-right: 0;
  }
}
.front-page .interview__job-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 4px 8px;
}
.front-page .interview__job {
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0.075em;
  color: #1b66a2;
  line-height: 1.6;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
@media (max-width: 834px) {
  .front-page .interview__job {
    font-size: 1.4rem;
  }
}
.front-page .interview__person {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0 16px;
}
@media (max-width: 834px) {
  .front-page .interview__person {
    gap: 2px 8px;
  }
}
.front-page .interview__name {
  font-size: clamp(2.38rem, 2.1538461538vw, 2.8rem);
  font-weight: 700;
  letter-spacing: 0.075em;
  line-height: 1.6;
  margin-top: 1px;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
}
@media (max-width: 834px) {
  .front-page .interview__name {
    font-size: 2rem;
  }
}
.front-page .interview__year {
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0.075em;
  color: #a6a6a6;
  line-height: 1.6;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
}
@media (max-width: 834px) {
  .front-page .interview__year {
    font-size: 1.4rem;
  }
}
@media (min-width: 835px) {
  .front-page .interview__navigation {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 40px;
    max-width: 1100px;
    margin-inline: auto;
    margin-top: 70px;
  }
}
@media (max-width: 834px) {
  .front-page .interview__navigation {
    margin-top: 24px;
  }
}
.front-page .interview__navigation .swiper-pagination {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  position: relative;
  bottom: 0;
  top: 0;
  text-align: start;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 8px 10px;
}
@media (min-width: 835px) {
  .front-page .interview__navigation .swiper-pagination {
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
  }
}
@media (max-width: 834px) {
  .front-page .interview__navigation .swiper-pagination {
    gap: 6px 8px;
  }
}
.front-page .interview__navigation .swiper-pagination-bullet {
  margin: 0;
  padding-bottom: 2px;
  background: #fff;
  border: 1px solid #59cdea;
  border-radius: 100vmax;
  width: 74px;
  height: 46px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-family: "Cormorant Garamond", serif;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: #59cdea;
  line-height: 1;
  opacity: 1;
  -webkit-transition: background 0.3s, color 0.3s, translate 0.3s;
  transition: background 0.3s, color 0.3s, translate 0.3s;
}
@media (max-width: 834px) {
  .front-page .interview__navigation .swiper-pagination-bullet {
    width: 54px;
    height: 34px;
  }
}
@media (any-hover: hover) {
  .front-page .interview__navigation .swiper-pagination-bullet:hover {
    translate: 0 -4px;
  }
}
.front-page .interview__navigation .swiper-pagination-bullet-active {
  background: #59cdea;
  color: #fff;
}
@media (min-width: 835px) {
  .front-page .interview__navigation .common-btn {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 315px;
            flex: 0 0 315px;
  }
}
@media (max-width: 834px) {
  .front-page .interview__navigation .common-btn {
    margin-top: 24px;
  }
}
@media (max-width: 834px) {
  .front-page .interview__navigation .common-btn__body {
    margin-left: auto;
  }
}
@-webkit-keyframes infinity-scroll {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}
@keyframes infinity-scroll {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}
.front-page .slide-image__inner {
  padding-top: 80px;
}
@media (max-width: 834px) {
  .front-page .slide-image__inner {
    padding-top: 40px;
  }
}
.front-page .slide-image__contents {
  position: relative;
}
.front-page .slide-image__contents::before {
  content: "";
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 100%;
  aspect-ratio: 1440/93;
  background: url(../img/index/shape_slide-image.png) center bottom/cover no-repeat;
  z-index: 1;
  pointer-events: none;
}
@media (max-width: 834px) {
  .front-page .slide-image__contents::before {
    background-position: left bottom;
    min-height: 40px;
  }
}
.front-page .slide-image__text-wrapper {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  z-index: 1;
}
.front-page .slide-image__text {
  -webkit-animation: infinity-scroll 60s linear infinite both;
          animation: infinity-scroll 60s linear infinite both;
  font-family: "Cormorant Garamond", serif;
  font-size: 14.6rem;
  font-weight: 500;
  letter-spacing: 0;
  color: rgba(27, 102, 162, 0.1);
  line-height: 1;
}
@media (max-width: 834px) {
  .front-page .slide-image__text {
    font-size: 8rem;
  }
}
.front-page .slide-image__text span {
  display: block;
  margin-right: 24px;
}
.front-page .slide-image__item-wrapper {
  margin-top: -26px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}
@media (max-width: 834px) {
  .front-page .slide-image__item-wrapper {
    margin-top: -14px;
  }
}
.front-page .slide-image__item {
  animation: infinity-scroll 80s linear infinite reverse both;
}
.front-page .slide-image__item img {
  width: auto;
  height: clamp(412px, 39.6153846154vw, 515px);
}
@media (max-width: 834px) {
  .front-page .slide-image__item img {
    height: 240px;
  }
}
.front-page .slide-image__character {
  position: absolute;
  bottom: -60px;
  left: clamp(60px, 5vw, 96px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 16px;
  z-index: 2;
}
@media (max-width: 1500px) {
  .front-page .slide-image__character {
    left: clamp(42px, 4.1666666667vw, 60px);
  }
}
@media (max-width: 834px) {
  .front-page .slide-image__character {
    bottom: -55px;
    left: 16px;
    gap: 10px;
  }
}
.front-page .slide-image__character-image {
  max-width: clamp(74.88px, 6.6666666667vw, 96px);
}
@media (max-width: 834px) {
  .front-page .slide-image__character-image {
    max-width: 59.904px;
  }
}
.front-page .slide-image__character-role {
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: 0.075em;
  line-height: 1.6;
}
.front-page .slide-image__character-name {
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0.075em;
  line-height: 1.6;
}
.front-page .training {
  position: relative;
}
.front-page .training::before {
  content: "";
  position: absolute;
  bottom: 104px;
  left: 0;
  width: clamp(434.25px, 41.3571428571vw, 579px);
  aspect-ratio: 579/171;
  background: url(../img/index/illust_training.png) center center/contain no-repeat;
  pointer-events: none;
  opacity: 0;
  -webkit-transition: opacity 1s cubic-bezier(0.14, 1, 0.34, 1);
  transition: opacity 1s cubic-bezier(0.14, 1, 0.34, 1);
}
@media (max-width: 834px) {
  .front-page .training::before {
    bottom: 24px;
    width: 80%;
    max-width: 400px;
    margin-right: 100px;
  }
}
.front-page .training.js-active::before {
  opacity: 1;
  translate: 0 0;
}
.front-page .training__inner {
  padding-top: 160px;
  padding-bottom: 150px;
}
@media (max-width: 834px) {
  .front-page .training__inner {
    padding-top: 112px;
    padding-bottom: clamp(134.4px, 33.3333333333vw, 160px);
  }
}
.front-page .training__contents {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 40px;
  padding-top: 108px;
  padding-left: 106px;
}
@media (max-width: 1300px) {
  .front-page .training__contents {
    padding-left: clamp(44.8px, 4.3076923077vw, 56px);
  }
}
@media (max-width: 834px) {
  .front-page .training__contents {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-left: -3%;
    padding-top: 40px;
    padding-left: 9%;
    gap: 0;
  }
}
.front-page .training__contents::before {
  content: "";
  position: absolute;
  inset: 0 -50vw 208px 0;
  background: #fff;
  -webkit-box-shadow: 0px 0px 30px 0px rgba(34, 34, 34, 0.1);
          box-shadow: 0px 0px 30px 0px rgba(34, 34, 34, 0.1);
  pointer-events: none;
  z-index: -1;
}
@media (min-width: 835px) {
  .front-page .training__title-block {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 clamp(252px, 24.2307692308vw, 315px);
            flex: 0 0 clamp(252px, 24.2307692308vw, 315px);
  }
}
@media (max-width: 834px) {
  .front-page .training__title-block {
    display: contents;
  }
}
.front-page .training .common-title__ja {
  font-size: 5.2rem;
}
@media (max-width: 834px) {
  .front-page .training .common-title__ja {
    font-size: 2.8rem;
  }
}
.front-page .training .common-btn {
  margin-top: 132px;
}
@media (max-width: 834px) {
  .front-page .training .common-btn {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    margin-top: 32px;
  }
}
@media (max-width: 834px) {
  .front-page .training .common-btn__body {
    margin-left: auto;
  }
}
.front-page .training__text {
  line-height: 1.8;
}
@media (min-width: 835px) {
  .front-page .training__text {
    padding-right: clamp(51.2px, 4.9230769231vw, 64px);
    margin-top: 40px;
  }
}
@media (max-width: 834px) {
  .front-page .training__text {
    margin-top: 16px;
  }
}
.front-page .training__image-wrapper {
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-top: clamp(96px, 9.2307692308vw, 120px);
  margin-left: auto;
}
@media (max-width: 834px) {
  .front-page .training__image-wrapper {
    margin-right: auto;
    margin-top: clamp(44px, 16.9230769231vw, 88px);
  }
}
@media (min-width: 835px) {
  .front-page .training__image-bg-photo {
    width: clamp(496px, 47.6923076923vw, 620px);
  }
}
.front-page .training__image-bg-deco {
  position: absolute;
  bottom: 0;
  left: -50px;
  translate: 16px 0;
  opacity: 0.01;
  -webkit-transition: translate 2s cubic-bezier(0.14, 1, 0.34, 1) 0.3s, opacity 2s cubic-bezier(0.14, 1, 0.34, 1) 0.3s;
  transition: translate 2s cubic-bezier(0.14, 1, 0.34, 1) 0.3s, opacity 2s cubic-bezier(0.14, 1, 0.34, 1) 0.3s;
}
@media (min-width: 835px) {
  .front-page .training__image-bg-deco {
    width: clamp(456.8px, 43.9230769231vw, 571px);
  }
}
@media (max-width: 834px) {
  .front-page .training__image-bg-deco {
    margin-right: 12%;
  }
}
.front-page .training__image-bg-deco.js-active {
  translate: 0 0;
  opacity: 1;
}
.front-page .training__image-photo {
  position: absolute;
  inset: 0;
}
.front-page .data-qa {
  background: rgba(27, 102, 162, 0.8);
}
@media (max-width: 834px) {
  .front-page .data-qa__inner {
    margin-top: 32px;
  }
}
@media (min-width: 835px) {
  .front-page .data-qa__contents {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.front-page .data-qa__block {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  overflow: hidden;
}
.front-page .data-qa__link {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: 240px;
}
@media (min-width: 1301px) {
  .front-page .data-qa__link {
    aspect-ratio: 720/303;
  }
}
@media (max-width: 834px) {
  .front-page .data-qa__link {
    min-height: 200px;
  }
}
@media (any-hover: hover) {
  .front-page .data-qa__link:hover {
    opacity: 1;
  }
  .front-page .data-qa__link:hover .data-qa__image img {
    scale: 1.05;
  }
}
.front-page .data-qa .common-title {
  position: relative;
  z-index: 1;
  padding-left: clamp(64px, 6.1538461538vw, 80px);
  width: 100%;
}
@media (max-width: 1300px) {
  .front-page .data-qa .common-title {
    padding-left: clamp(44.8px, 4.3076923077vw, 56px);
  }
}
@media (max-width: 834px) {
  .front-page .data-qa .common-title {
    position: static;
    padding-left: 8%;
    padding-right: 8%;
  }
}
.front-page .data-qa .common-title__heading {
  gap: clamp(64px, 6.1538461538vw, 80px);
}
@media (max-width: 834px) {
  .front-page .data-qa .common-title__heading {
    gap: 16px;
    padding-top: 10px;
  }
}
.front-page .data-qa .common-title__ja {
  font-size: clamp(2.88rem, 2.5vw, 4rem);
}
@media (max-width: 834px) {
  .front-page .data-qa .common-title__ja {
    font-size: clamp(2.3rem, 4.6666666667vw, 2.8rem);
  }
}
.front-page .data-qa .common-title__eng {
  font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}
@media (max-width: 834px) {
  .front-page .data-qa .common-title__eng {
    font-size: 1.2rem;
  }
}
.front-page .data-qa__icon {
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-line-pack: center;
      align-content: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  bottom: clamp(8.4px, 0.8333333333vw, 12px);
  right: clamp(64px, 6.1538461538vw, 80px);
  width: clamp(32px, 3.0769230769vw, 40px);
  aspect-ratio: 1/1;
  background: #fff;
  border-radius: 50%;
}
@media (max-width: 1300px) {
  .front-page .data-qa__icon {
    right: clamp(44.8px, 4.3076923077vw, 56px);
  }
}
@media (max-width: 834px) {
  .front-page .data-qa__icon {
    right: 16px;
    bottom: 16px;
    width: 30px;
  }
}
.front-page .data-qa__icon::before {
  content: "";
  width: clamp(12.8px, 1.2307692308vw, 16px);
  aspect-ratio: 16/13;
  background: url(../img/common/icon_arrow_02.png) center center/contain no-repeat;
  pointer-events: none;
}
@media (max-width: 834px) {
  .front-page .data-qa__icon::before {
    width: 12px;
  }
}
.front-page .data-qa__image {
  position: absolute;
  inset: 0;
}
.front-page .data-qa__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: scale 0.3s;
  transition: scale 0.3s;
}
.front-page .newjobs {
  position: relative;
}
.front-page .newjobs::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  aspect-ratio: 1432/853;
  background: url(../img/common/deco_newjobs.png) center top/cover no-repeat;
  pointer-events: none;
}
.front-page .newjobs__inner {
  padding-top: 140px;
}
@media (max-width: 834px) {
  .front-page .newjobs__inner {
    padding-top: 64px;
  }
}
.front-page .newjobs__contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media (min-width: 835px) {
  .front-page .newjobs__contents {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 64px;
  }
}
@media (max-width: 834px) {
  .front-page .newjobs__contents {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0;
  }
}
.front-page .newjobs__text-block {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
}
@media (max-width: 834px) {
  .front-page .newjobs__text-block {
    display: contents;
  }
}
.front-page .newjobs .common-btn {
  margin-top: 80px;
}
@media (max-width: 834px) {
  .front-page .newjobs .common-btn {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    margin-top: 32px;
  }
}
@media (max-width: 834px) {
  .front-page .newjobs .common-btn__body {
    margin-left: auto;
  }
}
.front-page .newjobs .image-photo {
  aspect-ratio: 360/260;
  max-width: 360px;
  margin-top: 100px;
  margin-left: -50px;
}
@media (max-width: 834px) {
  .front-page .newjobs .image-photo {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    width: 85%;
    margin: 40px auto 0;
  }
}
@media (min-width: 835px) {
  .front-page .newjobs__list {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 clamp(548.25px, 53.75vw, 645px);
            flex: 0 0 clamp(548.25px, 53.75vw, 645px);
  }
}
@media (max-width: 834px) {
  .front-page .newjobs__list {
    width: 100%;
    margin-top: 24px;
  }
}
.front-page .newjobs__item {
  margin-top: 10px;
}
@media (max-width: 834px) {
  .front-page .newjobs__item {
    margin-top: 8px;
  }
}
.front-page .newjobs__item:first-child {
  margin-top: 0;
}
.front-page .newjobs__link {
  display: block;
  background-color: #fff;
  -webkit-box-shadow: 0px 0px 30px 0px rgba(34, 34, 34, 0.1);
          box-shadow: 0px 0px 30px 0px rgba(34, 34, 34, 0.1);
  padding-top: 5px;
  padding-bottom: 16px;
  padding-right: 16px;
  padding: 5px 16px 16px 16px;
  -webkit-transition: translate 0.3s;
  transition: translate 0.3s;
}
@media (max-width: 834px) {
  .front-page .newjobs__link {
    padding: 8px 5% 16px 5%;
  }
}
@media (any-hover: hover) {
  .front-page .newjobs__link:hover {
    opacity: 1;
    translate: -8px 0;
  }
}
.front-page .newjobs__date {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-family: "Cormorant Garamond", serif;
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: #ccc;
  line-height: 1.6;
  margin-left: auto;
  margin-right: -2px;
}
@media (max-width: 834px) {
  .front-page .newjobs__date {
    font-size: 1.4rem;
    margin-right: 0;
  }
}
@media (min-width: 835px) {
  .front-page .newjobs__item-body {
    padding-inline: 6.8515497553%;
    margin-top: 26px;
    margin-bottom: 24px;
  }
}
@media (max-width: 834px) {
  .front-page .newjobs__item-body {
    margin-top: 8px;
    margin-bottom: 8px;
  }
}
.front-page .newjobs__type-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media (max-width: 834px) {
  .front-page .newjobs__type-wrapper {
    gap: 4px;
  }
}
.front-page .newjobs__type {
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: 0.075em;
  color: #fff;
  line-height: 1.2;
  background: #031422;
  border-radius: 100vmax;
  padding: 0.734em 1.138em;
}
@media (max-width: 834px) {
  .front-page .newjobs__type {
    font-size: 1.1rem;
    padding: 0.7em 1.138em 0.62em;
  }
}
.front-page .newjobs__item-title {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  margin-top: 20px;
}
@media (max-width: 834px) {
  .front-page .newjobs__item-title {
    margin-top: 8px;
  }
}
.front-page .newjobs__icon {
  display: block;
  background: url(../img/common/icon_arrow_02.png) center center/contain no-repeat;
  width: 16px;
  aspect-ratio: 16/13;
  margin-left: auto;
}
@media (max-width: 834px) {
  .front-page .newjobs__icon {
    width: 14px;
  }
}

/* ============================================
// RECRUIT
// ==========================================*/
/*--------------------
共通
--------------------*/
.lower-kyujin_l .job_occupations::after,
.lower-kyujin_d .job_occupations::after,
.lower-whatsnew .job_occupations::after {
  background: #1b66a2;
}
.lower-kyujin_l .gMap_link,
.lower-kyujin_d .gMap_link,
.lower-whatsnew .gMap_link {
  color: #1b66a2;
}
.lower-kyujin_l .gMap_link::before,
.lower-kyujin_d .gMap_link::before,
.lower-whatsnew .gMap_link::before {
  -webkit-mask: url(../img/kyujin/ico_custom_location_black.png) no-repeat center center/contain;
          mask: url(../img/kyujin/ico_custom_location_black.png) no-repeat center center/contain;
  background: #1b66a2;
}
.lower-kyujin_l .tel_link::before,
.lower-kyujin_d .tel_link::before,
.lower-whatsnew .tel_link::before {
  -webkit-mask: url(../img/kyujin/ico_custom_tel_color.png) no-repeat center top/contain;
          mask: url(../img/kyujin/ico_custom_tel_color.png) no-repeat center top/contain;
  background: #1b66a2;
  top: 0.05em;
}
.lower-kyujin_l .job_employmenttype_list_item,
.lower-kyujin_d .job_employmenttype_list_item,
.lower-whatsnew .job_employmenttype_list_item {
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.075em;
  color: #fff;
  line-height: 1.2;
  background: #031422;
  border-radius: 100vmax;
  padding: 0.734em 1.138em;
}
@media (max-width: 834px) {
  .lower-kyujin_l .job_employmenttype_list_item,
  .lower-kyujin_d .job_employmenttype_list_item,
  .lower-whatsnew .job_employmenttype_list_item {
    font-size: 1.1rem;
    padding: 0.7em 1.138em 0.62em;
  }
}
.lower-kyujin_l .btn,
.lower-kyujin_d .btn,
.lower-whatsnew .btn {
  border-radius: 100vmax;
}
.lower-kyujin_l .btn.btn_external::after,
.lower-kyujin_d .btn.btn_external::after,
.lower-whatsnew .btn.btn_external::after {
  top: 10px;
  right: 19px;
}
@media (max-width: 834px) {
  .lower-kyujin_l .btn.btn_external::after,
  .lower-kyujin_d .btn.btn_external::after,
  .lower-whatsnew .btn.btn_external::after {
    top: 21px;
  }
}
.lower-kyujin_l .btn.btn_secondary,
.lower-kyujin_d .btn.btn_secondary,
.lower-whatsnew .btn.btn_secondary {
  background: #fff;
  border: 1px solid #59cdea;
  color: #031422 !important;
}
@media (any-hover: hover) {
  .lower-kyujin_l .btn:hover,
  .lower-kyujin_d .btn:hover,
  .lower-whatsnew .btn:hover {
    opacity: 1;
    translate: 0 -4px;
    -webkit-box-shadow: 0 4px 10px rgba(3, 20, 34, 0.05);
            box-shadow: 0 4px 10px rgba(3, 20, 34, 0.05);
  }
}
.lower-kyujin_l .job_count_pager.contents_top,
.lower-kyujin_d .job_count_pager.contents_top,
.lower-whatsnew .job_count_pager.contents_top {
  margin-top: 30px;
}
@media (max-width: 834px) {
  .lower-kyujin_l .job_count_pager.contents_top,
  .lower-kyujin_d .job_count_pager.contents_top,
  .lower-whatsnew .job_count_pager.contents_top {
    margin-top: 20px;
  }
}
.lower-kyujin_l .job_count_pager.contents_bottom,
.lower-kyujin_d .job_count_pager.contents_bottom,
.lower-whatsnew .job_count_pager.contents_bottom {
  padding-top: 80px;
  padding-bottom: 0;
}
@media (max-width: 834px) {
  .lower-kyujin_l .job_count_pager.contents_bottom,
  .lower-kyujin_d .job_count_pager.contents_bottom,
  .lower-whatsnew .job_count_pager.contents_bottom {
    padding-top: 40px;
  }
}
.lower-kyujin_l .pagination ul,
.lower-kyujin_d .pagination ul,
.lower-whatsnew .pagination ul {
  border-radius: 5px;
  overflow: hidden;
}
.lower-kyujin_l .result_total_all,
.lower-kyujin_d .result_total_all,
.lower-whatsnew .result_total_all {
  color: #1b66a2;
}

.lower-kyujin_l .l-main,
.lower-whatsnew .l-main {
  position: relative;
}
.lower-kyujin_l .l-main::before,
.lower-whatsnew .l-main::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 1202px;
  aspect-ratio: 1202/1152;
  background: url(../img/kyujin/bg_kyujin.png) center top/contain no-repeat;
  pointer-events: none;
  z-index: -1;
}
.lower-kyujin_l article.job,
.lower-whatsnew article.job {
  display: block;
  background-color: #fff;
  -webkit-box-shadow: 0px 0px 30px 0px rgba(34, 34, 34, 0.1);
          box-shadow: 0px 0px 30px 0px rgba(34, 34, 34, 0.1);
  padding: 48px 5%;
  margin-top: 40px;
  -webkit-transition: translate 0.3s;
  transition: translate 0.3s;
}
@media (max-width: 834px) {
  .lower-kyujin_l article.job,
  .lower-whatsnew article.job {
    padding: 28px 20px;
    margin-top: 24px;
  }
}
.lower-kyujin_l article.job:first-child,
.lower-whatsnew article.job:first-child {
  margin-top: 0;
}
.lower-kyujin_l .job_ttl a,
.lower-whatsnew .job_ttl a {
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
}
@media (any-hover: hover) {
  .lower-kyujin_l .job_ttl a:hover,
  .lower-whatsnew .job_ttl a:hover {
    color: #1b66a2;
    opacity: 1;
  }
}

/*--------------------
求人一覧
--------------------*/
@media (max-width: 834px) {
  .lower-kyujin_l .l-main {
    padding: 24px 0 40px;
  }
}
.lower-kyujin_l .search_panel {
  position: relative;
  padding: 0;
  padding-top: 48px;
  margin: 0;
  border: none;
  background: #1b66a2;
}
@media (max-width: 834px) {
  .lower-kyujin_l .search_panel {
    padding-top: 24px;
  }
}
.lower-kyujin_l .search_panel::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url(../img/index/bg_jobs.png) center right/cover no-repeat;
  pointer-events: none;
}
.lower-kyujin_l .search-toggle {
  position: relative;
  left: 0;
  top: 0;
  width: auto;
  max-width: inherit;
  -webkit-transform: none;
          transform: none;
  border-radius: 100vmax;
  border: 1px solid #59cdea;
  background: #fff;
  max-width: 240px;
  -webkit-transition: scale 0.3s;
  transition: scale 0.3s;
}
@media (any-hover: hover) {
  .lower-kyujin_l .search-toggle:hover {
    opacity: 1;
    scale: 0.98;
  }
}
.lower-kyujin_l .search-toggle .toggle_txt {
  font-size: 1.5rem;
  padding: 1em;
  color: #031422;
}
@media (max-width: 834px) {
  .lower-kyujin_l .search-toggle .toggle_txt {
    font-size: 1.4rem;
    padding: 0.88em 1em;
  }
}
.lower-kyujin_l .search-toggle .toggle_txt .pannel-open {
  display: block;
}
.lower-kyujin_l .search-toggle .toggle_txt .pannel-close {
  display: none;
}
.lower-kyujin_l .search-toggle .toggle_trigger {
  width: auto;
  height: 100%;
  aspect-ratio: 1/1;
  background: none;
}
.lower-kyujin_l .search-toggle .toggle_trigger::before {
  display: none;
}
.lower-kyujin_l .search-toggle .toggle_trigger_txt_ico {
  width: 16px;
  height: 1px;
}
@media (max-width: 834px) {
  .lower-kyujin_l .search-toggle .toggle_trigger_txt_ico {
    width: 12px;
  }
}
.lower-kyujin_l .search-toggle .toggle_trigger_txt_ico:nth-of-type(1) {
  margin: 0;
  -webkit-transform: translateX(-50%) rotate(0deg);
          transform: translateX(-50%) rotate(0deg);
  background: #031422;
}
.lower-kyujin_l .search-toggle .toggle_trigger_txt_ico:nth-of-type(2) {
  margin: 0;
  -webkit-transform: translateX(-50%) rotate(90deg);
          transform: translateX(-50%) rotate(90deg);
  background: #031422;
}
.lower-kyujin_l .search-toggle.js-active .toggle_txt .pannel-open {
  display: none;
}
.lower-kyujin_l .search-toggle.js-active .toggle_txt .pannel-close {
  display: block;
}
.lower-kyujin_l .search-toggle.js-active .toggle_trigger_txt_ico:nth-of-type(2) {
  -webkit-transform: translateX(-50%) rotate(0);
          transform: translateX(-50%) rotate(0);
}
.lower-kyujin_l .search_body {
  position: relative;
  z-index: 1;
  padding: 48px 5%;
  border-bottom: 1px solid rgba(232, 232, 232, 0.8);
}
@media (max-width: 834px) {
  .lower-kyujin_l .search_body {
    padding: 24px 5% 28px;
  }
}
.lower-kyujin_l .job_result_total {
  padding: 40px 5%;
}
@media (max-width: 834px) {
  .lower-kyujin_l .job_result_total {
    padding: 24px 5%;
  }
}
.lower-kyujin_l .job_result_total_body_ttl {
  color: #ffffff;
}

/*--------------------
求人詳細
--------------------*/
.lower-kyujin_d .kyujin-d__bg {
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: clamp(360px, 33.3333333333vw, 400px);
}
@media (max-width: 834px) {
  .lower-kyujin_d .kyujin-d__bg {
    height: 240px;
  }
}
.lower-kyujin_d .kyujin-d__bg::before {
  content: "";
  position: absolute;
  inset: 0;
  background: #1b66a2;
  pointer-events: none;
  z-index: -1;
}
.lower-kyujin_d .kyujin-d__bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: url(../img/kyujin/bg_jobs.png) top center/cover no-repeat;
  pointer-events: none;
  opacity: 0.01;
  -webkit-transition: opacity 1s 0.1s;
  transition: opacity 1s 0.1s;
}
.lower-kyujin_d main.l-main {
  position: relative;
  padding-bottom: 50px;
}
.lower-kyujin_d main.l-main::before {
  content: "";
  position: absolute;
  top: clamp(360px, 33.3333333333vw, 400px);
  left: 0;
  width: 100%;
  aspect-ratio: 1202/1152;
  background: url(../img/kyujin/bg_kyujin.png) center center/cover no-repeat;
  pointer-events: none;
  z-index: -1;
}
@media (max-width: 834px) {
  .lower-kyujin_d main.l-main::before {
    top: 240px;
  }
}
.lower-kyujin_d main.l-main::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  aspect-ratio: 853/688;
  background: url(../img/kyujin/bg_kyujin-d.png) center center/cover no-repeat;
  pointer-events: none;
  z-index: -1;
}
@media (max-width: 834px) {
  .lower-kyujin_d main.l-main {
    padding-bottom: 24px;
  }
}
.lower-kyujin_d .kyujin_container a {
  color: #1b66a2;
}
.lower-kyujin_d article.job {
  display: block;
  background-color: #fff;
  -webkit-box-shadow: 0px 0px 30px 0px rgba(34, 34, 34, 0.1);
          box-shadow: 0px 0px 30px 0px rgba(34, 34, 34, 0.1);
  padding: 48px 5%;
  margin-top: 40px;
  -webkit-transition: translate 0.3s;
  transition: translate 0.3s;
  margin-top: 120px;
}
@media (max-width: 834px) {
  .lower-kyujin_d article.job {
    padding: 28px 20px;
    margin-top: 56px;
  }
}
.lower-kyujin_d .job_outline_item {
  border-bottom: 1px solid #e8e8e8;
}
.lower-kyujin_d .appeal_list_item {
  border-bottom: 1px solid #e8e8e8;
}
.lower-kyujin_d .appeal_list_item_head {
  color: #1b66a2 !important;
}
@media (max-width: 480px) {
  .lower-kyujin_d .job_body_block {
    margin: 24px 0;
  }
}
.lower-kyujin_d .job_body_head_txt_inner .job_post_ttl {
  color: #1b66a2;
}
.lower-kyujin_d .job_body_head_txt_inner .job_post_ttl:before {
  background: #1b66a2;
}
.lower-kyujin_d .outline_ttl,
.lower-kyujin_d .appeal_ttl {
  font-family: "Cormorant Garamond", serif;
  font-size: 4.4rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: #031422;
  line-height: 1;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  padding: 0;
  margin-bottom: 24px;
}
@media (max-width: 834px) {
  .lower-kyujin_d .outline_ttl,
  .lower-kyujin_d .appeal_ttl {
    font-size: 2.8rem;
    margin-bottom: 0px;
  }
}
@media (max-width: 834px) {
  .lower-kyujin_d .appeal_ttl {
    margin-bottom: 10px;
  }
}
.lower-kyujin_d .page_back {
  padding: 56px 0 0;
}
@media (max-width: 834px) {
  .lower-kyujin_d .page_back {
    padding: 30px 0 0;
  }
}
.lower-kyujin_d .footer {
  padding-bottom: 92px;
}
@media (max-width: 834px) {
  .lower-kyujin_d .footer {
    padding-bottom: 76px;
  }
}
.lower-kyujin_d .pagetop {
  bottom: 56px;
}
@media (max-width: 834px) {
  .lower-kyujin_d .pagetop {
    bottom: 76px;
  }
}
.lower-kyujin_d .pagetop__scroll {
  padding-bottom: 131px;
}
@media (max-width: 834px) {
  .lower-kyujin_d .pagetop__scroll {
    padding-bottom: 84px;
  }
}
.lower-kyujin_d .fixed_conversion {
  background: rgba(3, 20, 34, 0.8);
  z-index: 100;
}
@media (max-width: 767px) {
  .lower-kyujin_d .fixed_conversion .phone {
    -ms-flex-preferred-size: 190px;
        flex-basis: 190px;
    margin-right: 8px;
  }
}
.lower-kyujin_d .fixed_conversion .btn_conversion {
  border-radius: 100vmax;
}
@media (max-width: 834px) {
  .lower-kyujin_d .fixed_conversion .btn_conversion {
    padding: 12px 0;
  }
}
.lower-kyujin_d .fixed_conversion .btn_conversion::after {
  top: 10px;
  right: 19px;
}
@media (max-width: 834px) {
  .lower-kyujin_d .fixed_conversion .btn_conversion::after {
    top: 24px;
  }
}
@media (any-hover: hover) {
  .lower-kyujin_d .fixed_conversion .btn_conversion:hover {
    opacity: 1;
    scale: 0.95;
    -webkit-filter: saturate(1.1);
            filter: saturate(1.1);
  }
}

.js-loaded .kyujin-d__bg::after {
  opacity: 1;
}

/*--------------------
新着求人
--------------------*/
.lower-whatsnew .l-main {
  padding-top: 48px;
}
@media (max-width: 834px) {
  .lower-whatsnew .l-main {
    padding-top: 4px;
  }
}

/* ============================================
// よくある質問ページ
// ==========================================*/
.lower-qa .l-main {
  position: relative;
}
.lower-qa .l-main::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  aspect-ratio: 1432/853;
  background: url(../img/qa/bg_deco01.png) center top/cover no-repeat;
  pointer-events: none;
  z-index: -1;
}
.lower-qa .l-main::after {
  content: "";
  position: absolute;
  bottom: -340px;
  right: 0;
  width: 1202px;
  aspect-ratio: 1202/1152;
  background: url(../img/qa/bg_deco02.png) center top/contain no-repeat;
  pointer-events: none;
  z-index: -1;
}
@media (max-width: 834px) {
  .lower-qa .l-main::after {
    bottom: -190px;
    right: -530px;
  }
}
.lower-qa .qa__container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 30px 40px 50px;
}
@media (max-width: 834px) {
  .lower-qa .qa__container {
    padding: 0px 20px;
  }
}
.lower-qa .qa {
  /*------------------------------
    アンカー
  ------------------------------*/
}
.lower-qa .qa__anchor .anchors {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  font-size: 1.7rem;
  font-weight: 700;
  gap: 1em;
}
@media (max-width: 834px) {
  .lower-qa .qa__anchor .anchors {
    font-size: 1.3rem;
    gap: 0.5em 1em;
  }
}
.lower-qa .qa__anchor .anchors__item a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 20px;
  line-height: 1.6;
  -webkit-transition: 0.4s;
  transition: 0.4s;
  background: #ffffff;
  padding: 18px 40px;
  padding-right: 30px;
  border-radius: 50px;
  border: 1px solid #e8e8e8;
}
@media (max-width: 834px) {
  .lower-qa .qa__anchor .anchors__item a {
    padding: 12px 20px;
    gap: 10px;
  }
}
.lower-qa .qa__anchor .anchors__item a::after {
  content: "";
  display: block;
  width: 14px;
  aspect-ratio: 16/13;
  -webkit-mask: url(../img/common/icon_arrow_02.png) center center/contain no-repeat;
          mask: url(../img/common/icon_arrow_02.png) center center/contain no-repeat;
  background-color: #59cdea;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
@media (max-width: 834px) {
  .lower-qa .qa__anchor .anchors__item a::after {
    width: 11px;
  }
}
@media (any-hover: hover) {
  .lower-qa .qa__anchor .anchors__item a:hover {
    opacity: 1;
    translate: 0 -4px;
    -webkit-box-shadow: 0 4px 10px rgba(3, 20, 34, 0.05);
            box-shadow: 0 4px 10px rgba(3, 20, 34, 0.05);
  }
}
.lower-qa .qa {
  /*------------------------------
    コンテンツエリア
  ------------------------------*/
}
.lower-qa .qa__contents:not(.js-tab-target) {
  padding-top: 64px;
  padding-bottom: 36px;
}
@media (max-width: 834px) {
  .lower-qa .qa__contents:not(.js-tab-target) {
    padding-top: 32px;
    padding-bottom: 8px;
  }
}
.lower-qa .qa__catTitle {
  font-size: 2.375em;
  font-weight: 600;
  font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  line-height: 1.6;
  margin-bottom: 0.7em;
  padding: 0 20px;
}
@media (max-width: 834px) {
  .lower-qa .qa__catTitle {
    font-size: 1.6em;
    padding: 0 10px;
  }
}
.lower-qa .qa__list {
  border-radius: 2px;
  -webkit-box-shadow: 0px 0px 30px 0px rgba(34, 34, 34, 0.1);
          box-shadow: 0px 0px 30px 0px rgba(34, 34, 34, 0.1);
  background: #ffffff;
}
@media (max-width: 834px) {
  .lower-qa .qa__list {
    border-left: none;
    border-right: none;
  }
}
.lower-qa .qa__list__item {
  border-bottom: 1px solid #e8e8e8;
}
.lower-qa .qa__list__item:last-child {
  border-bottom: none;
}
.lower-qa .qa__list__item .q {
  position: relative;
  z-index: 1;
  padding: 2.5em 3.2em;
  padding-right: 48px;
  -webkit-transition: 0.4s;
  transition: 0.4s;
  cursor: pointer;
}
@media (max-width: 834px) {
  .lower-qa .qa__list__item .q {
    padding: 1.5em 20px;
  }
}
.lower-qa .qa__list__item .q::before, .lower-qa .qa__list__item .q::after {
  content: "";
  width: 1em;
  height: 1px;
  position: absolute;
  right: 48px;
  top: 50%;
  background: #59cdea;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}
@media (max-width: 834px) {
  .lower-qa .qa__list__item .q::before, .lower-qa .qa__list__item .q::after {
    right: 20px;
  }
}
.lower-qa .qa__list__item .q::after {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
.lower-qa .qa__list__item .q p {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 0.5em;
  font-size: 1.3em;
  font-weight: 700;
  line-height: 1.7;
  padding-right: 40px;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}
@media (max-width: 834px) {
  .lower-qa .qa__list__item .q p {
    font-size: 1.14em;
    padding-right: 30px;
  }
}
.lower-qa .qa__list__item .q p::before {
  content: "Q";
  aspect-ratio: 1/1;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 2.3em;
          flex: 0 0 2.3em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 0.7em;
  color: #ffffff;
  line-height: 1;
  padding-top: 0.1em;
  background: #1b66a2;
  border-radius: 50%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-family: "Cormorant Garamond", serif;
}
@media (max-width: 834px) {
  .lower-qa .qa__list__item .q p::before {
    padding-top: 0;
  }
}
@media (any-hover: hover) {
  .lower-qa .qa__list__item .q p:hover {
    color: #1b66a2;
  }
}
.lower-qa .qa__list__item .a {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-rows: 0fr;
  padding: 0 3.2em;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}
@media (max-width: 834px) {
  .lower-qa .qa__list__item .a {
    padding: 0 20px;
  }
}
.lower-qa .qa__list__item .a p {
  overflow-y: hidden;
}
.lower-qa .qa__list__item .a .marker {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(60%, #fdf164));
  background: linear-gradient(transparent 60%, #fdf164 60%);
}
.lower-qa .qa__list__item .a .strong {
  font-weight: 700;
  color: #fdf164;
}
.lower-qa .qa__list__item .a .link {
  display: block;
}
.lower-qa .qa__list__item .a .link a {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  font-weight: 700;
  color: #1b66a2;
  gap: 6px;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}
.lower-qa .qa__list__item .a .link a::before {
  content: "";
  aspect-ratio: 1/1;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 1em;
          flex: 0 0 1em;
  width: 1em;
  margin-top: 0.45em;
  background: #1b66a2;
  -webkit-mask-position: center center;
          mask-position: center center;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-image: url(../img/qa/ico_link.svg);
          mask-image: url(../img/qa/ico_link.svg);
}
@media (max-width: 834px) {
  .lower-qa .qa__list__item .a .link a::before {
    margin-top: 0.35em;
  }
}
.lower-qa .qa__list__item .a .link a[target=_blank]::before {
  -webkit-mask-image: url(../img/qa/ico_external.svg);
          mask-image: url(../img/qa/ico_external.svg);
}
@media (any-hover: hover) {
  .lower-qa .qa__list__item .a .link a:hover {
    opacity: 0.7;
  }
}
.lower-qa .qa__list__item.-open .q::after {
  -webkit-transform: translateY(-50%) rotate(0deg);
          transform: translateY(-50%) rotate(0deg);
}
.lower-qa .qa__list__item.-open .a {
  grid-template-rows: 1fr;
  margin-top: -2.4em;
  padding-top: 0.7em;
  padding-bottom: 2.4em;
}
@media (max-width: 834px) {
  .lower-qa .qa__list__item.-open .a {
    margin-top: -1.5em;
    padding-bottom: 1.5em;
  }
}

.lower-interview_l .interview__container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 60px 40px 0;
}
@media (max-width: 834px) {
  .lower-interview_l .interview__container {
    padding: 0px 20px;
  }
}

/* ============================================
// インタビュー一覧ページ
// ==========================================*/
.lower-interview_l .l-main {
  position: relative;
}
.lower-interview_l .l-main::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  aspect-ratio: 1440/845;
  background: url(../img/interview/bg_interview_l.png) center top/cover no-repeat;
  pointer-events: none;
  z-index: -1;
}
.lower-interview_l .l-main::after {
  content: "";
  position: absolute;
  bottom: -260px;
  right: 0;
  width: 1202px;
  aspect-ratio: 1202/1152;
  background: url(../img/qa/bg_deco02.png) center top/contain no-repeat;
  pointer-events: none;
  z-index: -1;
}
@media (max-width: 834px) {
  .lower-interview_l .l-main::after {
    bottom: -190px;
    right: -530px;
  }
}
.lower-interview_l {
  /*------------------------------
    インタビュー一覧
  ------------------------------*/
}
.lower-interview_l .interviews {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0 clamp(6rem, -3.846rem + 9.615vw, 10rem);
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media (max-width: 834px) {
  .lower-interview_l .interviews {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.lower-interview_l .interviews__item {
  margin: 150px 50px 80px 0;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 41.6666666667%;
          flex: 0 0 41.6666666667%;
  -ms-flex: 0 0 clamp(40rem, 15.385rem + 24.038vw, 50rem);
      flex: 0 0 clamp(40rem, 15.385rem + 24.038vw, 50rem);
  position: relative;
  max-width: 500px;
  width: 100%;
}
.lower-interview_l .interviews__item:nth-child(odd)::before {
  background: #1b66a2;
}
@media (max-width: 834px) {
  .lower-interview_l .interviews__item:first-child {
    margin-top: 20px;
  }
}
.lower-interview_l .interviews__item::before {
  content: "";
  position: absolute;
  top: -40px;
  left: 0;
  width: clamp(45.3rem, 13.3rem + 31.25vw, 58.3rem);
  aspect-ratio: 583/505;
  -webkit-mask: url(../img/interview/deco01.png) center center/contain no-repeat;
          mask: url(../img/interview/deco01.png) center center/contain no-repeat;
  background: #59cdea;
  pointer-events: none;
  z-index: -1;
}
@media (max-width: 834px) {
  .lower-interview_l .interviews__item::before {
    width: auto;
    inset: -20px 0px 0 20px;
  }
}
@media (max-width: 500px) {
  .lower-interview_l .interviews__item::before {
    inset: -20px 0 0 -20px;
  }
}
@media (max-width: 834px) {
  .lower-interview_l .interviews__item {
    margin: 40px 0;
  }
}
@media (min-width: 835px) {
  .lower-interview_l .interviews__item:nth-child(odd) {
    margin: 0;
  }
}
.lower-interview_l .interviews__item a {
  position: relative;
  gap: 0;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media (min-width: 835px) {
  .lower-interview_l .interviews__item a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
}
@media (any-hover: hover) {
  .lower-interview_l .interviews__item a:hover {
    opacity: 1;
  }
  .lower-interview_l .interviews__item a:hover .imgArea img {
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }
  .lower-interview_l .interviews__item a:hover .bodyArea .copyArea .copy {
    color: #1b66a2;
  }
  .lower-interview_l .interviews__item a:hover .bodyArea .infoArea .icon {
    background: #e1f2ff;
  }
}
.lower-interview_l .interviews__item .imgArea {
  max-width: clamp(32rem, 19.692rem + 12.019vw, 37rem);
  aspect-ratio: 370/432;
  margin-bottom: 100px;
  overflow: hidden;
  width: 100%;
}
@media (max-width: 834px) {
  .lower-interview_l .interviews__item .imgArea {
    width: 80%;
    margin: 0 auto;
  }
}
@media (min-width: 835px) {
  .lower-interview_l .interviews__item .bodyArea {
    position: absolute;
    bottom: 0;
    left: 0;
  }
}
@media (max-width: 1130px) {
  .lower-interview_l .interviews__item .bodyArea {
    bottom: -15px;
  }
}
.lower-interview_l .interviews__item .bodyArea .copyArea {
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
@media (min-width: 835px) {
  .lower-interview_l .interviews__item .bodyArea .copyArea {
    width: 320px;
  }
}
@media (max-width: 834px) {
  .lower-interview_l .interviews__item .bodyArea .copyArea {
    margin-top: 16px;
  }
}
.lower-interview_l .interviews__item .bodyArea .copyArea .copy {
  font-size: 2.2rem;
  font-weight: 700;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media (min-width: 835px) {
  .lower-interview_l .interviews__item .bodyArea .copyArea .copy {
    background: rgba(255, 255, 255, 0.9);
    white-space: pre-line;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
    padding: 5px 4px;
    display: inline;
  }
}
@media (max-width: 834px) {
  .lower-interview_l .interviews__item .bodyArea .copyArea .copy {
    line-height: 1.6;
    font-size: 2.1rem;
  }
}
.lower-interview_l .interviews__item .bodyArea .infoArea {
  position: relative;
  background: #fff;
  -webkit-box-shadow: 0px 0px 30px 0px rgba(34, 34, 34, 0.1);
          box-shadow: 0px 0px 30px 0px rgba(34, 34, 34, 0.1);
  padding: 30px clamp(3rem, 0.538rem + 2.404vw, 4rem);
  z-index: 1;
  width: clamp(37rem, 19.769rem + 16.827vw, 44rem);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 10px;
  margin-top: 20px;
}
@media (max-width: 834px) {
  .lower-interview_l .interviews__item .bodyArea .infoArea {
    padding: 32px 24px;
    width: 100%;
    gap: 20px;
    margin-top: 16px;
  }
}
.lower-interview_l .interviews__item .bodyArea .infoArea .info .job-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 4px 8px;
}
.lower-interview_l .interviews__item .bodyArea .infoArea .info .job-wrapper .job {
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0.075em;
  color: #1b66a2;
  line-height: 1.6;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
@media (max-width: 834px) {
  .lower-interview_l .interviews__item .bodyArea .infoArea .info .job-wrapper .job {
    font-size: 1.4rem;
  }
}
.lower-interview_l .interviews__item .bodyArea .infoArea .info .person {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0 16px;
}
@media (max-width: 834px) {
  .lower-interview_l .interviews__item .bodyArea .infoArea .info .person {
    gap: 2px 8px;
  }
}
.lower-interview_l .interviews__item .bodyArea .infoArea .info .person .name {
  font-size: clamp(2.38rem, 2.1538461538vw, 2.8rem);
  font-weight: 700;
  letter-spacing: 0.075em;
  line-height: 1.6;
  margin-top: 1px;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
}
@media (max-width: 834px) {
  .lower-interview_l .interviews__item .bodyArea .infoArea .info .person .name {
    font-size: 2rem;
  }
}
.lower-interview_l .interviews__item .bodyArea .infoArea .info .person .year {
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0.075em;
  color: #a6a6a6;
  line-height: 1.6;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
}
@media (max-width: 834px) {
  .lower-interview_l .interviews__item .bodyArea .infoArea .info .person .year {
    font-size: 1.4rem;
  }
}
.lower-interview_l .interviews__item .bodyArea .infoArea .icon {
  aspect-ratio: 1/1;
  background: #fff;
  border-radius: 50%;
  border: 1px solid #e8e8e8;
  width: clamp(5rem, 2.538rem + 2.404vw, 6rem);
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media (max-width: 834px) {
  .lower-interview_l .interviews__item .bodyArea .infoArea .icon {
    width: 42px;
  }
}
.lower-interview_l .interviews__item .bodyArea .infoArea .icon::before {
  content: "";
  width: clamp(12.8px, 1.2307692308vw, 16px);
  aspect-ratio: 16/13;
  background: url(../img/common/icon_arrow_02.png) center center/contain no-repeat;
  pointer-events: none;
  display: block;
}

/* ============================================
// インタビュー詳細ページ
// ==========================================*/
.lower-interview_d .l-main {
  padding-top: 0;
}
.lower-interview_d .title {
  text-align: center;
  margin-bottom: 60px;
}
@media (max-width: 834px) {
  .lower-interview_d .title {
    margin-bottom: 30px;
  }
}
.lower-interview_d .title .eng {
  font-size: clamp(3.8rem, 2.098rem + 3.404vw, 7rem);
  font-weight: 500;
  color: #59cdea;
  letter-spacing: 0.1em;
  line-height: 1.4;
}
.lower-interview_d .title .ja {
  font-weight: 600;
  color: #1b66a2;
}
.lower-interview_d .interview {
  /*------------------------------
    メインエリア
  ------------------------------*/
}
.lower-interview_d .interview__main {
  position: relative;
  padding-top: 230px;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__main {
    padding-top: 120px;
  }
}
.lower-interview_d .interview__main__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__main__bg {
    height: 240px;
  }
}
.lower-interview_d .interview__main__bg::before {
  content: "";
  position: absolute;
  inset: 0;
  background: #1b66a2;
  pointer-events: none;
  z-index: -1;
}
.lower-interview_d .interview__main__bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: url(../img/kyujin/bg_jobs.png) top center/cover no-repeat;
  pointer-events: none;
  opacity: 0.01;
  -webkit-transition: opacity 1s 0.1s;
  transition: opacity 1s 0.1s;
}
.lower-interview_d .interview__main__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 5.5%;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__main__inner {
    display: block;
  }
}
.lower-interview_d .interview__main__inner .imgArea {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
  position: relative;
}
.lower-interview_d .interview__main__inner .imgArea::before {
  content: "";
  position: absolute;
  bottom: -210px;
  left: -150px;
  width: 384px;
  aspect-ratio: 384/404;
  background: url(../img/interview/interview_d_deco02.png) center center/contain no-repeat;
  pointer-events: none;
  z-index: -2;
}
.lower-interview_d .interview__main__inner .imgArea__image-bg {
  position: absolute;
  inset: -80px 0 0 -75px;
  pointer-events: none;
  z-index: -1;
  translate: -16px 0;
  opacity: 0.01;
  -webkit-transition: translate 2s cubic-bezier(0.14, 1, 0.34, 1) 0.3s, opacity 2s cubic-bezier(0.14, 1, 0.34, 1) 0.3s;
  transition: translate 2s cubic-bezier(0.14, 1, 0.34, 1) 0.3s, opacity 2s cubic-bezier(0.14, 1, 0.34, 1) 0.3s;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__main__inner .imgArea__image-bg {
    inset: -50px 0 0 -15px;
  }
}
.lower-interview_d .interview__main__inner .imgArea__image-bg.js-active {
  translate: 0 0;
  opacity: 1;
}
.lower-interview_d .interview__main__inner .imgArea .img {
  aspect-ratio: 600/401;
  max-width: 600px;
  margin: 0 auto;
}
.lower-interview_d .interview__main__inner .txtArea {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  margin-top: -0.5em;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__main__inner .txtArea {
    margin-top: 0;
  }
}
.lower-interview_d .interview__main__inner .txtArea .copy {
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.7;
  margin-right: 50px;
  color: #fff;
  position: relative;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__main__inner .txtArea .copy {
    font-size: 2.2rem;
    color: #031422;
    margin-right: 0;
    margin-top: 30px;
  }
}
.lower-interview_d .interview__main__inner .txtArea .info {
  margin-top: 50px;
  position: relative;
}
@media (min-width: 835px) {
  .lower-interview_d .interview__main__inner .txtArea .info {
    padding-top: 50px;
    height: 100%;
  }
}
@media (max-width: 834px) {
  .lower-interview_d .interview__main__inner .txtArea .info {
    margin-top: 30px;
  }
}
.lower-interview_d .interview__main__inner .txtArea .info::before {
  content: "";
  position: absolute;
  top: 0;
  left: -500%;
  right: 0;
  bottom: 0;
  display: inline-block;
  width: 1000%;
  z-index: -3;
  background: #fff;
  pointer-events: none;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__main__inner .txtArea .info::before {
    display: none;
  }
}
.lower-interview_d .interview__main__inner .txtArea .info .job-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 4px 8px;
}
.lower-interview_d .interview__main__inner .txtArea .info .job-wrapper .job {
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0.075em;
  color: #1b66a2;
  line-height: 1.6;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__main__inner .txtArea .info .job-wrapper .job {
    font-size: 1.4rem;
  }
}
.lower-interview_d .interview__main__inner .txtArea .info .person {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0 16px;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__main__inner .txtArea .info .person {
    gap: 2px 8px;
  }
}
.lower-interview_d .interview__main__inner .txtArea .info .person .name {
  font-size: clamp(3rem, 2.015rem + 0.962vw, 3.4rem);
  font-weight: 700;
  letter-spacing: 0.075em;
  line-height: 1.6;
  margin-top: 10px;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__main__inner .txtArea .info .person .name {
    font-size: 2rem;
  }
}
.lower-interview_d .interview__main__inner .txtArea .info .person .year {
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0.075em;
  color: #a6a6a6;
  line-height: 1.6;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__main__inner .txtArea .info .person .year {
    font-size: 1.4rem;
  }
}
.lower-interview_d .interview {
  /*------------------------------
    プロフィール・入社のきっかけ
  ------------------------------*/
}
.lower-interview_d .interview__profile-trigger {
  margin-top: 100px;
  margin-bottom: clamp(10rem, 5.077rem + 4.808vw, 12rem);
  position: relative;
  z-index: 1;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__profile-trigger {
    margin: 48px 0;
  }
}
.lower-interview_d .interview__profile-trigger::before {
  content: "";
  position: absolute;
  top: 110%;
  right: 0;
  translate: 0 -50%;
  width: 100%;
  aspect-ratio: 1181/1239;
  background: url(../img/interview/interview_d_main_bg.png) center center/cover no-repeat;
  pointer-events: none;
  z-index: -1;
}
.lower-interview_d .interview__profile-trigger__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__profile-trigger__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.lower-interview_d .interview__profile-trigger:not(:has(.interview__profile)) .interview__trigger {
  margin-top: 0;
}
.lower-interview_d .interview__profile, .lower-interview_d .interview__trigger {
  padding: clamp(5rem, 2.538rem + 2.404vw, 6rem) clamp(5rem, 0.077rem + 4.808vw, 7rem);
  background: #fff;
  -webkit-box-shadow: 0px 0px 30px 0px rgba(34, 34, 34, 0.1);
          box-shadow: 0px 0px 30px 0px rgba(34, 34, 34, 0.1);
}
@media (max-width: 834px) {
  .lower-interview_d .interview__profile, .lower-interview_d .interview__trigger {
    width: 100%;
    padding: 6.25%;
  }
}
.lower-interview_d .interview__profile .hd, .lower-interview_d .interview__trigger .hd {
  line-height: 1;
  margin-bottom: 20px;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__profile .hd, .lower-interview_d .interview__trigger .hd {
    margin-bottom: 12px;
  }
}
.lower-interview_d .interview__profile {
  width: 680px;
  width: 56.6666666667%;
  z-index: 2;
  position: relative;
  margin-left: auto;
  -webkit-box-flex: 1;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__profile {
    width: 94%;
  }
}
.lower-interview_d .interview__profile .hd {
  font-size: 5rem;
  font-family: "Cormorant Garamond", serif;
  color: #1b66a2;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__profile .hd {
    font-size: 3rem;
  }
}
.lower-interview_d .interview__trigger {
  width: 580px;
  width: 48.3333333333%;
  z-index: 1;
  padding-right: clamp(8rem, 0.615rem + 7.212vw, 11rem);
  background: #1b66a2;
  color: #fff;
  margin-top: clamp(6rem, -8.769rem + 14.423vw, 12rem);
  -webkit-box-flex: 1;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto;
  margin-right: -60px;
  position: relative;
  overflow: hidden;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__trigger {
    position: relative;
    width: 94%;
    padding: 6.25%;
    margin-top: -30px;
    padding-top: 56px;
  }
}
.lower-interview_d .interview__trigger::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  background: url(../img/interview/interview_d_trigger_bg.png) center right/cover no-repeat;
  pointer-events: none;
  width: 710px;
  aspect-ratio: 710/649;
  z-index: 1;
}
.lower-interview_d .interview__trigger .hd {
  font-size: 3rem;
  font-weight: 600;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__trigger .hd {
    font-size: 2rem;
  }
}
.lower-interview_d .interview {
  /*------------------------------
    動画で見る
  ------------------------------*/
}
.lower-interview_d .interview__movie {
  background: #fff;
  position: relative;
  padding-bottom: clamp(14rem, 9.077rem + 4.808vw, 16rem);
  margin-bottom: clamp(10rem, 0.154rem + 9.615vw, 14rem);
}
@media (max-width: 834px) {
  .lower-interview_d .interview__movie {
    padding-bottom: 60px;
    margin-bottom: 48px;
  }
}
.lower-interview_d .interview__movie::before {
  content: "";
  position: absolute;
  background: -webkit-gradient(linear, left top, left bottom, from(#ffffff), to(#59cdea));
  background: linear-gradient(to bottom, #ffffff 0%, #59cdea 100%);
  pointer-events: none;
  bottom: 0;
  left: 0;
  right: 0;
  opacity: 0.1;
  height: 70%;
}
.lower-interview_d .interview__movie__contents {
  position: relative;
}
.lower-interview_d .interview__movie .movie {
  max-width: 800px;
  aspect-ratio: 16/9;
  margin: 0 auto;
  margin-top: 40px;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__movie .movie {
    margin-top: 16px;
  }
}
.lower-interview_d .interview__movie .movie iframe {
  width: 100%;
  height: 100%;
  vertical-align: bottom;
}
.lower-interview_d .interview {
  /*------------------------------
    インタビューコンテンツ（通常）
  ------------------------------*/
}
.lower-interview_d .interview__topics {
  margin-top: 80px;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__topics {
    margin-top: 48px;
  }
}
.lower-interview_d .interview__topics__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 5%;
  padding: 3em 0;
  counter-increment: topic-num;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__topics__item {
    display: block;
    margin-bottom: 40px;
    padding: 0;
    border-bottom: none;
  }
}
@media (min-width: 835px) {
  .lower-interview_d .interview__topics__item:first-child {
    padding-top: 0;
  }
  .lower-interview_d .interview__topics__item:last-child {
    padding-bottom: 0;
    border-bottom: none;
  }
  .lower-interview_d .interview__topics__item:nth-child(even) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-flow: row-reverse;
            flex-flow: row-reverse;
  }
}
@media (max-width: 834px) {
  .lower-interview_d .interview__topics__item:last-child {
    margin-bottom: 0;
  }
}
.lower-interview_d .interview__topics__item .imgArea {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 37.5%;
          flex: 0 0 37.5%;
  aspect-ratio: 450/301;
  background: #f5f5f5;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__topics__item .imgArea {
    margin-bottom: 1.5em;
  }
}
.lower-interview_d .interview__topics__item .txtArea {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
}
.lower-interview_d .interview__topics__item .txtArea .lead {
  font-size: clamp(2.6rem, 1.615rem + 0.962vw, 3rem);
  font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  line-height: 1.7;
  margin-bottom: 0.5em;
  color: #1b66a2;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__topics__item .txtArea .lead {
    font-size: 1.4em;
  }
}
.lower-interview_d .interview {
  /*------------------------------
    Q&A
  ------------------------------*/
}
.lower-interview_d .interview__qa {
  margin: clamp(14rem, 9.077rem + 4.808vw, 16rem) 0 clamp(14rem, -0.769rem + 14.423vw, 20rem);
}
@media (max-width: 834px) {
  .lower-interview_d .interview__qa {
    margin: 80px 0;
  }
}
.lower-interview_d .interview__qa__inner .qa {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 50px 10%;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__qa__inner .qa {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.lower-interview_d .interview__qa__inner .qa__item {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 45%;
          flex: 0 0 45%;
  background: #fff;
  padding: clamp(4rem, 1.538rem + 2.404vw, 5rem);
  padding-top: clamp(5rem, 2.538rem + 2.404vw, 6rem);
  -webkit-box-shadow: 0px 0px 30px 0px rgba(34, 34, 34, 0.1);
          box-shadow: 0px 0px 30px 0px rgba(34, 34, 34, 0.1);
  position: relative;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__qa__inner .qa__item {
    padding: 6.25%;
    padding-top: 30px;
  }
}
.lower-interview_d .interview__qa__inner .qa__item:nth-child(2n) {
  margin-top: 90px;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__qa__inner .qa__item:nth-child(2n) {
    margin-top: 0;
  }
}
@media (max-width: 834px) {
  .lower-interview_d .interview__qa__inner .qa__item:nth-child(2n)::before {
    left: auto;
    right: -50px;
  }
}
.lower-interview_d .interview__qa__inner .qa__item::before {
  content: "";
  position: absolute;
  top: -80px;
  left: -80px;
  width: 554px;
  aspect-ratio: 613/531;
  -webkit-mask: url(../img/interview/interview_d_deco.png) center center/contain no-repeat;
          mask: url(../img/interview/interview_d_deco.png) center center/contain no-repeat;
  background: rgba(27, 102, 162, 0.1);
  pointer-events: none;
  z-index: -1;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__qa__inner .qa__item::before {
    width: 300px;
    top: -30px;
  }
}
.lower-interview_d .interview__qa__inner .qa__item::after {
  content: "Q";
  position: absolute;
  top: -75px;
  left: 50px;
  color: #fdf164;
  font-size: 7rem;
  font-family: "Cormorant Garamond", serif;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__qa__inner .qa__item::after {
    top: -45px;
    left: 10px;
    font-size: 4.2rem;
  }
}
.lower-interview_d .interview__qa__inner .qa__item .lead {
  font-size: 2.2rem;
  font-weight: 600;
  color: #59cdea;
  line-height: 1.6;
  margin-bottom: 20px;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__qa__inner .qa__item .lead {
    font-size: 1.7rem;
    margin-bottom: 10px;
  }
}
.lower-interview_d .interview__qa__inner .qa__item .txt {
  line-height: 1.8;
}
.lower-interview_d .interview {
  /*------------------------------
    一日の流れ
  ------------------------------*/
}
.lower-interview_d .interview__schedule {
  position: relative;
  z-index: 1;
  margin: 100px 0;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__schedule {
    margin: 48px 0;
  }
}
.lower-interview_d .interview__schedule .title .eng {
  color: #ffffff;
}
.lower-interview_d .interview__schedule .title .ja {
  color: #ffffff;
}
.lower-interview_d .interview__schedule .body {
  background: #1b66a2;
  padding: clamp(8rem, 3.077rem + 4.808vw, 10rem) clamp(8rem, -1.846rem + 9.615vw, 12rem);
  position: relative;
  overflow: hidden;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__schedule .body {
    padding: 40px 6.25%;
  }
}
.lower-interview_d .interview__schedule .body::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background: url(../img/interview/interview_d_oneday_bg.png) center right/cover no-repeat;
  pointer-events: none;
  width: 100%;
  aspect-ratio: 1200/771;
}
.lower-interview_d .interview__schedule .body::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  background: url(../img/interview/interview_d_oneday_bg02.png) center right/cover no-repeat;
  pointer-events: none;
  width: 710px;
  aspect-ratio: 710/649;
  z-index: 1;
}
.lower-interview_d .interview__schedule .timeline {
  position: relative;
  z-index: 1;
}
.lower-interview_d .interview__schedule .timeline::before {
  content: "";
  width: 1px;
  position: absolute;
  z-index: -1;
  top: 10px;
  bottom: 0;
  left: 10px;
  background: #fff;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__schedule .timeline::before {
    left: 0;
  }
}
.lower-interview_d .interview__schedule .timeline__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 1em 0;
  color: #ffffff;
  position: relative;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__schedule .timeline__item {
    display: block;
  }
}
.lower-interview_d .interview__schedule .timeline__item:first-child {
  padding-top: 0;
}
.lower-interview_d .interview__schedule .timeline__item:last-child {
  border-bottom: none;
  padding-bottom: 0;
}
.lower-interview_d .interview__schedule .timeline__item:last-child::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin-top: 30px;
  margin-left: 8px;
  width: 5px;
  background-color: #1b66a2;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__schedule .timeline__item:last-child::before {
    margin-left: -1px;
    margin-top: 25px;
  }
}
.lower-interview_d .interview__schedule .timeline__item .timeArea {
  position: relative;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 130px;
          flex: 0 0 130px;
  font-size: clamp(2.8rem, 2.308rem + 0.481vw, 3rem);
  line-height: 1;
  padding-left: 50px;
  font-family: "Cormorant Garamond", serif;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__schedule .timeline__item .timeArea {
    display: block;
    font-size: 2rem;
    margin-bottom: 10px;
    padding-left: 20px;
  }
}
.lower-interview_d .interview__schedule .timeline__item .timeArea::before {
  content: "";
  aspect-ratio: 1/1;
  width: 10px;
  position: absolute;
  left: 0;
  top: 0.3em;
  border-radius: 50%;
  -webkit-transform: translate(50%, 0);
          transform: translate(50%, 0);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background: #fdf164;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__schedule .timeline__item .timeArea::before {
    right: inherit;
    left: 0;
    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
  }
}
.lower-interview_d .interview__schedule .timeline__item .txtArea {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  padding-left: clamp(3rem, -1.923rem + 4.808vw, 5rem);
}
@media (max-width: 834px) {
  .lower-interview_d .interview__schedule .timeline__item .txtArea {
    padding-left: 20px;
  }
}
.lower-interview_d .interview__schedule .timeline__item .txtArea .hd {
  font-size: 1.7rem;
  font-weight: 700;
  line-height: 1.6;
  padding: 4px 10px 2px;
  border: 1px solid #ffffff;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-bottom: 10px;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__schedule .timeline__item .txtArea .hd {
    font-size: 1.125em;
  }
}
.lower-interview_d .interview__schedule .timeline__item .txtArea .txt {
  margin-top: 0.25em;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__schedule .timeline__item .txtArea .txt {
    font-size: 0.95em;
  }
}
.lower-interview_d .interview {
  /*------------------------------
    メッセージ
  ------------------------------*/
}
.lower-interview_d .interview__message {
  margin: clamp(12rem, -12.615rem + 24.038vw, 22rem) 0 clamp(11rem, -6.231rem + 16.827vw, 18rem);
  position: relative;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__message {
    margin: 48px 0;
  }
}
.lower-interview_d .interview__message::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -200px;
  translate: 0 -50%;
  width: 100%;
  aspect-ratio: 1225/1239;
  background: url(../img/interview/interview_d_message_bg.png) center center/cover no-repeat;
  pointer-events: none;
  z-index: -1;
}
.lower-interview_d .interview__message .title {
  text-align: left;
  margin-bottom: 40px;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__message .title {
    margin-right: auto;
    margin-bottom: 30px;
  }
}
.lower-interview_d .interview__message .body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8%;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__message .body {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.lower-interview_d .interview__message .body .imgArea {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 35%;
          flex: 0 0 35%;
  position: relative;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__message .body .imgArea {
    width: 90%;
    margin: 0 auto 30px;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
}
.lower-interview_d .interview__message .body .imgArea__image-bg {
  position: absolute;
  inset: -80px -40px 0 -55px;
  pointer-events: none;
  z-index: -1;
  translate: -16px 0;
  opacity: 0.01;
  -webkit-transition: translate 2s cubic-bezier(0.14, 1, 0.34, 1) 0.3s, opacity 2s cubic-bezier(0.14, 1, 0.34, 1) 0.3s;
  transition: translate 2s cubic-bezier(0.14, 1, 0.34, 1) 0.3s, opacity 2s cubic-bezier(0.14, 1, 0.34, 1) 0.3s;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__message .body .imgArea__image-bg {
    inset: -50px -20px 0 -15px;
  }
}
.lower-interview_d .interview__message .body .imgArea__image-bg.js-active {
  translate: 0 0;
  opacity: 1;
}
.lower-interview_d .interview__message .body .imgArea .img {
  aspect-ratio: 420/276;
}
.lower-interview_d .interview__message .body .txtArea {
  position: relative;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__message .body .txtArea {
    display: contents;
  }
}
@media (max-width: 834px) {
  .lower-interview_d .interview__message .body .txtArea .title {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
}
@media (max-width: 834px) {
  .lower-interview_d .interview__message .body .txtArea .txt {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
}
.lower-interview_d .interview {
  /*------------------------------
    戻るボタン／取材日
  ------------------------------*/
}
.lower-interview_d .interview__bottom {
  margin: 90px 0;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__bottom {
    margin: 48px 0;
  }
}
.lower-interview_d .interview__bottom .common-btn__body {
  margin: 0 auto;
}
.lower-interview_d .interview__bottom .common-btn__link {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  padding: 1em 40px 1em 30px;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__bottom .common-btn__link {
    padding: 1em 32px 1em 20px;
  }
}
.lower-interview_d .interview__bottom .common-btn__icon {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
.lower-interview_d .interview__bottom .date {
  display: block;
  text-align: center;
  font-size: 1.4rem;
  margin-top: 1.5em;
  border: 1px solid #e8e8e8;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 5px 15px;
  margin: 0 auto 80px;
  background: #fff;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__bottom .date {
    margin-bottom: 40px;
    font-size: 1.2rem;
  }
}

.js-loaded .interview__main__bg::after {
  opacity: 1;
}

/* ============================================
//近江八幡市の魅力ページ
// ==========================================*/
.lower-charm .l-main {
  position: relative;
  padding-top: 0;
}
.lower-charm .l-main::after {
  content: "";
  position: absolute;
  bottom: -260px;
  right: 0;
  width: 1202px;
  aspect-ratio: 1202/1152;
  background: url(../img/qa/bg_deco02.png) center top/contain no-repeat;
  pointer-events: none;
  z-index: -1;
}
@media (max-width: 834px) {
  .lower-charm .l-main::after {
    bottom: -190px;
    right: -530px;
  }
}
.lower-charm .topArea_wrap {
  position: relative;
  padding-top: 110px;
}
@media (max-width: 1180px) {
  .lower-charm .topArea_wrap {
    padding-top: 30px;
  }
}
.lower-charm .topArea_wrap::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  aspect-ratio: 1440/790;
  background: url(../img/charm/charm_toparea_bg.png) center top/contain no-repeat;
  pointer-events: none;
  z-index: -1;
}
.lower-charm .charm__leadArea {
  padding-bottom: 80px;
}
@media (max-width: 834px) {
  .lower-charm .charm__leadArea {
    padding-bottom: 40px;
  }
}
.lower-charm .charm__leadArea__title {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column;
          flex-flow: column;
}
.lower-charm .charm__leadArea__title .eng {
  font-family: "Cormorant Garamond", serif;
  color: rgba(28, 104, 163, 0.1);
  font-size: 14.5rem;
  line-height: 1;
  letter-spacing: 0;
  font-weight: 500;
}
@media (max-width: 834px) {
  .lower-charm .charm__leadArea__title .eng {
    font-size: 5rem;
  }
}
.lower-charm .charm__leadArea__title .ja {
  font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 4.8rem;
  color: #1c68a3;
  line-height: 1.6;
  font-weight: 600;
  margin-top: -60px;
  letter-spacing: 0.1em;
}
@media (max-width: 834px) {
  .lower-charm .charm__leadArea__title .ja {
    font-size: 2.4rem;
    margin-top: -20px;
    letter-spacing: 0.075em;
  }
}
.lower-charm .charm__leadArea__text {
  text-align: center;
  margin-top: 36px;
}
@media (max-width: 834px) {
  .lower-charm .charm__leadArea__text {
    margin-top: 10px;
    text-align: left;
  }
}
.lower-charm .charm__history {
  padding: 130px 0;
  position: relative;
}
@media (max-width: 1180px) {
  .lower-charm .charm__history {
    padding: 90px 0;
  }
}
@media (max-width: 834px) {
  .lower-charm .charm__history {
    padding: 50px 0;
  }
}
@media (max-width: 834px) {
  .lower-charm .charm__history {
    background-color: #1b66a2;
  }
}
.lower-charm .charm__history::before {
  content: "";
  position: absolute;
  background: url(../img/charm/history_bg01.png) center/contain no-repeat;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  aspect-ratio: 1440/924;
  opacity: 0.2;
  z-index: 0;
  pointer-events: none;
}
.lower-charm .charm__history::after {
  content: "";
  position: absolute;
  background-color: #1b66a2;
  inset: 0;
  z-index: -2;
  pointer-events: none;
}
@media (max-width: 834px) {
  .lower-charm .charm__history::after {
    display: none;
  }
}
.lower-charm .charm__history__deco::before {
  position: absolute;
  content: "";
  top: 0;
  right: 0;
  width: 500px;
  height: 800px;
  pointer-events: none;
  background-color: #1b66a2;
  z-index: -1;
}
@media (max-width: 834px) {
  .lower-charm .charm__history__deco::before {
    display: none;
  }
}
.lower-charm .charm__history__deco::after {
  content: "";
  position: absolute;
  top: 0;
  left: 11.8vw;
  width: 100%;
  aspect-ratio: 1119/803;
  background: url(../img/charm/charm_history_bg02.png) center top/contain no-repeat;
  pointer-events: none;
  z-index: -1;
}
@media (max-width: 834px) {
  .lower-charm .charm__history__deco::after {
    background: url(../img/charm/charm_history_bg03.png) center top/contain no-repeat;
    aspect-ratio: 1434/803;
    left: 0;
    z-index: 0;
  }
}
.lower-charm .charm__history__title {
  color: #fff;
}
.lower-charm .charm__history__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column;
          flex-flow: column;
  gap: 70px;
  margin-top: 54px;
}
@media (max-width: 834px) {
  .lower-charm .charm__history__list {
    gap: 32px;
    margin-top: 30px;
  }
}
.lower-charm .charm__history__list .list_item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 5.28%;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 4.18%;
  position: relative;
  border: 1px solid #fff;
  background-color: rgba(255, 255, 255, 0.05);
}
@media (max-width: 834px) {
  .lower-charm .charm__history__list .list_item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-flow: column;
            flex-flow: column;
    gap: 16px;
    padding: 32px 24px;
    margin-inline: -1%;
  }
}
.lower-charm .charm__history__list .list_item::before {
  position: absolute;
  content: "";
  background-color: #fff;
  width: 1px;
  height: 70px;
  bottom: -70px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  pointer-events: none;
}
@media (max-width: 834px) {
  .lower-charm .charm__history__list .list_item::before {
    height: 32px;
    bottom: -32px;
  }
}
.lower-charm .charm__history__list .list_item .img {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 25.5%;
          flex: 0 0 25.5%;
  max-width: 280px;
  aspect-ratio: 280/184;
}
@media (max-width: 1180px) {
  .lower-charm .charm__history__list .list_item .img {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 27.5%;
            flex: 0 0 27.5%;
  }
}
.lower-charm .charm__history__list .list_item .textArea {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
}
.lower-charm .charm__history__list .list_item .textArea .hd {
  font-weight: bold;
  color: #fff;
  font-size: 2.69rem;
  line-height: 1.6;
  font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(60%, #10568c));
  background: linear-gradient(transparent 60%, #10568c 60%);
  display: inline;
}
@media (max-width: 834px) {
  .lower-charm .charm__history__list .list_item .textArea .hd {
    font-size: 2rem;
  }
}
.lower-charm .charm__history__list .list_item .textArea .text {
  color: #fff;
  margin-top: 24px;
}
@media (max-width: 834px) {
  .lower-charm .charm__history__list .list_item .textArea .text {
    margin-top: 16px;
  }
}
@media (min-width: 835px) {
  .lower-charm .charm__history__list .list_item:nth-child(even) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}
.lower-charm .charm__history__list .list_item:last-child::before {
  display: none;
}
.lower-charm .charm__seasons {
  padding: 130px 0;
  position: relative;
}
@media (max-width: 1180px) {
  .lower-charm .charm__seasons {
    padding: 90px 0;
  }
}
@media (max-width: 834px) {
  .lower-charm .charm__seasons {
    padding: 50px 0;
  }
}
.lower-charm .charm__seasons::before {
  content: "";
  position: absolute;
  background: -webkit-gradient(linear, left top, left bottom, from(#ffffff), to(#59cdea));
  background: linear-gradient(to bottom, #ffffff 0%, #59cdea 100%);
  pointer-events: none;
  bottom: 0;
  left: 0;
  right: 0;
  opacity: 0.1;
  height: 70%;
}
.lower-charm .charm__seasons__title .eng {
  color: #1c68a3;
}
.lower-charm .charm__seasons__text {
  margin-top: 36px;
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 834px) {
  .lower-charm .charm__seasons__text {
    margin-top: 20px;
  }
}
@media (max-width: 834px) {
  .lower-charm .charm__seasons__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-flow: column;
            flex-flow: column;
    margin-top: 40px;
    position: relative;
  }
}
.lower-charm .charm__seasons__content .hdArea {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 90px;
  gap: 16px;
}
@media (max-width: 834px) {
  .lower-charm .charm__seasons__content .hdArea {
    display: contents;
  }
}
.lower-charm .charm__seasons__content .hdArea .title {
  font-size: 3.2rem;
  font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-weight: 600;
  line-height: 1.6;
}
@media (max-width: 834px) {
  .lower-charm .charm__seasons__content .hdArea .title {
    font-size: 2rem;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
}
.lower-charm .charm__seasons__content .hdArea .swiper_btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 11px;
}
@media (max-width: 834px) {
  .lower-charm .charm__seasons__content .hdArea .swiper_btn {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    position: absolute;
    top: 50%;
    z-index: 2;
    left: -20px;
    right: -20px;
  }
}
.lower-charm .charm__seasons__content .hdArea .swiper_btn .seasons__swiper-button {
  width: 70px;
  border: 1px solid #e8e8e8;
  border-radius: 50%;
  aspect-ratio: 1/1;
  background-color: #fff;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  cursor: pointer;
}
@media (max-width: 834px) {
  .lower-charm .charm__seasons__content .hdArea .swiper_btn .seasons__swiper-button {
    width: 42px;
  }
}
.lower-charm .charm__seasons__content .hdArea .swiper_btn .seasons__swiper-button::before {
  content: "";
  background: url(../img/common/icon_arrow_02.png) center/contain no-repeat;
  aspect-ratio: 30/26;
  max-width: 15px;
  width: 100%;
}
@media (max-width: 834px) {
  .lower-charm .charm__seasons__content .hdArea .swiper_btn .seasons__swiper-button::before {
    max-width: 12px;
  }
}
@media (any-hover: hover) {
  .lower-charm .charm__seasons__content .hdArea .swiper_btn .seasons__swiper-button:hover {
    background: #e1f2ff;
  }
}
.lower-charm .charm__seasons__content .hdArea .swiper_btn .seasons__swiper-button.-prev::before {
  -webkit-transform: scaleX(-1);
          transform: scaleX(-1);
}
.lower-charm .charm__seasons__content .hdArea .swiper_btn .swiper-button-disabled {
  pointer-events: none;
  opacity: 0.6;
}
@media (min-width: 835px) {
  .lower-charm .charm__seasons__content .swiepr_seasons {
    max-width: 570px;
  }
}
@media (max-width: 834px) {
  .lower-charm .charm__seasons__content .swiepr_seasons {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
}
.lower-charm .charm__seasons__content .seasons__swiper {
  margin-top: 70px;
  margin-left: 20px;
}
@media (max-width: 834px) {
  .lower-charm .charm__seasons__content .seasons__swiper {
    margin-top: 30px;
    margin-left: 0;
  }
}
.lower-charm .charm__seasons__content .seasons__swiper .swiper-wrapper {
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}
.lower-charm .charm__seasons__content .seasons__slide {
  max-width: 550px;
  background-color: #fff;
  -webkit-box-shadow: 0px 0px 30px 0px rgba(34, 34, 34, 0.1);
          box-shadow: 0px 0px 30px 0px rgba(34, 34, 34, 0.1);
  padding: 48px 50px;
  position: relative;
  height: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media (max-width: 834px) {
  .lower-charm .charm__seasons__content .seasons__slide {
    padding: 32px 26px;
    max-width: 100%;
  }
}
.lower-charm .charm__seasons__content .seasons__slide:nth-child(4n+1) .season {
  border-color: #fda4ba;
  color: #fda4ba;
}
.lower-charm .charm__seasons__content .seasons__slide:nth-child(4n+1) .season::before {
  background-image: linear-gradient(150deg, #fff 26%, rgba(253, 164, 186, 0.35) 47%, #fff 47%);
}
.lower-charm .charm__seasons__content .seasons__slide:nth-child(4n+2) .season {
  border-color: #59cdea;
  color: #59cdea;
}
.lower-charm .charm__seasons__content .seasons__slide:nth-child(4n+2) .season::before {
  background-image: linear-gradient(150deg, #fff 26%, rgba(89, 205, 234, 0.35) 47%, #fff 47%);
}
.lower-charm .charm__seasons__content .seasons__slide:nth-child(4n+3) .season {
  border-color: #ff9b45;
  color: #ff9b45;
}
.lower-charm .charm__seasons__content .seasons__slide:nth-child(4n+3) .season::before {
  background-image: linear-gradient(150deg, #fff 26%, rgba(255, 155, 69, 0.35) 47%, #fff 47%);
}
.lower-charm .charm__seasons__content .seasons__slide:nth-child(4n+4) .season {
  border-color: #1c68a3;
  color: #1c68a3;
}
.lower-charm .charm__seasons__content .seasons__slide:nth-child(4n+4) .season::before {
  background-image: linear-gradient(150deg, #fff 26%, rgba(28, 104, 163, 0.35) 47%, #fff 47%);
}
.lower-charm .charm__seasons__content .seasons__slide .season {
  font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  border-radius: 50%;
  aspect-ratio: 1/1;
  width: 100px;
  border: 1px solid #000;
  font-size: 4.8rem;
  font-weight: 600;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: absolute;
  top: -20px;
  left: -20px;
  background-color: #fff;
  z-index: 1;
}
@media (max-width: 834px) {
  .lower-charm .charm__seasons__content .seasons__slide .season {
    font-size: 2.4rem;
    width: 60px;
    top: -15px;
    left: -15px;
  }
}
.lower-charm .charm__seasons__content .seasons__slide .season::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
  z-index: 0;
  background-image: linear-gradient(135deg, #fff 0%, rgba(253, 164, 186, 0.5) 45%, #fff 51%);
  opacity: 0.4;
  pointer-events: none;
}
.lower-charm .charm__seasons__content .seasons__slide .season span {
  z-index: 1;
}
.lower-charm .charm__seasons__content .seasons__slide .img {
  max-width: 450px;
  max-height: 295px;
  margin: 0 auto;
  margin-inline: auto;
  aspect-ratio: 450/295;
  width: 100%;
  height: 100%;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 295px;
          flex: 0 0 295px;
}
@media (max-width: 834px) {
  .lower-charm .charm__seasons__content .seasons__slide .img {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 185px;
            flex: 0 0 185px;
    max-height: 185px;
  }
}
.lower-charm .charm__seasons__content .seasons__slide .img img {
  -o-object-fit: contain;
     object-fit: contain;
}
.lower-charm .charm__seasons__content .seasons__slide .text {
  margin-top: 24px;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
}
@media (max-width: 834px) {
  .lower-charm .charm__seasons__content .seasons__slide .text {
    margin-top: 16px;
  }
}
.lower-charm .charm__feature {
  padding: 114px 0;
  position: relative;
}
@media (max-width: 1180px) {
  .lower-charm .charm__feature {
    padding: 90px 0 20px;
  }
}
@media (max-width: 540px) {
  .lower-charm .charm__feature {
    padding-top: 200px;
  }
}
.lower-charm .charm__feature::before {
  position: absolute;
  content: "";
  background: url(../img/charm/feature_bg01.jpg) center/contain no-repeat;
  aspect-ratio: 1061/710;
  max-width: 1061px;
  width: 100%;
  pointer-events: none;
  right: 0;
  top: 0;
  opacity: 0.3;
}
@media (max-width: 834px) {
  .lower-charm .charm__feature::before {
    max-width: 400px;
  }
}
@media (max-width: 540px) {
  .lower-charm .charm__feature::before {
    max-width: 100%;
  }
}
.lower-charm .charm__feature__inner {
  max-width: 1240px;
}
.lower-charm .charm__feature__title .sub_title {
  font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-weight: 600;
  line-height: 1.6;
  color: #59cdea;
  font-size: 2.4rem;
}
@media (max-width: 834px) {
  .lower-charm .charm__feature__title .sub_title {
    font-size: 1.5rem;
  }
}
.lower-charm .charm__feature__title .main_title {
  font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 5rem;
  color: #1c68a3;
  line-height: 1.6;
  font-weight: 600;
  letter-spacing: 0.1em;
}
@media (max-width: 834px) {
  .lower-charm .charm__feature__title .main_title {
    font-size: 2.4rem;
  }
}
.lower-charm .charm__feature__text {
  margin-top: 24px;
}
@media (max-width: 834px) {
  .lower-charm .charm__feature__text {
    margin-top: 20px;
  }
  .lower-charm .charm__feature__text br {
    display: none;
  }
}
.lower-charm .charm__feature__content {
  padding: 105px 90px;
  padding: 8.9% 8.181%;
  background-color: #fff;
  -webkit-box-shadow: 0px 0px 30px 0px rgba(34, 34, 34, 0.1);
          box-shadow: 0px 0px 30px 0px rgba(34, 34, 34, 0.1);
  margin-top: 70px;
}
@media (max-width: 834px) {
  .lower-charm .charm__feature__content {
    margin-top: 40px;
    padding: 32px 24px;
    margin-inline: -1.5%;
  }
}
.lower-charm .charm__feature__content .titleArea .title {
  color: #59cdea;
  font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 3.4rem;
  text-align: center;
  line-height: 1.6;
  font-weight: 500;
  letter-spacing: 0.085em;
}
@media (max-width: 1180px) {
  .lower-charm .charm__feature__content .titleArea .title {
    font-size: 3.2rem;
  }
}
@media (max-width: 834px) {
  .lower-charm .charm__feature__content .titleArea .title {
    font-size: 2.2rem;
    letter-spacing: 0.075em;
  }
}
.lower-charm .charm__feature__content .titleArea .text {
  line-height: 1.8;
  margin-top: 16px;
}
@media (max-width: 834px) {
  .lower-charm .charm__feature__content .titleArea .text {
    margin-top: 16px;
  }
}
.lower-charm .charm__feature__content .list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column;
          flex-flow: column;
  margin-top: 90px;
}
@media (max-width: 834px) {
  .lower-charm .charm__feature__content .list {
    margin-top: 30px;
  }
}
.lower-charm .charm__feature__content .list .list_item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 6.3%;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  border-bottom: 1px solid #e8e8e8;
  padding: 64px 0 36px;
}
@media (max-width: 834px) {
  .lower-charm .charm__feature__content .list .list_item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-flow: column;
            flex-flow: column;
    gap: 16px;
    padding: 32px 0;
  }
}
.lower-charm .charm__feature__content .list .list_item .icon {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 110px;
          flex: 0 0 110px;
  max-width: 110px;
  margin-left: 20px;
  margin-top: 20px;
  aspect-ratio: 1/1;
}
@media (max-width: 1180px) {
  .lower-charm .charm__feature__content .list .list_item .icon {
    margin-left: 0;
  }
}
@media (max-width: 834px) {
  .lower-charm .charm__feature__content .list .list_item .icon {
    margin: 0 auto;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    max-width: 100px;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100px;
            flex: 0 0 100px;
  }
}
.lower-charm .charm__feature__content .list .list_item .textArea {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
}
@media (max-width: 834px) {
  .lower-charm .charm__feature__content .list .list_item .textArea {
    display: contents;
  }
}
.lower-charm .charm__feature__content .list .list_item .textArea .hd {
  font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-weight: 600;
  color: #1c68a3;
  font-size: 2.6rem;
  line-height: 1.6;
  position: relative;
}
@media (max-width: 834px) {
  .lower-charm .charm__feature__content .list .list_item .textArea .hd {
    font-size: 1.8rem;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
}
.lower-charm .charm__feature__content .list .list_item .textArea .hd .num {
  position: absolute;
  top: -90px;
  left: 0;
  line-height: 1;
  font-family: "Cormorant Garamond", serif;
  font-size: 14.5rem;
  color: rgba(28, 104, 163, 0.1);
  font-weight: 500;
  pointer-events: none;
}
@media (max-width: 834px) {
  .lower-charm .charm__feature__content .list .list_item .textArea .hd .num {
    font-size: 8rem;
    top: -50px;
  }
}
.lower-charm .charm__feature__content .list .list_item .textArea .text {
  margin-top: 16px;
}
@media (max-width: 834px) {
  .lower-charm .charm__feature__content .list .list_item .textArea .text {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
    margin-top: 6px;
  }
}
.lower-charm .charm__feature__content .list .list_item:first-child {
  padding-top: 0;
}
.lower-charm .charm__feature__content .list .list_item:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

/* ============================================
// 研修制度ページ
// ==========================================*/
.lower-training .l-main::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  aspect-ratio: 1440/1131;
  background: url(../img/training/bg.png) center center/cover no-repeat;
  pointer-events: none;
  z-index: -1;
}
.lower-training .common-title__heading {
  gap: 32px;
}
@media (max-width: 834px) {
  .lower-training .common-title__heading {
    gap: 12px;
  }
}
.lower-training .common-title__eng {
  font-size: 1.4rem;
}
@media (max-width: 834px) {
  .lower-training .common-title__eng {
    font-size: 1.2rem;
  }
}
.lower-training .common-title__ja {
  font-size: 3.2rem;
}
@media (max-width: 834px) {
  .lower-training .common-title__ja {
    font-size: 2rem;
  }
}
.lower-training .training__container {
  padding: 50px 0 80px;
}
@media (max-width: 834px) {
  .lower-training .training__container {
    padding: 0px 0 20px;
  }
}
.lower-training .training__progression, .lower-training .training__programs, .lower-training .training__support {
  counter-increment: title-num;
}
.lower-training .training__progression__head, .lower-training .training__programs__head, .lower-training .training__support__head {
  position: relative;
  margin-bottom: 60px;
}
@media (max-width: 834px) {
  .lower-training .training__progression__head, .lower-training .training__programs__head, .lower-training .training__support__head {
    margin-bottom: 30px;
  }
}
.lower-training .training__progression__head::before, .lower-training .training__programs__head::before, .lower-training .training__support__head::before {
  content: counter(title-num, decimal-leading-zero);
  position: absolute;
  top: -90px;
  left: -40px;
  font-size: 15rem;
  color: rgba(27, 102, 162, 0.1);
  font-family: "Cormorant Garamond", serif;
  line-height: 1;
}
@media (max-width: 834px) {
  .lower-training .training__progression__head::before, .lower-training .training__programs__head::before, .lower-training .training__support__head::before {
    font-size: 10rem;
    top: -60px;
    left: -20px;
  }
}
.lower-training .training__progression__head .title, .lower-training .training__programs__head .title, .lower-training .training__support__head .title {
  font-size: 3.8rem;
  font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  color: #1b66a2;
  font-weight: 600;
  margin-bottom: 15px;
}
@media (max-width: 834px) {
  .lower-training .training__progression__head .title, .lower-training .training__programs__head .title, .lower-training .training__support__head .title {
    font-size: 2.2rem;
    margin-bottom: 8px;
  }
}
@media (max-width: 834px) {
  .lower-training .training__progression__head .text br, .lower-training .training__programs__head .text br, .lower-training .training__support__head .text br {
    display: none;
  }
}
.lower-training .training__progression__body .bodyTitle, .lower-training .training__programs__body .bodyTitle, .lower-training .training__support__body .bodyTitle {
  margin-bottom: 60px;
}
@media (max-width: 834px) {
  .lower-training .training__progression__body .bodyTitle, .lower-training .training__programs__body .bodyTitle, .lower-training .training__support__body .bodyTitle {
    margin-bottom: 30px;
  }
}
.lower-training .training__progression {
  margin-bottom: 160px;
  position: relative;
}
@media (max-width: 834px) {
  .lower-training .training__progression {
    margin-top: 10px;
    margin-bottom: 70px;
  }
}
.lower-training .training__progression::before {
  content: "";
  position: absolute;
  top: 100%;
  right: 0;
  translate: 0 -50%;
  width: 100%;
  aspect-ratio: 1401/1528;
  background: url(../img/training/bg02.png) center center/cover no-repeat;
  pointer-events: none;
  z-index: -1;
}
.lower-training .training__progression__body .progressionList {
  margin-left: 50px;
}
@media (max-width: 834px) {
  .lower-training .training__progression__body .progressionList {
    margin-left: 0;
  }
}
.lower-training .training__progression__body .progressionList__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 50px;
  position: relative;
  background: #fff;
  padding: clamp(4rem, 1.538rem + 2.404vw, 5rem) 50px;
  padding-left: clamp(7rem, 4.538rem + 2.404vw, 8rem);
  -webkit-box-shadow: 0px 0px 30px 0px rgba(34, 34, 34, 0.1);
          box-shadow: 0px 0px 30px 0px rgba(34, 34, 34, 0.1);
  margin-bottom: 50px;
}
@media (max-width: 834px) {
  .lower-training .training__progression__body .progressionList__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    padding: 6.25%;
    padding-left: 6.25%;
    padding-top: 40px;
    gap: 20px;
  }
}
.lower-training .training__progression__body .progressionList__item::before {
  content: "";
  position: absolute;
  bottom: -30px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 30px;
  height: 12px;
  background-color: #1b66a2;
  clip-path: polygon(0% 0%, 100% 0%, 50% 80%);
}
.lower-training .training__progression__body .progressionList__item:last-child {
  margin-bottom: 0;
}
.lower-training .training__progression__body .progressionList__item:last-child::before {
  display: none;
}
.lower-training .training__progression__body .progressionList__item:nth-child(2n) .imgArea::before {
  background: rgba(89, 205, 234, 0.2);
}
.lower-training .training__progression__body .progressionList__item .num {
  position: absolute;
  top: -25px;
  left: -50px;
  background: #1b66a2;
  width: clamp(10rem, 7.538rem + 2.404vw, 11rem);
  aspect-ratio: 1/1;
  border-radius: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #fff;
  font-weight: 700;
  font-size: 2rem;
  z-index: 3;
}
@media (max-width: 834px) {
  .lower-training .training__progression__body .progressionList__item .num {
    font-size: 1.4rem;
    width: 70px;
    left: -12px;
    top: -20px;
  }
}
.lower-training .training__progression__body .progressionList__item .textArea {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
}
.lower-training .training__progression__body .progressionList__item .imgArea {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  max-width: 230px;
  width: 100%;
  aspect-ratio: 230/153;
  position: relative;
}
@media (max-width: 834px) {
  .lower-training .training__progression__body .progressionList__item .imgArea {
    max-width: 260px;
  }
}
.lower-training .training__progression__body .progressionList__item .imgArea::before {
  content: "";
  position: absolute;
  top: -40px;
  left: -20px;
  width: 274px;
  aspect-ratio: 613/531;
  -webkit-mask: url(../img/training/deco01.png) center center/contain no-repeat;
          mask: url(../img/training/deco01.png) center center/contain no-repeat;
  background: rgba(27, 102, 162, 0.1);
  pointer-events: none;
}
.lower-training .training__progression__body .progressionList__item .imgArea img {
  position: relative;
  z-index: 2;
}
.lower-training .training__programs {
  margin-bottom: 160px;
}
@media (max-width: 834px) {
  .lower-training .training__programs {
    margin-bottom: 70px;
  }
}
.lower-training .training__programs__body {
  background: #1b66a2;
  padding: 70px clamp(6rem, 1.077rem + 4.808vw, 8rem) clamp(6rem, 1.077rem + 4.808vw, 8rem);
  position: relative;
  overflow: hidden;
}
@media (max-width: 834px) {
  .lower-training .training__programs__body {
    padding: 30px 6.25%;
  }
}
.lower-training .training__programs__body::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background: url(../img/training/programs_bg.png) center right/cover no-repeat;
  pointer-events: none;
  width: 100%;
  aspect-ratio: 1200/771;
}
.lower-training .training__programs__body::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: -140px;
  background: url(../img/training/programs_bg02.png) center right/cover no-repeat;
  pointer-events: none;
  width: 100%;
  aspect-ratio: 1116/969;
  z-index: 1;
}
.lower-training .training__programs__body .programsList__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 50px;
  padding: 50px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.3);
}
@media (max-width: 834px) {
  .lower-training .training__programs__body .programsList__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
    padding: 30px 0;
  }
}
.lower-training .training__programs__body .programsList__item:first-child {
  padding-top: 0;
}
.lower-training .training__programs__body .programsList__item:last-child {
  padding-bottom: 0;
  border-bottom: none;
}
.lower-training .training__programs__body .programsList__item:nth-child(2n) {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
@media (max-width: 834px) {
  .lower-training .training__programs__body .programsList__item:nth-child(2n) {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.lower-training .training__programs__body .programsList__item .imgArea {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  max-width: 206px;
  width: 100%;
  aspect-ratio: 206/137;
}
@media (max-width: 834px) {
  .lower-training .training__programs__body .programsList__item .imgArea {
    max-width: 310px;
  }
}
.lower-training .training__programs__body .programsList__item .textArea {
  color: #fff;
}
.lower-training .training__programs__body .programsList__item .textArea .title {
  font-weight: 600;
  font-size: 2.4rem;
  margin-bottom: 14px;
}
@media (max-width: 834px) {
  .lower-training .training__programs__body .programsList__item .textArea .title {
    font-size: 1.8rem;
    margin-bottom: 10px;
  }
}
.lower-training .training__programs__body .programsList__item .textArea .title::before {
  content: "";
  background: #59cdea;
  width: 9px;
  aspect-ratio: 1/1;
  border-radius: 50%;
  display: inline-block;
  margin-right: 10px;
  margin-bottom: 5px;
}
@media (max-width: 834px) {
  .lower-training .training__programs__body .programsList__item .textArea .title::before {
    margin-bottom: 2px;
  }
}
.lower-training .training__support {
  position: relative;
}
.lower-training .training__support::before {
  content: "";
  position: absolute;
  top: 37%;
  right: 0;
  translate: 0 -50%;
  width: 100%;
  aspect-ratio: 1401/1528;
  background: url(../img/training/bg02.png) center center/cover no-repeat;
  pointer-events: none;
  z-index: -1;
}
@media (max-width: 834px) {
  .lower-training .training__support::before {
    top: 20%;
  }
}
.lower-training .training__support__body .supportList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 40px;
}
@media (max-width: 834px) {
  .lower-training .training__support__body .supportList {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
  }
}
.lower-training .training__support__body .supportList__item {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 calc(50% - 20px);
          flex: 1 1 calc(50% - 20px);
  background: #fff;
  padding: 40px clamp(4rem, 1.538rem + 2.404vw, 5rem);
  -webkit-box-shadow: 0px 0px 30px 0px rgba(34, 34, 34, 0.1);
          box-shadow: 0px 0px 30px 0px rgba(34, 34, 34, 0.1);
  counter-increment: support-num;
}
@media (max-width: 834px) {
  .lower-training .training__support__body .supportList__item {
    padding: 6.25%;
  }
}
.lower-training .training__support__body .supportList__item .head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 20px;
  margin-bottom: 20px;
}
@media (max-width: 834px) {
  .lower-training .training__support__body .supportList__item .head {
    margin-bottom: 12px;
  }
}
.lower-training .training__support__body .supportList__item .head .icon {
  width: clamp(5.5rem, 4.436rem + 2.128vw, 7.5rem);
  aspect-ratio: 1/1;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}
.lower-training .training__support__body .supportList__item .head .title {
  font-size: 2.3rem;
  font-weight: 600;
}
@media (max-width: 834px) {
  .lower-training .training__support__body .supportList__item .head .title {
    font-size: 1.7rem;
  }
}
.lower-training .training__support__body .supportList__item .head .title::before {
  content: counter(support-num, decimal-leading-zero);
  display: block;
  color: #fff;
  background: #031422;
  font-size: 2.4rem;
  font-family: "Cormorant Garamond", serif;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0px 13px 4px;
  line-height: 1;
  border-radius: 50px;
  margin-bottom: 14px;
}
@media (max-width: 834px) {
  .lower-training .training__support__body .supportList__item .head .title::before {
    font-size: 1.8rem;
    margin-bottom: 12px;
  }
}

/* ============================================
// 数字で見るページ
// ==========================================*/
@media (max-width: 834px) {
  .lower-data .page-title__ja {
    font-size: 2.5rem;
  }
}
.lower-data .l-main::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  aspect-ratio: 1440/1131;
  background: url(../img/training/bg.png) center center/cover no-repeat;
  pointer-events: none;
  z-index: -1;
}
.lower-data {
  --engFont: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  --gapX: 40px;
  --gapY: 70px;
  --borderWidth: 2px;
  --borderRadius: 0;
  --titleSize: 2.2rem;
  --numberingSize: 3.4rem;
  --dataNumSize: 6.4rem;
  --dataNumSize54: 5.4rem;
  --dataNumSize50: 5rem;
  --dataNumSize32: 3.2rem;
  --dataNumColor: #1b66a2;
  --iconSize: 160px;
  --balanceChartHeight: 50px;
  --balanceChartColor01: #1b66a2;
  --balanceChartColor02: #d74242;
  --pieChartSize: 180px;
  --doughnutChartSize: 180px;
  --tipsColor01: #1b66a2;
  --tipsColor02: #FC1900;
  --tipsColor03: #007B8A;
  --tipsColor04: #F5A623;
  --tipsColor05: #6C3483;
}
.lower-data .data__container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 30px 40px;
}
@media (max-width: 834px) {
  .lower-data .data__container {
    padding: 0px 20px;
  }
}
.lower-data .data__container .data__body {
  position: relative;
}
@media (min-width: 835px) {
  .lower-data .data__container .data__body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: var(--gapY) var(--gapX);
  }
}
@media (min-width: 835px) and (max-width: 1200px) {
  .lower-data .data__container .data__body {
    --gapX: 24px;
    --gapY: 44px;
  }
}
@media (max-width: 834px) {
  .lower-data .data__container .data__body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-flow: column;
            flex-flow: column;
    gap: 40px;
  }
}
.lower-data .data__container .data__block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column;
          flex-flow: column;
  background: #fff;
  -webkit-box-shadow: 0px 0px 30px 0px rgba(34, 34, 34, 0.1);
          box-shadow: 0px 0px 30px 0px rgba(34, 34, 34, 0.1);
  border-radius: var(--borderRadius);
  position: relative;
}
@media (max-width: 834px) {
  .lower-data .data__container .data__block {
    width: 100%;
  }
}
@media (min-width: 835px) {
  .lower-data .data__container .data__block.-one {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 calc(33.3333333333% - var(--gapX) * 2 / 3);
            flex: 0 0 calc(33.3333333333% - var(--gapX) * 2 / 3);
    max-width: calc(33.3333333333% - var(--gapX) * 2 / 3);
  }
  .lower-data .data__container .data__block.-two {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 calc(66.6666666667% - var(--gapX) / 2);
            flex: 0 0 calc(66.6666666667% - var(--gapX) / 2);
    max-width: calc(66.6666666667% - var(--gapX) / 2);
  }
  .lower-data .data__container .data__block.-half {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 calc(50% - var(--gapX) / 2);
            flex: 0 0 calc(50% - var(--gapX) / 2);
    max-width: calc(50% - var(--gapX) / 2);
  }
  .lower-data .data__container .data__block.-full {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    max-width: 100%;
  }
}
.lower-data .data__container .data__block.-img {
  overflow: hidden;
  padding: 0;
  border: none;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.lower-data .data__container .data__block.-img .img {
  height: 100%;
}
.lower-data .data__container .data__block.-img .img img {
  aspect-ratio: 580/380;
}
.lower-data .data__container .data__block .head {
  position: relative;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  min-height: 120px;
}
@media (max-width: 834px) {
  .lower-data .data__container .data__block .head {
    min-height: 70px;
  }
}
.lower-data .data__container .data__block .head .numArea {
  font-family: "Cormorant Garamond", serif;
  font-size: var(--numberingSize);
  font-weight: 500;
  color: #ffffff;
  line-height: 1;
  position: absolute;
  z-index: 1;
  left: 14px;
  top: 0;
  background: #59cdea;
  translate: 0 -50%;
  border-radius: 50%;
  aspect-ratio: 1/1;
  width: 60px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media (max-width: 834px) {
  .lower-data .data__container .data__block .head .numArea {
    scale: 0.8;
    -webkit-transform-origin: left;
            transform-origin: left;
    font-size: calc(var(--numberingSize) * 0.9);
  }
}
.lower-data .data__container .data__block .head .numArea .num {
  margin-bottom: 8px;
}
.lower-data .data__container .data__block .head .title {
  font-size: var(--titleSize);
  font-weight: 700;
  line-height: 1.6;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 20px;
  padding-bottom: 10px;
  text-align: center;
  border-bottom: 1px solid #e8e8e8;
}
@media (max-width: 1200px) {
  .lower-data .data__container .data__block .head .title {
    font-size: calc(var(--titleSize) * 0.9);
  }
}
@media (max-width: 834px) {
  .lower-data .data__container .data__block .head .title {
    font-size: calc(var(--titleSize) * 0.8);
    padding-top: 30px;
    padding-bottom: 14px;
  }
}
.lower-data .data__container .data__block .head .title .title-sub {
  font-size: 1.3rem;
  color: #8e9195;
}
.lower-data .data__container .data__block .body {
  position: relative;
  z-index: 1;
  width: 100%;
  margin: auto;
  padding: 40px;
  padding: clamp(3rem, 2.8571428571vw, 4rem);
  min-height: 240px;
}
@media (max-width: 834px) {
  .lower-data .data__container .data__block .body {
    min-height: 180px;
    padding: 30px 6.25% 30px;
  }
}
.lower-data .data__container .data__block .body.-horizontal {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 32px;
}
@media (max-width: 834px) {
  .lower-data .data__container .data__block .body.-horizontal {
    gap: 24px;
  }
}
.lower-data .data__container .data__block .body.-vertical {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column;
          flex-flow: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 20px;
}
@media (max-width: 834px) {
  .lower-data .data__container .data__block .body.-vertical {
    gap: 14px;
  }
}
.lower-data .data__container .data__block .body .img {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.lower-data .data__container .data__block .body .img img {
  width: auto;
  max-height: 100%;
}
.lower-data .data__container .data__block .body .desc {
  background: #f8f8f8;
  padding: 15px 15px;
}
.lower-data .data__container .data__block .body .desc .text {
  font-size: 1.4rem;
  letter-spacing: 0.04em;
  line-height: 1.8;
}
@media (max-width: 834px) {
  .lower-data .data__container .data__block .body .desc .text {
    font-size: 1.3rem;
  }
}
.lower-data .data__container .data__block .annotation {
  font-size: 1.3rem;
  font-weight: 500;
  letter-spacing: 0.075em;
  color: #999999;
  line-height: 1.6;
  margin-left: auto;
  margin-right: 40px;
  margin-top: -20px;
  margin-bottom: 20px;
  text-align: right;
}
@media (max-width: 834px) {
  .lower-data .data__container .data__block .annotation {
    font-size: 1.2rem;
    margin-top: -10px;
    margin-right: 6.25%;
  }
}
.lower-data .data__container .data__block .data__multi {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 3%;
}
.lower-data .data__container .data__block .data .body {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: auto;
  margin: 0;
}
.lower-data .data__container .data__block .data .num {
  font-size: calc(var(--dataNumSize) * 0.31);
  line-height: 1;
  font-weight: 800;
  letter-spacing: 0.075em;
  color: var(--dataNumColor);
  font-family: var(--engFont);
}
@media (max-width: 834px) {
  .lower-data .data__container .data__block .data .num {
    font-size: calc(var(--dataNumSize) * 0.31 * 0.8);
  }
}
.lower-data .data__container .data__block .data .num:has(.-small) {
  font-size: calc(var(--dataNumSize) * 0.31 * 0.9);
}
@media (max-width: 834px) {
  .lower-data .data__container .data__block .data .num:has(.-small) {
    font-size: calc(var(--dataNumSize) * 0.31 * 0.8);
  }
}
.lower-data .data__container .data__block .data .num b {
  font-family: var(--engFont);
  font-size: var(--dataNumSize);
  font-weight: 700;
  color: var(--dataNumColor);
  -webkit-font-feature-settings: normal;
          font-feature-settings: normal;
  margin-right: 4px;
  letter-spacing: 0;
}
@media (max-width: 834px) {
  .lower-data .data__container .data__block .data .num b {
    font-size: calc(var(--dataNumSize) * 0.7);
  }
}
.lower-data .data__container .data__block .data .num b.-small {
  font-size: calc(var(--dataNumSize) * 0.7);
}
@media (max-width: 834px) {
  .lower-data .data__container .data__block .data .num b.-small {
    font-size: calc(var(--dataNumSize) * 0.7 * 0.7);
  }
}
.lower-data .data__container .data__block:has(.line-chart) .line-chart {
  width: 100%;
}
.lower-data .data__container .data__block:has(.line-chart) .line-chart .chart {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  margin: 0 auto;
  gap: 3px;
}
.lower-data .data__container .data__block:has(.line-chart) .line-chart .chart .line {
  width: 100%;
  height: var(--balanceChartHeight);
  -webkit-transition: width 1.3s ease;
  transition: width 1.3s ease;
}
@media (max-width: 834px) {
  .lower-data .data__container .data__block:has(.line-chart) .line-chart .chart .line {
    height: calc(var(--balanceChartHeight) * 0.65);
  }
}
.lower-data .data__container .data__block:has(.line-chart) .line-chart .chart .line:nth-child(2n+1) {
  background: var(--balanceChartColor01);
}
.lower-data .data__container .data__block:has(.line-chart) .line-chart .chart .line:nth-child(2n+2) {
  background: var(--balanceChartColor02);
}
.lower-data .data__container .data__block:has(.line-chart) .dataTitle {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 5px;
  font-size: 1.5rem;
}
@media (max-width: 834px) {
  .lower-data .data__container .data__block:has(.line-chart) .dataTitle {
    font-size: 1.3rem;
    margin-bottom: 0;
  }
}
.lower-data .data__container .data__block:has(.line-chart) .dataTitle__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 10px;
  font-weight: 700;
}
.lower-data .data__container .data__block:has(.line-chart) .dataTitle__item:last-child {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-flow: row-reverse;
          flex-flow: row-reverse;
}
.lower-data .data__container .data__block:has(.line-chart) .dataTitle__item img {
  max-width: 11px;
  aspect-ratio: 11/31;
}
@media (max-width: 834px) {
  .lower-data .data__container .data__block:has(.line-chart) .dataTitle__item img {
    max-width: 9px;
  }
}
.lower-data .data__container .data__block:has(.line-chart) .data {
  width: 100%;
}
.lower-data .data__container .data__block:has(.line-chart) .data__multi {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.lower-data .data__container .data__block:has(.line-chart) .data__multi .num b {
  font-size: calc(var(--dataNumSize50));
}
@media (max-width: 1279px) {
  .lower-data .data__container .data__block:has(.line-chart) .data__multi .num b {
    font-size: calc(var(--dataNumSize50) * 0.7);
    margin-right: 0;
  }
}
@media (max-width: 834px) {
  .lower-data .data__container .data__block:has(.line-chart) .data__multi .num b {
    font-size: calc(var(--dataNumSize50) * 0.7);
  }
}
.lower-data .data__container .data__block:has(.line-chart) .data__multi .separate {
  font-family: var(--engFont);
  font-size: 2.5em;
  font-weight: 700;
  line-height: 1;
  color: var(--dataNumColor);
}
@media (max-width: 1279px) {
  .lower-data .data__container .data__block:has(.line-chart) .data__multi .separate {
    font-size: 2rem;
  }
}
.lower-data .data__container .data__block .pie-chart {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: var(--pieChartSize);
  pointer-events: none;
}
@media (max-width: 834px) {
  .lower-data .data__container .data__block .pie-chart {
    width: calc(var(--pieChartSize) * 0.88);
  }
}
.lower-data .data__container .data__block .pie-chart .chart {
  position: relative;
  z-index: 1;
  aspect-ratio: 1/1;
  margin: 0 auto;
  border-radius: 50%;
}
.lower-data .data__container .data__block .pie-chart .chart::before {
  content: "";
  position: absolute;
  inset: 6px;
  z-index: -1;
  border-radius: 50%;
  background: #f0f7f9;
}
.lower-data .data__container .data__block .pie-chart .chart canvas {
  position: absolute;
  inset: 0;
}
.lower-data .data__container .data__block .doughnut-chart {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: var(--doughnutChartSize);
  pointer-events: none;
}
@media (max-width: 834px) {
  .lower-data .data__container .data__block .doughnut-chart {
    width: calc(var(--doughnutChartSize) * 0.75);
  }
}
.lower-data .data__container .data__block .doughnut-chart .chart {
  position: relative;
  z-index: 1;
  aspect-ratio: 1/1;
  width: 100%;
  margin: 0 auto;
  background: #f2f2f2;
  border-radius: 50%;
}
.lower-data .data__container .data__block .doughnut-chart .chart::before {
  content: "";
  position: absolute;
  inset: 23%;
  z-index: -1;
  border-radius: 50%;
  background: #ffffff;
}
.lower-data .data__container .data__block .doughnut-chart .chart canvas {
  position: absolute;
  inset: 0;
}
.lower-data .data__container .data__block .doughnut-chart .chart .num {
  position: absolute;
  inset: 0;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  margin: auto;
  font-size: calc(var(--dataNumSize) * 0.25 * 0.9);
  font-weight: 700;
  line-height: 1;
}
@media (max-width: 834px) {
  .lower-data .data__container .data__block .doughnut-chart .chart .num {
    font-size: calc(var(--dataNumSize) * 0.25 * 0.8);
  }
}
.lower-data .data__container .data__block .doughnut-chart .chart .num b {
  font-family: var(--engFont);
  font-size: calc(var(--dataNumSize) * 0.7);
  font-weight: 700;
  color: var(--dataNumColor);
  letter-spacing: -0.05em;
  margin-right: 4px;
  -webkit-font-feature-settings: "tnum";
          font-feature-settings: "tnum";
  font-variant-numeric: tabular-nums;
}
@media (max-width: 834px) {
  .lower-data .data__container .data__block .doughnut-chart .chart .num b {
    font-size: calc(var(--dataNumSize) * 0.7 * 0.7);
  }
}
.lower-data .data__container .data__block .doughnut-chart .chart .ico {
  position: absolute;
  z-index: 2;
  left: 16px;
  bottom: 0;
}
@media (max-width: 834px) {
  .lower-data .data__container .data__block .doughnut-chart .chart .ico {
    left: 8px;
  }
}
.lower-data .data__container .data__block .doughnut-chart .chart .ico img {
  height: 56px;
}
@media (max-width: 834px) {
  .lower-data .data__container .data__block .doughnut-chart .chart .ico img {
    height: 44px;
  }
}
.lower-data .data__container .data__block .bar-chart {
  width: 100%;
  max-width: 400px;
}
.lower-data .data__container .data__block .bar-chart canvas {
  aspect-ratio: 3/2;
}
@media (max-width: 834px) {
  .lower-data .data__container .data__block .bar-chart canvas {
    aspect-ratio: 2/1.2;
  }
}
.lower-data .data__container .data__block .bar-chart canvas.verticalBarChart {
  aspect-ratio: 1/1;
}
@media (max-width: 834px) {
  .lower-data .data__container .data__block .bar-chart canvas.verticalBarChart {
    aspect-ratio: 3/2;
  }
}
.lower-data .data__container .data__block .tips {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column;
          flex-flow: column;
  gap: 0.7em;
}
.lower-data .data__container .data__block .tips__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 0 8px;
  font-weight: 700;
}
.lower-data .data__container .data__block .tips__item::before {
  content: "";
  aspect-ratio: 1/1;
  width: 0.6em;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 0.6em;
          flex: 0 0 0.6em;
  margin-top: 0.8em;
}
.lower-data .data__container .data__block .tips__item b {
  font-family: var(--engFont);
  font-weight: 700;
  font-size: 1.7em;
  line-height: 1;
  margin-right: 0.1em;
}
.lower-data .data__container .data__block .tips__item:nth-child(5n+1)::before {
  background: var(--tipsColor01);
}
.lower-data .data__container .data__block .tips__item:nth-child(5n+2)::before {
  background: var(--tipsColor02);
}
.lower-data .data__container .data__block .tips__item:nth-child(5n+3)::before {
  background: var(--tipsColor03);
}
.lower-data .data__container .data__block .tips__item:nth-child(5n+4)::before {
  background: var(--tipsColor04);
}
.lower-data .data__container .data__block .tips__item:nth-child(5n+5)::before {
  background: var(--tipsColor05);
}
.lower-data .data__container .data__block .list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 15px;
}
@media (max-width: 834px) {
  .lower-data .data__container .data__block .list {
    gap: 10px;
  }
}
.lower-data .data__container .data__block .list__item {
  position: relative;
  font-weight: 700;
  padding: 0.65em 1.1em;
  border: 1px solid #59cdea;
}
@media (max-width: 834px) {
  .lower-data .data__container .data__block .list__item {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    font-size: 1.2rem;
  }
}
.lower-data .data__container .data__date {
  text-align: right;
  margin-top: 24px;
  font-size: 1.3rem;
  font-weight: 500;
  letter-spacing: 0.075em;
  color: #999999;
}
@media (max-width: 834px) {
  .lower-data .data__container .data__date {
    font-size: 1.2rem;
    margin-top: 16px;
  }
}
.lower-data .data__container {
  /*------------------------------
    項目ごとの設定
  ------------------------------*/
}
@media (max-width: 834px) {
  .lower-data .data__container #data01 {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
}
.lower-data .data__container #data01 .body .img {
  max-width: 104px;
  aspect-ratio: 1/1;
}
@media (max-width: 834px) {
  .lower-data .data__container #data01 .body .img {
    max-width: 72.8px;
  }
}
@media (max-width: 834px) {
  .lower-data .data__container #data02 {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
}
.lower-data .data__container #data02 .body .img {
  max-width: 168px;
  aspect-ratio: 168/107;
}
@media (max-width: 834px) {
  .lower-data .data__container #data02 .body .img {
    max-width: 117.6px;
  }
}
@media (max-width: 834px) {
  .lower-data .data__container #data03 {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
}
@media (max-width: 834px) {
  .lower-data .data__container #data03 .body {
    max-width: 400px;
  }
}
@media (max-width: 834px) {
  .lower-data .data__container #data04 {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
  }
}
.lower-data .data__container #data04 .body .list__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 20px;
  padding: 16px 20px 14px 24px;
  font-size: 1.5rem;
}
@media (max-width: 834px) {
  .lower-data .data__container #data04 .body .list__item {
    font-size: 1.4rem;
    padding: 10px 20px;
  }
}
.lower-data .data__container #data04 .body .list__item .num {
  line-height: 1;
  font-weight: 800;
  letter-spacing: 0.075em;
  color: var(--dataNumColor);
  font-family: var(--engFont);
}
.lower-data .data__container #data04 .body .list__item .num b {
  font-size: calc(var(--dataNumSize32));
  -webkit-font-feature-settings: normal;
          font-feature-settings: normal;
  margin-right: 2px;
}
@media (max-width: 834px) {
  .lower-data .data__container #data04 .body .list__item .num b {
    font-size: calc(var(--dataNumSize32) * 0.7);
  }
}
@media (max-width: 834px) {
  .lower-data .data__container #data05 {
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5;
  }
}
@media (max-width: 834px) {
  .lower-data .data__container #data05 .head .title br {
    display: none;
  }
}
@media (max-width: 834px) {
  .lower-data .data__container #data05 .body {
    max-width: 400px;
  }
}
@media (max-width: 834px) {
  .lower-data .data__container #img01 {
    -webkit-box-ordinal-group: 7;
        -ms-flex-order: 6;
            order: 6;
  }
}
@media (max-width: 834px) {
  .lower-data .data__container #img02 {
    -webkit-box-ordinal-group: 13;
        -ms-flex-order: 12;
            order: 12;
  }
}
@media (max-width: 834px) {
  .lower-data .data__container #data06 {
    -webkit-box-ordinal-group: 8;
        -ms-flex-order: 7;
            order: 7;
  }
}
.lower-data .data__container #data06 .body .img {
  max-width: 126px;
  aspect-ratio: 126/109;
}
@media (max-width: 834px) {
  .lower-data .data__container #data06 .body .img {
    max-width: 88.2px;
  }
}
@media (max-width: 834px) {
  .lower-data .data__container #data07 {
    -webkit-box-ordinal-group: 9;
        -ms-flex-order: 8;
            order: 8;
  }
}
.lower-data .data__container #data07 .body {
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
}
.lower-data .data__container #data07 .body .data_item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 24px;
}
@media (max-width: 1270px) {
  .lower-data .data__container #data07 .body .data_item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media (max-width: 834px) {
  .lower-data .data__container #data07 .body .data_item {
    gap: 12px;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
@media (max-width: 670px) {
  .lower-data .data__container #data07 .body .data_item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.lower-data .data__container #data07 .body .data_item:last-child .chartArea .doughnut-chart .img {
  max-width: 48px;
  aspect-ratio: 48/61;
}
@media (max-width: 834px) {
  .lower-data .data__container #data07 .body .data_item:last-child .chartArea .doughnut-chart .img {
    max-width: 33.6px;
  }
}
.lower-data .data__container #data07 .body .data_item .chartArea {
  height: 180px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  aspect-ratio: 1/1;
  max-width: 180px;
}
@media (max-width: 834px) {
  .lower-data .data__container #data07 .body .data_item .chartArea {
    height: 140px;
  }
}
.lower-data .data__container #data07 .body .data_item .chartArea .doughnut-chart .img {
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  max-width: 43px;
  aspect-ratio: 43/61;
}
@media (max-width: 834px) {
  .lower-data .data__container #data07 .body .data_item .chartArea .doughnut-chart .img {
    max-width: 30.1px;
  }
}
.lower-data .data__container #data07 .body .data_item .data .gender {
  margin-bottom: 14px;
  font-size: 1.5rem;
  font-weight: 700;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 10px;
}
@media (max-width: 834px) {
  .lower-data .data__container #data07 .body .data_item .data .gender {
    font-size: 1.3rem;
    margin-bottom: 8px;
  }
}
.lower-data .data__container #data07 .body .data_item .data .gender img {
  max-width: 11px;
  aspect-ratio: 11/31;
}
@media (max-width: 834px) {
  .lower-data .data__container #data07 .body .data_item .data .gender img {
    max-width: 8px;
  }
}
.lower-data .data__container #data08 .body .data,
.lower-data .data__container #data09 .body .data {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-family: var(--engFont);
  color: var(--dataNumColor);
}
.lower-data .data__container #data08 .body .data .separate,
.lower-data .data__container #data09 .body .data .separate {
  font-size: 5rem;
  line-height: 1;
}
@media (max-width: 1279px) {
  .lower-data .data__container #data08 .body .data .separate,
  .lower-data .data__container #data09 .body .data .separate {
    font-size: 4rem;
  }
}
.lower-data .data__container #data08 .body .data__multi,
.lower-data .data__container #data09 .body .data__multi {
  gap: 0;
  font-size: 5.4rem;
  line-height: 1;
}
.lower-data .data__container #data08 .body .data__multi .num b,
.lower-data .data__container #data09 .body .data__multi .num b {
  margin-right: 0;
  font-size: calc(var(--dataNumSize54));
}
@media (max-width: 1260px) {
  .lower-data .data__container #data08 .body .data__multi .num b,
  .lower-data .data__container #data09 .body .data__multi .num b {
    font-size: calc(var(--dataNumSize54) * 0.7);
  }
}
@media (max-width: 834px) {
  .lower-data .data__container #data08 .body .data__multi .num b,
  .lower-data .data__container #data09 .body .data__multi .num b {
    font-size: calc(var(--dataNumSize54) * 0.7);
  }
}
.lower-data .data__container #data08 .body .data__multi .separate,
.lower-data .data__container #data09 .body .data__multi .separate {
  margin-bottom: 8px;
}
@media (max-width: 1260px) {
  .lower-data .data__container #data08 .body .data__multi .separate,
  .lower-data .data__container #data09 .body .data__multi .separate {
    font-size: 3rem;
  }
}
@media (max-width: 834px) {
  .lower-data .data__container #data08 {
    -webkit-box-ordinal-group: 10;
        -ms-flex-order: 9;
            order: 9;
  }
}
.lower-data .data__container #data08 .body .img {
  max-width: 106px;
  aspect-ratio: 106/105;
}
@media (max-width: 834px) {
  .lower-data .data__container #data08 .body .img {
    max-width: 74.2px;
  }
}
@media (max-width: 834px) {
  .lower-data .data__container #data09 {
    -webkit-box-ordinal-group: 11;
        -ms-flex-order: 10;
            order: 10;
  }
}
.lower-data .data__container #data09 .body .img {
  max-width: 176px;
  aspect-ratio: 176/110;
}
@media (max-width: 834px) {
  .lower-data .data__container #data09 .body .img {
    max-width: 123.2px;
  }
}
@media (max-width: 834px) {
  .lower-data .data__container #data10 {
    -webkit-box-ordinal-group: 12;
        -ms-flex-order: 11;
            order: 11;
  }
}
.lower-data .data__container #data10 .body .img {
  max-width: 107px;
  aspect-ratio: 1/1;
}
@media (max-width: 834px) {
  .lower-data .data__container #data10 .body .img {
    max-width: 74.9px;
  }
}
.lower-data .data__container #data10 .body .data .num {
  color: #031422;
}
.lower-data .data__container #data10 .body .data .num .color {
  color: var(--dataNumColor);
}/*# sourceMappingURL=style.css.map */