@charset "UTF-8";
/* ===================================
Foundation
=================================== */
/*
 * _setting.scss
 */
/* -----------------------------------
Color
------------------------------------ */
/* -----------------------------------
Color (CSS Custom Properties)
------------------------------------ */
@import url("https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=Oswald&family=Zen+Kaku+Gothic+New:wght@400;500;700;900&display=swap");
:root {
  --color-base-font: #000000;
  --color-link: #000;
  --color-base-bg: #FFFFFF;
  --color-white: #FFF;
  --color-black: #000;
  /* =============== Brand =============== */
  --color-primary: #004097;
  --color-accent: #0096F0;
  /* =============== Background (汎用) =============== */
  --color-bg-subtle: #EFEFEF;
  --color-future-bg: #B2DFFA;
  /* =============== Top page =============== */
  --color-mv-line: #8ED9C5;
  /* =============== Recruit page =============== */
  --color-recruit-accent: #BBE0D2;
  --color-faq-border: #CCD9EA;
  /* =============== Project page =============== */
  --color-project-accent-1: #0099F7;
  --color-project-accent-2: #00B789;
  --color-project-accent-3: #668DC4;
  --color-project-marker: #80DBC4;
  /* =============== Business page =============== */
  --color-business-bg-1: #CCEBFD;
  --color-business-bg-2: #E5F8F3;
  /* =============== Popup page =============== */
  --color-popup-dot: #CCC;
  --color-popup-qa-mark: #4D79B6;
  --color-popup-box-bg: #BFCFE5;
  --color-popup-qa-a-bg: #BFE5FB;
  /* =============== Overlay =============== */
  --color-overlay-light: rgba(0, 0, 0, 0.2);
  --color-overlay-medium: rgba(0, 0, 0, 0.5);
  --color-overlay-strong: rgba(0, 0, 0, 0.55);
  --color-white-soft: rgba(255, 255, 255, 0.9);
  /* =============== Shadow =============== */
  --shadow-primary: rgba(0, 64, 151, 1.0);
  --shadow-primary-soft: rgba(0, 64, 151, 0.7);
  --shadow-accent: rgba(0, 150, 240, 1.0);
  --shadow-black-soft: rgba(0, 0, 0, 0.1);
}

/*
 * _mixin.scss
 */
/* -----------------------------------
media query print
------------------------------------ */
/* -----------------------------------
media query ver1
------------------------------------ */
/* -----------------------------------
transition
------------------------------------ */
/* -----------------------------------
clearfix
------------------------------------ */
/* -----------------------------------
formFocus
------------------------------------ */
/* -----------------------------------
shadow
------------------------------------ */
/* -----------------------------------
decimal round
------------------------------------ */
/* -----------------------------------
vw
------------------------------------ */
/*
 * _reset.scss
 */
/* -----------------------------------
reset
------------------------------------ */
html,
body {
  height: 100%;
}

html {
  overflow-y: scroll;
}

*,
*:after,
*:before {
  box-sizing: border-box;
}

* {
  margin: 0;
  padding: 0;
  font-size: inherit;
  line-height: inherit;
  outline: none;
}

form {
  display: inline;
}

pre,
textarea {
  overflow: auto;
}

[hidden],
audio:not([controls]),
template {
  display: none;
}

details,
main,
summary {
  display: block;
}

input[type=text],
input[type=password] {
  -webkit-appearance: none;
}

input[type=radio],
input[type=checkbox] {
  vertical-align: middle;
}

input[type=number] {
  width: auto;
}

input[type=search] {
  -webkit-appearance: textfield;
}

input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

progress {
  display: inline-block;
}

small {
  font-size: 75%;
}

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

sup {
  top: -0.5em;
}

sub {
  bottom: -0.15em;
}

textarea {
  resize: vertical;
}

audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle;
}

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

img[src$=".svg"] {
  width: 100%;
}

button,
input,
select,
textarea {
  min-height: 1.5em;
  color: inherit;
  font-family: inherit;
  font-weight: inherit;
  font-style: inherit;
}

button {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

button,
html input[type=button],
input[type=reset],
input[type=submit] {
  border: none;
  background: none;
  cursor: pointer;
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
}

button[disabled],
html input[disabled] {
  cursor: default;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
  padding: 0;
  border: 0;
}

input {
  line-height: normal;
}

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
}

ol,
ul {
  list-style: none;
}

select {
  outline: none;
  text-indent: 0.01px;
  text-overflow: "";
  background: none transparent;
  vertical-align: middle;
  font-size: inherit;
  color: inherit;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
}

select option {
  background-color: #fff;
  color: #333;
}

select::-ms-expand {
  display: none;
}

select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #828c9a;
}

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

fieldset {
  border: 0;
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 15px 0;
  padding: 0;
}

/*
 * _base.scss
 */
/* -----------------------------------
base Setting
------------------------------------ */
/* デザイン基準幅。root font-size 算出の唯一の数値定義（JS もこの値を読む）。
   ブレークポイント判定は mq-max() に集約し、JS 側には数値を持たせない。 */
:root {
  --root-base: 1440;
}
@media screen and (max-width: 768px) {
  :root {
    --root-base: 390;
  }
}

html {
  /* スクロールバー領域を常時確保し、レイアウト幅（width:100% の fixed 要素＝ヘッダー等）が
     モーダル open（body 固定／GLightbox の overflow 切替）でも変わらないようにする＝横ずれ防止。
     ※ root の font-size は common.funcs.js が window.innerWidth ÷ var(--root-base) で上書き固定する
       （下の calc は JS 無効時のフォールバック）。CSS の vw はスクロールバー有無で基準が
       揺れるため、font-size を CSS の calc だけに任せると初回 open で約1%縮んで定着する。 */
  overflow-y: scroll;
  font-size: calc(100vw / var(--root-base));
}

body {
  color: var(--color-base-font);
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  background-color: var(--color-base-bg);
  font-size: 1.6rem;
  line-height: 1.75;
  letter-spacing: 0.01em;
  max-height: 999999px;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
}
body:not([data-page=top]) {
  background: url(../img/common/bg_lower_page.webp);
  background-position: center;
}
body.custom_cursor * {
  cursor: none !important;
}
body img {
  width: 100%;
}

@media print {
  html,
  body {
    height: auto;
  }
}
a {
  color: var(--color-link);
}
a.disabled {
  pointer-events: none;
}
a:hover {
  text-decoration: none;
}
@media screen and (min-width: 769px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
}
@media screen and (max-width: 768px) {
  a {
    -webkit-tap-highlight-color: transparent;
  }
}

/* ===================================
Layout
=================================== */
/*
 * _layout.scss
 */
/* -----------------------------------
wrapper
------------------------------------ */
.l-wrapper {
  position: relative;
}

/* -----------------------------------
header
------------------------------------ */
.l-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  padding-left: 46rem;
  padding-right: 20rem;
  z-index: 1000;
  transition: opacity 0.5s;
  background-color: var(--color-white);
}
@media screen and (max-width: 768px) {
  .l-header {
    padding-left: 15rem;
    padding-right: 15rem;
    height: 50rem;
  }
}
.l-header_in {
  display: flex;
  justify-content: space-between;
  height: 100%;
}
@media screen and (max-width: 768px) {
  .l-header_in {
    align-items: center;
  }
}
.l-header_logo {
  width: 250rem;
  padding-top: 24rem;
}
@media screen and (max-width: 768px) {
  .l-header_logo {
    width: 160rem;
    padding: 0;
  }
}
.l-header_link {
  display: flex;
  padding-top: 18rem;
  gap: 27rem;
}
@media screen and (max-width: 768px) {
  .l-header_link {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background-color: var(--color-white);
    padding: 10rem 30rem 10rem;
    flex-flow: column;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.3s, visibility 0.3s;
    overflow-y: auto;
  }
  .l-header_link.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
}
.l-header_link ._page {
  padding-top: 13.2rem;
}
@media screen and (max-width: 768px) {
  .l-header_link ._page {
    width: 100%;
  }
}
.l-header_link ._page > ul {
  display: flex;
  gap: 29rem;
}
@media screen and (max-width: 768px) {
  .l-header_link ._page > ul {
    display: block;
  }
}
@media screen and (max-width: 768px) {
  .l-header_link ._page > ul > li:nth-of-type(n+2) a::before {
    content: "";
    display: block;
    width: 100%;
    border-top: 1px solid var(--color-bg-subtle);
    position: absolute;
    top: 0;
    left: 0;
  }
}
.l-header_link ._page > ul > li a {
  color: var(--color-black);
  font-size: 13rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  text-decoration: none;
  transition: color 0.3s;
}
@media screen and (max-width: 768px) {
  .l-header_link ._page > ul > li a {
    font-size: 16rem;
    display: block;
    padding: 13rem 0;
    position: relative;
  }
}
.l-header_link ._page > ul > li a:hover {
  color: var(--color-accent);
}
@media screen and (max-width: 768px) {
  .l-header_link ._entry {
    order: -1;
  }
}
.l-header_link ._entry > ul {
  display: flex;
}
@media screen and (max-width: 768px) {
  .l-header_link ._entry > ul {
    gap: 10rem;
  }
}
.l-header_link ._entry > ul li a {
  border-top-left-radius: 10rem;
  border-top-right-radius: 10rem;
  display: block;
  padding: 10rem;
  padding-top: 11rem;
  padding-bottom: 27rem;
  color: var(--color-white);
  font-size: 15rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  text-decoration: none;
  transition: padding-bottom 0.3s, margin-top 0.3s;
}
@media screen and (max-width: 768px) {
  .l-header_link ._entry > ul li a {
    border-radius: 10rem;
    padding: 12rem 22rem;
  }
}
.l-header_link ._entry > ul li a > span {
  display: block;
  position: relative;
  padding-right: 20rem;
}
.l-header_link ._entry > ul li a > span ._en {
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
}
.l-header_link ._entry > ul li a > span ._icon {
  display: block;
  width: 14rem;
  height: 14rem;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  background-color: var(--color-white);
  border-radius: 50%;
}
.l-header_link ._entry > ul li a > span ._icon > div {
  width: 6rem;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -60%);
}
@media screen and (min-width: 769px) {
  .l-header_link ._entry > ul li:hover a {
    padding-bottom: 37rem;
    margin-top: -10rem;
  }
}
.l-header_link ._entry > ul li:nth-of-type(1) a {
  background-color: var(--color-primary);
}
.l-header_link ._entry > ul li:nth-of-type(2) a {
  background-color: var(--color-accent);
}
.l-header_link ._corporate {
  display: none;
}
@media screen and (max-width: 768px) {
  .l-header_link ._corporate {
    display: block;
  }
}
.l-header_link ._corporate a {
  text-decoration: none;
  font-size: 13rem;
  border: 1px solid var(--color-primary);
  border-radius: 1000px;
  padding: 4rem 15rem;
  padding-right: 40rem;
  color: var(--color-primary);
  transition: color 0.3s, background-color 0.3s;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  letter-spacing: -0.05em;
  position: relative;
  display: inline-block;
}
@media screen and (max-width: 768px) {
  .l-header_link ._corporate a {
    font-size: 12rem;
    padding: 3rem 12rem;
    padding-right: 32rem;
  }
}
.l-header_link ._corporate a::after {
  content: "";
  display: block;
  width: 12rem;
  aspect-ratio: 156/162;
  position: absolute;
  right: 12rem;
  top: 50%;
  transform: translateY(-50%);
  background: url(../img/common/ico_arrow_blue_2.svg) no-repeat;
  background-size: contain;
  transition: background-image 0.3s;
}
@media screen and (max-width: 768px) {
  .l-header_link ._corporate a::after {
    width: 10rem;
    right: 10rem;
  }
}
.l-header_link ._corporate a:hover {
  color: var(--color-white);
  background-color: var(--color-primary);
}
.l-header_link ._corporate a:hover::after {
  background-image: url(../img/common/ico_arrow_white_2.svg);
}
.l-header_btn {
  display: none;
}
@media screen and (max-width: 768px) {
  .l-header_btn {
    display: flex;
    align-items: center;
  }
}

/* -----------------------------------
hamburger button
------------------------------------ */
.hambBtn {
  position: relative;
  width: 40rem;
  height: 24rem;
  cursor: pointer;
}
.hambBtn span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: var(--color-black);
  transition: top 0.3s, bottom 0.3s, transform 0.3s, opacity 0.3s;
  transform-origin: center;
}
.hambBtn span:nth-of-type(1) {
  top: 5rem;
}
.hambBtn span:nth-of-type(2) {
  bottom: 5rem;
}
.hambBtn.is-active span:nth-of-type(1) {
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
}
.hambBtn.is-active span:nth-of-type(2) {
  top: 50%;
  bottom: auto;
  transform: translateY(-50%) rotate(-45deg);
}

@keyframes animPageLine {
  0% {
    clip-path: polygon(0% 0%, 0% 0%, 100% 0%, 100% 0%);
  }
  100% {
    clip-path: polygon(0% 0%, 0% 100%, 100% 100%, 100% 0%);
  }
}
/* -----------------------------------
content
------------------------------------ */
.l-content {
  position: relative;
  z-index: 0;
  overflow-x: clip;
  width: 100%;
  padding-top: 82rem;
}
@media screen and (max-width: 768px) {
  .l-content {
    padding-top: 50rem;
  }
}
.l-content::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: url(../img/common/bg_page_line.webp) no-repeat;
  background-position: center -500rem;
  background-size: 100% auto;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: -1;
  clip-path: polygon(0% 0%, 0% 0%, 100% 0%, 100% 0%);
}
body[data-page=top] .l-content::before {
  opacity: 0;
  background-position: 0rem -220rem;
}
@media screen and (max-width: 768px) {
  body[data-page=top] .l-content::before {
    background-size: 500rem auto;
    background-position: center -440rem;
  }
}
body[data-page=project] .l-content::before {
  display: none;
}
body[data-page=business] .l-content::before {
  background-position: -530rem 180rem;
  background-size: 2030rem auto;
  background-image: url(../img/common/bg_page_line_2.webp);
  animation: animPageLine 3s forwards linear;
  animation-delay: 1s;
}
@media screen and (max-width: 768px) {
  body[data-page=business] .l-content::before {
    background-position: -120rem 100rem;
    background-size: 550rem auto;
    animation-duration: 7s;
  }
}
body[data-page=future] .l-content::before {
  background-position: 0rem -870rem;
  background-size: 1400rem auto;
}
@media screen and (max-width: 768px) {
  body[data-page=future] .l-content::before {
    background-size: 500rem auto;
    background-position: center -440rem;
    animation: animPageLine 4s forwards linear;
    animation-delay: 1s;
  }
}
body[data-page=recruit] .l-content::before {
  background-position: 70rem -650rem;
  background-size: 1300rem auto;
  animation: animPageLine 2s forwards linear;
  animation-delay: 1s;
}
@media screen and (max-width: 768px) {
  body[data-page=recruit] .l-content::before {
    background-size: 500rem auto;
    background-position: center -440rem;
    animation-duration: 4s;
  }
}
body[data-page=top] .l-content.is-animation::before {
  animation: animPageLine 3s forwards linear;
}
@media screen and (max-width: 768px) {
  body[data-page=top] .l-content.is-animation::before {
    animation-duration: 4s;
  }
}
@media screen and (min-width: 769px) {
  body[data-page=future] .l-content.is-animation::before {
    animation: animPageLine 1.5s forwards linear;
  }
}
.l-content_in.-noGrid::before {
  display: none;
}

/* -----------------------------------
section
------------------------------------ */
.l-sec {
  position: relative;
  padding-left: 20px;
  padding-right: 20px;
}
@media screen and (max-width: 768px) {
  .l-sec {
    padding-left: 4%;
    padding-right: 4%;
  }
}
.l-sec_in {
  position: relative;
  max-width: 1240px;
  margin: 0 auto;
}

/* -----------------------------------
footer
------------------------------------ */
.l-footer {
  padding-top: 45rem;
  padding-bottom: 45rem;
  padding-left: 220rem;
  padding-right: 82rem;
  border-top: 1px solid var(--color-primary);
  background: url(../img/common/bg_footer_grid.webp);
  background-position: center;
}
@media screen and (max-width: 768px) {
  .l-footer {
    padding-top: 40rem;
    padding-bottom: 40rem;
    padding-left: 20rem;
    padding-right: 20rem;
  }
}
body[data-page=top] .l-footer {
  border: none;
}
.l-footer_in {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .l-footer_in {
    flex-direction: column;
    gap: 40rem;
  }
}
.l-footer_left {
  width: 370rem;
}
@media screen and (max-width: 768px) {
  .l-footer_left {
    width: 100%;
  }
}
.l-footer_right {
  width: 586rem;
}
@media screen and (max-width: 768px) {
  .l-footer_right {
    width: 100%;
  }
}
.l-footer_logo {
  width: 250rem;
}
@media screen and (max-width: 768px) {
  .l-footer_logo {
    width: 180rem;
  }
}
.l-footer_address {
  font-size: 15rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  color: var(--color-primary);
  line-height: 1.4;
  margin-top: 24rem;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .l-footer_address {
    font-size: 14rem;
    margin-top: 16rem;
    white-space: normal;
  }
}
.l-footer_address a {
  color: var(--color-primary);
  text-decoration: none;
}
.l-footer_address a.-map {
  display: inline-block;
  font-size: 13rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  border-radius: 1000px;
  border: 1px solid var(--color-primary);
  padding: 0.2em 1.3em;
  margin-left: 1.5em;
  transition: color 0.3s, background-color 0.3s;
}
@media screen and (max-width: 768px) {
  .l-footer_address a.-map {
    font-size: 12rem;
    margin-left: 0.8em;
  }
}
.l-footer_address a.-map:hover {
  color: var(--color-white);
  background-color: var(--color-primary);
}
.l-footer_link {
  display: flex;
  gap: 27rem;
  margin-top: 27rem;
}
@media screen and (max-width: 768px) {
  .l-footer_link {
    flex-wrap: wrap;
    gap: 10rem;
    margin-top: 20rem;
    justify-content: center;
  }
}
.l-footer_link li a {
  text-decoration: none;
  font-size: 13rem;
  border: 1px solid var(--color-primary);
  border-radius: 1000px;
  padding: 4rem 15rem;
  padding-right: 40rem;
  color: var(--color-primary);
  transition: color 0.3s, background-color 0.3s;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  letter-spacing: -0.05em;
  position: relative;
  display: inline-block;
}
@media screen and (max-width: 768px) {
  .l-footer_link li a {
    font-size: 12rem;
    padding: 3rem 12rem;
    padding-right: 32rem;
  }
}
.l-footer_link li a::after {
  content: "";
  display: block;
  width: 12rem;
  aspect-ratio: 156/162;
  position: absolute;
  right: 12rem;
  top: 50%;
  transform: translateY(-50%);
  background: url(../img/common/ico_arrow_blue_2.svg) no-repeat;
  background-size: contain;
  transition: background-image 0.3s;
}
@media screen and (max-width: 768px) {
  .l-footer_link li a::after {
    width: 10rem;
    right: 10rem;
  }
}
.l-footer_link li a:hover {
  color: var(--color-white);
  background-color: var(--color-primary);
}
.l-footer_link li a:hover::after {
  background-image: url(../img/common/ico_arrow_white_2.svg);
}
.l-footer_nav {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  row-gap: 3rem;
}
.l-footer_nav li a {
  text-decoration: none;
  color: var(--color-primary);
  font-size: 15rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  transition: color 0.3s;
}
@media screen and (max-width: 768px) {
  .l-footer_nav li a {
    font-size: 14rem;
  }
}
.l-footer_nav li a:hover {
  color: var(--color-accent);
}
.l-footer_nav li a::before {
  content: "ー";
  margin-right: 5rem;
}
.l-footer_banner {
  display: flex;
  margin-top: 30rem;
  gap: 15rem;
}
@media screen and (max-width: 768px) {
  .l-footer_banner {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10rem;
    margin-top: 24rem;
    grid-auto-flow: column;
  }
  .l-footer_banner:has(li:nth-of-type(3)) {
    grid-template-rows: repeat(2, auto);
  }
  .l-footer_banner:has(li:nth-of-type(5)) {
    grid-template-rows: repeat(3, auto);
  }
  .l-footer_banner:has(li:nth-of-type(7)) {
    grid-template-rows: repeat(4, auto);
  }
}
.l-footer_banner li {
  max-height: 34rem;
}
@media screen and (max-width: 768px) {
  .l-footer_banner li {
    max-height: 40rem;
  }
}
.l-footer_banner li img {
  width: auto;
  height: 100%;
}

