@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;
}

a {
  outline: none;
  text-decoration: none;
}

li {
  list-style: none;
}

img {
  vertical-align: bottom;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

::-moz-selection {
  background: #e60012;
  color: #ffffff;
}

::selection {
  background: #e60012;
  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: "Noto Sans JP", "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  font-size: 1.6rem;
  font-weight: 400;
  color: #111;
  line-height: 2;
  letter-spacing: 0.075em;
  word-break: break-word;
  background: #fff;
  -webkit-text-size-adjust: none;
  -webkit-overflow-scrolling: touch;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}
@media (max-width: 834px) {
  body {
    font-size: 1.4rem;
  }
}

#container {
  width: 100%;
  overflow: hidden;
}

.innerWrap {
  max-width: 1280px;
  position: relative;
  z-index: 1;
  margin: 0 auto;
  padding: 0 40px;
}
@media (max-width: 834px) {
  .innerWrap {
    padding: 0 6.25%;
  }
}

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: #111;
  -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: "Mitr", sans-serif;
  font-weight: 500;
  letter-spacing: 0.025em;
}

.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;
}
.anime.-fadeIn.js-active, .js-active > .anime.-fadeIn {
  opacity: 1;
}
.anime.-fadeInBottom {
  opacity: 0;
  -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;
  -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;
  -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;
  -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 .ot-floating-button__front button {
  outline: none !important;
}

.lower-kyujin_d #ot-sdk-btn-floating.ot-floating-button {
  bottom: 105px;
}
@media (max-width: 834px) {
  .lower-kyujin_d #ot-sdk-btn-floating.ot-floating-button {
    bottom: 82px;
  }
}

/* ============================================
// loading
// ==========================================*/
/* ============================================
// hamburger
// ==========================================*/
/* ============================================
// container base (liquid)
// ==========================================*/
.l-container-xl, .l-container-l, .l-container-m, .l-container-s {
  position: relative;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: 40px;
  padding-right: 40px;
}
@media (max-width: 834px) {
  .l-container-xl, .l-container-l, .l-container-m, .l-container-s {
    padding-left: 6.25%;
    padding-right: 6.25%;
  }
}

.l-container-s {
  max-width: 1020px;
}
.l-container-m {
  max-width: 1180px;
}
.l-container-l {
  max-width: 1280px;
}
.l-container-xl {
  max-width: 1380px;
}

@media (max-width: 834px) {
  .forPc {
    display: none;
  }
}

.forSp {
  display: none;
}
@media (max-width: 834px) {
  .forSp {
    display: block;
  }
}

/*-------------------------------------------------------
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: 10px 28px !important;
  text-overflow: ellipsis;
  white-space: nowrap;
  cursor: pointer;
  background: #fff9de;
}
@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: 15px 20px !important;
  background: #fff9de;
}
@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: 14px 16px !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:before,
body input[type=checkbox] + 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=checkbox] + label::before {
  left: 0;
  top: 0;
  width: 1em;
  height: 1em;
  border: 1px solid;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
body input[type=checkbox] + label::after {
  top: 5px;
  left: 4px;
  z-index: 2;
  width: 3px;
  height: 6px;
  color: #7f7f7f;
  border-bottom: 1px solid;
  border-right: 1px solid;
  -webkit-transform: rotate(40deg);
  transform: rotate(40deg);
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
}
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（適宜変更ください）
------------------------------------------*/
.search__tab {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 40px;
  margin-bottom: 40px;
}
@media (max-width: 834px) {
  .search__tab {
    gap: 0 20px;
    margin-bottom: 24px;
  }
}
.search__tab__item {
  position: relative;
  text-align: center;
  width: 100%;
  color: #bebaba;
  padding: 12px;
  border-top: 1px solid;
  border-bottom: 1px solid;
  cursor: pointer;
}
.search__tab__item::before {
  content: "";
  height: 1px;
  position: absolute;
  left: 0;
  right: 0;
  bottom: -2px;
  background: #e60012;
  opacity: 0;
}
.search__tab__item::after {
  content: "";
  width: 0;
  height: 0;
  position: absolute;
  left: 50%;
  bottom: -2px;
  border-style: solid;
  border-width: 8px 10.5px 0 10.5px;
  border-color: #e60012 transparent transparent transparent;
  -webkit-transform: translate(-50%, 100%);
          transform: translate(-50%, 100%);
  opacity: 0;
}
.search__tab__item.-active {
  font-weight: bold;
  color: #e60012;
}
.search__tab__item.-active::before, .search__tab__item.-active::after {
  opacity: 1;
}

.custom-form {
  position: relative;
  z-index: 1;
  font-weight: 500;
  /* 各項目：ラベル左／内容右 */
}
.custom-form .custom-form_parts {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: 24px;
  margin-top: 28px;
}
.custom-form .custom-form_parts:first-child {
  margin-top: 0;
}
@media (max-width: 834px) {
  .custom-form .custom-form_parts {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 8px;
    margin-top: 20px;
  }
}
.custom-form .parts_ttl {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 110px;
  font-weight: 500;
  line-height: 1.4;
}
@media (max-width: 834px) {
  .custom-form .parts_ttl {
    font-size: 1.5rem;
    padding-top: 0;
  }
}
.custom-form .form_parts_inner {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  width: 100%;
}
.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: #e60012;
  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: #e60012;
}
.custom-form {
  /* チェックボックス：ピル型ボタン */
}
.custom-form .category_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 12px;
  padding: 0;
  background: none;
  border: none;
}
@media (max-width: 834px) {
  .custom-form .category_list {
    gap: 8px;
  }
}
.custom-form .category_list li label {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: 48px;
  padding: 6px 20px 6px 44px;
  background: #ffffff;
  border: 1px solid #d7d2d2;
  border-radius: 8px;
  font-size: 1.4rem;
  line-height: 1.4;
  cursor: pointer;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media (max-width: 834px) {
  .custom-form .category_list li label {
    min-height: 40px;
    padding: 6px 14px 6px 36px;
    font-size: 1.4rem;
  }
}
.custom-form .category_list {
  /* ホバー：未選択ピルの背景をうっすらグレーに（選択済みの赤ピルは対象外） */
}
@media (any-hover: hover) {
  .custom-form .category_list li input[type=checkbox]:not(:checked) + label:hover {
    background: #f2f2f2;
  }
}
.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 select,
.custom-form option,
.custom-form .search_pref {
  border-radius: 8px;
}
.custom-form .searchWord {
  font-weight: 400;
}
.custom-form .pull-down {
  position: relative;
}
.custom-form .pull-down::after {
  content: "";
  width: 0;
  height: 0;
  position: absolute;
  right: 28px;
  top: 50%;
  border-style: solid;
  border-width: 9px 6px 0 6px;
  border-color: #e60012 transparent transparent transparent;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  pointer-events: none;
}
@media (max-width: 834px) {
  .custom-form .pull-down::after {
    right: 20px;
    border-width: 8x 5px 0 5px;
  }
}
.custom-form input[type=checkbox] + label a:link,
.custom-form input[type=checkbox] + label a:visited {
  color: #222;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media (min-width: 835px) {
  .custom-form input[type=checkbox] + label a:link:hover,
  .custom-form input[type=checkbox] + label a:visited:hover {
    color: #e60012;
  }
}
.custom-form .selCity-box {
  margin-top: 10px;
}
.custom-form .selCity_alert {
  color: #e60012;
  display: block;
}
@media (max-width: 834px) {
  .custom-form .selCity_alert {
    font-size: 1.4rem;
  }
}
.custom-form {
  /* チェックボックスの四角＆チェック（ピル左に配置） */
}
.custom-form input[type=checkbox] + label::before {
  left: 18px;
  top: 50%;
  width: 16px;
  height: 16px;
  border: 1px solid transparent;
  border-radius: 4px;
  background: #fff9de;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media (max-width: 834px) {
  .custom-form input[type=checkbox] + label::before {
    left: 12px;
  }
}
.custom-form input[type=checkbox] + label::after {
  left: 23px;
  top: 36%;
  width: 4px;
  height: 8px;
  color: #e60012;
  border-bottom: 2px solid;
  border-right: 2px solid;
  opacity: 0;
}
@media (max-width: 834px) {
  .custom-form input[type=checkbox] + label::after {
    top: 34%;
    left: 18px;
  }
}
.custom-form {
  /* チェック時：ピルが赤くなる */
}
.custom-form input[type=checkbox]:checked + label {
  background: #e60012;
  border-color: #e60012;
  color: #fff;
}
.custom-form input[type=checkbox]:checked + label::before {
  background: #fff;
  border-color: #fff;
}
.custom-form input[type=checkbox]:checked + label::after {
  opacity: 1;
}
.custom-form {
  /* フリーワード行：入力欄を全幅にして、右端にボタンを重ねる */
}
.custom-form .-searchArea .form_parts_inner {
  position: relative;
  width: 100%;
}
.custom-form .searchWord {
  width: 95%;
  height: 54px;
  margin-top: 0;
  /* 右側はボタンの幅ぶんあけてテキストが重ならないように */
  padding: 0 200px 0 24px !important;
  font-weight: 400;
  background: #ffffff !important;
  border: 1px solid #d7d2d2;
  border-radius: 8px;
  -webkit-box-shadow: none;
          box-shadow: none;
}
@media (max-width: 834px) {
  .custom-form .searchWord {
    /* SPはボタンを下に降ろすので右側の余白は不要 */
    width: 100%;
    height: 52px;
    padding: 0 16px !important;
  }
}
.custom-form .custom-form_searth_btn {
  position: absolute;
  top: -5px;
  right: 0;
  bottom: -5px;
  margin: 0;
  /* SP：入力欄の下に降ろして中央寄せ */
}
@media (max-width: 834px) {
  .custom-form .custom-form_searth_btn {
    position: static;
    inset: auto;
    margin: 12px auto 0;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}
.custom-form {
  /* 検索ボタン（赤い丸角ピル）※入力欄の右端に重ねる。
     kyujin.css の「.custom-form_searth_btn .btn_cover」（クラス3個）に詳細度で勝つため、
     同じ階層まで書いて読み込み順（style.css が後）で上書きする */
}
.custom-form .custom-form_searth_btn .btn_cover {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 10px;
  min-width: 200px;
  height: 100%;
  padding: 0 32px;
  background: #e60012;
  border: none;
  border-radius: 100vmax;
  color: #fff;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  cursor: pointer;
  -webkit-transition: -webkit-filter 0.3s ease;
  transition: -webkit-filter 0.3s ease;
  transition: filter 0.3s ease;
  transition: filter 0.3s ease, -webkit-filter 0.3s ease;
}
@media (max-width: 834px) {
  .custom-form .custom-form_searth_btn .btn_cover {
    min-width: 200px;
    height: 52px;
    padding: 0 28px;
    font-size: 1.4rem;
  }
}
.custom-form .custom-form_searth_btn .btn_cover::before {
  content: "";
  /* kyujin.css の :before（position:absolute・別アイコン・transform）を打ち消し、フレックスの子に戻す */
  position: static;
  -webkit-transform: none;
          transform: none;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  aspect-ratio: 36/34;
  width: 1.125em;
  height: auto;
  background: url(../img/common/ico_search.png) no-repeat center/contain;
}
.custom-form .custom-form_searth_btn .btn_cover {
  /* submit（input）を素のテキストとして扱う＝フォーム基本スタイルの打ち消し */
}
.custom-form .custom-form_searth_btn .btn_cover .txt,
.custom-form .custom-form_searth_btn .btn_cover input[type=submit] {
  display: inline-block;
  width: auto;
  height: auto;
  padding: 0 !important; /* base の !important 余白を無効化 */
  background: transparent; /* クリーム背景を消し、赤い .btn_cover を見せる */
  border: none;
  -webkit-box-shadow: none;
          box-shadow: none;
  color: #fff;
  font: inherit; /* .btn_cover の 1.6rem/700 を継承 */
  letter-spacing: inherit;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  overflow: visible;
  cursor: pointer;
}
@media (any-hover: hover) {
  .custom-form .custom-form_searth_btn .btn_cover:hover {
    opacity: 1; /* kyujin.css の hover opacity:.7 を打ち消す */
    -webkit-filter: saturate(120%) brightness(1.05);
            filter: saturate(120%) brightness(1.05);
  }
}
.custom-form .form__toggle__input {
  display: none;
}
.custom-form .form__toggle__input.-show {
  display: block;
}

/* ============================================
// MODULES
// ==========================================*/
.commonTitle .ttl-eng {
  color: currentColor;
  font-size: clamp(64px, 5.5555555556vw, 80px);
  line-height: 0.95;
  margin-bottom: 0.3em;
}
@media (max-width: 834px) {
  .commonTitle .ttl-eng {
    font-size: 5rem;
  }
}
.commonTitle .ttl-jp {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #111;
  font-size: 1.8rem;
  font-weight: 500;
}
@media (max-width: 834px) {
  .commonTitle .ttl-jp {
    font-size: 1.4rem;
  }
}
.commonTitle .ttl-jp::before {
  content: "";
  aspect-ratio: 1/1;
  width: 0.5556em;
  background-color: currentColor;
  border-radius: 50%;
  margin-right: 0.5556em;
}

/* 詳細を見るボタン（オレンジ塗り・白文字・白フチの丸＋白矢印） */
.commonBtn {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.commonBtn a {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 24px;
  min-width: 236px;
  padding: 14px 14px 14px 32px;
  background: #ff8014;
  border-radius: 100vmax;
  color: #fff;
  font-weight: 500;
  -webkit-transition: -webkit-transform 0.3s ease, -webkit-filter 0.3s ease;
  transition: -webkit-transform 0.3s ease, -webkit-filter 0.3s ease;
  transition: transform 0.3s ease, filter 0.3s ease;
  transition: transform 0.3s ease, filter 0.3s ease, -webkit-transform 0.3s ease, -webkit-filter 0.3s ease;
}
@media (max-width: 834px) {
  .commonBtn a {
    min-width: 220px;
  }
}
.commonBtn .arrow {
  position: relative;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 30px;
  height: 30px;
  background-color: #fff;
  border-radius: 50%;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.commonBtn .arrow::before {
  content: "";
  position: absolute;
  inset: 0;
  margin: auto;
  aspect-ratio: 26/18;
  width: 0.75em;
  -webkit-mask: url(../img/common/arrow.png) no-repeat center/contain;
          mask: url(../img/common/arrow.png) no-repeat center/contain;
  background-color: #ff8014;
}
.commonBtn {
  /* ホバー：透過なし・彩度を少し上げて・少し上に浮く */
}
@media (any-hover: hover) {
  .commonBtn a:hover {
    opacity: 1;
    -webkit-transform: translateY(-4px);
            transform: translateY(-4px);
    -webkit-filter: saturate(1.25);
            filter: saturate(1.25);
  }
  .commonBtn a:hover .arrow {
    -webkit-transform: translateX(4px);
            transform: translateX(4px);
  }
}
.commonBtn {
  /* -recruit：白ピル＋赤丸＋白矢印（採用情報ボタン） */
}
.commonBtn.-recruit a {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1.1111em;
  min-width: 380px;
  padding: 1.1111em 1.3333em 1.1111em 3.3333em;
  background: #fff;
  color: #111;
  font-size: 1.8rem;
  font-weight: 500;
}
@media (max-width: 834px) {
  .commonBtn.-recruit a {
    min-width: inherit;
    width: 100%;
    font-size: 1.5rem;
  }
}
.commonBtn.-recruit .arrow {
  border: none;
  background: #e60012;
}
.commonBtn.-recruit .arrow::before {
  background-color: #fff;
}

.commonBtn02 {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.commonBtn02 a {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 20px;
  color: #111;
  font-weight: 700;
}
@media (max-width: 834px) {
  .commonBtn02 a {
    gap: 14px;
  }
}
@media (any-hover: hover) {
  .commonBtn02 a:hover {
    opacity: 1;
    color: #e83498;
  }
  .commonBtn02 a:hover .text {
    border-color: #e83498;
  }
}
.commonBtn02 .text {
  font-size: 1.6rem;
  line-height: 1.4;
  padding-bottom: 6px;
  border-bottom: 1px solid #111;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media (max-width: 834px) {
  .commonBtn02 .text {
    font-size: 1.4rem;
  }
}
.commonBtn02 {
  /* ピンクの丸＋白い〉 */
}
.commonBtn02 .arrow {
  position: relative;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 2.5em;
  height: 2.5em;
  border-radius: 50%;
  background: #e83498;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.commonBtn02 .arrow::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 7px;
  height: 7px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  -webkit-transform: translate(-65%, -50%) rotate(45deg);
          transform: translate(-65%, -50%) rotate(45deg);
}
@media (any-hover: hover) {
  .commonBtn02 a:hover .arrow {
    -webkit-transform: translateX(4px);
            transform: translateX(4px);
    -webkit-filter: saturate(1.25);
            filter: saturate(1.25);
  }
}

.anchorList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 15px 40px;
}
.anchorList__item {
  position: relative;
  counter-increment: mycounter;
}
@media (max-width: 834px) {
  .anchorList__item {
    width: 100%;
  }
}
.anchorList__item a {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.7em;
  font-size: 1.7rem;
  line-height: 1.5;
  padding-bottom: 1em;
}
@media (max-width: 834px) {
  .anchorList__item a {
    font-size: 1.5rem;
  }
}
.anchorList__item a::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  border-bottom: 2px dashed #888888;
  opacity: 0.2;
  width: 100%;
}
.anchorList__item a .num {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  position: relative;
}
.anchorList__item a .num::before {
  content: "#" counter(mycounter, decimal-leading-zero);
  font-family: "Mitr", sans-serif;
  color: #0068b7;
}
.anchorList__item a .text {
  font-weight: bold;
}
.anchorList__item a .ico {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  position: relative;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background-color: #0068b7;
}
@media (max-width: 834px) {
  .anchorList__item a .ico {
    margin-left: auto;
  }
}
.anchorList__item a .ico::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
          transform: translate(-50%, -50%) rotate(45deg);
  margin-top: -0.1em;
  aspect-ratio: 1/1;
  width: 0.4em;
  border: 2px solid #fff;
  border-top: none;
  border-left: none;
}

/* ============================================
// PAGE HEADER（下層共通）
// ==========================================*/
.pageHeader {
  position: relative;
  padding: 180px 0 90px;
  /* 右上：ブルーの弧 */
  background: #fff url(../img/common/deco_blue01.png) no-repeat top right/220px auto;
}
@media (max-width: 834px) {
  .pageHeader {
    padding: 104px 0 56px;
    background-size: 120px auto;
  }
}
.pageHeader__inner {
  position: relative;
  z-index: 2;
  max-width: 1380px;
  margin: 0 auto;
  padding: 0 40px;
}
@media (max-width: 834px) {
  .pageHeader__inner {
    padding: 0 6.25%;
  }
}
.pageHeader {
  /* 見出し（デフォルト色。ページごとに下の $pageheader-colors で上書き可） */
}
.pageHeader .commonTitle {
  color: #e60012;
}
.pageHeader .commonTitle .ttl-eng {
  font-size: clamp(65.6px, 5.6944444444vw, 82px);
  /* 出現：下からフェードアップ */
  -webkit-animation: phFadeUp 0.7s cubic-bezier(0.2, 0.7, 0.2, 1) 0.1s both;
          animation: phFadeUp 0.7s cubic-bezier(0.2, 0.7, 0.2, 1) 0.1s both;
}
@media (max-width: 834px) {
  .pageHeader .commonTitle .ttl-eng {
    font-size: 5.2rem;
    font-size: min(13vw, 5.2rem);
  }
}
.pageHeader .commonTitle .ttl-jp {
  /* 出現：英字の少し後に下からフェードアップ */
  -webkit-animation: phFadeUp 0.7s cubic-bezier(0.2, 0.7, 0.2, 1) 0.35s both;
          animation: phFadeUp 0.7s cubic-bezier(0.2, 0.7, 0.2, 1) 0.35s both;
}
.pageHeader .commonTitle .ttl-jp::before {
  background-color: #e60012;
}
.pageHeader {
  /* 右下：イエローの弧（イラストの背面） pageheader_deco01 = 360×180 */
}
.pageHeader::before {
  content: "";
  position: absolute;
  right: 11.8056%;
  bottom: 0;
  z-index: 0;
  width: 360px;
  aspect-ratio: 360/180;
  background: url(../img/common/pageheader_deco01.png) no-repeat center bottom/contain;
  pointer-events: none;
  /* 出現：ポップ（下辺基準でスケール＋フェード） */
  -webkit-transform-origin: bottom center;
          transform-origin: bottom center;
  -webkit-animation: phPop 0.6s cubic-bezier(0.2, 0.7, 0.2, 1) 0.3s both;
          animation: phPop 0.6s cubic-bezier(0.2, 0.7, 0.2, 1) 0.3s both;
}
@media (max-width: 834px) {
  .pageHeader::before {
    right: 0;
    width: 170px;
  }
}
.pageHeader {
  /* 右下：イラスト（弧の上に重ねる） illust_pageheader = 233×307 */
}
.pageHeader::after {
  content: "";
  position: absolute;
  right: 8.3333%;
  bottom: -40px;
  z-index: 1;
  width: 233px;
  aspect-ratio: 233/307;
  background: url(../img/common/illust_pageheader.png) no-repeat center bottom/contain;
  pointer-events: none;
  /* 出現：少し遅れて下からせり上がり */
  -webkit-animation: phFadeUp 0.7s cubic-bezier(0.2, 0.7, 0.2, 1) 0.5s both;
          animation: phFadeUp 0.7s cubic-bezier(0.2, 0.7, 0.2, 1) 0.5s both;
}
@media (max-width: 834px) {
  .pageHeader::after {
    right: 28px;
    width: 88px;
    bottom: -30px;
  }
}

/* pageHeader 見出しの色：ページ（body クラス）ごとに切替。
   デフォルトは上の $accent-green。今後はこのマップに1行足すだけでOK */
.lower-kyujin_l .pageHeader .commonTitle {
  color: #e60012;
}
.lower-kyujin_l .pageHeader .commonTitle .ttl-jp::before {
  background-color: #e60012;
}

.lower-whatsnew .pageHeader .commonTitle {
  color: #e83498;
}
.lower-whatsnew .pageHeader .commonTitle .ttl-jp::before {
  background-color: #e83498;
}

.lower-interview_l .pageHeader .commonTitle {
  color: #8bb708;
}
.lower-interview_l .pageHeader .commonTitle .ttl-jp::before {
  background-color: #8bb708;
}

.lower-facility .pageHeader .commonTitle {
  color: #0068b7;
}
.lower-facility .pageHeader .commonTitle .ttl-jp::before {
  background-color: #0068b7;
}

.lower-data .pageHeader .commonTitle {
  color: #941e57;
}
.lower-data .pageHeader .commonTitle .ttl-jp::before {
  background-color: #941e57;
}

.lower-philosophy .pageHeader .commonTitle {
  color: #ff8014;
}
.lower-philosophy .pageHeader .commonTitle .ttl-jp::before {
  background-color: #ff8014;
}

/* pageHeader 出現アニメ（下層共通・読み込み時に自動再生） */
@-webkit-keyframes phFadeUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(30px);
            transform: translateY(30px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes phFadeUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(30px);
            transform: translateY(30px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes phPop {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.8);
            transform: scale(0.8);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@keyframes phPop {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.8);
            transform: scale(0.8);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
/* モーション低減：アニメOFF（最終状態を静止表示） */
@media (prefers-reduced-motion: reduce) {
  .pageHeader .commonTitle .ttl-eng,
  .pageHeader .commonTitle .ttl-jp,
  .pageHeader::before,
  .pageHeader::after {
    -webkit-animation: none;
            animation: none;
  }
}
.lower-kyujin_l .pageHeader, .lower-whatsnew .pageHeader {
  border-bottom: solid 1px #e7e7e7;
}

.breadcrumb {
  padding: 14px 40px 16px;
  border-bottom: solid 1px #e7e7e7;
}
@media (max-width: 834px) {
  .breadcrumb {
    padding: 8px 16px;
  }
}
.breadcrumb_list {
  position: relative;
  z-index: 1;
  overflow-x: auto;
  white-space: nowrap;
}
.breadcrumb_list_item {
  display: inline;
  font-size: 1.3rem;
  font-weight: 500;
  color: rgba(17, 17, 17, 0.5);
  line-height: 1;
  margin: 0 2px;
}
@media (max-width: 834px) {
  .breadcrumb_list_item {
    font-size: 1.1rem;
  }
}
.breadcrumb_list_item::after {
  content: ">";
  margin-left: 7px;
}
.breadcrumb_list_item:last-child::after {
  display: none;
}
.breadcrumb_list_item a {
  color: rgba(17, 17, 17, 0.6);
}

/* ============================================
// HEADER
// ==========================================*/
.header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  width: 100%;
  -webkit-transition: background 0.3s ease, backdrop-filter 0.3s ease, -webkit-box-shadow 0.3s ease;
  transition: background 0.3s ease, backdrop-filter 0.3s ease, -webkit-box-shadow 0.3s ease;
  transition: background 0.3s ease, box-shadow 0.3s ease, backdrop-filter 0.3s ease;
  transition: background 0.3s ease, box-shadow 0.3s ease, backdrop-filter 0.3s ease, -webkit-box-shadow 0.3s ease;
}
.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;
  gap: 30px;
  padding: 18px 40px;
  -webkit-transition: padding 0.3s ease;
  transition: padding 0.3s ease;
}
@media (max-width: 1520px) {
  .header__inner {
    padding: 14px 6.25%;
  }
}
.header {
  /* ロゴ */
}
.header__logo {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin: 0;
  line-height: 1;
}
.header__logo a {
  display: block;
}
.header__logo img {
  display: block;
  width: auto;
  height: 70px;
  -webkit-transition: height 0.3s ease;
  transition: height 0.3s ease;
}
@media (max-width: 1520px) {
  .header__logo img {
    height: 52px;
  }
}
@media (max-width: 834px) {
  .header__logo img {
    height: 44px;
  }
}
.header {
  /* ナビ（白い角丸ピル） */
}
.header__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #fff;
  border-radius: 100vmax;
  border: solid 1px rgba(136, 136, 136, 0.4);
  -webkit-transition: background 0.3s ease, border-color 0.3s ease;
  transition: background 0.3s ease, border-color 0.3s ease;
}
.header__nav__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0 16px 0 34px;
}
.header__nav__list .item a {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 14px 20px;
  color: #111;
  font-weight: 700;
  white-space: nowrap;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
  /* カラードット */
}
.header__nav__list .item a::before {
  content: "";
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 9px;
  height: 9px;
  margin-right: 8px;
  border-radius: 50%;
  background: currentColor;
}
@media (any-hover: hover) {
  .header__nav__list .item a:hover {
    color: #e60012;
    opacity: 1;
  }
}
.header__nav__list .item {
  /* ドットの色分け */
}
.header__nav__list .item:nth-child(1) a::before {
  background: #ff8014;
}
.header__nav__list .item:nth-child(2) a::before {
  background: #8bb708;
}
.header__nav__list .item:nth-child(3) a::before {
  background: #0068b7;
}
.header__nav__list .item:nth-child(4) a::before {
  background: #941e57;
}
.header__nav {
  /* 採用情報ボタン（赤いピル） */
}
.header__nav__recruitBtn {
  -ms-flex-item-align: center;
      align-self: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  /* ピルから上下・右にはみ出させる */
  margin: -8px -8px -8px 0;
}
.header__nav__recruitBtn a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 1.3125em 2em;
  border-radius: 100vmax;
  background: #e60012;
  color: #fff;
  font-weight: 700;
  white-space: nowrap;
  -webkit-transition: -webkit-filter 0.3s ease;
  transition: -webkit-filter 0.3s ease;
  transition: filter 0.3s ease;
  transition: filter 0.3s ease, -webkit-filter 0.3s ease;
  /* 虫眼鏡アイコン */
}
.header__nav__recruitBtn a::before {
  content: "";
  -ms-flex-negative: 0;
      flex-shrink: 0;
  aspect-ratio: 36/34;
  width: 1.125em;
  margin-right: 8px;
  background: url("../img/common/ico_search.png") no-repeat center/contain;
}
@media (any-hover: hover) {
  .header__nav__recruitBtn a:hover {
    opacity: 1;
    -webkit-filter: saturate(1.25);
            filter: saturate(1.25);
  }
}

