@charset "UTF-8";
/* -----------------------------------------------------------------
 Foundation
----------------------------------------------------------------- */
:root {
  /* サイトカラー */
  --theme-main: #231815;
  --theme-accent: #C12C1F;
  --light-gray: #F0F0F0;
  /* font */
  --font-base: "IBM Plex Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic", "ヒラギノ角ゴ W3", "Noto Sans JP", sans-serif;
  --font-en: "Figtree", sans-serif;
  /* header */
  --header-height-sm: 64px;
  --header-height-md: 80px;
  --header-height-lg: 104px;
  /* inner */
  --inner-max-width-sm: 960px;
  --inner-max-width-md: 1080px;
  --inner-max-width-lg: 1240px;
  --inner-max-width-xl: 1360px;
  /* btn */
  --btn-line-height: 1.2;
  --btn-font-weight: 500;
  --btn-font-size: rem(15);
  /* bg */
  --bg-height: clamp(3rem, 1.714rem + 6.43vw, 7.5rem);
  /* 48 - 120 */
  --bg-position: calc(clamp(2.938rem, 1.652rem + 6.43vw, 7.438rem) * -1);
  /* 47  - 119 */
  --bg-clip: polygon(-2% var(--bg-height), 102% 0%, 102% calc(100% - var(--bg-height)), -2% 100%);
  --bg-clip-rl: polygon(-2% 0, 102% 0%, 102% calc(100% - var(--bg-height)), -2% 100%);
  --bg-clip-lr: polygon(-2% 0, 102% 0%, 102% 100%, -2% var(--bg-height));
}

/*======================
  reset
======================*/
/*! destyle.css v4.0.1 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model and set borders */
/* ============================================ */
*,
::before,
::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-style: solid;
  border-width: 0;
  min-width: 0;
}

html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -webkit-tap-highlight-color: transparent; /* 3*/
}

body {
  margin: 0;
}

main {
  display: block;
}

p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}

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

ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

dt {
  font-weight: bold;
}

dd {
  margin-left: 0;
}

hr {
  -webkit-box-sizing: content-box;
          box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
  border-top-width: 1px;
  margin: 0;
  clear: both;
  color: inherit;
}

pre {
  font-family: monospace, monospace; /* 1 */
  font-size: inherit; /* 2 */
}

address {
  font-style: inherit;
}

a {
  background-color: transparent;
  text-decoration: none;
  color: inherit;
}

abbr[title] {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted; /* 2 */
}

b,
strong {
  font-weight: bolder;
}

code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: inherit; /* 2 */
}

small {
  font-size: 80%;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

svg,
img,
embed,
object,
iframe {
  vertical-align: bottom;
}

svg,
img,
picture {
  display: block;
  width: 100%;
  vertical-align: middle;
}

button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none; /* 1 */
  -moz-appearance: none;
       appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  border-radius: 0;
  text-align: inherit;
  text-transform: inherit; /* 2 */
}

button,
[type=button],
[type=reset],
[type=submit] {
  cursor: pointer;
}

button:disabled,
[type=button]:disabled,
[type=reset]:disabled,
[type=submit]:disabled {
  cursor: default;
}

:-moz-focusring {
  outline: auto;
}

select:disabled {
  opacity: inherit;
}

option {
  padding: 0;
}

fieldset {
  margin: 0;
  padding: 0;
  min-width: 0;
}

legend {
  padding: 0;
}

progress {
  vertical-align: baseline;
}