/* ===================================
Object
=================================== */
/* -----------------------------------
Component
------------------------------------ */
/*
 * _component.scss
 */
/* -----------------------------------
hover
------------------------------------ */
.c-hover {
  transition: 0.2s ease-in-out;
}
.c-hover:hover {
  opacity: 0.7;
}

.c-title > span {
  font-size: 14rem;
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  color: var(--color-black);
}
@media screen and (max-width: 768px) {
  .c-title > span {
    font-size: 10rem;
  }
}
.c-title > span.-white {
  color: var(--color-white);
}
.c-title h2 {
  font-size: 30rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  color: var(--color-primary);
}
@media screen and (max-width: 768px) {
  .c-title h2 {
    line-height: 1.25;
    font-size: 20rem;
  }
}
.c-title h2 > span {
  display: inline-block;
}
.c-title h2.-white {
  color: var(--color-white);
}

.c-title2 {
  font-size: 30rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  color: var(--color-primary);
  display: inline-block;
}

.c-title3 {
  font-size: 30rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  display: flex;
  flex-flow: column;
  align-items: flex-start;
}
@media screen and (max-width: 768px) {
  .c-title3 {
    font-size: 24rem;
  }
}
.c-title3 > span {
  white-space: nowrap;
  background: linear-gradient(transparent 55%, var(--color-project-marker) 55%, var(--color-project-marker) 80%, transparent 80%) left center/0% 100% no-repeat;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  transition: background-size 0.8s ease;
}
.c-title3 ._period {
  margin-right: -0.5em;
}
.c-title3.is-animation > span {
  background-size: 100% 100%;
}

.c-link a {
  display: inline-block;
  width: 196rem;
  background-color: var(--color-accent);
  color: var(--color-white);
  padding: 6rem 20rem;
  text-decoration: none;
  border-radius: 1000px;
  font-size: 15rem;
  position: relative;
  border: 1px solid var(--color-accent);
  transition: background-color 0.3s, color 0.3s;
  text-align: left;
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .c-link a {
    width: 128rem;
    font-size: 10rem;
    padding: 3rem 16rem;
  }
}
.c-link a::after {
  content: "";
  display: block;
  position: absolute;
  right: 24rem;
  top: 50%;
  transform: translateY(-50%);
  width: 25.5rem;
  aspect-ratio: 255/102;
  background: url(../img/common/ico_arrow.svg) no-repeat;
  background-size: contain;
  transition: background-image 0.3s;
}
@media screen and (max-width: 768px) {
  .c-link a::after {
    width: 16rem;
    right: 15rem;
    transform: translateY(-55%);
  }
}
.c-link a:hover {
  background-color: var(--color-white);
  color: var(--color-accent);
}
.c-link a:hover::after {
  background-image: url(../img/common/ico_arrow_blue.svg);
}
.c-link.-white a {
  background-color: var(--color-white);
  color: var(--color-primary);
  border-color: var(--color-white);
}
.c-link.-white a::after {
  background-image: url(../img/common/ico_arrow_blue.svg);
}
.c-link.-white a:hover {
  background-color: var(--color-accent);
  color: var(--color-white);
}
.c-link.-white a:hover::after {
  background-image: url(../img/common/ico_arrow.svg);
}
.c-link.-light_blue a:hover::after {
  background-image: url(../img/common/ico_arrow_light_blue.svg);
}

.c-link2 {
  font-size: 16rem;
  color: var(--color-primary);
  border: 1px solid var(--color-primary);
  border-radius: 1000px;
  display: inline-block;
  padding: 8rem 23rem;
  padding-right: 54rem;
  position: relative;
  text-decoration: none;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  transition: color 0.3s, background-color 0.3s;
}
@media screen and (max-width: 768px) {
  .c-link2 {
    font-size: 13rem;
    padding: 5rem 15rem;
    padding-right: 35rem;
  }
}
.c-link2::after {
  content: "";
  display: block;
  width: 15rem;
  aspect-ratio: 156/162;
  position: absolute;
  right: 18rem;
  top: 50%;
  transform: translateY(-50%);
  background: url(../img/common/ico_arrow_blue_2.svg) no-repeat;
  background-size: contain;
  transition: background-image 0.3s;
}
@media screen and (max-width: 768px) {
  .c-link2::after {
    width: 12rem;
    right: 12rem;
  }
}
.c-link2:hover {
  color: var(--color-white);
  background-color: var(--color-primary);
}
.c-link2:hover::after {
  background-image: url(../img/common/ico_arrow_white_2.svg);
}
.c-link2.-business {
  background-color: var(--color-white);
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-size: 13rem;
  padding: 5rem 18rem;
  padding-right: 42rem;
  letter-spacing: -0.07em;
}
.c-link2.-business::after {
  width: 12rem;
  right: 12rem;
}
.c-link2.-business:hover {
  background-color: var(--color-primary);
}

.c-floatBlock {
  position: absolute;
  left: 0;
  top: 0;
  width: 21rem;
  aspect-ratio: 1/1;
  background: url(../img/common/ico_float_block_1.png) no-repeat;
  background-size: contain;
  pointer-events: none;
  z-index: 10;
  opacity: 0;
  transform: translate(-50%, -50%) scale(0);
  transition: opacity 0.2s, transform 0.2s;
}
.c-floatBlock.-type2 {
  background-image: url(../img/common/ico_float_block_2.png);
}
.c-floatBlock.-type3 {
  background-image: url(../img/common/ico_float_block_3.png);
  width: 40rem;
}
.c-floatBlock.is-animation {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}

.c-marker {
  background-image: linear-gradient(transparent 0%, transparent 60%, var(--color-mv-line) 60%, var(--color-mv-line) 90%, transparent 90%, transparent 100%);
  background-repeat: no-repeat;
  background-position: left 0 bottom 0rem;
  background-size: 0% 100%;
  transition: background-size 0.6s;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
.c-marker.is-animation {
  background-size: 100% 100%;
}
@media screen and (max-width: 768px) {
  .c-marker.is-animation.-mv {
    background-size: 0% 100%;
  }
  body.is-mv-started .c-marker.is-animation.-mv {
    background-size: 100% 100%;
  }
}

/* -----------------------------------
ImgScroll（SP時の横スクロールヒント）
------------------------------------ */
.c-imgScroll {
  position: relative;
}
@media screen and (max-width: 768px) {
  .c-imgScroll_inner {
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-x pan-y;
  }
}
@media screen and (max-width: 768px) {
  .c-imgScroll::before {
    content: "< MOVE >";
    font-family: "Montserrat", sans-serif;
    font-weight: 500;
    pointer-events: none;
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 80rem;
    height: 80rem;
    font-size: 13rem;
    color: var(--color-white);
    background: var(--color-overlay-strong);
    border-radius: 50%;
    opacity: 1;
    transition: opacity 0.4s ease;
  }
  .c-imgScroll.is-hintHidden::before {
    opacity: 0;
  }
}

.c-popupLink {
  display: inline-block;
  padding: 4rem 20rem;
  padding-right: 40rem;
  background-color: var(--color-white);
  color: var(--color-primary);
  border-radius: 1000px;
  text-decoration: none;
  font-size: 13rem;
  border: 1px solid var(--color-primary);
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  position: relative;
  transition: background-color 0.3s, color 0.3s;
}
.c-popupLink::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 13rem;
  width: 12rem;
  aspect-ratio: 120/125;
  background: url(../img/common/ico_arrow_blue_2.svg) no-repeat;
  background-size: contain;
  transform: translateY(-50%);
  transition: background-image 0.3s;
}
.c-popupLink:hover {
  background-color: var(--color-primary);
  color: var(--color-white);
}
.c-popupLink:hover::after {
  background-image: url(../img/common/ico_arrow_white_2.svg);
}

.c-spLink {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .c-spLink {
    display: block;
  }
}

/* -----------------------------------
Project
------------------------------------ */
/*
 * _project.scss
 */
@keyframes animJump2 {
  0% {
    transform: translateY(0%);
  }
  50% {
    transform: translateY(-10%);
  }
  100% {
    transform: translateY(0%);
  }
}
/* -----------------------------------
hambContainer
------------------------------------ */
/* -----------------------------------
LowerMv
------------------------------------ */
.p-secLowerMv {
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-secLowerMv {
    padding-top: 20rem;
  }
}
.p-secLowerMv_img {
  height: calc(100vh - 82rem);
}
@media screen and (max-width: 768px) {
  .p-secLowerMv_img {
    margin-top: 20rem;
    height: 450rem;
  }
}
.p-secLowerMv_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-secLowerMv_img.-recruit {
  padding-top: 34rem;
  width: 1049rem;
  margin-left: auto;
  height: auto;
}
@media screen and (max-width: 768px) {
  .p-secLowerMv_img.-recruit {
    width: 350rem;
    padding-top: 0rem;
  }
}
@media screen and (max-width: 768px) {
  .p-secLowerMv_img.-project, .p-secLowerMv_img.-future {
    height: 230rem;
  }
}
.p-secLowerMv_title {
  background-color: var(--color-primary);
  position: absolute;
  top: 35rem;
  left: 0;
  padding: 28rem 0;
  padding-left: 120rem;
  padding-right: 52rem;
}
@media screen and (max-width: 768px) {
  .p-secLowerMv_title {
    padding: 18rem 20rem;
    padding-left: 20rem;
    position: static;
    width: -moz-fit-content;
    width: fit-content;
  }
}
.p-secLowerMv_title.-blue {
  background-color: var(--color-primary);
}
.p-secLowerMv_title > span {
  color: var(--color-white);
  font-size: 14rem;
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .p-secLowerMv_title > span {
    font-size: 12rem;
  }
}
.p-secLowerMv_title > h2 {
  color: var(--color-white);
  font-size: 40rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  line-height: 1.3;
  margin-top: 5rem;
}
@media screen and (max-width: 768px) {
  .p-secLowerMv_title > h2 {
    font-size: 26rem;
  }
}
.p-secLowerMv_title > h2 span {
  display: block;
}
@media screen and (min-width: 769px) {
  .p-secLowerMv_title.-small {
    padding-top: 12rem;
    padding-bottom: 15rem;
    padding-right: 25rem;
  }
}
@media screen and (min-width: 769px) {
  .p-secLowerMv_title.-small > h2 {
    font-size: 35rem;
    margin-top: 2rem;
  }
}
.p-secLowerMv_catch {
  position: absolute;
  right: 159rem;
  bottom: 106rem;
  display: flex;
  flex-flow: column;
  align-items: flex-start;
  gap: 5rem;
}
@media screen and (max-width: 768px) {
  .p-secLowerMv_catch {
    position: static;
    transform: none;
    padding: 0 20rem;
    margin-top: 20rem;
  }
}
@media screen and (max-width: 768px) {
  .p-secLowerMv_catch.-project {
    right: auto;
  }
}
.p-secLowerMv_catch > span {
  display: block;
  background-color: var(--color-primary);
  color: var(--color-white);
  padding: 0em 0.3em;
  line-height: 1.3;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 35rem;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .p-secLowerMv_catch > span {
    font-size: 22rem;
  }
}
.p-secLowerMv_catch > span.-margin {
  margin-top: 16rem;
}
@media screen and (max-width: 768px) {
  .p-secLowerMv_catch > span.-margin {
    margin-top: 8rem;
  }
}
.p-secLowerMv_catch > span.-tight {
  letter-spacing: -0.03em;
}
.p-secLowerMv_catch > span ._period {
  margin-right: -0.4em;
}
.p-secLowerMv_catch2 {
  position: absolute;
  top: 80rem;
  right: 665rem;
  transform: translateX(100%);
  display: flex;
  flex-flow: column;
  align-items: flex-start;
  gap: 7rem;
}
@media screen and (max-width: 768px) {
  .p-secLowerMv_catch2 {
    position: static;
    transform: none;
    padding: 20rem;
  }
}
.p-secLowerMv_catch2 > span {
  font-size: 49rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  background-color: var(--color-white);
  display: inline-block;
  color: var(--color-primary);
  line-height: 1.3;
  padding: 0 20rem;
}
@media screen and (max-width: 768px) {
  .p-secLowerMv_catch2 > span {
    font-size: 28rem;
    padding: 0 12rem;
  }
}
.p-secLowerMv_catch2 > span:nth-of-type(2) {
  margin-left: 142rem;
}
@media screen and (max-width: 768px) {
  .p-secLowerMv_catch2 > span:nth-of-type(2) {
    margin-left: 40rem;
  }
}
.p-secLowerMv_slide {
  width: 100%;
  padding-top: 241rem;
}
@media screen and (max-width: 768px) {
  .p-secLowerMv_slide {
    width: 100%;
    padding-top: 40rem;
  }
}
.p-secLowerMv_slide .swiper-slide {
  width: calc(calc(100svh - 350rem) * 1974 / 411);
  height: calc(100svh - 350rem);
}
@media screen and (max-width: 768px) {
  .p-secLowerMv_slide .swiper-slide {
    width: 1000rem;
    height: calc(1000rem * 411 / 1974);
  }
}
.p-secLowerMv_slide ._item {
  position: relative;
  height: 100%;
}
.p-secLowerMv_slide ._item > div {
  width: 15.2%;
  position: absolute;
  opacity: 0;
  animation: anim_mv_img 1s forwards;
}
.p-secLowerMv_slide ._item > div:nth-of-type(1) {
  left: 0;
  top: 12.9%;
  animation-delay: 0.5s;
}
.p-secLowerMv_slide ._item > div:nth-of-type(2) {
  left: 16.7%;
  top: 26.5%;
  animation-delay: 0.7s;
}
.p-secLowerMv_slide ._item > div:nth-of-type(3) {
  left: 33.3%;
  top: 0;
  animation-delay: 0.9s;
}
.p-secLowerMv_slide ._item > div:nth-of-type(4) {
  left: 50%;
  top: 26.5%;
  animation-delay: 1.1s;
}
.p-secLowerMv_slide ._item > div:nth-of-type(5) {
  left: 66.7%;
  top: 9.2%;
  animation-delay: 1.3s;
}
.p-secLowerMv_slide ._item > div:nth-of-type(6) {
  left: 83.3%;
  top: 26.5%;
  animation-delay: 1.5s;
}
/* -----------------------------------
floatBlock
------------------------------------ */
.p-floatBlock {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  overflow: hidden;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .p-floatBlock {
    display: none;
  }
}
.p-floatBlock_left, .p-floatBlock_right {
  position: absolute;
  top: 0;
  width: 120rem;
}
.p-floatBlock_left > div, .p-floatBlock_right > div {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 3000rem;
}
.p-floatBlock_left > div:nth-of-type(2), .p-floatBlock_right > div:nth-of-type(2) {
  top: 3000rem;
}
.p-floatBlock_left > div:nth-of-type(3), .p-floatBlock_right > div:nth-of-type(3) {
  top: 6000rem;
}
.p-floatBlock_left > div:nth-of-type(4), .p-floatBlock_right > div:nth-of-type(4) {
  top: 9000rem;
}
.p-floatBlock_left > div:nth-of-type(5), .p-floatBlock_right > div:nth-of-type(5) {
  top: 12000rem;
}
.p-floatBlock_left > div:nth-of-type(6), .p-floatBlock_right > div:nth-of-type(6) {
  top: 15000rem;
}
.p-floatBlock_left > div:nth-of-type(7), .p-floatBlock_right > div:nth-of-type(7) {
  top: 18000rem;
}
.p-floatBlock_left > div:nth-of-type(8), .p-floatBlock_right > div:nth-of-type(8) {
  top: 21000rem;
}
.p-floatBlock_left > div:nth-of-type(9), .p-floatBlock_right > div:nth-of-type(9) {
  top: 24000rem;
}
.p-floatBlock_left > div:nth-of-type(10), .p-floatBlock_right > div:nth-of-type(10) {
  top: 27000rem;
}
.p-floatBlock_left > div span, .p-floatBlock_right > div span {
  display: block;
  position: absolute;
  transform: translate(-50%, -50%);
  background: no-repeat;
  background-size: contain;
  aspect-ratio: 1/1;
  opacity: 0;
  transition: opacity 0.5s;
}
.p-floatBlock_left > div span.is-animation, .p-floatBlock_right > div span.is-animation {
  opacity: 1;
}
.p-floatBlock_left > div span, .p-floatBlock_right > div span {
  /* .p-secTopJob_img と重なった浮遊アイコンを非表示（JS で付与） */
}
.p-floatBlock_left > div span.-overlapHide, .p-floatBlock_right > div span.-overlapHide {
  display: none;
}
.p-floatBlock_left {
  left: 0;
}
.p-floatBlock_left > div span:nth-of-type(1) {
  top: 2.8%;
  left: 45.5%;
  background-image: url("../img/common/ico_float_block_3.png");
  width: 40rem;
}
.p-floatBlock_left > div span:nth-of-type(2) {
  top: 8.2%;
  left: 41%;
  background-image: url("../img/common/ico_float_block_1.png");
  width: 21rem;
}
.p-floatBlock_left > div span:nth-of-type(3) {
  top: 12.2%;
  left: 88%;
  background-image: url("../img/common/ico_float_block_3.png");
  width: 40rem;
}
.p-floatBlock_left > div span:nth-of-type(4) {
  top: 17.4%;
  left: 37.5%;
  background-image: url("../img/common/ico_float_block_2.png");
  width: 21rem;
}
.p-floatBlock_left > div span:nth-of-type(5) {
  top: 23.3%;
  left: 12%;
  background-image: url("../img/common/ico_float_block_2.png");
  width: 21rem;
}
.p-floatBlock_left > div span:nth-of-type(6) {
  top: 27.2%;
  left: 52.5%;
  background-image: url("../img/common/ico_float_block_3.png");
  width: 40rem;
}
.p-floatBlock_left > div span:nth-of-type(7) {
  top: 33.1%;
  left: 24.5%;
  background-image: url("../img/common/ico_float_block_1.png");
  width: 21rem;
}
.p-floatBlock_left > div span:nth-of-type(8) {
  top: 38.3%;
  left: 21%;
  background-image: url("../img/common/ico_float_block_2.png");
  width: 21rem;
}
.p-floatBlock_left > div span:nth-of-type(9) {
  top: 42.4%;
  left: 29%;
  background-image: url("../img/common/ico_float_block_1.png");
  width: 21rem;
}
.p-floatBlock_left > div span:nth-of-type(10) {
  top: 48.1%;
  left: 16.5%;
  background-image: url("../img/common/ico_float_block_3.png");
  width: 40rem;
}
.p-floatBlock_left > div span:nth-of-type(11) {
  top: 52.2%;
  left: 76.5%;
  background-image: url("../img/common/ico_float_block_1.png");
  width: 21rem;
}
.p-floatBlock_left > div span:nth-of-type(12) {
  top: 57.3%;
  left: 60.5%;
  background-image: url("../img/common/ico_float_block_3.png");
  width: 40rem;
}
.p-floatBlock_left > div span:nth-of-type(13) {
  top: 63.1%;
  left: 56%;
  background-image: url("../img/common/ico_float_block_2.png");
  width: 21rem;
}
.p-floatBlock_left > div span:nth-of-type(14) {
  top: 67.1%;
  left: 93.5%;
  background-image: url("../img/common/ico_float_block_1.png");
  width: 21rem;
}
.p-floatBlock_left > div span:nth-of-type(15) {
  top: 73%;
  left: 8.5%;
  background-image: url("../img/common/ico_float_block_1.png");
  width: 21rem;
}
.p-floatBlock_left > div span:nth-of-type(16) {
  top: 78.2%;
  left: 69.5%;
  background-image: url("../img/common/ico_float_block_3.png");
  width: 40rem;
}
.p-floatBlock_left > div span:nth-of-type(17) {
  top: 82.5%;
  left: 74%;
  background-image: url("../img/common/ico_float_block_2.png");
  width: 21rem;
}
.p-floatBlock_left > div span:nth-of-type(18) {
  top: 87.9%;
  left: 34%;
  background-image: url("../img/common/ico_float_block_1.png");
  width: 21rem;
}
.p-floatBlock_left > div span:nth-of-type(19) {
  top: 93.1%;
  left: 82%;
  background-image: url("../img/common/ico_float_block_2.png");
  width: 21rem;
}
.p-floatBlock_left > div span:nth-of-type(20) {
  top: 97.8%;
  left: 96.5%;
  background-image: url("../img/common/ico_float_block_1.png");
  width: 21rem;
}
.p-floatBlock_right {
  right: 0;
}
.p-floatBlock_right > div span:nth-of-type(1) {
  top: 3.7%;
  left: 59.5%;
  background-image: url("../img/common/ico_float_block_1.png");
  width: 21rem;
}
.p-floatBlock_right > div span:nth-of-type(2) {
  top: 6.6%;
  left: 43.5%;
  background-image: url("../img/common/ico_float_block_3.png");
  width: 40rem;
}
.p-floatBlock_right > div span:nth-of-type(3) {
  top: 13.7%;
  left: 85.5%;
  background-image: url("../img/common/ico_float_block_2.png");
  width: 21rem;
}
.p-floatBlock_right > div span:nth-of-type(4) {
  top: 16.2%;
  left: 88%;
  background-image: url("../img/common/ico_float_block_3.png");
  width: 40rem;
}
.p-floatBlock_right > div span:nth-of-type(5) {
  top: 23.7%;
  left: 76%;
  background-image: url("../img/common/ico_float_block_1.png");
  width: 21rem;
}
.p-floatBlock_right > div span:nth-of-type(6) {
  top: 28.5%;
  left: 7.5%;
  background-image: url("../img/common/ico_float_block_2.png");
  width: 21rem;
}
.p-floatBlock_right > div span:nth-of-type(7) {
  top: 31.5%;
  left: 49%;
  background-image: url("../img/common/ico_float_block_1.png");
  width: 21rem;
}
.p-floatBlock_right > div span:nth-of-type(8) {
  top: 38.9%;
  left: 21%;
  background-image: url("../img/common/ico_float_block_3.png");
  width: 40rem;
}
.p-floatBlock_right > div span:nth-of-type(9) {
  top: 41.1%;
  left: 17.5%;
  background-image: url("../img/common/ico_float_block_2.png");
  width: 21rem;
}
.p-floatBlock_right > div span:nth-of-type(10) {
  top: 48.9%;
  left: 29%;
  background-image: url("../img/common/ico_float_block_1.png");
  width: 21rem;
}
.p-floatBlock_right > div span:nth-of-type(11) {
  top: 51.4%;
  left: 62.5%;
  background-image: url("../img/common/ico_float_block_3.png");
  width: 40rem;
}
.p-floatBlock_right > div span:nth-of-type(12) {
  top: 56.3%;
  left: 94.5%;
  background-image: url("../img/common/ico_float_block_2.png");
  width: 21rem;
}
.p-floatBlock_right > div span:nth-of-type(13) {
  top: 61.5%;
  left: 36%;
  background-image: url("../img/common/ico_float_block_3.png");
  width: 40rem;
}
.p-floatBlock_right > div span:nth-of-type(14) {
  top: 68.5%;
  left: 54%;
  background-image: url("../img/common/ico_float_block_1.png");
  width: 21rem;
}
.p-floatBlock_right > div span:nth-of-type(15) {
  top: 72.2%;
  left: 32%;
  background-image: url("../img/common/ico_float_block_2.png");
  width: 21rem;
}
.p-floatBlock_right > div span:nth-of-type(16) {
  top: 76.6%;
  left: 93.5%;
  background-image: url("../img/common/ico_float_block_1.png");
  width: 21rem;
}
.p-floatBlock_right > div span:nth-of-type(17) {
  top: 83.7%;
  left: 66%;
  background-image: url("../img/common/ico_float_block_3.png");
  width: 40rem;
}
.p-floatBlock_right > div span:nth-of-type(18) {
  top: 86.2%;
  left: 82%;
  background-image: url("../img/common/ico_float_block_2.png");
  width: 21rem;
}
.p-floatBlock_right > div span:nth-of-type(19) {
  top: 91.1%;
  left: 11.5%;
  background-image: url("../img/common/ico_float_block_1.png");
  width: 21rem;
}
.p-floatBlock_right > div span:nth-of-type(20) {
  top: 98.5%;
  left: 71.5%;
  background-image: url("../img/common/ico_float_block_3.png");
  width: 40rem;
}