/* ============================================
// スクロール時：白い帯＋コンパクト化でロゴの視認性を確保
// ==========================================*/
.js-scrolled .header {
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(10px);
  -webkit-box-shadow: 0 2px 16px rgba(0, 0, 0, 0.08);
          box-shadow: 0 2px 16px rgba(0, 0, 0, 0.08);
}
.js-scrolled .header .header__inner {
  padding-top: 8px;
  padding-bottom: 8px;
}
@media (max-width: 1520px) {
  .js-scrolled .header .header__inner {
    padding-top: 20px;
    padding-bottom: 20px;
  }
}
@media (max-width: 834px) {
  .js-scrolled .header .header__inner {
    padding-top: 14px;
    padding-bottom: 14px;
  }
}
.js-scrolled .header {
  /* ロゴを一回り小さく */
}
.js-scrolled .header .header__logo img {
  height: 52px;
}
@media (max-width: 1520px) {
  .js-scrolled .header .header__logo img {
    height: 44px;
  }
}
@media (max-width: 834px) {
  .js-scrolled .header .header__logo img {
    height: 38px;
  }
}
.js-scrolled .header {
  /* 白帯に馴染むようナビのピル背景・境界を消す */
}
.js-scrolled .header .header__nav {
  background: transparent;
  border-color: transparent;
}

