@charset "UTF-8";
/*! normalize.css v4.1.1 | MIT License | github.com/necolas/normalize.css */
/**
 * 1. Change the default font family in all browsers (opinionated).
 * 2. Prevent adjustments of font size after orientation changes in IE and iOS.
 */
@import url("https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&family=Noto+Sans+JP:wght@100..900&display=swap");
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}

/**
 * Remove the margin in all browsers (opinionated).
 */
body {
  margin: 0;
}

/* HTML5 display definitions
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 * 1. Add the correct display in Edge, IE, and Firefox.
 * 2. Add the correct display in IE.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
  /* 1 */
  display: block;
}

/**
 * Add the correct display in IE 9-.
 */
audio,
canvas,
progress,
video {
  display: inline-block;
}

/**
 * Add the correct display in iOS 4-7.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Add the correct display in IE 10-.
 * 1. Add the correct display in IE.
 */
template,
[hidden] {
  display: none;
}

/* Links
   ========================================================================== */
/**
 * 1. Remove the gray background on active links in IE 10.
 * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
 */
a {
  background-color: transparent;
  /* 1 */
  -webkit-text-decoration-skip: objects;
  /* 2 */
}

/**
 * Remove the outline on focused links when they are also active or hovered
 * in all browsers (opinionated).
 */
a:active,
a:hover {
  outline-width: 0;
}

/* Text-level semantics
   ========================================================================== */
/**
 * 1. Remove the bottom border in Firefox 39-.
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  -webkit-text-decoration: underline dotted;
  -moz-text-decoration: underline dotted;
  text-decoration: underline dotted;
  /* 2 */
}

/**
 * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
 */
b,
strong {
  font-weight: inherit;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * Add the correct font style in Android 4.3-.
 */
dfn {
  font-style: italic;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/**
 * Add the correct background and color in IE 9-.
 */
mark {
  background-color: #ff0;
  color: #000;
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10-.
 */
img {
  border-style: none;
}

/**
 * Hide the overflow in IE.
 */
svg:not(:root) {
  overflow: hidden;
}

/* Grouping content
   ========================================================================== */
/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/**
 * Add the correct margin in IE 8.
 */
figure {
  margin: 1em 40px;
}

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
}

/* Forms
   ========================================================================== */
/**
 * 1. Change font properties to `inherit` in all browsers (opinionated).
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
select,
textarea {
  font: inherit;
  /* 1 */
  margin: 0;
  /* 2 */
}

/**
 * Restore the font weight unset by the previous rule.
 */
optgroup {
  font-weight: bold;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none;
}

/**
 * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
 *    controls in Android 4.
 * 2. Correct the inability to style clickable types in iOS and Safari.
 */
button,
html [type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Change the border, margin, and padding in all browsers (opinionated).
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */
}

/**
 * Remove the default vertical scrollbar in IE.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10-.
 * 2. Remove the padding in IE 10-.
 */
[type="checkbox"],
[type="radio"] {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
}

/**
 * Remove the inner padding and cancel buttons in Chrome and Safari on OS X.
 */
[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * Correct the text style of placeholders in Chrome, Edge, and Safari.
 */
::-webkit-input-placeholder {
  color: inherit;
  opacity: 0.54;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/* clearfix (micro) */
.clearfix:before,
.clearfix:after {
  content: " ";
  display: table;
}

.clearfix:after {
  clear: both;
}

/* For IE 6/7 only
.clearfix {
  *zoom: 1;
} */

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video,
nav,
picture {
  margin: 0;
  padding: 0;
  border: 0;
  vertical-align: baseline;
}

html {
  font-size: 62.5%;
}

@media screen and (max-width: 768px) {
  html {
    font-size: 2.66666667vw;
  }
}

@media (min-width: 769px) and (max-width: 1100px) {
  html {
    font-size: 0.884955752vw;
  }
}

body {
  font-family: "Noto Sans JP", "游ゴシック", "Yu Gothic", "游ゴシック体",
    "YuGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ",
    "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", Arial, sans-serif;
  font-style: normal;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 160%;
  color: #010101;
  background-color: #fff;
  word-break: normal;
  line-break: strict;
  font-weight: 400;
  letter-spacing: 0.05em;
  position: relative;
}

body::before {
  content: "";
  -webkit-transition: all 1s;
  transition: all 1s;
  -webkit-backdrop-filter: blur(1rem);
  backdrop-filter: blur(1rem);
  position: fixed;
  top: 0;
  left: 0;
  background: #fff;
  width: 100%;
  height: 100%;
  z-index: 1000;
}

body.is-active::before {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  -webkit-backdrop-filter: blur(0);
  backdrop-filter: blur(0);
}

body.open {
  overflow-y: hidden;
}

@media screen and (max-width: 768px) {
  body {
    font-size: 1.4rem;
  }
}

a {
  color: inherit;
  text-decoration: none;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
}

a:hover {
  text-decoration: none;
}

@media screen and (min-width: 769px) {
  a:hover {
    opacity: 0.75;
  }
}

a:focus {
  outline: none;
  text-decoration: none;
}

ul,
ol {
  margin: 0;
  padding: 0;
}

ul li,
ol li {
  list-style: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 700;
  margin: 0;
}

figure {
  margin: 0;
  padding: 0;
  line-height: 0;
}

figure img {
  max-width: 100%;
  height: auto;
}

input[type="submit"] {
  border: none;
  -webkit-transition-duration: 0.2s;
  transition-duration: 0.2s;
}

table {
  border-spacing: inherit;
  border-collapse: collapse;
}

dl,
dt,
dd {
  margin: 0;
  padding: 0;
}

* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  word-break: break-word;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

p + p {
  margin: 1em 0 0 0;
}

ul,
ol,
li {
  list-style: none;
}

.text-bold {
  font-weight: 700;
}

.align-center {
  text-align: center;
}

.align-right {
  text-align: right;
}

.c-white {
  color: #fff;
}

.fw-bold {
  font-weight: bold;
}

.fit {
  font-family: "object-fit: cover;";
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.container {
  max-width: 115rem;
  padding: 0 1.5rem;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  .container {
    padding: 0 2rem;
  }
}

@media screen and (min-width: 769px) {
  .sp {
    display: none !important;
  }
  .show_sp {
    display: none !important;
  }
  .show_pc {
    display: inherit;
  }
  a[href^="tel"] {
    pointer-events: none;
    text-decoration: none;
    opacity: 1 !important;
    cursor: default !important;
  }
  #hambuger {
    display: none;
  }
}

@media screen and (max-width: 768px) {
  .pc {
    display: none !important;
  }
  body p {
    word-break: normal;
    line-break: strict;
  }
  .show_sp {
    display: inherit;
  }
  .show_pc {
    display: none !important;
  }
}

.mode-txt {
  writing-mode: vertical-rl;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: vertical-rl;
}

.txt_center {
  text-align: center;
}

.js-view {
  opacity: 0;
  -webkit-transform: translate(0, 30px);
  transform: translate(0, 30px);
  -webkit-transition: all 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: all 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.js-view.active {
  opacity: 1;
  -webkit-transform: translate(0, 0);
  transform: translate(0, 0);
}

.js-view-img {
  opacity: 0;
  -webkit-transition: all 2s ease;
  transition: all 2s ease;
}

.js-view-img.fadein {
  opacity: 1;
}

.hover-img {
  overflow: hidden;
}

.hover-img img {
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
}

.hover:hover .hover-img img {
  -webkit-transform: scale(1.3);
  transform: scale(1.3);
}

.c-loading {
  position: fixed;
  left: 0px;
  right: 0px;
  top: 0px;
  bottom: 0px;
  background: url("../img/common/img_loading.png") no-repeat center/cover;
  width: 100vw;
  height: 100vh;
  z-index: 20000;
  pointer-events: none;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  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;
}

.c-loading.is-active {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.c-loading_ttl {
  font-size: 4rem;
  color: #fff;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
  text-shadow: 0px 0px 20px rgba(106, 104, 104, 0.6);
}

.c-loading_ttl.offs .effect {
  opacity: 0;
}

.c-loading_ttl.ons .effect {
  opacity: 1;
  -webkit-transition-duration: 1s;
  transition-duration: 1s;
}

.c-loading_ttl .delay-1 {
  -webkit-transition-delay: 0.125s;
  transition-delay: 0.125s;
}

.c-loading_ttl .delay-2 {
  -webkit-transition-delay: 0.25s;
  transition-delay: 0.25s;
}

.c-loading_ttl .delay-3 {
  -webkit-transition-delay: 0.375s;
  transition-delay: 0.375s;
}

.c-loading_ttl .delay-4 {
  -webkit-transition-delay: 0.5s;
  transition-delay: 0.5s;
}

.c-loading_ttl .delay-5 {
  -webkit-transition-delay: 0.625s;
  transition-delay: 0.625s;
}

.c-loading_ttl .delay-6 {
  -webkit-transition-delay: 0.75s;
  transition-delay: 0.75s;
}

.c-loading_ttl .delay-7 {
  -webkit-transition-delay: 0.875s;
  transition-delay: 0.875s;
}

.c-loading_ttl .delay-8 {
  -webkit-transition-delay: 1s;
  transition-delay: 1s;
}

.c-loading_ttl .delay-9 {
  -webkit-transition-delay: 1.125s;
  transition-delay: 1.125s;
}

.c-loading_ttl .delay-10 {
  -webkit-transition-delay: 1.25s;
  transition-delay: 1.25s;
}

.c-loading_ttl .delay-11 {
  -webkit-transition-delay: 1.375s;
  transition-delay: 1.375s;
}

.c-loading_ttl .delay-12 {
  -webkit-transition-delay: 1.5s;
  transition-delay: 1.5s;
}

.c-loading_ttl .delay-13 {
  -webkit-transition-delay: 1.625s;
  transition-delay: 1.625s;
}

.c-loading_ttl .delay-14 {
  -webkit-transition-delay: 1.75s;
  transition-delay: 1.75s;
}

.c-loading_ttl .delay-15 {
  -webkit-transition-delay: 1.875s;
  transition-delay: 1.875s;
}

.c-loading_ttl .delay-16 {
  -webkit-transition-delay: 2s;
  transition-delay: 2s;
}

.c-loading_ttl .delay-17 {
  -webkit-transition-delay: 2.125s;
  transition-delay: 2.125s;
}

.c-loading_ttl .delay-18 {
  -webkit-transition-delay: 2.25s;
  transition-delay: 2.25s;
}

.c-loading_ttl .delay-19 {
  -webkit-transition-delay: 2.375s;
  transition-delay: 2.375s;
}

.c-loading_ttl .delay-20 {
  -webkit-transition-delay: 2.5s;
  transition-delay: 2.5s;
}

.c-loading_ttl .delay-21 {
  -webkit-transition-delay: 2.625s;
  transition-delay: 2.625s;
}

.c-loading_ttl .delay-22 {
  -webkit-transition-delay: 2.75s;
  transition-delay: 2.75s;
}

.c-loading_ttl .delay-23 {
  -webkit-transition-delay: 2.875s;
  transition-delay: 2.875s;
}

.c-loading_ttl .delay-24 {
  -webkit-transition-delay: 3s;
  transition-delay: 3s;
}

.c-loading_ttl .delay-25 {
  -webkit-transition-delay: 3.125s;
  transition-delay: 3.125s;
}

.c-loading_ttl .delay-26 {
  -webkit-transition-delay: 3.25s;
  transition-delay: 3.25s;
}

.c-loading_ttl .delay-27 {
  -webkit-transition-delay: 3.375s;
  transition-delay: 3.375s;
}

.c-loading_ttl .delay-28 {
  -webkit-transition-delay: 3.5s;
  transition-delay: 3.5s;
}

.c-loading_ttl .delay-29 {
  -webkit-transition-delay: 3.625s;
  transition-delay: 3.625s;
}

.c-loading_ttl .delay-30 {
  -webkit-transition-delay: 3.75s;
  transition-delay: 3.75s;
}

@media screen and (max-width: 768px) {
  .c-loading_ttl {
    font-size: 2.6rem;
    letter-spacing: 0.1em;
  }
}

.u-gradientIn.is-anime {
  background-image: -webkit-gradient(
    linear,
    left top,
    right top,
    color-stop(20%, #000),
    color-stop(40%, transparent),
    color-stop(50%, #d5d5d5),
    color-stop(60%, #d7063b),
    color-stop(60%, transparent)
  );
  background-image: linear-gradient(
    90deg,
    #000 20%,
    transparent 40%,
    #d5d5d5 50%,
    #d7063b 60%,
    transparent 60%
  );
  background-size: 500%;
  background-position: 100% 0;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  -webkit-animation: 2s textGradient cubic-bezier(0.25, 0.1, 0.25, 1) forwards;
  animation: 2s textGradient cubic-bezier(0.25, 0.1, 0.25, 1) forwards;
}

.u-gradientIn.is-inview {
  -webkit-animation: 1s textGradient cubic-bezier(0.25, 0.1, 0.25, 1) forwards;
  animation: 1s textGradient cubic-bezier(0.25, 0.1, 0.25, 1) forwards;
}
/* .u-gradientIn.active {
  -webkit-animation: 1s textGradient cubic-bezier(0.25, 0.1, 0.25, 1) forwards;
  animation: 1s textGradient cubic-bezier(0.25, 0.1, 0.25, 1) forwards;
} */

@-webkit-keyframes textGradient {
  from {
    background-position: 100% 0;
  }
  to {
    background-position: 0 0;
  }
}

@keyframes textGradient {
  from {
    background-position: 100% 0;
  }
  to {
    background-position: 0 0;
  }
}

.scrollin-up {
  opacity: 0;
  -webkit-transform: translate3d(0, 30px, 0);
  transform: translate3d(0, 30px, 0);
  -webkit-transition: all 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: all 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.scrollin-up.is-inview {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

.section-cta {
  position: relative;
}

.section-cta:after {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  background: rgba(20, 28, 97, 0.3);
}

.section-cta .cta-ctn {
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  z-index: 2;
  text-align: center;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}

.section-cta .cta-txt {
  color: #fff;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 2.111;
}

@media screen and (max-width: 768px) {
  .section-cta .cta-txt {
    font-size: 1.4rem;
    line-height: 2;
  }
}

.section-cta .cta-btn .button-more {
  width: 30rem;
  margin: 3.2rem auto 0;
}

@media screen and (max-width: 768px) {
  .section-cta .cta-btn .button-more {
    margin: 2rem auto 0;
  }
}

.blankList {
  max-width: 108rem;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-column-gap: 6.4rem;
  -moz-column-gap: 6.4rem;
  column-gap: 6.4rem;
}

@media screen and (max-width: 768px) {
  .blankList {
    display: block;
  }
}

.blankList-item {
  width: 22rem;
  height: 17.5rem;
}

.blankList-item:nth-child(1) {
  -webkit-transition-delay: 0.05s;
  transition-delay: 0.05s;
}

.blankList-item:nth-child(2) {
  -webkit-transition-delay: 0.1s;
  transition-delay: 0.1s;
}

.blankList-item:nth-child(3) {
  -webkit-transition-delay: 0.15s;
  transition-delay: 0.15s;
}

.blankList-item:nth-child(4) {
  -webkit-transition-delay: 0.2s;
  transition-delay: 0.2s;
}

.blankList-item:nth-child(5) {
  -webkit-transition-delay: 0.25s;
  transition-delay: 0.25s;
}

.blankList-item:nth-child(6) {
  -webkit-transition-delay: 0.3s;
  transition-delay: 0.3s;
}

.blankList-item:nth-child(7) {
  -webkit-transition-delay: 0.35s;
  transition-delay: 0.35s;
}

.blankList-item:nth-child(8) {
  -webkit-transition-delay: 0.4s;
  transition-delay: 0.4s;
}

.blankList-item:nth-child(9) {
  -webkit-transition-delay: 0.45s;
  transition-delay: 0.45s;
}

.blankList-item:nth-child(10) {
  -webkit-transition-delay: 0.5s;
  transition-delay: 0.5s;
}

@media screen and (max-width: 768px) {
  .blankList-item {
    width: 33.5rem;
    height: 10.4rem;
  }
  .blankList-item + .blankList-item {
    margin-top: 2.4rem;
  }
}

.blankList-item_ttl {
  color: #fff;
  font-size: 1.6rem;
  font-weight: 800;
  line-height: 1.5;
  position: absolute;
  left: 0;
  top: 50%;
  width: 100%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  text-align: center;
  z-index: 2;
}

@media screen and (max-width: 768px) {
  .blankList-item_ttl {
    font-size: 1.4rem;
  }
}

.blankList-item_ttl span {
  display: inline-block;
  position: relative;
}

@media screen and (max-width: 768px) {
  .blankList-item_ttl span {
    padding-right: 2.6rem;
  }
  .blankList-item_ttl span:after {
    position: absolute;
    content: "";
    width: 1.2rem;
    height: 1.2rem;
    right: 0;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    top: 50%;
    background: url(../img/common/ico_blank.svg) left top no-repeat;
    background-size: cover;
  }
}

.blankList-item_img img {
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
}

.blankList-item_link {
  display: block;
  position: relative;
  border-radius: 0.4rem;
  overflow: hidden;
  -webkit-box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.16);
  box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.16);
}

.blankList-item_link:before {
  position: absolute;
  content: "";
  width: 19rem;
  height: 14.2rem;
  left: 1.5rem;
  top: 1.5rem;
  border: 0.1rem solid rgba(255, 255, 255, 0.3);
  border-radius: 0.4rem;
  z-index: 1;
}

@media screen and (max-width: 768px) {
  .blankList-item_link:before {
    width: 31.1rem;
    height: 8rem;
    left: 1.2rem;
    top: 1.2rem;
  }
}

.blankList-item_link:after {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  background: rgba(20, 28, 97, 0.5);
}

.blankList-item_link .ico {
  width: 1.2rem;
  height: 1.2rem;
  display: block;
  position: absolute;
  bottom: 3.8rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  z-index: 1;
}

.blankList-item_link .ico img {
  width: 100%;
  height: auto;
  display: block;
}

@media screen and (max-width: 768px) {
  .blankList-item_link .ico {
    display: none;
  }
}

.blankList-item_link:hover .blankList-item_img img {
  -webkit-transform: scale(1.05);
  transform: scale(1.05);
}

.breadcrumb ul {
  padding: 1.6rem 0;
  border-bottom: 1px solid #e3e3e3;
}

.breadcrumb ul li {
  font-size: 1.4rem;
  font-weight: 500;
  color: #010101;
  display: inline-block;
}

.breadcrumb ul li + li {
  position: relative;
  padding-left: 2.8rem;
}

.breadcrumb ul li + li:before {
  position: absolute;
  content: "";
  left: 1.1rem;
  top: 0.8rem;
  width: 0.6rem;
  height: 1rem;
  background: url(../img/common/ico_brk.svg) left top no-repeat;
  background-size: cover;
}

.breadcrumb ul li + li:nth-last-child(n + 2)::before {
  background-image: url("../img/common/ico_brk_gray.svg");
}

.breadcrumb ul li a {
  display: inline-block;
  color: #999999;
}

.breadcrumb ul li a:hover {
  text-decoration: underline;
}

@media screen and (max-width: 768px) {
  .breadcrumb ul {
    padding: 0.5rem 0;
  }
  .breadcrumb ul li {
    font-size: 1.2rem;
    line-height: 1.6666666667;
    display: inline;
    letter-spacing: 0;
  }
  .breadcrumb ul li + li {
    padding-left: 2.7rem;
  }
  .breadcrumb ul li + li:before {
    top: 0.4rem;
  }
}

@media screen and (min-width: 769px) {
  .rp-imgList {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    grid-gap: 2.4rem;
  }
  .rp-imgList_item {
    width: calc(100% / 2 - 1.2rem);
  }
}

@media screen and (max-width: 768px) {
  .rp-imgList .rp-imgList_item + .rp-imgList_item {
    margin-top: 1.2rem;
  }
  .rp-imgList .rp-imgList_item .button-image .txt {
    font-size: 1.6rem;
  }
  .rp-imgList .rp-imgList_item .button-image .arrow {
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
  }
}

.section-button {
  background: #e9eaec;
  padding: 8rem 0;
  margin: 12rem 0;
}

.section-button.area,
.section-button.division {
  margin: 0 0 12rem;
}

.section-button .sb-title {
  font-size: 2.4rem;
  line-height: 1;
  font-weight: bold;
  letter-spacing: 0.1em;
  position: relative;
  margin-bottom: 5.6rem;
}

.section-button .sb-title:after {
  position: absolute;
  content: "";
  width: 100%;
  height: 0.1rem;
  left: 0;
  top: 50%;
  background: rgba(84, 83, 83, 0.2);
}

.section-button .sb-title span {
  display: inline-block;
  background: #e9eaec;
  padding-right: 1.6rem;
  background: #e9eaec;
  z-index: 1;
  position: relative;
}

.section-button .sb-title:nth-of-type(n + 2) {
  margin-top: 6.4rem;
}

.section-button .sb-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  -webkit-column-gap: 3.2rem;
  -moz-column-gap: 3.2rem;
  column-gap: 3.2rem;
  grid-row-gap: 1.6rem;
}

.section-button .sb-list.area,
.section-button .sb-list.division {
  -webkit-column-gap: 1.6rem;
  -moz-column-gap: 1.6rem;
  column-gap: 1.6rem;
}

.section-button .sb-item {
  width: calc(100% / 2 - 1.6rem);
}

.section-button .sb-list.area .sb-item {
  width: calc(100% / 4 - 1.6rem);
}

.section-button .sb-list.division .sb-item {
  width: calc(100% / 3 - 1.6rem);
}

.section-button .sb-item .button-more {
  width: 100%;
  height: 8.8rem;
  border: 1px solid #010101;
  background: #fff;
  padding: 0 3.2rem 0 4rem;
}

.section-button .sb-item .button-more .txt {
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0.1em;
}

.section-button .sb-item .button-more:hover {
  background: #d7063b;
  border-color: #d7063b;
}

.section-button .sb-item .button-more:hover .txt {
  color: #fff;
}

.section-button .sb-item .button-more:hover .arrow:before {
  background: #fff;
}

.section-button .sb-item .button-more:hover .arrow:after {
  background: #d7063b;
}

@media screen and (max-width: 768px) {
  .section-button {
    padding: 4rem 0;
    margin: 5.6rem 0;
  }
  .section-button.area,
  .section-button.division {
    margin: 0 0 5.6rem;
  }
  .section-button .sb-title {
    font-size: 1.8rem;
    padding-bottom: 1.2rem;
    border-bottom: 1px solid rgba(84, 83, 83, 0.2);
    margin-bottom: 2.4rem;
  }
  .section-button .sb-title:after {
    content: none;
  }
  .section-button .sb-title span {
    padding-right: 0;
  }
  .section-button .sb-title:nth-of-type(n + 2) {
    margin-top: 4rem;
  }
  .section-button .sb-list {
    -webkit-column-gap: 0;
    -moz-column-gap: 0;
    column-gap: 0;
    grid-row-gap: 1.2rem;
  }
  .section-button .sb-list.area,
  .section-button .sb-list.division {
    -webkit-column-gap: 1.2rem;
    -moz-column-gap: 1.2rem;
    column-gap: 1.2rem;
  }
  .section-button .sb-item {
    width: 100%;
  }
  .section-button .sb-list.area .sb-item {
    width: 100%;
  }
  .section-button .sb-list.division .sb-item {
    width: 100%;
  }

  .section-button .sb-item .button-more {
    width: 100%;
    height: 6.4rem;
    padding: 0 5rem 0 2rem;
  }
  .section-button .sb-item .button-more .txt {
    font-size: 1.6rem;
    line-height: 1.4;
  }
}

.banner-box {
  width: 100%;
  height: 22rem;
  position: relative;
  background: #212121;
  border-radius: 0.4rem;
  overflow: hidden;
}

@media screen and (max-width: 768px) {
  .banner-box {
    height: 25.2rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-flow: column;
    flex-flow: column;
  }
}

.banner-box_img {
  width: 100%;
  height: 100%;
  position: relative;
}

.banner-box_img:after {
  position: absolute;
  content: "";
  width: 50%;
  height: 100%;
  right: 40%;
  top: 0;
  background: -webkit-gradient(
    linear,
    right top,
    left top,
    from(#212121),
    color-stop(94.09%, rgba(33, 33, 33, 0))
  );
  background: linear-gradient(270deg, #212121 0%, rgba(33, 33, 33, 0) 94.09%);
}

.banner-box_img img {
  width: auto;
  height: 100%;
  max-width: unset;
}

@media screen and (max-width: 768px) {
  .banner-box_img {
    height: auto;
  }
  .banner-box_img img {
    width: 100%;
    height: auto;
    max-width: 100%;
  }
}

.banner-box_ctn {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding: 0 8rem;
}

@media screen and (max-width: 768px) {
  .banner-box_ctn {
    width: auto;
    height: auto;
    display: block;
    padding: 0;
    top: 3.2rem;
    left: 2rem;
  }
}

.banner-box_copy {
  color: #fff;
}

.banner-box_copy .heading-lv3 {
  margin-bottom: 2.4rem;
}

.banner-box_copy .heading-lv3 .ja {
  font-size: 1.4rem;
}

.banner-box_copy .cpy {
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1;
}

@media screen and (max-width: 768px) {
  .banner-box_copy .heading-lv3 .en {
    font-size: 1.8rem;
  }
  .banner-box_copy .heading-lv3 .ja {
    font-size: 1.4rem;
  }
  .banner-box_copy .cpy {
    font-size: 1.6rem;
  }
}

.banner-box_btn_item .button-more {
  width: 34.6rem;
  height: 7.2rem;
  padding: 0 2.4rem 0 2.4rem;
  border-radius: 0.4rem;
  border: 1px solid #ffffff;
  overflow: hidden;
}

.banner-box_btn_item .button-more .txt {
  font-size: 1.6rem;
  line-height: 1;
  font-weight: bold;
  letter-spacing: 0.05em;
}

@media screen and (max-width: 768px) {
  .banner-box_btn_item .button-more {
    width: 29.5rem;
    height: 6.4rem;
    padding: 0 1.6rem 0 1.6rem;
    margin-top: 4.4rem;
  }
  .banner-box_btn_item .button-more .txt {
    font-size: 1.4rem;
  }
  .banner-box_btn_item .button-more .arrow {
    right: 1.6rem;
  }
}

/** header area
====================================== **/
.page-header {
  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;
  padding: 1.1rem calc(39 / 1280 * 100%) 1.2rem calc(47 / 1280 * 100%);
  position: fixed;
  left: 0;
  top: 0;
  z-index: 9;
  width: 100%;
}

.page-header::before {
  content: "";
  width: 100%;
  height: 100%;
  background: rgba(239, 239, 239, 0.8);
  position: absolute;
  top: 0;
  left: 0;
  -webkit-backdrop-filter: blur(2px);
  backdrop-filter: blur(2px);
}

.page-header::after {
  content: "";
  max-width: 62.3rem;
  width: 100%;
  height: 100%;
  background: #212121;
  position: absolute;
  top: 0;
  right: -100%;
  z-index: 100;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
}

.page-header.open::after {
  opacity: 1;
  visibility: visible;
  right: -1.7rem;
}

.page-header.open .header-logo {
  opacity: 0.5;
  pointer-events: none;
}

.page-header.open .header-button_item a.rec {
  border: 0.2rem solid #d7063b;
}

.page-header.open .header-button_item a.rec::before {
  background: #212121;
}

.page-header.open .header-button_item a.car::before {
  background: #212121;
}

.page-header.open .header-button_item a.car:hover {
  color: #fff;
}

.page-header.open .header-button_item a.car:hover::after {
  border-color: #fff;
}

@media screen and (max-width: 768px) {
  .page-header.open .header-button {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-flow: column;
    flex-flow: column;
    margin-bottom: 5.6rem;
    margin-right: 0;
  }
  .page-header.open .header-button_item {
    width: 100%;
  }
  .page-header.open .header-button_item + .header-button_item {
    margin-top: 1.2rem;
  }
  .page-header.open .header-button_item a {
    width: 100%;
    height: 5.6rem;
  }
}

@media screen and (max-width: 768px) {
  .page-header {
    padding: 0.8rem 2rem;
  }
}

.header-logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-column-gap: 1.2rem;
  -moz-column-gap: 1.2rem;
  column-gap: 1.2rem;
  position: relative;
}

.header-logo .svg {
  display: block;
  width: 100%;
  height: auto;
}

.header-logo .logo {
  display: block;
  width: 14.4rem;
  line-height: 0;
}

.header-logo .desc {
  display: inline-block;
  width: 14.1rem;
  line-height: 0;
}

@media screen and (max-width: 768px) {
  .header-logo {
    -webkit-column-gap: 0.8rem;
    -moz-column-gap: 0.8rem;
    column-gap: 0.8rem;
  }
  .header-logo .logo {
    width: 9.6rem;
  }
  .header-logo .desc {
    width: 8rem;
  }
}

.header-button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 1.2rem;
  -moz-column-gap: 1.2rem;
  column-gap: 1.2rem;
  margin-left: auto;
  margin-right: 2rem;
  z-index: 101;
}

.header-button_item {
  border-radius: 0.3rem;
  overflow: hidden;
}
.header-button_item a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 16.3rem;
  height: 4rem;
  line-height: 1;
  letter-spacing: 0.05em;
  font-weight: bold;
  position: relative;
  border-radius: 0.3rem;
  overflow: hidden;
}

.header-button_item a::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transition: -webkit-transform 0.6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transition: -webkit-transform 0.6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transition: transform 0.6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transition: transform 0.6s cubic-bezier(0.8, 0, 0.2, 1) 0s,
    -webkit-transform 0.6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  -webkit-transform: scale(0, 1);
  transform: scale(0, 1);
  -webkit-transform-origin: right top;
  transform-origin: right top;
  border-radius: 0.3rem;
}

.header-button_item a:hover {
  opacity: 1;
}

.header-button_item a:hover::before {
  -webkit-transform-origin: left top;
  transform-origin: left top;
  -webkit-transform: scale(1, 1);
  transform: scale(1, 1);
}

.header-button_item a span {
  position: relative;
  z-index: 1;
}

.header-button_item a.rec {
  background: #d7063b;
  color: #fff;
}

.header-button_item a.rec::before {
  background: #010101;
}

.header-button_item a.car {
  background: #fff;
  color: #d7063b;
  border: 0.2rem solid #d7063b;
  width: 18rem;
}
.header-button_item a.car .arrow {
  width: 2.4rem;
  height: 2.4rem;
  right: 1.6rem;
  background: #d7063b;
}

.header-button_item a.car .arrow .svg path {
  fill: #fff;
}
.header-button_item a.car::before {
  background: #ececec;
}
.header-button_item a.car:hover .arrow .svg path {
  fill: #fff;
}

.header-button_item a.car:hover {
  color: #010101;
  border-color: #010101;
}

.header-button_item a.car:hover::after {
  border-color: #010101;
}

.page-header.open .header-button_item a.car:hover {
  border-color: #fff;
}

@media screen and (max-width: 768px) {
  .header-button {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-flow: column;
    flex-flow: column;
    margin-bottom: 5.6rem;
    margin-right: 0;
  }
  .header-button_item {
    width: 100%;
  }
  .header-button_item + .header-button_item {
    margin-top: 1.2rem;
  }
  .header-button_item a {
    width: 100%;
    height: 5.6rem;
  }
  .header-button_item a.car {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}

.links {
  margin: 4rem 0 1rem;
}

.links li a {
  display: inline-block;
  font-size: 1.4rem;
  line-height: 1;
  letter-spacing: 0.05em;
  font-weight: bold;
  position: relative;
  padding-left: 2.2rem;
}

.links li a:before {
  position: absolute;
  content: "";
  width: 1.4rem;
  height: 1.2rem;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  background: url(../img/common/ico_arrow.svg) left top no-repeat;
  background-size: cover;
}

.links li a.blank:after {
  position: absolute;
  content: "";
  width: 1.2rem;
  height: 1.2rem;
  right: -1.6rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  background: url(../img/common/ico_blank_white.svg) left top no-repeat;
  background-size: cover;
}

.links li a span {
  position: relative;
}

.links li a span::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 1px;
  background-color: #fff;
  left: 0;
  bottom: -2px;
  -webkit-transform-origin: right;
  transform-origin: right;
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transition: -webkit-transform 0.2s linear;
  transition: -webkit-transform 0.2s linear;
  transition: transform 0.2s linear;
  transition: transform 0.2s linear, -webkit-transform 0.2s linear;
}

.links li a:hover:before {
  background: url(../img/common/ico_arrow_red.svg) left top no-repeat;
  background-size: cover;
}

.links li a:hover span::before {
  -webkit-transform-origin: left;
  transform-origin: left;
  -webkit-transform: scale(1);
  transform: scale(1);
}

.privacy-link {
  margin-bottom: 3.5rem;
}

.privacy-link a {
  font-size: 1.4rem;
  color: #8d8d8d;
  position: relative;
  text-decoration: underline;
}

.privacy-link a::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 1px;
  background-color: #8d8d8d;
  left: 0;
  bottom: -2px;
  -webkit-transform-origin: right;
  transform-origin: right;
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transition: -webkit-transform 0.2s linear;
  transition: -webkit-transform 0.2s linear;
  transition: transform 0.2s linear;
  transition: transform 0.2s linear, -webkit-transform 0.2s linear;
}

.privacy-link a:hover {
  opacity: 0.5;
}

.button-more.h-btn {
  width: 100%;
  height: 8rem;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 0.4rem;
  position: relative;
}

.button-more.h-btn::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transition: -webkit-transform 0.6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transition: -webkit-transform 0.6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transition: transform 0.6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transition: transform 0.6s cubic-bezier(0.8, 0, 0.2, 1) 0s,
    -webkit-transform 0.6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  -webkit-transform: scale(0, 1);
  transform: scale(0, 1);
  -webkit-transform-origin: right top;
  transform-origin: right top;
  border-radius: 0.3rem;
  background: #d7063b;
}

.button-more.h-btn .txt {
  position: relative;
}

.button-more.h-btn:hover {
  opacity: 1;
  background: none !important;
}

.button-more.h-btn:hover::before {
  -webkit-transform-origin: left top;
  transform-origin: left top;
  -webkit-transform: scale(1, 1);
  transform: scale(1, 1);
}

.js-ttl {
  display: inline-block;
  width: 40%;
  height: 10.6rem;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 2;
  cursor: pointer;
}

.js-ttl span {
  position: absolute;
  width: 3rem;
  height: 3rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  right: 0;
  background: #d9d9d9;
  border-radius: 50%;
}

.js-ttl span:before,
.js-ttl span:after {
  position: absolute;
  content: "";
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  background: #010101;
}

.js-ttl span:before {
  width: 1.4rem;
  height: 0.2rem;
  left: 0.8rem;
}

.js-ttl span:after {
  width: 0.2rem;
  height: 1.4rem;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.js-ttl._active span:after {
  opacity: 0;
  visibility: hidden;
}

@media screen and (max-width: 768px) {
  .js-ttl {
    height: 9.8rem;
    width: 50%;
  }
}

.menu-item {
  padding: 2.4rem 0;
  border-bottom: 1px solid #616161;
  position: relative;
}

.menu-item:first-child {
  border-top: 1px solid #616161;
}

.menu-item_link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-flow: column;
  flex-flow: column;
  line-height: 1.6;
  position: relative;
  color: #fff;
}

.menu-item_link .en {
  font-size: 3.2rem;
  font-weight: bold;
  letter-spacing: 0;
  line-height: 1;
  font-family: "DM Sans", sans-serif;
}

.menu-item_link .ja {
  font-size: 1.6rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 1;
  margin-top: 0.8rem;
}

.menu-item_link:hover {
  opacity: 0.7;
}

.menu-sub {
  display: none;
  margin-top: 2.4rem;
}

.menu-sub li a {
  display: inline-block;
  color: #b6b6b6;
  font-size: 1.8rem;
  line-height: 200%;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 768px) {
  .menu-item_link .en {
    font-size: 2.4rem;
  }
  .menu-item_link .ja {
    font-size: 1.4rem;
  }
  .menu-sub li a {
    font-size: 1.6rem;
    line-height: 240%;
    text-decoration: underline;
  }
}

.g-nav {
  position: fixed;
  top: 0;
  right: -100%;
  z-index: 10;
  background: #212121;
  color: #fff;
  width: 100%;
  height: 100vh;
  overflow-y: auto;
  max-width: 62.3rem;
  padding: 16.4rem 8rem 8rem;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
}

.g-nav.open {
  opacity: 1;
  visibility: visible;
  right: -1.7rem;
}

@media screen and (max-width: 768px) {
  .g-nav {
    padding: 11.2rem 2rem 5.6rem;
  }
  .g-nav.open {
    right: 0;
  }
}

/** footer
======================================= **/
.section-becom {
  position: relative;
  z-index: 2;
  margin-top: 12rem;
  padding-bottom: 15.3rem;
}

.section-becom:after {
  position: absolute;
  content: "";
  width: 100%;
  height: calc(100% - 17rem);
  left: 0;
  bottom: 0;
  background: #212121;
  z-index: -1;
}

.section-becom .container {
  position: relative;
}

.section-becom .button-more {
  width: 31rem;
  height: 8rem;
  border-radius: 0.4rem;
  background: #fff;
}

.section-becom .button-more .arrow._blank {
  background: #010101;
}

.section-becom .button-more .arrow._blank .svg path {
  fill: #fff;
}

.section-becom .bc-ctn {
  position: absolute;
  right: 1.5rem;
  bottom: 0;
  z-index: 1;
  background: #212121;
  height: calc(100% - 17rem);
  padding: 8rem 3rem 6rem 11rem;
  border-radius: 0.4rem 0 0 0;
}

.section-becom .bc-ctn h2 {
  font-size: 3.2rem;
  font-weight: bold;
  line-height: 160%;
  letter-spacing: 0.1em;
  color: #fff;
  margin-bottom: 4.8rem;
}

.section-becom .bc-ctn .bc-button li + li {
  margin-top: 2.4rem;
}

@media screen and (max-width: 768px) {
  .section-becom {
    margin-top: 5.6rem;
    padding-bottom: 17.2rem;
  }
  .section-becom .bc-img {
    width: calc(100% + 4rem);
    margin: 0 -2rem;
    border-radius: 0.4rem 0.4rem 0 0;
    position: relative;
    z-index: 1;
  }
  .section-becom .bc-ctn {
    position: relative;
    right: 0;
    left: 0;
    top: 0;
    bottom: 0;
    height: auto;
    margin: 0 -2rem 0;
    padding: 4.8rem 4rem 0;
    border-radius: 0.4rem 0.4rem 0 0;
    background: #212121;
  }
  .section-becom .bc-ctn h2 {
    font-size: 2.4rem;
    text-align: center;
    margin-bottom: 2.4rem;
  }
  .section-becom .bc-ctn .bc-button li + li {
    margin-top: 1rem;
  }
  .section-becom .bc-ctn .bc-button li .button-more {
    width: 100%;
    height: 7.2rem;
  }
}

.section-contact {
  margin: -7.6rem 0;
  z-index: 2;
  position: relative;
}

.section-contact .heading-lv2 {
  margin: 0;
  color: #fff;
}

.section-contact .heading-lv2 .en {
  font-size: 4.8rem;
  line-height: 1;
}

.section-contact .heading-lv2 .ja {
  margin-top: 1.6rem;
  line-height: 1;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 768px) {
  .section-contact .heading-lv2 {
    margin-bottom: 2.4rem;
  }
  .section-contact .heading-lv2 .en {
    font-size: 3.2rem;
  }
  .section-contact .heading-lv2 .ja {
    font-size: 1.4rem;
    margin-top: 0.8rem;
  }
}

.section-contact .button-more {
  background: #fff;
  border: 1px solid #fff;
  width: 33.4rem;
  height: 8rem;
  border-radius: 0.4rem;
  position: relative;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  padding-left: 3.2rem;
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
}

.section-contact .button-more .ico {
  display: inline-block;
  line-height: 0;
  width: 1.8rem;
  height: 1.3rem;
  vertical-align: middle;
  margin-right: 0.8rem;
}

.section-contact .button-more .ico svg path {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.section-contact .button-more .txt {
  line-height: 1;
  letter-spacing: 0.1em;
  vertical-align: middle;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.section-contact .button-more .arrow {
  position: absolute;
  right: 3.2rem;
  background: #f2f1f1;
}

.section-contact .button-more .arrow::before {
  background: #fff;
}

@media screen and (max-width: 768px) {
  .section-contact .button-more {
    width: 100%;
    height: 7.2rem;
    padding: 0 2rem;
  }
}

.section-contact .cta-box {
  border-radius: 0.4rem;
  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;
  padding: 7.2rem 8rem;
  background: #d7063b;
  -webkit-box-shadow: 0px 1.532px 3.83px 0px rgba(194, 194, 194, 0.25);
  box-shadow: 0px 1.532px 3.83px 0px rgba(194, 194, 194, 0.25);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.section-contact .cta-box:hover {
  background: #b00015;
}

.section-contact .cta-box:hover .button-more {
  background: #d7063b;
}

.section-contact .cta-box:hover .button-more .ico svg path {
  fill: #fff;
}

.section-contact .cta-box:hover .button-more .txt {
  color: #fff;
}

@media screen and (max-width: 768px) {
  .section-contact .cta-box {
    display: block;
    text-align: center;
    padding: 4rem 2rem 3.2rem;
  }
}

.ft-sns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 0.8rem;
  -moz-column-gap: 0.8rem;
  column-gap: 0.8rem;
}

.ft-sns li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 2.6rem;
  height: 2.6rem;
  background: #010101;
  border-radius: 50%;
}

@media screen and (min-width: 769px) {
  .ft-sns li a:hover {
    background: #d7063b;
    opacity: 1;
  }
}

.footer {
  padding: 21.6rem 0 5.6rem;
}

@media screen and (max-width: 768px) {
  .footer {
    padding: 15rem 0 2.8rem;
  }
}

@media screen and (min-width: 769px) {
  .footer .container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-column-gap: 5.6rem;
    -moz-column-gap: 5.6rem;
    column-gap: 5.6rem;
  }
}

@media screen and (max-width: 768px) {
  .footer-info {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-column-gap: 1.8rem;
    -moz-column-gap: 1.8rem;
    column-gap: 1.8rem;
    margin-bottom: 4rem;
  }
}

.footer-logo {
  margin-bottom: 4rem;
}

.footer-logo .ft-lg {
  display: block;
  width: 26.7rem;
  line-height: 0;
}

.footer-logo .ft-lg .svg {
  display: block;
  width: 100%;
  height: auto;
}

.footer-logo .ft-ds {
  display: inline-block;
  width: 14.1rem;
  line-height: 0;
}

.footer-logo .ft-ds .svg {
  display: block;
  width: 100%;
  height: auto;
}

@media screen and (max-width: 768px) {
  .footer-logo {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-column-gap: 0.8rem;
    -moz-column-gap: 0.8rem;
    column-gap: 0.8rem;
    margin: 0;
  }
  .footer-logo .ft-lg {
    width: 15.3rem;
    margin: 0;
  }
  .footer-logo .ft-ds {
    width: 10rem;
  }
}

.footer-bnr {
  display: block;
  width: 30rem;
  border-radius: 0.4rem;
  overflow: hidden;
  position: relative;
  margin-top: 5.6rem;
}

.footer-bnr:after {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  background: rgba(1, 1, 1, 0.6);
}

.footer-bnr_img img {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.footer-bnr_ctn {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  padding: 2.4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-flow: column;
  flex-flow: column;
  color: #fff;
  z-index: 1;
}

.footer-bnr_ctn span {
  display: inline-block;
}

.footer-bnr_ctn span.en {
  font-size: 2.4rem;
  font-weight: bold;
  font-family: "DM Sans", sans-serif;
  line-height: 130%;
  margin-bottom: 2.4rem;
}

.footer-bnr_ctn span.ja {
  font-size: 1.6rem;
  letter-spacing: 0.05em;
  line-height: 130%;
}

.footer-bnr .arrow {
  position: absolute;
  right: 2.4rem;
  bottom: 2.4rem;
  z-index: 1;
}

.footer-bnr:hover .footer-bnr_img img {
  -webkit-transform: scale(1.12);
  transform: scale(1.12);
}

.footer-bnr:hover .arrow:before {
  z-index: 1;
}

.footer-bnr:hover .arrow:after {
  display: none;
}

.footer-bnr:hover .arrow .svg {
  opacity: 1 !important;
}

.footer-bnr:hover .arrow .svg path {
  fill: #fff !important;
}

@media screen and (max-width: 768px) {
  .footer-bnr {
    width: 100%;
    height: 13.5rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-top: 2.4rem;
    margin-bottom: 2rem;
  }
  .footer-bnr_ctn span.en {
    font-size: 1.6rem;
    margin-bottom: 0.8rem;
  }
  .footer-bnr_ctn span.ja {
    font-size: 1.2rem;
  }
}

.footer-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  -webkit-column-gap: 4rem;
  -moz-column-gap: 4rem;
  column-gap: 4rem;
  width: calc(100% - 35.6rem);
}

.footer-nav_col {
  width: calc(100% / 3 - 2.7rem);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-flow: column;
  flex-flow: column;
}

.footer-nav_box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-flow: column;
  flex-flow: column;
}

.footer-nav_box + .footer-nav_box {
  margin-top: 4rem;
}

@media screen and (min-width: 769px) {
  .footer-nav_box.mtpc0 {
    margin-top: 0;
  }
}

.footer-nav_box_head {
  padding-bottom: 2rem;
  border-bottom: 1px solid #212121;
}

.footer-nav_box_link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-flow: column;
  flex-flow: column;
}

.footer-nav_box_link .en {
  display: inline-block;
  font-size: 2rem;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0;
  color: #010101;
}

.footer-nav_box_link .ja {
  display: inline-block;
  font-weight: bold;
  font-size: 1.4rem;
  letter-spacing: 0.1em;
  line-height: 1;
  color: #545353;
  margin-top: 0.8rem;
}

.footer-nav_box_menu {
  margin-top: 1.6rem;
}

.footer-nav_box_menu li a {
  display: inline-block;
  color: #8d8d8d;
  font-weight: 500;
  font-size: 1.4rem;
  letter-spacing: 0.1em;
  line-height: 200%;
  text-decoration: underline;
}

.footer-nav_bottom {
  margin-top: 8.4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-flow: column;
  flex-flow: column;
}

.footer-nav_bottom .ft-link {
  margin-top: 2.4rem;
}

.footer-nav_bottom .ft-link li a {
  display: inline-block;
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0.05em;
  color: #010101;
}

.footer-nav_bottom .ft-link li a span {
  display: inline-block;
  margin-left: 0.8rem;
  position: relative;
}

.footer-nav_bottom .ft-link li a span::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 1px;
  background-color: #d7063b;
  left: 0;
  bottom: -2px;
  -webkit-transform-origin: right;
  transform-origin: right;
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transition: -webkit-transform 0.2s linear;
  transition: -webkit-transform 0.2s linear;
  transition: transform 0.2s linear;
  transition: transform 0.2s linear, -webkit-transform 0.2s linear;
}

.footer-nav_bottom .ft-link li a:hover {
  color: #d7063b;
}

.footer-nav_bottom .ft-link li a:hover .svg path {
  stroke: #d7063b;
  fill: #d7063b;
}

.footer-nav_bottom .ft-link li a:hover span::before {
  -webkit-transform-origin: left;
  transform-origin: left;
  -webkit-transform: scale(1);
  transform: scale(1);
}

.footer-nav_bottom .ft-privacy {
  margin-top: 1rem;
}

.footer-nav_bottom .ft-privacy a {
  color: #8d8d8d;
  font-size: 1.4rem;
  line-height: 1.6;
  font-weight: 700;
  text-decoration: underline;
}

@media screen and (max-width: 768px) {
  .footer-nav_bottom .ft-privacy a {
    font-size: 1.2rem;
  }
}

@media screen and (max-width: 768px) {
  .footer-nav {
    width: 100%;
    grid-gap: 4rem;
  }
  .footer-nav_col {
    width: calc(100% / 2 - 2rem);
  }
  .footer-nav_box_head {
    padding-bottom: 1.6rem;
  }
  .footer-nav_box_link .en {
    font-size: 1.6rem;
  }
  .footer-nav_box_link .ja {
    font-size: 1.2rem;
  }
  .footer-nav_box_menu {
    margin-top: 1rem;
  }
  .footer-nav_box_menu li a {
    font-size: 1.2rem;
  }
  .footer-nav_bottom {
    width: 100%;
    margin-top: 4rem;
  }
  .footer-nav_bottom .ft-link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-column-gap: 2.4rem;
    -moz-column-gap: 2.4rem;
    column-gap: 2.4rem;
    margin-top: 0;
  }
  .footer-nav_bottom .ft-link li a {
    font-size: 1.2rem;
  }
  .footer-nav_bottom .ft-link li a svg {
    width: 1.1rem;
    height: 1rem;
  }
  .footer-nav_bottom .ft-link li a span {
    margin-left: 0.4rem;
  }
}

.copyright {
  display: inline-block;
  font-size: 1.2rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1;
  font-family: "DM Sans", sans-serif;
  color: #545353;
}

.c-pagetop {
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  z-index: 8;
}

.c-pagetop a {
  width: 8rem;
  height: 8rem;
  display: block;
  text-indent: -99999px;
  background: url("../img/common/btn_pagetop.png") no-repeat center/contain;
}

.c-pagetop a:hover {
  background-image: url("../img/common/btn_pagetop_over.png");
  opacity: 1;
}

@media screen and (max-width: 768px) {
  .c-pagetop a {
    width: 6.4rem;
    height: 6.4rem;
  }
}

/** header area
====================================== **/
.arrow {
  width: 3.2rem;
  height: 3.2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  position: relative;
  border-radius: 50%;
  background: #010101;
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
}

.arrow .svg {
  display: block;
  width: 0.6rem;
  height: 1rem;
  position: relative;
  z-index: 1;
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
}

.arrow .svg path {
  fill: #fff;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.arrow::before,
.arrow::after {
  content: "";
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border-radius: 50%;
  position: absolute;
  margin: auto;
  -webkit-transform-origin: center;
  transform-origin: center;
  -webkit-transform: scale(0);
  transform: scale(0);
  -webkit-transition: -webkit-transform 0.2s ease-in-out;
  transition: -webkit-transform 0.2s ease-in-out;
  transition: transform 0.2s ease-in-out;
  transition: transform 0.2s ease-in-out, -webkit-transform 0.2s ease-in-out;
  opacity: 1;
  visibility: visible;
}

.arrow::before {
  width: 100%;
  height: 100%;
  background: #fff;
  z-index: 2;
}

.arrow::after {
  width: 0.6rem;
  height: 0.6rem;
  background: #d7063b;
  -webkit-transition: -webkit-transform 0.2s ease-in-out;
  transition: -webkit-transform 0.2s ease-in-out;
  transition: transform 0.2s ease-in-out;
  transition: transform 0.2s ease-in-out, -webkit-transform 0.2s ease-in-out;
  z-index: 3;
}

.arrow._white {
  background: #fff;
}

.arrow._white::before {
  background: #d7063b;
}

.arrow._white .svg path {
  fill: #010101;
}

.arrow._gray {
  background: #f2f1f1;
}

.arrow._gray::before {
  background: #010101;
}

.arrow._gray .svg path {
  fill: #010101;
}

.arrow._blank {
  background: #fff;
}

.arrow._blank .svg {
  width: 1.2rem;
  height: 1.2rem;
}

.button-more {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 20.6rem;
  height: 5.6rem;
  padding: 0 2.4rem 0 3.2rem;
  position: relative;
}

.button-more .ico {
  display: inline-block;
  line-height: 0;
  width: 1.6rem;
  height: 1.7rem;
}

.button-more .ico svg path {
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
}

.button-more .ico svg line {
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
}

.button-more .txt {
  display: inline-block;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0.1em;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.button-more .arrow {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  right: 2.4rem;
}

.button-more._gray {
  background: #3d3d3d;
  color: #fff;
  border: 1px solid #fff;
}

.button-more._gray .arrow._white::before {
  background: #fff;
}

.button-more.no-bg {
  padding: 0;
  width: auto;
  height: auto;
  -webkit-column-gap: 0.8rem;
  -moz-column-gap: 0.8rem;
  column-gap: 0.8rem;
}

.button-more.no-bg .txt {
  position: relative;
  letter-spacing: 0.05em;
}

.button-more.no-bg .txt:after {
  position: absolute;
  content: "";
  width: 100%;
  height: 1px;
  left: 0;
  bottom: -0.5rem;
  background: #d7063b;
  -webkit-transform: scale(0, 1);
  transform: scale(0, 1);
  -webkit-transform-origin: right top;
  transform-origin: right top;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}

.button-more.no-bg .arrow {
  position: static;
  -webkit-transform: translateY(0);
  transform: translateY(0);
}

.button-more.no-bg .arrow::before {
  background: #d7063b;
}

.button-more.no-bg .arrow::after {
  background: #fff;
}

@media screen and (max-width: 768px) {
  .button-more {
    padding: 0 1.6rem 0 1.6rem;
  }
  .button-more .txt {
    font-size: 1.4rem;
  }
}

.button:hover {
  opacity: 1;
}

.button:hover .arrow::before {
  -webkit-transform: scale(1.25);
  transform: scale(1.25);
}

.button:hover .arrow::after {
  -webkit-transform: scale(1);
  transform: scale(1);
}

.button:hover .arrow .svg {
  opacity: 0;
}

.button:hover .arrow._white .svg path {
  fill: #fff;
}

.button:hover .arrow._gray .svg path {
  fill: #fff;
}

.button:hover .arrow._blank::after {
  display: none;
}

.button:hover .arrow._blank .svg {
  opacity: 1;
  z-index: 4;
}

.button:hover .arrow._blank .svg path {
  fill: #d7063b;
}

.button:hover._white {
  background: #d7063b;
}

.button:hover._white .txt {
  color: #fff;
}

.button:hover._white .arrow:before {
  background: #fff;
}

.button:hover._white .arrow:after {
  background: #d7063b;
}

.button:hover._gray {
  background: #d7063b;
}

.button:hover.no-bg .txt {
  color: #d7063b;
}

.button:hover.no-bg .txt:after {
  -webkit-transform-origin: left top;
  transform-origin: left top;
  -webkit-transform: scale(1, 1);
  transform: scale(1, 1);
}

.heading-lv2 {
  margin-bottom: 3.2rem;
}

.heading-lv2 .en {
  font-size: 6.4rem;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0;
  font-family: "DM Sans", sans-serif;
}

@media screen and (max-width: 768px) {
  .heading-lv2 .en {
    font-size: 4rem;
  }
}

.heading-lv2 .ja {
  display: inline-block;
  font-size: 1.6rem;
  line-height: 1;
  font-weight: bold;
  margin-top: 1.2rem;
}

@media screen and (max-width: 768px) {
  .heading-lv2 .ja {
    margin-top: 0.8rem;
    font-size: 1.4rem;
  }
}

@media screen and (max-width: 768px) {
  .heading-lv2 {
    margin-bottom: 2.4rem;
  }
}

.heading-lv3 .en {
  font-size: 2.2rem;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0;
  font-family: "DM Sans", sans-serif;
}

.heading-lv3 .ja {
  display: inline-block;
  font-size: 1.6rem;
  line-height: 1;
  font-weight: bold;
  letter-spacing: 0.1em;
  margin-top: 0.8rem;
}

.c-lettering {
  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: start;
  -ms-flex-align: start;
  align-items: flex-start;
  color: #fff;
  font-weight: 400;
  line-height: 1;
  gap: 0.5rem;
}

.c-lettering > span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.c-lettering > span > span {
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  overflow: hidden;
  display: block;
  -webkit-transition: all 1s cubic-bezier(0.77, 0, 0.6, 1) 0.1s;
  transition: all 1s cubic-bezier(0.77, 0, 0.6, 1) 0.1s;
}

.c-lettering > span > span .title_cover {
  display: block;
  position: relative;
  -webkit-transition: all 1s cubic-bezier(0.77, 0, 0.6, 1) 0.1s;
  transition: all 1s cubic-bezier(0.77, 0, 0.6, 1) 0.1s;
  font-size: 2.4rem;
  font-weight: bold;
  color: #000;
}

.c-lettering > span > span .title_cover:after {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  background: #111111;
  left: -100%;
  -webkit-transition: all 1s cubic-bezier(0.77, 0, 0.6, 1) 0.1s;
  transition: all 1s cubic-bezier(0.77, 0, 0.6, 1) 0.1s;
}

.c-lettering > span > span:first-child .title_cover {
  padding-left: 1rem;
}

.c-lettering > span > span:last-child .title_cover {
  padding-right: 1rem;
}

.c-lettering.is-inview > span > span {
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}

.c-lettering.is-inview > span > span .title_cover {
  left: 0;
}

.js-heading > span:nth-child(1) .title_cover {
  -webkit-transition-delay: 0.05s;
  transition-delay: 0.05s;
}

.js-heading > span:nth-child(2) .title_cover {
  -webkit-transition-delay: 0.1s;
  transition-delay: 0.1s;
}

.js-heading > span:nth-child(3) .title_cover {
  -webkit-transition-delay: 0.15s;
  transition-delay: 0.15s;
}

.js-heading > span:nth-child(4) .title_cover {
  -webkit-transition-delay: 0.2s;
  transition-delay: 0.2s;
}

.js-heading > span:nth-child(5) .title_cover {
  -webkit-transition-delay: 0.25s;
  transition-delay: 0.25s;
}

.js-heading > span:nth-child(6) .title_cover {
  -webkit-transition-delay: 0.3s;
  transition-delay: 0.3s;
}

.js-heading > span:nth-child(7) .title_cover {
  -webkit-transition-delay: 0.35s;
  transition-delay: 0.35s;
}

.js-heading > span:nth-child(8) .title_cover {
  -webkit-transition-delay: 0.4s;
  transition-delay: 0.4s;
}

.js-heading > span:nth-child(9) .title_cover {
  -webkit-transition-delay: 0.45s;
  transition-delay: 0.45s;
}

.js-heading > span:nth-child(10) .title_cover {
  -webkit-transition-delay: 0.5s;
  transition-delay: 0.5s;
}

.js-heading > span:nth-child(11) .title_cover {
  -webkit-transition-delay: 0.55s;
  transition-delay: 0.55s;
}

.js-heading > span:nth-child(12) .title_cover {
  -webkit-transition-delay: 0.6s;
  transition-delay: 0.6s;
}

.js-heading > span:nth-child(13) .title_cover {
  -webkit-transition-delay: 0.65s;
  transition-delay: 0.65s;
}

.js-heading > span:nth-child(14) .title_cover {
  -webkit-transition-delay: 0.7s;
  transition-delay: 0.7s;
}

.js-heading > span:nth-child(15) .title_cover {
  -webkit-transition-delay: 0.75s;
  transition-delay: 0.75s;
}

.js-heading > span:nth-child(16) .title_cover {
  -webkit-transition-delay: 0.8s;
  transition-delay: 0.8s;
}

.js-heading > span:nth-child(17) .title_cover {
  -webkit-transition-delay: 0.85s;
  transition-delay: 0.85s;
}

.js-heading > span:nth-child(18) .title_cover {
  -webkit-transition-delay: 0.9s;
  transition-delay: 0.9s;
}

.js-heading > span:nth-child(19) .title_cover {
  -webkit-transition-delay: 0.95s;
  transition-delay: 0.95s;
}

.js-heading > span:nth-child(20) .title_cover {
  -webkit-transition-delay: 1s;
  transition-delay: 1s;
}

.js-heading > span:nth-child(21) .title_cover {
  -webkit-transition-delay: 1.05s;
  transition-delay: 1.05s;
}

.js-heading > span:nth-child(22) .title_cover {
  -webkit-transition-delay: 1.1s;
  transition-delay: 1.1s;
}

.js-heading > span:nth-child(23) .title_cover {
  -webkit-transition-delay: 1.15s;
  transition-delay: 1.15s;
}

.js-heading > span:nth-child(24) .title_cover {
  -webkit-transition-delay: 1.2s;
  transition-delay: 1.2s;
}

.js-heading > span:nth-child(25) .title_cover {
  -webkit-transition-delay: 1.25s;
  transition-delay: 1.25s;
}

.js-heading > span:nth-child(26) .title_cover {
  -webkit-transition-delay: 1.3s;
  transition-delay: 1.3s;
}

.js-heading > span:nth-child(27) .title_cover {
  -webkit-transition-delay: 1.35s;
  transition-delay: 1.35s;
}

.js-heading > span:nth-child(28) .title_cover {
  -webkit-transition-delay: 1.4s;
  transition-delay: 1.4s;
}

.js-heading > span:nth-child(29) .title_cover {
  -webkit-transition-delay: 1.45s;
  transition-delay: 1.45s;
}

.js-heading > span:nth-child(30) .title_cover {
  -webkit-transition-delay: 1.5s;
  transition-delay: 1.5s;
}

.js-heading > span:nth-child(31) .title_cover {
  -webkit-transition-delay: 1.55s;
  transition-delay: 1.55s;
}

.js-heading > span:nth-child(32) .title_cover {
  -webkit-transition-delay: 1.6s;
  transition-delay: 1.6s;
}

.js-heading > span:nth-child(33) .title_cover {
  -webkit-transition-delay: 1.65s;
  transition-delay: 1.65s;
}

.js-heading > span:nth-child(34) .title_cover {
  -webkit-transition-delay: 1.7s;
  transition-delay: 1.7s;
}

.js-heading > span:nth-child(35) .title_cover {
  -webkit-transition-delay: 1.75s;
  transition-delay: 1.75s;
}

.js-heading > span:nth-child(36) .title_cover {
  -webkit-transition-delay: 1.8s;
  transition-delay: 1.8s;
}

.js-heading > span:nth-child(37) .title_cover {
  -webkit-transition-delay: 1.85s;
  transition-delay: 1.85s;
}

.js-heading > span:nth-child(38) .title_cover {
  -webkit-transition-delay: 1.9s;
  transition-delay: 1.9s;
}

.js-heading > span:nth-child(39) .title_cover {
  -webkit-transition-delay: 1.95s;
  transition-delay: 1.95s;
}

.js-heading > span:nth-child(40) .title_cover {
  -webkit-transition-delay: 2s;
  transition-delay: 2s;
}

.js-heading > span:nth-child(41) .title_cover {
  -webkit-transition-delay: 2.05s;
  transition-delay: 2.05s;
}

.js-heading > span:nth-child(42) .title_cover {
  -webkit-transition-delay: 2.1s;
  transition-delay: 2.1s;
}

.js-heading > span:nth-child(43) .title_cover {
  -webkit-transition-delay: 2.15s;
  transition-delay: 2.15s;
}

.js-heading > span:nth-child(44) .title_cover {
  -webkit-transition-delay: 2.2s;
  transition-delay: 2.2s;
}

.js-heading > span:nth-child(45) .title_cover {
  -webkit-transition-delay: 2.25s;
  transition-delay: 2.25s;
}

.js-heading > span:nth-child(46) .title_cover {
  -webkit-transition-delay: 2.3s;
  transition-delay: 2.3s;
}

.js-heading > span:nth-child(47) .title_cover {
  -webkit-transition-delay: 2.35s;
  transition-delay: 2.35s;
}

.js-heading > span:nth-child(48) .title_cover {
  -webkit-transition-delay: 2.4s;
  transition-delay: 2.4s;
}

.js-heading > span:nth-child(49) .title_cover {
  -webkit-transition-delay: 2.45s;
  transition-delay: 2.45s;
}

.js-heading > span:nth-child(50) .title_cover {
  -webkit-transition-delay: 2.5s;
  transition-delay: 2.5s;
}

.js-heading > span:nth-child(51) .title_cover {
  -webkit-transition-delay: 2.55s;
  transition-delay: 2.55s;
}

.js-heading > span:nth-child(52) .title_cover {
  -webkit-transition-delay: 2.6s;
  transition-delay: 2.6s;
}

.js-heading > span:nth-child(53) .title_cover {
  -webkit-transition-delay: 2.65s;
  transition-delay: 2.65s;
}

.js-heading > span:nth-child(54) .title_cover {
  -webkit-transition-delay: 2.7s;
  transition-delay: 2.7s;
}

.js-heading > span:nth-child(55) .title_cover {
  -webkit-transition-delay: 2.75s;
  transition-delay: 2.75s;
}

.js-heading > span:nth-child(56) .title_cover {
  -webkit-transition-delay: 2.8s;
  transition-delay: 2.8s;
}

.js-heading > span:nth-child(57) .title_cover {
  -webkit-transition-delay: 2.85s;
  transition-delay: 2.85s;
}

.js-heading > span:nth-child(58) .title_cover {
  -webkit-transition-delay: 2.9s;
  transition-delay: 2.9s;
}

.js-heading > span:nth-child(59) .title_cover {
  -webkit-transition-delay: 2.95s;
  transition-delay: 2.95s;
}

.js-heading > span:nth-child(60) .title_cover {
  -webkit-transition-delay: 3s;
  transition-delay: 3s;
}

.js-heading > span:nth-child(61) .title_cover {
  -webkit-transition-delay: 3.05s;
  transition-delay: 3.05s;
}

.js-heading > span:nth-child(62) .title_cover {
  -webkit-transition-delay: 3.1s;
  transition-delay: 3.1s;
}

.js-heading > span:nth-child(63) .title_cover {
  -webkit-transition-delay: 3.15s;
  transition-delay: 3.15s;
}

.js-heading > span:nth-child(64) .title_cover {
  -webkit-transition-delay: 3.2s;
  transition-delay: 3.2s;
}

.js-heading > span:nth-child(65) .title_cover {
  -webkit-transition-delay: 3.25s;
  transition-delay: 3.25s;
}

.js-heading > span:nth-child(66) .title_cover {
  -webkit-transition-delay: 3.3s;
  transition-delay: 3.3s;
}

.js-heading > span:nth-child(67) .title_cover {
  -webkit-transition-delay: 3.35s;
  transition-delay: 3.35s;
}

.js-heading > span:nth-child(68) .title_cover {
  -webkit-transition-delay: 3.4s;
  transition-delay: 3.4s;
}

.js-heading > span:nth-child(69) .title_cover {
  -webkit-transition-delay: 3.45s;
  transition-delay: 3.45s;
}

.js-heading > span:nth-child(70) .title_cover {
  -webkit-transition-delay: 3.5s;
  transition-delay: 3.5s;
}

.js-heading > span:nth-child(71) .title_cover {
  -webkit-transition-delay: 3.55s;
  transition-delay: 3.55s;
}

.js-heading > span:nth-child(72) .title_cover {
  -webkit-transition-delay: 3.6s;
  transition-delay: 3.6s;
}

.js-heading > span:nth-child(73) .title_cover {
  -webkit-transition-delay: 3.65s;
  transition-delay: 3.65s;
}

.js-heading > span:nth-child(74) .title_cover {
  -webkit-transition-delay: 3.7s;
  transition-delay: 3.7s;
}

.js-heading > span:nth-child(75) .title_cover {
  -webkit-transition-delay: 3.75s;
  transition-delay: 3.75s;
}

.js-heading > span:nth-child(76) .title_cover {
  -webkit-transition-delay: 3.8s;
  transition-delay: 3.8s;
}

.js-heading > span:nth-child(77) .title_cover {
  -webkit-transition-delay: 3.85s;
  transition-delay: 3.85s;
}

.js-heading > span:nth-child(78) .title_cover {
  -webkit-transition-delay: 3.9s;
  transition-delay: 3.9s;
}

.js-heading > span:nth-child(79) .title_cover {
  -webkit-transition-delay: 3.95s;
  transition-delay: 3.95s;
}

.js-heading > span:nth-child(80) .title_cover {
  -webkit-transition-delay: 4s;
  transition-delay: 4s;
}

.js-heading > span:nth-child(81) .title_cover {
  -webkit-transition-delay: 4.05s;
  transition-delay: 4.05s;
}

.js-heading > span:nth-child(82) .title_cover {
  -webkit-transition-delay: 4.1s;
  transition-delay: 4.1s;
}

.js-heading > span:nth-child(83) .title_cover {
  -webkit-transition-delay: 4.15s;
  transition-delay: 4.15s;
}

.js-heading > span:nth-child(84) .title_cover {
  -webkit-transition-delay: 4.2s;
  transition-delay: 4.2s;
}

.js-heading > span:nth-child(85) .title_cover {
  -webkit-transition-delay: 4.25s;
  transition-delay: 4.25s;
}

.js-heading > span:nth-child(86) .title_cover {
  -webkit-transition-delay: 4.3s;
  transition-delay: 4.3s;
}

.js-heading > span:nth-child(87) .title_cover {
  -webkit-transition-delay: 4.35s;
  transition-delay: 4.35s;
}

.js-heading > span:nth-child(88) .title_cover {
  -webkit-transition-delay: 4.4s;
  transition-delay: 4.4s;
}

.js-heading > span:nth-child(89) .title_cover {
  -webkit-transition-delay: 4.45s;
  transition-delay: 4.45s;
}

.js-heading > span:nth-child(90) .title_cover {
  -webkit-transition-delay: 4.5s;
  transition-delay: 4.5s;
}

.js-heading > span:nth-child(91) .title_cover {
  -webkit-transition-delay: 4.55s;
  transition-delay: 4.55s;
}

.js-heading > span:nth-child(92) .title_cover {
  -webkit-transition-delay: 4.6s;
  transition-delay: 4.6s;
}

.js-heading > span:nth-child(93) .title_cover {
  -webkit-transition-delay: 4.65s;
  transition-delay: 4.65s;
}

.js-heading > span:nth-child(94) .title_cover {
  -webkit-transition-delay: 4.7s;
  transition-delay: 4.7s;
}

.js-heading > span:nth-child(95) .title_cover {
  -webkit-transition-delay: 4.75s;
  transition-delay: 4.75s;
}

.js-heading > span:nth-child(96) .title_cover {
  -webkit-transition-delay: 4.8s;
  transition-delay: 4.8s;
}

.js-heading > span:nth-child(97) .title_cover {
  -webkit-transition-delay: 4.85s;
  transition-delay: 4.85s;
}

.js-heading > span:nth-child(98) .title_cover {
  -webkit-transition-delay: 4.9s;
  transition-delay: 4.9s;
}

.js-heading > span:nth-child(99) .title_cover {
  -webkit-transition-delay: 4.95s;
  transition-delay: 4.95s;
}

.js-heading > span:nth-child(100) .title_cover {
  -webkit-transition-delay: 5s;
  transition-delay: 5s;
}

.js-heading .title_cover {
  display: inline-block;
  /*opacity: 0;
    visibility: hidden;
    transform: rotateY(90deg);
    transition: all 0.3s ease-in-out;*/
  opacity: 0;
  -webkit-transform: rotateY(90deg);
  transform: rotateY(90deg);
  -webkit-transform-origin: left top;
  transform-origin: left top;
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-duration: 0.8s;
  transition-duration: 0.8s;
  -webkit-transition-timing-function: ease;
  transition-timing-function: ease;
}

.js-heading.is-inview .title_cover {
  opacity: 1;
  -webkit-transform: rotateY(0);
  transform: rotateY(0);
}

.slr-loop {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 2rem;
  -moz-column-gap: 2rem;
  column-gap: 2rem;
  -webkit-animation: infinity-scroll-left 60s infinite linear 0.5s both;
  animation: infinity-scroll-left 60s infinite linear 0.5s both;
}

.slide-anime {
  -webkit-clip-path: inset(0 100% 0 0);
  clip-path: inset(0 100% 0 0);
  -webkit-transition: 1s cubic-bezier(0.37, 0, 0.63, 1);
  transition: 1s cubic-bezier(0.37, 0, 0.63, 1);
  -webkit-transition-property: -webkit-clip-path;
  transition-property: -webkit-clip-path;
  transition-property: clip-path;
  transition-property: clip-path, -webkit-clip-path;
}

.slide-anime.active {
  -webkit-clip-path: inset(0);
  clip-path: inset(0);
}

@-webkit-keyframes header_animate {
  0% {
    opacity: 0;
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
  25% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

@keyframes header_animate {
  0% {
    opacity: 0;
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
  25% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

@-webkit-keyframes infinity-scroll-left {
  from {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
  }
}

@keyframes infinity-scroll-left {
  from {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
  }
}

.key-visual {
  width: 100%;
  height: 30.8rem;
  position: relative;
}

.key-visual:after {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  background: rgba(0, 0, 0, 0.5);
  mix-blend-mode: multiply;
}

.key-visual .kv-img {
  width: 100%;
  height: 100%;
}

.key-visual .kv-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.key-visual .kv-ttl {
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  text-align: center;
  z-index: 2;
  margin-bottom: 0;
  color: #fff;
  width: 100%;
}

.key-visual .kv-ttl .en {
  font-size: 6.4rem;
}

.key-visual .kv-ttl .ja {
  font-size: 1.8rem;
}

.key-visual.no-img:after {
  width: 0;
  height: 0;
  background: none;
}

@media screen and (max-width: 768px) {
  .key-visual {
    height: 24rem;
  }
  .key-visual .kv-ttl {
    width: 100%;
    text-align: center;
    padding-top: 5.6rem;
  }
  .key-visual .kv-ttl .en {
    font-size: 4rem;
  }
  .key-visual .kv-ttl .ja {
    font-size: 1.4rem;
    margin-top: 0.8rem;
  }
}

.pagination {
  margin: 6rem 0 0;
}

@media screen and (max-width: 768px) {
  .pagination {
    margin: 4rem 0 0;
  }
}

.page-numbers {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-column-gap: 1rem;
  -moz-column-gap: 1rem;
  column-gap: 1rem;
}

.page-numbers .page-numbers {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 6rem;
  height: 6rem;
  border-radius: 50%;
  color: #144690;
  background-color: #fff;
  font-weight: 500;
  line-height: 1;
  font-family: "DM Sans", sans-serif;
}

.page-numbers .page-numbers.current,
.page-numbers .page-numbers:hover {
  background-color: #144690;
  color: #fff;
}

.page-numbers .page-numbers.next:hover svg path,
.page-numbers .page-numbers.prev:hover svg path {
  stroke: #fff;
}

@media screen and (max-width: 768px) {
  .page-numbers .page-numbers {
    width: 5rem;
    height: 5rem;
  }
}

.hover-img {
  overflow: hidden;
}

.hover-img img {
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
}

.hover:hover .hover-img img {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}

.anim-img {
  position: relative;
}

.anim-img:after {
  content: "";
  position: absolute;
  top: -1px;
  bottom: -1px;
  left: -1px;
  right: -1px;
  background: #fff;
  mix-blend-mode: color;
  -webkit-transform-origin: right top;
  transform-origin: right top;
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-duration: 0.8s;
  transition-duration: 0.8s;
  -webkit-transition-timing-function: cubic-bezier(0.77, 0, 0.175, 1);
  transition-timing-function: cubic-bezier(0.77, 0, 0.175, 1);
}

.anim-img.is-inview:after {
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
}

.p-wrapper {
  position: relative;
}

.p-wrapper:after {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  background: rgba(221, 221, 221, 0.4);
  z-index: 8;
  -webkit-filter: blur(7px);
  filter: blur(7px);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  opacity: 0;
  visibility: hidden;
}

.p-wrapper.open:after {
  opacity: 1;
  visibility: visible;
}

.page-main {
  margin-top: 8.8rem;
}

@media screen and (max-width: 768px) {
  .page-main {
    margin-top: 0;
  }
}

.heading-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-column-gap: 4rem;
  -moz-column-gap: 4rem;
  column-gap: 4rem;
  margin-bottom: 8rem;
}

.heading-box .heading-lv2 {
  margin: 0;
}

.heading-box_btn {
  position: relative;
  padding-left: 11.6rem;
  margin-top: 1.5rem;
}

.heading-box_btn:before {
  position: absolute;
  content: "";
  width: 10rem;
  height: 0.1rem;
  left: 0;
  top: 50%;
  background: #010101;
}

@media screen and (max-width: 768px) {
  .heading-box {
    display: block;
    margin-bottom: 4rem;
  }
  .heading-box .heading-lv2 {
    margin: 0 0 1.6rem 0;
  }
}

.button-icon {
  background: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border-radius: 0.4rem;
  padding: 3.2rem 4rem;
}

.button-icon .txt {
  margin-left: 1.6rem;
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 1;
}

.button-icon .arrow {
  margin-left: auto;
}

.button-icon.bg-none {
  background: none;
}

.button-icon.bd {
  border: 1px solid #010101;
}

.button-icon:hover {
  background: #d7063b;
}

.button-icon:hover .txt {
  color: #fff;
}

.button-icon:hover .arrow:before {
  background: #fff;
}

.button-icon:hover .arrow:after {
  background: #d7063b;
}

@media screen and (max-width: 768px) {
  .button-icon {
    padding: 1.6rem;
  }
  .button-icon .txt {
    margin-left: 0.8rem;
    font-size: 1.6rem;
  }
  .button-icon .ico {
    width: 4rem;
  }
}

.button-image {
  position: relative;
  border-radius: 0.4rem;
  overflow: hidden;
  display: block;
}

.button-image:after {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  background: rgba(1, 1, 1, 0.6);
}

.button-image .img img {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  width: 100%;
  height: auto;
}

.button-image .txt {
  font-size: 2rem;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0;
  color: #fff;
  z-index: 1;
  position: absolute;
  left: 6.4rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.button-image .arrow {
  position: absolute;
  right: 2.4rem;
  bottom: 2.2rem;
  z-index: 1;
}

.button-image .arrow:after {
  background: #fff;
}

.button-image:hover .img img {
  -webkit-transform: scale(1.05);
  transform: scale(1.05);
}

/** header area
====================================== **/
#hambuger {
  width: 3.5rem;
  height: 3.8rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-flow: column;
  flex-flow: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  z-index: 101;
  cursor: pointer;
  position: relative;
}

#hambuger span {
  font-size: 1.2rem;
  line-height: 1;
  letter-spacing: 0;
  font-weight: bold;
  font-family: "DM Sans", sans-serif;
  margin-top: 0.6rem;
  white-space: nowrap;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

#hambuger span.open {
  display: inline-block;
}

#hambuger span.close {
  display: none;
}

#hambuger.open span {
  color: #fff;
}

#hambuger.open span.open {
  display: none;
}

#hambuger.open span.close {
  display: inline-block;
}

@media screen and (max-width: 768px) {
  #hambuger span {
    font-size: 1rem;
    margin-top: 0.4rem;
  }
}

.nav-icon ul {
  position: relative;
  width: 3.2rem;
  height: 2rem;
}

.nav-icon ul li {
  list-style: none;
  position: absolute;
  background: #010101;
  width: 100%;
  height: 0.2rem;
  left: 50%;
  border-radius: 20px;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.nav-icon ul li:nth-of-type(1) {
  top: 0%;
}

.nav-icon ul li:nth-of-type(2) {
  top: 48%;
}

.nav-icon ul li:nth-of-type(3) {
  top: 98%;
}

.nav-icon ul li span {
  display: inline-block;
}

.nav-icon.open ul {
  opacity: 1;
  visibility: visible;
}

.nav-icon.open ul li {
  background: #fff;
}

.nav-icon.open ul li:nth-of-type(1) {
  width: 100%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%) rotate(-27deg);
  transform: translate(-50%, -50%) rotate(-27deg);
}

.nav-icon.open ul li:nth-of-type(3) {
  width: 100%;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%) rotate(27deg);
  transform: translate(-50%, -50%) rotate(27deg);
}

.nav-icon.open ul li:nth-of-type(2) {
  opacity: 0;
  -webkit-animation: active-btn05-bar02 0.8s forwards;
  animation: active-btn05-bar02 0.8s forwards;
}

@media screen and (max-width: 768px) {
  .nav-icon ul {
    width: 2.8rem;
    height: 1.8rem;
  }
}

@-webkit-keyframes active-btn05-bar02 {
  100% {
    height: 0;
  }
}

@keyframes active-btn05-bar02 {
  100% {
    height: 0;
  }
}

@media screen and (min-width: 769px) {
  #hambuger:hover ul li {
    background: #d7063b;
  }
  #hambuger:hover span {
    color: #d7063b;
  }
}

.anchorList {
  padding: 4rem 0 12rem;
}

.anchorList ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 2rem 4rem;
}

.anchorList li {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}

.anchorList a {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding-right: 1.5rem;
  position: relative;
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.5;
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
}

.anchorList a::after {
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  content: "";
  width: 1.1rem;
  height: 0.6rem;
  background: url("../img/common/ico_anc.svg") no-repeat center center/100% 100%;
  z-index: 1;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

@media screen and (min-width: 769px) {
  .anchorList a:hover {
    color: #d7063b;
  }
  .anchorList a:hover::after {
    background-image: url("../img/common/ico_anc_red.svg");
  }
}

@media screen and (max-width: 768px) {
  .anchorList {
    padding: 2.4rem 0 5.6rem;
  }
  .anchorList ul {
    gap: 1.6rem 2.5rem;
  }
  .anchorList a {
    font-size: 1.4rem;
  }
  .p-group .anchorList ul {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  .p-group .anchorList li {
    min-width: 15.3rem;
    padding-right: 4.2rem;
  }
  .p-office .anchorList ul {
    -webkit-column-gap: 0;
    -moz-column-gap: 0;
    column-gap: 0;
  }
  .p-office .anchorList li {
    min-width: 12rem;
    padding-right: 2.5rem;
  }
  .p-office .anchorList li:nth-child(3n) {
    min-width: 9.5rem;
    padding-right: 0;
  }
  .p-about .anchorList ul,
  .p-company .anchorList ul,
  .p-job-index .anchorList ul,
  .p-system .anchorList ul,
  .p-work .anchorList ul,
  .p-interview .anchorList ul {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.office-division_ttl {
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  margin-bottom: 2rem;
}

.office-division_ttl:nth-of-type(n + 2) {
  margin-top: 5.6rem;
}

.office-division_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 1.6rem 1.4rem;
}

.office-division_item {
  width: calc((100% - 2.8rem) / 3);
}

.office-division_link {
  border: 1px solid #010101;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 2.1rem 2.3rem;
  border-radius: 0.4rem;
  height: 100%;
}

.office-division_link .ico {
  width: 6.4rem;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
}

.office-division_link .ico img {
  width: 100%;
}

.office-division_link .txt {
  margin-left: 1.2rem;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.1em;
  padding-right: 1.2rem;
}

.office-division_link .arrow {
  margin-left: auto;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.office-division_link .arrow::before,
.office-division_link .arrow::after {
  content: "";
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  margin: auto;
  -webkit-transform-origin: center;
  transform-origin: center;
  -webkit-transform: scale(0);
  transform: scale(0);
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
  visibility: visible;
  opacity: 1;
}

.office-division_link .arrow::before {
  width: 100%;
  height: 100%;
  background: #fff;
}

.office-division_link .arrow::after {
  width: 0.6rem;
  height: 0.6rem;
  background: #d7063b;
}

.office-division_link .arrow .svg {
  position: absolute;
  z-index: 1;
}

@media screen and (min-width: 769px) {
  .office-division_link:hover {
    opacity: 1;
    background: #d7063b;
    border-color: #d7063b;
    color: #fff;
  }
  .office-division_link:hover .arrow::before {
    -webkit-transform: scale(1.25);
    transform: scale(1.25);
  }
  .office-division_link:hover .arrow::after {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  .office-division_link:hover .arrow .svg {
    opacity: 0;
  }
}

@media screen and (max-width: 768px) {
  .office-division_ttl {
    font-size: 1.6rem;
    margin-bottom: 1.6rem;
  }
  .office-division_ttl:nth-of-type(n + 2) {
    margin-top: 4rem;
  }
  .office-division_list {
    gap: 1.2rem;
  }
  .office-division_item {
    width: 100%;
  }
  .office-division_link {
    padding: 1.4rem 1.6rem 1.3rem 2rem;
  }
  .office-division_link .ico {
    width: 5.6rem;
  }
  .office-division_link .txt {
    margin-left: 1rem;
    padding-right: 1rem;
  }
  .office-division_link .arrow {
    width: 2.4rem;
    height: 2.4rem;
  }
  .office-division_link .arrow .svg {
    width: 0.4rem;
    height: 0.6rem;
  }
}

.c-pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.6rem;
}

.c-pagination .page {
  width: 4.7rem;
  height: 4.7rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-family: "DM Sans", sans-serif;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  color: #010101;
  background: transparent;
  border-radius: 50%;
  font-size: 1.8rem;
  line-height: 2.61111;
  font-weight: 700;
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
}

.c-pagination .page.is-current {
  color: #fff;
  background: #d7063b;
}

@media screen and (min-width: 769px) {
  .c-pagination a.page:hover {
    opacity: 1;
    color: #d7063b;
  }
}

.c-pagination .btn-arrow {
  position: relative;
  width: 4.7rem;
  height: 4.7rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background: #fff;
  color: #d7063b;
  border-radius: 50%;
  border: 1px solid #d7063b;
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
  overflow: hidden;
}

.c-pagination .btn-arrow::before,
.c-pagination .btn-arrow::after {
  content: "";
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border-radius: 50%;
  position: absolute;
  z-index: 2;
  margin: auto;
  -webkit-transform-origin: center;
  transform-origin: center;
  -webkit-transform: scale(0);
  transform: scale(0);
}

.c-pagination .btn-arrow::before {
  left: -1px;
  top: -1px;
  width: 100%;
  height: 100%;
  background: #d7063b;
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
  border: 1px solid #d7063b;
}

.c-pagination .btn-arrow::after {
  width: 0.6rem;
  height: 0.6rem;
  background: #fff;
  -webkit-transition: -webkit-transform 0.2s ease-in-out;
  transition: -webkit-transform 0.2s ease-in-out;
  transition: transform 0.2s ease-in-out;
  transition: transform 0.2s ease-in-out, -webkit-transform 0.2s ease-in-out;
}

.c-pagination .btn-arrow .svg {
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
}

.c-pagination .btn-arrow .svg path {
  fill: #d7063b;
}

.c-pagination .btn-arrow.btn-next {
  margin-left: 7rem;
}

.c-pagination .btn-arrow.btn-prev {
  margin-right: 7rem;
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}

.c-pagination .btn-arrow.is-disable {
  border-color: #989898;
  pointer-events: none;
}

.c-pagination .btn-arrow.is-disable .svg path {
  fill: #989898;
}

@media screen and (min-width: 769px) {
  .c-pagination .btn-arrow:hover {
    opacity: 1;
  }
  .c-pagination .btn-arrow:hover::before,
  .c-pagination .btn-arrow:hover::after {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  .c-pagination .btn-arrow:hover .svg {
    opacity: 0;
  }
}

@media screen and (max-width: 768px) {
  .c-pagination .page {
    width: 4rem;
    height: 4rem;
    font-size: 1.4rem;
    line-height: 2.85714;
  }
  .c-pagination .btn-arrow {
    width: 4rem;
    height: 4rem;
  }
  .c-pagination .btn-arrow.btn-next {
    margin-left: auto;
  }
  .c-pagination .btn-arrow.btn-prev {
    margin-right: auto;
  }
}

.os-scrollbar {
  background: #e5e5e5 !important;
  border-radius: 1rem;
  padding: 0 !important;
  right: 2rem !important;
  height: 0.8rem !important;
}

.os-scrollbar .os-scrollbar-track > .os-scrollbar-handle {
  background: #b6b6b6 !important;
}

/** home
======================================= **/
@keyframes header_animate {
  0% {
    opacity: 0;
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
  25% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

@-webkit-keyframes header-image {
  0% {
    width: 0;
  }
  100% {
    width: 100%;
  }
}

@keyframes header-image {
  0% {
    width: 0;
  }
  100% {
    width: 100%;
  }
}

@-webkit-keyframes anime {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 1;
  }
  60% {
    opacity: 0;
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
    z-index: 10;
  }
  100% {
    opacity: 0;
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
  }
}

@keyframes anime {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 1;
  }
  60% {
    opacity: 0;
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
    z-index: 10;
  }
  100% {
    opacity: 0;
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
  }
}

@keyframes infinity-scroll-left {
  from {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
  }
}

@-webkit-keyframes blurAnime {
  from {
    -webkit-filter: blur(10px);
    filter: blur(10px);
    -webkit-transform: scale(1.02);
    transform: scale(1.02);
    opacity: 0;
  }
  to {
    -webkit-filter: blur(0);
    filter: blur(0);
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
}

@keyframes blurAnime {
  from {
    -webkit-filter: blur(10px);
    filter: blur(10px);
    -webkit-transform: scale(1.02);
    transform: scale(1.02);
    opacity: 0;
  }
  to {
    -webkit-filter: blur(0);
    filter: blur(0);
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
}

@-webkit-keyframes rotation {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@keyframes rotation {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

.p-wrapper {
  opacity: 0;
  visibility: hidden;
  -webkit-transition-duration: 0.5s;
  transition-duration: 0.5s;
}

.p-wrapper.is-active {
  opacity: 1;
  visibility: visible;
}

.blurTrigger {
  opacity: 0;
}

.blurTrigger.active {
  -webkit-animation-name: blurAnime;
  animation-name: blurAnime;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
}

.main-visual {
  position: relative;
  padding: 8.8rem 1.6rem 10rem;
  background: url(../img/top/bg_kv.png) no-repeat center/cover;
}

.main-visual:before,
.main-visual:after {
  position: absolute;
  content: "";
  width: 100%;
  left: 0;
  z-index: -1;
}

.main-visual:before {
  height: 27.4rem;
  top: 0;
  background: -webkit-gradient(
    linear,
    left top,
    left bottom,
    from(#f3eeee),
    to(rgba(217, 217, 217, 0))
  );
  background: linear-gradient(180deg, #f3eeee 0%, rgba(217, 217, 217, 0) 100%);
}

.main-visual:after {
  height: 23.7rem;
  bottom: 0;
  background: -webkit-gradient(
    linear,
    left top,
    left bottom,
    from(#fafafa),
    to(rgba(239, 239, 239, 0))
  );
  background: linear-gradient(180deg, #fafafa 0%, rgba(239, 239, 239, 0) 100%);
}

.main-visual_inner {
  width: calc((100% - 1120px) / 2 + 1120px);
  margin-left: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  /* justify-content: space-between; */
  justify-content: flex-start;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  grid-gap: 8rem;
  z-index: 2;
  position: relative;
}

.main-visual .mv-ttl {
  font-size: 3.6rem;
  font-weight: bold;
  line-height: 160%;
  letter-spacing: 0.1em;
  margin-bottom: 3.2rem;
}

.main-visual .mv-txt {
  font-size: 2rem;
  font-weight: bold;
  line-height: 150%;
  letter-spacing: 0.1em;
  margin-bottom: 5.6rem;
}

.main-visual .mv-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
}

.main-visual .mv-btn_item {
  width: calc(50% - 0.8rem);
  border-radius: 0.4rem;
  overflow: hidden;
}

.main-visual .mv-btn_item .button-more {
  width: 100%;
  border: 2px solid #d7063b;
  padding: 0 2.4rem 0 2.4rem;
}

.main-visual .mv-btn_item .button-more .txt {
  color: #d7063b;
}

.main-visual .mv-btn_item .button-more .arrow {
  background: #d7063b;
}

.main-visual .mv-btn_item .button-more.rec {
  background: #d7063b;
  position: relative;
}

.main-visual .mv-btn_item .button-more.rec:before {
  content: "";
  position: absolute;
  top: -2px;
  left: -2px;
  z-index: 1;
  background: #010101;
  width: calc(100% + 4px);
  height: calc(100% + 4px);
  -webkit-transition: -webkit-transform 0.6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transition: -webkit-transform 0.6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transition: transform 0.6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transition: transform 0.6s cubic-bezier(0.8, 0, 0.2, 1) 0s,
    -webkit-transform 0.6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  -webkit-transform: scale(0, 1);
  transform: scale(0, 1);
  -webkit-transform-origin: right top;
  transform-origin: right top;
  border-radius: 0.4rem;
}

.main-visual .mv-btn_item .button-more.rec .txt {
  color: #fff;
  position: relative;
  z-index: 2;
}

.main-visual .mv-btn_item .button-more.rec .arrow {
  background: #fff;
  z-index: 3;
}

.main-visual .mv-btn_item .button-more.rec .arrow:before {
  background: #d7063b;
}

.main-visual .mv-btn_item .button-more.rec .arrow:after {
  background: #fff;
}

.main-visual .mv-btn_item .button-more.rec .arrow .svg path {
  fill: #d7063b;
}

.main-visual .mv-btn_item .button-more.rec:hover:before {
  -webkit-transform-origin: left top;
  transform-origin: left top;
  -webkit-transform: scale(1, 1);
  transform: scale(1, 1);
}

.main-visual .mv-btn_item .button-more.car {
  position: relative;
  background: #fff;
}

.main-visual .mv-btn_item .button-more.car:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  background: #ececec;
  width: 100%;
  height: 100%;
  -webkit-transition: -webkit-transform 0.6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transition: -webkit-transform 0.6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transition: transform 0.6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transition: transform 0.6s cubic-bezier(0.8, 0, 0.2, 1) 0s,
    -webkit-transform 0.6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  -webkit-transform: scale(0, 1);
  transform: scale(0, 1);
  -webkit-transform-origin: right top;
  transform-origin: right top;
}

.main-visual .mv-btn_item .button-more.car .txt {
  position: relative;
  z-index: 2;
}

.main-visual .mv-btn_item .button-more.car .arrow {
  z-index: 3;
}

.main-visual .mv-btn_item .button-more.car .arrow:before {
  background: #010101;
}

.main-visual .mv-btn_item .button-more.car .arrow:after {
  background: #fff;
}

.main-visual .mv-btn_item .button-more.car .arrow .svg path {
  fill: #fff;
}

.main-visual .mv-btn_item .button-more.car:hover {
  border-color: #010101;
}

.main-visual .mv-btn_item .button-more.car:hover .txt {
  color: #010101;
}

.main-visual .mv-btn_item .button-more.car:hover:before {
  -webkit-transform-origin: left top;
  transform-origin: left top;
  -webkit-transform: scale(1, 1);
  transform: scale(1, 1);
}

.main-visual .mv-btn_item .button-more.car:hover .arrow .svg path {
  fill: #fff;
}

.main-visual .mv-ctn {
  width: calc(428 / 1200 * 100%);
}

.main-visual .js-sliderImage {
  position: relative;
  z-index: -1;
}

.main-visual .js-sliderImage img {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  -o-object-position: 0 0;
  object-position: 0 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.main-visual .js-sliderImage img:nth-child(n + 2) {
  z-index: -1;
}

.main-visual .js-sliderImage.a > img:nth-child(1),
.main-visual .js-sliderImage.b > img:nth-child(2) {
  width: 0;
  z-index: 3;
  -webkit-animation: header-image 1.5s cubic-bezier(0.45, 0.2, 0.1, 1) forwards;
  animation: header-image 1.5s cubic-bezier(0.45, 0.2, 0.1, 1) forwards;
}

.main-visual .js-sliderImage.a > img:nth-child(2),
.main-visual .js-sliderImage.b > img:nth-child(2) {
  width: 100%;
  z-index: 2;
}

.main-visual .mv-img {
  width: calc(676 / 1200 * 100%);
}

.main-visual .mv-img_row1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.main-visual .mv-img_row1_left {
  width: calc(279 / 676 * 100%);
  padding-bottom: 47.25%;
  aspect-ratio: 279 / 318;
}

.main-visual .mv-img_row1_right {
  width: calc(381 / 676 * 100%);
  padding-bottom: 47.25%;
  aspect-ratio: 381 / 319;
}

.main-visual .mv-img_row2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-top: 1.6rem;
}

.main-visual .mv-img_row2_left {
  width: calc(427 / 676 * 100%);
}

.main-visual .mv-img_row2_left_top {
  margin-bottom: 1.6rem;
}

.main-visual .mv-img_row2_left_top ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.main-visual .mv-img_row2_left_top ul li:nth-child(1) {
  width: calc(185 / 427 * 100%);
  padding-bottom: 43%;
  aspect-ratio: 185 / 185;
}

.main-visual .mv-img_row2_left_top ul li:nth-child(2) {
  width: calc(226 / 427 * 100%);
  padding-bottom: 43.5%;
  aspect-ratio: 226 / 185;
}

.main-visual .mv-img_row2_left_bottom {
  padding-bottom: 43.5%;
  aspect-ratio: 427 / 185;
}

.main-visual .mv-img_row2_right {
  width: calc(233 / 676 * 100%);
  padding-bottom: 57.25%;
  aspect-ratio: 233 / 386;
}

@media screen and (max-width: 768px) {
  .main-visual {
    padding: 11.2rem 2rem 5.6rem;
  }
  .main-visual_inner {
    width: 100%;
    display: block;
  }
  .main-visual .mv-ctn {
    width: 100%;
    margin-bottom: 5.6rem;
  }
  .main-visual .mv-ttl {
    font-size: 2.4rem;
    line-height: 160%;
    margin-bottom: 0.8rem;
  }
  .main-visual .mv-txt {
    font-size: 1.6rem;
    margin-bottom: 2.4rem;
  }
  .main-visual .mv-btn_item {
    width: calc(50% - 0.5rem);
  }
  .main-visual .mv-btn_item .button-more {
    padding: 0 1.2rem 0 1.6rem;
  }
  .main-visual .mv-btn_item .button-more .arrow {
    right: 1.2rem;
    width: 2.8rem;
    height: 2.8rem;
  }
  .main-visual .mv-img {
    width: 100%;
  }
  .main-visual .mv-img_row1_left {
    width: 13.8rem;
    border-radius: 0.4rem;
    overflow: hidden;
  }
  .main-visual .mv-img_row1_right {
    width: 18.9rem;
    border-radius: 0.4rem;
    overflow: hidden;
  }
  .main-visual .mv-img_row2 {
    margin-top: 0.8rem;
  }
  .main-visual .mv-img_row2_left {
    width: 21.2rem;
  }
  .main-visual .mv-img_row2_left_bottom {
    border-radius: 0.4rem;
    overflow: hidden;
  }
  .main-visual .mv-img_row2_left_top {
    margin-bottom: 0.8rem;
    border-radius: 0.4rem;
    overflow: hidden;
  }
  .main-visual .mv-img_row2_left_top ul li {
    border-radius: 0.4rem;
    overflow: hidden;
  }
  .main-visual .mv-img_row2_left_top ul li:nth-child(1) {
    width: 11.2rem;
  }
  .main-visual .mv-img_row2_left_top ul li:nth-child(2) {
    width: 9.2rem;
  }
  .main-visual .mv-img_row2_right {
    width: 11.5rem;
    border-radius: 0.4rem;
    overflow: hidden;
  }
}

@media screen and (min-width: 1280px) {
  .main-visual .mv-img {
    max-width: calc(100vh - 16rem);
  }
}

.p-top {
  overflow: hidden;
  margin-top: 0;
}

.p-top_news {
  padding: 8rem 0;
  background: #fff;
}

@media screen and (max-width: 768px) {
  .p-top_news {
    padding: 5.6rem 0;
  }
}

@media screen and (min-width: 769px) {
  .p-top_news .container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-column-gap: 6rem;
    -moz-column-gap: 6rem;
    column-gap: 6rem;
  }
}

.p-top_news .heading-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-flow: column;
  flex-flow: column;
  margin: 0;
}

.p-top_news .heading-box_btn {
  padding-left: 3.2rem;
  margin-top: auto;
}

.p-top_news .heading-box_btn:before {
  width: 2.4rem;
}

@media screen and (max-width: 768px) {
  .p-top_news .heading-box {
    margin-bottom: 4rem;
    display: block;
  }
}

.p-top_news .newsList {
  width: 78.8rem;
}

.p-top_news .newsList .p-news-list {
  padding: 0;
}

.p-top_news .newsList .p-news-item {
  border: none;
}

.p-top_news .newsList .p-news-item + .p-news-item {
  margin-top: 4rem;
}

.p-top_news .newsList .p-news-item a {
  padding: 0;
}

.p-top_news .newsList-item + .newsList-item {
  margin-top: 4rem;
}

.p-top_news .newsList-item_time {
  display: inline-block;
  color: #d7063b;
  font-weight: bold;
  line-height: 1;
  font-family: "DM Sans", sans-serif;
  letter-spacing: 0;
  white-space: nowrap;
}

.p-top_news .newsList-item_cat {
  display: inline-block;
  line-height: 1;
  padding: 0.8rem;
  font-weight: bold;
  font-size: 1.2rem;
  letter-spacing: 0.05em;
  background: #e6e7e9;
  margin: 0 2rem 0 3.2rem;
  min-width: 9rem;
  text-align: center;
}

.p-top_news .newsList-item_ttl {
  font-style: normal;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0.05em;
  text-decoration: underline;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.p-top_news .newsList-item_link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

@media screen and (max-width: 768px) {
  .p-top_news .newsList {
    width: 100%;
  }
  .p-top_news .newsList-item_ttl {
    width: 100%;
    margin-top: 1.2rem;
  }
  .p-top_news .newsList-item_link {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .p-top_news .newsList .p-news-item .item-ttl {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}

.p-top_concept {
  padding: 12rem 0 16rem;
  background: -webkit-gradient(
    linear,
    left top,
    left bottom,
    from(#fafafa),
    to(rgba(239, 239, 239, 0))
  );
  background: linear-gradient(180deg, #fafafa 0%, rgba(239, 239, 239, 0) 100%);
  position: relative;
}

.p-top_concept .container {
  position: relative;
}

.p-top_concept .container:before {
  position: absolute;
  content: "";
  width: 49.2rem;
  height: 27rem;
  left: -9rem;
  top: -13.6rem;
  background: url(../img/top/cpt_before.png) left top no-repeat;
  background-size: cover;
  -webkit-animation: rotation 10s linear infinite;
  animation: rotation 10s linear infinite;
}

.p-top_concept .container:after {
  position: absolute;
  content: "";
  width: 40.6rem;
  height: 23.6rem;
  right: -5rem;
  bottom: -12.5rem;
  background: url(../img/top/cpt_after.png) left top no-repeat;
  background-size: cover;
  -webkit-animation: rotation 10s linear infinite;
  animation: rotation 10s linear infinite;
}

@-webkit-keyframes rotation-x {
  0% {
    -webkit-transform: rotateX(0deg);
    transform: rotateX(0deg);
  }
  100% {
    -webkit-transform: rotateX(360deg);
    transform: rotateX(360deg);
  }
}

@keyframes rotation-x {
  0% {
    -webkit-transform: rotateX(0deg);
    transform: rotateX(0deg);
  }
  100% {
    -webkit-transform: rotateX(360deg);
    transform: rotateX(360deg);
  }
}

.p-top_concept .concept-row {
  border-radius: 0.4rem;
  background: rgba(255, 255, 255, 0.7);
  -webkit-box-shadow: 0 10px 4px 0 rgba(207, 207, 207, 0.25);
  box-shadow: 0 10px 4px 0 rgba(207, 207, 207, 0.25);
  -webkit-backdrop-filter: blur(2px);
  backdrop-filter: blur(2px);
  padding: 6.4rem 11rem 6.4rem 8rem;
  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;
  position: relative;
  z-index: 3;
}

.p-top_concept .concept-row h2 {
  font-size: 3.6rem;
  font-weight: 700;
  line-height: 160%;
  /* 57.6px */
  letter-spacing: 0.1em;
}

.p-top_concept .concept-row p {
  line-height: 250%;
  letter-spacing: 0.05em;
  font-weight: 400;
}

.p-top_concept .concept-row p span {
  font-weight: 500;
  color: #d7063b;
}

@media screen and (max-width: 768px) {
  .p-top_concept {
    padding: 5.6rem 0;
  }
  .p-top_concept .container:before {
    width: 21.4rem;
    height: 23.4rem;
    background-image: url("../img/top/cpt_before_sp.png");
    top: -10rem;
    left: 0;
  }
  .p-top_concept .container::after {
    bottom: 12.4rem;
  }
  .p-top_concept .concept-row {
    padding: 4rem 2rem;
    display: block;
  }
  .p-top_concept .concept-row h2 {
    font-size: 2.4rem;
    margin-bottom: 3.2rem;
  }
  .p-top_concept .concept-row p {
    font-size: 1.6rem;
    line-height: 200%;
  }
  .p-top_concept .concept-row p span {
    font-weight: 400;
    color: #d7063b;
  }
}

.p-top_about {
  padding: 12rem 0;
  background: #f6f6f6;
}

@media screen and (max-width: 768px) {
  .p-top_about {
    padding: 5.6rem 0 3.2rem;
  }
}

@media screen and (min-width: 769px) {
  .p-top_about .top-about_row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}

@media screen and (min-width: 769px) {
  .p-top_about .top-about_row_links {
    width: 54.4rem;
  }
}

.p-top_about .top-about_row_rens {
  width: 54.4rem;
  background: #fff;
  position: relative;
}

.p-top_about .top-about_row_rens a {
  padding: 4rem 4rem 6rem;
  display: block;
  height: 100%;
}

.p-top_about .top-about_row_rens .button-more {
  position: absolute;
  right: 1.6rem;
  bottom: 2.4rem;
}

.p-top_about .top-about_row_rens .img {
  margin-bottom: 6rem;
  position: relative;
}

.p-top_about .top-about_row_rens .img > div {
  background: #d7063b;
  padding: 2.4rem 3.2rem;
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  text-align: center;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-flow: column;
  flex-flow: column;
}

.p-top_about .top-about_row_rens .img > div .ja {
  font-size: 1.8rem;
  font-weight: bold;
  display: inline-block;
  line-height: 130%;
  letter-spacing: 0.1em;
}

.p-top_about .top-about_row_rens .img > div .en {
  font-size: 2.6rem;
  font-weight: bold;
  line-height: 130%;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 768px) {
  /* 追加 */
  .p-top_about .top-about_row_rens {
    margin-top: 1.6rem;
  }
  /* 追加 */
  .p-top_about .top-about_row_rens a {
    padding: initial;
  }
  /* 追加 */
  .p-top_about .top-about_row .top-about_row_rens .abus-box_btn {
    margin-top: 0;
  }
  .p-top_about .top-about_row_rens .img {
    margin-bottom: 2.4rem;
  }
  .p-top_about .top-about_row_rens .img > div {
    padding: 1.6rem 3.6rem;
  }
  .p-top_about .top-about_row_rens .img > div .ja {
    font-size: 1.4rem;
  }
  .p-top_about .top-about_row_rens .img > div .en {
    font-size: 2.2rem;
  }
}

.p-top_about .top-about_row_rens .head .en {
  font-size: 2.2rem;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0;
  font-family: "DM Sans", sans-serif;
}

.p-top_about .top-about_row_rens .head .en .en-red {
  color: #d7063b;
}

.p-top_about .top-about_row_rens .head .ja {
  display: inline-block;
  line-height: 1;
  font-weight: bold;
  letter-spacing: 0.1em;
  margin-top: 0.8rem;
  font-size: 1.4rem;
}

.p-top_about .top-about_row_rens .head .ja .ja-red {
  color: #d7063b;
}

.p-top_about .top-about_row_rens .copy {
  line-height: 160%;
  margin: 3.2rem 0 0;
  font-weight: 400;
  line-height: 160%;
  letter-spacing: 0.05em;
}

@media screen and (max-width: 768px) {
  .p-top_about .top-about_row_rens {
    width: 100%;
    padding: 2rem;
  }
  .p-top_about .top-about_row_rens .button-more {
    position: static;
    margin-left: auto;
    margin-top: 2.8rem;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
  }
}

.p-top_about .top-about_row .abus-box {
  background: #fff;
}

.p-top_about .top-about_row .abus-box a {
  padding: 3.2rem 1.6rem 2.4rem 4rem;
  display: block;
  border-radius: 0.4rem;
}

.p-top_about .top-about_row .abus-box a:hover .button {
  color: #d7063b;
}

/* 追加 */
.p-top_about .top-about_row .top-about_row_rens .txt {
  color: #010101;
}

.p-top_about .top-about_row .abus-box a:hover .arrow::before {
  -webkit-transform: scale(1.25);
  transform: scale(1.25);
}

/* 追加 */
.p-top_about .top-about_row .top-about_row_rens a:hover .arrow::before {
  -webkit-transform: scale(1.25);
  transform: scale(1.25);
}

.p-top_about .top-about_row .abus-box a:hover .arrow::after {
  -webkit-transform: scale(1);
  transform: scale(1);
}

/* 追加 */
.p-top_about .top-about_row .top-about_row_rens a:hover .arrow::after {
  -webkit-transform: scale(1);
  transform: scale(1);
}

.p-top_about .top-about_row .abus-box_ttl {
  margin-bottom: 1.6rem;
}

.p-top_about .top-about_row .abus-box_ttl .en {
  font-size: 2.2rem;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0;
  font-family: "DM Sans", sans-serif;
}

.p-top_about .top-about_row .abus-box_ttl .ja {
  display: inline-block;
  line-height: 1;
  font-weight: bold;
  letter-spacing: 0.1em;
  margin-top: 0.8rem;
}

.p-top_about .top-about_row .abus-box_txt {
  line-height: 160%;
  font-weight: 400;
  letter-spacing: 0.05em;
}

.p-top_about .top-about_row .abus-box_btn {
  margin: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

.p-top_about .top-about_row .abus-box_btn .button {
  pointer-events: none;
}

.p-top_about .top-about_row .abus-box + .abus-box {
  margin-top: 1.6rem;
}

@media screen and (max-width: 768px) {
  .p-top_about .top-about_row .abus-box a {
    padding: 2.4rem 2rem 2rem 2rem;
  }
  .p-top_about .top-about_row .abus-box_btn {
    margin-top: 2.8rem;
  }
}

.p-top_about .top-about_docs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  grid-gap: 7rem;
  padding: 4rem;
  background: #fff;
  border-radius: 0.4rem;
  margin-top: 1.6rem;
}

.p-top_about .top-about_docs_left {
  width: 32.6rem;
}

.p-top_about .top-about_docs_left .head {
  margin-bottom: 3.2rem;
}

.p-top_about .top-about_docs_left .head .en {
  font-size: 2.2rem;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0;
  font-family: "DM Sans", sans-serif;
}

.p-top_about .top-about_docs_left .head .ja {
  display: inline-block;
  line-height: 1;
  font-weight: bold;
  letter-spacing: 0.1em;
  margin-top: 0.8rem;
}

.p-top_about .top-about_docs_left .txt {
  line-height: 160%;
  font-weight: 400;
}

.p-top_about .top-about_docs_right {
  width: 64.4rem;
}

@media screen and (max-width: 768px) {
  .p-top_about .top-about_docs {
    display: block;
    padding: 2.4rem 2rem 3.2rem;
  }
  .p-top_about .top-about_docs_left {
    width: 100%;
    margin-bottom: 2.5rem;
  }
  .p-top_about .top-about_docs_left .head {
    margin-bottom: 2.4rem;
  }
  .p-top_about .top-about_docs_right {
    width: 100%;
  }
}

.p-top_company {
  padding: 12rem 0;
  background: url(../img/top/cpn_bg.png) right center no-repeat;
  background-size: cover;
}

@media screen and (max-width: 768px) {
  .p-top_company {
    padding: 5.6rem 0;
  }
}

.p-top_company .top-company_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  -webkit-column-gap: 1.6rem;
  -moz-column-gap: 1.6rem;
  column-gap: 1.6rem;
}

.p-top_company .top-company_item {
  width: calc(100% / 3 - 1.1rem);
}

.p-top_company .top-company_item:nth-child(1) {
  -webkit-transition-delay: 0.05s;
  transition-delay: 0.05s;
}

.p-top_company .top-company_item:nth-child(2) {
  -webkit-transition-delay: 0.1s;
  transition-delay: 0.1s;
}

.p-top_company .top-company_item:nth-child(3) {
  -webkit-transition-delay: 0.15s;
  transition-delay: 0.15s;
}

.p-top_company .top-company_item_img {
  width: 8.8rem;
}

.p-top_company .top-company_item_ctn {
  display: block;
  width: calc(100% - 11.2rem);
}

.p-top_company .top-company_item_ctn .en {
  display: block;
  font-size: 2.2rem;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0;
  font-family: "DM Sans", sans-serif;
}

.p-top_company .top-company_item_ctn .ja {
  display: block;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 1;
  margin-top: 0.8rem;
}

.p-top_company .top-company_item_link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-column-gap: 2.4rem;
  -moz-column-gap: 2.4rem;
  column-gap: 2.4rem;
  background: #fff;
  border-radius: 0.4rem;
  padding: 2.4rem;
  width: 100%;
  position: relative;
}

.p-top_company .top-company_item .arrow {
  position: absolute;
  right: 1.6rem;
  bottom: 2.4rem;
}

.p-top_company .top-company_item .arrow::before {
  background: #d7063b;
}

.p-top_company .top-company_item .arrow::after {
  background: #fff;
}

@media screen and (max-width: 768px) {
  .p-top_company .top-company_list {
    display: block;
  }
  .p-top_company .top-company_item {
    width: 100%;
  }
  .p-top_company .top-company_item + .top-company_item {
    margin-top: 1.6rem;
  }
  .p-top_company .top-company_item_img {
    width: 9rem;
  }
  .p-top_company .top-company_item_ctn {
    width: calc(100% - 11.4rem);
  }
  .p-top_company .top-company_item_ctn .en {
    font-size: 2rem;
  }
  .p-top_company .top-company_item_ctn .ja {
    font-size: 1.4rem;
  }
  .p-top_company .top-company_item_link {
    padding: 2.4rem 2rem;
  }
  .p-top_company .top-company_item .arrow {
    right: 1.6rem;
    bottom: 1.6rem;
  }
}

.p-top_job {
  padding: 12rem 0;
}

@media screen and (max-width: 768px) {
  .p-top_job {
    padding: 5.6rem 0;
  }
}

.p-top_job .top-jobList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  margin-bottom: 4rem;
}

.p-top_job .top-jobList_item {
  width: calc(100% / 4);
}

.p-top_job .top-jobList_item_link {
  display: block;
  position: relative;
}

.p-top_job .top-jobList_item_link:after {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  background: rgba(0, 0, 0, 0.5);
}

.p-top_job .top-jobList_item_ctn {
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  color: #fff;
  z-index: 1;
}

.p-top_job .top-jobList_item_ctn .txt {
  font-size: 2.4rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 120%;
  writing-mode: vertical-rl;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: vertical-rl;
}

.p-top_job .top-jobList_item_ctn .arrow {
  display: none;
}

@media screen and (min-width: 769px) {
  .p-top_job .c-job-box {
    height: calc(100vw / (1280 / 360));
    min-height: 36rem;
  }
}

.p-top_job .top-jobLinks {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  -webkit-column-gap: 3.4rem;
  -moz-column-gap: 3.4rem;
  column-gap: 3.4rem;
  margin-top: 4rem;
}

.p-top_job .top-jobLinks_colWrap {
  width: calc(50% - 1.7rem);
}

.p-top_job .top-jobLinks_col {
  background: #e9e9e9;
  -webkit-backdrop-filter: blur(2px);
  backdrop-filter: blur(2px);
  padding: 4rem 4rem 3.6rem;
  border-top: 1px solid #010101;
  border-bottom: 1px solid #010101;
}

.p-top_job .top-jobLinks_col:nth-child(1) {
  -webkit-transition-delay: 0.05s;
  transition-delay: 0.05s;
}

.p-top_job .top-jobLinks_col:nth-child(2) {
  -webkit-transition-delay: 0.1s;
  transition-delay: 0.1s;
}

.p-top_job .top-jobLinks_col + .top-jobLinks_col {
  margin-top: 2.4rem;
}

.p-top_job .top-jobLinks_col .heding-lv3 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 1rem;
  -moz-column-gap: 1rem;
  column-gap: 1rem;
  margin-bottom: 1rem;
}

.p-top_job .top-jobLinks_col .heding-lv3 .en {
  font-size: 2.2rem;
}

.p-top_job .top-jobLinks_col:nth-child(2) .top-jobLinks_list {
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

.p-top_job .top-jobLinks_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  -webkit-column-gap: 4rem;
  -moz-column-gap: 4rem;
  column-gap: 4rem;
  margin-top: 4rem;
}

.p-top_job .top-jobLinks_list li a .txt {
  font-size: 1.4rem;
}

.p-top_job .top-jobLinks_list li + li {
  border-left: 1px solid #666666;
  padding-left: 4rem;
}

.p-top_job .top-jobLinks_image {
  margin-top: 3.6rem;
}

@media screen and (max-width: 768px) {
  .p-top_job .top-jobLinks {
    display: block;
  }
  .p-top_job .top-jobLinks_colWrap {
    width: 100%;
  }
  .p-top_job .top-jobLinks_colWrap + .top-jobLinks_colWrap {
    margin-top: 1.6rem;
  }
  .p-top_job .top-jobLinks_col {
    padding: 2.4rem 2rem;
  }
  .p-top_job .top-jobLinks_col + .top-jobLinks_col {
    margin-top: 1.6rem;
  }
  .p-top_job .top-jobLinks_col .heding-lv3 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-flow: column;
    flex-flow: column;
    grid-gap: 0.8rem;
    margin-bottom: 2.4rem;
  }
  .p-top_job .top-jobLinks_col .heding-lv3 .en {
    font-size: 2rem;
  }
  .p-top_job .top-jobLinks_lead {
    font-size: 1.6rem;
    line-height: 160%;
    letter-spacing: 0.05em;
  }
  .p-top_job .top-jobLinks_list {
    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: end;
    -ms-flex-align: end;
    align-items: flex-end;
  }
  .p-top_job .top-jobLinks_list li + li {
    border-left: none;
    border-top: 1px solid #666666;
    padding-left: 0;
    padding-top: 1.2rem;
    margin-top: 1.2rem;
  }
}

.p-top_job .top-jobSupport {
  margin: 8rem 0 0;
}

@media screen and (max-width: 768px) {
  .p-top_job .top-jobSupport {
    margin: 5.6rem 0 0;
  }
}

.p-top_job .top-jobSupport_ttl {
  font-size: 2.4rem;
  font-weight: bold;
  margin-bottom: 1.4rem;
}

@media screen and (max-width: 768px) {
  .p-top_job .top-jobSupport_ttl {
    font-size: 2rem;
    margin-bottom: 2.4rem;
  }
}

.p-top_job .top-jobSupport_txt {
  margin-bottom: 3.2rem;
}

@media screen and (max-width: 768px) {
  .p-top_job .top-jobSupport_txt {
    margin-bottom: 2.4rem;
  }
}

.p-top_job .top-jobSupport_slider {
  margin-top: 3.2rem;
}

.p-top_job .top-jobSupport_slider .container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  -webkit-column-gap: 3.2rem;
  -moz-column-gap: 3.2rem;
  column-gap: 3.2rem;
  max-width: unset;
}

.p-top_job .top-jobSupport_slider_item {
  width: 48.4rem !important;
}

.p-top_job .top-jobSupport_slider_item__link figure {
  margin-bottom: 2.4rem;
}

.p-top_job .top-jobSupport_slider_item__link span {
  display: block;
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: 0.1em;
}

.p-top_job .top-jobSupport_slider .slick-track {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  grid-gap: 3.2rem;
}

@media screen and (max-width: 768px) {
  .p-top_job .top-jobSupport_slider {
    padding-left: 2rem;
  }
  .p-top_job .top-jobSupport_slider_item {
    width: 24rem !important;
  }
  .p-top_job .top-jobSupport_slider_item__link figure {
    width: 100%;
    height: 25.6rem;
    border-radius: 0.4rem;
    overflow: hidden;
    margin-bottom: 1.6rem;
  }
  .p-top_job .top-jobSupport_slider_item__link figure img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
  }
  .p-top_job .top-jobSupport_slider_item__link span {
    font-size: 1.6rem;
  }
}

.p-top_job .top-jobSupport_wrap {
  width: calc((100% - 1120px) / 2 + 1120px);
  margin-left: auto;
}

@media screen and (max-width: 768px) {
  .p-top_job .top-jobSupport_wrap {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-flow: column-reverse;
    flex-flow: column-reverse;
  }
}

.p-top_job .top-jobSupport_wrap .slider-pag {
  max-width: 112rem;
  margin: 0;
}

.p-top_job .top-jobSupport_wrap .slider-nav {
  margin-left: auto;
}

.p-top_job .top-jobSupport_wrap .slider-nav .button .arrow {
  background: #dedede;
}

.p-top_job .top-jobSupport_wrap .slider-nav .button .arrow:before {
  background: #010101;
  z-index: 1;
}

.p-top_job .top-jobSupport_wrap .slider-nav .button .arrow:after {
  background: none;
  width: 0;
  height: 0;
  opacity: 0;
}

.p-top_job .top-jobSupport_wrap .slider-nav .button .arrow .svg path {
  stroke: #000;
  opacity: 0.5;
}

.p-top_job .top-jobSupport_wrap .slider-nav .button:hover .arrow:before {
  -webkit-transform: scale(1);
  transform: scale(1);
}

.p-top_job .top-jobSupport_wrap .slider-nav .button:hover .arrow .svg {
  opacity: 1;
}

.p-top_job .top-jobSupport_wrap .slider-nav .button:hover .arrow .svg path {
  stroke: #fff;
  opacity: 1;
}

.p-top_job .top-jobSupport_wrap .slider-nav .button.slick-disabled {
  pointer-events: none;
  opacity: 0.4;
}

@media screen and (max-width: 768px) {
  .p-top_job .top-jobSupport_wrap .slider-nav {
    margin: 3.4rem auto 0;
  }
  .p-top_job .top-jobSupport_wrap .slider-nav .button .arrow {
    width: 5.6rem;
    height: 5.6rem;
  }
}

.p-top_works {
  padding: 12rem 0 8rem;
  background: #f2f1f1;
  position: relative;
}

@media screen and (max-width: 768px) {
  .p-top_works {
    padding: 5.6rem 0 4.8rem 0;
  }
}

.p-top_works:before {
  position: absolute;
  content: "";
  width: 47.2rem;
  height: 36.8rem;
  right: -3rem;
  top: -10rem;
  background: url(../img/top/w_after.png) left top no-repeat;
  background-size: cover;
  -webkit-filter: blur(10px);
  filter: blur(10px);
}

.p-top_works:after {
  position: absolute;
  content: "";
  width: 100%;
  height: 50%;
  bottom: 0;
  left: 0;
  background: #1a2127;
}

.p-top_works .heading-box {
  margin-bottom: 5.6rem;
}

@media screen and (max-width: 768px) {
  .p-top_works .heading-box {
    margin-bottom: 4rem;
  }
}

.p-top_works .top-works_img {
  position: relative;
  z-index: 1;
}

.p-top_works .top-works_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  -webkit-column-gap: 3.2rem;
  -moz-column-gap: 3.2rem;
  column-gap: 3.2rem;
  grid-row-gap: 2.4rem;
  position: relative;
  z-index: 2;
  margin: -23rem 0 0;
}

.p-top_works .top-works_item {
  width: calc(100% / 2 - 1.6rem);
}

.p-top_works .top-works_item:nth-child(1) {
  -webkit-transition-delay: 0.05s;
  transition-delay: 0.05s;
}

.p-top_works .top-works_item:nth-child(2) {
  -webkit-transition-delay: 0.1s;
  transition-delay: 0.1s;
}

.p-top_works .top-works_item:nth-child(3) {
  -webkit-transition-delay: 0.15s;
  transition-delay: 0.15s;
}

.p-top_works .top-works_item:nth-child(4) {
  -webkit-transition-delay: 0.2s;
  transition-delay: 0.2s;
}

@media screen and (max-width: 768px) {
  .p-top_works .top-works_img {
    height: 23.6rem;
  }
  .p-top_works .top-works_img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
  }
  .p-top_works .top-works_list {
    display: block;
    margin: -11rem 0 0;
  }
  .p-top_works .top-works_item {
    width: 100%;
  }
  .p-top_works .top-works_item + .top-works_item {
    margin-top: 0.8rem;
  }
}

.p-top_introduction {
  padding: 12rem 0;
  position: relative;
  overflow: hidden;
}

@media screen and (max-width: 768px) {
  .p-top_introduction {
    padding: 5.6rem 0;
  }
}

.p-top_introduction:before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  opacity: 0.6;
  z-index: -1;
  background: -webkit-gradient(
    linear,
    left top,
    right top,
    from(rgba(219, 220, 224, 0.3)),
    color-stop(13.31%, rgba(219, 220, 224, 0.7)),
    color-stop(28%, #dbdce0),
    color-stop(69.5%, #dbdce0),
    color-stop(85.5%, rgba(219, 220, 224, 0.7)),
    color-stop(100%, rgba(219, 220, 224, 0.3)),
    to(rgba(255, 255, 255, 0.5))
  );
  background: linear-gradient(
    90deg,
    rgba(219, 220, 224, 0.3) 0%,
    rgba(219, 220, 224, 0.7) 13.31%,
    #dbdce0 28%,
    #dbdce0 69.5%,
    rgba(219, 220, 224, 0.7) 85.5%,
    rgba(219, 220, 224, 0.3) 100%,
    rgba(255, 255, 255, 0.5) 100%
  );
}

.p-top_introduction:after {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  left: 0;
  top: 55%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  background: url(../img/top/int_bg.png) left center no-repeat;
  background-size: 100% auto;
  z-index: -1;
}

.p-top_introduction .heading-box {
  margin-bottom: 8rem;
}

.p-top_introduction .heading-box_btn {
  padding-left: 6.6rem;
}

.p-top_introduction .heading-box_btn:before {
  width: 5rem;
}

@media screen and (max-width: 768px) {
  .p-top_introduction .heading-box {
    margin-bottom: 4rem;
  }
}

.p-top_introduction .top-introduction {
  padding: 8rem;
  background: rgba(255, 255, 255, 0.95);
  -webkit-backdrop-filter: blur(2px);
  backdrop-filter: blur(2px);
}

.p-top_introduction .top-introduction_art + .top-introduction_art {
  margin-top: 8rem;
}

.p-top_introduction .top-introduction_art_ttl {
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0.1em;
  padding-bottom: 1.6rem;
  border-bottom: 1px solid #000000;
  margin-bottom: 4rem;
}

.p-top_introduction .top-introduction_art_sub {
  font-size: 2rem;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0.1em;
  margin-bottom: 2.4rem;
  margin-top: 4rem;
}

.p-top_introduction .top-introduction_art_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
}

@media screen and (max-width: 768px) {
  .p-top_introduction .top-introduction {
    padding: 4rem 2rem 4.8rem;
  }
  .p-top_introduction .top-introduction_art + .top-introduction_art {
    margin-top: 5.6rem;
  }
  .p-top_introduction .top-introduction_art_ttl {
    font-size: 2rem;
    padding-bottom: 1.1rem;
  }
  .p-top_introduction .top-introduction_art_sub {
    font-size: 1.6rem;
    margin-bottom: 1.6rem;
  }
  .p-top_introduction .top-introduction_art_list {
    display: block;
  }
}

.p-top_introduction .brandList {
  -webkit-column-gap: 3.3rem;
  -moz-column-gap: 3.3rem;
  column-gap: 3.3rem;
  grid-row-gap: 0.7rem;
}

.p-top_introduction .brandList-item {
  width: calc(100% / 3 - 2.2rem);
}

.p-top_introduction .brandList-item:nth-child(1) {
  -webkit-transition-delay: 0.05s;
  transition-delay: 0.05s;
}

.p-top_introduction .brandList-item:nth-child(2) {
  -webkit-transition-delay: 0.1s;
  transition-delay: 0.1s;
}

.p-top_introduction .brandList-item:nth-child(3) {
  -webkit-transition-delay: 0.15s;
  transition-delay: 0.15s;
}

.p-top_introduction .brandList-item:nth-child(4) {
  -webkit-transition-delay: 0.2s;
  transition-delay: 0.2s;
}

.p-top_introduction .brandList-item:nth-child(5) {
  -webkit-transition-delay: 0.25s;
  transition-delay: 0.25s;
}

.p-top_introduction .brandList-item:nth-child(6) {
  -webkit-transition-delay: 0.3s;
  transition-delay: 0.3s;
}

.p-top_introduction .brandList-item:nth-child(7) {
  -webkit-transition-delay: 0.35s;
  transition-delay: 0.35s;
}

.p-top_introduction .brandList-item:nth-child(8) {
  -webkit-transition-delay: 0.4s;
  transition-delay: 0.4s;
}

.p-top_introduction .brandList-item:nth-child(9) {
  -webkit-transition-delay: 0.45s;
  transition-delay: 0.45s;
}

.p-top_introduction .brandList-item:nth-child(10) {
  -webkit-transition-delay: 0.5s;
  transition-delay: 0.5s;
}

.p-top_introduction .brandList-item .button-more {
  padding: 3.3rem 0;
  border-bottom: 1px solid #d8d8de;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.p-top_introduction .brandList-item .button-more .txt {
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0.1em;
  position: static;
}

.p-top_introduction .brandList-item .button-more .txt::after {
  bottom: -1px;
}

.p-top_introduction .brandList-item .button-more:hover {
  border-color: #d7063b;
}

.p-top_introduction .brandList-item:last-child {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

.p-top_introduction .brandList-item:last-child .button-more {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  margin-left: auto;
}

@media screen and (max-width: 768px) {
  .p-top_introduction .brandList-item {
    width: 100%;
  }
  .p-top_introduction .brandList-item + .brandList-item {
    margin-top: 1.2rem;
  }
  .p-top_introduction .brandList-item .button-more {
    padding: 2rem 0;
  }
}

.p-top_introduction .divisionList {
  -webkit-column-gap: 1.5rem;
  -moz-column-gap: 1.5rem;
  column-gap: 1.5rem;
  grid-row-gap: 1.6rem;
}

.p-top_introduction .divisionList-item {
  width: calc(100% / 3 - 1rem);
}

.p-top_introduction .divisionList-item:nth-child(1) {
  -webkit-transition-delay: 0.05s;
  transition-delay: 0.05s;
}

.p-top_introduction .divisionList-item:nth-child(2) {
  -webkit-transition-delay: 0.1s;
  transition-delay: 0.1s;
}

.p-top_introduction .divisionList-item:nth-child(3) {
  -webkit-transition-delay: 0.15s;
  transition-delay: 0.15s;
}

.p-top_introduction .divisionList-item:nth-child(4) {
  -webkit-transition-delay: 0.2s;
  transition-delay: 0.2s;
}

.p-top_introduction .divisionList-item:nth-child(5) {
  -webkit-transition-delay: 0.25s;
  transition-delay: 0.25s;
}

.p-top_introduction .divisionList-item:nth-child(6) {
  -webkit-transition-delay: 0.3s;
  transition-delay: 0.3s;
}

.p-top_introduction .divisionList-item:nth-child(7) {
  -webkit-transition-delay: 0.35s;
  transition-delay: 0.35s;
}

.p-top_introduction .divisionList-item:nth-child(8) {
  -webkit-transition-delay: 0.4s;
  transition-delay: 0.4s;
}

.p-top_introduction .divisionList-item:nth-child(9) {
  -webkit-transition-delay: 0.45s;
  transition-delay: 0.45s;
}

.p-top_introduction .divisionList-item:nth-child(10) {
  -webkit-transition-delay: 0.5s;
  transition-delay: 0.5s;
}

.p-top_introduction .divisionList-item .button-icon {
  padding: 2rem 2.4rem;
}

.p-top_introduction .divisionList-item .button-icon .ico {
  width: 5.6rem;
  height: 5.6rem;
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
}

.p-top_introduction .divisionList-item .button-icon .txt {
  margin-left: 1.2rem;
  font-size: 1.6rem;
  line-height: 130%;
  padding-right: 1rem;
}

@media screen and (max-width: 768px) {
  .p-top_introduction .divisionList-item {
    width: 100%;
  }
  .p-top_introduction .divisionList-item + .divisionList-item {
    margin-top: 0.8rem;
  }
  .p-top_introduction .divisionList-item .button-icon {
    padding: 1.6rem;
  }
}

.p-top_introduction .divisionList-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  margin-top: 4rem;
}

.p-top_introduction .divisionList-btn .button-more:after {
  position: absolute;
  content: "";
  width: 100%;
  height: 1px;
  left: 0;
  bottom: -1.6rem;
  background: #d8d8de;
}

.p-top_introduction .divisionList-btn .button-more.no-bg .txt {
  position: static;
}

.p-top_introduction .divisionList-btn .button-more.no-bg .txt::after {
  bottom: -1.6rem;
  z-index: 2;
}

.p-top_interview {
  padding: 12rem 0 0;
}

@media screen and (max-width: 768px) {
  .p-top_interview {
    padding: 5.6rem 0 0;
  }
}

.p-top_interview .interviewTitle_sp {
  font-size: 2rem;
  font-weight: bold;
  line-height: 100%;
  letter-spacing: 0.1em;
  margin-bottom: 1.6rem;
  margin-top: 5.6rem;
}

.p-top_interview .top-interview {
  position: relative;
}

.p-top_interview .top-interview:after {
  position: absolute;
  content: "";
  width: calc((100% - 1120px) / 2 + 250px);
  height: 100%;
  left: 0;
  top: 0;
  background: #fff;
}

@media screen and (min-width: 769px) {
  .p-top_interview .top-interview .container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-column-gap: 4rem;
    -moz-column-gap: 4rem;
    column-gap: 4rem;
  }
}

.p-top_interview .top-interview_tab {
  width: 21.8rem;
  position: absolute;
  background: #fff;
  height: 100%;
  z-index: 2;
}

.p-top_interview .top-interview_tab li {
  font-size: 2rem;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0.1em;
  padding: 4rem 0;
  border-bottom: 1px solid #000000;
  cursor: pointer;
  position: relative;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.p-top_interview .top-interview_tab li:before {
  position: absolute;
  content: "・";
  font-weight: bold;
  font-size: 2rem;
  color: #d7063b;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  opacity: 0;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.p-top_interview .top-interview_tab li:first-child {
  border-top: 1px solid #000000;
}

.p-top_interview .top-interview_tab li.current,
.p-top_interview .top-interview_tab li:hover {
  color: #d7063b;
  padding-left: 2rem;
}

.p-top_interview .top-interview_tab li.current:before,
.p-top_interview .top-interview_tab li:hover:before {
  opacity: 1;
}

.p-top_interview .top-interview_tab .button-more {
  margin-top: 2.4rem;
}

@media screen and (max-width: 768px) {
  .p-top_interview .top-interview_tab {
    display: none;
  }
}

.p-top_interview .top-interview_body {
  width: calc((100% - 1120px) / 2 + 1070px);
  margin-left: 21.8rem;
  margin-right: 0;
}

@media screen and (max-width: 768px) {
  .p-top_interview .top-interview_body {
    width: 100%;
    margin: 0;
  }
}

@media screen and (min-width: 769px) {
  .p-top_interview .interview-slider {
    min-height: 60rem;
  }
  .p-top_interview .interview-slider .slick-list {
    overflow: visible;
    min-height: 60rem;
  }
}

.p-top_interview .interview-slider .slick-track {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-column-gap: 3.2rem;
  -moz-column-gap: 3.2rem;
  column-gap: 3.2rem;
  min-height: 60rem;
}

.p-top_interview .interview-slider_item {
  opacity: 0.3;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}

@media screen and (min-width: 769px) {
  .p-top_interview .interview-slider_item {
    width: 35rem;
    -webkit-transform: scale(0.8);
    transform: scale(0.8);
  }
}

.p-top_interview .interview-slider_item_thumb {
  width: 100%;
  height: 36rem;
}

.p-top_interview .interview-slider_item_thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.p-top_interview .interview-slider_item_ctn {
  display: none;
  opacity: 0;
  visibility: hidden;
  padding-bottom: 3.5rem;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  width: 100%;
  height: 50%;
  position: absolute;
  left: 0;
  bottom: 0;
  padding: 2rem;
  background: rgba(255, 255, 255, 0.7);
}

.p-top_interview .interview-slider_item_ctn .cat {
  display: inline-block;
  font-weight: bold;
  line-height: 1;
  padding: 0.8rem 1.2rem;
  color: #fff;
  background: #212121;
  margin-bottom: 1rem;
  font-size: 1rem;
}

.p-top_interview .interview-slider_item_ctn .ttl {
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 160%;
  padding-bottom: 0.5rem;
  margin-bottom: 1rem;
  border-bottom: 1px solid rgba(1, 1, 1, 0.75);
}

.p-top_interview .interview-slider_item_ctn .itv-cont {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.p-top_interview .interview-slider_item_ctn .itv-cont_col + .itv-cont_col {
  margin-left: 2rem;
  padding-left: 2rem;
  border-left: 1px solid #d8d8de;
}

.p-top_interview .interview-slider_item_ctn .itv-cont .cpn {
  font-size: 1.2rem;
}

.p-top_interview .interview-slider_item_ctn .itv-cont .inf .name {
  font-size: 2.8rem;
}

.p-top_interview .interview-slider_item_ctn .itv-cont .inf .year {
  font-size: 1.2rem;
}

.p-top_interview .interview-slider_item_ctn .cpn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  grid-gap: 1.6rem;
  margin-bottom: 1rem;
  font-size: 1.4rem;
}

.p-top_interview .interview-slider_item_ctn .inf {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  grid-gap: 1.6rem;
}

.p-top_interview .interview-slider_item_ctn .inf .name {
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1;
}

.p-top_interview .interview-slider_item_ctn .inf .year {
  display: inline-block;
  font-weight: 500;
  font-size: 1rem;
}

.p-top_interview .interview-slider_item_link {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  -webkit-column-gap: 3.2rem;
  -moz-column-gap: 3.2rem;
  column-gap: 3.2rem;
  position: relative;
}

@media screen and (min-width: 769px) {
  .p-top_interview .interview-slider_item.slick-current {
    opacity: 1;
    -webkit-transform: scale(1.35);
    transform: scale(1.35);
  }
  .p-top_interview
    .interview-slider_item.slick-current
    .interview-slider_item_thumb {
    opacity: 1;
  }
  .p-top_interview
    .interview-slider_item.slick-current
    .interview-slider_item_thumb
    img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
  }
  .p-top_interview
    .interview-slider_item.slick-current
    .interview-slider_item_ctn {
    display: block;
    opacity: 1;
    visibility: visible;
  }
}

@media screen and (max-width: 768px) {
  .p-top_interview .interview-slider_item {
    width: 33.5rem !important;
    opacity: 1;
  }
  .p-top_interview .interview-slider_item_thumb {
    width: 100%;
    height: 24rem;
    margin-bottom: 1.6rem;
    border-radius: 0.4rem;
    overflow: hidden;
  }
  .p-top_interview .interview-slider_item_thumb img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
  }
  .p-top_interview .interview-slider_item_ctn {
    display: block !important;
    opacity: 1;
    visibility: visible;
    position: static;
    width: 100%;
    padding: 0;
  }
  .p-top_interview .interview-slider_item_ctn .cat {
    margin-bottom: 0.8rem;
    font-size: 1.2rem;
    padding: 0.8rem 1.2rem;
  }
  .p-top_interview .interview-slider_item_ctn .ttl {
    font-size: 1.6rem;
    padding-bottom: 1.6rem;
    margin-bottom: 1.6rem;
  }
  .p-top_interview .interview-slider_item_ctn .cpn {
    margin-bottom: 1.5rem;
    font-weight: bold;
  }
  .p-top_interview .interview-slider_item_ctn .inf .name {
    font-size: 2.4rem;
  }
  .p-top_interview .interview-slider_item_ctn .itv-cont {
    display: block;
  }
  .p-top_interview .interview-slider_item_ctn .itv-cont_col {
    width: 100%;
  }
  .p-top_interview .interview-slider_item_ctn .itv-cont_col + .itv-cont_col {
    border-left: none;
    border-top: 1px solid #d8d8de;
    padding-top: 1.6rem;
    margin-top: 1.6rem;
    padding-left: 0;
    margin-left: 0;
  }
  .p-top_interview .interview-slider .slick-track {
    min-height: unset;
  }
  .slick-slider .slick-track,
  .slick-slider .slick-list {
    overflow: visible;
  }
}

@media screen and (max-width: 768px) {
  .p-top_interview #employee {
    margin-top: 4rem;
  }
}

@media screen and (max-width: 768px) {
  .p-top_interview #interview {
    margin-top: 4rem;
  }
}

.p-top_interview .p-slider_wrap {
  padding-bottom: 5rem;
}

.p-top_interview .slider-pag {
  width: 100%;
  position: absolute;
  bottom: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: center;
}

@media screen and (max-width: 768px) {
  .p-top_interview .slider-pag {
    position: static;
    margin: 4rem 0 0;
  }
}

.p-top_interview .slider-nav .arrow {
  background: #fff;
  border: 1px solid #010101;
}

.p-top_interview .slider-nav .arrow:before {
  background: #010101;
  z-index: 1;
}

.p-top_interview .slider-nav .arrow .svg path {
  stroke: #010101;
  fill: #010101;
}

.p-top_interview .slider-nav .button:hover .arrow:before {
  -webkit-transform: scale(1);
  transform: scale(1);
}

.p-top_interview .slider-nav .button:hover .arrow:after {
  -webkit-transform: scale(0);
  transform: scale(0);
}

.p-top_interview .slider-nav .button:hover .arrow .svg {
  opacity: 1;
}

.p-top_interview .slider-nav .button:hover .arrow .svg path {
  stroke: #fff;
  fill: #fff;
}

.p-top_interview .slider-nav .button.slick-disabled {
  pointer-events: none;
  opacity: 0.4;
}

@media screen and (max-width: 768px) {
  .p-top_interview .slider-nav {
    margin: 0 auto;
  }
}

.tab-content {
  display: none;
}

.tab-content.current {
  display: inherit;
}

@media screen and (max-width: 768px) {
  .tab-content {
    display: block !important;
  }
}

.progress {
  display: block;
  width: 100%;
  max-width: 60rem;
  height: 0.4rem;
  overflow: hidden;
  background-color: #e8ebec;
  background-image: -webkit-gradient(
    linear,
    left top,
    right top,
    from(#f29a4d),
    to(#f29a4d)
  );
  background-image: linear-gradient(to right, #f29a4d, #f29a4d);
  background-repeat: no-repeat;
  background-size: 0 100%;
  -webkit-transition: background-size 0.4s ease-in-out;
  transition: background-size 0.4s ease-in-out;
}

@media screen and (max-width: 768px) {
  .progress {
    margin-top: 2.4rem;
  }
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

.slider-pag {
  max-width: 100rem;
  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: 2.4rem 0;
}

@media screen and (max-width: 768px) {
  .slider-pag {
    display: block;
    text-align: center;
    margin-top: 3.2rem;
  }
}

.slider-nav {
  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;
  width: 20.3rem;
}

.slider-nav .slick-arrow {
  cursor: pointer;
  border: none;
  outline: none;
  background: none;
  margin: 0;
  padding: 0;
}

.slider-nav .slick-arrow .arrow {
  width: 6.4rem;
  height: 6.4rem;
}

.slider-nav .slick-arrow .arrow svg {
  width: 1.4rem;
  height: 1.2rem;
}

.slider-nav .slick-arrow .arrow svg path {
  stroke: #fff;
}

.slider-nav .slides-numbers {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-column-gap: 1.2rem;
  -moz-column-gap: 1.2rem;
  column-gap: 1.2rem;
}

.slider-nav .slides-numbers span {
  display: inline-block;
  font-family: "DM Sans", sans-serif;
  font-size: 1.3rem;
  font-weight: 500;
}

@media screen and (max-width: 768px) {
  .slider-nav {
    margin: 0;
  }
  .slider-nav .slick-arrow .arrow {
    width: 5.6rem;
    height: 5.6rem;
  }
}

.progressBar__bar {
  margin-top: 82px;
  position: relative;
  display: block;
  width: 100%;
  height: 3px;
  overflow: hidden;
  background-image: -webkit-gradient(
    linear,
    left top,
    right top,
    from(yellow),
    to(yellow)
  );
  background-image: linear-gradient(to right, yellow, yellow);
  background-repeat: no-repeat;
  background-size: 0% 100%;
  -webkit-transition: background-size 0.5s ease-in-out;
  transition: background-size 0.5s ease-in-out;
}

.progressBar__bar[aria-valuenow="0"] {
  background-size: 5% 100% !important;
}

.progressBar__bar[aria-valuenow] {
  height: 5px;
}

.progressBar__bar:before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translate(0%, -50%);
  transform: translate(0%, -50%);
  width: 100%;
  height: 0.5pt;
  background-color: white;
}

.pagingInfo {
  width: 6rem;
  display: inline-block;
  font-size: 1.3rem;
  font-weight: 600;
  font-family: "DM Sans", sans-serif;
  margin: 0 2.4rem;
  text-align: center;
}

/** home
======================================= **/
@media screen and (max-width: 768px) {
  .p-about .anchorList ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-flow: column;
    flex-flow: column;
  }
}

.p-about_business .about-bus_row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 10rem;
  -moz-column-gap: 10rem;
  column-gap: 10rem;
  margin-bottom: 4.8rem;
}

.p-about_business .about-bus_row_ctn {
  width: 44rem;
}

.p-about_business .about-bus_row_img {
  width: 66.6rem;
  margin-right: -1.5rem;
}

@media screen and (max-width: 768px) {
  .p-about_business .about-bus_row {
    display: block;
  }
  .p-about_business .about-bus_row_ctn {
    width: 100%;
  }
  .p-about_business .about-bus_row_ctn p {
    font-size: 1.6rem;
    line-height: 160%;
  }
  .p-about_business .about-bus_row_img {
    width: 100%;
    margin-right: 0;
    margin-top: 4rem;
  }
}

.p-about_business .banner-box_img:after {
  width: 100%;
  right: 0;
  left: 0;
  bottom: 0;
  background: -webkit-gradient(
    linear,
    left bottom,
    left top,
    from(#212121),
    color-stop(94.09%, rgba(33, 33, 33, 0))
  );
  background: linear-gradient(0deg, #212121 0%, rgba(33, 33, 33, 0) 94.09%);
}

.p-about_industry {
  padding: 12rem 0 0;
}

@media screen and (max-width: 768px) {
  .p-about_industry {
    padding: 5.6rem 0 0;
  }
}

.p-about_industry .industry-head {
  margin-bottom: 8rem;
}

@media screen and (max-width: 768px) {
  .p-about_industry .industry-head {
    margin-bottom: 4rem;
  }
}

@media screen and (min-width: 769px) {
  .p-about_industry .industry-head .container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}

@media screen and (min-width: 769px) {
  .p-about_industry .industry-head .heading-lv2 {
    margin: 0;
    padding-right: 6.7rem;
    margin-right: 4rem;
    border-right: 1px solid #9a9a9a;
  }
}

@media screen and (max-width: 768px) {
  .p-about_industry .industry-head .heading-lv2 {
    margin-bottom: 2.4rem;
  }
}

@media screen and (max-width: 768px) {
  .p-about_industry .industry-head p {
    font-size: 1.6rem;
    line-height: 160%;
  }
}

.p-about_industry .industry-benefit {
  padding: 6.4rem 0 4.8rem;
  background: url(../img/about/ins_img.jpg) center top no-repeat;
  background-size: cover;
  position: relative;
}

.p-about_industry .industry-benefit:after {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  background: rgba(33, 33, 33, 0.6);
  -webkit-backdrop-filter: blur(2px);
  backdrop-filter: blur(2px);
}

@media screen and (max-width: 768px) {
  .p-about_industry .industry-benefit {
    padding: 0 0 4rem;
  }
}

.p-about_industry .industry-benefit .container {
  position: relative;
  z-index: 1;
}

.p-about_industry .industry-benefit_ttl {
  text-align: center;
  margin-bottom: 4.8rem;
}

.p-about_industry .industry-benefit_ttl span {
  display: inline-block;
  background: #d7063b;
  color: #fff;
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0.1em;
  padding: 1.2rem;
}

@media screen and (max-width: 768px) {
  .p-about_industry .industry-benefit_ttl {
    width: calc(100% + 4rem);
    margin-bottom: 4rem;
    margin-left: -2rem;
    margin-right: -2rem;
  }
  .p-about_industry .industry-benefit_ttl span {
    display: block;
    font-size: 1.8rem;
    line-height: 130%;
    letter-spacing: 0.1em;
    padding: 1.6rem;
  }
}

.p-about_industry .industry-benefit-list {
  margin-bottom: 4rem;
}

@media screen and (min-width: 769px) {
  .p-about_industry .industry-benefit-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    -webkit-column-gap: 1.3rem;
    -moz-column-gap: 1.3rem;
    column-gap: 1.3rem;
  }
}

.p-about_industry .industry-benefit-list li {
  width: calc(100% / 3 - 1rem);
  height: 15.3rem;
  background: rgba(255, 255, 255, 0.9);
  border-radius: 0.4rem;
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-column-gap: 1.6rem;
  -moz-column-gap: 1.6rem;
  column-gap: 1.6rem;
  position: relative;
}

.p-about_industry .industry-benefit-list li p {
  font-weight: bold;
  letter-spacing: 0.1em;
}

.p-about_industry .industry-benefit-list li .num {
  position: absolute;
  left: 0;
  top: 0;
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0;
  font-family: "DM Sans", sans-serif;
  background: #d7063b;
  color: #fff;
  width: 4.8rem;
  height: 4.8rem;
  padding: 0.8rem 0 0 0.6rem;
  border-radius: 0.4rem 0 4rem 0;
}

.p-about_industry .industry-benefit-list li:nth-child(1) .ico {
  width: 3.6rem;
}

@media screen and (max-width: 768px) {
  .p-about_industry .industry-benefit-list li:nth-child(1) .ico {
    width: 3.1rem;
  }
}

.p-about_industry .industry-benefit-list li:nth-child(2) .ico {
  width: 6.5rem;
}

@media screen and (max-width: 768px) {
  .p-about_industry .industry-benefit-list li:nth-child(2) .ico {
    width: 4.7rem;
  }
}

.p-about_industry .industry-benefit-list li:nth-child(3) .ico {
  width: 5.5rem;
}

@media screen and (max-width: 768px) {
  .p-about_industry .industry-benefit-list li:nth-child(3) .ico {
    width: 4.6rem;
  }
}

@media screen and (max-width: 768px) {
  .p-about_industry .industry-benefit-list li {
    width: 100%;
    height: 11.9rem;
    padding-left: 3.6rem;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }
  .p-about_industry .industry-benefit-list li p {
    font-size: 1.4rem;
  }
  .p-about_industry .industry-benefit-list li + li {
    margin-top: 1.6rem;
  }
}

.p-about_industry .industry-benefit_bottom {
  padding: 3.2rem 0;
  color: #fff;
  font-weight: 500;
  border-top: 1px dashed #fff;
  border-bottom: 1px dashed #fff;
}

@media screen and (max-width: 768px) {
  .p-about_industry .industry-benefit_bottom {
    padding: 2rem 0;
    font-size: 1.6rem;
    line-height: 160%;
    letter-spacing: 0.05em;
  }
}

.p-about_positioning {
  padding: 12rem 0 0;
}

@media screen and (max-width: 768px) {
  .p-about_positioning {
    padding: 5.6rem 0 0;
  }
}

.p-about_positioning .heading-lv2 {
  margin-bottom: 8rem;
}

@media screen and (max-width: 768px) {
  .p-about_positioning .heading-lv2 {
    margin-bottom: 4rem;
  }
}

@media screen and (min-width: 769px) {
  .p-about_positioning .positioning-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    -webkit-column-gap: 3.2rem;
    -moz-column-gap: 3.2rem;
    column-gap: 3.2rem;
  }
}

.p-about_positioning .positioning-list li {
  width: calc(50% - 1.6rem);
  color: #fff;
  text-align: center;
  border-radius: 0.4rem;
  padding: 3.2rem 0 4.6rem;
  background: linear-gradient(107deg, #d7063b 6.35%, #ba0b37 96.12%);
}

.p-about_positioning .positioning-list li p {
  font-size: 2rem;
  font-weight: bold;
  line-height: 140%;
  margin: 0 0 3.2rem;
}

.p-about_positioning .positioning-list li figure img {
  max-width: 30.4rem;
}

@media screen and (max-width: 768px) {
  .p-about_positioning .positioning-list li {
    width: 100%;
  }
  .p-about_positioning .positioning-list li + li {
    margin-top: 1.6rem;
  }
  .p-about_positioning .positioning-list li p {
    font-size: 1.6rem;
    line-height: 140%;
    letter-spacing: 0.05em;
    margin: 0 0 1.6rem;
  }
  .p-about_positioning .positioning-list li figure img {
    max-width: 18.6rem;
  }
}

.p-about_positioning .positioning-bot {
  text-align: right;
  margin-top: 2.4rem;
}

.p-about_positioning .positioning-bot_link {
  display: inline-block;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 140%;
  text-decoration: underline;
  position: relative;
}

@media screen and (max-width: 768px) {
  .p-about_positioning .positioning-bot {
    text-align: left;
    margin-top: 1.6rem;
  }
}

.p-about_resulting {
  padding: 7rem 0 0;
}

@media screen and (max-width: 768px) {
  .p-about_resulting {
    padding: 5.6rem 0 0;
  }
}

.p-about_resulting .heading-lv2 {
  margin-bottom: 6.4rem;
}

@media screen and (max-width: 768px) {
  .p-about_resulting .heading-lv2 {
    margin-bottom: 4rem;
  }
}

.p-about_resulting .resulting-wpr {
  background: #f7f7f7;
  border-radius: 0.4rem;
  padding: 6.4rem 4rem;
}

@media screen and (max-width: 768px) {
  .p-about_resulting .resulting-wpr {
    padding: 3.2rem 2rem 4rem;
  }
}

.p-about_resulting .resulting-wpr_row {
  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;
}

.p-about_resulting .resulting-wpr_row_ctn {
  width: 19.8rem;
  text-align: center;
}

.p-about_resulting .resulting-wpr_row_ctn figure img {
  width: auto;
  max-width: unset;
  height: 14.5rem;
}

.p-about_resulting .resulting-wpr_row_ctn h3 {
  background: #212121;
  color: #fff;
  font-size: 2rem;
  line-height: 1;
  font-weight: bold;
  letter-spacing: 0.1em;
  text-align: center;
  padding: 2rem 0;
}

.p-about_resulting .resulting-wpr_row_flow {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-flow: column;
  flex-flow: column;
  grid-gap: 2rem;
  width: 15.3rem;
}

.p-about_resulting .resulting-wpr_row_flow li {
  font-size: 1.4rem;
  line-height: 130%;
  letter-spacing: 0.1em;
  font-weight: bold;
  text-align: center;
  position: relative;
}

.p-about_resulting .resulting-wpr_row_flow li:after {
  position: absolute;
  content: "";
  width: 15.3rem;
  height: 1.5rem;
  left: 0;
}

.p-about_resulting .resulting-wpr_row_flow li.next {
  padding-bottom: 2rem;
}

.p-about_resulting .resulting-wpr_row_flow li.next:after {
  bottom: 0;
  background: url(../img/about/arrow_right.svg) left top no-repeat;
  background-size: cover;
}

.p-about_resulting .resulting-wpr_row_flow li.prev {
  padding-top: 2rem;
}

.p-about_resulting .resulting-wpr_row_flow li.prev:after {
  top: 0;
  background: url(../img/about/arrow_left.svg) left top no-repeat;
  background-size: cover;
}

.p-about_resulting .resulting-wpr_row_log {
  width: 21rem;
  height: 21rem;
  background: #eaeaea;
  border-radius: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.p-about_resulting .resulting-wpr_row_log img {
  width: 15rem;
  height: auto;
}

@media screen and (max-width: 768px) {
  .p-about_resulting .resulting-wpr .resulting-img {
    max-width: 27.2rem;
    margin: 0 auto;
  }
}

.p-about_resulting .resulting-wpr_txt {
  padding-top: 3.2rem;
  margin-top: 3.2rem;
  border-top: 1px solid #e2e2e2;
}

@media screen and (max-width: 768px) {
  .p-about_resulting .resulting-wpr_txt {
    font-size: 1.6rem;
    line-height: 160%;
    letter-spacing: 0.05em;
    padding-top: 2.4rem;
    margin-top: 2.4rem;
  }
}

.p-about_report {
  padding: 8rem 0 0;
}

.p-about_report .heading-lv3 {
  margin-bottom: 6.6rem;
}

.p-about_report .button-image .arrow {
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

@media screen and (max-width: 768px) {
  .p-about_report {
    padding: 5.6rem 0 0;
  }
  .p-about_report .heading-lv3 {
    margin-bottom: 4rem;
  }
  .p-about_report .rp-imgList .rp-imgList_item .button-image .txt {
    left: 5.33333vw;
  }
}

/** company
======================================= **/
.p-company-philosophy {
  position: relative;
}

.p-company-philosophy::after {
  content: "";
  width: calc(466 / 1280 * 100%);
  height: 49.6rem;
  background: #f7f7f7;
  position: absolute;
  top: -6rem;
  right: 0;
}

@media screen and (max-width: 768px) {
  .p-company-philosophy::after {
    content: none;
  }
}

.p-company-philosophy .heading-lv2 {
  margin-bottom: 6rem;
}

@media screen and (max-width: 768px) {
  .p-company-philosophy .heading-lv2 {
    margin-bottom: 4rem;
  }
}

.p-company-philosophy_content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

@media screen and (max-width: 768px) {
  .p-company-philosophy_content {
    display: block;
  }
}

.p-company-philosophy_ttl {
  white-space: nowrap;
}

.p-company-philosophy_ttl .en {
  font-family: "DM Sans", sans-serif;
  font-size: 8rem;
  line-height: 1;
}

.p-company-philosophy_ttl .en span {
  display: block;
  background: linear-gradient(170deg, #010101 55%, #d7063b 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent;
}

.p-company-philosophy_ttl .ja {
  font-size: 2.4rem;
  font-weight: 700;
  margin-top: 1.6rem;
  display: block;
}

@media screen and (max-width: 768px) {
  .p-company-philosophy_ttl {
    white-space: normal;
  }
  .p-company-philosophy_ttl .en {
    font-size: 4.4rem;
  }
  .p-company-philosophy_ttl .en span + span {
    margin-top: 0.8rem;
  }
}

.p-company-philosophy_copy {
  max-width: 46.8rem;
  line-height: 1.8;
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  position: relative;
  z-index: 1;
}

.p-company-philosophy_copy p + p {
  margin-top: 0.8rem;
}

@media screen and (max-width: 768px) {
  .p-company-philosophy_copy {
    margin-top: 2.4rem;
    font-size: 1.6rem;
  }
}

.p-company-philosophy_image {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-top: 10.9rem;
}

.p-company-philosophy_image .image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.p-company-philosophy_image .image01 {
  width: 29.92187%;
  /* height: 31.4rem; */
  height: calc(314 / 1280 * 100vw);
  margin-top: -15.2rem;
}

.p-company-philosophy_image .image02 {
  width: 36.01563%;
  /* height: 31.2rem; */
  height: calc(312 / 1280 * 100vw);
  margin-top: -4.8rem;
}

.p-company-philosophy_image .image03 {
  width: 31.5625%;
  /* height: 45rem; */
  height: calc(450 / 1280 * 100vw);
}

@media screen and (max-width: 768px) {
  .p-company-philosophy_image {
    margin-top: 3.2rem;
  }
  .p-company-philosophy_image .image {
    height: 13.6rem !important;
  }
  .p-company-philosophy_image .image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
  }
  .p-company-philosophy_image .image01 {
    width: 11.2rem;
    margin-top: 0;
  }
  .p-company-philosophy_image .image02 {
    width: 13.5rem;
    margin-top: 0;
  }
  .p-company-philosophy_image .image03 {
    width: 11.8rem;
  }
}

.p-company-culture {
  margin-top: -6.4rem;
}

@media screen and (max-width: 768px) {
  .p-company-culture {
    margin-top: 5.6rem;
  }
}

.p-company-culture .heading-lv2 {
  margin-bottom: 6.4rem;
}

@media screen and (max-width: 768px) {
  .p-company-culture .heading-lv2 {
    margin-bottom: 4rem;
  }
}

.p-company-culture_support {
  background: url("../img/company/bg_culture.png") no-repeat center/cover;
  height: 28.2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

@media screen and (max-width: 768px) {
  .p-company-culture_support {
    background: #212121;
    height: 13.6rem;
  }
}

.p-company-culture_sub {
  max-width: 115rem;
  padding: 0 1.5rem;
  margin: 0 auto;
  font-size: 3.2rem;
  color: #fff;
  width: 100%;
  line-height: 1.4;
}

@media screen and (max-width: 768px) {
  .p-company-culture_sub {
    max-width: 100%;
    font-size: 2rem;
    text-align: center;
  }
}

.p-company-culture_desc {
  position: relative;
  padding-bottom: 5.6rem;
}

.p-company-culture_desc::before {
  content: "";
  width: 100%;
  height: 100%;
  background: -webkit-gradient(
    linear,
    left top,
    right top,
    from(rgba(219, 220, 224, 0.3)),
    color-stop(28.16%, rgba(219, 220, 224, 0.7)),
    color-stop(42.77%, #e8e8ea),
    color-stop(56.69%, #e6e7e8),
    color-stop(69.24%, rgba(219, 220, 224, 0.7)),
    color-stop(100%, rgba(255, 255, 255, 0.5)),
    to(rgba(219, 220, 224, 0.3))
  );
  background: linear-gradient(
    90deg,
    rgba(219, 220, 224, 0.3) 0%,
    rgba(219, 220, 224, 0.7) 28.16%,
    #e8e8ea 42.77%,
    #e6e7e8 56.69%,
    rgba(219, 220, 224, 0.7) 69.24%,
    rgba(255, 255, 255, 0.5) 100%,
    rgba(219, 220, 224, 0.3) 100%
  );
  opacity: 0.6;
  position: absolute;
  top: 0;
  left: 0;
}

@media screen and (max-width: 768px) {
  .p-company-culture_desc {
    padding-bottom: 3.2rem;
  }
}

.p-company-culture_desc .desc-content {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8rem;
}

@media screen and (max-width: 768px) {
  .p-company-culture_desc .desc-content {
    display: block;
  }
}

.p-company-culture_desc .desc-item {
  max-width: 51.9rem;
}

@media screen and (max-width: 768px) {
  .p-company-culture_desc .desc-item {
    max-width: 100%;
  }
}

.p-company-culture_desc .desc-heading {
  padding: 4rem 0 2.4rem;
  min-height: 12.8rem;
  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;
  border-bottom: 1px solid #000000;
}

@media screen and (max-width: 768px) {
  .p-company-culture_desc .desc-heading {
    padding: 3.2rem 0 1.6rem;
    min-height: auto;
    display: block;
  }
}

.p-company-culture_desc .desc-ttl {
  text-align: center;
  font-size: 2rem;
  line-height: 1.6;
}

.p-company-culture_desc .desc-ttl span {
  color: #d7063b;
}

@media screen and (max-width: 768px) {
  .p-company-culture_desc .desc-ttl {
    font-size: 1.8rem;
    text-align: left;
  }
}

.p-company-culture_desc .desc-copy {
  margin-top: 2.4rem;
  line-height: 1.6;
  letter-spacing: 0.04em;
}

@media screen and (max-width: 768px) {
  .p-company-culture_desc .desc-copy {
    margin-top: 1.6rem;
    font-size: 1.6rem;
  }
}

.p-company-message {
  padding: 12rem 0 0;
}

@media screen and (max-width: 768px) {
  .p-company-message {
    padding: 5.6rem 0 0;
  }
}

.p-company-message_content {
  margin-top: 6.4rem;
  position: relative;
}

@media screen and (max-width: 768px) {
  .p-company-message_content {
    margin-top: 3.5rem;
  }
}

.p-company-message_left {
  width: 42.7rem;
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  background: #f6f6f6;
  padding: 4rem;
  position: absolute;
}

@media screen and (max-width: 768px) {
  .p-company-message_left {
    width: 100vw;
    margin-left: -2rem;
    position: relative !important;
    top: auto !important;
    padding: 4rem 2rem;
  }
}

.p-company-message_info {
  margin-top: 2.4rem;
  text-align: right;
  line-height: 1;
}

.p-company-message_info .txt01 {
  font-weight: 500;
}

.p-company-message_info .txt02 {
  font-weight: 700;
}

.p-company-message_info .txt02 span {
  font-size: 2rem;
  margin-left: 0.8rem;
}

@media screen and (max-width: 768px) {
  .p-company-message_info {
    margin-top: 2rem;
  }
}

.p-company-message_list {
  max-width: 60.5rem;
  margin-left: auto;
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 4rem;
}

@media screen and (max-width: 768px) {
  .p-company-message_list {
    max-width: 100%;
    margin-top: 4rem;
  }
}

.p-company-message_item {
  width: 100%;
}

.p-company-message_item .item-ttl {
  background: #212121;
  color: #fff;
  font-size: 1.8rem;
  letter-spacing: 0.1em;
  padding: 2rem 3rem;
}

@media screen and (max-width: 768px) {
  .p-company-message_item .item-ttl {
    font-size: 1.6rem;
    padding: 2rem 1.5rem;
  }
}

.p-company-message_item .item-copy {
  font-size: 1.4rem;
  line-height: 1.6;
  margin-top: 2.4rem;
}

@media screen and (max-width: 768px) {
  .p-company-message_item .item-copy {
    margin-top: 1.6rem;
    font-size: 1.6rem;
  }
}

/** home
======================================= **/
.p-side-story_purpose {
  margin: 7.8rem 0 0;
}

@media screen and (max-width: 768px) {
  .p-side-story_purpose {
    margin: 5.6rem 0 0;
  }
}

.p-side-story_content {
  background: #f6f6f6;
  margin-top: 6rem;
}

.p-side-story_content .container {
  position: relative;
}

.p-side-story_num {
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  font-family: "DM Sans", sans-serif;
  font-weight: 700;
  line-height: 1;
  width: 9rem;
  top: 8rem;
}

.p-side-story_num.is-bottom {
  bottom: 12rem !important;
}

.p-side-story_num span {
  width: 100%;
  text-align: center;
}

.p-side-story_num .txt01 {
  font-size: 6.4rem;
  color: #010101;
}

.p-side-story_num .txt02 {
  color: #b5b5b5;
  font-size: 4rem;
  border-top: 1px solid #b5b5b5;
  padding-top: 0.8rem;
  margin-top: 0.8rem;
}

@media screen and (max-width: 768px) {
  .p-side-story_num {
    width: 3rem;
    top: 4rem;
  }
  .p-side-story_num.is-bottom {
    bottom: 5.8rem !important;
  }
  .p-side-story_num .txt01 {
    font-size: 2rem;
  }
  .p-side-story_num .txt02 {
    font-size: 1.4rem;
    padding-top: 0.4rem;
    margin-top: 0.4rem;
  }
}

.p-side-story_list {
  max-width: 91.5rem;
  margin-left: auto;
  padding: 8rem 0 12rem;
}

@media screen and (max-width: 768px) {
  .p-side-story_list {
    max-width: 28.1rem;
    padding: 4rem 0 5.8rem;
  }
}

.p-side-story_item {
  position: relative;
  opacity: 0.3;
  -webkit-transition: opacity 0.4s ease;
  transition: opacity 0.4s ease;
}

@media screen and (max-width: 768px) {
  .p-side-story_item {
    padding: 2.4rem 1.6rem;
  }
}

.p-side-story_item::after {
  content: "";
  width: 100%;
  height: 100%;
  background: rgba(51, 140, 198, 0.3);
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
}

.p-side-story_item.is-active {
  opacity: 1;
}

.p-side-story_item.is-active::after {
  opacity: 0;
}

.p-side-story_item + .p-side-story_item {
  margin-top: 8rem;
}

@media screen and (max-width: 768px) {
  .p-side-story_item + .p-side-story_item {
    margin-top: 4rem;
  }
}

.p-side-story_item:nth-child(2) .item-text {
  display: block;
  top: 8rem;
  height: auto;
}

@media screen and (max-width: 768px) {
  .p-side-story_item:nth-child(2) .item-text {
    top: auto;
  }
}

.p-side-story_item:nth-child(2) .item-copy {
  position: absolute;
  bottom: 3.2rem;
  left: 0;
  color: #010101;
  text-align: center;
  width: 100%;
  font-weight: 500;
}

@media screen and (max-width: 768px) {
  .p-side-story_item:nth-child(2) .item-copy {
    position: relative;
    bottom: auto;
    left: auto;
    margin-top: 18rem;
    text-align: left;
  }
}

.p-side-story_item:nth-child(3) .item-lead {
  margin-top: -10rem;
}

@media screen and (max-width: 768px) {
  .p-side-story_item:nth-child(3) .item-lead {
    margin-top: 0;
  }
}

.p-side-story_item:nth-child(3) .item-ttl {
  /* margin: 3rem 0 0.8rem; */
  margin: 3rem 0;
}

@media screen and (max-width: 768px) {
  .p-side-story_item:nth-child(3) .item-ttl {
    margin: 2.4rem 0;
    text-align: left;
    letter-spacing: 0;
  }
  .p-side-story_item:nth-child(3) .item-data {
    font-size: 1.2rem;
    margin-bottom: 1rem;
  }
}

.p-side-story_item:nth-child(3) .item-copy {
  max-width: 91.5rem;
  background: rgba(1, 1, 1, 0.4);
  bottom: 0;
  position: absolute;
  font-size: 1.6rem;
  padding: 2.4rem 4rem;
  color: #fff;
}

@media screen and (max-width: 768px) {
  .p-side-story_item:nth-child(3) .item-copy {
    position: relative;
    background: none;
    position: relative;
    padding: 0;
    font-size: 1.4rem;
    margin-top: 3.2rem;
  }
}

@media screen and (max-width: 768px) {
  .p-side-story_item .item-image {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
  }
}

.p-side-story_item .item-text {
  max-width: 56rem;
  width: 100%;
  height: 100%;
  margin: 0 auto;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  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;
  color: #fff;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .p-side-story_item .item-text {
    position: relative;
  }
}

.p-side-story_item .item-lead {
  background: #d7063b;
  max-width: 54rem;
  width: 100%;
  font-size: 1.8rem;
  font-weight: 700;
  text-align: center;
  padding: 2rem;
}

@media screen and (max-width: 768px) {
  .p-side-story_item .item-lead {
    font-size: 1.6rem;
    line-height: 1.3;
    padding: 1.4rem;
    max-width: 24.1rem;
  }
}

.p-side-story_item .item-ttl {
  font-size: 2.8rem;
  line-height: 1.6;
  margin: 4rem 0;
}

@media screen and (max-width: 768px) {
  .p-side-story_item .item-ttl {
    font-size: 1.4rem;
    margin: 2rem 0 1.6rem;
  }
}

.p-side-story_item .item-copy {
  line-height: 1.6;
  text-align: justify;
}

@media screen and (max-width: 768px) {
  .p-side-story_item .item-copy {
    font-size: 1.4rem;
  }
}

.p-side-story_item .item-note {
  font-size: 1.2rem;
  text-align: right;
  width: 100%;
  margin-top: 1rem;
}

@media screen and (max-width: 768px) {
  .p-side-story_item .item-note {
    text-align: left;
  }
}

.p-side-story_banner {
  position: relative;
}

.p-side-story_banner .banner-image {
  height: 49.4rem;
}

.p-side-story_banner .banner-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: top;
  object-position: top;
}

@media screen and (max-width: 768px) {
  .p-side-story_banner .banner-image {
    height: 20rem;
  }
}

.p-side-story_banner .banner-text {
  margin-top: -5.2rem;
  position: relative;
  background: #d7063b;
  color: #fff;
  padding: 2.4rem 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: 2rem;
  line-height: 1.4;
  font-weight: 700;
}

@media screen and (max-width: 768px) {
  .p-side-story_banner .banner-text {
    margin-top: 0;
    width: 100vw;
    margin-left: -2rem;
    padding: 2.4rem;
    font-size: 1.6rem;
  }
}

/** job
======================================= **/
.c-job-box {
  position: relative;
  width: 100%;
  height: calc(100vw / (1280 / 491));
  min-height: 491px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  z-index: 1;
}

@media screen and (max-width: 768px) {
  .c-job-box {
    height: auto;
    min-height: 56rem;
    display: block;
  }
}

.c-job-box_card {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
}

@media screen and (max-width: 768px) {
  .c-job-box_card {
    display: block;
  }
}

.c-job-box_item {
  position: relative;
  width: 25%;
  height: 100%;
  z-index: 2;
}

@media screen and (max-width: 768px) {
  .c-job-box_item {
    width: 100%;
    height: 14rem;
  }
}

.c-job-box_item.is-active .item-inner::before {
  opacity: 0;
}

.c-job-box_item.is-active .item-ttl {
  opacity: 0;
}

.c-job-box_item.is-active .item-image {
  opacity: 0;
}

.c-job-box_item a {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 1;
}

.c-job-box_item a:hover {
  opacity: 1;
}

@media screen and (max-width: 768px) {
  .c-job-box_item a {
    padding: 1.6rem 2rem;
  }
}

.c-job-box_item .item-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  height: 100%;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
}

.c-job-box_item .item-inner:before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 1;
  opacity: 1;
  -webkit-transition: opacity 0.5s ease;
  transition: opacity 0.5s ease;
}

@media screen and (max-width: 768px) {
  .c-job-box_item .item-inner {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .c-job-box_item .item-inner::after {
    content: "";
    width: 33.5rem;
    height: 10.8rem;
    border: 1px solid #fff;
    position: absolute;
    top: 1.6rem;
    left: 2rem;
    z-index: 2;
  }
}

.c-job-box_item .item-ttl {
  font-size: 2.4rem;
  color: #fff;
  line-height: 1.2;
  letter-spacing: 0.1em;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  margin: 0 auto;
  -webkit-writing-mode: vertical-lr;
  -ms-writing-mode: tb-lr;
  writing-mode: vertical-lr;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  text-align: center;
  opacity: 1;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}

@media screen and (max-width: 768px) {
  .c-job-box_item .item-ttl {
    -webkit-writing-mode: unset;
    -ms-writing-mode: unset;
    writing-mode: unset;
    font-size: 1.6rem;
    width: 100%;
    text-align: left;
    position: relative;
    margin-left: 4.4rem;
  }
}

.c-job-box_item .item-image {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
  overflow: hidden;
  opacity: 1;
  -webkit-transition: opacity 0.5s ease;
  transition: opacity 0.5s ease;
}

.c-job-box_item .item-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.c-job-box_item .item-arrow {
  width: 3.2rem;
  height: 3.2rem;
  position: relative;
  z-index: 2;
  margin-right: 3.6rem;
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
}

.c-job-box_bg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  background-color: #333;
}

@media screen and (max-width: 768px) {
  .c-job-box_bg {
    display: none;
  }
}

.c-job-box_detail {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  opacity: 0;
  -webkit-transition: opacity 0.5s ease;
  transition: opacity 0.5s ease;
  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;
}

.c-job-box_detail.is-active {
  opacity: 1;
}

.c-job-box_detail.is-active .detail::before,
.c-job-box_detail.is-active .detail::after {
  width: 100%;
  width: calc(100% + 1px);
}

.c-job-box_detail.is-active .detail .border::before {
  height: 100%;
  height: calc(100% + 1px);
}

.c-job-box_detail.is-active .detail .border::after {
  height: 100%;
  height: calc(100% + 1px);
}

.c-job-box_detail.is-active .detail .text {
  -webkit-animation: blur 1.3s forwards 1;
  animation: blur 1.3s forwards 1;
}

.c-job-box_detail .detail {
  width: 95%;
  height: 86.9653768%;
  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-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin: auto;
  padding: 0 7.23684211%;
  color: #fff;
  position: relative;
}

.c-job-box_detail .detail::before,
.c-job-box_detail .detail::after,
.c-job-box_detail .detail .border::before,
.c-job-box_detail .detail .border::after {
  background-color: #fff;
  content: "";
  display: block;
  position: absolute;
  z-index: 10;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}

.c-job-box_detail .detail::before {
  width: 0px;
  height: 1px;
  right: -1px;
  bottom: -1px;
}

.c-job-box_detail .detail::after {
  width: 0px;
  height: 1px;
  top: -1px;
  left: -1px;
}

.c-job-box_detail .border::before {
  width: 1px;
  height: 0px;
  top: -1px;
  right: -1px;
}

.c-job-box_detail .border::after {
  width: 1px;
  height: 0px;
  left: -1px;
  bottom: -1px;
}

.c-job-box_detail .image {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
}

.c-job-box_detail .image::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 1;
}

.c-job-box_detail .image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.c-job-box_detail .position {
  font-size: 6.4rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.2;
}

.c-job-box_detail .copy {
  line-height: 1.6;
  font-weight: 500;
  margin-top: 1.6rem;
}

.c-job-box_detail .arrow {
  width: 8rem;
  position: absolute;
  top: 50%;
  right: 9.375%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.p-job-index-category .c-job-box {
  margin-top: 6rem;
}

@media screen and (max-width: 768px) {
  .p-job-index-category .c-job-box {
    margin-top: 4rem;
  }
}

.p-job-index-category_banner {
  margin-top: 9rem;
}

@media screen and (max-width: 768px) {
  .p-job-index-category_banner {
    margin-top: 5.6rem;
  }
}

.p-job-index-category_banner .banner-box {
  background: url("../img/job/index/bg_bnr.png") no-repeat center/cover;
  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;
  color: #fff;
  padding: 0 8rem;
}

.p-job-index-category_banner .banner-box .heading {
  border-right: 1px solid #fff;
  padding-right: 4.5rem;
}

.p-job-index-category_banner .banner-box .ttl {
  font-size: 2.2rem;
  height: 7rem;
  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-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.p-job-index-category_banner .banner-box .ttl span {
  display: block;
  font-size: 2.4rem;
  letter-spacing: 0.1em;
}

.p-job-index-category_banner .banner-box .copy {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  font-size: 1.4rem;
}

.p-job-index-category_banner .banner-box .btn li + li {
  margin-top: 2rem;
}

.p-job-index-category_banner .banner-box .btn .button-more {
  width: 29.5rem;
}

@media screen and (max-width: 768px) {
  .p-job-index-category_banner .banner-box {
    background-image: url("../img/job/index/bg_bnr_sp.png");
    display: block;
    height: auto;
    padding: 3rem 2rem 3.6rem;
  }
  .p-job-index-category_banner .banner-box .heading {
    border: none;
    padding: 0;
  }
  .p-job-index-category_banner .banner-box .ttl {
    font-size: 1.8rem;
    height: auto;
    display: block;
  }
  .p-job-index-category_banner .banner-box .ttl span {
    font-size: 1.4rem;
    margin-top: 0.5rem;
  }
  .p-job-index-category_banner .banner-box .copy {
    width: auto;
    line-height: 1.3;
    margin-top: 2rem;
  }
  .p-job-index-category_banner .banner-box .btn {
    margin-top: 3rem;
  }
  .p-job-index-category_banner .banner-box .btn li + li {
    margin-top: 1.6rem;
  }
  .p-job-index-category_banner .banner-box .btn .button-more {
    width: 100%;
    height: 6.4rem;
    border-radius: 0.4rem;
  }
}

.p-job-index-workflow {
  margin-top: 12rem;
}

.p-job-index-workflow .rp-imgList {
  margin-top: 6rem;
}

@media screen and (max-width: 768px) {
  .p-job-index-workflow {
    margin-top: 5.6rem;
  }
  .p-job-index-workflow .rp-imgList {
    margin-top: 4rem;
    display: block;
  }
  .p-job-index-workflow .rp-imgList_item {
    width: 100%;
  }
  .p-job-index-workflow .rp-imgList_item + .rp-imgList_item {
    margin-top: 1.2rem;
  }
  .p-job-index-workflow .rp-imgList_item .button-image {
    height: 10.4rem;
  }
  .p-job-index-workflow .rp-imgList_item .button-image .img {
    height: 100%;
  }
  .p-job-index-workflow .rp-imgList_item .button-image .img img {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
  }
  .p-job-index-workflow .rp-imgList_item .button-image .txt {
    font-size: 1.6rem;
    left: 2rem;
  }
  .p-job-index-workflow .rp-imgList_item .button-image .arrow {
    right: 1.6rem;
    bottom: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
  }
}

.p-job-index-support {
  margin-top: 12rem;
}

@media screen and (max-width: 768px) {
  .p-job-index-support {
    margin-top: 5.6rem;
  }
}

.p-job-index-support_content {
  margin-top: 6rem;
  position: relative;
}

@media screen and (max-width: 768px) {
  .p-job-index-support_content {
    margin-top: 3.5rem;
  }
}

.p-job-index-support_image {
  width: calc((1080 / 1280) * 100%);
  height: calc(100vw / (1280 / 456));
  min-height: 456px;
  border-radius: 4px;
  overflow: hidden;
}

.p-job-index-support_image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

@media screen and (max-width: 768px) {
  .p-job-index-support_image {
    width: 100vw;
    height: 23.9rem;
    min-height: 23.9rem;
  }
}

.p-job-index-support_text {
  position: absolute;
  right: 0;
  bottom: -8rem;
  width: calc((575 / 1280) * 100%);
  min-width: 57.5rem;
  background: #f7f7f7;
  padding: 8rem;
}

.p-job-index-support_text .container {
  max-width: 45rem;
  margin-left: 0;
}

@media screen and (max-width: 768px) {
  .p-job-index-support_text {
    width: 33.5rem;
    min-width: 33.5rem;
    position: relative;
    bottom: auto;
    margin-left: 2rem;
    padding: 4rem 2.4rem 2.4rem;
    margin-top: -5rem;
  }
  .p-job-index-support_text .container {
    max-width: 100%;
    padding: 0;
  }
}

.p-job-index-support_copy {
  line-height: 1.6;
}

@media screen and (max-width: 768px) {
  .p-job-index-support_copy {
    font-size: 1.6rem;
  }
}

.p-job-index-support_btn {
  margin-top: 4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

@media screen and (max-width: 768px) {
  .p-job-index-support_btn {
    margin-top: 2.4rem;
  }
}

.p-job-index-support_banner {
  margin-top: 20rem;
}

@media screen and (max-width: 768px) {
  .p-job-index-support_banner {
    margin-top: 5.6rem;
  }
}

.p-job-index-support_banner .banner-ttl {
  font-size: 2.4rem;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 768px) {
  .p-job-index-support_banner .banner-ttl {
    font-size: 2rem;
    line-height: 1.3;
  }
}

.p-job-index-support_banner .banner-list {
  margin-top: 6rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 3.2rem;
}

@media screen and (max-width: 768px) {
  .p-job-index-support_banner .banner-list {
    display: block;
    margin-top: 4rem;
  }
}

.p-job-index-support_banner .banner-item {
  width: calc(50% - 1.6rem);
  position: relative;
}

.p-job-index-support_banner .banner-item a {
  display: block;
}

.p-job-index-support_banner .banner-item a:hover .arrow:before {
  -webkit-transform: scale(1.25);
  transform: scale(1.25);
}

.p-job-index-support_banner .banner-item a:hover .arrow::after {
  -webkit-transform: scale(1);
  transform: scale(1);
  background: #fff;
}

.p-job-index-support_banner .banner-item a:hover .arrow._white .svg path {
  fill: #fff;
}

.p-job-index-support_banner .banner-item a:hover .banner-image img {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}

@media screen and (max-width: 768px) {
  .p-job-index-support_banner .banner-item {
    width: 100%;
  }
  .p-job-index-support_banner .banner-item + .banner-item {
    margin-top: 1.6rem;
  }
}

.p-job-index-support_banner .banner-image {
  position: relative;
  border-radius: 0.4rem;
  overflow: hidden;
}

.p-job-index-support_banner .banner-image::after {
  content: "";
  width: 100%;
  height: 16.7rem;
  background: -webkit-gradient(
    linear,
    left top,
    left bottom,
    from(rgba(0, 0, 0, 0)),
    color-stop(48.5%, rgba(0, 0, 0, 0.3)),
    to(#000000)
  );
  background: linear-gradient(
    180deg,
    rgba(0, 0, 0, 0) 0%,
    rgba(0, 0, 0, 0.3) 48.5%,
    #000000 100%
  );
  position: absolute;
  bottom: 0;
  left: 0;
}

.p-job-index-support_banner .banner-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

@media screen and (max-width: 768px) {
  .p-job-index-support_banner .banner-image {
    height: 20rem;
  }
}

.p-job-index-support_banner .banner-text {
  width: 100%;
  position: absolute;
  bottom: 3.2rem;
  left: 0;
  color: #fff;
  padding: 0 4rem;
}

@media screen and (max-width: 768px) {
  .p-job-index-support_banner .banner-text {
    padding: 0 2rem;
    bottom: 2.4rem;
  }
}

.p-job-index-support_banner .banner-ttl {
  font-size: 2.2rem;
  letter-spacing: 0;
}

@media screen and (max-width: 768px) {
  .p-job-index-support_banner .banner-ttl {
    font-size: 2rem;
  }
}

.p-job-index-support_banner .banner-copy {
  margin-top: 0.8rem;
  position: relative;
  font-weight: 700;
}

.p-job-index-support_banner .banner-copy span {
  display: inline-block;
  font-size: 1.4rem;
  margin-left: 2.4rem;
  font-weight: 500;
}

@media screen and (max-width: 768px) {
  .p-job-index-support_banner .banner-copy {
    margin-top: 0.5rem;
  }
  .p-job-index-support_banner .banner-copy span {
    display: block;
    margin-left: 0;
    margin-top: 1rem;
  }
}

.p-job-index-support_banner .arrow {
  position: absolute;
  right: 3.2rem;
  bottom: 0;
}

@media screen and (max-width: 768px) {
  .p-job-index-support_banner .arrow {
    right: 2rem;
  }
}

@-webkit-keyframes blur {
  from {
    -webkit-filter: blur(10px);
    filter: blur(10px);
  }
  to {
    -webkit-filter: blur(0) drop-shadow(5px 5px 5px rgba(21, 124, 147, 0.5));
    filter: blur(0) drop-shadow(5px 5px 5px rgba(21, 124, 147, 0.5));
  }
}

@keyframes blur {
  from {
    -webkit-filter: blur(10px);
    filter: blur(10px);
  }
  to {
    -webkit-filter: blur(0) drop-shadow(5px 5px 5px rgba(21, 124, 147, 0.5));
    filter: blur(0) drop-shadow(5px 5px 5px rgba(21, 124, 147, 0.5));
  }
}

/** home
======================================= **/
/** home
======================================= **/
.p-work-benefits_content {
  margin-top: 6rem;
}

@media screen and (max-width: 768px) {
  .p-work-benefits_content {
    margin-top: 3.5rem;
  }
}

.p-work-benefits_item + .p-work-benefits_item {
  margin-top: 8rem;
}

@media screen and (max-width: 768px) {
  .p-work-benefits_item + .p-work-benefits_item {
    margin-top: 5.6rem;
  }
}

.p-work-benefits_item .item-ttl {
  background: #212121;
  color: #fff;
  font-size: 2rem;
  letter-spacing: 0.1em;
  padding: 2.1rem 2.4rem;
}

@media screen and (max-width: 768px) {
  .p-work-benefits_item .item-ttl {
    font-size: 1.6rem;
    padding: 2.1rem 1.6rem;
  }
}

.p-work-benefits_item .item-inner {
  background: #f7f7f7;
  padding: 8rem;
}

@media screen and (max-width: 768px) {
  .p-work-benefits_item .item-inner {
    padding: 4rem 2rem;
  }
}

.p-work-benefits_item .item-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 2.5rem 2.4rem;
}

@media screen and (max-width: 768px) {
  .p-work-benefits_item .item-list {
    display: block;
  }
}

@media screen and (max-width: 768px) {
  .p-work-benefits_item .item-note {
    font-size: 1.4rem;
    margin-top: 1rem;
  }
}

.p-work-benefits_item .item-card {
  width: calc(50% - 1.2rem);
  background: #fff;
  padding: 2.4rem 4rem 4rem;
  position: relative;
}

@media screen and (max-width: 768px) {
  .p-work-benefits_item .item-card {
    width: 100%;
    padding: 3.5rem 2rem 10rem;
    min-height: 21.8rem;
  }
  .p-work-benefits_item .item-card + .item-card {
    margin-top: 1.6rem;
  }
}

.p-work-benefits_item .item-card_full {
  width: 100%;
}

.p-work-benefits_item .item-card_03 {
  padding-bottom: 8.5rem;
}

.p-work-benefits_item .item-card_03 .item-card_copy {
  width: 60%;
}

@media screen and (max-width: 768px) {
  .p-work-benefits_item .item-card_03 {
    padding-bottom: 10rem;
  }
  .p-work-benefits_item .item-card_03 .item-card_copy {
    width: 25.5rem;
  }
}

.p-work-benefits_item .item-card_heading {
  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;
}

@media screen and (max-width: 768px) {
  .p-work-benefits_item .item-card_heading {
    display: block;
  }
}

.p-work-benefits_item .item-card_ttl {
  font-size: 2rem;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 768px) {
  .p-work-benefits_item .item-card_ttl {
    font-size: 1.6rem;
  }
}

.p-work-benefits_item .item-card_icon {
  width: 7.2rem;
  height: 7.2rem;
  margin-right: -1.6rem;
}

.p-work-benefits_item .item-card_icon svg {
  width: 100%;
}

@media screen and (max-width: 768px) {
  .p-work-benefits_item .item-card_icon {
    width: 6.4rem;
    height: 6.4rem;
    position: absolute;
    bottom: 2rem;
    right: 2rem;
    margin-right: 0;
  }
}

.p-work-benefits_item .item-card_copy {
  margin-top: 2rem;
  font-size: 1.4rem;
  line-height: 1.6;
}

@media screen and (max-width: 768px) {
  .p-work-benefits_item .item-card_copy {
    margin-top: 1rem;
  }
}

.p-work-benefits_item .item-card .item-note {
  font-size: 1.4rem;
  color: #545353;
  text-align: right;
  line-height: 1;
  margin-top: 1.6rem;
}

@media screen and (max-width: 768px) {
  .p-work-benefits_item .item-card .item-note {
    text-align: left;
    font-size: 3.73333vw;
  }
}

.p-work-benefits_item .item-card_lead {
  font-size: 1.6rem;
  letter-spacing: 0.1em;
  font-weight: 700;
  line-height: 1;
  margin-top: 4rem;
  margin-bottom: 2.4rem;
}

@media screen and (max-width: 768px) {
  .p-work-benefits_item .item-card_lead {
    margin-top: 3.5rem;
    margin-bottom: 1.6rem;
  }
}

.p-work-benefits_item .item-card_box {
  background: #f7f7f7;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding-left: 4rem;
}

@media screen and (max-width: 768px) {
  .p-work-benefits_item .item-card_box {
    display: block;
    padding: 2.4rem 0 0;
  }
}

.p-work-benefits_item .item-card_box + .item-card_box {
  margin-top: 1.2rem;
}

@media screen and (max-width: 768px) {
  .p-work-benefits_item .item-card_box + .item-card_box {
    margin-top: 1.6rem;
  }
}

.p-work-benefits_item .item-card_box .box-lead {
  background: #212121;
  color: #fff;
  font-size: 1.6rem;
  font-weight: 700;
  width: 9.1rem;
  line-height: 3.2rem;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .p-work-benefits_item .item-card_box .box-lead {
    margin: 0 auto 1.2rem;
  }
}

.p-work-benefits_item .item-card_box .box-copy {
  max-width: 34rem;
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  font-size: 1.4rem;
  line-height: 1.6;
  font-weight: 500;
  color: #545353;
}

@media screen and (max-width: 768px) {
  .p-work-benefits_item .item-card_box .box-copy {
    max-width: 21.5rem;
    margin: 0 auto 2rem;
  }
}

.p-work-benefits_item .item-card_box .box-image {
  width: 32.1rem;
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
}

@media screen and (max-width: 768px) {
  .p-work-benefits_item .item-card_box .box-image {
    width: 100%;
  }
}

.p-work-benefits_item .item-card_chart {
  width: 19.2rem;
  position: absolute;
  top: 2.4rem;
  right: 16rem;
}

@media screen and (max-width: 768px) {
  .p-work-benefits_item .item-card_chart {
    position: relative;
    width: 15.4rem;
    top: auto;
    right: auto;
    margin: 2rem auto 0;
  }
}

/** home
======================================= **/
.post-type-archive-news .section-becom {
  background: #f7f7f7;
  margin-top: 0;
  padding-top: 31.2rem;
}

@media screen and (max-width: 768px) {
  .post-type-archive-news .section-becom {
    padding-top: 5.6rem;
  }
}

.single-news .section-becom {
  background: #f7f7f7;
  margin-top: 0;
  padding-top: 31.2rem;
}

@media screen and (max-width: 768px) {
  .single-news .section-becom {
    padding-top: 5.6rem;
  }
}

.p-news-content {
  margin-top: 10rem;
}

@media screen and (max-width: 768px) {
  .p-news-content {
    margin-top: 1rem;
  }
}

.p-news-list {
  padding: 0 4rem;
}

@media screen and (max-width: 768px) {
  .p-news-list {
    padding: 0;
  }
}

.p-news-item {
  border-bottom: 1px solid #e3e3e3;
}

.p-news-item a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 2.4rem;
  position: relative;
}

.p-news-item a:hover {
  opacity: 1;
}

.p-news-item a:hover .item-ttl {
  color: #d7063b;
}

.p-news-item a:hover .item-ttl::before {
  background-color: #010101;
  -webkit-transform-origin: right;
  transform-origin: right;
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transition: background-color 0.2s linear,
    -webkit-transform 0.2s linear;
  transition: background-color 0.2s linear, -webkit-transform 0.2s linear;
  transition: transform 0.2s linear, background-color 0.2s linear;
  transition: transform 0.2s linear, background-color 0.2s linear,
    -webkit-transform 0.2s linear;
}

.p-news-item a:hover .item-ttl::after {
  -webkit-transform-origin: left;
  transform-origin: left;
  -webkit-transform: scaleX(1);
  transform: scaleX(1);
  -webkit-transition: background-color 0.2s linear 0.1s,
    -webkit-transform 0.2s linear 0.1s;
  transition: background-color 0.2s linear 0.1s,
    -webkit-transform 0.2s linear 0.1s;
  transition: transform 0.2s linear 0.1s, background-color 0.2s linear 0.1s;
  transition: transform 0.2s linear 0.1s, background-color 0.2s linear 0.1s,
    -webkit-transform 0.2s linear 0.1s;
}

.p-news-item a:hover .item-icon::before {
  -webkit-transform: scale(1);
  transform: scale(1);
}

.p-news-item a:hover .item-icon::after {
  -webkit-transform: scale(1);
  transform: scale(1);
}

@media screen and (max-width: 768px) {
  .p-news-item a {
    padding: 10.66667vw 0;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .p-news-item a:hover .item-ttl span {
    background: -webkit-gradient(
      linear,
      left top,
      left bottom,
      from(#d7063b),
      to(#d7063b)
    );
    background: linear-gradient(#d7063b, #d7063b);
    background-repeat: no-repeat;
    background-size: 100% 1px;
    background-position: bottom;
  }
}

.p-news-item .item-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 22.4rem;
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
}

.p-news-item .item-date {
  font-family: "DM Sans", sans-serif;
  color: #d7063b;
  font-weight: 700;
  white-space: nowrap;
  letter-spacing: 0;
  width: 9rem;
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
}

@media screen and (max-width: 768px) {
  .p-news-item .item-date {
    font-size: 4.26667vw;
    width: auto;
  }
}

.p-news-item .item-cat {
  min-width: 9rem;
  line-height: 2.8rem;
  background: #e6e7e9;
  font-size: 1.2rem;
  color: #585656;
  text-align: center;
  margin: 0 2.2rem;
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
}

@media screen and (max-width: 768px) {
  .p-news-item .item-cat {
    font-size: 3.2vw;
    min-width: 24vw;
    line-height: 7.46667vw;
    margin: 0 3.46667vw;
  }
}

.p-news-item .item-ttl {
  font-weight: 500;
  line-height: 1.6;
  max-width: 61.5rem;
  position: relative;
  font-size: 1.6rem;
}

@media screen and (min-width: 769px) {
  .p-news-item .item-ttl {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .p-news-item .item-ttl::after {
    content: "";
    width: 100%;
    height: 1px;
    background: #010101;
    position: absolute;
    bottom: 0;
    left: 0;
  }
  .p-news-item .item-ttl::before,
  .p-news-item .item-ttl::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 1px;
    background-color: #010101;
    left: 0;
    bottom: 0;
    -webkit-transform-origin: right;
    transform-origin: right;
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transition: background-color 0.2s linear 0.1s,
      -webkit-transform 0.2s linear 0.1s;
    transition: background-color 0.2s linear 0.1s,
      -webkit-transform 0.2s linear 0.1s;
    transition: transform 0.2s linear 0.1s, background-color 0.2s linear 0.1s;
    transition: transform 0.2s linear 0.1s, background-color 0.2s linear 0.1s,
      -webkit-transform 0.2s linear 0.1s;
  }
  .p-news-item .item-ttl::after {
    background-color: #d7063b;
    -webkit-transform-origin: right;
    transform-origin: right;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transition: background-color 0.2s linear,
      -webkit-transform 0.2s linear;
    transition: background-color 0.2s linear, -webkit-transform 0.2s linear;
    transition: transform 0.2s linear, background-color 0.2s linear;
    transition: transform 0.2s linear, background-color 0.2s linear,
      -webkit-transform 0.2s linear;
  }
}

@media screen and (max-width: 768px) {
  .p-news-item .item-ttl {
    width: 100%;
    max-width: 100%;
    font-size: 4.26667vw;
    margin-top: 1.6rem;
  }
  .p-news-item .item-ttl span {
    display: inline;
    background: -webkit-gradient(
      linear,
      left top,
      left bottom,
      from(#010101),
      to(#010101)
    );
    background: linear-gradient(#010101, #010101);
    background-repeat: no-repeat;
    background-size: 100% 1px;
    background-position: bottom;
  }
}

.p-news-item .item-icon {
  width: 0.8rem;
  position: absolute;
  top: 1.8rem;
  right: 2.4rem;
  width: 3.2rem;
  height: 3.2rem;
  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;
}

.p-news-item .item-icon img {
  width: 0.8rem;
}

.p-news-item .item-icon::before,
.p-news-item .item-icon::after {
  content: "";
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  margin: auto;
  -webkit-transform-origin: center;
  transform-origin: center;
  -webkit-transform: scale(0);
  transform: scale(0);
  -webkit-transition: -webkit-transform 0.2s linear;
  transition: -webkit-transform 0.2s linear;
  transition: transform 0.2s linear;
  transition: transform 0.2s linear, -webkit-transform 0.2s linear;
}

.p-news-item .item-icon::before {
  width: 3.2rem;
  height: 3.2rem;
  background: #d7063b;
  border-radius: 50%;
}

.p-news-item .item-icon::after {
  width: 0.6rem;
  height: 0.6rem;
  background: #fff;
}

@media screen and (max-width: 768px) {
  .p-news-item .item-icon {
    top: 3.8rem;
    right: 0;
  }
}

.p-news-pagination {
  padding: 6.4rem 0;
}

@media screen and (max-width: 768px) {
  .p-news-pagination {
    padding: 14.93333vw 0;
  }
}

.privacy {
  padding: 8rem 0 0;
}

@media screen and (max-width: 768px) {
  .privacy {
    padding: 5.6rem 0 0;
  }
}

.privacy-content {
  padding: 0 8rem;
  font-size: 1.6rem;
  line-height: 1.6;
}

@media screen and (max-width: 768px) {
  .privacy-content {
    padding: 0;
  }
}

.privacy-headline {
  text-align: center;
  font-size: 3.2rem;
  padding-bottom: 2rem;
  border-bottom: 1px solid #000;
}

@media screen and (max-width: 768px) {
  .privacy-headline {
    text-align: left;
    font-size: 2rem;
    line-height: 1.5;
    padding-bottom: 1rem;
  }
}

.privacy-sub {
  text-align: center;
  margin-top: 1rem;
}

@media screen and (max-width: 768px) {
  .privacy-sub {
    text-align: left;
  }
}

.privacy-lead {
  margin-top: 6.4rem;
}

.privacy-lead a:hover {
  text-decoration: underline;
}

@media screen and (max-width: 768px) {
  .privacy-lead {
    margin-top: 5.5rem;
  }
}

.privacy-list {
  margin-top: 8rem;
}

@media screen and (max-width: 768px) {
  .privacy-list {
    margin-top: 4rem;
  }
}

.privacy-item + .privacy-item {
  margin-top: 5rem;
}

.privacy-item h3 {
  margin-bottom: 2.5rem;
}

.cross-intro {
  padding: 9.6rem 0 10rem;
}

@media screen and (max-width: 768px) {
  .cross-intro {
    padding: 4rem 0 1.8rem;
  }
}

.cross-intro_ttl {
  border-bottom: 2px solid #d7063b;
}

.cross-intro_ttl span {
  display: inline-block;
  font-size: 2.2rem;
  color: #fff;
  line-height: 1;
  padding: 0.9rem 1.4rem;
  background: #d7063b;
}

@media screen and (max-width: 768px) {
  .cross-intro_ttl span {
    font-size: 1.8rem;
    padding: 1rem 1.5rem;
  }
}

.cross-intro_list {
  background: #e9eaec;
  padding: 4.6rem 3rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 1rem;
}

@media screen and (max-width: 768px) {
  .cross-intro_list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 1.2rem;
    padding: 3rem 1.4rem;
  }
}

.cross-intro_list .item {
  width: calc((100% / 3) - (2rem / 3));
  height: 17.3rem;
  background: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (max-width: 768px) {
  .cross-intro_list .item {
    width: 100%;
    height: 12.2rem;
  }
}

.cross-intro_list .item-text {
  width: 100%;
  padding: 2.5rem;
  line-height: 1;
  font-size: 1.4rem;
  font-weight: 500;
  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-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.cross-intro_list .item-image {
  width: 11.7rem;
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  height: 100%;
}

@media screen and (max-width: 768px) {
  .cross-intro_list .item-image {
    width: 13.6rem;
  }
}

.cross-intro_list .item-name {
  font-size: 2rem;
}

.cross-intro_list .item-year {
  margin: 1.6rem 0 0.8rem;
}

.cross-content_image {
  height: 47.4rem;
}

.cross-content_image img {
  -o-object-position: top;
  object-position: top;
}

@media screen and (max-width: 768px) {
  .cross-content_image {
    height: 18.8rem;
  }
}

.cross-content_box {
  padding: 8rem 0;
}

@media screen and (max-width: 768px) {
  .cross-content_box {
    padding: 4rem 0;
  }
}

.cross-content_box + .cross-content_box {
  padding-top: 2rem;
}

.cross-content_box .container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
  gap: 8rem;
}

@media screen and (max-width: 768px) {
  .cross-content_box .container {
    display: block;
  }
}

.cross-content_box .box-image {
  max-width: 53rem;
  width: 100%;
  height: 52rem;
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
}

@media screen and (max-width: 768px) {
  .cross-content_box .box-image {
    max-width: 100%;
    height: 18.8rem;
  }
}

.cross-content_box .box-text {
  width: 100%;
}

.cross-content_box .box-ttl {
  background: #212121;
  color: #fff;
  font-size: 2rem;
  line-height: 1.3;
  letter-spacing: 0.1em;
  padding: 2.4rem;
  text-align: center;
  margin-bottom: 4rem;
}

@media screen and (max-width: 768px) {
  .cross-content_box .box-ttl {
    font-size: 1.6rem;
    padding: 1.6rem 2.3rem;
    margin-bottom: 2rem;
  }
}

.cross-content_box .box-list {
  font-size: 1.6rem;
  line-height: 1.8;
  font-weight: 500;
  color: #545353;
}

.cross-content_box .box-list li + li {
  margin-top: 2.8rem;
}

.cross-content_box .box-list span {
  color: #d7063b;
}

@media screen and (max-width: 768px) {
  .cross-content_box .box-list {
    margin-top: 2rem;
  }
}

.cross-content_btn {
  text-align: center;
}

.cross-content_btn .button-more {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
}

.p-faq .txt-hl {
  color: #d7063b;
}

.p-faq-content {
  padding-top: 12rem;
}

.p-faq_inner {
  max-width: 96rem;
  margin: 0 auto;
}

.p-faq-lead {
  text-align: center;
  font-size: 1.8rem;
  line-height: 1.5;
  font-weight: 500;
  letter-spacing: 0.1em;
  margin-bottom: 8rem;
}

.p-faq-lead .link-inline {
  border-bottom: 1px solid #d7063b;
}

@media screen and (min-width: 769px) {
  .p-faq-lead .link-inline {
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  .p-faq-lead .link-inline:hover {
    border-bottom-color: transparent;
  }
}

.p-faq-tabs_tab ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 2.4rem;
}

.p-faq-tabs_tab li {
  width: 22.2rem;
  cursor: pointer;
  border: 1px solid #54535350;
  border-radius: 0.4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.8rem;
  padding: 1.8rem;
  color: #54535350;
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
}

.p-faq-tabs_tab li .txt {
  font-weight: 700;
  font-size: 1.8rem;
  line-height: 1.5;
  letter-spacing: 0.1em;
}

.p-faq-tabs_tab li .arr {
  line-height: 0;
}

.p-faq-tabs_tab li .arr .svg path {
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
}

.p-faq-tabs_tab li.current,
.p-faq-tabs_tab li:hover {
  color: #fff;
  background: #d7063b;
  border-color: #d7063b;
}

.p-faq-tabs_tab li.current .arr .svg path,
.p-faq-tabs_tab li:hover .arr .svg path {
  fill: #fff;
}

.p-faq-tabs_content {
  padding-top: 4rem;
}

.p-faq_unit {
  display: none;
}

.p-faq_unit.current {
  display: block;
}

.p-faq-item {
  margin-top: 1.6rem;
  background: #f7f7f7;
  border-radius: 0.4rem;
}

.p-faq-item dt {
  cursor: pointer;
  padding: 2rem 8rem 2rem 2.4rem;
  position: relative;
  line-height: 1;
}

.p-faq-item dt .txt {
  font-size: 1.8rem;
  line-height: 1.4444444444;
  font-weight: 700;
  letter-spacing: 0.1em;
  display: inline-block;
}

.p-faq-item dt .arr {
  position: absolute;
  top: 1.7rem;
  right: 2.4rem;
  width: 3.2rem;
  height: 3.2rem;
  z-index: 1;
  background: #e9eaec;
  border-radius: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
}

.p-faq-item dt.active .arr {
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}

@media screen and (min-width: 769px) {
  .p-faq-item dt:hover .arr {
    background: #dbdbdb;
  }
}

.p-faq-item dd {
  color: #545353;
  padding: 0 9.6rem 2.4rem 2.4rem;
  letter-spacing: 0.05em;
  font-size: 1.6rem;
  line-height: 1.6;
  font-weight: 400;
}

@media screen and (max-width: 768px) {
  .p-faq .txt-hl {
    color: #d7063b;
  }
  .p-faq-content {
    padding-top: 5.6rem;
  }
  .p-faq-lead {
    font-size: 1.6rem;
    margin-bottom: 3.6rem;
    text-align: left;
  }
  .p-faq-tabs_tab ul {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 1.2rem;
  }
  .p-faq-tabs_tab li {
    width: 100%;
    gap: 0.8rem;
    padding: 1rem 4rem;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    min-height: 6.4rem;
  }
  .p-faq-tabs_tab li .txt {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    text-align: left;
    font-size: 1.6rem;
  }
  .p-faq-tabs_content {
    padding-top: 2.4rem;
  }
  .p-faq-item {
    padding-bottom: 0.8rem;
  }
  .p-faq-item dt {
    padding: 3.2rem 6.8rem 2.4rem 2rem;
  }
  .p-faq-item dt .txt {
    font-size: 1.6rem;
    line-height: 1.5;
  }
  .p-faq-item dt .arr {
    top: 50%;
    margin-top: -1.2rem;
  }
  .p-faq-item dd {
    padding: 0 6.8rem 2.4rem 2rem;
    font-size: 1.4rem;
  }
}

.report-article {
  padding-top: 8rem;
  overflow: hidden;
}

.report-article_ttl {
  font-size: 3.2rem;
  line-height: 1.5;
  font-weight: 700;
  padding-bottom: 1.6rem;
  border-bottom: 1px solid #000;
  margin-bottom: 8rem;
  letter-spacing: 0.1em;
}

.report-article_intro {
  padding-right: 8rem;
}

.report-article_intro h3 {
  font-size: 2.4rem;
  line-height: 1.5;
  font-weight: 700;
  margin-bottom: 2.6rem;
  letter-spacing: 0.1em;
}

.report-article_intro p {
  font-size: 1.6rem;
  line-height: 1.6;
  font-weight: 500;
  letter-spacing: 0.05em;
  color: #545353;
}

.report-article_row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 12rem;
  position: relative;
  padding: 12rem 0 8rem;
  gap: 8rem;
  gap: 7.14285714%;
}

.report-article_row::before {
  position: absolute;
  top: 0;
  left: 12.4rem;
  width: 100vw;
  height: 100%;
  background: #f7f7f7;
  content: "";
  z-index: 1;
}

.report-article_row:nth-child(2n) {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}

.report-article_row:nth-child(2n)::before {
  left: auto;
  right: 12.4rem;
}

.report-article_box .box-image {
  width: 50%;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  position: relative;
  z-index: 2;
}

.report-article_box .box-image figure {
  border-radius: 0.4rem;
  overflow: hidden;
  aspect-ratio: 560/350;
}

.report-article_box .box-desc {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  position: relative;
  z-index: 2;
  margin-top: -0.5rem;
}

.report-article_box .box-desc h4 {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
  margin-bottom: 2rem;
}

.report-article_box .box-desc h4:nth-of-type(n + 2) {
  margin-top: 10rem;
}

.report-article_box .box-desc p {
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.05em;
  color: #545353;
}

@media screen and (max-width: 768px) {
  .report-article {
    padding-top: 5.6rem;
  }
  .report-article_ttl {
    font-size: 2rem;
    padding-bottom: 1.2rem;
    margin-bottom: 5.6rem;
  }
  .report-article_intro {
    padding-right: 0;
  }
  .report-article_intro h3 {
    font-size: 1.8rem;
    margin-bottom: 1.6rem;
  }
  .report-article_row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    margin-top: 5.6rem;
    padding: 4rem 0;
    gap: 4rem;
  }
  .report-article_row::before {
    left: -2rem;
    width: 100vw;
  }
  .report-article_row:nth-child(2n) {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .report-article_row:nth-child(2n)::before {
    left: -2rem;
    right: -2rem;
  }
  .report-article_box .box-image {
    width: 100%;
  }
  .report-article_box .box-image figure {
    aspect-ratio: 335/223;
  }
  .report-article_box .box-desc {
    margin-top: 0;
  }
  .report-article_box .box-desc h4 {
    font-size: 1.8rem;
    margin-bottom: 1.6rem;
  }
  .report-article_box .box-desc h4:nth-of-type(n + 2) {
    margin-top: 4rem;
  }
  .report-article_box .box-desc p {
    font-size: 1.6rem;
    text-align: justify;
    font-weight: 500;
  }
}

.office-branch {
  padding-top: 3rem;
}

.office-branch_unit:nth-child(n + 2) {
  margin-top: 4rem;
}

.office-branch_ttl {
  font-size: 2.4rem;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.1em;
  margin-bottom: 3rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid #e9eaec;
  position: relative;
}

.office-branch_ttl::after {
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 20rem;
  max-width: 60%;
  height: 1px;
  background: #010101;
  content: "";
  z-index: 1;
}

.office-branch_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 1.6rem 1.4rem;
}

.office-branch_item {
  width: calc((100% - 2.8rem) / 3);
}

.office-branch_link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 1.6rem 2.4rem 1.6rem 1.6rem;
  border-radius: 0.4rem;
  background: #f7f7f7;
  height: 100%;
}

.office-branch_link .pic {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 12.3rem;
  aspect-ratio: 123/76;
  border-radius: 0.4rem 0.4rem 0 0;
  overflow: hidden;
  display: block;
}

.office-branch_link .txt {
  margin-left: 2.4rem;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.1em;
  padding-right: 1.2rem;
}

.office-branch_link .arrow {
  margin-left: auto;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.office-branch_link .arrow::before,
.office-branch_link .arrow::after {
  content: "";
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border-radius: 50%;
  position: absolute;
  z-index: 2;
  margin: auto;
  -webkit-transform-origin: center;
  transform-origin: center;
  -webkit-transform: scale(0);
  transform: scale(0);
  -webkit-transition: -webkit-transform 0.2s ease-in-out;
  transition: -webkit-transform 0.2s ease-in-out;
  transition: transform 0.2s ease-in-out;
  transition: transform 0.2s ease-in-out, -webkit-transform 0.2s ease-in-out;
  opacity: 1;
  visibility: visible;
}

.office-branch_link .arrow::before {
  width: 100%;
  height: 100%;
  background: #fff;
}

.office-branch_link .arrow::after {
  width: 0.6rem;
  height: 0.6rem;
  background: #d7063b;
  -webkit-transition: -webkit-transform 0.2s ease-in-out;
  transition: -webkit-transform 0.2s ease-in-out;
  transition: transform 0.2s ease-in-out;
  transition: transform 0.2s ease-in-out, -webkit-transform 0.2s ease-in-out;
}

.office-branch_link .arrow .svg {
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
}

.office-branch_link .arrow .svg path {
  fill: #fff;
}

@media screen and (min-width: 769px) {
  .office-branch_link:hover {
    opacity: 1;
    background: #d7063b;
    color: #fff;
  }
  .office-branch_link:hover .arrow::before {
    -webkit-transform: scale(1.25);
    transform: scale(1.25);
  }
  .office-branch_link:hover .arrow::after {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  .office-branch_link:hover .arrow .svg {
    opacity: 0;
  }
}

.p-office-branch {
  padding-top: 13.6rem;
}

@media screen and (max-width: 768px) {
  .p-office-branch {
    padding-top: 14.66667vw;
  }
}

.p-office-division {
  padding-top: 12rem;
}

.p-office-detail .key-visual {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}

.p-office-detail .key-visual::after {
  content: none;
}

.p-office-detail .key-visual .kv-img {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
}

.p-office-detail .key-visual .kv-ttl {
  position: relative;
  z-index: 1;
  top: 0;
  left: 0;
  height: 100%;
  -webkit-transform: translate(0, 0);
  transform: translate(0, 0);
  width: 31.09375%;
  min-width: 39.8rem;
  background: #212121;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.p-office-detail .key-visual .kv-ttl .en {
  font-size: 3.2rem;
  font-family: "Noto Sans JP", sans-serif;
}

.p-office-detail .key-visual .kv-ttl .ja {
  margin-top: 2rem;
  font-size: 2rem;
}

.office-detail-info {
  background: #f7f7f7;
  padding: 12rem 0 8rem;
}

.office-detail-info_ttl {
  font-size: 3.2rem;
  line-height: 1;
  font-weight: 700;
  margin-bottom: 6.4rem;
  letter-spacing: 0.1em;
}

.office-detail-info_ctn dl {
  border-radius: 0.4rem;
  background: #fff;
  padding: 4rem 6.4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.office-detail-info_ctn dl:nth-child(n + 2) {
  margin-top: 2.4rem;
}

.office-detail-info_ctn dt {
  width: 25.3rem;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  padding-right: 1.5rem;
  font-weight: 700;
  font-size: 1.8rem;
  letter-spacing: 0.1em;
}

.office-detail-info_ctn dd {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  font-size: 1.6rem;
  line-height: 1.6;
  font-weight: 500;
  letter-spacing: 0.05em;
  text-align: justify;
  color: #545353;
}

.office-detail-info_ctn dd span {
  color: #010101;
}

.office-detail-info_ctn dd {
  color: #010101;
}

.office-detail-info_ctn dd .txt-note {
  font-size: 1.4rem;
  margin-top: 0.6rem;
}

.office-detail-pic {
  padding: 8rem 0 12rem;
}

.office-detail-pic_ttl {
  text-align: center;
  margin-bottom: 2rem;
}

.office-detail-pic_ttl span {
  background: #212121;
  padding: 2rem 8rem;
  font-size: 2.4rem;
  line-height: 1.33333;
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.1em;
  display: inline-block;
}

.office-detail-pic_slider {
  padding-top: 10.6rem;
  padding-bottom: 10.6rem;
}

.office-detail-pic_slider .swiper-pagination {
  bottom: 0;
  color: #545353;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.1em;
}

.office-detail-pic_slider .swiper-button {
  width: 6.3rem;
  height: 6.3rem;
  border-radius: 50%;
  border: 2px solid #d7063b;
  background: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
}

.office-detail-pic_slider .swiper-button::before {
  position: absolute;
  content: "";
  z-index: 1;
  background: #d7063b;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  -webkit-transform: scale(0);
  transform: scale(0);
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
}

.office-detail-pic_slider .swiper-button::after {
  display: none;
  content: none;
}

.office-detail-pic_slider .swiper-button .svg {
  width: 2rem;
  height: 1.6rem;
  position: relative;
  z-index: 2;
}

.office-detail-pic_slider .swiper-button .svg path {
  fill: #d7063b;
  stroke: #d7063b;
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
}

.office-detail-pic_slider .swiper-button.swiper-button-prev {
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
  left: 50%;
  top: 38%;
  margin-left: calc(0rem - 3.15rem - 34.85rem);
}

.office-detail-pic_slider .swiper-button.swiper-button-next {
  right: 50%;
  top: 38%;
  margin-right: calc(0rem - 3.15rem - 34.85rem);
}

@media screen and (min-width: 769px) {
  .office-detail-pic_slider .swiper-button:hover::before {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  .office-detail-pic_slider .swiper-button:hover .svg path {
    stroke: #fff;
  }
}

.office-detail-pic_slider:not(.is-slider-active) .swiper-pagination,
.office-detail-pic_slider:not(.is-slider-active) .swiper-button {
  display: none !important;
}

.office-detail-pic_slider:not(.is-slider-active) .office-detail-pic_list {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.office-detail-pic_item {
  width: 50.3rem;
  -webkit-transition: -webkit-transform 0.6s linear;
  transition: -webkit-transform 0.6s linear;
  transition: transform 0.6s linear;
  transition: transform 0.6s linear, -webkit-transform 0.6s linear;
}

.office-detail-pic_item figure {
  overflow: hidden;
  border-radius: 0.4rem 0.4rem 0 0;
  aspect-ratio: 503/313;
}

.office-detail-pic_item.swiper-slide-active {
  -webkit-transform: scale(1.38569);
  transform: scale(1.38569);
  z-index: 2;
}

.office-detail-pic_capture {
  padding: 3.2rem 2rem;
  color: #545353;
  text-align: justify;
  font-size: 1.1rem;
  font-style: normal;
  font-weight: 500;
  line-height: 160%;
  letter-spacing: 0.8px;
  background-color: #fff;
}

.office-detail-movie {
  padding: 12rem 0 25.6rem;
  margin-bottom: -25.6rem;
  background: -webkit-gradient(
    linear,
    left top,
    left bottom,
    from(#fafafa),
    to(rgba(239, 239, 239, 0))
  );
  background: linear-gradient(180deg, #fafafa 0%, rgba(239, 239, 239, 0) 100%);
  position: relative;
  overflow: hidden;
}

.office-detail-movie::before {
  position: absolute;
  content: "";
  width: 45.4rem;
  height: 27rem;
  left: 0;
  top: 0;
  -webkit-backdrop-filter: blur(35px);
  backdrop-filter: blur(35px);
  background: url("../img/top/cpt_before.png") left top no-repeat;
  background-size: cover;
  z-index: 1;
}

.office-detail-movie::after {
  position: absolute;
  content: "";
  width: 20.3rem;
  height: 11.8rem;
  right: 5rem;
  bottom: 11rem;
  -webkit-backdrop-filter: blur(35px);
  backdrop-filter: blur(35px);
  background: url("../img/top/cpt_after.png") left top no-repeat;
  background-size: cover;
  z-index: 1;
}

.office-detail-movie_inner {
  max-width: 88rem;
  margin: 0 auto;
  border-radius: 0.4rem 0.4rem 0 0;
  overflow: hidden;
  aspect-ratio: 16/9;
  position: relative;
  z-index: 2;
}

.office-detail-movie_inner iframe {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

@media screen and (max-width: 768px) {
  .office-branch {
    padding-top: 1.6rem;
  }
  .office-branch_ttl {
    font-size: 1.6rem;
    margin-bottom: 1.6rem;
    padding-bottom: 0.8rem;
  }
  .office-branch_ttl::after {
    width: 12rem;
  }
  .office-branch_list {
    gap: 1.6rem;
  }
  .office-branch_item {
    width: 100%;
  }
  .office-branch_link {
    padding: 1.2rem 1.6rem 1.2rem 1.2rem;
  }
  .office-branch_link .pic {
    width: 9.5rem;
    aspect-ratio: 95/59;
    border-radius: 0.2rem;
  }
  .office-branch_link .txt {
    margin-left: 1.6rem;
    font-size: 1.4rem;
  }
  .office-branch_link .arrow {
    width: 2.4rem;
    height: 2.4rem;
  }
  .office-branch_link .arrow .svg {
    width: 0.4rem;
    height: 0.6rem;
  }
  .p-office-division {
    padding-top: 5.6rem;
  }
  .p-office-detail .key-visual {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
    height: auto;
  }
  .p-office-detail .key-visual .kv-img {
    width: 100%;
  }
  .p-office-detail .key-visual .kv-ttl {
    position: static;
    height: auto;
    width: 100%;
    min-width: 0;
    padding: 8.8rem 0 3.2rem;
  }
  .p-office-detail .key-visual .kv-ttl .en {
    font-size: 2rem;
  }
  .p-office-detail .key-visual .kv-ttl .ja {
    margin-top: 1.2rem;
    font-size: 1.4rem;
  }
  .office-detail-pic_capture {
    padding: 1rem 2rem;
  }
  .office-detail-info {
    padding: 5.6rem 0;
  }
  .office-detail-info_ttl {
    font-size: 1.8rem;
    margin-bottom: 4rem;
  }
  .office-detail-info_ctn dl {
    border-radius: 0.4rem;
    background: #fff;
    padding: 2.4rem 2rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .office-detail-info_ctn dl:nth-child(n + 2) {
    margin-top: 1.2rem;
  }
  .office-detail-info_ctn dt {
    width: 100%;
    padding-right: 0;
    font-size: 1.6rem;
  }
  .office-detail-info_ctn dd {
    width: 100%;
    font-size: 1.4rem;
    margin-top: 1.6rem;
    position: relative;
  }
  .office-detail-info_ctn dd .txt-note {
    font-size: 1.4rem;
    margin-top: 0.6rem;
    position: absolute;
    bottom: 0;
    right: 2rem;
    z-index: 1;
  }
  .office-detail-pic {
    padding: 5.6rem 0;
  }
  .office-detail-pic_ttl {
    margin-bottom: 0;
  }
  .office-detail-pic_ttl span {
    display: block;
    padding: 1.5rem;
    font-size: 1.6rem;
    line-height: 1.625;
  }
  .office-detail-pic_slider {
    padding-top: 6rem;
    padding-bottom: 6rem;
    margin-left: -2rem;
    margin-right: -2rem;
  }
  .office-detail-pic_slider .swiper-button {
    width: 4rem;
    height: 4rem;
    padding-left: 0rem;
  }
  .office-detail-pic_slider .swiper-button .svg {
    width: 1.2rem;
    height: 1rem;
  }
  .office-detail-pic_slider .swiper-button.swiper-button-prev {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
    left: 2rem;
    margin-left: 0;
  }
  .office-detail-pic_slider .swiper-button.swiper-button-next {
    right: 2rem;
    margin-right: 0;
  }
  .office-detail-pic_item {
    width: 23.7rem;
  }
  .office-detail-pic_item figure {
    aspect-ratio: 237/160;
  }
  .office-detail-pic_item.swiper-slide-active {
    -webkit-transform: scale(1.24473);
    transform: scale(1.24473);
  }
  .office-detail-movie {
    padding: 5.6rem 0;
    margin-bottom: 0;
  }
  .office-detail-movie::before {
    position: absolute;
    content: "";
    width: 6.168rem;
    height: 16.7rem;
    left: -2.6rem;
    top: 2.7rem;
  }
  .office-detail-movie::after {
    height: 5.503rem;
    width: 14.816rem;
    right: -3.7rem;
    bottom: -0.83rem;
  }
  .office-detail-movie_inner {
    max-width: 100%;
  }
}

.p-group-wrap {
  padding-bottom: 25.6rem;
  margin-bottom: -25.6rem;
}

.p-group .group-holding_row {
  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;
  background: #212121;
  padding: 4rem 11.2rem 4rem 10.4rem;
}

.p-group .group-holding_logo {
  width: 44rem;
  height: 16.1rem;
  background: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  overflow: hidden;
}

.p-group .group-holding_logo figure {
  width: 19.4rem;
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
}

.p-group .group-holding_desc {
  color: #fff;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}

.p-group .group-holding_ttl {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  gap: 0.4rem;
  padding-bottom: 0.3rem;
}

.p-group .group-holding_ttl::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 1px;
  left: 0;
  bottom: 0;
  background: #fff;
}

.p-group .group-holding_ttl::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 1px;
  left: 0;
  bottom: 0;
  background: #d7063b;
  -webkit-transform: scale(0, 1);
  transform: scale(0, 1);
  -webkit-transform-origin: right top;
  transform-origin: right top;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}

.p-group .group-holding_ttl .txt {
  font-size: 1.6rem;
  line-height: 1.35;
  font-weight: 700;
}

.p-group .group-holding_ttl .arrow {
  background: transparent;
  width: 1.2rem;
  height: 1.2rem;
}

.p-group .group-holding_ttl .arrow .svg path {
  fill: #fff;
}

.p-group .group-holding_copy {
  text-align: justify;
}

.p-group .group-holding_copy p {
  margin-top: 1em;
}

.p-group .group-holding_link {
  display: block;
}

@media screen and (min-width: 769px) {
  .p-group .group-holding_link:hover {
    opacity: 1;
  }
  .p-group .group-holding_link:hover .group-holding_ttl::after {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    -webkit-transform-origin: left top;
    transform-origin: left top;
  }
  .p-group .group-holding_link:hover .group-holding_logo figure {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
  }
}

.p-group-company {
  margin-top: 12rem;
}

.p-group .group-company {
  margin-top: 5.6rem;
}

.p-group .group-company_unit:nth-child(n + 2) {
  margin-top: 12rem;
}

.p-group .group-company_ttl {
  margin-bottom: 5.6rem;
  background: #e9eaec;
  border-left: 2px solid #d7063b;
  font-size: 2.4rem;
  line-height: 1.5;
  padding: 1rem 2.2rem;
  font-weight: 700;
  letter-spacing: 0.1em;
}

.p-group .group-company_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 3.2rem;
}

.p-group .group-company_item {
  width: calc((100% - 6.4rem) / 3);
}

.p-group .group-company .tel {
  color: #545353;
  font-size: 1.4rem;
  line-height: 1.4;
  font-weight: 500;
  letter-spacing: 0.05em;
}

.p-group .group-company .pic {
  margin: 0;
  overflow: hidden;
}

.p-group .group-company .pic img {
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
}

.p-group .group-company .ttl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 2rem;
  gap: 0.4rem;
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
}

.p-group .group-company .ttl .txt {
  font-size: 1.6rem;
  line-height: 1.4;
  font-weight: 700;
  letter-spacing: 0.05em;
}

.p-group .group-company .ttl .arrow {
  width: 1.2rem;
  height: 1.2rem;
}

.p-group .group-company .ttl .arrow::before {
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  -webkit-transform: translate(-50%, -50%) scale(0);
  transform: translate(-50%, -50%) scale(0);
  background: #d7063b;
}

.p-group .group-company .copy {
  color: #545353;
  font-size: 1.4rem;
  line-height: 1.429;
  font-weight: 500;
  letter-spacing: 0.05em;
}

.p-group .group-company_link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  background: #fff;
  height: 100%;
  padding: 1.4rem 2.4rem 4rem;
}

.p-group .group-company_link .ttl .arrow svg {
  z-index: 3;
}

@media screen and (min-width: 769px) {
  .p-group .group-company_link:hover {
    opacity: 1;
  }
  .p-group .group-company_link:hover .ttl {
    color: #d7063b;
  }
  .p-group .group-company_link:hover .ttl .arrow .svg path {
    fill: #d7063b;
  }
  .p-group .group-company_link:hover .pic img {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
  }
}

@media screen and (max-width: 768px) {
  .p-group-wrap {
    padding-bottom: 5.6rem;
    margin-bottom: -5.6rem;
  }
  .p-group .group-holding_row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding: 4rem 2rem;
    gap: 2rem;
  }
  .p-group .group-holding_logo {
    width: 100%;
    height: 11.2rem;
  }
  .p-group .group-holding_logo figure {
    width: 13.412rem;
  }
  .p-group .group-holding_ttl {
    gap: 0.4rem;
    padding-bottom: 0;
    display: inline;
    border-bottom: 1px solid #fff;
  }
  .p-group .group-holding_ttl::before,
  .p-group .group-holding_ttl::after {
    content: none;
  }
  .p-group .group-holding_ttl .txt {
    line-height: 1.6;
    padding-right: 1.6rem;
  }
  .p-group .group-holding_ttl .arrow {
    position: absolute;
    bottom: 0.4rem;
    right: 0;
  }
  .p-group .group-holding_copy p {
    margin-top: 1.5em;
  }
  .p-group-company {
    margin-top: 5.6rem;
  }
  .p-group .group-company {
    margin-top: 4rem;
  }
  .p-group .group-company_unit:nth-child(n + 2) {
    margin-top: 5.6rem;
  }
  .p-group .group-company_ttl {
    margin-bottom: 1.6rem;
    font-size: 1.6rem;
    line-height: 1.5;
    padding: 1.2rem 2rem;
  }
  .p-group .group-company_list {
    gap: 2rem;
  }
  .p-group .group-company_item {
    width: 100%;
  }
  .p-group .group-company .pic {
    padding: 0 15%;
  }
  .p-group .group-company .ttl {
    margin-bottom: 1.6rem;
  }
  .p-group .group-company .copy {
    line-height: 1.4;
    padding-left: 1.2rem;
  }
  .p-group .group-company_link {
    padding: 1.4rem 1.4rem 3.2rem;
  }
}

/** home
======================================= **/
.u-bg-gray {
  background: #f7f7f7;
}

.p-interview-member {
  min-height: 70rem;
}
@media screen and (min-width: 769px) {
  .p-interview-member {
    min-height: 83rem;
  }
}

.p-interview_lead {
  max-width: 64.8rem;
  font-size: 1.6rem;
  line-height: 1.3;
  font-weight: 500;
  letter-spacing: 0.05em;
  margin-bottom: 5.6rem;
}

.p-interview-cross {
  margin-top: 12rem;
}

.interview-member-search {
  background: #e9eaec;
  padding: 4rem 1.2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-bottom: 8rem;
}

.interview-member-search_inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.interview-member-search_selected {
  color: #d7063b;
}

.interview-member-search_select {
  position: absolute;
  top: calc(100% + 1px);
  left: 0;
  width: 100%;
  display: block;
  background-color: #fff;
  padding: 1rem 2rem;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
  z-index: 10;
}

.interview-member-search_select li:nth-child(n + 2) {
  margin-top: 0.3rem;
}

.interview-member-search_select label {
  display: block;
  font-size: 1.4rem;
  line-height: 1.75;
  cursor: pointer;
}

.interview-member-search_select input {
  display: none;
}

.interview-member-search_box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 1.8rem;
  line-height: 1.66667;
  font-weight: 700;
  border-bottom: 1px solid #d7063b;
  width: 24.4rem;
  margin: 0 2.8rem;
}

.interview-member-search_box dt {
  white-space: nowrap;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  position: relative;
  padding-right: 1em;
}

.interview-member-search_box dt::after {
  position: absolute;
  content: "：";
  z-index: 1;
  top: 0;
  right: 0;
}

.interview-member-search_box dd {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  cursor: pointer;
  position: relative;
}

.interview-member-search_box dd .arr {
  position: absolute;
  top: 55%;
  right: 0;
  width: 1.3rem;
  height: 0.8rem;
  z-index: 2;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.interview-member-search_box dd.is-open .interview-member-search_select {
  opacity: 1;
  visibility: visible;
}

.interview-member_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 8rem 3.2rem;
}

.interview-member_item {
  width: calc((100% - 6.4rem) / 3);
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
  display: none;
}

.interview-member_item.is-show {
  display: flex;
  flex-direction: column;
  -webkit-animation-name: fade-in;
  animation-name: fade-in;
}

.interview-member_main {
  position: relative;
  overflow: hidden;
}

.interview-member_main .pic {
  width: 100%;
  aspect-ratio: 352/198;
  overflow: hidden;
}

.interview-member_main .pic img {
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
}

.interview-member_main .position {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 2;
  padding: 0.6rem 1.2rem;
  background: #ebebeb;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 1.6rem;
  max-width: 80%;
}

.interview-member_main .position span {
  font-size: 1.4rem;
  line-height: 1.28571;
  font-weight: 500;
  letter-spacing: 0.05em;
  position: relative;
}

.interview-member_main .position span:nth-child(n + 2)::before {
  position: absolute;
  top: 0;
  left: -0.8rem;
  width: 1px;
  height: 100%;
  content: "";
  z-index: 1;
  background: #c2c2c2;
}

.interview-member_main .arrow {
  position: absolute;
  z-index: 2;
  bottom: 0;
  right: 0;
  width: 9.6rem;
  height: 9.6rem;
  background-color: #d7063b;
  -webkit-transform: translate(50%, 50%);
  transform: translate(50%, 50%);
}

.interview-member_main .arrow::before,
.interview-member_main .arrow::after {
  content: "";
  border-radius: 50%;
  position: absolute;
  margin: auto;
  -webkit-transform-origin: center;
  transform-origin: center;
  -webkit-transform: scale(0);
  transform: scale(0);
  visibility: visible;
  opacity: 1;
}

.interview-member_main .arrow::before {
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  background: #d7063b;
  -webkit-transition: opacity 0.2s ease-in-out;
  transition: opacity 0.2s ease-in-out;
}

.interview-member_main .arrow::after {
  top: 2.5rem;
  left: 2.5rem;
  width: 0.6rem;
  height: 0.6rem;
  background: #fff;
  -webkit-transition: -webkit-transform 0.2s ease-in-out;
  transition: -webkit-transform 0.2s ease-in-out;
  transition: transform 0.2s ease-in-out;
  transition: transform 0.2s ease-in-out, -webkit-transform 0.2s ease-in-out;
  margin: 0;
}

.interview-member_main .arrow .svg {
  width: 0.8rem;
  height: 1.3rem;
  position: absolute;
  top: 2.2rem;
  left: 2.5rem;
  z-index: 1;
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
}

.interview-member_desc {
  padding: 2.4rem 0 0;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
}

.interview-member_desc .ttl {
  font-size: 2rem;
  line-height: 1.3;
  font-weight: 500;
  letter-spacing: 0.05em;
}

.interview-member_desc .meta {
  margin-top: 1.4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  flex-direction: column;

  gap: 1.6rem;
}

.interview-member_desc .meta .name {
  font-size: 2rem;
  line-height: 1.3;
  font-weight: 700;
  letter-spacing: 0.05em;
}

.interview-member_desc .meta .date {
  font-size: 1.4rem;
  line-height: 1.28571;
  font-weight: 500;
  letter-spacing: 0.05em;
}

.interview-member_link {
  display: flex;
  flex-direction: column;
  height: 100%;
}

@media screen and (min-width: 769px) {
  .interview-member_link:hover {
    opacity: 1;
  }
  .interview-member_link:hover .interview-member_main .pic img {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
  .interview-member_link:hover .interview-member_main .arrow::before,
  .interview-member_link:hover .interview-member_main .arrow::after {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  .interview-member_link:hover .interview-member_main .arrow .svg {
    opacity: 0;
  }
}

.interview-member_pagination {
  padding: 8rem 0;
}

.interview-cross_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 8rem 4rem;
}

.interview-cross_item {
  width: calc(50% - 2rem);
}

.interview-cross_main {
  position: relative;
  overflow: hidden;
}

.interview-cross_main .pic {
  width: 100%;
  aspect-ratio: 352/198;
  overflow: hidden;
}

.interview-cross_main .pic img {
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
}

.interview-cross_main .ttl {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 2;
  padding: 1.6rem 1.6rem;
  background: #ffffff95;
  max-width: 80%;
  font-size: 2rem;
  line-height: 1.3;
  font-weight: 500;
  letter-spacing: 0.05em;
}

.interview-cross_main .arrow {
  position: absolute;
  z-index: 2;
  bottom: 0;
  right: 0;
  width: 9.6rem;
  height: 9.6rem;
  background-color: #d7063b;
  -webkit-transform: translate(50%, 50%);
  transform: translate(50%, 50%);
}

.interview-cross_main .arrow::before,
.interview-cross_main .arrow::after {
  content: "";
  border-radius: 50%;
  position: absolute;
  z-index: 2;
  margin: auto;
  -webkit-transform-origin: center;
  transform-origin: center;
  -webkit-transform: scale(0);
  transform: scale(0);
  visibility: visible;
  opacity: 1;
}

.interview-cross_main .arrow::before {
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  background: #d7063b;
  -webkit-transition: opacity 0.2s ease-in-out;
  transition: opacity 0.2s ease-in-out;
}

.interview-cross_main .arrow::after {
  top: 2.5rem;
  left: 2.5rem;
  width: 0.6rem;
  height: 0.6rem;
  background: #fff;
  -webkit-transition: -webkit-transform 0.2s ease-in-out;
  transition: -webkit-transform 0.2s ease-in-out;
  transition: transform 0.2s ease-in-out;
  transition: transform 0.2s ease-in-out, -webkit-transform 0.2s ease-in-out;
  margin: 0;
}

.interview-cross_main .arrow .svg {
  width: 0.8rem;
  height: 1.3rem;
  position: absolute;
  top: 2.2rem;
  left: 2.5rem;
  z-index: 1;
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
}

.interview-cross_desc {
  padding: 3rem 0 0;
}

.interview-cross_desc_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.interview-cross_desc_col:nth-child(2n + 1) {
  width: 50%;
  position: relative;
  padding-right: 2rem;
}

.interview-cross_desc_col:nth-child(2n + 1)::after {
  position: absolute;
  top: 0;
  right: 0;
  width: 1px;
  height: 100%;
  content: "";
  z-index: 1;
  background: #d3d3d3;
}

.interview-cross_desc_col:nth-child(2n) {
  padding-left: 2rem;
}

.interview-cross_desc .job {
  font-size: 1.4rem;
  line-height: 1.28571;
  font-weight: 500;
  letter-spacing: 0.05em;
  margin-top: 0.6rem;
}

.interview-cross_desc .meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  gap: 1.6rem;
}

.interview-cross_desc .meta .name {
  font-size: 2rem;
  line-height: 1.3;
  font-weight: 700;
  letter-spacing: 0.05em;
}

.interview-cross_desc .meta .date {
  font-size: 1.4rem;
  line-height: 1.28571;
  font-weight: 500;
  letter-spacing: 0.05em;
}

@media screen and (min-width: 769px) {
  .interview-cross_link:hover {
    opacity: 1;
  }
  .interview-cross_link:hover .interview-cross_main .pic img {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
  .interview-cross_link:hover .interview-cross_main .arrow::before,
  .interview-cross_link:hover .interview-cross_main .arrow::after {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  .interview-cross_link:hover .interview-cross_main .arrow .svg {
    opacity: 0;
  }
}

.p-interview-detail .key-visual {
  height: 39.3rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}

.p-interview-detail .key-visual::after {
  content: none;
}

.p-interview-detail .key-visual .kv-img {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
}

.p-interview-detail .key-visual .kv-img img {
  -o-object-position: top;
  object-position: top;
}

.p-interview-detail .kv-detail-desc {
  position: relative;
  z-index: 1;
  top: 0;
  left: 0;
  height: 100%;
  -webkit-transform: translate(0, 0);
  transform: translate(0, 0);
  width: 32.109375%;
  min-width: 41.1rem;
  background: #212121;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  color: #fff;
}

.p-interview-detail .kv-detail-desc_inner {
  /* padding: 0 8rem 1rem; */
  padding: 0 2rem 1rem;
}

@media screen and (max-width: 768px) {
  .p-interview-detail .kv-detail-desc_inner {
    padding: 0 1.5rem 1rem;
  }
}

.p-interview-detail .kv-detail-desc_pos {
  padding: 0.5rem 3.2rem 0.7rem;
  text-align: center;
  background: #d7063b;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  border-radius: 3.2rem;
}

.p-interview-detail .kv-detail-desc_pos .txt {
  font-size: 1.6rem;
  line-height: 1.375;
  font-weight: 700;
  letter-spacing: 0.1em;
}

.p-interview-detail .kv-detail-desc_copy {
  margin-top: 2.4rem;
  font-size: 2rem;
  line-height: 1.3;
  font-weight: 500;
  letter-spacing: 0.05em;
}

.p-interview-detail .kv-detail-desc_name {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  gap: 1.6rem;
  margin-top: 3rem;
}

.p-interview-detail .kv-detail-desc_name .name {
  font-size: 3.2rem;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.05em;
  white-space: nowrap;
}

.p-interview-detail .kv-detail-desc_name .join {
  font-size: 1.4rem;
  /* line-height: 1; */
  line-height: 1.2;
  font-weight: 500;
  letter-spacing: 0.05em;
  white-space: nowrap;
}

.p-interview-detail .kv-detail-desc_cross {
  font-size: 1.6rem;
  line-height: 1.3;
  border-bottom: 1px solid #838383;
  padding-bottom: 2rem;
}

.interview-detail-content {
  position: relative;
}

.interview-detail-content_inner {
  position: relative;
  z-index: 2;
}

.interview-detail-content::before {
  position: absolute;
  z-index: 1;
  content: "";
  background: #f7f7f7;
  width: 93.4rem;
  max-width: 90%;
  left: 50%;
  top: 9rem;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  height: calc(100% - 9rem - 8rem);
}

.interview-detail-intro {
  margin-bottom: 16rem;
}

.interview-detail-intro_list {
  padding-top: 9rem;
}

.interview-detail-intro_unit {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 11.3rem;
  margin-top: 7rem;
}

.interview-detail-intro_unit:nth-child(2n) {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}

.interview-detail-intro_pic {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
}

.interview-detail-intro_pic figure {
  max-width: 100%;
  border-radius: 0.4rem;
  overflow: hidden;
}

.interview-detail-intro_pic.w-01 figure {
  aspect-ratio: 447/300;
}

.interview-detail-intro_pic.w-02 figure {
  aspect-ratio: 447/538;
}

.interview-detail-intro_pic.w-03 figure {
  width: 38.8rem;
  aspect-ratio: 388/325;
}

.interview-detail-intro_desc {
  width: 56rem;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.interview-detail-intro_ttl {
  font-size: 2rem;
  line-height: 1.3;
  font-weight: 700;
  letter-spacing: 0.1em;
  position: relative;
  margin-bottom: 2.4rem;
}

.interview-detail-intro_ttl::before {
  position: absolute;
  content: "";
  z-index: 1;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  left: -5.2rem;
  width: 4rem;
  height: 1px;
  background: #010101;
}

.interview-detail-intro_copy {
  font-size: 1.6rem;
  line-height: 1.8;
  letter-spacing: 0.05em;
  font-weight: 500;
  color: #545353;
}

.interview-detail-main-img figure img {
  width: 100%;
}

@media screen and (max-width: 768px) {
  .interview-detail-main-img figure {
    height: 18rem;
  }
  .interview-detail-main-img figure img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
  }
}

.interview-detail-conversation {
  margin-top: 8rem;
}

.interview-detail-conversation_row {
  position: relative;
}

.interview-detail-conversation_desc {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  width: 50.4rem;
  max-width: 50%;
  min-height: 55.3rem;
}

.interview-detail-conversation_head {
  margin-bottom: 6.4rem;
}

.interview-detail-conversation_q {
  color: #fff;
  background: #212121;
  text-align: center;
  padding: 2.4rem 1.5rem;
  font-weight: 700;
  font-size: 2rem;
  line-height: 1.3;
  letter-spacing: 0.1em;
}

.interview-detail-conversation_a {
  text-align: right;
  margin-top: 3.2rem;
}

.interview-detail-conversation_a .txt {
  font-size: 2.4rem;
  line-height: 1.3;
  font-weight: 700;
  letter-spacing: 0.05em;
  display: inline-block;
  padding-left: 4.8rem;
  position: relative;
}

.interview-detail-conversation_a .txt::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 4rem;
  height: 1px;
  background: #010101;
  content: "";
}

.interview-detail-conversation_copy {
  font-size: 1.6rem;
  line-height: 1.6;
  letter-spacing: 0.05em;
  font-weight: 500;
  color: #545353;
}

.interview-detail-conversation_pic {
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 1;
  width: calc(100% - 50.4rem - 8.7rem);
  max-width: 52.9rem;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  overflow: hidden;
}

.interview-detail-conversation_pic figure {
  aspect-ratio: 529/447;
  border-radius: 0.4rem;
  overflow: hidden;
}

.interview-detail-member {
  margin-top: 8rem;
}

.interview-detail-member_ttl {
  margin-bottom: 6.4rem;
  font-size: 2rem;
  line-height: 1.4;
}

.interview-detail-member_ttl .font-en {
  font-size: 2.2rem;
  font-family: "DM Sans", sans-serif;
  font-weight: 900;
}

.single-job .interview-detail-member_ttl {
  font-size: 2.4rem;
}

.interview-detail-member_ctn {
  background: #f7f7f7;
  padding: 8rem 0 5.6rem;
}

@media screen and (max-width: 1180px) {
  .interview-detail-member_ctn {
    padding-right: 1rem;
    padding-left: 1rem;
  }
}

.interview-detail-member .js-interview-member-slider_wrap {
  position: relative;
}

.interview-detail-member .js-interview-member-slider_wrap .swiper-button {
  position: absolute;
  width: 4rem;
  height: 4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background: #d7063b;
  border-radius: 50%;
  bottom: auto;
  top: 6rem;
  z-index: 2;
}

.interview-detail-member .js-interview-member-slider_wrap .swiper-button::after,
.interview-detail-member
  .js-interview-member-slider_wrap
  .swiper-button::before {
  content: none;
}

.interview-detail-member .js-interview-member-slider_wrap .swiper-button .svg {
  width: 1.2rem;
  height: 1rem;
}

.interview-detail-member
  .js-interview-member-slider_wrap
  .swiper-button
  .svg
  path {
  stroke: #fff;
}

.interview-detail-member
  .js-interview-member-slider_wrap
  .swiper-button.interview-swiper-button-next {
  right: -2rem;
}

.interview-detail-member
  .js-interview-member-slider_wrap
  .swiper-button.interview-swiper-button-prev {
  left: -2rem;
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}

.interview-detail-member
  .js-interview-member-slider_wrap
  .swiper-button.swiper-button-disabled {
  background: #cbcbcb;
  opacity: 1;
}

.interview-detail-member .interview-member {
  padding: 0 0 2rem;
  margin: 0 -1.2rem;
}

.interview-detail-member .interview-member_list {
  gap: 0;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
}

.interview-detail-member .interview-member_item {
  padding: 0 1.2rem;
  width: 25%;
  height: auto;
  display: block !important;
}

.interview-detail-member .interview-member_main .pic {
  aspect-ratio: 262/160;
  border-radius: 0.4rem 0.4rem 0 0;
  overflow: hidden;
}

.interview-detail-member .interview-member_main .arrow {
  width: 8rem;
  height: 8rem;
}

.interview-detail-member .interview-member_main .arrow::after {
  top: 2.1rem;
  left: 2.1rem;
}

.interview-detail-member .interview-member_main .arrow .svg {
  width: 0.6rem;
  height: 1rem;
  top: 1.9rem;
  left: 2.1rem;
}

.interview-detail-member .interview-member_desc .ttl {
  font-size: 1.4rem;
  font-weight: 700;
}

.interview-detail-member .interview-member_desc .meta {
  gap: 0.8rem;
}

.interview-detail-member .interview-member_desc .meta .name {
  font-size: 1.6rem;
}

.interview-detail-member .interview-member_desc .meta .date {
  font-size: 1.4rem;
  line-height: 1.28571;
}

.interview-detail-member .interview-member-btn {
  margin-top: 4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

.interview-detail-member .interview-member-btn_link {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.8rem;
}

.interview-detail-member .interview-member-btn_link .txt {
  font-size: 1.6rem;
  line-height: 1.6;
  font-weight: 700;
  position: relative;
  letter-spacing: 0.05em;
}

.interview-detail-member .interview-member-btn_link .txt::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 0.2rem;
  left: 0;
  bottom: -0.5rem;
  background: #010101;
  -webkit-transform: scale(0, 1);
  transform: scale(0, 1);
  -webkit-transform-origin: right top;
  transform-origin: right top;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}

@media screen and (min-width: 769px) {
  .interview-detail-member .interview-member-btn_link:hover .txt::after {
    -webkit-transform-origin: left top;
    transform-origin: left top;
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
  }
  .interview-detail-member .interview-member-btn_link:hover .arrow::before {
    width: 125%;
    height: 125%;
    opacity: 1;
    visibility: visible;
  }
  .interview-detail-member .interview-member-btn_link:hover .arrow .svg {
    opacity: 0;
  }
  .interview-detail-member .interview-member-btn_link:hover .arrow::after {
    opacity: 1;
    visibility: visible;
  }
}

.interview-detail-member .interview-member.no-slider + .interview-slider-btn {
  display: none;
}

@media screen and (max-width: 768px) {
  .p-interview_lead {
    font-size: 1.4rem;
    line-height: 1.4;
    margin-bottom: 4rem;
  }
  .p-interview-cross {
    margin-top: 5.6rem;
  }
  .interview-member-search {
    padding: 3.2rem 4rem;
    padding: 3.2rem;
    margin-bottom: 4rem;
    display: block;
  }
  .interview-member-search_inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .interview-member-search_box {
    font-size: 1.6rem;
    line-height: 1.875;
    width: 100%;
    margin: 0;
  }
  .interview-member-search_box dt {
    white-space: nowrap;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    min-width: 10rem;
  }
  .interview-member-search_box dd {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    cursor: pointer;
    position: relative;
  }
  .interview-member-search_box dd .arr {
    position: absolute;
    top: 55%;
    right: 0;
    width: 1.3rem;
    height: 0.8rem;
    z-index: 2;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .interview-member-search_box dd.is-open .interview-member-search_select {
    opacity: 1;
    visibility: visible;
    /* 追加 */
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }
  .interview-member-search_box:nth-child(n + 2) {
    margin-top: 2.6rem;
  }
  .interview-member_list {
    gap: 5.6rem;
  }
  .interview-member_item {
    width: 100%;
  }
  .interview-member_main .pic {
    aspect-ratio: 335/188;
  }
  .interview-member_main .position {
    padding: 0.6rem 1rem;
    gap: 1.2rem;
  }
  .interview-member_main .position span {
    font-size: 1.2rem;
    line-height: 1.5;
  }
  .interview-member_main .position span:nth-child(n + 2)::before {
    left: -0.6rem;
  }
  .interview-member_desc {
    padding: 1.6rem 0 0;
  }
  .interview-member_desc .ttl {
    font-size: 1.6rem;
  }
  .interview-member_desc .meta {
    margin-top: 1.6rem;
    gap: 0.8rem;
  }
  .interview-member_desc .meta .name {
    font-size: 1.6rem;
  }
  .interview-member_pagination {
    padding: 6.6rem 0;
  }
  .interview-cross_list {
    gap: 5.6rem;
  }
  .interview-cross_item {
    width: 100%;
  }
  .interview-cross_main .pic {
    aspect-ratio: 335/188;
  }
  .interview-cross_main .ttl {
    padding: 1.2rem 1.6rem;
    font-size: 1.6rem;
  }
  .interview-cross_desc {
    padding: 1.2rem 0 0;
  }
  .interview-cross_desc_col {
    width: 50%;
    padding-top: 0.8rem;
    padding-bottom: 0.2rem;
  }
  .interview-cross_desc .job {
    font-size: 1.4rem;
    line-height: 1.28571;
    font-weight: 500;
    letter-spacing: 0.05em;
    margin-top: 0.6rem;
  }
  .interview-cross_desc .meta {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 1.2rem;
  }
  .interview-cross_desc .meta .name {
    font-size: 1.6rem;
  }
  .interview-cross_desc .meta .date {
    font-size: 1.4rem;
    line-height: 1.28571;
  }
  .interview-detail-content {
    padding-bottom: 4rem;
  }
  .interview-detail-content::before {
    width: 29.5rem;
    height: calc(100% - 4rem);
    top: 4rem;
  }
  .interview-detail-intro {
    margin-bottom: 7.8rem;
  }
  .interview-detail-intro_list {
    padding-top: 4rem;
  }
  .interview-detail-intro_unit {
    display: block;
    margin-top: 4rem;
  }
  .interview-detail-intro_pic {
    margin-bottom: 2.4rem;
    width: 100%;
  }
  .interview-detail-intro_pic.w-01 figure {
    aspect-ratio: 335/188;
  }
  .interview-detail-intro_pic.w-02 figure {
    aspect-ratio: 335/188;
  }
  .interview-detail-intro_pic.w-03 figure {
    width: 100%;
    aspect-ratio: 335/188;
  }
  .interview-detail-intro_desc {
    width: 100%;
  }
  .interview-detail-intro_ttl {
    font-size: 1.6rem;
    margin-bottom: 1.2rem;
  }
  .interview-detail-intro_ttl::before {
    content: none;
  }
  .interview-detail-conversation {
    margin-top: 4rem;
  }
  .interview-detail-conversation_desc {
    width: 100%;
    max-width: 100%;
    min-height: 0;
  }
  .interview-detail-conversation_head {
    margin-bottom: 3.2rem;
  }
  .interview-detail-conversation_q {
    padding: 1.6rem;
    font-size: 1.6rem;
    line-height: 1.3125;
  }
  .interview-detail-conversation_a {
    text-align: center;
  }
  .interview-detail-conversation_a .txt {
    font-size: 1.6rem;
    padding-left: 0;
  }
  .interview-detail-conversation_a .txt::before {
    content: none;
  }
  .interview-detail-conversation_copy {
    line-height: 1.8;
  }
  .interview-detail-conversation_pic {
    position: static;
    width: 100%;
    max-width: 100%;
    margin-bottom: 2.4rem;
  }
  .interview-detail-conversation_pic figure {
    aspect-ratio: 335/188;
  }
  .interview-detail-member {
    margin-top: 5.6rem;
  }
  .interview-detail-member_ttl {
    margin-bottom: 4rem;
    font-size: 1.4rem;
  }
  .interview-detail-member_ttl .font-en {
    font-size: 2.4rem;
  }
  .single-job .interview-detail-member_ttl {
    font-size: 1.8rem;
  }
  .interview-detail-member_ctn {
    padding: 4rem 0;
    overflow: hidden;
  }
  .interview-detail-member .js-interview-member-slider_wrap {
    margin-left: 2rem;
    margin-right: -2rem;
  }
  .interview-detail-member .js-interview-member-slider_wrap .swiper-button {
    top: 8rem;
  }
  .interview-detail-member
    .js-interview-member-slider_wrap
    .swiper-button.interview-swiper-button-next {
    right: 2rem;
  }
  .interview-detail-member .interview-member {
    padding-bottom: 0;
    margin-right: -2rem;
    padding-right: 2rem;
  }
  .interview-detail-member .interview-member_list {
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
  }
  .interview-detail-member .interview-member_item {
    width: 31.9rem;
  }
  .interview-detail-member .interview-member_main .pic {
    aspect-ratio: 295/200;
  }
  .interview-detail-member .interview-member-btn {
    margin-top: 4.8rem;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  .p-interview-detail .key-visual {
    margin-top: 5.6rem;
    height: auto;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .p-interview-detail .key-visual .kv-img {
    height: 20rem;
  }
  .p-interview-detail .kv-detail-desc {
    position: relative;
    height: auto;
    width: 100%;
    min-width: 100%;
    display: block;
  }
  .p-interview-detail .kv-detail-desc_inner {
    padding: 2.4rem 2rem 2.8rem;
  }
  .p-interview-detail .kv-detail-desc_pos {
    padding: 0.7rem 2.4rem;
    border-radius: 3.2rem;
  }
  .p-interview-detail .kv-detail-desc_pos .txt {
    font-size: 1.4rem;
    line-height: 1.42857;
  }
  .p-interview-detail .kv-detail-desc_copy {
    margin-top: 1.6rem;
    font-size: 1.8rem;
  }
  .p-interview-detail .kv-detail-desc_name {
    gap: 0.8rem;
  }
  .p-interview-detail .kv-detail-desc_name .name {
    font-size: 1.4rem;
  }
  .p-interview-detail .kv-detail-desc_name .join {
    font-size: 1.2rem;
  }
}

@-webkit-keyframes fade-in {
  0% {
    display: none;
    opacity: 0;
  }
  1% {
    display: block;
    opacity: 0;
  }
  100% {
    display: block;
    opacity: 1;
  }
}

@keyframes fade-in {
  0% {
    display: none;
    opacity: 0;
  }
  1% {
    display: block;
    opacity: 0;
  }
  100% {
    display: block;
    opacity: 1;
  }
}

.p-support-content {
  padding: 12rem 0;
}

.p-support-lead {
  margin-bottom: 4.8rem;
  color: #545353;
}

.p-support_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 8rem 4rem;
}

.p-support_item {
  width: calc(50% - 2rem);
}

.p-support_main {
  position: relative;
}

.p-support_ttl {
  position: absolute;
  bottom: 1.6rem;
  left: 1.6rem;
  max-width: 80%;
  background: #fff;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 1.33333;
  padding: 0.8rem 1.6rem;
  letter-spacing: 0.1em;
}

.p-support_pic figure {
  overflow: hidden;
  border-radius: 0.4rem;
  aspect-ratio: 540/273;
}

.p-support_pic figure img {
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
}

.p-support_desc {
  margin-top: 3rem;
  font-size: 1.6rem;
  line-height: 1.6;
  font-weight: 500;
  letter-spacing: 0.05em;
  color: #545353;
}

@media screen and (min-width: 769px) {
  .p-support_link:hover {
    opacity: 1;
  }
  .p-support_link:hover .p-support_pic figure img {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
  }
}

@media screen and (max-width: 768px) {
  .p-support-content {
    padding: 5.6rem 0 0;
  }
  .p-support-lead {
    margin-bottom: 4rem;
  }
  .p-support_list {
    gap: 5.6rem;
  }
  .p-support_item {
    width: 100%;
  }
  .p-support_ttl {
    bottom: 1.2rem;
    left: 1.2rem;
    font-size: 1.6rem;
    line-height: 1.5;
    padding: 0.8rem 1.6rem;
  }
  .p-support_pic figure {
    aspect-ratio: 335/169;
  }
  .p-support_desc {
    margin-top: 1.6rem;
    font-size: 1.4rem;
    line-height: 1.4;
  }
}

.p-system .system-schedule_main {
  margin-top: 6.4rem;
}

.p-system .system-schedule_main img {
  width: 100%;
}

.p-system .system-training {
  margin-top: 12rem;
}

.p-system .system-training .js-st_headline {
  position: -webkit-sticky;
  position: sticky;
  top: 9rem;
  z-index: 2;
}

.p-system .system-training_units {
  margin-top: 6.4rem;
}

.p-system .system-training_unit {
  position: relative;
  z-index: 1;
}

.p-system .system-training_unit::after {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  background: rgba(255, 255, 255, 0.9);
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  opacity: 0;
  visibility: hidden;
}

.p-system .system-training_unit:nth-child(n + 2) {
  margin-top: 8rem;
}

.p-system .system-training_unit.is-hidden::after {
  opacity: 1;
  visibility: visible;
  -webkit-transition-duration: 0.8s;
  transition-duration: 0.8s;
}

.p-system .system-training_ttl {
  border-bottom: 2px solid #d7063b;
  margin-bottom: 5rem;
}

.p-system .system-training_ttl .txt {
  color: #fff;
  background: #d7063b;
  padding: 0.9rem 1.4rem;
  font-size: 2.2rem;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.1em;
  display: inline-block;
}

.p-system .system-training_row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}

.p-system .system-training_pic {
  width: 60rem;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.8rem;
}

.p-system .system-training_pic figure {
  width: 100%;
  aspect-ratio: 296/264;
  overflow: hidden;
}

.p-system .system-training_pic figure.w-full {
  aspect-ratio: 600/264;
}

.p-system .system-training_desc {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  padding-right: 5rem;
}

.p-system .system-training_desc dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.p-system .system-training_desc dl dt {
  width: 9.8rem;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.p-system .system-training_desc dl dt span {
  display: inline-block;
  font-size: 1.6rem;
  line-height: 1;
  color: #fff;
  background: #212121;
  font-weight: 700;
  text-align: center;
  min-width: 6.6rem;
  padding: 0.8rem;
  letter-spacing: 0.1em;
}

.p-system .system-training_desc dl dd {
  padding: 0.4rem 0;
  font-size: 1.6rem;
  line-height: 1.5;
  font-weight: 500;
  letter-spacing: 0.05em;
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
}

.p-system .system-training_desc dl dd li {
  padding-left: 1em;
  text-indent: -1em;
}

.p-system .system-training_desc dl:nth-child(n + 2) {
  margin-top: 5rem;
}

@media screen and (max-width: 768px) {
  .p-system .system-schedule_main {
    margin-top: 4rem;
  }
  .p-system .system-training {
    margin-top: 5.6rem;
  }
  .p-system .system-training .js-st_headline {
    position: static;
    top: 0;
  }
  .p-system .system-training_units {
    margin-top: 4rem;
  }
  .p-system .system-training_unit::after {
    content: none;
  }
  .p-system .system-training_unit:nth-child(n + 2) {
    margin-top: 5.6rem;
  }
  .p-system .system-training_ttl {
    margin-bottom: 2.4rem;
  }
  .p-system .system-training_ttl .txt {
    padding: 0.8rem 1.2rem;
    font-size: 1.6rem;
  }
  .p-system .system-training_row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
    gap: 4rem;
  }
  .p-system .system-training_pic {
    width: 100%;
    gap: 0.5rem;
  }
  .p-system .system-training_pic figure {
    aspect-ratio: 165/147;
  }
  .p-system .system-training_pic figure.w-full {
    aspect-ratio: 335/147;
  }
  .p-system .system-training_desc {
    padding-right: 0;
  }
  .p-system .system-training_desc dl dt {
    width: 7rem;
  }
  .p-system .system-training_desc dl dt span {
    font-size: 1.4rem;
    min-width: 5.4rem;
    padding: 0.8rem;
  }
  .p-system .system-training_desc dl dd {
    padding: 0.4rem 0;
    font-size: 1.6rem;
  }
  .p-system .system-training_desc dl:nth-child(n + 2) {
    margin-top: 1.6rem;
  }
  .p-system
    .system-training_unit:nth-child(1)
    .system-training_desc
    dl
    dd
    li:nth-child(1) {
    margin-right: -0.3em;
  }
}

.job-sub {
  position: relative;
}

.job-sub-nav {
  margin-top: -1px;
  background: #fff;
  position: -webkit-sticky;
  position: sticky;
  top: 8.8rem;
  left: 0;
  width: 100%;
  z-index: 3;
}

.job-sub-nav ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.2rem;
}

.job-sub-nav ul li {
  width: 100%;
}

.job-sub-nav ul a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  color: #b0b0b0;
  font-size: 2rem;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: 0.1em;
  min-height: 7.2rem;
  background: #e9eaec;
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
  -webkit-box-shadow: 0px 4px 10px 0 rgba(93, 93, 93, 0);
  box-shadow: 0px 4px 10px 0 rgba(93, 93, 93, 0);
}

.job-sub-nav ul a.is-current {
  color: #fff !important;
  background: #d7063b;
  pointer-events: none;
  -webkit-box-shadow: 0px 4px 10px 0 rgba(93, 93, 93, 0.25);
  box-shadow: 0px 4px 10px 0 rgba(93, 93, 93, 0.25);
}

@media screen and (min-width: 769px) {
  .job-sub-nav ul a:hover {
    opacity: 1;
    color: #d7063b;
  }
}

.job-sub-nav.is-hidden {
  visibility: hidden;
  -webkit-transform: translateY(-100%);
  transform: translateY(-100%);
  -webkit-transition: -webkit-transform 0.3s ease-in-out;
  transition: -webkit-transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
}

.job-sub-nav.is-show {
  -webkit-transform: translateY(0);
  transform: translateY(0);
  visibility: visible;
}

.job-sub-description {
  margin-top: 12rem;
}

.job-sub-description_row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  gap: 5.6rem;
  margin-top: 5.6rem;
}

.job-sub-description_desc {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
}

.job-sub-description_intro {
  font-size: 1.6rem;
  line-height: 1.6;
  color: #545353;
  font-weight: 500;
  letter-spacing: 0.1em;
  margin-bottom: 2.6rem;
}

.job-sub-description_box {
  background: #f5f5f5;
  border: 1px solid #a8aaaf;
  padding: 2rem 1.6rem;
  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-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.job-sub-description_box:only-child {
  height: 100%;
  min-height: 35rem;
  padding: 2rem 4rem;
}

.job-sub-description_box h3 {
  font-size: 1.6rem;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.1em;
}

.job-sub-description_box h4 {
  margin-top: 1.1rem;
  border-top: 1px solid #c2c2c2;
  padding-top: 1.1rem;
  font-size: 1.6rem;
  line-height: 1.6;
  font-weight: 500;
  letter-spacing: 0.05em;
}

.job-sub-description_box p,
.job-sub-description_box ul {
  margin-top: 0.8rem;
  font-size: 1.4rem;
  line-height: 1.4;
  color: #545353;
  font-weight: 500;
  letter-spacing: 0.05rem;
}

.job-sub-description_box:nth-child(n + 2) {
  margin-top: 1.6rem;
}

.job-sub-description_box.mh-350 {
  min-height: 35rem;
}

.job-sub-description_pic {
  margin-top: -12.5rem;
  width: 53.2rem;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  padding: 2.4rem 4.3rem;
  background: #f5f5f5;
  position: relative;
  position: -webkit-sticky;
  position: sticky;
  top: 16rem;
}

.job-sub-description_pic .swiper-slide {
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.job-sub-description_pic .swiper-slide img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.job-sub-description_pic .swiper {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}

.job-sub-description_pic .mySwiper2 {
  width: 100%;
}

.job-sub-description_pic .mySwiper2 .swiper-slide {
  aspect-ratio: 445/297;
}

.job-sub-description_pic .mySwiper {
  margin-top: 1.5rem;
  height: 12.3rem;
  position: static;
}

.job-sub-description_pic .mySwiper .swiper-slide {
  width: 18.5rem;
  height: 100%;
  position: relative;
  margin-right: 1.6rem;
  aspect-ratio: 185/123;
}

.job-sub-description_pic .mySwiper .swiper-slide::after {
  position: absolute;
  content: "";
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(1, 1, 1, 0.5);
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
}

.job-sub-description_pic
  .mySwiper
  .swiper-slide.swiper-slide-thumb-active::after {
  opacity: 0;
}

.job-sub-description_pic .swiper-button {
  width: 6.4rem;
  height: 6.4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background: #d7063b;
  border-radius: 50%;
  top: auto;
  bottom: 6rem;
  z-index: 2;
}

.job-sub-description_pic .swiper-button::after,
.job-sub-description_pic .swiper-button::before {
  content: none;
}

.job-sub-description_pic .swiper-button .svg {
  width: 1.4rem;
  height: 1.2rem;
}

.job-sub-description_pic .swiper-button .svg path {
  stroke: #fff;
}

.job-sub-description_pic .swiper-button.swiper-button-next {
  right: 1.1rem;
}

.job-sub-description_pic .swiper-button.swiper-button-prev {
  left: 1.1rem;
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}

.job-sub-description_pic .swiper-button.swiper-button-disabled {
  background: #cbcbcb;
  opacity: 1;
}

.job-sub-pic-main {
  margin-top: 12rem;
}

.job-sub-schedule {
  margin-top: 12rem;
  padding-bottom: 4rem;
}

.job-sub-schedule_tabs {
  margin-top: 6.4rem;
}

.job-sub-schedule_head ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.job-sub-schedule_head ul li {
  background: #f7f7f7;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  color: rgba(1, 1, 1, 0.3);
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
  width: 100%;
  min-height: 6.8rem;
  padding: 1.5rem;
  text-align: center;
  cursor: pointer;
  position: relative;
  -webkit-box-shadow: 0px 4px 10px 0 rgba(93, 93, 93, 0);
  box-shadow: 0px 4px 10px 0 rgba(93, 93, 93, 0);
}

.job-sub-schedule_head ul li::after {
  position: absolute;
  top: 99.99%;
  left: 50%;
  z-index: 1;
  width: 0;
  height: 0;
  content: "";
  border-left: 0.9rem solid transparent;
  border-right: 0.9rem solid transparent;
  border-top: 0.8rem solid #d7063b;
  opacity: 0;
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
}

.job-sub-schedule_head ul li .txt {
  font-weight: 700;
  font-size: 2rem;
  line-height: 1.5;
}

.job-sub-schedule_head ul li.current {
  background: #d7063b;
  color: #fff !important;
  -webkit-box-shadow: 0px 4px 10px 0 rgba(93, 93, 93, 0.25);
  box-shadow: 0px 4px 10px 0 rgba(93, 93, 93, 0.25);
  pointer-events: none;
}

.job-sub-schedule_head ul li.current::after {
  opacity: 1;
}

@media screen and (min-width: 769px) {
  .job-sub-schedule_head ul li:hover {
    color: #d7063b;
  }
}

.job-sub-schedule_ttl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
  width: 100%;
  min-height: 6.8rem;
  padding: 1.5rem;
  text-align: center;
  background: #d7063b;
  color: #fff;
}

.job-sub-schedule_ctn {
  background: #e9eaec;
  padding: 8rem;
}

.job-sub-schedule .js-tabs-content {
  display: none;
}

.job-sub-schedule .js-tabs-content.current {
  display: block;
}

.job-sub-schedule_item dl {
  background: #fff;
  padding: 3.2rem 8rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.job-sub-schedule_item dl dt {
  width: 23.4rem;
  -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;
  gap: 1.9rem;
  border-right: 1px solid #e9eaec;
  padding-right: 0.5rem;
}

.job-sub-schedule_item dl dt .time {
  color: #fff;
  background: #010101;
  text-align: center;
  min-width: 8.2rem;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  font-weight: 700;
  font-size: 1.4rem;
  line-height: 1.42857;
  padding: 0.5rem 1rem;
}

.job-sub-schedule_item dl dt .ttl {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  font-size: 1.6rem;
  line-height: 1.5;
  font-weight: 700;
  letter-spacing: 0.1em;
}

.job-sub-schedule_item dl dd {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  padding-left: 4.6rem;
  font-size: 1.4rem;
  line-height: 1.6;
  font-weight: 500;
  letter-spacing: 0.05em;
  color: #545353;
  min-height: 4.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.job-sub-schedule_item dl:not(:last-child) {
  margin-bottom: 1.6rem;
}

.job-sub-schedule_item dl:not(:last-child) dt .time {
  position: relative;
}

.job-sub-schedule_item dl:not(:last-child) dt .time::after {
  position: absolute;
  content: "";
  top: calc(100% + 0.8rem);
  width: 1.1rem;
  height: 1.8rem;
  background: url("../img/common/ico_down2.svg") no-repeat center center/100%
    100%;
  z-index: 1;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

@media screen and (max-width: 768px) {
  .job-sub-nav {
    margin-top: 0;
    position: static !important;
    top: 5.6rem;
  }
  .job-sub-nav ul {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 1px;
  }
  .job-sub-nav ul li {
    width: calc(50% - 0.5px);
  }
  .job-sub-nav ul a {
    font-size: 1.6rem;
    letter-spacing: 0;
    min-height: 5.6rem;
  }
  .job-sub-description {
    margin-top: 5.6rem;
  }
  .job-sub-description_row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 3.2rem;
    margin-top: 2.4rem;
  }
  .job-sub-description_intro {
    font-size: 1.4rem;
    line-height: 1.4;
    letter-spacing: 0.05em;
    margin-bottom: 4rem;
    text-align: justify;
  }
  .job-sub-description_box:only-child {
    min-height: auto;
    padding: 3rem 1.6rem;
  }
  .job-sub-description_box.mh-350 {
    min-height: 0;
    padding: 0;
  }
  .job-sub-description_pic {
    margin-top: 0;
    width: 100%;
    padding: 2.4rem 1.6rem;
    position: relative;
    top: 0;
  }
  .job-sub-description_pic .mySwiper2 .swiper-slide {
    aspect-ratio: 303/160;
  }
  .job-sub-description_pic .mySwiper {
    margin-top: 1.6rem;
    height: 7.9rem;
  }
  .job-sub-description_pic .mySwiper .swiper-slide {
    width: 12.6rem;
    margin-right: 1.2rem;
    aspect-ratio: 126/79;
  }
  .job-sub-description_pic .swiper-button {
    width: 4rem;
    height: 4rem;
    bottom: 4.3rem;
  }
  .job-sub-description_pic .swiper-button .svg {
    width: 1.2rem;
    height: 1rem;
  }
  .job-sub-description_pic .swiper-button.swiper-button-next {
    right: 0;
  }
  .job-sub-description_pic .swiper-button.swiper-button-prev {
    left: 0;
  }
  .job-sub-description_pic .swiper-button.swiper-button-disabled {
    background: #cbcbcb;
    opacity: 1;
  }
  .job-sub-pic-main {
    margin-top: 4rem;
  }
  .job-sub-pic-main figure {
    height: 16rem;
  }
  .job-sub-pic-main figure img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
  }
  .job-sub-schedule {
    margin-top: 4rem;
    padding-bottom: 0;
  }
  .job-sub-schedule_tabs {
    margin: 4.6rem -2rem 0;
  }
  .job-sub-schedule_head ul li {
    min-height: 7rem;
    padding: 1rem;
  }
  .job-sub-schedule_head ul li .txt {
    font-size: 1.6rem;
  }
  .job-sub-schedule_ttl {
    min-height: 7rem;
    padding: 1rem;
    font-size: 1.6rem;
  }
  .job-sub-schedule_ctn {
    padding: 4rem 2rem;
  }
  .job-sub-schedule_item dl {
    padding: 2.4rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .job-sub-schedule_item dl dt {
    width: 100%;
    gap: 1.6rem;
    padding-right: 0;
    padding-bottom: 2.4rem;
    border-bottom: 1px solid #e9eaec;
    margin-bottom: 1.6rem;
    border-right: none;
  }
  .job-sub-schedule_item dl dd {
    padding-left: 0;
    line-height: 1.4;
    min-height: 0;
  }
  .job-sub-schedule_item dl:not(:last-child) {
    margin-bottom: 4.2rem;
    position: relative;
  }
  .job-sub-schedule_item dl:not(:last-child)::after {
    position: absolute;
    content: "";
    top: calc(100% + 1.2rem);
    width: 1.1rem;
    height: 1.8rem;
    background: url("../img/common/ico_down2.svg") no-repeat center center/100%
      100%;
    z-index: 1;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }
  .job-sub-schedule_item dl:not(:last-child) dt .time {
    position: relative;
  }
  .job-sub-schedule_item dl:not(:last-child) dt .time::after {
    content: none;
  }
}

.flow-headline {
  font-size: 3.2rem;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.1em;
  margin-top: 8rem;
  margin-bottom: 12rem;
  border-bottom: 1px solid #000;
  padding-bottom: 2.4rem;
}

.flow-title {
  font-size: 2.4rem;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.1em;
  margin-bottom: 4rem;
}

.flow-request__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 2.4rem;
}

.flow-request__item {
  width: calc((100% - 2.4rem * 3) / 4);
  background: #f7f7f7;
  padding: 4rem 2rem;
}

.flow-request__item:not(:last-child) {
  position: relative;
}

.flow-request__item:not(:last-child)::after {
  position: absolute;
  content: "";
  z-index: 1;
  left: 100%;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-color: transparent transparent transparent #d7063b;
  border-width: 1.6rem 0 1.6rem 1.6rem;
}

.flow-request__hdg {
  font-size: 1.6rem;
  line-height: 1.4;
  font-weight: 700;
  letter-spacing: 0.1em;
  margin-bottom: 1.6rem;
}

.flow-request__copy {
  font-size: 1.4rem;
  line-height: 1.6;
  font-weight: 500;
  letter-spacing: 0.05em;
  color: #545353;
}

.flow-participants {
  padding: 10.4rem 0;
}

.flow-participants__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 2.3rem;
}

.flow-participants__item {
  width: calc((100% - 2.3rem * 2) / 3);
}

.flow-participants__item__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 100%;
  background: #f7f7f7;
  border-radius: 0.4rem;
  overflow: hidden;
}

.flow-participants__avt {
  background: #e9eaec;
  width: 13.6rem;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  padding: 2.2rem 2.4rem;
}

.flow-participants__avt figure {
  width: 100%;
}

.flow-participants__desc {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.flow-participants__hdg {
  margin-bottom: 1.2rem;
  font-size: 1.8rem;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.05em;
  margin-bottom: 1.2rem;
}

.flow-participants__pos {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  background: #e9eaec;
  padding: 0.6rem 0.4rem;
}

.flow-participants__pos li {
  font-size: 1.4rem;
  line-height: 1.3;
  font-weight: 500;
  letter-spacing: 0.05em;
  padding: 0.2rem 0.4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.flow-participants__pos li:nth-child(n + 2) {
  border-left: 1px solid #c2c2c2;
}

.flow-equipment {
  padding: 8rem 0;
}

.flow-equipment__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 5.6rem;
}

.flow-equipment__item {
  text-align: center;
}

.flow-equipment__hdg {
  display: inline-block;
  min-width: 31.7rem;
  margin: 0 auto;
  background: #d7063b;
  color: #fff;
  font-size: 1.6rem;
  line-height: 1.5;
  font-weight: 700;
  padding: 1.2rem;
  text-align: center;
  letter-spacing: 0.05em;
}

.flow-equipment__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-radius: 0.4rem;
  overflow: hidden;
  background: #fff;
}

.flow-equipment__img {
  width: 33.6rem;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.flow-equipment__img figure {
  width: 100%;
  aspect-ratio: 336/190;
}

.flow-equipment__desc {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  text-align: left;
  padding: 2rem 4rem 2rem 5.2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: 1.6rem;
  line-height: 1.6;
  font-weight: 500;
  letter-spacing: 0.05em;
  color: #545353;
}

.flow-project {
  padding: 10.4rem 0 12rem;
}

.flow-project__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  background: #fff;
  gap: 6.2rem;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.flow-project__img {
  width: 60.2rem;
  max-width: 100%;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.flow-project__img figure {
  border-radius: 0.4rem;
  overflow: hidden;
  width: 100%;
  aspect-ratio: 602/345;
}

.flow-project__desc {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
}

.flow-project__hdg {
  font-size: 1.8rem;
  line-height: 1.4;
  letter-spacing: 0.1em;
  font-weight: 700;
  margin-bottom: 1.6rem;
}

.flow-project__copy {
  font-size: 1.6rem;
  line-height: 1.6;
  letter-spacing: 0.05em;
  font-weight: 500;
  color: #545353;
}

.flow-project-other {
  padding: 8rem 0 25.6rem;
  margin-bottom: -25.6rem;
}

.flow-project-other__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 2.3rem;
}

.flow-project-other__item {
  width: calc((100% - 2.3rem * 2) / 3);
}

.flow-project-other__bg figure {
  aspect-ratio: 358/132;
  overflow: hidden;
}

.flow-project-other__bg figure img {
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
}

.flow-project-other__desc {
  position: absolute;
  z-index: 2;
  inset: 0;
  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;
  padding: 2rem 2rem 2rem 4rem;
  gap: 1rem;
}

.flow-project-other__txt {
  color: #fff;
  font-size: 2rem;
  line-height: 1.5;
  font-weight: 700;
}

.flow-project-other__link {
  display: block;
  position: relative;
  border-radius: 0.4rem;
  overflow: hidden;
}

.flow-project-other__link::after {
  position: absolute;
  content: "";
  inset: 0;
  background: rgba(1, 1, 1, 0.6);
}

.flow-project-other__link .arrow._white::before {
  -webkit-transform: scale(1);
  transform: scale(1);
  opacity: 0;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}

@media screen and (min-width: 769px) {
  .flow-project-other__link:hover {
    opacity: 1;
  }
  .flow-project-other__link:hover .flow-project-other__bg figure img {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
  }
  .flow-project-other__link:hover .arrow::before {
    -webkit-transform: scale(1.25);
    transform: scale(1.25);
    opacity: 1;
  }
  .flow-project-other__link:hover .arrow::after {
    -webkit-transform: scale(1);
    transform: scale(1);
    background: #fff;
  }
}

@media screen and (max-width: 768px) {
  .flow-headline {
    font-size: 1.8rem;
    line-height: 1.5;
    margin-top: 5.6rem;
    margin-bottom: 4rem;
    padding-bottom: 0.8rem;
  }
  .flow-title {
    font-size: 1.6rem;
    line-height: 1;
    margin-bottom: 2.4rem;
  }
  .flow-request__list {
    gap: 4rem;
  }
  .flow-request__item {
    width: 100%;
    padding: 3.2rem 2rem;
  }
  .flow-request__item:not(:last-child)::after {
    left: 50%;
    top: 100%;
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    border-color: #d7063b transparent transparent transparent;
    border-width: 1.6rem 1.6rem 0 1.6rem;
  }
  .flow-participants {
    padding: 5.6rem 0;
  }
  .flow-participants__list {
    gap: 1.6rem;
  }
  .flow-participants__item {
    width: 100%;
  }
  .flow-participants__avt {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    padding: 1.7rem 2.4rem;
  }
  .flow-participants__hdg {
    font-size: 1.6rem;
  }
  .flow-participants__desc {
    padding: 1rem 1rem 1rem 2.5rem;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }
  .flow-equipment {
    padding: 5.6rem 0;
  }
  .flow-equipment__list {
    gap: 4rem;
  }
  .flow-equipment__hdg {
    min-width: 27.7rem;
    max-width: 100%;
    padding: 1rem;
  }
  .flow-equipment__row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .flow-equipment__img {
    width: 100%;
  }
  .flow-equipment__img figure {
    aspect-ratio: 335/189;
  }
  .flow-equipment__desc {
    text-align: left;
    padding: 2rem 2rem 2.4rem 2rem;
    font-size: 1.4rem;
  }
  .flow-project {
    padding: 5.6rem 0;
  }
  .flow-project__row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 2.4rem;
  }
  .flow-project__img {
    width: 100%;
  }
  .flow-project__img figure {
    aspect-ratio: 335/189;
  }
  .flow-project__hdg {
    font-size: 1.6rem;
  }
  .flow-project__copy {
    font-size: 1.4rem;
  }
  .flow-project-other {
    padding: 5.6rem 0;
    margin-bottom: 0;
  }
  .flow-project-other__list {
    gap: 1.6rem;
  }
  .flow-project-other__item {
    width: 100%;
  }
  .flow-project-other__bg figure {
    aspect-ratio: 335/99;
  }
  .flow-project-other__desc {
    padding: 2rem 2.4rem 2rem 3.2rem;
  }
  .flow-project-other__txt {
    font-size: 1.6rem;
  }
}

.p-recruit-follow,
.p-recruit-job {
  padding: 12rem 0;
}

.recruit-process__headline {
  font-size: 2rem;
  line-height: 1.65;
  color: #fff;
  font-weight: 700;
  text-align: center;
  background: #d7063b;
  padding: 1.1rem;
}

.recruit-process__headline .fz-sm {
  font-size: 1.6rem;
}

.recruit-process__list1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.recruit-process__list1 li {
  width: 20%;
  text-align: center;
  font-size: 1.4rem;
  line-height: 1.42857;
  font-weight: 500;
  letter-spacing: 0.05em;
  padding: 1rem 0;
}

.recruit-process__list1 li.w-2col {
  width: 40%;
}

.recruit-process__list1 li:nth-child(1) {
  background: #f5f5f5;
}

.recruit-process__list1 li:nth-child(2) {
  background: #eeeaea;
}

.recruit-process__list1 li:nth-child(3) {
  background: #dddddd;
}

.recruit-process__list1 li:nth-child(4) {
  background: #d2d2d2;
}

.recruit-process__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 1.9rem;
  padding-top: 1.6rem;
}

.recruit-process__item {
  width: calc((100% - (1.9rem * 4)) / 5);
  min-height: 23.5rem;
}

.recruit-process__item__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  height: 100%;
  text-align: center;
  padding: 1.2rem 0.5rem 1.6rem;
  -webkit-box-shadow: 0 0 1rem 0 rgba(158, 158, 158, 0.25);
  box-shadow: 0 0 1rem 0 rgba(158, 158, 158, 0.25);
  border-radius: 0.4rem;
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
  border: 1px solid transparent;
}

.recruit-process__item__inner .svg path {
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
}

.recruit-process__item .step-num {
  font-family: "DM Sans", sans-serif;
  min-width: 10.4rem;
  background: #d7063b;
  color: #fff;
  font-size: 1.6rem;
  line-height: 1.4375;
  padding: 0.5rem 2rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  border-radius: 3rem;
  text-align: center;
  margin-bottom: 2.4rem;
  display: inline-block;
}

.recruit-process__item .step-ttl {
  font-size: 1.8rem;
  line-height: 1.27778;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
  min-height: 4.6rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 2.3rem;
}

.recruit-process__item:nth-child(5) .recruit-process__item__inner {
  border: 1px solid #d7063b;
  background: #ffeaea;
}

.recruit-process__item:nth-child(5) .step-ttl {
  color: #d7063b;
}

.recruit-process-step {
  padding: 12rem 0;
}

.recruit-process-step__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}

.recruit-process-step__nav {
  position: -webkit-sticky;
  position: sticky;
  top: 10rem;
  left: 0;
  width: 20rem;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.recruit-process-step__nav li {
  margin-bottom: 2.4rem;
}

.recruit-process-step__nav a {
  color: #999999;
  font-size: 1.8rem;
  line-height: 1;
  font-weight: 500;
  position: relative;
}

.recruit-process-step__nav a::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 0.8rem;
  height: 0.8rem;
  border-radius: 50%;
  background: #d7063b;
  content: "";
  opacity: 0;
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
  z-index: 1;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.recruit-process-step__nav a.is-current {
  color: #d7063b;
  padding-left: 1.6rem;
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
  font-weight: 700;
}

.recruit-process-step__nav a.is-current::before {
  opacity: 1;
}

.recruit-process-step__main {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  padding-left: 4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 8.8rem;
}

.recruit-process-step__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 1.3rem;
  margin-bottom: 1.6rem;
}

#step-01 .recruit-process-step__head {
  margin-bottom: 2.4rem;
}

.recruit-process-step__head .num {
  min-width: 10.9rem;
  background: #d7063b;
  color: #fff;
  font-family: "DM Sans", sans-serif;
  font-size: 1.6rem;
  line-height: 1.4375;
  padding: 0.5rem 2rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  border-radius: 3rem;
  text-align: center;
}

.recruit-process-step__head .ttl {
  font-size: 2.4rem;
  line-height: 1.375;
  font-weight: 700;
  letter-spacing: 0.05em;
}

.recruit-process-step__lead {
  margin-bottom: 4rem;
  font-size: 1.6rem;
  line-height: 1.6;
  letter-spacing: 0.05em;
  font-weight: 500;
}

.recruit-process-step__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 4rem;
  padding: 4rem 4.9rem 4rem 5.6rem;
  background: #f7f7f7;
  border-radius: 0.4rem;
}

.recruit-process-step__ico {
  width: 9.8rem;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.recruit-process-step__desc {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: 1.6rem;
  line-height: 1.6;
  font-weight: 500;
  letter-spacing: 0.05em;
}

.recruit-process-step01 {
  background: #f7f7f7;
  border-radius: 0.4rem;
  overflow: hidden;
}

.recruit-process-step01__inner {
  padding-top: 1.2rem;
}

.recruit-process-step01__timeline img {
  width: 100%;
}

@media screen and (min-width: 769px) {
  .recruit-process-step01__timeline {
    border-bottom: 1px solid #e1e1e1;
  }
}

.recruit-process-step01__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 4rem;
  gap: 2.5rem;
}

.recruit-process-step01__item {
  width: calc((100% - 2.5rem * 2) / 3);
  position: relative;
  -webkit-box-shadow: 0 4px 10px rgba(0, 0, 0, 0.14);
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.14);
}

.recruit-process-step01__item__inner {
  height: 100%;
  background: #fff;
  position: relative;
  padding: 4rem 2rem 3.2rem;
  border-radius: 0.4rem;
  position: relative;
  z-index: 2;
}

.recruit-process-step01__item:not(:last-child)::after {
  position: absolute;
  content: "";
  z-index: 1;
  left: 100%;
  top: 50%;
  -webkit-transform: translate(-70%, -50%) rotate(45deg);
  transform: translate(-70%, -50%) rotate(45deg);
  width: 3.2rem;
  height: 3.2rem;
  background: #fff;
  -webkit-box-shadow: 0 4px 10px rgba(0, 0, 0, 0.14);
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.14);
}

.recruit-process-step01__num {
  position: absolute;
  width: 4rem;
  height: 4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: 1.6rem;
  line-height: 1;
  color: #fff;
  font-weight: 700;
  border-radius: 50%;
  z-index: 1;
  background: #d7063b;
  left: 50%;
  top: 0;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.recruit-process-step01__ttl {
  font-size: 1.6rem;
  line-height: 1;
  font-weight: 700;
  color: #d7063b;
  text-align: center;
  letter-spacing: 0.05em;
}

.recruit-process-step01__img {
  margin-top: 1.6rem;
  aspect-ratio: 210/118;
  overflow: hidden;
}

.recruit-process-step01__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.recruit-process-step01__meta {
  margin-top: 0.8rem;
  font-size: 1.2rem;
  line-height: 1.3;
  font-weight: 500;
  letter-spacing: 0.05em;
}

.recruit-process-step01__copy {
  margin-top: 2rem;
  font-size: 1.4rem;
  line-height: 1.4;
  font-weight: 500;
  letter-spacing: 0.05em;
}

.recruit-follow__lead {
  font-size: 1.6rem;
  line-height: 1.6;
  font-weight: 500;
  margin-top: 4rem;
  margin-bottom: 4rem;
  color: #545353;
}

.recruit-follow__item {
  width: 64.9rem;
  padding: 0 4rem;
}

.recruit-follow__item__inner {
  position: relative;
}

.recruit-follow__item__inner::after {
  position: absolute;
  content: "";
  inset: 0;
  background: rgba(247, 247, 247, 0.5);
  opacity: 1;
  -webkit-transition: 0.6s;
  transition: 0.6s;
  pointer-events: none;
}

.recruit-follow__item__inner .item-thumb {
  border-radius: 0.4rem;
  overflow: hidden;
}

.recruit-follow__item__inner .item-thumb figure {
  aspect-ratio: 569/320;
}

.recruit-follow__item__inner .item-thumb figure img {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.recruit-follow__item__inner .item-desc {
  padding: 3.2rem 2.4rem 10rem;
}

.recruit-follow__item__inner .item-ttl {
  font-size: 1.8rem;
  line-height: 1;
  color: #d7063b;
  font-weight: 700;
  margin-bottom: 1.6rem;
  letter-spacing: 0.05em;
  text-align: center;
}

.recruit-follow__item__inner .item-copy {
  font-size: 1.6rem;
  line-height: 1.6;
  font-weight: 500;
  color: #545353;
}

.recruit-follow__item.swiper-slide-active .recruit-follow__item__inner::after {
  opacity: 0;
}

.recruit-follow .swiper-button {
  width: 6.4rem;
  height: 6.4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background: #d7063b;
  border-radius: 50%;
  top: 16rem;
  bottom: auto;
  z-index: 2;
}

.recruit-follow .swiper-button::after,
.recruit-follow .swiper-button::before {
  content: none;
}

.recruit-follow .swiper-button .svg {
  width: 1.4rem;
  height: 1.2rem;
}

.recruit-follow .swiper-button .svg path {
  stroke: #fff;
}

.recruit-follow .swiper-button.swiper-button-next {
  right: auto;
  left: 50%;
  margin-left: calc(50.5rem / 2);
}

.recruit-follow .swiper-button.swiper-button-prev {
  left: auto;
  right: 50%;
  margin-right: calc(50.5rem / 2);
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}

.recruit-follow .swiper-button.swiper-button-disabled {
  background: #cbcbcb;
  opacity: 1;
}

.recruit-follow .swiper-pagination-bullet {
  bottom: 0;
  width: 0.8rem;
  height: 0.8rem;
  background: #d9d9d9;
  opacity: 1;
  margin: 0 0.8rem !important;
}

.recruit-follow .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background: #d7063b;
}

.recruit-job {
  margin-top: 8rem;
}

.recruit-job__unit {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-top: 1px solid #e1e1e1;
  padding: 4rem 0;
  font-size: 1.6rem;
  line-height: 1.6;
  font-weight: 500;
  letter-spacing: 0.05em;
}

.recruit-job__unit:last-child {
  border-bottom: 1px solid #e1e1e1;
}

.recruit-job__unit > dt {
  width: 40.7rem;
  max-width: 35%;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  text-align: center;
  font-weight: 700;
}

.recruit-job__unit > dd {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
}

.recruit-job__type {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.recruit-job__type > dt {
  width: 20.2rem;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  position: relative;
}

.recruit-job__type > dt::before {
  position: absolute;
  z-index: 1;
  content: "";
  width: 100%;
  height: 1px;
  border-top: 1px dashed #bdbfc4;
  top: 50%;
  margin-top: -1px;
}

.recruit-job__type > dt > span {
  position: relative;
  z-index: 2;
  background: #fff;
  padding-right: 1.6rem;
}

.recruit-job__type > dd {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  padding-left: 1.6rem;
  color: #545353;
}

.recruit-job__type:nth-child(n + 2) {
  margin-top: 0.3rem;
}

.recruit-job__lead {
  font-weight: 700;
  margin-bottom: 1.6rem;
}

.recruit-job__lead:nth-of-type(n + 2) {
  margin-top: 4rem;
}

.recruit-job__tbl1 {
  font-size: 1.4rem;
}

.recruit-job__tbl1 table {
  background: #f7f7f7;
  display: table;
  width: 100%;
}

.recruit-job__tbl1 thead th {
  font-weight: 700;
  text-align: center;
  padding: 1.1rem;
}

.recruit-job__tbl1 thead th:nth-child(n + 2) {
  border-left: 1px solid #e1e1e1;
}

.recruit-job__tbl1 tbody tr {
  border-top: 1px solid #e1e1e1;
}

.recruit-job__tbl1 tbody th {
  text-align: center;
  font-weight: 500;
  width: 18%;
  padding: 1.1rem;
}

.recruit-job__tbl1 tbody td {
  text-align: center;
  font-weight: 500;
  width: 27.3333%;
  padding: 1.1rem;
  border-left: 1px solid #e1e1e1;
}

.recruit-job__tbl2 {
  font-size: 1.4rem;
}

.recruit-job__tbl2 table {
  background: #f7f7f7;
  display: table;
  width: 100%;
}

.recruit-job__tbl2 thead th {
  font-weight: 700;
  text-align: center;
  padding: 1.1rem;
}

.recruit-job__tbl2 thead th:nth-child(n + 2) {
  border-left: 1px solid #e1e1e1;
}

.recruit-job__tbl2 tbody tr {
  border-top: 1px solid #e1e1e1;
}

.recruit-job__tbl2 tbody td {
  padding: 1.1rem 2.4rem;
  width: 72.5%;
  text-align: justify;
}

.recruit-job__tbl2 tbody th {
  padding: 1.1rem;
  width: 27.5%;
  font-weight: 500;
  border-left: 1px solid #e1e1e1;
}

.recruit-job__note {
  margin-top: 2.4rem;
  font-size: 1.4rem;
}

.recruit-job__note li {
  padding-left: 1em;
  text-indent: -1em;
}

.recruit-job .note-sub {
  padding-left: 2.2em;
  text-indent: -2.2em;
  display: block;
}

.recruit-entry {
  background: url("../img/recruit/entry_bg.jpg") no-repeat center center/cover;
  padding: 6.4rem 0 8rem;
  text-align: center;
}

.recruit-entry__heading {
  text-align: center;
  color: #fff;
  margin-bottom: 4.4rem;
}

.recruit-entry__btn {
  background: #fff;
  padding: 2.4rem 2.4rem 2.4rem 3.2rem;
  margin: 0 auto;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  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;
  width: 31.1rem;
  border-radius: 0.4rem;
}

.recruit-entry__btn .txt {
  color: #d7063b;
  font-size: 1.6rem;
  line-height: 1.4;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-align: left;
}

.recruit-entry__btn .arrow {
  background: #d7063b;
}

.recruit-entry__btn .arrow::after {
  background: #000 !important;
}

@media screen and (min-width: 769px) {
  .recruit-entry__btn:hover {
    background: #000 !important;
  }
}

@media screen and (max-width: 768px) {
  .p-recruit .anchorList ul {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .p-recruit-follow,
  .p-recruit-job {
    padding: 5.6rem 0;
  }
  .recruit-process {
    padding-top: 1.6rem;
  }
  .recruit-process__headline {
    font-size: 1.6rem;
    line-height: 1.6;
    padding: 1.6rem 2rem;
    margin-bottom: 2rem;
  }
  .recruit-process__headline .fz-sm {
    font-size: 1.4rem;
  }
  .recruit-process__main {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 1.2rem;
  }
  .recruit-process__list1 {
    display: block;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 3.8rem;
  }
  .recruit-process__list1 li {
    width: 100%;
    font-size: 1.4rem;
    line-height: 1.42857;
    padding: 1rem 0.8rem;
    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-height: 13.1rem;
  }
  .recruit-process__list1 li i {
    -webkit-writing-mode: tb;
    -ms-writing-mode: tb;
    writing-mode: tb;
    -webkit-transform: rotate(-20deg);
    transform: rotate(-20deg);
    margin-top: 0.5rem;
  }
  .recruit-process__list1 li.w-2col {
    width: 100%;
    height: 24.9rem;
    padding: 1rem 0.6rem;
  }
  .recruit-process__list1 li:nth-child(n + 2) {
    margin-top: 0.8rem;
  }
  .recruit-process__list {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 0.8rem;
    padding-top: 0;
  }
  .recruit-process__item {
    width: 100%;
    min-height: 11rem;
  }
  .recruit-process__item__inner {
    padding: 2.3rem 0.5rem 2.7rem;
  }
  .recruit-process__item .step-num {
    min-width: 9.6rem;
    font-size: 1.4rem;
    line-height: 1.78571;
    padding: 0 1.8rem;
    margin-bottom: 1.2rem;
  }
  .recruit-process__item .step-ttl {
    font-size: 1.6rem;
    line-height: 1.3125;
    min-height: 2.1rem;
    margin-bottom: 0;
  }
  .recruit-process__item .step-ico {
    display: none;
  }
  .recruit-process__item:nth-child(5) .recruit-process__item__inner {
    border: 1px solid #d7063b;
    background: #ffeaea;
    padding: 3rem 0.5rem;
  }
  .recruit-process__item:nth-child(5) .step-ttl {
    color: #d7063b;
  }
  .recruit-process__item:nth-child(5) .step-ico {
    display: block;
    margin-top: 1.6rem;
    width: 5.2rem;
  }
  .recruit-process__item:nth-child(5) .step-ico svg {
    width: 100%;
    height: auto;
  }
  .recruit-process-step {
    padding: 5.6rem 0;
  }
  .recruit-process-step__wrap {
    display: block;
  }
  .recruit-process-step__nav {
    display: none;
  }
  .recruit-process-step__main {
    padding-left: 0;
    gap: 4rem;
  }
  .recruit-process-step__head {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 1.6rem;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    margin-bottom: 0.8rem;
  }
  #step-05 .recruit-process-step__head {
    margin-bottom: 1.6rem;
  }
  .recruit-process-step__head .num {
    min-width: 9.2rem;
    font-size: 1.4rem;
    line-height: 1.5;
    padding: 0.5rem 1.8rem;
  }
  .recruit-process-step__head .ttl {
    font-size: 1.6rem;
    line-height: 1;
  }
  .recruit-process-step__lead {
    margin-bottom: 2.4rem;
    font-size: 1.4rem;
    line-height: 1.4;
  }
  .recruit-process-step__row {
    display: block;
    padding: 2.4rem 2rem 2.8rem;
  }
  .recruit-process-step__ico {
    width: 5.6rem;
    margin: 0 auto 1.6rem;
  }
  .recruit-process-step__desc {
    display: block;
    font-size: 1.4rem;
  }
  .recruit-process-step01 {
    margin-right: -2rem;
    overflow-x: auto;
  }
  .recruit-process-step01 .os-scrollbar {
    left: 2rem !important;
    bottom: 2.8rem !important;
  }
  .recruit-process-step01__inner {
    min-width: 86.2rem;
  }
  .recruit-process-step01__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 4.4rem 2rem 5.6rem;
    gap: 3.6rem;
  }
  .recruit-process-step01__item {
    width: calc((100% - 3.6rem * 2) / 3);
  }
  .recruit-process-step01__num {
    position: absolute;
    width: 4rem;
    height: 4rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: 1.6rem;
    line-height: 1;
    color: #fff;
    font-weight: 700;
    border-radius: 50%;
    z-index: 1;
    background: #d7063b;
    left: 50%;
    top: 0;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
  .recruit-process-step01__ttl {
    font-size: 1.6rem;
    line-height: 1;
    font-weight: 700;
    color: #d7063b;
    text-align: center;
    letter-spacing: 0.05em;
  }
  .recruit-process-step01__img {
    margin-top: 1.6rem;
    aspect-ratio: 210/118;
    overflow: hidden;
  }
  .recruit-process-step01__img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
  }
  .recruit-process-step01__meta {
    margin-top: 0.8rem;
    font-size: 1.2rem;
    line-height: 1.3;
    font-weight: 500;
    letter-spacing: 0.05em;
  }
  .recruit-process-step01__copy {
    margin-top: 2rem;
    font-size: 1.4rem;
    line-height: 1.4;
    font-weight: 500;
    letter-spacing: 0.05em;
  }
  .recruit-follow__lead {
    font-size: 1.4rem;
    line-height: 1.4;
    margin-top: 2.4rem;
    margin-bottom: 4rem;
  }
  .recruit-follow__item {
    width: 32.7rem;
    padding: 0 1.6rem;
  }
  .recruit-follow__item__inner .item-thumb figure {
    aspect-ratio: 295/165;
  }
  .recruit-follow__item__inner .item-desc {
    padding: 3.2rem 0 10rem;
  }
  .recruit-follow__item__inner .item-ttl {
    font-size: 1.6rem;
  }
  .recruit-follow__item__inner .item-copy {
    font-size: 1.4rem;
  }
  .recruit-follow .swiper-button {
    width: 4rem;
    height: 4rem;
    top: 8.3rem;
  }
  .recruit-follow .swiper-button .svg {
    width: 1.2rem;
    height: 1rem;
  }
  .recruit-follow .swiper-button.swiper-button-next {
    margin-left: calc(25.5rem / 2);
  }
  .recruit-follow .swiper-button.swiper-button-prev {
    margin-right: calc(25.5rem / 2);
  }
  .recruit-job {
    margin-top: 4rem;
  }
  .recruit-job__unit {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding: 2.4rem 0;
    font-size: 1.4rem;
    gap: 1.2rem;
  }
  .recruit-job__unit > dt {
    font-size: 1.6rem;
    width: 100%;
    max-width: 100%;
    text-align: left;
  }
  .recruit-job__type {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 0.8rem;
  }
  .recruit-job__type > dt {
    width: 100%;
  }
  .recruit-job__type > dt::before {
    content: none;
  }
  .recruit-job__type > dt > span {
    padding-right: 0;
  }
  .recruit-job__type > dd {
    padding-left: 0;
    position: relative;
    background: #fff;
    margin-left: 2.7rem;
    margin-right: -0.5rem;
  }
  .recruit-job__type > dd::before {
    position: absolute;
    z-index: 1;
    content: "";
    width: 1.9rem;
    height: 1px;
    border-top: 1px dashed #bdbfc4;
    top: 50%;
    margin-top: -1px;
    left: -2.7rem;
  }
  .recruit-job__type:nth-child(n + 2) {
    margin-top: 1.6rem;
  }
  .recruit-job__type:nth-child(3) > dt span {
    padding-right: 0.8rem;
  }
  .recruit-job__lead {
    font-size: 1.6rem;
  }
  .recruit-job__tbl1 {
    overflow-x: auto;
    padding-bottom: 2.4rem;
    margin-right: -2rem;
  }
  .recruit-job__tbl1 table {
    width: 68rem;
  }
  .recruit-job__tbl1 thead th {
    padding: 1.2rem 0.5rem;
  }
  .recruit-job__tbl1 tbody th {
    width: 18%;
    padding: 1.2rem 0.5rem;
  }
  .recruit-job__tbl1 tbody td {
    width: 27.3333%;
    padding: 1.2rem 0.5rem;
  }
  .recruit-job__tbl2 thead th {
    padding: 1.2rem 0.5rem;
  }
  .recruit-job__tbl2 tbody td {
    padding: 1.2rem 2rem;
    width: 76.1%;
  }
  .recruit-job__tbl2 tbody th {
    padding: 1.2rem 0.5rem;
    width: 23.9%;
    vertical-align: middle;
  }
  .recruit-job__note {
    font-size: 1.2rem;
  }
  .recruit-entry {
    background-image: url("../img/recruit/entry_bg_sp.jpg");
    padding: 8rem 0 8.4rem;
  }
  .recruit-entry__heading {
    margin-bottom: 3.2rem;
  }
  .recruit-entry__btn {
    padding: 2rem 2.4rem 2rem 3.2rem;
    width: 100%;
  }
}

.notFound .notFound_wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 3rem;
  margin: 10rem 0 15rem;
  line-height: initial;
}
.notFound .notFound_title {
  font-size: 8rem;
  color: #d7063b;
}
.notFound .notFound_content {
  font-size: 2rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .notFound .notFound_wrap {
    gap: 2rem;
    margin: 5rem 0 7.5rem;
  }
  .notFound .notFound_title {
    font-size: 4rem;
  }
  .notFound .notFound_content {
    font-size: 1.6rem;
  }
}

/** career
======================================= **/
.p-career .heading-lv1 {
  color: #010101;
  font-family: "DM Sans";
  font-size: 6.4rem;
  font-weight: 700;
  line-height: 100%;
}
@media screen and (max-width: 768px) {
  .p-career .heading-lv1 {
    font-size: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .p-career .key-visual .kv-ttl .en {
    font-size: 3rem;
  }
  .p-career .anchorList a {
    font-size: 1.6rem;
  }
}
.p-career .kv-ttl.heading-lv2 {
  color: #fff;
}
.p-career .heading-lv2 {
  color: #010101;
  font-family: "Noto Sans JP";
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 160%;
  letter-spacing: 0.16rem;
  margin-top: 0.8rem;
}
@media screen and (max-width: 768px) {
  .p-career .heading-lv2 {
    font-size: 2rem;
    letter-spacing: 0.1rem;
    margin-top: 0;
  }
  .p-career .sub.heading-lv2 {
    margin-bottom: 0;
  }
  .p-career .heading-lv2 span {
    margin-bottom: 1.6rem;
  }
}
.p-career .heading-lv3 {
  color: #010101;
  font-family: "Noto Sans JP";
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 100%;
  letter-spacing: 0.24rem;
}
@media screen and (max-width: 768px) {
  .p-career .heading-lv3 {
    font-size: 1.8rem;
    letter-spacing: 0.18rem;
  }
}
.subHeading-lv1 {
  color: #010101;
  font-family: "Noto Sans JP";
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 100%;
  letter-spacing: 0.16rem;
}
@media screen and (max-width: 768px) {
  .subHeading-lv1 {
    font-size: 1.4rem;
    line-height: 140%;
    letter-spacing: 0.14rem;
  }
}
.p-career .heading-box {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
  padding-bottom: 6.4rem;
  border-bottom: 0.1rem solid #545353;
  margin-bottom: 0;
}
@media screen and (max-width: 768px) {
  .p-career .heading-box {
    gap: 0.8rem;
    padding-bottom: 2.4rem;
  }
}
/* ======challenge===== */
.p-career .anchorList {
  padding: 4rem 0 10rem;
}
.p-career .anchorList .container {
  display: flex;
  gap: 4rem;
}
.p-career .list {
  display: flex;
  width: fit-content;
}
.p-career .challenge .container {
  display: flex;
  justify-content: space-between;
  padding-bottom: 4rem;
}
.p-career .challenge .career-row {
  width: calc(510 / 1120 * 100%);
}
.p-career .challenge .ja.subHeading-wh {
  color: #fff;
  font-family: "Noto Sans JP";
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 160%;
  letter-spacing: 0.8px;
  margin-top: 0;
  padding: 0.6rem 1.2rem;
  background: #d7063b;
}
.p-career .challenge .note {
  color: #545353;
  font-family: "Noto Sans JP";
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 160%;
  letter-spacing: 0.08rem;
  text-align: left;
}
.p-career .challenge .career-box-image {
  position: relative;
  width: 100%;
  aspect-ratio: 501 / 394;
}
.p-career .challenge .career-images {
  position: absolute;
}
.p-career .challenge .career-images.first {
  width: calc(425 / 501 * 100%);
  aspect-ratio: 425 / 308;
  top: 0;
  left: 0;
}
.p-career .challenge .career-images.second {
  width: calc(259 / 501 * 100%);
  aspect-ratio: 259 / 196;
  bottom: 0;
  right: 0;
}

@media screen and (max-width: 768px) {
  .p-career .anchorList {
    padding: 2.44rem 0 5.6rem;
  }
  .p-career .anchorList .container {
    gap: 3.5rem;
  }
  .p-career .challenge .career-row {
    width: 100%;
  }
  .p-career .list {
    display: flex;
    flex-direction: column;
    width: 50%;
  }
  .p-career .challenge .container {
    flex-direction: column;
    gap: 3rem;
    padding-bottom: 5.7rem;
  }
  .p-career .challenge {
    display: flex;
    flex-direction: column;
  }
  .p-career .challenge .note {
    font-size: 1.4rem;
    letter-spacing: 0.07rem;
  }
  .p-career .challenge .career-box-image {
    aspect-ratio: 335 / 219;
  }
  .p-career .challenge .career-images.first {
    width: calc(289 / 335 * 100%);
    aspect-ratio: 289 / 157;
  }
  .p-career .challenge .career-images.second {
    width: calc(178 / 335 * 100%);
    aspect-ratio: 178 / 118;
  }
}
/* ======reason===== */
.p-career .reason {
  background: #f2f2f2;
  padding: 8rem 0;
}
/* .p-career .reason .heading-box {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
  padding-bottom: 6.4rem;
  border-bottom: 0.1rem solid #545353;
  margin-bottom: 0;
} */
.p-career .reason .bestList-item {
  padding: 3.2rem 0 4rem;
  border-bottom: 0.1rem solid #545353;
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
.p-career .reason .bestList-heading {
  display: flex;
  align-items: center;
  gap: 2.4rem;
}
.p-career .reason .bestList-box {
  color: #d7063b;
  font-family: "DM Sans";
  font-weight: 700;
  width: fit-content;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.p-career .reason .bestList-best {
  font-size: 2rem;
}
.p-career .reason .bestList-num {
  font-size: 4rem;
}
.p-career .reason .bestList-heading-main {
  color: #d7063b;
  font-family: "Noto Sans JP";
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 100%;
  letter-spacing: 0.24rem;
}
.p-career .reason .bestList-contents {
  display: flex;
  gap: 5.6rem;
}
.p-career .reason .bestList-image {
  width: calc(371 / 1120 * 100%);
  aspect-ratio: 371 / 209;
  object-fit: cover;
}
.p-career .reason .bestList-content-text {
  border: 0.1rem solid #d4d4d4;
  background: #fff;
  padding: 2.4rem;
  width: calc(693 / 1120 * 100%);
  aspect-ratio: 693 / 209;
  overflow: scroll;
  color: #010101;
  font-family: "Noto Sans JP";
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 160%;
  letter-spacing: 0.08rem;
}
.p-career .reason .bestList-content-text span {
  color: #545353;
  font-family: "Noto Sans JP";
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 160%;
  letter-spacing: 0.6px;
}

@media screen and (max-width: 768px) {
  .p-career .reason {
    padding: 4rem 0;
  }
  /* .p-career .reason .heading-box {
    gap: 0.8rem;
    padding-bottom: 2.4rem;
  } */
  .p-career .reason .bestList-item {
    padding: 2.4rem 0;
    gap: 1.1rem;
  }
  .p-career .reason .bestList-heading {
    gap: 1.6rem;
  }
  .p-career .reason .bestList-box {
    gap: 0;
  }
  .p-career .reason .bestList-best {
    font-size: 1.4rem;
  }
  .p-career .reason .bestList-num {
    font-size: 3.2rem;
  }
  .p-career .reason .bestList-heading-main {
    font-size: 1.8rem;
    letter-spacing: 0.18rem;
  }
  .p-career .reason .bestList-contents {
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
  }
  .p-career .reason .bestList-image {
    width: 100%;
    aspect-ratio: 335 / 189;
  }
  .p-career .reason .bestList-content-text {
    padding: 1.6rem;
    width: 100%;
    aspect-ratio: 335 / 216;
    font-size: 1.4rem;
    letter-spacing: 0.07rem;
  }
}
/* ======features===== */
.p-career .features {
  padding: 5.6rem 0 8rem;
}
.p-career .features .heading-wrap {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
.p-career .features .heading-note {
  color: #545353;
  font-family: "Noto Sans JP";
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 160%;
  letter-spacing: 0.08rem;
}
.p-career .features .features-contents {
  margin-top: 4rem;
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}
.p-career .features .features-boxName {
  color: #fff;
  font-family: "Noto Sans JP";
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 3.8rem;
  letter-spacing: 0.08rem;
  background: #212121;
  padding: 0 1.2rem;
  position: absolute;
  top: 0;
  left: 0;
}
.p-career .features .features-items {
  display: flex;
  gap: 2.4rem;
}
.p-career .features .features-box {
  width: 50%;
  position: relative;
  padding-top: 1.9rem;
}
.p-career .features .features-boxInner {
  background: #f9f9f9;
  height: 100%;
}
.p-career .features .features-items .first .features-boxInner {
  padding: 2.7rem 6.4rem 2.7rem 7.1rem;
  display: flex;
  gap: 4.4rem;
  align-items: center;
}
.p-career .features .features-items .first .texts {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
.p-career .features .features-items .first .text-bl {
  color: #010101;
  font-family: "Noto Sans JP";
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 100%;
  letter-spacing: 2.4px;
}
.p-career .features .features-items .first .text-red {
  color: #d7063b;
  font-family: "DM Sans";
  font-size: 8rem;
  font-weight: 700;
  line-height: 100%;
  margin: 0;
}
.p-career .features .features-items .first .text-red-sub {
  color: #d7063b;
  font-family: "DM Sans";
  font-size: 4.8rem;
  font-weight: 700;
  line-height: 100%;
}
.p-career .features .features-items .first .features-boxInner {
  padding: 2.7rem 6.4rem 2.7rem 7.1rem;
}
.p-career .features .features-items .second .features-boxInner {
  padding: 2.2rem 15.6rem 2.2rem 4rem;
}
.p-career .features .features-items .third .features-boxInner {
  padding: 7.1rem 8.47rem 6.9rem 8.6rem;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 3rem;
}
.p-career .features .features-items .third .features-boxInner img {
  width: calc(70 / 377 * 100%);
}
.p-career .features .features-items .third .texts {
  display: flex;
  align-items: flex-end;
  gap: 1.5rem;
}
.p-career .features .features-items .third .text-num.red {
  color: #d7063b;
  font-family: "DM Sans";
  font-size: 10rem;
  font-weight: 700;
  line-height: 100%;
  display: block;
}
.p-career .features .features-items .third .text-ja {
  color: #010101;
  font-family: "Noto Sans JP";
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 100%;
  letter-spacing: 2.4px;
}
.p-career .features .features-items .fourth .features-boxInner {
  padding: 4.8rem 5.5rem 4.8rem 5.4rem;
}
.p-career .note {
  color: #010101;
  font-family: "Noto Sans JP";
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 100%;
  letter-spacing: 0.14rem;
  text-align: right;
  margin-top: 1.2rem;
}
@media screen and (max-width: 768px) {
  .p-career .features {
    padding: 5.6rem 0;
  }
  .p-career .features .heading-wrap {
    gap: 0.8rem;
  }
  .p-career .features .heading-note {
    font-size: 1.4rem;
    letter-spacing: 0.07rem;
  }
  .p-career .features .features-contents {
    margin-top: 2.4rem;
  }
  .p-career .features .features-items {
    display: flex;
    flex-direction: column;
  }
  .p-career .features .features-box {
    width: 100%;
    position: relative;
    padding-top: 2.9rem;
  }
  .p-career .features .features-boxName {
    font-size: 1.4rem;
    line-height: 2.9rem;
    letter-spacing: 0.07rem;
    padding: 0 0.73rem;
  }
  .p-career .features .features-items .first .features-boxInner {
    padding: 1.1rem 4rem 1.1rem 3.2rem;
  }
  .p-career .features .features-items .second .features-boxInner {
    padding: 1.3rem 7.9rem 2rem 1.6rem;
  }
  .p-career .features .features-items .first .texts {
    gap: 0.8rem;
  }
  .p-career .features .features-items .first .text-bl {
    font-size: 1.4rem;
    letter-spacing: 0.14rem;
  }
  .p-career .features .features-items .first .text-red {
    font-size: 4.8rem;
  }
  .p-career .features .features-items .first .text-red-sub {
    font-size: 2.8rem;
  }
  .p-career .features .features-items .third .features-boxInner {
    padding: 4rem 2.4rem 0;
    gap: 2rem;
    aspect-ratio: 335 / 160;
  }
  .p-career .features .features-items .third .features-boxInner img {
    width: calc(80 / 355 * 100%);
  }
  .p-career .features .features-items .third .texts {
    gap: 0.5rem;
    margin-bottom: auto;
  }
  .p-career .features .features-items .third .text-num.red {
    font-size: 6.4rem;
  }
  .p-career .features .features-items .third .text-ja {
    font-size: 1.8rem;
    letter-spacing: 0.18rem;
  }
  .p-career .features .features-items .fourth .features-boxInner {
    padding: 2.4rem 2.8rem 2.4rem 1.6rem;
  }
}
/* ======work===== */
.p-career .work {
  background: #f2f2f2;
  padding: 8rem 0 6rem;
}
.p-career .work .heading-box {
  padding-bottom: 7.6rem;
  border-bottom: initial;
}
.p-career .work .work-wrap {
  display: flex;
  flex-direction: column;
  gap: 8.4rem;
}
.p-career .work .work-wrapInner {
  display: flex;
  gap: 8rem;
}
.p-career .work .work-item.first,
.p-career .work .work-item.second {
  display: flex;
  gap: 4rem;
}
.p-career .work .work-item.third,
.p-career .work .work-item.fourth {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}
.p-career .work .work-item.first .work-face,
.p-career .work .work-item.second .work-face {
  width: calc(520 / 1120 * 100%);
  aspect-ratio: 520 / 327;
  position: relative;
}
.p-career .work .work-item.third .work-face,
.p-career .work .work-item.fourth .work-face {
  width: 100%;
  aspect-ratio: 520 / 327;
  position: relative;
}
.p-career .work .work-tag {
  position: absolute;
  top: 0;
  left: 0;
  transform: translateY(-100%);
  color: #fff;
  font-family: "Noto Sans JP";
  font-size: 2rem;
  font-weight: 700;
  line-height: 100%;
  letter-spacing: 0.1rem;
  padding: 0.8rem 1.2rem;
  background: #d7063b;
}
.p-career .work .work-item.first .work-content,
.p-career .work .work-item.second .work-content {
  width: calc(560 / 1120 * 100%);
}
.p-career .work .work-item.third .work-content,
.p-career .work .work-item.fourth .work-content {
  width: 100%;
}
.p-career .work .work-recommend {
  background: #e9eaec;
  padding: 1.4rem 1.6rem;
  margin-bottom: 1.6rem;
}
.p-career .work .work-recommend-heading {
  color: #010101;
  font-family: "Noto Sans JP";
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 100%;
  letter-spacing: 0.08rem;
  padding-bottom: 0.6rem;
  margin-bottom: 1rem;
  border-bottom: 0.1rem solid #545353;
}
.p-career .work .work-recommend-text {
  color: #010101;
  font-family: "Noto Sans JP";
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 160%;
  letter-spacing: 0.08rem;
}
.p-career .work .work-note {
  color: #545353;
  text-align: justify;
  font-family: "Noto Sans JP";
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 160%;
  letter-spacing: 0.08rem;
  padding-bottom: 3.2rem;
}
.p-career .work .work-btns {
  display: flex;
  gap: 4rem;
  border-top: 0.1rem solid #e9eaec;
}
.p-career .work .heading-box_btn {
  padding-left: 0;
}
.p-career .work .heading-box_btn:before {
  display: none;
}
@media screen and (max-width: 768px) {
  .p-career .work {
    padding: 4rem 0 0;
  }
  .p-career .work .work-wrap {
    gap: 8.8rem;
  }
  .p-career .work .work-wrapInner {
    flex-direction: column;
    gap: 8.8rem;
  }
  .p-career .work .work-item.first,
  .p-career .work .work-item.second {
    flex-direction: column;
    gap: 3rem;
  }
  .p-career .work .heading-box {
    padding-bottom: 6.4rem;
  }
  .p-career .work .work-item.first .work-face,
  .p-career .work .work-item.second .work-face {
    width: 100%;
    aspect-ratio: 335 / 211;
  }
  .p-career .work .work-item.third .work-face,
  .p-career .work .work-item.fourth .work-face {
    aspect-ratio: 335 / 211;
  }
  .p-career .work .work-tag {
    font-size: 1.6rem;
    letter-spacing: 0.08rem;
  }
  .p-career .work .work-item.first .work-content,
  .p-career .work .work-item.second .work-content {
    width: 100%;
  }
  .p-career .work .work-recommend-text {
    font-size: 1.4rem;
    letter-spacing: 0.07rem;
  }
  .p-career .work .work-note {
    font-size: 1.4rem;
    letter-spacing: 0.07rem;
    padding-bottom: 2.4rem;
  }
  .p-career .work .work-btns {
    flex-direction: column;
    gap: 1.6rem;
    padding-top: 1.6rem;
  }
  .p-career .work .heading-box_btn {
    margin-top: 0;
  }
}
/* ======training===== */
.p-career .training {
  padding: 8rem 0 0;
}
.p-career .training .heading-box {
  padding-bottom: 4rem;
  border-bottom: initial;
}
.p-career .training .heading-lv3 {
  letter-spacing: 0.12rem;
  padding-bottom: 1rem;
  margin-bottom: 1rem;
  border-bottom: 0.1rem solid #010101;
}
.p-career .training .training-contents {
  display: flex;
  gap: 7.2rem;
}
.p-career .training .training-main {
  width: calc(520 / 1120 * 100%);
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}
.p-career .training .training-box {
  background: #fff;
  padding: 2.4rem 4.5rem 3.2rem 2.4rem;
  display: flex;
  gap: 3.5rem;
  position: relative;
  border: 0.1rem solid #d4d4d4;
  color: #010101;
  font-family: "Noto Sans JP";
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 160%;
  letter-spacing: 0.09rem;
}
.p-career .training .training-box span {
  position: absolute;
  right: 4rem;
  bottom: 2rem;
}
.p-career .training .training-images {
  width: calc(528 / 1120 * 100%);
  aspect-ratio: 528 / 464;
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  transform: translateY(-19%);
}
.p-career .training .training-note {
  color: #545353;
  font-family: "Noto Sans JP";
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 160%;
  letter-spacing: 0.08rem;
  text-align: justify;
}
@media screen and (max-width: 768px) {
  .p-career .training {
    padding: 4rem 0;
  }
  .p-career .training .heading-box {
    padding-bottom: 2rem;
  }
  .p-career .training .training-contents {
    flex-direction: column;
    gap: 2rem;
  }
  .p-career .training .training-main {
    width: 100%;
  }
  .p-career .training .training-box {
    padding: 1.4rem;
    gap: 1.5rem;
    font-size: 1.2rem;
    letter-spacing: 0.08rem;
  }
  .p-career .training .training-box span {
    right: 1.5rem;
    bottom: 1rem;
  }
  .p-career .training .training-images {
    width: 100%;
    transform: initial;
  }
  .p-career .training .training-note {
    font-size: 1.4rem;
    letter-spacing: 0.07rem;
  }
}
/* ======careerUp===== */
.p-career .careerUp {
  padding: 8rem 0;
  background: #fafafa;
}
.p-career .careerUp .heading-box {
  padding-bottom: 4rem;
  border-bottom: initial;
}
.p-career .careerUp .careerUp-box {
  aspect-ratio: 1120 / 534;
  margin-bottom: 2.4rem;
}
.p-career .careerUp .careerUp-note {
  color: #545353;
  font-family: "Noto Sans JP";
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 160%;
  letter-spacing: 0.08rem;
  text-align: justify;
}
@media screen and (max-width: 768px) {
  .p-career .careerUp {
    padding: 4rem 0 5.6rem;
  }
  .p-career .careerUp .careerUp-box {
    overflow-x: scroll;
    aspect-ratio: 335 / 313;
  }
  .p-career .careerUp .careerUp-img {
    width: calc(615 / 335 * 100%);
    padding-bottom: 1.6rem;
    max-width: initial;
  }
  .p-career .careerUp .careerUp-note {
    font-size: 1.4rem;
    letter-spacing: 0.07rem;
  }
}
/* ======flow===== */
.p-career .flow {
  padding: 8rem 0 10rem;
}
.p-career .flow .heading-box {
  padding-bottom: 4.8rem;
  border-bottom: initial;
}
.p-career .flow .flow-overview {
  background: #e9eaec;
  padding: 2.4rem 3.3rem 2.6rem;
  display: flex;
  gap: 6.1rem;
}
.p-career .flow .flow-overview-item {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
}
.p-career
  .flow
  .flow-overview-item:nth-child(-n + 4)
  .flow-overview-text::before {
  content: "";
  width: 1.6rem;
  height: 1.6rem;
  position: absolute;
  transform: translate(-50%, -50%);
  top: 50%;
  right: -5rem;
  background-image: url(../img/career/career-flow-arrow.svg);
  background-repeat: no-repeat;
  background-size: auto;
}
.p-career .flow .flow-overview-step {
  color: #010101;
  font-family: "DM Sans";
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 100%;
  text-align: center;
}
.p-career .flow .flow-overview-step.red {
  color: #d7063b;
}
.p-career .flow .flow-overview-text {
  color: #010101;
  font-family: "Noto Sans JP";
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 100%;
  letter-spacing: 1.6px;
  background: #fff;
  padding: 1.2rem 2.6rem;
  position: relative;
}
.p-career .flow .flow-overview-text.white {
  background: #d7063b;
  color: #fff;
}
.p-career .flow .flow-heading {
  display: flex;
  align-items: center;
  gap: 1.6rem;
  margin-bottom: 2.4rem;
  width: fit-content;
}
.p-career .flow .flow-step-item {
  padding: 6.4rem 0 4.8rem;
}
.p-career .flow .flow-step-item.first {
  position: relative;
}
.p-career .flow .flow-step-item.first,
.p-career .flow .flow-step-item.second {
  border-bottom: 0.1rem solid #c6c6c6;
}
.p-career .flow .flow-step-item.first img {
  position: absolute;
  top: 4rem;
  right: 6rem;
  width: calc(369 / 1120 * 100%);
  aspect-ratio: 369 / 249;
}
.p-career .flow .first .flow-contents {
  width: fit-content;
}
.p-career .flow .flow-note {
  color: #545353;
  font-family: "Noto Sans JP";
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 160%;
  letter-spacing: 0.08rem;
  padding-bottom: 2.4rem;
}
.p-career .flow .flow-btns {
  display: flex;
  gap: 4rem;
  border-top: 0.1rem solid #e9eaec;
  padding-right: 3.3rem;
}
.p-career .flow .heading-box_btn {
  padding-left: 0;
}
.p-career .flow .heading-box_btn::before {
  display: none;
}
.p-career .flow .flow-heading-text {
  color: #010101;
  font-family: "Noto Sans JP";
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 100%;
  letter-spacing: 0.09rem;
}
.p-career .flow .flow-heading-step {
  color: #fff;
  font-family: "Noto Sans JP";
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 100%;
  letter-spacing: 0.09rem;
  background: #212121;
  padding: 0.4rem 1.2rem;
  display: block;
}
.p-career .flow .flow-heading-step.red {
  color: #fff;
  background: #d7063b;
}
.p-career .flow .flow-heading-text.red {
  color: #d7063b;
}
.p-career .flow .flow-info {
  display: flex;
  justify-content: space-between;
}
.p-career .flow .flow-input,
.p-career .flow .flow-data {
  width: calc(535 / 1120 * 100%);
}
.p-career .flow .flow-input-title,
.p-career .flow .flow-data-title {
  color: #545353;
  font-family: "Noto Sans JP";
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 100%;
  letter-spacing: 0.08rem;
  margin-bottom: 0.5rem;
  display: block;
}
.p-career .flow .flow-input-content,
.p-career .flow .flow-data-content {
  background: #f4f4f4;
  padding: 2.4rem;
}
.p-career .flow .flow-data-content p {
  color: #545353;
  font-family: "Noto Sans JP";
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 160%;
  letter-spacing: 0.08rem;
}
.p-career .flow .flow-input-text,
.p-career .flow .flow-data-text {
  color: #545353;
  font-family: "Noto Sans JP";
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 160%;
  letter-spacing: 0.08rem;
  margin-top: 0;
}
.p-career .flow .flow-input-text.red,
.p-career .flow .flow-data-text.red {
  color: #d7063b;
}
.p-career .flow .flow-subNote {
  color: #545353;
  font-family: "Noto Sans JP";
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 160%;
  letter-spacing: 0.08rem;
  margin-top: 2.4rem;
}
.p-career .flow .flow-areaSecond {
  display: flex;
  padding: 4.8rem 0;
  border-bottom: 0.1rem solid #c6c6c6;
}
.p-career .flow .flow-areaSecond .flow-areaThird .flow-step-item.third {
  width: 92%;
  padding: 0 0 4.8rem;
  border-bottom: 0.1rem solid #c6c6c6;
}
.p-career .flow .flow-areaSecond .flow-areaThird .flow-step-item.fourth {
  width: 92%;
  padding: 4.8rem 0 0;
}
.p-career .flow .flow-areaThird {
  width: 50%;
  border-right: 0.1rem solid #c6c6c6;
}
.p-career .flow .flow-areaThird .flow-note {
  padding-bottom: 0;
}
.p-career .flow .flow-areaSecond .flow-step-item.fifth {
  width: 50%;
  padding: 0 0 0 4rem;
}
.p-career .section-button {
  margin: 0;
}
.p-career .career-st {
  color: #545353;
  font-family: "Noto Sans JP";
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 100%;
  letter-spacing: 0.16rem;
  margin-bottom: 1.2rem;
}
@media screen and (max-width: 768px) {
  .p-career .flow {
    padding: 4rem 0 5.6rem;
  }
  .p-career .flow .heading-box {
    padding-bottom: 2.4rem;
  }
  .p-career .flow .flow-overview {
    padding: 2.4rem 2rem 2.8rem;
    flex-direction: column;
    gap: 2.5rem;
  }
  .p-career .flow .flow-overview-text {
    text-align: center;
  }
  .p-career
    .flow
    .flow-overview-item:nth-child(-n + 4)
    .flow-overview-text::before {
    transform: translate(-50%, -50%) rotate(90deg);
    top: initial;
    right: 47%;
    bottom: -78%;
  }
  .p-career .flow .flow-heading {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.8rem;
    margin-bottom: 0.8rem;
    width: 100%;
  }
  .p-career .flow .flow-step-item {
    padding: 4rem 0;
  }
  .p-career .flow .flow-step-item.first img {
    position: initial;
    width: calc(300 / 335 * 100%);
    aspect-ratio: 300 / 202;
    margin: 0 auto;
    display: block;
    margin-bottom: 1.6rem;
  }
  .p-career .flow .flow-note {
    padding-bottom: 0.8rem;
  }
  .p-career .flow .second .flow-note {
    padding-bottom: 2.4rem;
  }
  .p-career .flow .flow-btns {
    flex-direction: column;
    gap: 1.6rem;
    border-top: initial;
    padding-right: 0;
  }
  .p-career .flow .heading-box_btn {
    margin-top: 0;
  }
  .p-career .flow .button-more .txt {
    font-size: 1.6rem;
  }
  .p-career .flow .heading-box_btn::before {
    display: none;
  }
  .p-career .flow .flow-heading-text {
    line-height: 160%;
  }
  .p-career .flow .flow-info {
    flex-direction: column;
    gap: 2.4rem;
  }
  .p-career .flow .flow-input,
  .p-career .flow .flow-data {
    width: 100%;
  }
  .p-career .flow .flow-input-content {
    display: flex;
    flex-direction: column;
    gap: 2rem;
  }
  .p-career .flow .flow-subNote {
    margin-top: 1.6rem;
  }
  .p-career .flow .flow-areaSecond {
    flex-direction: column;
    padding: 4rem 0;
    border-bottom: initial;
  }
  .p-career .flow .flow-areaSecond .flow-areaThird .flow-step-item.third {
    width: 100%;
    padding: 0 0 4rem;
    border-bottom: 0.1rem solid #c6c6c6;
  }
  .p-career .flow .flow-areaSecond .flow-areaThird .flow-step-item.fourth {
    width: 100%;
    padding: 4rem 0;
    border-bottom: 0.1rem solid #c6c6c6;
  }
  .p-career .flow .flow-areaThird {
    width: 100%;
    border-right: initial;
  }
  .p-career .flow .flow-areaThird .flow-note {
    padding-bottom: 0;
  }
  .p-career .flow .flow-areaSecond .flow-step-item.fifth {
    width: 100%;
    padding: 4rem 0;
    border-bottom: 0.1rem solid #c6c6c6;
  }
  .p-career .flow .flow-areaSecond .flow-step-item.fifth .flow-note {
    padding-bottom: 2.4rem;
  }
  .p-career .sb-title {
    line-height: 130%;
  }
  .p-career .career-st {
    font-size: 1.4rem;
    margin-bottom: 0.5rem;
  }
}
.p-career .target-sideBtn.active {
  display: none;
}
.p-recruit .target-sideBtn.active {
  display: none;
}
.p-career .banner-box_btn_item {
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  z-index: 8;
}
.p-career .banner-box_btn_item .button-more {
  width: 27.7rem;
  height: 9.2rem;
  padding: 1.2rem;
  display: flex;
  gap: 1.6rem;
  margin-top: 0;
}
.p-career .banner-box_btn_item .button-more .txt {
  line-height: 1.4;
}
.p-career .button-more .arrow {
  right: 1.2rem;
}
.p-career .career-banner-img {
  width: calc(68 / 251 * 100%);
  border-radius: 0.4rem;
  overflow: hidden;
}
.page-id-834 .c-pagetop {
  bottom: 13rem;
  right: 2rem;
}
.page-id-246 .c-pagetop {
  bottom: 13rem;
  right: 2rem;
}
@media screen and (max-width: 768px) {
  .p-career .banner-box_btn_item .button-more {
    width: 18.7rem;
    height: 7.2rem;
    padding: 1.6rem;
  }
  .p-career .button-more .arrow {
    right: 1.6rem;
  }
  .p-career .banner-box_btn_item {
    bottom: 2rem;
  }
  .page-id-834 .c-pagetop {
    bottom: 10rem;
  }
  .page-id-246 .c-pagetop {
    bottom: 10rem;
  }
}
@media screen and (max-width: 768px) {
  .p-career .banner-box_btn_item .button-more {
    width: 18.7rem;
    height: 7.2rem;
    padding: 1.6rem;
  }
  .p-career .button-more .arrow {
    right: 1.6rem;
  }
  .p-career .banner-box_btn_item {
    bottom: 2rem;
  }
  .page-id-834 .c-pagetop {
    bottom: 10rem;
  }
  .page-id-246 .c-pagetop {
    bottom: 10rem;
  }
}
.p-recruit .recruit-button {
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  z-index: 8;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.p-recruit .recruit-button_item {
  width: 15.5rem;
  height: 4.4rem;
}
.recruit-button_item a.red::before {
  background: #010101;
}
.recruit-button_item a.white:hover {
  color: #010101;
  border-color: #010101;
}
.recruit-button_item a.white::before {
  background: #ececec;
}
.recruit-button_item a:hover::before {
  -webkit-transform-origin: left top;
  transform-origin: left top;
  -webkit-transform: scale(1, 1);
  transform: scale(1, 1);
}
.recruit-button_item a::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transition: -webkit-transform 0.6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transition: -webkit-transform 0.6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transition: transform 0.6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transition: transform 0.6s cubic-bezier(0.8, 0, 0.2, 1) 0s,
    -webkit-transform 0.6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  -webkit-transform: scale(0, 1);
  transform: scale(0, 1);
  -webkit-transform-origin: right top;
  transform-origin: right top;
  border-radius: 0.3rem;
}
.p-recruit .recruit-button_item a {
  width: 100%;
  height: 100%;
  border: 0.1rem solid #d7063b;
  border-radius: 0.4rem;
  padding: 1.4rem 1.5rem;
  font-family: "Noto Sans JP";
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 100%;
  display: block;
  position: relative;
}
.p-recruit .recruit-button_item a span {
  position: relative;
  z-index: 1;
}
.recruit-button_item a:hover {
  opacity: 1;
  border: 0.1rem solid #010101;
}
.p-recruit .recruit-button_item .white {
  background: #ffffff;
  color: #d7063b;
}
.p-recruit .recruit-button_item .red {
  background: #d7063b;
  color: #fff;
}

@media screen and (max-width: 768px) {
  .p-recruit .recruit-button_item {
    width: 13.4rem;
    height: 3.4rem;
  }
  .p-recruit .recruit-button_item a {
    padding: 1rem 1.1rem;
    font-size: 1.4rem;
  }
  .p-recruit .recruit-button {
    gap: 0.5rem;
  }
}

.p-recruit .recruit-button {
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  z-index: 8;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.p-recruit .recruit-button_item {
  width: 15.5rem;
  height: 4.4rem;
}
.recruit-button_item a.red::before {
  background: #010101;
}
.recruit-button_item a.white:hover {
  color: #010101;
  border-color: #010101;
}
.recruit-button_item a.white::before {
  background: #ececec;
}
.recruit-button_item a:hover::before {
  -webkit-transform-origin: left top;
  transform-origin: left top;
  -webkit-transform: scale(1, 1);
  transform: scale(1, 1);
}
.recruit-button_item a::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transition: -webkit-transform 0.6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transition: -webkit-transform 0.6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transition: transform 0.6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transition: transform 0.6s cubic-bezier(0.8, 0, 0.2, 1) 0s,
    -webkit-transform 0.6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  -webkit-transform: scale(0, 1);
  transform: scale(0, 1);
  -webkit-transform-origin: right top;
  transform-origin: right top;
  border-radius: 0.3rem;
}
.p-recruit .recruit-button_item a {
  width: 100%;
  height: 100%;
  border: 0.1rem solid #d7063b;
  border-radius: 0.4rem;
  padding: 1.4rem 1.5rem;
  font-family: "Noto Sans JP";
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 100%;
  display: block;
  position: relative;
}
.p-recruit .recruit-button_item a span {
  position: relative;
  z-index: 1;
}
.recruit-button_item a:hover {
  opacity: 1;
  border: 0.1rem solid #010101;
}
.p-recruit .recruit-button_item .white {
  background: #ffffff;
  color: #d7063b;
}
.p-recruit .recruit-button_item .red {
  background: #d7063b;
  color: #fff;
}

@media screen and (max-width: 768px) {
  .p-recruit .recruit-button_item {
    width: 13.4rem;
    height: 3.4rem;
  }
  .p-recruit .recruit-button_item a {
    padding: 1rem 1.1rem;
    font-size: 1.4rem;
  }
  .p-recruit .recruit-button {
    gap: 0.5rem;
  }
}

.recruit-entry__btnGroup {
  display: flex;
  gap: 1.6rem;
  justify-content: center;
}

@media screen and (max-width: 768px) {
  .recruit-entry__btnGroup {
    flex-direction: column;
    gap: 1.6rem;
  }
}