textarea {
  overflow: auto;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  outline-offset: -2px; /* 1 */
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

[type=number] {
  -moz-appearance: textfield;
}

label[for] {
  cursor: pointer;
}

details {
  display: block;
}

summary {
  display: list-item;
}

[contenteditable]:focus {
  outline: auto;
}

table {
  border-color: inherit; /* 1 */
  border-collapse: collapse;
}

caption {
  text-align: left;
}

td,
th {
  vertical-align: top;
  padding: 0;
}

th {
  text-align: left;
  font-weight: bold;
}

/*=======================
  breakpoints
=======================*/
/*=======================
  animation
=======================*/
@-webkit-keyframes gradientMove {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}
@keyframes gradientMove {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}
@-webkit-keyframes carouselLoop {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-1400px);
            transform: translateX(-1400px);
  }
}
@keyframes carouselLoop {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-1400px);
            transform: translateX(-1400px);
  }
}
@-webkit-keyframes mvZoomOut {
  0% {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@keyframes mvZoomOut {
  0% {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@-webkit-keyframes transformLeftRight {
  0% {
    -webkit-transform: translateY(-50%) translateX(-100%);
            transform: translateY(-50%) translateX(-100%);
  }
  100% {
    -webkit-transform: translateY(-50%) translateX(0);
            transform: translateY(-50%) translateX(0);
  }
}
@keyframes transformLeftRight {
  0% {
    -webkit-transform: translateY(-50%) translateX(-100%);
            transform: translateY(-50%) translateX(-100%);
  }
  100% {
    -webkit-transform: translateY(-50%) translateX(0);
            transform: translateY(-50%) translateX(0);
  }
}
@-webkit-keyframes transformRightLeft {
  0% {
    -webkit-transform: translateY(-50%) translateX(0);
            transform: translateY(-50%) translateX(0);
  }
  100% {
    -webkit-transform: translateY(-50%) translateX(100%);
            transform: translateY(-50%) translateX(100%);
  }
}
@keyframes transformRightLeft {
  0% {
    -webkit-transform: translateY(-50%) translateX(0);
            transform: translateY(-50%) translateX(0);
  }
  100% {
    -webkit-transform: translateY(-50%) translateX(100%);
            transform: translateY(-50%) translateX(100%);
  }
}
@-webkit-keyframes slideDown {
  from {
    opacity: 0;
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes slideDown {
  from {
    opacity: 0;
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes rotate360 {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
@keyframes rotate360 {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
@-webkit-keyframes Shine {
  100% {
    left: 120%;
  }
}
@keyframes Shine {
  100% {
    left: 120%;
  }
}
/*=======================
  Scroll Animation Classes
  スクロールアニメーション用の汎用クラス
=======================*/
.js-scroll-scale {
  overflow: hidden;
}
.js-scroll-scale img {
  -webkit-transform: scale(1.075);
          transform: scale(1.075);
  opacity: 0;
  -webkit-transition: all 1.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: all 1.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: opacity, transform;
  transition-property: opacity, transform, -webkit-transform;
  will-change: auto;
}
.js-scroll-scale.is-visible img {
  -webkit-transform: scale(1);
          transform: scale(1);
  opacity: 1;
}

.js-scroll-scale-up {
  -webkit-transform: scale(0);
          transform: scale(0);
  opacity: 0;
  -webkit-transition: all 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: all 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: opacity, transform;
  transition-property: opacity, transform, -webkit-transform;
  will-change: auto;
}
.js-scroll-scale-up.is-visible {
  -webkit-transform: scale(1);
          transform: scale(1);
  opacity: 1;
}

.js-scroll-shine::after {
  -webkit-animation: none;
          animation: none;
}
.js-scroll-shine.is-visible::after {
  -webkit-animation: Shine 1.2s ease-in-out forwards;
          animation: Shine 1.2s ease-in-out forwards;
}

.js-scroll-clip {
  clip-path: inset(0 100% 0 0);
  -webkit-transition: clip-path var(--clip-duration, 1.5s) cubic-bezier(0.165, 0.84, 0.44, 1) 0.2s;
  transition: clip-path var(--clip-duration, 1.5s) cubic-bezier(0.165, 0.84, 0.44, 1) 0.2s;
}
.js-scroll-clip.is-visible {
  clip-path: inset(0);
}

.js-scroll-clip-up {
  clip-path: inset(100% 0 0 0);
  -webkit-transition: clip-path 0.6s cubic-bezier(0.165, 0.84, 0.44, 1) 0.8s;
  transition: clip-path 0.6s cubic-bezier(0.165, 0.84, 0.44, 1) 0.8s;
}
.js-scroll-clip-up.is-visible {
  clip-path: inset(0);
}

.js-scroll-clip-up02 {
  clip-path: inset(100% 0 0 0);
  -webkit-transition: clip-path 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: clip-path 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.js-scroll-clip-up02.is-visible {
  clip-path: inset(0);
}

.js-scroll-reveal {
  position: relative;
  overflow: hidden;
}
.js-scroll-reveal::before {
  content: "";
  display: block;
  width: 0;
  height: 100%;
  position: absolute;
  left: 100%;
  top: 0;
  z-index: 1;
  background: var(--theme-accent);
  -webkit-animation: none;
          animation: none;
}
.js-scroll-reveal img {
  opacity: 0;
  -webkit-transition: none;
  transition: none;
}
.js-scroll-reveal.is-visible::before {
  -webkit-animation: scrollRevealBar 1s ease forwards;
          animation: scrollRevealBar 1s ease forwards;
}
.js-scroll-reveal.is-visible img {
  -webkit-animation: scrollRevealImage 1s ease 0.5s forwards;
          animation: scrollRevealImage 1s ease 0.5s forwards;
}

@-webkit-keyframes scrollRevealBar {
  0% {
    left: 100%;
    width: 0;
  }
  50% {
    left: 0;
    width: 100%;
  }
  51% {
    left: 0;
    width: 100%;
  }
  68% {
    left: 0;
    width: 100%;
  }
  100% {
    left: 0;
    width: 0;
  }
}

@keyframes scrollRevealBar {
  0% {
    left: 100%;
    width: 0;
  }
  50% {
    left: 0;
    width: 100%;
  }
  51% {
    left: 0;
    width: 100%;
  }
  68% {
    left: 0;
    width: 100%;
  }
  100% {
    left: 0;
    width: 0;
  }
}
@-webkit-keyframes scrollRevealImage {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes scrollRevealImage {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/*======================
  base
======================*/
* {
  min-height: 0vw;
  /* Safari clamp関数対策 */
}

html {
  scrollbar-gutter: stable;
}

body {
  color: var(--theme-main);
  font-family: var(--font-base);
  font-size: 0.9375rem;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.08em;
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
  -moz-text-size-adjust: 100%;
   -ms-text-size-adjust: 100%;
       text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  text-autospace: normal;
  overflow-x: clip;
}
body.backlayer {
  overflow: hidden;
  position: fixed;
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 768px) {
  body a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
}

a {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

/*======================
  svg
======================*/
.svg,
.svg-defs {
  display: none;
  position: relative;
  height: 0;
  overflow: hidden;
  visibility: hidden;
}

.svg-icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}

.icon_window {
  width: 16px;
  height: 17px;
  stroke: #fff;
}
.icon_window.icon_window--main {
  stroke: var(--theme-main);
}

.icon_arrow {
  width: 16px;
  height: 16px;
  fill: #fff;
}
.icon_arrow.icon_arrow--accent {
  fill: var(--theme-accent);
}
.icon_arrow.rotate {
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
}

.icon-arrow-c {
  width: 40px;
  height: 40px;
  display: inline-block;
}

/* -----------------------------------------------------------------
 Layout
----------------------------------------------------------------- */
/*======================
  header
======================*/
.l-header {
  position: fixed;
  inset: 0;
  width: 100%;
  height: var(--header-height-sm);
  background-color: #fff;
  z-index: 990;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.l-header.is-loading {
  opacity: 0;
  visibility: hidden;
}
.l-header__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-column-gap: 0.625rem;
     -moz-column-gap: 0.625rem;
          column-gap: 0.625rem;
  padding-inline: 18px;
  height: 100%;
}
@media screen and (min-width: 768px) {
  .l-header__inner {
    padding-inline: 2.8%;
  }
}
.l-header__logo {
  width: 100%;
  max-width: clamp(13.75rem, 5.148rem + 43.01vw, 21.25rem);
  /* 220 - 340 */
  z-index: 995;
}
@media screen and (min-width: 600px) {
  .l-header__logo {
    width: clamp(27.5rem, 24.821rem + 7.14vw, 31.25rem);
    /* 440 - 500 */
    max-width: none;
  }
}
.l-header__logo-link {
  display: block;
  width: 100%;
}
.l-header__logo-link:hover {
  opacity: 0.7;
}

.l-navbtn {
  position: relative;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: inline-block;
  width: 32px;
  height: 8px;
  border: none;
  text-align: center;
  cursor: pointer;
  z-index: 999;
}
.l-navbtn__bar {
  display: block;
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 32px;
  height: 1px;
  background-color: var(--theme-main);
  -webkit-transition: background-color 0.3s, -webkit-transform 0.3s;
  transition: background-color 0.3s, -webkit-transform 0.3s;
  transition: background-color 0.3s, transform 0.3s;
  transition: background-color 0.3s, transform 0.3s, -webkit-transform 0.3s;
}
.l-navbtn__bar.m-top {
  -webkit-transform: translate(-50%, calc(-50% - 4px));
          transform: translate(-50%, calc(-50% - 4px));
}
.l-navbtn__bar.m-bottom {
  -webkit-transform: translate(-50%, calc(-50% + 4px));
          transform: translate(-50%, calc(-50% + 4px));
}

.is-active.l-navbtn .m-top {
  -webkit-transform: translate(-50%, 0) rotate(20deg);
          transform: translate(-50%, 0) rotate(20deg);
  background: var(--theme-main);
}
.is-active.l-navbtn .m-bottom {
  -webkit-transform: translate(-50%, 0) rotate(-20deg);
          transform: translate(-50%, 0) rotate(-20deg);
  background: var(--theme-main);
}

.l-nav {
  position: fixed;
  top: 0;
  right: 0;
  width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background-color: #f0f0f0;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  z-index: 996;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1), visibility 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1), visibility 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
@media screen and (min-width: 768px) {
  .l-nav {
    max-width: 42.5rem;
  }
}
.l-nav.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.l-nav__inner {
  height: 100svh;
}
.l-nav__wrap {
  padding-block: calc(var(--header-height-md) + 1rem);
  padding-inline: 1.25rem;
}
@media screen and (min-width: 768px) {
  .l-nav__wrap {
    padding-inline: 8.2%;
  }
}
.l-nav__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 1rem;
  padding: 1.5rem 0.625rem;
  background-image: -webkit-gradient(linear, left top, right top, from(rgb(193, 44, 31)), to(rgb(193, 44, 31)));
  background-image: linear-gradient(90deg, rgb(193, 44, 31), rgb(193, 44, 31));
  background-repeat: no-repeat;
  background-position: left bottom;
  background-size: 0 1px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  font-size: 1rem;
}
@media (hover: hover) and (pointer: fine) {
  .l-nav__item:hover {
    background-size: 100% 1px;
    color: var(--theme-accent);
  }
}
.l-nav__cta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.625rem 0.25rem;
  margin-top: 2.5rem;
}
@media screen and (min-width: 600px) {
  .l-nav__cta {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.l-nav__cta-item {
  position: relative;
  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: 1.625rem 0.625rem 1.5rem 1rem;
  width: 100%;
  overflow: hidden;
  color: #fff;
  z-index: 10;
}
@media screen and (min-width: 600px) {
  .l-nav__cta-item {
    width: 50%;
  }
}
.l-nav__cta-item > * {
  position: relative;
  z-index: 10;
}
.l-nav__cta-item::before, .l-nav__cta-item::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
}
.l-nav__cta-item.newgraduate {
  background-color: #93190E;
}
.l-nav__cta-item.newgraduate::before {
  width: 100%;
  clip-path: polygon(100% 0, 0 0, 100% 100%);
  background-color: #9F1111;
  z-index: 2;
}
.l-nav__cta-item.newgraduate::after {
  width: 50%;
  clip-path: polygon(100% 0, 0 100%, 100% 100%);
  background-color: rgba(119, 29, 29, 0.5);
  z-index: 4;
}
.l-nav__cta-item.careers {
  background-color: #790D0D;
}
.l-nav__cta-item.careers::before {
  width: 100%;
  clip-path: polygon(100% 0, 0 0, 100% 100%);
  background-color: #660c0c;
  z-index: 2;
}
.l-nav__cta-item.careers::after {
  width: 50%;
  clip-path: polygon(100% 0, 0 100%, 100% 100%);
  background-color: rgba(84, 22, 22, 0.5);
  z-index: 4;
}
.l-nav__corp {
  text-align: right;
}
.l-nav__corp-link {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 0.5rem;
     -moz-column-gap: 0.5rem;
          column-gap: 0.5rem;
  border-bottom: 1px solid var(--theme-main);
  font-size: 0.8125rem;
}
.l-nav__corp-link:hover {
  opacity: 0.7;
}

.l-nav-overlay {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 900;
  opacity: 0;
  backdrop-filter: blur(2px);
  visibility: hidden;
  pointer-events: none;
  -webkit-transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1), visibility 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1), visibility 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.l-nav-overlay.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.page-light .l-header__logo-link.is-dark {
  display: none;
}
.page-light .l-header__logo-link.is-light {
  display: block;
}
.page-light .l-header.is-scrolled .l-header__logo-link.is-dark {
  display: block;
}
.page-light .l-header.is-scrolled .l-header__logo-link.is-light {
  display: none;
}
.page-light .l-header.is-scrolled .l-navbtn .m-top,
.page-light .l-header.is-scrolled .l-navbtn .m-bottom {
  background-color: var(--theme-main);
}
.page-light .l-navbtn .m-top,
.page-light .l-navbtn .m-bottom {
  background-color: var(--theme-main);
}

.l-header.is-active .l-navbtn .m-top,
.l-header.is-active .l-navbtn .m-bottom {
  background-color: var(--theme-main);
}

/*======================
  footer
======================*/
.l-footer {
  background-color: #151515;
  font-size: 0.875rem;
  color: #fff;
}
.l-footer__inner {
  max-width: 1240px;
  margin-inline: auto;
  padding-inline: 1.25rem;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
}
@media screen and (min-width: 768px) {
  .l-footer__inner {
    padding-inline: 2.5rem;
  }
}
.l-footer-top {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto auto auto;
  gap: 2.5rem;
  padding-block: clamp(6.25rem, 5.893rem + 1.79vw, 7.5rem);
  /* 100  - 120 */
}
@media screen and (min-width: 1024px) {
  .l-footer-top {
    grid-template-columns: 60% 1fr;
    grid-template-rows: auto auto;
  }
}
.l-footer__logo {
  grid-column: 1/-1;
  grid-row: 1;
  width: 100%;
  max-width: 33.75rem;
}
@media screen and (min-width: 1024px) {
  .l-footer__logo {
    grid-row: auto;
  }
}
.l-footer-info {
  grid-column: 1;
  grid-row: 2;
}
@media screen and (min-width: 1024px) {
  .l-footer-info {
    grid-row: auto;
  }
}
.l-footer-info__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 4px;
  margin-bottom: 0.625rem;
  line-height: 1;
}
.l-footer-info__title .img {
  width: 16px;
  height: 16px;
}
.l-footer__map {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 4px;
  margin-top: 1.25rem;
  border-bottom: 1px solid #fff;
}
.l-footer__nav {
  grid-column: 1;
  grid-row: 3;
}
@media screen and (min-width: 1024px) {
  .l-footer__nav {
    grid-column: 2;
    grid-row: auto;
  }
}
.l-footer__nav-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 10px 16px;
}
.l-footer__nav-link {
  background-image: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0.8)), to(rgba(255, 255, 255, 0.8)));
  background-image: linear-gradient(90deg, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0.8));
  background-repeat: no-repeat;
  background-position: left bottom;
  background-size: 0 1px;
  -webkit-transition: background-size 0.3s;
  transition: background-size 0.3s;
}
.l-footer__nav-link:hover {
  background-size: 100% 1px;
}
.l-footer__nav-btn {
  margin-top: 2.5rem;
}
.l-footer-bottom {
  padding-block: 2rem;
}
.l-footer__copyright {
  font-family: var(--font-en);
  font-size: 0.625rem;
  font-weight: 300;
  color: #8B8B8B;
  text-align: center;
}

/*=======================
  main
=======================*/
.l-main {
  display: block;
  position: relative;
  overflow-x: clip;
}
.l-main__wrap {
  padding-top: 7.5rem;
  padding-bottom: 12.5rem;
}

/*=======================
  container
=======================*/
.l-container {
  position: relative;
  margin-inline: auto;
  padding-inline: 20px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
}
@media screen and (min-width: 768px) {
  .l-container {
    padding-inline: 5.5%;
    max-width: var(--inner-max-width-md);
  }
}

.l-container--sm {
  position: relative;
  margin-inline: auto;
  padding-inline: 20px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
}
@media screen and (min-width: 768px) {
  .l-container--sm {
    padding-inline: 5.5%;
    max-width: var(--inner-max-width-sm);
  }
}

.l-container--lg {
  position: relative;
  margin-inline: auto;
  padding-inline: 20px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
}
@media screen and (min-width: 768px) {
  .l-container--lg {
    padding-inline: 5.5%;
  }
}
@media screen and (min-width: 1024px) {
  .l-container--lg {
    max-width: var(--inner-max-width-lg);
  }
}

/*======================
  cta
======================*/
.l-cta__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 0.25rem;
     -moz-column-gap: 0.25rem;
          column-gap: 0.25rem;
  position: fixed;
  left: 50%;
  -webkit-transform: translateX(-50%) translateY(100%);
          transform: translateX(-50%) translateY(100%);
  bottom: 0;
  width: 100%;
  z-index: 800;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.3s ease, visibility 0.3s ease, -webkit-transform 0.3s ease;
  transition: opacity 0.3s ease, visibility 0.3s ease, -webkit-transform 0.3s ease;
  transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease;
  transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease, -webkit-transform 0.3s ease;
}
@media screen and (min-width: 600px) {
  .l-cta__btn {
    -webkit-column-gap: 0.5rem;
       -moz-column-gap: 0.5rem;
            column-gap: 0.5rem;
    width: auto;
    bottom: 1.25rem;
    right: 1.25rem;
    left: auto;
    -webkit-transform: translateY(100%);
            transform: translateY(100%);
  }
}
.l-cta__btn.is-visible {
  opacity: 1;
  visibility: visible;
  -webkit-transform: translateX(-50%) translateY(0);
          transform: translateX(-50%) translateY(0);
}
@media screen and (min-width: 600px) {
  .l-cta__btn.is-visible {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
.l-cta__btn-link {
  display: block;
  width: 50%;
  padding: 1rem 0.5rem;
  background-color: #fff;
  font-size: clamp(0.688rem, 0.652rem + 0.18vw, 0.813rem);
  /* 11 - 13 */
  font-weight: 500;
  color: #fff;
  text-align: center;
  line-height: 1.2;
  z-index: 800;
}
@media screen and (min-width: 600px) {
  .l-cta__btn-link {
    width: 13.125rem;
  }
}
.l-cta__btn-link.pattern1 {
  background-color: var(--theme-accent);
}
.l-cta__btn-link.pattern2 {
  background-color: #1A1B1C;
}

.l-cta {
  position: relative;
  padding-top: clamp(8.75rem, 7.679rem + 5.36vw, 12.5rem);
  /* 140 - 200 */
  background-color: #fff;
  overflow: clip;
}

.l-cta__top {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  padding-top: clamp(5.625rem, 5.089rem + 2.68vw, 7.5rem);
  /* 90 - 120 */
  padding-bottom: 6.25rem;
  background-image: url(../img/common/cta_bg.webp);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.l-cta__top::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.6);
}
.l-cta__top::after {
  position: absolute;
  top: 0;
  left: -60%;
  width: 50%;
  height: 100%;
  background: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0)), to(rgba(255, 255, 255, 0.2)));
  background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.2) 100%);
  -webkit-transform: skewX(-25deg);
          transform: skewX(-25deg);
  -webkit-transition: 0.5s;
  transition: 0.5s;
  content: "";
  z-index: 1;
}
.l-cta__top-deco {
  position: absolute;
  top: calc(clamp(0.5rem, 0.411rem + 0.45vw, 0.813rem) * -1);
  /* -8 - -13 */
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 76%;
  max-width: 22.5rem;
  aspect-ratio: 459/66;
  background: -webkit-gradient(linear, left top, right top, from(rgb(217, 106, 65)), to(rgb(140, 16, 10)));
  background: linear-gradient(90deg, rgb(217, 106, 65) 0%, rgb(140, 16, 10) 100%);
  -webkit-mask-image: url(../img/common/cta_mask.svg);
          mask-image: url(../img/common/cta_mask.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  z-index: 2;
}
@media screen and (min-width: 768px) {
  .l-cta__top-deco {
    width: clamp(22.5rem, 15.429rem + 14.73vw, 28.688rem);
    /* 360 - 472 */
  }
}
.l-cta__top-inner {
  position: relative;
  width: calc(100% - 1.25rem);
  margin-inline: auto;
  color: #fff;
  text-align: center;
  z-index: 10;
}
.l-cta__top-inner .main {
  display: inline-block;
  -webkit-transform: skewX(-8deg);
          transform: skewX(-8deg);
  padding-left: 0.5rem;
  font-size: clamp(1.625rem, 1.518rem + 0.54vw, 2rem);
  /* 26 - 32 */
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
.l-cta__top-inner .main .color {
  color: var(--theme-accent);
}
.l-cta__top-inner .main .sp-only {
  display: block;
}
@media screen and (min-width: 600px) {
  .l-cta__top-inner .main .sp-only {
    display: none;
  }
}
.l-cta__top-inner .sub {
  width: 90%;
  max-width: 22.8125rem;
  margin-inline: auto;
  margin-top: 0.625rem;
}
.l-cta__top-inner .text {
  margin-top: 2.5rem;
  font-size: 0.875rem;
  line-height: 2;
}

.l-cta__bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 768px) {
  .l-cta__bottom {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.l-cta__bottom-link {
  position: relative;
  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;
  row-gap: 1rem;
  width: 100%;
  height: 17.5rem;
  padding: 2rem 1.25rem 1.25rem 1.25rem;
  color: #fff;
}
@media screen and (min-width: 768px) {
  .l-cta__bottom-link {
    width: 50%;
    height: 20rem;
  }
}
.l-cta__bottom-link::before {
  content: "";
  position: absolute;
  top: 0;
  display: block;
  height: 100%;
  z-index: 1;
}
.l-cta__bottom-link > * {
  position: relative;
  z-index: 10;
}
.l-cta__bottom-link:hover .l-cta__bottom-icon .arrow::before {
  -webkit-animation-name: transformRightLeft;
          animation-name: transformRightLeft;
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
}
.l-cta__bottom-link:hover .l-cta__bottom-icon .arrow::after {
  -webkit-animation-name: transformLeftRight;
          animation-name: transformLeftRight;
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s;
}
.l-cta__bottom-link .main {
  font-size: clamp(1.25rem, 1.214rem + 0.18vw, 1.375rem);
  /* 20 - 22 */
  font-weight: 400;
  color: #fff;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
.l-cta__bottom-link .sub {
  height: 0.75rem;
}
.l-cta__bottom-link .sub img {
  height: 100%;
  width: auto;
  display: block;
}
.l-cta__bottom-newgraduate::before {
  left: 0;
  width: calc(100% + 120px);
  background-color: #93190E;
}
.l-cta__bottom-career::before {
  left: -60px;
  width: calc(100% + 120px);
  background-color: #790D0D;
}
@media screen and (min-width: 768px) {
  .l-cta__bottom-career::before {
    clip-path: polygon(120px 0, 100% 0, 100% 100%, 0 100%);
  }
}
.l-cta__bottom-icon {
  position: relative;
  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: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  width: 2.5rem;
  aspect-ratio: 1/1;
  overflow: hidden;
  z-index: 1;
  border: 1px solid #fff;
  border-radius: 50%;
}
.l-cta__bottom-icon .arrow {
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  bottom: 0;
  width: 16px;
  margin: auto 0;
  line-height: 1;
}
.l-cta__bottom-icon .arrow::before, .l-cta__bottom-icon .arrow::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 16px;
  height: 16px;
  background-image: url("../img/common/icon_arrow_w.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-duration: 0.6s;
          animation-duration: 0.6s;
}
.l-cta__bottom-icon .arrow::after {
  -webkit-transform: translateY(-50%) translateX(-100%);
          transform: translateY(-50%) translateX(-100%);
}

.l-lower__main {
  padding-top: calc(var(--header-height-md) + clamp(4rem, 3rem + 5vw, 7.5rem));
  /* 64 - 120 */
  padding-bottom: clamp(5rem, 4.643rem + 1.79vw, 6.25rem);
  /* 80 - 100 */
}
.l-lower__main.bg {
  background: -webkit-gradient(linear, left top, left bottom, from(rgb(255, 255, 255)), color-stop(64%, rgb(255, 255, 255)), color-stop(64%, rgb(240, 240, 240)), to(rgb(240, 240, 240)));
  background: linear-gradient(to bottom, rgb(255, 255, 255) 0%, rgb(255, 255, 255) 64%, rgb(240, 240, 240) 64%, rgb(240, 240, 240) 100%);
}

.l-lower__container {
  padding-inline: 1.25rem;
}
@media screen and (min-width: 768px) {
  .l-lower__container {
    padding-inline: 5.5%;
  }
}

/* -----------------------------------------------------------------
 Component
----------------------------------------------------------------- */
/*======================
  btn
======================*/
.c-btn {
  position: relative;
  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;
  -webkit-column-gap: 1rem;
     -moz-column-gap: 1rem;
          column-gap: 1rem;
  width: 100%;
  max-width: 18.75rem;
  height: 3.75rem;
  padding: 0.375rem 1.5rem 0.3125rem 1.75rem;
  overflow: hidden;
  background-image: -webkit-gradient(linear, left top, right top, from(#C21A03), color-stop(51%, #860f0f), to(#C21A03));
  background-image: linear-gradient(to right, #C21A03 0%, #860f0f 51%, #C21A03 100%);
  background-size: 200% auto;
  -webkit-transition: 0.5s ease;
  transition: 0.5s ease;
  font-size: var(--btn-font-size);
  font-weight: var(--btn-font-weight);
  line-height: var(--btn-line-height);
  color: #fff;
}
.c-btn__icon {
  position: relative;
  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: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: 100%;
  padding-left: 1.5rem;
  overflow: hidden;
  z-index: 1;
}
.c-btn__icon::before {
  content: "";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
  width: 1px;
  height: 100%;
  background: rgba(255, 255, 255, 0.5);
}
.c-btn:hover {
  background-position: right center;
}

.c-btn--move {
  position: relative;
  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;
  -webkit-column-gap: 1rem;
     -moz-column-gap: 1rem;
          column-gap: 1rem;
  width: 100%;
  max-width: 18.125rem;
  height: 3.75rem;
  padding: 0.375rem 1.5rem 0.3125rem 1.375rem;
  overflow: hidden;
  background-image: -webkit-gradient(linear, left top, right top, from(#C21A03), to(#860f0f));
  background-image: linear-gradient(to right, #C21A03 0%, #860f0f 100%);
  -webkit-transition: 0.5s ease;
  transition: 0.5s ease;
  font-size: var(--btn-font-size);
  font-weight: var(--btn-font-weight);
  line-height: var(--btn-line-height);
  color: #fff;
}
.c-btn--move__icon {
  position: relative;
  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: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: 100%;
  width: 2.5rem;
  overflow: hidden;
  z-index: 1;
}
.c-btn--move__icon::before {
  content: "";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
  width: 1px;
  height: 100%;
  background: rgba(255, 255, 255, 0.5);
}
.c-btn--move__icon .arrow {
  overflow: hidden;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 16px;
  margin: auto 0;
  line-height: 1;
}
.c-btn--move__icon .arrow::before, .c-btn--move__icon .arrow::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 16px;
  height: 16px;
  background-image: url("../img/common/icon_arrow_w.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-duration: 0.6s;
          animation-duration: 0.6s;
}
.c-btn--move__icon .arrow::after {
  -webkit-transform: translateY(-50%) translateX(-100%);
          transform: translateY(-50%) translateX(-100%);
}
.c-btn--move:hover .c-btn--move__icon .arrow::before {
  -webkit-animation-name: transformRightLeft;
          animation-name: transformRightLeft;
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
}
.c-btn--move:hover .c-btn--move__icon .arrow::after {
  -webkit-animation-name: transformLeftRight;
          animation-name: transformLeftRight;
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s;
}
.c-btn--move.pattern1 {
  background: #fff;
  padding: 0.375rem 1.5rem 0.3125rem 1.5rem;
  color: var(--theme-accent);
}
.c-btn--move.pattern1 .c-btn--move__icon::before {
  background: var(--theme-accent);
}
.c-btn--move.pattern1 .text {
  padding-inline: 0;
}
.c-btn--move.pattern1 .arrow::before, .c-btn--move.pattern1 .arrow::after {
  background-image: url("../img/common/icon_arrow.svg");
}
.c-btn--move.center {
  margin-inline: auto;
}
.c-btn--move.right {
  margin-left: auto;
}
.c-btn--move.left {
  margin-right: auto;
}

/* form submit */
input[type=submit] {
  -webkit-appearance: none;
  background-image: none;
  border: none;
  border-radius: 0;
  cursor: pointer;
  letter-spacing: 0.08em;
}

.c-submit__btn {
  position: relative;
  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;
  -webkit-column-gap: 1rem;
     -moz-column-gap: 1rem;
          column-gap: 1rem;
  width: 100%;
  max-width: 16.25rem;
  height: 3.75rem;
  padding: 0.4375rem 1.5rem 0.3125rem 1.75rem;
  overflow: hidden;
  background-image: -webkit-gradient(linear, left top, right top, from(#C21A03), to(#860f0f));
  background-image: linear-gradient(to right, #C21A03 0%, #860f0f 100%);
  -webkit-transition: 0.5s ease;
  transition: 0.5s ease;
  font-family: var(--font-base);
  font-size: var(--btn-font-size);
  font-weight: var(--btn-font-weight);
  line-height: var(--btn-line-height);
  color: #fff;
}
@media screen and (min-width: 360px) {
  .c-submit__btn {
    min-width: 16.25rem;
  }
}
.c-submit__btn:hover {
  cursor: pointer;
}
.c-submit__btn__icon {
  position: relative;
  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: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: 100%;
  width: 2.5rem;
  overflow: hidden;
  z-index: 1;
}
.c-submit__btn__icon::before {
  content: "";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
  width: 1px;
  height: 100%;
  background: rgba(255, 255, 255, 0.5);
}
.c-submit__btn__icon .arrow {
  overflow: hidden;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 16px;
  margin: auto 0;
  line-height: 1;
}
.c-submit__btn__icon .arrow::before, .c-submit__btn__icon .arrow::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 16px;
  height: 16px;
  background-image: url("../img/common/icon_arrow_w.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-duration: 0.6s;
          animation-duration: 0.6s;
}
.c-submit__btn__icon .arrow::after {
  -webkit-transform: translateY(-50%) translateX(-100%);
          transform: translateY(-50%) translateX(-100%);
}
.c-submit__btn:hover .c-submit__btn__icon .arrow::before {
  -webkit-animation-name: transformRightLeft;
          animation-name: transformRightLeft;
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
}
.c-submit__btn:hover .c-submit__btn__icon .arrow::after {
  -webkit-animation-name: transformLeftRight;
          animation-name: transformLeftRight;
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s;
}
.c-submit__btn.center {
  margin-inline: auto;
}

/*=======================
  head
=======================*/
.c-page-head {
  position: relative;
  padding-inline: clamp(1rem, 0.571rem + 2.14vw, 2.5rem);
  /* 16 - 40 */
  padding-top: 1.25rem;
  overflow-x: clip;
}
.c-page-head .ja {
  font-size: clamp(0.813rem, 0.777rem + 0.18vw, 0.938rem);
  /* 13 - 15 */
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.1em;
}
.c-page-head .en {
  height: clamp(1.25rem, 0.176rem + 5.37vw, 2.75rem);
  /* 20 - 44 */
  width: auto;
}
@media screen and (min-width: 768px) {
  .c-page-head .en {
    width: 100%;
    height: auto;
  }
}
.c-page-head .en img {
  height: 100%;
  width: auto;
  max-width: 100%;
}
@media screen and (min-width: 768px) {
  .c-page-head .en img {
    height: auto;
  }
}
.c-page-head .en::before {
  content: "";
  background-image: url(../img/common/icon_head.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  display: inline-block;
  width: clamp(1rem, 0.714rem + 1.43vw, 2rem);
  /* 16 - 32 */
  aspect-ratio: 1/1;
  height: auto;
  position: absolute;
  top: 0;
  left: 0;
}
.c-page-head .en.c-page-head__en--business {
  height: clamp(3.125rem, 0.888rem + 11.19vw, 6.25rem);
  /* 50 - 100 */
}
@media screen and (min-width: 768px) {
  .c-page-head .en.c-page-head__en--business {
    height: auto;
    max-width: clamp(41.563rem, 29.634rem + 24.85vw, 52rem);
    /* 665 - 832 */
  }
}
@media screen and (min-width: 768px) {
  .c-page-head .en.c-page-head__en--guideline {
    max-width: clamp(29.438rem, 21.009rem + 17.56vw, 36.813rem);
    /* 471 - 589 */
  }
}
@media screen and (min-width: 768px) {
  .c-page-head .en.c-page-head__en--entry {
    max-width: clamp(18.375rem, 13.089rem + 11.01vw, 23rem);
    /* 294 - 368 */
  }
}
@media screen and (min-width: 768px) {
  .c-page-head .en.c-page-head__en--news {
    max-width: clamp(17rem, 12.143rem + 10.12vw, 21.25rem);
    /* 272 - 340 */
  }
}
@media screen and (min-width: 768px) {
  .c-page-head .en.c-page-head__en--interview {
    max-width: clamp(30.75rem, 21.964rem + 18.3vw, 38.438rem);
    /* 492 - 615 */
  }
}
@media screen and (min-width: 768px) {
  .c-page-head .en.c-page-head__en--workplace {
    max-width: clamp(34.625rem, 24.696rem + 20.68vw, 43.313rem);
    /* 554 - 693 */
  }
}
@media screen and (min-width: 768px) {
  .c-page-head .en.c-page-head__en--about {
    max-width: clamp(28.188rem, 20.116rem + 16.82vw, 35.25rem);
    /* 451 - 564 */
  }
}

.c-page-head__lead {
  margin-top: clamp(5rem, 4.643rem + 1.79vw, 6.25rem);
  /* 80 - 100 */
  margin-left: auto;
  width: 100%;
  font-size: clamp(0.813rem, 0.777rem + 0.18vw, 0.938rem);
  /* 13 - 15 */
}
@media screen and (min-width: 768px) {
  .c-page-head__lead {
    max-width: 33.125rem;
  }
}
.c-page-head__lead.c-page-head__lead--news {
  text-align: left;
}
@media screen and (min-width: 768px) {
  .c-page-head__lead.c-page-head__lead--news {
    text-align: right;
  }
}

.c-page-head__img {
  position: relative;
  margin-top: clamp(5rem, 4.643rem + 1.79vw, 6.25rem);
  /* 80 - 100 */
  aspect-ratio: 768/500;
  width: calc(50% + 50vw);
  z-index: 10;
}
@media screen and (min-width: 768px) {
  .c-page-head__img {
    aspect-ratio: 1340/500;
  }
}

/*=======================
  title
=======================*/
.c-title .ja {
  margin-top: 1rem;
  font-size: clamp(1.625rem, 1.518rem + 0.54vw, 2rem);
  /* 26 - 32 */
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.5;
}
.c-title .en {
  height: clamp(0.75rem, 0.696rem + 0.27vw, 0.938rem);
  /* 12 - 15 */
  width: auto;
}
.c-title .en img {
  height: 100%;
  width: auto;
  max-width: 100%;
}
.c-title.center .ja {
  text-align: center;
}
.c-title.center .en img {
  margin-inline: auto;
}

/*=======================
  form
=======================*/
/* reset */
input {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

select {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  cursor: pointer;
}

textarea {
  resize: vertical;
  outline: none;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: none;
}

/* contactform7 */
span.wpcf7-spinner {
  display: none;
}

.wpcf7 form.sent .wpcf7-response-output {
  display: none;
}

/* form base */
.form__group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px 24px;
  padding-block: 24px;
}
.form__group.start {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  padding-bottom: 0;
}
.form__group.start .form__group-header {
  margin-top: 4px;
}
.form__group:first-of-type {
  padding-top: 0;
}
.form__group-body {
  width: 100%;
}
.form__group-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 4px 10px;
}
.form__group-header .label {
  padding: 5px 8px 3px 8px;
  font-size: 0.75rem;
  font-weight: 500;
  color: #fff;
  line-height: 1;
}
.form__group-header .require {
  background-color: var(--theme-accent);
}
.form__group-header .optional {
  background-color: #B7B7B7;
}
.form__label {
  display: block;
  font-weight: 500;
}
.form__input {
  padding: 20px 16px;
  width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background-color: #F0F0F0;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .form__input {
    font-size: 1rem;
  }
}
.form__input:focus {
  border: 1px solid var(--theme-accent);
}
.form__input::-webkit-input-placeholder {
  font-weight: 400;
  color: #A6A6A6;
}
.form__input::-moz-placeholder {
  font-weight: 400;
  color: #A6A6A6;
}
.form__input:-ms-input-placeholder {
  font-weight: 400;
  color: #A6A6A6;
}
.form__input::-ms-input-placeholder {
  font-weight: 400;
  color: #A6A6A6;
}
.form__input::placeholder {
  font-weight: 400;
  color: #A6A6A6;
}
@media screen and (max-width: 767px) {
  .form__input::-webkit-input-placeholder {
    font-size: 0.875rem;
  }
  .form__input::-moz-placeholder {
    font-size: 0.875rem;
  }
  .form__input:-ms-input-placeholder {
    font-size: 0.875rem;
  }
  .form__input::-ms-input-placeholder {
    font-size: 0.875rem;
  }
  .form__input::placeholder {
    font-size: 0.875rem;
  }
}
.form__input.c-select {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .form__input.c-select {
    width: 56.8%;
  }
}
.form select.form__input {
  padding-right: 48px;
  background-image: url("../img/common/icon_toggle.svg");
  background-repeat: no-repeat;
  background-position: right 20px center;
  background-size: 16px 16px;
}
.form__textarea {
  padding: 24px 16px;
  height: 240px;
  width: 100%;
  background-color: #F0F0F0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .form__textarea {
    font-size: 1rem;
  }
}
.form__textarea:focus {
  border: 1px solid var(--theme-accent);
}
.form__textarea::-webkit-input-placeholder {
  font-weight: 400;
  color: #d7d7d7;
}
.form__textarea::-moz-placeholder {
  font-weight: 400;
  color: #d7d7d7;
}
.form__textarea:-ms-input-placeholder {
  font-weight: 400;
  color: #d7d7d7;
}
.form__textarea::-ms-input-placeholder {
  font-weight: 400;
  color: #d7d7d7;
}
.form__textarea::placeholder {
  font-weight: 400;
  color: #d7d7d7;
}
.form-privacy {
  margin-top: 2.5rem;
  width: 100%;
  height: 21.25rem;
  padding: 1.25rem 0.625rem 1.25rem 1.25rem;
  border: 1px solid #d7d7d7;
}
.form-privacy__content {
  height: 100%;
  overflow-y: scroll;
  padding-right: 1.25rem;
  font-size: 0.8125rem;
}
.form-privacy__content .title {
  margin-top: 1rem;
}
.form-privacy__content .title:first-child {
  margin-top: 0;
  margin-bottom: 1rem;
}
.form-privacy__content::-webkit-scrollbar {
  width: 8px;
}
.form-privacy__content::-webkit-scrollbar-thumb {
  background: var(--theme-accent);
  border-radius: 8px;
}
.form-privacy__content::-webkit-scrollbar-track {
  background: #F0F0F0;
  border-radius: 8px;
}
.form-submit__btn {
  width: 100%;
}

/* form checkbox */
input[type=checkbox] {
  position: absolute;
  opacity: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

.form__group-body.checkbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 10px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 2.5rem;
  font-weight: 400;
}

.c-checkbox .text,
.c-checkbox .wpcf7-list-item-label {
  display: inline-block;
  position: relative;
  padding-left: 26px;
  font-weight: 400;
}
.c-checkbox .text::before,
.c-checkbox .wpcf7-list-item-label::before {
  content: "";
  position: absolute;
  top: calc(50% - 1px);
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
  width: 17px;
  height: 17px;
  border: 1px solid #C7C7C7;
  background-color: #F0F0F0;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.c-checkbox .text::after,
.c-checkbox .wpcf7-list-item-label::after {
  content: "✔";
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: absolute;
  top: calc(50% - 1px);
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
  width: 17px;
  height: 17px;
  color: var(--theme-accent);
  font-size: 0.875rem;
  opacity: 0;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.c-checkbox label {
  display: inline-block;
  position: relative;
  cursor: pointer;
}
.c-checkbox input[type=checkbox] {
  position: absolute;
  opacity: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

.c-checkbox input:focus + span::before,
.c-checkbox input:focus + .wpcf7-list-item-label::before {
  border: 1px solid var(--theme-accent);
}

.c-checkbox input:checked + span::after,
.c-checkbox input:checked + .wpcf7-list-item-label::after {
  opacity: 1;
}

.c-checkbox label input:focus + .wpcf7-list-item-label::before,
.c-checkbox .wpcf7-list-item input:focus + .wpcf7-list-item-label::before {
  border: 1px solid var(--theme-accent);
}

.c-checkbox label input:checked + .wpcf7-list-item-label::after,
.c-checkbox .wpcf7-list-item input:checked + .wpcf7-list-item-label::after {
  opacity: 1;
}

/* form radio */
input[type=radio] {
  position: absolute;
  opacity: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

.form__group-body.radio {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 4px 16px;
}

.c-radio .text,
.c-radio .wpcf7-list-item-label {
  display: inline-block;
  position: relative;
  padding-left: 26px;
  font-weight: 500;
}
.c-radio .text::before,
.c-radio .wpcf7-list-item-label::before {
  content: "";
  position: absolute;
  top: 4px;
  left: 0;
  width: 18px;
  height: 18px;
  background: #F0F0F0;
  border-radius: 50%;
  border: 1px solid #C7C7C7;
}
.c-radio .text::after,
.c-radio .wpcf7-list-item-label::after {
  content: "";
  position: absolute;
  top: 7px;
  left: 3px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background-color: var(--theme-accent);
  opacity: 0;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.c-radio label {
  display: inline-block;
  position: relative;
  cursor: pointer;
}
.c-radio input[type=radio] {
  position: absolute;
  opacity: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

.c-radio input:focus + span::before,
.c-radio input:focus + .wpcf7-list-item-label::before {
  border: 1px solid var(--theme-accent);
}

.c-radio input:checked + span::after,
.c-radio input:checked + .wpcf7-list-item-label::after {
  opacity: 1;
}

.c-radio label input:focus + .wpcf7-list-item-label::before,
.c-radio .wpcf7-list-item input:focus + .wpcf7-list-item-label::before {
  border: 1px solid var(--theme-accent);
}

.c-radio label input:checked + .wpcf7-list-item-label::after,
.c-radio .wpcf7-list-item input:checked + .wpcf7-list-item-label::after {
  opacity: 1;
}

.wpcf7-list-item:first-of-type {
  margin-left: 0;
}

/*=======================
  breadcrumb
=======================*/
.c-breadcrumb {
  margin-top: clamp(5rem, 3.929rem + 5.36vw, 8.75rem);
  /* 80 - 140 */
  position: relative;
  z-index: 3;
  font-size: 0.75rem;
  font-weight: 400;
  text-align: right;
  line-height: 1.5;
}
.c-breadcrumb__item {
  display: inline-block;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
.c-breadcrumb__item:not(:first-of-type)::before {
  content: "/";
  display: inline-block;
  width: 7px;
  height: 7px;
  margin-inline: 4px;
  color: var(--theme-accent);
}
.c-breadcrumb__item.is-current {
  pointer-events: none;
  color: #5D5D5D;
}
.c-breadcrumb__item:hover {
  opacity: 0.7;
}
.l-lower__container:has(.c-page-head__lead) .c-breadcrumb {
  margin-top: 2.5rem;
}
.l-lower__container:has(.c-page-head__img) .c-breadcrumb {
  margin-top: 1rem;
}

/*=======================
  pagination
=======================*/
/* 一覧　 */
.c-pagination {
  width: 100%;
  /* WP-Pagenavi用 */
  margin-top: 4rem;
}
.c-pagination .wp-pagenavi {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.625rem;
  position: relative;
  width: 100%;
  text-align: center;
}
.c-pagination .wp-pagenavi span, .c-pagination .wp-pagenavi a {
  display: block;
  width: 40px;
  height: 40px;
  padding: 0;
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background-color: #f0f0f0;
  font-size: 1rem;
  font-family: var(--font-en);
  font-weight: 600;
  color: var(--theme-main);
  line-height: 40px;
  text-align: center;
  text-decoration: none;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.c-pagination .wp-pagenavi span.current, .c-pagination .wp-pagenavi a.current {
  cursor: default;
  pointer-events: none;
  background-color: var(--theme-accent);
  color: #fff;
}
@media (hover: hover) and (pointer: fine) {
  .c-pagination .wp-pagenavi span:hover:hover, .c-pagination .wp-pagenavi a:hover:hover {
    background-color: var(--theme-accent);
    color: #fff;
  }
}
.c-pagination .wp-pagenavi .pages {
  display: none;
}
.c-pagination .wp-pagenavi .previouspostslink, .c-pagination .wp-pagenavi .nextpostslink {
  position: relative;
  display: grid;
  place-items: center;
}
.c-pagination .wp-pagenavi .previouspostslink::before, .c-pagination .wp-pagenavi .nextpostslink::before {
  content: "";
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  width: 16px;
  height: 16px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.c-pagination .wp-pagenavi .previouspostslink::before {
  background-image: url(../img/common/icon_pagination.svg);
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
.c-pagination .wp-pagenavi .previouspostslink:hover::before {
  background-image: url(../img/common/icon_arrow_w.svg);
}
.c-pagination .wp-pagenavi .nextpostslink::before {
  background-image: url(../img/common/icon_pagination.svg);
}
.c-pagination .wp-pagenavi .nextpostslink:hover::before {
  background-image: url(../img/common/icon_arrow_w.svg);
}
.c-pagination .wp-pagenavi .first, .c-pagination .wp-pagenavi .last {
  display: none;
}

/*=======================
  content-area
  WordPress Gutenberg対応
=======================*/
.c-content-area {
  word-break: break-word;
  color: var(--theme-main);
}
.c-content-area h1 {
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.5;
  margin: 1.5em 0 1em;
}
@media screen and (min-width: 768px) {
  .c-content-area h1 {
    font-size: 1.625rem;
    margin: 2em 0 1em;
  }
}
.c-content-area h1:first-child {
  margin-top: 0;
}
.c-content-area h2 {
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.5;
  margin: 1.5em 0 1em;
}
@media screen and (min-width: 768px) {
  .c-content-area h2 {
    font-size: 1.5rem;
    margin: 2em 0 1em;
  }
}
.c-content-area h2:first-child {
  margin-top: 0;
}
.c-content-area h3 {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.5;
  margin: 1.5em 0 1em;
}
@media screen and (min-width: 768px) {
  .c-content-area h3 {
    font-size: 1.25rem;
    margin: 1.75em 0 0.75em;
  }
}
.c-content-area h3:first-child {
  margin-top: 0;
}
.c-content-area h4 {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  margin: 1.5em 0 1em;
}
@media screen and (min-width: 768px) {
  .c-content-area h4 {
    font-size: 1.125rem;
    margin: 1.5em 0 0.75em;
  }
}
.c-content-area h4:first-child {
  margin-top: 0;
}
.c-content-area h5 {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.5;
  margin: 1.5em 0 1em;
}
@media screen and (min-width: 768px) {
  .c-content-area h5 {
    font-size: 1rem;
  }
}
.c-content-area h5:first-child {
  margin-top: 0;
}
.c-content-area h6 {
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.5;
  margin: 1.5em 0 1em;
}
@media screen and (min-width: 768px) {
  .c-content-area h6 {
    font-size: 0.875rem;
  }
}
.c-content-area h6:first-child {
  margin-top: 0;
}
.c-content-area p {
  line-height: 2;
  margin: 0;
}
.c-content-area p a {
  color: var(--theme-main);
  text-decoration: underline;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}
@media (hover: hover) and (pointer: fine) {
  .c-content-area p a:hover {
    color: var(--theme-accent);
  }
}
.c-content-area p + p {
  margin-top: 1em;
}
@media screen and (min-width: 768px) {
  .c-content-area p + p {
    margin-top: 1.25em;
  }
}
.c-content-area figure {
  margin: 1.5em 0;
}
@media screen and (min-width: 768px) {
  .c-content-area figure {
    margin: 2em 0;
  }
}
.c-content-area figure img {
  display: block;
  width: 100%;
  height: auto;
}
.c-content-area figure figcaption {
  margin-top: 0.5em;
  font-size: 0.875rem;
  color: #666;
  text-align: center;
  line-height: 1.6;
}
.c-content-area img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}
.c-content-area .alignleft {
  float: left;
  margin: 0.5em 1.5em 1em 0;
}
@media screen and (min-width: 768px) {
  .c-content-area .alignleft {
    margin: 0.5em 2em 1em 0;
  }
}
.c-content-area .alignright {
  float: right;
  margin: 0.5em 0 1em 1.5em;
}
@media screen and (min-width: 768px) {
  .c-content-area .alignright {
    margin: 0.5em 0 1em 2em;
  }
}
.c-content-area .aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
.c-content-area .alignwide {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 768px) {
  .c-content-area .alignwide {
    max-width: 120%;
    margin-left: -10%;
    margin-right: -10%;
  }
}
.c-content-area .alignfull {
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}
.c-content-area .wp-caption {
  max-width: 100%;
  margin: 1.5em 0;
}
@media screen and (min-width: 768px) {
  .c-content-area .wp-caption {
    margin: 2em 0;
  }
}
.c-content-area .wp-caption img {
  display: block;
  width: 100%;
  height: auto;
}
.c-content-area .wp-caption-text {
  margin-top: 0.5em;
  font-size: 0.875rem;
  color: #666;
  text-align: center;
  line-height: 1.6;
}
.c-content-area ul, .c-content-area ol {
  margin: 1.5em 0;
}
@media screen and (min-width: 768px) {
  .c-content-area ul, .c-content-area ol {
    margin: 2em 0;
  }
}
.c-content-area ul ul, .c-content-area ul ol, .c-content-area ol ul, .c-content-area ol ol {
  margin: 0.5em 0;
  padding-left: 1.5em;
}
.c-content-area ul {
  list-style-position: outside;
  padding-left: 1.5em;
}
.c-content-area ul > li {
  list-style: disc;
  padding: 0.3em 0.3em 0.3em 0;
  line-height: 1.8;
}
.c-content-area ul > li::marker {
  color: var(--theme-accent);
  font-size: 1.1em;
}
.c-content-area ul > li > ul {
  list-style-type: circle;
}
.c-content-area ul > li > ul > li::marker {
  color: var(--theme-accent);
}
.c-content-area ul > li > ul > li > ul {
  list-style-type: square;
}
.c-content-area ul > li > ul > li > ul > li::marker {
  color: var(--theme-accent);
}
.c-content-area ol {
  counter-reset: item;
  list-style-type: none;
  padding-left: 0;
}
.c-content-area ol > li {
  padding: 0.3em 0.3em 0.3em 0;
  line-height: 1.8;
}
.c-content-area ol > li::before {
  counter-increment: item;
  content: counter(item);
  font-family: var(--font-en);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1;
  color: #fff;
  width: 20px;
  height: 20px;
  background-color: var(--theme-accent);
  border-radius: 50%;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-right: 8px;
  vertical-align: middle;
}
.c-content-area ol > li > ol {
  counter-reset: item;
}
.c-content-area ol > li > ol > li::before {
  counter-increment: item;
  content: counter(item, lower-alpha) ".";
  width: auto;
  height: auto;
  background-color: transparent;
  color: var(--theme-accent);
  border-radius: 0;
  font-size: 1em;
  margin-right: 0.5em;
}
.c-content-area table {
  width: 100%;
  margin: 1.5em 0;
  border-collapse: collapse;
  border: 1px solid #e0e0e0;
}
@media screen and (min-width: 768px) {
  .c-content-area table {
    margin: 2em 0;
  }
}
.c-content-area table caption {
  margin: 0 0 0.75em;
  color: #9fa6b4;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  text-align: left;
}
.c-content-area table thead th {
  background: #F0F0F0;
}
.c-content-area table tr:not(:last-child) {
  border-bottom: 1px solid #e0e0e0;
}
.c-content-area table td, .c-content-area table th {
  padding: 0.75em;
  border-right: 1px solid #e0e0e0;
  text-align: left;
  vertical-align: top;
}
@media screen and (min-width: 768px) {
  .c-content-area table td, .c-content-area table th {
    padding: 1em;
  }
}
.c-content-area table td:last-child, .c-content-area table th:last-child {
  border-right: 0;
}
.c-content-area table th {
  font-weight: 700;
  background: #F0F8F7;
  border-bottom: 1px solid #e0e0e0;
}
.c-content-area table td {
  word-break: break-word;
}
.c-content-area table tfoot {
  border-top: 1px solid #e0e0e0;
  background: #f8f9fa;
}
.c-content-area table tfoot td, .c-content-area table tfoot th {
  font-size: 0.9em;
}
.c-content-area blockquote {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: relative;
  margin: 2em 0;
  padding: 1em 1em 1em 2em;
  border-left: 4px solid var(--theme-accent);
  background-color: #fafafa;
  color: #464646;
}
@media screen and (min-width: 768px) {
  .c-content-area blockquote {
    margin: 2.5em 0;
    padding: 1.5em 1.5em 1.5em 2.5em;
  }
}
.c-content-area blockquote p {
  margin: 0.75em 0;
  padding: 0;
  line-height: 1.8;
}
.c-content-area blockquote p:first-child {
  margin-top: 0;
}
.c-content-area blockquote p:last-child {
  margin-bottom: 0;
}
.c-content-area blockquote cite {
  display: block;
  margin-top: 1em;
  color: #888;
  font-size: 0.875rem;
  font-style: normal;
  text-align: right;
}
.c-content-area blockquote cite::before {
  content: "— ";
}
.c-content-area blockquote ul, .c-content-area blockquote ol {
  margin: 1em 0;
  padding-left: 1.5em;
  background: transparent;
}
.c-content-area dl {
  margin: 1.5em 0;
}
@media screen and (min-width: 768px) {
  .c-content-area dl {
    margin: 2em 0;
  }
}
.c-content-area dt {
  font-weight: 700;
  margin-top: 1em;
  margin-bottom: 0.5em;
  color: var(--theme-main);
}
.c-content-area dt:first-child {
  margin-top: 0;
}
.c-content-area dd {
  margin-bottom: 1em;
  margin-left: 1.5em;
  color: #666;
  font-size: 0.9375rem;
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  .c-content-area dd {
    margin-left: 2em;
  }
}
.c-content-area dd:last-child {
  margin-bottom: 0;
}
.c-content-area hr {
  margin: 2em 0;
  border: 0;
  border-top: 1px solid #e0e0e0;
  clear: both;
}
@media screen and (min-width: 768px) {
  .c-content-area hr {
    margin: 2.5em 0;
  }
}
.c-content-area code {
  padding: 0.2em 0.4em;
  margin: 0 0.2em;
  border-radius: 4px;
  background: #f5f5f5;
  color: #d63384;
  font-size: 0.9em;
  font-family: "Courier New", Courier, monospace;
  word-break: break-word;
}
.c-content-area pre {
  margin: 1.5em 0;
  padding: 1.25em;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  background: #f8f9fa;
  color: #333;
  font-size: 0.875rem;
  line-height: 1.6;
  overflow-x: auto;
}
@media screen and (min-width: 768px) {
  .c-content-area pre {
    margin: 2em 0;
    padding: 1.5em;
  }
}
.c-content-area pre code {
  padding: 0;
  margin: 0;
  background: transparent;
  color: inherit;
  font-size: inherit;
  border-radius: 0;
  word-break: normal;
}
.c-content-area strong, .c-content-area b {
  font-weight: 700;
}
.c-content-area em, .c-content-area i {
  font-style: italic;
}
.c-content-area u {
  text-decoration: underline;
}
.c-content-area mark {
  background-color: #fff3cd;
  padding: 0.1em 0.2em;
  border-radius: 2px;
}
.c-content-area small {
  font-size: 0.875em;
}
.c-content-area sub, .c-content-area sup {
  font-size: 0.75em;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
.c-content-area sup {
  top: -0.5em;
}
.c-content-area sub {
  bottom: -0.25em;
}
.c-content-area .wp-block-group {
  margin: 1.5em 0;
}
@media screen and (min-width: 768px) {
  .c-content-area .wp-block-group {
    margin: 2em 0;
  }
}
.c-content-area .wp-block-columns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 2em;
  margin: 1.5em 0;
}
@media screen and (min-width: 768px) {
  .c-content-area .wp-block-columns {
    margin: 2em 0;
  }
}
.c-content-area .wp-block-column {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}
.c-content-area .wp-block-button {
  margin: 1.5em 0;
}
@media screen and (min-width: 768px) {
  .c-content-area .wp-block-button {
    margin: 2em 0;
  }
}
.c-content-area .wp-block-button .wp-block-button__link {
  display: inline-block;
  padding: 0.75em 1.5em;
  background-color: var(--theme-accent);
  color: #fff;
  text-decoration: none;
  border-radius: 4px;
  font-weight: 600;
  -webkit-transition: opacity 0.3s ease, -webkit-transform 0.2s ease;
  transition: opacity 0.3s ease, -webkit-transform 0.2s ease;
  transition: opacity 0.3s ease, transform 0.2s ease;
  transition: opacity 0.3s ease, transform 0.2s ease, -webkit-transform 0.2s ease;
}
@media (hover: hover) and (pointer: fine) {
  .c-content-area .wp-block-button .wp-block-button__link:hover {
    opacity: 0.9;
    -webkit-transform: translateY(-1px);
            transform: translateY(-1px);
  }
}
.c-content-area .wp-block-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1em;
  margin: 1.5em 0;
}
@media screen and (min-width: 768px) {
  .c-content-area .wp-block-gallery {
    margin: 2em 0;
    gap: 1.5em;
  }
}
.c-content-area .wp-block-gallery .wp-block-image {
  margin: 0;
}
.c-content-area .wp-block-separator {
  margin: 2em auto;
  border: 0;
  border-top: 2px solid #e0e0e0;
}
@media screen and (min-width: 768px) {
  .c-content-area .wp-block-separator {
    margin: 2.5em auto;
  }
}
.c-content-area .wp-block-pullquote {
  margin: 2em 0;
  padding: 1.5em;
  border-left: 4px solid var(--theme-accent);
  background-color: #fafafa;
}
@media screen and (min-width: 768px) {
  .c-content-area .wp-block-pullquote {
    margin: 2.5em 0;
    padding: 2em;
  }
}
.c-content-area .wp-block-pullquote blockquote {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}
.c-content-area .screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.c-content-area .more-link {
  display: inline-block;
  margin-top: 1em;
  color: var(--theme-accent);
  font-weight: 600;
  text-decoration: underline;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}
@media (hover: hover) and (pointer: fine) {
  .c-content-area .more-link:hover {
    color: var(--theme-main);
  }
}

/*=======================
  carousel
=======================*/
.c-carousel {
  width: 100%;
  margin-top: -10px;
  margin-inline: auto;
  overflow: hidden;
}
.c-carousel__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: clamp(3.125rem, 1.196rem + 4.02vw, 4.813rem);
  /* 50 - 77 */
  width: auto;
  -webkit-animation: carouselLoop 30s linear infinite;
          animation: carouselLoop 30s linear infinite;
}
.c-carousel__img {
  display: block;
  height: auto;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin-left: 2.5rem;
  height: 100%;
  width: auto;
}

/* -----------------------------------------------------------------
 Utility
----------------------------------------------------------------- */
.u-fit-img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.u-color-accent {
  color: var(--theme-accent);
}

.u-mt-16 {
  margin-top: 1rem;
}

.u-mt-24 {
  margin-top: 1.5rem;
}

.u-mt-32 {
  margin-top: 2rem;
}

.u-mt-40 {
  margin-top: 2.5rem;
}

.u-mt-56 {
  margin-top: 3.5rem;
}

.u-mt-64 {
  margin-top: 4rem;
}

.u-mt-80 {
  margin-top: 5rem;
}

/* -----------------------------------------------------------------
Project
----------------------------------------------------------------- */
/*====================================================
*
*	Home
*
====================================================*/
/* 他ページ→トップ遷移時、オープニング表示済みなら赤背景を出さない */
html.is-opening-done .loading {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.loading {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  z-index: 9999;
  opacity: 1;
  background-image: -webkit-gradient(linear, left top, right top, from(#C21A03), to(#720d0d));
  background-image: linear-gradient(to right, #C21A03 0%, #720d0d 100%);
  visibility: visible;
  pointer-events: auto;
}
.loading.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.loading__container {
  display: grid;
  place-content: center;
  width: 100%;
  height: 100%;
}
.loading__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-column-gap: 0.625rem;
     -moz-column-gap: 0.625rem;
          column-gap: 0.625rem;
  width: calc(100% - 2.5rem);
  margin-inline: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
@media screen and (min-width: 768px) {
  .loading__inner {
    width: calc(100% - 5rem);
    -webkit-column-gap: 1.5rem;
       -moz-column-gap: 1.5rem;
            column-gap: 1.5rem;
  }
}
.loading__main {
  opacity: 0;
  width: 70%;
  height: auto;
  max-width: 31.125rem;
}
@media screen and (min-width: 768px) {
  .loading__main {
    width: 61%;
    min-width: 31.125rem;
    max-width: 51.875rem;
  }
}
.loading__sub {
  opacity: 0;
  width: 20%;
  height: auto;
  max-width: 7.5rem;
}
@media screen and (min-width: 768px) {
  .loading__sub {
    width: 14.7%;
    min-width: 7.5rem;
    max-width: 12.5rem;
  }
}

.home-mv {
  position: relative;
  width: 100%;
  height: 100svh;
  overflow-x: clip;
}
.home-mv.is-loading {
  opacity: 0;
  visibility: hidden;
}
.home-mv__nav {
  display: none;
}
.home-mv__nav.is-loading {
  opacity: 0;
  visibility: hidden;
}
@media screen and (min-width: 768px) {
  .home-mv__nav {
    position: absolute;
    left: 2.8%;
    bottom: clamp(1.5rem, -1.357rem + 5.95vw, 4rem);
    /* 24 - 64 */
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0.625rem;
    z-index: 100;
    font-size: clamp(0.688rem, 0.545rem + 0.3vw, 0.813rem);
    /* 11 - 13 */
    color: #fff;
    line-height: 1.5;
  }
}
.home-mv__copy {
  position: absolute;
  bottom: clamp(1.5rem, -0.786rem + 4.76vw, 3.5rem);
  /* 24 - 56 */
  right: 50%;
  -webkit-transform: translateX(50%);
          transform: translateX(50%);
  width: calc(100% - 2rem);
  height: auto;
}
.home-mv__copy.is-loading {
  opacity: 0;
  visibility: hidden;
}
.home-mv__copy {
  z-index: 200;
}
@media screen and (min-width: 600px) {
  .home-mv__copy {
    width: 73.8%;
    right: 2.8%;
    -webkit-transform: none;
            transform: none;
  }
}
@media screen and (min-width: 768px) {
  .home-mv__copy {
    width: 53%;
    max-width: 43.75rem;
  }
}
.home-mv__swiper {
  width: 100%;
  height: 100%;
}
.home-mv__swiper picture {
  display: block;
  width: 100%;
  height: 100%;
}
.home-mv .swiper-slide {
  position: relative;
}
.home-mv .swiper-slide::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.3);
  z-index: 1;
}
.home-mv .swiper-slide-active .home-mv__img {
  -webkit-animation: mvZoomOut 7s linear 0s normal both;
          animation: mvZoomOut 7s linear 0s normal both;
}

.home-about {
  overflow-x: clip;
}
.home-about__main {
  position: relative;
  background-image: url(../img/home/about_bg.webp);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding-top: calc(var(--bg-height) + clamp(6.25rem, 5.179rem + 5.36vw, 10rem));
  /* 100 - 160 */
  padding-bottom: calc(var(--bg-height) + clamp(13.125rem, 11.875rem + 6.25vw, 17.5rem));
  /* 210 - 280 */
  margin-top: calc(var(--bg-height) * -1);
  clip-path: var(--bg-clip);
  color: #fff;
  z-index: 100;
}
.home-about__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2.5rem 5.2%;
}
@media screen and (min-width: 768px) {
  .home-about__inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.home-about__body {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .home-about__body {
    width: 50%;
  }
}
.home-about__copy {
  font-size: clamp(1.188rem, 0.83rem + 0.74vw, 1.5rem);
  /* 19 - 24 */
  font-weight: 500;
  line-height: 1.6;
}
.home-about__copy .pc-only {
  display: none;
}
@media screen and (min-width: 768px) {
  .home-about__copy .pc-only {
    display: block;
  }
}
.home-about__text {
  margin-top: 1.5rem;
  line-height: 2;
}
.home-about__btn {
  width: 100%;
}
.home-about__btn .c-btn--move {
  margin-left: auto;
}
@media screen and (min-width: 768px) {
  .home-about__btn .c-btn--move {
    margin-left: 0;
    margin-right: auto;
  }
}
.home-about__imgs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 0.625rem;
     -moz-column-gap: 0.625rem;
          column-gap: 0.625rem;
  width: 100%;
  margin-top: 2rem;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .home-about__imgs {
    width: 50%;
    margin-inline: 0;
  }
}
.home-about__imgs .img-right {
  margin-top: 3rem;
}
.home-about__sub {
  position: relative;
  margin-top: calc((var(--bg-height) + 7.5rem) * -1);
  z-index: 300;
}
.home-about__sub-video {
  position: relative;
  width: 100%;
  max-width: 55rem;
  margin-inline: auto;
  cursor: pointer;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .home-about__sub-video {
    width: 81.5%;
  }
}
.home-about__sub-video::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.2);
  z-index: 0;
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
}
.home-about__sub-video:hover::before {
  background-color: rgba(0, 0, 0, 0.4);
}
.home-about__sub-btn {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 22%;
  max-width: 7.875rem;
}
@media screen and (min-width: 768px) {
  .home-about__sub-btn {
    width: 15.9%;
  }
}
.home-about__sub-btn .play-btn {
  position: relative;
  width: 100%;
  aspect-ratio: 1/1;
}
.home-about__sub-btn .icon-circle {
  -webkit-animation: rotate360 20s linear infinite;
          animation: rotate360 20s linear infinite;
}
.home-about__sub-btn .icon-play {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 21.4%;
  aspect-ratio: 1/1;
}

.video-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 999;
  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;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  -webkit-transition: opacity 0.3s ease, visibility 0.3s ease;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
.video-modal[aria-hidden=true] {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.video-modal[aria-hidden=false] {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.video-modal__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.8);
  cursor: pointer;
}
.video-modal__content {
  position: relative;
  width: 90%;
  max-width: 55rem;
  aspect-ratio: 16/9;
  z-index: 1;
}
.video-modal__close {
  position: absolute;
  top: -3.125rem;
  right: 0;
  width: 2.5rem;
  height: 2.5rem;
  background-color: transparent;
  border: none;
  cursor: pointer;
  z-index: 2;
  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;
}
.video-modal__close::before, .video-modal__close::after {
  content: "";
  position: absolute;
  width: 1.875rem;
  height: 0.125rem;
  background-color: #fff;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.video-modal__close::after {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
@media screen and (min-width: 768px) {
  .video-modal__close {
    top: -3.75rem;
  }
}
.video-modal__video-wrapper {
  width: 100%;
  height: 100%;
  background-color: #000;
}
.video-modal__video {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.home-business {
  margin-top: clamp(6.25rem, 5.893rem + 1.79vw, 7.5rem);
  /* 100 - 120 */
}
.home-business__inner {
  position: relative;
  padding-top: clamp(5rem, 4.643rem + 1.79vw, 6.25rem);
  /* 80 - 100 */
  background-color: #f0f0f0;
}
.home-business__inner::before {
  content: "";
  background-image: url(../img/home/business_bg.webp);
  background-size: contain;
  background-repeat: repeat-x;
  background-position: center;
  display: block;
  width: 100%;
  aspect-ratio: 1240/223;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
.home-business__inner > * {
  position: relative;
  z-index: 1;
}
.home-business__lead {
  padding-inline: 1rem;
  text-align: center;
}
.home-business__btn {
  margin-inline: 0.625rem;
}
.home-business__list {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  grid-template-rows: repeat(4, 15rem);
  margin-top: 3rem;
}
@media screen and (min-width: 600px) {
  .home-business__list {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 15rem);
  }
}
@media screen and (min-width: 1024px) {
  .home-business__list {
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: 22.5rem;
  }
}
.home-business__item {
  position: relative;
  display: grid;
  place-items: center;
  place-content: center;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  width: 100%;
}
.home-business__item::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.6);
  z-index: 0;
}
.home-business__item:first-of-type {
  background-image: url(../img/home/business_01.webp);
}
.home-business__item:nth-of-type(2) {
  background-image: url(../img/home/business_02.webp);
}
.home-business__item:nth-of-type(3) {
  background-image: url(../img/home/business_03.webp);
}
.home-business__item:nth-of-type(4) {
  background-image: url(../img/home/business_04.webp);
}
.home-business__item:nth-of-type(4) .home-business__body {
  margin-top: 1.5rem;
}
.home-business__body {
  width: calc(100% - 2rem);
  z-index: 1;
  color: #fff;
}
.home-business__body .title {
  font-size: clamp(1rem, 0.857rem + 0.3vw, 1.125rem);
  /* 16 - 18 */
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.5;
  text-align: center;
}
.home-business__body .text {
  margin-top: 0.625rem;
  font-size: clamp(0.75rem, 0.607rem + 0.3vw, 0.875rem);
  /* 12 - 14 */
}

.home-interview {
  padding-top: clamp(6.25rem, 5.893rem + 1.79vw, 7.5rem);
  /* 100 - 120 */
  padding-bottom: clamp(5rem, 4.643rem + 1.79vw, 6.25rem);
  /* 80 - 100 */
}
.home-interview__inner {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto auto 4.25rem auto;
}
@media screen and (min-width: 768px) {
  .home-interview__inner {
    grid-template-columns: 1fr 6.875rem 17.5rem;
    grid-template-rows: auto auto;
    -webkit-column-gap: 3%;
       -moz-column-gap: 3%;
            column-gap: 3%;
  }
}
.home-interview .c-title {
  grid-area: 1/1/2/2;
}
.home-interview__controller {
  position: relative;
  grid-area: 3/1/4/2;
}
@media screen and (min-width: 768px) {
  .home-interview__controller {
    grid-area: 1/2/2/3;
  }
}
.home-interview__controller .swiper-button-prev,
.home-interview__controller .swiper-button-next {
  top: auto;
  bottom: 8px;
  width: 3rem;
  aspect-ratio: 1/1;
}
.home-interview__controller .swiper-button-prev::after,
.home-interview__controller .swiper-button-next::after {
  content: "";
  display: block;
  width: 3rem;
  aspect-ratio: 1/1;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.home-interview__controller .swiper-button-prev {
  left: auto;
  right: 3.625rem;
}
@media screen and (min-width: 768px) {
  .home-interview__controller .swiper-button-prev {
    left: 0;
    right: auto;
  }
}
.home-interview__controller .swiper-button-prev::after {
  background-image: url(../img/home/icon_prev.svg);
}
.home-interview__controller .swiper-button-next {
  right: 0;
}
.home-interview__controller .swiper-button-next::after {
  background-image: url(../img/home/icon_next.svg);
}
.home-interview__btn {
  grid-area: 4/1/5/2;
  justify-self: end;
  align-self: end;
  width: 100%;
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .home-interview__btn {
    grid-area: 1/3/2/4;
    margin-top: 0;
  }
}
.home-interview__carousel {
  grid-area: 2/1/3/2;
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .home-interview__carousel {
    grid-area: 2/1/3/4;
  }
}
.home-interview__carousel .swiper {
  overflow: visible;
}
.home-interview__carousel .swiper-slide {
  width: 90%;
  max-width: 24.5625rem;
  margin-right: 2.2%;
}
@media screen and (min-width: 1024px) {
  .home-interview__carousel .swiper-slide {
    width: 36.4%;
  }
}
.home-interview__item {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.home-interview__item::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(50%, rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0.8)));
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.8) 100%);
  z-index: 0;
}
.home-interview__item .position {
  position: absolute;
  top: 0;
  left: 0;
  background-color: var(--theme-accent);
  padding: 0.25rem 0.625rem 0.1875rem 1rem;
  font-size: 0.8125rem;
  color: #fff;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .home-interview__item .position {
    font-size: 0.9375rem;
  }
}
.home-interview__item .position::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: -10px;
  width: 10px;
  height: 100%;
  background-color: var(--theme-accent);
  clip-path: polygon(0 0, 0% 100%, 100% 0);
}
.home-interview__item .copy {
  position: absolute;
  bottom: 1rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: calc(100% - 1.25rem);
  font-size: clamp(0.938rem, 0.884rem + 0.27vw, 1.125rem);
  /* 15 - 18 */
  color: #fff;
}
@media screen and (min-width: 390px) {
  .home-interview__item .copy {
    width: calc(100% - 2.5rem);
    bottom: 1.25rem;
  }
}

.home-workplace {
  position: relative;
  padding-top: calc(var(--bg-height) + clamp(5rem, 4.643rem + 1.79vw, 6.25rem));
  /* 80 - 100 */
  padding-bottom: calc(var(--bg-height) + clamp(2.5rem, 1.071rem + 7.14vw, 7.5rem));
  /* 40 - 120 */
  background-color: #f0f0f0;
  clip-path: polygon(0 var(--bg-height), 100% 0%, 100% 100%, 0 100%);
  overflow-x: clip;
}
.home-workplace__inner {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 4rem 4.4%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
}
@media screen and (min-width: 768px) {
  .home-workplace__inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.home-workplace__carousel {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .home-workplace__carousel {
    width: 50%;
  }
}
.home-workplace__carousel .swiper {
  overflow: unset;
  clip-path: inset(0 0 0 -50%);
}
.home-workplace__body {
  position: relative;
  width: 100%;
  padding-inline: 1.25rem;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .home-workplace__body {
    width: 50%;
    max-width: 35.625rem;
    padding-inline: 0 1.25rem;
  }
}
.home-workplace__copy {
  font-size: clamp(1.25rem, 1.179rem + 0.36vw, 1.5rem);
  /* 20 - 24 */
  font-weight: 500;
  line-height: 1.5;
}
.home-workplace__text {
  line-height: 2;
}
.home-workplace__btn {
  width: 100%;
}
.home-workplace__btn .c-btn--move {
  margin-left: auto;
}
@media screen and (min-width: 768px) {
  .home-workplace__btn .c-btn--move {
    margin-left: 0;
    margin-right: auto;
  }
}

.home-message {
  position: relative;
  padding-top: calc(var(--bg-height) + 6.25rem);
  padding-bottom: calc(var(--bg-height) + 8.75rem);
  margin-top: calc(var(--bg-height) * -1);
  background-image: -webkit-gradient(linear, left top, right top, from(#C21A03), to(#860f0f));
  background-image: linear-gradient(to right, #C21A03 0%, #860f0f 100%);
  clip-path: polygon(0 0, 102% var(--bg-height), 102% 100%, 0 calc(100% - var(--bg-height)));
  overflow-x: clip;
  color: #fff;
}
.home-message__copy {
  font-size: clamp(1.188rem, 0.83rem + 0.74vw, 1.5rem);
  /* 19 - 24 */
  font-weight: 500;
  line-height: 1.6;
}
.home-message__text {
  width: 100%;
  margin-left: auto;
  line-height: 2;
}
@media screen and (min-width: 768px) {
  .home-message__text {
    width: 66.7%;
    max-width: 45rem;
    min-width: 37.5rem;
  }
}

.home-news {
  position: relative;
  padding-top: clamp(7.5rem, 6.786rem + 3.57vw, 10rem);
  /* 120 - 160 */
  margin-top: calc(var(--bg-height) * -1);
}
.home-news::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: var(--bg-height);
  background-color: #f0f0f0;
  clip-path: polygon(0 0, 0% 100%, 100% 0);
  z-index: -1;
}
.home-news__inner {
  display: grid;
  grid-template-columns: 1fr;
  margin-top: clamp(6.25rem, 5.893rem + 1.79vw, 7.5rem);
  /* 100 - 120 */
}
@media screen and (min-width: 768px) {
  .home-news__inner {
    grid-template-columns: 1fr 17.5rem;
  }
}
.home-news .c-title {
  grid-area: 1/1/2/2;
}
.home-news .home-news__btn {
  grid-area: 3/1/4/2;
  justify-self: end;
  align-self: end;
  margin-top: 2.5rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .home-news .home-news__btn {
    grid-area: 1/2/2/3;
    margin-top: 0;
  }
}
.home-news .news__list {
  grid-area: 2/1/3/2;
}
@media screen and (min-width: 768px) {
  .home-news .news__list {
    grid-area: 2/1/3/3;
  }
}

/*====================================================
*
*	About
*
====================================================*/
.about-colture {
  background-color: var(--light-gray);
  padding-bottom: clamp(10rem, 8.571rem + 7.14vw, 15rem);
  /* 160 - 240 */
}
.about-colture__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2.5rem 2.2%;
}
@media screen and (min-width: 768px) {
  .about-colture__inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.about-colture__body {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .about-colture__body {
    width: 50%;
  }
}
.about-colture__lead {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.6;
}
.about-colture__text {
  line-height: 2;
}
.about-colture__text p + p {
  margin-top: 1rem;
}
.about-colture__imgs {
  position: relative;
  width: 100%;
}
@media screen and (min-width: 600px) {
  .about-colture__imgs {
    width: 80%;
    margin-inline: auto;
  }
}
@media screen and (min-width: 768px) {
  .about-colture__imgs {
    width: 50%;
  }
}
.about-colture__imgs .img01 {
  width: 74.1%;
  aspect-ratio: 400/500;
  max-width: 25rem;
  margin-left: auto;
  overflow: hidden;
}
.about-colture__imgs .img02 {
  width: 37.8%;
  aspect-ratio: 204/264;
  max-width: 12.75rem;
  position: absolute;
  bottom: -20%;
  left: 0;
  overflow: hidden;
}

.about-data {
  background-color: var(--light-gray);
  padding-bottom: calc(var(--bg-height) + clamp(5rem, 4.643rem + 1.79vw, 6.25rem) + 2.875rem);
  clip-path: var(--bg-clip-rl);
}
.about-data__row {
  display: grid;
  gap: 0.625rem;
}
.about-data__item {
  position: relative;
  background-color: #fff;
  padding: 1rem;
  font-weight: 500;
  color: var(--theme-accent);
}
@media screen and (min-width: 1024px) {
  .about-data__item {
    padding: 1.5rem;
  }
}
.about-data__item .head {
  position: absolute;
  top: -1.875rem;
  left: 0;
  min-width: 11.875rem;
  background-color: var(--theme-accent);
  padding: 0.25rem 2rem 0.1875rem 1rem;
  border-top-left-radius: 4px;
  clip-path: polygon(0 0, calc(100% - 1rem) 0, 100% 100%, 0% 100%);
  color: #fff;
  text-align: center;
  line-height: 1.5;
}
.about-data__item .title {
  position: absolute;
  left: 1rem;
  top: 0.5rem;
}
@media screen and (min-width: 1024px) {
  .about-data__item .title {
    left: 1.5rem;
    top: 1rem;
  }
}
.about-data__item .data {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-column-gap: 4px;
     -moz-column-gap: 4px;
          column-gap: 4px;
}
.about-data__item .num {
  font-family: var(--font-en);
  font-size: clamp(2.5rem, 2.008rem + 2.46vw, 3.188rem);
  /* 40 - 51 */
  font-style: italic;
  white-space: nowrap;
  color: var(--theme-accent);
  line-height: 1;
  letter-spacing: 0;
}
@media screen and (min-width: 768px) {
  .about-data__item .num {
    font-size: clamp(3.188rem, 2.259rem + 1.93vw, 4rem);
    /* 51 - 64 */
  }
}
.about-data__item .num.sm {
  font-size: clamp(2rem, 1.866rem + 0.67vw, 2.188rem);
  /* 32 - 35 */
}
@media screen and (min-width: 1024px) {
  .about-data__item .num.sm {
    font-size: clamp(1.375rem, 0.661rem + 1.49vw, 2rem);
    /* 22 - 32 */
  }
}
.about-data__item .num.md {
  font-size: clamp(2rem, 1.429rem + 1.19vw, 2.5rem);
  /* 32 - 40 */
}
.about-data__item .num.lg {
  font-size: clamp(2.375rem, 1.661rem + 1.49vw, 3rem);
  /* 38 - 48 */
}
.about-data__item .unit {
  margin-bottom: 4px;
  font-size: clamp(1rem, 0.714rem + 0.6vw, 1.25rem);
  /* 16 - 20 */
  line-height: 1;
}
.about-data__item .unit.sm {
  font-size: clamp(0.688rem, 0.545rem + 0.3vw, 0.813rem);
  /* 11 - 13 */
}
.about-data__item .unit.md {
  font-size: clamp(0.813rem, 0.723rem + 0.45vw, 0.938rem);
  /* 13 - 15 */
}
.about-data__item .label > span {
  font-size: 0.75rem;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  line-height: 1.2;
  vertical-align: middle;
}
.about-data__item .attention {
  font-size: 0.8125rem;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .about-data__item .attention {
    widht: 100%;
  }
}

.about-data01 {
  grid-template-columns: 1fr;
  grid-template-rows: repeat(2, 1fr);
  margin-top: 3.875rem;
}
@media screen and (min-width: 768px) {
  .about-data01 {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 15.375rem;
  }
}
.about-data01 .about-data__item {
  display: grid;
  grid-template-columns: 1fr;
  place-content: center;
  place-items: center;
}
.about-data01 .about-data__item:first-of-type .block {
  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: clamp(1rem, 0.284rem + 3.58vw, 2rem);
     -moz-column-gap: clamp(1rem, 0.284rem + 3.58vw, 2rem);
          column-gap: clamp(1rem, 0.284rem + 3.58vw, 2rem);
  /* 16 - 32 */
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .about-data01 .about-data__item:first-of-type .block {
    -webkit-column-gap: clamp(1rem, -0.714rem + 3.57vw, 2.5rem);
       -moz-column-gap: clamp(1rem, -0.714rem + 3.57vw, 2.5rem);
            column-gap: clamp(1rem, -0.714rem + 3.57vw, 2.5rem);
    /* 16 - 40 */
  }
}
.about-data01 .about-data__item:first-of-type .img {
  width: 38%;
  aspect-ratio: 160/168;
  max-width: 9.75rem;
}
.about-data01 .about-data__item:first-of-type .data {
  margin-top: 0.625rem;
}
.about-data01 .about-data__item:last-of-type .block {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.625rem;
  width: 100%;
  margin-top: 1.5rem;
}
@media screen and (min-width: 600px) {
  .about-data01 .about-data__item:last-of-type .block {
    grid-template-columns: auto auto auto;
    -webkit-column-gap: clamp(1rem, -0.714rem + 3.57vw, 2.5rem);
       -moz-column-gap: clamp(1rem, -0.714rem + 3.57vw, 2.5rem);
            column-gap: clamp(1rem, -0.714rem + 3.57vw, 2.5rem);
    /* 16 - 40 */
    margin-top: 1rem;
    width: auto;
  }
}
@media screen and (min-width: 768px) {
  .about-data01 .about-data__item:last-of-type .block {
    grid-template-columns: 1fr 30% 1fr;
    width: 100%;
  }
}
.about-data01 .about-data__item:last-of-type .data {
  -ms-flex-item-align: center;
      align-self: center;
}
.about-data01 .about-data__item:last-of-type .data.left {
  justify-self: end;
}
@media screen and (min-width: 768px) {
  .about-data01 .about-data__item:last-of-type .data.left {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
}
@media screen and (min-width: 768px) {
  .about-data01 .about-data__item:last-of-type .data.right {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}
.about-data01 .about-data__item:last-of-type .img {
  position: relative;
  grid-area: 1/1/2/3;
  max-width: 8.75rem;
  justify-self: center;
}
@media screen and (min-width: 600px) {
  .about-data01 .about-data__item:last-of-type .img {
    grid-area: auto;
    max-width: 9.75rem;
  }
}
.about-data01 .about-data__item:last-of-type .img::before, .about-data01 .about-data__item:last-of-type .img::after {
  position: absolute;
  bottom: 0;
  content: "";
  display: block;
  width: 1px;
  height: 40px;
  background-image: radial-gradient(circle, var(--theme-accent) 1px, transparent 1px);
  background-position: left bottom;
  background-repeat: repeat-y;
  background-size: 2px 4px;
}
@media screen and (min-width: 600px) {
  .about-data01 .about-data__item:last-of-type .img::before, .about-data01 .about-data__item:last-of-type .img::after {
    background-position: left bottom;
    background-repeat: repeat-x;
    background-size: 4px 2px;
    width: clamp(1rem, -0.714rem + 3.57vw, 2.5rem);
    /* 16 - 40 */
    height: 1px;
    bottom: auto;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}
.about-data01 .about-data__item:last-of-type .img::before {
  left: 20%;
}
@media screen and (min-width: 600px) {
  .about-data01 .about-data__item:last-of-type .img::before {
    left: calc(clamp(0.625rem, -0.804rem + 2.98vw, 1.875rem) * -1);
    /* 10 - 30 */
  }
}
.about-data01 .about-data__item:last-of-type .img::after {
  right: 20%;
}
@media screen and (min-width: 600px) {
  .about-data01 .about-data__item:last-of-type .img::after {
    right: calc(clamp(0.625rem, -0.804rem + 2.98vw, 1.875rem) * -1);
    /* 10 - 30 */
  }
}

.about-data02 {
  grid-template-columns: 1fr;
  grid-template-rows: repeat(4, 1fr);
}
@media screen and (min-width: 768px) {
  .about-data02 {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: repeat(2, 1fr);
  }
}
@media screen and (min-width: 1024px) {
  .about-data02 {
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: auto;
  }
}
.about-data02 .block {
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin-top: 1.25rem;
}
@media screen and (min-width: 1024px) {
  .about-data02 .block {
    margin-top: 2rem;
  }
}
.about-data02 .about-data__item {
  display: grid;
  -webkit-column-gap: 0.625rem;
     -moz-column-gap: 0.625rem;
          column-gap: 0.625rem;
  place-content: center;
  place-items: center;
}
.about-data02 .about-data__item:first-of-type .block {
  gap: 1.5rem 0.5rem;
}
.about-data02 .about-data__item:first-of-type .img {
  grid-area: 1/1/2/3;
}
.about-data02 .about-data__item:first-of-type .img img {
  width: 100%;
  aspect-ratio: 171/86;
  max-width: 10.6875rem;
  justify-self: center;
}
.about-data02 .about-data__item:first-of-type .data {
  position: relative;
  padding-left: 1.125rem;
}
.about-data02 .about-data__item:first-of-type .label {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
}
.about-data02 .about-data__item:nth-of-type(2) .block, .about-data02 .about-data__item:nth-of-type(4) .block {
  gap: 1rem 0.5rem;
}
.about-data02 .about-data__item:nth-of-type(2) .img, .about-data02 .about-data__item:nth-of-type(4) .img {
  grid-area: 1/1/2/3;
  justify-self: center;
}
.about-data02 .about-data__item:nth-of-type(2) .img img, .about-data02 .about-data__item:nth-of-type(4) .img img {
  width: 100%;
  max-width: 5rem;
}
.about-data02 .about-data__item:nth-of-type(2) .data, .about-data02 .about-data__item:nth-of-type(4) .data {
  grid-area: 2/1/3/3;
}
.about-data02 .about-data__item:nth-of-type(3) .block {
  position: relative;
}
.about-data02 .about-data__item:nth-of-type(3) .img {
  grid-area: 1/1/3/3;
}
.about-data02 .about-data__item:nth-of-type(3) .data {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.about-data02 .about-data__item:nth-of-type(3) .flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-column-gap: 4px;
     -moz-column-gap: 4px;
          column-gap: 4px;
}

.about-data03 {
  grid-template-columns: 1fr;
  grid-template-rows: repeat(3, 1fr);
}
@media screen and (min-width: 768px) {
  .about-data03 {
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: auto;
  }
}
.about-data03 .block {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto auto;
  row-gap: 3.5rem;
}
@media screen and (min-width: 768px) {
  .about-data03 .block {
    row-gap: 3.5rem;
  }
}
.about-data03 .block .img {
  width: 22.7%;
  max-width: 5rem;
  aspect-ratio: 1/1;
  justify-self: end;
}
.about-data03 .block .data {
  position: relative;
  justify-self: center;
}
@media screen and (min-width: 768px) {
  .about-data03 .block .data {
    justify-self: end;
  }
}
.about-data03 .block .data .attention {
  position: absolute;
  top: -1.25rem;
  right: 50%;
  -webkit-transform: translateX(50%);
          transform: translateX(50%);
  text-align: right;
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  .about-data03 .block .data .attention {
    right: 0;
    -webkit-transform: none;
            transform: none;
  }
}

.about-data04 {
  grid-template-columns: 1fr;
  grid-template-rows: repeat(2, minmax(204px, 1fr));
}
@media screen and (min-width: 768px) {
  .about-data04 {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: 15.375rem;
  }
}
.about-data04 .about-data__item:first-of-type {
  display: grid;
  grid-template-columns: 1fr;
  place-content: center;
  place-items: center;
}
.about-data04 .about-data__item:first-of-type .block {
  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: clamp(1rem, 0.284rem + 3.58vw, 2rem);
     -moz-column-gap: clamp(1rem, 0.284rem + 3.58vw, 2rem);
          column-gap: clamp(1rem, 0.284rem + 3.58vw, 2rem);
  /* 16 - 32 */
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .about-data04 .about-data__item:first-of-type .block {
    -webkit-column-gap: clamp(1rem, -0.714rem + 3.57vw, 2.5rem);
       -moz-column-gap: clamp(1rem, -0.714rem + 3.57vw, 2.5rem);
            column-gap: clamp(1rem, -0.714rem + 3.57vw, 2.5rem);
    /* 16 - 40 */
  }
}
.about-data04 .about-data__item:first-of-type .img {
  width: 47.2%;
  max-width: 8.75rem;
}
.about-data04 .about-data__item:last-of-type {
  display: grid;
  grid-template-columns: 1fr;
  place-content: center;
  place-items: center;
}
@media screen and (max-width: 767px) {
  .about-data04 .about-data__item:last-of-type {
    -webkit-transform: translateY(2.875rem);
            transform: translateY(2.875rem);
  }
}
.about-data04 .about-data__item:last-of-type .block {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.625rem;
  width: 100%;
  margin-top: 1.5rem;
}
@media screen and (min-width: 600px) {
  .about-data04 .about-data__item:last-of-type .block {
    grid-template-columns: auto 20% auto;
    -webkit-column-gap: clamp(1rem, -0.714rem + 3.57vw, 2.5rem);
       -moz-column-gap: clamp(1rem, -0.714rem + 3.57vw, 2.5rem);
            column-gap: clamp(1rem, -0.714rem + 3.57vw, 2.5rem);
    /* 16 - 40 */
    margin-top: 1rem;
  }
}
@media screen and (min-width: 768px) {
  .about-data04 .about-data__item:last-of-type .block {
    grid-template-columns: 1fr 20% 1fr;
  }
}
.about-data04 .about-data__item:last-of-type .data {
  position: relative;
  -ms-flex-item-align: center;
      align-self: center;
  padding-left: 1.125rem;
}
.about-data04 .about-data__item:last-of-type .data.left {
  justify-self: end;
}
@media screen and (min-width: 768px) {
  .about-data04 .about-data__item:last-of-type .data.left {
    justify-self: start;
  }
}
@media screen and (min-width: 768px) {
  .about-data04 .about-data__item:last-of-type .data.right {
    justify-self: end;
  }
}
.about-data04 .about-data__item:last-of-type .label {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
}
.about-data04 .about-data__item:last-of-type .img {
  position: relative;
  max-width: 6.25rem;
  justify-self: center;
  grid-area: 1/1/2/3;
}
@media screen and (min-width: 600px) {
  .about-data04 .about-data__item:last-of-type .img {
    grid-area: auto;
  }
}
@media screen and (min-width: 600px) {
  .about-data04 .about-data__item:last-of-type .img::before, .about-data04 .about-data__item:last-of-type .img::after {
    position: absolute;
    bottom: 0;
    content: "";
    display: block;
    background-image: radial-gradient(circle, var(--theme-accent) 1px, transparent 1px);
    background-position: left bottom;
    background-repeat: repeat-x;
    background-size: 4px 2px;
    width: clamp(1rem, -0.714rem + 3.57vw, 2.5rem);
    /* 16 - 40 */
    height: 1px;
    bottom: auto;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}
.about-data04 .about-data__item:last-of-type .img::before {
  left: calc(clamp(0.75rem, -1.679rem + 5.06vw, 2.875rem) * -1);
  /* 12 - 46 */
}
.about-data04 .about-data__item:last-of-type .img::after {
  right: calc(clamp(0.75rem, -1.679rem + 5.06vw, 2.875rem) * -1);
}

.about-history {
  padding-top: clamp(5rem, 4.643rem + 1.79vw, 6.25rem);
  /* 80 - 100 */
}
.about-history__list {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .about-history__list {
    width: 74.1%;
    margin-left: auto;
  }
}
.about-history__item:not(:first-of-type) {
  margin-top: 0.625rem;
}
.about-history__item.is-open .about-history__head .icon_arrow {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
.about-history__head {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  padding: 1rem 4% 0.875rem 4%;
  background-color: #BB210C;
  font-size: clamp(1rem, 0.964rem + 0.18vw, 1.125rem);
  /* 16 - 18 */
  font-weight: 500;
  color: #fff;
  letter-spacing: 0.1em;
  line-height: 1.5;
  border: none;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  z-index: 10;
}
.about-history__head::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 50%;
  height: 100%;
  clip-path: polygon(100% 0, 0 0, 100% 100%);
  background-color: #AF0000;
  z-index: -2;
}
.about-history__head::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 25%;
  height: 100%;
  clip-path: polygon(100% 0, 0 100%, 100% 100%);
  background-color: rgba(158, 19, 19, 0.5);
  z-index: -1;
}
.about-history__head .icon_arrow {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 16px;
  height: 16px;
  margin-left: 1rem;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
}
.about-history__content {
  overflow: hidden;
  -webkit-transition: height 0.3s ease;
  transition: height 0.3s ease;
  height: 0;
}
.about-history__content.is-open {
  height: auto;
}
.about-history .list {
  padding: 1.5rem 0;
}
@media screen and (min-width: 768px) {
  .about-history .list {
    padding: 2.5rem 1rem;
  }
}
.about-history .list .item {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  row-gap: 0.625rem;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 768px) {
  .about-history .list .item {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.about-history .list .item:not(:first-of-type) {
  padding-top: 2rem;
}
.about-history .list .item::after {
  content: "";
  display: block;
  width: 1px;
  height: 100%;
  background-color: #f0f0f0;
  position: absolute;
  top: 4px;
  left: 2px;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .about-history .list .item::after {
    left: 130px;
  }
}
.about-history .list .year {
  position: relative;
  width: auto;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  padding-left: 1.5rem;
  font-family: var(--font-en);
  font-size: clamp(1.375rem, 1.304rem + 0.36vw, 1.625rem);
  /* 22 - 26 */
  font-weight: 500;
  font-style: italic;
  color: var(--theme-accent);
  line-height: 1.2;
}
@media screen and (min-width: 768px) {
  .about-history .list .year {
    padding-inline: 0 3rem;
    width: 8.125rem;
  }
}
.about-history .list .year.ja {
  font-family: var(--font-base);
  font-size: clamp(1.25rem, 1.179rem + 0.36vw, 1.5rem);
  /* 20 - 24 */
  font-weight: 500;
  letter-spacing: 0.2em;
}
.about-history .list .year::before {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  background-color: var(--theme-accent);
  border-radius: 50%;
  position: absolute;
  top: 10px;
  left: 0;
}
@media screen and (min-width: 768px) {
  .about-history .list .year::before {
    left: auto;
    right: -4px;
  }
}
.about-history .list .desc {
  line-height: 1.5;
  padding-left: 1.5rem;
}
@media screen and (min-width: 768px) {
  .about-history .list .desc {
    padding-left: 4rem;
  }
}

.about-outline {
  margin-top: clamp(5rem, 4.643rem + 1.79vw, 6.25rem);
  /* 80 - 100 */
}
.about-outline__table {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .about-outline__table {
    width: 74.1%;
    margin-left: auto;
  }
}
.about-outline__table th,
.about-outline__table td {
  display: block;
  width: 100%;
  padding: 1rem 0.5rem;
}
@media screen and (min-width: 600px) {
  .about-outline__table th,
  .about-outline__table td {
    display: table-cell;
    padding: 2rem 1rem;
  }
}
.about-outline__table th {
  border-bottom: 1px solid var(--theme-accent);
  color: var(--theme-accent);
  font-weight: 500;
  vertical-align: middle;
}
@media screen and (min-width: 600px) {
  .about-outline__table th {
    width: 21%;
    min-width: 9.375rem;
  }
}
@media screen and (min-width: 600px) {
  .about-outline__table td {
    width: 79%;
    border-bottom: 1px solid #e0e0e0;
  }
}
.about-outline__table td .link {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  line-height: 1.2;
  border-bottom: 1px solid var(--theme-main);
}

.about-bg {
  position: relative;
  margin-top: clamp(5rem, 4.643rem + 1.79vw, 6.25rem);
  /* 80 - 100 */
  width: 100%;
  aspect-ratio: 768/570;
  clip-path: var(--bg-clip);
  overflow-x: clip;
  z-index: 100;
}
@media screen and (min-width: 768px) {
  .about-bg {
    aspect-ratio: 1440/570;
  }
}
.about-bg .bg {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: left center;
     object-position: left center;
}

.about-message {
  position: relative;
  background-color: var(--light-gray);
  padding-top: calc(var(--bg-height) + 6.25rem);
  padding-bottom: calc(var(--bg-height) + 1.5rem);
  margin-top: calc(var(--bg-height) * -1);
  clip-path: var(--bg-clip-rl);
}
.about-message__inner {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem 4.2%;
}
@media screen and (min-width: 768px) {
  .about-message__inner {
    grid-template-columns: 1fr 30.7%;
  }
}
.about-message__text {
  line-height: 2;
}
.about-message__text p + p {
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .about-message__text.first {
    grid-area: 1/1/2/3;
  }
}
@media screen and (min-width: 768px) {
  .about-message__text.second {
    grid-area: 2/1/3/2;
  }
}
.about-message__name {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 0.625rem;
}
.about-message__name .position {
  font-size: 0.875rem;
}
.about-message__name .name {
  font-size: 1rem;
}
@media screen and (min-width: 768px) {
  .about-message__ceo {
    grid-area: 2/2/3/3;
  }
}

.about-csr {
  padding-top: clamp(5rem, 4.643rem + 1.79vw, 6.25rem);
  /* 80 - 100 */
}
.about-csr__item {
  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;
  gap: 0.625rem;
}
.about-csr__list {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 3rem 5.2%;
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .about-csr__list {
    grid-template-columns: repeat(2, 1fr);
  }
}
.about-csr__item-img {
  width: 100%;
  aspect-ratio: 508/339;
  overflow: hidden;
}
.about-csr__item-text {
  font-size: clamp(1rem, 0.964rem + 0.18vw, 1.125rem);
  /* 16 - 18 */
  font-weight: 500;
  text-align: center;
  line-height: 1.5;
}

.about-event {
  margin-top: clamp(5rem, 4.643rem + 1.79vw, 6.25rem);
}
.about-event__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2rem 5.2%;
}
@media screen and (min-width: 768px) {
  .about-event__inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
@media screen and (min-width: 1024px) {
  .about-event__inner {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.about-event__img {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .about-event__img {
    width: 50%;
  }
}
.about-event__body {
  width: 100%;
  line-height: 2;
}
@media screen and (min-width: 768px) {
  .about-event__body {
    width: 50%;
  }
}
.about-event__body p + p {
  margin-top: 1rem;
}

/*====================================================
*
*	Business
*
====================================================*/
.business-intro {
  position: relative;
  padding-bottom: calc(var(--bg-height) + 2.5rem);
  background-color: #f0f0f0;
  clip-path: var(--bg-clip-rl);
}
.business-intro__title {
  background: -webkit-gradient(linear, left top, right top, from(#D96A41), to(#790D0D));
  background: linear-gradient(to right, #D96A41, #790D0D);
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: clamp(1.5rem, 1.429rem + 0.36vw, 1.75rem);
  /* 24 - 28 */
  font-weight: 500;
  line-height: 1.6;
}
.business-intro__text {
  line-height: 2;
}
.business-intro__box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 2.5rem 3.7%;
  margin-top: 3.5rem;
}
@media screen and (min-width: 768px) {
  .business-intro__box {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    margin-top: 4.5rem;
  }
}
.business-intro__img {
  width: 100%;
  max-width: 32.5rem;
}
@media screen and (min-width: 768px) {
  .business-intro__img {
    width: 50%;
  }
}
.business-intro__desc {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .business-intro__desc {
    width: 50%;
  }
}
.business-intro__desc .title {
  font-size: clamp(1.188rem, 0.83rem + 0.74vw, 1.5rem);
  /* 19 - 24 */
  font-weight: 500;
  color: var(--theme-accent);
  line-height: 1.6;
}
.business-intro__desc .title .pc-only {
  display: none;
}
@media screen and (min-width: 1024px) {
  .business-intro__desc .title .pc-only {
    display: block;
  }
}
.business-intro__desc .text {
  line-height: 2;
}
.business-detail {
  padding-top: clamp(5rem, 4.643rem + 1.79vw, 6.25rem);
  /* 80 - 100 */
}
.business-detail__lead {
  line-height: 2;
}
.business-detail__lead .color {
  color: var(--theme-accent);
}
.business-detail__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2rem 3.7%;
}
@media screen and (min-width: 768px) {
  .business-detail__item {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
@media screen and (min-width: 768px) {
  .business-detail__item:nth-of-type(2n) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}
.business-detail__item:not(:first-of-type) {
  margin-top: clamp(4rem, 3.714rem + 1.43vw, 5rem);
  /* 64 - 80 */
}
.business-detail__img {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .business-detail__img {
    width: 50%;
  }
}
.business-detail__body {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .business-detail__body {
    width: 50%;
  }
}
.business-detail__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.625rem;
  padding-left: 1rem;
  border-left: 2px solid var(--theme-accent);
}
@media screen and (min-width: 768px) {
  .business-detail__title {
    gap: 1rem;
    padding-left: 1.25rem;
  }
}
.business-detail__title .text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.375rem;
  font-size: clamp(1.188rem, 0.83rem + 0.74vw, 1.5rem);
  /* 19 - 24 */
  font-weight: 500;
  color: var(--theme-accent);
  line-height: 1.5;
}
.business-detail__title .icon {
  width: clamp(2.813rem, 2.616rem + 0.98vw, 3.5rem);
  /* 45 - 56 */
}
.business-detail__title .num {
  display: block;
  margin-left: 4px;
  width: 5.625rem;
  aspect-ratio: 90/7;
}
.business-detail__title .sub {
  line-height: 1.5;
}
.business-detail__subtitle {
  font-size: clamp(1rem, 0.964rem + 0.18vw, 1.125rem);
  /* 18 - 20 */
  font-weight: 500;
  line-height: 1.5;
}
.business-detail__text {
  line-height: 2;
}

/*====================================================
*
*	Workplace
*
====================================================*/
.workplace {
  overflow-x: clip;
}
.workplace-base {
  position: relative;
  padding-bottom: clamp(5rem, 4.643rem + 1.79vw, 6.25rem);
  /* 80 - 100 */
  background-color: var(--light-gray);
}
.workplace-base::before {
  content: "";
  display: block;
  background-image: url(../img/pages/workplace/workplace_bg.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  width: 200%;
  aspect-ratio: 1722/1312;
  position: absolute;
  right: -52.5%;
  top: -20.8vw;
  z-index: 0;
}
@media screen and (min-width: 768px) {
  .workplace-base::before {
    width: 119.6vw;
    right: -31.3vw;
  }
}
.workplace-base::after {
  content: "";
  display: block;
  position: absolute;
  bottom: var(--bg-position);
  left: 0;
  width: 100vw;
  height: var(--bg-height);
  background-color: #f0f0f0;
  clip-path: polygon(0 0, 0% 100%, 100% 0);
  z-index: 10;
}
.workplace-base__list {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .workplace-base__list {
    width: 60%;
    min-width: 28.3125rem;
    max-width: 40.5rem;
  }
}
.workplace-base__item {
  background-color: #fff;
  padding: 1rem 3.7% 1.5rem 3.7%;
}
.workplace-base__item:not(first-of-type) {
  margin-top: 1rem;
}
.workplace-base__item .head {
  padding: 0.25rem 1rem;
  margin-bottom: 1rem;
  background-color: var(--theme-accent);
  font-size: 1.125rem;
  font-weight: 500;
  text-align: center;
  line-height: 1.5;
  color: #fff;
}
.workplace-base__box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.25rem 4%;
}
@media screen and (min-width: 600px) {
  .workplace-base__box {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.workplace-base__box.start {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
}
.workplace-base__box:not(first-of-type) {
  margin-top: 1rem;
}
.workplace-base__box .imgs {
  width: 100%;
}
@media screen and (min-width: 600px) {
  .workplace-base__box .imgs {
    width: 48%;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}
.workplace-base__box .img + .img {
  margin-top: 1rem;
}
.workplace-base__box .title {
  font-weight: 500;
}
.workplace-base__box .address + .address {
  margin-top: 1rem;
}

.workplace-place {
  position: relative;
  padding-block: 12.5rem;
}
.workplace-place__inner {
  position: relative;
}
.workplace-place__inner.show .workplace-place__bg {
  opacity: 1;
}
.workplace-place__inner--yamanashi .workplace-place__bg--yamanashi {
  opacity: 1;
}
.workplace-place__inner--yamanashi.show .workplace-place__bg--yamanashi {
  opacity: 1;
}
.workplace-place__bg {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  opacity: 0;
  -webkit-transition: opacity 0.5s ease 0s;
  transition: opacity 0.5s ease 0s;
  z-index: -1;
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
  will-change: opacity;
  pointer-events: none;
}
.workplace-place__bg--yamanashi {
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.8)), to(rgba(0, 0, 0, 0.8))), url(../img/pages/workplace/place_yamanashi_bg.webp);
  background-image: linear-gradient(rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.8)), url(../img/pages/workplace/place_yamanashi_bg.webp);
}
.workplace-place__bg--miyagi {
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.8)), to(rgba(0, 0, 0, 0.8))), url(../img/pages/workplace/place_miyagi_bg.webp);
  background-image: linear-gradient(rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.8)), url(../img/pages/workplace/place_miyagi_bg.webp);
}
.workplace-place__head {
  position: relative;
}
.workplace-place__head .main {
  width: 100%;
  max-width: 32.0625rem;
  margin-inline: auto;
}
.workplace-place__head .sub {
  width: 20.1%;
  max-width: 12.0625rem;
  min-width: 8.75rem;
  position: absolute;
  top: -6.25rem;
  right: clamp(0rem, -0.357rem + 1.79vw, 1.25rem);
}
.workplace-place__subhead {
  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;
}
.workplace-place__subhead .ja {
  display: inline-block;
  -webkit-transform: skewX(-8deg);
          transform: skewX(-8deg);
  font-size: 1.5rem;
  color: var(--theme-accent);
}
.workplace-place__intro {
  color: #fff;
  text-align: center;
}
.workplace-place__inner {
  background-color: rgba(255, 255, 255, 0.8);
  padding: 2.5rem 5.9%;
  width: 100%;
}
.workplace-place__box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.5rem 3.7%;
}
@media screen and (min-width: 768px) {
  .workplace-place__box {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.workplace-place__carousel {
  width: 100%;
  overflow: clip;
}
@media screen and (min-width: 768px) {
  .workplace-place__carousel {
    width: 50%;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}
.workplace-place__carousel .swiper {
  padding-bottom: 20px;
}
.workplace-place__carousel .swiper .swiper-pagination {
  bottom: 0;
}
.workplace-place__carousel .swiper .swiper-pagination-bullet {
  width: 32px;
  height: 2px;
  border-radius: 0;
  margin: 0 2px;
  background-color: #fff;
  opacity: 1;
}
.workplace-place__carousel .swiper .swiper-pagination-bullet-active {
  background-color: var(--theme-accent);
}
.workplace-place__body .title {
  font-size: 1.125rem;
  color: var(--theme-accent);
  line-height: 1.5;
}
.workplace-place__body .desc {
  margin-top: 0.625rem;
}

.workplace-detail {
  position: relative;
  padding-top: clamp(5rem, 4.643rem + 1.79vw, 6.25rem);
  /* 80 - 100 */
  background-color: #fff;
}
.workplace-detail::after {
  content: "";
  display: block;
  position: absolute;
  top: var(--bg-position);
  left: 0;
  width: 100vw;
  height: var(--bg-height);
  background-color: #fff;
  clip-path: polygon(100% 0, 0% 100%, 100% 100%);
  z-index: 10;
}
.workplace-detail__item {
  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;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem 3.7%;
  -webkit-column-gap: 3.7%;
     -moz-column-gap: 3.7%;
          column-gap: 3.7%;
  padding-block: 2rem;
  border-top: 1px solid;
  -o-border-image: linear-gradient(90deg, rgb(193, 44, 31) 0%, rgb(193, 44, 31) 10%, rgb(240, 240, 240) 10%, rgb(240, 240, 240) 100%) 1;
     border-image: -webkit-gradient(linear, left top, right top, from(rgb(193, 44, 31)), color-stop(10%, rgb(193, 44, 31)), color-stop(10%, rgb(240, 240, 240)), to(rgb(240, 240, 240))) 1;
     border-image: linear-gradient(90deg, rgb(193, 44, 31) 0%, rgb(193, 44, 31) 10%, rgb(240, 240, 240) 10%, rgb(240, 240, 240) 100%) 1;
}
@media screen and (min-width: 768px) {
  .workplace-detail__item {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.workplace-detail__body .head {
  font-size: clamp(1.25rem, 1.214rem + 0.18vw, 1.375rem);
  /* 20 - 22 */
  font-weight: 500;
  color: var(--theme-accent);
  line-height: 1.5;
}
.workplace-detail__body .desc {
  width: 100%;
  margin-left: auto;
  margin-top: 0.625rem;
}
@media screen and (min-width: 768px) {
  .workplace-detail__body .desc {
    width: 82.8%;
    margin-top: 1rem;
  }
}
.workplace-detail__img {
  position: relative;
  width: 100%;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (min-width: 768px) {
  .workplace-detail__img {
    width: 33.1%;
  }
}
.workplace-detail .attention {
  position: absolute;
  bottom: 0;
  right: 8px;
  font-size: 0.75rem;
  text-align: right;
}
@media screen and (min-width: 768px) {
  .workplace-detail .attention {
    bottom: -1.5rem;
  }
}

.workplace-welfare {
  padding-top: clamp(5rem, 4.643rem + 1.79vw, 6.25rem);
  /* 80 - 100 */
  background-color: #fff;
}
.workplace-welfare__list {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  grid-template-rows: repeat(3, 1fr);
  gap: 1rem;
}
@supports not (grid-template-rows: subgrid) {
  .workplace-welfare__list {
    grid-template-rows: auto;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
  }
}
@media screen and (min-width: 768px) {
  .workplace-welfare__list {
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: 1fr;
  }
}
.workplace-welfare__item {
  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;
  row-gap: 1.25rem;
  padding: 3.75rem 4.6% 2rem 4.6%;
  border: 1px solid var(--theme-accent);
}
.workplace-welfare__img {
  width: 5rem;
  aspect-ratio: 1/1;
  justify-self: center;
}
.workplace-welfare__body {
  line-height: 1.5;
}
.workplace-welfare__body .head {
  font-size: 1.125rem;
  font-weight: 500;
  color: var(--theme-accent);
  text-align: center;
}
.workplace-welfare__body .desc {
  margin-top: 1rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .workplace-welfare__body .desc {
    text-align: left;
  }
}
.workplace-welfare__body .desc.center {
  text-align: center;
}

/*====================================================
*
*	Interview
*
====================================================*/
.interview {
  position: relative;
  background-color: #f0f0f0;
  margin-top: clamp(5rem, 4.643rem + 1.79vw, 6.25rem);
  /* 80 - 100 */
  padding-bottom: var(--bg-height);
}
.interview::before {
  content: "";
  display: block;
  position: absolute;
  top: var(--bg-position);
  left: 0;
  width: 100vw;
  height: var(--bg-height);
  background-color: #f0f0f0;
  clip-path: polygon(100% 0, 0% 100%, 100% 100%);
  z-index: 0;
}
.interview__inner {
  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;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  row-gap: clamp(3.5rem, 2.426rem + 5.37vw, 5rem);
  /* 56 - 80 */
  -webkit-transform: translateY(calc(var(--bg-height) * -1));
          transform: translateY(calc(var(--bg-height) * -1));
}
@media screen and (min-width: 768px) {
  .interview__inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    row-gap: 0;
  }
}
.interview__item {
  width: calc(100% - 10px);
}
@media screen and (min-width: 768px) {
  .interview__item {
    width: 44%;
  }
}
.interview__item:nth-of-type(2n) {
  margin-top: 0;
}
@media screen and (min-width: 768px) {
  .interview__item:nth-of-type(2n) {
    margin-top: min(17.4vw, 15.625rem);
  }
}
.interview__item:hover .interview__btn-icon .arrow::before {
  -webkit-animation-name: transformRightLeft;
          animation-name: transformRightLeft;
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
}
.interview__item:hover .interview__btn-icon .arrow::after {
  -webkit-animation-name: transformLeftRight;
          animation-name: transformLeftRight;
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s;
}
.interview__thumbnail {
  position: relative;
}
.interview__thumbnail .deco {
  width: 40px;
  height: 40px;
  position: absolute;
}
.interview__thumbnail .deco:first-of-type {
  right: -8px;
  top: -8px;
  border-top: 1px solid var(--theme-accent);
  border-right: 1px solid var(--theme-accent);
}
.interview__thumbnail .deco:last-of-type {
  left: -8px;
  bottom: -8px;
  border-left: 1px solid var(--theme-accent);
  border-bottom: 1px solid var(--theme-accent);
}
.interview__body {
  margin-top: 1.5rem;
  text-align: center;
}
.interview__position {
  display: inline-block;
  -webkit-transform: skewX(-8deg);
          transform: skewX(-8deg);
  font-size: clamp(1.125rem, 1.054rem + 0.36vw, 1.375rem);
  /* 18 - 22 */
  font-weight: 500;
  color: var(--theme-accent);
  line-height: 1.5;
  letter-spacing: 0.1em;
}
.interview__desc {
  margin-top: 0.625rem;
  text-align: left;
}
.interview__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  margin-top: 0.625rem;
}
.interview__btn-icon {
  position: relative;
  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: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  width: 2.5rem;
  aspect-ratio: 1/1;
  overflow: hidden;
  z-index: 1;
  background-color: var(--theme-accent);
  border-radius: 50%;
}
.interview__btn-icon .arrow {
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  bottom: 0;
  width: 16px;
  margin: auto 0;
  line-height: 1;
}
.interview__btn-icon .arrow::before, .interview__btn-icon .arrow::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 16px;
  height: 16px;
  background-image: url("../img/common/icon_arrow_w.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-duration: 0.6s;
          animation-duration: 0.6s;
}
.interview__btn-icon .arrow::after {
  -webkit-transform: translateY(-50%) translateX(-100%);
          transform: translateY(-50%) translateX(-100%);
}
.interview__carousel {
  position: relative;
  width: 100%;
  margin-top: calc(var(--bg-height) * -1);
  clip-path: var(--bg-clip);
  overflow-x: clip;
}
.interview__carousel .deco {
  position: absolute;
  display: block;
  z-index: 20;
  -webkit-transform: rotate(-8deg);
          transform: rotate(-8deg);
}
@media screen and (min-width: 768px) {
  .interview__carousel .deco {
    -webkit-transform: rotate(-5deg);
            transform: rotate(-5deg);
  }
}
.interview__carousel .deco--left {
  left: 0;
  bottom: 10%;
  width: 16.7%;
  height: 2px;
  background-color: #fff;
}
.interview__carousel .deco--left::before, .interview__carousel .deco--left::after {
  content: "";
  display: block;
  position: absolute;
  height: 2px;
  left: -8px;
  background-color: var(--theme-accent);
  z-index: 20;
}
.interview__carousel .deco--left::before {
  top: -20px;
  width: 90%;
}
.interview__carousel .deco--left::after {
  bottom: -20px;
  width: 70%;
}
.interview__carousel .deco--right {
  right: 0;
  top: 15%;
  width: 31.9%;
  height: 2px;
  background-color: #fff;
}
.interview__carousel .deco--right::before, .interview__carousel .deco--right::after {
  content: "";
  display: block;
  position: absolute;
  height: 2px;
  right: -8px;
  background-color: var(--theme-accent);
  z-index: 20;
}
.interview__carousel .deco--right::before {
  top: -20px;
  width: 20%;
}
.interview__carousel .deco--right::after {
  bottom: -20px;
  width: 50%;
}
.interview__carousel .interview__copy {
  display: block;
  position: absolute;
  top: calc(50% + var(--bg-height) / 3);
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 5.6%;
  width: 70%;
  max-width: 24.1875rem;
  aspect-ratio: 554/188;
  z-index: 10;
}
@media screen and (min-width: 768px) {
  .interview__carousel .interview__copy {
    width: 38.5%;
    max-width: 34.625rem;
  }
}
.interview__carousel .swiper {
  overflow: visible;
  z-index: 0;
}
.interview__carousel .swiper-wrapper {
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
}
.interview__carousel .swiper-slide {
  width: 90%;
  max-width: 20.1875rem;
}
@media screen and (min-width: 768px) {
  .interview__carousel .swiper-slide {
    width: 32.1%;
    min-width: 20.1875rem;
    max-width: 28.875rem;
  }
}

.detail__head {
  position: relative;
  padding-top: calc(var(--header-height-md) + 2.5rem);
  background-color: var(--light-gray);
  overflow: hidden;
}
.detail__head::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background-color: var(--theme-accent);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  clip-path: var(--bg-clip-rl);
}
.detail__head.has-bg-image::before {
  background-image: var(--detail-bg-sp, var(--detail-bg-pc));
}
@media screen and (min-width: 768px) {
  .detail__head.has-bg-image::before {
    background-image: var(--detail-bg-pc, var(--detail-bg-sp));
  }
}
.detail__head-inner {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 2.5rem;
  z-index: 100;
}
@media screen and (min-width: 768px) {
  .detail__head-inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
@media screen and (min-width: 1024px) {
  .detail__head-inner {
    -webkit-column-gap: 12.6%;
       -moz-column-gap: 12.6%;
            column-gap: 12.6%;
  }
}
.detail__head-body {
  width: 100%;
  font-weight: 500;
  color: #fff;
}
@media screen and (min-width: 768px) {
  .detail__head-body {
    width: auto;
  }
}
.detail__head-body .data {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 0.625rem;
     -moz-column-gap: 0.625rem;
          column-gap: 0.625rem;
  font-size: clamp(1rem, 0.964rem + 0.18vw, 1.125rem);
  /* 16 - 18 */
}
.detail__head-body .data::before {
  content: "";
  display: block;
  width: 20px;
  height: 1px;
  background-color: #fff;
}
.detail__head-body .title {
  margin-top: 2rem;
  font-size: clamp(1.5rem, 1.214rem + 0.6vw, 1.75rem);
  /* 24 - 28 */
}
.detail__head-img {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .detail__head-img {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: 37.4%;
    max-width: 29rem;
  }
}

.detail-top {
  background-color: var(--light-gray);
  padding-top: 2.5rem;
  padding-bottom: calc(var(--bg-height) + 5rem);
  clip-path: var(--bg-clip-rl);
}
.detail-top__profile {
  margin-top: 5rem;
}
.detail-top__profile-inner {
  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;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2rem 3.7%;
}
@media screen and (min-width: 768px) {
  .detail-top__profile-inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.detail-top__profile-inner .data {
  margin-top: 2rem;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.5;
}
.detail-top__profile-inner .body {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .detail-top__profile-inner .body {
    width: 53.7%;
  }
}
.detail-top__profile-inner .desc {
  margin-top: 1rem;
}
.detail-top__profile-inner .img {
  width: 100%;
  aspect-ratio: 500/333;
}
@media screen and (min-width: 768px) {
  .detail-top__profile-inner .img {
    width: 46.3%;
  }
}
.detail-top__schedule {
  position: relative;
  display: grid;
  -webkit-column-gap: 3.7%;
     -moz-column-gap: 3.7%;
          column-gap: 3.7%;
  grid-template-columns: 1fr;
  margin-top: 5.625rem;
  padding: 2rem 4.4% 2.5rem 4.4%;
  background-color: #fff;
}
@media screen and (min-width: 1024px) {
  .detail-top__schedule {
    grid-template-columns: 1fr 1fr;
  }
}
.detail-top__schedule .deco {
  width: 40px;
  height: 40px;
  position: absolute;
}
.detail-top__schedule .deco:first-of-type {
  right: -8px;
  top: -8px;
  border-top: 1px solid var(--theme-accent);
  border-right: 1px solid var(--theme-accent);
}
.detail-top__schedule .deco:last-of-type {
  left: -8px;
  bottom: -8px;
  border-left: 1px solid var(--theme-accent);
  border-bottom: 1px solid var(--theme-accent);
}
.detail-top__schedule-title {
  position: relative;
  font-size: 1.25rem;
  font-weight: 500;
  color: var(--theme-accent);
  text-align: center;
}
@media screen and (min-width: 1024px) {
  .detail-top__schedule-title {
    grid-area: 1/1/2/3;
  }
}
.detail-top__schedule-title::before {
  content: attr(data-position);
  display: inline-block;
  background-color: var(--theme-accent);
  padding: 0.5rem 0.625rem 0.3125rem 0.625rem;
  position: absolute;
  top: -3rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  white-space: nowrap;
  font-size: 0.9375rem;
  color: #fff;
  line-height: 1;
}
.detail-top__schedule-title::after {
  content: "";
  display: block;
  width: 10px;
  height: 8px;
  background-color: var(--theme-accent);
  clip-path: polygon(0 0, 50% 100%, 100% 0);
  position: absolute;
  top: -1.25rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.detail-top__schedule-list.left {
  margin-top: 2rem;
}
@media screen and (min-width: 1024px) {
  .detail-top__schedule-list.left {
    grid-area: 2/1/3/2;
  }
}
@media screen and (min-width: 1024px) {
  .detail-top__schedule-list.left .detail-top__schedule-item:last-of-type::after {
    display: none;
  }
}
.detail-top__schedule-list.right {
  margin-top: 1.5rem;
}
@media screen and (min-width: 1024px) {
  .detail-top__schedule-list.right {
    margin-top: 2rem;
    grid-area: 2/2/3/3;
  }
}
.detail-top__schedule-list.right .detail-top__schedule-item:last-of-type::after {
  display: none;
}
.detail-top__schedule-item {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 0.625rem;
}
@media screen and (min-width: 600px) {
  .detail-top__schedule-item {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.detail-top__schedule-item + .detail-top__schedule-item {
  margin-top: 1.5rem;
}
.detail-top__schedule-item::before {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  background-color: var(--theme-accent);
  border-radius: 50%;
  position: absolute;
  top: 8px;
  left: 0;
}
@media screen and (min-width: 600px) {
  .detail-top__schedule-item::before {
    top: 6px;
    left: 6.25rem;
  }
}
.detail-top__schedule-item::after {
  content: "";
  display: block;
  width: 1px;
  height: calc(100% + 1.5rem);
  background-color: var(--theme-accent);
  position: absolute;
  left: 4px;
  top: 8px;
}
@media screen and (min-width: 600px) {
  .detail-top__schedule-item::after {
    top: 8px;
    left: calc(6.25rem + 4px);
  }
}
@media screen and (min-width: 768px) {
  .detail-top__schedule-item::after {
    left: calc(6.25rem + 4px);
  }
}
.detail-top__schedule-item .time {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 6.25rem;
  padding-left: 2rem;
  font-family: var(--font-en);
  font-style: italic;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.03em;
  color: var(--theme-accent);
}
@media screen and (min-width: 600px) {
  .detail-top__schedule-item .time {
    padding-left: 0;
  }
}
.detail-top__schedule-item .body {
  position: relative;
  padding-left: 2rem;
}
.detail-top__schedule-item .title {
  font-weight: 500;
  line-height: 1.5;
}
.detail-top__schedule-item .desc {
  margin-top: 0.25rem;
  font-size: 0.8125rem;
}

.detail-main {
  background-color: #fff;
  padding-block: clamp(5rem, 4.643rem + 1.79vw, 6.25rem);
  /* 80 - 100 */
}
.detail-main__item {
  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;
  gap: 5rem 3.9%;
  max-width: 90rem;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .detail-main__item {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.detail-main__item:last-of-type {
  margin-top: clamp(5rem, 3.214rem + 8.93vw, 11.25rem);
  /* 80 - 180 */
}
.detail-main__item .img {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .detail-main__item .img {
    width: 50%;
    max-width: 40.75rem;
  }
}
.detail-main__item .body {
  width: calc(100% - 2.5rem);
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .detail-main__item .body {
    width: 50.8%;
  }
}
.detail-main__item .body.top {
  margin-right: clamp(1.25rem, -10.179rem + 23.81vw, 11.25rem);
  /* 20 - 180 */
}
.detail-main__item .body.bottom {
  margin-left: clamp(1.25rem, -10.179rem + 23.81vw, 11.25rem);
  /* 20 - 180 */
}
.detail-main__item .block + .block {
  margin-top: clamp(3.5rem, 3.071rem + 2.14vw, 5rem);
  /* 56 - 80 */
}
.detail-main__item .head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
}
@media screen and (min-width: 768px) {
  .detail-main__item .head {
    gap: 1.5rem;
  }
}
.detail-main__item .head .num {
  position: relative;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: grid;
  place-items: center;
  place-content: center;
  width: clamp(3rem, 2.857rem + 0.71vw, 3.5rem);
  /* 48 - 56 */
  aspect-ratio: 1/1;
  background-color: var(--theme-accent);
  font-family: var(--font-en);
  font-size: clamp(1.25rem, 1.214rem + 0.18vw, 1.375rem);
  /* 20 - 22 */
  font-style: italic;
  color: #fff;
  line-height: 1;
}
.detail-main__item .head .num::before, .detail-main__item .head .num::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  width: 100%;
}
.detail-main__item .head .num::before {
  clip-path: polygon(100% 0, 0 0, 100% 100%);
  background-color: #AF0000;
  z-index: 0;
}
.detail-main__item .head .num::after {
  clip-path: polygon(100% 0, 0 100%, 100% 100%);
  background-color: rgba(158, 19, 19, 0.5);
  z-index: 1;
}
.detail-main__item .head .num > span {
  position: relative;
  z-index: 10;
}
.detail-main__item .question .en {
  margin-bottom: 0.375rem;
  height: 0.625rem;
}
.detail-main__item .question .en img {
  height: 100%;
  width: auto;
  max-width: 100%;
}
.detail-main__item .question .ja {
  font-size: clamp(1.25rem, 1.179rem + 0.36vw, 1.5rem);
  /* 20 - 24 */
  font-weight: 500;
  color: var(--theme-accent);
  line-height: 1.5;
}
.detail-main__item .answer {
  margin-top: 2rem;
  line-height: 2;
}
.detail-main__bg {
  width: 100%;
  height: 100%;
  aspect-ratio: 768/600;
  margin-top: clamp(5rem, 3.214rem + 8.93vw, 11.25rem);
  /* 80 - 180 */
}
@media screen and (min-width: 768px) {
  .detail-main__bg {
    aspect-ratio: 1440/600;
  }
}

.detail-bottom {
  background-color: var(--light-gray);
  padding-block: calc(var(--bg-height) + 5rem);
  clip-path: var(--bg-clip);
}
.detail-bottom__btn {
  width: 100%;
}

/*====================================================
*
*	Guideline
*
====================================================*/
.guideline {
  background-color: var(--light-gray);
  padding-bottom: 6.25rem;
}
.guideline-intro {
  position: relative;
  background-color: #BB210C;
  padding-block: clamp(4rem, 3.357rem + 3.21vw, 6.25rem);
  padding-inline: 1.25rem;
  font-size: clamp(1rem, 0.964rem + 0.18vw, 1.125rem);
  /* 16 - 18 */
  color: #fff;
  line-height: 2;
  z-index: 10;
}
@media screen and (min-width: 768px) {
  .guideline-intro {
    text-align: center;
  }
}
.guideline-intro::before, .guideline-intro::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
}
.guideline-intro::before {
  width: 100%;
  clip-path: polygon(100% 0, 0 0, 100% 100%);
  background-color: #AF0000;
  z-index: -2;
}
@media screen and (min-width: 768px) {
  .guideline-intro::before {
    width: 50%;
  }
}
.guideline-intro::after {
  width: 50%;
  clip-path: polygon(100% 0, 0 100%, 100% 100%);
  background-color: rgba(158, 19, 19, 0.5);
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .guideline-intro::after {
    width: 25%;
  }
}
.guideline-detail {
  margin-top: 5rem;
  padding-block: 0.625rem 5rem;
  background-color: #fff;
}
.guideline-detail__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.25rem;
  padding-inline: 0.625rem;
}
@media screen and (min-width: 600px) {
  .guideline-detail__head {
    gap: 0.5rem;
  }
}
.guideline-detail__label {
  position: relative;
  width: 50%;
  padding-block: clamp(1rem, 0.857rem + 0.71vw, 1.5rem);
  /* 16 - 24 */
  padding-inline: 0.625rem;
  background-color: var(--light-gray);
  font-size: clamp(0.813rem, 0.589rem + 0.6vw, 1.125rem);
  /* 13 - 18 */
  color: var(--theme-accent);
  line-height: 1.5;
  text-align: center;
  cursor: pointer;
}
.guideline-detail__label .img {
  display: block;
  margin-inline: auto;
  margin-top: 0.25rem;
}
.guideline-detail__label .newgraduate-img {
  width: 29.5%;
  max-width: 8.125rem;
  min-width: 4.875rem;
}
.guideline-detail__label .newgraduate-img .default {
  display: block;
}
.guideline-detail__label .newgraduate-img .checked {
  display: none;
}
.guideline-detail__label .career-img {
  width: 16%;
  max-width: 4.125rem;
  min-width: 2.475rem;
}
.guideline-detail__label .career-img .default {
  display: block;
}
.guideline-detail__label .career-img .checked {
  display: none;
}
.guideline-detail__label.is-active {
  color: #fff;
  background-color: var(--theme-accent);
}
.guideline-detail__label.is-active .img .default {
  display: none;
}
.guideline-detail__label.is-active .img .checked {
  display: block;
}
.guideline-detail__label.is-active .career-img .default {
  display: none;
}
.guideline-detail__label.is-active .career-img .checked {
  display: block;
}
.guideline-detail__label.is-active::after {
  content: "";
  position: absolute;
  bottom: -9px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 16px;
  height: 10px;
  background-color: var(--theme-accent);
  clip-path: polygon(100% 0, 0 0, 50% 100%);
}
.guideline-detail__content {
  padding-inline: 5.2%;
  padding-top: clamp(3.5rem, 3.071rem + 2.14vw, 5rem);
  /* 56 - 80 */
}
.guideline-info__title {
  position: relative;
  padding-left: 1.625rem;
  font-size: 1.125rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.5;
}
.guideline-info__title::before {
  content: "";
  background-image: url("../img/common/icon_head.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  display: inline-block;
  width: 16px;
  height: 16px;
  position: absolute;
  top: 0;
  left: 0;
}
.guideline-info__table {
  width: 100%;
}
.guideline-info__table th,
.guideline-info__table td {
  display: block;
  width: 100%;
  padding: 1rem 0.5rem;
}
@media screen and (min-width: 600px) {
  .guideline-info__table th,
  .guideline-info__table td {
    display: table-cell;
    padding: 2rem 1rem;
  }
}
.guideline-info__table th {
  border-bottom: 1px solid var(--theme-accent);
  color: var(--theme-accent);
  font-weight: 500;
  vertical-align: middle;
}
@media screen and (min-width: 600px) {
  .guideline-info__table th {
    width: 21%;
    min-width: 9.375rem;
  }
}
@media screen and (min-width: 600px) {
  .guideline-info__table td {
    width: 79%;
    border-bottom: 1px solid #e0e0e0;
  }
}
.guideline-info__table td .small {
  font-size: 0.8125rem;
}
.guideline-info__table td .link {
  text-decoration: underline;
}
.guideline-flow {
  margin-top: clamp(3.5rem, 3.071rem + 2.14vw, 5rem);
  /* 56 - 80 */
}
.guideline-flow__list {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  grid-row: 1fr;
  gap: 1.5rem 2.2%;
  margin-top: 2rem;
  counter-reset: item;
}
@media screen and (min-width: 600px) {
  .guideline-flow__list {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (min-width: 1024px) {
  .guideline-flow__list {
    grid-template-columns: repeat(4, 1fr);
  }
}
.guideline-flow__item {
  counter-increment: item;
  display: grid;
  place-content: center;
  position: relative;
  background-color: var(--light-gray);
  padding: 2.5rem 0.625rem;
  font-size: clamp(0.875rem, 0.786rem + 0.24vw, 1rem);
  /* 14 - 16 */
  font-weight: 500;
  color: var(--theme-accent);
  line-height: 1.5;
  text-align: center;
  z-index: 10;
}
@media screen and (min-width: 600px) {
  .guideline-flow__item {
    aspect-ratio: 1/1;
  }
}
.guideline-flow__item .small {
  font-size: 0.75rem;
  font-weight: 400;
}
.guideline-flow__item span {
  position: relative;
  z-index: 10;
}
.guideline-flow__item::before {
  content: "0" counter(item);
  position: absolute;
  top: 0;
  left: 0;
  background-color: var(--theme-accent);
  padding: 5px 16px 5px 12px;
  clip-path: polygon(0 0, 100% 0, 86% 100%, 0% 100%);
  font-family: var(--font-en);
  font-size: 0.9375rem;
  font-style: italic;
  font-weight: 400;
  letter-spacing: 0;
  color: #fff;
  line-height: 1;
}
.guideline-flow__item::after {
  content: "";
  display: block;
  width: 8px;
  height: 100%;
  background-color: #f0f0f0;
  position: absolute;
  bottom: -50%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: 0;
}
@media screen and (min-width: 600px) {
  .guideline-flow__item::after {
    width: 100%;
    height: 8px;
    top: 50%;
    bottom: auto;
    left: auto;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    right: -50%;
  }
}
@media screen and (min-width: 600px) {
  .guideline-flow__item:nth-of-type(3)::after {
    display: none;
  }
}
@media screen and (min-width: 1024px) {
  .guideline-flow__item:nth-of-type(3)::after {
    display: block;
  }
}
@media screen and (min-width: 600px) {
  .guideline-flow__item:nth-of-type(4)::after {
    display: block;
  }
}
@media screen and (min-width: 1024px) {
  .guideline-flow__item:nth-of-type(4)::after {
    display: none;
  }
}
.guideline-flow__item:last-of-type::after {
  display: none;
}
.guideline-entry {
  margin-top: clamp(3.5rem, 3.071rem + 2.14vw, 5rem);
  /* 56 - 80 */
  text-align: left;
}
@media screen and (min-width: 768px) {
  .guideline-entry {
    text-align: center;
  }
}
.guideline-entry__btn {
  display: grid;
  grid-template-columns: 1fr;
  place-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.5rem 1rem;
}
@media screen and (min-width: 768px) {
  .guideline-entry__btn.newgraduate {
    grid-template-columns: repeat(2, 17.5rem);
  }
}
@media screen and (min-width: 768px) {
  .guideline-entry__btn.career {
    grid-template-columns: repeat(2, 20rem);
  }
}
.guideline-entry__btn .mynavi-btn {
  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;
  row-gap: 0.5rem;
  justify-self: center;
}
.guideline-entry__btn .mynavi-btn .text {
  font-size: 0.8125rem;
  line-height: 1.5;
}
.guideline-entry__btn .mynavi-btn img {
  width: 100%;
  max-width: 15rem;
}
.guideline-entry__btn .career-btn {
  width: 100%;
  max-width: 20rem;
}
.guideline-entry__btn .c-btn--move {
  grid-area: auto;
}
@media screen and (min-width: 768px) {
  .guideline-entry__btn .c-btn--move {
    grid-area: 2/1/3/3;
  }
}
.guideline-entry__tel {
  width: 100%;
  height: 100%;
  max-width: 20rem;
  margin-inline: auto;
  padding: 7%;
  border: 1px solid var(--theme-accent);
  text-align: center;
}
@media screen and (min-width: 600px) {
  .guideline-entry__tel {
    padding: 1.25rem 0.625rem;
  }
}
.guideline-entry__tel .head {
  font-weight: 500;
  line-height: 1.5;
}
.guideline-entry__tel .tel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 4px;
  margin-top: 0.625rem;
  font-family: var(--font-en);
  font-size: clamp(1.625rem, 1.518rem + 0.54vw, 2rem);
  /* 26 - 32 */
  font-weight: 500;
  font-style: italic;
  color: var(--theme-accent);
  line-height: 1;
}
.guideline-entry__tel .time {
  margin-top: 0.5rem;
  font-size: 0.8125rem;
  line-height: 1.5;
}

/*====================================================
*
*	News
*
====================================================*/
.news-cats__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.625rem 1.5rem;
}
.news-cats__item {
  background-image: -webkit-gradient(linear, left top, right top, from(rgb(14, 16, 21)), to(rgb(14, 16, 21)));
  background-image: linear-gradient(90deg, rgb(14, 16, 21), rgb(14, 16, 21));
  background-repeat: no-repeat;
  background-position: left bottom;
  background-size: 0 1px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  font-size: 0.875rem;
  font-weight: 500;
}
.news-cats__item.is-current {
  background-image: -webkit-gradient(linear, left top, right top, from(rgb(193, 44, 31)), to(rgb(193, 44, 31)));
  background-image: linear-gradient(90deg, rgb(193, 44, 31), rgb(193, 44, 31));
  color: var(--theme-accent);
}
@media (hover: hover) and (pointer: fine) {
  .news-cats__item.is-current:hover {
    background-size: 100% 1px;
    color: var(--theme-accent);
  }
}
@media (hover: hover) and (pointer: fine) {
  .news-cats__item:hover {
    background-size: 100% 1px;
    color: var(--theme-main);
  }
}
.news__list {
  margin-top: 2.5rem;
}
.news__item {
  border-bottom: 1px solid #eee;
}
.news__item:first-of-type {
  border-top: 1px solid #eee;
}
.news__link {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem 4.4%;
  padding-block: 2.5rem;
  padding-right: 28px;
}
@media screen and (min-width: 768px) {
  .news__link {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.news__link::after {
  content: "";
  background-image: url(../img/common/icon_arrow.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  width: 16px;
  height: 16px;
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media (hover: hover) and (pointer: fine) {
  .news__link:hover .news__title {
    color: var(--theme-accent);
    background-size: 100% 1px;
  }
}
.news__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
}
.news__time {
  font-family: var(--font-en);
  font-size: 0.875rem;
  line-height: 1.1;
}
.news__cats {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 6px;
}
.news__cats--single {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 6px;
}
.news-cat {
  padding: 6px 16px 4px 16px;
  background-color: #E7E7E7;
  font-size: 0.75rem;
  font-weight: 500;
  text-align: center;
  line-height: 1;
  letter-spacing: 0.04em;
}
.news__body {
  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;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
.news__title {
  background-image: -webkit-gradient(linear, left top, right top, from(rgb(193, 44, 31)), to(rgb(193, 44, 31)));
  background-image: linear-gradient(90deg, rgb(193, 44, 31), rgb(193, 44, 31));
  background-repeat: no-repeat;
  background-position: left bottom;
  background-size: 0 1px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  font-weight: 500;
  line-height: 1.5;
}

.single__title {
  margin-top: 1.25rem;
  font-size: 1.625rem;
  font-weight: 500;
  line-height: 1.5;
}
.single__btn {
  margin-top: 6.25rem;
}

/*====================================================
*
*	Entry
*
====================================================*/
.thanks__title {
  font-size: clamp(1.5rem, 1.429rem + 0.36vw, 1.75rem);
  /* 24 - 28 */
  font-weight: 500;
  text-align: center;
  color: var(--theme-accent);
  line-height: 1.5;
}
.thanks__text {
  margin-top: 2.5rem;
  line-height: 2;
}
@media screen and (min-width: 768px) {
  .thanks__text {
    text-align: center;
  }
}
.thanks__text p + p {
  margin-top: 1.25rem;
}
.thanks-info {
  width: 100%;
  max-width: 28.75rem;
  margin-inline: auto;
  padding: 7%;
  background-color: #F7F7F7;
  text-align: center;
}
@media screen and (min-width: 600px) {
  .thanks-info {
    padding: 2rem;
  }
}
.thanks-info__head {
  font-weight: 500;
  line-height: 1.5;
}
.thanks-info__tel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 4px;
  margin-top: 0.625rem;
  font-family: var(--font-en);
  font-size: clamp(1.75rem, 1.679rem + 0.36vw, 2rem);
  /* 28 - 32 */
  font-weight: 500;
  font-style: italic;
  color: var(--theme-accent);
  line-height: 1;
}
.thanks-info__name {
  margin-top: 0.25rem;
  font-size: 0.8125rem;
  line-height: 1.5;
}
.thanks-info__time {
  margin-top: 0.5rem;
}
.thanks__btn {
  width: 100%;
}