/* ============================================
// 1520px以下：ヘッダーナビを隠してハンバーガー表示
// ==========================================*/
@media (max-width: 1520px) {
  .header__nav {
    display: none;
  }
}
/* ============================================
// HAMBURGER（メニュー・ボタンはTOPデザイン踏襲）
// ==========================================*/
/* トグルボタン */
.hamburger__btn {
  display: none; /* PC（1520px超）では非表示 */
  position: fixed;
  top: 12px;
  right: 24px;
  z-index: 1000;
  width: 60px;
  height: 60px;
  -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;
  gap: 6px;
  background: #e60012;
  border-radius: 50%;
  cursor: pointer;
  -webkit-transition: opacity 0.3s ease, -webkit-transform 0.3s ease, -webkit-filter 0.3s ease;
  transition: opacity 0.3s ease, -webkit-transform 0.3s ease, -webkit-filter 0.3s ease;
  transition: opacity 0.3s ease, transform 0.3s ease, filter 0.3s ease;
  transition: opacity 0.3s ease, transform 0.3s ease, filter 0.3s ease, -webkit-transform 0.3s ease, -webkit-filter 0.3s ease;
}
@media (max-width: 1520px) {
  .hamburger__btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
@media (max-width: 834px) {
  .hamburger__btn {
    top: 9px;
    right: 14px;
    width: 48px;
    height: 48px;
    gap: 5px;
  }
}
.hamburger__btn {
  /* ホバー：透過なし・彩度を少し上げて・少し浮く（他ボタンと統一） */
}
@media (any-hover: hover) {
  .hamburger__btn:hover {
    -webkit-transform: translateY(-4px);
            transform: translateY(-4px);
    -webkit-filter: saturate(1.25);
            filter: saturate(1.25);
  }
}
.hamburger__btn span {
  display: block;
  width: 26px;
  height: 2px;
  border-radius: 2px;
  background: #fff;
}
@media (max-width: 834px) {
  .hamburger__btn span {
    width: 20px;
  }
}

/* メニューを開いている間はトグルを隠す（閉じるボタンと重ならないように） */
.hamburger.js-open ~ .hamburger__btn {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

/* オーバーレイメニュー */
.hamburger {
  position: fixed;
  inset: 0;
  z-index: 999;
  background: #fff;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.4s ease, visibility 0.4s ease;
  transition: opacity 0.4s ease, visibility 0.4s ease;
}
.hamburger.js-open {
  opacity: 1;
  visibility: visible;
}
.hamburger {
  /* あしらい：右上の弧 */
}
.hamburger::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  z-index: 0;
  width: 21vh;
  aspect-ratio: 1/1;
  background: url("../img/common/recruit_deco03.png") no-repeat center/contain;
  pointer-events: none;
}
@media (max-width: 834px) {
  .hamburger::before {
    width: 130px;
  }
}
.hamburger {
  /* あしらい：左下の弧 */
}
.hamburger::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 0;
  width: 44vh;
  aspect-ratio: 360/180;
  background: url("../img/common/recruit_deco02.png") no-repeat center/contain;
  pointer-events: none;
}
@media (max-width: 834px) {
  .hamburger::after {
    width: 160px;
  }
}
.hamburger__menu {
  position: relative;
  z-index: 1;
  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%;
  padding: 80px 40px;
  overflow-y: auto;
}
@media (max-width: 834px) {
  .hamburger__menu {
    padding: 72px 24px;
  }
}
.hamburger__menu__inner {
  width: 100%;
  max-width: 480px;
}
.hamburger__menu {
  /* ロゴ */
}
.hamburger__menu__logo {
  margin-bottom: 48px;
  text-align: center;
}
@media (max-width: 834px) {
  .hamburger__menu__logo {
    margin-bottom: 28px;
  }
}
.hamburger__menu__logo img {
  width: auto;
  height: 64px;
}
@media (max-width: 834px) {
  .hamburger__menu__logo img {
    height: 48px;
  }
}
.hamburger__menu {
  /* ナビ（TOPと同じカラードット） */
}
.hamburger__menu__nav__list__item {
  border-bottom: 1px solid #e7e7e7;
}
.hamburger__menu__nav__list__item:first-child {
  border-top: 1px solid #e7e7e7;
}
.hamburger__menu__nav__list__item a {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
  padding: 22px;
  color: #111;
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}
@media (max-width: 834px) {
  .hamburger__menu__nav__list__item a {
    gap: 10px;
    padding: 15px 8px;
    font-size: 1.5rem;
  }
}
.hamburger__menu__nav__list__item a {
  /* カラードット */
}
.hamburger__menu__nav__list__item a::before {
  content: "";
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: currentColor;
}
.hamburger__menu__nav__list__item a {
  /* 右端の矢印（>） */
}
.hamburger__menu__nav__list__item a::after {
  content: "";
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin-left: auto;
  width: 9px;
  height: 9px;
  border-top: 2px solid;
  border-right: 2px solid;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
@media (any-hover: hover) {
  .hamburger__menu__nav__list__item a:hover {
    opacity: 1;
    color: #e60012;
  }
}
.hamburger__menu__nav__list__item {
  /* ドット＋矢印の色分け（TOP踏襲） */
}
.hamburger__menu__nav__list__item:nth-child(1) a::before {
  background: #ff8014;
}
.hamburger__menu__nav__list__item:nth-child(1) a::after {
  color: #ff8014;
}
.hamburger__menu__nav__list__item:nth-child(2) a::before {
  background: #8bb708;
}
.hamburger__menu__nav__list__item:nth-child(2) a::after {
  color: #8bb708;
}
.hamburger__menu__nav__list__item:nth-child(3) a::before {
  background: #0068b7;
}
.hamburger__menu__nav__list__item:nth-child(3) a::after {
  color: #0068b7;
}
.hamburger__menu__nav__list__item:nth-child(4) a::before {
  background: #941e57;
}
.hamburger__menu__nav__list__item:nth-child(4) a::after {
  color: #941e57;
}
.hamburger__menu__nav {
  /* 採用情報ボタン（赤いピル・中央寄せ）※クラスは __menu__recruitBtn */
}
.hamburger__menu__nav .hamburger__menu__recruitBtn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 40px;
}
@media (max-width: 834px) {
  .hamburger__menu__nav .hamburger__menu__recruitBtn {
    margin-top: 28px;
  }
}
.hamburger__menu__nav .hamburger__menu__recruitBtn a {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 10px;
  min-width: 320px;
  padding: 18px 40px;
  background: #e60012;
  border-radius: 100vmax;
  color: #fff;
  font-size: 1.7rem;
  font-weight: 700;
  white-space: nowrap;
  -webkit-transition: -webkit-transform 0.3s ease, -webkit-filter 0.3s ease;
  transition: -webkit-transform 0.3s ease, -webkit-filter 0.3s ease;
  transition: transform 0.3s ease, filter 0.3s ease;
  transition: transform 0.3s ease, filter 0.3s ease, -webkit-transform 0.3s ease, -webkit-filter 0.3s ease;
}
@media (max-width: 834px) {
  .hamburger__menu__nav .hamburger__menu__recruitBtn a {
    gap: 8px;
    min-width: 260px;
    padding: 14px 28px;
    font-size: 1.5rem;
  }
}
.hamburger__menu__nav .hamburger__menu__recruitBtn a::before {
  content: "";
  -ms-flex-negative: 0;
      flex-shrink: 0;
  aspect-ratio: 36/34;
  width: 18px;
  background: url("../img/common/ico_search.png") no-repeat center/contain;
}
@media (max-width: 834px) {
  .hamburger__menu__nav .hamburger__menu__recruitBtn a::before {
    width: 16px;
  }
}
@media (any-hover: hover) {
  .hamburger__menu__nav .hamburger__menu__recruitBtn a:hover {
    opacity: 1;
    -webkit-transform: translateY(-4px);
            transform: translateY(-4px);
    -webkit-filter: saturate(1.25);
            filter: saturate(1.25);
  }
}
.hamburger {
  /* 閉じるボタン（×） */
}
.hamburger__menu__close {
  position: fixed;
  top: 12px;
  right: 24px;
  z-index: 1000;
  width: 60px;
  height: 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;
  background: #e60012;
  border-radius: 50%;
  cursor: pointer;
  -webkit-transition: -webkit-transform 0.3s ease, -webkit-filter 0.3s ease;
  transition: -webkit-transform 0.3s ease, -webkit-filter 0.3s ease;
  transition: transform 0.3s ease, filter 0.3s ease;
  transition: transform 0.3s ease, filter 0.3s ease, -webkit-transform 0.3s ease, -webkit-filter 0.3s ease;
}
@media (max-width: 834px) {
  .hamburger__menu__close {
    top: 9px;
    right: 14px;
    width: 48px;
    height: 48px;
  }
}
.hamburger__menu__close {
  /* ホバー：透過なし・彩度を少し上げて・少し浮く（他ボタンと統一） */
}
@media (any-hover: hover) {
  .hamburger__menu__close:hover {
    -webkit-transform: translateY(-4px);
            transform: translateY(-4px);
    -webkit-filter: saturate(1.25);
            filter: saturate(1.25);
  }
}
.hamburger__menu__close span {
  position: absolute;
  width: 26px;
  height: 2px;
  border-radius: 2px;
  background: #fff;
}
@media (max-width: 834px) {
  .hamburger__menu__close span {
    width: 20px;
  }
}
.hamburger__menu__close span:nth-child(1) {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.hamburger__menu__close span:nth-child(2) {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

/* ============================================
// RECRUIT（フッター上部の赤いブロック）
// ==========================================*/
.recruit {
  position: relative;
  overflow: hidden;
  background: #e60012;
  border-radius: 60px;
  color: #fff;
}
@media (max-width: 834px) {
  .recruit {
    border-radius: 30px;
  }
}
.recruit {
  /* 装飾の円弧 */
}
.recruit__deco {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  border-radius: inherit;
  pointer-events: none;
}
.recruit__deco__item {
  position: absolute;
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.recruit__deco {
  /* 左上：ブルーの弧 */
}
.recruit__deco .-tl {
  top: 100px;
  left: 0;
  width: 180px;
  aspect-ratio: 1/1;
  background-image: url("../img/common/recruit_deco01.png");
}
.recruit__deco {
  /* 右上：イエローの弧 */
}
.recruit__deco .-tr {
  top: 0;
  right: 0;
  width: 240px;
  aspect-ratio: 1/1;
  background-image: url("../img/common/recruit_deco03.png");
}
.recruit__deco {
  /* 左下：グリーン＋オレンジのドーナツ */
}
.recruit__deco .-bl {
  bottom: 0;
  left: 0;
  width: 360px;
  aspect-ratio: 360/180;
  background-image: url("../img/common/recruit_deco02.png");
}
.recruit__deco {
  /* 右中：ブルー＋ピンクのS字 */
}
.recruit__deco .-br {
  bottom: 0;
  right: 0;
  width: 320px;
  aspect-ratio: 320/293;
  background-image: url("../img/common/recruit_deco04.png");
}
@media (max-width: 834px) {
  .recruit__deco .-tl {
    top: 20px;
    width: 52px;
  }
  .recruit__deco .-tr {
    width: 70px;
  }
  .recruit__deco .-bl {
    width: 120px;
  }
  .recruit__deco .-br {
    width: 120px;
  }
}
.recruit__inner {
  position: relative;
  z-index: 1;
  max-width: 1000px;
  margin: 0 auto;
  padding: 90px 40px 100px;
}
@media (max-width: 834px) {
  .recruit__inner {
    /* SPは下に余白を確保し、イラストを最下部へ逃がす */
    padding: 48px 6.25% 150px;
  }
}
.recruit__inner::before {
  content: "";
  aspect-ratio: 185/245;
  width: 185px;
  background-image: url(../img/common/illust_recruit01.png);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  bottom: 100px;
  left: 0;
}
@media (max-width: 834px) {
  .recruit__inner::before {
    width: 84px;
    bottom: 20px;
    left: 2%;
  }
}
.recruit__inner::after {
  content: "";
  aspect-ratio: 136/209;
  width: 136px;
  background-image: url(../img/common/illust_recruit02.png);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  bottom: 100px;
  right: 0;
}
@media (max-width: 834px) {
  .recruit__inner::after {
    width: 66px;
    bottom: 20px;
    right: 2%;
  }
}
.recruit__body {
  position: relative;
  text-align: center;
  /* 背景の「RECRUIT」ウォーターマーク */
}
.recruit__body::before {
  content: "RECRUIT";
  position: absolute;
  top: 0;
  left: 50%;
  z-index: 0;
  -webkit-transform: translate(-50%, -30%);
          transform: translate(-50%, -30%);
  font-family: "Mitr", sans-serif;
  font-size: 10rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.05em;
  color: rgba(255, 255, 255, 0.16);
  white-space: nowrap;
  pointer-events: none;
}
@media (max-width: 834px) {
  .recruit__body::before {
    font-size: 4.4rem;
  }
}
.recruit__ttl {
  position: relative;
  z-index: 1;
  font-size: 4.4rem;
  font-weight: 700;
  line-height: 1.4;
}
@media (max-width: 834px) {
  .recruit__ttl {
    font-size: 2.6rem;
    line-height: 1.7;
  }
}
.recruit__text {
  position: relative;
  z-index: 1;
  margin-top: 24px;
  font-size: 1.7rem;
  line-height: 2.5;
}
@media (max-width: 834px) {
  .recruit__text {
    margin-top: 16px;
    font-size: 1.4rem;
  }
}
.recruit {
  /* 採用情報ボタン（見た目は _module.scss の .commonBtn.-recruit）。ここは配置のみ */
}
.recruit .commonBtn.-recruit {
  position: relative;
  z-index: 1;
  margin: 0 auto;
  margin-top: 48px;
}
@media (max-width: 834px) {
  .recruit .commonBtn.-recruit {
    margin-top: 32px;
  }
}

/* ============================================
// FOOTER
// ==========================================*/
.footer {
  background: #fff;
  /* ---- ロゴ＋ナビ ---- */
}
.footer__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: 50px;
  padding: 80px 0 40px;
}
@media (max-width: 834px) {
  .footer__head {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 24px;
    padding: 40px 0 24px;
  }
}
.footer__logo {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  line-height: 1;
}
.footer__logo a {
  display: block;
}
.footer__logo img {
  display: block;
  width: auto;
  height: 83px;
}
@media (max-width: 834px) {
  .footer__logo img {
    height: 48px;
  }
}
.footer__nav .navList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px 28px;
}
.footer__nav .navList__item a {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: 700;
  color: #111;
  white-space: nowrap;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
  /* カラードット */
}
.footer__nav .navList__item a::before {
  content: "";
  -ms-flex-negative: 0;
      flex-shrink: 0;
  aspect-ratio: 1/1;
  width: 0.625em;
  margin-right: 0.625em;
  border-radius: 50%;
  background: currentColor;
}
@media (any-hover: hover) {
  .footer__nav .navList__item a:hover {
    color: #e60012;
    opacity: 1;
  }
}
.footer__nav .navList__item {
  /* ドットの色分け */
}
.footer__nav .navList__item:nth-child(1) a::before {
  background: #e83498;
}
.footer__nav .navList__item:nth-child(2) a::before {
  background: #8bb708;
}
.footer__nav .navList__item:nth-child(3) a::before {
  background: #0068b7;
}
.footer__nav .navList__item:nth-child(4) a::before {
  background: #941e57;
}
.footer__nav .navList__item:nth-child(5) a::before {
  background: #e60012;
}
.footer {
  /* ---- 求人検索ボックス（黄色い角丸） ---- */
}
.footer__searchBox {
  background: #fff9de;
  border-radius: 25px;
  padding: 50px 58px;
}
@media (max-width: 834px) {
  .footer__searchBox {
    padding: 28px 20px;
    border-radius: 15px;
  }
}
.footer .jobSearchArea__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 24px;
  margin-bottom: 20px;
}
.footer .jobSearchArea__item:last-child {
  margin-bottom: 0;
}
@media (max-width: 834px) {
  .footer .jobSearchArea__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 8px;
  }
}
.footer .jobSearchArea__item .title {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 150px;
  color: #ff8014;
  font-size: 1.6rem;
  font-weight: 700;
}
@media (max-width: 834px) {
  .footer .jobSearchArea__item .title {
    font-size: 1.5rem;
  }
}
.footer .jobSearchList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 8px 20px;
}
.footer .jobSearchList__item a {
  font-size: 1.5rem;
  color: #111;
  font-weight: 500;
  text-decoration: underline;
  text-underline-offset: 3px;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
@media (max-width: 834px) {
  .footer .jobSearchList__item a {
    font-size: 1.4rem;
  }
}
@media (any-hover: hover) {
  .footer .jobSearchList__item a:hover {
    opacity: 0.6;
  }
}
.footer {
  /* ---- コーポレートサイト＋コピーライト ---- */
}
.footer__foot {
  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: 24px;
  padding: 40px 0 32px;
}
@media (max-width: 834px) {
  .footer__foot {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 20px;
  }
}
.footer__corporate .btnRecruit {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-width: 300px;
  padding: 16px 48px;
  border: 1px solid #8bb708;
  border-radius: 100vmax;
  color: #8bb708;
  font-size: 1.5rem;
  font-weight: 700;
  -webkit-transition: background 0.3s ease, color 0.3s ease;
  transition: background 0.3s ease, color 0.3s ease;
}
@media (max-width: 834px) {
  .footer__corporate .btnRecruit {
    font-size: 1.4rem;
    min-width: 240px;
    width: 100%;
  }
}
.footer__corporate .btnRecruit {
  /* テキストは中央、アイコンは右端に固定 */
}
.footer__corporate .btnRecruit .icon {
  position: absolute;
  top: 50%;
  right: 24px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 0.9333em;
  aspect-ratio: 1/1;
  background: url("../img/common/ico-blank-color.png") no-repeat center/contain;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media (any-hover: hover) {
  .footer__corporate .btnRecruit:hover {
    background: #8bb708;
    color: #fff;
  }
  .footer__corporate .btnRecruit:hover .icon {
    -webkit-filter: brightness(0) invert(1);
            filter: brightness(0) invert(1);
  }
}
.footer__info {
  text-align: right;
}
@media (max-width: 834px) {
  .footer__info {
    text-align: left;
  }
}
.footer__ga a {
  font-size: 1.2rem;
  color: #888;
  text-decoration: underline;
  text-underline-offset: 3px;
}
@media (any-hover: hover) {
  .footer__ga a:hover {
    opacity: 0.7;
  }
}
.footer__copy {
  margin-top: 4px;
  font-size: 1.2rem;
  color: #888;
}

/* ============================================
// PAGETOP
// ==========================================*/
.pagetop {
  width: 56px;
  aspect-ratio: 1/1;
  margin-left: auto; /* 右寄せ */
  margin-right: 40px;
  margin-bottom: 40px;
}
@media (max-width: 834px) {
  .pagetop {
    width: 48px;
    margin-right: 16px;
    margin-bottom: 16px;
  }
}
.pagetop a {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  background: #e60012;
  border-radius: 50%;
  -webkit-transition: -webkit-transform 0.3s ease, -webkit-filter 0.3s ease;
  transition: -webkit-transform 0.3s ease, -webkit-filter 0.3s ease;
  transition: transform 0.3s ease, filter 0.3s ease;
  transition: transform 0.3s ease, filter 0.3s ease, -webkit-transform 0.3s ease, -webkit-filter 0.3s ease;
  /* 上向きの矢印（^） */
}
.pagetop a::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 12px;
  height: 12px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  -webkit-transform: translate(-50%, -30%) rotate(-45deg);
          transform: translate(-50%, -30%) rotate(-45deg);
}
.pagetop a {
  /* ホバー：透過なし・彩度を少し上げて・少し上に浮く（commonBtnと同じ） */
}
@media (any-hover: hover) {
  .pagetop a:hover {
    opacity: 1;
    -webkit-transform: translateY(-4px);
            transform: translateY(-4px);
    -webkit-filter: saturate(1.25);
            filter: saturate(1.25);
  }
}

/* ============================================
// INDEX
// ==========================================*/
.front-page .main {
  padding: 0;
}
.front-page .add_pr {
  position: relative;
  z-index: 5;
  margin-bottom: 180px;
  padding-top: 50px;
  padding-inline: 3%;
}
@media (max-width: 834px) {
  .front-page .add_pr {
    padding-top: 0px;
    margin-bottom: 100px;
    padding-inline: 5%;
  }
}
.front-page .add_pr_inner {
  max-width: 1400px;
  padding-inline: 0;
}
@media (min-width: 835px) {
  .front-page .add_pr_inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 80px;
    gap: 6%;
  }
}
.front-page .add_pr_image {
  max-width: 302px;
}
@media (min-width: 835px) {
  .front-page .add_pr_image {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 36%;
            flex: 0 1 36%;
  }
}
@media (max-width: 834px) {
  .front-page .add_pr_image {
    position: absolute;
    bottom: 100%;
    right: 0;
    margin-bottom: -110px;
    margin-right: calc(-5vw - 3px);
    max-width: 150px;
    width: 35%;
  }
}
.front-page .add_pr_image .img {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.front-page .add_pr_image .img img {
  border: 6px solid #ff8014;
  border-radius: 25px;
}
@media (max-width: 834px) {
  .front-page .add_pr_image .img img {
    border-width: 3px;
    border-radius: 10px 0 0 10px;
  }
}
.front-page .add_pr_contents .ttl {
  font-size: min(5vw, 6.4rem);
  font-weight: bold;
  line-height: 1.4;
  margin-top: -0.2em;
  margin-bottom: 0.5em;
}
@media (max-width: 834px) {
  .front-page .add_pr_contents .ttl {
    font-size: min(8.7vw, 4rem);
  }
}
.front-page .add_pr_contents .ttl br {
  line-height: 1;
  height: 0;
  display: block;
}
@media (min-width: 835px) {
  .front-page .add_pr_contents .ttl br {
    display: none;
  }
}
.front-page .add_pr_contents .ttl > span:nth-child(11n+1) {
  color: #8bb708;
}
.front-page .add_pr_contents .ttl > span:nth-child(11n+2) {
  color: #fabe00;
}
.front-page .add_pr_contents .ttl > span:nth-child(11n+3) {
  color: #ff8014;
}
.front-page .add_pr_contents .ttl > span:nth-child(11n+4) {
  color: #e60012;
}
.front-page .add_pr_contents .ttl > span:nth-child(11n+5) {
  color: #0099e2;
}
.front-page .add_pr_contents .ttl > span:nth-child(11n+6) {
  color: #0068b7;
}
.front-page .add_pr_contents .ttl > span:nth-child(11n+7) {
  color: #8c4e2b;
}
.front-page .add_pr_contents .ttl > span:nth-child(11n+8) {
  color: #00693e;
}
.front-page .add_pr_contents .ttl > span:nth-child(11n+9) {
  color: #e4007f;
}
.front-page .add_pr_contents .ttl > span:nth-child(11n+10) {
  color: #e83498;
}
.front-page .add_pr_contents .ttl > span:nth-child(11n+11) {
  color: #e60012;
}
@media (min-width: 835px) {
  .front-page .add_pr_contents .prList {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-inline: -50px -40px;
  }
}
@media (max-width: 834px) {
  .front-page .add_pr_contents .prList {
    margin-top: 40px;
  }
}
.front-page .add_pr_contents .prList__item {
  position: relative;
}
@media (min-width: 835px) {
  .front-page .add_pr_contents .prList__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding-inline: 50px 40px;
  }
}
@media (max-width: 834px) {
  .front-page .add_pr_contents .prList__item {
    padding: 0 10%;
  }
}
@media (min-width: 835px) {
  .front-page .add_pr_contents .prList__item:not(:first-child)::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 6px;
    height: 100%;
    background-color: #fff;
    border-radius: 10px;
    border: 1px solid #ccc;
  }
}
@media (max-width: 834px) {
  .front-page .add_pr_contents .prList__item:not(:first-child) {
    margin-top: 25px;
    padding-top: 25px;
  }
  .front-page .add_pr_contents .prList__item:not(:first-child)::before {
    content: "";
    display: block;
    position: absolute;
    bottom: 100%;
    right: 0;
    width: calc(100% - 35px);
    height: 1px;
    background-color: #ccc;
  }
}
.front-page .add_pr_contents .prList__item:nth-child(1) {
  color: #e83498;
}
.front-page .add_pr_contents .prList__item:nth-child(2) {
  color: #0068b7;
}
.front-page .add_pr_contents .prList__item:nth-child(2) .prList__item__num::before {
  background-image: url(../img/index/ico-point2.png);
}
.front-page .add_pr_contents .prList__item:nth-child(3) {
  color: #ff8014;
}
.front-page .add_pr_contents .prList__item:nth-child(3) .prList__item__num::before {
  background-image: url(../img/index/ico-point3.png);
}
.front-page .add_pr_contents .prList__item__num {
  position: relative;
  font-size: 1.6rem;
  font-family: "Mitr", sans-serif;
  margin-bottom: 0.5em;
  padding-left: 1.5em;
}
@media (max-width: 834px) {
  .front-page .add_pr_contents .prList__item__num {
    font-size: 1.4rem;
  }
}
.front-page .add_pr_contents .prList__item__num::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 100%;
  margin-top: -0.2em;
  margin-right: -0.8em;
  aspect-ratio: 34/39;
  width: 2.125em;
  background: url(../img/index/ico-point1.png) no-repeat center/contain;
}
.front-page .add_pr_contents .prList__item__num span {
  font-size: 1.5em;
  font-weight: normal;
  line-height: 1;
}
.front-page .add_pr_contents .prList__item__shd {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: min(1.75vw, 2.8rem);
  font-weight: bold;
  line-height: 1.5;
}
@media (min-width: 835px) {
  .front-page .add_pr_contents .prList__item__shd {
    margin-bottom: auto;
  }
}
@media (max-width: 834px) {
  .front-page .add_pr_contents .prList__item__shd {
    font-size: 2.2rem;
  }
  .front-page .add_pr_contents .prList__item__shd br {
    display: none;
  }
}
.front-page .add_pr_contents .prList__item__shd .font-s {
  font-size: 0.7142857143em;
}
.front-page .add_pr_contents .prList__item__text {
  margin-top: auto;
  padding-top: 10px;
  font-size: 0.9em;
  color: #111 !important;
}
@media (max-width: 834px) {
  .front-page .add_pr_contents .prList__item__text {
    padding-top: 5px;
  }
}
.front-page .add_openhouse {
  position: relative;
  z-index: 5;
  margin-top: -30px;
  background-color: #fff9de;
  padding-bottom: 100px;
}
@media (max-width: 834px) {
  .front-page .add_openhouse {
    margin-top: 0;
    padding-top: 30px;
    padding-bottom: 30px;
  }
}
@media (min-width: 835px) {
  .front-page .add_openhouse::before {
    content: "";
  }
}
.front-page .add_openhouse::before {
  display: block;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  margin-top: -50px;
  width: 5000px;
  height: 16px;
  background-color: #fff;
}
.front-page .add_openhouse .inner {
  position: relative;
  z-index: 5;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  padding: 30px 50px;
  padding-left: 130px;
  border: 4px solid #06c755;
  background-color: #fff;
  border-radius: 100dvh;
}
@media (max-width: 834px) {
  .front-page .add_openhouse .inner {
    padding: 20px 7%;
    padding-left: 80px;
    border-width: 2px;
    border-radius: 20px;
  }
}
.front-page .add_openhouse .inner::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  aspect-ratio: 1/1;
  width: 50px;
  background: url(../img/common/ico-line.png) no-repeat center center/contain;
}
@media (max-width: 834px) {
  .front-page .add_openhouse .inner::before {
    width: 38px;
    top: 20px;
    left: 25px;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
.front-page .add_openhouse .inner::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 100%;
  margin: 0 0 -50px -60px;
  aspect-ratio: 136/209;
  width: 100px;
  background-image: url(../img/common/illust_recruit02.png);
  background-repeat: no-repeat;
  background-size: contain;
}
@media (max-width: 834px) {
  .front-page .add_openhouse .inner::after {
    width: 70px;
    margin: 0 0 -50px -50px;
  }
}
.front-page .add_openhouse .inner .shd {
  font-size: 2.8rem;
  font-weight: bold;
  color: #06c755;
  line-height: 1.5;
}
@media (max-width: 834px) {
  .front-page .add_openhouse .inner .shd {
    font-size: 2.2rem;
  }
}
.front-page .add_openhouse .inner .text {
  margin-top: 0.4em;
  font-size: 0.9em;
  font-weight: bold;
  opacity: 0.8;
  line-height: 1.8;
  letter-spacing: normal;
}
@media (max-width: 834px) {
  .front-page .add_openhouse .inner .text {
    line-height: 1.6;
  }
}
.front-page {
  /*--------------------
    jobSearch（求人検索）
  --------------------*/
}
.front-page .jobSearch {
  position: relative;
  padding: 0 0 120px;
  background: #fff9de;
  z-index: 1;
}
@media (max-width: 834px) {
  .front-page .jobSearch {
    padding: 40px 0;
  }
}
.front-page .jobSearch::after {
  content: "";
  width: 100vw;
  height: clamp(136px, 11.8055555556vw, 170px);
  -webkit-mask-image: url(../img/index/jobsearch_shape.svg);
          mask-image: url(../img/index/jobsearch_shape.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: cover;
          mask-size: cover;
  background-color: #fff9de;
  position: absolute;
  top: 1px;
  left: 0;
  right: 0;
  translate: 0 -100%;
  /* Safari対策：負のz-index＋アニメする合成レイヤーの相性で消えるため、
     非負のz-index＋自前レイヤー化（translateZ）で前面に固定する */
  z-index: 0;
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
  pointer-events: none;
}
@media (max-width: 834px) {
  .front-page .jobSearch::after {
    width: 100%;
    height: auto;
    aspect-ratio: 1440/168;
    -webkit-mask-size: contain;
            mask-size: contain;
  }
}
.front-page .jobSearch {
  /* 左端の赤い装飾 */
}
.front-page .jobSearch::before {
  content: "";
  aspect-ratio: 206/207;
  width: 206px;
  background-image: url(../img/common/deco_red01.png);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  left: 0;
  bottom: 110px;
  z-index: 0;
  pointer-events: none;
}
@media (max-width: 834px) {
  .front-page .jobSearch::before {
    left: -50px;
    bottom: -10px;
    width: 123.6px;
  }
}
.front-page .jobSearch__inner {
  position: relative;
  z-index: 1;
}
.front-page .jobSearch {
  /* commonTitle と フォームを横並び */
}
.front-page .jobSearch__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 40px;
}
@media (max-width: 834px) {
  .front-page .jobSearch__content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 24px;
  }
}
.front-page .jobSearch {
  /* 左：見出し */
}
.front-page .jobSearch .commonTitle {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  color: #e60012;
}
@media (max-width: 834px) {
  .front-page .jobSearch .commonTitle {
    width: 100%;
  }
}
.front-page .jobSearch .commonTitle .ttl-jp::before {
  background-color: #e60012;
}
.front-page .jobSearch {
  /* 右：フォーム */
}
.front-page .jobSearch .search__body {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}
.front-page .newJobs {
  position: relative;
  padding: 0 0 100px;
  /* 上部は黄色→白（jobSearchから連続）。切替位置は要調整 */
  background: linear-gradient(to bottom, #fff9de 0, #fff9de 320px, #fff 320px);
}
@media (max-width: 834px) {
  .front-page .newJobs {
    padding: 40px 0;
    background: linear-gradient(to bottom, #fff9de 0, #fff9de 210px, #fff 210px);
  }
}
.front-page .newJobs__inner {
  position: relative;
  /* SPは縦並びにして「一覧を見る」を order で最後（コントロールの下）へ */
}
@media (max-width: 834px) {
  .front-page .newJobs__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.front-page .newJobs .commonTitle {
  color: #e83498;
}
.front-page .newJobs .commonTitle .ttl-jp::before {
  background-color: #e83498;
}
.front-page .newJobs {
  /* 「一覧を見る」ボタン（PCは右上／SPは最下部・右寄せ） */
}
.front-page .newJobs .commonBtn02 {
  position: absolute;
  top: 84px;
  right: 40px;
}
@media (max-width: 834px) {
  .front-page .newJobs .commonBtn02 {
    position: static;
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4; /* title / swiper / foot の後ろ＝最下部 */
    -ms-flex-item-align: end;
        align-self: flex-end;
    margin: 30px 0 0;
  }
}
.front-page .newJobs {
  /* スライダー */
}
.front-page .newJobs .newjobsSwiper {
  margin-top: 40px;
  overflow: visible;
}
@media (max-width: 834px) {
  .front-page .newJobs .newjobsSwiper {
    margin-top: 24px;
  }
}
.front-page .newJobs .newjobsSwiper .swiper-slide {
  width: 300px;
  height: auto;
}
@media (max-width: 834px) {
  .front-page .newJobs .newjobsSwiper .swiper-slide {
    width: 78%;
  }
}
.front-page .newJobs .newjobsSwiper .swiper-slide a {
  display: block;
}
.front-page .newJobs {
  /* 画像＋職種タグ */
}
.front-page .newJobs .imgArea .img {
  position: relative;
  aspect-ratio: 300/188;
  border-radius: 15px;
  overflow: hidden;
}
@media (max-width: 834px) {
  .front-page .newJobs .imgArea .img {
    border-radius: 10px;
  }
}
.front-page .newJobs .imgArea .img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  /* ホバーで少し拡大 */
  -webkit-transition: -webkit-transform 0.45s ease;
  transition: -webkit-transform 0.45s ease;
  transition: transform 0.45s ease;
  transition: transform 0.45s ease, -webkit-transform 0.45s ease;
}
.front-page .newJobs .imgArea .job-tag {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
.front-page .newJobs .imgArea .job-tag .job-name {
  padding: 4px 14px;
  background: #e83498;
  border-radius: 5px;
  border-top-right-radius: 0px;
  border-bottom-left-radius: 0px;
  color: #fff;
  font-size: 1.4rem;
  line-height: 1.6;
}
.front-page .newJobs {
  /* 求人名 */
}
.front-page .newJobs .textArea {
  margin-top: 16px;
}
.front-page .newJobs .textArea .lead {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  overflow: hidden;
  font-weight: 700;
  line-height: 2;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}
@media (max-width: 834px) {
  .front-page .newJobs .textArea .lead {
    line-height: 1.7;
  }
}
.front-page .newJobs {
  /* カードのホバー：タイトル→ピンク／写真を少し拡大 */
}
@media (any-hover: hover) {
  .front-page .newJobs .newjobsSwiper .swiper-slide a:hover .lead {
    color: #e83498;
  }
  .front-page .newJobs .newjobsSwiper .swiper-slide a:hover .imgArea .img img {
    -webkit-transform: scale(1.06);
            transform: scale(1.06);
  }
}
.front-page .newJobs {
  /* 雇用形態タグ＋日付 */
}
.front-page .newJobs .date-tag {
  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: 12px;
  margin-top: 16px;
}
.front-page .newJobs .date-tag .category {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 8px;
}
.front-page .newJobs .date-tag .category .category_item {
  padding: 3px 14px;
  border: 1px solid #e83498;
  border-radius: 5px;
  color: #e83498;
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 1.5;
}
.front-page .newJobs .date-tag .date {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  color: #888;
  font-size: 1.3rem;
}
.front-page .newJobs {
  /* プログレスバー＋前後ボタン */
}
.front-page .newJobs__foot {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 40px;
  margin-top: 48px;
}
@media (max-width: 834px) {
  .front-page .newJobs__foot {
    gap: 20px;
    margin-top: 32px;
  }
}
.front-page .newJobs .progress {
  position: relative;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  height: 2px;
  background: rgba(0, 0, 0, 0.12);
  overflow: hidden;
}
.front-page .newJobs .progress .swiper-pagination-progressbar-fill {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #e83498;
  -webkit-transform-origin: left top;
          transform-origin: left top;
}
.front-page .newJobs .controls {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
}
@media (max-width: 834px) {
  .front-page .newJobs .controls {
    gap: 8px;
  }
}
.front-page .newJobs .controls__item {
  position: relative;
  width: 62px;
  height: 62px;
  border: 2px solid #e83498;
  border-radius: 50%;
  cursor: pointer;
  -webkit-transition: -webkit-transform 0.3s ease, -webkit-filter 0.3s ease;
  transition: -webkit-transform 0.3s ease, -webkit-filter 0.3s ease;
  transition: transform 0.3s ease, filter 0.3s ease;
  transition: transform 0.3s ease, filter 0.3s ease, -webkit-transform 0.3s ease, -webkit-filter 0.3s ease;
}
@media (max-width: 834px) {
  .front-page .newJobs .controls__item {
    border-width: 1px;
    width: 48px;
    height: 48px;
  }
}
.front-page .newJobs .controls__item {
  /* ホバー：透過なし・彩度を少し上げて・少し上に浮く（無効時は除く） */
}
@media (any-hover: hover) {
  .front-page .newJobs .controls__item:not(.swiper-button-disabled):hover {
    -webkit-transform: translateY(-4px);
            transform: translateY(-4px);
    -webkit-filter: saturate(1.25);
            filter: saturate(1.25);
  }
}
.front-page .newJobs .controls__item::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 9px;
  height: 9px;
  border-top: 2px solid;
  border-right: 2px solid;
}
.front-page .newJobs .controls__item.-prev {
  background: #e83498;
  color: #fff;
}
.front-page .newJobs .controls__item.-prev::before {
  -webkit-transform: translate(-30%, -50%) rotate(-135deg);
          transform: translate(-30%, -50%) rotate(-135deg);
}
.front-page .newJobs .controls__item.-next {
  background: #e83498;
  color: #fff;
}
.front-page .newJobs .controls__item.-next::before {
  -webkit-transform: translate(-70%, -50%) rotate(45deg);
          transform: translate(-70%, -50%) rotate(45deg);
}
.front-page .newJobs .controls__item.swiper-button-disabled {
  background: #fff;
  cursor: default;
}
.front-page .newJobs .controls__item.swiper-button-disabled::before {
  content: "";
  border-color: #e83498;
}
.front-page .philosophy {
  padding-bottom: 80px;
}
@media (max-width: 834px) {
  .front-page .philosophy {
    padding: 40px 0;
  }
}
.front-page .philosophy__inner {
  position: relative;
}
.front-page .philosophy .commonTitle {
  /* 画像はフルブリード。見出しだけ内側にインセット */
  padding-left: 8.3333vw;
  color: #ff8014;
}
.front-page .philosophy .commonTitle .ttl-jp::before {
  background-color: #ff8014;
}
.front-page .philosophy__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 6.25vw;
  margin-top: 18px;
  /* 右のポートレート写真（18.2639vw）ぶん＋余白を確保 */
  padding-right: calc(18.2639vw + 40px);
}
@media (max-width: 834px) {
  .front-page .philosophy__content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 24px;
    margin-top: 24px;
    padding-right: 0;
  }
}
.front-page .philosophy {
  /* 左：メイン写真（左端までフルブリード・右側だけ角丸） 1440pxで528×460 */
}
.front-page .philosophy .imgArea-left {
  position: relative;
  z-index: 0;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 36.6667vw;
          flex: 0 0 36.6667vw;
  aspect-ratio: 528/460;
  margin-top: 60px;
}
@media (max-width: 834px) {
  .front-page .philosophy .imgArea-left {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 100%;
    max-width: 343.2px;
    padding-right: 6.25%;
    margin-top: 0;
  }
}
.front-page .philosophy .imgArea-left img {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  border: 6px solid #ff8014;
  border-left: none;
  border-radius: 0 25px 25px 0;
}
@media (max-width: 834px) {
  .front-page .philosophy .imgArea-left img {
    border-width: 3px;
  }
}
.front-page .philosophy {
  /* 中央：テキスト */
}
.front-page .philosophy .textArea {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}
@media (max-width: 834px) {
  .front-page .philosophy .textArea {
    padding-right: 6.25%;
    padding-left: 6.25%;
  }
}
.front-page .philosophy .textArea .lead-eng {
  color: #ff8014;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.05em;
}
@media (max-width: 834px) {
  .front-page .philosophy .textArea .lead-eng {
    font-size: 1.5rem;
  }
}
.front-page .philosophy .textArea .ttl {
  margin: 10px 0 28px;
  color: #ff8014;
  font-size: 4.8rem;
  font-weight: 700;
  line-height: 1.4;
}
@media (max-width: 834px) {
  .front-page .philosophy .textArea .ttl {
    font-size: 2.4rem;
    line-height: 1.7;
    margin: 8px 0 20px;
  }
}
.front-page .philosophy .textArea > .text {
  font-size: 1.6rem;
  line-height: 2;
}
@media (max-width: 834px) {
  .front-page .philosophy .textArea > .text {
    font-size: 1.4rem;
  }
}
.front-page .philosophy {
  /* 詳細を見るボタン（白地・オレンジ枠・オレンジ丸＋白矢印） */
}
.front-page .philosophy .commonBtn {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-top: 40px;
}
@media (max-width: 834px) {
  .front-page .philosophy .commonBtn {
    margin-top: 24px;
  }
}
.front-page .philosophy {
  /* 右：ポートレート写真＋オレンジの弧 1440pxで263×360 */
}
.front-page .philosophy__content > .imgArea-right {
  position: absolute;
  top: clamp(-170px, -11.8055555556vw, -200px);
  right: 0;
  z-index: 1;
  width: 18.2639vw;
}
@media (max-width: 834px) {
  .front-page .philosophy__content > .imgArea-right {
    position: static;
    width: 60%;
    margin-left: auto;
  }
}
.front-page .philosophy__content > .imgArea-right {
  /* オレンジの弧（写真の背面） */
}
.front-page .philosophy__content > .imgArea-right::after {
  content: "";
  position: absolute;
  z-index: -1;
  right: 0;
  bottom: 0;
  width: 160px;
  aspect-ratio: 158/160;
  background: url(../img/common/deco_orange01.png) no-repeat center/contain;
  translate: 0 100%;
}
@media (max-width: 834px) {
  .front-page .philosophy__content > .imgArea-right::after {
    width: 112px;
  }
}
.front-page .philosophy__content > .imgArea-right .imgArea-right {
  aspect-ratio: 263/360;
  overflow: hidden;
}
@media (max-width: 834px) {
  .front-page .philosophy__content > .imgArea-right .imgArea-right {
    aspect-ratio: 4/3;
  }
}
.front-page .philosophy__content > .imgArea-right img {
  width: 100%;
  height: 100%;
  border: 6px solid #ff8014;
  border-right: none;
  border-radius: 25px 0 0 25px;
}
@media (max-width: 834px) {
  .front-page .philosophy__content > .imgArea-right img {
    border-width: 3px;
    border-radius: 10px 0 0 10px;
  }
}
.front-page .ourValue {
  position: relative;
  margin-top: 50px;
  padding-bottom: 110px;
  z-index: 1;
}
@media (max-width: 834px) {
  .front-page .ourValue {
    margin-top: 40px;
    padding-bottom: 40px;
  }
}
.front-page .ourValue::before {
  content: "";
  width: 200px;
  aspect-ratio: 1/1;
  background-image: url(../img/common/deco_green01.png);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
}
@media (max-width: 834px) {
  .front-page .ourValue::before {
    width: 140px;
  }
}
.front-page .ourValue::after {
  content: "";
  aspect-ratio: 1/1;
  width: 60px;
  background-image: url(../img/common/radius.svg);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  bottom: 0;
  left: 0;
}
@media (max-width: 834px) {
  .front-page .ourValue::after {
    width: 40px;
  }
}
@media (max-width: 834px) {
  .front-page .ourValue__inner {
    padding-right: 4%;
    padding-left: 4%;
  }
}
.front-page .ourValue__inner {
  /* 装飾イラスト（右上） */
}
.front-page .ourValue__inner::before {
  content: "";
  position: absolute;
  top: 55px;
  right: 0;
  z-index: 2;
  width: clamp(186.4px, 16.1805555556vw, 233px);
  aspect-ratio: 233/243;
  background: url(../img/index/illust_orange01.png) no-repeat center/contain;
  pointer-events: none;
  translate: 0 -100%;
}
@media (max-width: 834px) {
  .front-page .ourValue__inner::before {
    top: -45px;
    right: initial;
    left: 40px;
    width: 100px;
  }
}
.front-page .ourValue__inner {
  /* 装飾イラスト（左下） */
}
.front-page .ourValue__inner::after {
  content: "";
  position: absolute;
  bottom: -30px;
  left: 0;
  z-index: 2;
  width: 148px;
  width: clamp(118.4px, 10.2777777778vw, 148px);
  aspect-ratio: 148/262;
  background: url(../img/index/illust_orange02.png) no-repeat center/contain;
  pointer-events: none;
}
@media (max-width: 834px) {
  .front-page .ourValue__inner::after {
    bottom: -50px;
    width: 60px;
  }
}
.front-page .ourValue__content {
  position: relative;
  background: #fff9de;
  border-radius: 40px;
  padding: 90px 48px 72px;
}
@media (max-width: 834px) {
  .front-page .ourValue__content {
    padding: 56px 20px 40px;
    border-radius: 24px;
  }
}
.front-page .ourValue {
  /* タイトル（上辺中央のオレンジピル＋吹き出しの三角） */
}
.front-page .ourValue__ttl {
  position: absolute;
  top: 0;
  left: 50%;
  z-index: 1;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  /* 下向きの三角（吹き出し） */
}
.front-page .ourValue__ttl::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-top: -1px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  border-style: solid;
  border-width: 14px 12px 0 12px;
  border-color: #ff8014 transparent transparent transparent;
}
@media (max-width: 834px) {
  .front-page .ourValue__ttl::after {
    border-width: 10px 9px 0 9px;
  }
}
.front-page .ourValue__ttl .text {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.4667em;
  padding: 0.5667em 0.9333em;
  background: #ff8014;
  border-radius: 15px;
  color: #fff;
  font-size: 3rem;
  font-weight: 700;
  white-space: nowrap;
  line-height: 1;
}
@media (max-width: 834px) {
  .front-page .ourValue__ttl .text {
    font-size: 2rem;
    border-radius: 5px;
  }
}
.front-page .ourValue__ttl .text::before, .front-page .ourValue__ttl .text::after {
  content: "";
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 0.2667em;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background: #fff;
}
.front-page .ourValue {
  /* カード：3列・最終行は中央寄せ（枚数が増減してもレイアウトが崩れない） */
}
.front-page .ourValue__list {
  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;
  gap: 50px 24px;
  max-width: 1092px; /* 348*3 + 24*2 → カード幅348px */
  margin-inline: auto;
  counter-reset: ov;
}
@media (max-width: 834px) {
  .front-page .ourValue__list {
    max-width: 348px;
    gap: 40px 16px;
  }
}
.front-page .ourValue__item {
  position: relative;
  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;
  text-align: center;
  counter-increment: ov;
  /* 3列（列間 24px×2）。端数の行は list の justify-content: center で中央寄せ */
  width: calc((100% - 48px) / 3);
  padding: 30px 24px 44px;
  background: #fff;
  border-radius: 25px;
}
@media (max-width: 834px) {
  .front-page .ourValue__item {
    width: 100%;
    border-radius: 15px;
    padding: 36px 18px 32px;
  }
}
.front-page .ourValue {
  /* 上辺のラベル「Our Value 0X」 */
}
.front-page .ourValue__item__num {
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  padding: 0.2857em 1.2857em;
  border-radius: 100vmax;
  color: #fff;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.6;
  white-space: nowrap;
  letter-spacing: 0;
}
@media (max-width: 834px) {
  .front-page .ourValue__item__num {
    font-size: 1.3rem;
  }
}
.front-page .ourValue__item__num::before {
  /* 2桁ゼロ埋め（10枚以上でも「010」等に崩れない） */
  content: "Our Value " counter(ov, decimal-leading-zero);
}
.front-page .ourValue__item__icon {
  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;
  aspect-ratio: 84px;
  width: 100%;
  max-width: 84px;
  border-radius: 50%;
  overflow: hidden;
}
@media (max-width: 834px) {
  .front-page .ourValue__item__icon {
    max-width: 68px;
  }
}
.front-page .ourValue__item__ttl {
  position: relative;
  margin-bottom: 0.6667em;
  font-size: 2.4rem;
  font-weight: 700;
}
@media (max-width: 834px) {
  .front-page .ourValue__item__ttl {
    font-size: 1.8rem;
  }
}
.front-page .ourValue__item__ttl::before {
  content: "";
  height: 2px;
  width: 1.6667em;
  background-color: currentColor;
  position: absolute;
  bottom: -5px;
  left: 50%;
  translate: -50%;
  pointer-events: none;
}
.front-page .ourValue__item__text {
  position: relative;
  z-index: 1;
  line-height: 1.75;
}
.front-page .ourValue {
  /* カード下部のグラデーション帯（高さ18px・左が白→右が色） */
}
.front-page .ourValue__item::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 0;
  height: 18px;
  border-radius: 0 0 25px 25px;
}
@media (max-width: 834px) {
  .front-page .ourValue__item::after {
    height: 12px;
    border-radius: 0 0 15px 15px;
  }
}
.front-page .ourValue {
  /* カラーバリエーション（5色をループ：6枚目以降も色が付く） */
}
.front-page .ourValue__item:nth-child(5n+1) .ourValue__item__num {
  background: #e60012;
}
.front-page .ourValue__item:nth-child(5n+1) .ourValue__item__icon {
  background: rgba(230, 0, 18, 0.1);
}
.front-page .ourValue__item:nth-child(5n+1) .ourValue__item__ttl {
  color: #e60012;
}
.front-page .ourValue__item:nth-child(5n+1)::after {
  background: -webkit-gradient(linear, left top, right top, from(#fff), to(#e60012));
  background: linear-gradient(to right, #fff, #e60012);
}
.front-page .ourValue__item:nth-child(5n+2) .ourValue__item__num {
  background: #e83498;
}
.front-page .ourValue__item:nth-child(5n+2) .ourValue__item__icon {
  background: rgba(232, 52, 152, 0.1);
}
.front-page .ourValue__item:nth-child(5n+2) .ourValue__item__ttl {
  color: #e83498;
}
.front-page .ourValue__item:nth-child(5n+2)::after {
  background: -webkit-gradient(linear, left top, right top, from(#fff), to(#e83498));
  background: linear-gradient(to right, #fff, #e83498);
}
.front-page .ourValue__item:nth-child(5n+3) .ourValue__item__num {
  background: #8bb708;
}
.front-page .ourValue__item:nth-child(5n+3) .ourValue__item__icon {
  background: rgba(139, 183, 8, 0.1);
}
.front-page .ourValue__item:nth-child(5n+3) .ourValue__item__ttl {
  color: #8bb708;
}
.front-page .ourValue__item:nth-child(5n+3)::after {
  background: -webkit-gradient(linear, left top, right top, from(#fff), to(#8bb708));
  background: linear-gradient(to right, #fff, #8bb708);
}
.front-page .ourValue__item:nth-child(5n+4) .ourValue__item__num {
  background: #0068b7;
}
.front-page .ourValue__item:nth-child(5n+4) .ourValue__item__icon {
  background: rgba(0, 104, 183, 0.1);
}
.front-page .ourValue__item:nth-child(5n+4) .ourValue__item__ttl {
  color: #0068b7;
}
.front-page .ourValue__item:nth-child(5n+4)::after {
  background: -webkit-gradient(linear, left top, right top, from(#fff), to(#0068b7));
  background: linear-gradient(to right, #fff, #0068b7);
}
.front-page .ourValue__item:nth-child(5n+5) .ourValue__item__num {
  background: #941e57;
}
.front-page .ourValue__item:nth-child(5n+5) .ourValue__item__icon {
  background: rgba(148, 30, 87, 0.1);
}
.front-page .ourValue__item:nth-child(5n+5) .ourValue__item__ttl {
  color: #941e57;
}
.front-page .ourValue__item:nth-child(5n+5)::after {
  background: -webkit-gradient(linear, left top, right top, from(#fff), to(#941e57));
  background: linear-gradient(to right, #fff, #941e57);
}
.front-page .interview {
  position: relative;
  background-color: #fff9de;
  padding-top: 90px;
  padding-bottom: 110px;
  border-radius: 0 60px 0 60px;
}
@media (max-width: 834px) {
  .front-page .interview {
    padding-top: 40px;
    padding-bottom: 40px;
    border-radius: 0 40px 0 40px;
  }
}
.front-page .interview::before {
  content: "";
  aspect-ratio: 321/229;
  width: 321px;
  background-image: url(../img/index/illust_green01.png);
  background-repeat: no-repeat;
  background-size: contain;
}
.front-page .interview__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8.3333%;
}
@media (max-width: 834px) {
  .front-page .interview__content {
    gap: 30px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.front-page .interview__content .commonTitle {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  color: #8bb708;
}
.front-page .interview__content .commonTitle .ttl-jp::before {
  background-color: #8bb708;
}
.front-page .interview__content .desc {
  line-height: 2.4;
}
@media (max-width: 834px) {
  .front-page .interview__content .desc {
    line-height: 2;
  }
}
.front-page .interview .sec-images {
  position: relative;
}
.front-page .interview .sec-images::before {
  content: "";
  aspect-ratio: 321/229;
  width: clamp(256.8px, 22.2916666667vw, 321px);
  background-image: url(../img/index/illust_green01.png);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  bottom: -70px;
  right: 8.3333%;
  z-index: 2;
}
@media (max-width: 834px) {
  .front-page .interview .sec-images::before {
    width: 110px;
    bottom: 18px;
  }
}
.front-page .interview .sec-images__inner {
  padding: 60px 0;
}
@media (max-width: 834px) {
  .front-page .interview .sec-images__inner {
    padding: 40px 0;
  }
}
.front-page .interview .sec-images__contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}
.front-page .interview .sec-images__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-animation: infinity-scroll 60s linear infinite;
          animation: infinity-scroll 60s linear infinite;
  height: 336px;
}
@media (max-width: 834px) {
  .front-page .interview .sec-images__items {
    height: 168px;
  }
}
.front-page .interview .sec-images__items img {
  margin-right: 40px;
  aspect-ratio: 460/336;
  border-radius: 25px;
  overflow: hidden;
  border: solid 6px #fff;
}
@media (max-width: 834px) {
  .front-page .interview .sec-images__items img {
    border-width: 3px;
    margin-right: 16px;
    border-radius: 15px;
    height: 168px;
  }
}
.front-page .interview .commonBtn a {
  background-color: #8bb708;
}
.front-page .interview .commonBtn a .arrow::before {
  background-color: #8bb708;
}
.front-page .facility {
  position: relative;
  padding: 100px 0;
  padding-bottom: 120px;
}
@media (max-width: 834px) {
  .front-page .facility {
    padding: 40px 0;
    padding-bottom: 80px;
  }
}
.front-page .facility__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 60px;
}
@media (max-width: 834px) {
  .front-page .facility__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 32px;
  }
}
.front-page .facility__body {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}
@media (max-width: 834px) {
  .front-page .facility__body {
    width: 100%;
  }
}
.front-page .facility .commonTitle {
  color: #0068b7;
}
.front-page .facility .commonTitle .ttl-jp::before {
  background-color: #0068b7;
}
.front-page .facility__list {
  margin: 32px 0 40px;
  border-top: 1px solid #e7e7e7;
  counter-reset: fa;
}
@media (max-width: 834px) {
  .front-page .facility__list {
    margin: 24px 0 32px;
  }
}
.front-page .facility__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 20px;
  padding: 18px 8px;
  border-bottom: 1px solid #e7e7e7;
  counter-increment: fa;
}
@media (max-width: 834px) {
  .front-page .facility__item {
    gap: 14px;
    padding: 14px 6px;
  }
}
.front-page .facility__item__num {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  color: #0068b7;
  font-size: 1.9rem;
  font-weight: 500;
}
@media (max-width: 834px) {
  .front-page .facility__item__num {
    font-size: 1.8rem;
  }
}
.front-page .facility__item__num::before {
  content: "#0" counter(fa);
}
.front-page .facility__item__text {
  font-size: 1.7rem;
  font-weight: 700;
}
@media (max-width: 834px) {
  .front-page .facility__item__text {
    font-size: 1.6rem;
  }
}
@media (max-width: 834px) {
  .front-page .facility .commonBtn {
    margin-inline: auto;
  }
}
.front-page .facility .commonBtn a {
  background-color: #0068b7;
}
.front-page .facility .commonBtn a .arrow::before {
  background-color: #0068b7;
}
.front-page .facility {
  /* 画像（上570×224／下 左362×224・右184×224） */
}
.front-page .facility__imgArea {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 570px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 12px;
}
@media (max-width: 834px) {
  .front-page .facility__imgArea {
    width: 100%;
    max-width: 380px;
    gap: 10px;
    margin: 24px auto 0;
  }
}
.front-page .facility__imgArea img {
  width: 100%;
  height: 100%;
  border: 6px solid #0068b7;
  border-radius: 20px;
}
@media (max-width: 834px) {
  .front-page .facility__imgArea img {
    border: 3px solid #0068b7;
    border-radius: 10px;
  }
}
.front-page .facility__imgArea__main {
  aspect-ratio: 570/224;
  width: 100%;
  max-width: 570px;
}
@media (max-width: 834px) {
  .front-page .facility__imgArea__main {
    max-height: 153px;
  }
}
.front-page .facility__imgArea__sub {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 12px;
}
.front-page .facility__imgArea__sub__item:nth-child(1) {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 362px;
          flex: 0 0 362px;
  aspect-ratio: 362/224;
}
.front-page .facility__imgArea__sub__item:nth-child(2) {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  aspect-ratio: 184/224;
}
@media (max-width: 834px) {
  .front-page .facility__imgArea__sub__item {
    /* 高さを揃えるため比率を維持（362:184） */
  }
  .front-page .facility__imgArea__sub__item:nth-child(1) {
    -webkit-box-flex: 362;
        -ms-flex: 362;
            flex: 362;
  }
  .front-page .facility__imgArea__sub__item:nth-child(2) {
    -webkit-box-flex: 184;
        -ms-flex: 184;
            flex: 184;
  }
}
.front-page .facility {
  /* 装飾：右上のブルー弧 */
}
.front-page .facility::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  z-index: -1;
  width: 194px;
  aspect-ratio: 194/200;
  background: url(../img/common/deco_blue01.png) no-repeat center/contain;
  pointer-events: none;
}
@media (max-width: 834px) {
  .front-page .facility::before {
    width: 116.4px;
  }
}
.front-page .facility {
  /* 装飾：右下のイラスト */
}
.front-page .facility::after {
  content: "";
  position: absolute;
  right: 5%;
  bottom: 68px;
  z-index: 1;
  width: clamp(119.2px, 10.3472222222vw, 149px);
  aspect-ratio: 149/202;
  background: url(../img/index/illust_blue01.png) no-repeat center/contain;
  pointer-events: none;
}
@media (max-width: 834px) {
  .front-page .facility::after {
    width: 70px;
    bottom: -40px;
  }
}
.front-page .data {
  position: relative;
  padding-bottom: 150px;
}
@media (max-width: 834px) {
  .front-page .data {
    padding: 40px 0;
    padding-bottom: 100px;
  }
}
.front-page .data__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 60px;
}
@media (max-width: 834px) {
  .front-page .data__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 32px;
  }
}
.front-page .data {
  /* 画像（570×396） */
}
.front-page .data .imgArea {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 570px;
  aspect-ratio: 570/396;
}
@media (max-width: 834px) {
  .front-page .data .imgArea {
    width: 100%;
    max-width: 340px;
    margin: 24px auto 0;
  }
}
.front-page .data .imgArea img {
  width: 100%;
  height: 100%;
  border: 6px solid #941e57;
  border-radius: 25px;
}
@media (max-width: 834px) {
  .front-page .data .imgArea img {
    border: 3px solid #941e57;
    border-radius: 15px;
  }
}
.front-page .data .textArea {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}
@media (max-width: 834px) {
  .front-page .data .textArea {
    width: 100%;
  }
}
.front-page .data .textArea .commonTitle {
  color: #941e57;
}
.front-page .data .textArea .commonTitle .ttl-jp::before {
  background-color: #941e57;
}
.front-page .data .textArea .desc {
  margin: 24px 0 40px;
  font-size: 1.6rem;
  line-height: 2;
}
@media (max-width: 834px) {
  .front-page .data .textArea .desc {
    font-size: 1.4rem;
    margin-bottom: 30px;
  }
}
@media (max-width: 834px) {
  .front-page .data .textArea .commonBtn {
    margin-inline: auto;
  }
}
.front-page .data .textArea .commonBtn a {
  background-color: #941e57;
}
.front-page .data .textArea .commonBtn a .arrow::before {
  background-color: #941e57;
}
.front-page .data {
  /* 装飾：左下の紫弧 */
}
.front-page .data::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: -1;
  width: 200px;
  aspect-ratio: 1/1;
  background: url(../img/common/deco_purple01.png) no-repeat center/contain;
  pointer-events: none;
}
@media (max-width: 834px) {
  .front-page .data::before {
    width: 120px;
  }
}
.front-page .data {
  /* 装飾：左下のイラスト */
}
.front-page .data::after {
  content: "";
  position: absolute;
  left: 3%;
  bottom: 20px;
  z-index: 1;
  width: clamp(106.4px, 9.2361111111vw, 133px);
  aspect-ratio: 133/250;
  background: url(../img/index/illust_purple01.png) no-repeat center/contain;
  pointer-events: none;
}
@media (max-width: 834px) {
  .front-page .data::after {
    width: 60px;
    bottom: -20px;
  }
}

/*--------------------
  mainVisual
--------------------*/
.mainVisual {
  position: relative;
  width: 100%;
  /* main.main の上パディングを打ち消してヘッダー下まで全幅表示 */
  margin-top: 0;
  /* 高さ抑えめ（1440pxで約1075px）。画像比より横長にして高さを圧縮 */
  aspect-ratio: 1440/1075;
  /* 背景を拡大してもはみ出さないように */
  overflow: hidden;
  /* 内部の z-index/合成レイヤーを閉じ込め、jobSearch::after（波形）が
     MV登場アニメ中に隠れないようにする */
  isolation: isolate;
}
@media (max-width: 834px) {
  .mainVisual {
    margin-top: 0;
    aspect-ratio: auto;
    /* 834px→800px / 375px→440px で線形可変 */
    height: clamp(440px, 78.43vw + 145.9px, 800px);
    width: 100%;
    background-color: #fff;
  }
}
.mainVisual {
  /* 背景イラスト（別レイヤー化：登場時に軽くズーム沈み込み＋フェード） */
}
.mainVisual__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  background: url("../img/index/mainvisual.webp") no-repeat center top;
  background-size: cover;
  -webkit-transform-origin: center;
          transform-origin: center;
  /* 発火前は非表示（.js-mvStart で登場アニメ開始） */
  opacity: 0;
}
@media (max-width: 834px) {
  .mainVisual__bg {
    /* イラストを拡大して下寄せ（左右は少しトリミング）。上の白場にコピー */
    background-size: 120% auto;
    background-position: center bottom;
    background-color: #fff;
  }
}
.mainVisual {
  /* SP：コピーと被る上部に薄い白グラデーションマスク */
}
.mainVisual::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  display: none;
  pointer-events: none;
}
@media (max-width: 834px) {
  .mainVisual::before {
    display: block;
    background: -webkit-gradient(linear, left top, right bottom, from(rgba(255, 255, 255, 0.9)), color-stop(50%, rgba(255, 255, 255, 0.55)), color-stop(70%, rgba(255, 255, 255, 0)));
    background: linear-gradient(to bottom right, rgba(255, 255, 255, 0.9) 0%, rgba(255, 255, 255, 0.55) 50%, rgba(255, 255, 255, 0) 70%);
  }
}
.mainVisual__inner {
  position: absolute;
  inset: 0;
  z-index: 2;
}
.mainVisual {
  /* キャッチコピー（左上に重ねる） */
}
.mainVisual__copy {
  position: absolute;
  z-index: 1;
  top: 12%;
  left: 6%;
  width: 30%;
  min-width: 260px;
  max-width: clamp(314.4px, 27.2916666667vw, 523.99869px);
}
@media (max-width: 834px) {
  .mainVisual__copy {
    /* 834px→top140px/幅340px、375px→top104px/幅200px で可変 */
    top: clamp(83.2px, 6.272vw + 59.68px, 112px);
    left: 4%;
    width: auto;
    min-width: inherit;
    max-width: clamp(200px, 30.5vw + 85.6px, 340px);
    margin-inline: auto;
  }
}
.mainVisual__copy__h {
  margin: 0;
  font-size: clamp(14.4px, 1.25vw, 23.99994px);
  font-weight: 700;
  line-height: 2;
  color: #111;
}
@media (max-width: 834px) {
  .mainVisual__copy__h {
    font-size: 1.4rem;
    line-height: 1.9;
    white-space: nowrap;
    /* イラスト上での視認性UP（白フチを太く） */
    text-shadow: 2px 2px 0 #fff, -2px 2px 0 #fff, 2px -2px 0 #fff, -2px -2px 0 #fff, 2px 0 0 #fff, -2px 0 0 #fff, 0 2px 0 #fff, 0 -2px 0 #fff, 0 0 3px #fff;
  }
}
.mainVisual__copy__h img {
  display: block;
  width: 100%;
  height: auto;
  margin-bottom: 1.5em;
  /* 筆で描くように左→右へ出現（発火前は隠す） */
  clip-path: inset(0 100% 0 0);
}
@media (max-width: 834px) {
  .mainVisual__copy__h img {
    width: 85%;
    margin-bottom: 1.2em;
    /* 画像（筆文字）の白フチ（縁取りは控えめに） */
    -webkit-filter: drop-shadow(1.5px 0 0 #fff) drop-shadow(-1.5px 0 0 #fff) drop-shadow(0 1.5px 0 #fff) drop-shadow(0 -1.5px 0 #fff) drop-shadow(1px 1px 0 #fff) drop-shadow(-1px 1px 0 #fff) drop-shadow(1px -1px 0 #fff) drop-shadow(-1px -1px 0 #fff);
            filter: drop-shadow(1.5px 0 0 #fff) drop-shadow(-1.5px 0 0 #fff) drop-shadow(0 1.5px 0 #fff) drop-shadow(0 -1.5px 0 #fff) drop-shadow(1px 1px 0 #fff) drop-shadow(-1px 1px 0 #fff) drop-shadow(1px -1px 0 #fff) drop-shadow(-1px -1px 0 #fff);
  }
}
.mainVisual__copy__h {
  /* サブコピー（1行ずつ）：JS分割前は隠してチラつき防止 */
}
.mainVisual__copy__h .js-splitChar {
  padding-left: 40px;
  opacity: 0;
}
@media (max-width: 834px) {
  .mainVisual__copy__h .js-splitChar {
    /* 添付のように白い下地を敷いて視認性UP（行ごとの帯） */
    padding: 0.12em 0.5em;
    background: rgba(255, 255, 255, 0.9);
    border-radius: 4px;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
    text-shadow: none;
    font-size: 1.2rem;
  }
}
.mainVisual__copy__h .js-splitChar.is-split {
  opacity: 1;
}
.mainVisual__copy__h {
  /* 1文字ずつ浮き上がる（indexは JS が --i で付与。発火前は隠す） */
}
.mainVisual__copy__h .ch {
  display: inline-block;
  opacity: 0;
  -webkit-transform: translateY(0.6em);
          transform: translateY(0.6em);
}

/* ============================================
// MV 登場アニメーションの発火（カットイン終了 or 再訪時に body.js-mvStart 付与）
// ==========================================*/
.js-mvStart .mainVisual__bg {
  -webkit-animation: mvBgSettle 1.2s cubic-bezier(0.2, 0.7, 0.2, 1) both;
          animation: mvBgSettle 1.2s cubic-bezier(0.2, 0.7, 0.2, 1) both;
}
.js-mvStart .mainVisual__copy__h img {
  -webkit-animation: mvBrush 0.9s cubic-bezier(0.16, 0.84, 0.24, 1) 0.3s both;
          animation: mvBrush 0.9s cubic-bezier(0.16, 0.84, 0.24, 1) 0.3s both;
}
.js-mvStart .mainVisual__copy__h .ch {
  -webkit-animation: mvCharRise 0.5s cubic-bezier(0.2, 0.7, 0.2, 1) both;
          animation: mvCharRise 0.5s cubic-bezier(0.2, 0.7, 0.2, 1) both;
  -webkit-animation-delay: calc(0.95s + var(--i) * 0.035s);
          animation-delay: calc(0.95s + var(--i) * 0.035s);
}

/* ============================================
// MV 登場アニメーション（ブラシ・ドロー）
// ==========================================*/
@-webkit-keyframes mvBgSettle {
  0% {
    opacity: 0;
    -webkit-transform: scale(1.06);
            transform: scale(1.06);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@keyframes mvBgSettle {
  0% {
    opacity: 0;
    -webkit-transform: scale(1.06);
            transform: scale(1.06);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@-webkit-keyframes mvBrush {
  0% {
    clip-path: inset(0 100% 0 0);
  }
  100% {
    clip-path: inset(0 0 0 0);
  }
}
@keyframes mvBrush {
  0% {
    clip-path: inset(0 100% 0 0);
  }
  100% {
    clip-path: inset(0 0 0 0);
  }
}
@-webkit-keyframes mvCharRise {
  0% {
    opacity: 0;
    -webkit-transform: translateY(0.6em);
            transform: translateY(0.6em);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes mvCharRise {
  0% {
    opacity: 0;
    -webkit-transform: translateY(0.6em);
            transform: translateY(0.6em);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
/* ============================================
// MV前のカラフルなカットイン（初回訪問のみ：body.once）
// ==========================================*/
.mvIntro {
  position: fixed;
  inset: 0;
  z-index: 3000;
  overflow: hidden;
  pointer-events: none;
  /* 背景は赤（この上を丸端バーが流れる） */
  background: #e60012;
  will-change: transform;
  /* 既定は非表示。初回（.once）のときだけ表示する
     ＝更新（再訪）時に赤背景が一瞬映るのを防ぐ */
  display: none;
  /* JS完了後に確実に消す保険 */
}
.mvIntro.is-hidden {
  display: none !important;
}
.mvIntro {
  /* 丸端バー（ピル）。行・幅・色・速度は JS がばらつかせて生成 */
}
.mvIntro__bar {
  position: absolute;
  left: 0;
  top: var(--top, 0);
  width: var(--w, 60vw);
  height: var(--h, 8vh);
  border-radius: 100vmax;
  background: currentColor;
  /* 既定は画面左外。初回のみ流れる */
  -webkit-transform: translateX(-125vw);
          transform: translateX(-125vw);
  will-change: transform;
  /* 赤地に映える配色 */
}
.mvIntro__bar.-white {
  color: #fff;
}
.mvIntro__bar.-yellow {
  color: #f8c500;
}
.mvIntro__bar.-blue {
  color: #0068b7;
}
.mvIntro__bar.-green {
  color: #8bb708;
}
.mvIntro__bar.-pink {
  color: #e83498;
}
.mvIntro {
  /* 冒頭に出すロゴ＋LOADING（赤地に白抜き・中央） */
}
.mvIntro__logo {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 2;
  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;
  gap: 18px;
  width: clamp(200px, 26vw, 320px);
  -webkit-transform: translate(-50%, -50%) scale(0.88);
          transform: translate(-50%, -50%) scale(0.88);
  opacity: 0;
  pointer-events: none;
}
@media (max-width: 834px) {
  .mvIntro__logo {
    width: 62vw;
    max-width: 300px;
    gap: 14px;
  }
}
.mvIntro__logo img {
  display: block;
  width: 100%;
  height: auto;
  /* 赤地に映えるよう白抜き */
  -webkit-filter: brightness(0) invert(1);
          filter: brightness(0) invert(1);
}
.mvIntro {
  /* LOADING（ロゴの下・ふわっと明滅） */
}
.mvIntro__loading {
  color: #fff;
  font-family: "Mitr", sans-serif;
  font-size: 1.3rem;
  font-weight: 500;
  letter-spacing: 0.35em;
  text-indent: 0.35em; /* letter-spacing の右余白ぶんを中央補正 */
  -webkit-animation: mvLoadingPulse 1.1s ease-in-out infinite;
          animation: mvLoadingPulse 1.1s ease-in-out infinite;
}
@media (max-width: 834px) {
  .mvIntro__loading {
    font-size: 1.2rem;
  }
}
.mvIntro {
  /* 初回訪問のみ（.once）：ここで表示だけする（赤背景＋非表示のロゴ/バー） */
}
.once .mvIntro {
  display: block;
}
.mvIntro {
  /* アニメは JS がバー生成後に .is-playing を付けて“同時発火”
     （ロゴ・バー・ワイプの基準時刻を揃え、ロード遅延でズレないようにする） */
}
.mvIntro.is-playing {
  /* 冒頭：ロゴがふわっと出て中央でホールド（最後は赤ワイプで一緒に引ける） */
}
.mvIntro.is-playing .mvIntro__logo {
  -webkit-animation: mvLogoIn 0.55s cubic-bezier(0.22, 1, 0.36, 1) 0.1s both;
          animation: mvLogoIn 0.55s cubic-bezier(0.22, 1, 0.36, 1) 0.1s both;
}
.mvIntro.is-playing {
  /* バー：左→右へなめらかに通過（局所的な帯の動き＝全画面フラッシュにしない／PSE安全） */
}
.mvIntro.is-playing .mvIntro__bar {
  -webkit-animation: mvBarSweep var(--dur, 1.1s) cubic-bezier(0.45, 0, 0.2, 1) var(--delay, 0s) both;
          animation: mvBarSweep var(--dur, 1.1s) cubic-bezier(0.45, 0, 0.2, 1) var(--delay, 0s) both;
}
.mvIntro.is-playing {
  /* オーバーレイ：赤地ごと右へワイプしてMVを露出（赤→MVの唐突な切替を防ぐ）。
     所要時間・開始タイミングは JS が画面幅に応じて --wipeDur / --wipeDelay で指定 */
  -webkit-animation: mvIntroWipe var(--wipeDur, 0.8s) cubic-bezier(0.6, 0, 0.2, 1) var(--wipeDelay, 1.5s) forwards;
          animation: mvIntroWipe var(--wipeDur, 0.8s) cubic-bezier(0.6, 0, 0.2, 1) var(--wipeDelay, 1.5s) forwards;
}

/* LOADING：ふわっと明滅 */
@-webkit-keyframes mvLoadingPulse {
  0%, 100% {
    opacity: 0.45;
  }
  50% {
    opacity: 1;
  }
}
@keyframes mvLoadingPulse {
  0%, 100% {
    opacity: 0.45;
  }
  50% {
    opacity: 1;
  }
}
/* ロゴ：ふわっと拡大フェードイン（中央固定） */
@-webkit-keyframes mvLogoIn {
  0% {
    opacity: 0;
    -webkit-transform: translate(-50%, -50%) scale(0.88);
            transform: translate(-50%, -50%) scale(0.88);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate(-50%, -50%) scale(1);
            transform: translate(-50%, -50%) scale(1);
  }
}
@keyframes mvLogoIn {
  0% {
    opacity: 0;
    -webkit-transform: translate(-50%, -50%) scale(0.88);
            transform: translate(-50%, -50%) scale(0.88);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate(-50%, -50%) scale(1);
            transform: translate(-50%, -50%) scale(1);
  }
}
/* バー：左外から右外へ一気に通過（丸端が流れる） */
@-webkit-keyframes mvBarSweep {
  0% {
    -webkit-transform: translateX(-125vw);
            transform: translateX(-125vw);
  }
  100% {
    -webkit-transform: translateX(125vw);
            transform: translateX(125vw);
  }
}
@keyframes mvBarSweep {
  0% {
    -webkit-transform: translateX(-125vw);
            transform: translateX(-125vw);
  }
  100% {
    -webkit-transform: translateX(125vw);
            transform: translateX(125vw);
  }
}
/* オーバーレイ：赤地ごと右へワイプ */
@-webkit-keyframes mvIntroWipe {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(115%);
            transform: translateX(115%);
  }
}
@keyframes mvIntroWipe {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(115%);
            transform: translateX(115%);
  }
}
/* モーション低減設定：カットイン省略＋MVは最終状態を表示 */
@media (prefers-reduced-motion: reduce) {
  .mvIntro {
    display: none !important;
  }
  .mainVisual__bg {
    opacity: 1 !important;
    -webkit-transform: none !important;
            transform: none !important;
    -webkit-animation: none !important;
            animation: none !important;
  }
  .mainVisual__copy__h img {
    clip-path: none !important;
    -webkit-animation: none !important;
            animation: none !important;
  }
  .mainVisual__copy__h .ch {
    opacity: 1 !important;
    -webkit-transform: none !important;
            transform: none !important;
    -webkit-animation: none !important;
            animation: none !important;
  }
  .mainVisual__copy__h .js-splitChar {
    opacity: 1 !important;
  }
}
@-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%);
  }
}
/* ============================================
// RECRUIT
// ==========================================*/
/*--------------------
求人一覧
--------------------*/
.lower-kyujin_l .search_panel {
  padding: 0;
  margin: 0 0 60px;
  border: none;
  border-radius: 24px;
  overflow: hidden;
  background: #fff9de;
}
@media (max-width: 834px) {
  .lower-kyujin_l .search_panel {
    margin-bottom: 40px;
    border-radius: 16px;
  }
}
.lower-kyujin_l .search-toggle {
  position: relative;
  left: 0;
  top: 0;
  width: auto;
  max-width: inherit;
  background: #e60012;
  -webkit-transform: none;
          transform: none;
}
@media (max-width: 834px) {
  .lower-kyujin_l .search-toggle {
    margin: 0;
  }
}
.lower-kyujin_l .search-toggle .toggle_txt {
  font-size: 1.5rem;
  padding: 1em;
}
@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);
}
.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);
}
.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 56px 52px;
  background: transparent; /* カード（白）に載せる */
}
@media (max-width: 834px) {
  .lower-kyujin_l .search__body {
    padding: 28px 6.25% 32px;
  }
}
.lower-kyujin_l {
  /* 検索フォーム：kyujin.css 側の罫線・青丸・チェック枠を除去してTOPテイストに寄せる */
}
.lower-kyujin_l .custom-form_parts {
  margin-top: 0;
  padding: 10px 0;
  border: none;
}
.lower-kyujin_l .custom-form_parts:first-child {
  border: none;
}
.lower-kyujin_l .parts_ttl {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 120px;
          flex: 0 0 120px;
  /* SPは縦並びになるため flex-basis(120px) が“高さ”になって余白化する。autoへ戻す */
}
@media (max-width: 834px) {
  .lower-kyujin_l .parts_ttl {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
  }
}
.lower-kyujin_l .custom-form .parts_ttl::before {
  display: none;
}
.lower-kyujin_l .custom-form .category_list .check {
  display: none;
}
.lower-kyujin_l {
  /* kyujin.css（固有CSS）との競合をリセット
     ・検索ボタンの width:100% / max-width:300px を解除（絶対配置ボタンのはみ出し防止）
     ・フォーム下の余分な下線・余白を除去 */
}
.lower-kyujin_l .custom-form {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}
.lower-kyujin_l .custom-form_searth_btn {
  width: auto;
  max-width: none;
  /* SP：ボタン（btn_cover＝inline-flex）を中央寄せ */
}
@media (max-width: 834px) {
  .lower-kyujin_l .custom-form_searth_btn {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    text-align: center;
  }
}
.lower-kyujin_l {
  /* フリーワードは TOP と同じレイアウト（入力欄フル幅＋右端に赤ボタンを重ねる）。
     共通の _form.scss の指定をそのまま使うため、レイアウト自体は上書きしない */
}
.lower-kyujin_l .job_result_total {
  padding: 32px 56px 40px;
  border-top: 1px solid #e7e7e7;
}
@media (max-width: 834px) {
  .lower-kyujin_l .job_result_total {
    padding: 24px 6.25% 28px;
  }
}
.lower-kyujin_l article.job {
  font-weight: 400;
  margin-top: 24px;
  padding: 40px 50px;
  background: #fff;
  border: 1px solid #e7e7e7;
  border-radius: 25px;
}
@media (max-width: 834px) {
  .lower-kyujin_l article.job {
    margin-top: 15px;
    padding: 24px 6.25%;
    border-radius: 14px;
  }
}
.lower-kyujin_l article.job:first-child {
  margin-top: 0;
}
.lower-kyujin_l .job_ttl a {
  font-weight: 700;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}
@media (any-hover: hover) {
  .lower-kyujin_l .job_ttl a:hover {
    color: #e60012;
  }
}
.lower-kyujin_l .job_img {
  border-radius: 12px;
  overflow: hidden;
}
@media (max-width: 834px) {
  .lower-kyujin_l .job_img {
    border-radius: 10px;
  }
}
.lower-kyujin_l .job_occupations::after {
  background: #e60012;
}
.lower-kyujin_l .job_workplace_ttl {
  color: #e60012;
}
.lower-kyujin_l .job_employmenttype_list_item {
  /* kyujin.css の height:24px / line-height:22px を解除して縦中央に */
  height: auto;
  padding: 3px 14px;
  border: 1px solid #e83498;
  border-radius: 5px;
  color: #e83498;
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 1.5;
}
.lower-kyujin_l .result_total_all,
.lower-kyujin_l .result_total_current {
  color: #e60012;
  font-weight: 700;
}
.lower-kyujin_l .job_convertion .btn {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  padding: 16px 40px;
  border-radius: 100vmax;
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  /* commonBtn と同じホバー（透過なし・浮く・彩度アップ）用 */
  -webkit-transition: -webkit-transform 0.3s ease, -webkit-filter 0.3s ease;
  transition: -webkit-transform 0.3s ease, -webkit-filter 0.3s ease;
  transition: transform 0.3s ease, filter 0.3s ease;
  transition: transform 0.3s ease, filter 0.3s ease, -webkit-transform 0.3s ease, -webkit-filter 0.3s ease;
}
@media (max-width: 834px) {
  .lower-kyujin_l .job_convertion .btn {
    padding: 14px 24px;
    font-size: 1.4rem;
  }
}
.lower-kyujin_l .job_convertion .btn {
  /* ホバー：少し浮いて彩度アップ（commonBtnと同じ） */
}
@media (any-hover: hover) {
  .lower-kyujin_l .job_convertion .btn:hover {
    opacity: 1;
    -webkit-transform: translateY(-4px);
            transform: translateY(-4px);
    -webkit-filter: saturate(1.25);
            filter: saturate(1.25);
  }
}
.lower-kyujin_l .job_convertion {
  /* 詳しく見る：グリーン塗りつぶし */
}
.lower-kyujin_l .job_convertion .btn_secondary {
  background: #8bb708;
  border: 1px solid #8bb708;
  color: #fff !important;
}
.lower-kyujin_l .job_convertion {
  /* 応募する：赤地・白文字＋外部リンクアイコンを右端中央へ */
}
.lower-kyujin_l .job_convertion .btn_external {
  position: relative;
  background: #e60012;
  border: 1px solid #e60012;
  color: #fff !important;
}
.lower-kyujin_l .job_convertion .btn_external::after {
  top: 16px;
  right: 24px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  aspect-ratio: 50/35;
  width: 12px;
}
@media (max-width: 834px) {
  .lower-kyujin_l .job_convertion .btn_external::after {
    top: 12px;
    right: 18px;
  }
}

/*--------------------
求人詳細
--------------------*/
.lower-kyujin_d {
  /* ページ背景はクリーム */
  background: #fff9de;
  /* pagetop は追従させない（静的のまま）。
     固定応募バーに被らないよう、下に固定バーぶんの余白を確保する */
}
.lower-kyujin_d .footer {
  padding-bottom: 200px;
}
@media (max-width: 834px) {
  .lower-kyujin_d .footer {
    padding-bottom: 140px;
  }
}
.lower-kyujin_d .pagetop {
  margin: initial;
  position: absolute;
  bottom: 100px;
  right: 40px;
}
@media (max-width: 834px) {
  .lower-kyujin_d .pagetop {
    right: 20px;
  }
}
.lower-kyujin_d {
  /* メイン：あしらい（弧）を背面に敷いてリッチに */
}
.lower-kyujin_d main.l-main {
  position: relative;
  overflow: hidden;
  padding: 140px 0 90px;
}
@media (max-width: 834px) {
  .lower-kyujin_d main.l-main {
    padding: 80px 0 40px;
  }
}
.lower-kyujin_d main.l-main {
  /* 右上：ブルーの弧 */
}
.lower-kyujin_d main.l-main::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  z-index: 0;
  width: 194px;
  aspect-ratio: 194/200;
  background: url(../img/common/deco_blue01.png) no-repeat center/contain;
  pointer-events: none;
}
@media (max-width: 834px) {
  .lower-kyujin_d main.l-main::before {
    width: 130px;
  }
}
.lower-kyujin_d main.l-main {
  /* 左下：グリーンの弧 */
}
.lower-kyujin_d main.l-main::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 0;
  width: 200px;
  aspect-ratio: 1/1;
  background: url(../img/common/deco_green01.png) no-repeat center/contain;
  pointer-events: none;
}
@media (max-width: 834px) {
  .lower-kyujin_d main.l-main::after {
    width: 130px;
  }
}
.lower-kyujin_d {
  /* コンテンツはあしらいの上へ */
}
.lower-kyujin_d .kyujin_container {
  position: relative;
  z-index: 1;
}
@media (max-width: 834px) {
  .lower-kyujin_d .kyujin_container {
    padding-right: 4%;
    padding-left: 4%;
  }
}
.lower-kyujin_d {
  /* 記事全体を白カードに */
}
.lower-kyujin_d article.job {
  position: relative;
  background: #fff;
  border-radius: 28px;
  padding: 56px 64px;
}
@media (max-width: 834px) {
  .lower-kyujin_d article.job {
    border-radius: 16px;
    padding: 32px 6.25%;
  }
}
.lower-kyujin_d {
  /* 画像は角丸 */
}
.lower-kyujin_d .job_img {
  border-radius: 16px;
  overflow: hidden;
}
@media (max-width: 834px) {
  .lower-kyujin_d .job_img {
    border-radius: 12px;
  }
}
.lower-kyujin_d {
  /* 求人タイトル（大きくリッチに） */
}
.lower-kyujin_d .job_head .job_ttl {
  font-size: 3rem;
  line-height: 1.5;
}
@media (max-width: 834px) {
  .lower-kyujin_d .job_head .job_ttl {
    font-size: 2rem;
  }
}
.lower-kyujin_d {
  /* 職種見出し */
}
.lower-kyujin_d .job_occupations {
  font-size: 2.6rem;
  font-weight: 700;
}
@media (max-width: 834px) {
  .lower-kyujin_d .job_occupations {
    font-size: 1.9rem;
  }
}
.lower-kyujin_d {
  /* セクション見出し（募集要項／応募方法／アピールポイント）：
     オレンジ塗りつぶし・角丸・中央寄せ（kyujin.css の塗りバンドは無効化） */
}
.lower-kyujin_d .outline_ttl,
.lower-kyujin_d .appeal_ttl {
  display: block;
  position: relative;
  z-index: 0;
  margin-bottom: 28px;
  padding: 0.72em 1.2em;
  background: #e60012;
  border-radius: 14px;
  color: #fff;
  font-size: 2rem;
  font-weight: 700;
  text-align: center;
}
@media (max-width: 834px) {
  .lower-kyujin_d .outline_ttl,
  .lower-kyujin_d .appeal_ttl {
    font-size: 1.7rem;
    padding: 0.7em 1em;
    border-radius: 10px;
    margin-bottom: 20px;
  }
}
.lower-kyujin_d .outline_ttl,
.lower-kyujin_d .appeal_ttl {
  /* kyujin.css の塗りバンド（::after）／前回の縦バー（::before）は無効化 */
}
.lower-kyujin_d .outline_ttl::before, .lower-kyujin_d .outline_ttl::after,
.lower-kyujin_d .appeal_ttl::before,
.lower-kyujin_d .appeal_ttl::after {
  display: none;
}
.lower-kyujin_d {
  /* 募集要項テーブル：ラベルにアクセント */
}
.lower-kyujin_d .job_outline_item {
  border-bottom: 1px solid #e7e7e7;
}
.lower-kyujin_d .job_outline_item_ttl span {
  color: #8bb708;
  font-weight: 700;
}
.lower-kyujin_d {
  /* アピールポイント */
}
.lower-kyujin_d .appeal_list_item_head {
  color: #ff8014;
  font-weight: 700;
}
.lower-kyujin_d .appeal_list_item_detail_img img {
  border-radius: 12px;
}
.lower-kyujin_d {
  /* 前のページへ戻る：赤塗りピルボタン */
}
.lower-kyujin_d .page_back {
  padding-bottom: 0;
  padding-top: 60px;
}
@media (max-width: 834px) {
  .lower-kyujin_d .page_back {
    padding-top: 30px;
  }
}
.lower-kyujin_d .page_back a {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 14px 32px;
  border-radius: 100vmax;
  color: #fff;
  background: #e60012;
  font-weight: 700;
  -webkit-transition: -webkit-transform 0.3s ease, -webkit-filter 0.3s ease;
  transition: -webkit-transform 0.3s ease, -webkit-filter 0.3s ease;
  transition: transform 0.3s ease, filter 0.3s ease;
  transition: transform 0.3s ease, filter 0.3s ease, -webkit-transform 0.3s ease, -webkit-filter 0.3s ease;
}
.lower-kyujin_d .page_back a::before {
  border-color: #fff;
}
@media (any-hover: hover) {
  .lower-kyujin_d .page_back a:hover {
    opacity: 1;
    -webkit-transform: translateY(-4px);
            transform: translateY(-4px);
    -webkit-filter: saturate(1.1);
            filter: saturate(1.1);
  }
}

/*--------------------
新着求人（whatsnew：TOPテイスト）
--------------------*/
.lower-whatsnew .job_list .job {
  position: relative;
  margin-top: 20px;
  padding: 28px 40px;
  background: #fff;
  border: 1px solid #e7e7e7;
  border-radius: 20px;
}
@media (max-width: 834px) {
  .lower-whatsnew .job_list .job {
    margin-top: 12px;
    padding: 20px 6.25%;
    border-radius: 14px;
  }
}
.lower-whatsnew .job_list .job:first-child {
  margin-top: 0;
}
.lower-whatsnew .job_list .job {
  /* kyujin.css の区切り線（:before/:after）を消す */
}
.lower-whatsnew .job_list .job::before, .lower-whatsnew .job_list .job::after {
  display: none;
}
.lower-whatsnew .job_inner {
  padding: 0;
}
.lower-whatsnew .job_list-type-a .job_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 28px;
}
@media (max-width: 834px) {
  .lower-whatsnew .job_list-type-a .job_wrap {
    gap: 16px;
  }
}
.lower-whatsnew .job_list-type-a .job_img_wrap {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 180px;
          flex: 0 0 180px;
  margin-right: 0;
}
@media (max-width: 834px) {
  .lower-whatsnew .job_list-type-a .job_img_wrap {
    -ms-flex-preferred-size: 100px;
        flex-basis: 100px;
  }
}
.lower-whatsnew .job_list-type-a .job_img {
  border-radius: 12px;
  overflow: hidden;
}
@media (max-width: 834px) {
  .lower-whatsnew .job_list-type-a .job_img {
    border-radius: 8px;
  }
}
.lower-whatsnew .job_ttl {
  font-size: 1.8rem;
}
@media (max-width: 834px) {
  .lower-whatsnew .job_ttl {
    font-size: 1.6rem;
  }
}
.lower-whatsnew .job_ttl a {
  color: #111;
  font-weight: 700;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}
@media (any-hover: hover) {
  .lower-whatsnew .job_ttl a:hover {
    color: #e60012;
    opacity: 1;
  }
}
.lower-whatsnew .job_outline_item_ttl span {
  color: #e60012;
  font-weight: 700;
}
.lower-whatsnew .job_post_date_ttl {
  color: #e60012;
}
.lower-whatsnew .result_total_all,
.lower-whatsnew .result_total_current {
  color: #e60012;
  font-weight: 700;
}

.lower-kyujin_l .pager_next .btn,
.lower-whatsnew .pager_next .btn,
.lower-kyujin_d .pager_next .btn {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 14px 32px;
  border-radius: 100vmax;
  background: #e60012;
  color: #fff;
  font-weight: 700;
  /* commonBtn と同じホバー（透過なし・浮く・彩度アップ） */
  -webkit-transition: -webkit-transform 0.3s ease, -webkit-filter 0.3s ease;
  transition: -webkit-transform 0.3s ease, -webkit-filter 0.3s ease;
  transition: transform 0.3s ease, filter 0.3s ease;
  transition: transform 0.3s ease, filter 0.3s ease, -webkit-transform 0.3s ease, -webkit-filter 0.3s ease;
}
@media (any-hover: hover) {
  .lower-kyujin_l .pager_next .btn:hover,
  .lower-whatsnew .pager_next .btn:hover,
  .lower-kyujin_d .pager_next .btn:hover {
    opacity: 1;
    -webkit-transform: translateY(-4px);
            transform: translateY(-4px);
    -webkit-filter: saturate(1.25);
            filter: saturate(1.25);
  }
}
.lower-kyujin_l .pagination ul,
.lower-whatsnew .pagination ul,
.lower-kyujin_d .pagination ul {
  gap: 2px;
}
.lower-kyujin_l .pagination ul li,
.lower-whatsnew .pagination ul li,
.lower-kyujin_d .pagination ul li {
  border-radius: 50%;
  overflow: hidden;
}
.lower-kyujin_l .pagination ul li a,
.lower-whatsnew .pagination ul li a,
.lower-kyujin_d .pagination ul li a {
  background: #eee;
  -webkit-transition: opacity 0.3s, color 0.3s, background 0.3s, -webkit-filter 0.3s;
  transition: opacity 0.3s, color 0.3s, background 0.3s, -webkit-filter 0.3s;
  transition: opacity 0.3s, filter 0.3s, color 0.3s, background 0.3s;
  transition: opacity 0.3s, filter 0.3s, color 0.3s, background 0.3s, -webkit-filter 0.3s;
}
@media (any-hover: hover) {
  .lower-kyujin_l .pagination ul li a:hover,
  .lower-whatsnew .pagination ul li a:hover,
  .lower-kyujin_d .pagination ul li a:hover {
    background: transparent;
  }
}
.lower-kyujin_l .job_employmenttype_list_item,
.lower-whatsnew .job_employmenttype_list_item,
.lower-kyujin_d .job_employmenttype_list_item {
  /* kyujin.css の height:24px / line-height:22px を解除して縦中央に */
  height: auto;
  padding: 0.2308em 1.0769em;
  border: 1px solid #e83498;
  border-radius: 5px;
  color: #e83498;
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 1.5;
}
@media (max-width: 834px) {
  .lower-kyujin_l .job_employmenttype_list_item,
  .lower-whatsnew .job_employmenttype_list_item,
  .lower-kyujin_d .job_employmenttype_list_item {
    font-size: 1.1rem;
  }
}
.lower-kyujin_l .gMap_link::before,
.lower-whatsnew .gMap_link::before,
.lower-kyujin_d .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: #0068b7;
}
.lower-kyujin_l .tel_link::before,
.lower-whatsnew .tel_link::before,
.lower-kyujin_d .tel_link::before {
  content: "";
  -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: #0068b7;
  top: 1px;
}
.lower-kyujin_l .breadcrumb,
.lower-whatsnew .breadcrumb,
.lower-kyujin_d .breadcrumb {
  border-top: solid 1px #e7e7e7;
  background-color: #fff;
}
.lower-kyujin_l .job_count_pager.contents_bottom,
.lower-whatsnew .job_count_pager.contents_bottom,
.lower-kyujin_d .job_count_pager.contents_bottom {
  padding-top: 50px;
  padding-bottom: 0;
}
@media (max-width: 834px) {
  .lower-kyujin_l .job_count_pager.contents_bottom,
  .lower-whatsnew .job_count_pager.contents_bottom,
  .lower-kyujin_d .job_count_pager.contents_bottom {
    padding-top: 40px;
  }
}

/* ============================================
// 固定応募バー（kyujin_d：TOPテイスト）
// ==========================================*/
.lower-kyujin_d .fixed_conversion {
  padding: 12px 16px;
  background: rgba(26, 26, 26, 0.92);
  backdrop-filter: blur(8px);
  -webkit-box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.25);
          box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.25);
}
@media (max-width: 834px) {
  .lower-kyujin_d .fixed_conversion {
    padding: 10px 12px;
  }
}
.lower-kyujin_d .fixed_conversion .fixed_conversion_inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 12px;
  max-width: 680px;
  margin: 0 auto;
}
@media (max-width: 834px) {
  .lower-kyujin_d .fixed_conversion .fixed_conversion_inner {
    gap: 8px;
  }
}
.lower-kyujin_d .fixed_conversion {
  /* 電話：アウトライン（塗りつぶさない） */
}
.lower-kyujin_d .fixed_conversion .phone {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 300px;
          flex: 0 0 300px;
  margin-right: 0;
  background: transparent;
}
@media (max-width: 834px) {
  .lower-kyujin_d .fixed_conversion .phone {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0;
    background: transparent;
  }
}
.lower-kyujin_d .fixed_conversion .phone .btn_phone {
  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;
  gap: 2px;
  width: 100%;
  height: 100%;
  /* 塗りつぶしなし（ダーク地に白文字のアウトライン） */
  background: transparent;
  color: #fff;
  border: none;
}
.lower-kyujin_d .fixed_conversion .phone .phone_num {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.1;
}
@media (max-width: 834px) {
  .lower-kyujin_d .fixed_conversion .phone .phone_num {
    font-size: 1.4rem;
  }
}
.lower-kyujin_d .fixed_conversion .phone .phone_num {
  /* 受話器アイコンを白に（塗りをmaskで着色） */
}
.lower-kyujin_d .fixed_conversion .phone .phone_num::before {
  background: #fff;
  -webkit-mask: url(../img/kyujin/ico_custom_tel_color.png) no-repeat center/contain;
  mask: url(../img/kyujin/ico_custom_tel_color.png) no-repeat center/contain;
}
.lower-kyujin_d .fixed_conversion .phone .phone_notes {
  color: #fff;
  opacity: 0.75;
  font-size: 1.1rem;
}
@media (max-width: 834px) {
  .lower-kyujin_d .fixed_conversion .phone .phone_notes {
    font-size: 1rem;
  }
}
.lower-kyujin_d .fixed_conversion {
  /* 応募する：赤塗りピル */
}
.lower-kyujin_d .fixed_conversion .conversion {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
}
@media (max-width: 834px) {
  .lower-kyujin_d .fixed_conversion .conversion {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0;
  }
}
.lower-kyujin_d .fixed_conversion .conversion .btn_conversion {
  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%;
  padding: 15px 24px;
  background: #e60012;
  border-radius: 100vmax;
  color: #fff;
  -webkit-transition: -webkit-transform 0.3s ease, -webkit-filter 0.3s ease;
  transition: -webkit-transform 0.3s ease, -webkit-filter 0.3s ease;
  transition: transform 0.3s ease, filter 0.3s ease;
  transition: transform 0.3s ease, filter 0.3s ease, -webkit-transform 0.3s ease, -webkit-filter 0.3s ease;
}
@media (max-width: 834px) {
  .lower-kyujin_d .fixed_conversion .conversion .btn_conversion {
    padding: 13px 16px;
  }
}
.lower-kyujin_d .fixed_conversion .conversion .btn_conversion .conversion_txt {
  font-size: 1.6rem;
  font-weight: 700;
}
@media (max-width: 834px) {
  .lower-kyujin_d .fixed_conversion .conversion .btn_conversion .conversion_txt {
    font-size: 1.4rem;
  }
}
.lower-kyujin_d .fixed_conversion .conversion .btn_conversion {
  /* 外部リンクの□アイコン（右端中央・白） */
}
.lower-kyujin_d .fixed_conversion .conversion .btn_conversion::after {
  top: 16px;
  right: 24px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media (max-width: 834px) {
  .lower-kyujin_d .fixed_conversion .conversion .btn_conversion::after {
    top: 12px;
    right: 18px;
  }
}
@media (any-hover: hover) {
  .lower-kyujin_d .fixed_conversion .conversion .btn_conversion:hover {
    opacity: 1;
    -webkit-transform: translateY(-3px);
            transform: translateY(-3px);
    -webkit-filter: saturate(1.1);
            filter: saturate(1.1);
  }
}

.lower-interview_l .interview__container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 90px 40px;
}
@media (max-width: 834px) {
  .lower-interview_l .interview__container {
    padding: 60px 6.25%;
  }
}