.p-spFloatBlock {
  position: absolute;
  pointer-events: none;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: none;
}
@media screen and (max-width: 768px) {
  .p-spFloatBlock {
    display: block;
  }
}
.p-spFloatBlock span {
  background: no-repeat;
  background-size: contain;
  display: block;
  position: absolute;
  aspect-ratio: 1/1;
}
.p-spFloatBlock span[data-type="1"] {
  background-image: url(../img/common/ico_float_block_1.png);
  width: 21rem;
}
.p-spFloatBlock span[data-type="2"] {
  background-image: url(../img/common/ico_float_block_2.png);
  width: 21rem;
}
.p-spFloatBlock span[data-type="3"] {
  background-image: url(../img/common/ico_float_block_3.png);
  width: 40rem;
}

/* -----------------------------------
clip
------------------------------------ */
.p-clip {
  /* JS が .l-content 末尾に append するため、同 z-index だと float-block より上に
     描画される。線を float-block(-1) より下げて重なり順を 線 < float-block にする */
  z-index: -2;
  clip-path: polygon(0% 0%, 0% 0%, 100% 0%, 100% 0%);
  transition: clip-path 1s;
  transition-timing-function: linear;
}
@media screen and (max-width: 768px) {
  .p-clip {
    transition-duration: 1.5s;
  }
}
.p-clip::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  /* JS（common.funcs.js）が .p-clip に出力する変数で
     .l-content::before のページ線と位置・サイズを揃える */
  background-size: var(--clip-bg-size);
  background-position: var(--clip-bg-x) var(--clip-bg-y);
}
.p-clip.is-animation {
  clip-path: polygon(0% 0%, 0% 100%, 100% 100%, 100% 0%);
}
.p-clip.-lead::before {
  clip-path: polygon(0% 0%, 0% 100%, 16.5% 100%, 100% 80.7%, 100% 0%);
  background-image: url(../img/common/bg_page_line.webp);
}
@media screen and (max-width: 768px) {
  .p-clip.-lead::before {
    clip-path: polygon(0% 0%, 0% 100%, 28% 100%, 100% 92%, 100% 0%);
  }
}
.p-clip.-future::before {
  clip-path: polygon(0% 38%, 0% 100%, 100% 100%, 100% 0%);
  background-image: url(../img/common/bg_page_line_blue.webp);
}
@media screen and (max-width: 768px) {
  .p-clip.-future::before {
    clip-path: polygon(0% 23%, 0% 100%, 100% 100%, 100% 0%);
  }
}
.p-clip.-job::before {
  background-image: url(../img/common/bg_page_line.webp);
}
.p-clip.-interview::before {
  background-image: url(../img/common/bg_page_line_gray.webp);
}
.p-clip.-project::before {
  background-image: url(../img/common/bg_page_line_blue2.webp);
}
.p-clip.-message::before {
  background-image: url(../img/common/bg_page_line_gray.webp);
}

/* ---------------------------------------
animation common
--------------------------------------- */
.js-animation.-fadein, .js-animation-child.-fadein {
  transition: opacity 0.4s ease-out;
  opacity: 0;
}
.js-animation.-fadein.is-animation, .js-animation-child.-fadein.is-animation {
  opacity: 1;
}
.js-animation.-slidein, .js-animation-child.-slidein {
  transition: 0.4s ease-out;
  opacity: 0;
  transform: translateX(-40rem);
}
.js-animation.-slidein.is-animation, .js-animation-child.-slidein.is-animation {
  opacity: 1;
  transform: translateX(0rem);
}
.js-animation.-slideup, .js-animation-child.-slideup {
  transition: 0.6s ease-out;
  opacity: 0;
  transform: translateY(20rem);
}
.js-animation.-slideup.is-animation, .js-animation-child.-slideup.is-animation {
  opacity: 1;
  transform: translateY(0rem);
}
.js-animation.-zoomup, .js-animation-child.-zoomup {
  transition: 0.3s;
  transition-timing-function: cubic-bezier(0.1, 0.84, 0.8, 1.35);
  opacity: 0;
  transform: scale(0.7, 0.7) translateY(40rem);
}
.js-animation.-zoomup.is-animation, .js-animation-child.-zoomup.is-animation {
  opacity: 1;
  transform: scale(1, 1) translateY(0rem);
}
.js-animation.-slow, .js-animation-child.-slow {
  transition-duration: 0.8s;
}
@media screen and (min-width: 769px) {
  .js-animation.-delay1, .js-animation-child.-delay1 {
    transition-delay: 0.1s;
  }
  .js-animation.-delay2, .js-animation-child.-delay2 {
    transition-delay: 0.2s;
  }
  .js-animation.-delay3, .js-animation-child.-delay3 {
    transition-delay: 0.3s;
  }
  .js-animation.-delay4, .js-animation-child.-delay4 {
    transition-delay: 0.4s;
  }
  .js-animation.-delay5, .js-animation-child.-delay5 {
    transition-delay: 0.5s;
  }
  .js-animation.-delay6, .js-animation-child.-delay6 {
    transition-delay: 0.6s;
  }
  .js-animation.-delay7, .js-animation-child.-delay7 {
    transition-delay: 0.7s;
  }
  .js-animation.-delay8, .js-animation-child.-delay8 {
    transition-delay: 0.8s;
  }
  .js-animation.-delay9, .js-animation-child.-delay9 {
    transition-delay: 0.9s;
  }
  .js-animation.-delay10, .js-animation-child.-delay10 {
    transition-delay: 1s;
  }
}

/*
 * _html.scss
 */
@keyframes anim_jump {
  0% {
    transform: translateY(0%);
  }
  25% {
    transform: translateY(-25%);
  }
  50% {
    transform: translateY(0%);
  }
  75% {
    transform: translateY(-10%);
  }
  100% {
    transform: translateY(0%);
  }
}
@keyframes anim_fadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/* -----------------------------------
scroll
------------------------------------ */
.p-topScroll {
  position: absolute;
  top: 0;
  right: 40rem;
  bottom: 120rem;
  width: 80rem;
  z-index: 100;
  display: flex;
  align-items: flex-end;
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .p-topScroll {
    bottom: 280rem;
    right: 10rem;
    width: 60rem;
  }
}
.p-topScroll > a {
  display: block;
  width: 100%;
  aspect-ratio: 1/1;
  text-decoration: none;
  color: var(--color-primary);
  border-radius: 1000px;
  position: sticky;
  left: 0;
  bottom: 40rem;
  pointer-events: all;
}
@media screen and (max-width: 768px) {
  .p-topScroll > a {
    bottom: 20rem;
  }
}
.p-topScroll > a > div {
  position: relative;
  width: 100%;
  height: 100%;
  background-color: var(--color-white);
  border: 2px solid var(--color-primary);
  border-radius: 1000px;
  display: flex;
  justify-content: center;
  transition: opacity 0.3s;
}
.p-topScroll > a > div > span {
  font-size: 18rem;
  text-align: center;
  padding-top: 24rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  line-height: 1.1;
  display: block;
}
@media screen and (max-width: 768px) {
  .p-topScroll > a > div > span {
    font-size: 13rem;
    padding-top: 18rem;
  }
}
.p-topScroll > a > div::before {
  content: "";
  display: block;
  position: absolute;
  top: 10rem;
  left: 50%;
  transform: translateX(-50%);
  width: 10.7rem;
  aspect-ratio: 107/127;
  background: url(../img/common/ico_arrow_up.svg) no-repeat;
  background-size: contain;
}
@media screen and (max-width: 768px) {
  .p-topScroll > a > div::before {
    top: 8rem;
  }
}
.p-topScroll > a:hover > div {
  animation: anim_jump 0.8s forwards;
}

/* -----------------------------------
Mv
------------------------------------ */
.p-secMv {
  position: relative;
}
.p-secMv::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url(../img/common/bg_top_grid_2.webp);
  background-position: center;
  pointer-events: none;
}
.p-secMv_img {
  height: calc(100vh - 82rem);
  opacity: 0;
  animation: anim_fadein 1.5s forwards;
  animation-delay: 3s;
}
@media screen and (max-width: 768px) {
  .p-secMv_img {
    height: 360rem;
  }
}
.p-secMv_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  display: block;
}
.p-secMv_prev, .p-secMv_next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 5;
  width: 60rem;
  height: 60rem;
  background-color: transparent;
  background-image: url(../img/common/ico_popup_arrow_2.webp);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  border: none;
  padding: 0;
  cursor: pointer;
  transition: opacity 0.3s;
  opacity: 0;
  animation: anim_fadein 1.5s forwards;
  animation-delay: 3s;
}
.p-secMv_prev::after, .p-secMv_next::after {
  display: none;
}
@media screen and (max-width: 768px) {
  .p-secMv_prev, .p-secMv_next {
    width: 32rem;
    height: 32rem;
    top: auto;
    bottom: 12rem;
  }
}
.p-secMv_prev {
  left: 40rem;
  transform: translateY(-50%) scaleX(-1);
}
@media screen and (max-width: 768px) {
  .p-secMv_prev {
    left: 100rem;
  }
}
.p-secMv_next {
  right: 40rem;
}
@media screen and (max-width: 768px) {
  .p-secMv_next {
    right: 100rem;
  }
}
.p-secMv_pagination {
  position: absolute;
  left: 50% !important;
  transform: translateX(-50%) !important;
  bottom: 40rem !important;
  z-index: 5;
  display: flex;
  justify-content: center;
  width: auto;
  opacity: 0;
  animation: anim_fadein 1.5s forwards;
  animation-delay: 3s;
}
@media screen and (max-width: 768px) {
  .p-secMv_pagination {
    bottom: 16rem;
  }
}
.p-secMv_pagination .swiper-pagination-bullet {
  margin-left: 8rem !important;
  margin-right: 8rem !important;
  width: 12rem;
  height: 12rem;
  background-color: var(--color-white);
  opacity: 1;
  transition: background-color 0.3s;
}
@media screen and (max-width: 768px) {
  .p-secMv_pagination .swiper-pagination-bullet {
    margin-left: 6rem !important;
    margin-right: 6rem !important;
    width: 8rem;
    height: 8rem;
  }
}
.p-secMv_pagination .swiper-pagination-bullet-active {
  background-color: var(--color-primary);
}
.p-secMv_txt {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  animation: anim_fadein 1.5s forwards;
  animation-delay: 0.2s;
  opacity: 0;
  z-index: 1;
  text-align: center;
  white-space: nowrap;
  color: var(--color-white);
  text-shadow: 5rem 5rem 10rem var(--color-overlay-light);
}
@media screen and (max-width: 768px) {
  .p-secMv_txt {
    width: 100%;
    white-space: normal;
  }
}
.p-secMv_txt > h2 {
  font-size: 74rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 900;
  line-height: 1.45;
}
@media screen and (max-width: 768px) {
  .p-secMv_txt > h2 {
    font-size: 36rem;
  }
}
.p-secMv_txt > p {
  font-size: 33rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 900;
  margin-top: 18rem;
}
@media screen and (max-width: 768px) {
  .p-secMv_txt > p {
    font-size: 18rem;
    margin-top: 12rem;
  }
}

/* -----------------------------------
leadGroup
------------------------------------ */
.p-leadGroup {
  position: relative;
}
.p-leadGroup::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url(../img/common/bg_top_grid.webp);
  background-position: center;
  z-index: -2;
  pointer-events: none;
}

/* -----------------------------------
Lead
------------------------------------ */
.p-secTopLead {
  padding-top: 120rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-secTopLead {
    padding-top: 60rem;
  }
}
.p-secTopLead_txt {
  width: -moz-fit-content;
  width: fit-content;
  font-size: 20rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  line-height: 2.15;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .p-secTopLead_txt {
    padding: 0 20rem;
    font-size: 15rem;
    line-height: 1.9;
  }
}

/* -----------------------------------
Business
------------------------------------ */
.p-secTopBusiness {
  padding-top: 46rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-secTopBusiness {
    padding-top: 40rem;
  }
}
.p-secTopBusiness_cnt {
  position: relative;
}
.p-secTopBusiness_cnt ._bg_img {
  width: 1078rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-secTopBusiness_cnt ._bg_img {
    width: 315rem;
  }
}
.p-secTopBusiness_cnt ._img {
  width: 560rem;
  position: absolute;
  bottom: 0;
  left: 0;
  transition: transform 1s;
  transform: translate(-100%, 22%) scale(1.002);
}
@media screen and (max-width: 768px) {
  .p-secTopBusiness_cnt ._img {
    width: 113rem;
    transform: translate(-100%, 14%) scale(1.01);
  }
}
.p-secTopBusiness_cnt ._img.is-animation {
  transform: translate(0%, 0%) scale(1.002);
}
@media screen and (max-width: 768px) {
  .p-secTopBusiness_cnt ._img.is-animation {
    transform: translate(0%, 0%) scale(1.01);
  }
}
.p-secTopBusiness_cnt ._txt {
  position: absolute;
  left: 622rem;
  top: 130rem;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .p-secTopBusiness_cnt ._txt {
    left: 50%;
    top: 50rem;
    text-align: center;
    transform: translateX(-50%);
  }
}
.p-secTopBusiness_cnt ._txt ._link {
  margin-top: 44rem;
  margin-left: 27rem;
}
@media screen and (max-width: 768px) {
  .p-secTopBusiness_cnt ._txt ._link {
    margin-top: 10rem;
    margin-left: 0;
  }
}

/* -----------------------------------
Future
------------------------------------ */
.p-secTopFuture {
  overflow: hidden;
  position: relative;
  padding-top: 320rem;
  padding-bottom: 76rem;
  padding-left: 218rem;
  margin-top: -200rem;
}
@media screen and (max-width: 768px) {
  .p-secTopFuture {
    padding-top: 120rem;
    padding-bottom: 60rem;
    padding-left: 20rem;
    padding-right: 20rem;
    margin-top: -50rem;
  }
}
.p-secTopFuture::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: var(--color-future-bg);
  background: url(../img/common/bg_top_grid_2.webp);
  background-position: center;
  clip-path: polygon(0% 38%, 0% 100%, 100% 100%, 100% 0%);
  z-index: -2;
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .p-secTopFuture::before {
    clip-path: polygon(0% 23%, 0% 100%, 100% 100%, 100% 0%);
  }
}
.p-secTopFuture_txt {
  background-color: var(--color-white);
  padding: 40rem 54rem 34rem;
  width: 440rem;
  box-shadow: 5rem 5rem 0px 0px var(--shadow-primary);
  border-radius: 8rem;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .p-secTopFuture_txt {
    width: 250rem;
    padding: 24rem 24rem 20rem;
    margin: 0 auto;
  }
}
@media screen and (max-width: 768px) {
  .p-secTopFuture_txt ._title {
    text-align: center;
  }
}
.p-secTopFuture_txt ._link {
  text-align: right;
  margin-top: 44rem;
}
@media screen and (max-width: 768px) {
  .p-secTopFuture_txt ._link {
    text-align: center;
    margin-top: 10rem;
  }
}
.p-secTopFuture_img {
  position: absolute;
  top: 26%;
  left: 58%;
  width: 636rem;
  aspect-ratio: 1/1;
  transform: translateX(-50%) translateY(-5%);
}
@media screen and (max-width: 768px) {
  .p-secTopFuture_img {
    left: 50%;
    width: 350rem;
  }
}

/* -----------------------------------
Job
------------------------------------ */
.p-secTopJob {
  padding-top: 65rem;
  padding-bottom: 100rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-secTopJob {
    padding-top: 50rem;
    padding-bottom: 60rem;
  }
}
.p-secTopJob::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: url(../img/common/bg_top_grid.webp);
  background-position: center;
  z-index: -2;
  pointer-events: none;
}
.p-secTopJob_in {
  padding-left: 272rem;
  padding-right: 215rem;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .p-secTopJob_in {
    padding-left: 20rem;
    padding-right: 20rem;
    flex-direction: column;
    gap: 24rem;
  }
}
.p-secTopJob_title {
  margin-top: -6rem;
}
@media screen and (max-width: 768px) {
  .p-secTopJob_title {
    margin-top: 0;
    text-align: center;
  }
}
.p-secTopJob_list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10rem;
  width: 675rem;
}
@media screen and (max-width: 768px) {
  .p-secTopJob_list {
    grid-template-columns: repeat(2, 1fr);
    width: 100%;
  }
}
.p-secTopJob_list > li > a {
  display: block;
  padding: 19rem 0 14rem;
  border: 1px solid var(--color-accent);
  border-radius: 10rem;
  background-color: var(--color-white);
  box-shadow: 5rem 5rem 0px 0px var(--shadow-accent);
  transition: background-color 0.3s;
  text-decoration: none;
}
.p-secTopJob_list > li > a > dl {
  color: var(--color-primary);
  text-align: center;
  transition: color 0.3s;
}
.p-secTopJob_list > li > a > dl > dt {
  font-size: 20rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .p-secTopJob_list > li > a > dl > dt {
    font-size: 16rem;
  }
}
.p-secTopJob_list > li > a > dl > dd {
  font-size: 14rem;
  margin-top: 1rem;
}
@media screen and (max-width: 768px) {
  .p-secTopJob_list > li > a > dl > dd {
    font-size: 12rem;
  }
}
.p-secTopJob_list > li > a ._icon {
  display: block;
  background-color: var(--color-accent);
  width: 50rem;
  height: 20rem;
  border-radius: 1000px;
  margin: 8rem auto 0;
  position: relative;
  transition: background-color 0.3s;
}
.p-secTopJob_list > li > a ._icon::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 10rem;
  background-color: var(--color-accent);
  border-top: 2rem solid var(--color-white);
  transition: background-color 0.3s, border-color 0.3s;
}
.p-secTopJob_list > li > a ._icon::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(90deg);
  width: 10rem;
  background-color: var(--color-accent);
  border-top: 2rem solid var(--color-white);
  transition: background-color 0.3s, border-color 0.3s;
}
.p-secTopJob_list > li > a:hover {
  background-color: var(--color-primary);
}
.p-secTopJob_list > li > a:hover > dl {
  color: var(--color-white);
}
.p-secTopJob_list > li > a:hover ._icon {
  background-color: var(--color-white);
}
.p-secTopJob_list > li > a:hover ._icon::before {
  background-color: var(--color-accent);
  border-color: var(--color-accent);
}
.p-secTopJob_list > li > a:hover ._icon::after {
  background-color: var(--color-accent);
  border-color: var(--color-accent);
}
/* -----------------------------------
Interview
------------------------------------ */
.p-secTopInterview {
  padding: 60rem 220rem 85rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-secTopInterview {
    padding: 50rem 20rem 60rem;
  }
}
.p-secTopInterview_measure {
  width: 20rem;
  position: absolute;
  top: 50%;
  left: 160rem;
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 768px) {
  .p-secTopInterview_measure {
    display: none;
  }
}
.p-secTopInterview_title {
  padding-left: 50rem;
}
@media screen and (max-width: 768px) {
  .p-secTopInterview_title {
    padding-left: 0;
    text-align: center;
  }
}
.p-secTopInterview_list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40rem 24rem;
  padding-left: 50rem;
  margin-top: 30rem;
}
@media screen and (max-width: 768px) {
  .p-secTopInterview_list {
    grid-template-columns: repeat(2, 1fr);
    gap: 30rem 12rem;
    padding-left: 0;
    margin-top: 24rem;
  }
}
.p-secTopInterview_list > li > a {
  text-decoration: none;
  display: block;
}
.p-secTopInterview_list > li > a ._info {
  display: flex;
  gap: 14rem;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .p-secTopInterview_list > li > a ._info {
    gap: 8rem;
  }
}
.p-secTopInterview_list > li > a ._info ._num {
  font-size: 27rem;
  font-family: "Oswald", sans-serif;
  font-weight: 400;
  border-radius: 1000px;
  width: 55rem;
  aspect-ratio: 1/1;
  background-color: var(--color-primary);
  color: var(--color-white);
  display: flex;
  justify-content: center;
  align-items: center;
  transform: translateY(-5%);
}
@media screen and (max-width: 768px) {
  .p-secTopInterview_list > li > a ._info ._num {
    width: 40rem;
    font-size: 20rem;
  }
}
.p-secTopInterview_list > li > a ._info > span {
  color: var(--color-primary);
  font-size: 20rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .p-secTopInterview_list > li > a ._info > span {
    font-size: 15rem;
  }
}
.p-secTopInterview_list > li > a ._img {
  margin-top: -20rem;
  margin-left: 30rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-secTopInterview_list > li > a ._img {
    margin-top: -10rem;
    margin-left: 10rem;
  }
}
.p-secTopInterview_list > li > a ._img::before {
  content: "";
  display: none;
  width: 30rem;
  aspect-ratio: 1/1;
  position: absolute;
  top: 50%;
  right: 5rem;
  background: url(../img/common/ico_popup_arrow_2.webp) no-repeat;
  background-size: contain;
  transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .p-secTopInterview_list > li > a ._img::before {
    display: block;
  }
}
.p-secTopInterview_list > li > a ._img ._filter {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  clip-path: polygon(0% 0%, 43.33% 0%, 45.2% 0.03%, 47.06% 0.11%, 48.9% 0.24%, 50.72% 0.42%, 52.52% 0.65%, 54.31% 0.94%, 56.07% 1.27%, 57.81% 1.65%, 59.54% 2.08%, 61.24% 2.55%, 62.91% 3.07%, 64.57% 3.63%, 66.19% 4.24%, 67.79% 4.89%, 69.37% 5.58%, 70.91% 6.32%, 72.43% 7.09%, 73.91% 7.91%, 75.37% 8.76%, 76.79% 9.65%, 78.18% 10.58%, 79.54% 11.55%, 80.86% 12.55%, 82.15% 13.58%, 83.4% 14.65%, 84.61% 15.75%, 85.78% 16.89%, 86.91% 18.06%, 88.01% 19.25%, 89.06% 20.48%, 90.07% 21.73%, 91.04% 23.02%, 91.96% 24.33%, 92.84% 25.67%, 93.67% 27.03%, 94.46% 28.42%, 95.19% 29.83%, 95.88% 31.27%, 96.52% 32.72%, 97.11% 34.2%, 97.65% 35.7%, 98.13% 37.22%, 98.56% 38.76%, 98.94% 40.32%, 99.26% 41.89%, 99.52% 43.49%, 99.73% 45.09%, 99.88% 46.71%, 99.97% 48.35%, 100% 50%, 100% 50%, 99.97% 51.65%, 99.88% 53.29%, 99.73% 54.91%, 99.52% 56.51%, 99.26% 58.11%, 98.94% 59.68%, 98.56% 61.24%, 98.13% 62.78%, 97.65% 64.3%, 97.11% 65.8%, 96.52% 67.28%, 95.88% 68.73%, 95.19% 70.17%, 94.46% 71.58%, 93.67% 72.97%, 92.84% 74.33%, 91.96% 75.67%, 91.04% 76.98%, 90.07% 78.27%, 89.06% 79.52%, 88.01% 80.75%, 86.91% 81.94%, 85.78% 83.11%, 84.61% 84.25%, 83.4% 85.35%, 82.15% 86.42%, 80.86% 87.45%, 79.54% 88.45%, 78.18% 89.42%, 76.79% 90.35%, 75.37% 91.24%, 73.91% 92.09%, 72.43% 92.91%, 70.91% 93.68%, 69.37% 94.42%, 67.79% 95.11%, 66.19% 95.76%, 64.57% 96.37%, 62.91% 96.93%, 61.24% 97.45%, 59.54% 97.92%, 57.81% 98.35%, 56.07% 98.73%, 54.31% 99.06%, 52.52% 99.35%, 50.72% 99.58%, 48.9% 99.76%, 47.06% 99.89%, 45.2% 99.97%, 43.33% 100%, 0% 100%, 0% 0%, 0% 0%, 0% 0%);
  pointer-events: none;
}
.p-secTopInterview_list > li > a ._img ._filter::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: -150%;
  width: 100%;
  height: 150%;
  opacity: 0.2;
  background: linear-gradient(to bottom, var(--color-primary) 0%, var(--color-primary) 66.66%, transparent 100%);
  transition: top 0.7s;
}
.p-secTopInterview_list > li > a ._img > p {
  color: var(--color-black);
  font-size: 16rem;
  position: absolute;
  bottom: 32rem;
  left: 24rem;
  line-height: 1.6;
  z-index: 2;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  letter-spacing: -0.02em;
}
@media screen and (max-width: 768px) {
  .p-secTopInterview_list > li > a ._img > p {
    font-size: 10rem;
    bottom: 16rem;
    left: 6rem;
    line-height: 1.5;
  }
}
.p-secTopInterview_list > li > a ._img > p > span {
  background-color: var(--color-white);
  display: inline-block;
  clip-path: polygon(0% 0%, 0% 100%, 0% 100%, 0% 0%);
  transition: clip-path 0.5s;
  padding: 0 0.2em;
}
.p-secTopInterview_list > li > a ._img > p.is-animation > span {
  clip-path: polygon(0% 0%, 0% 100%, 100% 100%, 100% 0%);
}
.p-secTopInterview_list > li > a:hover ._img ._filter::after {
  top: 0%;
}

/* -----------------------------------
Project
------------------------------------ */
.p-secTopProject {
  padding: 65rem 220rem;
  padding-right: 260rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-secTopProject {
    padding: 50rem 20rem;
  }
}
.p-secTopProject::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url(../img/common/bg_top_grid_3.webp);
  background-position: center;
  z-index: -2;
  pointer-events: none;
}
.p-secTopProject_in {
  position: relative;
  padding-bottom: 47rem;
}
@media screen and (max-width: 768px) {
  .p-secTopProject_in {
    padding-bottom: 0;
    background-color: var(--color-white);
    box-shadow: 5rem 5rem 0px 0px var(--shadow-primary);
    border-radius: 10rem;
    overflow: hidden;
  }
}
.p-secTopProject_img {
  border-radius: 10rem;
  width: 610rem;
}
@media screen and (min-width: 769px) {
  .p-secTopProject_img {
    box-shadow: 5rem 5rem 0px 0px var(--shadow-primary);
  }
}
@media screen and (max-width: 768px) {
  .p-secTopProject_img {
    width: 100%;
    border-radius: 0;
  }
}
.p-secTopProject_txt {
  position: absolute;
  bottom: 0;
  right: 0;
  background-color: var(--color-white);
  width: 433rem;
  border-radius: 10rem;
  padding: 25rem 37rem;
}
@media screen and (min-width: 769px) {
  .p-secTopProject_txt {
    box-shadow: 5rem 5rem 0px 0px var(--shadow-primary);
  }
}
@media screen and (max-width: 768px) {
  .p-secTopProject_txt {
    position: relative;
    bottom: auto;
    right: auto;
    width: 250rem;
    margin-left: auto;
    margin-right: auto;
    padding: 20rem 10rem;
    border-radius: 0;
  }
}
@media screen and (max-width: 768px) {
  .p-secTopProject_txt ._title {
    text-align: center;
  }
}
.p-secTopProject_txt > h3 {
  font-size: 20rem;
  margin-top: 20rem;
}
@media screen and (max-width: 768px) {
  .p-secTopProject_txt > h3 {
    font-size: 15rem;
    margin-top: 14rem;
  }
}
.p-secTopProject_txt > h3 span {
  display: inline-block;
  background-color: var(--color-primary);
  color: var(--color-white);
  line-height: 1.8;
  padding: 0 0.4em;
}
.p-secTopProject_txt > p {
  font-size: 17rem;
  margin-top: 17rem;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .p-secTopProject_txt > p {
    font-size: 13rem;
    margin-top: 12rem;
    line-height: 1.7;
  }
}
.p-secTopProject_txt ._link {
  margin-top: 40rem;
  text-align: right;
}
@media screen and (max-width: 768px) {
  .p-secTopProject_txt ._link {
    margin-top: 10rem;
    text-align: center;
  }
}

/* -----------------------------------
Message
------------------------------------ */
.p-secTopMessage {
  padding: 68rem 0 78rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-secTopMessage {
    padding: 50rem 20rem 60rem;
  }
}
.p-secTopMessage_in {
  display: flex;
  align-items: center;
  gap: 80rem;
}
@media screen and (max-width: 768px) {
  .p-secTopMessage_in {
    flex-direction: column;
    gap: 24rem;
  }
}
.p-secTopMessage_img {
  width: 645rem;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .p-secTopMessage_img {
    width: 100%;
    border-radius: 10rem;
  }
}
.p-secTopMessage_txt {
  flex: 1;
  padding-right: 224rem;
}
@media screen and (max-width: 768px) {
  .p-secTopMessage_txt {
    padding-right: 0;
  }
}
.p-secTopMessage_txt > h2 {
  font-size: 30rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  color: var(--color-white);
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .p-secTopMessage_txt > h2 {
    font-size: 22rem;
    color: var(--color-primary);
    text-align: center;
  }
}
.p-secTopMessage_txt > h2 span {
  display: inline-block;
  background-color: var(--color-primary);
  padding: 0rem 13rem;
}
@media screen and (max-width: 768px) {
  .p-secTopMessage_txt > h2 span {
    background-color: transparent;
    padding: 0;
    color: var(--color-primary);
  }
}
.p-secTopMessage_txt > p {
  font-size: 14rem;
  margin-top: 18rem;
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .p-secTopMessage_txt > p {
    line-height: 1.8;
  }
}

/* -----------------------------------
Recruit
------------------------------------ */
.p-secTopRecruit {
  position: relative;
}
.p-secTopRecruit_list .swiper-wrapper {
  display: flex;
}
.p-secTopRecruit_list .swiper-wrapper .swiper-slide {
  width: 25%;
}
@media screen and (max-width: 768px) {
  .p-secTopRecruit_list .swiper-wrapper .swiper-slide {
    width: 80%;
  }
}
.p-secTopRecruit_in {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: var(--color-white-soft);
  padding: 35rem 90rem;
  padding-right: 40rem;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 734rem;
  border-radius: 10rem;
  box-shadow: 5rem 5rem 0px 0px var(--shadow-primary-soft);
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .p-secTopRecruit_in {
    flex-direction: column;
    gap: 10rem;
    padding: 24rem 24rem;
    width: 250rem;
  }
}
@media screen and (max-width: 768px) {
  .p-secTopRecruit_title {
    text-align: center;
  }
}
/*
 * _project_future.scss
 */
/* -----------------------------------
Lead
------------------------------------ */
.p-secFutureLead {
  margin-top: 102rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-secFutureLead {
    margin-top: 60rem;
    padding: 0 20rem;
  }
}
.p-secFutureLead_txt {
  width: 820rem;
  margin: 0 auto;
  font-size: 20rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  line-height: 1.9;
  text-align: justify;
}
@media screen and (max-width: 768px) {
  .p-secFutureLead_txt {
    width: 100%;
    font-size: 15rem;
    line-height: 1.85;
  }
}

/* -----------------------------------
Story
------------------------------------ */
.p-secFutureStory {
  margin: 78rem auto 0rem;
  padding-bottom: 100rem;
  position: relative;
  width: 1000rem;
}
@media screen and (max-width: 768px) {
  .p-secFutureStory {
    margin: 40rem auto 0rem;
    padding-bottom: 50rem;
    width: 370rem;
  }
}
.p-secFutureStory_in {
  background-color: var(--color-white);
  box-shadow: 5rem 5rem 10rem var(--shadow-black-soft);
}
.p-secFutureStory_item {
  display: flex;
  gap: 45rem;
  padding: 50rem;
}
@media screen and (max-width: 768px) {
  .p-secFutureStory_item {
    gap: 0rem;
    padding: 0rem;
    flex-flow: column;
  }
}
.p-secFutureStory_item:nth-of-type(n+2) {
  border-top: 1px solid var(--color-bg-subtle);
}
@media screen and (max-width: 768px) {
  .p-secFutureStory_item:nth-of-type(n+2) {
    border-top: none;
    margin-top: 0;
  }
}
@media screen and (min-width: 769px) {
  .p-secFutureStory_item:nth-of-type(2n) {
    flex-flow: row-reverse;
  }
}
.p-secFutureStory_txt {
  flex: 1;
  margin-top: -5rem;
}
@media screen and (max-width: 768px) {
  .p-secFutureStory_txt {
    margin-top: 0;
    padding: 20rem;
  }
}
.p-secFutureStory_txt > span {
  font-size: 15rem;
  display: block;
  color: var(--color-primary);
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .p-secFutureStory_txt > span {
    font-size: 13rem;
    text-align: center;
  }
}
.p-secFutureStory_txt > h2 {
  margin-top: 16rem;
  font-size: 30rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .p-secFutureStory_txt > h2 {
    font-size: 22rem;
    margin-top: 10rem;
    text-align: center;
  }
}
.p-secFutureStory_txt > h2 > span {
  display: block;
  line-height: 1.3;
}
.p-secFutureStory_txt > p {
  font-size: 15rem;
  margin-top: 21rem;
  text-align: justify;
}
@media screen and (max-width: 768px) {
  .p-secFutureStory_txt > p {
    font-size: 14rem;
    margin-top: 14rem;
    line-height: 1.8;
  }
}
.p-secFutureStory_img {
  width: 300rem;
}
@media screen and (max-width: 768px) {
  .p-secFutureStory_img {
    width: 100%;
  }
}

/*
 * _project_recruit.scss
 */
/* -----------------------------------
Mv
------------------------------------ */
/* -----------------------------------
Overview
------------------------------------ */
.p-secRecruitOverview {
  width: 1200rem;
  margin: 172rem auto 0;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-secRecruitOverview {
    width: calc(100% - 30rem);
    margin-top: 60rem;
  }
}
.p-secRecruitOverview_title {
  padding-left: 100rem;
}
@media screen and (max-width: 768px) {
  .p-secRecruitOverview_title {
    padding-left: 0;
    text-align: center;
  }
}
.p-secRecruitOverview_list {
  box-shadow: 5rem 5rem 10rem var(--shadow-black-soft);
  background-color: var(--color-white);
  border-radius: 20rem;
  padding: 35rem 106rem;
  margin-top: 20rem;
}
@media screen and (max-width: 768px) {
  .p-secRecruitOverview_list {
    padding: 16rem 20rem;
    border-radius: 12rem;
  }
}
.p-secRecruitOverview_list dl {
  display: flex;
  padding: 25rem 25rem;
}
@media screen and (max-width: 768px) {
  .p-secRecruitOverview_list dl {
    flex-direction: column;
    padding: 16rem 0;
    gap: 4rem;
  }
}
.p-secRecruitOverview_list dl:nth-of-type(n+2) {
  border-top: 1px solid var(--color-recruit-accent);
}
.p-secRecruitOverview_list dl > dt {
  font-size: 17rem;
  width: 130rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .p-secRecruitOverview_list dl > dt {
    font-size: 14rem;
    width: 100%;
    color: var(--color-primary);
  }
}
.p-secRecruitOverview_list dl > dd {
  font-size: 17rem;
  position: relative;
  line-height: 1.6;
  flex: 1;
}
@media screen and (max-width: 768px) {
  .p-secRecruitOverview_list dl > dd {
    font-size: 14rem;
    line-height: 1.8;
  }
}
.p-secRecruitOverview_list dl > dd ._link {
  position: absolute;
  top: 50%;
  right: -25rem;
  transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .p-secRecruitOverview_list dl > dd ._link {
    width: 100%;
    position: static;
    transform: none;
    margin-top: 15rem;
    display: inline-block;
    text-align: center;
  }
}