/* ============================================
// インタビュー一覧ページ
// ==========================================*/
.lower-interview_l {
  /* l-main の上下余白は控えめに（クリームパネル側で余白を持たせる） */
}
.lower-interview_l main.l-main {
  position: relative;
  padding: 0;
}
.lower-interview_l main.l-main::before {
  content: "";
  background-color: #fff9de;
  position: absolute;
  inset: 0;
  bottom: -70px;
  z-index: -2;
  border-radius: 60px 60px 0 0;
}
@media (max-width: 834px) {
  .lower-interview_l main.l-main::before {
    border-radius: 40px 40px 0 0;
  }
}
.lower-interview_l .pageHeader {
  z-index: 2;
}
.lower-interview_l {
  /*------------------------------
    インタビュー一覧
  ------------------------------*/
}
.lower-interview_l .interviews {
  display: grid;
  /* 3等分の可変列（固定360pxをやめ、コンテナが狭くなると縮む）。
     コンテナ内容幅≒1200pxのとき (1200 - 65×2)/3 ≒ 357px、以下は自動で縮小 */
  grid-template-columns: repeat(3, 1fr);
  -webkit-column-gap: 5.4167%;
     -moz-column-gap: 5.4167%;
          column-gap: 5.4167%;
  row-gap: 70px;
}
@media (max-width: 834px) {
  .lower-interview_l .interviews {
    grid-template-columns: 1fr;
    gap: 0;
  }
}
.lower-interview_l .interviews__item {
  /* subgrid をやめ、フレックスで高さ揃え（iPad Safari の subgrid 崩れ対策） */
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media (max-width: 834px) {
  .lower-interview_l .interviews__item {
    max-width: 340px;
    margin: 0 auto;
    margin-bottom: 45px;
  }
}
.lower-interview_l .interviews__item:last-child {
  margin-bottom: 0;
}
.lower-interview_l .interviews__item a {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
}
@media (any-hover: hover) {
  .lower-interview_l .interviews__item a:hover {
    opacity: 1;
  }
  .lower-interview_l .interviews__item a:hover .copy {
    color: #8bb708;
  }
  .lower-interview_l .interviews__item a:hover .imgArea .img img {
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }
}
.lower-interview_l .interviews__item {
  /* 写真＋職種ラベル（ラベルは写真の下辺にまたがる） */
}
.lower-interview_l .interviews__item .imgArea {
  position: relative;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 100%;
  aspect-ratio: 360/263;
  margin-bottom: 30px;
}
@media (max-width: 834px) {
  .lower-interview_l .interviews__item .imgArea {
    width: 100%;
    max-width: 340px;
    margin: 0 auto;
    margin-bottom: 24px;
  }
}
.lower-interview_l .interviews__item .imgArea .img {
  width: 100%;
  height: 100%;
  overflow: hidden;
  border-radius: 20px;
}
@media (max-width: 834px) {
  .lower-interview_l .interviews__item .imgArea .img {
    border-radius: 15px;
  }
}
.lower-interview_l .interviews__item .imgArea .img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.lower-interview_l .interviews__item .imgArea {
  /* グリーンの塗りピル */
}
.lower-interview_l .interviews__item .imgArea .job {
  position: absolute;
  left: 16px;
  bottom: 0;
  -webkit-transform: translateY(50%);
          transform: translateY(50%);
  max-width: calc(100% - 32px);
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.5;
  color: #fff;
  white-space: nowrap;
  padding: 0.35em 1.2em;
  background: #8bb708;
  border-radius: 100vmax;
}
@media (max-width: 834px) {
  .lower-interview_l .interviews__item .imgArea .job {
    font-size: 1.2rem;
    left: 10px;
  }
}
.lower-interview_l .interviews__item {
  /* bodyArea：残り高さを占有するフレックス列（subgrid撤廃の受け皿） */
}
.lower-interview_l .interviews__item .bodyArea {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  /* place+name を下端へまとめる（氏名を全カードで下揃え／place↔name は固定余白） */
}
.lower-interview_l .interviews__item .bodyArea .meta {
  margin-top: auto;
}
.lower-interview_l .interviews__item .bodyArea .copy {
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.7;
  margin-bottom: 20px;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}
@media (max-width: 834px) {
  .lower-interview_l .interviews__item .bodyArea .copy {
    font-size: 1.7rem;
  }
}
.lower-interview_l .interviews__item .bodyArea {
  /* 施設名：グリーンのフチどりピル */
}
.lower-interview_l .interviews__item .bodyArea .place {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.5;
  color: #8bb708;
  margin-bottom: 8px;
  padding: 0.35em 1.1em;
  border: 1px solid #8bb708;
  border-radius: 5px;
  background-color: #fff;
}
@media (max-width: 834px) {
  .lower-interview_l .interviews__item .bodyArea .place {
    font-size: 1.1rem;
  }
}
.lower-interview_l .interviews__item .bodyArea {
  /* 氏名＋入社年 */
}
.lower-interview_l .interviews__item .bodyArea .name {
  font-size: 2rem;
  font-weight: 700;
}
@media (max-width: 834px) {
  .lower-interview_l .interviews__item .bodyArea .name {
    font-size: 1.8rem;
  }
}
.lower-interview_l .interviews__item .bodyArea .name small {
  font-size: 0.6em;
  margin-left: 0.3em;
}
.lower-interview_l .interviews__item .bodyArea .name .join {
  font-size: 1.4rem;
  font-weight: 500;
  margin-left: 1.1em;
}
@media (max-width: 834px) {
  .lower-interview_l .interviews__item .bodyArea .name .join {
    font-size: 1.2rem;
  }
}
.lower-interview_l .recruit {
  z-index: 1;
}

/* ============================================
// インタビュー詳細ページ
// ==========================================*/
.lower-interview_d {
  /* 背景は白＋あしらいの弧（他ページ参照） */
}
.lower-interview_d main.l-main {
  position: relative;
  overflow: hidden;
  padding: 0;
}
.lower-interview_d main.l-main::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  scale: -1 1;
  rotate: -90deg;
  z-index: -1;
  width: 200px;
  aspect-ratio: 1/1;
  background: url(../img/common/deco_green01.png) no-repeat center/contain;
  pointer-events: none;
}
@media (max-width: 834px) {
  .lower-interview_d main.l-main::before {
    width: 150px;
  }
}
.lower-interview_d main.l-main::after {
  content: "";
  position: absolute;
  bottom: -5px;
  left: 0;
  scale: -1 1;
  rotate: -90deg;
  z-index: -1;
  width: 200px;
  aspect-ratio: 194/200;
  background: url(../img/common/deco_blue01.png) no-repeat center/contain;
  pointer-events: none;
}
@media (max-width: 834px) {
  .lower-interview_d main.l-main::after {
    width: 90px;
  }
}
.lower-interview_d {
  /* コンテンツ幅1200px（.l-container-l）。上下余白はここで持たせる */
}
.lower-interview_d .interview__container {
  position: relative;
  z-index: 1;
  padding-top: 180px;
  padding-bottom: 120px;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__container {
    padding-top: 100px;
    padding-bottom: 60px;
  }
}
.lower-interview_d .interview {
  /*------------------------------
    メインエリア
  ------------------------------*/
}
.lower-interview_d .interview__main {
  position: relative;
  padding-bottom: 60px;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__main {
    padding-bottom: 40px;
  }
}
.lower-interview_d .interview__main::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 0;
  width: 200px;
  aspect-ratio: 1/1;
  background: url(../img/common/deco_green01.png) no-repeat center/contain;
  pointer-events: none;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__main::before {
    display: none;
  }
}
.lower-interview_d .interview__main__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 7.0833%;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__main__inner {
    display: block;
  }
}
.lower-interview_d .interview__main .imgArea {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 48%;
          flex: 0 0 48%;
  aspect-ratio: 576/384;
  border: 6px solid #8bb708;
  border-radius: 25px;
  overflow: hidden;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__main .imgArea {
    width: 100%;
    max-width: 340px;
    margin: 0 auto;
    margin-bottom: 1.5em;
    border-width: 3px;
    border-radius: 15px;
  }
}
.lower-interview_d .interview__main .imgArea img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  -webkit-transition: -webkit-transform 0.4s ease;
  transition: -webkit-transform 0.4s ease;
  transition: transform 0.4s ease;
  transition: transform 0.4s ease, -webkit-transform 0.4s ease;
}
.lower-interview_d .interview__main .txtArea {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  /* 職種：グリーンの塗りピル */
}
.lower-interview_d .interview__main .txtArea .job {
  display: inline-block;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.5;
  color: #fff;
  margin-bottom: 18px;
  padding: 0.4444em 1.3em;
  background: #8bb708;
  border-radius: 100vmax;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__main .txtArea .job {
    font-size: 1.3rem;
  }
}
.lower-interview_d .interview__main .txtArea .copy {
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.55;
  /* コピーの下に区切り線 */
  margin-bottom: 28px;
  padding-bottom: 28px;
  border-bottom: 1px solid #e7e7e7;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__main .txtArea .copy {
    font-size: 2rem;
    margin-bottom: 20px;
    padding-bottom: 20px;
  }
}
.lower-interview_d .interview__main .txtArea {
  /* 施設名：グリーンのフチどりピル */
}
.lower-interview_d .interview__main .txtArea .place {
  display: inline-block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 1.5;
  color: #8bb708;
  margin-bottom: 12px;
  padding: 0.4em 1.1em;
  border: 1px solid #8bb708;
  border-radius: 5px;
  background: #fff;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__main .txtArea .place {
    font-size: 1.2rem;
  }
}
.lower-interview_d .interview__main .txtArea .name {
  font-size: 2.6rem;
  font-weight: 700;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__main .txtArea .name {
    font-size: 2.2rem;
  }
}
.lower-interview_d .interview__main .txtArea .name small {
  font-size: 0.6154em;
  margin-left: 0.3em;
}
.lower-interview_d .interview__main .txtArea .name .join {
  font-size: 1.4rem;
  font-weight: 500;
  color: rgba(17, 17, 17, 0.5);
  margin-left: 1.1em;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__main .txtArea .name .join {
    font-size: 1.3rem;
  }
}
.lower-interview_d .interview {
  /*------------------------------
    PROFILE（クリームBOX）
  ------------------------------*/
  /* コンテナ内フルブリード：負マージンで画面幅100%に広げる。中の白BOXは __wrap(l-container-l) で中央 */
}
.lower-interview_d .interview__profile {
  position: relative;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding: 64px 0;
  background: #fff9de;
  border-radius: 0 60px 0 60px;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__profile {
    padding: 40px 0;
    border-radius: 0 24px 0 24px;
  }
}
.lower-interview_d .interview__profile::before {
  content: "";
  aspect-ratio: 1/1;
  width: 75px;
  background-image: url(../img/common/radius.svg);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 0;
  left: 0;
  translate: 0 -100%;
  pointer-events: none;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__profile::before {
    width: 40px;
  }
}
.lower-interview_d .interview__profile {
  /* 内側：白×緑フチのBOX（中身は .interview__profile__wrap = l-container-l で中央） */
}
.lower-interview_d .interview__profile__inner {
  position: relative;
  padding: 44px 56px;
  background: #fff;
  border: 3px solid #8bb708;
  border-radius: 24px;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__profile__inner {
    padding: 28px 20px;
    border-radius: 16px;
    border-width: 2px;
  }
}
.lower-interview_d .interview__profile__inner {
  /* 右上：グリーンの吹き出し（フチにまたがる） */
}
.lower-interview_d .interview__profile__inner::before {
  content: "";
  position: absolute;
  top: 20px;
  right: -15px;
  z-index: 1;
  width: 63px;
  aspect-ratio: 63/74;
  background: url(../img/interview/prof_deco01.png) no-repeat center/contain;
  -webkit-transform: translateY(-55%);
          transform: translateY(-55%);
  pointer-events: none;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__profile__inner::before {
    width: 44px;
    right: -10px;
  }
}
.lower-interview_d .interview__profile__inner {
  /* 左下：オレンジの吹き出し */
}
.lower-interview_d .interview__profile__inner::after {
  content: "";
  position: absolute;
  bottom: 8px;
  left: -10px;
  z-index: 1;
  width: 48px;
  aspect-ratio: 48/56;
  background: url(../img/interview/prof_deco02.png) no-repeat center/contain;
  -webkit-transform: translateY(55%);
          transform: translateY(55%);
  pointer-events: none;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__profile__inner::after {
    width: 36px;
    bottom: 0;
    left: -15px;
  }
}
.lower-interview_d .interview__profile .hd {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-family: "Mitr", sans-serif;
  font-size: 2.8rem;
  line-height: 1;
  font-weight: 500;
  color: #111;
  margin-bottom: 12px;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__profile .hd {
    font-size: 2.4rem;
  }
}
.lower-interview_d .interview__profile .hd::before {
  content: "";
  width: 0.2857em;
  aspect-ratio: 1/1;
  background: #8bb708;
  border-radius: 50%;
  margin-right: 0.3571em;
}
.lower-interview_d .interview {
  /*------------------------------
    セクション見出し（INTERVIEW / MESSAGE）中央寄せ
  ------------------------------*/
}
.lower-interview_d .interview__secTtl {
  margin-bottom: 40px;
  text-align: center;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__secTtl {
    margin-bottom: 30px;
  }
}
.lower-interview_d .interview__secTtl .ttl-eng {
  font-size: 6rem;
  color: #8bb708;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__secTtl .ttl-eng {
    font-size: 4.5rem;
  }
}
.lower-interview_d .interview__secTtl .ttl-jp {
  font-size: 1.6rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #111;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__secTtl .ttl-jp {
    font-size: 1.4rem;
  }
}
.lower-interview_d .interview__secTtl .ttl-jp::before {
  background-color: #8bb708;
}
.lower-interview_d .interview {
  /*------------------------------
    動画
  ------------------------------*/
}
.lower-interview_d .interview__movie {
  margin-top: 140px;
  margin-bottom: 140px;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__movie {
    margin-top: 50px;
    margin-bottom: 50px;
  }
}
.lower-interview_d .interview__movie .movie {
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
}
.lower-interview_d .interview__movie .movie iframe {
  width: 100%;
  aspect-ratio: 16/9;
}
.lower-interview_d .interview__movie .movie iframe + iframe {
  margin-top: 20px;
}
.lower-interview_d .interview {
  /*------------------------------
    インタビューコンテンツ（通常）
  ------------------------------*/
}
.lower-interview_d .interview__topics {
  position: relative;
  padding-top: 70px;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__topics {
    padding-top: 60px;
  }
}
.lower-interview_d .interview__topics::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  z-index: 0;
  width: 200px;
  aspect-ratio: 206/207;
  scale: -1 1;
  rotate: -90deg;
  background: url(../img/common/deco_red01.png) no-repeat center/contain;
  pointer-events: none;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__topics::before {
    width: 70px;
  }
}
.lower-interview_d .interview__topics .interview__secTtl {
  margin-bottom: 0;
}
.lower-interview_d .interview__topics .interview__secTtl .ttl-eng {
  color: #e60012;
}
.lower-interview_d .interview__topics .interview__secTtl .ttl-jp::before {
  background-color: #e60012;
}
.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: 6.6667%;
  counter-increment: topic-num;
  padding: 55px 0;
  /* トピック間の区切り線 */
}
.lower-interview_d .interview__topics__item:not(:last-child) {
  border-bottom: 1px solid #e7e7e7;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__topics__item {
    display: block;
    padding: 40px 0;
  }
}
@media (min-width: 835px) {
  .lower-interview_d .interview__topics__item {
    /* 先頭に見出しがあるので、アイテムは even が 1・3 番目（写真右／左を交互に） */
  }
  .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;
  }
}
.lower-interview_d .interview__topics__item .imgArea {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 36.6667%;
          flex: 0 0 36.6667%;
  aspect-ratio: 440/294;
  border-radius: 24px;
  overflow: hidden;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__topics__item .imgArea {
    width: 100%;
    max-width: 300px;
    margin: 0 auto;
    margin-bottom: 1.5em;
    border-radius: 16px;
  }
}
.lower-interview_d .interview__topics__item .imgArea img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  -webkit-transition: -webkit-transform 0.4s ease;
  transition: -webkit-transform 0.4s ease;
  transition: transform 0.4s ease;
  transition: transform 0.4s ease, -webkit-transform 0.4s ease;
}
.lower-interview_d .interview__topics__item .txtArea {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  /* TOPIC ラベル：赤い塗りピル（TOPIC=小さめ／番号=1.8rem。空divにカウンターで採番） */
}
.lower-interview_d .interview__topics__item .txtArea .topicNum {
  display: inline-block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-family: "Mitr", sans-serif;
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1;
  color: #fff;
  margin-bottom: 18px;
  padding: 0.5em 1.1em;
  background: #e60012;
  border-radius: 100vmax;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__topics__item .txtArea .topicNum {
    font-size: 1.4rem;
    margin-bottom: 13px;
  }
}
.lower-interview_d .interview__topics__item .txtArea .topicNum::before {
  content: "TOPIC " counter(topic-num, decimal-leading-zero);
}
.lower-interview_d .interview__topics__item .txtArea .lead {
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 1.6;
  margin-bottom: 18px;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__topics__item .txtArea .lead {
    font-size: 2rem;
    line-height: 1.8;
    margin-bottom: 13px;
  }
}
.lower-interview_d .interview {
  /*------------------------------
    わたしの「Our Value」（クリームBOX）
  ------------------------------*/
}
.lower-interview_d .interview__ourvalue {
  position: relative;
  background: #fff9de;
  border-radius: 0 60px 0 0;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__ourvalue {
    border-radius: 0 20px 0 0;
    z-index: 1;
  }
}
.lower-interview_d .interview__ourvalue::before {
  content: "";
  aspect-ratio: 1/1;
  width: 60px;
  background-image: url(../img/common/radius.svg);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 0;
  left: 0;
  translate: 0 -100%;
  pointer-events: none;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__ourvalue::before {
    width: 40px;
  }
}
.lower-interview_d .interview__ourvalue__content {
  position: relative;
  margin-top: 80px;
  padding: 60px 110px;
  padding-top: 70px;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__ourvalue__content {
    margin-top: 40px;
    padding: 50px 0;
  }
}
.lower-interview_d .interview__ourvalue__content {
  /* あしらい：イラスト（recruitブロック参照） */
}
.lower-interview_d .interview__ourvalue__content::before {
  content: "";
  position: absolute;
  left: -50px;
  bottom: -100px;
  width: clamp(92.8px, 8.0555555556vw, 116px);
  aspect-ratio: 148/262;
  background: url(../img/index/illust_orange02.png) no-repeat center bottom/contain;
  pointer-events: none;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__ourvalue__content::before {
    width: 56px;
    bottom: -57px;
    left: -5px;
  }
}
.lower-interview_d .interview__ourvalue__content::after {
  content: "";
  position: absolute;
  right: 70px;
  top: -40px;
  width: clamp(123.2px, 10.6944444444vw, 154px);
  aspect-ratio: 233/243;
  background: url(../img/index/illust_orange01.png) no-repeat center bottom/contain;
  pointer-events: none;
  translate: 100%;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__ourvalue__content::after {
    display: none;
  }
}
.lower-interview_d .interview__ourvalue .ourvalue-ttl {
  z-index: 1;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  margin-bottom: 24px;
  position: absolute;
  top: -35px;
  left: 50%;
  translate: -50%;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__ourvalue .ourvalue-ttl {
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    top: -25px;
  }
}
.lower-interview_d .interview__ourvalue .ourvalue-ttl__h {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5333em;
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.08em;
  color: #fff;
  padding: 0.3333em 0.8em;
  background: #ff8014;
  border-radius: 15px;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__ourvalue .ourvalue-ttl__h {
    font-size: 2.6rem;
    padding: 10px 20px;
    border-radius: 10px;
  }
}
.lower-interview_d .interview__ourvalue .ourvalue-ttl__h::before, .lower-interview_d .interview__ourvalue .ourvalue-ttl__h::after {
  content: "";
  aspect-ratio: 1/1;
  width: 0.2667em;
  background-color: #fff;
  border-radius: 50%;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__ourvalue .ourvalue-ttl__h {
    font-size: 1.6rem;
  }
}
.lower-interview_d .interview__ourvalue .ourvalue-ttl::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -13px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  border-style: solid;
  border-width: 13px 13px 0 13px;
  border-color: #ff8014 transparent transparent transparent;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__ourvalue .ourvalue-ttl::after {
    border-width: 10px 10px 0 10px;
    bottom: -10px;
  }
}
.lower-interview_d .interview {
  /*------------------------------
    メッセージ
  ------------------------------*/
}
.lower-interview_d .interview__message {
  position: relative;
  padding-top: 100px;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__message {
    padding-top: 50px;
  }
}
.lower-interview_d .interview__message::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  z-index: 0;
  width: 158px;
  aspect-ratio: 158/160;
  background: url(../img/common/deco_orange01.png) no-repeat center/contain;
  pointer-events: none;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__message::before {
    width: 70px;
  }
}
.lower-interview_d .interview__message .interview__secTtl .ttl-eng {
  color: #0068b7;
}
.lower-interview_d .interview__message .interview__secTtl .ttl-jp::before {
  background-color: #0068b7;
}
.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: 5%;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__message .body {
    display: block;
  }
}
.lower-interview_d .interview__message .body {
  /* 写真(imgArea)が無いときは吹き出しの三角を非表示 */
}
.lower-interview_d .interview__message .body:not(:has(.imgArea)) .txtArea::before {
  display: none;
}
.lower-interview_d .interview__message .body .imgArea {
  border: solid 3px #0068b7;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 20%;
          flex: 0 0 20%;
  aspect-ratio: 1/1;
  border-radius: 50%;
  overflow: hidden;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__message .body .imgArea {
    width: 100%;
    max-width: 200px;
    margin: 0 auto 2em;
  }
}
.lower-interview_d .interview__message .body .imgArea img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.lower-interview_d .interview__message .body .txtArea {
  position: relative;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  padding: 40px 55px;
  background: #fff9de;
  border-radius: 24px;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__message .body .txtArea {
    padding: 28px 24px;
    border-radius: 16px;
  }
}
.lower-interview_d .interview__message .body .txtArea {
  /* 吹き出しの三角（写真側＝左） */
}
.lower-interview_d .interview__message .body .txtArea::before {
  content: "";
  position: absolute;
  left: 1px;
  top: 50%;
  width: 1.2em;
  aspect-ratio: 1/1;
  background: #fff9de;
  clip-path: polygon(100% 0, 0 50%, 100% 100%);
  -webkit-transform: translate(-100%, -50%);
          transform: translate(-100%, -50%);
}
@media (max-width: 834px) {
  .lower-interview_d .interview__message .body .txtArea::before {
    left: 50%;
    top: 1px;
    -webkit-transform: translate(-50%, -100%);
            transform: translate(-50%, -100%);
    clip-path: polygon(50% 0, 0 100%, 100% 100%);
  }
}
.lower-interview_d .interview__message .body .txtArea .txt {
  line-height: 2;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__message .body .txtArea .txt {
    font-size: 1.4rem;
  }
}
.lower-interview_d .interview {
  /*------------------------------
    戻るボタン／取材日
  ------------------------------*/
}
.lower-interview_d .interview__bottom {
  margin-top: 64px;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__bottom {
    margin-top: 48px;
  }
}
.lower-interview_d .interview__bottom .backBtn {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}
.lower-interview_d .interview__bottom .backBtn a {
  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;
  min-width: 280px;
  padding: 0.9375em 1.5em;
  font-weight: 700;
  color: #fff;
  background: #0068b7;
  border-radius: 100vmax;
  -webkit-transition: -webkit-transform 0.3s ease, -webkit-filter 0.3s ease;
  transition: -webkit-transform 0.3s ease, -webkit-filter 0.3s ease;
  transition: transform 0.3s ease, filter 0.3s ease;
  transition: transform 0.3s ease, filter 0.3s ease, -webkit-transform 0.3s ease, -webkit-filter 0.3s ease;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__bottom .backBtn a {
    min-width: 220px;
    font-size: 1.4rem;
    min-width: 240px;
  }
}
.lower-interview_d .interview__bottom .backBtn a {
  /* 左端：白丸＋左向き矢印 */
}
.lower-interview_d .interview__bottom .backBtn a .arrow {
  position: absolute;
  left: 20px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 30px;
  aspect-ratio: 1/1;
  background: #fff;
  border-radius: 50%;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.lower-interview_d .interview__bottom .backBtn a .arrow::before {
  content: "";
  position: absolute;
  inset: 0;
  margin: auto;
  aspect-ratio: 26/18;
  width: 0.75em;
  -webkit-mask: url(../img/common/arrow.png) no-repeat center/contain;
          mask: url(../img/common/arrow.png) no-repeat center/contain;
  background-color: #0068b7;
  scale: -1;
}
@media (any-hover: hover) {
  .lower-interview_d .interview__bottom .backBtn a:hover {
    opacity: 1;
    -webkit-transform: translateY(-4px);
            transform: translateY(-4px);
    -webkit-filter: saturate(1.25);
            filter: saturate(1.25);
  }
  .lower-interview_d .interview__bottom .backBtn a:hover .arrow {
    -webkit-transform: translateY(-50%) translateX(-4px);
            transform: translateY(-50%) translateX(-4px);
  }
}
.lower-interview_d .interview__bottom .date {
  display: block;
  text-align: center;
  font-size: 1.4rem;
  font-weight: 500;
  color: #969696;
  margin-top: 20px;
}
@media (max-width: 834px) {
  .lower-interview_d .interview__bottom .date {
    font-size: 1.2rem;
    margin-top: 14px;
  }
}

/* ============================================
// 数字で見るページ（DATA）
// ==========================================*/
.lower-data {
  /* 背景クリームは画面幅100%（main が全幅）。上下余白はコンテナ側で持たせる */
}
.lower-data main.l-main {
  padding: 0;
  background: #fff9de;
  z-index: 0;
  border-radius: 60px 60px 0 0;
}
.lower-data {
  /* 変数（色・サイズはここで一括調整） */
  --engFont: "Geologica", sans-serif;
  --gapX: 40px;
  --gapY: 40px;
  --dataNumSize: 6.4rem;
  --dataNumColor: #111;
  --balanceChartHeight: 75px;
  --balanceChartColor01: #6ec5ef;
  --balanceChartColor02: #fc77b0;
  /* コンテンツ幅は .l-container-l。上下余白のみここで */
}
.lower-data .data__container {
  /* 目次・セクションの自動採番（01, 02, …） */
  counter-reset: dataIndex dataSec;
  padding-top: 72px;
  padding-bottom: 0;
}
@media (max-width: 834px) {
  .lower-data .data__container {
    padding-top: 48px;
    padding-right: 5%;
    padding-left: 5%;
  }
}
.lower-data {
  /*------------------------------
    目次（アンカー）
  ------------------------------*/
}
.lower-data .data__index {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px 20px;
  max-width: 760px;
  margin: 0 auto 60px;
}
@media (max-width: 834px) {
  .lower-data .data__index {
    grid-template-columns: 1fr;
    gap: 10px;
    margin-bottom: 30px;
  }
}
.lower-data .data__index__item {
  counter-increment: dataIndex;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 20px;
  overflow: hidden; /* バッジの左角をピル形状にクリップ */
  min-height: 50px;
  padding-right: 58px;
  background: #fff;
  border-radius: 100vmax;
  font-size: 1.6rem;
  font-weight: 700;
  color: #111;
  line-height: 1.4;
  -webkit-transition: -webkit-transform 0.3s ease, -webkit-filter 0.3s ease, -webkit-box-shadow 0.3s ease;
  transition: -webkit-transform 0.3s ease, -webkit-filter 0.3s ease, -webkit-box-shadow 0.3s ease;
  transition: transform 0.3s ease, filter 0.3s ease, box-shadow 0.3s ease;
  transition: transform 0.3s ease, filter 0.3s ease, box-shadow 0.3s ease, -webkit-transform 0.3s ease, -webkit-filter 0.3s ease, -webkit-box-shadow 0.3s ease;
}
@media (max-width: 834px) {
  .lower-data .data__index__item {
    font-size: 1.4rem;
    gap: 14px;
    min-height: 52px;
    padding-right: 48px;
  }
}
.lower-data .data__index__item {
  /* 番号バッジ（オレンジの角丸） */
}
.lower-data .data__index__item .n {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  align-self: stretch; /* ピルの高さいっぱいに */
  display: grid;
  place-items: center;
  width: 56px;
  background: #ff8014;
  color: #fff;
  font-family: var(--engFont);
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}
.lower-data .data__index__item .n::before {
  content: counter(dataIndex, decimal-leading-zero);
}
@media (max-width: 834px) {
  .lower-data .data__index__item .n {
    width: 48px;
    font-size: 1.4rem;
  }
}
.lower-data .data__index__item .t {
  font-size: 1.4rem;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.lower-data .data__index__item {
  /* 右端：オレンジ丸 */
}
.lower-data .data__index__item::after {
  content: "";
  position: absolute;
  right: 14px;
  top: 50%;
  translate: 0 -50%;
  width: 24px;
  aspect-ratio: 1/1;
  background: #ff8014;
  border-radius: 50%;
}
.lower-data .data__index__item {
  /* 白い下向き山形（chevron） */
}
.lower-data .data__index__item::before {
  content: "";
  position: absolute;
  right: 22px;
  top: calc(50% - 5px);
  z-index: 1;
  width: 7px;
  height: 7px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
@media (any-hover: hover) {
  .lower-data .data__index__item:hover {
    opacity: 1;
    -webkit-transform: translateY(-4px);
            transform: translateY(-4px);
    -webkit-filter: saturate(1.15);
            filter: saturate(1.15);
    -webkit-box-shadow: 0 8px 18px rgba(0, 0, 0, 0.1);
            box-shadow: 0 8px 18px rgba(0, 0, 0, 0.1);
  }
}
.lower-data {
  /*------------------------------
    セクション
  ------------------------------*/
}
.lower-data .data__section {
  counter-increment: dataSec;
  position: relative;
  /* パネルの重なり順を DOM 順で確定（後のセクションが前の上に乗る）。
     これで「クリーム(03)が下の白(02)を角丸からのぞかせる」反転も確実に効く */
  isolation: isolate;
  padding: 70px 0 160px;
}
@media (max-width: 834px) {
  .lower-data .data__section {
    padding: 44px 0 120px;
  }
}
.lower-data .data__section {
  /* 全幅の背景パネル（上部だけ角丸）。既定クリーム、-white で白に */
}
.lower-data .data__section::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 100vw;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  border-radius: 60px 60px 0 0;
  background: #fff9de;
}
@media (max-width: 834px) {
  .lower-data .data__section::before {
    border-radius: 40px 40px 0 0;
  }
}
.lower-data .data__section {
  /* 2つ目以降は前パネルに重ね、角丸の切り欠きから前パネルの色をのぞかせる
     （重なり分＝角丸半径。padding-top で本文位置を戻す） */
}
.lower-data .data__section + .data__section {
  margin-top: -60px;
  padding-bottom: 160px;
  padding-top: 160px;
}
@media (max-width: 834px) {
  .lower-data .data__section + .data__section {
    margin-top: -40px;
    padding-top: 84px;
    padding-bottom: 60px;
  }
}
.lower-data .data__section {
  /* オレンジの見出しバー */
}
.lower-data .data__section__head {
  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;
  padding: 24px 40px;
  margin-bottom: 50px;
  background: #ff8014;
  border-radius: 10px;
  color: #fff;
}
@media (max-width: 834px) {
  .lower-data .data__section__head {
    padding: 14px 24px;
    margin-bottom: 28px;
  }
}
.lower-data .data__section__head .n {
  position: absolute;
  left: 50%;
  top: 0;
  translate: -50% -50%;
  z-index: 0;
  display: grid;
  place-items: center;
  width: 114px;
  aspect-ratio: 1/1;
  background: #ff8014;
  border-radius: 50%;
  color: #fff;
  font-family: var(--engFont);
  font-size: 3.8rem;
  font-weight: 700;
  padding-bottom: 20px;
}
.lower-data .data__section__head .n::before {
  content: counter(dataSec, decimal-leading-zero);
}
@media (max-width: 834px) {
  .lower-data .data__section__head .n {
    width: 50px;
    font-size: 1.6rem;
    padding-bottom: 17px;
  }
}
.lower-data .data__section__head .ttl {
  position: relative;
  z-index: 1;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}
@media (max-width: 834px) {
  .lower-data .data__section__head .ttl {
    font-size: 1.7rem;
  }
}
.lower-data .data__section__head {
  /* 見出し左右のイラスト（あしらい・仮）。--w=実寸幅。PC位置は #dataXX 側で指定 */
}
.lower-data .data__section__head .secDeco {
  position: absolute;
  z-index: 2;
  height: auto;
  pointer-events: none;
  /* PC：1440基準で流動（最小70%〜最大実寸）。--w は単位なし数値で渡す */
  width: clamp(var(--w) * 0.7px, var(--w) / 1440 * 100vw, var(--w) * 1px);
}
@media (max-width: 834px) {
  .lower-data .data__section__head .secDeco {
    /* SP：小さめに流動（実寸の約30%〜67%）。位置は上部隅に共通化 */
    width: calc(var(--w) / 1250 * 100vw);
    top: auto;
    bottom: 0;
  }
}
@media (max-width: 834px) {
  .lower-data .data__section__head .secDeco.-l {
    left: -8px;
    right: auto;
  }
}
@media (max-width: 834px) {
  .lower-data .data__section__head .secDeco.-r {
    right: -8px;
    left: auto;
  }
}
.lower-data .data__section {
  /* セクション角の円弧あしらい（img/common の deco_◯◯01 を流用。色は src、サイズ/位置は #dataXX で個別指定） */
}
.lower-data .data__section .secArc {
  position: absolute;
  z-index: -1;
  height: auto;
  pointer-events: none;
  /* 幅は実寸 --w 基準（secDecoと同方式・単位なし数値で渡す） */
  width: clamp(var(--w) * 0.7px, var(--w) / 1440 * 100vw, var(--w) * 1px);
}
@media (max-width: 834px) {
  .lower-data .data__section .secArc {
    width: calc(var(--w) / 1250 * 100vw);
  }
}
.lower-data .data__section .secArc.-tl {
  left: calc((100% - 100vw) / 2);
}
.lower-data .data__section .secArc.-tr {
  right: calc((100% - 100vw) / 2);
}
.lower-data .data__section {
  /* 白背景セクション：パネルを白に、カードはクリームに反転 */
}
.lower-data .data__section.-white::before {
  background: #fff;
}
.lower-data .data__section.-white .data__block {
  background: #fff9de;
  border-radius: 25px;
}
.lower-data .data__section {
  /* 下部の「○○時点」白ピル（カード下・パネル背景に中央配置） */
}
.lower-data .data__section .date-note {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 48px auto 0;
  padding: 8px 28px;
  background: #fff;
  border: 1px solid #e7e7e7;
  border-radius: 100vmax;
  font-size: 1.4rem;
  line-height: 1.829;
  color: #111;
  text-align: center;
}
@media (max-width: 834px) {
  .lower-data .data__section .date-note {
    font-size: 1.2rem;
    padding: 6px 20px;
    margin-top: 28px;
  }
}
.lower-data {
  /*------------------------------
    セクションのイラスト配置（あしらい・仮。サイズは実寸、位置はデザイン基準）
  ------------------------------*/
}
.lower-data #data01 .secDeco.-l {
  --w: 97;
}
@media (min-width: 835px) {
  .lower-data #data01 .secDeco.-l {
    bottom: -90px;
    left: 50px;
  }
}
.lower-data #data01 .secDeco.-r {
  --w: 175;
}
@media (min-width: 835px) {
  .lower-data #data01 .secDeco.-r {
    bottom: -80px;
    right: 18px;
  }
}
@media (max-width: 834px) {
  .lower-data #data01 .secDeco.-r {
    bottom: -45px;
  }
}
.lower-data #data02 .secDeco.-l {
  --w: 196;
}
@media (min-width: 835px) {
  .lower-data #data02 .secDeco.-l {
    bottom: -60px;
    left: 36px;
  }
}
.lower-data #data02 .secDeco.-r {
  --w: 153;
}
@media (min-width: 835px) {
  .lower-data #data02 .secDeco.-r {
    bottom: -50px;
    right: 40px;
  }
}
.lower-data #data03 .secDeco.-l {
  --w: 142;
}
@media (min-width: 835px) {
  .lower-data #data03 .secDeco.-l {
    top: -40px;
    left: 50px;
  }
}
.lower-data #data03 .secDeco.-r {
  --w: 114;
}
@media (min-width: 835px) {
  .lower-data #data03 .secDeco.-r {
    bottom: -20px;
    right: 20px;
  }
}
.lower-data #data04 .secDeco.-l {
  --w: 142;
}
@media (min-width: 835px) {
  .lower-data #data04 .secDeco.-l {
    top: -65px;
    left: 60px;
  }
}
.lower-data #data04 .secDeco.-r {
  --w: 262;
}
@media (min-width: 835px) {
  .lower-data #data04 .secDeco.-r {
    top: 10px;
    right: 20px;
  }
}
.lower-data {
  /* 04 下部（事業所数の左右）。--w=実寸幅（単位なし）、PC下部・SPは小さく下隅 */
}
.lower-data #data04 .areaDeco {
  position: absolute;
  z-index: 2;
  height: auto;
  pointer-events: none;
  width: clamp(var(--w) * 0.7px, var(--w) / 1440 * 100vw, var(--w) * 1px);
}
@media (max-width: 834px) {
  .lower-data #data04 .areaDeco {
    width: calc(var(--w) / 1250 * 100vw);
  }
}
.lower-data #data04 .areaDeco.-l {
  --w: 245;
  bottom: 70px;
  left: -10px;
}
@media (max-width: 834px) {
  .lower-data #data04 .areaDeco.-l {
    bottom: 16px;
    left: -16px;
  }
}
.lower-data #data04 .areaDeco.-r {
  --w: 109;
  bottom: 100px;
  right: 40px;
}
@media (max-width: 834px) {
  .lower-data #data04 .areaDeco.-r {
    bottom: 16px;
    right: -8px;
  }
}
.lower-data {
  /*------------------------------
    セクションごとの円弧あしらい（--w=実寸幅・単位なし。top/bottom/scale で個別調整）
  ------------------------------*/
}
.lower-data #data01 .secArc.-tl {
  --w: 206;
  top: -74px;
}
@media (max-width: 834px) {
  .lower-data #data01 .secArc.-tl {
    top: -10px;
  }
}
.lower-data #data01 .secArc.-tr {
  --w: 200;
  bottom: 60px;
  scale: 1 -1;
}
@media (max-width: 834px) {
  .lower-data #data01 .secArc.-tr {
    bottom: 30px;
  }
}
.lower-data #data02 .secArc.-tl {
  --w: 360;
  bottom: 60px;
  left: calc((80% - 100vw) / 2);
  scale: -1 1;
}
@media (max-width: 834px) {
  .lower-data #data02 .secArc.-tl {
    bottom: 30px;
  }
}
.lower-data #data03 .secArc.-tr {
  --w: 320;
  bottom: 30px;
  right: calc((93% - 100vw) / 2);
}
.lower-data {
  /*------------------------------
    カードグリッド
  ------------------------------*/
}
@media (min-width: 835px) {
  .lower-data .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__body {
    --gapX: 20px;
    --gapY: 20px;
  }
}
@media (max-width: 834px) {
  .lower-data .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: 16px;
  }
}
.lower-data {
  /* カウントアップの数字は等幅に（桁のガタつき防止・ch が桁幅に揃う） */
}
.lower-data .countup b {
  font-variant-numeric: tabular-nums;
  opacity: 0;
}
.lower-data {
  /*------------------------------
    データカード
  ------------------------------*/
}
.lower-data .data__block {
  /* カードごとのテーマ色（既定＝ブルー。カード別に上書き可） */
  --accent: #0068b7;
  --accentBg: #e6f7fe;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column;
          flex-flow: column;
  padding: 50px;
  background: #fff;
  border-radius: 25px;
}
@media (max-width: 834px) {
  .lower-data .data__block {
    width: 100%;
    padding: 5%;
    border-radius: 7px;
  }
}
.lower-data .data__block {
  /* PCのカラム幅 */
}
@media (min-width: 835px) {
  .lower-data .data__block.-one {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 calc((100% - var(--gapX) * 2) / 3);
            flex: 0 0 calc((100% - var(--gapX) * 2) / 3);
    max-width: calc((100% - var(--gapX) * 2) / 3);
  }
  .lower-data .data__block {
    /* -two と対になる -one は 470px相当（-two:690px との2並び・間隔1つぶん）。-two の前・後どちらでも
       470+690=1160 ＝ コンテナ1200 − 間隔40。1200pxで実寸、以下は比率を保って縮小 */
  }
  .lower-data .data__block.-one:has(+ .-two), .lower-data .data__block.-two + .data__block.-one {
    -ms-flex-preferred-size: calc((100% - var(--gapX)) * 470 / 1160);
        flex-basis: calc((100% - var(--gapX)) * 470 / 1160);
    max-width: calc((100% - var(--gapX)) * 470 / 1160);
  }
  .lower-data .data__block {
    /* -two は 690px相当 */
  }
  .lower-data .data__block.-two {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 calc((100% - var(--gapX)) * 690 / 1160);
            flex: 0 0 calc((100% - var(--gapX)) * 690 / 1160);
    max-width: calc((100% - var(--gapX)) * 690 / 1160);
  }
  .lower-data .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__block.-full {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%;
  }
}
.lower-data .data__block {
  /* ---- カード別 個別設定 ----
     各カードの識別クラス＝そのカード専用の調整枠（位置非依存・HTMLにstyleを書かない）。
     サイズは --dataNumSize / --icoH / --wmH。そのカードだけの微調整は各ブロック内に追記。 */
  /* 01 ワークライフバランス */
}
.lower-data .data__block.-overtime {
  --dataNumSize: 9rem;
  --icoH: 98px;
}
.lower-data .data__block.-childcare {
  --dataNumSize: 8rem;
}
.lower-data .data__block.-paidLeave {
  --dataNumSize: 10rem;
  --icoH: 119px;
}
.lower-data .data__block.-paidLeave .body.-horizontal {
  gap: 40px;
}
@media (max-width: 834px) {
  .lower-data .data__block.-paidLeave .body.-horizontal {
    gap: 24px;
  }
}
.lower-data .data__block.-shortTime {
  --dataNumSize: 10rem;
  --icoH: 135px;
}
.lower-data .data__block.-shortTime .body.-horizontal {
  gap: 40px;
}
@media (max-width: 834px) {
  .lower-data .data__block.-shortTime .body.-horizontal {
    gap: 24px;
  }
}
.lower-data .data__block {
  /* 02 給与・福利厚生・キャリア */
}
.lower-data .data__block.-bonus {
  --dataNumSize: 10rem;
  --icoH: 100px;
}
.lower-data .data__block.-raise {
  --dataNumSize: 7.6rem;
  --wmH: 200px;
}
.lower-data .data__block.-raise.-watermark .watermark {
  top: 20%;
}
.lower-data .data__block.-dc {
  --dataNumSize: 7.6rem;
  --icoH: 109px;
}
.lower-data .data__block.-training {
  --dataNumSize: 12rem;
  --wmH: 222px;
}
.lower-data .data__block.-training .body {
  padding: 0 30px;
}
@media (max-width: 834px) {
  .lower-data .data__block.-training .body {
    padding: 0;
  }
}
.lower-data .data__block.-career {
  --dataNumSize: 8rem;
  /* 中身は左寄せ（タイトルは中央のまま） */
}
.lower-data .data__block.-career .body.-vertical {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  padding: 0 24px;
}
@media (max-width: 834px) {
  .lower-data .data__block.-career .body.-vertical {
    padding: 0;
  }
}
.lower-data .data__block.-career .lead {
  text-align: left;
  font-size: 2.4rem;
}
@media (max-width: 834px) {
  .lower-data .data__block.-career .lead {
    font-size: 1.6em;
  }
}
.lower-data .data__block.-career .tags {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
.lower-data .data__block {
  /* 03 職場の雰囲気と多様性 */
}
.lower-data .data__block.-avgAge {
  --dataNumSize: 8.5rem;
}
.lower-data .data__block.-ages {
  --dataNumSize: 7.6rem;
}
.lower-data .data__block.-ages .body {
  padding: 0 30px;
}
@media (max-width: 834px) {
  .lower-data .data__block.-ages .body {
    padding: 0;
  }
}
.lower-data .data__block.-ages .body .cap {
  font-size: 1.6rem;
}
@media (max-width: 834px) {
  .lower-data .data__block.-ages .body .cap {
    font-size: 1.4rem;
  }
}
.lower-data .data__block.-ages .body .-yellow .cap {
  color: #111;
}
.lower-data .data__block.-gender {
  --dataNumSize: 4.6rem;
}
.lower-data .data__block.-tenure {
  --dataNumSize: 9rem;
  --icoH: 76px;
}
.lower-data .data__block.-referral {
  --dataNumSize: 10rem;
  --icoH: 75px;
}
.lower-data .data__block.-event {
  --dataNumSize: 8rem;
}
.lower-data .data__block.-event .body .tags {
  max-width: 428px;
  /* 「など」だけ改行して右揃え */
}
.lower-data .data__block.-event .body .tags li:last-child {
  -ms-flex-preferred-size: 100%;
      flex-basis: 100%;
  text-align: right;
}
@media (max-width: 834px) {
  .lower-data .data__block.-event .body .tags li:last-child {
    -ms-flex-preferred-size: initial;
        flex-basis: initial;
    text-align: initial;
  }
}
.lower-data .data__block {
  /* 04 地域とのつながり */
}
.lower-data .data__block.-area {
  --dataNumSize: 9rem;
}
.lower-data .data__block.-area .body {
  padding: 0 50px;
}
@media (max-width: 834px) {
  .lower-data .data__block.-area .body {
    padding: 0;
  }
}
.lower-data .data__block {
  /* ---- カード別バリエーション ---- */
  /* ピンク系テーマ */
}
.lower-data .data__block.-pink {
  --accent: #e83498;
  --accentBg: #fbe4f0;
}
.lower-data .data__block {
  /* オレンジ系テーマ */
}
.lower-data .data__block.-orange {
  --accent: #ff8014;
  --accentBg: #fff2e2;
}
.lower-data .data__block {
  /* グリーン系テーマ */
}
.lower-data .data__block.-green {
  --accent: #8bb708;
  --accentBg: #eef6da;
}
.lower-data .data__block {
  /* レッド系テーマ */
}
.lower-data .data__block.-red {
  --accent: #e60012;
  --accentBg: #fdeaea;
}
.lower-data .data__block {
  /* アイコンを数字の背面に敷く（透かし）型 */
}
.lower-data .data__block.-overlay .body {
  position: relative;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  /* .body 配下に置き標準 .img より詳細度を上げて透かしサイズを固定 */
}
.lower-data .data__block.-overlay .body .img {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.lower-data .data__block.-overlay .body .img img {
  max-height: 130px;
}
.lower-data .data__block.-overlay .data {
  position: relative;
  z-index: 1;
}
.lower-data .data__block {
  /* 淡色カード＋アイコンを薄く敷く透かし型（既定＝中央／.-right＝右寄せ） */
}
.lower-data .data__block.-watermark {
  overflow: hidden;
  background: var(--accentBg);
}
.lower-data .data__block.-watermark .body {
  position: relative;
  z-index: 1;
}
.lower-data .data__block.-watermark .data,
.lower-data .data__block.-watermark .note {
  position: relative;
  z-index: 1;
}
.lower-data .data__block.-watermark {
  /* 既定：中央に薄く敷く（縦型カード＝毎年昇給など。数字・注釈は中央のまま） */
}
.lower-data .data__block.-watermark .watermark {
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -46%);
          transform: translate(-50%, -46%);
  width: auto;
  height: var(--wmH, 200px);
  z-index: 0;
  pointer-events: none;
}
@media (max-width: 834px) {
  .lower-data .data__block.-watermark .watermark {
    height: calc(var(--wmH, 200px) * 0.76);
  }
}
.lower-data .data__block.-watermark {
  /* 右に敷く（横型カード＝研修実績など。数字・注釈を左寄せ） */
}
.lower-data .data__block.-watermark.-right .body {
  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: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 8px;
  min-height: 190px;
}
@media (max-width: 834px) {
  .lower-data .data__block.-watermark.-right .body {
    min-height: 140px;
  }
}
.lower-data .data__block.-watermark.-right .data {
  width: 100%;
}
.lower-data .data__block.-watermark.-right .data .num {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
.lower-data .data__block.-watermark.-right .note {
  width: 100%;
  text-align: left;
  margin-top: 10px;
}
.lower-data .data__block.-watermark.-right .watermark {
  left: auto;
  right: 4%;
  top: 38%;
  -webkit-transform: translateY(-48%);
          transform: translateY(-48%);
  height: var(--wmH, 170px);
}
@media (max-width: 834px) {
  .lower-data .data__block.-watermark.-right .watermark {
    height: calc(var(--wmH, 170px) * 0.65);
  }
}
.lower-data .data__block {
  /* 横長カード（多様なキャリア等）は左寄せ */
}
.lower-data .data__block.-two .body.-vertical {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.lower-data .data__block.-two .lead {
  text-align: left;
}
.lower-data .data__block.-two .tags {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
.lower-data .data__block {
  /* 男女比：アイコンがバーを左右から挟む */
}
.lower-data .data__block.-gender .body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.lower-data .data__block.-gender .gender {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 14px;
  width: 100%;
}
@media (max-width: 834px) {
  .lower-data .data__block.-gender .gender {
    gap: 8px;
  }
}
.lower-data .data__block.-gender .gender__ico {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.lower-data .data__block.-gender .gender__ico img {
  width: 67px;
  height: auto;
}
@media (max-width: 834px) {
  .lower-data .data__block.-gender .gender__ico img {
    width: 44px;
  }
}
.lower-data .data__block.-gender .gender__ico.-femaleIco img {
  width: 59px;
}
@media (max-width: 834px) {
  .lower-data .data__block.-gender .gender__ico.-femaleIco img {
    width: 41px;
  }
}
.lower-data .data__block.-gender .gender__main {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}
.lower-data .data__block.-gender .gender__label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 8px;
  font-size: 1.8rem;
  font-weight: 700;
}
.lower-data .data__block.-gender .gender__label .-male {
  color: var(--balanceChartColor01);
}
.lower-data .data__block.-gender .gender__label .-female {
  color: var(--balanceChartColor02);
}
.lower-data .data__block.-gender .gender__pct {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  margin-top: 8px;
}
.lower-data .data__block.-gender .gender__pct .num {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: 2px;
  font-family: var(--engFont);
  font-size: 2rem;
  font-weight: 700;
  line-height: 1;
  color: #111;
}
.lower-data .data__block.-gender .gender__pct .num b {
  font-family: var(--engFont);
  font-size: var(--dataNumSize);
  font-weight: 700;
  line-height: 1;
}
@media (max-width: 834px) {
  .lower-data .data__block.-gender .gender__pct .num b {
    font-size: calc(var(--dataNumSize) * 0.7);
  }
}
.lower-data .data__block.-gender .gender__pct .num.-male b {
  color: var(--balanceChartColor01);
}
.lower-data .data__block.-gender .gender__pct .num.-female b {
  color: var(--balanceChartColor02);
}
.lower-data .data__block {
  /* 淡色ボックス型（アイコン＋数字を淡色タイルに載せる） */
}
.lower-data .data__block.-tile .body {
  background: var(--accentBg);
  border-radius: 16px;
  padding: 28px 24px;
}
@media (max-width: 834px) {
  .lower-data .data__block.-tile .body {
    padding: 20px 16px;
  }
}
.lower-data .data__block {
  /* 大きな色丸＋数字＋注釈ボックス型（内側の淡色ボックスなし） */
}
.lower-data .data__block.-circle .body {
  background: transparent;
  padding: 0;
  gap: 32px;
}
@media (max-width: 834px) {
  .lower-data .data__block.-circle .body {
    gap: 16px;
  }
}
.lower-data .data__block.-circle .circle {
  position: relative;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 44%;
  max-width: 210px;
  aspect-ratio: 1/1;
  display: grid;
  place-items: center;
  background: var(--accent);
  border-radius: 50%;
}
.lower-data .data__block.-circle .circle::before {
  content: "";
  position: absolute;
  inset: 20%;
  background: #fff;
  border-radius: 50%;
}
.lower-data .data__block.-circle .circle img {
  position: relative;
  z-index: 1;
  width: 38.5714%;
  height: auto;
}
.lower-data .data__block.-circle .data {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  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;
  gap: 20px;
}
.lower-data .data__block.-circle {
  /* 注釈をクリームのボックスに（1行目＝テーマ色） */
}
.lower-data .data__block.-circle .note {
  margin: 0;
  padding: 14px 24px;
  background: #fff9de;
  border-radius: 12px;
  color: #111;
  text-align: center;
}
.lower-data .data__block.-circle .note .y {
  display: block;
  color: var(--accent);
  font-weight: 700;
  margin-bottom: 2px;
}
.lower-data .data__block {
  /* カード上部ラベル（PS基準：24px/bold/#111/中央。下に赤→橙→緑→青の4色ドット） */
}
.lower-data .data__block .label {
  text-align: center;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.6;
  color: #111;
  margin-bottom: 24px;
  /* 4色ドット（赤→橙→緑→青）。編集しやすいよう空要素 <i>×4 */
}
.lower-data .data__block .label .dots {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 8px;
  margin-top: 10px;
}
@media (max-width: 834px) {
  .lower-data .data__block .label .dots {
    margin-top: 6px;
    gap: 5px;
  }
}
.lower-data .data__block .label .dots i {
  aspect-ratio: 1/1;
  width: 9px;
  border-radius: 50%;
}
@media (max-width: 834px) {
  .lower-data .data__block .label .dots i {
    width: 6px;
  }
}
.lower-data .data__block .label .dots i:nth-child(1) {
  background: #e60012;
}
.lower-data .data__block .label .dots i:nth-child(2) {
  background: #ff8014;
}
.lower-data .data__block .label .dots i:nth-child(3) {
  background: #8bb708;
}
.lower-data .data__block .label .dots i:nth-child(4) {
  background: #0068b7;
}
@media (max-width: 834px) {
  .lower-data .data__block .label {
    font-size: 2rem;
    margin-bottom: 18px;
  }
}
.lower-data .data__block {
  /* データ本体（既定は枠なし。淡色ボックスは -tile で付与） */
}
.lower-data .data__block .body {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.lower-data .data__block .body.-horizontal {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 20px;
}
@media (max-width: 834px) {
  .lower-data .data__block .body.-horizontal {
    gap: 12px;
  }
}
.lower-data .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-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 14px;
}
.lower-data .data__block .body {
  /* アイコン（各カードで style="--icoH:○px" から高さ調整） */
}
.lower-data .data__block .body .img {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  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;
}
.lower-data .data__block .body .img img {
  width: auto;
  max-height: var(--icoH, 96px);
}
@media (max-width: 834px) {
  .lower-data .data__block .body .img img {
    max-height: calc(var(--icoH, 96px) * 0.7);
  }
}
.lower-data .data__block {
  /* 数字 */
}
.lower-data .data__block .data .num {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 4px;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1;
  color: #111;
  white-space: nowrap;
}
@media (max-width: 834px) {
  .lower-data .data__block .data .num {
    font-size: 1.6rem;
  }
}
.lower-data .data__block .data .num .pre {
  font-size: 2.4rem;
}
@media (max-width: 834px) {
  .lower-data .data__block .data .num .pre {
    font-size: 1.3rem;
  }
}
.lower-data .data__block .data .num b {
  font-family: var(--engFont);
  font-size: var(--dataNumSize);
  font-weight: 700;
  color: var(--accent);
  line-height: 1;
  letter-spacing: -0.01em;
}
@media (max-width: 834px) {
  .lower-data .data__block .data .num b {
    font-size: calc(var(--dataNumSize) * 0.7);
  }
}
.lower-data .data__block {
  /* リード文（数字を含む見出し的テキスト） */
}
.lower-data .data__block .lead {
  text-align: center;
  font-size: 1.9rem;
  font-weight: 700;
  line-height: 1.6;
}
@media (max-width: 834px) {
  .lower-data .data__block .lead {
    font-size: 1.6rem;
  }
}
.lower-data .data__block .lead .pre {
  font-size: 0.8em;
  margin-right: 0.1em;
}
.lower-data .data__block .lead .num {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
}
.lower-data .data__block .lead .num b {
  font-family: var(--engFont);
  font-size: var(--dataNumSize);
  font-weight: 700;
  color: var(--accent);
  line-height: 1;
  margin: 0 0.05em;
}
@media (max-width: 834px) {
  .lower-data .data__block .lead .num b {
    font-size: calc(var(--dataNumSize) * 0.7);
  }
}
.lower-data .data__block {
  /* 注釈 */
}
.lower-data .data__block .note {
  margin-top: 10px;
  text-align: center;
  font-size: 1.6rem;
  line-height: 1.6;
}
@media (max-width: 834px) {
  .lower-data .data__block .note {
    font-size: 1.4rem;
    margin-top: 5px;
  }
}
.lower-data .data__block {
  /* 年齢構成などのミニ数値2つ（淡色ボックス＋ピル見出し） */
}
.lower-data .data__block .data__mini {
  position: relative;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  text-align: center;
  padding: 44px 20px 34px;
  border-radius: 14px;
}
@media (max-width: 834px) {
  .lower-data .data__block .data__mini {
    padding: 32px 10px 22px;
  }
}
.lower-data .data__block .data__mini {
  /* ラベルはボックス上辺にまたがせる（バッジ風） */
}
.lower-data .data__block .data__mini .cap {
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  padding: 12px 30px;
  border-radius: 100vmax;
  color: #fff;
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 1.4;
  white-space: nowrap;
}
@media (max-width: 834px) {
  .lower-data .data__block .data__mini .cap {
    font-size: 1.2rem;
    padding: 4px 14px;
  }
}
.lower-data .data__block .data__mini .num {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 2px;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1;
  color: #111;
}
.lower-data .data__block .data__mini .num b {
  font-family: var(--engFont);
  font-size: var(--dataNumSize);
  font-weight: 700;
  line-height: 1;
}
@media (max-width: 834px) {
  .lower-data .data__block .data__mini .num b {
    font-size: calc(var(--dataNumSize) * 0.7);
  }
}
.lower-data .data__block .data__mini.-green {
  background: #f2f7ea;
}
.lower-data .data__block .data__mini.-green .cap {
  background: #8bb708;
}
.lower-data .data__block .data__mini.-green .num b {
  color: #8bb708;
}
.lower-data .data__block .data__mini.-orange {
  background: #fff3e0;
}
.lower-data .data__block .data__mini.-orange .cap {
  background: #ff8014;
}
.lower-data .data__block .data__mini.-orange .num b {
  color: #ff8014;
}
.lower-data .data__block .data__mini.-yellow {
  background: #fffae9;
}
.lower-data .data__block .data__mini.-yellow .cap {
  background: #ffcb24;
}
.lower-data .data__block .data__mini.-yellow .num b {
  color: #ffcb24;
}
.lower-data .data__block {
  /* 吹き出し（画像・年齢構成カードの右上に配置） */
}
.lower-data .data__block .balloon {
  position: absolute;
  top: 29px;
  right: 36px;
  z-index: 2;
  width: 139px;
  height: auto;
}
@media (max-width: 834px) {
  .lower-data .data__block .balloon {
    width: 90px;
    top: 10px;
    right: -10px;
  }
}
.lower-data .data__block {
  /* タグ（資格・イベントなど） */
}
.lower-data .data__block .tags {
  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;
  gap: 10px;
  max-width: 368px;
  margin: 0 auto;
  margin-top: 10px;
}
@media (max-width: 834px) {
  .lower-data .data__block .tags {
    gap: 8px;
    margin-top: 5px;
  }
}
.lower-data .data__block .tags li {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1;
  padding: 0.8em 1.1em;
  color: #111;
  border: 1px solid var(--accent);
  border-radius: 8px;
  background-color: #fff;
}
@media (max-width: 834px) {
  .lower-data .data__block .tags li {
    font-size: 1.3rem;
  }
}
.lower-data .data__block .tags li:last-child {
  color: #111;
  border: none;
  background-color: transparent;
  padding: 0.55em 0.2em;
  -ms-flex-item-align: center;
      align-self: center;
}
.lower-data .data__block {
  /* 男女比（バランスバー） */
}
.lower-data .data__block .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: 12px;
}
.lower-data .data__block .dataTitle__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 8px;
  font-weight: 700;
}
.lower-data .data__block .dataTitle__item:first-child {
  color: var(--balanceChartColor01);
}
.lower-data .data__block .dataTitle__item:last-child {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-flow: row-reverse;
          flex-flow: row-reverse;
  color: var(--balanceChartColor02);
}
.lower-data .data__block .dataTitle__item img {
  width: 40px;
}
.lower-data .data__block .line-chart {
  width: 100%;
}
.lower-data .data__block .line-chart .chart {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
}
.lower-data .data__block .line-chart .chart .line {
  width: 0;
  height: var(--balanceChartHeight);
  -webkit-transition: width 1.3s ease;
  transition: width 1.3s ease;
}
@media (max-width: 834px) {
  .lower-data .data__block .line-chart .chart .line {
    height: calc(var(--balanceChartHeight) * 0.7);
  }
}
.lower-data .data__block .line-chart .chart .line:nth-child(1) {
  background: var(--balanceChartColor01);
}
.lower-data .data__block .line-chart .chart .line:nth-child(2) {
  background: var(--balanceChartColor02);
}
.lower-data .data__block .line-chart + .data {
  width: 100%;
  margin-top: 8px;
}
.lower-data .data__block .line-chart + .data .data__multi {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.lower-data .data__block .line-chart + .data .data__multi .num b.-small {
  font-size: calc(var(--dataNumSize) * 0.55);
}
.lower-data .data__block {
  /* 事業所数（エリア／地図） */
}
.lower-data .data__block.-area .body {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 13.7%;
}
@media (max-width: 834px) {
  .lower-data .data__block.-area .body {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 24px;
  }
}
.lower-data .data__block.-area .area-txt {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  text-align: center;
}
.lower-data .data__block.-area {
  /* 白×テーマ色フチのBOX（奈良市内…20拠点） */
}
.lower-data .data__block.-area .area-box {
  padding: 32px 40px;
  background: #fff;
  border: 1px solid var(--accent);
  border-radius: 16px;
}
@media (max-width: 834px) {
  .lower-data .data__block.-area .area-box {
    padding: 24px 20px;
  }
}
.lower-data .data__block.-area .area-box .lead {
  text-align: center;
  font-size: 2rem;
  margin-bottom: 8px;
}
@media (max-width: 834px) {
  .lower-data .data__block.-area .area-box .lead {
    font-size: 1.5rem;
  }
}
.lower-data .data__block.-area .area-box .num {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 4px;
  font-size: 2.4rem;
  font-weight: 700;
  color: #111;
  line-height: 1;
}
.lower-data .data__block.-area .area-box .num b {
  font-family: var(--engFont);
  font-size: var(--dataNumSize);
  font-weight: 700;
  color: var(--accent);
  line-height: 1;
}
@media (max-width: 834px) {
  .lower-data .data__block.-area .area-box .num b {
    font-size: calc(var(--dataNumSize) * 0.7);
  }
}
.lower-data .data__block.-area .note {
  margin-top: 20px;
  max-width: 440px;
  margin-left: auto;
  margin-right: auto;
  font-weight: 700;
  font-size: 1.8rem;
  line-height: 2;
  color: #111;
}
.lower-data .data__block.-area .area-map {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 41.3%;
          flex: 0 0 41.3%;
  margin-right: 40px;
}
@media (max-width: 834px) {
  .lower-data .data__block.-area .area-map {
    width: 100%;
    max-width: 240px;
    margin-right: 0;
  }
}
.lower-data .data__block.-area .area-map img {
  width: 100%;
  height: auto;
  translate: 0 -10%;
}
@media (max-width: 834px) {
  .lower-data .data__block.-area .area-map img {
    translate: initial;
  }
}

/* ============================================
// 施設紹介
// ==========================================*/
.lower-facility .pageHeader {
  z-index: 3;
}
.lower-facility .l-main {
  padding-block: 0;
  margin-bottom: -65px;
}
.lower-facility .recruit {
  position: relative;
  z-index: 15;
}
.lower-facility .facility__anchor {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 100px 5% 70px;
  border-top-left-radius: 65px;
  border-top-right-radius: 65px;
  background: #fff9de;
}
@media (max-width: 834px) {
  .lower-facility .facility__anchor {
    padding-block: 50px 30px;
    border-top-left-radius: 40px;
    border-top-right-radius: 40px;
  }
}
.lower-facility .facility__contents {
  background-color: #fff9de;
}
.lower-facility .facilitys {
  position: relative;
  background: #fff9de;
  padding-block: 40px 220px;
}
@media (max-width: 834px) {
  .lower-facility .facilitys {
    padding-block: 40px 120px;
  }
}
.lower-facility .facilitys:nth-child(even) {
  background: #e4fafe;
}
.lower-facility .facilitys:nth-child(odd)::before {
  background-color: #fff9de !important;
}
.lower-facility .facilitys::after {
  content: "";
  display: block;
  position: absolute;
  z-index: 0;
  bottom: 0;
  margin-bottom: 65px;
  background: url(../img/common/deco_green01.png) no-repeat center bottom/contain;
  aspect-ratio: 1/1;
  pointer-events: none;
}
@media (max-width: 834px) {
  .lower-facility .facilitys::after {
    margin-bottom: 40px;
  }
}
.lower-facility .facilitys:nth-child(1)::after {
  left: 0;
  background: url(../img/common/deco_green01.png) no-repeat center bottom/contain;
  width: 200px;
}
@media (max-width: 834px) {
  .lower-facility .facilitys:nth-child(1)::after {
    width: 120px;
  }
}
.lower-facility .facilitys:nth-child(2)::after {
  right: 0;
  scale: -1 1;
  background: url(../img/common/recruit_deco01.png) no-repeat center bottom/contain;
  width: 180px;
}
@media (max-width: 834px) {
  .lower-facility .facilitys:nth-child(2)::after {
    width: 108px;
  }
}
.lower-facility .facilitys:not(:first-child)::before {
  content: "";
  display: block;
  position: absolute;
  bottom: calc(100% - 1px);
  border-top-left-radius: 65px;
  border-top-right-radius: 65px;
  background-color: #e4fafe;
  width: 100%;
  height: 65px;
}
@media (max-width: 834px) {
  .lower-facility .facilitys:not(:first-child)::before {
    border-top-left-radius: 40px;
    border-top-right-radius: 40px;
    height: 40px;
  }
}
.lower-facility .facilitys:nth-child(1) {
  z-index: 1;
}
.lower-facility .facilitys:nth-child(2) {
  z-index: 2;
}
.lower-facility .facilitys:nth-child(3) {
  z-index: 3;
}
.lower-facility .facilitys:nth-child(4) {
  z-index: 4;
}
.lower-facility .facilitys:nth-child(5) {
  z-index: 5;
}
.lower-facility .facilitys:nth-child(6) {
  z-index: 6;
}
.lower-facility .facilitys:nth-child(7) {
  z-index: 7;
}
.lower-facility .facilitys:nth-child(8) {
  z-index: 8;
}
.lower-facility .facilitys:nth-child(9) {
  z-index: 9;
}
.lower-facility .facilitys:nth-child(10) {
  z-index: 10;
}
.lower-facility .facilitys__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 60px;
}
@media (max-width: 834px) {
  .lower-facility .facilitys__title {
    margin-bottom: 30px;
  }
}
.lower-facility .facilitys__title .ttl {
  position: relative;
  font-size: 3.2rem;
  font-weight: bold;
  line-height: 1.5;
  color: #0068b7;
}
@media (max-width: 834px) {
  .lower-facility .facilitys__title .ttl {
    font-size: min(7vw, 2.4rem);
  }
}
.lower-facility .facilitys__title .ttl::after {
  content: "";
  display: block;
  position: relative;
  margin-inline: auto;
  width: 1.5em;
  height: 2px;
  background-color: #0068b7;
  margin-top: 0.3em;
}
.lower-facility .facilitysList {
  position: relative;
  z-index: 3;
}
@media (min-width: 835px) {
  .lower-facility .facilitysList {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    -webkit-column-gap: 3.75%;
       -moz-column-gap: 3.75%;
            column-gap: 3.75%;
    row-gap: 70px;
  }
}
.lower-facility .facilitysList__item {
  position: relative;
  background-color: #fff;
  border-radius: 25px;
}
@media (min-width: 835px) {
  .lower-facility .facilitysList__item {
    max-width: 370px;
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 2;
    gap: 0;
  }
}
@media (max-width: 834px) {
  .lower-facility .facilitysList__item:not(:first-child) {
    margin-top: 50px;
  }
}
.lower-facility .facilitysList__item .imgArea {
  position: relative;
  overflow: hidden;
  border-top-left-radius: 25px;
  border-top-right-radius: 25px;
}
.lower-facility .facilitysList__item .imgArea .img {
  position: relative;
  z-index: 1;
}
.lower-facility .facilitysList__item .imgArea .img img {
  aspect-ratio: 370/247;
}
.lower-facility .facilitysList__item .imgArea .place {
  position: absolute;
  z-index: 3;
  bottom: 10px;
  left: 10px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0.6em 1em;
  background-color: #8bb708;
  color: #fff;
  font-size: 1.3rem;
  font-weight: bold;
  line-height: 1.3;
  border-radius: 5px;
}
@media (max-width: 834px) {
  .lower-facility .facilitysList__item .imgArea .place {
    font-size: 1rem;
  }
}
.lower-facility .facilitysList__item .bodyArea {
  position: relative;
  font-size: 1.5rem;
  padding: 30px min(2.8vw, 10%) 60px;
}
@media (min-width: 835px) {
  .lower-facility .facilitysList__item .bodyArea {
    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-facility .facilitysList__item .bodyArea {
    padding-inline: 7%;
    padding-block: 20px 50px;
  }
}
.lower-facility .facilitysList__item .bodyArea:not(:has(.comment)) .location {
  margin-top: 0;
}
.lower-facility .facilitysList__item .bodyArea .shd {
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.5;
  color: #8bb708;
  margin-bottom: 1em;
}
@media (max-width: 834px) {
  .lower-facility .facilitysList__item .bodyArea .shd {
    font-size: 1.8rem;
  }
}
.lower-facility .facilitysList__item .bodyArea .location {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  margin-top: auto;
}
.lower-facility .facilitysList__item .bodyArea .location::before {
  content: "";
  display: block;
  position: relative;
  top: 0.4em;
  width: 13.986px;
  height: 18.981px;
  -webkit-mask: url(../img/common/ico_location.png) no-repeat center center/contain;
          mask: url(../img/common/ico_location.png) no-repeat center center/contain;
  background-color: #8bb708;
}
.lower-facility .facilitysList__item .bodyArea .comment {
  line-height: 1.7;
  padding-top: 10px;
}
.lower-facility .facilitysList__item .bodyArea .btns {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  -webkit-transform: translateY(50%);
          transform: translateY(50%);
  margin-inline: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  padding-inline: 20px;
}
.lower-facility .facilitysList__item .bodyArea .btns__item {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 50%;
          flex: 1 1 50%;
}
.lower-facility .facilitysList__item .bodyArea .btns .commonBtn {
  width: 100%;
}
.lower-facility .facilitysList__item .bodyArea .btns .commonBtn a {
  min-width: 130px;
  width: 100%;
  padding: 1.3em 0em;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  line-height: 1.3;
  white-space: nowrap;
}
@media (min-width: 835px) {
  .lower-facility .facilitysList__item .bodyArea .btns .commonBtn a {
    font-size: min(1.4vw, 1.4rem);
  }
}
@media (max-width: 834px) {
  .lower-facility .facilitysList__item .bodyArea .btns .commonBtn a {
    font-size: 1.3rem;
  }
}
.lower-facility .facilitysList__item .bodyArea .btns .commonBtn a span {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5em;
}
.lower-facility .facilitysList__item .bodyArea .btns .commonBtn a span::before {
  content: "";
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: block;
  position: relative;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center center;
          mask-position: center center;
  -webkit-mask-size: contain;
          mask-size: contain;
  background-color: #fff;
}
.lower-facility .facilitysList__item .bodyArea .btns .commonBtn.-lenz a {
  background-color: #e60012;
}
.lower-facility .facilitysList__item .bodyArea .btns .commonBtn.-lenz a span::before {
  aspect-ratio: 18/17;
  width: 1.3em;
  -webkit-mask-image: url(../img/common/ico_search.png);
          mask-image: url(../img/common/ico_search.png);
}
.lower-facility .facilitysList__item .bodyArea .btns .commonBtn.-blank a {
  background-color: #0068b7;
}
.lower-facility .facilitysList__item .bodyArea .btns .commonBtn.-blank a span::before {
  aspect-ratio: 16/16;
  width: 1.1em;
  -webkit-mask-image: url(../img/common/ico-blank-color.png);
          mask-image: url(../img/common/ico-blank-color.png);
}

/* ============================================
// 企業理念
// ==========================================*/
.lower-philosophy .pageHeader {
  z-index: 3;
  background-color: transparent;
}
.lower-philosophy .l-main {
  padding-block: 0;
}
.lower-philosophy .recruit {
  position: relative;
  z-index: 15;
}
.lower-philosophy .philosophy__intro {
  position: relative;
  background-color: #fff9de;
  padding-block: 150px 70px;
  border-top-left-radius: 65px;
  border-top-right-radius: 65px;
}
@media (max-width: 834px) {
  .lower-philosophy .philosophy__intro {
    padding-block: 50px;
    border-top-left-radius: 40px;
    border-top-right-radius: 40px;
  }
}
.lower-philosophy .philosophy__intro .intro__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 7%;
}
@media (max-width: 834px) {
  .lower-philosophy .philosophy__intro .intro__head {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
@media (min-width: 835px) {
  .lower-philosophy .philosophy__intro .intro__text {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 50%;
            flex: 1 1 50%;
  }
}
.lower-philosophy .philosophy__intro .intro__text .copy {
  font-size: min(2.6vw, 3.6rem);
  font-weight: bold;
  line-height: 1.6;
  color: #ff8014;
}
@media (max-width: 834px) {
  .lower-philosophy .philosophy__intro .intro__text .copy {
    font-size: 2.4rem;
  }
  .lower-philosophy .philosophy__intro .intro__text .copy br {
    display: none;
  }
}
.lower-philosophy .philosophy__intro .intro__text .detail {
  margin-top: 20px;
}
.lower-philosophy .philosophy__intro .intro__text .detail__name {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: 1em;
  position: relative;
  font-size: 1.6rem;
  line-height: 1.5;
  margin-bottom: 1.5em;
  padding-bottom: 1.5em;
  border-bottom: 1px solid #ffd4a1;
}
@media (max-width: 834px) {
  .lower-philosophy .philosophy__intro .intro__text .detail__name {
    font-size: 1.2rem;
  }
}
.lower-philosophy .philosophy__intro .intro__text .detail__name .job {
  color: #999;
  font-weight: bold;
}
.lower-philosophy .philosophy__intro .intro__text .detail__name .name {
  font-size: 2em;
  font-weight: 500;
}
.lower-philosophy .philosophy__intro .intro__text .detail__prof {
  font-size: 1.4rem;
  text-align: right;
}
.lower-philosophy .philosophy__intro .intro__image {
  position: relative;
}
@media (min-width: 835px) {
  .lower-philosophy .philosophy__intro .intro__image {
    max-width: 579px;
  }
}
@media (max-width: 834px) {
  .lower-philosophy .philosophy__intro .intro__image {
    margin-bottom: 20px;
  }
}
.lower-philosophy .philosophy__intro .intro__image .img {
  position: relative;
  z-index: 5;
  overflow: hidden;
  border-radius: 25px;
  outline: 5px solid #ff8014;
}
@media (max-width: 834px) {
  .lower-philosophy .philosophy__intro .intro__image .img {
    outline-width: 3px;
  }
}
.lower-philosophy .philosophy__intro .intro__image img {
  aspect-ratio: 579/386;
}
.lower-philosophy .philosophy__intro .intro__obj {
  position: absolute;
  bottom: 100%;
  left: 0;
  margin-bottom: 20px;
  width: 120px;
  aspect-ratio: 120/195;
  background: url(../img/philosophy/illust01.png) no-repeat center center/contain;
}
@media (max-width: 834px) {
  .lower-philosophy .philosophy__intro .intro__obj {
    z-index: 5;
    width: 70px;
    left: 20px;
    margin-bottom: -20px;
  }
}
.lower-philosophy .philosophy__intro .intro__body {
  position: relative;
  margin-top: 100px;
}
@media (max-width: 834px) {
  .lower-philosophy .philosophy__intro .intro__body {
    margin-top: 70px;
    margin-inline: -5%;
  }
}
.lower-philosophy .philosophy__intro .intro__body::before {
  content: "";
  display: block;
  position: absolute;
  z-index: 0;
  bottom: 100%;
  right: 100%;
  margin-right: -100px;
  scale: -1 1;
  background: url(../img/common/recruit_deco02.png) no-repeat center bottom/contain;
  aspect-ratio: 360/180;
  width: 360px;
}
@media (max-width: 834px) {
  .lower-philosophy .philosophy__intro .intro__body::before {
    width: 180px;
  }
}
.lower-philosophy .philosophy__intro .intro .messageList {
  position: relative;
  background-color: #fff;
  border-radius: 25px;
  padding: 80px min(7vw, 90px) 100px;
}
@media (max-width: 834px) {
  .lower-philosophy .philosophy__intro .intro .messageList {
    padding: 40px 7%;
  }
}
.lower-philosophy .philosophy__intro .intro .messageList::before, .lower-philosophy .philosophy__intro .intro .messageList::after {
  content: "";
  display: block;
  position: absolute;
  z-index: 5;
  bottom: 100%;
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: contain;
}
.lower-philosophy .philosophy__intro .intro .messageList::before {
  aspect-ratio: 121/233;
  width: 121px;
  left: 0;
  margin-left: -10px;
  margin-bottom: -50px;
  background-image: url(../img/philosophy/illust03.png);
}
@media (max-width: 834px) {
  .lower-philosophy .philosophy__intro .intro .messageList::before {
    width: 72.6px;
    margin-left: 0px;
  }
}
.lower-philosophy .philosophy__intro .intro .messageList::after {
  aspect-ratio: 149/313;
  width: 142px;
  right: 0;
  background-image: url(../img/philosophy/illust02.png);
}
@media (min-width: 835px) {
  .lower-philosophy .philosophy__intro .intro .messageList::after {
    bottom: 100%;
    margin-right: -20px;
    margin-bottom: -80px;
  }
}
@media (max-width: 834px) {
  .lower-philosophy .philosophy__intro .intro .messageList::after {
    width: 71px;
    bottom: 0;
    margin-right: -5px;
    margin-bottom: -50px;
  }
}
.lower-philosophy .philosophy__intro .intro .messageList__item:not(:first-child) {
  margin-top: 50px;
}
@media (max-width: 834px) {
  .lower-philosophy .philosophy__intro .intro .messageList__item:not(:first-child) {
    margin-top: 30px;
  }
}
.lower-philosophy .philosophy__intro .intro .messageList__item .shd {
  font-size: 2.6rem;
  font-weight: bold;
  line-height: 1.6;
  color: #ff8014;
}
@media (max-width: 834px) {
  .lower-philosophy .philosophy__intro .intro .messageList__item .shd {
    font-size: 2rem;
  }
}
.lower-philosophy .philosophy__intro .intro .messageList__item .read {
  margin-top: 20px;
}
@media (max-width: 834px) {
  .lower-philosophy .philosophy__intro .intro .messageList__item .read {
    margin-top: 10px;
  }
}
.lower-philosophy .philosophy__value {
  padding-block: 80px;
}
@media (max-width: 834px) {
  .lower-philosophy .philosophy__value {
    padding-block: 50px;
  }
}
.lower-philosophy .philosophy__value .value__head .title {
  position: relative;
  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;
  gap: 50px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}
@media (max-width: 834px) {
  .lower-philosophy .philosophy__value .value__head .title {
    gap: 30px;
  }
}
.lower-philosophy .philosophy__value .value__head .title::before, .lower-philosophy .philosophy__value .value__head .title::after {
  content: "";
  display: block;
  position: absolute;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  aspect-ratio: 62/73;
  width: 62px;
}
@media (max-width: 834px) {
  .lower-philosophy .philosophy__value .value__head .title::before, .lower-philosophy .philosophy__value .value__head .title::after {
    z-index: 4;
    width: 37.2px;
  }
}
.lower-philosophy .philosophy__value .value__head .title::before {
  background-image: url(../img/common/charactor1.png);
  top: 20px;
  right: 100%;
  margin-right: 5vw;
}
@media (max-width: 834px) {
  .lower-philosophy .philosophy__value .value__head .title::before {
    top: 0;
    margin-right: -15px;
  }
}
.lower-philosophy .philosophy__value .value__head .title::after {
  background-image: url(../img/common/charactor2.png);
  top: 100px;
  left: 100%;
  margin-left: 5vw;
}
@media (max-width: 834px) {
  .lower-philosophy .philosophy__value .value__head .title::after {
    top: 30px;
    margin-left: -15px;
  }
}
.lower-philosophy .philosophy__value .value__head .title .ja {
  position: relative;
  background-color: #ff8014;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 10px 25px;
  border-radius: 15px;
}
@media (max-width: 834px) {
  .lower-philosophy .philosophy__value .value__head .title .ja {
    padding: 5px 15px;
    border-radius: 10px;
  }
}
.lower-philosophy .philosophy__value .value__head .title .ja::before {
  content: "";
  position: absolute;
  top: calc(100% - 1px);
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 26px;
  aspect-ratio: 26/13;
  background-color: #ff8014;
  clip-path: polygon(100% 0, 0 0, 50% 100%);
}
@media (max-width: 834px) {
  .lower-philosophy .philosophy__value .value__head .title .ja::before {
    width: 20px;
  }
}
.lower-philosophy .philosophy__value .value__head .title .ja span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.8em;
  position: relative;
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1.5;
  color: #fff;
}
@media (max-width: 834px) {
  .lower-philosophy .philosophy__value .value__head .title .ja span {
    font-size: 1.8rem;
  }
}
.lower-philosophy .philosophy__value .value__head .title .ja span::before, .lower-philosophy .philosophy__value .value__head .title .ja span::after {
  content: "";
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: block;
  position: relative;
  top: 2px;
  width: 8px;
  height: 8px;
  background-color: #fff;
  border-radius: 10px;
}
@media (max-width: 834px) {
  .lower-philosophy .philosophy__value .value__head .title .ja span::before, .lower-philosophy .philosophy__value .value__head .title .ja span::after {
    width: 6px;
    height: 6px;
  }
}
.lower-philosophy .philosophy__value .value__head .title .eng {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.5em;
  position: relative;
  font-size: 8rem;
  line-height: 1;
  color: #e60012;
  white-space: nowrap;
}
@media (max-width: 834px) {
  .lower-philosophy .philosophy__value .value__head .title .eng {
    font-size: min(11vw, 5rem);
  }
}
.lower-philosophy .philosophy__value .value__head .title .eng::before, .lower-philosophy .philosophy__value .value__head .title .eng::after {
  content: "";
  display: block;
  position: relative;
  background: url(../img/common/frame1.png) no-repeat center center/contain;
  aspect-ratio: 122/123;
  width: 0.7625em;
}
.lower-philosophy .philosophy__value .value__head .title .eng::before {
  top: 0;
  margin-top: -1em;
}
.lower-philosophy .philosophy__value .value__head .title .eng::after {
  scale: -1 1;
  rotate: 90deg;
  bottom: 0;
  margin-bottom: -1em;
}
.lower-philosophy .philosophy__value .value__head .read {
  margin-top: 70px;
  max-width: 1020px;
  margin-inline: auto;
}
@media (max-width: 834px) {
  .lower-philosophy .philosophy__value .value__head .read {
    margin-top: 30px;
  }
}
.lower-philosophy .philosophy__value .value__body {
  margin-top: 100px;
}
@media (max-width: 834px) {
  .lower-philosophy .philosophy__value .value__body {
    margin-top: 50px;
  }
}
.lower-philosophy .philosophy__value .value__body .valueList {
  position: relative;
}
@media (max-width: 834px) {
  .lower-philosophy .philosophy__value .value__body .valueList {
    margin-inline: -3%;
  }
}
.lower-philosophy .philosophy__value .value__body .valueList__item {
  --currentColor: #e60012;
  position: relative;
  counter-increment: mycounter;
  background-color: #fff9de;
  border-radius: 25px;
  border: 4px solid var(--currentColor);
  padding: 80px min(10vw, 60px) 60px;
}
@media (min-width: 835px) {
  .lower-philosophy .philosophy__value .value__body .valueList__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 5%;
  }
}
@media (max-width: 834px) {
  .lower-philosophy .philosophy__value .value__body .valueList__item {
    border-width: 2px;
    padding: 40px 7% 30px;
  }
}
.lower-philosophy .philosophy__value .value__body .valueList__item::before {
  content: "";
  display: block;
  position: absolute;
  z-index: 0;
  right: 0;
  bottom: 0;
  margin-right: 20px;
  width: 213px;
  height: 100%;
  max-height: 60%;
  opacity: 0.07;
  -webkit-mask: url(../img/philosophy/ico-value1.png) no-repeat right bottom/contain;
          mask: url(../img/philosophy/ico-value1.png) no-repeat right bottom/contain;
  background-color: var(--currentColor);
  pointer-events: none;
}
@media (max-width: 834px) {
  .lower-philosophy .philosophy__value .value__body .valueList__item::before {
    -webkit-transform-origin: right bottom;
            transform-origin: right bottom;
    scale: 0.6;
  }
}
.lower-philosophy .philosophy__value .value__body .valueList__item:not(:first-child) {
  margin-top: 80px;
}
@media (max-width: 834px) {
  .lower-philosophy .philosophy__value .value__body .valueList__item:not(:first-child) {
    margin-top: 40px;
  }
}
.lower-philosophy .philosophy__value .value__body .valueList__item:nth-child(5n+2) {
  --currentColor: #e83498;
}
.lower-philosophy .philosophy__value .value__body .valueList__item:nth-child(5n+2)::before {
  -webkit-mask-image: url(../img/philosophy/ico-value2.png);
          mask-image: url(../img/philosophy/ico-value2.png);
}
.lower-philosophy .philosophy__value .value__body .valueList__item:nth-child(5n+3) {
  --currentColor: #8bb708;
}
.lower-philosophy .philosophy__value .value__body .valueList__item:nth-child(5n+3)::before {
  -webkit-mask-image: url(../img/philosophy/ico-value3.png);
          mask-image: url(../img/philosophy/ico-value3.png);
}
.lower-philosophy .philosophy__value .value__body .valueList__item:nth-child(5n+4) {
  --currentColor: #0068b7;
}
.lower-philosophy .philosophy__value .value__body .valueList__item:nth-child(5n+4)::before {
  -webkit-mask-image: url(../img/philosophy/ico-value4.png);
          mask-image: url(../img/philosophy/ico-value4.png);
}
.lower-philosophy .philosophy__value .value__body .valueList__item:nth-child(5n+5) {
  --currentColor: #941e57;
}
.lower-philosophy .philosophy__value .value__body .valueList__item:nth-child(5n+5)::before {
  -webkit-mask-image: url(../img/philosophy/ico-value5.png);
          mask-image: url(../img/philosophy/ico-value5.png);
}
.lower-philosophy .philosophy__value .value__body .valueList__item .shd {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  margin-inline: auto;
  background-color: var(--currentColor);
  color: #fff;
  font-size: 3rem;
  font-weight: bold;
  line-height: 1.5;
  padding: 0.5em 1.7em;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  border-radius: 200px;
}
@media (max-width: 834px) {
  .lower-philosophy .philosophy__value .value__body .valueList__item .shd {
    font-size: 2rem;
  }
}
.lower-philosophy .philosophy__value .value__body .valueList__item .shd::before {
  content: counter(mycounter) ".";
  position: relative;
  bottom: -0.04em;
  font-size: 1.44em;
  font-family: "Mitr", sans-serif;
  font-weight: 500;
  margin-right: 0.2em;
  line-height: 1;
}
@media (min-width: 835px) {
  .lower-philosophy .philosophy__value .value__body .valueList__item__image {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 40%;
            flex: 0 1 40%;
    max-width: 330px;
  }
}
@media (max-width: 834px) {
  .lower-philosophy .philosophy__value .value__body .valueList__item__image {
    margin-bottom: 15px;
  }
}
.lower-philosophy .philosophy__value .value__body .valueList__item__image .img {
  overflow: hidden;
  border-radius: 25px;
}
.lower-philosophy .philosophy__value .value__body .valueList__item__image .img img {
  aspect-ratio: 330/220;
}
.lower-philosophy .philosophy__value .value__body .valueList__item__text {
  position: relative;
  z-index: 5;
}
@media (min-width: 835px) {
  .lower-philosophy .philosophy__value .value__body .valueList__item__text {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 60%;
            flex: 1 1 60%;
    -ms-flex-line-pack: center;
        align-content: center;
  }
}
.lower-philosophy .philosophy__value .value__body .valueList__item__text .copy {
  font-size: 2.6rem;
  font-weight: bold;
  line-height: 1.5;
  color: var(--currentColor);
}
@media (max-width: 834px) {
  .lower-philosophy .philosophy__value .value__body .valueList__item__text .copy {
    font-size: 2.2rem;
  }
}
.lower-philosophy .philosophy__value .value__body .valueList__item__text .read {
  margin-top: 20px;
}
@media (max-width: 834px) {
  .lower-philosophy .philosophy__value .value__body .valueList__item__text .read {
    margin-top: 10px;
  }
}/*# sourceMappingURL=style.css.map */