/* -----------------------------------
Welfare
------------------------------------ */
.p-secRecruitWelfare {
  margin: 92rem auto 0;
  position: relative;
  width: 1000rem;
}
@media screen and (max-width: 768px) {
  .p-secRecruitWelfare {
    margin-top: 50rem;
    width: 350rem;
  }
}
@media screen and (max-width: 768px) {
  .p-secRecruitWelfare_title {
    text-align: center;
  }
}
.p-secRecruitWelfare_list {
  display: grid;
  grid-template-columns: repeat(32, 1fr);
  gap: 10rem;
  width: 1000rem;
  margin: 16rem auto 0;
}
@media screen and (max-width: 768px) {
  .p-secRecruitWelfare_list {
    gap: 8rem;
    width: 350rem;
    margin: 30rem auto 0;
    grid-template-columns: repeat(2, 1fr);
  }
}
.p-secRecruitWelfare_list > li {
  background-color: var(--color-white);
  border: 1px solid var(--color-primary);
  border-radius: 10rem;
  padding: 17rem 0 0;
  height: 274rem;
}
@media screen and (max-width: 768px) {
  .p-secRecruitWelfare_list > li {
    border-radius: 10rem;
    padding: 10rem 10rem 30rem;
    height: 240rem;
  }
}
@media screen and (min-width: 769px) {
  .p-secRecruitWelfare_list > li._col1 {
    grid-column: span 1;
  }
}
@media screen and (min-width: 769px) {
  .p-secRecruitWelfare_list > li._col2 {
    grid-column: span 2;
  }
}
@media screen and (min-width: 769px) {
  .p-secRecruitWelfare_list > li._col3 {
    grid-column: span 3;
  }
}
@media screen and (min-width: 769px) {
  .p-secRecruitWelfare_list > li._col4 {
    grid-column: span 4;
  }
}
@media screen and (min-width: 769px) {
  .p-secRecruitWelfare_list > li._col5 {
    grid-column: span 5;
  }
}
@media screen and (min-width: 769px) {
  .p-secRecruitWelfare_list > li._col6 {
    grid-column: span 6;
  }
}
@media screen and (min-width: 769px) {
  .p-secRecruitWelfare_list > li._col7 {
    grid-column: span 7;
  }
}
@media screen and (min-width: 769px) {
  .p-secRecruitWelfare_list > li._col8 {
    grid-column: span 8;
  }
}
@media screen and (min-width: 769px) {
  .p-secRecruitWelfare_list > li._col9 {
    grid-column: span 9;
  }
}
@media screen and (min-width: 769px) {
  .p-secRecruitWelfare_list > li._col10 {
    grid-column: span 10;
  }
}
@media screen and (min-width: 769px) {
  .p-secRecruitWelfare_list > li._col11 {
    grid-column: span 11;
  }
}
@media screen and (min-width: 769px) {
  .p-secRecruitWelfare_list > li._col12 {
    grid-column: span 12;
  }
}
@media screen and (min-width: 769px) {
  .p-secRecruitWelfare_list > li._col13 {
    grid-column: span 13;
  }
}
@media screen and (min-width: 769px) {
  .p-secRecruitWelfare_list > li._col14 {
    grid-column: span 14;
  }
}
@media screen and (min-width: 769px) {
  .p-secRecruitWelfare_list > li._col15 {
    grid-column: span 15;
  }
}
@media screen and (min-width: 769px) {
  .p-secRecruitWelfare_list > li._col16 {
    grid-column: span 16;
  }
}
@media screen and (min-width: 769px) {
  .p-secRecruitWelfare_list > li._col17 {
    grid-column: span 17;
  }
}
@media screen and (min-width: 769px) {
  .p-secRecruitWelfare_list > li._col18 {
    grid-column: span 18;
  }
}
@media screen and (min-width: 769px) {
  .p-secRecruitWelfare_list > li._col19 {
    grid-column: span 19;
  }
}
@media screen and (min-width: 769px) {
  .p-secRecruitWelfare_list > li._col20 {
    grid-column: span 20;
  }
}
@media screen and (min-width: 769px) {
  .p-secRecruitWelfare_list > li._col21 {
    grid-column: span 21;
  }
}
@media screen and (min-width: 769px) {
  .p-secRecruitWelfare_list > li._col22 {
    grid-column: span 22;
  }
}
@media screen and (min-width: 769px) {
  .p-secRecruitWelfare_list > li._col23 {
    grid-column: span 23;
  }
}
@media screen and (min-width: 769px) {
  .p-secRecruitWelfare_list > li._col24 {
    grid-column: span 24;
  }
}
@media screen and (min-width: 769px) {
  .p-secRecruitWelfare_list > li._col25 {
    grid-column: span 25;
  }
}
@media screen and (min-width: 769px) {
  .p-secRecruitWelfare_list > li._col26 {
    grid-column: span 26;
  }
}
@media screen and (min-width: 769px) {
  .p-secRecruitWelfare_list > li._col27 {
    grid-column: span 27;
  }
}
@media screen and (min-width: 769px) {
  .p-secRecruitWelfare_list > li._col28 {
    grid-column: span 28;
  }
}
@media screen and (min-width: 769px) {
  .p-secRecruitWelfare_list > li._col29 {
    grid-column: span 29;
  }
}
@media screen and (min-width: 769px) {
  .p-secRecruitWelfare_list > li._col30 {
    grid-column: span 30;
  }
}
@media screen and (min-width: 769px) {
  .p-secRecruitWelfare_list > li._col31 {
    grid-column: span 31;
  }
}
@media screen and (min-width: 769px) {
  .p-secRecruitWelfare_list > li._col32 {
    grid-column: span 32;
  }
}
.p-secRecruitWelfare_list > li h3 {
  font-size: 22rem;
  text-align: center;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .p-secRecruitWelfare_list > li h3 {
    font-size: 18rem;
  }
}
.p-secRecruitWelfare_list > li h3 span {
  background-color: var(--color-recruit-accent);
  display: inline-block;
  border-radius: 1000px;
  padding: 0 20rem;
}
@media screen and (max-width: 768px) {
  .p-secRecruitWelfare_list > li h3 span {
    padding: 0 20rem;
  }
  .p-secRecruitWelfare_list > li h3 span.-tight {
    padding: 0 10rem;
  }
}
.p-secRecruitWelfare_list > li ._col {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20rem;
  margin-top: 22rem;
}
@media screen and (max-width: 768px) {
  .p-secRecruitWelfare_list > li ._col {
    gap: 0rem;
    margin-top: 5rem;
    justify-content: space-between;
    flex-flow: column;
  }
}
@media screen and (min-width: 769px) {
  .p-secRecruitWelfare_list > li ._col.-row {
    flex-flow: column;
    gap: 0;
    margin-top: 0;
  }
  .p-secRecruitWelfare_list > li ._col.-row ._img {
    height: 125rem;
    display: flex;
    align-items: center;
  }
  .p-secRecruitWelfare_list > li ._col.-row ul {
    width: 100%;
    padding: 0 15rem;
  }
}
@media screen and (max-width: 768px) {
  .p-secRecruitWelfare_list > li ._col ._left {
    width: 120rem;
    height: 100rem;
    display: flex;
    align-items: center;
  }
}
@media screen and (max-width: 768px) {
  .p-secRecruitWelfare_list > li ._col ._left ._img {
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (max-width: 768px) {
  .p-secRecruitWelfare_list > li ._col ul {
    width: 90%;
    margin: 0 auto;
  }
}
.p-secRecruitWelfare_list > li ._col ul li {
  font-size: 16rem;
  line-height: 2;
  white-space: nowrap;
  text-indent: -1em;
  padding-left: 1em;
}
@media screen and (max-width: 768px) {
  .p-secRecruitWelfare_list > li ._col ul li {
    font-size: 12rem;
    line-height: 1.35;
  }
}
.p-secRecruitWelfare_list > li ._col ul li::before {
  content: "・";
}
.p-secRecruitWelfare_list > li:nth-of-type(1) ._col ._img {
  width: 105rem;
}
@media screen and (max-width: 768px) {
  .p-secRecruitWelfare_list > li:nth-of-type(1) ._col ._img {
    width: 78rem;
  }
}
.p-secRecruitWelfare_list > li:nth-of-type(2) ._col ._img {
  width: 93rem;
}
@media screen and (max-width: 768px) {
  .p-secRecruitWelfare_list > li:nth-of-type(2) ._col ._img {
    width: 67rem;
  }
}
.p-secRecruitWelfare_list > li:nth-of-type(3) ._col ._img {
  width: 105rem;
}
@media screen and (max-width: 768px) {
  .p-secRecruitWelfare_list > li:nth-of-type(3) ._col ._img {
    width: 63rem;
  }
}
.p-secRecruitWelfare_list > li:nth-of-type(4) ._col ._img {
  width: 112rem;
}
@media screen and (max-width: 768px) {
  .p-secRecruitWelfare_list > li:nth-of-type(4) ._col ._img {
    width: 80rem;
  }
}
.p-secRecruitWelfare_list > li:nth-of-type(5) ._col ._img {
  width: 132rem;
}
@media screen and (max-width: 768px) {
  .p-secRecruitWelfare_list > li:nth-of-type(5) ._col ._img {
    width: 100rem;
  }
}
.p-secRecruitWelfare_list > li:nth-of-type(6) ._col ._img {
  width: 90rem;
}
@media screen and (max-width: 768px) {
  .p-secRecruitWelfare_list > li:nth-of-type(6) ._col ._img {
    width: 64rem;
  }
}
.p-secRecruitWelfare_list > li:nth-of-type(7) ._col ._img {
  width: 119rem;
}
@media screen and (max-width: 768px) {
  .p-secRecruitWelfare_list > li:nth-of-type(7) ._col ._img {
    width: 87rem;
  }
}
.p-secRecruitWelfare_list > li:nth-of-type(8) ._col ._img {
  width: 70rem;
}
@media screen and (max-width: 768px) {
  .p-secRecruitWelfare_list > li:nth-of-type(8) ._col ._img {
    width: 52rem;
  }
}
.p-secRecruitWelfare_list > li:nth-of-type(9) ._col ._img {
  width: 114rem;
}
@media screen and (max-width: 768px) {
  .p-secRecruitWelfare_list > li:nth-of-type(9) ._col ._img {
    width: 79rem;
  }
}
.p-secRecruitWelfare_list > li:nth-of-type(10) ._col ._img {
  width: 134rem;
}
@media screen and (max-width: 768px) {
  .p-secRecruitWelfare_list > li:nth-of-type(10) ._col ._img {
    width: 88rem;
  }
}

/* -----------------------------------
Dormitory
------------------------------------ */
.p-secRecruitDormitory {
  width: 1000rem;
  margin: 30rem auto 0;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-secRecruitDormitory {
    width: calc(100% - 40rem);
    margin-top: 40rem;
  }
}
@media screen and (max-width: 768px) {
  .p-secRecruitDormitory_title {
    text-align: center;
  }
}
.p-secRecruitDormitory_col {
  display: flex;
  margin-top: 18rem;
  gap: 22rem;
}
@media screen and (max-width: 768px) {
  .p-secRecruitDormitory_col {
    flex-direction: column;
    gap: 16rem;
  }
}
.p-secRecruitDormitory_col > div:nth-of-type(1) {
  flex: 1;
}
.p-secRecruitDormitory_info {
  background-color: var(--color-white);
  box-shadow: 5rem 5rem 10rem var(--shadow-black-soft);
  height: 100%;
  padding: 20rem;
  line-height: 1.6;
}
.p-secRecruitDormitory_info ._price {
  color: var(--color-primary);
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 32rem;
}
@media screen and (max-width: 768px) {
  .p-secRecruitDormitory_info ._price {
    font-size: 24rem;
  }
}
.p-secRecruitDormitory_info ._note {
  font-size: 14rem;
}
.p-secRecruitDormitory_info ._desc {
  font-size: 14rem;
  margin-top: 16rem;
}
.p-secRecruitDormitory_imgWrap {
  position: relative;
  width: 684rem;
}
@media screen and (max-width: 768px) {
  .p-secRecruitDormitory_imgWrap {
    width: 100%;
  }
}
.p-secRecruitDormitory_img {
  width: 100%;
  box-shadow: 5rem 5rem 10rem var(--shadow-black-soft);
}
.p-secRecruitDormitory_img .swiper-slide img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-secRecruitDormitory_prev, .p-secRecruitDormitory_next {
  position: absolute;
  top: 50%;
  margin: 0; /* Swiperデフォルトの margin-top: -22px を打ち消す（これが無いと上にズレる） */
  transform: translateY(-50%);
  z-index: 5;
  width: 36rem;
  height: 36rem;
  background-color: transparent;
  background-image: url(../img/common/ico_popup_arrow.webp);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  border: none;
  padding: 0;
  cursor: pointer;
  transition: opacity 0.3s;
}
.p-secRecruitDormitory_prev::after, .p-secRecruitDormitory_next::after {
  display: none;
}
.p-secRecruitDormitory_prev.swiper-button-disabled, .p-secRecruitDormitory_next.swiper-button-disabled {
  opacity: 0.4;
  cursor: default;
}
@media screen and (max-width: 768px) {
  .p-secRecruitDormitory_prev, .p-secRecruitDormitory_next {
    width: 30rem;
    height: 30rem;
  }
}
.p-secRecruitDormitory_prev {
  left: 0;
  transform: translate(-50%, -50%) scale(-1);
}
@media screen and (max-width: 768px) {
  .p-secRecruitDormitory_prev {
    left: 8rem;
  }
}
.p-secRecruitDormitory_next {
  right: 0;
  transform: translate(50%, -50%);
}
@media screen and (max-width: 768px) {
  .p-secRecruitDormitory_next {
    right: 8rem;
  }
}

/* -----------------------------------
Flow
------------------------------------ */
.p-secRecruitFlow {
  width: 1000rem;
  margin: 85rem auto 0;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-secRecruitFlow {
    width: 350rem;
    margin-top: 60rem;
  }
}
@media screen and (max-width: 768px) {
  .p-secRecruitFlow_title {
    text-align: center;
  }
}
.p-secRecruitFlow_list {
  margin-top: 35rem;
  display: flex;
  gap: 35rem;
}
@media screen and (max-width: 768px) {
  .p-secRecruitFlow_list {
    gap: 20rem 25rem;
    margin-top: 24rem;
    margin-left: auto;
    margin-right: auto;
    width: -moz-fit-content;
    width: fit-content;
    display: grid;
    grid-template-columns: repeat(3, 91rem);
  }
}
.p-secRecruitFlow_list > li {
  flex: 1;
}
.p-secRecruitFlow_list > li ._img {
  position: relative;
}
.p-secRecruitFlow_list > li:nth-of-type(n+2) ._img::before {
  content: "";
  display: block;
  width: 35rem;
  aspect-ratio: 300/132;
  background: url(../img/common/ico_arrow_blue.svg) no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(-100%, -50%);
}
@media screen and (max-width: 768px) {
  .p-secRecruitFlow_list > li:nth-of-type(n+2) ._img::before {
    width: 25rem;
  }
}
@media screen and (max-width: 768px) {
  .p-secRecruitFlow_list > li:nth-of-type(4) ._img::before {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .p-secRecruitFlow_list > li:nth-of-type(-n+3) {
    transform: translateX(-10rem);
  }
}
@media screen and (max-width: 768px) {
  .p-secRecruitFlow_list > li:nth-of-type(n+4) {
    transform: translateX(10rem);
  }
}
.p-secRecruitFlow_list > li > p {
  text-align: center;
  font-size: 20rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  margin-top: 23rem;
}
@media screen and (max-width: 768px) {
  .p-secRecruitFlow_list > li > p {
    font-size: 15rem;
    margin-top: 8rem;
  }
}

/* -----------------------------------
Faq
------------------------------------ */
.p-secRecruitFaq {
  padding-bottom: 96rem;
  width: 1000rem;
  margin: 128rem auto 0;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-secRecruitFaq {
    margin-top: 50rem;
    width: 350rem;
  }
}
@media screen and (max-width: 768px) {
  .p-secRecruitFaq_title {
    text-align: center;
  }
}
.p-secRecruitFaq_list {
  margin-top: 39rem;
}
@media screen and (max-width: 768px) {
  .p-secRecruitFaq_list {
    margin-top: 39rem;
    width: auto;
  }
}
.p-secRecruitFaq_list > li {
  border: 1px solid var(--color-primary);
  border-radius: 10rem;
  padding: 0 60rem;
  cursor: pointer;
  background-color: var(--color-white);
}
@media screen and (max-width: 768px) {
  .p-secRecruitFaq_list > li {
    border-radius: 10rem;
    padding: 0 15rem;
    padding-right: 35rem;
  }
}
.p-secRecruitFaq_list > li:nth-of-type(n+2) {
  margin-top: 10rem;
}
@media screen and (max-width: 768px) {
  .p-secRecruitFaq_list > li:nth-of-type(n+2) {
    margin-top: 10rem;
  }
}
.p-secRecruitFaq_list > li > div {
  padding: 13rem 0;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-secRecruitFaq_list > li > div {
    padding: 13rem 0;
  }
}
.p-secRecruitFaq_list > li > div ._icon {
  display: block;
  position: absolute;
  top: 50%;
  right: -22rem;
  width: 24rem;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: var(--color-primary);
  transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .p-secRecruitFaq_list > li > div ._icon {
    right: -25rem;
    width: 24rem;
  }
}
.p-secRecruitFaq_list > li > div ._icon::before {
  content: "";
  display: block;
  width: 8rem;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(90deg);
  border-top: 1px solid var(--color-white);
  transition: transform 0.3s ease;
}
@media screen and (max-width: 768px) {
  .p-secRecruitFaq_list > li > div ._icon::before {
    width: 8rem;
  }
}
.p-secRecruitFaq_list > li > div ._icon::after {
  content: "";
  display: block;
  width: 8rem;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-top: 1px solid var(--color-white);
}
@media screen and (max-width: 768px) {
  .p-secRecruitFaq_list > li > div ._icon::after {
    width: 8rem;
  }
}
.p-secRecruitFaq_list > li > div > div {
  display: flex;
  align-items: center;
  gap: 32rem;
}
@media screen and (max-width: 768px) {
  .p-secRecruitFaq_list > li > div > div {
    gap: 20rem;
  }
}
.p-secRecruitFaq_list > li > div > div > span {
  font-size: 25rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  color: var(--color-primary);
}
@media screen and (max-width: 768px) {
  .p-secRecruitFaq_list > li > div > div > span {
    font-size: 16rem;
  }
}
.p-secRecruitFaq_list > li > div._q p {
  font-size: 20rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .p-secRecruitFaq_list > li > div._q p {
    font-size: 16rem;
  }
}
.p-secRecruitFaq_list > li > div._a {
  padding-top: 22rem;
  padding-bottom: 24rem;
  border-top: 1px solid var(--color-faq-border);
  display: none;
}
@media screen and (max-width: 768px) {
  .p-secRecruitFaq_list > li > div._a {
    padding-top: 22rem;
    padding-bottom: 24rem;
  }
}
.p-secRecruitFaq_list > li > div._a p {
  font-size: 15rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .p-secRecruitFaq_list > li > div._a p {
    font-size: 14rem;
  }
}
.p-secRecruitFaq_list > li.is-active ._icon::before {
  transform: translate(-50%, -50%) rotate(0deg);
}
/*
 * _project_project.scss
 */
/* -----------------------------------
Prologue
------------------------------------ */
.p-secProjectPrologue {
  width: 820rem;
  margin: 68rem auto 0;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-secProjectPrologue {
    width: calc(100% - 40rem);
    margin-top: 40rem;
  }
}
.p-secProjectPrologue_title {
  text-align: center;
}
.p-secProjectPrologue_title > h2 {
  font-size: 30rem;
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  color: var(--color-primary);
}
@media screen and (max-width: 768px) {
  .p-secProjectPrologue_title > h2 {
    font-size: 24rem;
  }
}
.p-secProjectPrologue_title > span {
  color: var(--color-primary);
  font-size: 20rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  display: block;
  margin-top: 3rem;
}
@media screen and (max-width: 768px) {
  .p-secProjectPrologue_title > span {
    font-size: 15rem;
  }
}
.p-secProjectPrologue_txt {
  margin-top: 40rem;
  font-size: 20rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  line-height: 1.9;
  text-align: justify;
}
@media screen and (max-width: 768px) {
  .p-secProjectPrologue_txt {
    margin-top: 24rem;
    font-size: 15rem;
    line-height: 1.85;
  }
}
.p-secProjectPrologue_txt ._marker {
  background: linear-gradient(transparent 60%, var(--color-project-marker) 60%) left center/0% 100% no-repeat;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  transition: background-size 0.8s ease;
}
.p-secProjectPrologue_txt ._marker.is-animation {
  background-size: 100% 100%;
}

/* -----------------------------------
Members
------------------------------------ */
.p-secProjectMembers {
  width: 1027rem;
  margin: 66rem auto 0;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-secProjectMembers {
    width: calc(100% - 40rem);
    margin-top: 50rem;
  }
}
.p-secProjectMembers_title {
  text-align: center;
}
.p-secProjectMembers_title > h2 {
  font-size: 30rem;
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  color: var(--color-primary);
}
@media screen and (max-width: 768px) {
  .p-secProjectMembers_title > h2 {
    font-size: 24rem;
  }
}
.p-secProjectMembers_list {
  display: flex;
  gap: 45rem;
  margin-top: 58rem;
}
@media screen and (max-width: 768px) {
  .p-secProjectMembers_list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40rem 20rem;
    margin-top: 30rem;
  }
}
.p-secProjectMembers_list > li {
  flex: 1;
}
.p-secProjectMembers_list > li ._img {
  position: relative;
}
.p-secProjectMembers_list > li ._img > span {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 0;
  left: 0;
  transform: translate(-50%, -50%);
  color: var(--color-white);
  border-radius: 50%;
  width: 55rem;
  aspect-ratio: 1/1;
  font-size: 15rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  line-height: 1.2;
}
@media screen and (max-width: 768px) {
  .p-secProjectMembers_list > li ._img > span {
    width: 40rem;
    font-size: 12rem;
  }
}
.p-secProjectMembers_list > li ._img > span.-blue {
  background-color: var(--color-primary);
}
.p-secProjectMembers_list > li ._img > span.-light_blue {
  background-color: var(--color-project-accent-1);
}
.p-secProjectMembers_list > li ._img > span.-green {
  background-color: var(--color-project-accent-2);
}
.p-secProjectMembers_list > li ._img > span.-blue2 {
  background-color: var(--color-project-accent-3);
}
.p-secProjectMembers_list > li ._info {
  margin-top: 10rem;
}
.p-secProjectMembers_list > li ._info > p {
  line-height: 1.6;
  text-align: justify;
}
.p-secProjectMembers_list > li ._info > p:nth-of-type(n+2) {
  margin-top: 15rem;
}
.p-secProjectMembers_list > li ._info > p > span {
  font-size: 13rem;
  display: block;
}
.p-secProjectMembers_list > li ._info > p > span.-large {
  font-size: 16rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 900;
}

/* -----------------------------------
Gallery
------------------------------------ */
.p-secProjectGallery {
  margin: 90rem auto 0;
  position: relative;
}
.p-secProjectChapter + .p-secProjectGallery {
  margin-top: 64rem;
}
.p-secProjectGallery_img {
  display: flex;
}
.p-secProjectGallery_img > div {
  flex: 1;
}

/* -----------------------------------
Chapter
------------------------------------ */
.p-secProjectChapter {
  width: 1000rem;
  margin: 65rem auto 0;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-secProjectChapter {
    width: 350rem;
    margin-top: 60rem;
  }
}
.p-secProjectChapter_in {
  display: flex;
}
@media screen and (max-width: 768px) {
  .p-secProjectChapter_in {
    flex-direction: column;
    gap: 20rem;
  }
}
.p-secProjectChapter_title {
  width: 397rem;
}
@media screen and (max-width: 768px) {
  .p-secProjectChapter_title {
    width: 100%;
  }
}
.p-secProjectChapter_title > span {
  font-size: 20rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  color: var(--color-project-accent-1);
  display: block;
}
@media screen and (max-width: 768px) {
  .p-secProjectChapter_title > span {
    font-size: 15rem;
    text-align: center;
  }
}
.p-secProjectChapter_title > h2 {
  font-size: 30rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  color: var(--color-primary);
  line-height: 1.55;
  margin-top: 15rem;
}
@media screen and (max-width: 768px) {
  .p-secProjectChapter_title > h2 {
    font-size: 22rem;
    margin-top: 5rem;
    text-align: center;
  }
}
.p-secProjectChapter_list {
  flex: 1;
  padding-top: 15rem;
}
.p-secProjectChapter_list > li {
  display: flex;
  gap: 22rem;
}
@media screen and (max-width: 768px) {
  .p-secProjectChapter_list > li {
    gap: 14rem;
  }
}
.p-secProjectChapter_list > li:nth-of-type(n+2) {
  margin-top: 40rem;
}
@media screen and (max-width: 768px) {
  .p-secProjectChapter_list > li:nth-of-type(n+2) {
    margin-top: 24rem;
  }
}
.p-secProjectChapter_list > li ._left {
  width: 80rem;
}
@media screen and (max-width: 768px) {
  .p-secProjectChapter_list > li ._left {
    width: 70rem;
  }
}
.p-secProjectChapter_list > li ._left ._role {
  text-align: center;
  margin-top: 4rem;
}
.p-secProjectChapter_list > li ._left ._role > span {
  font-size: 13rem;
  display: inline-block;
  background-color: var(--color-primary);
  color: var(--color-white);
  padding: 0.15em 0.3em;
  line-height: 1;
}
.p-secProjectChapter_list > li ._left ._role.-blue > span {
  background-color: var(--color-primary);
}
.p-secProjectChapter_list > li ._left ._role.-light_blue > span {
  background-color: var(--color-project-accent-1);
}
.p-secProjectChapter_list > li ._left ._role.-green > span {
  background-color: var(--color-project-accent-2);
}
.p-secProjectChapter_list > li ._left ._role.-blue2 > span {
  background-color: var(--color-project-accent-3);
}
.p-secProjectChapter_list > li ._right {
  flex: 1;
}
.p-secProjectChapter_list > li ._right > p {
  font-size: 16rem;
  line-height: 1.6;
  text-align: justify;
}
@media screen and (max-width: 768px) {
  .p-secProjectChapter_list > li ._right > p {
    font-size: 14rem;
    line-height: 1.8;
  }
}

/* -----------------------------------
Gallery
------------------------------------ */
/*
 * _project_business.scss
 */
@keyframes anim_mv_img {
  0% {
    transform: translateX(80rem);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
/* -----------------------------------
Card
------------------------------------ */
.p-secBusinessCard {
  width: 1200rem;
  margin: 0 auto;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-secBusinessCard {
    width: calc(100% - 30rem);
  }
}
.p-secBusinessCard + .p-secBusinessCard {
  margin-top: 50rem;
}
@media screen and (max-width: 768px) {
  .p-secBusinessCard + .p-secBusinessCard {
    margin-top: 30rem;
  }
}
.p-secBusinessCard.-mt {
  margin-top: 161rem;
}
@media screen and (max-width: 768px) {
  .p-secBusinessCard.-mt {
    margin-top: 80rem;
  }
}
.p-secBusinessCard.-mb {
  padding-bottom: 82rem;
}
@media screen and (max-width: 768px) {
  .p-secBusinessCard.-mb {
    padding-bottom: 40rem;
  }
}
.p-secBusinessCard_in {
  padding: 44rem 100rem 62rem;
  background-color: var(--color-white);
  box-shadow: 5rem 5rem 10rem var(--shadow-black-soft);
  border-radius: 10rem;
}
@media screen and (max-width: 768px) {
  .p-secBusinessCard_in {
    padding: 24rem 20rem 30rem;
  }
}
.p-secBusinessCard.-business .p-secBusinessCard_in {
  background-color: var(--color-business-bg-1);
  padding-bottom: 30rem;
}
.p-secBusinessCard_wrapper:nth-of-type(n+2) {
  margin-top: 70rem;
}
@media screen and (max-width: 768px) {
  .p-secBusinessCard_wrapper:nth-of-type(n+2) {
    margin-top: 40rem;
  }
}
.p-secBusinessCard_head {
  font-size: 20rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  color: var(--color-primary);
}
@media screen and (max-width: 768px) {
  .p-secBusinessCard_head {
    font-size: 17rem;
  }
}
.p-secBusinessCard_item {
  margin-top: 8rem;
}
.p-secBusinessCard_item.-mt {
  margin-top: 30rem;
}

/* -----------------------------------
Job
------------------------------------ */
.p-businessJob_block:nth-of-type(n+2) {
  margin-top: 63rem;
}
@media screen and (max-width: 768px) {
  .p-businessJob_block:nth-of-type(n+2) {
    margin-top: 40rem;
  }
}
.p-businessJob_txt {
  font-size: 15rem;
  margin-top: 20rem;
}
@media screen and (max-width: 768px) {
  .p-businessJob_txt {
    font-size: 14rem;
    line-height: 1.8;
    letter-spacing: -0.03em;
  }
}
.p-businessJob_img {
  pointer-events: none;
  margin-top: -84rem;
}
@media screen and (max-width: 768px) {
  .p-businessJob_img {
    pointer-events: auto;
    margin-top: 20rem;
    width: 100%;
    overflow-x: auto;
  }
  .p-businessJob_img img {
    width: 250%;
    max-width: none;
  }
}

/* -----------------------------------
Product
------------------------------------ */
.p-businessProduct_lead {
  display: flex;
}
@media screen and (max-width: 768px) {
  .p-businessProduct_lead {
    flex-direction: column;
    gap: 16rem;
  }
}
.p-businessProduct_lead ._left {
  width: 460rem;
}
@media screen and (max-width: 768px) {
  .p-businessProduct_lead ._left {
    width: 100%;
  }
}
.p-businessProduct_lead ._right {
  flex: 1;
}
.p-businessProduct_lead ._right p {
  font-size: 15rem;
}
@media screen and (max-width: 768px) {
  .p-businessProduct_lead ._right p {
    font-size: 14rem;
    line-height: 1.8;
    letter-spacing: -0.03em;
  }
}
.p-businessProduct_sliderWrap {
  position: relative;
  margin-top: 35rem;
  margin-left: -30rem;
  margin-right: -30rem;
}
@media screen and (max-width: 768px) {
  .p-businessProduct_sliderWrap {
    margin-left: -15rem;
    margin-right: -15rem;
  }
}
.p-businessProduct_slider {
  padding-bottom: 45rem;
}
@media screen and (max-width: 768px) {
  .p-businessProduct_slider {
    padding-bottom: 30rem;
  }
}
@media screen and (max-width: 768px) {
  .p-businessProduct_slider .swiper-wrapper {
    display: block;
  }
}
.p-businessProduct_slider ._list1 {
  display: flex;
  gap: 17rem;
}
@media screen and (max-width: 768px) {
  .p-businessProduct_slider ._list1 {
    flex-flow: column;
    align-items: stretch;
    gap: 10rem;
  }
}
.p-businessProduct_slider ._list1 > li {
  display: flex;
}
@media screen and (max-width: 768px) {
  .p-businessProduct_slider ._list1 > li {
    flex-flow: column-reverse;
  }
}
.p-businessProduct_slider ._list1 > li:nth-of-type(1) {
  flex: 1;
}
.p-businessProduct_slider ._list1 > li:nth-of-type(2) {
  width: 480rem;
}
@media screen and (max-width: 768px) {
  .p-businessProduct_slider ._list1 > li:nth-of-type(2) {
    width: auto;
    flex: 1;
  }
}
.p-businessProduct_slider ._list1 > li ._info {
  background-color: var(--color-white);
  padding: 15rem 12rem;
  flex: 1;
}
@media screen and (max-width: 768px) {
  .p-businessProduct_slider ._list1 > li ._info {
    flex: 1 1 50%;
    padding: 15rem 25rem;
  }
}
.p-businessProduct_slider ._list1 > li ._info > span {
  font-size: 14rem;
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  color: var(--color-primary);
  display: block;
}
@media screen and (max-width: 768px) {
  .p-businessProduct_slider ._list1 > li ._info > span {
    font-size: 12rem;
  }
}
.p-businessProduct_slider ._list1 > li ._info > h3 {
  font-size: 20rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  color: var(--color-primary);
  margin-top: 0rem;
}
@media screen and (max-width: 768px) {
  .p-businessProduct_slider ._list1 > li ._info > h3 {
    font-size: 16rem;
  }
}
.p-businessProduct_slider ._list1 > li ._info > ul {
  font-size: 13rem;
  margin-top: 10rem;
  letter-spacing: -0.03em;
}
@media screen and (max-width: 768px) {
  .p-businessProduct_slider ._list1 > li ._info > ul {
    font-size: 13rem;
  }
}
.p-businessProduct_slider ._list1 > li ._info > ul li {
  text-indent: -1em;
  padding-left: 1em;
}
.p-businessProduct_slider ._list1 > li ._info > ul li::before {
  content: "・";
}
.p-businessProduct_slider ._list1 > li ._img {
  width: 220rem;
}
@media screen and (max-width: 768px) {
  .p-businessProduct_slider ._list1 > li ._img {
    width: 100%;
  }
  .p-businessProduct_slider ._list1 > li ._img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
  }
}
.p-businessProduct_slider ._list2 {
  display: flex;
  gap: 17rem;
}
@media screen and (max-width: 768px) {
  .p-businessProduct_slider ._list2 {
    display: grid;
    gap: 10rem;
    grid-template-columns: repeat(2, 1fr);
    margin-top: 10rem;
  }
}
.p-businessProduct_slider ._list2 > li ._info {
  background-color: var(--color-white);
  padding: 19rem 0rem 11rem 28rem;
}
@media screen and (max-width: 768px) {
  .p-businessProduct_slider ._list2 > li ._info {
    padding: 19rem 0rem 11rem 5rem;
  }
}
.p-businessProduct_slider ._list2 > li ._info > span {
  font-size: 14rem;
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  color: var(--color-primary);
  display: block;
}
@media screen and (max-width: 768px) {
  .p-businessProduct_slider ._list2 > li ._info > span {
    font-size: 12rem;
  }
}
.p-businessProduct_slider ._list2 > li ._info > h3 {
  font-size: 20rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  color: var(--color-primary);
  margin-top: -3rem;
}
@media screen and (max-width: 768px) {
  .p-businessProduct_slider ._list2 > li ._info > h3 {
    font-size: 16rem;
  }
}
.p-businessProduct_slider .swiper-pagination-bullet {
  margin-left: 15rem !important;
  margin-right: 15rem !important;
  background-color: var(--color-white);
  opacity: 1;
  width: 12rem;
  height: 12rem;
}
@media screen and (max-width: 768px) {
  .p-businessProduct_slider .swiper-pagination-bullet {
    display: none;
  }
}
.p-businessProduct_slider .swiper-pagination-bullet-active {
  background-color: var(--color-primary);
}
.p-businessProduct_prev, .p-businessProduct_next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 5;
  width: 36rem;
  height: 36rem;
  background-color: transparent;
  background-image: url(../img/common/ico_popup_arrow.webp);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  border: none;
  padding: 0;
  cursor: pointer;
  transition: opacity 0.3s;
}
.p-businessProduct_prev::after, .p-businessProduct_next::after {
  display: none;
}
.p-businessProduct_prev.swiper-button-disabled, .p-businessProduct_next.swiper-button-disabled {
  opacity: 0.4;
  cursor: default;
}
@media screen and (max-width: 768px) {
  .p-businessProduct_prev, .p-businessProduct_next {
    display: none;
  }
}
.p-businessProduct_prev {
  left: -25rem;
  transform: translateY(-50%) scaleX(-1);
}
.p-businessProduct_next {
  right: -25rem;
}
.p-businessProduct_link {
  text-align: right;
  margin-top: -30rem;
  position: relative;
  z-index: 10;
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .p-businessProduct_link {
    text-align: center;
    margin-top: 0rem;
  }
}
.p-businessProduct_link > * {
  pointer-events: all;
}

/* -----------------------------------
Field
------------------------------------ */
.p-businessField_map {
  margin-top: -113rem;
  margin-left: 210rem;
}
@media screen and (max-width: 768px) {
  .p-businessField_map {
    margin-top: 20rem;
    margin-left: 0;
  }
}
@media screen and (max-width: 768px) {
  .p-businessField_map > .c-imgScroll_inner {
    padding-top: 40rem;
    padding-bottom: 40rem;
    padding-left: 80rem;
    padding-right: 60rem;
  }
}
.p-businessField_map > .c-imgScroll_inner > div {
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-businessField_map > .c-imgScroll_inner > div {
    width: 380%;
  }
}
.p-businessField_map ._regions {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
}
@media screen and (max-width: 768px) {
  .p-businessField_map ._regions {
    position: absolute;
    width: 100%;
    height: 100%;
  }
}
.p-businessField_map ._regions li {
  border: 1px solid var(--color-primary);
  border-radius: 4rem;
  background-color: var(--color-white);
  position: absolute;
  top: 0rem;
  left: 0rem;
}
.p-businessField_map ._regions li:nth-of-type(1) {
  top: -5.4%;
  left: 31.3%;
}
.p-businessField_map ._regions li:nth-of-type(2) {
  top: 43.2%;
  left: -10.6%;
}
.p-businessField_map ._regions li:nth-of-type(3) {
  top: 59.5%;
  left: 73.1%;
}
.p-businessField_map ._regions li:nth-of-type(4) {
  top: 68.1%;
  left: 48.8%;
}
.p-businessField_map ._regions li h3 {
  font-size: 16rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  color: var(--color-primary);
  text-align: center;
  padding: 3rem 0;
}
@media screen and (max-width: 768px) {
  .p-businessField_map ._regions li h3 {
    font-size: 14rem;
  }
}
.p-businessField_map ._regions li p {
  padding: 9rem 16rem;
  font-size: 14rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  color: var(--color-primary);
  position: relative;
  letter-spacing: -0.05em;
  text-align: center;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .p-businessField_map ._regions li p {
    font-size: 12rem;
  }
}
.p-businessField_map ._regions li p::before {
  content: "";
  display: block;
  width: 90%;
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  border-top: 1px dotted var(--color-primary);
}
.p-businessField_map ._regions li.-asia {
  width: 240rem;
}
.p-businessField_map ._regions li.-europe {
  width: 250rem;
}
.p-businessField_map ._regions li.-northAmerica {
  width: 220rem;
}
.p-businessField_map ._regions li.-oceania {
  width: 143rem;
}
.p-businessField_txt {
  background-color: var(--color-business-bg-2);
  padding: 23rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-radius: 10rem;
  gap: 22rem;
  margin-top: 25rem;
}
@media screen and (max-width: 768px) {
  .p-businessField_txt {
    flex-direction: column;
    align-items: stretch;
    gap: 16rem;
    padding: 20rem;
  }
}
.p-businessField_txt p {
  font-size: 13rem;
  flex: 1;
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .p-businessField_txt p {
    letter-spacing: -0.03em;
  }
}
@media screen and (max-width: 768px) {
  .p-businessField_txt ._link {
    text-align: center;
  }
}

/* -----------------------------------
Strength
------------------------------------ */
.p-businessStrength_block {
  position: relative;
  padding-bottom: 52rem;
}
.p-businessStrength_block:nth-of-type(n+2) {
  padding-top: 28rem;
}
.p-businessStrength_block:nth-of-type(n+2)::before {
  content: "";
  display: block;
  width: 100%;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  position: absolute;
  border-top: 1px solid var(--color-business-bg-2);
}
.p-businessStrength_txt {
  font-size: 15rem;
  margin-top: 23rem;
  line-height: 1.85;
  width: 640rem;
}
@media screen and (max-width: 768px) {
  .p-businessStrength_txt {
    width: 100%;
    font-size: 14rem;
    margin-top: 16rem;
    letter-spacing: -0.03em;
  }
}
.p-businessStrength_txt ._link {
  text-align: right;
  margin-top: -20rem;
  display: block;
}
@media screen and (max-width: 768px) {
  .p-businessStrength_txt ._link {
    margin-top: 16rem;
    text-align: center;
  }
}
.p-businessStrength_txt2 {
  font-size: 13rem;
  background-color: var(--color-business-bg-2);
  border-radius: 20rem;
  margin-top: 30rem;
  padding: 25rem 48rem;
  line-height: 2;
  width: 640rem;
}
@media screen and (max-width: 768px) {
  .p-businessStrength_txt2 {
    width: 100%;
    padding: 20rem 20rem;
    line-height: 1.8;
  }
}
.p-businessStrength_img1 {
  width: 288rem;
  position: absolute;
  bottom: 52rem;
  right: 0;
}
@media screen and (max-width: 768px) {
  .p-businessStrength_img1 {
    top: -40rem;
    right: 40rem;
    bottom: auto;
    width: 80rem;
  }
}
.p-businessStrength_img2 {
  width: 581rem;
  margin-top: 35rem;
  margin-left: 128rem;
}
@media screen and (max-width: 768px) {
  .p-businessStrength_img2 {
    width: 100%;
    margin-left: 0;
    margin-top: 20rem;
  }
}
.p-businessStrength_img3 {
  width: 140rem;
  position: absolute;
  bottom: 280rem;
  right: 150rem;
}
@media screen and (max-width: 768px) {
  .p-businessStrength_img3 {
    display: none;
  }
}
.p-businessStrength_img4 {
  width: 216rem;
  position: absolute;
  bottom: 52rem;
  right: 0;
}
@media screen and (max-width: 768px) {
  .p-businessStrength_img4 {
    display: none;
  }
}
.p-businessStrength_img5 {
  width: 270rem;
  position: absolute;
  top: 104rem;
  right: 0;
}
@media screen and (max-width: 768px) {
  .p-businessStrength_img5 {
    display: none;
  }
}
.p-businessStrength_img6 {
  width: 964rem;
  margin-top: 50rem;
  margin-left: 50rem;
}
@media screen and (max-width: 768px) {
  .p-businessStrength_img6 {
    width: 250rem;
    margin-left: auto;
    margin-right: auto;
    margin-top: 30rem;
  }
}

/*
 * _project.scss
 */
/* -----------------------------------
GLightbox（モーダル表示ライブラリ）
------------------------------------ */
/* ページ上に置いた元モーダルを非表示 */
body > .p-popup {
  display: none;
}

/* モーダル/ドロワー open 時の body 固定。
   JS側で body.style.top = -scrollY を併用してスクロール位置を保持する。
   _reset.scss の `body { height: 100% }` が position:fixed下では 100vh として解決され、
   top: -scrollY と組み合わさると body box が viewport 外に追いやられて背景が真っ白になるため
   `height: auto` で明示的に上書きする */
body.is-fixed {
  position: fixed;
  width: 100%;
  left: 0;
  right: 0;
  height: auto;
}

/* GLightbox は open 時、<html> に overflow:hidden（.glightbox-open）を当てて
   背景スクロールを止めようとする。しかし本サイトの背景ロックは body.is-fixed
   （position:fixed + savedScrollY）が担っており不要。むしろ html の overflow を
   切り替えるとビューポート幅・vw 基準が揺れ、vw 連動の root font-size が再計算されて
   ページ全体が約1%縮んで定着する不具合の引き金になる。_base.scss の overflow-y:scroll
   を維持するため、open 中も scroll に固定する。 */
html.glightbox-open {
  overflow-y: scroll;
}

/* GLightbox は open 時、バーが消えるぶんの補正として body に
   `.gscrollbar-fixer { margin-right: <バー幅>px }` を自前で注入する。
   本サイトは html の `overflow-y: scroll`（_base.scss）で実スクロールバーを常時表示し
   幅を一定化している（open 中もバーは消えない）ため、この margin は不要な二重補正で
   横ずれの原因になる。
   通常フローは左にずれ、margin が効かない position:fixed 要素（ヘッダー等）は
   ずれないため、要素間でガクつきが生じる。scrollbar-gutter 側に統一するため打ち消す。 */
body.gscrollbar-fixer {
  margin-right: 0 !important;
}

/* 背景オーバーレイ */
.goverlay {
  background-color: var(--color-overlay-medium) !important;
}

/* インラインスライドのコンテナ初期化
   GLightbox デフォルトの padding / background / overflow を解除し
   .p-popup_in をそのまま見せる */
.gslider {
  /* スライダーコンテナの translateX トランジションを無効化。
     loop境界での長距離の逆方向横移動が見えなくなる */
  transition: none !important;
}

.gslide {
  /* close ボタンが .ginlined-content の外側に出るため、スライドのスクロール抑制 */
  overflow: visible !important;
}

.gslide-inline {
  background: transparent !important;
  overflow: visible !important;
  max-height: none !important;
  box-shadow: none !important;
}

.ginlined-content {
  padding: 0 !important;
  background: transparent !important;
  width: auto !important;
  height: auto !important;
  overflow: visible !important;
  position: relative;
}

/* モーダル内の縦スクロール領域（simplebar）の touch-action を pan-y に限定する。
   既定の touch-action: auto だと、縦スクロール可能なこの要素上で横スワイプを始めた際に
   ブラウザがジェスチャを奪って pointercancel を発火させ、最後/最初のスライドの
   端ループ（pointerup で処理する自前フォールバック）が走らず「最後のスライドが次へ進まない」
   状態になる。pan-y で縦スクロールは残しつつ横ジェスチャを JS 側に渡す。 */
.glightbox-container .simplebar-content-wrapper {
  touch-action: pan-y;
}

/* クローズボタン（JSで .ginlined-content 内に物理移動済み）
   元 .p-popup_close（.p-popup 基準のオフセット）と同じ見た目を .ginlined-content 基準で再現 */
.ginlined-content > .gclose {
  position: absolute;
  top: 10rem;
  right: 10rem;
  left: auto;
  bottom: auto;
  width: 43rem;
  height: 43rem;
  border-radius: 50%;
  background: url(../img/common/ico_popup_close.webp) no-repeat center !important;
  background-size: contain !important;
  opacity: 1 !important;
}
.ginlined-content > .gclose svg {
  display: none !important;
}
@media screen and (max-width: 768px) {
  .ginlined-content > .gclose {
    top: 6rem;
    right: 6rem;
    width: 32rem;
    height: 32rem;
  }
}

/* 左右ナビ */
.gprev,
.gnext {
  width: 50rem !important;
  height: 50rem !important;
  background: url(../img/common/ico_popup_arrow.webp) no-repeat center !important;
  background-size: contain !important;
  border-radius: 0 !important;
  top: 50% !important;
  /* 開閉フェード。初期は透明、JS が is-shown を付与してフェードイン。閉じる時は下の
     .glightbox-closing{opacity:0} が当たって transition で滑らかにフェードアウトする。
     transition-duration は JS が openEffect / closeEffect 設定に合わせて上書きする
     （'none' なら 0s）。下記 0.5s はフォールバック値。 */
  opacity: 0;
  transition: opacity 0.5s ease;
}
.gprev.is-shown,
.gnext.is-shown {
  opacity: 1;
}
@media screen and (max-width: 768px) {
  .gprev,
  .gnext {
    width: 30rem !important;
    height: 30rem !important;
  }
}
.gprev svg,
.gnext svg {
  display: none !important;
}

/* クローズ時の矢印フェード。
   GLightbox 既定にも `.glightbox-closing .gnext{opacity:0!important}` はあるが、
   CDN の読み込み順に依存せず、また将来 SP 等で :has() による高詳細度の
   opacity 上書きが入っても確実に打ち消せるよう、こちら側にも明示する。
   上の `.gprev,.gnext` の transition と合わせて 0.5s でフェードする */
.glightbox-closing .gprev,
.glightbox-closing .gnext {
  opacity: 0 !important;
}

.gprev {
  left: 120rem !important;
  transform: translateY(-50%) rotate(180deg) !important;
}
@media screen and (max-width: 768px) {
  .gprev {
    left: 90rem !important;
  }
}

.gnext {
  right: 120rem !important;
  transform: translateY(-50%) !important;
}
@media screen and (max-width: 768px) {
  .gnext {
    right: 90rem !important;
  }
}

/* インタビュー以外のモーダルではPCで矢印を非表示 */
.glightbox-container:has(.p-popupJob) .gprev {
  left: 100rem !important;
}
.glightbox-container:has(.p-popupJob) .gnext {
  right: 100rem !important;
}

/* SPでは下部に配置（ポップアップ高さ 80vh で縦中央 → 下から 10vh の位置） */
@media screen and (max-width: 768px) {
  .gprev,
  .gnext {
    top: auto !important;
    bottom: 10dvh !important;
  }
}
/* カルーセルドット（GLightboxにはネイティブな機能が無いのでJSで動的生成・SPのみ表示） */
.p-popupDots {
  display: none;
  /* 初期は透明。JS が付与する .is-shown でフェードイン、.is-closing でフェードアウトさせる。
     transition-duration は JS が GLightbox の openEffect / closeEffect 設定に合わせて
     上書きする（'none' なら 0s ＝即時）。下記はフォールバック値。 */
  opacity: 0;
  transition: opacity 0.5s;
}
.p-popupDots.is-shown {
  opacity: 1;
}
.p-popupDots {
  /* is-closing は is-shown より後に宣言し、両クラス併存時に閉じ側を優先させる */
}
.p-popupDots.is-closing {
  opacity: 0;
}
@media screen and (max-width: 768px) {
  .p-popupDots {
    display: flex;
    /* viewport基準で配置（祖先のpositioningに左右されないように fixed） */
    position: fixed;
    bottom: 10dvh;
    /* 矢印（左右 vw(90)・幅 vw(30)）の内側に収める */
    left: 150rem;
    right: 150rem;
    height: 60rem;
    align-items: center;
    justify-content: center;
    gap: 6rem;
    /* コンテナの空き領域はクリック透過させてポップアップ閉じを防ぐ */
    pointer-events: none;
    z-index: 1000000;
  }
}
.p-popupDots_dot {
  width: 14rem;
  height: 14rem;
  padding: 0;
  border: none;
  background: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: auto;
}
.p-popupDots_dot::before {
  content: "";
  display: block;
  width: 8rem;
  height: 8rem;
  background-color: var(--color-popup-dot);
  border-radius: 50%;
  opacity: 0.6;
  transition: background-color 0.2s, opacity 0.2s;
}
.p-popupDots_dot.is-current::before {
  background-color: var(--color-primary);
  opacity: 1;
}

/* -----------------------------------
simplebar
------------------------------------ */
.simplebar-track.simplebar-vertical {
  width: 8rem;
  height: 90%;
  right: 54rem;
  top: 50%;
  background-color: var(--color-white);
  border-radius: 1000px;
  transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .simplebar-track.simplebar-vertical {
    right: 8rem;
    height: 80%;
  }
}

.simplebar-track.simplebar-vertical .simplebar-scrollbar::before {
  background: var(--color-future-bg);
  border-radius: 1000px;
  opacity: 1;
  inset: 0;
}

/* -----------------------------------
ポップアップ共通
   ※ GLightbox は対象要素の innerHTML のみクローンするため、最外殻 .p-popup は
     クローン側に残らない。幅・positionは .p-popup_in に持たせる。
------------------------------------ */
.p-popup_in {
  width: 1200rem;
  padding: 0;
  position: relative;
  background: none;
  border-radius: 20rem;
  overflow: clip;
}
@media screen and (max-width: 768px) {
  .p-popup_in {
    width: 340rem;
    border-radius: 12rem;
  }
}
.p-popup {
  /* インタビューポップアップは幅違い */
}
.p-popup_in:has(.p-popupInterview) {
  width: 1150rem;
}
@media screen and (max-width: 768px) {
  .p-popup_in:has(.p-popupInterview) {
    width: 92vw;
  }
}
.p-popup_nav {
  display: none;
}
@media screen and (max-width: 768px) {
  .p-popup_nav {
    display: block;
    height: 60rem;
    background-color: var(--color-white);
  }
}
.p-popup img {
  pointer-events: none;
}

/* -----------------------------------
ポップアップ仕事紹介
------------------------------------ */
.p-popupJob {
  background-color: var(--color-bg-subtle);
}
@media screen and (max-width: 768px) {
  .p-popupJob_in {
    height: calc(80dvh - 60rem);
  }
}
.p-popupJob_header {
  background-color: var(--color-white);
  display: flex;
  align-items: flex-end;
  gap: 80rem;
  padding: 10rem 97rem 14rem;
  padding-right: 90rem;
}
@media screen and (max-width: 768px) {
  .p-popupJob_header {
    flex-direction: column;
    align-items: flex-start;
    gap: 12rem;
    padding: 22rem 20rem 25rem;
  }
}
@media screen and (max-width: 768px) {
  .p-popupJob_header ._title {
    text-align: center;
    width: 100%;
  }
}
.p-popupJob_header ._title span {
  font-size: 12rem;
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
}
.p-popupJob_header ._title h3 {
  font-size: 30rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  line-height: 1.5;
}
.p-popupJob_header > p {
  font-size: 14rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  letter-spacing: -0.05em;
  flex: 1;
}
@media screen and (max-width: 768px) {
  .p-popupJob_header > p {
    font-size: 13rem;
    line-height: 1.7;
    margin-top: 5rem;
    padding-right: 20rem;
  }
  .p-popupJob_header > p.-tight {
    letter-spacing: -0.075em;
  }
}
.p-popupJob_body {
  padding: 0 75rem;
}
@media screen and (max-width: 768px) {
  .p-popupJob_body {
    padding: 0 20rem;
    padding-right: 40rem;
  }
}
.p-popupJob_cnt1 {
  width: 958rem;
  padding-top: 22rem;
  padding-bottom: 12rem;
  padding-left: 43rem;
}
@media screen and (max-width: 768px) {
  .p-popupJob_cnt1 {
    width: 100%;
    padding: 20rem 0 20rem;
  }
}
.p-popupJob_cnt1 > span {
  display: block;
  font-size: 14rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  padding-left: 63rem;
}
@media screen and (max-width: 768px) {
  .p-popupJob_cnt1 > span {
    padding-left: 0;
  }
}
.p-popupJob_cnt1 > ul {
  display: flex;
  font-size: 12rem;
  padding-left: 63rem;
  padding-right: 14rem;
  gap: 8rem;
  margin-top: 10rem;
  line-height: 1.7;
  letter-spacing: 0;
}
@media screen and (max-width: 768px) {
  .p-popupJob_cnt1 > ul {
    flex-direction: column;
    padding-left: 0;
    padding-right: 0;
    gap: 20rem;
  }
}
.p-popupJob_cnt1 > ul > li {
  flex: 1;
  letter-spacing: -0.05em;
}
@media screen and (max-width: 768px) {
  .p-popupJob_cnt1 > ul > li {
    display: flex;
  }
}
.p-popupJob_cnt1 > ul > li.-col1 {
  flex: 1;
}
.p-popupJob_cnt1 > ul > li.-col2 {
  flex: 2;
}
@media screen and (max-width: 768px) {
  .p-popupJob_cnt1 > ul > li.-spNone {
    display: none;
  }
}
.p-popupJob_cnt1 > ul > li > div:nth-of-type(1) {
  display: none;
}
@media screen and (max-width: 768px) {
  .p-popupJob_cnt1 > ul > li > div:nth-of-type(1) {
    display: flex;
    flex-flow: column;
    justify-content: center;
    width: 38rem;
  }
}
.p-popupJob_cnt1 > ul > li > div:nth-of-type(1) span {
  display: block;
  font-family: "Oswald", sans-serif;
  font-weight: 400;
  font-size: 20rem;
  color: var(--color-primary);
  line-height: 1.25;
}
.p-popupJob_cnt1 > ul > li > div:nth-of-type(2) {
  flex: 1;
}
.p-popupJob_cnt2 {
  padding: 20rem 28rem 8rem;
  display: flex;
  gap: 75rem;
}
@media screen and (max-width: 768px) {
  .p-popupJob_cnt2 {
    flex-direction: column;
    gap: 0rem;
    padding: 20rem 0 0rem;
  }
}
@media screen and (max-width: 768px) {
  .p-popupJob_cnt2 ._img {
    width: 100%;
  }
}
.p-popupJob_cnt2 ._txt {
  flex: 1;
  padding-top: 44rem;
}
@media screen and (max-width: 768px) {
  .p-popupJob_cnt2 ._txt {
    padding-top: 30rem;
  }
}
.p-popupJob_cnt2 ._txt dl:nth-of-type(n+2) {
  margin-top: 40rem;
}
@media screen and (max-width: 768px) {
  .p-popupJob_cnt2 ._txt dl:nth-of-type(n+2) {
    margin-top: 44rem;
  }
}
.p-popupJob_cnt2 ._txt dl dt {
  font-size: 20rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .p-popupJob_cnt2 ._txt dl dt {
    font-size: 17rem;
    text-align: center;
  }
}
.p-popupJob_cnt2 ._txt dl dt span {
  display: inline-block;
  color: var(--color-white);
  background-color: var(--color-primary);
  line-height: 1;
  padding: 0.15em 0.5em;
}
.p-popupJob_cnt2 ._txt dl dd {
  font-size: 11rem;
  margin-top: 8rem;
}
@media screen and (max-width: 768px) {
  .p-popupJob_cnt2 ._txt dl dd {
    font-size: 12rem;
    line-height: 1.7;
    margin-top: 12rem;
  }
}
.p-popupJob_footer {
  background-color: var(--color-bg-subtle);
  padding: 10rem 75rem;
}
@media screen and (max-width: 768px) {
  .p-popupJob_footer {
    padding: 20rem 20rem 22rem;
    padding-right: 40rem;
  }
}
.p-popupJob_footer > div {
  border-top: 1px solid var(--color-primary);
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 16rem 20rem;
  gap: 20rem;
}
@media screen and (max-width: 768px) {
  .p-popupJob_footer > div {
    flex-direction: column;
    align-items: stretch;
    padding: 16rem 0;
    gap: 14rem;
  }
}
.p-popupJob_footer > div ._meta {
  flex: 1;
}
.p-popupJob_footer > div ._meta dl {
  display: flex;
  align-items: center;
  gap: 14rem;
}
@media screen and (max-width: 768px) {
  .p-popupJob_footer > div ._meta dl {
    gap: 12rem;
  }
}
.p-popupJob_footer > div ._meta dl:nth-of-type(n+2) {
  margin-top: 2rem;
}
@media screen and (max-width: 768px) {
  .p-popupJob_footer > div ._meta dl:nth-of-type(n+2) {
    margin-top: 6rem;
  }
}
.p-popupJob_footer > div ._meta dl dt {
  font-size: 12rem;
  border: 1px solid var(--color-primary);
  border-radius: 1000px;
  color: var(--color-primary);
  padding: 2rem 0;
  width: 116rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-popupJob_footer > div ._meta dl dt {
    width: 86rem;
    font-size: 11rem;
  }
}
.p-popupJob_footer > div ._meta dl dd {
  font-size: 14rem;
  letter-spacing: -0.05em;
  line-height: 1.4;
  flex: 1;
}
@media screen and (max-width: 768px) {
  .p-popupJob_footer > div ._meta dl dd {
    font-size: 11rem;
  }
}
.p-popupJob_footer > div ._link {
  margin-top: 9rem;
}
@media screen and (max-width: 768px) {
  .p-popupJob_footer > div ._link {
    margin-top: 11rem;
    margin-left: auto;
    margin-right: auto;
  }
}

/* -----------------------------------
ポップアップインタビュー
------------------------------------ */
.p-popupInterviewHeader {
  background-color: var(--color-white);
  padding: 16rem 95rem;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .p-popupInterviewHeader {
    padding: 12rem 10rem;
  }
}
.p-popupInterviewHeader ul {
  display: flex;
  gap: 56rem;
}
@media screen and (max-width: 768px) {
  .p-popupInterviewHeader ul {
    flex-wrap: wrap;
    gap: 10rem;
  }
}
@media screen and (max-width: 768px) {
  .p-popupInterviewHeader ul li:nth-of-type(3) {
    flex-basis: 100%;
  }
}
.p-popupInterviewHeader ul li a {
  text-decoration: none;
  color: var(--color-accent);
  display: inline-block;
  font-size: 16rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  position: relative;
  padding-right: 25rem;
}
@media screen and (max-width: 768px) {
  .p-popupInterviewHeader ul li a {
    font-size: 13rem;
  }
}
.p-popupInterviewHeader ul li a::before {
  content: "";
  display: block;
  width: 100%;
  border-top: 1px solid var(--color-accent);
  position: absolute;
  bottom: 0;
  left: 0;
}
.p-popupInterviewHeader ul li a::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 16rem;
  height: 16rem;
  background: url(../img/common/ico_arrow_down.webp) no-repeat;
  background-size: contain;
}
@media screen and (max-width: 768px) {
  .p-popupInterviewHeader ._link {
    margin-left: -250rem;
    margin-top: 32rem;
  }
}
.p-popupInterviewMain {
  background-color: var(--color-bg-subtle);
  padding-bottom: 86rem;
  height: 80dvh;
}
@media screen and (max-width: 768px) {
  .p-popupInterviewMain {
    padding-bottom: 40rem;
    height: calc(80dvh - 148rem);
    padding-right: 20rem;
  }
}
.p-popupInterviewMv {
  padding-top: 35rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-popupInterviewMv {
    padding: 20rem 15rem 0;
  }
}
.p-popupInterviewMv_img {
  width: 685rem;
}
@media screen and (max-width: 768px) {
  .p-popupInterviewMv_img {
    width: 100%;
    margin-left: -15rem;
  }
}
.p-popupInterviewMv_title {
  position: absolute;
  top: 146rem;
  left: 586rem;
  display: flex;
  flex-flow: column;
  align-items: flex-start;
  gap: 20rem;
}
@media screen and (max-width: 768px) {
  .p-popupInterviewMv_title {
    position: static;
    margin-top: 16rem;
    gap: 10rem;
  }
}
.p-popupInterviewMv_title span {
  display: block;
  font-size: 30rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  color: var(--color-white);
  background-color: var(--color-primary);
  padding: 0.05em 0.6em;
}
@media screen and (max-width: 768px) {
  .p-popupInterviewMv_title span {
    font-size: 20rem;
  }
}
.p-popupInterviewMv_profile {
  position: absolute;
  top: 361rem;
  left: 756rem;
  color: var(--color-primary);
  padding-left: 34rem;
}
@media screen and (max-width: 768px) {
  .p-popupInterviewMv_profile {
    position: relative;
    top: auto;
    left: auto;
    margin-top: 16rem;
    padding-left: 20rem;
  }
}
.p-popupInterviewMv_profile::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-47%);
  border-left: 2rem solid var(--color-primary);
  height: 103%;
}
.p-popupInterviewMv_profile h3 {
  font-size: 30rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .p-popupInterviewMv_profile h3 {
    font-size: 22rem;
  }
}
.p-popupInterviewMv_profile p {
  font-size: 20rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .p-popupInterviewMv_profile p {
    font-size: 14rem;
  }
}
.p-popupInterviewMv_profile p span {
  display: block;
}
.p-popupInterviewQa {
  margin-top: 88rem;
  width: 935rem;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 768px) {
  .p-popupInterviewQa {
    width: calc(100% - 30rem);
    margin-top: 40rem;
  }
}
.p-popupInterviewQa_block {
  display: flex;
  gap: 67rem;
}
@media screen and (max-width: 768px) {
  .p-popupInterviewQa_block {
    flex-direction: column;
    gap: 16rem;
  }
}
.p-popupInterviewQa_block:nth-of-type(n+2) {
  margin-top: 59rem;
}
@media screen and (max-width: 768px) {
  .p-popupInterviewQa_block:nth-of-type(n+2) {
    margin-top: 32rem;
  }
}
.p-popupInterviewQa_block:nth-of-type(2n) {
  flex-flow: row-reverse;
}
@media screen and (max-width: 768px) {
  .p-popupInterviewQa_block:nth-of-type(2n) {
    flex-flow: column;
  }
}
.p-popupInterviewQa_block ._img {
  width: 480rem;
}
@media screen and (max-width: 768px) {
  .p-popupInterviewQa_block ._img {
    width: 100%;
  }
}
.p-popupInterviewQa_block ._txt {
  flex: 1;
}
.p-popupInterviewQa_block ._txt ._head {
  color: var(--color-accent);
}
.p-popupInterviewQa_block ._txt ._head span {
  display: block;
}
.p-popupInterviewQa_block ._txt ._head span:nth-of-type(1) {
  font-size: 15rem;
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
}
.p-popupInterviewQa_block ._txt ._head span:nth-of-type(2) {
  font-size: 21rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  margin-top: -5rem;
}
@media screen and (max-width: 768px) {
  .p-popupInterviewQa_block ._txt ._head span:nth-of-type(2) {
    font-size: 17rem;
  }
}
.p-popupInterviewQa_block ._txt h3 {
  font-size: 30rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  margin-top: 20rem;
  color: var(--color-primary);
  line-height: 1.2;
}
@media screen and (max-width: 768px) {
  .p-popupInterviewQa_block ._txt h3 {
    font-size: 20rem;
    margin-top: 14rem;
  }
}
.p-popupInterviewQa_block ._txt p {
  font-size: 16rem;
  margin-top: 20rem;
  line-height: 1.55;
}
@media screen and (max-width: 768px) {
  .p-popupInterviewQa_block ._txt p {
    font-size: 14rem;
    margin-top: 14rem;
    line-height: 1.7;
  }
}
.p-popupInterviewQuick {
  margin-top: 59rem;
  padding: 15rem 0 45rem;
  width: 935rem;
  margin-left: auto;
  margin-right: auto;
  background-color: var(--color-white);
  border-radius: 25rem;
}
@media screen and (max-width: 768px) {
  .p-popupInterviewQuick {
    width: calc(100% - 30rem);
    margin-top: 32rem;
    padding: 15rem 0 30rem;
    border-radius: 16rem;
  }
}
.p-popupInterviewQuick_title {
  font-size: 30rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  color: var(--color-primary);
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-popupInterviewQuick_title {
    font-size: 20rem;
  }
}
.p-popupInterviewQuick_list {
  margin-top: 18rem;
  padding: 0rem 92rem;
}
@media screen and (max-width: 768px) {
  .p-popupInterviewQuick_list {
    padding: 0 15rem;
  }
}
.p-popupInterviewQuick_list > li:nth-of-type(n+2) {
  margin-top: 20rem;
}
@media screen and (max-width: 768px) {
  .p-popupInterviewQuick_list > li:nth-of-type(n+2) {
    margin-top: 14rem;
  }
}
.p-popupInterviewQuick_list > li span {
  font-size: 21rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  border-radius: 10rem;
  display: inline-block;
  padding: 10rem 22rem;
  padding-left: 72rem;
  position: relative;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .p-popupInterviewQuick_list > li span {
    font-size: 15rem;
    padding: 10rem 16rem;
    padding-left: 48rem;
  }
}
.p-popupInterviewQuick_list > li span::before {
  content: "Q";
  position: absolute;
  left: 25rem;
  top: 50%;
  transform: translateY(-50%);
  background-color: var(--color-white);
  color: var(--color-popup-qa-mark);
  width: 29rem;
  height: 29rem;
  border-radius: 50%;
  line-height: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  padding-bottom: 0.18em;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .p-popupInterviewQuick_list > li span::before {
    left: 10rem;
    width: 24rem;
    height: 24rem;
  }
}
.p-popupInterviewQuick_list > li span::after {
  content: "";
  display: block;
  width: 16rem;
  aspect-ratio: 16/13;
  position: absolute;
  bottom: 6rem;
  left: 1px;
  transform: translateX(-100%);
  background: url(../img/common/ico_triangle_q.webp) no-repeat;
  background-size: contain;
}
.p-popupInterviewQuick_list > li._q span {
  background-color: var(--color-popup-box-bg);
}
.p-popupInterviewQuick_list > li._a {
  text-align: right;
}
.p-popupInterviewQuick_list > li._a span {
  background-color: var(--color-popup-qa-a-bg);
}
.p-popupInterviewQuick_list > li._a span::before {
  content: "A";
  color: var(--color-white);
  background-color: var(--color-accent);
}
.p-popupInterviewQuick_list > li._a span::after {
  left: auto;
  right: 1px;
  transform: translateX(100%);
  background-image: url(../img/common/ico_triangle_a.webp);
}
.p-popupInterviewPoint {
  width: 935rem;
  margin-left: auto;
  margin-right: auto;
  margin-top: 52rem;
}
@media screen and (max-width: 768px) {
  .p-popupInterviewPoint {
    width: calc(100% - 30rem);
    margin-top: 32rem;
  }
}
.p-popupInterviewPoint_title {
  text-align: center;
  color: var(--color-primary);
  font-size: 30rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .p-popupInterviewPoint_title {
    font-size: 22rem;
  }
}
.p-popupInterviewPoint_txt {
  background-color: var(--color-popup-box-bg);
  border-radius: 20rem;
  margin-top: 13rem;
  padding: 32rem 78rem 54rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-popupInterviewPoint_txt {
    padding: 24rem 20rem 30rem;
    border-radius: 14rem;
  }
}
.p-popupInterviewPoint_txt h4 {
  font-size: 32rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-popupInterviewPoint_txt h4 {
    font-size: 20rem;
  }
}
.p-popupInterviewPoint_txt p {
  font-size: 16rem;
  margin-top: 20rem;
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  .p-popupInterviewPoint_txt p {
    font-size: 14rem;
    margin-top: 14rem;
    line-height: 1.8;
  }
}
.p-popupInterviewPoint_txt ._float_block {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.p-popupInterviewPoint_txt ._float_block span {
  display: block;
  position: absolute;
  width: 16.8rem;
  aspect-ratio: 1/1;
  background: url(../img/common/ico_float_block_2.png) no-repeat;
  background-size: contain;
}
@media screen and (max-width: 768px) {
  .p-popupInterviewPoint_txt ._float_block span {
    width: 14rem;
  }
}
.p-popupInterviewPoint_txt ._float_block span:nth-of-type(1) {
  top: 74rem;
  left: 18rem;
}
@media screen and (max-width: 768px) {
  .p-popupInterviewPoint_txt ._float_block span:nth-of-type(1) {
    top: 74rem;
    left: 4rem;
    display: none;
  }
}
.p-popupInterviewPoint_txt ._float_block span:nth-of-type(2) {
  top: 27rem;
  left: 63rem;
}
@media screen and (max-width: 768px) {
  .p-popupInterviewPoint_txt ._float_block span:nth-of-type(2) {
    top: 12rem;
    left: 15rem;
  }
}
.p-popupInterviewPoint_txt ._float_block span:nth-of-type(3) {
  top: 200rem;
  right: 18rem;
}
@media screen and (max-width: 768px) {
  .p-popupInterviewPoint_txt ._float_block span:nth-of-type(3) {
    top: auto;
    bottom: 20rem;
    right: 12rem;
  }
}
.p-popupInterviewPoint_txt ._float_block span:nth-of-type(4) {
  top: 216.8rem;
  right: 34.8rem;
}
@media screen and (max-width: 768px) {
  .p-popupInterviewPoint_txt ._float_block span:nth-of-type(4) {
    top: auto;
    bottom: 6rem;
    right: 26rem;
  }
}

/* -----------------------------------
Utility
------------------------------------ */
/*
 * _utility.scss
 */
/* -----------------------------------
print
------------------------------------ */
@media print {
  .u-printHidden {
    display: none;
  }
}

.u-printVisible {
  display: none;
}
@media print {
  .u-printVisible {
    display: block;
  }
}

/* -----------------------------------
font
------------------------------------ */
.u-fwb {
  font-weight: bold !important;
}

.u-fwn {
  font-weight: normal !important;
}

/* -----------------------------------
align
------------------------------------ */
.u-tc {
  text-align: center !important;
}

.u-tl {
  text-align: left !important;
}

.u-tr {
  text-align: right !important;
}

/* -----------------------------------
padding
------------------------------------ */
.u-mt0 {
  margin-top: 0px !important;
}

.u-pt0 {
  padding-top: 0px !important;
}

.u-mr0 {
  margin-right: 0px !important;
}

.u-pr0 {
  padding-right: 0px !important;
}

.u-mb0 {
  margin-bottom: 0px !important;
}

.u-pb0 {
  padding-bottom: 0px !important;
}

.u-ml0 {
  margin-left: 0px !important;
}

.u-pl0 {
  padding-left: 0px !important;
}

.u-mt5 {
  margin-top: 5px !important;
}

.u-pt5 {
  padding-top: 5px !important;
}

.u-mr5 {
  margin-right: 5px !important;
}

.u-pr5 {
  padding-right: 5px !important;
}

.u-mb5 {
  margin-bottom: 5px !important;
}

.u-pb5 {
  padding-bottom: 5px !important;
}

.u-ml5 {
  margin-left: 5px !important;
}

.u-pl5 {
  padding-left: 5px !important;
}

.u-mt10 {
  margin-top: 10px !important;
}

.u-pt10 {
  padding-top: 10px !important;
}

.u-mr10 {
  margin-right: 10px !important;
}

.u-pr10 {
  padding-right: 10px !important;
}

.u-mb10 {
  margin-bottom: 10px !important;
}

.u-pb10 {
  padding-bottom: 10px !important;
}

.u-ml10 {
  margin-left: 10px !important;
}

.u-pl10 {
  padding-left: 10px !important;
}

.u-mt15 {
  margin-top: 15px !important;
}

.u-pt15 {
  padding-top: 15px !important;
}

.u-mr15 {
  margin-right: 15px !important;
}

.u-pr15 {
  padding-right: 15px !important;
}

.u-mb15 {
  margin-bottom: 15px !important;
}

.u-pb15 {
  padding-bottom: 15px !important;
}

.u-ml15 {
  margin-left: 15px !important;
}

.u-pl15 {
  padding-left: 15px !important;
}

.u-mt20 {
  margin-top: 20px !important;
}

.u-pt20 {
  padding-top: 20px !important;
}

.u-mr20 {
  margin-right: 20px !important;
}

.u-pr20 {
  padding-right: 20px !important;
}

.u-mb20 {
  margin-bottom: 20px !important;
}

.u-pb20 {
  padding-bottom: 20px !important;
}

.u-ml20 {
  margin-left: 20px !important;
}

.u-pl20 {
  padding-left: 20px !important;
}

.u-mt25 {
  margin-top: 25px !important;
}

.u-pt25 {
  padding-top: 25px !important;
}

.u-mr25 {
  margin-right: 25px !important;
}

.u-pr25 {
  padding-right: 25px !important;
}

.u-mb25 {
  margin-bottom: 25px !important;
}

.u-pb25 {
  padding-bottom: 25px !important;
}

.u-ml25 {
  margin-left: 25px !important;
}

.u-pl25 {
  padding-left: 25px !important;
}

.u-mt30 {
  margin-top: 30px !important;
}

.u-pt30 {
  padding-top: 30px !important;
}

.u-mr30 {
  margin-right: 30px !important;
}

.u-pr30 {
  padding-right: 30px !important;
}

.u-mb30 {
  margin-bottom: 30px !important;
}

.u-pb30 {
  padding-bottom: 30px !important;
}

.u-ml30 {
  margin-left: 30px !important;
}

.u-pl30 {
  padding-left: 30px !important;
}

.u-mt35 {
  margin-top: 35px !important;
}

.u-pt35 {
  padding-top: 35px !important;
}

.u-mr35 {
  margin-right: 35px !important;
}

.u-pr35 {
  padding-right: 35px !important;
}

.u-mb35 {
  margin-bottom: 35px !important;
}

.u-pb35 {
  padding-bottom: 35px !important;
}

.u-ml35 {
  margin-left: 35px !important;
}

.u-pl35 {
  padding-left: 35px !important;
}

.u-mt40 {
  margin-top: 40px !important;
}

.u-pt40 {
  padding-top: 40px !important;
}

.u-mr40 {
  margin-right: 40px !important;
}

.u-pr40 {
  padding-right: 40px !important;
}

.u-mb40 {
  margin-bottom: 40px !important;
}

.u-pb40 {
  padding-bottom: 40px !important;
}

.u-ml40 {
  margin-left: 40px !important;
}

.u-pl40 {
  padding-left: 40px !important;
}

.u-mt45 {
  margin-top: 45px !important;
}

.u-pt45 {
  padding-top: 45px !important;
}

.u-mr45 {
  margin-right: 45px !important;
}

.u-pr45 {
  padding-right: 45px !important;
}

.u-mb45 {
  margin-bottom: 45px !important;
}

.u-pb45 {
  padding-bottom: 45px !important;
}

.u-ml45 {
  margin-left: 45px !important;
}

.u-pl45 {
  padding-left: 45px !important;
}

.u-mt50 {
  margin-top: 50px !important;
}

.u-pt50 {
  padding-top: 50px !important;
}

.u-mr50 {
  margin-right: 50px !important;
}

.u-pr50 {
  padding-right: 50px !important;
}

.u-mb50 {
  margin-bottom: 50px !important;
}

.u-pb50 {
  padding-bottom: 50px !important;
}

.u-ml50 {
  margin-left: 50px !important;
}

.u-pl50 {
  padding-left: 50px !important;
}

.u-mt55 {
  margin-top: 55px !important;
}

.u-pt55 {
  padding-top: 55px !important;
}

.u-mr55 {
  margin-right: 55px !important;
}

.u-pr55 {
  padding-right: 55px !important;
}

.u-mb55 {
  margin-bottom: 55px !important;
}

.u-pb55 {
  padding-bottom: 55px !important;
}

.u-ml55 {
  margin-left: 55px !important;
}

.u-pl55 {
  padding-left: 55px !important;
}

.u-mt60 {
  margin-top: 60px !important;
}

.u-pt60 {
  padding-top: 60px !important;
}

.u-mr60 {
  margin-right: 60px !important;
}

.u-pr60 {
  padding-right: 60px !important;
}

.u-mb60 {
  margin-bottom: 60px !important;
}

.u-pb60 {
  padding-bottom: 60px !important;
}

.u-ml60 {
  margin-left: 60px !important;
}

.u-pl60 {
  padding-left: 60px !important;
}

/* -----------------------------------
font-size rem
------------------------------------ */
.u-fz10px {
  font-size: 1rem;
}

.u-fz11px {
  font-size: 1.1rem;
}

.u-fz12px {
  font-size: 1.2rem;
}

.u-fz13px {
  font-size: 1.3rem;
}

.u-fz14px {
  font-size: 1.4rem;
}

/* -----------------------------------
font-size em
------------------------------------ */
.u-fz09em {
  font-size: 0.9em;
}

.u-fz10em {
  font-size: 1em;
}

.u-fz11em {
  font-size: 1.1em;
}

.u-fz12em {
  font-size: 1.2em;
}

.u-fz13em {
  font-size: 1.3em;
}

.u-fz14em {
  font-size: 1.4em;
}

/* -----------------------------------
clerfix
------------------------------------ */
.sec::after,
.clearfix::after {
  display: block;
  clear: both;
  content: "";
}

/* -----------------------------------
display
------------------------------------ */
.u-d_b {
  display: block !important;
}

.u-d_n {
  display: none !important;
}

.u-d_ib {
  display: inline-block !important;
}

.u-tight-r {
  margin-right: -0.5em;
}

@media screen and (min-width: 769px) {
  .u-tight-r-pc {
    margin-right: -0.5em;
  }
}

@media screen and (max-width: 768px) {
  .u-tight-r-sp {
    margin-right: -0.5em;
  }
}

.u-tight-l {
  margin-left: -0.5em;
}

@media screen and (min-width: 769px) {
  .u-tight-l-pc {
    margin-left: -0.5em;
  }
}

@media screen and (max-width: 768px) {
  .u-tight-l-sp {
    margin-left: -0.5em;
  }
}

/* -----------------------------------
display adjust
------------------------------------ */
.u-smhide,
.u-sphide,
.u-middlehide,
.u-tablethide,
.u-basehide {
  display: block;
}
.u-smhide.-inline,
.u-sphide.-inline,
.u-middlehide.-inline,
.u-tablethide.-inline,
.u-basehide.-inline {
  display: inline;
}

.u-smblock,
.u-spblock,
.u-middleblock,
.u-tabletblock,
.u-baseblock {
  display: none;
}

@media screen and (max-width: 1499px) {
  .u-baseblock {
    display: block;
  }
  .u-basehide {
    display: none !important;
  }
}
@media screen and (max-width: 959px) {
  .u-tabletblock {
    display: block;
  }
  .u-tablethide {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  .u-middleblock {
    display: block;
  }
  .u-middleblock.-inline {
    display: inline;
  }
  .u-middlehide {
    display: none !important;
  }
}
@media screen and (max-width: 950px) {
  .u-spblock {
    display: block;
  }
  .u-sphide {
    display: none !important;
  }
}
@media screen and (max-width: 374px) {
  .u-smblock {
    display: block;
  }
  .u-smhide {
    display: none !important;
  }
}
/* ===================================
Page
=================================== */
/*
 * _page.scss
 */
/* -----------------------------------
#top
------------------------------------ *//*# sourceMappingURL=style.css.map */