@charset "UTF-8";
/*! destyle.css v3.0.2 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model and set borders */
/* ============================================ */
*,
::before,
::after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
}

/* Document */
/* ============================================ */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
  -webkit-tap-highlight-color: transparent;
  /* 3 */
}

/* Sections */
/* ============================================ */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/* Vertical rhythm */
/* ============================================ */
p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}

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

/* Lists (enumeration) */
/* ============================================ */
ul,
ol {
  padding: 0;
  margin: 0;
  list-style: none;
}

/* Lists (definition) */
/* ============================================ */
dt {
  font-weight: bold;
}

dd {
  margin-left: 0;
}

/* Grouping content */
/* ============================================ */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  clear: both;
  box-sizing: content-box;
  /* 1 */
  height: 0;
  margin: 0;
  /* 1 */
  overflow: visible;
  color: inherit;
  /* 2 */
  border-top-width: 1px;
}

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

address {
  font-style: inherit;
}

/* Text-level semantics */
/* ============================================ */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  color: inherit;
  text-decoration: none;
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
  /* 2 */
}

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

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

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

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Replaced content */
/* ============================================ */
/**
 * Prevent vertical alignment issues.
 */
svg,
img,
embed,
object,
iframe {
  vertical-align: bottom;
}

img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

/* Forms */
/* ============================================ */
/**
 * Reset form fields to make them styleable.
 * 1. Make form elements stylable across systems iOS especially.
 * 2. Inherit text-transform from parent.
 */
button,
input,
optgroup,
select,
textarea {
  padding: 0;
  margin: 0;
  font: inherit;
  vertical-align: middle;
  color: inherit;
  text-align: inherit;
  text-transform: inherit;
  -webkit-appearance: none;
  /* 1 */
  -moz-appearance: none;
       appearance: none;
  background: transparent;
  border-radius: 0;
  /* 2 */
}

/**
 * Reset radio and checkbox appearance to preserve their look in iOS.
 */
[type=checkbox] {
  -webkit-appearance: checkbox;
  -moz-appearance: checkbox;
       appearance: checkbox;
}

[type=radio] {
  -webkit-appearance: radio;
  -moz-appearance: radio;
       appearance: radio;
}

/**
 * Correct cursors for clickable elements.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  cursor: pointer;
}

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

/**
 * Improve outlines for Firefox and unify style with input elements & buttons.
 */
:-moz-focusring {
  outline: auto;
}

select:disabled {
  opacity: inherit;
}

/**
 * Remove padding
 */
option {
  padding: 0;
}

/**
 * Reset to invisible
 */
fieldset {
  min-width: 0;
  padding: 0;
  margin: 0;
}

legend {
  padding: 0;
}

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

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

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

/**
 * 1. Correct the outline style in Safari.
 */
[type=search] {
  outline-offset: -2px;
  /* 1 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

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

/**
 * Clickable labels
 */
label[for] {
  cursor: pointer;
}

/* Interactive */
/* ============================================ */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/*
 * Remove outline for editable content.
 */
[contenteditable]:focus {
  outline: auto;
}

/* Tables */
/* ============================================ */
/**
1. Correct table border color inheritance in all Chrome and Safari.
*/
table {
  /* 1 */
  border-collapse: collapse;
  border-color: inherit;
}

caption {
  text-align: left;
}

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

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

video {
  display: block;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

a,
span {
  display: inline-block;
}

.space {
  margin-left: -0.5em;
}

@media screen and (min-width: 761px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}
.grecaptcha-badge {
  display: none;
}

/* 基本
***************************************************************/
:root {
  --color-text: #666767;
  --color-heading: #000;
  --color-surface-blue: #d6f2ff;
  --content-width: 1200px;
  --section-space: 100px;
}

html {
  font-family: "Noto Sans JP", "Hiragino Sans W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-text);
  letter-spacing: 0.02em;
}

@media screen and (min-width: 761px) {
  html {
    scrollbar-gutter: stable;
  }
}
html.lenis {
  height: auto;
}

.lenis.lenis-smooth {
  scroll-behavior: auto;
}

.lenis.lenis-smooth [data-lenis-prevent] {
  overscroll-behavior: contain;
}

.lenis.lenis-stopped {
  overflow: hidden;
}

.lenis.lenis-scrolling iframe {
  pointer-events: none;
}

@media screen and (max-width: 760px) {
  html {
    font-size: 4.1025641026vw;
  }
}
/* フォント
***************************************************************/
h1,
h2 {
  font-family: "Noto Serif JP", "Yu Mincho", "YuMincho", serif;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: var(--color-heading);
}

.en {
  font-family: "Aboreto", serif;
  letter-spacing: 0.05em;
}

/* コンテンツ・セクション幅
***************************************************************/
section {
  padding: var(--section-space) 0;
}

.inner {
  width: calc(100% - 40px);
  max-width: var(--content-width);
  margin: 0 auto;
}

@media screen and (max-width: 760px) {
  section {
    padding: 8.2051282051vw 0;
  }
  .inner {
    width: calc(100% - 10.2564102564vw);
  }
}
/* PC・SP 非表示
***************************************************************/
.sp_only {
  display: none !important;
}

@media screen and (max-width: 760px) {
  .sp_only {
    display: block !important;
  }
  .pc_only {
    display: none !important;
  }
}
/* 装飾
***************************************************************/
/* ホバーで不透明度を下げる（PCのみ） */
.hover-opacity a {
  transition: opacity 0.3s;
}

@media screen and (min-width: 761px) {
  .hover-opacity a:hover {
    opacity: 0.7;
  }
}
.space {
  margin-left: -0.5em;
}

@media screen and (min-width: 761px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}
.underline {
  font-weight: bold;
  display: inline;
}

.underline span {
  background: linear-gradient(transparent 60%, #F6F300 60%);
  display: inline;
}

@keyframes infinity-scroll-left {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
.scroll-infinity__wrap {
  display: flex;
  overflow: hidden;
}

.scroll-infinity__list {
  display: flex;
  gap: 80px;
}

.scroll-infinity__list--left {
  animation: infinity-scroll-left 80s infinite linear 0.5s both;
}

.scroll-infinity__item {
  font-size: 120px;
  line-height: 100%;
  white-space: nowrap;
}

/* 共通パーツ (全ページ)
***************************************************************/
.page-heading {
  padding-top: 199px;
}

.page-heading__inner {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  width: var(--content-width);
  margin-right: 0;
  margin-left: max(20px, (100vw - var(--content-width)) / 2);
}

.page-heading__actions {
  display: flex;
  gap: 25px;
  align-items: center;
}

.page-heading__action {
  display: grid;
  width: 165px;
  height: 44px;
  color: #7c7c7c;
  font-size: 18px;
  font-weight: 300;
  line-height: 26px;
  letter-spacing: 0.05em;
  border: 1px solid #7c7c7c;
  border-radius: 50px;
  transition: color 0.25s ease, background-color 0.25s ease;
  white-space: nowrap;
  place-items: center;
}

.page-heading__action.is-current {
  background: #d6f2ff;
}

@media (hover: hover) and (pointer: fine) {
  .page-heading__action:hover {
    color: #000;
    background: #d6f2ff;
  }
}
.page-heading__en {
  color: #000;
  font-size: 42px;
  font-weight: 400;
  line-height: 49px;
  letter-spacing: 0.05em;
}

.page-heading__title {
  margin-top: 10px;
  color: #7c7c7c;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 24px;
  font-weight: 300;
  line-height: 35px;
  letter-spacing: 0.05em;
}

/* 一覧カード共通
***************************************************************/
.archive-card {
  min-width: 0;
}

.archive-card__link {
  display: block;
  height: 100%;
  color: #7c7c7c;
}

.archive-card__thumbnail {
  overflow: hidden;
  width: 100%;
  height: 250px;
  background: #dbdcdc;
}

.archive-card__thumbnail img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.45s ease;
}

.archive-card__content {
  width: 305px;
  margin: 25px 0 0;
}

.archive-card__title {
  color: #7c7c7c;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 18px;
  font-weight: 300;
  line-height: 23px;
  letter-spacing: 0.05em;
}

@media screen and (max-width: 760px) {
  .page-heading {
    padding-top: 30.7692307692vw;
  }
  .page-heading__en {
    font-size: 8.2051282051vw;
    line-height: 1.2;
  }
  .page-heading__title {
    margin-top: 1.5384615385vw;
    font-size: 4.6153846154vw;
    line-height: 1.6;
  }
  .page-heading__inner {
    display: block;
  }
  .page-heading__actions {
    gap: 2.5641025641vw;
    margin-top: 6.1538461538vw;
  }
  .page-heading__action {
    width: calc((100% - 7.6923076923vw) / 4);
    height: 10.2564102564vw;
    font-size: 2.8205128205vw;
  }
}
@media screen and (max-width: 1240px) {
  .page-heading__inner {
    width: calc(100% - 40px);
    margin-right: auto;
    margin-left: auto;
  }
}
.section_title {
  text-align: center;
}

.section_title .en {
  display: block;
  font-size: 12px;
}

.section_title .ja {
  position: relative;
  display: block;
  font-size: 30px;
  font-weight: bold;
}

@media screen and (max-width: 760px) {
  .section_title .en {
    font-size: 2.5641025641vw;
  }
  .section_title .ja {
    font-size: 6.1538461538vw;
  }
}
/* 共通パーツ(下層)
***************************************************************/
.page_fv {
  padding: 120px 0;
  margin-top: 60px;
  text-align: center;
}

.page_fv_title {
  font-size: 40px;
  font-weight: bold;
}

.page_fv_en {
  margin-bottom: 12px;
  color: #000;
}

.entry-content > * + * {
  margin-top: 1.6em;
}

.post-list {
  display: grid;
  gap: 32px;
}

.works-list {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.post-list__item a {
  display: block;
}

.post-list__item h2 {
  margin-top: 12px;
  font-size: 22px;
}

.post-list__thumbnail {
  overflow: hidden;
  aspect-ratio: 4/3;
  border-radius: 20px;
}

.post-list__thumbnail img {
  height: 100%;
}

.single-content {
  padding: 50px 0;
}

.single-content__thumbnail {
  overflow: hidden;
  margin-bottom: 48px;
  border-radius: 20px;
}

.back-link {
  display: table;
  margin: 64px auto 0;
  color: #000;
  text-decoration: underline;
}

@media screen and (max-width: 760px) {
  .page_fv {
    padding: 20.5128205128vw 0;
  }
  .page_fv_title {
    font-size: 5.1282051282vw;
  }
  .works-list {
    grid-template-columns: 1fr;
  }
  .single-content {
    padding: 8.2051282051vw 0;
  }
}
/* ===================================================
ヘッダー
=================================================== */
.site-header {
  position: fixed;
  top: 20px;
  left: 0;
  z-index: 1000;
  width: 100%;
  pointer-events: none;
}

.admin-bar .site-header {
  top: 52px;
}

.header_inner {
  display: flex;
  align-items: center;
  width: calc(100% - 90px);
  max-width: 1350px;
  height: 80px;
  padding: 0 20px 0 25px;
  margin: 0 auto;
  pointer-events: auto;
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 2px 2px 1px rgba(0, 0, 0, 0.15);
}

.header_logo {
  flex: 0 0 186px;
  width: 186px;
  height: 25px;
}

.header_logo_graphic {
  position: relative;
  display: block;
  width: 186px;
  height: 25px;
}

.header_logo_mobile,
.header_logo_mobile_open {
  display: none;
  -o-object-fit: contain;
     object-fit: contain;
}

.header_logo_part {
  position: absolute;
  display: block;
}

.header_logo_part--symbol {
  top: 0;
  left: 0;
  width: 88.869px;
  height: 25.001px;
}

.header_logo_part--s {
  top: 2.842px;
  left: 96.59px;
  width: 13.097px;
  height: 19.32px;
}

.header_logo_part--i {
  top: 3.258px;
  left: 114.539px;
  width: 3.09px;
  height: 18.468px;
}

.header_logo_part--m {
  top: 3.258px;
  left: 123.206px;
  width: 20.576px;
  height: 18.468px;
}

.header_logo_part--n {
  top: 3.258px;
  left: 149.339px;
  width: 15.268px;
  height: 18.899px;
}

.header_logo_part--a {
  top: 2.842px;
  left: 167.716px;
  width: 18.277px;
  height: 18.886px;
}

.header_primary_nav {
  margin-right: 20px;
  margin-left: auto;
}

.header_primary_list {
  display: flex;
  gap: 30px;
  align-items: center;
  font-family: "Aboreto", serif;
  font-size: 18px;
  line-height: 1;
  color: #000;
  letter-spacing: 0.05em;
  white-space: nowrap;
}

.header_primary_list a {
  transition: color 0.25s ease;
}

.header_primary_service_label {
  font: inherit;
  color: inherit;
  letter-spacing: inherit;
  cursor: default;
}

.header_primary_item--service {
  position: relative;
}

.header_service_submenu {
  position: absolute;
  top: 100%;
  left: 50%;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 121px;
  padding-top: 14px;
  pointer-events: none;
  visibility: hidden;
  filter: drop-shadow(0 2px 1px rgba(0, 0, 0, 0.25));
  opacity: 0;
  transform: translate(-50%, -4px);
  transition: visibility 0.2s, opacity 0.2s ease, transform 0.2s ease;
}

.header_service_submenu a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 24px;
  padding: 0 10px;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: 300;
  line-height: 1;
  color: #000;
  text-align: center;
  letter-spacing: 0.05em;
  background: #fff;
  border-radius: 10px;
}

.header_primary_item--service:hover .header_service_submenu,
.header_primary_item--service:focus-within .header_service_submenu {
  pointer-events: auto;
  visibility: visible;
  opacity: 1;
  transform: translate(-50%, 0);
}

.header_actions {
  display: flex;
  flex: 0 0 auto;
  gap: 15px;
  align-items: center;
}

.header_action {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 160px;
  height: 32px;
  padding-bottom: 2px;
  font-size: 18px;
  line-height: 1;
  color: #fff;
  text-align: center;
  letter-spacing: 0.05em;
  border-radius: 50px;
  transition: color 0.25s ease, background-color 0.25s ease, box-shadow 0.25s ease;
}

.header_action--contact {
  font-family: "Aboreto", serif;
  background: #2ca6e0;
}

.header_action--document {
  font-weight: 500;
  background: #000;
}

.header_menu_button {
  display: grid;
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
  margin-left: 20px;
  pointer-events: auto;
  place-items: center;
}

.header_menu_button img {
  width: 30px;
  height: 22px;
  transition: transform 0.3s ease;
}

.header_menu_icon--mobile {
  display: none;
}

.header_menu_close_button {
  position: fixed;
  top: 20px;
  right: calc(20px - var(--header-viewport-gap, 0px));
  z-index: 1002;
  display: none;
  width: 48px;
  height: 48px;
  pointer-events: auto;
  place-items: center;
}

.header_menu_close_button img {
  display: block;
  width: 32px;
  height: 32px;
  filter: brightness(0);
  transform: rotate(45deg);
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  white-space: nowrap;
  border: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
}

.header_drawer {
  position: fixed;
  top: 0;
  right: calc(-1 * var(--header-viewport-gap, 0px));
  z-index: 1001;
  width: min(480px, 100vw + var(--header-viewport-gap, 0px));
  height: 100dvh;
  padding: 96px 48px 40px;
  overscroll-behavior: contain;
  overflow: clip;
  pointer-events: auto;
  visibility: hidden;
  background: #fff;
  box-shadow: -4px 0 20px rgba(0, 0, 0, 0.12);
  opacity: 0;
  transform: translateX(100%);
  transition: visibility 0.35s, opacity 0.35s ease, transform 0.35s ease;
}

.header_drawer_scroll {
  position: relative;
  height: 100%;
  padding-right: 48px;
  margin-right: -48px;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  scrollbar-width: thin;
  scrollbar-color: #bcbcbc transparent;
}

.header_drawer_list {
  border-top: 1px solid #d9d9d9;
}

.header_drawer_list > li > a,
.header_drawer_toggle {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  min-height: 60px;
  padding: 14px 0;
  color: #000;
  border-bottom: 1px solid #d9d9d9;
}

.header_drawer_list .en {
  font-size: 18px;
  line-height: 1.3;
}

.header_drawer_label {
  flex-shrink: 0;
  font-size: 13px;
  color: #666767;
}

.header_drawer_toggle {
  position: relative;
  width: 100%;
  padding-right: 32px;
  font: inherit;
  text-align: left;
}

.header_drawer_toggle::before,
.header_drawer_toggle::after {
  position: absolute;
  top: 50%;
  right: 8px;
  display: block;
  content: "";
  background: currentColor;
  transform: translate(50%, -50%);
}

.header_drawer_toggle::before {
  width: 16px;
  height: 1px;
}

.header_drawer_toggle::after {
  width: 1px;
  height: 16px;
  transition: transform 0.3s ease;
}

.header_drawer_toggle[aria-expanded=true]::after {
  transform: translate(50%, -50%) rotate(90deg);
}

.header_drawer_submenu {
  margin: 10px 0 14px 12px;
  padding: 0 16px;
  background: #f4f7f8;
  border-radius: 6px;
}

.header_drawer_submenu[hidden] {
  display: none;
}

.header_drawer_submenu a {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 3px;
  align-items: flex-start;
  justify-content: center;
  min-height: 46px;
  padding: 12px 0;
  color: #000;
  border-bottom: 1px solid #dce2e4;
}

.header_drawer_submenu li:last-child a {
  border-bottom: 0;
}

.header_drawer_submenu_name {
  font-size: 15px;
  line-height: 1.5;
}

.header_drawer_submenu_description {
  font-size: 12px;
  line-height: 1.6;
  color: #666767;
}

.header_drawer_external_mark {
  margin-left: 4px;
  font-size: 12px;
}

.header_drawer_actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 24px;
}

.header_drawer_actions .header_action {
  width: 100%;
  height: 44px;
  padding: 8px 12px;
  font-family: inherit;
  font-size: 15px;
  line-height: 1.4;
}

.header_drawer_contact_en {
  display: none;
}

.header_drawer_utility {
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: flex-start;
  margin-top: 24px;
  font-size: 12px;
  line-height: 1.6;
  color: #666767;
}

.header_backdrop {
  position: fixed;
  inset: 0;
  z-index: 999;
  width: calc(100% + var(--header-viewport-gap, 0px));
  height: 100%;
  pointer-events: none;
  visibility: hidden;
  background: rgba(0, 0, 0, 0.3);
  opacity: 0;
  transition: visibility 0.35s, opacity 0.35s ease;
}

.site-header.is-menu-open .header_drawer {
  visibility: visible;
  opacity: 1;
  transform: translateX(0);
}

.site-header.is-menu-open .header_backdrop {
  pointer-events: auto;
  visibility: visible;
  opacity: 1;
}

.site-header.is-menu-open .header_menu_button {
  pointer-events: none;
  visibility: hidden;
}

.site-header.is-menu-open .header_menu_close_button {
  display: grid;
}

body.is-menu-open {
  overflow: hidden;
}

@media (hover: hover) and (pointer: fine) {
  .header_primary_list a:hover {
    color: #2ca6e0;
  }
  .header_action:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.18);
  }
  .header_action--contact:hover {
    background: #168fca;
  }
  .header_action--document:hover {
    background: #333;
  }
}
@media screen and (max-width: 1215px) {
  .site-header {
    top: 16px;
  }
  .header_inner {
    width: calc(100% - 40px);
    height: 72px;
    padding: 0 16px 0 20px;
  }
  .header_primary_nav,
  .header_actions {
    display: none;
  }
  .header_menu_button {
    margin-left: auto;
  }
}
@media screen and (max-width: 760px) {
  .site-header {
    top: 0;
  }
  .admin-bar .site-header {
    top: 11.7948717949vw;
  }
  .header_inner {
    width: 100%;
    height: 12.3076923077vw;
    padding: 0.2564102564vw 3.3333333333vw;
    border-radius: 0.7692307692vw;
    box-shadow: 0 0.1482051282vw 0.0741025641vw rgba(0, 0, 0, 0.15);
  }
  .header_logo {
    display: block;
    flex: 0 0 17.9487179487vw;
    width: 17.9487179487vw;
    height: 2.5641025641vw;
  }
  .header_logo_graphic {
    display: none;
  }
  .header_logo_mobile {
    display: block;
    width: 17.9487179487vw;
    height: 2.4087179487vw;
  }
  .header_actions {
    display: flex;
    gap: 2.0512820513vw;
    margin-left: auto;
  }
  .header_actions .header_action {
    height: 4.6153846154vw;
    padding: 0.5128205128vw 2.5641025641vw;
    font-size: 3.0769230769vw;
    line-height: 3.0769230769vw;
    border-radius: 5.7405128205vw;
  }
  .header_actions .header_action--contact {
    width: 23.5897435897vw;
    letter-spacing: 0.05em;
  }
  .header_actions .header_action--document {
    width: 20vw;
    font-weight: 300;
    letter-spacing: 0.13em;
  }
  .header_menu_button {
    flex: 0 0 7.6923076923vw;
    width: 7.6923076923vw;
    height: 7.6923076923vw;
    margin-left: 2.0512820513vw;
  }
  .header_menu_icon--desktop {
    display: none;
  }
  .header_menu_icon--mobile {
    display: block;
    width: 7.6923076923vw;
    height: 7.6923076923vw;
  }
  .header_drawer {
    width: 100vw;
    padding: 28.4615384615vw 5.1282051282vw 0;
    background: rgba(0, 0, 0, 0.85);
    box-shadow: none;
    opacity: 0;
    transform: none;
    transition: visibility 0.3s, opacity 0.3s ease;
  }
  .header_drawer_list {
    display: flex;
    flex-direction: column;
    gap: 10.2564102564vw;
    align-items: center;
    border: 0;
  }
  .header_drawer_list > li {
    width: 100%;
  }
  .header_drawer_scroll {
    padding: 0 5.1282051282vw max(40px, env(safe-area-inset-bottom));
    margin-right: -5.1282051282vw;
    margin-left: -5.1282051282vw;
    scrollbar-gutter: stable both-edges;
    scrollbar-color: rgba(255, 255, 255, 0.35) transparent;
  }
  .header_drawer_list > li > a,
  .header_drawer_toggle {
    justify-content: center;
    min-height: 0;
    padding: 0;
    color: #fff;
    text-align: center;
    border: 0;
  }
  .header_drawer_list .en {
    font-size: 7.1794871795vw;
    font-weight: 400;
    line-height: 8.2051282051vw;
    color: #fff;
    letter-spacing: 0.05em;
  }
  .header_drawer_label {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    white-space: nowrap;
    clip-path: inset(50%);
  }
  .header_drawer_toggle {
    width: -moz-fit-content;
    width: fit-content;
    padding-right: 7.1794871795vw;
    padding-left: 7.1794871795vw;
    margin: 0 auto;
  }
  .header_drawer_toggle::before,
  .header_drawer_toggle::after {
    right: 2.0512820513vw;
  }
  .header_drawer_submenu {
    padding: 0;
    margin: 5.1282051282vw 0 0;
    background: transparent;
  }
  .header_drawer_submenu a {
    align-items: center;
    color: #fff;
    text-align: center;
    border: 0;
  }
  .header_drawer_submenu_description,
  .header_drawer_utility {
    color: #ddd;
  }
  .header_drawer_actions {
    display: flex;
    flex-direction: column;
    gap: 10.2564102564vw;
    align-items: center;
    margin-top: 10.2564102564vw;
  }
  .header_drawer_actions .header_action {
    width: -moz-fit-content;
    width: fit-content;
    height: 9.7435897436vw;
    padding: 1.2820512821vw 8.2051282051vw;
    font-size: 7.1794871795vw;
    line-height: 7.1794871795vw;
    border-radius: 11.2820512821vw;
  }
  .header_drawer_actions .header_action--contact {
    font-family: "Aboreto", serif;
  }
  .header_drawer_contact_ja {
    display: none;
  }
  .header_drawer_contact_en {
    display: inline;
  }
  .header_drawer_actions .header_action--document {
    font-weight: 300;
    color: #2ca6e0;
    letter-spacing: 0.13em;
    background: #fff;
  }
  .header_drawer_utility {
    gap: 16px;
    align-items: center;
    margin-top: 10.2564102564vw;
    text-align: center;
  }
  .header_backdrop {
    display: none;
  }
  .site-header.is-menu-open .header_inner {
    width: 100%;
    height: 12.8205128205vw;
    padding: 0;
    pointer-events: none;
    background: transparent;
    border-radius: 0;
    box-shadow: none;
  }
  .site-header.is-menu-open .header_logo {
    position: fixed;
    top: 5.1282051282vw;
    left: 5.1282051282vw;
    z-index: 1002;
    width: 47.6923076923vw;
    height: 6.4102564103vw;
    pointer-events: auto;
  }
  .site-header.is-menu-open .header_logo_mobile {
    display: none;
  }
  .site-header.is-menu-open .header_logo_mobile_open {
    display: block;
    width: 47.6923076923vw;
    height: 6.4102564103vw;
  }
  .site-header.is-menu-open .header_actions {
    display: none;
  }
  .header_menu_close_button {
    top: 0;
    right: 5.1282051282vw;
    width: 12.8205128205vw;
    height: 12.8205128205vw;
    background: #2ca6e0;
    border-radius: 0 0 2.5641025641vw 2.5641025641vw;
  }
  .header_menu_close_button img {
    width: 8.2051282051vw;
    height: 8.2051282051vw;
    filter: none;
  }
  .site-header.is-menu-open .header_drawer {
    opacity: 1;
    transform: none;
  }
}
/* ===================================================
フッター
=================================================== */
.site-footer {
  width: calc(100% - 80px);
  height: 334px;
  padding: 0;
  margin-top: 50px;
  margin-right: 40px;
  margin-left: 40px;
  color: #fff;
  text-align: left;
  background: #000;
  border-radius: 10px 10px 0 0;
}

.site-footer__inner {
  position: relative;
  width: 100%;
  max-width: 1350px;
  height: 100%;
  margin: 0 auto;
}

.site-footer__statement {
  position: absolute;
  top: 19px;
  left: 61px;
  width: 1229px;
  font-size: 80px;
  font-weight: 400;
  line-height: 100px;
  letter-spacing: 0;
  white-space: nowrap;
}

.site-footer__description {
  position: absolute;
  top: 119px;
  left: 100px;
  width: 1150px;
  font-size: 15px;
  font-weight: 400;
  line-height: 30px;
  letter-spacing: 0.05em;
  text-align: center;
  white-space: nowrap;
}

.site-footer__nav {
  position: absolute;
  top: 199px;
  left: 50%;
  display: flex;
  gap: 54px;
  align-items: center;
  width: -moz-max-content;
  width: max-content;
  font-size: 18px;
  line-height: 26px;
  letter-spacing: 0.05em;
  transform: translateX(-50%);
}

.site-footer a {
  color: inherit;
  transition: opacity 0.3s ease;
}

.site-footer__bottom {
  position: absolute;
  top: 275px;
  left: 72px;
  display: flex;
  justify-content: space-between;
  width: 1203px;
  color: #6c6c6c;
  font-size: 15px;
  line-height: 30px;
  letter-spacing: 0.05em;
}

.site-footer__bottom small {
  font: inherit;
}

@media (hover: hover) and (pointer: fine) {
  .site-footer a:hover {
    opacity: 0.65;
  }
}
@media screen and (max-width: 1394px) {
  .site-footer__statement {
    left: 4.505%;
    width: 90.768%;
    font-size: clamp(52px, 5.556vw, 80px);
    text-align: center;
  }
  .site-footer__description {
    left: 7.386%;
    width: 84.934%;
    font-size: clamp(12px, 1.042vw, 15px);
  }
  .site-footer__nav {
    left: 50%;
    gap: clamp(28px, 3.75vw, 54px);
    transform: translateX(-50%);
  }
  .site-footer__bottom {
    left: 5.318%;
    width: 88.848%;
  }
}
@media screen and (max-width: 1160px) {
  .site-footer {
    height: auto;
    min-height: 334px;
    padding: 32px 28px 24px;
  }
  .site-footer__inner {
    display: flex;
    flex-direction: column;
    gap: 24px;
    min-height: 278px;
  }
  .site-footer__statement,
  .site-footer__description,
  .site-footer__nav,
  .site-footer__bottom {
    position: static;
    width: 100%;
    transform: none;
  }
  .site-footer__statement {
    font-size: clamp(40px, 7.5vw, 64px);
    line-height: 1.2;
    white-space: normal;
  }
  .site-footer__description {
    font-size: 14px;
    line-height: 1.9;
    text-align: left;
    white-space: normal;
  }
  .site-footer__nav {
    flex-wrap: wrap;
    gap: 16px 32px;
    justify-content: center;
  }
  .site-footer__bottom {
    margin-top: auto;
  }
}
@media screen and (max-width: 760px) {
  .site-footer {
    min-height: 92.3076923077vw;
    padding: 7.1794871795vw 4.6153846154vw 5.1282051282vw;
    margin-top: 8.2051282051vw;
  }
  .site-footer__inner {
    min-height: 80vw;
  }
  .site-footer__statement {
    font-size: clamp(7.6923076923vw, 10vw, 11.2820512821vw);
  }
  .site-footer__nav {
    justify-content: flex-start;
    font-size: 3.8461538462vw;
  }
  .site-footer__bottom {
    flex-direction: column;
    gap: 1.0256410256vw;
    font-size: 3.0769230769vw;
    line-height: 1.8;
  }
}
@media screen and (max-width: 760px) {
  .site-footer {
    width: 100%;
    height: auto;
    min-height: 107.1794871795vw;
    padding: 10.2564102564vw 7.6923076923vw 5.1282051282vw;
    margin: 16.4102564103vw 0 0;
    border-radius: 2.5641025641vw 2.5641025641vw 0 0;
  }
  .site-footer__inner {
    display: flex;
    flex-direction: column;
    gap: 5.1282051282vw;
    width: 100%;
    height: auto;
    min-height: 0;
  }
  .site-footer__statement,
  .site-footer__description,
  .site-footer__nav,
  .site-footer__bottom {
    position: static;
    width: 100%;
    transform: none;
  }
  .site-footer__statement {
    font-size: 10.2564102564vw;
    line-height: 12.3076923077vw;
    white-space: normal;
  }
  .site-footer__description {
    font-size: 3.0769230769vw;
    line-height: 5.3846153846vw;
    text-align: left;
    white-space: normal;
  }
  .site-footer__nav {
    display: grid;
    grid-template-columns: repeat(2, max-content);
    gap: 4.1025641026vw 8.2051282051vw;
    justify-content: start;
    margin-top: 1.5384615385vw;
    font-size: 4.1025641026vw;
    line-height: 4.8717948718vw;
  }
  .site-footer__bottom {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 1.0256410256vw 3.0769230769vw;
    justify-content: space-between;
    margin-top: 3.0769230769vw;
    font-size: 2.5641025641vw;
    line-height: 7.6923076923vw;
  }
}
/* フェードイン
***************************************************************/
.fadein {
  opacity: 0;
  transform: translateY(30px);
  transition: all 0.6s ease;
}

.fadein.fadein_active {
  opacity: 1;
  transform: translateY(0);
}

.fadein.number02 {
  transition-delay: 100ms;
}

.fadein.number03 {
  transition-delay: 150ms;
}

.fadein.number04 {
  transition-delay: 200ms;
}

.fadein.number05 {
  transition-delay: 250ms;
}

.fadein.number06 {
  transition-delay: 300ms;
}

.fadein.number07 {
  transition-delay: 350ms;
}

.fadein.number08 {
  transition-delay: 400ms;
}

.fadein.number09 {
  transition-delay: 450ms;
}

.fadein.number10 {
  transition-delay: 500ms;
}

.fadein.number11 {
  transition-delay: 550ms;
}

.fadein.number12 {
  transition-delay: 600ms;
}

.fadein.number13 {
  transition-delay: 650ms;
}

.fadein.number14 {
  transition-delay: 700ms;
}

.fadein.number15 {
  transition-delay: 750ms;
}

.fadein.number16 {
  transition-delay: 800ms;
}

.fadein.number17 {
  transition-delay: 850ms;
}

.fadein.number18 {
  transition-delay: 900ms;
}

.fadein.fadein_active {
  opacity: 1;
  transform: translateY(0);
}

@media all and (min-width: 761px) {
  .action01 {
    position: relative;
    opacity: 0;
    transform: translateY(40px);
    transition: opacity 0.8s, transform 0.8s ease-out;
  }
  .action01.action {
    opacity: 1;
    transform: translateY(0);
  }
  .action02 {
    position: relative;
    opacity: 0;
    transform: translateX(-40px);
    transition: opacity 0.8s, transform 0.8s ease-out;
  }
  .action02.action {
    opacity: 1;
    transform: translateY(0);
  }
  .action03 {
    position: relative;
    opacity: 0;
    transform: translateX(40px);
    transition: opacity 0.8s, transform 0.8s ease-out;
  }
  .action03.action {
    opacity: 1;
    transform: translateX(0);
  }
  .action04 {
    opacity: 0;
    transition: opacity 0.8s ease-out;
  }
  .action04.action {
    opacity: 1;
  }
  .delay1 {
    transition-delay: 0.3s;
  }
  .delay2 {
    transition-delay: 0.6s;
  }
  .delay3 {
    transition-delay: 0.9s;
  }
  .delay4 {
    transition-delay: 1.2s;
  }
  .delay5 {
    transition-delay: 1.5s;
  }
}
@media all and (max-width: 760px) {
  .action01_sp {
    position: relative;
    opacity: 0;
    transform: translateY(12.8205128205vw);
    transition: opacity 0.6s, transform 0.6s ease-out;
  }
  .action01_sp.action {
    opacity: 1;
    transform: translateY(0);
  }
  .action02_sp {
    position: relative;
    opacity: 0;
    transform: translateX(-12.8205128205vw);
    transition: opacity 0.6s, transform 0.6s ease-out;
  }
  .action02_sp.action {
    opacity: 1;
    transform: translateY(0);
  }
  .action03_sp {
    position: relative;
    opacity: 0;
    transform: translateX(12.8205128205vw);
    transition: opacity 0.6s, transform 0.6s ease-out;
  }
  .action03_sp.action {
    opacity: 1;
    transform: translateX(0);
  }
  .action04_sp {
    opacity: 0;
    transition: opacity 0.6s ease-out;
  }
  .action04_sp.action {
    opacity: 1;
  }
  .delay1_sp {
    transition-delay: 0.3s;
  }
  .delay2_sp {
    transition-delay: 0.6s;
  }
  .delay3_sp {
    transition-delay: 0.9s;
  }
  .delay4_sp {
    transition-delay: 1.2s;
  }
  .delay5_sp {
    transition-delay: 1.5s;
  }
}
/* section7
***************************************************************/
.faq_accordion-area {
  display: flex;
  flex-flow: column;
  gap: 24px;
  margin-top: 40px;
}

.faq_accordion-area li {
  background: #fff;
  padding: 30px 40px 18px;
  position: relative;
}

.faq_title {
  position: relative;
  cursor: pointer;
  transition: all 0.5s ease;
  border-bottom: 1px solid #111;
  padding-bottom: 24px;
  padding-left: 34px;
  line-height: 1.6;
  font-weight: 500;
  position: relative;
}

.faq_title span {
  position: relative;
}

.faq_title span::before {
  content: "Q.";
  display: block;
  font-size: 30px;
  line-height: 1.2;
  font-weight: 500;
  font-family: "Oswald", sans-serif;
  color: #000;
  position: absolute;
  top: 50%;
  left: -33px;
  transform: translate(0, -50%);
}

/*アイコンの＋と×*/
.faq_title::before,
.faq_title::after {
  position: absolute;
  content: "";
  width: 20px;
  height: 2px;
  background-color: #000;
}

.faq_title::before {
  top: 42%;
  right: 15px;
  transform: rotate(0deg);
}

.faq_title::after {
  top: 42%;
  right: 15px;
  transform: rotate(90deg);
  transition: 0.3s;
}

.faq_title.close::after {
  transform: rotate(0);
}

.faq_box {
  display: none;
  padding: 22px 0 0 33px;
  position: relative;
}

.faq_box p {
  position: relative;
  line-height: 1.6;
}

.faq_box p::before {
  content: "A.";
  display: block;
  font-size: 30px;
  line-height: 1.2;
  font-weight: 500;
  font-family: "Oswald", sans-serif;
  color: #000;
  position: absolute;
  top: 50%;
  left: -33px;
  transform: translate(0, -50%);
}

@media screen and (max-width: 760px) {
  .faq_accordion-area {
    gap: 6.1538461538vw;
    margin-top: 10.2564102564vw;
  }
  .faq_accordion-area li {
    padding: 3.8461538462vw 2.5641025641vw;
  }
  .faq_title {
    padding-bottom: 4.1025641026vw;
    padding-left: 9.2307692308vw;
    padding-right: 6.6666666667vw;
  }
  .faq_title span {
    position: relative;
  }
  .faq_title span::before {
    font-size: 7.6923076923vw;
    left: -8.4615384615vw;
  }
  .faq_title::before,
  .faq_title::after {
    width: 5.1282051282vw;
    height: 0.5128205128vw;
    background-color: #000;
  }
  .faq_title::before {
    right: 1.7948717949vw;
  }
  .faq_title::after {
    top: 42%;
    right: 1.7948717949vw;
  }
  .faq_box {
    display: none;
    padding: 4.1025641026vw 6.9230769231vw 0 8.4615384615vw;
  }
  .faq_box p::before {
    font-size: 7.6923076923vw;
    left: -8.4615384615vw;
  }
}
/* ===================================================
採用関連ページ共通リンク・お問い合わせCTA
=================================================== */
.recruit-links-contact {
  padding: 50px 0;
  background: #fff;
}

.recruit-links-contact__inner {
  width: calc(100% - 40px);
  max-width: 1200px;
  margin: 0 auto;
}

.recruit-links-contact__links {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 30px;
}

.recruit-links-contact__card {
  position: relative;
  display: grid;
  overflow: hidden;
  color: #fff;
  text-decoration: none;
  aspect-ratio: 380/220;
  -webkit-mask-image: url("../images/recruit/related-mask.svg");
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
  mask-image: url("../images/recruit/related-mask.svg");
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: 100% 100%;
  place-items: center;
}

.recruit-links-contact__card.is-current {
  display: none;
}

.recruit-links-contact__card > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.recruit-links-contact__card > img {
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.35s ease;
}

.recruit-links-contact__card > strong {
  position: relative;
  z-index: 2;
  font-size: 28.6px;
  font-weight: 400;
  line-height: 42.6px;
  letter-spacing: 0.05em;
  text-align: center;
  white-space: nowrap;
}

.recruit-links-contact__cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: 140px;
  padding: 26px 27px 26px 54px;
  margin-top: 30px;
  color: #fff;
  background: #2ca6e0;
  border-radius: 10px;
}

.recruit-links-contact__cta > p {
  font-size: 32px;
  font-weight: 600;
  line-height: 35.75px;
  letter-spacing: 0.05em;
  white-space: nowrap;
}

.recruit-links-contact__cta > a {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: center;
  width: 383px;
  height: 87px;
  color: #000;
  background: #fff;
  border-radius: 10px;
}

.recruit-links-contact__cta > a strong {
  font-size: 32px;
  font-weight: 600;
  line-height: 35.75px;
  letter-spacing: 0.05em;
  white-space: nowrap;
}

.recruit-links-contact__cta > a img {
  display: block;
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
}

@media (hover: hover) and (pointer: fine) {
  .recruit-links-contact__card:hover > img {
    transform: scale(1.03);
  }
}
@media screen and (max-width: 1080px) {
  .recruit-links-contact__card > strong {
    font-size: clamp(20px, 2.25vw, 28px);
  }
  .recruit-links-contact__cta {
    gap: 24px;
    height: auto;
    min-height: 140px;
    padding: 28px;
  }
  .recruit-links-contact__cta > p {
    max-width: calc(100% - 320px);
    font-size: clamp(23px, 3vw, 32px);
    white-space: normal;
  }
  .recruit-links-contact__cta > a {
    flex: 0 0 300px;
    width: 300px;
    height: 76px;
  }
  .recruit-links-contact__cta > a strong {
    font-size: 24px;
  }
}
@media screen and (max-width: 800px) {
  .recruit-links-contact__links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
  }
}
@media screen and (max-width: 760px) {
  .recruit-links-contact {
    padding: 8.2051282051vw 0;
  }
  .recruit-links-contact__inner {
    width: calc(100% - 5.1282051282vw);
  }
  .recruit-links-contact__links {
    grid-template-columns: 1fr;
    gap: 3.5897435897vw;
  }
  .recruit-links-contact__card > strong {
    font-size: 6.1538461538vw;
    line-height: 1.5;
  }
  .recruit-links-contact__cta {
    flex-direction: column;
    gap: 5.641025641vw;
    padding: 6.6666666667vw 4.6153846154vw;
    margin-top: 5.1282051282vw;
    text-align: center;
  }
  .recruit-links-contact__cta > p {
    max-width: none;
    font-size: 5.8974358974vw;
    line-height: 1.5;
  }
  .recruit-links-contact__cta > a {
    flex-basis: auto;
    width: min(76.9230769231vw, 100%);
    height: 17.4358974359vw;
  }
  .recruit-links-contact__cta > a strong {
    font-size: 6.1538461538vw;
  }
  .recruit-links-contact__cta > a img {
    flex-basis: 10.2564102564vw;
    width: 10.2564102564vw;
    height: 10.2564102564vw;
  }
}
@media screen and (max-width: 760px) {
  .recruit-links-contact {
    padding: 8.2051282051vw 0;
  }
  .recruit-links-contact__inner {
    width: 84.6153846154vw;
  }
  .recruit-links-contact__links {
    grid-template-columns: repeat(2, 40.7692307692vw);
    grid-template-rows: repeat(2, 23.6694871795vw);
    gap: 3.0769230769vw;
    width: 84.6153846154vw;
  }
  .recruit-links-contact__card,
  .recruit-links-contact__card.is-current {
    display: grid;
    width: 40.7692307692vw;
    height: 23.6694871795vw;
    aspect-ratio: auto;
  }
  .recruit-links-contact__card > strong {
    font-size: 3.5897435897vw;
    line-height: 3.5897435897vw;
    letter-spacing: 0.05em;
  }
  .recruit-links-contact__cta {
    width: 84.6153846154vw;
    height: 20.5128205128vw;
    min-height: 20.5128205128vw;
    gap: 0;
    padding: 3.5897435897vw 3.0769230769vw;
    margin-top: 8.2051282051vw;
    border-radius: 0.8333333333vw;
  }
  .recruit-links-contact__cta > p {
    font-size: 4.1025641026vw;
    line-height: 3.0769230769vw;
    letter-spacing: 0.05em;
    white-space: nowrap;
  }
  .recruit-links-contact__cta > a {
    gap: 0.8333333333vw;
    width: 75.3846153846vw;
    height: 7.1794871795vw;
    border-radius: 0.8333333333vw;
  }
  .recruit-links-contact__cta > a strong {
    font-size: 4.1025641026vw;
    line-height: 4.1025641026vw;
    letter-spacing: 0.05em;
  }
  .recruit-links-contact__cta > a img {
    flex-basis: 6.1538461538vw;
    width: 6.1538461538vw;
    height: 6.1538461538vw;
  }
}
.recruit-hero-curve > img {
  display: block;
  width: 100%;
  height: 100%;
}

.support-fv__curve {
  display: none;
}

@media screen and (max-width: 760px) {
  .recruit-fv .recruit-hero-curve,
  .support-fv .recruit-hero-curve,
  .strengths-fv .recruit-hero-curve,
  .service01-fv .recruit-hero-curve,
  .service02-fv .recruit-hero-curve {
    position: absolute;
    top: 73.0769230769vw;
    left: 50%;
    z-index: 1;
    display: block;
    width: 128.2051282051vw;
    height: 91.5384615385vw;
    max-width: none;
    transform: translateX(-50%);
    pointer-events: none;
  }
}
/* ページネーション
***************************************************************/
.nav-links,
.page-nation {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 25px;
  margin-top: 60px;
}

.nav-links span,
.nav-links a,
.page-numbers {
  text-align: center;
  font-size: 28px;
  font-weight: 500;
  line-height: 1;
  height: 62px;
  width: 62px;
  letter-spacing: 0.806px;
  position: relative;
  display: flex;
  flex-flow: column;
  justify-content: center;
  align-items: center;
}

.nav-links span.current,
.page-numbers.current {
  color: #095C9D;
}

.nav-links a.next::before,
.page-numbers.next::before {
  content: "";
  display: inline-block;
  width: 62px;
  height: 62px;
  background-image: url(../images/icon/icon_arrow_right03.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  top: 50%;
  left: 53%;
  transform: translate(-50%, -50%);
}

.nav-links a.prev::before,
.page-numbers.prev::before {
  content: "";
  display: inline-block;
  width: 62px;
  height: 62px;
  background-image: url(../images/icon/icon_arrow_right03.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(-1, 1);
}

@media screen and (max-width: 760px) {
  .nav-links,
  .page-nation {
    gap: 3.8461538462vw;
    margin-top: 10.2564102564vw;
  }
  .nav-links span,
  .nav-links a,
  .page-numbers {
    font-size: 4.6153846154vw;
    height: 10.7692307692vw;
    width: 10.7692307692vw;
  }
  .nav-links a.next::before,
  .page-numbers.next::before {
    width: 10.7692307692vw;
    height: 10.7692307692vw;
  }
  .nav-links a.prev::before,
  .page-numbers.prev::before {
    width: 10.7692307692vw;
    height: 10.7692307692vw;
  }
}
/* 詳細
***************************************************************/
.post-single {
  line-height: 1.6;
}

.post-single img.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
  height: auto;
}

.post-single h2 {
  font-size: 30px;
  margin-bottom: 20px;
  border-left: 4px solid #e8518d;
  padding-left: 20px;
}

.post-single h3 {
  font-size: 24px;
  margin-bottom: 20px;
  border-bottom: 1px solid #bea36c;
  padding-bottom: 10px;
}

.post-single h4 {
  font-size: 20px;
  margin-bottom: 20px;
}

.post-single h5 {
  font-size: 18px;
  margin-bottom: 20px;
}

.post-single p {
  font-size: 16px;
  margin-bottom: 20px;
}

.post-single ul {
  list-style: disc;
  padding-left: 20px;
  margin-bottom: 20px;
}

.post-single ol {
  list-style: auto;
  padding-left: 20px;
  margin-bottom: 20px;
}

.post-single img {
  max-width: 100%;
  width: auto;
  margin-bottom: 20px;
}

@media screen and (max-width: 760px) {
  .post-single {
    line-height: 1.8;
  }
  .post-single h2 {
    font-size: 5.641025641vw;
    margin-bottom: 4.1025641026vw;
    padding-left: 3.5897435897vw;
    border-left-width: 0.7692307692vw;
  }
  .post-single h3 {
    font-size: 5.1282051282vw;
    margin-bottom: 3.5897435897vw;
    padding-bottom: 2.0512820513vw;
  }
  .post-single h4 {
    font-size: 4.6153846154vw;
    margin-bottom: 3.0769230769vw;
  }
  .post-single h5 {
    font-size: 4.1025641026vw;
    margin-bottom: 2.5641025641vw;
  }
  .post-single p {
    font-size: 3.5897435897vw;
    margin-bottom: 4.1025641026vw;
  }
  .post-single ul,
  .post-single ol {
    padding-left: 4.1025641026vw;
    margin-bottom: 4.1025641026vw;
  }
  .post-single img {
    margin-bottom: 4.1025641026vw;
  }
}
/* ===================================================
トップページ
=================================================== */
/* KV
***************************************************************/
.front-kv {
  width: 100%;
  padding: 150px 0 0;
  background: #fff;
}

.front-kv_grid {
  position: relative;
  width: min(1350px, 100vw - 40px);
  aspect-ratio: 1350/1128;
  margin-right: 0;
  margin-left: max(20px, (100vw - 1350px) / 2);
}

.front-kv_card {
  position: absolute;
  display: block;
  overflow: hidden;
  color: #fff;
  background: #eee;
  border-radius: 10px;
  isolation: isolate;
}

.front-kv_card--about {
  top: 0;
  left: 0;
  width: 61.111%;
  height: 41.135%;
}

.front-kv_card--service01 {
  top: 0;
  left: 62.963%;
  width: 37.037%;
  height: 32.358%;
}

.front-kv_card--recruit {
  top: 34.574%;
  left: 62.963%;
  width: 37.037%;
  height: 19.947%;
}

.front-kv_card--youth {
  top: 43.262%;
  left: 0;
  width: 22.222%;
  height: 32.358%;
  background-color: #f5b15f;
  background-image: url("../images/front/kv-youth-illustration.webp");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.front-kv_card--service02 {
  top: 43.351%;
  left: 24.074%;
  width: 37.037%;
  height: 32.358%;
}

.front-kv_card--design {
  top: 56.738%;
  left: 62.963%;
  width: 37.037%;
  height: 18.972%;
}

.front-kv_card--projects {
  top: 77.837%;
  left: 0;
  width: 49.111%;
  height: 22.163%;
}

.front-kv_card--support {
  top: 77.837%;
  left: 50.963%;
  width: 49.185%;
  height: 22.163%;
}

.front-kv_bg {
  position: absolute;
  inset: 0;
  z-index: -1;
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.5s ease;
}

.front-kv_card--service01 .front-kv_bg {
  -o-object-position: right center;
     object-position: right center;
}

.front-kv_card--service02 .front-kv_bg {
  -o-object-position: 31% center;
     object-position: 31% center;
}

.front-kv_card--projects .front-kv_bg {
  -o-object-position: center 43%;
     object-position: center 43%;
}

.front-kv_content {
  position: absolute;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.front-kv_card--about .front-kv_content {
  bottom: 14.655%;
  left: 2.788%;
}

.front-kv_card--service01 .front-kv_content,
.front-kv_card--service02 .front-kv_content {
  bottom: 8.767%;
  left: 6%;
}

.front-kv_card--recruit .front-kv_content {
  bottom: 12.444%;
  left: 4.6%;
}

.front-kv_card--design .front-kv_content {
  bottom: 8.411%;
  left: 4.6%;
}

.front-kv_card--projects .front-kv_content,
.front-kv_card--support .front-kv_content {
  bottom: 11.2%;
  left: 4.525%;
}

.front-kv_heading {
  display: flex;
  flex-direction: column;
  gap: 3px;
  align-items: flex-start;
}

.front-kv_heading--dark {
  color: #000;
}

.front-kv_mark {
  display: block;
  width: 53px;
  height: 15px;
}

.front-kv_heading--light .front-kv_mark {
  filter: brightness(0) invert(1);
}

.front-kv_label {
  font-size: clamp(13px, 1.111vw, 16px);
  line-height: 1.2;
  letter-spacing: 0.05em;
}

.front-kv_copy {
  display: block;
  margin-top: 10px;
  font-size: clamp(17px, 1.528vw, 22px);
  font-weight: 400;
  line-height: 1.455;
  letter-spacing: 0.05em;
}

.front-kv_description {
  display: block;
  margin-top: 14px;
  font-size: clamp(12px, 1.042vw, 15px);
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.1em;
}

.front-kv_content--dark {
  color: #666767;
}

.front-kv_content--dark .front-kv_copy {
  margin-top: 7px;
}

.front-kv_more {
  position: absolute;
  right: 2.424%;
  bottom: 4.31%;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 132px;
  height: 30px;
  padding-left: 13px;
  font-size: 15px;
  line-height: 1;
  letter-spacing: 0.05em;
  border: 1px solid #fff;
  border-radius: 30px;
}

.front-kv_more img {
  flex: 0 0 30px;
  width: 30px;
  height: 30px;
  transform: rotate(90deg);
}

.front-kv_service-logo {
  position: absolute;
  z-index: 1;
  display: block;
  -o-object-fit: contain;
     object-fit: contain;
}

.front-kv_service-logo--service01 {
  top: 8.219%;
  left: 6%;
  width: 16.906%;
  height: auto;
}

.front-kv_service-logo--service02 {
  top: 8.219%;
  left: 6%;
  width: 23.44%;
  height: auto;
}

.front-kv_youth-logo {
  position: absolute;
  top: 8.219%;
  left: 10%;
  z-index: 1;
  width: 44.333%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}

.front-kv_card--youth .front-kv_copy {
  position: absolute;
  bottom: 4.11%;
  left: 7.667%;
  z-index: 1;
  margin: 0;
  white-space: nowrap;
}

@media (hover: hover) and (pointer: fine) {
  .front-kv_card:hover .front-kv_bg {
    transform: scale(1.03);
  }
}
@media screen and (max-width: 900px) {
  .front-kv {
    padding-top: 104px;
  }
  .front-kv_grid {
    display: grid;
    width: calc(100% - 30px);
    max-width: none;
    aspect-ratio: auto;
    gap: 14px;
    margin: 0 auto;
  }
  .front-kv_card {
    position: relative;
    inset: auto;
    width: 100%;
    height: auto;
  }
  .front-kv_card--about {
    aspect-ratio: 825/464;
  }
  .front-kv_card--service01,
  .front-kv_card--service02 {
    aspect-ratio: 500/365;
  }
  .front-kv_card--recruit {
    aspect-ratio: 500/225;
  }
  .front-kv_card--youth {
    aspect-ratio: 300/365;
  }
  .front-kv_card--design {
    aspect-ratio: 500/214;
  }
  .front-kv_card--projects,
  .front-kv_card--support {
    aspect-ratio: 663/250;
  }
  .front-kv_label {
    font-size: 14px;
  }
  .front-kv_copy {
    font-size: clamp(16px, 4.8vw, 22px);
  }
  .front-kv_description {
    font-size: clamp(11px, 3.2vw, 15px);
  }
}
@media screen and (max-width: 760px) {
  .front-kv {
    padding-top: 24.1025641026vw;
  }
  .front-kv_grid {
    width: calc(100% - 5.1282051282vw);
    gap: 2.5641025641vw;
  }
  .front-kv_card {
    border-radius: 2.0512820513vw;
  }
  .front-kv_mark {
    width: 10.7692307692vw;
    height: auto;
  }
  .front-kv_label {
    font-size: 3.0769230769vw;
  }
  .front-kv_copy {
    margin-top: 1.5384615385vw;
    font-size: clamp(3.5897435897vw, 4.1vw, 4.6153846154vw);
  }
  .front-kv_description {
    margin-top: 2.0512820513vw;
    font-size: 2.8205128205vw;
  }
  .front-kv_more {
    width: 29.7435897436vw;
    height: 6.9230769231vw;
    padding-left: 2.5641025641vw;
    font-size: 3.3333333333vw;
  }
  .front-kv_more img {
    flex-basis: 6.9230769231vw;
    width: 6.9230769231vw;
    height: 6.9230769231vw;
  }
}
/* News cards
***************************************************************/
.front-news-section {
  display: flex;
  gap: 155px;
  align-items: flex-start;
  width: 1321px;
  min-height: 276px;
  padding: 0;
  margin-top: 49px;
  margin-right: 0;
  margin-left: max(20px, (100vw - 1350px) / 2 + 30px);
}

.front-news-section__heading {
  display: flex;
  flex: 0 0 159px;
  flex-direction: column;
  gap: 50px;
  align-items: flex-start;
  width: 159px;
}

.front-news-section__title-group {
  width: 138px;
}

.front-news-section__eyebrow {
  display: flex;
  gap: 11px;
  align-items: center;
  margin: 0 0 15px;
  color: #000;
}

.front-news-section__eyebrow img {
  display: block;
  width: 53px;
  height: 15px;
}

.front-news-section__eyebrow .en {
  font-size: 23px;
  line-height: 27px;
  letter-spacing: 0.05em;
}

.front-news-section__title {
  margin: 0;
  color: #7c7c7c;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 32px;
  font-weight: 300;
  line-height: 46px;
  letter-spacing: 0.05em;
  white-space: nowrap;
}

.front-news-section__more {
  position: relative;
  display: flex;
  align-items: center;
  width: 156px;
  height: 30px;
  padding-left: 15px;
  color: #7c7c7c;
  font-size: 16px;
  line-height: 1;
  border: 1px solid #7c7c7c;
  border-radius: 50px;
}

.front-news-section__more img {
  position: absolute;
  top: -1px;
  right: -1px;
  display: block;
  width: 30px;
  height: 30px;
  transform: rotate(90deg);
  transition: transform 0.3s ease;
}

.front-news-section__list {
  display: grid;
  flex: 0 0 1007px;
  grid-template-columns: repeat(3, 319px);
  gap: 25px;
  width: 1007px;
}

.front-news-section__card {
  min-width: 0;
}

.front-news-section__card > a {
  display: flex;
  flex-direction: column;
  gap: 8px;
  color: #7c7c7c;
}

.front-news-section__thumbnail {
  width: 100%;
  height: 200px;
  overflow: hidden;
  background: #d9d9d9;
  border-radius: 10px;
}

.front-news-section__thumbnail img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.5s ease;
}

.front-news-section__card-title {
  width: 100%;
  margin: 0;
  overflow: hidden;
  color: #7c7c7c;
  font-size: 18px;
  font-weight: 600;
  line-height: 30px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.front-news-section__date {
  display: flex;
  gap: 8px;
  align-items: center;
  height: 30px;
  font-size: 15px;
  font-weight: 300;
  line-height: 30px;
  letter-spacing: 0.05em;
}

.front-news-section__date > span {
  flex: 0 0 15px;
  width: 15px;
  height: 1px;
  background: #2ca6e0;
}

.front-news-section__empty {
  margin: 0;
  color: #7c7c7c;
}

@media (hover: hover) and (pointer: fine) {
  .front-news-section__more:hover img {
    transform: translateX(3px) rotate(90deg);
  }
  .front-news-section__card > a:hover .front-news-section__thumbnail img {
    transform: scale(1.04);
  }
  .front-news-section__card > a:hover .front-news-section__card-title {
    text-decoration: underline;
    text-underline-offset: 0.2em;
  }
}
@media screen and (max-width: 1395px) {
  .front-news-section {
    gap: clamp(50px, 10.764vw, 155px);
    width: calc(100% - 60px);
    margin-left: 30px;
  }
  .front-news-section__list {
    flex: 1 1 auto;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: auto;
  }
}
@media screen and (max-width: 1000px) {
  .front-news-section {
    display: block;
    width: calc(100% - 40px);
    margin-right: auto;
    margin-left: auto;
  }
  .front-news-section__heading {
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
    width: 100%;
    margin-bottom: 30px;
  }
  .front-news-section__list {
    width: 100%;
  }
  .front-news-section__thumbnail {
    height: auto;
    aspect-ratio: 319/200;
  }
}
@media screen and (max-width: 760px) {
  .front-news-section {
    width: calc(100% - 5.1282051282vw);
    margin-top: 8.2051282051vw;
  }
  .front-news-section__heading {
    margin-bottom: 6.1538461538vw;
  }
  .front-news-section__eyebrow {
    gap: 2.0512820513vw;
    margin-bottom: 2.0512820513vw;
  }
  .front-news-section__eyebrow img {
    width: 10.7692307692vw;
    height: auto;
  }
  .front-news-section__eyebrow .en {
    font-size: 4.1025641026vw;
  }
  .front-news-section__title {
    font-size: 6.1538461538vw;
    line-height: 1.4;
  }
  .front-news-section__more {
    width: 33.8461538462vw;
    font-size: 3.5897435897vw;
  }
  .front-news-section__list {
    grid-template-columns: 1fr;
    gap: 6.1538461538vw;
  }
  .front-news-section__card-title {
    font-size: 4.1025641026vw;
  }
  .front-news-section__date {
    font-size: 3.3333333333vw;
  }
}
/* Column
***************************************************************/
@keyframes front-column-marquee-scroll {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}
.front-column {
  position: relative;
  width: 100%;
  height: auto;
  padding: 0;
  margin-top: 50px;
  overflow: hidden;
  isolation: isolate;
}

.front-column__background {
  position: absolute;
  top: 157px;
  left: 0;
  z-index: -1;
  display: block;
  width: 100%;
  height: 591px;
  transform: rotate(180deg);
}

.front-column__line {
  width: min(1350px, 100vw - 40px);
  height: 1px;
  margin-right: 0;
  margin-left: max(20px, (100vw - 1350px) / 2);
  background: #7c7c7c;
}

.front-column__marquee {
  width: 100%;
  margin-top: 49px;
  overflow: hidden;
  color: #000;
}

.front-column__marquee-track {
  display: flex;
  width: -moz-max-content;
  width: max-content;
  will-change: transform;
  animation: front-column-marquee-scroll 34s linear infinite;
}

.front-column__marquee-group {
  display: flex;
  flex: 0 0 auto;
  gap: 50px;
  padding-right: 50px;
}

.front-column__marquee-group span {
  display: block;
  font-family: "Aboreto", serif;
  font-size: 60px;
  line-height: 70px;
  letter-spacing: 0.05em;
  white-space: nowrap;
}

.front-column__heading {
  width: 206px;
  margin-top: 50px;
  margin-left: max(20px, (100vw - 1350px) / 2 + 30px);
}

.front-column__eyebrow {
  display: flex;
  gap: 11px;
  align-items: center;
  margin: 0 0 15px;
  color: #000;
}

.front-column__eyebrow img {
  display: block;
  width: 53px;
  height: 15px;
}

.front-column__eyebrow .en {
  font-size: 23px;
  line-height: 27px;
  letter-spacing: 0.05em;
}

.front-column__title {
  margin: 0;
  color: #7c7c7c;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 32px;
  font-weight: 300;
  line-height: 46px;
  letter-spacing: 0.05em;
  white-space: nowrap;
}

.front-column__grid {
  display: grid;
  grid-template-columns: repeat(3, 433.33px);
  gap: 50px 25px;
  width: 1351px;
  margin-top: 50px;
  margin-right: 0;
  margin-left: max(20px, (100vw - 1350px) / 2);
}

.front-column__card {
  display: flex;
  flex-direction: column;
  gap: 25px;
  min-width: 0;
  color: inherit;
  text-decoration: none;
}

.front-column__thumbnail-wrap {
  display: block;
  flex-shrink: 0;
  width: 100%;
  height: 243px;
  overflow: hidden;
  border-radius: 10px;
}

.front-column__thumbnail {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
  -o-object-fit: contain;
     object-fit: contain;
  transition: transform 0.5s ease;
}

@media (hover: hover) and (pointer: fine) {
  .front-column__card:hover .front-column__thumbnail {
    transform: scale(1.04);
  }
}
.front-column__card-content {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.front-column__category {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 118px;
  height: 30px;
  margin: 0;
  color: #7c7c7c;
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.05em;
  background: #fff;
  border: 1px solid #7c7c7c;
  border-radius: 5px;
}

.front-column__card-title {
  width: 100%;
  margin: 0;
  overflow: hidden;
  color: #7c7c7c;
  font-size: 18px;
  font-weight: 600;
  line-height: 26px;
  letter-spacing: 0.05em;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media screen and (max-width: 1390px) {
  .front-column {
    height: auto;
    padding-bottom: 40px;
  }
  .front-column__background {
    height: auto;
  }
  .front-column__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: calc(100% - 40px);
  }
  .front-column__card-title {
    font-size: clamp(14px, 1.25vw, 18px);
  }
}
@media screen and (max-width: 900px) {
  .front-column__marquee {
    margin-top: 36px;
  }
  .front-column__marquee-group {
    gap: 32px;
    padding-right: 32px;
  }
  .front-column__marquee-group span {
    font-size: 44px;
    line-height: 1.2;
  }
  .front-column__heading {
    margin-top: 36px;
    margin-left: 30px;
  }
  .front-column__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 36px 20px;
    width: calc(100% - 60px);
    margin-top: 36px;
    margin-left: 30px;
  }
}
@media screen and (max-width: 760px) {
  .front-column {
    margin-top: 8.2051282051vw;
  }
  .front-column__marquee-group span {
    font-size: 8.2051282051vw;
  }
  .front-column__heading {
    width: auto;
    margin-top: 8.2051282051vw;
    margin-left: 5.1282051282vw;
  }
  .front-column__eyebrow {
    gap: 2.0512820513vw;
    margin-bottom: 2.0512820513vw;
  }
  .front-column__eyebrow img {
    width: 10.7692307692vw;
    height: auto;
  }
  .front-column__eyebrow .en {
    font-size: 4.1025641026vw;
  }
  .front-column__title {
    font-size: 6.1538461538vw;
    line-height: 1.4;
  }
  .front-column__grid {
    grid-template-columns: 1fr;
    gap: 7.1794871795vw;
    width: calc(100% - 10.2564102564vw);
    margin-top: 7.1794871795vw;
    margin-left: 5.1282051282vw;
  }
  .front-column__category {
    width: 26.6666666667vw;
    height: 7.1794871795vw;
    font-size: 3.5897435897vw;
  }
  .front-column__card-title {
    font-size: 3.8461538462vw;
  }
}
/* Recruit links
***************************************************************/
.front-recruit-links {
  display: grid;
  grid-template-columns: 663px 662px;
  gap: 26px;
  width: 1351px;
  height: 395px;
  padding: 0;
  margin-top: 100px;
  margin-right: 0;
  margin-left: max(20px, (100vw - 1350px) / 2);
}

.front-recruit-links__grid {
  display: grid;
  grid-template-columns: repeat(2, 319px);
  grid-template-rows: repeat(2, 185px);
  gap: 25px;
}

.front-recruit-links__item,
.front-recruit-links__interview {
  position: relative;
  display: flex;
  overflow: hidden;
  color: #fff;
  border-radius: 10px;
  isolation: isolate;
}

.front-recruit-links__item {
  align-items: center;
  justify-content: center;
  width: 319px;
  height: 185px;
}

.front-recruit-links__item img,
.front-recruit-links__interview-bg {
  position: absolute;
  inset: 0;
  z-index: -1;
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.5s ease;
}

.front-recruit-links__item span {
  font-size: 24px;
  line-height: 30px;
  letter-spacing: 0.05em;
  white-space: nowrap;
}

.front-recruit-links__interview {
  width: 662px;
  height: 395px;
}

.front-recruit-links__interview-logo {
  position: absolute;
  top: 140px;
  left: 20px;
  display: block;
  width: 235px;
  height: 89px;
}

.front-recruit-links__interview span {
  position: absolute;
  top: 318px;
  left: 47px;
  font-size: 32px;
  font-weight: 600;
  line-height: 46px;
  letter-spacing: 0.05em;
  white-space: nowrap;
}

@media (hover: hover) and (pointer: fine) {
  .front-recruit-links__item:hover img,
  .front-recruit-links__interview:hover .front-recruit-links__interview-bg {
    transform: scale(1.03);
  }
}
@media screen and (max-width: 1395px) {
  .front-recruit-links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: calc(100% - 40px);
    height: auto;
  }
  .front-recruit-links__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(2, minmax(0, 1fr));
    aspect-ratio: 663/395;
  }
  .front-recruit-links__item {
    width: 100%;
    height: auto;
    aspect-ratio: 319/185;
  }
  .front-recruit-links__item span {
    font-size: clamp(16px, 1.667vw, 24px);
  }
  .front-recruit-links__interview {
    width: 100%;
    height: auto;
    aspect-ratio: 662/395;
  }
  .front-recruit-links__interview-logo {
    top: 35.443%;
    left: 3.021%;
    width: 35.499%;
    height: auto;
  }
  .front-recruit-links__interview span {
    top: 80.506%;
    left: 7.1%;
    font-size: clamp(20px, 2.222vw, 32px);
    line-height: 1.44;
  }
}
@media screen and (max-width: 800px) {
  .front-recruit-links {
    grid-template-columns: 1fr;
    gap: 20px;
    width: calc(100% - 30px);
    margin-top: 64px;
    margin-right: auto;
    margin-left: auto;
  }
}
@media screen and (max-width: 760px) {
  .front-recruit-links {
    width: calc(100% - 5.1282051282vw);
    margin-top: 12.3076923077vw;
  }
  .front-recruit-links__grid {
    grid-template-columns: 1fr;
    grid-template-rows: none;
    aspect-ratio: auto;
  }
  .front-recruit-links__item span {
    font-size: 4.6153846154vw;
  }
  .front-recruit-links__interview span {
    font-size: 4.358974359vw;
  }
}
/* News ticker
***************************************************************/
@keyframes front-news-ticker-scroll {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}
.front-news-ticker {
  width: min(1350px, 100vw - 40px);
  padding: 0;
  margin-top: 50px;
  margin-right: 0;
  margin-left: max(20px, (100vw - 1350px) / 2);
  overflow: hidden;
  color: #000;
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
}

.front-news-ticker__inner {
  display: flex;
  gap: 48px;
  align-items: center;
  min-height: 79px;
  padding: 0 30px;
}

.front-news-ticker__count {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  margin: 0;
  white-space: nowrap;
}

.front-news-ticker__count-label,
.front-news-ticker__count-unit {
  font-size: 18px;
  line-height: 1;
  letter-spacing: 0.05em;
}

.front-news-ticker__count-number {
  display: inline-block;
  min-width: 116px;
  color: #2ca6e0;
  font-size: 45px;
  line-height: 1;
  letter-spacing: 0;
}

.front-news-ticker__viewport {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
}

.front-news-ticker__track {
  display: flex;
  width: -moz-max-content;
  width: max-content;
  animation: front-news-ticker-scroll 32s linear infinite;
  will-change: transform;
}

.front-news-ticker__track.is-enhanced {
  animation: none;
}

.front-news-ticker__group {
  display: flex;
  flex: 0 0 auto;
  gap: 50px;
  padding-right: 50px;
}

.front-news-ticker__item {
  display: flex;
  flex: 0 0 385px;
  align-items: center;
  width: 385px;
  min-width: 0;
  overflow: hidden;
  color: #000;
  font-size: 18px;
  line-height: 32px;
  letter-spacing: 0.05em;
  white-space: nowrap;
}

.front-news-ticker__title {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

.front-news-ticker__empty {
  margin: 0;
  color: #000;
  font-size: 18px;
  line-height: 32px;
  letter-spacing: 0.05em;
}

@media (hover: hover) and (pointer: fine) {
  .front-news-ticker__viewport:hover .front-news-ticker__track,
  .front-news-ticker__viewport:focus-within .front-news-ticker__track {
    animation-play-state: paused;
  }
  .front-news-ticker__item:hover .front-news-ticker__title {
    text-decoration: underline;
    text-underline-offset: 0.2em;
  }
}
@media screen and (max-width: 900px) {
  .front-news-ticker {
    width: calc(100% - 30px);
    margin-right: auto;
    margin-left: auto;
  }
  .front-news-ticker__inner {
    gap: 28px;
    padding: 0 20px;
  }
  .front-news-ticker__count-label,
  .front-news-ticker__count-unit,
  .front-news-ticker__item,
  .front-news-ticker__empty {
    font-size: 15px;
  }
  .front-news-ticker__count-number {
    min-width: 92px;
    font-size: 36px;
  }
}
@media screen and (max-width: 760px) {
  .front-news-ticker {
    width: calc(100% - 5.1282051282vw);
    margin-top: 8.2051282051vw;
  }
  .front-news-ticker__inner {
    display: grid;
    gap: 0;
    min-height: 0;
    padding: 0;
  }
  .front-news-ticker__count {
    min-height: 14.358974359vw;
    padding: 0 3.5897435897vw;
    border-bottom: 0.2564102564vw solid #000;
  }
  .front-news-ticker__count-label,
  .front-news-ticker__count-unit {
    font-size: 3.3333333333vw;
  }
  .front-news-ticker__count-number {
    min-width: 19.4871794872vw;
    font-size: 7.6923076923vw;
  }
  .front-news-ticker__viewport {
    width: 100%;
    min-height: 13.3333333333vw;
    padding: 2.5641025641vw 0;
  }
  .front-news-ticker__group {
    gap: 8.2051282051vw;
    padding-right: 8.2051282051vw;
  }
  .front-news-ticker__item {
    flex-basis: 79.4871794872vw;
    width: 79.4871794872vw;
    font-size: 3.5897435897vw;
    line-height: 8.2051282051vw;
  }
  .front-news-ticker__empty {
    padding: 0 3.5897435897vw;
    font-size: 3.5897435897vw;
  }
}
/* Strengths
***************************************************************/
.front-strengths {
  position: relative;
  width: 100%;
  height: 674px;
  padding: 0;
  margin-top: 48px;
  overflow: hidden;
}

.front-strengths__background {
  position: absolute;
  top: 50px;
  right: 0;
  bottom: 0;
  left: 0;
  background: var(--color-surface-blue);
}

.front-strengths__inner {
  position: relative;
  width: 1350px;
  height: 674px;
  margin-right: 0;
  margin-left: max(20px, (100vw - 1350px) / 2);
}

.front-strengths__main-visual {
  position: absolute;
  top: 0;
  left: 0;
  width: 663px;
  height: 632px;
  overflow: hidden;
  border-radius: 20px;
  clip-path: inset(0 round 20px);
}

.front-strengths__main-visual img,
.front-strengths__team-photo {
  display: block;
  width: 100%;
  height: 100%;
}

.front-strengths__parallax {
  position: absolute;
  inset: 0;
  overflow: hidden;
  border-radius: inherit;
}

.front-strengths__main-visual .js-parallax-image {
  position: absolute;
  bottom: 0;
  left: 0;
  height: 140%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  transform: translate3d(0, 0, 0);
  will-change: transform;
}

.front-strengths__content {
  position: absolute;
  top: 89px;
  left: 731px;
  width: 575px;
  color: #666767;
}

.front-strengths__eyebrow {
  display: flex;
  gap: 11px;
  align-items: center;
  margin: 0 0 20px;
  color: #000;
}

.front-strengths__eyebrow img {
  display: block;
  width: 53px;
  height: 15px;
}

.front-strengths__eyebrow .en {
  font-size: 23px;
  line-height: 27px;
  letter-spacing: 0.05em;
}

.front-strengths__title {
  margin: 0 0 20px;
  color: #666767;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 32px;
  font-weight: 300;
  line-height: 46px;
  letter-spacing: 0.05em;
}

.front-strengths__text {
  margin: 0;
  font-size: 18px;
  font-weight: 300;
  line-height: 30px;
  letter-spacing: 0.03em;
  text-align: justify;
}

.front-strengths__team-visual {
  position: absolute;
  top: 352px;
  left: 688px;
  width: 664px;
  height: 280px;
  overflow: hidden;
  border-radius: 20px;
}

.front-strengths__support-copy {
  position: absolute;
  top: 171px;
  left: 135px;
  display: block;
  width: 432px;
  height: 82px;
}

@media screen and (max-width: 1390px) and (min-width: 901px) {
  .front-strengths {
    height: auto;
    aspect-ratio: 1440/674;
  }
  .front-strengths__background {
    top: 7.418%;
  }
  .front-strengths__inner {
    width: 93.75vw;
    height: auto;
    margin-left: 3.125vw;
    aspect-ratio: 1350/674;
  }
  .front-strengths__main-visual {
    width: 49.111%;
    height: 93.769%;
  }
  .front-strengths__content {
    top: 13.205%;
    left: 54.148%;
    width: 42.593%;
  }
  .front-strengths__eyebrow {
    gap: clamp(7px, 0.764vw, 11px);
    margin-bottom: clamp(12px, 1.389vw, 20px);
  }
  .front-strengths__eyebrow img {
    width: clamp(34px, 3.681vw, 53px);
    height: auto;
  }
  .front-strengths__eyebrow .en {
    font-size: clamp(15px, 1.597vw, 23px);
    line-height: 1.18;
  }
  .front-strengths__title {
    margin-bottom: clamp(12px, 1.389vw, 20px);
    font-size: clamp(21px, 2.222vw, 32px);
    line-height: 1.44;
  }
  .front-strengths__text {
    font-size: clamp(12px, 1.25vw, 18px);
    line-height: 1.667;
  }
  .front-strengths__team-visual {
    top: 52.226%;
    left: 50.963%;
    width: 49.185%;
    height: 41.543%;
    border-radius: clamp(12px, 1.389vw, 20px);
  }
  .front-strengths__support-copy {
    top: 61.071%;
    left: 20.331%;
    width: 65.06%;
    height: auto;
  }
}
@media screen and (max-width: 900px) {
  .front-strengths {
    height: auto;
    padding: 32px 0;
    margin-top: 32px;
    overflow: visible;
    background: var(--color-surface-blue);
  }
  .front-strengths__background {
    display: none;
  }
  .front-strengths__inner {
    display: flex;
    flex-direction: column;
    gap: 28px;
    width: calc(100% - 30px);
    height: auto;
    margin: 0 auto;
  }
  .front-strengths__content,
  .front-strengths__main-visual,
  .front-strengths__team-visual {
    position: relative;
    inset: auto;
    width: 100%;
    height: auto;
  }
  .front-strengths__content {
    order: 1;
  }
  .front-strengths__main-visual {
    order: 2;
    aspect-ratio: 663/632;
  }
  .front-strengths__team-visual {
    order: 3;
    aspect-ratio: 664/280;
    border-radius: 14px;
  }
  .front-strengths__eyebrow {
    margin-bottom: 14px;
  }
  .front-strengths__eyebrow .en {
    font-size: 18px;
  }
  .front-strengths__title {
    margin-bottom: 14px;
    font-size: 28px;
    line-height: 1.45;
  }
  .front-strengths__text {
    font-size: 16px;
    line-height: 1.8;
  }
  .front-strengths__support-copy {
    top: 61.071%;
    left: 20.331%;
    width: 65.06%;
    height: auto;
  }
}
@media screen and (max-width: 760px) {
  .front-strengths__inner {
    gap: 5.1282051282vw;
    width: calc(100% - 5.1282051282vw);
  }
  .front-strengths__eyebrow {
    gap: 2.0512820513vw;
    margin-bottom: 2.5641025641vw;
  }
  .front-strengths__eyebrow img {
    width: 10.7692307692vw;
    height: auto;
  }
  .front-strengths__eyebrow .en {
    font-size: 4.1025641026vw;
  }
  .front-strengths__title {
    margin-bottom: 2.5641025641vw;
    font-size: 6.1538461538vw;
  }
  .front-strengths__text {
    font-size: 3.5897435897vw;
  }
  .front-strengths__main-visual,
  .front-strengths__team-visual {
    border-radius: 3.0769230769vw;
  }
  .front-strengths__main-visual {
    clip-path: inset(0 round 3.0769230769vw);
  }
}
/* Message
***************************************************************/
.front-message {
  display: grid;
  grid-template-columns: 411px 177px 630px;
  gap: 38px;
  align-items: start;
  width: min(1350px, 100vw - 40px);
  min-height: 360px;
  padding: 45px 25px 21px 29px;
  margin-top: 50px;
  margin-right: 0;
  margin-left: max(20px, (100vw - 1350px) / 2);
  border: 1px solid #dbdcdc;
  border-radius: 20px;
}

.front-message__copy {
  color: #7c7c7c;
}

.front-message__label {
  margin: 0 0 20px;
  color: #000;
  font-size: 24px;
  line-height: 28px;
  letter-spacing: 0.05em;
}

.front-message__title {
  margin: 0 0 18px;
  color: #7c7c7c;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 32px;
  font-weight: 300;
  line-height: 46px;
  letter-spacing: 0.05em;
}

.front-message__text {
  margin: 0;
  font-size: 18px;
  font-weight: 300;
  line-height: 30px;
  letter-spacing: 0.03em;
  text-align: justify;
}

.front-message__formula {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  height: 245px;
}

.front-message__factor {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 177px;
  height: 56px;
  color: #7c7c7c;
  font-size: 27px;
  font-weight: 300;
  line-height: 1;
  text-transform: uppercase;
  border: 1px solid #7c7c7c;
  border-radius: 5px;
}

.front-message__cross {
  position: relative;
  width: 31px;
  height: 31px;
}

.front-message__cross::before,
.front-message__cross::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 32px;
  height: 1px;
  content: "";
  background: #7c7c7c;
  transform-origin: center;
}

.front-message__cross::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

.front-message__cross::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.front-message__visual {
  display: block;
  width: 630px;
  overflow: hidden;
  border-radius: 10px;
}

.front-message__visual img {
  display: block;
  width: 100%;
  height: auto;
  transition: transform 0.45s ease;
}

.front-message__visual:focus-visible {
  outline: 3px solid #2ca6e0;
  outline-offset: 4px;
}

@media (hover: hover) and (pointer: fine) {
  .front-message__visual:hover img {
    transform: scale(1.02);
  }
}
@media screen and (max-width: 1350px) {
  .front-message {
    grid-template-columns: minmax(0, 411px) 150px minmax(0, 630px);
    gap: 24px;
    padding-right: 24px;
    padding-left: 24px;
  }
  .front-message__factor {
    width: 150px;
  }
  .front-message__visual {
    width: 100%;
  }
}
@media screen and (max-width: 1100px) {
  .front-message {
    grid-template-columns: minmax(0, 1fr) 150px minmax(0, 1.25fr);
    min-height: 0;
  }
  .front-message__label {
    margin-bottom: 14px;
    font-size: 20px;
  }
  .front-message__title {
    margin-bottom: 14px;
    font-size: 26px;
    line-height: 1.45;
  }
  .front-message__text {
    font-size: 15px;
    line-height: 1.8;
  }
  .front-message__formula {
    height: 210px;
  }
  .front-message__factor {
    height: 50px;
    font-size: 22px;
  }
}
@media screen and (max-width: 900px) {
  .front-message {
    grid-template-columns: 150px minmax(0, 1fr);
    width: calc(100% - 30px);
    padding: 30px;
    margin-right: auto;
    margin-left: auto;
  }
  .front-message__copy {
    grid-column: 1/-1;
  }
  .front-message__formula {
    height: 210px;
  }
}
@media screen and (max-width: 760px) {
  .front-message {
    display: flex;
    flex-direction: column;
    gap: 6.1538461538vw;
    width: calc(100% - 5.1282051282vw);
    padding: 6.4102564103vw 4.6153846154vw 4.6153846154vw;
    margin-top: 8.2051282051vw;
    border-radius: 3.5897435897vw;
  }
  .front-message__label {
    margin-bottom: 3.0769230769vw;
    font-size: 4.6153846154vw;
    line-height: 1.3;
  }
  .front-message__title {
    margin-bottom: 3.0769230769vw;
    font-size: 5.8974358974vw;
    line-height: 1.55;
  }
  .front-message__text {
    font-size: 3.5897435897vw;
    line-height: 1.8;
  }
  .front-message__formula {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 6.1538461538vw minmax(0, 1fr);
    gap: 3.0769230769vw;
    width: 100%;
    height: auto;
  }
  .front-message__factor {
    width: 100%;
    height: 11.7948717949vw;
    font-size: 4.6153846154vw;
  }
  .front-message__cross {
    width: 6.1538461538vw;
    height: 6.1538461538vw;
  }
  .front-message__cross::before,
  .front-message__cross::after {
    width: 6.4102564103vw;
  }
}
/* SP layout (Figma: 721:9339)
***************************************************************/
@media screen and (max-width: 760px) {
  .front-kv {
    padding-top: 16.4102564103vw;
  }
  .front-kv_grid {
    display: grid;
    width: calc(100% - 7.6923076923vw);
    gap: 4.1025641026vw;
    margin-right: 0;
    margin-left: 3.8461538462vw;
  }
  .front-kv_card {
    width: 100%;
    height: auto;
    aspect-ratio: auto;
    border-radius: 1.7948717949vw;
  }
  .front-kv_card--about {
    order: 1;
    height: 92.5641025641vw;
  }
  .front-kv_card--service01 {
    order: 2;
    height: 51.7482051282vw;
  }
  .front-kv_card--service02 {
    order: 3;
    height: 51.7482051282vw;
  }
  .front-kv_card--youth {
    order: 4;
    height: 29.7435897436vw;
    background-color: transparent;
    background-image: url("../images/front/kv-youth-illustration_sp.webp");
    clip-path: inset(0 round 1.7948717949vw);
  }
  .front-kv_card--design {
    order: 5;
    height: 51.7482051282vw;
  }
  .front-kv_card--recruit {
    order: 6;
    height: 34.9651282051vw;
  }
  .front-kv_card--projects {
    order: 7;
    height: 34.9651282051vw;
  }
  .front-kv_card--support {
    order: 8;
    height: 34.9651282051vw;
  }
  .front-kv_bg {
    -o-object-fit: cover;
       object-fit: cover;
  }
  .front-kv_card--about .front-kv_content {
    bottom: 5.8974358974vw;
    left: 5.1282051282vw;
  }
  .front-kv_card--service01 .front-kv_content,
  .front-kv_card--service02 .front-kv_content {
    bottom: 2.8205128205vw;
    left: 2.8205128205vw;
  }
  .front-kv_card--design .front-kv_content {
    bottom: 2.8205128205vw;
    left: 2.8205128205vw;
  }
  .front-kv_card--recruit .front-kv_content,
  .front-kv_card--projects .front-kv_content,
  .front-kv_card--support .front-kv_content {
    bottom: 2.8205128205vw;
    left: 2.8205128205vw;
  }
  .front-kv_mark {
    width: 9.7435897436vw;
    height: auto;
  }
  .front-kv_heading {
    gap: 0.5128205128vw;
  }
  .front-kv_label {
    font-size: 3.0769230769vw;
    line-height: 3.5897435897vw;
  }
  .front-kv_copy {
    margin-top: 1.5384615385vw;
    font-size: 3.5897435897vw;
    line-height: 5.3846153846vw;
  }
  .front-kv_description {
    margin-top: 1.2820512821vw;
    font-size: 2.5641025641vw;
    line-height: 3.8461538462vw;
  }
  .front-kv_more {
    display: none;
  }
  .front-kv_service-logo--service01 {
    top: 5.3846153846vw;
    left: 2.8205128205vw;
    width: 15.641025641vw;
  }
  .front-kv_service-logo--service02 {
    top: 5.3846153846vw;
    left: 2.8205128205vw;
    width: 22.0512820513vw;
  }
  .front-kv_youth-logo {
    display: none;
  }
  .front-kv_card--youth .front-kv_copy {
    bottom: 2.8205128205vw;
    left: 2.8205128205vw;
    font-size: 3.5897435897vw;
    line-height: 5.3846153846vw;
  }
  .front-news-ticker {
    width: calc(100% - 7.6923076923vw);
    height: 18.7179487179vw;
    margin-top: 4.218974359vw;
  }
  .front-news-ticker__inner {
    height: 18.2051282051vw;
  }
  .front-news-ticker__count {
    justify-content: center;
    min-height: 10.2564102564vw;
    padding: 0;
  }
  .front-news-ticker__count-label,
  .front-news-ticker__count-unit {
    font-size: 3.0769230769vw;
    line-height: 4.1025641026vw;
  }
  .front-news-ticker__count-number {
    min-width: 15.8974358974vw;
    font-size: 7.6923076923vw;
    line-height: 10vw;
  }
  .front-news-ticker__viewport {
    min-height: 7.9487179487vw;
    padding: 1.7948717949vw 0 2.0512820513vw;
  }
  .front-news-ticker__group {
    gap: 6.4102564103vw;
    padding-right: 6.4102564103vw;
  }
  .front-news-ticker__item {
    flex-basis: 69.2307692308vw;
    width: 69.2307692308vw;
    font-size: 2.5641025641vw;
    line-height: 4.1025641026vw;
  }
  .front-message {
    position: relative;
    display: block;
    width: calc(100% - 7.6923076923vw);
    height: auto;
    min-height: 0;
    padding: 8.2051282051vw 3.5897435897vw 2.5641025641vw;
    margin-top: 4.1025641026vw;
    border-radius: 2.5641025641vw;
  }
  .front-message__copy {
    position: static;
    width: 100%;
  }
  .front-message__label {
    margin: 0 0 5.1282051282vw;
    font-size: 4.1025641026vw;
    line-height: 5.1282051282vw;
  }
  .front-message__title {
    margin: 0 0 4.8717948718vw;
    font-size: 6.6666666667vw;
    line-height: 9.7435897436vw;
    letter-spacing: 0.03em;
  }
  .front-message__text {
    font-size: 3.5897435897vw;
    line-height: 5.3846153846vw;
    letter-spacing: 0.02em;
  }
  .front-message__formula {
    position: relative;
    inset: auto;
    margin: 7.1794871795vw auto 0;
    display: grid;
    grid-template-columns: 27.9487179487vw 4.8717948718vw 27.9487179487vw;
    gap: 6.7948717949vw;
    align-items: center;
    width: 76.9230769231vw;
    height: 8.9743589744vw;
    transform: none;
  }
  .front-message__factor {
    width: 27.9487179487vw;
    height: 8.9743589744vw;
    font-size: 4.358974359vw;
    border-radius: 1.0256410256vw;
  }
  .front-message__cross {
    width: 4.8717948718vw;
    height: 4.8717948718vw;
  }
  .front-message__cross::before,
  .front-message__cross::after {
    width: 5.1282051282vw;
  }
  .front-message__visual {
    position: relative;
    inset: auto;
    width: 100%;
    margin-top: 7.1794871795vw;
    height: 39.1992307692vw;
    border-radius: 1.5384615385vw;
  }
  .front-message__visual img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .front-strengths {
    height: 189.2169230769vw;
    padding: 0;
    margin-top: 8.2051282051vw;
    overflow: hidden;
    background: transparent;
  }
  .front-strengths__background {
    top: 9.4733333333vw;
    display: block;
  }
  .front-strengths__inner {
    position: relative;
    display: block;
    width: 100%;
    height: 189.2169230769vw;
    margin: 0;
  }
  .front-strengths__main-visual {
    position: absolute;
    top: 0;
    left: 3.8461538462vw;
    width: calc(100% - 7.6923076923vw);
    height: 67.2158974359vw;
    aspect-ratio: auto;
    overflow: hidden;
    border-radius: 2.5641025641vw;
    clip-path: inset(0 round 2.5641025641vw);
  }
  .front-strengths__main-visual img {
    -o-object-fit: cover;
       object-fit: cover;
  }
  .front-strengths__content {
    position: absolute;
    top: 77.4230769231vw;
    left: 7.6923076923vw;
    width: calc(100% - 15.3846153846vw);
    color: #666767;
  }
  .front-strengths__eyebrow {
    gap: 2.0512820513vw;
    margin-bottom: 2.3076923077vw;
  }
  .front-strengths__eyebrow img {
    width: 9.7435897436vw;
  }
  .front-strengths__eyebrow .en {
    font-size: 3.5897435897vw;
    line-height: 4.358974359vw;
  }
  .front-strengths__title {
    margin-bottom: 2.5641025641vw;
    font-size: 6.1538461538vw;
    line-height: 8.7179487179vw;
  }
  .front-strengths__text {
    font-size: 3.5897435897vw;
    line-height: 5.3846153846vw;
    letter-spacing: 0.02em;
  }
  .front-strengths__team-visual {
    position: absolute;
    top: 144.6153846154vw;
    left: 3.8461538462vw;
    width: calc(100% - 7.6923076923vw);
    height: 38.4615384615vw;
    aspect-ratio: auto;
    border-radius: 2.5641025641vw;
  }
  .front-strengths__team-photo {
    -o-object-fit: cover;
       object-fit: cover;
  }
  .front-strengths__support-copy {
    top: 23.3333333333vw;
    left: 18.7179487179vw;
    width: 60vw;
  }
  .front-news-section {
    display: block;
    width: 100%;
    height: 85.8974358974vw;
    min-height: 0;
    padding-left: 3.8461538462vw;
    margin: 8.2051282051vw 0 0;
    overflow: hidden;
  }
  .front-news-section__heading {
    width: calc(100% - 7.6923076923vw);
    height: 16.1538461538vw;
    margin: 0 0 6.1538461538vw;
  }
  .front-news-section__title-group {
    width: auto;
  }
  .front-news-section__eyebrow {
    gap: 2.0512820513vw;
    margin-bottom: 1.2820512821vw;
  }
  .front-news-section__eyebrow img {
    width: 9.7435897436vw;
  }
  .front-news-section__eyebrow .en {
    font-size: 3.5897435897vw;
    line-height: 4.358974359vw;
  }
  .front-news-section__title {
    font-size: 6.1538461538vw;
    line-height: 8.7179487179vw;
  }
  .front-news-section__more {
    width: 40vw;
    height: 7.6923076923vw;
    padding-left: 3.8461538462vw;
    font-size: 3.5897435897vw;
  }
  .front-news-section__list {
    display: flex;
    width: calc(100vw - 3.8461538462vw);
    gap: 4.1025641026vw;
    padding-right: 3.8461538462vw;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scrollbar-width: none;
  }
  .front-news-section__list::-webkit-scrollbar {
    display: none;
  }
  .front-news-section__card {
    flex: 0 0 70.5128205128vw;
    width: 70.5128205128vw;
  }
  .front-news-section__card > a {
    gap: 2.0512820513vw;
  }
  .front-news-section__thumbnail {
    width: 70.5128205128vw;
    height: 44.1025641026vw;
    aspect-ratio: auto;
  }
  .front-news-section__card-title {
    font-size: 4.1025641026vw;
    line-height: 7.6923076923vw;
  }
  .front-news-section__date {
    font-size: 3.0769230769vw;
    line-height: 7.6923076923vw;
  }
  .front-column {
    height: auto;
    padding: 0;
    margin-top: 2.8343589744vw;
  }
  .front-column__background {
    top: 37.4358974359vw;
    width: 100%;
    height: 41.0256410256vw;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .front-column__line {
    width: calc(100% - 7.6923076923vw);
    margin: 0 auto;
  }
  .front-column__marquee {
    height: 8.9743589744vw;
    margin-top: 3.8461538462vw;
  }
  .front-column__marquee-group {
    gap: 6.4102564103vw;
    padding-right: 6.4102564103vw;
  }
  .front-column__marquee-group span {
    font-size: 7.6923076923vw;
    line-height: 8.9743589744vw;
  }
  .front-column__heading {
    width: auto;
    height: 16.1538461538vw;
    margin-top: 8.2051282051vw;
    margin-left: 7.6923076923vw;
  }
  .front-column__eyebrow {
    gap: 2.0512820513vw;
    margin-bottom: 1.2820512821vw;
  }
  .front-column__eyebrow img {
    width: 9.7435897436vw;
  }
  .front-column__eyebrow .en {
    font-size: 3.5897435897vw;
    line-height: 4.358974359vw;
  }
  .front-column__title {
    font-size: 6.1538461538vw;
    line-height: 8.7179487179vw;
  }
  .front-column__grid {
    display: flex;
    width: calc(100% - 7.6923076923vw);
    gap: 6.1538461538vw;
    margin-top: 10.2564102564vw;
    margin-left: 7.6923076923vw;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scrollbar-width: none;
  }
  .front-column__grid::-webkit-scrollbar {
    display: none;
  }
  .front-column__card {
    position: relative;
    flex: 0 0 70.5128205128vw;
    width: 70.5128205128vw;
    gap: 3.8461538462vw;
  }
  .front-column__thumbnail-wrap {
    height: auto;
    aspect-ratio: 16/9;
  }
  .front-column__card-content {
    gap: 2.0512820513vw;
  }
  .front-column__category {
    width: 21.5384615385vw;
    height: 5.1282051282vw;
    font-size: 2.5641025641vw;
  }
  .front-column__card-title {
    font-size: 3.3333333333vw;
    line-height: 4.8717948718vw;
  }
  .front-recruit-links {
    display: block;
    width: calc(100% - 15.3846153846vw);
    height: 189.7187179487vw;
    margin: 16.4102564103vw auto 0;
  }
  .front-recruit-links__grid {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: repeat(4, 30.7692307692vw);
    gap: 4.1025641026vw;
    width: 100%;
    height: 135.3846153846vw;
  }
  .front-recruit-links__item {
    width: 100%;
    height: 30.7692307692vw;
    aspect-ratio: auto;
    border-radius: 1.2820512821vw;
  }
  .front-recruit-links__item span {
    font-size: 4.6153846154vw;
    line-height: 7.6923076923vw;
  }
  .front-recruit-links__interview {
    width: 100%;
    height: 50.4879487179vw;
    margin-top: 3.8461538462vw;
    aspect-ratio: auto;
    border-radius: 1.2820512821vw;
  }
  .front-recruit-links__interview-logo {
    top: 16.1538461538vw;
    left: 2.5641025641vw;
    width: 38.7179487179vw;
    height: auto;
  }
  .front-recruit-links__interview span {
    top: 40.2564102564vw;
    left: 5.8974358974vw;
    font-size: 4.1025641026vw;
    line-height: 6.1538461538vw;
  }
}
/* ===================================================
私たちについて
=================================================== */
.about-sp-only {
  display: none;
}

.about-message {
  padding: 183px 0 0;
}

.about-message__inner {
  display: grid;
  grid-template-columns: 394px 720px;
  gap: 86px;
  width: 1200px;
  margin-right: 0;
  margin-left: max(20px, (100vw - 1200px) / 2);
}

.about-message__label {
  display: flex;
  gap: 8px;
  align-items: center;
  align-self: start;
  margin-top: 12px;
  color: #2ca6e0;
  font-size: 24px;
  line-height: 28px;
  letter-spacing: 0;
  text-transform: uppercase;
  white-space: nowrap;
}

.about-message__label img {
  flex: 0 0 8px;
  width: 8px;
  height: 8px;
}

.about-message__portrait {
  display: block;
  width: 100%;
  height: auto;
  margin-top: 30px;
  border-radius: 10px;
}

.about-message__content {
  min-width: 0;
}

.about-message__title {
  color: #7c7c7c;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 36px;
  font-weight: 300;
  line-height: 52px;
  letter-spacing: 0.05em;
  white-space: nowrap;
}

.about-message__body {
  height: auto;
  margin-top: 28px;
  color: #7c7c7c;
  font-size: 18px;
  font-weight: 400;
  line-height: 35px;
  letter-spacing: 0.03em;
  text-align: justify;
}

.about-message__body p + p {
  margin-top: 35px;
}

.about-message__signature {
  margin-top: 28px;
  color: #7c7c7c;
  font-size: 18px;
  font-weight: 600;
  line-height: 27px;
  letter-spacing: 0.03em;
  text-align: right;
}

.about-visual {
  display: block;
  width: 100%;
  margin-top: 100px;
}

.about-visual img {
  display: block;
  width: 100%;
  height: auto;
}

/* Mission / Vision / Values
***************************************************************/
.about-principles {
  padding: 100px 0 0;
}

.about-principles__inner {
  width: 1200px;
  margin-right: 0;
  margin-left: max(20px, (100vw - 1200px) / 2);
}

.about-principle,
.about-values {
  display: grid;
  grid-template-columns: 360px 720px;
  gap: 120px;
}

.about-principle--vision {
  margin-top: 150px;
}

.about-values {
  margin-top: 150px;
}

.about-principle__label {
  display: flex;
  gap: 8px;
  align-items: center;
  align-self: start;
  color: #2ca6e0;
  font-size: 24px;
  line-height: 28px;
  letter-spacing: 0;
  text-transform: uppercase;
  white-space: nowrap;
}

.about-principle:not(.about-values) .about-principle__label {
  margin-top: 12px;
}

.about-principle__label img {
  flex: 0 0 8px;
  width: 8px;
  height: 8px;
}

.about-principle__title {
  color: #7c7c7c;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 36px;
  font-weight: 300;
  line-height: 52px;
  letter-spacing: 0.05em;
  white-space: nowrap;
}

.about-principle__text {
  margin-top: 16px;
  color: #7c7c7c;
  font-size: 18px;
  font-weight: 400;
  line-height: 35px;
  letter-spacing: 0.03em;
  text-align: justify;
}

.about-values__list {
  width: 720px;
}

.about-value {
  display: flex;
  align-items: center;
  width: 100%;
  padding-bottom: 32px;
  margin-bottom: 31px;
  border-bottom: 1px solid #d9d9d9;
}

.about-value:last-child {
  padding-bottom: 0;
  margin-bottom: 0;
  border-bottom: 0;
}

.about-value__number {
  flex: 0 0 42px;
  width: 42px;
  margin-right: 30px;
  color: #7c7c7c;
  font-size: 32px;
  line-height: 32px;
  letter-spacing: 0.1em;
}

.about-value__icon {
  position: relative;
  display: block;
  flex: 0 0 118px;
  width: 118px;
  margin-right: 32px;
}

.about-value__icon > img:not(.about-value__icon-layer) {
  display: block;
  width: 100%;
  height: 100%;
}

.about-value--01 .about-value__icon {
  height: 123.077px;
}

.about-value--02 .about-value__icon {
  height: 106.441px;
}

.about-value--03 .about-value__icon {
  height: 116.128px;
}

.about-value--04 .about-value__icon {
  height: 113.606px;
}

.about-value--05 .about-value__icon {
  height: 111.938px;
}

.about-value--06 .about-value__icon {
  height: 100.176px;
}

.about-value__icon-layer {
  position: absolute;
  display: block;
}

.about-value--02 .about-value__icon-layer--1 {
  top: 0;
  left: 46.75%;
  width: 50.56%;
  height: 56.05%;
}

.about-value--02 .about-value__icon-layer--2 {
  top: 13.94%;
  left: 0;
  width: 76.45%;
  height: 86.06%;
}

.about-value--02 .about-value__icon-layer--3 {
  top: 59.25%;
  left: 56.95%;
  width: 43.05%;
  height: 15.58%;
}

.about-value--06 .about-value__icon-layer--1,
.about-value--06 .about-value__icon-layer--2 {
  top: 11.12%;
  left: 0;
  width: 100%;
  height: 88.88%;
}

.about-value--06 .about-value__icon-layer--3 {
  top: 0;
  left: 34.21%;
  width: 31.73%;
  height: 18.05%;
}

.about-value__content {
  display: block;
  flex: 1 1 auto;
  min-width: 0;
}

.about-value__title,
.about-value__text {
  display: block;
}

.about-value__title {
  color: #2ca6e0;
  font-size: 20px;
  font-weight: 500;
  line-height: 20px;
  letter-spacing: 0.05em;
}

.about-value__text {
  margin-top: 16px;
  color: #5e5e5e;
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  letter-spacing: 0.05em;
  text-align: justify;
}

/* Company
***************************************************************/
.about-company {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 200px 0 70px;
}

.about-company__background {
  position: absolute;
  top: 200px;
  left: 0;
  z-index: 0;
  display: block;
  width: 100%;
  height: 591px;
  -o-object-fit: fill;
     object-fit: fill;
  transform: rotate(180deg);
}

.about-company__inner {
  position: relative;
  z-index: 1;
  width: 1200px;
  margin-right: 0;
  margin-left: max(20px, (100vw - 1200px) / 2);
}

.about-company__heading {
  padding-top: 2px;
}

.about-company__heading-en {
  display: flex;
  gap: 11px;
  align-items: center;
  color: #000;
  font-size: 23px;
  line-height: 27px;
  letter-spacing: 0.05em;
}

.about-company__heading-en img {
  display: block;
  flex: 0 0 53px;
  width: 53px;
  height: 15px;
}

.about-company__title {
  margin-top: 15px;
  color: #7c7c7c;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 32px;
  font-weight: 300;
  line-height: 46px;
  letter-spacing: 0.05em;
}

.about-company__profile {
  height: 550px;
  padding: 32px 42px 30px 32px;
  margin-top: 53px;
  color: #000;
  font-size: 18px;
  font-weight: 400;
  line-height: 26px;
  letter-spacing: 0.1em;
  background: rgba(255, 255, 255, 0.8);
  border: 1px solid #2ca6e0;
  border-radius: 10px;
}

.about-company__row {
  position: relative;
  display: grid;
  grid-template-columns: 252px minmax(0, 1fr);
  min-height: 26px;
}

.about-company__row:not(:last-child) {
  margin-bottom: 40px;
}

.about-company__row:not(:last-child)::after {
  position: absolute;
  top: calc(100% + 20px);
  left: 0;
  width: 100%;
  height: 1px;
  content: "";
  background: #d9d9d9;
}

.about-company__row dt,
.about-company__row dd {
  margin: 0;
  font-weight: 400;
}

.about-company__row a {
  color: inherit;
}

.about-company__map {
  overflow: hidden;
  width: 1200px;
  height: 490px;
  margin-top: 32px;
  background: #d9d9d9;
  border-radius: 10px;
}

.about-company__map iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

@media screen and (max-width: 1240px) {
  .about-message__inner {
    grid-template-columns: 30% 60%;
    gap: 10%;
    width: calc(100% - 40px);
    margin-right: auto;
    margin-left: auto;
  }
  .about-message__body {
    height: auto;
  }
  .about-principles__inner {
    width: calc(100% - 40px);
    margin-right: auto;
    margin-left: auto;
  }
  .about-principle__title {
    white-space: normal;
  }
  .about-principle,
  .about-values {
    grid-template-columns: 30% 60%;
    gap: 10%;
  }
  .about-values__list {
    width: 100%;
  }
  .about-company__inner {
    width: calc(100% - 40px);
    margin-right: auto;
    margin-left: auto;
  }
  .about-company__profile {
    height: auto;
  }
  .about-company__map {
    width: 100%;
    height: auto;
    aspect-ratio: 1200/490;
  }
}
@media screen and (max-width: 900px) {
  .about-message {
    padding-top: 100px;
  }
  .about-message__inner {
    display: block;
  }
  .about-message__label {
    margin-top: 0;
  }
  .about-message__portrait {
    max-width: 394px;
  }
  .about-message__content {
    margin-top: 36px;
  }
  .about-message__title {
    white-space: normal;
  }
  .about-principle,
  .about-values {
    display: block;
  }
  .about-principle--vision,
  .about-values {
    margin-top: 100px;
  }
  .about-principle:not(.about-values) .about-principle__label {
    margin-top: 0;
  }
  .about-principle__content,
  .about-values__list {
    margin-top: 36px;
  }
  .about-principle__title {
    white-space: normal;
  }
  .about-company {
    padding-top: 120px;
  }
  .about-company__background {
    top: 120px;
  }
  .about-company__row {
    grid-template-columns: 150px minmax(0, 1fr);
  }
}
@media screen and (max-width: 760px) {
  .about-message {
    padding-top: 18.4615384615vw;
  }
  .about-message__label {
    font-size: 4.6153846154vw;
    line-height: 1.5;
  }
  .about-message__content {
    margin-top: 7.1794871795vw;
  }
  .about-message__title {
    font-size: 6.9230769231vw;
    line-height: 1.5;
  }
  .about-message__body {
    margin-top: 6.1538461538vw;
    font-size: 3.8461538462vw;
    line-height: 2;
    text-align: left;
  }
  .about-message__body p + p {
    margin-top: 7.6923076923vw;
  }
  .about-message__signature {
    margin-top: 8.2051282051vw;
    font-size: 3.5897435897vw;
    line-height: 1.8;
  }
  .about-visual {
    margin-top: 16.4102564103vw;
  }
  .about-principles {
    padding-top: 18.4615384615vw;
  }
  .about-principle--vision,
  .about-values {
    margin-top: 18.4615384615vw;
  }
  .about-principle__label {
    font-size: 4.6153846154vw;
    line-height: 1.5;
  }
  .about-principle__content,
  .about-values__list {
    margin-top: 7.1794871795vw;
  }
  .about-principle__title {
    font-size: 6.9230769231vw;
    line-height: 1.5;
  }
  .about-principle__text {
    margin-top: 6.1538461538vw;
    font-size: 3.8461538462vw;
    line-height: 2;
    text-align: left;
  }
  .about-value {
    padding-bottom: 6.1538461538vw;
    margin-bottom: 6.1538461538vw;
  }
  .about-value__number {
    flex-basis: 8.2051282051vw;
    width: 8.2051282051vw;
    margin-right: 3.0769230769vw;
    font-size: 6.1538461538vw;
    line-height: 1;
  }
  .about-value__icon {
    flex-basis: 18.4615384615vw;
    width: 18.4615384615vw;
    margin-right: 4.1025641026vw;
  }
  .about-value--01 .about-value__icon {
    height: 19.2556410256vw;
  }
  .about-value--02 .about-value__icon {
    height: 16.6530769231vw;
  }
  .about-value--03 .about-value__icon {
    height: 18.1687179487vw;
  }
  .about-value--04 .about-value__icon {
    height: 17.7730769231vw;
  }
  .about-value--05 .about-value__icon {
    height: 17.5130769231vw;
  }
  .about-value--06 .about-value__icon {
    height: 15.6728205128vw;
  }
  .about-value__title {
    font-size: 4.1025641026vw;
    line-height: 1.5;
  }
  .about-value__text {
    margin-top: 2.0512820513vw;
    font-size: 3.3333333333vw;
    line-height: 1.7;
    text-align: left;
  }
  .about-company {
    padding-top: 22.5641025641vw;
    padding-bottom: 22.5641025641vw;
  }
  .about-company__background {
    top: 22.5641025641vw;
    height: 107.6923076923vw;
  }
  .about-company__heading-en {
    font-size: 4.6153846154vw;
    line-height: 1.5;
  }
  .about-company__heading-en img {
    width: 10.7692307692vw;
    height: auto;
  }
  .about-company__title {
    margin-top: 2.5641025641vw;
    font-size: 6.9230769231vw;
    line-height: 1.5;
  }
  .about-company__profile {
    padding: 6.1538461538vw 5.1282051282vw;
    margin-top: 9.2307692308vw;
    font-size: 3.5897435897vw;
    line-height: 1.8;
    letter-spacing: 0.05em;
  }
  .about-company__row {
    display: block;
  }
  .about-company__row:not(:last-child) {
    padding-bottom: 4.6153846154vw;
    margin-bottom: 4.6153846154vw;
  }
  .about-company__row:not(:last-child)::after {
    top: 100%;
  }
  .about-company__row dd {
    margin-top: 1.5384615385vw;
  }
  .about-company__map {
    margin-top: 6.1538461538vw;
    aspect-ratio: 4/3;
  }
}
/* SP layout (Figma: 718:8040)
***************************************************************/
@media screen and (max-width: 760px) {
  .about-pc-only {
    display: none;
  }
  .about-sp-only {
    display: inline;
  }
  br.about-sp-only {
    display: initial;
  }
  .page-heading {
    padding-top: 16.9230769231vw;
  }
  .page-heading__inner {
    width: calc(100% - 15.3846153846vw);
  }
  .page-heading__en {
    font-size: 5.1282051282vw;
    line-height: 6.1538461538vw;
  }
  .page-heading__title {
    margin-top: 1.1653846154vw;
    font-size: 3.0769230769vw;
    line-height: 3.5897435897vw;
  }
  .about-message {
    padding: 20.6294871795vw 0 0;
  }
  .about-message__inner {
    display: block;
    width: calc(100% - 15.3846153846vw);
    margin: 0 auto;
  }
  .about-message__label {
    gap: 2.0512820513vw;
    margin: 0;
    font-size: 4.1025641026vw;
    line-height: 4.8717948718vw;
  }
  .about-message__label img,
  .about-principle__label img {
    flex-basis: 1.5384615385vw;
    width: 1.5384615385vw;
    height: 1.5384615385vw;
  }
  .about-message__content {
    width: 100%;
    margin-top: 16.4102564103vw;
  }
  .about-message__portrait {
    width: 100%;
    max-width: none;
    margin-top: 5.3846153846vw;
    aspect-ratio: 330/309;
    -o-object-fit: cover;
       object-fit: cover;
    border-radius: 2.5641025641vw;
  }
  .about-message__title {
    font-size: 5.1282051282vw;
    line-height: 6.1538461538vw;
    letter-spacing: 0.05em;
  }
  .about-message__body {
    height: auto;
    margin-top: 9.4871794872vw;
    font-size: 4.1025641026vw;
    line-height: 7.6923076923vw;
    letter-spacing: 0.03em;
    text-align: justify;
  }
  .about-message__body p + p {
    margin-top: 7.6923076923vw;
  }
  .about-message__signature {
    margin-top: 7.6923076923vw;
    font-size: 4.1025641026vw;
    line-height: 6.9230769231vw;
    letter-spacing: 0.03em;
  }
  .about-visual {
    width: 100%;
    margin: 16.4102564103vw 0 0;
  }
  .about-principles {
    height: 283.6923076923vw;
    padding: 0;
    margin-top: 16.4102564103vw;
  }
  .about-principles__inner {
    position: relative;
    width: calc(100% - 15.3846153846vw);
    height: 283.6923076923vw;
    margin: 0 auto;
  }
  .about-principle--mission {
    display: none;
  }
  .about-principle--vision {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    margin: 0;
  }
  .about-values {
    position: absolute;
    top: 91.0256410256vw;
    left: 0;
    display: block;
    width: 100%;
    margin: 0;
  }
  .about-principle__label {
    gap: 2.0512820513vw;
    margin: 0;
    font-size: 4.1025641026vw;
    line-height: 4.8717948718vw;
  }
  .about-principle__content {
    margin-top: 8.2051282051vw;
  }
  .about-principle__title {
    font-size: 5.1282051282vw;
    line-height: 6.1538461538vw;
    letter-spacing: 0.05em;
  }
  .about-principle__text {
    margin-top: 8.2051282051vw;
    font-size: 4.1025641026vw;
    line-height: 7.6923076923vw;
    letter-spacing: 0.03em;
    text-align: justify;
  }
  .about-values__list {
    position: relative;
    width: 100%;
    height: 179.4871794872vw;
    margin-top: 8.2051282051vw;
  }
  .about-value {
    position: relative;
    display: block;
    width: 100%;
    padding: 0;
    margin: 0 0 6.1538461538vw;
    border-bottom: 0.2564102564vw solid #d9d9d9;
  }
  .about-value:last-child {
    margin-bottom: 0;
    border-bottom: 0;
  }
  .about-value--01 {
    height: 29.2307692308vw;
  }
  .about-value--02 {
    height: 25.4692307692vw;
  }
  .about-value--03 {
    height: 26.0871794872vw;
  }
  .about-value--04 {
    height: 24.9vw;
  }
  .about-value--05 {
    height: 23.6461538462vw;
  }
  .about-value--06 {
    height: 21.0256410256vw;
  }
  .about-value__number {
    position: absolute;
    top: 0;
    left: 28.0769230769vw;
    width: auto;
    margin: 0;
    font-size: 4.6153846154vw;
    line-height: 4.4443589744vw;
    letter-spacing: 0.1em;
  }
  .about-value__icon {
    position: absolute;
    top: 0;
    left: 2.5641025641vw;
    width: auto;
    margin: 0;
  }
  .about-value--01 .about-value__icon {
    width: 21.3874358974vw;
    height: 22.3076923077vw;
  }
  .about-value--02 .about-value__icon {
    top: 0.2564102564vw;
    left: 2.8205128205vw;
    width: 20.2564102564vw;
    height: 19.9348717949vw;
  }
  .about-value--03 .about-value__icon {
    top: 1.2820512821vw;
    left: 2.8205128205vw;
    width: 20.2564102564vw;
    height: 19.9348717949vw;
  }
  .about-value--04 .about-value__icon {
    left: 3.0769230769vw;
    width: 19.4707692308vw;
    height: 18.7458974359vw;
  }
  .about-value--05 .about-value__icon {
    left: 3.3333333333vw;
    width: 18.4402564103vw;
    height: 17.4928205128vw;
  }
  .about-value--06 .about-value__icon {
    top: 0.2564102564vw;
    left: 3.3333333333vw;
    width: 19.3635897436vw;
    height: 17.4358974359vw;
  }
  .about-value__content {
    position: absolute;
    top: 0;
    left: 28.0769230769vw;
    display: block;
    width: 53.8461538462vw;
  }
  .about-value__title {
    margin-left: 7.6923076923vw;
    font-size: 4.1025641026vw;
    line-height: 4.358974359vw;
    letter-spacing: 0.05em;
    white-space: nowrap;
  }
  .about-value__text {
    margin-top: 2.3076923077vw;
    font-size: 3.5897435897vw;
    line-height: 5.3846153846vw;
    letter-spacing: 0.05em;
    text-align: justify;
  }
  .about-company {
    height: 156.4102564103vw;
    padding: 0;
    margin-top: 14.358974359vw;
    overflow: hidden;
  }
  .about-company__background {
    top: 0;
    width: 100%;
    height: 41.0256410256vw;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .about-company__inner {
    width: calc(100% - 15.3846153846vw);
    height: 156.4102564103vw;
    margin: 0 auto;
  }
  .about-company__heading {
    padding: 0;
  }
  .about-company__heading-en {
    gap: 1.5669230769vw;
    font-size: 3.5897435897vw;
    line-height: 4.358974359vw;
  }
  .about-company__heading-en img {
    flex-basis: 7.5497435897vw;
    width: 7.5497435897vw;
    height: 2.1366666667vw;
  }
  .about-company__title {
    margin-top: 2.1366666667vw;
    font-size: 4.2307692308vw;
    line-height: 5.1282051282vw;
  }
  .about-company__profile {
    width: 100%;
    padding: 6.1538461538vw;
    margin-top: 2.7351282051vw;
    font-size: 3.0769230769vw;
    line-height: 3.0769230769vw;
    letter-spacing: 0.1em;
    border-radius: 0.7692307692vw;
  }
  .about-company__row {
    display: grid;
    grid-template-columns: 10.2564102564vw minmax(0, 1fr);
    gap: 10.2564102564vw;
    min-height: 3.0769230769vw;
  }
  .about-company__row dt {
    white-space: nowrap;
  }
  .about-company__row:not(:last-child) {
    padding-bottom: 2.0512820513vw;
    margin-bottom: 2.0512820513vw;
    border-bottom: 0.2564102564vw solid #d9d9d9;
  }
  .about-company__row:not(:last-child)::after {
    display: none;
  }
  .about-company__row dd {
    margin: 0;
  }
  .about-company__row:nth-child(3) dd,
  .about-company__row:nth-child(4) dd,
  .about-company__row:nth-child(6) dd {
    line-height: 4.6153846154vw;
  }
  .about-company__map {
    width: 100vw;
    height: 40.7692307692vw;
    margin-top: 7.9487179487vw;
    margin-left: -7.6923076923vw;
    aspect-ratio: auto;
    border-radius: 0.7692307692vw;
  }
}
/* ===================================================
Business
=================================================== */
.business-page {
  overflow: clip;
}

.business-hero {
  position: relative;
  height: min(862.833px, 56.432vw + 50.2px);
  padding: 0;
}

.business-hero__visual {
  position: absolute;
  top: 101px;
  left: 50%;
  width: calc(100% - 90px);
  max-width: 1350px;
  aspect-ratio: 1350/761.833;
  transform: translateX(-50%);
}

.business-hero__background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 88.389%;
  background: #f6f6f6;
  border-radius: 10px;
}

.business-hero__shape {
  position: absolute;
  top: 14.623%;
  left: 0;
  display: block;
  width: 99.939%;
  height: 44.112%;
}

.business-hero__photo {
  position: absolute;
  top: 2.151%;
  left: 0;
  width: 100%;
  height: 97.849%;
  overflow: hidden;
  border-radius: 10px;
}

.business-hero__photo picture,
.business-hero__photo img {
  display: block;
  width: 100%;
}

.business-hero__photo img {
  height: auto;
}

.business-hero__label {
  display: none;
}

.business-intro {
  padding: 50px 0 0;
}

.business-intro__inner {
  display: grid;
  grid-template-columns: 414px 501px;
  align-items: start;
  justify-content: space-between;
  width: 1133px;
  max-width: calc(100% - 80px);
  margin-right: 0;
  margin-left: max(40px, 50vw - 564px);
}

.business-intro__title {
  margin: -1px 0 0;
  color: #7c7c7c;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 36px;
  font-weight: 300;
  line-height: 52px;
  letter-spacing: 0.05em;
}

.business-intro__title span {
  display: block;
  white-space: nowrap;
}

.business-intro__text {
  width: 501px;
  color: #7c7c7c;
  font-size: 18px;
  font-weight: 400;
  line-height: 35px;
  letter-spacing: 0.03em;
  text-align: justify;
}

.business-intro__text p {
  margin: 0;
}

.business-intro__paragraph {
  display: block;
}

@media screen and (max-width: 1023px) {
  .business-intro__inner {
    display: block;
    width: calc(100% - 80px);
    max-width: 720px;
    margin-right: auto;
    margin-left: auto;
  }
  .business-intro__title {
    font-size: 32px;
    line-height: 1.45;
  }
  .business-intro__text {
    width: 100%;
    margin-top: 40px;
    font-size: 17px;
    line-height: 2;
    text-align: left;
  }
}
@media screen and (max-width: 760px) {
  .business-hero {
    height: 65.8974358974vw;
  }
  .business-hero__visual {
    top: 12.3076923077vw;
    width: calc(100% - 5.1282051282vw);
  }
  .business-hero__background,
  .business-hero__photo {
    border-radius: 1.2820512821vw;
  }
  .business-intro {
    padding-top: 8.2051282051vw;
  }
  .business-intro__inner {
    width: calc(100% - 10.2564102564vw);
  }
  .business-intro__title {
    margin: 0;
    font-size: clamp(24px, 7.1794871795vw, 32px);
    line-height: 1.55;
    letter-spacing: 0.04em;
  }
  .business-intro__text {
    margin-top: 7.1794871795vw;
    font-size: clamp(14px, 3.5897435897vw, 17px);
    line-height: 2;
    letter-spacing: 0.03em;
  }
}
/* RGMB strategy
=================================================== */
.business-strategy {
  position: relative;
  padding: 50px 0;
  overflow: clip;
  background: #fff;
}

.business-strategy__glow-track {
  position: absolute;
  inset: 0;
  z-index: 0;
  padding-top: 93px;
  overflow: clip;
  pointer-events: none;
}

.business-strategy__glow {
  position: sticky;
  top: 93px;
  display: block;
  width: 1162px;
  height: 1162px;
  max-width: none;
  margin-left: calc(50vw - 142px);
}

.business-strategy__inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 506px 535px;
  justify-content: space-between;
  width: 1206px;
  max-width: calc(100% - 80px);
  margin-right: 0;
  margin-left: max(40px, 50vw - 603px);
}

.business-strategy__overview {
  position: sticky;
  top: 150px;
  align-self: start;
  height: 574px;
}

.business-strategy__title {
  color: #7c7c7c;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 20px;
  font-weight: 400;
  line-height: normal;
  letter-spacing: 0.03em;
  white-space: nowrap;
}

.business-strategy__diagram {
  position: relative;
  width: 500px;
  max-width: 100%;
  aspect-ratio: 1;
  margin-top: 50px;
}

.business-strategy__ring {
  position: absolute;
  display: block;
}

.business-strategy__ring--outer {
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
}

.business-strategy__ring--mismatch {
  top: 6.6%;
  left: 12%;
  z-index: 2;
  width: 75.8%;
  height: 75.8%;
}

.business-strategy__ring--growth {
  top: 13.2%;
  left: 24%;
  z-index: 4;
  width: 52%;
  height: 52%;
}

.business-strategy__ring--resource-inactive {
  top: 19.2%;
  left: 33.75%;
  z-index: 6;
  width: 32.5%;
  height: 32.3%;
}

.business-strategy__ring--active {
  max-width: none;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.45s ease;
}

.business-strategy__ring--active.is-active {
  opacity: 1;
}

.business-strategy__ring--resource-active {
  top: 19.2%;
  left: 33.6%;
  z-index: 7;
  width: 33.2%;
  height: 33%;
}

.business-strategy__ring--growth-active {
  top: 12.8%;
  left: 23.6%;
  z-index: 5;
  width: 52.8%;
  height: 52.8%;
}

.business-strategy__ring--mismatch-active {
  top: 6.2%;
  left: 11.7%;
  z-index: 3;
  width: 76.6%;
  height: 76.6%;
}

.business-strategy__ring--brand-active {
  top: -0.4%;
  left: -0.4%;
  z-index: 1;
  width: 100.8%;
  height: 100.8%;
  transform: rotate(-90deg);
}

.business-strategy__diagram-label {
  position: absolute;
  z-index: 8;
  margin: 0;
  color: #7c7c7c;
  font-family: "Aboreto", serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 39px;
  text-align: center;
  letter-spacing: 0.03em;
  white-space: nowrap;
}

.business-strategy__diagram-label span {
  color: #2ca6e0;
}

.business-strategy__diagram-label--resource {
  top: 31.8%;
  left: 37.2%;
  width: 25.6%;
  font-size: 23px;
  line-height: 40px;
}

.business-strategy__diagram-label--growth {
  top: 55.4%;
  left: 37.2%;
  width: 25.4%;
}

.business-strategy__diagram-label--mismatch {
  top: 71%;
  left: 36.4%;
  width: 27%;
}

.business-strategy__diagram-label--brand {
  top: 89.6%;
  left: 36.8%;
  width: 26%;
}

.business-strategy__list {
  width: 535px;
}

.business-strategy-card + .business-strategy-card {
  margin-top: 160px;
}

.business-strategy-card__header {
  width: 100%;
  height: 55px;
  background: url("../images/business/rgmb-divider.svg") no-repeat bottom/100% 1px;
}

.business-strategy-card__header p {
  margin: 0;
  color: #7c7c7c;
  font-size: 23px;
  font-weight: 400;
  line-height: 40px;
  letter-spacing: 0.07em;
}

.business-strategy-card__header span {
  color: #2ca6e0;
}

.business-strategy-card__heading {
  width: 432px;
  margin-top: 17px;
}

.business-strategy-card__heading h3 {
  display: flex;
  align-items: baseline;
  height: 50px;
  margin: 0;
  color: #7c7c7c;
  font-family: "Aboreto", serif;
  font-size: 23px;
  font-weight: 400;
  line-height: 50px;
  letter-spacing: 0.03em;
}

.business-strategy-card__heading h3 span {
  color: #2ca6e0;
  font-size: 43px;
}

.business-strategy-card__heading h3 b {
  color: #000;
  font-size: 23px;
  font-weight: 400;
}

.business-strategy-card__heading p {
  margin: 12px 0 0;
  color: #7c7c7c;
  font-size: 20px;
  font-weight: 400;
  line-height: 24px;
  letter-spacing: 0.03em;
}

.business-strategy-card__description {
  margin: 17px 0 0;
  color: #7c7c7c;
  font-size: 18px;
  font-weight: 400;
  line-height: 27px;
  letter-spacing: 0.03em;
}

.business-strategy-card__image {
  position: relative;
  width: 535px;
  height: 315px;
  margin: 17px 0 0;
  overflow: hidden;
  border-radius: 10px;
}

.business-strategy-card__image picture,
.business-strategy-card__image img {
  display: block;
  width: 100%;
}

.business-strategy-card__image img {
  position: absolute;
  top: -16px;
  left: 0;
  height: auto;
}

.business-strategy-card--growth .business-strategy-card__image {
  margin-top: 20px;
}

.business-strategy-card--growth .business-strategy-card__description,
.business-strategy-card--mismatch .business-strategy-card__description,
.business-strategy-card--brand .business-strategy-card__description {
  margin-top: 20px;
}

.business-strategy-card--growth .business-strategy-card__image img,
.business-strategy-card--mismatch .business-strategy-card__image img {
  top: -21px;
}

.business-strategy-card--brand .business-strategy-card__image {
  margin-top: 20px;
  border-radius: 0;
}

.business-strategy-card--brand {
  padding-bottom: 7px;
}

.business-strategy-card--brand .business-strategy-card__image img {
  top: -30px;
}

@media screen and (max-width: 1300px) {
  .business-strategy {
    padding: 80px 0;
  }
  .business-strategy__glow {
    position: absolute;
    top: 620px;
    left: 50%;
    margin-left: 0;
    transform: translateX(-35%);
  }
  .business-strategy__inner {
    display: block;
    width: calc(100% - 80px);
    max-width: 720px;
    margin-right: auto;
    margin-left: auto;
  }
  .business-strategy__overview {
    position: relative;
    top: auto;
    width: 100%;
    height: auto;
  }
  .business-strategy__diagram {
    margin-right: auto;
    margin-left: auto;
  }
  .business-strategy__list {
    width: 100%;
    margin-top: 80px;
  }
  .business-strategy-card__heading,
  .business-strategy-card__image {
    width: 100%;
  }
  .business-strategy-card__image {
    height: auto;
    aspect-ratio: 535/315;
  }
}
@media screen and (max-width: 760px) {
  .business-strategy {
    padding: 16.4102564103vw 0;
  }
  .business-strategy__glow {
    top: 133.3333333333vw;
    width: 184.6153846154vw;
    height: 184.6153846154vw;
  }
  .business-strategy__inner {
    width: calc(100% - 10.2564102564vw);
  }
  .business-strategy__title {
    font-size: clamp(15px, 4.358974359vw, 18px);
    line-height: 1.8;
    white-space: normal;
    word-break: auto-phrase;
    line-break: strict;
    text-wrap: pretty;
  }
  .business-strategy__diagram {
    margin-top: 9.2307692308vw;
  }
  .business-strategy__diagram-label {
    font-size: clamp(12px, 3.08vw, 18px);
    line-height: 1.8;
  }
  .business-strategy__diagram-label--resource {
    font-size: clamp(13px, 3.92vw, 23px);
    line-height: 1.8;
  }
  .business-strategy__list {
    margin-top: 16.4102564103vw;
  }
  .business-strategy-card + .business-strategy-card {
    margin-top: 20.5128205128vw;
  }
  .business-strategy-card__header {
    height: 11.2820512821vw;
  }
  .business-strategy-card__header p {
    font-size: clamp(17px, 4.8717948718vw, 21px);
    line-height: 1.7;
  }
  .business-strategy-card__heading {
    margin-top: 4.1025641026vw;
  }
  .business-strategy-card__heading h3 {
    height: auto;
    font-size: clamp(18px, 5.3846153846vw, 23px);
    line-height: 1.5;
  }
  .business-strategy-card__heading h3 span {
    font-size: clamp(34px, 10vw, 43px);
  }
  .business-strategy-card__heading h3 b {
    font-size: inherit;
  }
  .business-strategy-card__heading p {
    margin-top: 2.0512820513vw;
    font-size: clamp(15px, 4.358974359vw, 19px);
    line-height: 1.7;
    word-break: auto-phrase;
    line-break: strict;
    text-wrap: pretty;
  }
  .business-strategy-card__description {
    margin-top: 3.5897435897vw;
    font-size: clamp(14px, 3.8461538462vw, 17px);
    line-height: 1.9;
    word-break: auto-phrase;
    line-break: strict;
    text-wrap: pretty;
  }
  .business-strategy-card--growth .business-strategy-card__description,
  .business-strategy-card--mismatch .business-strategy-card__description,
  .business-strategy-card--brand .business-strategy-card__description {
    margin-top: 3.5897435897vw;
  }
  .business-strategy-card__description br {
    display: none;
  }
  .business-strategy-card__image,
  .business-strategy-card--growth .business-strategy-card__image,
  .business-strategy-card--brand .business-strategy-card__image {
    margin-top: 4.6153846154vw;
    border-radius: 2.0512820513vw;
  }
  .business-strategy-card--brand {
    padding-bottom: 0;
  }
  .business-strategy-card__image img {
    top: -5.08%;
  }
  .business-strategy-card--growth .business-strategy-card__image img,
  .business-strategy-card--mismatch .business-strategy-card__image img {
    top: -6.7%;
  }
  .business-strategy-card--brand .business-strategy-card__image img {
    top: -9.6%;
  }
}
/* One-stop flow and benefits
=================================================== */
.business-flow {
  padding: 100px 0 0;
  overflow: hidden;
}

.business-flow__inner {
  width: 1200px;
  max-width: calc(100% - 40px);
  margin-right: 0;
  margin-left: max(20px, 50vw - 600px);
}

.business-flow__overview {
  height: 223px;
}

.business-flow__title {
  margin: 0;
  color: #7c7c7c;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 27px;
  text-align: center;
  letter-spacing: 0.03em;
}

.business-flow__title span {
  display: block;
}

.business-flow__steps {
  display: flex;
  gap: 16px;
  align-items: center;
  width: 100%;
  height: 60px;
  margin-top: 50px;
}

.business-flow__step {
  display: grid;
  flex: 1 1 240px;
  height: 60px;
  margin: 0;
  color: #7c7c7c;
  font-size: 24px;
  font-weight: 400;
  line-height: 30px;
  text-align: center;
  letter-spacing: 0.05em;
  white-space: nowrap;
  border: 1px solid #7c7c7c;
  place-items: center;
}

.business-flow__step-arrow {
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
  transform: rotate(180deg);
}

.business-flow__cycle {
  display: grid;
  grid-template-columns: 200px 1fr 194px;
  align-items: start;
  width: 955px;
  height: 37px;
  margin-top: 15px;
  margin-left: 123px;
}

.business-flow__cycle img {
  display: block;
  width: 100%;
  height: 37px;
}

.business-flow__cycle img:first-child {
  transform: scaleX(-1);
}

.business-flow__cycle-arrow-mobile {
  display: none !important;
}

.business-flow__cycle p {
  margin: 13px 0 0;
  color: #7c7c7c;
  font-size: 24px;
  font-weight: 400;
  line-height: 27px;
  text-align: center;
  letter-spacing: 0.03em;
  white-space: nowrap;
}

.business-benefits {
  height: 502px;
  padding: 50px 25px 25px;
  margin-top: 93px;
  border: 1px solid #7c7c7c;
  border-radius: 10px;
}

.business-benefits__title {
  margin: 0;
  color: #7c7c7c;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 32px;
  font-weight: 400;
  line-height: 30px;
  text-align: center;
  letter-spacing: 0.1em;
  white-space: nowrap;
}

.business-benefits__title::before {
  content: "＼";
}

.business-benefits__title::after {
  content: "／";
}

.business-benefits__title-benefit::before,
.business-benefits__title-benefit::after {
  content: none;
}

.business-benefits__list {
  display: grid;
  grid-template-columns: repeat(5, 214px);
  gap: 20px;
  margin-top: 50px;
}

.business-benefit-card {
  display: flex;
  flex-direction: column;
  gap: 25px;
  align-items: center;
  justify-content: center;
  width: 214px;
  height: 347px;
  padding: 26px 20px;
  border: 1px solid #7c7c7c;
  border-radius: 10px;
}

.business-benefit-card__number {
  display: grid;
  width: 175px;
  height: 40px;
  margin: 0;
  color: #fff;
  font-size: 18px;
  font-weight: 600;
  line-height: 30px;
  text-align: center;
  letter-spacing: 0.05em;
  white-space: nowrap;
  background: linear-gradient(14.5deg, #fb78b4 0%, #36b3e1 99.99%);
  border-radius: 60px;
  place-items: center;
}

.business-benefit-card__title {
  margin: 0;
  color: #2ca6e0;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 18px;
  font-weight: 600;
  line-height: 30px;
  text-align: center;
  letter-spacing: 0.05em;
  white-space: nowrap;
  background: linear-gradient(20deg, #fb78b4 0%, #36b3e1 99.99%);
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent;
}

.business-benefit-card__title span {
  display: block;
}

.business-benefit-card__text {
  width: 156px;
  margin: 0;
  color: #7c7c7c;
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  letter-spacing: 0.05em;
  text-align: justify;
}

.business-flow__goal {
  display: grid;
  grid-template-columns: 159px 838px 111px;
  gap: 50px;
  align-items: center;
  width: 1188px;
  height: 159px;
  margin-top: 40px;
}

.business-flow__goal-label {
  display: grid;
  width: 159px;
  height: 159px;
  margin: 0;
  color: #fff;
  font-size: 24px;
  font-weight: 600;
  line-height: 30px;
  text-align: center;
  letter-spacing: 0.05em;
  background: linear-gradient(48.5deg, #fb78b4 0%, #36b3e1 99.99%);
  border-radius: 50%;
  place-items: center;
}

.business-flow__goal-copy {
  margin: 0;
  color: #2ca6e0;
  font-size: 32px;
  font-weight: 400;
  line-height: 48px;
  letter-spacing: 0.05em;
  white-space: nowrap;
  background: linear-gradient(7.4deg, #fb78b4 0%, #36b3e1 99.99%);
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent;
}

.business-flow__goal-person {
  display: block;
  width: 111px;
  height: 159px;
}

.business-flow__services {
  display: grid;
  grid-template-columns: repeat(2, 590px);
  gap: 20px;
  margin-top: 100px;
}

.business-flow-service {
  position: relative;
  display: block;
  width: 590px;
  height: 290px;
  overflow: hidden;
  border-radius: 10px;
}

.business-flow-service__photo {
  position: absolute;
  top: -22%;
  left: -7.54%;
  display: block;
  width: 115.07%;
  height: auto;
  max-width: none;
}

.business-flow-service__logo {
  position: absolute;
  z-index: 1;
  left: 40px;
  display: block;
  height: auto;
}

.business-flow-service__logo--midcareer {
  top: 30px;
  width: 85px;
}

.business-flow-service__logo--highschool {
  top: 29px;
  width: 118px;
}

.business-flow-service > span {
  position: absolute;
  z-index: 1;
  bottom: 35px;
  left: 40px;
  color: #fff;
  font-size: 18px;
  font-weight: 500;
  line-height: normal;
  letter-spacing: 0.1em;
}

.business-flow-service:nth-child(2) > span {
  color: #5e5e5e;
}

.business-flow__cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 1200px;
  height: 140px;
  padding: 0 27px 0 54px;
  margin-top: 50px;
  background: #2ca6e0;
  border-radius: 10px;
}

.business-flow__cta > p {
  margin: 0;
  color: #fff;
  font-size: 32px;
  font-weight: 600;
  line-height: 36px;
  letter-spacing: 0.05em;
  white-space: nowrap;
}

.business-flow__cta > a {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: center;
  width: 383px;
  height: 87px;
  color: #7c7c7c;
  font-size: 32px;
  font-weight: 600;
  line-height: 36px;
  letter-spacing: 0.05em;
  white-space: nowrap;
  background: #fff;
  border-radius: 10px;
}

.business-flow__cta > a img {
  width: 48px;
  height: 48px;
}

@media (hover: hover) and (pointer: fine) {
  .business-flow-service,
  .business-flow__cta > a {
    transition: opacity 0.25s ease;
  }
  .business-flow-service:hover,
  .business-flow__cta > a:hover {
    opacity: 0.75;
  }
}
@media screen and (max-width: 1239px) {
  .business-flow {
    padding-top: 80px;
  }
  .business-flow__overview {
    height: auto;
  }
  .business-flow__step {
    font-size: 20px;
  }
  .business-flow__cycle {
    width: calc(100% - 120px);
    margin-right: auto;
    margin-left: auto;
  }
  .business-flow__cycle p {
    font-size: 19px;
  }
  .business-benefits {
    height: auto;
    padding: 40px;
    margin-top: 80px;
  }
  .business-benefits__title {
    font-size: 28px;
    line-height: 1.5;
    white-space: normal;
  }
  .business-benefits__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
    margin-top: 40px;
  }
  .business-benefit-card {
    width: 100%;
    height: auto;
    min-height: 300px;
  }
  .business-benefit-card__text {
    width: 100%;
    max-width: 300px;
    text-align: left;
  }
  .business-flow__goal {
    grid-template-columns: 140px 1fr 100px;
    gap: 32px;
    width: 100%;
    height: auto;
  }
  .business-flow__goal-label {
    width: 140px;
    height: 140px;
  }
  .business-flow__goal-copy {
    font-size: 26px;
    line-height: 1.6;
    white-space: normal;
  }
  .business-flow__goal-person {
    width: 100px;
    height: auto;
  }
  .business-flow__services {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .business-flow-service {
    width: 100%;
    height: auto;
    aspect-ratio: 590/290;
  }
  .business-flow__cta {
    width: 100%;
    padding-left: 36px;
  }
  .business-flow__cta > p,
  .business-flow__cta > a {
    font-size: 26px;
  }
  .business-flow__cta > a {
    width: 340px;
  }
}
@media screen and (max-width: 900px) {
  .business-flow__title {
    text-align: left;
  }
  .business-flow__title span {
    display: inline;
  }
  .business-flow__steps {
    flex-direction: column;
    width: 100%;
    height: auto;
    margin-top: 40px;
  }
  .business-flow__step {
    flex: none;
    width: min(100%, 420px);
  }
  .business-flow__step-arrow {
    transform: rotate(270deg);
  }
  .business-flow__cycle {
    grid-template-columns: 22% 56% 22%;
    width: min(100%, 640px);
    height: auto;
    margin-top: 28px;
  }
  .business-flow__cycle p {
    margin-top: 4px;
    font-size: 16px;
    line-height: 1.6;
    white-space: normal;
  }
  .business-flow__goal {
    grid-template-columns: 120px 1fr 90px;
    gap: 24px;
  }
  .business-flow__goal-label {
    width: 120px;
    height: 120px;
    font-size: 20px;
  }
  .business-flow__goal-copy {
    font-size: 22px;
  }
  .business-flow__goal-person {
    width: 90px;
  }
  .business-flow__cta {
    flex-direction: column;
    gap: 20px;
    height: auto;
    padding: 28px;
  }
  .business-flow__cta > p {
    white-space: normal;
  }
}
@media screen and (max-width: 760px) {
  .business-flow {
    padding-top: 16.4102564103vw;
  }
  .business-flow__inner {
    width: calc(100% - 10.2564102564vw);
    max-width: none;
    margin-right: auto;
    margin-left: auto;
  }
  .business-flow__title {
    font-size: clamp(14px, 3.8461538462vw, 17px);
    line-height: 1.9;
    word-break: auto-phrase;
    line-break: strict;
    text-wrap: pretty;
  }
  .business-flow__steps {
    gap: 3.0769230769vw;
    margin-top: 8.2051282051vw;
  }
  .business-flow__step {
    height: 13.8461538462vw;
    font-size: clamp(18px, 5.3846153846vw, 23px);
  }
  .business-flow__step-arrow {
    width: 9.7435897436vw;
    height: 9.7435897436vw;
  }
  .business-flow__cycle {
    margin-top: 6.1538461538vw;
  }
  .business-flow__cycle img {
    height: auto;
  }
  .business-flow__cycle p {
    font-size: clamp(12px, 3.5897435897vw, 16px);
  }
  .business-benefits {
    padding: 7.6923076923vw 4.6153846154vw;
    margin-top: 16.4102564103vw;
    border-radius: 2.5641025641vw;
  }
  .business-benefits__title {
    font-size: clamp(21px, 6.4102564103vw, 28px);
    line-height: 1.6;
    letter-spacing: 0.05em;
    word-break: auto-phrase;
    line-break: strict;
    text-wrap: pretty;
  }
  .business-benefits__list {
    grid-template-columns: 1fr;
    gap: 5.1282051282vw;
    margin-top: 7.6923076923vw;
  }
  .business-benefit-card {
    min-height: 0;
    padding: 6.6666666667vw 6.1538461538vw;
    gap: 4.6153846154vw;
    border-radius: 2.5641025641vw;
  }
  .business-benefit-card__number {
    width: 44.8717948718vw;
    height: 10.2564102564vw;
    font-size: clamp(16px, 4.6153846154vw, 18px);
  }
  .business-benefit-card__title {
    font-size: clamp(17px, 4.6153846154vw, 19px);
    line-height: 1.7;
  }
  .business-benefit-card__text {
    max-width: none;
    font-size: clamp(14px, 3.8461538462vw, 16px);
    line-height: 1.9;
  }
  .business-flow__goal {
    grid-template-columns: 26.9230769231vw 1fr;
    gap: 5.1282051282vw;
    margin-top: 10.2564102564vw;
  }
  .business-flow__goal-label {
    width: 26.9230769231vw;
    height: 26.9230769231vw;
    font-size: clamp(17px, 4.8717948718vw, 20px);
    line-height: 1.5;
  }
  .business-flow__goal-copy {
    grid-column: 1/-1;
    grid-row: 2;
    font-size: clamp(18px, 5.1282051282vw, 22px);
    line-height: 1.7;
    word-break: auto-phrase;
    line-break: strict;
    text-wrap: pretty;
  }
  .business-flow__goal-copy br {
    display: none;
  }
  .business-flow__goal-person {
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
    width: 20.5128205128vw;
  }
  .business-flow__services {
    grid-template-columns: 1fr;
    gap: 5.1282051282vw;
    margin-top: 16.4102564103vw;
  }
  .business-flow-service__logo {
    left: 6.1538461538vw;
  }
  .business-flow-service__logo--midcareer {
    top: 4.6153846154vw;
    width: 17.9487179487vw;
  }
  .business-flow-service__logo--highschool {
    top: 4.6153846154vw;
    width: 24.1025641026vw;
  }
  .business-flow-service > span {
    bottom: 5.641025641vw;
    left: 6.1538461538vw;
    font-size: clamp(14px, 4.1025641026vw, 18px);
  }
  .business-flow__cta {
    gap: 5.1282051282vw;
    padding: 6.1538461538vw 4.6153846154vw;
    margin-top: 10.2564102564vw;
    border-radius: 2.5641025641vw;
  }
  .business-flow__cta > p {
    font-size: clamp(20px, 6.1538461538vw, 27px);
    line-height: 1.6;
    text-align: center;
    word-break: auto-phrase;
    line-break: strict;
    text-wrap: pretty;
  }
  .business-flow__cta > a {
    width: 100%;
    height: 16.4102564103vw;
    font-size: clamp(20px, 5.8974358974vw, 26px);
    border-radius: 2.0512820513vw;
  }
  .business-flow__cta > a img {
    width: 9.7435897436vw;
    height: 9.7435897436vw;
  }
}
/* Business SP layout (Figma 718:1297)
=================================================== */
@media screen and (max-width: 760px) {
  .business-hero {
    height: 68.7397435897vw;
  }
  .business-hero__visual {
    top: 12.3076923077vw;
    width: 100%;
    height: 56.4320512821vw;
    aspect-ratio: auto;
  }
  .business-hero__background,
  .business-hero__photo {
    border-radius: 0.7407692308vw;
  }
  .business-hero__label {
    position: absolute;
    z-index: 2;
    top: 16.9230769231vw;
    left: 7.6923076923vw;
    display: flex;
    flex-direction: column;
    gap: 1.1653846154vw;
    width: 26.6666666667vw;
    line-height: normal;
  }
  .business-hero__label p,
  .business-hero__label span {
    margin: 0;
  }
  .business-hero__label p {
    color: #000;
    font-family: "Aboreto", serif;
    font-size: 5.1282051282vw;
    letter-spacing: 0.05em;
    white-space: nowrap;
  }
  .business-hero__label span {
    color: #7c7c7c;
    font-size: 3.0769230769vw;
    font-weight: 300;
    letter-spacing: 0.05em;
    white-space: nowrap;
  }
  .business-intro {
    padding-top: 8.2051282051vw;
  }
  .business-intro__inner {
    width: 84.6153846154vw;
  }
  .business-intro__title {
    width: 58.9743589744vw;
    font-size: 5.1282051282vw;
    line-height: 7.4358974359vw;
    letter-spacing: 0.05em;
  }
  .business-intro__text {
    margin-top: 6.1538461538vw;
    font-size: 4.1025641026vw;
    line-height: 7.6923076923vw;
    letter-spacing: 0.03em;
  }
  .business-strategy {
    padding: 12.3076923077vw 0 20.5128205128vw;
    overflow: visible;
  }
  .business-strategy__glow-track {
    overflow: visible;
  }
  .business-strategy__glow {
    top: 129.4871794872vw;
    left: 50%;
    width: 151.2820512821vw;
    height: 151.2820512821vw;
    margin-left: 0;
    transform: translateX(-37.5%);
  }
  .business-strategy__inner {
    width: 84.6153846154vw;
  }
  .business-strategy__title {
    width: 100%;
    font-size: 4.1025641026vw;
    line-height: 6.1538461538vw;
    text-align: center;
    letter-spacing: 0.03em;
  }
  .business-strategy__diagram {
    width: 61.5384615385vw;
    margin-top: 6.1538461538vw;
  }
  .business-strategy__diagram-label {
    font-size: 3.0769230769vw;
    line-height: 6.5217948718vw;
  }
  .business-strategy__diagram-label--resource {
    font-size: 3.8461538462vw;
    line-height: 6.688974359vw;
  }
  .business-strategy__list {
    position: relative;
    z-index: 1;
    display: flex;
    gap: 6.1538461538vw;
    align-items: flex-start;
    width: calc(100vw - 7.6923076923vw);
    max-width: none;
    height: 97.9487179487vw;
    padding-right: 7.6923076923vw;
    margin-top: 6.1538461538vw;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-inline: contain;
    scroll-behavior: smooth;
    scroll-padding-left: 0;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }
  .business-strategy__list::-webkit-scrollbar {
    display: none;
  }
  .business-strategy-card,
  .business-strategy-card--brand {
    flex: 0 0 84.6153846154vw;
    width: 84.6153846154vw;
    height: 97.9487179487vw;
    padding: 0;
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }
  .business-strategy-card + .business-strategy-card {
    margin-top: 0;
  }
  .business-strategy-card__header {
    height: 8.6987179487vw;
  }
  .business-strategy-card__header p {
    font-size: 4.1025641026vw;
    line-height: 6.3264102564vw;
    letter-spacing: 0.1em;
  }
  .business-strategy-card__heading {
    width: 100%;
    margin-top: 2.6887179487vw;
  }
  .business-strategy-card__heading h3 {
    height: 7.6923076923vw;
    font-size: 3.5897435897vw;
    line-height: 7.6923076923vw;
    letter-spacing: 0.03em;
  }
  .business-strategy-card__heading h3 span {
    font-size: 6.6666666667vw;
  }
  .business-strategy-card__heading p {
    margin-top: 1.8979487179vw;
    font-size: 3.8461538462vw;
    line-height: 4.6153846154vw;
    letter-spacing: 0.03em;
  }
  .business-strategy-card__description,
  .business-strategy-card--growth .business-strategy-card__description,
  .business-strategy-card--mismatch .business-strategy-card__description,
  .business-strategy-card--brand .business-strategy-card__description {
    min-height: 16.1538461538vw;
    margin-top: 2.6887179487vw;
    font-size: 3.5897435897vw;
    line-height: 5.3846153846vw;
    letter-spacing: 0.03em;
    text-align: left;
  }
  .business-strategy-card__image,
  .business-strategy-card--growth .business-strategy-card__image,
  .business-strategy-card--brand .business-strategy-card__image {
    width: 100%;
    height: 49.8202564103vw;
    margin-top: 2.6887179487vw;
    border-radius: 1.5384615385vw;
    aspect-ratio: auto;
  }
  .business-flow {
    padding: 0;
    position: relative;
    z-index: 5;
  }
  .business-flow__inner {
    width: 84.6153846154vw;
  }
  .business-flow__title {
    font-size: 4.1025641026vw;
    line-height: 6.1538461538vw;
    text-align: center;
    letter-spacing: 0.03em;
  }
  .business-flow__title span {
    display: block;
  }
  .business-flow__steps {
    display: flex;
    flex-direction: column;
    gap: 4.1025641026vw;
    width: 57.9487179487vw;
    height: 98.4615384615vw;
    margin: 10.2564102564vw auto 0;
  }
  .business-flow__step {
    width: 49.2307692308vw;
    height: 12.3076923077vw;
    font-size: 5.1282051282vw;
    line-height: 6.1538461538vw;
  }
  .business-flow__step-arrow {
    flex: 0 0 8.2051282051vw;
    width: 8.2051282051vw;
    height: 8.2051282051vw;
    margin-top: 0;
    transform: rotate(270deg);
  }
  .business-flow__step:not(:first-child) {
    margin-top: 0;
  }
  .business-flow__cycle {
    position: relative;
    display: block;
    width: 57.9487179487vw;
    height: 19.4871794872vw;
    margin: 12.3076923077vw auto 0;
  }
  .business-flow__cycle > img:not(.business-flow__cycle-arrow-mobile) {
    display: none;
  }
  .business-flow__cycle .business-flow__cycle-arrow-mobile {
    position: absolute;
    top: -6.1538461538vw;
    left: 50%;
    display: block !important;
    width: 8.2051282051vw;
    height: 8.2051282051vw;
    transform: translateX(-50%) rotate(270deg);
  }
  .business-flow__cycle p {
    position: absolute;
    top: 4.1025641026vw;
    left: 0;
    width: 100%;
    margin: 0;
    font-size: 4.1025641026vw;
    line-height: 7.6923076923vw;
    white-space: normal;
  }
  .business-benefits {
    width: 100%;
    height: 505.8974358974vw;
    padding: 0;
    margin-top: 14.358974359vw;
    border-radius: 2.5641025641vw;
  }
  .business-benefits__title {
    width: 70.7692307692vw;
    margin: 6.1538461538vw auto 0;
    font-size: 5.1282051282vw;
    line-height: 7.6923076923vw;
    letter-spacing: 0.05em;
  }
  .business-benefits__title span {
    display: block;
  }
  .business-benefits__title::before,
  .business-benefits__title::after {
    content: none;
  }
  .business-benefits__title-benefit::before {
    content: "＼";
  }
  .business-benefits__title-benefit::after {
    content: "／";
  }
  .business-benefits__list {
    display: flex;
    flex-direction: column;
    gap: 5.1282051282vw;
    width: 67.6923076923vw;
    margin: 8.2051282051vw auto 0;
  }
  .business-benefit-card {
    flex: 0 0 88.9743589744vw;
    gap: 6.4102564103vw;
    width: 67.6923076923vw;
    height: 88.9743589744vw;
    min-height: 88.9743589744vw;
    padding: 7.6923076923vw 5.1282051282vw;
    border-radius: 2.5641025641vw;
  }
  .business-benefit-card__number {
    width: 44.8717948718vw;
    height: 10.2564102564vw;
    font-size: 4.1025641026vw;
    line-height: 7.6923076923vw;
  }
  .business-benefit-card__title {
    font-size: 4.1025641026vw;
    line-height: 7.6923076923vw;
    letter-spacing: 0.05em;
  }
  .business-benefit-card__text {
    width: 51.2820512821vw;
    max-width: none;
    font-size: 4.1025641026vw;
    line-height: 6.1538461538vw;
    letter-spacing: 0.05em;
    text-align: left;
  }
  .business-flow__goal {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 5.1282051282vw;
    align-items: center;
    width: 67.4358974359vw;
    height: auto;
    margin: 8.2051282051vw auto 0;
  }
  .business-flow__goal-label {
    flex: 0 0 40.7692307692vw;
    width: 40.7692307692vw;
    height: 40.7692307692vw;
    font-size: 6.1538461538vw;
    line-height: 7.6923076923vw;
  }
  .business-flow__goal-copy {
    width: 100%;
    font-size: 4.1025641026vw;
    line-height: 6.1538461538vw;
    letter-spacing: 0.05em;
  }
  .business-flow__goal-copy br {
    display: inline;
  }
  .business-flow__goal-person {
    position: absolute;
    top: 13.8461538462vw;
    right: -6.6666666667vw;
    width: 18.9743589744vw;
    height: 26.9230769231vw;
  }
  .business-flow__services {
    display: grid;
    grid-template-columns: 1fr;
    gap: 3.8461538462vw;
    width: 100%;
    margin-top: 16.4102564103vw;
  }
  .business-flow-service {
    width: 100%;
    height: 41.5905128205vw;
    border-radius: 1.4341025641vw;
    aspect-ratio: auto;
  }
  .business-flow-service__photo {
    top: -10.91%;
  }
  .business-flow-service__logo {
    left: 5.7366666667vw;
  }
  .business-flow-service__logo--midcareer {
    top: 4.3025641026vw;
    width: 12.1228205128vw;
  }
  .business-flow-service__logo--highschool {
    top: 4.158974359vw;
    width: 16.8084615385vw;
  }
  .business-flow-service > span {
    top: 29.6751282051vw;
    bottom: auto;
    left: 5.7366666667vw;
    width: 39.5828205128vw;
    font-size: 3.5897435897vw;
    line-height: 5.1282051282vw;
    letter-spacing: 0.1em;
  }
  .business-flow__cta {
    position: relative;
    display: block;
    width: 100%;
    height: 23.1053846154vw;
    padding: 0;
    margin-top: 8.2051282051vw;
    border-radius: 0.8333333333vw;
  }
  .business-flow__cta > p {
    position: absolute;
    top: 3.5897435897vw;
    left: 50%;
    width: 77.4358974359vw;
    font-size: 3.8461538462vw;
    line-height: 4.6153846154vw;
    letter-spacing: 0.05em;
    white-space: nowrap;
    transform: translateX(-50%);
  }
  .business-flow__cta > a {
    position: absolute;
    top: 10.6861538462vw;
    left: 50%;
    gap: 0.8333333333vw;
    width: 75.3846153846vw;
    height: 8.0869230769vw;
    font-size: 4.1025641026vw;
    line-height: 4.1025641026vw;
    border-radius: 0.8333333333vw;
    transform: translateX(-50%);
  }
  .business-flow__cta > a img {
    width: 6.1538461538vw;
    height: 6.1538461538vw;
  }
}
/* ===================================================
SIMNAの実績
=================================================== */
.page-heading--works {
  padding-top: 175px;
}

.works-archive {
  padding: 35px 0 0;
}

.works-archive__list-wrap {
  width: 1202px;
  margin: 0 auto;
}

.works-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  -moz-column-gap: 26px;
       column-gap: 26px;
  row-gap: 50px;
}

.archive-card--works .archive-card__title {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.archive-card--works .archive-card__category {
  overflow: hidden;
  margin-top: 15px;
  font-size: 16px;
  font-weight: 500;
  line-height: 23px;
  letter-spacing: 0.05em;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.archive-card--works .archive-card__service {
  display: grid;
  width: 118px;
  height: 23px;
  margin-top: 15px;
  color: #fcfcfc;
  font-size: 16px;
  font-weight: 500;
  line-height: 23px;
  letter-spacing: 0.05em;
  border-radius: 5px;
  place-items: center;
}

.archive-card__service--recruit-support {
  background: linear-gradient(97.45deg, #7176fa 28.071%, #e49cf4 73.669%);
}

.archive-card__service--web-community {
  background: linear-gradient(90deg, #0ae0c8, #1ab3a2);
}

.works-archive__empty {
  padding: 50px 20px;
  text-align: center;
}

.works-pagination {
  display: flex;
  gap: 60px;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  margin-top: 50px;
}

.works-pagination__numbers {
  display: flex;
  gap: 45px;
  align-items: center;
  min-height: 27px;
  color: #7c7c7c;
  font-size: 20px;
  line-height: 27px;
  letter-spacing: 0.05em;
}

.works-pagination__numbers a,
.works-pagination__numbers span {
  color: inherit;
}

.works-pagination__numbers .current {
  color: #000;
}

.works-pagination__arrow {
  display: block;
  flex: 0 0 50px;
  width: 50px;
  height: 50px;
}

.works-pagination__arrow img {
  display: block;
  width: 100%;
  height: 100%;
}

.works-pagination__arrow--prev {
  transform: rotate(180deg);
}

.works-pagination__arrow.is-disabled {
  pointer-events: none;
  opacity: 0.4;
}

.works-related {
  width: 1351px;
  padding-top: 50px;
  margin: 50px auto 0;
  border-top: 1px solid #7c7c7c;
}

.works-related__links {
  display: grid;
  grid-template-columns: repeat(3, 383px);
  gap: 25px;
  width: 1199px;
  margin: 0 auto;
}

.works-related__link {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 383px;
  height: 87px;
  padding: 8px 12px 7px 28px;
  color: #7c7c7c;
  font-size: 22px;
  line-height: 26px;
  letter-spacing: 0.05em;
  border: 1px solid #7c7c7c;
  border-radius: 100px;
}

.works-related__link img {
  display: block;
  flex: 0 0 72px;
  width: 72px;
  height: 72px;
  transform: rotate(90deg);
}

.works-recruit-links {
  display: grid;
  grid-template-columns: repeat(4, 319px);
  gap: 25px;
  width: 1351px;
  margin: 50px auto 0;
}

.works-recruit-links__item {
  position: relative;
  display: flex;
  overflow: hidden;
  align-items: center;
  justify-content: center;
  width: 319px;
  height: 185px;
  color: #fff;
  border-radius: 10px;
  isolation: isolate;
}

.works-recruit-links__item img {
  position: absolute;
  inset: 0;
  z-index: -1;
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.45s ease;
}

.works-recruit-links__item span {
  font-size: 24px;
  line-height: 30px;
  letter-spacing: 0.05em;
  white-space: nowrap;
}

@media (hover: hover) and (pointer: fine) {
  .archive-card--works .archive-card__link:hover .archive-card__thumbnail img,
  .works-recruit-links__item:hover img {
    transform: scale(1.03);
  }
}
@media screen and (max-width: 1395px) {
  .works-related,
  .works-recruit-links {
    width: calc(100% - 40px);
  }
  .works-related__links {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: calc(100% - 152px);
  }
  .works-related__link {
    width: 100%;
  }
  .works-recruit-links {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .works-recruit-links__item {
    width: 100%;
    height: auto;
    aspect-ratio: 319/185;
  }
  .works-recruit-links__item span {
    font-size: clamp(15px, 1.667vw, 24px);
  }
}
@media screen and (max-width: 1242px) {
  .works-archive__list-wrap {
    width: calc(100% - 40px);
  }
  .archive-card--works .archive-card__thumbnail {
    height: auto;
    aspect-ratio: 383/250;
  }
  .archive-card--works .archive-card__content {
    width: calc(100% - 78px);
  }
}
@media screen and (max-width: 900px) {
  .works-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .works-related__links {
    grid-template-columns: 1fr;
    gap: 20px;
    width: calc(100% - 80px);
  }
  .works-recruit-links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media screen and (max-width: 760px) {
  .page-heading--works {
    padding-top: 30.7692307692vw;
  }
  .works-archive {
    padding-top: 10.2564102564vw;
  }
  .works-grid {
    grid-template-columns: 1fr;
    row-gap: 10.2564102564vw;
  }
  .archive-card--works .archive-card__content {
    width: calc(100% - 10.2564102564vw);
    margin-top: 5.1282051282vw;
  }
  .archive-card--works .archive-card__title {
    font-size: 4.358974359vw;
  }
  .archive-card--works .archive-card__category,
  .archive-card--works .archive-card__service {
    margin-top: 2.5641025641vw;
    font-size: 3.5897435897vw;
  }
  .works-pagination {
    gap: 4.6153846154vw;
    margin-top: 10.2564102564vw;
  }
  .works-pagination__numbers {
    gap: 5.1282051282vw;
    font-size: 4.1025641026vw;
  }
  .works-related {
    padding-top: 10.2564102564vw;
    margin-top: 10.2564102564vw;
  }
  .works-related__links {
    width: calc(100% - 10.2564102564vw);
  }
  .works-related__link {
    height: 17.4358974359vw;
    padding: 1.5384615385vw 1.5384615385vw 1.2820512821vw 5.641025641vw;
    font-size: 4.6153846154vw;
  }
  .works-related__link img {
    flex-basis: 14.358974359vw;
    width: 14.358974359vw;
    height: 14.358974359vw;
  }
  .works-recruit-links {
    grid-template-columns: 1fr;
    width: calc(100% - 10.2564102564vw);
    margin-top: 10.2564102564vw;
  }
  .works-recruit-links__item span {
    font-size: 4.6153846154vw;
  }
}
/* 実績一覧 SP layout (Figma: 718:1745)
***************************************************************/
@media screen and (max-width: 760px) {
  .page-heading--works {
    padding-top: 16.9230769231vw;
  }
  .page-heading--works .page-heading__inner {
    width: calc(100% - 15.3846153846vw);
  }
  .page-heading--works .page-heading__en {
    font-size: 5.1282051282vw;
    line-height: 5.8974358974vw;
  }
  .page-heading--works .page-heading__title {
    margin-top: 1.1653846154vw;
    font-size: 3.0769230769vw;
    line-height: 4.358974359vw;
  }
  .page-heading--works .page-heading__actions {
    gap: 2.0512820513vw;
    justify-content: center;
    margin-top: 10.2564102564vw;
  }
  .page-heading--works .page-heading__action {
    width: calc((100% - 6.1538461538vw) / 4);
    height: 5.641025641vw;
    padding: 0;
    font-size: 2.6923076923vw;
    line-height: 3.0769230769vw;
  }
  .works-archive {
    padding-top: 10.2564102564vw;
  }
  .works-archive__list-wrap {
    width: calc(100% - 15.3846153846vw);
  }
  .works-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12.3076923077vw;
    width: 100%;
    padding-bottom: 12.3076923077vw;
    border-bottom: 0.2564102564vw solid #d9d9d9;
  }
  .archive-card--works {
    position: relative;
    width: 100%;
    height: 21.9594871795vw;
  }
  .archive-card--works::after {
    position: absolute;
    right: 0;
    bottom: -6.1538461538vw;
    left: 0;
    height: 0.2564102564vw;
    content: "";
    background: #d9d9d9;
  }
  .archive-card--works .archive-card__link {
    display: grid;
    grid-template-columns: 48.7179487179vw 33.64vw;
    gap: 2.0512820513vw;
    width: 100%;
    height: 21.9594871795vw;
  }
  .archive-card--works .archive-card__thumbnail {
    grid-column: 2;
    grid-row: 1;
    width: 33.64vw;
    height: 21.9594871795vw;
    aspect-ratio: auto;
  }
  .archive-card--works .archive-card__content {
    display: flex;
    grid-column: 1;
    grid-row: 1;
    flex-direction: column;
    gap: 3.0769230769vw;
    width: 48.7179487179vw;
    height: 21.6405128205vw;
    margin: 0;
  }
  .archive-card--works .archive-card__title {
    width: 48.7179487179vw;
    height: 5.1623076923vw;
    font-size: 4.1025641026vw;
    font-weight: 300;
    line-height: 5.1623076923vw;
    letter-spacing: 0.05em;
  }
  .archive-card--works .archive-card__category {
    width: 48.7179487179vw;
    height: 5.1623076923vw;
    margin: 0;
    font-size: 3.5897435897vw;
    line-height: 5.1623076923vw;
    letter-spacing: 0.05em;
  }
  .archive-card--works .archive-card__service {
    width: 26.4843589744vw;
    height: 5.1623076923vw;
    margin: 0;
    font-size: 3.5897435897vw;
    line-height: 5.1623076923vw;
    letter-spacing: 0.05em;
    border-radius: 1.1223076923vw;
  }
  .archive-card__service--web-community {
    width: 26.0469230769vw;
    height: 5.0769230769vw;
  }
  .works-pagination {
    gap: 6.1538461538vw;
    justify-content: space-between;
    width: 84.6153846154vw;
    min-height: 7.6923076923vw;
    margin: 4.1025641026vw auto 0;
  }
  .works-pagination__numbers {
    justify-content: space-between;
    width: 55.1282051282vw;
    min-height: 4.8717948718vw;
    gap: 0;
    font-family: "M PLUS 1p", sans-serif;
    font-size: 3.22vw;
    font-weight: 800;
    line-height: 4.8717948718vw;
    letter-spacing: 0.08em;
  }
  .works-pagination__numbers .page-numbers {
    display: block;
    width: auto;
    height: 4.8717948718vw;
    font-size: 3.22vw;
    font-weight: 800;
    line-height: 4.8717948718vw;
    letter-spacing: 0.08em;
  }
  .works-pagination__arrow {
    flex-basis: 7.6923076923vw;
    width: 7.6923076923vw;
    height: 7.6923076923vw;
  }
  .works-related {
    width: calc(100% - 15.3846153846vw);
    padding-top: 10vw;
    margin: 4.1025641026vw auto 0;
  }
  .works-related__links {
    display: grid;
    grid-template-columns: 1fr;
    gap: 4.1025641026vw;
    width: 100%;
  }
  .works-related__link {
    width: 100%;
    height: 10.2564102564vw;
    padding: 1.2820512821vw 2.5641025641vw 1.2820512821vw 5.1282051282vw;
    font-size: 3.5897435897vw;
    line-height: 4.358974359vw;
    border-radius: 18.4615384615vw;
  }
  .works-related__link img {
    position: absolute;
    top: 1.2820512821vw;
    right: -0.2564102564vw;
    width: 7.6923076923vw;
    height: 7.6923076923vw;
  }
  .works-recruit-links {
    grid-template-columns: repeat(2, 40.8333333333vw);
    grid-template-rows: repeat(2, 23.6694871795vw);
    gap: 3.0769230769vw;
    width: 84.7435897436vw;
    height: 50.4158974359vw;
    margin: 8.2051282051vw auto 0;
  }
  .works-recruit-links__item {
    width: 40.8333333333vw;
    height: 23.6694871795vw;
    aspect-ratio: auto;
    border-radius: 0.7692307692vw;
  }
  .works-recruit-links__item span {
    font-size: 3.5897435897vw;
    line-height: 3.5897435897vw;
  }
}
/* 実績詳細
***************************************************************/
.works-single {
  padding: 209px 0 0;
}

.works-single__layout {
  position: relative;
  display: grid;
  grid-template-columns: 165px minmax(0, 620px);
  -moz-column-gap: 119px;
       column-gap: 119px;
  align-items: start;
  width: 1200px;
  margin: 0 auto;
}

.works-single__tabs {
  position: sticky;
  top: 150px;
  display: grid;
  grid-column: 1;
  gap: 25px;
  align-self: start;
  width: 165px;
  margin-left: 6px;
}

.works-single__tab {
  display: grid;
  width: 165px;
  height: 44px;
  color: #7c7c7c;
  font-size: 18px;
  font-weight: 300;
  line-height: 26px;
  letter-spacing: 0.05em;
  background: #fff;
  border: 1px solid #7c7c7c;
  border-radius: 50px;
  place-items: center;
}

.works-single__tab.is-current {
  background: #d6f2ff;
}

.works-single__tabs--mobile {
  display: none;
}

.works-single__main {
  grid-column: 2;
  width: 620px;
  padding-top: 31px;
  margin: 0;
}

.admin-bar .works-single__tabs--desktop {
  top: 182px;
}

.works-single__title {
  color: #000;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 32px;
  font-weight: 400;
  line-height: 48px;
  letter-spacing: 0.03em;
  text-align: justify;
}

.works-single__meta {
  display: grid;
  gap: 8px;
  margin-top: 16px;
  font-size: 18px;
  font-weight: 300;
  line-height: 26px;
  letter-spacing: 0.05em;
}

.works-single__meta > div {
  display: grid;
  grid-template-columns: 80px minmax(0, 1fr);
}

.works-single__meta dt {
  color: #7c7c7c;
  font-weight: 300;
}

.works-single__meta dd {
  color: #000;
}

.works-single__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 16px;
}

.works-single__tags li {
  display: grid;
  min-width: 118px;
  height: 44px;
  padding: 0 25px;
  color: #7c7c7c;
  font-size: 16px;
  font-weight: 300;
  line-height: 26px;
  letter-spacing: 0.05em;
  border: 1px solid #7c7c7c;
  border-radius: 50px;
  place-items: center;
}

.works-single__featured {
  display: grid;
  overflow: hidden;
  width: 620px;
  height: 413px;
  margin: 36px 0 0;
  background: #d9d9d9;
  place-items: center;
}

.works-single__featured > img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.works-single__featured--placeholder > img {
  width: 24px;
  height: 24px;
  -o-object-fit: contain;
     object-fit: contain;
}

.works-single__interviewees {
  display: grid;
  grid-template-columns: 165px 1px minmax(0, 1fr);
  gap: 32px;
  align-items: center;
  min-height: 82px;
  padding: 16px 20px;
  margin-top: 32px;
  background: rgba(202, 241, 255, 0.3);
  border-radius: 10px;
}

.works-single__interviewees-label {
  color: #2ca6e0;
  font-size: 16px;
  font-weight: 300;
  line-height: 24px;
  letter-spacing: 0.0375em;
}

.works-single__interviewees-divider {
  display: block;
  width: 1px;
  height: 40px;
  background: #d9d9d9;
}

.works-single__interviewees-list {
  display: flex;
  gap: 20px;
  align-items: center;
}

.works-single__interviewee {
  display: flex;
  gap: 8px;
  align-items: center;
  min-width: 101px;
}

.works-single__interviewee-image {
  display: grid;
  overflow: hidden;
  flex: 0 0 50px;
  width: 50px;
  height: 50px;
  background: #d9d9d9;
  place-items: center;
}

.works-single__interviewee-image img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.works-single__interviewee-image img[src$="image-placeholder.svg"] {
  width: 24px;
  height: 24px;
  -o-object-fit: contain;
     object-fit: contain;
}

.works-single__interviewee-text {
  display: grid;
  gap: 8px;
  color: #7c7c7c;
  white-space: nowrap;
}

.works-single__interviewee-text strong {
  font-size: 16px;
  font-weight: 400;
  line-height: 15px;
}

.works-single__interviewee-text small {
  font-size: 14px;
  font-weight: 300;
  line-height: 14px;
}

.works-single__editor {
  margin-top: 32px;
  color: #7c7c7c;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: 300;
  line-height: 24px;
  letter-spacing: 0.0375em;
}
.works-single__editor p {
  margin: 16px 0 0;
  text-align: justify;
}
.works-single__editor h2,
.works-single__editor .works-editor-question {
  position: relative;
  padding: 0 0 8px 16px;
  margin: 72px 0 0;
  color: #2ca6e0;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  letter-spacing: 0.0375em;
  border-bottom: 1px solid #d9d9d9;
}
.works-single__editor h2::before,
.works-single__editor .works-editor-question::before {
  position: absolute;
  top: 4px;
  left: 0;
  width: 12px;
  height: 16px;
  content: "";
  background: url("../images/works/question-marker.svg") center/contain no-repeat;
}
.works-single__editor h3,
.works-single__editor .works-editor-heading {
  min-height: 32px;
  padding: 4px 20px;
  margin: 24px 0 0;
  color: #2ca6e0;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: 300;
  line-height: 24px;
  letter-spacing: 0.0375em;
  background: rgba(202, 241, 255, 0.5);
  border: 1px solid #2ca6e0;
}
.works-single__editor h3.is-strong,
.works-single__editor .works-editor-heading.is-strong {
  color: #fff;
  background: #2ca6e0;
}
.works-single__editor h4 {
  margin: 40px 0 0;
  color: #2ca6e0;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
}
.works-single__editor ul,
.works-single__editor ol {
  display: grid;
  gap: 0;
  padding: 0;
  margin: 8px 0 0;
  list-style: none;
}
.works-single__editor li {
  position: relative;
  min-height: 24px;
  padding-left: 18px;
  text-align: justify;
}
.works-single__editor li::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 10px;
  height: 24px;
  content: "";
  background: url("../images/works/list-marker.svg") center/contain no-repeat;
}
.works-single__editor .works-editor-summary {
  display: grid;
  grid-template-columns: 145px minmax(0, 1fr);
  gap: 0;
  align-items: center;
  min-height: 120px;
  padding: 20px;
  margin: 32px 0 0;
  border: 1px solid #2ca6e0;
}
.works-single__editor .works-editor-summary > .wp-block-group__inner-container {
  display: contents;
}
.works-single__editor .works-editor-summary > :first-child:not(.wp-block-group__inner-container),
.works-single__editor .works-editor-summary > .wp-block-group__inner-container > :first-child {
  margin-top: 0;
  color: #2ca6e0;
}
.works-single__editor .works-editor-summary ul,
.works-single__editor .works-editor-summary ol {
  margin-top: 0;
}
.works-single__editor img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 80px auto 0;
}
.works-single__editor .aligncenter {
  margin-right: auto;
  margin-left: auto;
}
.works-single__editor .wp-caption,
.works-single__editor figure {
  position: relative;
  width: 100% !important;
  max-width: 100%;
  margin: 80px 0 0;
}
.works-single__editor .wp-caption img,
.works-single__editor figure img {
  width: 100%;
  margin: 0;
}
.works-single__editor .wp-caption-text,
.works-single__editor figcaption {
  position: absolute;
  top: 50%;
  left: 50%;
  width: -moz-max-content;
  width: max-content;
  max-width: calc(100% - 40px);
  padding: 10px;
  margin: 0;
  color: #fff;
  font-size: 16px;
  font-weight: 400;
  line-height: 26px;
  text-align: center;
  background: #f90078;
  transform: translate(-50%, -50%);
}
.works-single__editor blockquote {
  padding: 20px;
  margin: 32px 0 0;
  background: rgba(202, 241, 255, 0.3);
  border-radius: 10px;
}
.works-single__editor a {
  color: #2ca6e0;
  text-decoration: underline;
}
.works-single__editor .works-editor-link {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 7px 24px;
  color: #fff;
  text-decoration: none;
  background: #2ca6e0;
  border-radius: 50px;
}
.works-single__editor table {
  width: 100%;
  margin: 32px 0 0;
  border-collapse: collapse;
}
.works-single__editor th,
.works-single__editor td {
  padding: 12px;
  border: 1px solid #d9d9d9;
}
@media screen and (max-width: 760px) {
  .works-single__editor {
    font-size: 3.5897435897vw;
    line-height: 1.8;
  }
  .works-single__editor h2,
  .works-single__editor .works-editor-question {
    margin-top: 12.3076923077vw;
    font-size: 3.8461538462vw;
    line-height: 1.7;
  }
  .works-single__editor h3,
  .works-single__editor .works-editor-heading {
    font-size: 3.8461538462vw;
  }
  .works-single__editor .works-editor-summary {
    display: block;
    padding: 5.1282051282vw;
  }
  .works-single__editor .works-editor-summary ul,
  .works-single__editor .works-editor-summary ol {
    margin-top: 4.1025641026vw;
  }
  .works-single__editor img,
  .works-single__editor .wp-caption,
  .works-single__editor figure {
    margin-top: 12.3076923077vw;
  }
  .works-single__editor .wp-caption-text,
  .works-single__editor figcaption {
    padding: 1.7948717949vw 2.5641025641vw;
    font-size: 3.3333333333vw;
    line-height: 1.6;
  }
}

.works-single__website {
  display: flex;
  gap: 6px;
  align-items: center;
  justify-content: center;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  min-height: 50px;
  padding: 12px 24px;
  margin: 40px 0 0;
  color: #fff;
  font-size: 18px;
  font-weight: 400;
  line-height: 26px;
  letter-spacing: 0.05em;
  background: #2ca6e0;
  border-radius: 50px;
}

.works-single__website img {
  display: block;
  flex: 0 0 6px;
  width: 6px;
  height: 12px;
}

.works-single__post-nav {
  display: flex;
  justify-content: space-between;
  margin-top: 64px;
  color: #b4b4b5;
  font-size: 16px;
  font-weight: 300;
  line-height: 24px;
  letter-spacing: 0.05em;
}

.works-single__post-nav a:last-child {
  margin-left: auto;
}

.works-single__contact {
  display: flex;
  align-items: center;
  width: 1200px;
  height: 140px;
  padding: 0 27px 0 54px;
  margin: 100px auto 0;
  color: #fff;
  background: #2ca6e0;
  border-radius: 10px;
}

.works-single__contact > p {
  font-size: 32px;
  font-weight: 600;
  line-height: 36px;
  letter-spacing: 0.05em;
  white-space: nowrap;
}

.works-single__contact > a {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: center;
  width: 383px;
  height: 87px;
  margin-left: auto;
  color: #000;
  background: #fff;
  border-radius: 10px;
}

.works-single__contact > a span {
  font-size: 32px;
  font-weight: 600;
  line-height: 36px;
  letter-spacing: 0.05em;
  white-space: nowrap;
}

.works-single__contact > a img {
  display: block;
  width: 48px;
  height: 48px;
}

.works-single__recruit-links {
  margin-top: 64px;
}

@media (hover: hover) and (pointer: fine) {
  .works-single__tab,
  .works-single__contact > a,
  .works-single__website {
    transition: opacity 0.25s ease;
  }
  .works-single__tab:hover,
  .works-single__contact > a:hover,
  .works-single__website:hover {
    opacity: 0.7;
  }
}
@media screen and (max-width: 1240px) {
  .works-single__layout,
  .works-single__contact {
    width: calc(100% - 40px);
  }
  .works-single__layout {
    grid-template-columns: 165px minmax(0, 620px);
    -moz-column-gap: clamp(40px, 100% - 785px, 119px);
         column-gap: clamp(40px, 100% - 785px, 119px);
  }
  .works-single__contact > p {
    font-size: clamp(22px, 2.58vw, 32px);
  }
  .works-single__contact > a {
    width: min(383px, 36%);
  }
  .works-single__contact > a span {
    font-size: clamp(20px, 2.58vw, 32px);
  }
}
@media screen and (max-width: 900px) {
  .works-single {
    padding-top: 140px;
  }
  .works-single__tabs {
    position: static;
    display: flex;
    gap: 12px;
    width: 100%;
    margin-bottom: 40px;
    margin-left: 0;
  }
  .works-single__tabs--mobile {
    display: none;
  }
  .works-single__layout {
    display: block;
  }
  .works-single__main {
    width: min(620px, 100%);
    padding-top: 0;
  }
  .works-single__contact {
    gap: 24px;
    height: auto;
    min-height: 140px;
    padding: 24px;
  }
  .works-single__contact > p {
    white-space: normal;
  }
  .works-single__contact > a {
    flex: 0 0 min(383px, 48%);
    width: auto;
  }
}
@media screen and (max-width: 760px) {
  .works-single {
    padding-top: 30.7692307692vw;
  }
  .works-single__tab {
    width: min(42.3076923077vw, (100vw - 13.3333333333vw) / 2);
    height: 10.2564102564vw;
    font-size: 3.5897435897vw;
  }
  .works-single__tabs {
    margin-bottom: 8.2051282051vw;
  }
  .works-single__title {
    font-size: 6.1538461538vw;
    line-height: 1.55;
    text-align: left;
  }
  .works-single__meta {
    font-size: 3.5897435897vw;
    line-height: 1.8;
  }
  .works-single__meta > div {
    grid-template-columns: 17.9487179487vw minmax(0, 1fr);
  }
  .works-single__tags li {
    min-width: auto;
    height: 9.7435897436vw;
    padding: 0 4.6153846154vw;
    font-size: 3.3333333333vw;
  }
  .works-single__featured {
    width: 100%;
    height: auto;
    margin-top: 8.2051282051vw;
    aspect-ratio: 620/413;
  }
  .works-single__interviewees {
    display: block;
    padding: 5.1282051282vw;
  }
  .works-single__interviewees-label br {
    display: none;
  }
  .works-single__interviewees-divider {
    width: 100%;
    height: 0.2564102564vw;
    margin: 4.1025641026vw 0;
  }
  .works-single__interviewees-list {
    flex-wrap: wrap;
  }
  .works-single__website {
    width: 100%;
    min-height: 11.2820512821vw;
    padding: 2.5641025641vw 4.6153846154vw;
    font-size: 3.5897435897vw;
    text-align: center;
  }
  .works-single__post-nav {
    margin-top: 12.3076923077vw;
    font-size: 3.3333333333vw;
  }
  .works-single__contact {
    display: block;
    padding: 6.1538461538vw 5.1282051282vw;
    margin-top: 16.4102564103vw;
  }
  .works-single__contact > p {
    font-size: 5.641025641vw;
    line-height: 1.5;
  }
  .works-single__contact > a {
    width: 100%;
    height: 16.4102564103vw;
    margin-top: 5.1282051282vw;
  }
  .works-single__contact > a span {
    font-size: 5.1282051282vw;
  }
  .works-single__contact > a img {
    width: 9.7435897436vw;
    height: 9.7435897436vw;
  }
  .works-single__recruit-links {
    margin-top: 10.2564102564vw;
  }
}
/* 実績詳細 SP layout (Figma: 718:1553)
***************************************************************/
@media screen and (max-width: 760px) {
  .works-single {
    padding-top: 20vw;
  }
  .works-single__layout {
    width: calc(100% - 15.3846153846vw);
  }
  .works-single__tabs--desktop {
    display: none;
  }
  .works-single__main {
    width: 100%;
    padding: 0;
  }
  .works-single__title {
    min-height: 19.7435897436vw;
    font-size: 4.6153846154vw;
    line-height: 6.5297435897vw;
    letter-spacing: 0.03em;
    text-align: justify;
  }
  .works-single__meta {
    gap: 2.0512820513vw;
    margin-top: 6.1538461538vw;
    font-size: 3.0769230769vw;
    line-height: 4.358974359vw;
    letter-spacing: 0.05em;
  }
  .works-single__meta > div {
    grid-template-columns: 13.3333333333vw minmax(0, 1fr);
  }
  .works-single__tags {
    gap: 1.3602564103vw;
    margin-top: 4.1025641026vw;
  }
  .works-single__tags li {
    min-width: auto;
    height: 5.9856410256vw;
    padding: 0 3.401025641vw;
    font-size: 3.0769230769vw;
    line-height: 4.358974359vw;
    border-width: 0.1361538462vw;
    border-radius: 6.8017948718vw;
  }
  .works-single__featured {
    width: 100%;
    height: 56.1538461538vw;
    margin-top: 5.641025641vw;
    aspect-ratio: auto;
  }
  .works-single__interviewees {
    display: grid;
    grid-template-columns: 28.4615384615vw 0.2564102564vw minmax(0, 1fr);
    gap: 2.0512820513vw;
    width: 100%;
    min-height: 12.8205128205vw;
    height: 12.8205128205vw;
    padding: 1.5384615385vw 1.7948717949vw;
    margin-top: 6.1538461538vw;
    border-radius: 1.2820512821vw;
  }
  .works-single__interviewees-label {
    font-size: 3.0769230769vw;
    line-height: 4.6153846154vw;
    letter-spacing: 0.0265em;
  }
  .works-single__interviewees-label br {
    display: initial;
  }
  .works-single__interviewees-divider {
    width: 0.2564102564vw;
    height: 8.4615384615vw;
    margin: 0;
  }
  .works-single__interviewees-list {
    flex-wrap: nowrap;
    gap: 2.0512820513vw;
  }
  .works-single__interviewee {
    flex: 0 0 auto;
    gap: 1.0256410256vw;
    min-width: 0;
  }
  .works-single__interviewee-image {
    flex-basis: 7.6923076923vw;
    width: 7.6923076923vw;
    height: 7.6923076923vw;
  }
  .works-single__interviewee-image img[src$="image-placeholder.svg"] {
    width: 3.6923076923vw;
    height: 3.6923076923vw;
  }
  .works-single__interviewee-text {
    gap: 1.0256410256vw;
  }
  .works-single__interviewee-text strong,
  .works-single__interviewee-text small {
    font-size: 3.0769230769vw;
    line-height: 3.0769230769vw;
  }
  .works-single__editor {
    margin-top: 4.1025641026vw;
    font-size: 4.1025641026vw;
    line-height: 6.1538461538vw;
    letter-spacing: 0.0625em;
  }
  .works-single__editor .works-editor-summary {
    display: grid;
    grid-template-columns: 19.7435897436vw minmax(0, 1fr);
    min-height: 26.9230769231vw;
    padding: 2.5641025641vw;
    margin-top: 0;
    border-width: 0.1361538462vw;
  }
  .works-single__editor .works-editor-summary > .wp-block-group__inner-container {
    display: contents;
  }
  .works-single__editor .works-editor-summary > :first-child:not(.wp-block-group__inner-container),
  .works-single__editor .works-editor-summary > .wp-block-group__inner-container > :first-child {
    align-self: center;
    font-size: 3.0769230769vw;
    line-height: 4.6153846154vw;
  }
  .works-single__editor .works-editor-summary ul,
  .works-single__editor .works-editor-summary ol {
    margin-top: 0;
  }
  .works-single__editor h3,
  .works-single__editor .works-editor-heading {
    min-height: 5.8974358974vw;
    padding: 1.2820512821vw 2.5641025641vw;
    margin-top: 4.1025641026vw;
    font-size: 3.0769230769vw;
    line-height: 3.0769230769vw;
    letter-spacing: 0.0265em;
    border-width: 0.1361538462vw;
  }
  .works-single__editor ul,
  .works-single__editor ol {
    gap: 2.0512820513vw;
    margin-top: 1.7948717949vw;
  }
  .works-single__editor li {
    min-height: 4.358974359vw;
    padding-left: 2.5641025641vw;
    font-size: 3.0769230769vw;
    line-height: 4.6153846154vw;
    letter-spacing: 0.0265em;
  }
  .works-single__editor li::before {
    width: 2.5641025641vw;
    height: 4.358974359vw;
  }
  .works-single__editor h2,
  .works-single__editor .works-editor-question {
    padding: 0 0 2.0512820513vw 4.1025641026vw;
    margin-top: 14.358974359vw;
    font-size: 4.1025641026vw;
    line-height: 6.1538461538vw;
    letter-spacing: 0.02em;
  }
  .works-single__editor h2:first-of-type,
  .works-single__editor .works-editor-question:first-of-type {
    margin-top: 19.2307692308vw;
  }
  .works-single__editor h2::before,
  .works-single__editor .works-editor-question::before {
    top: 0;
    width: 3.0769230769vw;
    height: 6.1538461538vw;
  }
  .works-single__editor p {
    margin-top: 2.0512820513vw;
    font-size: 4.1025641026vw;
    line-height: 6.1538461538vw;
    letter-spacing: 0.0625em;
  }
  .works-single__editor img,
  .works-single__editor .wp-caption,
  .works-single__editor figure {
    width: 100%;
    height: 56.1538461538vw;
    margin-top: 14.358974359vw;
    overflow: hidden;
  }
  .works-single__editor .wp-caption img,
  .works-single__editor figure img,
  .works-single__editor > img {
    width: 100%;
    height: 100%;
    margin: 0;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .works-single__editor .wp-caption-text,
  .works-single__editor figcaption {
    max-width: calc(100% - 5.1282051282vw);
    padding: 1.3602564103vw;
    font-size: 2.4487179487vw;
    line-height: 3.5897435897vw;
  }
  .works-single__website {
    width: -moz-fit-content;
    width: fit-content;
    min-height: 11.2820512821vw;
    padding: 1.2820512821vw 7.6923076923vw;
    margin: 8.2051282051vw auto 0;
    font-size: 3.0769230769vw;
    line-height: 4.358974359vw;
    text-align: left;
    border-radius: 6.8017948718vw;
  }
  .works-single__website img {
    width: 1.2820512821vw;
    height: 2.5641025641vw;
  }
  .works-single__post-nav {
    margin-top: 12.3076923077vw;
    font-size: 3.0769230769vw;
    line-height: 6.1538461538vw;
    letter-spacing: 0.1em;
    text-transform: none;
  }
  .works-single__tabs--mobile {
    position: static;
    display: flex;
    gap: 1.5384615385vw;
    width: 100%;
    margin: 6.1538461538vw 0 0;
  }
  .works-single__tabs--mobile .works-single__tab {
    flex: 1 1 0;
    width: auto;
    min-width: 0;
    height: 5.641025641vw;
    font-size: 2.8205128205vw;
    line-height: 3.0769230769vw;
    white-space: nowrap;
    border-color: #b4b4b5;
  }
  .works-single__contact {
    display: block;
    width: calc(100% - 15.3846153846vw);
    height: 20.5128205128vw;
    min-height: 20.5128205128vw;
    padding: 0;
    margin: 4.1025641026vw auto 0;
    border-radius: 0.8333333333vw;
  }
  .works-single__contact > p {
    padding-top: 3.5897435897vw;
    margin-left: 3.5897435897vw;
    font-size: 4.1025641026vw;
    line-height: 3.0769230769vw;
    letter-spacing: 0.05em;
    white-space: nowrap;
  }
  .works-single__contact > a {
    gap: 0.8333333333vw;
    width: calc(100% - 9.2307692308vw);
    height: 7.1794871795vw;
    margin: 2.8205128205vw auto 0;
    color: #7c7c7c;
    border-radius: 0.8333333333vw;
  }
  .works-single__contact > a span {
    font-size: 4.1025641026vw;
    line-height: 4.1025641026vw;
  }
  .works-single__contact > a img {
    width: 6.1538461538vw;
    height: 6.1538461538vw;
  }
  .works-single__recruit-links {
    margin-top: 4.1025641026vw;
  }
  .works-single + .site-footer {
    margin-top: 8.2051282051vw;
  }
}
/* section1
***************************************************************/
/* section2
***************************************************************/
/* section3
***************************************************************/
/* section4
***************************************************************/
/* ===================================================
リクサポ FV
=================================================== */
.service01-fv {
  position: relative;
  height: 1005px;
  padding: 0;
  overflow: hidden;
}

.service01-fv__visual {
  position: absolute;
  top: 60px;
  left: 50%;
  z-index: 0;
  width: calc(100% - 90px);
  max-width: 1349px;
  height: 730px;
  overflow: hidden;
  border-radius: 10px;
  transform: translateX(-50%);
}

.service01-fv__image {
  position: absolute;
  top: -6.36%;
  left: 0;
  display: block;
  width: 100%;
  height: 113.55%;
  -o-object-fit: cover;
     object-fit: cover;
}

.service01-fv__curve {
  position: absolute;
  top: 732px;
  left: 50%;
  z-index: 1;
  display: block;
  width: 1561px;
  height: 203px;
  transform: translateX(-50%);
}

.service01-fv__heading,
.service01-fv__logo,
.service01-fv__document {
  position: absolute;
  left: max(20px, (100vw - 1200px) / 2);
  z-index: 2;
}

.service01-fv__heading {
  top: 175px;
  width: 220px;
}

.service01-fv__en {
  color: #000;
  font-size: 42px;
  font-weight: 400;
  line-height: 49px;
  letter-spacing: 0.05em;
}

.service01-fv__title {
  margin-top: 10px;
  color: #7c7c7c;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 24px;
  font-weight: 300;
  line-height: 35px;
  letter-spacing: 0.05em;
}

.service01-fv__logo {
  top: 302px;
  display: block;
  width: 155px;
  height: 88px;
}

.service01-fv__document {
  top: 525px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 305px;
  height: 305px;
  padding-top: 14px;
  color: #7176fa;
  text-align: center;
  letter-spacing: 0.15em;
  background: #fff;
  border: 2px solid #ff617e;
  border-radius: 50%;
}

.service01-fv__document::before {
  position: absolute;
  inset: 9px;
  content: "";
  pointer-events: none;
  border: 1px solid #7176fa;
  border-radius: 50%;
}

.service01-fv__document-label,
.service01-fv__document strong {
  position: relative;
  z-index: 1;
  transform: translateY(-15px);
}

.service01-fv__document-label {
  font-size: 28px;
  font-weight: 500;
  line-height: 37px;
}

.service01-fv__document strong {
  margin-top: 14px;
  color: #ff617e;
  font-size: 42px;
  font-weight: 600;
  line-height: 45px;
  white-space: nowrap;
}

.service01-fv__copy {
  position: absolute;
  top: 834px;
  left: 50%;
  z-index: 3;
  display: flex;
  flex-direction: column;
  gap: 45px;
  width: 1200px;
  font-size: 72px;
  font-weight: 700;
  line-height: 58px;
  letter-spacing: 0.1em;
  text-align: center;
  transform: translateX(-50%);
}

.service01-fv__copy span {
  padding-bottom: 0.12em;
  margin-bottom: -0.12em;
  color: transparent;
  background: linear-gradient(0deg, #7176fa 28%, #e49cf4 74%);
  background-clip: text;
  -webkit-background-clip: text;
}

/* 採用課題
***************************************************************/
.service01-challenges {
  padding: 50px 0;
}

.service01-challenges__inner {
  width: 1200px;
  margin: 0 auto;
}

.service01-challenges__heading {
  width: 915px;
  margin: 0 auto;
  text-align: center;
}

.service01-challenges__lead {
  color: #5e5e5e;
  font-size: 24px;
  font-weight: 400;
  line-height: 32px;
  letter-spacing: 0.05em;
}

.service01-challenges__line {
  display: block;
  width: 525px;
  height: 20px;
  margin: 13px auto 0;
}

.service01-challenges__title {
  margin-top: 18px;
  color: #5e5e5e;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 32px;
  font-weight: 400;
  line-height: 32px;
  letter-spacing: 0.1em;
  white-space: nowrap;
}

.service01-challenges__title span,
.service01-challenges__item p {
  color: transparent;
  background: linear-gradient(23deg, #7176fa 0%, #bc9ce1 99.99%, #ffbeca 100%);
  background-clip: text;
  -webkit-background-clip: text;
}

.service01-challenges__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px 19px;
  margin-top: 50px;
}

.service01-challenges__item {
  display: grid;
  grid-template-columns: 80px minmax(0, 1fr);
  gap: 18px;
  align-items: center;
  height: 112px;
  padding: 0 16px 0 34px;
  background: #fff;
  border: 1px solid #7176fa;
  border-radius: 10px;
}

.service01-challenges__number {
  color: #7c7c7c;
  font-size: 50px;
  font-weight: 400;
  line-height: 38px;
  letter-spacing: 0.1em;
  text-align: left;
}

.service01-challenges__item p {
  font-size: 24px;
  font-weight: 500;
  line-height: 38px;
  letter-spacing: 0.05em;
  text-align: center;
  white-space: nowrap;
}

/* 高卒採用の仕組み
***************************************************************/
.service01-system {
  padding: 0 0 100px;
}

.service01-system__inner {
  width: 1200px;
  margin: 0 auto;
}

.service01-system__title {
  color: #5e5e5e;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 32px;
  font-weight: 400;
  line-height: 32px;
  letter-spacing: 0.1em;
}

.service01-system__panel {
  height: 586px;
  padding: 40px 41px 40px 44px;
  margin-top: 50px;
  border: 1px solid #7176fa;
  border-radius: 10px;
}

.service01-system__flow {
  display: flex;
  gap: 30px;
  align-items: center;
  justify-content: center;
  width: 1115px;
}

.service01-system__stage {
  display: flex;
  flex: 0 0 276px;
  flex-direction: column;
  align-items: center;
  width: 276px;
  text-align: center;
}

.service01-system__stage--hellowork {
  flex-basis: 296px;
  gap: 45px;
  width: 296px;
}

.service01-system__stage--school {
  gap: 33px;
}

.service01-system__stage--company {
  gap: 30px;
}

.service01-system__label {
  display: grid;
  flex: 0 0 50px;
  width: 276px;
  height: 50px;
  color: #fff;
  font-size: 24px;
  font-weight: 400;
  line-height: 32px;
  letter-spacing: 0.1em;
  border-radius: 20px;
  place-items: center;
}

.service01-system__stage--hellowork .service01-system__label {
  background: #7176fa;
}

.service01-system__stage--school .service01-system__label {
  background: #bc9ce1;
}

.service01-system__stage--company .service01-system__label {
  background: #ffbeca;
}

.service01-system__icon {
  display: block;
}

.service01-system__icon--hellowork {
  width: 95px;
  height: 80px;
}

.service01-system__icon--school {
  width: 135px;
  height: 83px;
}

.service01-system__icon--company {
  width: 77px;
  height: 92px;
}

.service01-system__stage-title {
  color: transparent;
  font-size: 24px;
  font-weight: 700;
  line-height: 32px;
  letter-spacing: 0.1em;
  background: linear-gradient(20deg, #7176fa 0%, #bc9ce1 99.99%, #ffbeca 100%);
  background-clip: text;
  -webkit-background-clip: text;
}

.service01-system__description {
  color: #5e5e5e;
  font-size: 18px;
  font-weight: 400;
  line-height: 27px;
  letter-spacing: 0.1em;
  white-space: nowrap;
}

.service01-system__arrow {
  display: block;
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
  transform: rotate(180deg);
}

.service01-system__summary {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 1115px;
  height: 72px;
  margin-top: 30px;
  color: #666767;
  font-size: 24px;
  font-weight: 700;
  line-height: 32px;
  letter-spacing: 0.1em;
  text-align: center;
  border: 1px solid #7176fa;
  border-radius: 80px;
}

.service01-system__summary > span {
  margin-left: 103px;
  white-space: nowrap;
}

.service01-system__summary img {
  position: absolute;
  top: 11px;
  left: 22px;
  display: block;
  width: 48px;
  height: 48px;
}

.service01-system__summary strong {
  color: transparent;
  font-weight: 700;
  background: linear-gradient(2deg, #7176fa 0%, #bc9ce1 99.99%, #ffbeca 100%);
  background-clip: text;
  -webkit-background-clip: text;
}

/* 高卒採用のメリット
***************************************************************/
.service01-benefits {
  padding: 0;
}

.service01-benefits__inner {
  width: 1200px;
  margin: 0 auto;
}

.service01-benefits__title {
  color: #5e5e5e;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 32px;
  font-weight: 400;
  line-height: 32px;
  letter-spacing: 0.1em;
}

.service01-benefits__panel {
  height: 677px;
  padding: 40px 40px 40px 44px;
  margin-top: 50px;
  border: 1px solid #7176fa;
  border-radius: 10px;
}

.service01-benefits__list {
  display: grid;
  grid-template-columns: repeat(4, 264px);
  gap: 20px;
  width: 1116px;
}

.service01-benefit-card {
  position: relative;
  width: 264px;
  height: 495px;
  border: 1px solid #7176fa;
}

.service01-benefit-card__visual {
  position: absolute;
  display: block;
}

.service01-benefit-card__visual--students {
  top: 25px;
  left: 45px;
  width: 175px;
  height: 105px;
  overflow: hidden;
}

.service01-benefit-card__student {
  position: absolute;
  display: block;
}

.service01-benefit-card__student--male {
  inset: 0 0 0 auto;
  width: 99px;
  height: 105px;
}

.service01-benefit-card__student--female {
  bottom: 0;
  left: 0;
  width: 85px;
  height: 99px;
}

.service01-benefit-card__visual--connection {
  inset: 24px auto auto 74px;
  width: 116px;
  height: 112px;
}

.service01-benefit-card__school,
.service01-benefit-card__handshake,
.service01-benefit-card__record,
.service01-benefit-card__resume {
  position: absolute;
  display: block;
}

.service01-benefit-card__school {
  top: 0;
  left: 1px;
  width: 115px;
  height: 71px;
}

.service01-benefit-card__handshake {
  top: 67px;
  left: 0;
  width: 115px;
  height: 45px;
}

.service01-benefit-card__visual--cost {
  top: 36px;
  left: 43px;
  width: 167px;
  height: 102px;
}

.service01-benefit-card__visual--documents {
  top: 39px;
  left: 60px;
  width: 168px;
  height: 79px;
}

.service01-benefit-card__record {
  inset: 0 auto 0 0;
  width: 69px;
  height: 79px;
}

.service01-benefit-card__resume {
  inset: 0 0 0 auto;
  width: 82px;
  height: 79px;
}

.service01-benefit-card__number {
  position: absolute;
  top: 151px;
  left: 0;
  width: 100%;
  color: transparent;
  font-size: 36px;
  font-weight: 400;
  line-height: 32px;
  letter-spacing: 0.1em;
  text-align: center;
  background: linear-gradient(38deg, #7176fa 0%, #bc9ce1 99.99%, #ffbeca 100%);
  background-clip: text;
  -webkit-background-clip: text;
}

.service01-benefit-card__title {
  position: absolute;
  top: 204px;
  left: 0;
  width: 100%;
  color: transparent;
  font-size: 24px;
  font-weight: 500;
  line-height: 32px;
  letter-spacing: 0.1em;
  text-align: center;
  background: linear-gradient(24deg, #7176fa 0%, #bc9ce1 99.99%, #ffbeca 100%);
  background-clip: text;
  -webkit-background-clip: text;
}

.service01-benefit-card__text {
  position: absolute;
  top: 286px;
  left: 24px;
  width: 216px;
  color: #5e5e5e;
  font-size: 18px;
  font-weight: 400;
  line-height: 27px;
  letter-spacing: 0.02em;
  text-align: justify;
}

.service01-benefit-card:nth-child(4) .service01-benefit-card__text {
  top: 286px;
  letter-spacing: 0;
}

.service01-benefits__summary {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 1115px;
  height: 72px;
  margin-top: 30px;
  color: #666767;
  font-size: 24px;
  font-weight: 700;
  line-height: 32px;
  letter-spacing: 0.1em;
  text-align: center;
  border: 1px solid #7176fa;
  border-radius: 80px;
}

.service01-benefits__summary > span {
  margin-left: 156px;
  white-space: nowrap;
}

.service01-benefits__summary img {
  position: absolute;
  top: 11px;
  left: 22px;
  display: block;
  width: 48px;
  height: 48px;
}

.service01-benefits__summary strong {
  color: transparent;
  font-weight: 700;
  background: linear-gradient(2deg, #7176fa 0%, #bc9ce1 99.99%, #ffbeca 100%);
  background-clip: text;
  -webkit-background-clip: text;
}

/* サービス一覧
***************************************************************/
.service01-services {
  padding: 100px 0 50px;
}

.service01-services__inner {
  width: 1200px;
  margin: 0 auto;
}

.service01-services__heading {
  display: grid;
  grid-template-columns: 200px minmax(0, 1fr);
  gap: 68px;
  align-items: start;
}

.service01-services__title {
  margin-top: 12px;
  color: #5e5e5e;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 32px;
  font-weight: 400;
  line-height: 32px;
  letter-spacing: 0.1em;
  white-space: nowrap;
}

.service01-services__lead {
  width: 932px;
  color: #5e5e5e;
  font-size: 18px;
  font-weight: 400;
  line-height: 27px;
  letter-spacing: 0.02em;
  text-align: justify;
}

.service01-services__list {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 20px;
  margin-top: 50px;
}

.service01-service-card {
  position: relative;
  grid-column: span 2;
  height: 330px;
  overflow: hidden;
  border: 1px solid #7176fa;
  border-radius: 10px;
}

.service01-service-card--wide {
  grid-column: span 3;
  height: 201px;
}

.service01-service-card__visual {
  position: absolute;
  display: block;
}

.service01-service-card__visual--resume {
  top: 42px;
  left: 72px;
  width: 122px;
  height: 117px;
}

.service01-service-card__visual--approach {
  inset: 0;
}

.service01-service-card__school,
.service01-service-card__mail,
.service01-service-card__record,
.service01-service-card__adviser,
.service01-service-card__chart,
.service01-service-card__magnifier {
  position: absolute;
  display: block;
}

.service01-service-card__school {
  top: 33px;
  left: 46px;
  width: 115px;
  height: 71px;
}

.service01-service-card__mail {
  top: 82px;
  left: 87px;
  width: 127px;
  height: 99px;
}

.service01-service-card__content {
  position: absolute;
  top: 37px;
  left: 235px;
  width: 329px;
}

.service01-service-card--wide:nth-child(2) .service01-service-card__content {
  left: 234px;
}

.service01-service-card__title {
  position: absolute;
  top: 152px;
  left: 0;
  width: 100%;
  color: transparent;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 24px;
  font-weight: 500;
  line-height: 32px;
  letter-spacing: 0.1em;
  text-align: center;
  background: linear-gradient(17deg, #7176fa 0%, #bc9ce1 99.99%, #ffbeca 100%);
  background-clip: text;
  -webkit-background-clip: text;
}

.service01-service-card__content .service01-service-card__title {
  position: static;
  width: auto;
  text-align: left;
  white-space: nowrap;
}

.service01-service-card__text {
  position: absolute;
  top: 231px;
  left: 29px;
  width: 329px;
  color: #5e5e5e;
  font-size: 18px;
  font-weight: 400;
  line-height: 27px;
  letter-spacing: 0.02em;
  text-align: justify;
}

.service01-service-card__content .service01-service-card__text {
  position: static;
  margin-top: 15px;
}

.service01-service-card:nth-child(4) .service01-service-card__text {
  left: 27px;
}

.service01-service-card:nth-child(5) .service01-service-card__text {
  left: 32px;
}

.service01-service-card__visual--visit {
  inset: 0;
}

.service01-service-card__record {
  top: 45px;
  left: 98px;
  width: 69px;
  height: 79px;
}

.service01-service-card__adviser {
  top: 31px;
  left: 175px;
  width: 96px;
  height: 110px;
}

.service01-service-card__visual--document {
  top: 36px;
  left: 152px;
  width: 81px;
  height: 91px;
}

.service01-service-card__visual--trend {
  inset: 0;
}

.service01-service-card__chart {
  top: 34px;
  left: 123px;
  width: 91px;
  height: 76px;
}

.service01-service-card__magnifier {
  top: 45px;
  left: 199px;
  width: 84px;
  height: 90px;
}

/* 関連サービス・資料請求 CTA
***************************************************************/
.service01-cta {
  padding: 0 0 100px;
}

.service01-cta__inner {
  display: flex;
  flex-direction: column;
  gap: 30px;
  width: 1200px;
  margin: 0 auto;
}

.service01-cta__item {
  position: relative;
  display: block;
  width: 100%;
  overflow: hidden;
  border-radius: 10px;
}

.service01-cta__item--youth {
  height: 196px;
}

.service01-cta__item--youth::before {
  position: absolute;
  inset: 38px 0 0;
  content: "";
  background: #fff0d4;
  border: 1px solid #0ae0c8;
  border-radius: 10px;
}

.service01-cta__youth-logo,
.service01-cta__youth-people,
.service01-cta__arrow {
  position: absolute;
  z-index: 1;
  display: block;
}

.service01-cta__youth-logo {
  top: 83px;
  left: 46px;
  width: 259px;
  height: 81px;
}

.service01-cta__youth-copy {
  position: absolute;
  top: 73px;
  left: 341px;
  z-index: 1;
  color: #7c7c7c;
  font-size: 32px;
  font-weight: 600;
  line-height: 48px;
  letter-spacing: 0.05em;
  white-space: nowrap;
}

.service01-cta__youth-people {
  top: 0;
  left: 787px;
  width: 299px;
  height: 176px;
}

.service01-cta__item--youth .service01-cta__arrow {
  top: 81px;
  right: 34px;
  width: 72px;
  height: 72px;
}

.service01-cta__item--document {
  display: flex;
  gap: 90px;
  align-items: center;
  height: 158px;
  padding: 0 34px 0 239px;
  color: #fff;
  background: linear-gradient(8.46deg, #7176fa 0%, #bc9ce1 99.99%, #ffbeca 100%);
  border: 1px solid #7176fa;
}

.service01-cta__item--document > span {
  font-size: 40px;
  font-weight: 600;
  line-height: 48px;
  letter-spacing: 0.05em;
  white-space: nowrap;
}

.service01-cta__item--document .service01-cta__arrow {
  position: static;
  flex: 0 0 72px;
  width: 72px;
  height: 72px;
  transform: rotate(90deg);
}

.service01-cta__divider {
  margin: 0 0.25em;
  font-weight: 400;
}

@media (hover: hover) and (pointer: fine) {
  .service01-cta__item {
    transition: filter 0.25s ease;
  }
  .service01-cta__item:hover {
    filter: brightness(0.97);
  }
}
.service01-page {
  padding-top: 0;
}

@media screen and (max-width: 1240px) {
  .service01-fv__visual {
    width: calc(100% - 40px);
  }
  .service01-fv__copy {
    width: calc(100% - 40px);
    font-size: clamp(52px, 5.8vw, 72px);
  }
  .service01-challenges__inner {
    width: calc(100% - 40px);
  }
  .service01-challenges__item {
    grid-template-columns: 76px minmax(0, 1fr);
    gap: 10px;
    padding-right: 16px;
    padding-left: 24px;
  }
  .service01-challenges__item p {
    font-size: clamp(18px, 1.935vw, 24px);
  }
  .service01-system__inner {
    width: calc(100% - 40px);
  }
  .service01-system__panel {
    padding-right: 30px;
    padding-left: 30px;
  }
  .service01-system__flow,
  .service01-system__summary {
    width: 100%;
  }
  .service01-benefits__inner {
    width: calc(100% - 40px);
  }
  .service01-benefits__panel {
    height: auto;
    padding: 40px 30px;
  }
  .service01-benefits__list {
    grid-template-columns: repeat(2, 264px);
    justify-content: center;
    width: 100%;
  }
  .service01-benefits__summary {
    width: 100%;
    height: auto;
    min-height: 72px;
    padding: 16px 30px 16px 82px;
  }
  .service01-benefits__summary > span {
    margin-left: 0;
    white-space: normal;
  }
  .service01-services__inner {
    width: calc(100% - 40px);
  }
  .service01-services__lead {
    width: auto;
  }
  .service01-cta__inner {
    width: calc(100% - 40px);
  }
  .service01-cta__youth-logo {
    left: 3.83%;
    width: 21.58%;
    height: auto;
  }
  .service01-cta__youth-copy {
    left: 28.39%;
    font-size: clamp(24px, 2.667vw, 32px);
  }
  .service01-cta__youth-people {
    left: 65.53%;
    width: 24.9%;
    height: auto;
  }
  .service01-cta__item--youth .service01-cta__arrow {
    right: 2.83%;
  }
  .service01-cta__item--document {
    justify-content: space-between;
    gap: 30px;
    padding-left: clamp(40px, 19.9vw, 239px);
  }
  .service01-cta__item--document > span {
    font-size: clamp(28px, 3.333vw, 40px);
  }
}
@media screen and (max-width: 1100px) {
  .service01-challenges__heading {
    width: 100%;
  }
  .service01-challenges__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .service01-system__panel {
    height: auto;
  }
  .service01-system__flow {
    flex-direction: column;
    gap: 32px;
  }
  .service01-system__stage,
  .service01-system__stage--hellowork {
    flex-basis: auto;
    width: min(400px, 100%);
  }
  .service01-system__arrow {
    transform: rotate(-90deg);
  }
  .service01-system__summary {
    height: auto;
    min-height: 72px;
    padding: 16px 30px 16px 82px;
  }
  .service01-system__summary > span {
    margin-left: 0;
    white-space: normal;
  }
  .service01-services__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .service01-service-card,
  .service01-service-card--wide {
    grid-column: span 1;
  }
  .service01-service-card--wide {
    height: 330px;
  }
  .service01-service-card--wide .service01-service-card__visual--resume {
    top: 38px;
    left: 50%;
    transform: translateX(-50%);
  }
  .service01-service-card--wide .service01-service-card__visual--approach {
    left: 50%;
    width: 220px;
    transform: translateX(-50%);
  }
  .service01-service-card--wide .service01-service-card__content,
  .service01-service-card--wide:nth-child(2) .service01-service-card__content {
    top: 175px;
    left: 30px;
    width: calc(100% - 60px);
  }
  .service01-service-card__content .service01-service-card__title {
    text-align: center;
  }
}
@media screen and (max-width: 760px) {
  .service01-fv {
    height: 202.5641025641vw;
  }
  .service01-fv__visual {
    top: 20.5128205128vw;
    width: calc(100% - 5.1282051282vw);
    height: 133.3333333333vw;
    border-radius: 2.0512820513vw;
  }
  .service01-fv__image {
    top: 0;
    height: 100%;
    -o-object-position: 64% center;
       object-position: 64% center;
  }
  .service01-fv__curve {
    top: 140.5128205128vw;
    width: 166.6666666667vw;
    height: 21.5384615385vw;
  }
  .service01-fv__heading,
  .service01-fv__logo,
  .service01-fv__document {
    left: 7.6923076923vw;
  }
  .service01-fv__heading {
    top: 28.2051282051vw;
    width: 46.1538461538vw;
  }
  .service01-fv__en {
    font-size: 7.6923076923vw;
    line-height: 9.2307692308vw;
  }
  .service01-fv__title {
    margin-top: 1.2820512821vw;
    font-size: 4.1025641026vw;
    line-height: 6.4102564103vw;
  }
  .service01-fv__logo {
    top: 50vw;
    width: 28.2051282051vw;
    height: 15.8974358974vw;
  }
  .service01-fv__document {
    top: 92.3076923077vw;
    width: 43.5897435897vw;
    height: 43.5897435897vw;
    padding-top: 1.5384615385vw;
    letter-spacing: 0.1em;
  }
  .service01-fv__document::before {
    inset: 1.2820512821vw;
  }
  .service01-fv__document-label {
    font-size: 4.1025641026vw;
    line-height: 5.8974358974vw;
    transform: none;
  }
  .service01-fv__document strong {
    margin-top: 1.2820512821vw;
    font-size: 6.1538461538vw;
    line-height: 7.6923076923vw;
    transform: none;
  }
  .service01-fv__copy {
    top: 161.0256410256vw;
    gap: 3.0769230769vw;
    width: calc(100% - 7.6923076923vw);
    font-size: clamp(7.1794871795vw, 8.2vw, 8.7179487179vw);
    line-height: 1.35;
    letter-spacing: 0.05em;
  }
  .service01-challenges {
    padding: 8.2051282051vw 0;
  }
  .service01-challenges__lead {
    font-size: 3.8461538462vw;
    line-height: 6.6666666667vw;
    letter-spacing: 0.02em;
  }
  .service01-challenges__line {
    width: min(76.9230769231vw, 100%);
    height: 3.0769230769vw;
    margin-top: 2.3076923077vw;
  }
  .service01-challenges__title {
    margin-top: 3.5897435897vw;
    font-size: clamp(5.1282051282vw, 5.9vw, 5.8974358974vw);
    line-height: 1.5;
    letter-spacing: 0.05em;
    white-space: normal;
  }
  .service01-challenges__list {
    grid-template-columns: 1fr;
    gap: 3.0769230769vw;
    margin-top: 8.2051282051vw;
  }
  .service01-challenges__item {
    grid-template-columns: 16.4102564103vw minmax(0, 1fr);
    gap: 2.0512820513vw;
    height: 23.5897435897vw;
    padding: 0 5.1282051282vw;
  }
  .service01-challenges__number {
    font-size: 9.7435897436vw;
    line-height: 9.7435897436vw;
  }
  .service01-challenges__item p {
    font-size: 4.6153846154vw;
    line-height: 7.1794871795vw;
  }
  .service01-system {
    padding: 8.2051282051vw 0;
  }
  .service01-system__title {
    font-size: 6.1538461538vw;
    line-height: 8.2051282051vw;
    letter-spacing: 0.05em;
  }
  .service01-system__panel {
    padding: 7.1794871795vw 4.1025641026vw;
    margin-top: 8.2051282051vw;
  }
  .service01-system__flow {
    gap: 7.1794871795vw;
  }
  .service01-system__stage,
  .service01-system__stage--hellowork,
  .service01-system__stage--school,
  .service01-system__stage--company {
    gap: 6.1538461538vw;
  }
  .service01-system__label {
    width: min(70.7692307692vw, 100%);
    height: 11.7948717949vw;
    font-size: 5.1282051282vw;
  }
  .service01-system__stage-title {
    font-size: 5.3846153846vw;
    line-height: 7.6923076923vw;
  }
  .service01-system__description {
    font-size: 4.1025641026vw;
    line-height: 6.6666666667vw;
    letter-spacing: 0.05em;
    white-space: normal;
  }
  .service01-system__summary {
    padding: 4.6153846154vw 4.6153846154vw 4.6153846154vw 16.4102564103vw;
    margin-top: 8.2051282051vw;
    font-size: 4.358974359vw;
    line-height: 7.1794871795vw;
    letter-spacing: 0.05em;
    text-align: left;
    border-radius: 5.1282051282vw;
  }
  .service01-system__summary img {
    top: 50%;
    left: 3.0769230769vw;
    width: 10.2564102564vw;
    height: 10.2564102564vw;
    transform: translateY(-50%);
  }
  .service01-benefits {
    padding: 8.2051282051vw 0;
  }
  .service01-benefits__title {
    font-size: 6.1538461538vw;
    line-height: 8.2051282051vw;
    letter-spacing: 0.05em;
  }
  .service01-benefits__panel {
    padding: 7.1794871795vw 4.1025641026vw;
    margin-top: 8.2051282051vw;
  }
  .service01-benefits__list {
    grid-template-columns: 67.6923076923vw;
  }
  .service01-benefits__summary {
    padding: 4.6153846154vw 4.6153846154vw 4.6153846154vw 16.4102564103vw;
    margin-top: 8.2051282051vw;
    font-size: 4.358974359vw;
    line-height: 7.1794871795vw;
    letter-spacing: 0.05em;
    text-align: left;
    border-radius: 5.1282051282vw;
  }
  .service01-benefits__summary img {
    top: 50%;
    left: 3.0769230769vw;
    width: 10.2564102564vw;
    height: 10.2564102564vw;
    transform: translateY(-50%);
  }
  .service01-services {
    padding: 8.2051282051vw 0;
  }
  .service01-services__heading {
    grid-template-columns: 1fr;
    gap: 4.6153846154vw;
  }
  .service01-services__title {
    margin-top: 0;
    font-size: 6.1538461538vw;
    line-height: 8.2051282051vw;
    letter-spacing: 0.05em;
  }
  .service01-services__lead {
    font-size: 4.1025641026vw;
    line-height: 6.6666666667vw;
    text-align: left;
  }
  .service01-services__list {
    grid-template-columns: 1fr;
    gap: 4.1025641026vw;
    margin-top: 8.2051282051vw;
  }
  .service01-service-card,
  .service01-service-card--wide {
    width: 100%;
    height: 89.7435897436vw;
  }
  .service01-service-card__title {
    font-size: 5.3846153846vw;
    line-height: 7.6923076923vw;
    letter-spacing: 0.06em;
  }
  .service01-service-card__text,
  .service01-service-card:nth-child(4) .service01-service-card__text,
  .service01-service-card:nth-child(5) .service01-service-card__text {
    left: 5.1282051282vw;
    width: calc(100% - 10.2564102564vw);
    font-size: 4.1025641026vw;
    line-height: 6.6666666667vw;
    text-align: left;
  }
  .service01-service-card--wide .service01-service-card__content,
  .service01-service-card--wide:nth-child(2) .service01-service-card__content {
    left: 5.1282051282vw;
    width: calc(100% - 10.2564102564vw);
  }
  .service01-service-card__content .service01-service-card__text {
    width: 100%;
  }
  .service01-service-card__visual--visit,
  .service01-service-card__visual--trend {
    left: 50%;
    width: 82.0512820513vw;
    transform: translateX(-50%);
  }
  .service01-service-card__visual--document {
    left: 50%;
    transform: translateX(-50%);
  }
  .service01-cta {
    padding-bottom: 8.2051282051vw;
  }
  .service01-cta__inner {
    gap: 4.6153846154vw;
  }
  .service01-cta__item--youth {
    height: 64.1025641026vw;
  }
  .service01-cta__item--youth::before {
    inset: 7.6923076923vw 0 0;
  }
  .service01-cta__youth-logo {
    top: 14.1025641026vw;
    left: 5.1282051282vw;
    width: 39.7435897436vw;
    height: auto;
  }
  .service01-cta__youth-people {
    top: 0;
    right: 2.5641025641vw;
    left: auto;
    width: 43.5897435897vw;
    height: auto;
  }
  .service01-cta__youth-copy {
    top: 33.8461538462vw;
    left: 5.1282051282vw;
    width: calc(100% - 20.5128205128vw);
    font-size: 4.6153846154vw;
    line-height: 7.4358974359vw;
    white-space: normal;
  }
  .service01-cta__item--youth .service01-cta__arrow {
    top: auto;
    right: 4.1025641026vw;
    bottom: 4.6153846154vw;
    width: 12.3076923077vw;
    height: 12.3076923077vw;
  }
  .service01-cta__item--document {
    gap: 3.0769230769vw;
    height: 30.7692307692vw;
    padding: 5.1282051282vw 4.1025641026vw 5.1282051282vw 5.1282051282vw;
  }
  .service01-cta__item--document > span {
    font-size: 5.1282051282vw;
    line-height: 8.2051282051vw;
    white-space: normal;
  }
  .service01-cta__divider {
    display: none;
  }
  .service01-cta__item--document .service01-cta__arrow {
    flex-basis: 12.3076923077vw;
    width: 12.3076923077vw;
    height: 12.3076923077vw;
  }
}
/* リクサポ SP layout (Figma: 718:2581)
***************************************************************/
@media screen and (max-width: 760px) {
  .service01-fv {
    height: 96.4102564103vw;
    overflow: hidden;
  }
  .service01-fv__visual {
    top: 0;
    left: 0;
    width: 100%;
    height: 87.1794871795vw;
    border-radius: 0;
    transform: none;
  }
  .service01-fv__image {
    top: 14.02%;
    left: -5.37%;
    width: 110.93%;
    max-width: none;
    height: 78.09%;
    -o-object-fit: fill;
       object-fit: fill;
  }
  .service01-fv__curve {
    top: 73.0769230769vw;
    width: 128.2051282051vw;
    height: 32.8205128205vw;
  }
  .service01-fv__heading,
  .service01-fv__logo,
  .service01-fv__document {
    left: 7.6923076923vw;
  }
  .service01-fv__heading {
    top: 16.9230769231vw;
    width: 26.6666666667vw;
  }
  .service01-fv__en {
    font-size: 6.1538461538vw;
    line-height: 7.1794871795vw;
    letter-spacing: 0.05em;
  }
  .service01-fv__title {
    margin-top: 0.7412820513vw;
    font-size: 3.5897435897vw;
    line-height: 5.1282051282vw;
    letter-spacing: 0.05em;
  }
  .service01-fv__logo {
    top: 32.0512820513vw;
    width: 32.5641025641vw;
    height: 18.4615384615vw;
  }
  .service01-fv__document {
    top: 52.5641025641vw;
    width: 26.9230769231vw;
    height: 26.9230769231vw;
    padding: 0;
    border-width: 0.1297435897vw;
  }
  .service01-fv__document::before {
    top: 0.8641025641vw;
    right: auto;
    bottom: auto;
    left: 0.8641025641vw;
    width: 24.9038461538vw;
    height: 24.9038461538vw;
    border-width: 0.2243589744vw;
  }
  .service01-fv__document-label {
    position: absolute;
    top: 5.7692307692vw;
    left: 1.1538461538vw;
    width: 24.358974359vw;
    font-size: 3.0769230769vw;
    line-height: 4.1025641026vw;
    letter-spacing: 0.03em;
  }
  .service01-fv__document strong {
    position: absolute;
    top: 15vw;
    left: 2.6923076923vw;
    width: 21.2820512821vw;
    margin: 0;
    font-size: 3.8461538462vw;
    line-height: 3.8461538462vw;
    letter-spacing: 0.05em;
  }
  .service01-fv__copy {
    top: 82.0512820513vw;
    gap: 2.0512820513vw;
    width: 75.641025641vw;
    font-size: 6.1538461538vw;
    line-height: 6.1538461538vw;
    letter-spacing: 0.1em;
  }
  .service01-challenges {
    padding: 8.2051282051vw 0;
  }
  .service01-challenges__inner,
  .service01-system__inner,
  .service01-benefits__inner,
  .service01-services__inner,
  .service01-cta__inner {
    width: calc(100% - 15.3846153846vw);
  }
  .service01-challenges__heading {
    position: relative;
    width: 100%;
    height: 19.1617948718vw;
  }
  .service01-challenges__lead {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 6.8679487179vw;
    font-size: 3.5897435897vw;
    line-height: 5.1397435897vw;
    letter-spacing: 0.05em;
  }
  .service01-challenges__line {
    position: absolute;
    top: 6.4443589744vw;
    left: 4.6153846154vw;
    width: 75.3841025641vw;
    height: 2.7282051282vw;
    margin: 0;
  }
  .service01-challenges__title {
    position: absolute;
    top: 13.2751282051vw;
    left: -0.5128205128vw;
    width: 85.641025641vw;
    height: 5.8866666667vw;
    margin: 0;
    font-size: 4.6153846154vw;
    line-height: 4.5633333333vw;
    letter-spacing: 0.1em;
    white-space: nowrap;
  }
  .service01-challenges__list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 4.1025641026vw;
    height: 151.2820512821vw;
    margin-top: 8.2051282051vw;
  }
  .service01-challenges__item {
    grid-template-columns: 20.5128205128vw minmax(0, 1fr);
    gap: 2.0512820513vw;
    width: 100%;
    height: 21.7948717949vw;
    padding: 0 5.641025641vw 0 7.9487179487vw;
    border-radius: 2.0512820513vw;
  }
  .service01-challenges__number {
    font-size: 8.2051282051vw;
    line-height: 8.3084615385vw;
    letter-spacing: 0.1em;
    text-align: center;
  }
  .service01-challenges__item p {
    font-size: 4.6153846154vw;
    line-height: 6.9230769231vw;
    letter-spacing: 0.05em;
  }
  .service01-system,
  .service01-benefits,
  .service01-services {
    padding: 8.2051282051vw 0;
  }
  .service01-system__title,
  .service01-benefits__title,
  .service01-services__title {
    width: 100%;
    height: 8.2051282051vw;
    margin: 0;
    font-size: 6.1538461538vw;
    line-height: 8.2051282051vw;
    letter-spacing: 0.1em;
  }
  .service01-system__panel {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    height: 396.6666666667vw;
    padding: 10.2564102564vw 0;
    margin-top: 6.1538461538vw;
    border-radius: 2.5641025641vw;
  }
  .service01-system__flow {
    display: flex;
    flex-direction: column;
    gap: 6.1538461538vw;
    width: 70.5128205128vw;
    height: 311.6282051282vw;
  }
  .service01-system__stage,
  .service01-system__stage--hellowork,
  .service01-system__stage--school,
  .service01-system__stage--company {
    flex: 0 0 auto;
    gap: 6.1538461538vw;
    width: 70.5128205128vw;
  }
  .service01-system__stage--hellowork {
    width: 75.8974358974vw;
    height: 80.6025641026vw;
    margin-left: -2.6923076923vw;
  }
  .service01-system__stage--school {
    height: 89.7435897436vw;
  }
  .service01-system__stage--company {
    height: 92.0512820513vw;
  }
  .service01-system__label {
    flex-basis: 8.9743589744vw;
    width: 70.5128205128vw;
    height: 8.9743589744vw;
    font-size: 5.1282051282vw;
    line-height: 8.2051282051vw;
    letter-spacing: 0.1em;
    border-radius: 7.6923076923vw;
  }
  .service01-system__icon--hellowork {
    width: 24.3230769231vw;
    height: 20.3461538462vw;
  }
  .service01-system__icon--school {
    width: 34.4176923077vw;
    height: 21.2820512821vw;
  }
  .service01-system__icon--company {
    width: 19.7435897436vw;
    height: 23.5897435897vw;
  }
  .service01-system__stage-title {
    font-size: 5.1282051282vw;
    line-height: 8.2051282051vw;
    letter-spacing: 0.1em;
  }
  .service01-system__description {
    font-size: 4.1025641026vw;
    line-height: 6.1538461538vw;
    letter-spacing: 0.1em;
    white-space: nowrap;
  }
  .service01-system__arrow {
    flex-basis: 12.3076923077vw;
    width: 12.3076923077vw;
    height: 12.3076923077vw;
    transform: rotate(-90deg);
  }
  .service01-system__summary,
  .service01-benefits__summary {
    display: block;
    width: 70vw;
    height: 58.4615384615vw;
    min-height: 58.4615384615vw;
    padding: 0;
    margin-top: 6.1538461538vw;
    font-size: 5.1282051282vw;
    font-weight: 700;
    line-height: 8.2051282051vw;
    letter-spacing: 0.1em;
    text-align: center;
    border-radius: 2.5641025641vw;
  }
  .service01-system__summary > span,
  .service01-benefits__summary > span {
    position: absolute;
    top: 20vw;
    left: 4.1025641026vw;
    width: 61.5384615385vw;
    margin: 0;
    white-space: normal;
  }
  .service01-system__summary img,
  .service01-benefits__summary img {
    top: 3.5897435897vw;
    left: 28.7179487179vw;
    width: 12.3076923077vw;
    height: 12.3076923077vw;
    transform: none;
  }
  .service01-benefits__panel {
    display: flex;
    flex-direction: column;
    gap: 7.6923076923vw;
    align-items: center;
    width: 100%;
    height: auto;
    padding: 10.2564102564vw 0;
    margin-top: 6.1538461538vw;
    border-radius: 2.5641025641vw;
  }
  .service01-benefits__list {
    display: flex;
    flex-direction: column;
    gap: 5.1282051282vw;
    width: 67.6923076923vw;
    height: auto;
  }
  .service01-benefit-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4.1025641026vw;
    height: auto;
    padding: 6.4102564103vw 6.1538461538vw;
    flex: 0 0 auto;
    width: 67.6923076923vw;
  }
  .service01-benefit-card__visual--students {
    top: 6.4102564103vw;
    left: 11.4102564103vw;
    width: 44.8717948718vw;
    height: 26.9230769231vw;
  }
  .service01-benefit-card__visual--connection {
    top: 6.4102564103vw;
    left: 18.9743589744vw;
    width: 29.7435897436vw;
    height: 28.7179487179vw;
  }
  .service01-benefit-card__visual--cost {
    top: 6.4102564103vw;
    left: 11.0256410256vw;
    width: 42.8205128205vw;
    height: 26.0848717949vw;
  }
  .service01-benefit-card__visual--documents {
    top: 6.4102564103vw;
    left: 15.3846153846vw;
    width: 43.0769230769vw;
    height: 20.2564102564vw;
  }
  .service01-benefit-card__number {
    top: 37.9487179487vw;
    font-size: 6.1538461538vw;
    line-height: 8.2051282051vw;
    letter-spacing: 0.1em;
  }
  .service01-benefit-card:nth-child(2) .service01-benefit-card__number {
    top: 39.2307692308vw;
  }
  .service01-benefit-card:nth-child(3) .service01-benefit-card__number {
    top: 36.5976923077vw;
  }
  .service01-benefit-card:nth-child(4) .service01-benefit-card__number {
    top: 30.7692307692vw;
  }
  .service01-benefit-card__title {
    top: 50.7692307692vw;
    font-size: 4.6153846154vw;
    line-height: 8.2051282051vw;
    letter-spacing: 0.1em;
  }
  .service01-benefit-card:nth-child(2) .service01-benefit-card__title {
    top: 51.5384615385vw;
  }
  .service01-benefit-card:nth-child(3) .service01-benefit-card__title {
    top: 48.9053846154vw;
  }
  .service01-benefit-card:nth-child(4) .service01-benefit-card__title {
    top: 43.0769230769vw;
  }
  .service01-benefit-card__title br {
    display: none;
  }
  .service01-benefit-card__text,
  .service01-benefit-card:nth-child(4) .service01-benefit-card__text {
    top: 63.5897435897vw;
    left: 6.1538461538vw;
    width: 55.3846153846vw;
    font-size: 4.1025641026vw;
    line-height: 6.1538461538vw;
    letter-spacing: 0;
  }
  .service01-benefit-card:nth-child(2) .service01-benefit-card__text {
    top: 63.8461538462vw;
  }
  .service01-benefit-card:nth-child(3) .service01-benefit-card__text {
    top: 61.2130769231vw;
  }
  .service01-benefit-card:nth-child(4) .service01-benefit-card__text {
    top: 55.3846153846vw;
  }
  .service01-benefit-card__visual {
    position: relative;
    inset: auto;
    flex: 0 0 auto;
    transform: none;
  }
  .service01-benefit-card__student--male {
    width: 25.3846153846vw;
    height: 26.9230769231vw;
  }
  .service01-benefit-card__student--female {
    width: 21.7948717949vw;
    height: 25.3846153846vw;
  }
  .service01-benefit-card__school {
    left: 0.2564102564vw;
    width: 29.4871794872vw;
    height: 18.2051282051vw;
  }
  .service01-benefit-card__handshake {
    top: 17.1794871795vw;
    width: 29.4871794872vw;
    height: 11.5384615385vw;
  }
  .service01-benefit-card__record {
    width: 17.6923076923vw;
    height: 20.2564102564vw;
  }
  .service01-benefit-card__resume {
    width: 21.0256410256vw;
    height: 20.2564102564vw;
  }
  .service01-benefit-card__number,
  .service01-benefit-card__title,
  .service01-benefit-card__text,
  .service01-benefit-card:nth-child(4) .service01-benefit-card__text {
    position: static;
    flex: 0 0 auto;
    width: 100%;
    height: auto;
  }
  .service01-benefits__summary {
    margin-top: 0;
  }
  .service01-benefits__summary > span {
    left: 7.1794871795vw;
    width: 55.641025641vw;
  }
  .service01-services__heading {
    display: block;
    width: 100%;
    height: auto;
  }
  .service01-services__title {
    padding: 0;
  }
  .service01-services__lead {
    width: 100%;
    height: auto;
    margin-top: 3.5897435897vw;
    font-size: 4.1025641026vw;
    line-height: 6.1538461538vw;
    letter-spacing: 0;
  }
  .service01-services__list {
    display: flex;
    flex-direction: column;
    gap: 5.1282051282vw;
    width: 100%;
    height: auto;
    margin-top: 6.1538461538vw;
  }
  .service01-service-card,
  .service01-service-card--wide {
    display: flex;
    flex: 0 0 auto;
    flex-direction: column;
    align-items: center;
    gap: 4.1025641026vw;
    width: 100%;
    height: auto;
    min-height: 0;
    padding: 6.4102564103vw 6.1538461538vw;
    border-radius: 2.0512820513vw;
  }
  .service01-service-card .service01-service-card__content {
    position: static;
    width: 100%;
    padding: 0;
    transform: none;
  }
  .service01-service-card .service01-service-card__title {
    position: static;
    width: 100%;
    height: auto;
    font-size: 5.1282051282vw;
    line-height: 1.4;
    letter-spacing: 0.05em;
    text-align: center;
  }
  .service01-service-card .service01-service-card__text {
    position: static;
    width: 100%;
    height: auto;
    margin: 0;
    font-size: 4.1025641026vw;
    line-height: 6.1538461538vw;
    letter-spacing: 0;
    text-align: left;
  }
  .service01-service-card__content .service01-service-card__text {
    margin-top: 4.1025641026vw;
  }
  .service01-service-card .service01-service-card__visual {
    position: relative;
    inset: auto;
    flex: 0 0 auto;
    transform: none;
  }
  .service01-service-card .service01-service-card__visual--resume {
    width: 34.1025641026vw;
    height: 32.8205128205vw;
  }
  .service01-service-card .service01-service-card__visual--approach {
    width: 35.9671794872vw;
    height: 31.6853846154vw;
  }
  .service01-service-card .service01-service-card__visual--visit {
    width: 37.9487179487vw;
    height: 24.1025641026vw;
  }
  .service01-service-card .service01-service-card__visual--document {
    width: 17.7561538462vw;
    height: 19.9482051282vw;
  }
  .service01-service-card .service01-service-card__visual--trend {
    width: 35.1282051282vw;
    height: 21.7948717949vw;
  }
  .service01-service-card__school {
    top: 0;
    left: 0;
    width: 24.5823076923vw;
    height: 15.2005128205vw;
  }
  .service01-service-card__mail {
    top: 10.4902564103vw;
    left: 8.7774358974vw;
    width: 27.1894871795vw;
    height: 21.1948717949vw;
  }
  .service01-service-card__record {
    top: 3.0769230769vw;
    left: 0;
    width: 15.0864102564vw;
    height: 17.2728205128vw;
  }
  .service01-service-card__adviser {
    top: 0;
    left: 16.6666666667vw;
    width: 20.9897435897vw;
    height: 24.0507692308vw;
  }
  .service01-service-card__chart {
    top: 0;
    left: 0;
    width: 19.8974358974vw;
    height: 16.7179487179vw;
  }
  .service01-service-card__magnifier {
    top: 2.5641025641vw;
    left: 16.6666666667vw;
    width: 18.4487179487vw;
    height: 19.0717948718vw;
  }
  .service01-cta {
    padding: 0;
  }
  .service01-cta__inner {
    gap: 8.2051282051vw;
  }
  .service01-cta__item--youth {
    height: 68.7179487179vw;
  }
  .service01-cta__item--youth::before {
    inset: 0;
    border-radius: 2.5641025641vw;
  }
  .service01-cta__youth-logo {
    top: 4.6846153846vw;
    left: 13.2051282051vw;
    width: 58.2051282051vw;
    height: 18.4615384615vw;
  }
  .service01-cta__youth-people {
    top: 24.6846153846vw;
    right: auto;
    left: 18.9743589744vw;
    width: 46.9230769231vw;
    height: 27.6566666667vw;
  }
  .service01-cta__youth-copy {
    top: 53.1461538462vw;
    left: 8.9743589744vw;
    width: 49.2307692308vw;
    font-size: 4.1025641026vw;
    line-height: 6.1538461538vw;
    white-space: nowrap;
  }
  .service01-cta__item--youth .service01-cta__arrow {
    top: 51.6076923077vw;
    right: 9.1905128205vw;
    bottom: auto;
    width: 15.9376923077vw;
    height: 15.9376923077vw;
  }
  .service01-cta__item--document {
    display: block;
    height: 38.4615384615vw;
    padding: 0;
    border-radius: 2.5641025641vw;
  }
  .service01-cta__item--document > span {
    position: absolute;
    top: 6.9230769231vw;
    left: 0;
    width: 100%;
    font-size: 6.6666666667vw;
    line-height: 12.3076923077vw;
    text-align: center;
    white-space: nowrap;
  }
  .service01-cta__item--document .service01-cta__arrow {
    position: absolute;
    top: 20vw;
    left: 61.2820512821vw;
    width: 10.7692307692vw;
    height: 10.7692307692vw;
  }
  .service01-cta__divider {
    display: none;
  }
}
/* ===================================================
webコミ FV
=================================================== */
.service02-fv {
  position: relative;
  height: 1005px;
  padding: 0;
  overflow: hidden;
}

.service02-fv__visual {
  position: absolute;
  top: 60px;
  left: 50%;
  z-index: 0;
  width: calc(100% - 90px);
  max-width: 1349px;
  height: 730px;
  overflow: hidden;
  border-radius: 10px;
  transform: translateX(-50%);
}

.service02-fv__image {
  position: absolute;
  top: -10.48%;
  left: 0;
  display: block;
  width: 99.99%;
  height: 113.55%;
}

.service02-fv__curve {
  position: absolute;
  top: 732px;
  left: 50%;
  z-index: 1;
  display: block;
  width: 1561px;
  height: 203px;
  transform: translateX(-50%);
}

.service02-fv__heading,
.service02-fv__logo,
.service02-fv__document {
  position: absolute;
  left: max(20px, (100vw - 1200px) / 2);
  z-index: 2;
}

.service02-fv__heading {
  top: 175px;
  width: 220px;
}

.service02-fv__en {
  color: #000;
  font-size: 42px;
  font-weight: 400;
  line-height: 49px;
  letter-spacing: 0.05em;
}

.service02-fv__title {
  margin-top: 10px;
  color: #7c7c7c;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 24px;
  font-weight: 300;
  line-height: 35px;
  letter-spacing: 0.05em;
}

.service02-fv__logo {
  top: 310px;
  display: block;
  width: 210px;
  height: 65px;
}

.service02-fv__document {
  top: 525px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 305px;
  height: 305px;
  padding-top: 17px;
  color: #0ae0c8;
  text-align: center;
  letter-spacing: 0.15em;
  background: #fff;
  border: 2px solid #ff617e;
  border-radius: 50%;
}

.service02-fv__document::before {
  position: absolute;
  inset: 9px;
  content: "";
  pointer-events: none;
  border: 1px solid #0ae0c8;
  border-radius: 50%;
}

.service02-fv__document-label,
.service02-fv__document strong {
  position: relative;
  z-index: 1;
  transform: translateY(-16.5px);
}

.service02-fv__document-label {
  font-size: 28px;
  font-weight: 500;
  line-height: 37px;
}

.service02-fv__document strong {
  margin-top: 14px;
  color: #ff617e;
  font-size: 42px;
  font-weight: 600;
  line-height: 45px;
  white-space: nowrap;
}

.service02-fv__copy {
  position: absolute;
  top: 834px;
  left: 50%;
  z-index: 3;
  display: flex;
  flex-direction: column;
  gap: 45px;
  width: 1200px;
  font-size: 72px;
  font-weight: 700;
  line-height: 58px;
  letter-spacing: 0.1em;
  text-align: center;
  transform: translateX(-50%);
}

.service02-fv__copy span {
  padding-bottom: 0.12em;
  margin-bottom: -0.12em;
  color: transparent;
  background: linear-gradient(250deg, #0ae0c8 0%, #ffde96 50.962%, #ff617e 100%);
  background-clip: text;
  -webkit-background-clip: text;
}

/* 中途採用の課題
***************************************************************/
.service02-challenges {
  padding: 50px 0;
}

.service02-challenges__inner {
  width: 1200px;
  margin: 0 auto;
}

.service02-challenges__heading {
  width: 915px;
  margin: 0 auto;
  text-align: center;
}

.service02-challenges__lead {
  color: #5e5e5e;
  font-size: 24px;
  font-weight: 400;
  line-height: 32px;
  letter-spacing: 0.05em;
}

.service02-challenges__line {
  display: block;
  width: 525px;
  height: 20px;
  margin: 13px auto 0;
}

.service02-challenges__title {
  margin-top: 18px;
  color: #5e5e5e;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 32px;
  font-weight: 400;
  line-height: 32px;
  letter-spacing: 0.1em;
  white-space: nowrap;
}

.service02-challenges__title span {
  color: #45e7d5;
}

.service02-challenges__list {
  display: grid;
  grid-template-columns: repeat(3, 387px);
  gap: 20px 19px;
  margin-top: 50px;
}

.service02-challenges__item {
  display: grid;
  grid-template-columns: 110px minmax(0, 1fr);
  align-items: center;
  width: 387px;
  height: 112px;
  padding-right: 15px;
  overflow: hidden;
  background: linear-gradient(#fff, #fff) padding-box, linear-gradient(110deg, #ff617e 0%, #ffde96 50%, #0ae0c8 100%) border-box;
  border: 1px solid transparent;
  border-radius: 10px;
}

.service02-challenges__number {
  color: #7c7c7c;
  font-size: 50px;
  font-weight: 400;
  line-height: 38px;
  letter-spacing: 0.1em;
  text-align: center;
}

.service02-challenges__item p {
  color: #ff617e;
  font-size: 24px;
  font-weight: 400;
  line-height: 38px;
  letter-spacing: 0.05em;
  text-align: center;
}

/* 採用成功の仕組み
***************************************************************/
.service02-success {
  padding: 50px 0;
}

.service02-success__inner {
  width: 1200px;
  margin: 0 auto;
}

.service02-success__title {
  color: #5e5e5e;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 32px;
  font-weight: 400;
  line-height: 32px;
  letter-spacing: 0.1em;
}

.service02-success__panel {
  height: 588px;
  padding: 40px 41px 41px 44px;
  margin-top: 50px;
  background: linear-gradient(#fff, #fff) padding-box, linear-gradient(110deg, #ff617e 0%, #ffde96 50%, #0ae0c8 100%) border-box;
  border: 1px solid transparent;
  border-radius: 10px;
}

.service02-success__flow {
  display: flex;
  gap: 31px;
  align-items: center;
  justify-content: center;
  width: 100%;
}

.service02-success-stage {
  display: flex;
  flex: 0 0 276px;
  flex-direction: column;
  align-items: center;
  width: 276px;
}

.service02-success-stage--media {
  gap: 24px;
}

.service02-success-stage--site {
  gap: 26px;
}

.service02-success-stage--operation {
  gap: 40px;
}

.service02-success-stage__label {
  display: grid;
  width: 276px;
  height: 50px;
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 24px;
  font-weight: 400;
  line-height: 32px;
  letter-spacing: 0.1em;
  border-radius: 20px;
  place-items: center;
}

.service02-success-stage--media .service02-success-stage__label {
  background: #0ae0c8;
}

.service02-success-stage--site .service02-success-stage__label {
  color: #6f6f6f;
  background: #def58c;
}

.service02-success-stage--operation .service02-success-stage__label {
  background: #ec77a3;
}

.service02-success-stage__icon {
  display: block;
}

.service02-success-stage__icon--media {
  width: 112px;
  height: 108px;
}

.service02-success-stage__icon--site {
  width: 126px;
  height: 102px;
}

.service02-success-stage__icon--operation {
  width: 111px;
  height: 94px;
}

.service02-success-stage__title {
  min-height: 32px;
  color: #0ae0c8;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 24px;
  font-weight: 700;
  line-height: 32px;
  letter-spacing: 0.1em;
  text-align: center;
}

.service02-success-stage__text {
  color: #5e5e5e;
  font-size: 18px;
  font-weight: 400;
  line-height: 27px;
  letter-spacing: 0.1em;
  text-align: center;
  white-space: nowrap;
}

.service02-success__arrows {
  position: relative;
  display: block;
  flex: 0 0 48px;
  width: 48px;
  height: 88px;
}

.service02-success__arrows picture,
.service02-success__arrow-image {
  display: block;
  width: 100%;
  height: 100%;
}

.service02-success__summary {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  height: 72px;
  margin-top: 32px;
  color: #666767;
  font-size: 24px;
  font-weight: 700;
  line-height: 32px;
  letter-spacing: 0.1em;
  text-align: center;
  background: linear-gradient(#fff, #fff) padding-box, linear-gradient(110deg, #ff617e 0%, #ffde96 50%, #0ae0c8 100%) border-box;
  border: 1px solid transparent;
  border-radius: 80px;
}

.service02-success__summary > span {
  margin-left: 102px;
  white-space: nowrap;
}

.service02-success__summary img {
  position: absolute;
  top: 11px;
  left: 22px;
  display: block;
  width: 48px;
  height: 48px;
}

.service02-success__summary strong {
  color: #45e7d5;
  font-weight: 700;
}

/* 資産運用型サービスのメリット
***************************************************************/
.service02-benefits {
  padding: 50px 0;
}

.service02-benefits__inner {
  width: 1200px;
  margin: 0 auto;
}

.service02-benefits__title {
  color: #5e5e5e;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 32px;
  font-weight: 400;
  line-height: 32px;
  letter-spacing: 0.1em;
}

.service02-benefits__panel {
  height: 677px;
  padding: 39px 39px 39px 43px;
  margin-top: 50px;
  background: linear-gradient(#fff, #fff) padding-box, linear-gradient(110deg, #ff617e 0%, #ffde96 50%, #0ae0c8 100%) border-box;
  border: 1px solid transparent;
  border-radius: 10px;
}

.service02-benefits__list {
  display: grid;
  grid-template-columns: repeat(4, 264px);
  gap: 20px;
}

.service02-benefit-card {
  position: relative;
  width: 264px;
  height: 495px;
  background: linear-gradient(#fff, #fff) padding-box, linear-gradient(110deg, #ff617e 0%, #ffde96 50%, #0ae0c8 100%) border-box;
  border: 1px solid transparent;
}

.service02-benefit-card__icon {
  position: absolute;
  left: 50%;
  display: block;
  -o-object-fit: contain;
     object-fit: contain;
  transform: translateX(-50%);
}

.service02-benefit-card__icon--01 {
  top: 27px;
  width: 150px;
  height: 104px;
}

.service02-benefit-card__icon--02 {
  top: 35px;
  width: 167px;
  height: 102px;
}

.service02-benefit-card__icon--03 {
  top: 23px;
  width: 137px;
  height: 114px;
}

.service02-benefit-card__icon--04 {
  top: 21px;
  width: 107px;
  height: 117px;
}

.service02-benefit-card__number {
  position: absolute;
  top: 150px;
  left: 0;
  width: 100%;
  color: #0ae0c8;
  font-size: 36px;
  font-weight: 400;
  line-height: 32px;
  letter-spacing: 0.1em;
  text-align: center;
}

.service02-benefit-card__title {
  position: absolute;
  top: 203px;
  left: 0;
  display: grid;
  width: 100%;
  height: 64px;
  color: #0ae0c8;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 24px;
  font-weight: 500;
  line-height: 32px;
  letter-spacing: 0.1em;
  text-align: center;
  place-items: center;
}

.service02-benefit-card__text {
  position: absolute;
  top: 285px;
  left: 23px;
  width: 216px;
  color: #5e5e5e;
  font-size: 18px;
  font-weight: 400;
  line-height: 27px;
  letter-spacing: 0;
  text-align: justify;
}

.service02-benefits__summary {
  position: relative;
  display: flex;
  align-items: center;
  width: 1116px;
  height: 72px;
  margin-top: 30px;
  color: #666767;
  font-size: 24px;
  font-weight: 700;
  line-height: 32px;
  letter-spacing: 0.1em;
  border: 1px solid #0ae0c8;
  border-radius: 80px;
}

.service02-benefits__summary > span {
  margin-left: 102px;
  white-space: nowrap;
}

.service02-benefits__summary img {
  position: absolute;
  top: 11px;
  left: 22px;
  display: block;
  width: 48px;
  height: 48px;
}

.service02-benefits__summary strong {
  color: #0ae0c8;
  font-weight: 700;
}

/* サービス一覧
***************************************************************/
.service02-services {
  padding: 50px 0;
}

.service02-services__inner {
  width: 1200px;
  margin: 0 auto;
}

.service02-services__heading {
  display: grid;
  grid-template-columns: 238px 932px;
  gap: 30px;
  height: 44px;
}

.service02-services__title {
  padding-top: 12px;
  color: #5e5e5e;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 32px;
  font-weight: 400;
  line-height: 32px;
  letter-spacing: 0.1em;
  white-space: nowrap;
}

.service02-services__lead {
  color: #5e5e5e;
  font-size: 18px;
  font-weight: 400;
  line-height: 27px;
  letter-spacing: 0;
  text-align: justify;
}

.service02-services__list {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 20px;
  margin-top: 50px;
}

.service02-service-card {
  position: relative;
  background: linear-gradient(#fff, #fff) padding-box, linear-gradient(110deg, #ff617e 0%, #ffde96 50%, #0ae0c8 100%) border-box;
  border: 1px solid transparent;
  border-radius: 10px;
}

.service02-service-card--wide {
  grid-column: span 3;
  height: 201px;
}

.service02-service-card--standard {
  grid-column: span 2;
  height: 330px;
}

.service02-service-card__visual {
  position: absolute;
  z-index: 1;
  display: block;
}

.service02-service-card__visual--media {
  top: 38px;
  left: 52px;
  width: 140px;
  height: 136px;
}

.service02-service-card__visual--site {
  top: 35px;
  left: 46px;
  width: 154px;
  height: 123px;
}

.service02-service-card__visual--rpo {
  top: 37px;
  left: 120px;
  width: 152px;
  height: 116px;
}

.service02-service-card__visual--sns {
  top: 25px;
  left: 128px;
  width: 128px;
  height: 135px;
}

.service02-service-card__visual--foreign {
  top: 26px;
  left: 128px;
  width: 145px;
  height: 127px;
}

.service02-service-card--wide .service02-service-card__content {
  position: absolute;
  top: 36px;
  left: 234px;
  width: 329px;
}

.service02-service-card--wide:nth-child(2) .service02-service-card__content {
  left: 233px;
}

.service02-service-card--standard .service02-service-card__content {
  position: absolute;
  top: 177px;
  left: 28px;
  width: 329px;
}

.service02-service-card--standard:nth-child(4) .service02-service-card__content {
  left: 26px;
}

.service02-service-card--standard:nth-child(5) .service02-service-card__content {
  left: 31px;
}

.service02-service-card__title {
  color: #0ae0c8;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 24px;
  font-weight: 500;
  line-height: 32px;
  letter-spacing: 0.1em;
  text-align: center;
  white-space: nowrap;
}

.service02-service-card--wide .service02-service-card__title {
  text-align: left;
}

.service02-service-card__text {
  margin-top: 15px;
  color: #5e5e5e;
  font-size: 18px;
  font-weight: 400;
  line-height: 27px;
  letter-spacing: 0;
  text-align: justify;
}

/* サービス・資料CTA
***************************************************************/
.service02-cta {
  padding: 50px 0;
}

.service02-cta__inner {
  display: flex;
  flex-direction: column;
  gap: 30px;
  width: 1201px;
  margin: 0 auto;
}

.service02-cta__youth {
  position: relative;
  display: block;
  width: 1199px;
  height: 189px;
  overflow: hidden;
}

.service02-cta__youth-panel {
  position: absolute;
  top: 31px;
  left: 0;
  width: 1199px;
  height: 158px;
  overflow: hidden;
  border: 1px solid #7176fa;
  border-radius: 10px;
}

.service02-cta__youth-panel img {
  position: absolute;
  top: -109.82%;
  left: 0;
  display: block;
  width: 100%;
  height: 466.41%;
  max-width: none;
}

.service02-cta__person {
  position: absolute;
  top: 0;
  left: 918px;
  width: 187px;
  height: 188px;
  overflow: hidden;
}

.service02-cta__person img {
  position: absolute;
  top: -22.46%;
  left: -100.53%;
  display: block;
  width: 200.53%;
  height: 122.57%;
  max-width: none;
}

.service02-cta__logo {
  position: absolute;
  top: 71px;
  left: 94px;
  display: block;
  width: 155px;
  height: 88px;
}

.service02-cta__youth-text {
  position: absolute;
  top: 90px;
  left: 339px;
  color: #7c7c7c;
  font-size: 32px;
  font-weight: 600;
  line-height: 48px;
  letter-spacing: 0.05em;
  white-space: nowrap;
}

.service02-cta__arrow {
  display: block;
  width: 72px;
  height: 72px;
  transition: transform 0.3s ease;
  transform: rotate(90deg);
}

.service02-cta__arrow--gray {
  position: absolute;
  top: 75px;
  left: 1093px;
}

.service02-cta__document {
  display: flex;
  align-items: center;
  width: 1201px;
  height: 158px;
  padding: 43px 34px 43px 197px;
  color: #fff;
  background: linear-gradient(262.505deg, #0ae0c8 0%, #ffde96 50.962%, #ff617e 100%);
  border-radius: 10px;
}

.service02-cta__document span {
  font-size: 40px;
  font-weight: 600;
  line-height: 48px;
  letter-spacing: 0.05em;
  white-space: nowrap;
}

.service02-cta__arrow--white {
  flex: 0 0 72px;
  margin-left: 90px;
}

.service02-cta__youth:hover .service02-cta__arrow,
.service02-cta__document:hover .service02-cta__arrow {
  transform: translateX(6px) rotate(90deg);
}

.service02-page {
  padding-top: 0;
}

@media screen and (max-width: 1240px) {
  .service02-fv__visual {
    width: calc(100% - 40px);
  }
  .service02-fv__copy {
    width: calc(100% - 40px);
    font-size: clamp(52px, 5.8vw, 72px);
  }
  .service02-challenges__inner {
    width: calc(100% - 40px);
  }
  .service02-challenges__list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .service02-challenges__item {
    grid-template-columns: 90px minmax(0, 1fr);
    width: auto;
  }
  .service02-challenges__item p {
    font-size: clamp(18px, 1.935vw, 24px);
  }
  .service02-success__inner {
    width: calc(100% - 40px);
  }
  .service02-benefits__inner {
    width: calc(100% - 40px);
  }
  .service02-benefits__panel {
    height: auto;
  }
  .service02-benefits__list {
    grid-template-columns: repeat(2, 264px);
    justify-content: center;
  }
  .service02-benefits__summary {
    width: 100%;
  }
  .service02-services__inner {
    width: calc(100% - 40px);
  }
  .service02-cta__inner {
    width: calc(100% - 40px);
  }
  .service02-cta__youth,
  .service02-cta__youth-panel,
  .service02-cta__document {
    width: 100%;
  }
  .service02-cta__person {
    right: 7.8%;
    left: auto;
  }
  .service02-cta__arrow--gray {
    right: 34px;
    left: auto;
  }
  .service02-cta__document {
    padding-left: clamp(40px, 16.4vw, 197px);
  }
  .service02-cta__document span {
    font-size: clamp(28px, 3.33vw, 40px);
  }
  .service02-cta__arrow--white {
    margin-left: auto;
  }
  .service02-services__heading {
    grid-template-columns: 210px minmax(0, 1fr);
    gap: 24px;
    height: auto;
  }
  .service02-service-card--wide .service02-service-card__content {
    right: 24px;
    left: 40%;
    width: auto;
  }
  .service02-service-card--wide .service02-service-card__visual {
    left: 20%;
    transform: translateX(-50%);
  }
  .service02-service-card--standard .service02-service-card__visual {
    left: 50%;
    transform: translateX(-50%);
  }
  .service02-service-card--standard .service02-service-card__content {
    right: 24px;
    left: 24px;
    width: auto;
  }
  .service02-service-card--wide:nth-child(2) .service02-service-card__content {
    left: 40%;
  }
  .service02-service-card--standard:nth-child(4) .service02-service-card__content,
  .service02-service-card--standard:nth-child(5) .service02-service-card__content {
    left: 24px;
  }
}
@media screen and (max-width: 1160px) {
  .service02-challenges__heading {
    width: 100%;
  }
  .service02-challenges__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .service02-success__panel {
    height: auto;
    padding: 40px 30px;
  }
  .service02-success__flow {
    flex-direction: column;
    gap: 30px;
  }
  .service02-success__arrows {
    transform: rotate(90deg);
  }
  .service02-success__summary {
    height: auto;
    min-height: 72px;
    padding: 16px 30px 16px 82px;
    text-align: left;
  }
  .service02-success__summary > span {
    margin-left: 0;
    white-space: normal;
  }
  .service02-benefits__summary {
    height: auto;
    min-height: 72px;
    padding: 16px 30px 16px 82px;
  }
  .service02-benefits__summary > span {
    margin-left: 0;
    white-space: normal;
  }
  .service02-services__heading {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .service02-services__title {
    padding-top: 0;
  }
  .service02-services__list {
    grid-template-columns: 1fr;
    gap: 16px;
    margin-top: 40px;
  }
  .service02-service-card--wide,
  .service02-service-card--standard {
    grid-column: auto;
    height: auto;
    min-height: 190px;
  }
  .service02-service-card--wide .service02-service-card__content,
  .service02-service-card--standard .service02-service-card__content {
    position: static;
    width: auto;
    padding: 175px 28px 34px;
  }
  .service02-service-card--wide .service02-service-card__visual,
  .service02-service-card--standard .service02-service-card__visual {
    top: 24px;
    left: 50%;
    transform: translateX(-50%);
  }
  .service02-service-card--wide .service02-service-card__title {
    text-align: center;
  }
  .service02-cta__youth {
    height: 260px;
  }
  .service02-cta__youth-panel {
    top: 0;
    height: 260px;
  }
  .service02-cta__youth-panel img {
    top: -15%;
    width: 170%;
    height: auto;
  }
  .service02-cta__person {
    top: auto;
    right: 24px;
    bottom: 0;
    width: 165px;
    height: 210px;
  }
  .service02-cta__person img {
    top: -10%;
    left: -110%;
    width: 220%;
    height: auto;
  }
  .service02-cta__logo {
    top: 30px;
    left: 28px;
    width: 130px;
    height: auto;
  }
  .service02-cta__youth-text {
    top: 133px;
    left: 28px;
    width: 52%;
    font-size: 24px;
    line-height: 1.5;
    letter-spacing: 0.03em;
    white-space: normal;
  }
  .service02-cta__arrow {
    width: 52px;
    height: 52px;
  }
  .service02-cta__arrow--gray {
    top: auto;
    right: 20px;
    bottom: 20px;
  }
  .service02-cta__document {
    position: relative;
    height: 160px;
    padding: 28px 80px 28px 28px;
  }
  .service02-cta__document span {
    font-size: 27px;
    line-height: 1.5;
    white-space: normal;
  }
  .service02-cta__arrow--white {
    position: absolute;
    right: 20px;
    margin-left: 0;
  }
}
@media screen and (max-width: 760px) {
  .service02-challenges__item p,
  .service02-success-stage__text,
  .service02-success__summary > span,
  .service02-benefit-card__text,
  .service02-benefits__summary > span,
  .service02-services__lead,
  .service02-service-card__text,
  .service02-cta__youth-text,
  .service02-cta__document > span {
    word-break: auto-phrase;
    line-break: strict;
    text-wrap: pretty;
  }
  .service02-benefit-card__text,
  .service02-services__lead,
  .service02-service-card__text {
    text-align: left;
  }
  .service02-fv {
    height: 202.5641025641vw;
  }
  .service02-fv__visual {
    top: 20.5128205128vw;
    width: calc(100% - 5.1282051282vw);
    height: 133.3333333333vw;
    border-radius: 2.0512820513vw;
  }
  .service02-fv__image {
    inset: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: 68% center;
       object-position: 68% center;
  }
  .service02-fv__curve {
    top: 140.5128205128vw;
    width: 166.6666666667vw;
    height: 21.5384615385vw;
  }
  .service02-fv__heading,
  .service02-fv__logo,
  .service02-fv__document {
    left: 7.6923076923vw;
  }
  .service02-fv__heading {
    top: 28.2051282051vw;
    width: 46.1538461538vw;
  }
  .service02-fv__en {
    font-size: 7.6923076923vw;
    line-height: 9.2307692308vw;
  }
  .service02-fv__title {
    margin-top: 1.2820512821vw;
    font-size: 4.1025641026vw;
    line-height: 6.4102564103vw;
  }
  .service02-fv__logo {
    top: 50vw;
    width: 35.8974358974vw;
    height: auto;
  }
  .service02-fv__document {
    top: 92.3076923077vw;
    width: 43.5897435897vw;
    height: 43.5897435897vw;
    padding-top: 2.0512820513vw;
    letter-spacing: 0.1em;
  }
  .service02-fv__document::before {
    inset: 1.2820512821vw;
  }
  .service02-fv__document-label {
    font-size: 4.1025641026vw;
    line-height: 5.8974358974vw;
    transform: none;
  }
  .service02-fv__document strong {
    margin-top: 1.5384615385vw;
    font-size: 6.1538461538vw;
    line-height: 7.6923076923vw;
    transform: none;
  }
  .service02-fv__copy {
    top: 161.0256410256vw;
    gap: 3.0769230769vw;
    font-size: clamp(6.9230769231vw, 7.8vw, 8.2051282051vw);
    line-height: 1.35;
    letter-spacing: 0.04em;
  }
  .service02-challenges {
    padding: 8.2051282051vw 0;
  }
  .service02-challenges__lead {
    font-size: 3.8461538462vw;
    line-height: 6.6666666667vw;
    letter-spacing: 0.02em;
  }
  .service02-challenges__line {
    width: min(76.9230769231vw, 100%);
    height: 3.0769230769vw;
    margin-top: 2.3076923077vw;
  }
  .service02-challenges__title {
    margin-top: 3.5897435897vw;
    font-size: clamp(5.1282051282vw, 5.9vw, 5.8974358974vw);
    line-height: 1.5;
    letter-spacing: 0.04em;
    white-space: normal;
  }
  .service02-challenges__list {
    grid-template-columns: 1fr;
    gap: 3.0769230769vw;
    margin-top: 8.2051282051vw;
  }
  .service02-challenges__item {
    grid-template-columns: 18.4615384615vw minmax(0, 1fr);
    height: 25.641025641vw;
    padding-right: 3.5897435897vw;
  }
  .service02-challenges__number {
    font-size: 10.2564102564vw;
    line-height: 9.7435897436vw;
  }
  .service02-challenges__item p {
    font-size: 4.6153846154vw;
    line-height: 7.4358974359vw;
  }
  .service02-success {
    padding: 8.2051282051vw 0;
  }
  .service02-success__title {
    font-size: 6.1538461538vw;
    line-height: 8.2051282051vw;
    letter-spacing: 0.05em;
  }
  .service02-success__panel {
    padding: 7.1794871795vw 4.1025641026vw;
    margin-top: 8.2051282051vw;
  }
  .service02-success-stage,
  .service02-success-stage__label {
    width: min(70.7692307692vw, 100%);
  }
  .service02-success-stage {
    flex-basis: auto;
  }
  .service02-success-stage__label {
    height: 11.7948717949vw;
    font-size: 5.1282051282vw;
  }
  .service02-success-stage__title {
    font-size: 5.3846153846vw;
    line-height: 7.6923076923vw;
  }
  .service02-success-stage__text {
    font-size: 4.1025641026vw;
    line-height: 6.6666666667vw;
    letter-spacing: 0.05em;
    white-space: normal;
  }
  .service02-success__summary {
    padding: 4.6153846154vw 4.6153846154vw 4.6153846154vw 16.4102564103vw;
    margin-top: 8.2051282051vw;
    font-size: 4.358974359vw;
    line-height: 7.1794871795vw;
    letter-spacing: 0.05em;
    border-radius: 5.1282051282vw;
  }
  .service02-success__summary img {
    top: 50%;
    left: 3.0769230769vw;
    width: 10.2564102564vw;
    height: 10.2564102564vw;
    transform: translateY(-50%);
  }
  .service02-benefits {
    padding: 8.2051282051vw 0;
  }
  .service02-benefits__title {
    font-size: 6.1538461538vw;
    line-height: 1.5;
    letter-spacing: 0.05em;
  }
  .service02-benefits__panel {
    padding: 7.1794871795vw 4.1025641026vw;
    margin-top: 8.2051282051vw;
  }
  .service02-benefits__list {
    grid-template-columns: 67.6923076923vw;
    gap: 4.1025641026vw;
  }
  .service02-benefits__summary {
    padding: 4.6153846154vw 4.6153846154vw 4.6153846154vw 16.4102564103vw;
    margin-top: 7.1794871795vw;
    font-size: 4.358974359vw;
    line-height: 7.1794871795vw;
    letter-spacing: 0.05em;
    border-radius: 5.1282051282vw;
  }
  .service02-benefits__summary img {
    top: 50%;
    left: 3.0769230769vw;
    width: 10.2564102564vw;
    height: 10.2564102564vw;
    transform: translateY(-50%);
  }
  .service02-services {
    padding: 8.2051282051vw 0;
  }
  .service02-services__title {
    font-size: 6.1538461538vw;
    line-height: 8.2051282051vw;
    letter-spacing: 0.05em;
  }
  .service02-services__lead {
    font-size: 4.1025641026vw;
    line-height: 6.6666666667vw;
  }
  .service02-services__list {
    margin-top: 8.2051282051vw;
  }
  .service02-service-card--wide,
  .service02-service-card--standard {
    min-height: 0;
  }
  .service02-service-card--wide .service02-service-card__content,
  .service02-service-card--standard .service02-service-card__content {
    padding: 175px 5.1282051282vw 7.1794871795vw;
  }
  .service02-service-card__title {
    font-size: 5.3846153846vw;
    line-height: 7.6923076923vw;
    letter-spacing: 0.05em;
  }
  .service02-service-card__text {
    margin-top: 3.5897435897vw;
    font-size: 4.1025641026vw;
    line-height: 6.6666666667vw;
  }
  .service02-cta {
    padding: 8.2051282051vw 0;
  }
  .service02-cta__inner {
    gap: 4.1025641026vw;
  }
  .service02-cta__youth,
  .service02-cta__youth-panel {
    height: 58.9743589744vw;
  }
  .service02-cta__person {
    right: 1.2820512821vw;
    width: 37.1794871795vw;
    height: 47.4358974359vw;
  }
  .service02-cta__logo {
    top: 6.1538461538vw;
    left: 5.1282051282vw;
    width: 28.7179487179vw;
  }
  .service02-cta__youth-text {
    top: 28.7179487179vw;
    left: 5.1282051282vw;
    width: 57%;
    font-size: 5.1282051282vw;
  }
  .service02-cta__arrow--gray {
    right: 3.0769230769vw;
    bottom: 3.0769230769vw;
  }
  .service02-cta__document {
    height: 35.3846153846vw;
    padding: 5.641025641vw 15.8974358974vw 5.641025641vw 5.1282051282vw;
  }
  .service02-cta__document span {
    font-size: clamp(4.8717948718vw, 5.5vw, 5.8974358974vw);
    line-height: 1.55;
  }
  .service02-cta__arrow--white {
    right: 3.0769230769vw;
  }
}
/* webコミ SP layout (Figma: 718:4495)
***************************************************************/
.service02-cta__document-break {
  display: none;
}

.service02-sp-only {
  display: none;
}

@media screen and (max-width: 760px) {
  .service02-fv {
    height: 104.6153846154vw;
    overflow: hidden;
  }
  .service02-fv__visual {
    top: 0;
    left: 0;
    width: 100%;
    height: 85.3846153846vw;
    border-radius: 0.7692307692vw;
    transform: none;
  }
  .service02-fv__image {
    top: 14.45%;
    left: -6.15%;
    width: 111.53%;
    height: 80.37%;
    -o-object-position: center;
       object-position: center;
  }
  .service02-fv__curve {
    top: 73.0769230769vw;
    width: 128.2051282051vw;
    height: 32.8205128205vw;
  }
  .service02-fv__heading,
  .service02-fv__logo,
  .service02-fv__document {
    left: 7.6923076923vw;
  }
  .service02-fv__heading {
    top: 16.9230769231vw;
    width: 26.6666666667vw;
  }
  .service02-fv__en {
    font-size: 6.1538461538vw;
    line-height: 7.1794871795vw;
    letter-spacing: 0.05em;
  }
  .service02-fv__title {
    margin-top: 0.7412820513vw;
    font-size: 3.5897435897vw;
    line-height: 5.1282051282vw;
    letter-spacing: 0.05em;
  }
  .service02-fv__logo {
    top: 32.0512820513vw;
    width: 32.5641025641vw;
    height: 10vw;
  }
  .service02-fv__document {
    top: 52.5641025641vw;
    width: 26.9230769231vw;
    height: 26.9230769231vw;
    padding: 0;
    border-width: 0.1297435897vw;
  }
  .service02-fv__document::before {
    top: 0.8641025641vw;
    right: auto;
    bottom: auto;
    left: 0.8641025641vw;
    width: 24.9038461538vw;
    height: 24.9038461538vw;
    border-width: 0.2243589744vw;
  }
  .service02-fv__document-label {
    position: absolute;
    top: 5.7692307692vw;
    left: 1.1538461538vw;
    width: 24.358974359vw;
    font-size: 3.0769230769vw;
    line-height: 4.1025641026vw;
    letter-spacing: 0.03em;
  }
  .service02-fv__document strong {
    position: absolute;
    top: 15vw;
    left: 2.6923076923vw;
    width: 21.2820512821vw;
    margin: 0;
    font-size: 3.8461538462vw;
    line-height: 3.8461538462vw;
    letter-spacing: 0.05em;
  }
  .service02-fv__copy {
    top: 82.0512820513vw;
    gap: 2.0512820513vw;
    font-size: 6.1538461538vw;
    line-height: 6.1538461538vw;
    letter-spacing: 0.1em;
  }
  .service02-success,
  .service02-benefits,
  .service02-services {
    padding: 8.2051282051vw 0;
  }
  .service02-challenges {
    padding: 0 0 8.2051282051vw;
  }
  .service02-challenges__inner,
  .service02-success__inner,
  .service02-benefits__inner,
  .service02-services__inner,
  .service02-cta__inner {
    width: calc(100% - 15.3846153846vw);
  }
  .service02-challenges__heading {
    position: relative;
    width: 86.6666666667vw;
    height: 19.2307692308vw;
    margin-left: 0.5128205128vw;
  }
  .service02-challenges__lead,
  .service02-challenges__line,
  .service02-challenges__title {
    position: absolute;
    margin: 0;
  }
  .service02-challenges__lead {
    top: 0;
    left: 0.5128205128vw;
    width: 84.6153846154vw;
    height: 6.9230769231vw;
    font-size: 3.5897435897vw;
    line-height: 5.1397435897vw;
    letter-spacing: 0.05em;
  }
  .service02-challenges__line {
    top: 6.4443589744vw;
    left: 5.1282051282vw;
    width: 75.3846153846vw;
    height: 2.7282051282vw;
  }
  .service02-challenges__title {
    top: 13.3333333333vw;
    left: 0;
    width: 86.6666666667vw;
    height: 5.8974358974vw;
    font-size: 4.6153846154vw;
    line-height: 4.5633333333vw;
    letter-spacing: 0.1em;
    white-space: nowrap;
  }
  .service02-challenges__list {
    display: flex;
    flex-direction: column;
    gap: 4.1025641026vw;
    width: 100%;
    height: 151.2820512821vw;
    margin-top: 8.2051282051vw;
  }
  .service02-challenges__item {
    display: grid;
    flex: 0 0 21.7948717949vw;
    grid-template-columns: 26.6666666667vw minmax(0, 1fr);
    width: 100%;
    height: 21.7948717949vw;
    padding-right: 3.5897435897vw;
    border-radius: 2.0512820513vw;
  }
  .service02-challenges__number {
    font-size: 8.2051282051vw;
    line-height: 8.3084615385vw;
    letter-spacing: 0.1em;
  }
  .service02-challenges__item p {
    font-size: 4.6153846154vw;
    font-weight: 500;
    line-height: 6.9230769231vw;
    letter-spacing: 0.05em;
  }
  .service02-challenges__item:nth-child(5) br {
    display: none;
  }
  .service02-success__title,
  .service02-services__title {
    font-size: 6.1538461538vw;
    line-height: 8.2051282051vw;
    letter-spacing: 0.1em;
  }
  .service02-success__panel {
    display: flex;
    flex-direction: column;
    gap: 8.2051282051vw;
    align-items: center;
    width: 100%;
    height: 393.0769230769vw;
    padding: 10.2564102564vw 0;
    margin-top: 6.1538461538vw;
    border-radius: 2.5641025641vw;
  }
  .service02-success__flow {
    display: flex;
    flex: 0 0 305.8974358974vw;
    flex-direction: column;
    gap: 6.1538461538vw;
    align-items: center;
    justify-content: flex-end;
    width: 70.7692307692vw;
    height: 305.8974358974vw;
  }
  .service02-success-stage {
    flex: 0 0 auto;
    gap: 4.1025641026vw;
    width: 70.7692307692vw;
  }
  .service02-success-stage--media {
    height: 90vw;
  }
  .service02-success-stage--site {
    height: 88.4615384615vw;
  }
  .service02-success-stage--operation {
    height: 78.2051282051vw;
  }
  .service02-success-stage__label {
    width: 70.7692307692vw;
    height: 8.9743589744vw;
    font-size: 5.1282051282vw;
    line-height: 8.2051282051vw;
    letter-spacing: 0.1em;
  }
  .service02-success-stage__title {
    min-height: 0;
    font-size: 5.1282051282vw;
    line-height: 8.2051282051vw;
    letter-spacing: 0.1em;
  }
  .service02-success-stage__text {
    font-size: 4.1025641026vw;
    line-height: 6.1538461538vw;
    letter-spacing: 0.1em;
    white-space: nowrap;
  }
  .service02-success__arrows {
    flex: 0 0 12.3076923077vw;
    width: 22.5641025641vw;
    height: 12.3076923077vw;
    transform: none;
  }
  .service02-sp-only {
    display: block;
  }
  .service02-success__summary,
  .service02-benefits__summary {
    position: relative;
    flex: 0 0 58.4615384615vw;
    width: 70vw;
    height: 58.4615384615vw;
    min-height: 0;
    padding: 0;
    margin: 0;
    font-size: 5.1282051282vw;
    line-height: 8.2051282051vw;
    letter-spacing: 0.05em;
    text-align: center;
    border-radius: 2.5641025641vw;
  }
  .service02-success__summary > span,
  .service02-benefits__summary > span {
    position: absolute;
    top: 20vw;
    left: 2.8205128205vw;
    width: 64.358974359vw;
    margin: 0;
    white-space: nowrap;
  }
  .service02-success__summary img,
  .service02-benefits__summary img {
    top: 3.5897435897vw;
    left: 28.7179487179vw;
    width: 12.3076923077vw;
    height: 12.3076923077vw;
    transform: none;
  }
  .service02-benefits__title {
    font-size: 5.3846153846vw;
    line-height: 8.2051282051vw;
    letter-spacing: 0.1em;
    white-space: nowrap;
  }
  .service02-benefits__panel {
    display: flex;
    flex-direction: column;
    gap: 7.6923076923vw;
    align-items: center;
    width: 100%;
    height: auto;
    padding: 10.2564102564vw 0;
    margin-top: 6.1538461538vw;
    border-radius: 2.5641025641vw;
  }
  .service02-benefits__list {
    display: flex;
    flex: 0 0 auto;
    flex-direction: column;
    gap: 5.1282051282vw;
    width: 67.6923076923vw;
    height: auto;
  }
  .service02-benefit-card {
    display: flex;
    flex: 0 0 auto;
    flex-direction: column;
    gap: 4.1025641026vw;
    align-items: center;
    width: 67.6923076923vw;
    height: auto;
    padding: 6.4102564103vw 6.1538461538vw;
  }
  .service02-benefit-card__icon,
  .service02-benefit-card__number,
  .service02-benefit-card__title,
  .service02-benefit-card__text {
    position: static;
    flex: 0 0 auto;
    transform: none;
  }
  .service02-benefit-card__icon--01 {
    width: 38.4615384615vw;
    height: 26.6666666667vw;
  }
  .service02-benefit-card__icon--02 {
    width: 42.8205128205vw;
    height: 26.0848717949vw;
  }
  .service02-benefit-card__icon--03 {
    width: 35.1282051282vw;
    height: 29.2307692308vw;
  }
  .service02-benefit-card__icon--04 {
    width: 27.4358974359vw;
    height: 30vw;
  }
  .service02-benefit-card__number {
    width: auto;
    font-size: 6.1538461538vw;
    line-height: 8.2051282051vw;
    letter-spacing: 0.1em;
  }
  .service02-benefit-card__title {
    display: block;
    width: auto;
    height: 8.2051282051vw;
    font-size: 4.6153846154vw;
    line-height: 8.2051282051vw;
    letter-spacing: 0.1em;
    white-space: nowrap;
  }
  .service02-benefit-card__title br {
    display: none;
  }
  .service02-benefit-card__text {
    width: 55.3846153846vw;
    font-size: 4.1025641026vw;
    line-height: 6.1538461538vw;
    letter-spacing: 0;
  }
  .service02-benefits__summary > span {
    left: 4.358974359vw;
    width: 61.2820512821vw;
    letter-spacing: 0.1em;
  }
  .service02-services__heading {
    display: block;
    width: 100%;
    height: auto;
  }
  .service02-services__title {
    padding: 0;
  }
  .service02-services__lead {
    width: 100%;
    height: auto;
    margin-top: 3.5897435897vw;
    font-size: 4.1025641026vw;
    line-height: 6.1538461538vw;
    letter-spacing: 0;
  }
  .service02-services__list {
    display: flex;
    flex-direction: column;
    gap: 5.1282051282vw;
    width: 100%;
    height: auto;
    margin-top: 6.1538461538vw;
  }
  .service02-service-card,
  .service02-service-card--wide {
    display: flex;
    flex: 0 0 auto;
    flex-direction: column;
    align-items: center;
    gap: 4.1025641026vw;
    width: 100%;
    height: auto;
    min-height: 0;
    padding: 6.4102564103vw 6.1538461538vw;
    border-radius: 2.0512820513vw;
  }
  .service02-service-card .service02-service-card__content {
    position: static;
    width: 100%;
    padding: 0;
    transform: none;
  }
  .service02-service-card .service02-service-card__title {
    position: static;
    width: 100%;
    height: auto;
    font-size: 5.1282051282vw;
    line-height: 1.4;
    letter-spacing: 0.05em;
    text-align: center;
  }
  .service02-service-card .service02-service-card__text {
    position: static;
    width: 100%;
    height: auto;
    margin: 0;
    font-size: 4.1025641026vw;
    line-height: 6.1538461538vw;
    letter-spacing: 0;
    text-align: left;
    word-break: normal;
  }
  .service02-service-card__content .service02-service-card__text {
    margin-top: 4.1025641026vw;
  }
  .service02-service-card .service02-service-card__visual {
    position: relative;
    inset: auto;
    flex: 0 0 auto;
    transform: none;
  }
  .service02-service-card__visual--media {
    width: 32.3076923077vw;
    height: auto;
  }
  .service02-service-card__visual--site {
    width: 35.641025641vw;
    height: auto;
  }
  .service02-service-card__visual--rpo {
    width: 31.2820512821vw;
    height: auto;
  }
  .service02-service-card__visual--sns {
    width: 23.3333333333vw;
    height: auto;
  }
  .service02-service-card__visual--foreign {
    width: 28.2051282051vw;
    height: auto;
  }
  .service02-cta {
    padding: 0;
  }
  .service02-cta__inner {
    gap: 8.2051282051vw;
  }
  .service02-cta__youth,
  .service02-cta__youth-panel {
    width: 100%;
    height: 68.7179487179vw;
  }
  .service02-cta__youth-panel {
    top: 0;
  }
  .service02-cta__youth-panel img {
    top: -13.79%;
    left: -27.04%;
    width: 167.1%;
    height: 127.23%;
    max-width: none;
  }
  .service02-cta__person {
    top: 6.9230769231vw;
    right: 0.2564102564vw;
    bottom: auto;
    width: 44.358974359vw;
    height: 61.5384615385vw;
  }
  .service02-cta__person img {
    top: -15.83%;
    left: -130.56%;
    width: 260.5%;
    height: 115.93%;
    max-width: none;
  }
  .service02-cta__logo {
    top: 6.9230769231vw;
    left: 5.8974358974vw;
    width: 39.7435897436vw;
    height: 22.5641025641vw;
  }
  .service02-cta__youth-text {
    top: 36.6666666667vw;
    left: 5.1282051282vw;
    width: 41.5384615385vw;
    color: #fff;
    font-size: 3.8461538462vw;
    font-weight: 600;
    line-height: 6.9230769231vw;
    letter-spacing: 0;
    text-align: center;
  }
  .service02-cta__arrow--gray {
    top: 53.0769230769vw;
    right: auto;
    bottom: auto;
    left: 20vw;
    width: 11.7948717949vw;
    height: 11.7948717949vw;
    filter: brightness(0) invert(1);
  }
  .service02-cta__document {
    display: block;
    width: 100%;
    height: 38.4615384615vw;
    padding: 0;
    border-radius: 2.5641025641vw;
  }
  .service02-cta__document > span {
    position: absolute;
    top: 7.6923076923vw;
    left: 3.0769230769vw;
    width: calc(100% - 6.1538461538vw);
    font-size: 5.641025641vw;
    line-height: 10.7692307692vw;
    text-align: center;
    white-space: nowrap;
  }
  .service02-cta__document-divider {
    display: none;
  }
  .service02-cta__document-break {
    display: block;
  }
  .service02-cta__arrow--white {
    top: 20vw;
    right: 6.1538461538vw;
    left: auto;
    width: 8.2051282051vw;
    height: 8.2051282051vw;
  }
}
/* ===================================================
主なサポート内容 FV
=================================================== */
.support-fv {
  position: relative;
  height: 750px;
  padding: 0;
  overflow: hidden;
}

/* ===================================================
サービスの流れ・関連サービス
=================================================== */
.support-flow {
  padding: 50px 0;
  background: #d3effa;
}

.support-flow__inner {
  display: flex;
  width: calc(100% - 40px);
  max-width: 1200px;
  margin: 0 auto;
  flex-direction: column;
  gap: 50px;
}

.support-flow__title {
  color: #2ca6e0;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 42px;
  font-weight: 700;
  line-height: 63px;
  letter-spacing: 0.1em;
  text-align: center;
}

.support-flow__list {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.support-flow-step {
  display: grid;
  grid-template-columns: 59px 95px 306px 1px 37px minmax(0, 1fr) 30px;
  align-items: center;
  min-height: 140px;
  background: #fff;
  border-radius: 10px;
}

.support-flow-step--first {
  min-height: 235px;
}

.support-flow-step__number {
  grid-column: 2;
  color: #2ca6e0;
  font-family: "Aboreto", serif;
  font-size: 42px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.05em;
}

.support-flow-step__title {
  grid-column: 3;
  color: #2ca6e0;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.05em;
}

.support-flow-step__divider {
  grid-column: 4;
  justify-self: center;
  width: 78px;
  height: 1px;
  max-width: none;
  transform: rotate(90deg);
}

.support-flow-step--first .support-flow-step__divider {
  width: 174px;
}

.support-flow-step__text {
  grid-column: 6;
  color: #5e5e5e;
  font-size: 18px;
  font-weight: 400;
  line-height: 32px;
  letter-spacing: 0.05em;
  text-align: justify;
}

.support-other-services {
  overflow: hidden;
  padding: 0;
  background: #fff;
  border-radius: 10px;
}

.support-other-services__title {
  display: grid;
  height: 50px;
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 27px;
  font-weight: 700;
  line-height: 30px;
  letter-spacing: 0.14em;
  background: #29abe2;
  place-items: center;
}

.support-other-services__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-auto-flow: row;
  gap: 12px 100px;
  min-height: 289px;
  padding: 50px 44px;
}

.support-other-services__list li {
  display: flex;
  gap: 10px;
  align-items: center;
  min-width: 0;
  color: #525252;
  font-size: 27px;
  font-weight: 500;
  line-height: 30px;
  letter-spacing: 0.08em;
  white-space: nowrap;
}

.support-other-services__list img {
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
}

.support-related {
  padding: 50px 0 0;
  background: #fff;
}

.support-related__inner {
  width: calc(100% - 40px);
  max-width: 1200px;
  margin: 0 auto;
}

.support-related .recruit-contact {
  width: 100%;
}

.support-related__links {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 30px;
}

.support-related-card {
  position: relative;
  display: grid;
  overflow: hidden;
  color: #fff;
  text-decoration: none;
  aspect-ratio: 380/220;
  -webkit-mask-image: url("../images/recruit/related-mask.svg");
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
  mask-image: url("../images/recruit/related-mask.svg");
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: 100% 100%;
  place-items: center;
}

.support-related-card > img,
.support-related-card > span {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.support-related-card > img {
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.35s ease;
}

.support-related-card > span {
  z-index: 1;
  background: rgba(0, 0, 0, 0.35);
}

.support-related-card > strong {
  position: relative;
  z-index: 2;
  font-size: 28.6px;
  font-weight: 400;
  line-height: 42.6px;
  letter-spacing: 0.05em;
  text-align: center;
  white-space: nowrap;
}

@media (hover: hover) and (pointer: fine) {
  .support-related-card:hover > img {
    transform: scale(1.03);
  }
}
@media screen and (max-width: 1080px) {
  .support-flow-step {
    grid-template-columns: 35px 80px minmax(210px, 28%) 1px 28px minmax(0, 1fr) 25px;
  }
  .support-flow-step__text {
    font-size: 16px;
    line-height: 28px;
  }
  .support-other-services__list {
    gap: 12px 40px;
    padding-right: 32px;
    padding-left: 32px;
  }
  .support-other-services__list li {
    font-size: clamp(17px, 2.1vw, 24px);
    letter-spacing: 0.04em;
  }
  .support-related-card > strong {
    font-size: clamp(20px, 2.25vw, 28px);
  }
}
@media screen and (max-width: 800px) {
  .support-flow-step,
  .support-flow-step--first {
    grid-template-columns: 78px minmax(0, 1fr);
    grid-template-rows: auto auto;
    gap: 8px 12px;
    min-height: 0;
    padding: 28px;
  }
  .support-flow-step__number {
    grid-column: 1;
    grid-row: 1;
    align-self: start;
    font-size: 34px;
  }
  .support-flow-step__title {
    grid-column: 2;
    grid-row: 1;
    align-self: start;
    font-size: 21px;
  }
  .support-flow-step__divider {
    display: none;
  }
  .support-flow-step__text {
    grid-column: 1/-1;
    grid-row: 2;
    text-align: left;
  }
  .support-other-services__list {
    grid-template-columns: 1fr;
    min-height: 0;
    padding: 32px;
  }
  .support-other-services__list li {
    font-size: 20px;
  }
  .support-related__links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
  }
  .support-related-card:last-child {
    grid-column: 1/-1;
    justify-self: center;
    width: calc(50% - 10px);
  }
}
@media screen and (max-width: 760px) {
  .support-flow {
    padding: 8.2051282051vw 0;
  }
  .support-flow__inner {
    width: calc(100% - 5.1282051282vw);
    gap: 8.2051282051vw;
  }
  .support-flow__title {
    font-size: 7.1794871795vw;
    line-height: 1.5;
    letter-spacing: 0.06em;
  }
  .support-flow__list {
    gap: 3.0769230769vw;
  }
  .support-flow-step,
  .support-flow-step--first {
    grid-template-columns: 14.8717948718vw minmax(0, 1fr);
    padding: 5.641025641vw 4.6153846154vw;
  }
  .support-flow-step__number {
    font-size: 7.4358974359vw;
  }
  .support-flow-step__title {
    font-size: 4.8717948718vw;
    letter-spacing: 0.02em;
  }
  .support-flow-step__text {
    font-size: 3.8461538462vw;
    line-height: 6.6666666667vw;
    letter-spacing: 0.02em;
  }
  .support-other-services__title {
    height: 12.3076923077vw;
    font-size: 5.641025641vw;
  }
  .support-other-services__list {
    gap: 3.5897435897vw;
    padding: 6.1538461538vw 4.6153846154vw;
  }
  .support-other-services__list li {
    gap: 2.0512820513vw;
    font-size: 4.1025641026vw;
    line-height: 1.5;
    white-space: normal;
  }
  .support-other-services__list img {
    flex-basis: 7.1794871795vw;
    width: 7.1794871795vw;
    height: 7.1794871795vw;
  }
  .support-related {
    padding-top: 8.2051282051vw;
  }
  .support-related__inner {
    width: calc(100% - 5.1282051282vw);
  }
  .support-related__links {
    grid-template-columns: 1fr;
    gap: 3.5897435897vw;
  }
  .support-related-card,
  .support-related-card:last-child {
    grid-column: auto;
    width: 100%;
  }
  .support-related-card > strong {
    font-size: 6.1538461538vw;
  }
}
.support-fv__visual {
  position: absolute;
  top: 60px;
  left: 50%;
  width: calc(100% - 90px);
  max-width: 1349px;
  overflow: hidden;
  border-radius: 10px;
  transform: translateX(-50%);
}

.support-fv__visual picture {
  display: block;
}

.support-fv__image {
  display: block;
  width: 100%;
  height: auto;
}

.support-fv__copy,
.support-fv__message,
.support-fv__statement {
  position: absolute;
  left: max(20px, (100vw - 1200px) / 2);
  z-index: 1;
}

.support-fv__copy {
  top: 267px;
  display: block;
  width: 727px;
  height: 60px;
}

.support-fv__copy img {
  display: block;
  width: 100%;
  height: auto;
}

.support-fv__message {
  top: 365px;
  width: 567px;
  color: #5e5e5e;
  font-size: 18px;
  font-weight: 400;
  line-height: 46px;
  letter-spacing: 0.05em;
  text-align: justify;
}

.support-fv__statement {
  top: 628px;
  width: -moz-max-content;
  width: max-content;
  padding: 1px 12px 3px;
  color: #495b5f;
  font-family: "Noto Serif JP", serif;
  font-size: 24px;
  font-weight: 500;
  line-height: 33px;
  letter-spacing: 0.05em;
  background: #fff;
}

.support-page {
  padding-top: 0;
}

/* ===================================================
主なサポート内容
=================================================== */
.support-services {
  padding: 0 0 100px;
}

.support-services__inner {
  width: calc(100% - 40px);
  max-width: 1146px;
  margin: 0 auto;
}

.support-services__title {
  margin-bottom: 50px;
  color: #5e5e5e;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 42px;
  font-weight: 700;
  line-height: 63px;
  letter-spacing: 0.1em;
  text-align: center;
}

.support-services__grid {
  display: grid;
  grid-template-columns: repeat(4, 264px);
  gap: 50px 30px;
}

.support-service-card {
  width: 264px;
}

.support-service-card__visual {
  position: relative;
  width: 264px;
  height: 264px;
}

.support-service-card__circle {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
}

.support-service-card__icon {
  position: absolute;
  top: 38px;
  left: 50%;
  display: block;
  width: 106px;
  height: 106px;
  -o-object-fit: cover;
     object-fit: cover;
  transform: translateX(-50%);
}

.support-service-card__icon--large {
  top: 43px;
  width: 111px;
  height: 111px;
}

.support-service-card h3 {
  position: absolute;
  top: 167px;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 64px;
  color: transparent;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 24px;
  font-weight: 600;
  line-height: 32px;
  letter-spacing: 0.05em;
  text-align: center;
  background: linear-gradient(180deg, #5ccee6 0%, #aaf273 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.support-service-card > p {
  width: 198px;
  margin: 20px auto 0;
  color: #5e5e5e;
  font-size: 18px;
  font-weight: 400;
  line-height: 27px;
  letter-spacing: 0;
  text-align: justify;
}

@media screen and (max-width: 1185px) {
  .support-services__grid {
    grid-template-columns: repeat(2, 264px);
    justify-content: center;
  }
}
/* ===================================================
SIMNAの高卒サポート強み
=================================================== */
.support-strengths {
  padding: 50px 0;
}

.support-strengths__inner {
  width: calc(100% - 40px);
  max-width: 1200px;
  margin: 0 auto;
}

.support-strengths__title {
  margin-bottom: 50px;
  color: #5e5e5e;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 42px;
  font-weight: 700;
  line-height: 63px;
  letter-spacing: 0.1em;
  text-align: center;
}

.support-strengths__list {
  display: flex;
  flex-direction: column;
  gap: 33px;
}

.support-strength {
  display: grid;
  grid-template-columns: 600px 540px;
  gap: 60px;
  width: 100%;
  height: 233px;
}

.support-strength__visual {
  position: relative;
  width: 600px;
  height: 233px;
  overflow: hidden;
  border-radius: 10px;
  -webkit-mask-image: url("../images/support/strength-mask.svg");
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
  mask-image: url("../images/support/strength-mask.svg");
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: 100% 100%;
}

.support-strength__visual img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  -o-object-fit: cover;
     object-fit: cover;
}

.support-strength--01 .support-strength__visual img {
  -o-object-position: center 69%;
     object-position: center 69%;
}

.support-strength--02 .support-strength__visual img {
  -o-object-position: center 40%;
     object-position: center 40%;
}

.support-strength--03 .support-strength__visual img {
  -o-object-position: center 59%;
     object-position: center 59%;
}

.support-strength--04 .support-strength__visual img {
  -o-object-position: center 43%;
     object-position: center 43%;
}

.support-strength--05 .support-strength__visual img {
  -o-object-position: center 94%;
     object-position: center 94%;
}

.support-strength--06 .support-strength__visual img {
  -o-object-position: center 93%;
     object-position: center 93%;
}

.support-strength__content {
  position: relative;
  width: 540px;
  height: 233px;
}

.support-strength__number,
.support-strength h3 {
  color: transparent;
  background: linear-gradient(180deg, #5ccee6 0%, #aaf273 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.support-strength__number {
  position: absolute;
  top: 45px;
  left: 6px;
  width: 129px;
  font-size: 90px;
  font-weight: 400;
  line-height: 65px;
  letter-spacing: 0.03em;
}

.support-strength h3 {
  position: absolute;
  top: 29px;
  left: 145px;
  width: 405px;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 32px;
  font-weight: 700;
  line-height: 48px;
  letter-spacing: 0.08em;
}

.support-strength h3.is-single {
  top: 49px;
}

.support-strength__text {
  position: absolute;
  top: 150px;
  left: 0;
  width: 540px;
  color: #000;
  font-size: 18px;
  font-weight: 400;
  line-height: 30px;
  letter-spacing: 0;
  text-align: justify;
}

@media screen and (max-width: 1240px) {
  .support-strength {
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
    gap: 30px;
  }
  .support-strength__visual,
  .support-strength__content {
    width: 100%;
  }
  .support-strength h3 {
    left: 27%;
    width: 73%;
    font-size: clamp(24px, 2.55vw, 32px);
  }
  .support-strength__text {
    width: 100%;
  }
}
@media screen and (max-width: 900px) {
  .support-strengths__list {
    gap: 64px;
  }
  .support-strength {
    display: flex;
    height: auto;
    flex-direction: column;
    gap: 20px;
  }
  .support-strength__visual {
    height: auto;
    aspect-ratio: 600/233;
  }
  .support-strength__content {
    width: min(540px, 100%);
    height: 210px;
    margin: 0 auto;
  }
}
/* ===================================================
高卒採用のメリット
=================================================== */
.support-merits {
  padding: 50px 0;
}

.support-merits__inner {
  width: calc(100% - 40px);
  max-width: 1200px;
  margin: 0 auto;
}

.support-merits__title {
  margin-bottom: 50px;
  color: #5e5e5e;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 42px;
  font-weight: 700;
  line-height: 63px;
  letter-spacing: 0.1em;
  text-align: center;
}

.support-merits__box {
  position: relative;
  width: 1200px;
  height: 463px;
  border: 1px solid #5ccee6;
  border-radius: 10px;
}

.support-merit {
  position: absolute;
  left: 50px;
  display: grid;
  grid-template-columns: 385px 682px;
  gap: 33px;
  align-items: center;
  width: 1100px;
  height: 79px;
}

.support-merit--01 {
  top: 50px;
}

.support-merit--02 {
  top: 191px;
}

.support-merit--03 {
  top: 332px;
}

.support-merit h3 {
  display: grid;
  width: 385px;
  height: 79px;
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 32px;
  font-weight: 700;
  line-height: 48px;
  letter-spacing: 0.08em;
  text-align: center;
  background: linear-gradient(180deg, #5ccee6 0%, #aaf273 100%);
  border-radius: 10px;
  place-items: center;
}

.support-merit p {
  width: 682px;
  color: #000;
  font-size: 18px;
  font-weight: 400;
  line-height: 27px;
  letter-spacing: 0;
  text-align: justify;
}

.support-merits__divider {
  position: absolute;
  left: 50px;
  display: block;
  width: 1100px;
  height: 1px;
}

.support-merits__divider--01 {
  top: 161px;
}

.support-merits__divider--02 {
  top: 302px;
}

@media screen and (max-width: 1240px) {
  .support-merits__box {
    width: 100%;
  }
  .support-merit,
  .support-merits__divider {
    left: 4.16%;
    width: 91.67%;
  }
  .support-merit {
    grid-template-columns: minmax(260px, 35%) minmax(0, 1fr);
    gap: 30px;
  }
  .support-merit h3,
  .support-merit p {
    width: 100%;
  }
  .support-merit h3 {
    font-size: clamp(24px, 2.55vw, 32px);
  }
}
@media screen and (max-width: 900px) {
  .support-merits__box {
    display: flex;
    height: auto;
    padding: 36px;
    flex-direction: column;
    gap: 30px;
  }
  .support-merit,
  .support-merits__divider {
    position: static;
    width: 100%;
  }
  .support-merit {
    display: flex;
    height: auto;
    flex-direction: column;
    gap: 20px;
  }
  .support-merit h3 {
    width: min(385px, 100%);
  }
  .support-merit p {
    width: 100%;
  }
}
/* ===================================================
採用実績・お客様の声
=================================================== */
.support-showcase {
  padding: 100px 0 0;
}

.support-showcase--cases {
  padding-bottom: 100px;
}

.support-showcase__inner {
  display: flex;
  width: calc(100% - 40px);
  max-width: 1190px;
  margin: 0 auto;
  flex-direction: column;
  gap: 50px;
  align-items: center;
}

.support-showcase__title {
  width: 100%;
  color: #5e5e5e;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 42px;
  font-weight: 700;
  line-height: 63px;
  letter-spacing: 0.1em;
  text-align: center;
}

.support-showcase__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  width: 100%;
}

.support-showcase-card {
  width: 100%;
}

.support-showcase-card > a {
  display: block;
  color: inherit;
}

.support-showcase-card__thumbnail {
  width: 100%;
  height: 250px;
  overflow: hidden;
  background: #dbdcdc;
  border-radius: 10px;
}

.support-showcase-card__thumbnail img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.35s ease;
}

.support-showcase-card__content {
  display: flex;
  width: 305px;
  margin: 25px 0 0;
  flex-direction: column;
  gap: 15px;
  align-items: flex-start;
}

.support-showcase-card h3 {
  overflow: hidden;
  width: 100%;
  color: #7c7c7c;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 22px;
  font-weight: 300;
  line-height: normal;
  letter-spacing: 0.05em;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

.support-showcase-card__content > p {
  overflow: hidden;
  width: 100%;
  height: 23px;
  color: #7c7c7c;
  font-size: 16px;
  font-weight: 500;
  line-height: normal;
  letter-spacing: 0.05em;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.support-showcase-card__tag {
  display: grid;
  width: 118px;
  height: 23px;
  color: #fcfcfc;
  font-size: 15px;
  font-weight: 500;
  line-height: normal;
  letter-spacing: 0.05em;
  border-radius: 5px;
  place-items: center;
}

.support-showcase-card__tag--recruit-support {
  background: linear-gradient(97.45deg, #7176fa 28.071%, #e49cf4 73.669%);
}

.support-showcase-card__tag--web-community {
  background: linear-gradient(90deg, #0ae0c8, #1ab3a2);
}

.support-showcase__more {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 383px;
  height: 87px;
  padding: 8px 12px 7px 40px;
  color: #7c7c7c;
  font-size: 22px;
  font-weight: 400;
  line-height: normal;
  letter-spacing: 0.05em;
  border: 1px solid #7c7c7c;
  border-radius: 100px;
}

.support-showcase__more img {
  display: block;
  width: 72px;
  height: 72px;
  transform: rotate(90deg);
}

@media (hover: hover) and (pointer: fine) {
  .support-showcase-card > a:hover .support-showcase-card__thumbnail img {
    transform: scale(1.03);
  }
  .support-showcase__more:hover {
    color: #000;
    background: #f7f7f7;
  }
}
@media screen and (max-width: 900px) {
  .support-showcase__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .support-showcase-card:last-child {
    grid-column: 1/-1;
    width: calc((100% - 20px) / 2);
    margin: 0 auto;
  }
  .support-showcase-card__thumbnail {
    height: auto;
    aspect-ratio: 383.333/250;
  }
  .support-showcase-card__content {
    width: calc(100% - 40px);
  }
}
@media screen and (max-width: 1240px) {
  .support-fv__visual {
    width: calc(100% - 40px);
  }
  .support-fv__copy,
  .support-fv__message,
  .support-fv__statement {
    left: 40px;
  }
  .support-fv__copy {
    width: min(727px, 100% - 80px);
    height: auto;
  }
}
@media screen and (max-width: 760px) {
  .support-fv {
    height: 164.6153846154vw;
  }
  .support-fv__visual {
    top: 0;
    left: 0;
    width: 100%;
    height: 87.9487179487vw;
    max-width: none;
    transform: none;
  }
  .support-fv__image {
    position: absolute;
    top: 12.0512820513vw;
    left: -30.26%;
    width: 153.04%;
    height: 77.88%;
    -o-object-fit: fill;
       object-fit: fill;
  }
  .support-fv__statement span {
    display: block;
    white-space: nowrap;
  }
  .support-fv__copy,
  .support-fv__message,
  .support-fv__statement {
    left: 7.6923076923vw;
  }
  .support-fv__copy {
    top: 38.9743589744vw;
    display: block;
    width: 50.2564102564vw;
    height: auto;
  }
  .support-fv__message {
    top: 117.9487179487vw;
    width: calc(100% - 15.3846153846vw);
    font-size: 4.1025641026vw;
    line-height: 7.6923076923vw;
    letter-spacing: 0;
    text-align: justify;
    word-break: break-word;
  }
  .support-fv__message p {
    display: inline;
  }
  .support-fv__statement {
    top: 82.0512820513vw;
    bottom: auto;
    width: calc(100% - 15.3846153846vw);
    padding: 0;
    color: #495b5f;
    font-family: "Zen Antique", "Noto Serif JP", serif;
    font-size: 6.1538461538vw;
    font-weight: 400;
    line-height: 9.2307692308vw;
    letter-spacing: 0.05em;
    text-align: center;
    background: transparent;
  }
  .support-services {
    padding: 8.2051282051vw 0;
  }
  .support-services__title {
    margin-bottom: 8.2051282051vw;
    font-size: 7.1794871795vw;
    line-height: 1.5;
    letter-spacing: 0.06em;
  }
  .support-services__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9.2307692308vw 3.0769230769vw;
  }
  .support-service-card,
  .support-service-card__visual {
    width: 100%;
  }
  .support-service-card__visual {
    height: auto;
    aspect-ratio: 1;
  }
  .support-service-card__icon {
    top: 14.4%;
    width: 40.15%;
    height: 40.15%;
  }
  .support-service-card__icon--large {
    top: 16.3%;
    width: 42.05%;
    height: 42.05%;
  }
  .support-service-card h3 {
    top: 63.25%;
    min-height: 24.25%;
    font-size: clamp(3.8461538462vw, 4.6vw, 5.1282051282vw);
    line-height: 1.35;
    letter-spacing: 0.02em;
  }
  .support-service-card > p {
    width: 100%;
    margin-top: 3.0769230769vw;
    padding: 0 1.0256410256vw;
    font-size: 3.5897435897vw;
    line-height: 1.65;
    text-align: left;
  }
  .support-strengths {
    padding: 8.2051282051vw 0;
  }
  .support-strengths__title {
    margin-bottom: 8.2051282051vw;
    font-size: 7.1794871795vw;
    line-height: 1.5;
    letter-spacing: 0.06em;
  }
  .support-strengths__list {
    gap: 12.3076923077vw;
  }
  .support-strength {
    gap: 3.0769230769vw;
  }
  .support-strength__content {
    height: 48.7179487179vw;
  }
  .support-strength__number {
    top: 7.1794871795vw;
    left: 0;
    width: 18.9743589744vw;
    font-size: 13.3333333333vw;
    line-height: 13.3333333333vw;
  }
  .support-strength h3,
  .support-strength h3.is-single {
    top: 4.1025641026vw;
    left: 20vw;
    width: calc(100% - 20vw);
    font-size: 5.3846153846vw;
    line-height: 1.5;
    letter-spacing: 0.04em;
  }
  .support-strength h3.is-single {
    top: 7.6923076923vw;
  }
  .support-strength__text {
    top: 28.7179487179vw;
    width: 100%;
    font-size: 3.8461538462vw;
    line-height: 1.8;
    text-align: left;
  }
  .support-merits {
    padding: 8.2051282051vw 0;
  }
  .support-merits__title {
    margin-bottom: 8.2051282051vw;
    font-size: 7.1794871795vw;
    line-height: 1.5;
    letter-spacing: 0.06em;
  }
  .support-merits__box {
    padding: 6.1538461538vw 4.6153846154vw;
    gap: 6.1538461538vw;
  }
  .support-merit {
    gap: 4.1025641026vw;
  }
  .support-merit h3 {
    height: auto;
    min-height: 16.4102564103vw;
    padding: 2.5641025641vw;
    font-size: 5.641025641vw;
    line-height: 1.5;
    letter-spacing: 0.04em;
  }
  .support-merit p {
    font-size: 3.8461538462vw;
    line-height: 1.8;
    text-align: left;
  }
  .support-showcase {
    padding-top: 8.2051282051vw;
  }
  .support-showcase--cases {
    padding-bottom: 8.2051282051vw;
  }
  .support-showcase__inner {
    gap: 8.2051282051vw;
  }
  .support-showcase__title {
    font-size: 7.1794871795vw;
    line-height: 1.5;
    letter-spacing: 0.06em;
  }
  .support-showcase__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 9.2307692308vw;
  }
  .support-showcase-card:last-child {
    grid-column: auto;
    width: 100%;
  }
  .support-showcase-card__content {
    width: calc(100% - 8.2051282051vw);
    margin-top: 4.6153846154vw;
    gap: 2.5641025641vw;
  }
  .support-showcase-card h3 {
    font-size: 4.8717948718vw;
  }
  .support-showcase__more {
    width: min(98.2051282051vw, 100%);
    height: 18.4615384615vw;
    padding-left: 7.6923076923vw;
    font-size: 4.6153846154vw;
  }
  .support-showcase__more img {
    width: 14.8717948718vw;
    height: 14.8717948718vw;
  }
}
/* ===================================================
4つの強み FV
=================================================== */
.strengths-fv {
  position: relative;
  height: 807px;
  padding: 0;
  overflow: hidden;
}

.strengths-fv__visual {
  position: absolute;
  top: 60px;
  left: 50%;
  width: calc(100% - 91px);
  max-width: 1349px;
  height: 730px;
  overflow: hidden;
  border-radius: 10px;
  transform: translateX(-50%);
}

.strengths-fv__image {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 730px;
  -o-object-position: center bottom;
     object-position: center bottom;
}

.strengths-fv__title {
  position: absolute;
  top: 221px;
  left: max(20px, (100vw - 1200px) / 2);
  z-index: 1;
  display: flex;
  margin: 0;
  color: #5e5e5e;
  font-family: "Zen Antique", "Noto Serif JP", serif;
  font-weight: 400;
  letter-spacing: 0.05em;
  flex-direction: column;
  gap: 25px;
}

.strengths-fv__line,
.strengths-fv__phrase {
  display: flex;
  align-items: baseline;
  height: 51px;
  white-space: nowrap;
}

.strengths-fv__line strong,
.strengths-fv__line small {
  color: inherit;
  font: inherit;
  line-height: 1;
}

.strengths-fv__line strong {
  font-size: 50px;
}

.strengths-fv__line small {
  font-size: 35px;
}

.strengths-fv__service {
  position: absolute;
  top: 375px;
  left: max(20px, (100vw - 1212px) / 2);
  z-index: 1;
  display: flex;
  align-items: center;
  width: 492px;
  height: 79px;
  padding: 0 20px 7px;
  color: #fff;
  font-family: "Zen Antique", "Noto Serif JP", serif;
  font-size: 51px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.05em;
  background: linear-gradient(96deg, #e49cf4 0%, #7176fa 100%);
  border-radius: 10px;
  white-space: nowrap;
}

.strengths-fv__curve {
  display: none;
}

.strengths-page {
  padding-top: 0;
}

/* ===================================================
SIMNA4つの強み
=================================================== */
.strengths-advantages {
  padding: 0 0 100px;
}

.strengths-advantages__title {
  display: flex;
  margin: 0;
  color: #5e5e5e;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-align: center;
  flex-direction: column;
}

.strengths-advantages__title span {
  color: #5e5e5e;
  font-size: 42px;
  line-height: 63px;
}

.strengths-advantages__title strong {
  color: transparent;
  font-size: 52px;
  line-height: 69px;
  background: linear-gradient(96deg, #e49cf4 0%, #7176fa 100%);
  background-clip: text;
  -webkit-background-clip: text;
}

.strengths-advantages__panel {
  width: calc(100% - 40px);
  max-width: 1200px;
  height: 1148px;
  padding: 35px;
  margin: 49px auto 0;
  border: 1px solid #7176fa;
}

.strengths-advantages__grid {
  display: grid;
  grid-template-columns: repeat(2, 555px);
  gap: 20px;
}

.strengths-advantage-card {
  display: flex;
  width: 555px;
  height: 529px;
  padding: 27px 21px 25px 27px;
  background: #fff;
  border: 1px solid #7176fa;
  border-radius: 10px;
  flex-direction: column;
  gap: 20px;
}

.strengths-advantage-card__image {
  display: block;
  width: 507px;
  height: 338px;
  -o-object-fit: cover;
     object-fit: cover;
}

.strengths-advantage-card__content {
  display: flex;
  width: 507px;
  flex-direction: column;
  gap: 20px;
}

.strengths-advantage-card h3 {
  width: 100%;
  height: 26px;
  color: transparent;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 26px;
  font-weight: 900;
  line-height: 26px;
  letter-spacing: 0.08em;
  background: linear-gradient(96deg, #e49cf4 0%, #7176fa 100%);
  background-clip: text;
  -webkit-background-clip: text;
  white-space: nowrap;
}

.strengths-advantage-card p {
  width: 100%;
  color: #5e5e5e;
  font-size: 18px;
  font-weight: 400;
  line-height: 26px;
  letter-spacing: 0.08em;
  text-align: justify;
}

@media screen and (max-width: 1240px) {
  .strengths-fv__visual {
    width: calc(100% - 40px);
  }
  .strengths-fv__title {
    left: 40px;
  }
  .strengths-fv__service {
    left: 34px;
  }
  .strengths-advantages__panel {
    height: auto;
    padding: 30px;
  }
  .strengths-advantages__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .strengths-advantage-card {
    width: 100%;
    height: auto;
    min-height: 529px;
    padding: 24px;
  }
  .strengths-advantage-card__image,
  .strengths-advantage-card__content {
    width: 100%;
  }
  .strengths-advantage-card__image {
    height: auto;
    aspect-ratio: 640/427;
  }
  .strengths-advantage-card h3 {
    font-size: clamp(20px, 2.05vw, 26px);
  }
  .strengths-advantage-card p {
    font-size: clamp(15px, 1.45vw, 18px);
  }
}
@media screen and (max-width: 760px) {
  .strengths-fv {
    height: 166.6666666667vw;
  }
  .strengths-fv__visual {
    top: 17.9487179487vw;
    width: calc(100% - 5.1282051282vw);
    height: 133.3333333333vw;
    border-radius: 2.0512820513vw;
  }
  .strengths-fv__image {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: 34% center;
       object-position: 34% center;
  }
  .strengths-fv__title {
    top: 41.0256410256vw;
    left: 7.1794871795vw;
    gap: 3.3333333333vw;
    letter-spacing: 0.03em;
  }
  .strengths-fv__line {
    height: 8.2051282051vw;
  }
  .strengths-fv__line strong {
    font-size: clamp(6.4102564103vw, 7.4vw, 8.2051282051vw);
  }
  .strengths-fv__line small {
    font-size: clamp(4.6153846154vw, 5.3vw, 5.8974358974vw);
  }
  .strengths-fv__service {
    top: 68.7179487179vw;
    left: 5.1282051282vw;
    width: min(82.0512820513vw, 100% - 10.2564102564vw);
    height: 14.8717948718vw;
    padding: 0 3.5897435897vw 1.0256410256vw;
    font-size: clamp(7.4358974359vw, 8.1vw, 9.2307692308vw);
    border-radius: 2.0512820513vw;
  }
  .strengths-advantages {
    padding-bottom: 8.2051282051vw;
  }
  .strengths-advantages__title {
    padding: 0 2.5641025641vw;
    letter-spacing: 0.06em;
  }
  .strengths-advantages__title span {
    font-size: 6.9230769231vw;
    line-height: 1.5;
  }
  .strengths-advantages__title strong {
    font-size: 8.7179487179vw;
    line-height: 1.5;
  }
  .strengths-advantages__panel {
    width: calc(100% - 5.1282051282vw);
    padding: 2.5641025641vw;
    margin-top: 8.2051282051vw;
  }
  .strengths-advantages__grid {
    grid-template-columns: 1fr;
    gap: 3.0769230769vw;
  }
  .strengths-advantage-card {
    min-height: 0;
    padding: 4.1025641026vw;
    gap: 4.1025641026vw;
    border-radius: 2.0512820513vw;
  }
  .strengths-advantage-card__content {
    gap: 3.0769230769vw;
  }
  .strengths-advantage-card h3 {
    height: auto;
    font-size: 5.1282051282vw;
    line-height: 1.5;
    letter-spacing: 0.253025641vw;
    white-space: normal;
  }
  .strengths-advantage-card p {
    font-size: 3.8461538462vw;
    line-height: 1.8;
    letter-spacing: 0.04em;
    text-align: left;
  }
}
/* ===================================================
採用業務のお悩み
=================================================== */
.strengths-concerns {
  height: 544px;
  padding: 80px 0;
  color: #fff;
  background: linear-gradient(166deg, #e49cf4 0%, #7176fa 100%);
}

.strengths-concerns__inner {
  display: flex;
  width: 922px;
  margin: 0 auto;
  flex-direction: column;
  gap: 46px;
  align-items: center;
}

.strengths-concerns h2 {
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 42px;
  font-weight: 700;
  line-height: 30px;
  letter-spacing: 0.08em;
  text-align: center;
}

.strengths-concerns ul {
  display: flex;
  width: 100%;
  flex-direction: column;
  gap: 37px;
}

.strengths-concerns li {
  display: flex;
  gap: 15px;
  align-items: center;
  color: #fff;
  font-size: 27px;
  font-weight: 500;
  line-height: 30px;
  letter-spacing: 0.08em;
  white-space: nowrap;
}

.strengths-concerns li img {
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
}

/* ===================================================
業務内容
=================================================== */
.strengths-tasks {
  padding: 100px 0 126px;
}

.strengths-tasks__inner {
  width: calc(100% - 40px);
  max-width: 1200px;
  margin: 0 auto;
}

.strengths-tasks h2 {
  color: #5e5e5e;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 42px;
  font-weight: 700;
  line-height: 63px;
  letter-spacing: 0.1em;
  text-align: center;
}

.strengths-tasks__list {
  display: flex;
  margin-top: 50px;
  flex-direction: column;
  gap: 50px;
}

.strengths-task {
  display: flex;
  flex-direction: column;
}

.strengths-task__heading {
  display: flex;
  gap: 10px;
  align-items: center;
}

.strengths-task__number {
  position: static;
  width: 129px;
  color: transparent;
  font-family: "Aboreto", serif;
  font-size: 90px;
  font-weight: 400;
  line-height: 65px;
  letter-spacing: 0.03em;
  background: linear-gradient(108deg, #e49cf4 0%, #7176fa 100%);
  background-clip: text;
  -webkit-background-clip: text;
}

.strengths-task h3 {
  position: static;
  color: transparent;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 32px;
  font-weight: 700;
  line-height: 48px;
  letter-spacing: 0.08em;
  background: linear-gradient(96deg, #e49cf4 0%, #7176fa 100%);
  background-clip: text;
  -webkit-background-clip: text;
  white-space: nowrap;
}

.strengths-task__title-break {
  display: none;
}

.strengths-task__item-break {
  display: none;
}

.strengths-task__items {
  display: grid;
  grid-template-columns: 357px 385px minmax(0, 1fr);
  width: calc(100% - 139px);
  margin-top: 30px;
  margin-left: 139px;
  color: #000;
}

.strengths-task__items ul {
  min-width: 0;
}

.strengths-task__items li {
  font-size: 18px;
  font-weight: 400;
  line-height: 30px;
  letter-spacing: 0;
  white-space: nowrap;
}

.strengths-task__items li::before {
  content: "●";
}

.strengths-tasks__divider {
  display: block;
  width: 1200px;
  height: 1px;
}

/* ===================================================
サービスの流れ
=================================================== */
.strengths-flow {
  height: 833px;
  padding: 50px 0;
  background: #d3effa;
}

.strengths-flow__inner {
  display: flex;
  width: calc(100% - 40px);
  max-width: 1200px;
  margin: 0 auto;
  flex-direction: column;
  gap: 50px;
  align-items: center;
}

.strengths-flow h2 {
  width: 100%;
  color: #2ca6e0;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 42px;
  font-weight: 700;
  line-height: 63px;
  letter-spacing: 0.1em;
  text-align: center;
}

.strengths-flow__list {
  display: flex;
  width: 100%;
  flex-direction: column;
  gap: 20px;
}

.strengths-flow-step {
  display: grid;
  grid-template-columns: 59px 95px 306px 1px 37px minmax(0, 1fr) 30px;
  align-items: center;
  height: 140px;
  background: #fff;
  border-radius: 10px;
}

.strengths-flow-step__number {
  grid-column: 2;
  color: #2ca6e0;
  font-family: "Aboreto", serif;
  font-size: 42px;
  font-weight: 400;
  line-height: 32px;
  letter-spacing: 0.1em;
}

.strengths-flow-step h3 {
  grid-column: 3;
  color: #2ca6e0;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 24px;
  font-weight: 600;
  line-height: 32px;
  letter-spacing: 0.05em;
  white-space: nowrap;
}

.strengths-flow-step__divider {
  grid-column: 4;
  display: block;
  width: 1px;
  height: 78px;
  background: #000;
}

.strengths-flow-step__text {
  grid-column: 6;
  color: #5e5e5e;
  font-size: 18px;
  font-weight: 400;
  line-height: 32px;
  letter-spacing: 0.05em;
  text-align: justify;
}

/* ===================================================
採用代行プラン
=================================================== */
.strengths-plans {
  padding: 100px 0 127px;
}

.strengths-plans__inner {
  display: flex;
  gap: 30px;
  width: 990px;
  margin: 0 auto;
}

.strengths-plan {
  position: relative;
  width: 480px;
  height: 750px;
  padding-top: 146px;
}

.strengths-plan__ribbon {
  position: absolute;
  top: 0;
  left: 0;
  width: 480px;
  height: 146px;
}

.strengths-plan__ribbon > img {
  position: absolute;
  inset: 0;
  display: block;
  width: 480px;
  height: 146px;
}

.strengths-plan__ribbon p {
  position: relative;
  z-index: 1;
  padding-top: 18px;
  color: #fff;
  font-family: "Zen Antique", "Noto Serif JP", serif;
  font-size: 32px;
  font-weight: 700;
  line-height: 45px;
  letter-spacing: 0.08em;
  text-align: center;
}

.strengths-plan__card {
  height: 604px;
  padding: 40px;
  border: 1px solid #000;
  border-radius: 10px;
}

.strengths-plan__card h2 {
  color: transparent;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 32px;
  font-weight: 900;
  line-height: 30px;
  letter-spacing: 0.08em;
  text-align: center;
  background: linear-gradient(96deg, #e49cf4 0%, #7176fa 100%);
  background-clip: text;
  -webkit-background-clip: text;
  white-space: nowrap;
}

.strengths-plan__divider {
  display: block;
  width: 100%;
  height: 1px;
  margin-top: 28px;
}

.strengths-plan ul {
  display: flex;
  margin-top: 28px;
  flex-direction: column;
  gap: 28px;
}

.strengths-plan li {
  display: flex;
  gap: 13px;
  align-items: center;
  color: #000;
  font-size: 24px;
  font-weight: 400;
  line-height: 30px;
  white-space: nowrap;
}

.strengths-plan li img {
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
}

.strengths-plan--standard .strengths-plan__card {
  padding-right: 54px;
}

.strengths-plan__base {
  display: grid;
  width: 100%;
  height: 75px;
  margin-top: 27px;
  color: #fff;
  font-size: 32px;
  font-weight: 900;
  line-height: 30px;
  letter-spacing: 0.08em;
  background: linear-gradient(96deg, rgba(228, 156, 244, 0.8), rgba(113, 118, 250, 0.8));
  border-radius: 10px;
  place-items: center;
}

.strengths-plan__plus {
  display: block;
  width: 63px;
  height: 63px;
  margin: 16px auto 0;
}

.strengths-plan--standard ul {
  margin-top: 24px;
}

/* ===================================================
関連サービス・お問い合わせ
=================================================== */
.strengths-related {
  padding: 0 0 50px;
}

.strengths-related__inner {
  width: calc(100% - 40px);
  max-width: 1200px;
  margin: 0 auto;
}

.strengths-related__links {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 30px;
}

.strengths-related .recruit-contact {
  width: 100%;
}

.strengths-related-card--current {
  display: none;
}

@media screen and (max-width: 1240px) {
  .strengths-concerns__inner {
    width: min(922px, 100% - 80px);
  }
  .strengths-concerns li {
    font-size: clamp(20px, 2.1vw, 27px);
  }
  .strengths-task__items {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .strengths-task__items li {
    font-size: clamp(14px, 1.42vw, 18px);
  }
  .strengths-tasks__divider {
    width: 100%;
  }
  .strengths-flow-step {
    grid-template-columns: 35px 80px minmax(250px, 28%) 1px 28px minmax(0, 1fr) 25px;
  }
  .strengths-flow-step__text {
    font-size: 16px;
    line-height: 28px;
  }
  .strengths-plans__inner {
    width: calc(100% - 40px);
  }
  .strengths-plan {
    flex: 1 1 0;
    min-width: 0;
  }
  .strengths-plan,
  .strengths-plan__ribbon,
  .strengths-plan__ribbon > img {
    width: 100%;
  }
  .strengths-plan li {
    font-size: clamp(18px, 1.9vw, 24px);
  }
}
@media screen and (max-width: 760px) {
  .strengths-concerns {
    height: auto;
    padding: 8.2051282051vw 0;
  }
  .strengths-concerns__inner {
    width: calc(100% - 10.2564102564vw);
    gap: 7.1794871795vw;
  }
  .strengths-concerns h2 {
    font-size: 6.4102564103vw;
    line-height: 1.5;
    letter-spacing: 0.04em;
  }
  .strengths-concerns ul {
    gap: 4.6153846154vw;
  }
  .strengths-concerns li {
    gap: 2.5641025641vw;
    align-items: flex-start;
    font-size: 4.1025641026vw;
    line-height: 1.7;
    letter-spacing: 0.03em;
    white-space: normal;
  }
  .strengths-concerns li img {
    flex-basis: 7.1794871795vw;
    width: 7.1794871795vw;
    height: 7.1794871795vw;
  }
  .strengths-tasks {
    padding: 8.2051282051vw 0 12.3076923077vw;
  }
  .strengths-tasks__inner {
    width: calc(100% - 5.1282051282vw);
  }
  .strengths-tasks h2,
  .strengths-flow h2 {
    font-size: 7.1794871795vw;
    line-height: 1.5;
    letter-spacing: 0.06em;
  }
  .strengths-tasks__list {
    margin-top: 8.2051282051vw;
    gap: 7.1794871795vw;
  }
  .strengths-task {
    display: flex;
    flex-direction: column;
  }
  .strengths-task__heading {
    gap: 2.0512820513vw;
    width: 100%;
  }
  .strengths-task__number {
    width: auto;
    font-size: 12.3076923077vw;
    line-height: 1;
  }
  .strengths-task h3 {
    font-size: 5.3846153846vw;
    line-height: 1.5;
    letter-spacing: 0.04em;
    white-space: normal;
  }
  .strengths-task__items {
    display: flex;
    width: 100%;
    margin-top: 4.6153846154vw;
    margin-left: 0;
    flex-direction: column;
    gap: 0;
  }
  .strengths-task__items li {
    font-size: 3.8461538462vw;
    line-height: 1.8;
    white-space: normal;
  }
  .strengths-tasks__divider {
    height: 0.2564102564vw;
  }
  .strengths-flow {
    height: auto;
    padding: 8.2051282051vw 0;
  }
  .strengths-flow__inner {
    width: calc(100% - 5.1282051282vw);
    gap: 8.2051282051vw;
  }
  .strengths-flow__list {
    gap: 3.0769230769vw;
  }
  .strengths-flow-step {
    grid-template-columns: 14.8717948718vw minmax(0, 1fr);
    grid-template-rows: auto auto;
    gap: 2.5641025641vw;
    height: auto;
    padding: 5.641025641vw 4.6153846154vw;
  }
  .strengths-flow-step__number {
    grid-column: 1;
    grid-row: 1;
    align-self: start;
    font-size: 7.4358974359vw;
    line-height: 1;
  }
  .strengths-flow-step h3 {
    grid-column: 2;
    grid-row: 1;
    font-size: 4.8717948718vw;
    line-height: 1.5;
    white-space: normal;
  }
  .strengths-flow-step__divider {
    display: none;
  }
  .strengths-flow-step__text {
    grid-column: 1/-1;
    grid-row: 2;
    font-size: 3.8461538462vw;
    line-height: 1.8;
    letter-spacing: 0.02em;
    text-align: left;
  }
  .strengths-plans {
    padding: 8.2051282051vw 0 12.3076923077vw;
  }
  .strengths-plans__inner {
    width: calc(100% - 5.1282051282vw);
    flex-direction: column;
    gap: 6.1538461538vw;
  }
  .strengths-plan {
    height: auto;
    padding-top: 27.6923076923vw;
  }
  .strengths-plan__ribbon,
  .strengths-plan__ribbon > img {
    height: 27.6923076923vw;
  }
  .strengths-plan__ribbon p {
    padding-top: 3.0769230769vw;
    font-size: 5.8974358974vw;
    line-height: 8.7179487179vw;
  }
  .strengths-plan__card {
    height: auto;
    padding: 7.1794871795vw 5.1282051282vw;
  }
  .strengths-plan__card h2,
  .strengths-plan__base {
    font-size: 6.1538461538vw;
  }
  .strengths-plan li {
    gap: 2.3076923077vw;
    font-size: 4.1025641026vw;
    white-space: normal;
  }
  .strengths-plan li img {
    flex-basis: 9.2307692308vw;
    width: 9.2307692308vw;
    height: 9.2307692308vw;
  }
  .strengths-related {
    padding-bottom: 8.2051282051vw;
  }
  .strengths-related__inner {
    width: calc(100% - 5.1282051282vw);
  }
  .strengths-related__links {
    grid-template-columns: 1fr;
    gap: 3.5897435897vw;
  }
}
/* 4つの強み SP（Figma 1218:1273）
***************************************************************/
@media screen and (max-width: 760px) {
  .strengths-fv {
    height: 82.0512820513vw;
    overflow: hidden;
  }
  .strengths-fv__visual {
    top: 0;
    left: 0;
    width: 100%;
    height: 82.0512820513vw;
    border-radius: 2.5641025641vw;
    transform: none;
  }
  .strengths-fv__image {
    top: 12.0512820513vw;
    left: -40.42%;
    width: 163.35%;
    height: 82.93%;
    max-width: none;
    -o-object-fit: initial;
       object-fit: initial;
    -o-object-position: initial;
       object-position: initial;
  }
  .strengths-fv__title {
    top: 28.7179487179vw;
    left: 8.2051282051vw;
    z-index: 3;
    gap: 0.2564102564vw;
    letter-spacing: 0.05em;
    filter: drop-shadow(0 0 3.8461538462vw #fff);
  }
  .strengths-fv__line {
    flex-direction: column;
    height: auto;
    align-items: flex-start;
  }
  .strengths-fv__phrase {
    height: 6.1538461538vw;
  }
  .strengths-fv__line strong,
  .strengths-fv__line small {
    line-height: 6.1538461538vw;
  }
  .strengths-fv__line strong {
    font-size: 4.6153846154vw;
  }
  .strengths-fv__line small {
    font-size: 3.5897435897vw;
  }
  .strengths-fv__service {
    top: 57.4358974359vw;
    left: 7.6923076923vw;
    z-index: 3;
    width: 43.5897435897vw;
    height: 7.9487179487vw;
    padding: 0 1.2820512821vw 0.5128205128vw;
    font-size: 4.6153846154vw;
    line-height: 7.3076923077vw;
    border-radius: 1.0256410256vw;
  }
  .strengths-fv__curve {
    display: none;
  }
  .strengths-advantages {
    padding: 0 0 20.5128205128vw;
  }
  .strengths-advantages__title {
    width: 72.3076923077vw;
    height: 25.8974358974vw;
    padding: 0;
    margin: 0 auto;
    letter-spacing: 1.0769230769vw;
    white-space: nowrap;
  }
  .strengths-advantages__title span {
    font-size: 4.6153846154vw;
    line-height: 12.3076923077vw;
  }
  .strengths-advantages__title strong {
    font-size: 8.2051282051vw;
    line-height: 12.3076923077vw;
  }
  .strengths-advantages__panel {
    width: 84.6153846154vw;
    height: 426.2469230769vw;
    padding: 8.7179487179vw 6.7948717949vw 8.9743589744vw;
    margin: 8.2051282051vw auto 0;
    box-sizing: border-box;
  }
  .strengths-advantages__grid {
    grid-template-columns: 70.5128205128vw;
    gap: 6.1538461538vw;
  }
  .strengths-advantage-card {
    width: 70.5128205128vw;
    min-height: 0;
    padding: 3.0769230769vw 2.8205128205vw;
    gap: 4.1025641026vw;
    border-radius: 0;
  }
  .strengths-advantage-card:nth-child(1) {
    height: 98.7179487179vw;
  }
  .strengths-advantage-card:nth-child(2) {
    height: 92.8307692308vw;
  }
  .strengths-advantage-card:nth-child(3) {
    height: 98.9846153846vw;
  }
  .strengths-advantage-card:nth-child(4) {
    height: 99.3035897436vw;
    padding: 3.1738461538vw 2.8205128205vw;
  }
  .strengths-advantage-card__image {
    width: 64.1025641026vw;
    height: 42.8205128205vw;
    aspect-ratio: auto;
  }
  .strengths-advantage-card:nth-child(2) .strengths-advantage-card__image,
  .strengths-advantage-card:nth-child(3) .strengths-advantage-card__image {
    height: 42.5974358974vw;
  }
  .strengths-advantage-card:nth-child(4) .strengths-advantage-card__image {
    height: 42.9764102564vw;
  }
  .strengths-advantage-card__content {
    width: 64.1025641026vw;
    gap: 2.0512820513vw;
  }
  .strengths-advantage-card h3 {
    height: auto;
    font-size: 5.1282051282vw;
    line-height: 6.1538461538vw;
    letter-spacing: 0.05em;
  }
  .strengths-advantage-card p {
    font-size: 4.1025641026vw;
    line-height: 6.1538461538vw;
    letter-spacing: 0.05em;
    text-align: justify;
  }
  .strengths-concerns {
    height: 119.4871794872vw;
    padding: 8.9743589744vw 7.6923076923vw;
    background: linear-gradient(-38.713deg, #7176fa 28.071%, #e49cf4 73.669%);
  }
  .strengths-concerns__inner {
    gap: 8.2051282051vw;
    align-items: center;
    width: 84.6153846154vw;
  }
  .strengths-concerns h2 {
    width: 84.6153846154vw;
    font-size: 6.1538461538vw;
    line-height: 7.6923076923vw;
    letter-spacing: 0.08em;
  }
  .strengths-concerns ul {
    gap: 4.1025641026vw;
  }
  .strengths-concerns li {
    gap: 2.0512820513vw;
    width: 84.6153846154vw;
    min-height: 12.3076923077vw;
    font-size: 4.1025641026vw;
    font-weight: 500;
    line-height: 6.1538461538vw;
    letter-spacing: 0.08em;
    text-align: justify;
  }
  .strengths-concerns li img {
    flex: 0 0 7.6923076923vw;
    width: 7.6923076923vw;
    height: 7.6923076923vw;
  }
  .strengths-tasks {
    padding: 20.5128205128vw 0;
  }
  .strengths-tasks__inner {
    width: 84.6153846154vw;
  }
  .strengths-tasks h2 {
    width: 84.6153846154vw;
    font-size: 6.1538461538vw;
    line-height: 16.1538461538vw;
    letter-spacing: 0.1em;
  }
  .strengths-tasks__list {
    width: 74.358974359vw;
    margin-top: 2.0512820513vw;
    margin-left: 5.1282051282vw;
    gap: 6.1538461538vw;
  }
  .strengths-task {
    display: flex;
    width: 74.358974359vw;
    flex-direction: column;
  }
  .strengths-task__heading {
    gap: 8.2051282051vw;
    width: 100%;
  }
  .strengths-task__number {
    width: auto;
    font-size: 10.2564102564vw;
    line-height: 16.6666666667vw;
    letter-spacing: 0.03em;
  }
  .strengths-task h3 {
    width: 53.8461538462vw;
    font-size: 5.1282051282vw;
    line-height: 12.3076923077vw;
    letter-spacing: 0.08em;
  }
  .strengths-task__heading--multiline h3 {
    line-height: 7.6923076923vw;
  }
  .strengths-task__title-break {
    display: block;
  }
  .strengths-task__items {
    display: flex;
    width: 74.358974359vw;
    margin-top: 2.0512820513vw;
    margin-left: 0;
    flex-direction: column;
    gap: 0;
  }
  .strengths-task__items ul {
    display: contents;
  }
  .strengths-task__items li {
    font-size: 4.6153846154vw;
    line-height: 10.2564102564vw;
    white-space: normal;
  }
  .strengths-task__item-break {
    display: block;
  }
  .strengths-task__item-continuation {
    display: inline-block;
    padding-left: 1em;
    line-height: 7.6923076923vw;
  }
  .strengths-task__items ul:nth-child(1) li:nth-child(1) {
    order: 1;
  }
  .strengths-task__items ul:nth-child(2) li:nth-child(1) {
    order: 2;
  }
  .strengths-task__items ul:nth-child(3) li:nth-child(1) {
    order: 3;
  }
  .strengths-task__items ul:nth-child(1) li:nth-child(2) {
    order: 4;
  }
  .strengths-task__items ul:nth-child(2) li:nth-child(2) {
    order: 5;
  }
  .strengths-task__items ul:nth-child(3) li:nth-child(2) {
    order: 6;
  }
  .strengths-task__items ul:nth-child(1) li:nth-child(3) {
    order: 7;
  }
  .strengths-task__items ul:nth-child(2) li:nth-child(3) {
    order: 8;
  }
  .strengths-task__items ul:nth-child(3) li:nth-child(3) {
    order: 9;
  }
  .strengths-tasks__divider {
    width: 74.358974359vw;
    height: 0.2564102564vw;
    margin-bottom: -0.2564102564vw;
    border: 0;
  }
  .strengths-flow {
    height: 313.3333333333vw;
    padding: 14.1025641026vw 7.6923076923vw;
  }
  .strengths-flow__inner {
    gap: 6.1538461538vw;
    width: 84.8717948718vw;
  }
  .strengths-flow h2 {
    font-size: 6.1538461538vw;
    line-height: 6.1538461538vw;
    letter-spacing: 0.1em;
  }
  .strengths-flow__list {
    gap: 6.1538461538vw;
  }
  .strengths-flow-step {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    grid-template-rows: 8.2051282051vw 0 auto;
    gap: 3.8461538462vw 4.1025641026vw;
    align-content: start;
    width: 84.8717948718vw;
    padding: 6.4102564103vw 7.1794871795vw;
    border-radius: 2.5641025641vw;
  }
  .strengths-flow-step:nth-child(1) {
    height: 59.4871794872vw;
  }
  .strengths-flow-step:nth-child(2) {
    height: 65.641025641vw;
  }
  .strengths-flow-step:nth-child(3) {
    height: 59.4871794872vw;
  }
  .strengths-flow-step:nth-child(4) {
    height: 69.7435897436vw;
  }
  .strengths-flow-step__number {
    grid-column: 1;
    grid-row: 1;
    align-self: center;
    font-size: 8.2051282051vw;
    line-height: 8.2051282051vw;
    letter-spacing: 0.1em;
  }
  .strengths-flow-step h3 {
    grid-column: 2;
    grid-row: 1;
    align-self: center;
    font-size: 4.6153846154vw;
    line-height: 8.2051282051vw;
    letter-spacing: 0.05em;
    white-space: nowrap;
  }
  .strengths-flow-step__divider {
    grid-column: 1/-1;
    grid-row: 2;
    display: block;
    width: 70.5128205128vw;
    height: 0.2564102564vw;
    background: #000;
  }
  .strengths-flow-step__text {
    grid-column: 1/-1;
    grid-row: 3;
    width: 70.5128205128vw;
    font-size: 4.1025641026vw;
    line-height: 6.1538461538vw;
    letter-spacing: 0.05em;
    text-align: justify;
  }
  .strengths-flow-step:nth-child(4) .strengths-flow-step__text {
    font-size: 4.6153846154vw;
    line-height: 8.2051282051vw;
    letter-spacing: 0.01em;
  }
  .strengths-plans {
    padding: 20.5128205128vw 0 8.2051282051vw;
  }
  .strengths-plans__inner {
    gap: 16.4102564103vw;
    width: 84.6153846154vw;
  }
  .strengths-plan {
    flex: none;
    width: 84.6153846154vw;
    height: 132.2115384615vw;
    padding-top: 25.7371794872vw;
  }
  .strengths-plan__ribbon,
  .strengths-plan__ribbon > img {
    width: 84.6153846154vw;
    height: 25.7371794872vw;
  }
  .strengths-plan__ribbon p {
    padding-top: 3.1730769231vw;
    font-size: 5.641025641vw;
    line-height: 7.9328205128vw;
    letter-spacing: 0.08em;
  }
  .strengths-plan__card,
  .strengths-plan--standard .strengths-plan__card {
    height: 106.4743589744vw;
    padding: 7.0512820513vw;
    border-radius: 1.7628205128vw;
  }
  .strengths-plan__card h2 {
    font-size: 5.641025641vw;
    line-height: 5.2884615385vw;
    letter-spacing: 0.08em;
  }
  .strengths-plan__divider {
    height: 0;
    margin-top: 4.9358974359vw;
  }
  .strengths-plan ul,
  .strengths-plan--standard ul {
    gap: 4.9358974359vw;
    margin-top: 4.9358974359vw;
  }
  .strengths-plan li {
    gap: 2.2917948718vw;
    height: 8.4615384615vw;
    font-size: 4.2307692308vw;
    line-height: 5.2884615385vw;
    white-space: nowrap;
  }
  .strengths-plan li img {
    flex: 0 0 8.4615384615vw;
    width: 8.4615384615vw;
    height: 8.4615384615vw;
  }
  .strengths-plan__base {
    width: 68.0448717949vw;
    height: 13.2212820513vw;
    margin-top: 4.9358974359vw;
    font-size: 5.641025641vw;
    line-height: 5.2884615385vw;
    letter-spacing: 0.08em;
    border-radius: 1.7628205128vw;
  }
  .strengths-plan__plus {
    width: 5.9776923077vw;
    height: 5.9776923077vw;
    margin: 5.641025641vw auto 0;
  }
  .strengths-plan--standard ul {
    gap: 4.9358974359vw;
    margin-top: 2.5641025641vw;
  }
  .strengths-related {
    padding: 0 0 8.2051282051vw;
  }
  .strengths-related__inner {
    width: 84.6153846154vw;
  }
  .strengths-related__links {
    grid-template-columns: repeat(2, 40.8333333333vw);
    grid-template-rows: repeat(2, 23.6694871795vw);
    gap: 3.0769230769vw;
    width: 84.7435897436vw;
  }
  .strengths-related-card--current {
    display: grid;
  }
  .strengths-related .support-related-card,
  .strengths-related .support-related-card:last-child {
    grid-column: auto;
    width: 40.8333333333vw;
    height: 23.6694871795vw;
    aspect-ratio: auto;
  }
  .strengths-related .support-related-card > strong {
    font-size: 3.5897435897vw;
    line-height: 3.5897435897vw;
    letter-spacing: 0.05em;
  }
  .strengths-related .recruit-contact {
    width: 84.6153846154vw;
    height: 20.5128205128vw;
    min-height: 20.5128205128vw;
    gap: 0;
    padding: 3.5897435897vw 3.0769230769vw;
    margin-top: 8.2051282051vw;
    border-radius: 0.8333333333vw;
  }
  .strengths-related .recruit-contact__copy {
    max-width: none;
    font-size: 4.1025641026vw;
    line-height: 3.0769230769vw;
    letter-spacing: 0.05em;
    white-space: nowrap;
  }
  .strengths-related .recruit-contact__button {
    gap: 0.8333333333vw;
    width: 75.3846153846vw;
    height: 7.1794871795vw;
    font-size: 4.1025641026vw;
    line-height: 4.1025641026vw;
    border-radius: 0.8333333333vw;
  }
  .strengths-related .recruit-contact__button img {
    width: 6.1538461538vw;
    height: 6.1538461538vw;
  }
  .page-template-page-strengths .site-footer {
    margin-top: 0;
  }
}
/* ===================================================
外国人採用 FV
=================================================== */
.foreign-fv {
  position: relative;
  padding: 60px 0 0;
  overflow: hidden;
}

.foreign-fv__visual {
  width: calc(100% - 91px);
  max-width: 1349px;
  overflow: hidden;
  margin: 0 auto;
  border-radius: 10px;
}

.foreign-fv__visual picture {
  display: block;
}

.foreign-fv__image {
  display: block;
  width: 100%;
  height: auto;
}

.foreign-fv__title,
.foreign-fv__copy {
  position: absolute;
  left: max(20px, (100vw - 1200px) / 2);
  z-index: 2;
  font-family: "Zen Antique", "Noto Serif JP", serif;
  font-weight: 400;
}

.foreign-fv__title {
  top: 197px;
  display: flex;
  align-items: baseline;
  color: #5e5e5e;
  line-height: 40.548px;
  letter-spacing: 0.05em;
  white-space: nowrap;
}

.foreign-fv__copy br {
  display: none;
}

.foreign-fv__title strong,
.foreign-fv__title small {
  color: inherit;
  font: inherit;
  line-height: inherit;
}

.foreign-fv__title strong {
  font-size: 64px;
}

.foreign-fv__title small {
  font-size: 54px;
}

.foreign-fv__copy {
  top: 275px;
  width: 539px;
  height: 37px;
  padding: 0 13px 4px;
  color: #495b5f;
  font-size: 24px;
  line-height: 33.79px;
  letter-spacing: 0.05em;
  background: #fff;
  white-space: nowrap;
}

.foreign-fv__curve {
  position: absolute;
  top: 732px;
  left: 50%;
  z-index: 1;
  display: block;
  width: 1561px;
  height: 203px;
  max-width: none;
  transform: translateX(-50%);
}

.foreign-recruitment-page {
  padding-top: 0;
}

/* ===================================================
外国人採用のご提案
=================================================== */
.foreign-opportunity {
  padding: 20px 0;
}

.foreign-opportunity__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 50px;
}

.foreign-opportunity__title {
  color: #5e5e5e;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 42px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
  text-align: center;
}

.foreign-opportunity__panel {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 30px;
  width: 100%;
  padding: 50px;
  border: 1px solid #ffb16e;
  border-radius: 10px;
}

.foreign-opportunity__row {
  display: grid;
  grid-template-columns: 520px 520px;
  gap: 60px;
  align-items: end;
  width: 100%;
}

.foreign-opportunity__figure {
  width: 520px;
  margin: 0;
}

.foreign-opportunity__figure img {
  display: block;
  width: 100%;
  height: auto;
}

.foreign-opportunity__body {
  display: flex;
  flex-direction: column;
  gap: 22px;
  width: 520px;
  padding-bottom: 1px;
}

.foreign-opportunity__lead {
  color: #ff8b33;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

.foreign-opportunity__body p {
  color: #5e5e5e;
  font-size: 18px;
  line-height: 1.78;
  letter-spacing: 0.05em;
}

.foreign-opportunity__logo {
  display: block;
  width: 424px;
  height: auto;
  margin: 0 auto;
}

/* ===================================================
外国人採用のメリット
=================================================== */
.foreign-benefits {
  padding: 0;
}

.foreign-benefits__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 50px;
}

.foreign-benefits__title {
  color: #5e5e5e;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 42px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
  text-align: center;
}

.foreign-benefits__panel {
  width: 100%;
  padding: 45px 50px 56px;
  border: 1px solid #ffb16e;
  border-radius: 10px;
}

.foreign-benefits__list {
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}

.foreign-benefits__item {
  display: grid;
  grid-template-columns: 385px 1fr;
  gap: 33px;
  align-items: center;
  min-height: 113px;
}

.foreign-benefits__item:not(:last-child) {
  margin-bottom: 29px;
  padding-bottom: 30px;
  border-bottom: 1px solid #ddd;
}

.foreign-benefits__heading {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 385px;
  height: 113px;
  margin: 0;
  padding: 8px 16px 12px;
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.04em;
  text-align: center;
  background: #ffb16e;
  border-radius: 10px;
}

.foreign-benefits__item p {
  color: #000;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0;
  text-align: justify;
}

/* ===================================================
外国人採用サポートの流れ
=================================================== */
.foreign-flow {
  padding: 50px 0;
}

.foreign-flow__inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 50px;
}

.foreign-flow__title {
  width: 100%;
  color: #5e5e5e;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 42px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
  text-align: center;
}

.foreign-flow__list {
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}

.foreign-flow__item {
  display: grid;
  grid-template-columns: 129px 1fr;
  gap: 10px;
  min-height: 185px;
}

.foreign-flow__item:not(:last-child) {
  margin-bottom: 30px;
  padding-bottom: 30px;
  border-bottom: 1px solid #ddd;
}

.foreign-flow__number {
  display: block;
  width: 129px;
  color: #ffb16e;
  font-family: "Aboreto", serif;
  font-size: 90px;
  font-weight: 400;
  line-height: 65px;
  letter-spacing: 0.03em;
}

.foreign-flow__content {
  min-width: 0;
  padding-top: 9px;
}

.foreign-flow__content h3 {
  width: 405px;
  color: #ffb16e;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 32px;
  font-weight: 700;
  line-height: 48px;
  letter-spacing: 0.08em;
}

.foreign-flow__details {
  display: grid;
  grid-template-columns: 575px 1fr;
  margin-top: 38px;
}

.foreign-flow__details ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.foreign-flow__details li {
  position: relative;
  padding-left: 1.5em;
  color: #000;
  font-size: 18px;
  font-weight: 400;
  line-height: 30px;
  letter-spacing: 0;
  text-align: justify;
  white-space: nowrap;
}

.foreign-flow__details li::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "●";
}

/* ===================================================
サービスの流れ
=================================================== */
.foreign-service-flow {
  height: 833px;
  padding: 50px 0;
  background: #ffeddd;
}

.foreign-service-flow__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 50px;
}

.foreign-service-flow__title {
  width: 100%;
  color: #ffb16e;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 42px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
  text-align: center;
}

.foreign-service-flow__list {
  display: flex;
  flex-direction: column;
  gap: 20px;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}

.foreign-service-flow__item {
  display: grid;
  grid-template-columns: 70px 30px 306px 1px 37px minmax(0, 1fr);
  align-items: center;
  width: 100%;
  height: 140px;
  padding: 0 30px 0 54px;
  background: #fff;
  border-radius: 10px;
}

.foreign-service-flow__number {
  grid-column: 1;
  color: #ffb16e;
  font-family: "Aboreto", serif;
  font-size: 42px;
  font-weight: 400;
  line-height: 32px;
  letter-spacing: 0.1em;
  text-align: center;
}

.foreign-service-flow__item h3 {
  grid-column: 3;
  color: #ffb16e;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 24px;
  font-weight: 600;
  line-height: 32px;
  letter-spacing: 0.05em;
}

.foreign-service-flow__divider {
  grid-column: 4;
  width: 1px;
  height: 78px;
  background: #777;
}

.foreign-service-flow__item p {
  grid-column: 6;
  color: #5e5e5e;
  font-size: 18px;
  font-weight: 400;
  line-height: 32px;
  letter-spacing: 0.05em;
  text-align: justify;
}

/* ===================================================
関連サービス・お問い合わせ
=================================================== */
.foreign-related {
  padding: 50px 0 100px;
}

.foreign-related__inner {
  display: flex;
  flex-direction: column;
  gap: 30px;
}

.foreign-related__links {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 30px;
  width: 100%;
}

.foreign-related-card {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 220px;
  overflow: hidden;
  color: #fff;
  border-radius: 10px;
}

.foreign-related-card--sp-current {
  display: none;
}

.foreign-related-card img,
.foreign-related-card > span {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.foreign-related-card img {
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
}

.foreign-related-card:nth-child(1) img {
  -o-object-position: 18% center;
     object-position: 18% center;
}

.foreign-related-card:nth-child(2) img {
  -o-object-position: 67% center;
     object-position: 67% center;
}

.foreign-related-card:nth-child(3) img,
.foreign-related-card:nth-child(4) img {
  -o-object-position: center;
     object-position: center;
}

.foreign-related-card > span {
  background: rgba(0, 0, 0, 0.33);
}

.foreign-related-card strong {
  position: relative;
  z-index: 1;
  font-size: 24px;
  font-weight: 400;
  line-height: 1.49;
  letter-spacing: 0.05em;
  white-space: nowrap;
}

.foreign-contact-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: 140px;
  padding: 0 27px 0 54px;
  color: #fff;
  background: #2ca6e0;
  border-radius: 10px;
}

.foreign-contact-cta > p {
  font-size: 32px;
  font-weight: 600;
  line-height: 1.12;
  letter-spacing: 0.05em;
  white-space: nowrap;
}

.foreign-contact-cta > a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 383px;
  height: 87px;
  padding: 20px;
  color: #000;
  background: #fff;
  border-radius: 10px;
}

.foreign-contact-cta > a strong {
  font-size: 32px;
  font-weight: 600;
  line-height: 1.12;
  letter-spacing: 0.05em;
  white-space: nowrap;
}

.foreign-contact-cta > a img {
  display: block;
  width: 48px;
  height: 48px;
}

@media screen and (max-width: 1240px) {
  .foreign-fv__visual {
    width: calc(100% - 40px);
  }
  .foreign-fv__title,
  .foreign-fv__copy {
    left: 40px;
  }
  .foreign-opportunity__inner {
    padding-right: 20px;
    padding-left: 20px;
  }
  .foreign-opportunity__row {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 40px;
  }
  .foreign-opportunity__figure,
  .foreign-opportunity__body {
    width: 100%;
  }
  .foreign-benefits__inner {
    padding-right: 20px;
    padding-left: 20px;
  }
  .foreign-benefits__item {
    grid-template-columns: minmax(300px, 35%) 1fr;
  }
  .foreign-benefits__heading {
    width: 100%;
  }
  .foreign-flow__inner {
    padding-right: 20px;
    padding-left: 20px;
  }
  .foreign-flow__item {
    grid-template-columns: 110px 1fr;
    gap: 8px;
  }
  .foreign-flow__number {
    width: 110px;
    font-size: 76px;
  }
  .foreign-flow__details {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .foreign-flow__details li {
    white-space: normal;
  }
  .foreign-service-flow__inner,
  .foreign-related__inner {
    padding-right: 20px;
    padding-left: 20px;
  }
  .foreign-service-flow__item {
    grid-template-columns: 60px 20px 270px 1px 25px minmax(0, 1fr);
    padding-right: 22px;
    padding-left: 30px;
  }
  .foreign-service-flow__item p {
    font-size: 16px;
    line-height: 1.7;
  }
  .foreign-related-card strong {
    font-size: 22px;
  }
  .foreign-contact-cta {
    padding-left: 30px;
  }
  .foreign-contact-cta > p,
  .foreign-contact-cta > a strong {
    font-size: 25px;
  }
}
@media screen and (max-width: 760px) {
  .foreign-fv {
    padding-top: 17.9487179487vw;
  }
  .foreign-fv__visual {
    width: calc(100% - 5.1282051282vw);
    border-radius: 2.0512820513vw;
  }
  .foreign-fv__image {
    width: 100%;
    height: auto;
  }
  .foreign-fv__title,
  .foreign-fv__copy {
    left: 7.1794871795vw;
  }
  .foreign-fv__title {
    top: 43.5897435897vw;
    line-height: 1;
    letter-spacing: 0.03em;
  }
  .foreign-fv__title strong {
    font-size: clamp(6.1538461538vw, 6.7vw, 7.6923076923vw);
  }
  .foreign-fv__title small {
    font-size: clamp(5.1282051282vw, 5.5vw, 6.4102564103vw);
  }
  .foreign-fv__copy {
    top: 59.4871794872vw;
    width: calc(100% - 14.358974359vw);
    height: auto;
    min-height: 8.7179487179vw;
    padding: 0.2564102564vw 2.0512820513vw 0.7692307692vw;
    font-size: clamp(3.0769230769vw, 3.35vw, 3.5897435897vw);
    line-height: 7.6923076923vw;
    letter-spacing: 0.02em;
  }
  .foreign-fv__curve {
    top: 156.9230769231vw;
    width: 256.4102564103vw;
    height: 33.3333333333vw;
  }
  .foreign-opportunity {
    padding: 8.2051282051vw 0;
  }
  .foreign-opportunity__inner {
    gap: 7.1794871795vw;
    padding-right: 0;
    padding-left: 0;
  }
  .foreign-opportunity__title {
    font-size: clamp(5.641025641vw, 6.15vw, 6.6666666667vw);
    line-height: 1.55;
    letter-spacing: 0.06em;
  }
  .foreign-opportunity__panel {
    gap: 8.7179487179vw;
    padding: 7.1794871795vw 4.6153846154vw 9.2307692308vw;
    border-radius: 2.0512820513vw;
  }
  .foreign-opportunity__row {
    display: flex;
    flex-direction: column;
    gap: 5.641025641vw;
    align-items: stretch;
  }
  .foreign-opportunity__body {
    gap: 3.5897435897vw;
    padding-bottom: 0;
  }
  .foreign-opportunity__lead {
    font-size: 5.1282051282vw;
    line-height: 1.55;
    letter-spacing: 0.03em;
  }
  .foreign-opportunity__lead br {
    display: none;
  }
  .foreign-opportunity__body p {
    font-size: 3.8461538462vw;
    line-height: 1.8;
    letter-spacing: 0.03em;
  }
  .foreign-opportunity__logo {
    width: min(78%, 82.0512820513vw);
    margin-top: 0.5128205128vw;
    margin-bottom: 0.5128205128vw;
  }
  .foreign-benefits {
    padding: 8.2051282051vw 0;
  }
  .foreign-benefits__inner {
    gap: 7.1794871795vw;
    padding-right: 0;
    padding-left: 0;
  }
  .foreign-benefits__title {
    font-size: clamp(6.1538461538vw, 7vw, 7.1794871795vw);
    line-height: 1.5;
    letter-spacing: 0.06em;
  }
  .foreign-benefits__panel {
    padding: 6.1538461538vw 4.6153846154vw 7.6923076923vw;
    border-radius: 2.0512820513vw;
  }
  .foreign-benefits__item {
    display: flex;
    flex-direction: column;
    gap: 4.6153846154vw;
    align-items: stretch;
  }
  .foreign-benefits__item:not(:last-child) {
    margin-bottom: 6.1538461538vw;
    padding-bottom: 6.1538461538vw;
  }
  .foreign-benefits__heading {
    width: 100%;
    height: auto;
    min-height: 24.6153846154vw;
    padding: 3.0769230769vw 3.8461538462vw 3.5897435897vw;
    font-size: 6.1538461538vw;
    line-height: 1.45;
    letter-spacing: 0.05em;
    border-radius: 2.0512820513vw;
  }
  .foreign-benefits__item p {
    font-size: 3.8461538462vw;
    line-height: 1.8;
    letter-spacing: 0.02em;
    text-align: left;
  }
  .foreign-flow {
    padding: 8.2051282051vw 0;
  }
  .foreign-flow__inner {
    gap: 7.1794871795vw;
    padding-right: 0;
    padding-left: 0;
  }
  .foreign-flow__title {
    font-size: clamp(6.1538461538vw, 7vw, 7.1794871795vw);
    line-height: 1.5;
    letter-spacing: 0.06em;
  }
  .foreign-flow__item {
    display: grid;
    grid-template-columns: 17.9487179487vw 1fr;
    gap: 2.0512820513vw;
    min-height: 0;
  }
  .foreign-flow__item:not(:last-child) {
    margin-bottom: 6.6666666667vw;
    padding-bottom: 6.6666666667vw;
  }
  .foreign-flow__number {
    width: 17.9487179487vw;
    font-size: 12.3076923077vw;
    line-height: 1;
    letter-spacing: 0.02em;
  }
  .foreign-flow__content {
    padding-top: 0;
  }
  .foreign-flow__content h3 {
    width: 100%;
    font-size: 5.641025641vw;
    line-height: 1.5;
    letter-spacing: 0.05em;
  }
  .foreign-flow__details {
    gap: 0;
    margin-top: 4.6153846154vw;
  }
  .foreign-flow__details li {
    padding-left: 3.3333333333vw;
    font-size: 3.8461538462vw;
    line-height: 1.8;
    text-align: left;
    text-indent: -1em;
    padding-left: 1em;
  }
  .foreign-service-flow {
    height: auto;
    padding: 8.2051282051vw 0;
  }
  .foreign-service-flow__inner {
    gap: 7.1794871795vw;
    padding-right: 0;
    padding-left: 0;
  }
  .foreign-service-flow__title {
    font-size: clamp(6.1538461538vw, 7vw, 7.1794871795vw);
    line-height: 1.5;
    letter-spacing: 0.06em;
  }
  .foreign-service-flow__list {
    gap: 3.8461538462vw;
  }
  .foreign-service-flow__item {
    grid-template-columns: 13.8461538462vw minmax(0, 1fr);
    gap: 3.0769230769vw;
    height: auto;
    min-height: 0;
    padding: 5.641025641vw 4.6153846154vw 6.1538461538vw;
  }
  .foreign-service-flow__number {
    grid-column: 1;
    font-size: 8.2051282051vw;
    line-height: 1;
    letter-spacing: 0.06em;
  }
  .foreign-service-flow__item h3 {
    grid-column: 2;
    font-size: 5.1282051282vw;
    line-height: 1.5;
    letter-spacing: 0.03em;
  }
  .foreign-service-flow__divider {
    display: none;
  }
  .foreign-service-flow__item p {
    grid-column: 1/-1;
    margin-top: 1.0256410256vw;
    font-size: 3.8461538462vw;
    line-height: 1.8;
    letter-spacing: 0.03em;
    text-align: left;
  }
  .foreign-related {
    padding: 8.2051282051vw 0;
  }
  .foreign-related__inner {
    gap: 5.1282051282vw;
    padding-right: 0;
    padding-left: 0;
  }
  .foreign-related__links {
    grid-template-columns: 1fr;
    gap: 3.8461538462vw;
  }
  .foreign-related-card {
    height: 46.1538461538vw;
  }
  .foreign-related-card strong {
    font-size: 5.641025641vw;
  }
  .foreign-contact-cta {
    flex-direction: column;
    gap: 4.6153846154vw;
    height: auto;
    padding: 6.4102564103vw 4.6153846154vw;
    text-align: center;
  }
  .foreign-contact-cta > p {
    font-size: 5.3846153846vw;
    line-height: 1.5;
    white-space: normal;
  }
  .foreign-contact-cta > a {
    width: 100%;
    height: 17.4358974359vw;
    padding: 3.0769230769vw;
  }
  .foreign-contact-cta > a strong {
    font-size: 5.8974358974vw;
  }
  .foreign-contact-cta > a img {
    width: 10.2564102564vw;
    height: 10.2564102564vw;
  }
}
/* ===================================================
Figma 718:8330 / SP (390px)
=================================================== */
@media screen and (max-width: 760px) {
  .foreign-fv {
    padding-top: 0;
  }
  .foreign-fv__visual {
    width: 100vw;
    max-width: none;
    margin: 0 auto;
    border-radius: 2.5641025641vw;
  }
  .foreign-fv__image {
    width: 100%;
    height: auto;
  }
  .foreign-fv__title {
    top: 17.9487179487vw;
    left: max(7.6923076923vw, (100vw - 84.6153846154vw) / 2);
    display: block;
    color: #5e5e5e;
    font-size: 3.0769230769vw;
    line-height: 3.0769230769vw;
    letter-spacing: 0.05em;
  }
  .foreign-fv__title strong,
  .foreign-fv__title small {
    font-size: inherit;
    line-height: inherit;
  }
  .foreign-fv__copy {
    top: 23.8461538462vw;
    left: max(7.6923076923vw, (100vw - 84.6153846154vw) / 2);
    width: auto;
    height: auto;
    min-height: 0;
    padding: 0;
    font-size: 3.0769230769vw;
    line-height: 3.8461538462vw;
    letter-spacing: 0.05em;
    background: transparent;
    white-space: nowrap;
  }
  .foreign-fv__copy span {
    display: inline-block;
    height: 3.8461538462vw;
    padding: 0 1.2820512821vw;
    background: #fff;
  }
  .foreign-fv__copy br {
    display: block;
    content: "";
  }
  .foreign-fv__curve {
    top: 73.0769230769vw;
    width: 128.2051282051vw;
    height: 32.8205128205vw;
  }
  .foreign-opportunity {
    padding: 0 0 15.9335897436vw;
  }
  .foreign-opportunity__inner {
    gap: 10vw;
    width: 84.6153846154vw;
    padding: 0;
  }
  .foreign-opportunity__title {
    width: 100%;
    height: auto;
    font-size: 6.1538461538vw;
    line-height: 10.2564102564vw;
    letter-spacing: 0.1em;
  }
  .foreign-opportunity__panel {
    gap: 14.358974359vw;
    width: 84.6153846154vw;
    padding: 7.6923076923vw 7.0512820513vw;
    border-radius: 2.5641025641vw;
  }
  .foreign-opportunity__row {
    gap: 8.1361538462vw;
    width: 70.5128205128vw;
  }
  .foreign-opportunity__figure,
  .foreign-opportunity__body {
    width: 70.5128205128vw;
  }
  .foreign-opportunity__body {
    gap: 2.9833333333vw;
  }
  .foreign-opportunity__lead {
    font-size: 4.6153846154vw;
    line-height: 6.9230769231vw;
    letter-spacing: 0.05em;
  }
  .foreign-opportunity__row:first-child .foreign-opportunity__lead {
    font-size: 4.1025641026vw;
  }
  .foreign-opportunity__lead br {
    display: none;
  }
  .foreign-opportunity__body p {
    font-size: 4.1025641026vw;
    line-height: 6.1538461538vw;
    letter-spacing: 0.05em;
    text-align: justify;
  }
  .foreign-opportunity__logo {
    width: 70.5128205128vw;
    height: 8.3205128205vw;
    margin: 0;
    -o-object-fit: contain;
       object-fit: contain;
  }
  .foreign-benefits {
    padding: 0 0 15.3930769231vw;
  }
  .foreign-benefits__inner {
    gap: 6.1538461538vw;
    width: 84.6153846154vw;
    padding: 0;
  }
  .foreign-benefits__title,
  .foreign-flow__title {
    height: 16.1538461538vw;
    font-size: 6.1538461538vw;
    line-height: 16.1538461538vw;
    letter-spacing: 0.1em;
  }
  .foreign-benefits__panel {
    width: 84.6153846154vw;
    padding: 7.6923076923vw 6.9230769231vw;
    border-radius: 2.5641025641vw;
  }
  .foreign-benefits__list {
    width: 70.5128205128vw;
    margin: 0 auto;
  }
  .foreign-benefits__item {
    gap: 8.4615384615vw;
    min-height: 66.0805128205vw;
  }
  .foreign-benefits__item:not(:last-child) {
    margin-bottom: 7.6923076923vw;
    padding-bottom: 7.6923076923vw;
  }
  .foreign-benefits__heading {
    width: 70.5128205128vw;
    min-height: 20.6958974359vw;
    height: 20.6958974359vw;
    padding: 2.1976923077vw 3.5897435897vw 3.4797435897vw;
    font-size: 5.8607692308vw;
    line-height: 8.7912820513vw;
    letter-spacing: 0.08em;
    border-radius: 1.8315384615vw;
  }
  .foreign-benefits__item p {
    width: 70.5128205128vw;
    font-size: 4.1025641026vw;
    line-height: 6.1538461538vw;
    letter-spacing: 0;
    text-align: justify;
  }
  .foreign-flow {
    padding: 0 0 6.1538461538vw;
  }
  .foreign-flow__inner {
    gap: 6.1538461538vw;
    width: 84.6153846154vw;
    padding: 0;
  }
  .foreign-flow__list {
    width: 74.358974359vw;
    margin: 0 auto;
  }
  .foreign-flow__item {
    position: relative;
    display: block;
    width: 74.358974359vw;
    min-height: 0;
  }
  .foreign-flow__item:nth-child(1),
  .foreign-flow__item:nth-child(3) {
    height: 113.5897435897vw;
  }
  .foreign-flow__item:nth-child(2) {
    height: 91.7948717949vw;
  }
  .foreign-flow__item:nth-child(4) {
    height: 107.1794871795vw;
  }
  .foreign-flow__item:nth-child(5) {
    height: 109.7435897436vw;
  }
  .foreign-flow__item:not(:last-child) {
    margin-bottom: 5.8974358974vw;
    padding-bottom: 6.1538461538vw;
  }
  .foreign-flow__number {
    position: absolute;
    top: 0;
    left: 0;
    width: auto;
    font-size: 10.2564102564vw;
    line-height: 16.6666666667vw;
    letter-spacing: 0.03em;
  }
  .foreign-flow__content {
    width: 74.358974359vw;
    padding: 0;
  }
  .foreign-flow__content h3 {
    display: flex;
    align-items: center;
    width: 55.3846153846vw;
    height: 16.6666666667vw;
    margin-left: 18.9743589744vw;
    font-size: 5.1282051282vw;
    line-height: 7.6923076923vw;
    letter-spacing: 0.08em;
  }
  .foreign-flow__details {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    width: 74.358974359vw;
    margin-top: 2.0512820513vw;
  }
  .foreign-flow__details ul {
    display: contents;
  }
  .foreign-flow__details li {
    padding-left: 1.5em;
    font-size: 4.6153846154vw;
    line-height: 7.6923076923vw;
    letter-spacing: 0;
    text-align: left;
    white-space: normal;
  }
  .foreign-flow__details li:not(:last-child) {
    margin-bottom: 2.5641025641vw;
  }
  .foreign-flow__details li::before {
    position: absolute;
  }
  .foreign-flow__item:nth-child(1) ul:first-child li:nth-child(1),
  .foreign-flow__item:nth-child(2) ul:first-child li:nth-child(1),
  .foreign-flow__item:nth-child(4) ul:first-child li:nth-child(1),
  .foreign-flow__item:nth-child(5) ul:first-child li:nth-child(1) {
    order: 1;
  }
  .foreign-flow__item:nth-child(1) ul:last-child li:nth-child(1),
  .foreign-flow__item:nth-child(2) ul:last-child li:nth-child(1),
  .foreign-flow__item:nth-child(4) ul:last-child li:nth-child(1),
  .foreign-flow__item:nth-child(5) ul:last-child li:nth-child(1) {
    order: 2;
  }
  .foreign-flow__item:nth-child(1) ul:first-child li:nth-child(2),
  .foreign-flow__item:nth-child(2) ul:first-child li:nth-child(2),
  .foreign-flow__item:nth-child(4) ul:first-child li:nth-child(2),
  .foreign-flow__item:nth-child(5) ul:first-child li:nth-child(2) {
    order: 3;
  }
  .foreign-flow__item:nth-child(1) ul:last-child li:nth-child(2),
  .foreign-flow__item:nth-child(2) ul:last-child li:nth-child(2),
  .foreign-flow__item:nth-child(4) ul:last-child li:nth-child(2),
  .foreign-flow__item:nth-child(5) ul:last-child li:nth-child(2) {
    order: 4;
  }
  .foreign-flow__item:nth-child(1) ul:first-child li:nth-child(3),
  .foreign-flow__item:nth-child(2) ul:first-child li:nth-child(3),
  .foreign-flow__item:nth-child(4) ul:first-child li:nth-child(3),
  .foreign-flow__item:nth-child(5) ul:first-child li:nth-child(3) {
    order: 5;
  }
  .foreign-flow__item:nth-child(5) ul:last-child li:nth-child(3) {
    order: 6;
  }
  .foreign-flow__item:nth-child(3) .foreign-flow__details li {
    order: initial;
  }
  .foreign-service-flow {
    height: 313.3333333333vw;
    padding: 14.1025641026vw 0;
  }
  .foreign-service-flow__inner {
    gap: 6.1538461538vw;
    width: 84.8717948718vw;
    padding: 0;
  }
  .foreign-service-flow__title {
    height: 6.1538461538vw;
    font-size: 6.1538461538vw;
    line-height: 6.1538461538vw;
    letter-spacing: 0.1em;
  }
  .foreign-service-flow__list {
    gap: 6.1538461538vw;
    width: 84.8717948718vw;
  }
  .foreign-service-flow__item {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 3.8461538462vw;
    width: 84.8717948718vw;
    min-height: 0;
    padding: 6.4102564103vw 7.1794871795vw;
  }
  .foreign-service-flow__item:nth-child(1),
  .foreign-service-flow__item:nth-child(3) {
    height: 59.4871794872vw;
  }
  .foreign-service-flow__item:nth-child(2) {
    height: 65.641025641vw;
  }
  .foreign-service-flow__item:nth-child(4) {
    height: 69.7435897436vw;
  }
  .foreign-service-flow__number,
  .foreign-service-flow__item h3 {
    grid-column: auto;
  }
  .foreign-service-flow__number {
    position: absolute;
    margin: 0;
    font-size: 8.2051282051vw;
    line-height: 8.2051282051vw;
    letter-spacing: 0.1em;
    text-align: left;
  }
  .foreign-service-flow__item h3 {
    width: 57.1794871795vw;
    height: 8.2051282051vw;
    margin-left: 13.3333333333vw;
    font-size: 4.6153846154vw;
    line-height: 8.2051282051vw;
    letter-spacing: 0.05em;
    white-space: nowrap;
  }
  .foreign-service-flow__divider {
    display: block;
    width: 70.5128205128vw;
    height: 0.2564102564vw;
    background: #777;
  }
  .foreign-service-flow__item p {
    grid-column: auto;
    width: 70.5128205128vw;
    margin: 0;
    font-size: 4.1025641026vw;
    line-height: 6.1538461538vw;
    letter-spacing: 0.05em;
    text-align: justify;
  }
  .foreign-related {
    padding: 8.2051282051vw 7.6923076923vw 8.2123076923vw;
  }
  .foreign-related__inner {
    gap: 8.2051282051vw;
    width: 84.6153846154vw;
    padding: 0;
  }
  .foreign-related__links {
    grid-template-columns: repeat(2, 40.8333333333vw);
    gap: 3.0769230769vw;
    width: 84.7435897436vw;
  }
  .foreign-related-card {
    width: 40.8333333333vw;
    height: 23.6694871795vw;
    border-radius: 2.5641025641vw;
  }
  .foreign-related-card--sp-current {
    display: flex;
  }
  .foreign-related-card strong {
    font-size: 3.5897435897vw;
    line-height: 3.5897435897vw;
    letter-spacing: 0.05em;
  }
  .foreign-contact-cta {
    flex-direction: column;
    gap: 2.8205128205vw;
    width: 84.6153846154vw;
    height: 20.5128205128vw;
    padding: 3.5897435897vw 4.6153846154vw 3.8461538462vw;
    text-align: center;
  }
  .foreign-contact-cta > p {
    font-size: 3.0769230769vw;
    line-height: 3.0769230769vw;
    letter-spacing: 0.05em;
    white-space: nowrap;
  }
  .foreign-contact-cta > a {
    gap: 0.7692307692vw;
    width: 75.3846153846vw;
    height: 7.1794871795vw;
    padding: 0;
    border-radius: 0.7692307692vw;
  }
  .foreign-contact-cta > a strong {
    font-size: 4.1025641026vw;
    line-height: 4.1025641026vw;
    letter-spacing: 0.05em;
  }
  .foreign-contact-cta > a img {
    width: 6.1538461538vw;
    height: 6.1538461538vw;
  }
  .page-template-page-foreign-recruitment .site-footer {
    margin-top: 0;
  }
}
/* ===================================================
特徴 FV
=================================================== */
.features-fv {
  position: relative;
  height: 935px;
  padding: 0;
  overflow: hidden;
}

.features-fv__visual {
  position: absolute;
  top: 60px;
  left: 50%;
  width: calc(100% - 91px);
  max-width: 1349px;
  height: 730px;
  overflow: hidden;
  border-radius: 10px;
  transform: translateX(-50%);
}

.features-fv__image {
  position: absolute;
  top: 7.26%;
  left: -10.22%;
  display: block;
  width: 120.45%;
  height: 92.74%;
  max-width: none;
}

.features-fv__label,
.features-fv__title {
  position: absolute;
  left: max(20px, (100vw - 1200px) / 2);
  z-index: 2;
  font-family: "Zen Antique", "Noto Serif JP", serif;
  font-weight: 400;
}

.features-fv__label {
  top: 265px;
  width: 451px;
  height: 57px;
}

.features-fv__label img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
}

.features-fv__label p {
  position: relative;
  z-index: 1;
  padding-left: 21px;
  color: #fff;
  font-size: 39px;
  line-height: 52px;
  letter-spacing: 0.05em;
  white-space: nowrap;
}

.features-fv__title {
  top: 348px;
  display: flex;
  flex-direction: column;
  width: 478px;
  font-size: 64px;
  line-height: 96px;
  letter-spacing: 0.05em;
  background: linear-gradient(34.27deg, #fb78b4 0%, #36b3e1 99.99%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.features-fv__title span {
  color: inherit;
  font: inherit;
  line-height: inherit;
  white-space: nowrap;
}

.features-fv__curve {
  position: absolute;
  top: 732px;
  left: 50%;
  z-index: 1;
  display: block;
  width: 1561px;
  height: 203px;
  max-width: none;
  transform: translateX(-50%);
}

.features-page {
  padding-top: 0;
}

/* ===================================================
SIMNAの特徴
=================================================== */
.features-points {
  padding: 50px 0;
}

.features-points__inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 50px;
}

.features-points__title {
  width: 100%;
  color: #5e5e5e;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 42px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
  text-align: center;
}

.features-points__list {
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}

.features-point {
  display: grid;
  grid-template-columns: 177px minmax(0, 1fr);
  gap: 43px;
  align-items: center;
  min-height: 177px;
}

.features-point:not(:last-child) {
  margin-bottom: 50px;
  padding-bottom: 50px;
  border-bottom: 1px solid #ddd;
}

.features-point__badge {
  position: relative;
  width: 177px;
  height: 177px;
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 800;
  text-align: center;
}

.features-point__badge-bg,
.features-point__badge-ring {
  position: absolute;
  display: block;
}

.features-point__badge-bg {
  inset: 0;
  width: 177px;
  height: 177px;
}

.features-point__badge-ring {
  top: 4.48px;
  left: 4.48px;
  width: 168px;
  height: 168px;
}

.features-point__badge-line,
.features-point__badge-value,
.features-point__badge-note {
  position: absolute;
  z-index: 1;
  display: block;
  line-height: 1;
  letter-spacing: 0.03em;
  white-space: nowrap;
}

.features-point__badge--repeat .features-point__badge-line--1 {
  top: 22px;
  left: 31px;
  font-size: 22px;
}

.features-point__badge--repeat .features-point__badge-line--2 {
  top: 50px;
  left: 31px;
  font-size: 29px;
}

.features-point__badge-value {
  top: 86px;
  left: 38px;
  font-size: 60px;
}

.features-point__badge-value small {
  font-size: 22px;
}

.features-point__badge--revision .features-point__badge-line--1 {
  top: 19px;
  left: 44px;
  font-size: 22px;
}

.features-point__badge--revision .features-point__badge-line--2 {
  top: 57px;
  left: 26px;
  font-size: 32px;
}

.features-point__badge-note {
  top: 106px;
  left: 39px;
  font-size: 16px;
  line-height: 24px;
}

.features-point__badge--materials .features-point__badge-line--1 {
  top: 19px;
  left: 55px;
  font-size: 22px;
}

.features-point__badge--materials .features-point__badge-line--2 {
  top: 57px;
  left: 23px;
  font-size: 32px;
}

.features-point__badge--materials .features-point__badge-line--3 {
  top: 103px;
  left: 42px;
  font-size: 32px;
}

.features-point__badge--communication .features-point__badge-line--1 {
  top: 32px;
  left: 37px;
  font-size: 17px;
}

.features-point__badge--communication .features-point__badge-line--2 {
  top: 66px;
  left: 19px;
  font-size: 27px;
}

.features-point__badge--communication .features-point__badge-line--3 {
  top: 110px;
  left: 31px;
  font-size: 16px;
}

.features-point__info {
  display: grid;
  grid-template-columns: 129px minmax(0, 1fr);
  grid-template-rows: 65px auto;
  -moz-column-gap: 10px;
       column-gap: 10px;
  row-gap: 24px;
  min-width: 0;
}

.features-point__number,
.features-point__info h3 {
  background: linear-gradient(20deg, #fb78b4 0%, #36b3e1 99.99%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.features-point__number {
  grid-column: 1;
  grid-row: 1;
  width: 129px;
  font-family: "Aboreto", serif;
  font-size: 90px;
  font-weight: 400;
  line-height: 65px;
  letter-spacing: 0.03em;
}

.features-point__info h3 {
  grid-column: 2;
  grid-row: 1;
  padding-top: 9px;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 32px;
  font-weight: 700;
  line-height: 48px;
  letter-spacing: 0.08em;
}

.features-point__info p {
  grid-column: 2;
  grid-row: 2;
  color: #000;
  font-size: 18px;
  font-weight: 400;
  line-height: 30px;
  letter-spacing: 0;
  text-align: justify;
}

/* ===================================================
制作対応メニュー
=================================================== */
.features-production {
  padding: 0 0 100px;
}

.features-production__panel {
  height: 390px;
  padding: 34px;
  border: 1px solid transparent;
  border-radius: 10px;
  background: linear-gradient(#fff, #fff) padding-box, linear-gradient(20deg, #fb78b4 0%, #36b3e1 99.99%) border-box;
}

.features-production__grid {
  display: grid;
  grid-template-columns: repeat(2, 555px);
  grid-auto-rows: 150px;
  gap: 20px;
}

.features-production__item {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 555px;
  height: 150px;
  border: 1px solid transparent;
  border-radius: 10px;
  background: linear-gradient(#fff, #fff) padding-box, linear-gradient(20deg, #fb78b4 0%, #36b3e1 99.99%) border-box;
}

.features-production__item p {
  color: transparent;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 32px;
  font-weight: 700;
  line-height: 48px;
  letter-spacing: 0.08em;
  text-align: center;
  background: linear-gradient(20deg, #fb78b4 0%, #36b3e1 99.99%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  white-space: nowrap;
}

/* ===================================================
関連サービス
=================================================== */
.features-related {
  width: calc(100% - 80px);
  max-width: 1354px;
  padding: 0;
  margin: 0 auto;
}

.features-related__links {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 25px;
  width: 100%;
}

.features-related-card {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 185px;
  overflow: hidden;
  color: #fff;
  border-radius: 10px;
}

.features-related-card img,
.features-related-card > span {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.features-related-card img {
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
}

.features-related-card:nth-child(1) img {
  -o-object-position: 25% center;
     object-position: 25% center;
}

.features-related-card:nth-child(2) img {
  -o-object-position: 68% center;
     object-position: 68% center;
}

.features-related-card:nth-child(3) img,
.features-related-card:nth-child(4) img {
  -o-object-position: center;
     object-position: center;
}

.features-related-card > span {
  background: rgba(0, 0, 0, 0.33);
}

.features-related-card strong {
  position: relative;
  z-index: 1;
  font-size: 24px;
  font-weight: 400;
  line-height: 30px;
  letter-spacing: 0.05em;
  white-space: nowrap;
}

@media (hover: hover) and (pointer: fine) {
  .features-related-card img {
    transition: transform 0.4s ease;
  }
  .features-related-card:hover img {
    transform: scale(1.04);
  }
}
@media screen and (max-width: 1240px) {
  .features-fv__visual {
    width: calc(100% - 40px);
  }
  .features-fv__label,
  .features-fv__title {
    left: 40px;
  }
  .features-points__inner {
    padding-right: 20px;
    padding-left: 20px;
  }
  .features-point {
    grid-template-columns: 155px minmax(0, 1fr);
    gap: 30px;
  }
  .features-point__badge {
    transform: scale(0.875);
    transform-origin: center;
  }
  .features-point__info {
    grid-template-columns: 110px minmax(0, 1fr);
  }
  .features-point__number {
    width: 110px;
    font-size: 76px;
  }
  .features-production__panel {
    height: auto;
    padding: 30px;
  }
  .features-production__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .features-production__item {
    width: 100%;
  }
  .features-production__item p {
    font-size: 26px;
  }
  .features-related-card strong {
    font-size: 19px;
  }
}
@media screen and (max-width: 760px) {
  .features-fv {
    height: 194.8717948718vw;
  }
  .features-fv__visual {
    top: 17.9487179487vw;
    width: calc(100% - 5.1282051282vw);
    height: 153.8461538462vw;
    border-radius: 2.0512820513vw;
  }
  .features-fv__image {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: 58% center;
       object-position: 58% center;
  }
  .features-fv__label,
  .features-fv__title {
    left: 7.1794871795vw;
  }
  .features-fv__label {
    top: 52.5641025641vw;
    width: min(76.9230769231vw, 100% - 14.358974359vw);
    height: 10.2564102564vw;
  }
  .features-fv__label p {
    padding-left: 3.5897435897vw;
    font-size: clamp(5.1282051282vw, 5.6vw, 5.8974358974vw);
    line-height: 9.4871794872vw;
    letter-spacing: 0.04em;
  }
  .features-fv__title {
    top: 69.2307692308vw;
    width: calc(100% - 14.358974359vw);
    font-size: clamp(8.7179487179vw, 9.7vw, 10.2564102564vw);
    line-height: 1.55;
    letter-spacing: 0.035em;
  }
  .features-fv__title span {
    white-space: normal;
  }
  .features-fv__curve {
    top: 156.9230769231vw;
    width: 256.4102564103vw;
    height: 33.3333333333vw;
  }
  .features-points {
    padding: 8.2051282051vw 0;
  }
  .features-points__inner {
    gap: 7.1794871795vw;
    padding-right: 0;
    padding-left: 0;
  }
  .features-points__title {
    font-size: clamp(6.1538461538vw, 7vw, 7.1794871795vw);
    line-height: 1.5;
    letter-spacing: 0.06em;
  }
  .features-point {
    grid-template-columns: 1fr;
    gap: 5.641025641vw;
    justify-items: center;
  }
  .features-point:not(:last-child) {
    margin-bottom: 7.1794871795vw;
    padding-bottom: 7.1794871795vw;
  }
  .features-point__badge {
    transform: scale(0.9);
  }
  .features-point__info {
    grid-template-columns: 17.4358974359vw minmax(0, 1fr);
    grid-template-rows: auto auto;
    -moz-column-gap: 2.0512820513vw;
         column-gap: 2.0512820513vw;
    row-gap: 4.1025641026vw;
    width: 100%;
  }
  .features-point__number {
    width: 17.4358974359vw;
    font-size: 12.3076923077vw;
    line-height: 1;
  }
  .features-point__info h3 {
    padding-top: 0.5128205128vw;
    font-size: 5.3846153846vw;
    line-height: 1.5;
    letter-spacing: 0.04em;
  }
  .features-point__info p {
    grid-column: 1/-1;
    font-size: 3.8461538462vw;
    line-height: 1.8;
    letter-spacing: 0.02em;
    text-align: left;
  }
  .features-production {
    padding: 0 0 16.4102564103vw;
  }
  .features-production__panel {
    padding: 4.6153846154vw;
    border-radius: 2.0512820513vw;
  }
  .features-production__grid {
    grid-template-columns: 1fr;
    grid-auto-rows: 28.2051282051vw;
    gap: 3.5897435897vw;
  }
  .features-production__item {
    height: 28.2051282051vw;
    padding: 2.5641025641vw;
    border-radius: 2.0512820513vw;
  }
  .features-production__item p {
    font-size: 5.3846153846vw;
    line-height: 1.55;
    letter-spacing: 0.05em;
    white-space: normal;
  }
  .features-related {
    width: calc(100% - 10.2564102564vw);
  }
  .features-related__links {
    grid-template-columns: 1fr;
    gap: 3.8461538462vw;
  }
  .features-related-card {
    height: 44.8717948718vw;
  }
  .features-related-card strong {
    font-size: 5.3846153846vw;
  }
}
/* ===================================================
中途採用について FV
=================================================== */
.recruit-fv {
  position: relative;
  height: 933px;
  padding: 0;
  overflow: hidden;
}

.recruit-fv__visual {
  position: absolute;
  top: 60px;
  left: 50%;
  width: calc(100% - 90px);
  max-width: 1349px;
  height: 730px;
  overflow: hidden;
  border-radius: 10px;
  transform: translateX(-50%);
}

.recruit-fv__image {
  position: absolute;
  top: 8.22%;
  left: -8.77%;
  display: block;
  width: 119.12%;
  height: 91.72%;
  max-width: none;
  transform: scaleX(-1);
}

.recruit-fv__title,
.recruit-fv__subcopy {
  position: absolute;
  left: max(20px, (100vw - 1200px) / 2);
  z-index: 2;
}

.recruit-fv__title {
  top: 267px;
  display: flex;
  flex-direction: column;
  gap: 53px;
  width: 803px;
  color: #2ca6e0;
  font-family: "Zen Antique", "Noto Serif JP", serif;
  font-size: 64px;
  font-weight: 400;
  line-height: 40.548px;
  letter-spacing: 0.05em;
}

.recruit-fv__title > span {
  display: block;
  white-space: nowrap;
}

.recruit-fv__tight--ri {
  letter-spacing: -0.105em;
}

.recruit-fv__tight--bracket {
  letter-spacing: -0.0925em;
}

.recruit-fv__subcopy {
  top: 469px;
  display: flex;
  flex-direction: column;
  gap: 17px;
  align-items: flex-start;
}

.recruit-fv__subcopy p {
  display: grid;
  height: 61.667px;
  padding: 0 19.167px;
  color: #fff;
  font-size: 40px;
  font-weight: 700;
  line-height: 33.79px;
  letter-spacing: 0.05em;
  background: #2ca6e0;
  white-space: nowrap;
  place-items: center;
}

.recruit-fv__subcopy p:first-child {
  width: 392.5px;
}

.recruit-fv__subcopy p:last-child {
  width: 353.333px;
}

.recruit-fv__curve {
  position: absolute;
  top: 732px;
  left: 50%;
  z-index: 1;
  display: block;
  width: 1561px;
  height: 203px;
  max-width: none;
  transform: translateX(-50%);
}

.recruit-fv__message {
  position: absolute;
  top: 807px;
  left: 50%;
  z-index: 2;
  display: flex;
  flex-direction: column;
  width: 873px;
  color: #5e5e5e;
  font-size: 42px;
  font-weight: 700;
  line-height: 63px;
  letter-spacing: 0.1em;
  text-align: center;
  white-space: nowrap;
  transform: translateX(-50%);
}

.recruit-fv__message-break {
  display: none;
}

/* 求人広告特化プラン
***************************************************************/
.recruit-intro {
  padding: 50px 0;
}

.recruit-intro__inner {
  display: flex;
  gap: 141px;
  align-items: flex-start;
  width: 1125px;
  margin: 0 auto;
}

.recruit-intro__content {
  flex: 0 0 576px;
  width: 576px;
}

.recruit-intro__text {
  width: 567px;
  color: #5e5e5e;
  font-size: 18px;
  font-weight: 400;
  line-height: 32px;
  letter-spacing: 0.05em;
  text-align: justify;
}

.recruit-intro__media {
  position: relative;
  width: 576px;
  height: 139px;
  margin-top: 29px;
}

.recruit-intro-media,
.recruit-intro-media__logo,
.recruit-intro-media__arrow {
  position: absolute;
  display: block;
}

.recruit-intro-media {
  color: inherit;
  text-decoration: none;
}

.recruit-intro-media__logo,
.recruit-intro-media__arrow {
  transition: opacity 0.25s ease;
}

.recruit-intro-media:hover .recruit-intro-media__logo,
.recruit-intro-media:hover .recruit-intro-media__arrow,
.recruit-intro-media:focus-visible .recruit-intro-media__logo,
.recruit-intro-media:focus-visible .recruit-intro-media__arrow {
  opacity: 0.65;
}

.recruit-intro-media:focus-visible {
  outline: 2px solid #2ca6e0;
  outline-offset: 5px;
}

.recruit-intro-media__arrow {
  width: 50px;
  height: 50px;
  transform: rotate(90deg);
}

.recruit-intro-media--mainabi {
  top: 0;
  left: 0;
  width: 302px;
  height: 80px;
}

.recruit-intro-media--mainabi .recruit-intro-media__logo {
  top: 0;
  left: 0;
  width: 238.057px;
  height: 58.954px;
}

.recruit-intro-media--mainabi .recruit-intro-media__arrow {
  top: 9px;
  left: 252px;
}

.recruit-intro-media--doda {
  top: 0;
  left: 348px;
  width: 228px;
  height: 80px;
}

.recruit-intro-media--doda .recruit-intro-media__logo {
  top: 0;
  left: 0;
  width: 166.64px;
  height: 79.414px;
}

.recruit-intro-media--doda .recruit-intro-media__arrow {
  top: 9px;
  left: 178px;
}

.recruit-intro-media--type-red {
  top: 95px;
  left: 28px;
  width: 274px;
  height: 44px;
}

.recruit-intro-media--type-red .recruit-intro-media__logo {
  top: 0;
  left: 0;
  width: 181.722px;
  height: 34.3px;
}

.recruit-intro-media--type-red .recruit-intro-media__arrow {
  top: -6px;
  left: 224px;
}

.recruit-intro-media--type-blue {
  top: 93px;
  left: 362px;
  width: 214px;
  height: 46px;
}

.recruit-intro-media--type-blue .recruit-intro-media__logo {
  top: 0;
  left: 0;
  width: 139px;
  height: 40px;
}

.recruit-intro-media--type-blue .recruit-intro-media__arrow {
  top: -4px;
  left: 164px;
}

.recruit-intro__plan {
  display: flex;
  flex: 0 0 408px;
  flex-direction: column;
  gap: 26px;
  align-items: center;
  width: 408px;
}

.recruit-intro__plan-title {
  display: grid;
  width: 360px;
  height: 60px;
  color: #000;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 24px;
  font-weight: 400;
  line-height: 32px;
  letter-spacing: 0.05em;
  border: 1px solid #2ca6e0;
  border-radius: 50px;
  white-space: nowrap;
  place-items: center;
}

.recruit-intro__plan-image {
  display: block;
  width: 290px;
  height: 201px;
}

.recruit-intro__plan-copy {
  position: relative;
  width: 408px;
  height: 47px;
  font-weight: 700;
  white-space: nowrap;
}

.recruit-intro__plan-copy span,
.recruit-intro__plan-copy strong {
  position: absolute;
  line-height: 32px;
}

.recruit-intro__plan-copy span {
  top: 9px;
  left: 0;
  color: #2ca6e0;
  font-size: 32px;
  letter-spacing: 0.05em;
}

.recruit-intro__plan-copy strong {
  top: 0;
  left: 205px;
  color: #ff617e;
  font-size: 52px;
  letter-spacing: 0.05em;
}

/* 成果報酬型・カスタマイズプラン
***************************************************************/
.recruit-plans {
  padding: 0;
}

.recruit-plans__inner {
  display: flex;
  flex-direction: column;
  gap: 50px;
  width: 1200px;
  height: 850px;
  padding: 49px;
  margin: 0 auto;
  border: 1px solid #2ca6e0;
  border-radius: 10px;
}

.recruit-plan {
  display: grid;
  flex-shrink: 0;
  grid-template-columns: 520px 520px;
  gap: 60px;
  align-items: start;
}

.recruit-plan--performance {
  height: 350px;
}

.recruit-plan--custom {
  height: 352px;
}

.recruit-plan-card {
  position: relative;
  width: 520px;
  height: 100%;
}

.recruit-plan-card__title {
  position: absolute;
  top: 0;
  left: 50%;
  z-index: 4;
  display: grid;
  width: 360px;
  height: 60px;
  color: #000;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 24px;
  font-weight: 400;
  line-height: 32px;
  letter-spacing: 0.05em;
  background: #fff;
  border: 1px solid #2ca6e0;
  border-radius: 50px;
  white-space: nowrap;
  transform: translateX(-50%);
  place-items: center;
}

.recruit-plan-card__visual {
  position: absolute;
  top: 30px;
  left: 0;
  width: 520px;
  height: 320px;
  overflow: hidden;
  border-radius: 10px;
}

.recruit-plan-card__background,
.recruit-plan-card__illustration {
  position: absolute;
  display: block;
  max-width: none;
}

.recruit-plan--performance .recruit-plan-card__background {
  inset: 0;
  width: 520px;
  height: 320px;
}

.recruit-plan--performance .recruit-plan-card__illustration {
  top: 44px;
  left: 109px;
  width: 325.34px;
  height: 224.27px;
}

.recruit-plan--custom .recruit-plan-card__visual {
  height: 322px;
  border: 1px solid #2ca6e0;
}

.recruit-plan--custom .recruit-plan-card__background {
  top: -37px;
  left: -1px;
  width: 520px;
  height: 371px;
}

.recruit-plan--custom .recruit-plan-card__illustration {
  top: 108px;
  left: 153px;
  width: 212.487px;
  height: 76.627px;
}

.recruit-plan-card__catch {
  position: absolute;
  right: 0;
  bottom: 18px;
  left: 0;
  z-index: 3;
  height: 47px;
  font-weight: 700;
  line-height: 32px;
  letter-spacing: 0.05em;
  text-align: center;
  white-space: nowrap;
}

.recruit-plan-card__catch span {
  color: #2ca6e0;
  font-size: 32px;
}

.recruit-plan-card__catch strong {
  color: #ff617e;
  font-size: 52px;
}

.recruit-plan-card__catch em {
  font-style: normal;
}

.recruit-plan--custom .recruit-plan-card__catch {
  bottom: 19px;
}

.recruit-plan--custom .recruit-plan-card__catch span {
  color: #7a7a7a;
  font-size: 24px;
}

.recruit-plan--custom .recruit-plan-card__catch em {
  color: #2ca6e0;
  font-size: 32px;
}

.recruit-plan__content {
  padding-top: 20px;
}

.recruit-plan__title {
  color: #2ca6e0;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 24px;
  font-weight: 600;
  line-height: 32px;
  letter-spacing: 0.05em;
}

.recruit-plan__text {
  margin-top: 30px;
  color: #5e5e5e;
  font-size: 18px;
  font-weight: 400;
  line-height: 32px;
  letter-spacing: 0.05em;
  text-align: justify;
}

/* 採用のお悩み
***************************************************************/
.recruit-concerns {
  position: relative;
  height: 754px;
  padding: 0;
  overflow: hidden;
  background: #fff;
}

.recruit-concerns__background {
  position: absolute;
  top: 133px;
  right: 0;
  bottom: 0;
  left: 0;
  background-image: url(../images/recruit/bg.webp);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: top center;
}

.recruit-concerns__curve {
  position: absolute;
  top: 0;
  left: 50%;
  z-index: 1;
  display: block;
  width: calc(100% + 240px);
  height: 235px;
  -o-object-position: bottom;
     object-position: bottom;
  max-width: none;
  transform: translateX(-50%);
}

.recruit-concerns__title {
  position: absolute;
  top: 59px;
  left: 50%;
  z-index: 2;
  color: #5e5e5e;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 42px;
  font-weight: 700;
  line-height: 63px;
  letter-spacing: 0.1em;
  text-align: center;
  white-space: nowrap;
  transform: translateX(-50%);
}

.recruit-concerns__title-sp {
  display: none;
}

.recruit-concerns__list {
  position: absolute;
  top: 284px;
  left: 50%;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(2, 590px);
  gap: 20px;
  width: 1200px;
  transform: translateX(-50%);
}

.recruit-concern {
  display: flex;
  flex-direction: column;
  gap: 20px;
  justify-content: center;
  width: 590px;
  height: 200px;
  padding: 28px 30px;
  background: #fff;
  border-radius: 10px;
}

.recruit-concern__title {
  width: 100%;
  color: #2ca6e0;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 24px;
  font-weight: 600;
  line-height: 32px;
  letter-spacing: 0.05em;
}

.recruit-concern p {
  width: 100%;
  color: #5e5e5e;
  font-size: 18px;
  font-weight: 400;
  line-height: 27px;
  letter-spacing: 0.05em;
  text-align: justify;
}

/* サービスの流れ
***************************************************************/
.recruit-flow {
  padding: 50px 0;
  background: #d3effa;
}

.recruit-flow__inner {
  display: flex;
  flex-direction: column;
  gap: 50px;
  align-items: center;
  width: 1200px;
  margin: 0 auto;
}

.recruit-flow__title {
  width: 100%;
  color: #2ca6e0;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 42px;
  font-weight: 700;
  line-height: 63px;
  letter-spacing: 0.1em;
  text-align: center;
}

.recruit-flow__list {
  display: flex;
  flex-direction: column;
  gap: 20px;
  width: 100%;
  list-style: none;
}

.recruit-flow-step {
  display: grid;
  grid-template-columns: 64px 35px 306px 1px 37px 672px;
  align-items: center;
  width: 1200px;
  height: 140px;
  padding-left: 55px;
  overflow: hidden;
  background: #fff;
  border-radius: 10px;
}

.recruit-flow-step__number {
  grid-column: 1;
  color: #2ca6e0;
  font-family: "Aboreto", serif;
  font-size: 42px;
  font-weight: 400;
  line-height: 32px;
  letter-spacing: 0.1em;
  text-align: center;
  white-space: nowrap;
}

.recruit-flow-step__title {
  grid-column: 3;
  width: 306px;
  color: #2ca6e0;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 24px;
  font-weight: 600;
  line-height: 32px;
  letter-spacing: 0.05em;
  text-align: justify;
}

.recruit-flow-step__divider {
  grid-column: 4;
  display: block;
  width: 1px;
  height: 78px;
}

.recruit-flow-step__text {
  grid-column: 6;
  width: 672px;
  color: #5e5e5e;
  font-size: 18px;
  font-weight: 400;
  line-height: 32px;
  letter-spacing: 0.05em;
  text-align: justify;
}

/* 関連する採用サービス・お問い合わせ
***************************************************************/
.recruit-related {
  padding: 50px 0;
  background: #fff;
}

.recruit-related__inner {
  width: 1200px;
  margin: 0 auto;
}

.recruit-related__links {
  display: flex;
  gap: 30px;
  align-items: center;
  width: 100%;
}

.recruit-related-card {
  position: relative;
  display: grid;
  flex: 0 0 380px;
  width: 380px;
  height: 220.457px;
  overflow: hidden;
  color: #fff;
  text-decoration: none;
  -webkit-mask-image: url("../images/recruit/related-mask.svg");
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
  mask-image: url("../images/recruit/related-mask.svg");
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: 100% 100%;
  place-items: center;
}

.recruit-related-card__image,
.recruit-related-card__overlay {
  position: absolute;
  display: block;
  max-width: none;
}

.recruit-related-card--current {
  display: none;
}

.recruit-related-card__overlay {
  inset: 0;
  z-index: 1;
}

.recruit-related-card--highschool .recruit-related-card__image {
  top: -11.35%;
  left: -2.45%;
  width: 146.86%;
  height: 113.51%;
  transform: scaleX(-1);
}

.recruit-related-card--highschool .recruit-related-card__overlay {
  background: #919191;
  mix-blend-mode: multiply;
}

.recruit-related-card--foreign .recruit-related-card__image {
  top: -20.77%;
  left: -14.84%;
  width: 114.9%;
  height: 132.12%;
}

.recruit-related-card--foreign .recruit-related-card__overlay {
  background: #959595;
  mix-blend-mode: multiply;
}

.recruit-related-card--outsourcing .recruit-related-card__image {
  top: 0;
  left: -40.3%;
  width: 139.2%;
  height: 100%;
}

.recruit-related-card--outsourcing .recruit-related-card__overlay {
  background: rgba(0, 0, 0, 0.3);
}

.recruit-related-card__title {
  position: relative;
  z-index: 2;
  font-size: 28.6px;
  font-weight: 400;
  line-height: 42.601px;
  letter-spacing: 0.05em;
  text-align: center;
  white-space: nowrap;
}

.recruit-contact {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 1200px;
  height: 140px;
  padding: 26px 27px 26px 54px;
  margin-top: 30px;
  color: #fff;
  background: #2ca6e0;
  border-radius: 10px;
}

.recruit-contact__copy {
  font-size: 32px;
  font-weight: 600;
  line-height: 35.75px;
  letter-spacing: 0.05em;
  white-space: nowrap;
}

.recruit-contact__button {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: center;
  width: 383px;
  height: 87px;
  color: #000;
  font-size: 32px;
  font-weight: 600;
  line-height: 35.75px;
  letter-spacing: 0.05em;
  text-decoration: none;
  background: #fff;
  border-radius: 10px;
  white-space: nowrap;
}

.recruit-contact__button img {
  display: block;
  width: 48px;
  height: 48px;
}

.recruit-page {
  padding-top: 0;
}

@media screen and (max-width: 1240px) {
  .recruit-fv__visual {
    width: calc(100% - 40px);
  }
  .recruit-intro__inner {
    gap: clamp(50px, 8vw, 100px);
    width: calc(100% - 40px);
  }
  .recruit-intro__content {
    flex: 1 1 576px;
    min-width: 0;
  }
  .recruit-plans__inner {
    gap: 50px;
    width: calc(100% - 40px);
    padding: 39px;
  }
  .recruit-plan {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 40px;
  }
  .recruit-plan-card,
  .recruit-plan-card__visual {
    width: 100%;
  }
  .recruit-concerns__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: calc(100% - 40px);
  }
  .recruit-concern {
    width: 100%;
  }
  .recruit-flow__inner {
    width: calc(100% - 40px);
  }
  .recruit-flow-step {
    grid-template-columns: 64px 25px minmax(230px, 306px) 1px 27px minmax(0, 1fr);
    width: 100%;
    padding: 0 30px;
  }
  .recruit-flow-step__title,
  .recruit-flow-step__text {
    width: 100%;
  }
  .recruit-related__inner,
  .recruit-contact {
    width: calc(100% - 40px);
  }
  .recruit-related__links {
    gap: 20px;
  }
  .recruit-related-card {
    flex: 1 1 0;
    width: auto;
    height: auto;
    aspect-ratio: 380.139/220.457;
  }
  .recruit-contact__copy,
  .recruit-contact__button {
    font-size: clamp(24px, 2.6vw, 32px);
  }
}
@media screen and (max-width: 900px) {
  .recruit-fv__title {
    width: calc(100% - 80px);
    font-size: clamp(40px, 7vw, 58px);
  }
  .recruit-fv__message {
    width: calc(100% - 40px);
    font-size: clamp(27px, 4.5vw, 38px);
  }
  .recruit-intro__inner {
    flex-direction: column;
    gap: 64px;
    align-items: center;
  }
  .recruit-intro__content {
    flex-basis: auto;
    width: 576px;
    max-width: 100%;
  }
  .recruit-intro__text,
  .recruit-intro__media {
    width: 100%;
  }
  .recruit-plans__inner {
    height: auto;
    padding: 48px 30px;
  }
  .recruit-plan {
    display: flex;
    height: auto;
    flex-direction: column;
    gap: 32px;
    align-items: center;
  }
  .recruit-plan + .recruit-plan {
    padding-top: 48px;
    border-top: 1px solid rgba(44, 166, 224, 0.35);
  }
  .recruit-plan-card {
    width: 520px;
    max-width: 100%;
    height: 350px;
  }
  .recruit-plan--custom .recruit-plan-card {
    height: 352px;
  }
  .recruit-plan__content {
    width: 520px;
    max-width: 100%;
    padding-top: 0;
  }
  .recruit-concerns {
    height: auto;
    min-height: 0;
    padding: 210px 20px 50px;
  }
  .recruit-concerns__background {
    top: 130px;
  }
  .recruit-concerns__title {
    top: 58px;
    width: calc(100% - 40px);
    font-size: clamp(28px, 5vw, 38px);
    line-height: 1.5;
    letter-spacing: 0.07em;
    white-space: normal;
  }
  .recruit-concerns__list {
    position: relative;
    top: auto;
    left: auto;
    grid-template-columns: minmax(0, 590px);
    justify-content: center;
    width: 100%;
    transform: none;
  }
  .recruit-flow-step {
    grid-template-columns: 70px minmax(0, 1fr);
    gap: 0 20px;
    height: auto;
    min-height: 180px;
    padding: 24px 28px;
  }
  .recruit-flow-step__number {
    grid-column: 1;
    grid-row: 1/span 2;
  }
  .recruit-flow-step__title {
    grid-column: 2;
    grid-row: 1;
    align-self: end;
  }
  .recruit-flow-step__divider {
    display: none;
  }
  .recruit-flow-step__text {
    grid-column: 2;
    grid-row: 2;
    align-self: start;
    margin-top: 12px;
  }
  .recruit-related {
    padding: 50px 0;
  }
  .recruit-related__links {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .recruit-related-card {
    width: 100%;
  }
  .recruit-related-card:last-child {
    grid-column: 1/-1;
    justify-self: center;
    width: calc(50% - 10px);
  }
  .recruit-contact {
    height: auto;
    min-height: 140px;
    padding: 28px;
  }
  .recruit-contact__copy {
    max-width: calc(100% - 320px);
    white-space: normal;
  }
  .recruit-contact__button {
    width: 300px;
    height: 76px;
  }
}
@media screen and (max-width: 760px) {
  .recruit-fv {
    height: 194.8717948718vw;
  }
  .recruit-fv__visual {
    top: 20.5128205128vw;
    width: calc(100% - 5.1282051282vw);
    height: 138.4615384615vw;
    border-radius: 2.0512820513vw;
  }
  .recruit-fv__image {
    top: 0;
    left: -56%;
    width: 240%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .recruit-fv__title,
  .recruit-fv__subcopy {
    left: 7.6923076923vw;
  }
  .recruit-fv__title {
    top: 38.4615384615vw;
    gap: 4.6153846154vw;
    width: calc(100% - 15.3846153846vw);
    font-size: clamp(7.6923076923vw, 8.8vw, 9.2307692308vw);
    line-height: 1.35;
    letter-spacing: 0.035em;
  }
  .recruit-fv__title > span:last-child {
    font-size: 0.84em;
  }
  .recruit-fv__subcopy {
    top: 73.3333333333vw;
    gap: 2.3076923077vw;
  }
  .recruit-fv__subcopy p {
    width: auto !important;
    height: auto;
    min-height: 10.2564102564vw;
    padding: 1.2820512821vw 2.5641025641vw 1.7948717949vw;
    font-size: 5.641025641vw;
    line-height: 7.1794871795vw;
    letter-spacing: 0.03em;
  }
  .recruit-fv__curve {
    top: 142.3076923077vw;
    width: 166.6666666667vw;
    height: 21.5384615385vw;
  }
  .recruit-fv__message {
    top: 161.5384615385vw;
    width: calc(100% - 10.2564102564vw);
    font-size: clamp(4.8717948718vw, 5.4vw, 5.641025641vw);
    line-height: 1.65;
    letter-spacing: 0.05em;
    white-space: normal;
  }
  .recruit-fv__message span {
    display: block;
  }
  .recruit-intro {
    padding: 8.2051282051vw 0;
  }
  .recruit-intro__text {
    font-size: 4.1025641026vw;
    line-height: 7.1794871795vw;
    letter-spacing: 0.02em;
    text-align: left;
  }
  .recruit-intro__text p + p {
    margin-top: 3.0769230769vw;
  }
  .recruit-intro__media {
    display: grid;
    grid-template-columns: 1fr;
    gap: 3.5897435897vw;
    height: auto;
    margin-top: 8.2051282051vw;
  }
  .recruit-intro-media {
    position: relative;
    inset: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    height: 16.9230769231vw;
    padding: 2.0512820513vw 2.5641025641vw;
    border-bottom: 0.2564102564vw solid #d8d8d8;
  }
  .recruit-intro-media__logo,
  .recruit-intro-media__arrow,
  .recruit-intro-media--mainabi .recruit-intro-media__logo,
  .recruit-intro-media--mainabi .recruit-intro-media__arrow,
  .recruit-intro-media--doda .recruit-intro-media__logo,
  .recruit-intro-media--doda .recruit-intro-media__arrow,
  .recruit-intro-media--type-red .recruit-intro-media__logo,
  .recruit-intro-media--type-red .recruit-intro-media__arrow,
  .recruit-intro-media--type-blue .recruit-intro-media__logo,
  .recruit-intro-media--type-blue .recruit-intro-media__arrow {
    position: static;
  }
  .recruit-intro-media--mainabi .recruit-intro-media__logo {
    width: 46.1538461538vw;
    height: auto;
  }
  .recruit-intro-media--doda .recruit-intro-media__logo {
    width: 32.3076923077vw;
    height: auto;
  }
  .recruit-intro-media--type-red .recruit-intro-media__logo {
    width: 42.0512820513vw;
    height: auto;
  }
  .recruit-intro-media--type-blue .recruit-intro-media__logo {
    width: 30.7692307692vw;
    height: auto;
  }
  .recruit-intro-media .recruit-intro-media__arrow {
    width: 10.7692307692vw;
    height: 10.7692307692vw;
  }
  .recruit-intro__plan {
    width: 100%;
  }
  .recruit-intro__plan-title {
    width: min(82.0512820513vw, 100%);
    height: 13.8461538462vw;
    font-size: 5.3846153846vw;
  }
  .recruit-intro__plan-image {
    width: min(74.358974359vw, 100%);
    height: auto;
  }
  .recruit-intro__plan-copy {
    width: min(87.1794871795vw, 100%);
    height: 11.2820512821vw;
  }
  .recruit-intro__plan-copy span {
    top: 2.0512820513vw;
    font-size: 6.4102564103vw;
  }
  .recruit-intro__plan-copy strong {
    left: 41.0256410256vw;
    font-size: 10.5128205128vw;
  }
  .recruit-plans__inner {
    gap: 10.2564102564vw;
    width: calc(100% - 5.1282051282vw);
    padding: 9.2307692308vw 3.8461538462vw;
    border-radius: 2.0512820513vw;
  }
  .recruit-plan-card,
  .recruit-plan--custom .recruit-plan-card {
    height: auto;
    padding-top: 6.9230769231vw;
  }
  .recruit-plan-card__title {
    width: calc(100% - 10.2564102564vw);
    height: 13.8461538462vw;
    font-size: 5.1282051282vw;
  }
  .recruit-plan-card__visual,
  .recruit-plan--custom .recruit-plan-card__visual {
    position: relative;
    top: auto;
    width: 100%;
    height: auto;
    aspect-ratio: 520/320;
  }
  .recruit-plan--performance .recruit-plan-card__background {
    width: 100%;
    height: 100%;
  }
  .recruit-plan--performance .recruit-plan-card__illustration {
    top: 13.75%;
    left: 20.96%;
    width: 62.56%;
    height: auto;
  }
  .recruit-plan--custom .recruit-plan-card__background {
    top: -11.5%;
    width: 100%;
    height: auto;
  }
  .recruit-plan--custom .recruit-plan-card__illustration {
    top: 33.54%;
    left: 29.42%;
    width: 40.86%;
    height: auto;
  }
  .recruit-plan-card__catch {
    bottom: 6%;
    height: 9.7435897436vw;
    line-height: 7.1794871795vw;
  }
  .recruit-plan-card__catch span,
  .recruit-plan--custom .recruit-plan-card__catch em {
    font-size: clamp(5.1282051282vw, 7vw, 7.6923076923vw);
  }
  .recruit-plan-card__catch strong {
    font-size: clamp(8.7179487179vw, 11vw, 12.3076923077vw);
  }
  .recruit-plan--custom .recruit-plan-card__catch {
    bottom: 6%;
  }
  .recruit-plan--custom .recruit-plan-card__catch span {
    font-size: clamp(4.358974359vw, 5.5vw, 5.8974358974vw);
  }
  .recruit-plan__title {
    font-size: 5.3846153846vw;
  }
  .recruit-plan__text {
    margin-top: 4.6153846154vw;
    font-size: 4.1025641026vw;
    line-height: 7.1794871795vw;
    letter-spacing: 0.02em;
    text-align: left;
  }
  .recruit-concerns {
    padding: 41.0256410256vw 2.5641025641vw 8.2051282051vw;
  }
  .recruit-concerns__background {
    top: 24.6153846154vw;
    background-image: url(../images/recruit/bg_sp.webp);
  }
  .recruit-concerns__curve {
    width: 230.7692307692vw;
    min-width: 0;
    height: 34.8717948718vw;
  }
  .recruit-concerns__title {
    top: 9.7435897436vw;
    width: calc(100% - 7.6923076923vw);
    font-size: clamp(5.1282051282vw, 6.2vw, 6.9230769231vw);
    line-height: 1.5;
    letter-spacing: 0.04em;
  }
  .recruit-concern {
    min-height: 48.7179487179vw;
    height: auto;
    padding: 6.4102564103vw 5.1282051282vw;
    border-radius: 2.0512820513vw;
  }
  .recruit-concern__title {
    font-size: 5.1282051282vw;
    line-height: 1.5;
    letter-spacing: 0.02em;
  }
  .recruit-concern p {
    font-size: 4.1025641026vw;
    line-height: 6.6666666667vw;
    letter-spacing: 0.02em;
    text-align: left;
  }
  .recruit-flow {
    padding: 8.2051282051vw 0;
  }
  .recruit-flow__inner {
    gap: 8.2051282051vw;
    width: calc(100% - 5.1282051282vw);
  }
  .recruit-flow__title {
    font-size: 7.1794871795vw;
    line-height: 1.5;
    letter-spacing: 0.06em;
  }
  .recruit-flow__list {
    gap: 3.0769230769vw;
  }
  .recruit-flow-step {
    grid-template-columns: 13.3333333333vw minmax(0, 1fr);
    gap: 0 3.5897435897vw;
    min-height: 0;
    padding: 6.1538461538vw 4.6153846154vw;
    border-radius: 2.0512820513vw;
  }
  .recruit-flow-step__number {
    align-self: start;
    padding-top: 0.5128205128vw;
    font-size: 8.2051282051vw;
    line-height: 1;
  }
  .recruit-flow-step__title {
    align-self: start;
    font-size: 5.1282051282vw;
    line-height: 1.5;
    letter-spacing: 0.02em;
  }
  .recruit-flow-step__text {
    margin-top: 3.0769230769vw;
    font-size: 4.1025641026vw;
    line-height: 6.6666666667vw;
    letter-spacing: 0.02em;
    text-align: left;
  }
  .recruit-related {
    padding: 8.2051282051vw 0;
  }
  .recruit-related__inner,
  .recruit-contact {
    width: calc(100% - 5.1282051282vw);
  }
  .recruit-related__links {
    grid-template-columns: 1fr;
    gap: 3.5897435897vw;
  }
  .recruit-related-card,
  .recruit-related-card:last-child {
    grid-column: auto;
    width: 100%;
  }
  .recruit-related-card__title {
    font-size: 6.1538461538vw;
    line-height: 1.5;
  }
  .recruit-contact {
    flex-direction: column;
    gap: 5.641025641vw;
    padding: 6.6666666667vw 4.6153846154vw;
    margin-top: 5.1282051282vw;
    text-align: center;
  }
  .recruit-contact__copy {
    max-width: none;
    font-size: 5.8974358974vw;
    line-height: 1.5;
  }
  .recruit-contact__button {
    width: min(76.9230769231vw, 100%);
    height: 17.4358974359vw;
    font-size: 6.1538461538vw;
  }
  .recruit-contact__button img {
    width: 10.2564102564vw;
    height: 10.2564102564vw;
  }
}
/* Figma: SIMNA_SP_中途採用について (390px)
***************************************************************/
@media screen and (max-width: 760px) {
  .recruit-fv {
    height: 113.8461538462vw;
  }
  .recruit-fv__visual {
    top: 0;
    left: 0;
    width: 100%;
    height: 86.1538461538vw;
    border-radius: 2.5641025641vw;
    transform: none;
  }
  .recruit-fv__image {
    top: 14.29%;
    left: -44.74%;
    width: 164.96%;
    height: 79.76%;
    -o-object-fit: fill;
       object-fit: fill;
    transform: scaleX(-1);
  }
  .recruit-fv__title,
  .recruit-fv__subcopy {
    left: 7.6923076923vw;
  }
  .recruit-fv__title {
    top: 32.5641025641vw;
    gap: 4.1025641026vw;
    width: 53.8461538462vw;
    font-size: 4.6153846154vw;
    line-height: 4.6153846154vw;
    letter-spacing: 0.05em;
  }
  .recruit-fv__title > span:last-child {
    font-size: 4.6153846154vw;
  }
  .recruit-fv__subcopy {
    top: 50vw;
    gap: 1.5384615385vw;
  }
  .recruit-fv__subcopy p {
    height: 5.1282051282vw;
    min-height: 5.1282051282vw;
    padding: 0 1.7948717949vw;
    font-size: 3.0769230769vw;
    line-height: 5.1282051282vw;
    letter-spacing: 0.05em;
  }
  .recruit-fv__subcopy p:first-child {
    width: 30.7692307692vw !important;
  }
  .recruit-fv__subcopy p:last-child {
    width: 26.9230769231vw !important;
  }
  .recruit-fv__curve {
    top: 73.0769230769vw;
    width: 128.2051282051vw;
    height: 32.8205128205vw;
  }
  .recruit-fv__message {
    top: 86.1538461538vw;
    width: 87.1794871795vw;
    font-size: 6.1538461538vw;
    line-height: 9.2307692308vw;
    letter-spacing: 0.05em;
  }
  .recruit-fv__message span {
    display: block;
  }
  .recruit-fv__message span:last-child {
    white-space: normal;
  }
  .recruit-fv__message-break {
    display: block;
  }
  .recruit-intro {
    padding: 4.1025641026vw 0 8.2051282051vw;
  }
  .recruit-intro__inner {
    gap: 8.2051282051vw;
    width: 84.6153846154vw;
  }
  .recruit-intro__content,
  .recruit-intro__text {
    width: 84.6153846154vw;
  }
  .recruit-intro__text {
    font-size: 4.1025641026vw;
    line-height: 6.1538461538vw;
    letter-spacing: 0.05em;
    text-align: justify;
  }
  .recruit-intro__text p + p {
    margin-top: 0;
  }
  .recruit-intro__media {
    position: relative;
    display: block;
    width: 84.6153846154vw;
    height: 78.2051282051vw;
    margin-top: 8.2051282051vw;
  }
  .recruit-intro-media {
    position: absolute;
    display: block;
    height: auto;
    padding: 0;
    border: 0;
  }
  .recruit-intro-media__logo,
  .recruit-intro-media__arrow,
  .recruit-intro-media--mainabi .recruit-intro-media__logo,
  .recruit-intro-media--mainabi .recruit-intro-media__arrow,
  .recruit-intro-media--doda .recruit-intro-media__logo,
  .recruit-intro-media--doda .recruit-intro-media__arrow,
  .recruit-intro-media--type-red .recruit-intro-media__logo,
  .recruit-intro-media--type-red .recruit-intro-media__arrow,
  .recruit-intro-media--type-blue .recruit-intro-media__logo,
  .recruit-intro-media--type-blue .recruit-intro-media__arrow {
    position: absolute;
  }
  .recruit-intro-media--mainabi {
    top: 0;
    left: 3.5897435897vw;
    width: 77.4358974359vw;
    height: 15.1282051282vw;
  }
  .recruit-intro-media--mainabi .recruit-intro-media__logo {
    top: 0;
    left: 0;
    width: 61.0402564103vw;
    height: 15.1164102564vw;
  }
  .recruit-intro-media--mainabi .recruit-intro-media__arrow {
    top: 2.3076923077vw;
    left: 64.6153846154vw;
  }
  .recruit-intro-media--doda {
    top: 19.4871794872vw;
    left: 12.8205128205vw;
    width: 68.2051282051vw;
    height: 20.3625641026vw;
  }
  .recruit-intro-media--doda .recruit-intro-media__logo {
    top: 0;
    left: 0;
    width: 42.7282051282vw;
    height: 20.3625641026vw;
  }
  .recruit-intro-media--doda .recruit-intro-media__arrow {
    top: 3.8461538462vw;
    left: 55.3846153846vw;
  }
  .recruit-intro-media--type-red {
    top: 44.358974359vw;
    left: 10.7692307692vw;
    width: 70.2564102564vw;
    height: 12.8205128205vw;
  }
  .recruit-intro-media--type-red .recruit-intro-media__logo {
    top: 2.0512820513vw;
    left: 0;
    width: 46.5953846154vw;
    height: 8.7948717949vw;
  }
  .recruit-intro-media--type-red .recruit-intro-media__arrow {
    top: 0;
    left: 57.4358974359vw;
  }
  .recruit-intro-media--type-blue {
    top: 65.3846153846vw;
    left: 16.4102564103vw;
    width: 64.6153846154vw;
    height: 12.8205128205vw;
  }
  .recruit-intro-media--type-blue .recruit-intro-media__logo {
    top: 1.0256410256vw;
    left: 0;
    width: 35.641025641vw;
    height: 10.2564102564vw;
  }
  .recruit-intro-media--type-blue .recruit-intro-media__arrow {
    top: 0;
    left: 51.7948717949vw;
  }
  .recruit-intro-media .recruit-intro-media__arrow {
    width: 12.8205128205vw;
    height: 12.8205128205vw;
  }
  .recruit-intro__plan {
    flex: 0 0 auto;
    gap: 6.1538461538vw;
    width: 83.5407692308vw;
  }
  .recruit-intro__plan-title {
    width: 74.6605128205vw;
    height: 12.4433333333vw;
    font-size: 4.6153846154vw;
    line-height: 6.6666666667vw;
  }
  .recruit-intro__plan-image {
    width: 55.3846153846vw;
    height: 38.4615384615vw;
  }
  .recruit-intro__plan-copy {
    width: 83.5407692308vw;
    height: 8.5330769231vw;
  }
  .recruit-intro__plan-copy span {
    top: 1.2820512821vw;
    font-size: 6.4102564103vw;
    line-height: 6.1538461538vw;
  }
  .recruit-intro__plan-copy strong {
    top: 0;
    left: 41.0256410256vw;
    font-size: 10.7692307692vw;
    line-height: 6.1538461538vw;
  }
  .recruit-plans__inner {
    gap: 12.3076923077vw;
    width: 84.6153846154vw;
    height: 293.2617948718vw;
    padding: 7.6923076923vw;
    border-radius: 2.5641025641vw;
  }
  .recruit-plan {
    display: block;
    flex: 0 0 auto;
    width: 70.5128205128vw;
  }
  .recruit-plan--performance {
    height: 143.1015384615vw;
  }
  .recruit-plan--custom {
    height: 122.4679487179vw;
  }
  .recruit-plan + .recruit-plan {
    padding-top: 0;
    border-top: 0;
  }
  .recruit-plan-card,
  .recruit-plan--custom .recruit-plan-card {
    width: 70.5128205128vw;
    max-width: none;
    height: 47.4605128205vw;
    padding-top: 0;
  }
  .recruit-plan--custom .recruit-plan-card {
    height: 47.5961538462vw;
  }
  .recruit-plan-card__title {
    width: 48.8166666667vw;
    height: 8.1361538462vw;
    font-size: 4.1025641026vw;
    line-height: 4.3392307692vw;
    border-width: 0.1356410256vw;
  }
  .recruit-plan-card__visual,
  .recruit-plan--custom .recruit-plan-card__visual {
    position: absolute;
    top: 4.0692307692vw;
    width: 70.5128205128vw;
    height: 43.3925641026vw;
    aspect-ratio: auto;
    border-radius: 1.3558974359vw;
  }
  .recruit-plan--custom .recruit-plan-card__visual {
    top: 3.9664102564vw;
    height: 43.6297435897vw;
    border-width: 0.1356410256vw;
  }
  .recruit-plan-card__catch {
    bottom: 7.6%;
    height: 5.5794871795vw;
    line-height: 4.3392307692vw;
  }
  .recruit-plan-card__catch span,
  .recruit-plan--custom .recruit-plan-card__catch em {
    font-size: 4.3392307692vw;
  }
  .recruit-plan-card__catch strong {
    font-size: 7.0512820513vw;
  }
  .recruit-plan--custom .recruit-plan-card__catch {
    bottom: 16.8%;
  }
  .recruit-plan--custom .recruit-plan-card__catch span {
    font-size: 3.2543589744vw;
  }
  .recruit-plan__content {
    width: 70.5128205128vw;
    max-width: none;
    padding-top: 0;
    margin-top: 4.1025641026vw;
  }
  .recruit-plan__title {
    font-size: 5.1282051282vw;
    line-height: 7.4358974359vw;
    letter-spacing: 0.05em;
  }
  .recruit-plan--custom .recruit-plan__title {
    line-height: 5.1282051282vw;
  }
  .recruit-plan__text {
    margin-top: 4.1025641026vw;
    font-size: 4.1025641026vw;
    line-height: 6.1538461538vw;
    letter-spacing: 0.05em;
    text-align: justify;
  }
  .recruit-concerns {
    height: 251.1464102564vw;
    padding: 0;
    overflow: hidden;
    background: #fff;
  }
  .recruit-concerns__background {
    top: 13.9669230769vw;
  }
  .recruit-concerns__curve {
    top: 4.2233333333vw;
    width: 129.7435897436vw;
    height: 37.9487179487vw;
  }
  .recruit-concerns__title {
    top: 8.2051282051vw;
    width: 67.1794871795vw;
    font-size: 6.1538461538vw;
    line-height: 8.9743589744vw;
    letter-spacing: 0.05em;
  }
  .recruit-concerns__title-pc {
    display: none;
  }
  .recruit-concerns__title-sp {
    display: inline;
  }
  .recruit-concerns__list {
    position: absolute;
    top: 52.4284615385vw;
    left: 50%;
    display: flex;
    flex-direction: column;
    gap: 6.1538461538vw;
    width: 84.2156410256vw;
    transform: translateX(-50%);
  }
  .recruit-concern {
    gap: 2.8682051282vw;
    justify-content: flex-start;
    width: 84.2156410256vw;
    min-height: 0;
    height: 40.3041025641vw;
    padding: 4.1025641026vw;
    border-radius: 2.5641025641vw;
  }
  .recruit-concern:nth-child(3) {
    height: 46.4579487179vw;
  }
  .recruit-concern__title {
    font-size: 4.358974359vw;
    line-height: 4.6153846154vw;
    letter-spacing: 0;
  }
  .recruit-concern p {
    font-size: 4.1025641026vw;
    line-height: 6.1538461538vw;
    letter-spacing: 0.05em;
    text-align: justify;
  }
  .recruit-flow {
    height: 549.2307692308vw;
    padding: 14.1025641026vw 0;
  }
  .recruit-flow__inner {
    gap: 6.1538461538vw;
    width: 84.8717948718vw;
  }
  .recruit-flow__title {
    font-size: 6.1538461538vw;
    line-height: 6.1538461538vw;
    letter-spacing: 0.1em;
  }
  .recruit-flow__list {
    gap: 6.1538461538vw;
  }
  .recruit-flow-step {
    display: grid;
    grid-template-columns: 12.3076923077vw 1fr;
    grid-template-rows: auto 0.2564102564vw auto;
    gap: 3.8461538462vw 4.1025641026vw;
    align-content: start;
    width: 84.8717948718vw;
    height: auto;
    padding: 6.4102564103vw 7.1794871795vw;
    border-radius: 2.5641025641vw;
  }
  .recruit-flow-step:nth-child(1) {
    height: 73.8461538462vw;
  }
  .recruit-flow-step:nth-child(2) {
    height: 59.4871794872vw;
  }
  .recruit-flow-step:nth-child(3) {
    height: 55.3846153846vw;
  }
  .recruit-flow-step:nth-child(4) {
    height: 53.3333333333vw;
  }
  .recruit-flow-step:nth-child(5) {
    height: 55.3846153846vw;
  }
  .recruit-flow-step:nth-child(6) {
    height: 67.6923076923vw;
  }
  .recruit-flow-step:nth-child(7) {
    height: 53.3333333333vw;
  }
  .recruit-flow-step:nth-child(8) {
    height: 47.1794871795vw;
  }
  .recruit-flow-step__number {
    grid-column: 1;
    grid-row: 1;
    align-self: center;
    padding-top: 0;
    font-size: 8.2051282051vw;
    line-height: 8.2051282051vw;
    letter-spacing: 0.1em;
  }
  .recruit-flow-step__title {
    grid-column: 2;
    grid-row: 1;
    align-self: center;
    width: auto;
    font-size: 4.6153846154vw;
    line-height: 8.2051282051vw;
    letter-spacing: 0.05em;
    white-space: nowrap;
  }
  .recruit-flow-step__divider {
    grid-column: 1/-1;
    grid-row: 2;
    display: block;
    width: 70.5128205128vw;
    height: 0.2564102564vw;
  }
  .recruit-flow-step__text {
    grid-column: 1/-1;
    grid-row: 3;
    width: 70.5128205128vw;
    margin-top: 0;
    font-size: 4.1025641026vw;
    line-height: 6.1538461538vw;
    letter-spacing: 0.05em;
    text-align: justify;
  }
  .recruit-related {
    padding: 8.2051282051vw 0 16.4102564103vw;
  }
  .recruit-related__inner,
  .recruit-contact {
    width: 84.6153846154vw;
  }
  .recruit-related__links {
    grid-template-columns: repeat(2, 40.7692307692vw);
    grid-template-rows: repeat(2, 23.6694871795vw);
    gap: 3.0769230769vw;
    width: 84.6153846154vw;
  }
  .recruit-related-card,
  .recruit-related-card:last-child,
  .recruit-related-card--current {
    display: grid;
    grid-column: auto;
    width: 40.7692307692vw;
    height: 23.6694871795vw;
    aspect-ratio: auto;
  }
  .recruit-related-card--current .recruit-related-card__image {
    top: -11.64%;
    left: -6.33%;
    width: 165.92%;
    height: 119.21%;
    transform: scaleX(-1);
  }
  .recruit-related-card--current .recruit-related-card__overlay {
    background: rgba(0, 0, 0, 0.33);
  }
  .recruit-related-card__title {
    font-size: 3.5897435897vw;
    line-height: 3.5897435897vw;
    letter-spacing: 0.05em;
  }
  .recruit-contact {
    height: 20.5128205128vw;
    min-height: 20.5128205128vw;
    gap: 0;
    padding: 3.5897435897vw 3.0769230769vw;
    margin-top: 8.2051282051vw;
    border-radius: 0.8333333333vw;
  }
  .recruit-contact__copy {
    max-width: none;
    font-size: 4.1025641026vw;
    line-height: 3.0769230769vw;
    letter-spacing: 0.05em;
    white-space: nowrap;
  }
  .recruit-contact__button {
    gap: 0.8333333333vw;
    width: 75.3846153846vw;
    height: 7.1794871795vw;
    font-size: 4.1025641026vw;
    line-height: 4.1025641026vw;
    border-radius: 0.8333333333vw;
  }
  .recruit-contact__button img {
    width: 6.1538461538vw;
    height: 6.1538461538vw;
  }
  .recruitment-archive {
    display: none;
  }
  .page-template-page-recruit .site-footer {
    margin-top: 0;
  }
}
/* ===================================================
中途採用情報 詳細（マイナビ転職）
=================================================== */
.recruitment-detail {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 620px minmax(0, 1fr);
  width: 100%;
  height: auto;
  padding: 120px 0 50px;
  color: #5e5e5e;
  background: #fff;
}

.recruitment-detail__media-nav-track {
  grid-row: 1;
  grid-column: 1;
  justify-self: end;
  width: 175px;
  height: 100%;
  margin-right: clamp(0px, 50vw - 505px, 115px);
  pointer-events: none;
}

.recruitment-detail__media-nav {
  position: sticky;
  top: 120px;
  z-index: 10;
  width: 175px;
  height: 258px;
  margin: 0;
  pointer-events: auto;
}

.recruitment-detail__content {
  display: flex;
  grid-row: 1;
  grid-column: 2;
  flex-direction: column;
  width: 620px;
  padding-top: 117px;
}

.recruitment-detail__media-link {
  position: absolute;
  display: grid;
  opacity: 0.52;
  transition: opacity 0.25s ease, transform 0.25s ease;
  place-items: center;
}

.recruitment-detail__media-link:hover,
.recruitment-detail__media-link:focus-visible,
.recruitment-detail__media-link.is-current {
  opacity: 1;
}

.recruitment-detail__media-link:hover,
.recruitment-detail__media-link:focus-visible {
  transform: translateX(6px);
}

.recruitment-detail__media-link:focus-visible {
  outline: 2px solid #2ca6e0;
  outline-offset: 6px;
}

.recruitment-detail__media-logo {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.recruitment-detail__media-link--mynavi {
  top: 0;
  left: 0;
  width: 175px;
  height: 43px;
}

.recruitment-detail__media-link--type {
  top: 75px;
  left: 34.5px;
  width: 106px;
  height: 31px;
}

.recruitment-detail__media-link--doda {
  top: 138px;
  left: 26.5px;
  width: 122px;
  height: 58px;
}

.recruitment-detail__media-link--woman {
  top: 228px;
  left: 8px;
  width: 159px;
  height: 30px;
}

.recruitment-detail__main-logo,
.recruitment-detail__lead,
.recruitment-detail-section {
  width: 620px;
}

.recruitment-detail__main-logo {
  display: block;
  height: 154px;
  margin: 0 auto;
  -o-object-fit: contain;
     object-fit: contain;
}

.recruitment-detail__lead {
  margin-top: 100px;
  font-size: 18px;
  font-weight: 400;
  line-height: 27px;
  letter-spacing: 0.05em;
  text-align: justify;
}

.recruitment-detail-section {
  display: flex;
  flex-direction: column;
  gap: 32px;
  padding: 0;
  margin-top: 50px;
}

.recruitment-detail-section--members,
.recruitment-detail-section--doda-members,
.recruitment-detail-section--type-members,
.recruitment-detail-section--woman-type-members {
  margin-top: 60px;
}

.recruitment-detail-section--young,
.recruitment-detail-section--doda-specialties {
  margin-top: 56px;
}

.recruitment-detail-section--type-engineer,
.recruitment-detail-section--woman-type-career {
  margin-top: 52px;
}

.recruitment-detail-section__title {
  display: grid;
  width: 100%;
  height: 50px;
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 22px;
  font-weight: 600;
  line-height: 32px;
  letter-spacing: 0.03em;
  text-align: center;
  background: #2ca6e0;
  place-items: center;
}

.recruitment-detail-copy,
.recruitment-detail-notes,
.recruitment-detail-points,
.recruitment-posting-flow {
  font-size: 18px;
  line-height: 27px;
  letter-spacing: 0.05em;
}

.recruitment-detail-copy {
  font-weight: 400;
  text-align: justify;
}

.recruitment-detail-points {
  display: flex;
  flex-direction: column;
  gap: 20px;
  font-weight: 600;
}

.recruitment-detail-points h3 {
  font-size: 18px;
  line-height: 27px;
}

.recruitment-detail-points__line {
  display: block;
  width: 620px;
  height: 1px;
}

.recruitment-detail-points p {
  display: flex;
  flex-direction: column;
}

.recruitment-detail-points strong {
  font-size: 22px;
  line-height: 27px;
}

.recruitment-detail-points span {
  font-size: 18px;
  line-height: 27px;
}

.recruitment-detail-section__image {
  display: block;
  width: 620px;
  height: auto;
}

.recruitment-detail-section__image--members {
  height: 314.2px;
  -o-object-fit: cover;
     object-fit: cover;
}

.recruitment-detail-notes {
  display: flex;
  flex-direction: column;
  gap: 20px;
  font-weight: 600;
}

.recruitment-detail-notes p {
  display: flex;
  flex-direction: column;
}

.recruitment-detail-notes strong {
  font-size: 22px;
}

.recruitment-detail-notes span {
  font-size: 18px;
}

.recruitment-posting-flow {
  display: grid;
  grid-template-columns: repeat(2, 300px);
  gap: 20px;
}

.recruitment-posting-flow article {
  display: flex;
  flex-direction: column;
  gap: 31px;
  align-items: center;
  width: 300px;
  padding: 20px;
  border: 1px solid #2ca6e0;
}

.recruitment-posting-flow article:first-child {
  gap: 60px;
}

.recruitment-posting-flow h3 {
  font-size: 22px;
  font-weight: 500;
  line-height: 30px;
  text-align: center;
}

.recruitment-posting-flow p {
  width: 240px;
  font-size: 18px;
  font-weight: 400;
  line-height: 27px;
  text-align: justify;
}

.recruitment-detail__editor-content {
  width: 620px;
  margin-top: 50px;
}

.recruitment-detail__contact {
  grid-column: 1/-1;
  justify-self: center;
  margin: 50px 0 0;
}

.recruitment-detail-related {
  display: flex;
  grid-column: 1/-1;
  gap: 25px;
  justify-self: center;
  width: 1351px;
  margin-top: 50px;
}

.recruitment-detail-related__item {
  position: relative;
  display: grid;
  flex: 0 0 319px;
  width: 319px;
  height: 185px;
  overflow: hidden;
  color: #fff;
  text-decoration: none;
  -webkit-mask-image: url("../images/recruit/related-mask.svg");
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
  mask-image: url("../images/recruit/related-mask.svg");
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: 100% 100%;
  place-items: center;
}

.recruitment-detail-related__item img,
.recruitment-detail-related__item > span {
  position: absolute;
  display: block;
  max-width: none;
}

.recruitment-detail-related__item > span {
  inset: 0;
  z-index: 1;
}

.recruitment-detail-related__item strong {
  position: relative;
  z-index: 2;
  font-size: 24px;
  font-weight: 400;
  line-height: 30px;
  letter-spacing: 0.05em;
  white-space: nowrap;
}

.recruitment-detail-related__item--recruit img {
  top: -11.64%;
  left: -6.33%;
  width: 165.92%;
  height: 119.21%;
}

.recruitment-detail-related__item--recruit > span {
  background: rgba(0, 0, 0, 0.33);
}

.recruitment-detail-related__item--highschool img {
  top: -11.35%;
  left: -2.45%;
  width: 146.86%;
  height: 113.51%;
  transform: scaleX(-1);
}

.recruitment-detail-related__item--highschool > span {
  background: #919191;
  mix-blend-mode: multiply;
}

.recruitment-detail-related__item--foreign img {
  top: -20.77%;
  left: -11.9%;
  width: 114.9%;
  height: 132.12%;
}

.recruitment-detail-related__item--foreign > span {
  background: #959595;
  mix-blend-mode: multiply;
}

.recruitment-detail-related__item--outsourcing img {
  top: 0;
  left: -37.37%;
  width: 139.18%;
  height: 100%;
}

.recruitment-detail-related__item--outsourcing > span {
  background: rgba(0, 0, 0, 0.3);
}

/* doda 詳細
***************************************************************/
.recruitment-detail--doda .recruitment-detail__content {
  padding-top: 108px;
}

.recruitment-detail__main-logo--doda {
  width: 420px;
  height: 200px;
}

.recruitment-detail-section--doda-platform {
  align-items: center;
}

.recruitment-detail--doda .recruitment-detail__lead {
  margin-top: 63px;
}

.recruitment-detail-doda-platform-image {
  position: relative;
  width: 534px;
  height: 330px;
  overflow: hidden;
}

.recruitment-detail-doda-platform-image img {
  position: absolute;
  top: 0;
  left: -169px;
  display: block;
  width: 872px;
  height: 330px;
  max-width: none;
}

/* type 詳細
***************************************************************/
.recruitment-detail--type .recruitment-detail__content {
  padding-top: 151px;
}

.recruitment-detail__main-logo--type {
  width: 334px;
  height: 96px;
}

.recruitment-detail--type .recruitment-detail__lead {
  margin-top: 124px;
}

/* 女の転職type 詳細
***************************************************************/
.recruitment-detail--woman-type .recruitment-detail__content {
  padding-top: 157px;
}

.recruitment-detail__main-logo--woman-type {
  width: 442px;
  height: 84px;
}

.recruitment-detail--woman-type .recruitment-detail__lead {
  margin-top: 130px;
}

@media screen and (max-width: 1400px) {
  .recruitment-detail-related {
    width: calc(100% - 40px);
    gap: 20px;
  }
  .recruitment-detail-related__item {
    flex: 1 1 0;
    width: auto;
    height: auto;
    aspect-ratio: 319/185;
  }
}
@media screen and (max-width: 900px) {
  .recruitment-detail {
    display: flex;
    height: auto;
    padding: 100px 20px 50px;
    flex-direction: column;
    gap: 64px;
  }
  .recruitment-detail__media-nav-track,
  .recruitment-detail__content {
    display: contents;
  }
  .recruitment-detail__media-nav {
    position: sticky;
    top: 78px;
    z-index: 20;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    align-items: center;
    width: min(620px, 100%);
    height: auto;
    min-height: 64px;
    padding: 10px 14px;
    margin: 0 auto;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
    -webkit-backdrop-filter: blur(8px);
            backdrop-filter: blur(8px);
  }
  .recruitment-detail__media-link,
  .recruitment-detail__media-link--mynavi,
  .recruitment-detail__media-link--type,
  .recruitment-detail__media-link--doda,
  .recruitment-detail__media-link--woman {
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
    height: 44px;
  }
  .recruitment-detail__media-link:hover,
  .recruitment-detail__media-link:focus-visible {
    transform: none;
  }
  .recruitment-detail__main-logo,
  .recruitment-detail__lead,
  .recruitment-detail-section,
  .recruitment-detail__editor-content,
  .recruitment-detail__contact,
  .recruitment-detail-related {
    position: static;
    top: auto;
    left: auto;
    width: min(620px, 100%);
    margin: 0 auto;
    transform: none;
  }
  .recruitment-detail__main-logo {
    height: auto;
  }
  .recruitment-detail__main-logo--doda {
    width: min(420px, 100%);
  }
  .recruitment-detail__main-logo--type {
    width: min(334px, 100%);
  }
  .recruitment-detail__main-logo--woman-type {
    width: min(442px, 100%);
  }
  .recruitment-detail__lead {
    font-size: 16px;
    line-height: 28px;
    letter-spacing: 0.02em;
    text-align: left;
  }
  .recruitment-detail-section__image,
  .recruitment-detail-section__image--members {
    width: 100%;
    height: auto;
  }
  .recruitment-detail-copy,
  .recruitment-detail-notes,
  .recruitment-detail-points {
    font-size: 16px;
    line-height: 28px;
    letter-spacing: 0.02em;
    text-align: left;
  }
  .recruitment-detail__contact {
    width: min(620px, 100%);
  }
  .recruitment-detail__contact .recruit-contact__copy {
    max-width: 250px;
    white-space: normal;
  }
  .recruitment-detail__contact .recruit-contact__button {
    width: 280px;
  }
  .recruitment-detail-related {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .recruitment-detail-related__item {
    width: 100%;
  }
  .recruitment-detail-doda-platform-image {
    width: min(534px, 100%);
    height: auto;
    aspect-ratio: 534/330;
  }
  .recruitment-detail-doda-platform-image img {
    left: -31.65%;
    width: 163.3%;
    height: 100%;
  }
}
@media screen and (max-width: 760px) {
  .recruitment-detail {
    padding: 17.9487179487vw 2.5641025641vw 8.2051282051vw;
    gap: 11.2820512821vw;
  }
  .recruitment-detail-section {
    gap: 6.1538461538vw;
  }
  .recruitment-detail-section__title {
    height: auto;
    min-height: 12.8205128205vw;
    padding: 2.3076923077vw 3.0769230769vw;
    font-size: 4.6153846154vw;
    line-height: 1.5;
  }
  .recruitment-detail-points__line {
    width: 100%;
  }
  .recruitment-detail-points strong,
  .recruitment-detail-notes strong {
    font-size: 4.8717948718vw;
  }
  .recruitment-detail-points span,
  .recruitment-detail-notes span {
    font-size: 4.1025641026vw;
  }
  .recruitment-posting-flow {
    grid-template-columns: 1fr;
    width: 100%;
  }
  .recruitment-posting-flow article {
    width: 100%;
    height: auto;
    min-height: 66.6666666667vw;
  }
  .recruitment-posting-flow article:first-child {
    gap: 7.9487179487vw;
  }
  .recruitment-posting-flow p {
    width: 100%;
    font-size: 4.1025641026vw;
    line-height: 6.6666666667vw;
    text-align: left;
  }
  .recruitment-detail__contact {
    flex-direction: column;
    gap: 5.641025641vw;
    padding: 6.6666666667vw 4.6153846154vw;
  }
  .recruitment-detail__contact .recruit-contact__copy {
    max-width: none;
    font-size: 5.8974358974vw;
    text-align: center;
  }
  .recruitment-detail__contact .recruit-contact__button {
    width: min(76.9230769231vw, 100%);
  }
  .recruitment-detail-related {
    grid-template-columns: 1fr;
    gap: 3.5897435897vw;
  }
  .recruitment-detail-related__item strong {
    font-size: 5.641025641vw;
  }
}
/* マイナビ転職 詳細 SP（Figma 718:2464）
***************************************************************/
@media screen and (max-width: 760px) {
  .single-recruitment .recruitment-detail {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 0;
    width: 100%;
    height: auto;
    padding: 23.8461538462vw 7.6923076923vw 8.2051282051vw;
  }
  .single-recruitment .recruitment-detail__main-logo,
  .single-recruitment .recruitment-detail__lead,
  .single-recruitment .recruitment-detail-section,
  .single-recruitment .recruitment-detail__contact,
  .single-recruitment .recruitment-detail-related,
  .single-recruitment .recruitment-detail__media-nav {
    position: static;
    top: auto;
    width: 84.6153846154vw;
    margin-right: auto;
    margin-left: auto;
    transform: none;
  }
  .single-recruitment .recruitment-detail:not(.recruitment-detail--doda):not(.recruitment-detail--type):not(.recruitment-detail--woman-type) .recruitment-detail__main-logo {
    width: 84.8676923077vw;
    height: 21.0174358974vw;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .single-recruitment .recruitment-detail__main-logo--doda {
    width: 57.2753846154vw;
    height: 27.2953846154vw;
    margin-top: -3.3333333333vw;
  }
  .single-recruitment .recruitment-detail__main-logo--type {
    width: 45.4517948718vw;
    height: 13.1017948718vw;
    margin-top: 3.5897435897vw;
  }
  .single-recruitment .recruitment-detail__main-logo--woman-type {
    width: 60.7364102564vw;
    height: 11.4641025641vw;
    margin-top: 3.5897435897vw;
  }
  .single-recruitment .recruitment-detail__lead {
    margin-top: 11.5466666667vw;
    font-size: 4.1025641026vw;
    font-weight: 400;
    line-height: 6.1538461538vw;
    letter-spacing: 0.05em;
    text-align: justify;
  }
  .single-recruitment .recruitment-detail--doda .recruitment-detail__lead {
    margin-top: 8.6020512821vw;
  }
  .single-recruitment .recruitment-detail--type .recruitment-detail__lead {
    margin-top: 15.8725641026vw;
  }
  .single-recruitment .recruitment-detail--woman-type .recruitment-detail__lead {
    margin-top: 17.5102564103vw;
  }
  .single-recruitment .recruitment-detail-section {
    gap: 4.6153846154vw;
    padding: 0;
    margin-top: 12.3076923077vw;
  }
  .single-recruitment .recruitment-detail-section__title {
    width: 84.6153846154vw;
    height: 8.2051282051vw;
    min-height: 8.2051282051vw;
    padding: 0.7692307692vw 0;
    font-size: 4.6153846154vw;
    font-weight: 600;
    line-height: 6.9230769231vw;
    letter-spacing: 0.03em;
  }
  .single-recruitment .recruitment-detail-section--young .recruitment-detail-section__title {
    height: 8.4615384615vw;
  }
  .single-recruitment .recruitment-detail-section--industries .recruitment-detail-section__title {
    height: 15.3846153846vw;
    min-height: 15.3846153846vw;
  }
  .single-recruitment .recruitment-detail-section--doda-specialties .recruitment-detail-section__title,
  .single-recruitment .recruitment-detail-section--doda-platform .recruitment-detail-section__title,
  .single-recruitment .recruitment-detail-section--type-engineer .recruitment-detail-section__title,
  .single-recruitment .recruitment-detail-section--type-event .recruitment-detail-section__title,
  .single-recruitment .recruitment-detail-section--woman-type-career .recruitment-detail-section__title,
  .single-recruitment .recruitment-detail-section--woman-type-event .recruitment-detail-section__title {
    height: 15.3846153846vw;
    min-height: 15.3846153846vw;
  }
  .single-recruitment .recruitment-detail-copy,
  .single-recruitment .recruitment-detail-notes,
  .single-recruitment .recruitment-detail-points,
  .single-recruitment .recruitment-posting-flow {
    font-size: 4.1025641026vw;
    line-height: 6.1538461538vw;
    letter-spacing: 0.05em;
    text-align: justify;
  }
  .single-recruitment .recruitment-detail-points {
    gap: 4.1025641026vw;
  }
  .single-recruitment .recruitment-detail-points h3 {
    font-size: 4.1025641026vw;
    line-height: 4.1025641026vw;
  }
  .single-recruitment .recruitment-detail-points__line {
    width: 84.6153846154vw;
    height: 0;
    margin-bottom: -0.2564102564vw;
    border-top: 0.2564102564vw solid #5e5e5e;
  }
  .single-recruitment .recruitment-detail-points p {
    gap: 0.2564102564vw;
    min-height: 14.1025641026vw;
  }
  .single-recruitment .recruitment-detail-points strong {
    font-size: 4.1025641026vw;
    line-height: 4.6153846154vw;
  }
  .single-recruitment .recruitment-detail-points span {
    font-size: 3.5897435897vw;
    line-height: 4.6153846154vw;
  }
  .single-recruitment .recruitment-detail-section__image,
  .single-recruitment .recruitment-detail-section__image--members {
    width: 84.6153846154vw;
    height: auto;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .single-recruitment .recruitment-detail-section--members .recruitment-detail-section__image {
    height: 42.8205128205vw;
  }
  .single-recruitment .recruitment-detail-section--young .recruitment-detail-section__image {
    height: 31.0256410256vw;
  }
  .single-recruitment .recruitment-detail-section--industries .recruitment-detail-section__image {
    height: 22.0512820513vw;
  }
  .single-recruitment .recruitment-detail-notes {
    gap: 6.1538461538vw;
    font-weight: 600;
  }
  .single-recruitment .recruitment-detail-notes p {
    display: block;
  }
  .single-recruitment .recruitment-detail-notes strong,
  .single-recruitment .recruitment-detail-notes span {
    display: block;
    font-size: 3.5897435897vw;
    line-height: 5.3846153846vw;
  }
  .single-recruitment .recruitment-detail-notes strong {
    font-size: 4.1025641026vw;
  }
  .single-recruitment .recruitment-detail-notes p:nth-child(1) {
    height: 27.1794871795vw;
  }
  .single-recruitment .recruitment-detail-notes p:nth-child(2),
  .single-recruitment .recruitment-detail-notes p:nth-child(3) {
    height: 32.5641025641vw;
  }
  .single-recruitment .recruitment-detail--doda .recruitment-detail-notes p,
  .single-recruitment .recruitment-detail--type .recruitment-detail-notes p,
  .single-recruitment .recruitment-detail--woman-type .recruitment-detail-notes p {
    height: auto;
  }
  .single-recruitment .recruitment-detail--type .recruitment-detail-notes p:first-child span {
    letter-spacing: 0.05em;
  }
  .single-recruitment .recruitment-detail--doda .recruitment-detail-notes {
    min-height: 179.7435897436vw;
  }
  .single-recruitment .recruitment-detail--woman-type .recruitment-detail-points p:first-of-type {
    min-height: 9.4871794872vw;
  }
  .single-recruitment .recruitment-posting-flow {
    display: flex;
    flex-direction: column;
    gap: 4.6153846154vw;
    width: 84.6153846154vw;
  }
  .single-recruitment .recruitment-posting-flow article {
    gap: 6.1538461538vw;
    width: 84.6153846154vw;
    min-height: 0;
    padding: 5.1282051282vw;
  }
  .single-recruitment .recruitment-posting-flow article:first-child {
    gap: 6.1538461538vw;
  }
  .single-recruitment .recruitment-posting-flow article:nth-child(1) {
    height: auto;
    min-height: 48.7179487179vw;
  }
  .single-recruitment .recruitment-posting-flow article:nth-child(2) {
    height: auto;
    min-height: 62.5641025641vw;
  }
  .single-recruitment .recruitment-detail--doda .recruitment-posting-flow article:nth-child(2),
  .single-recruitment .recruitment-detail--type .recruitment-posting-flow article:nth-child(2),
  .single-recruitment .recruitment-detail--woman-type .recruitment-posting-flow article:nth-child(2) {
    height: auto;
    min-height: 68.7179487179vw;
  }
  .single-recruitment .recruitment-posting-flow article:nth-child(3) {
    height: auto;
    min-height: 42.5641025641vw;
  }
  .single-recruitment .recruitment-posting-flow article:nth-child(4),
  .single-recruitment .recruitment-posting-flow article:nth-child(6) {
    height: auto;
    min-height: 67.1794871795vw;
  }
  .single-recruitment .recruitment-posting-flow article:nth-child(5) {
    height: auto;
    min-height: 61.0256410256vw;
  }
  .single-recruitment .recruitment-posting-flow h3 {
    font-size: 4.6153846154vw;
    line-height: 7.6923076923vw;
  }
  .single-recruitment .recruitment-posting-flow p {
    width: 100%;
    font-size: 4.1025641026vw;
    line-height: 6.1538461538vw;
    letter-spacing: 0.03em;
    text-align: left;
  }
  .single-recruitment .recruitment-detail-section--flow > .recruitment-detail-section__image:first-of-type {
    height: 21.7948717949vw;
  }
  .single-recruitment .recruitment-detail-section--flow > .recruitment-detail-section__image:last-of-type {
    height: 29.4871794872vw;
  }
  .single-recruitment .recruitment-detail__media-nav {
    position: relative;
    z-index: 10;
    order: 2;
    display: block;
    height: 28.4615384615vw;
    min-height: 0;
    padding: 0;
    background: transparent;
    box-shadow: none;
    -webkit-backdrop-filter: none;
            backdrop-filter: none;
    margin-top: 12.3076923077vw;
  }
  .single-recruitment .recruitment-detail__media-link,
  .single-recruitment .recruitment-detail__media-link--mynavi,
  .single-recruitment .recruitment-detail__media-link--type,
  .single-recruitment .recruitment-detail__media-link--doda,
  .single-recruitment .recruitment-detail__media-link--woman {
    position: absolute;
    width: auto;
    height: auto;
    opacity: 1;
  }
  .single-recruitment .recruitment-detail__media-link--mynavi {
    top: 0;
    left: 0;
    width: 44.8717948718vw;
    height: 11.0256410256vw;
  }
  .single-recruitment .recruitment-detail__media-link--type {
    top: 3.0769230769vw;
    left: 50.7692307692vw;
    width: 27.1794871795vw;
    height: 7.9487179487vw;
  }
  .single-recruitment .recruitment-detail__media-link--doda {
    top: 13.5897435897vw;
    left: 6.9230769231vw;
    width: 31.2820512821vw;
    height: 14.8717948718vw;
  }
  .single-recruitment .recruitment-detail__media-link--woman {
    top: 17.1794871795vw;
    left: 43.8461538462vw;
    width: 40.7692307692vw;
    height: 7.6923076923vw;
  }
  .single-recruitment .recruitment-detail__contact {
    order: 3;
    display: flex;
    flex-direction: column;
    gap: 0;
    width: 84.6153846154vw;
    height: 20.5128205128vw;
    min-height: 20.5128205128vw;
    padding: 3.5897435897vw 3.0769230769vw;
    margin-top: 12.3076923077vw;
    border-radius: 0.8333333333vw;
  }
  .single-recruitment .recruitment-detail__contact .recruit-contact__copy {
    max-width: none;
    font-size: 4.1025641026vw;
    line-height: 3.0769230769vw;
    letter-spacing: 0.05em;
    white-space: nowrap;
  }
  .single-recruitment .recruitment-detail__contact .recruit-contact__button {
    gap: 0.8333333333vw;
    width: 75.3846153846vw;
    height: 7.1794871795vw;
    font-size: 4.1025641026vw;
    line-height: 4.1025641026vw;
    border-radius: 0.8333333333vw;
  }
  .single-recruitment .recruitment-detail__contact .recruit-contact__button img {
    width: 6.1538461538vw;
    height: 6.1538461538vw;
  }
  .single-recruitment .recruitment-detail-related {
    order: 4;
    display: grid;
    grid-template-columns: repeat(2, 40.8333333333vw);
    grid-template-rows: repeat(2, 23.6694871795vw);
    gap: 3.0769230769vw;
    width: 84.7435897436vw;
    margin-top: 8.2051282051vw;
  }
  .single-recruitment .recruitment-detail-related__item {
    width: 40.8333333333vw;
    height: 23.6694871795vw;
    aspect-ratio: auto;
  }
  .single-recruitment .recruitment-detail-related__item strong {
    font-size: 3.5897435897vw;
    line-height: 3.5897435897vw;
    letter-spacing: 0.05em;
  }
  .single-recruitment .site-footer {
    margin-top: 0;
  }
}
/* ===================================================
お問い合わせ
=================================================== */
.contact-page {
  padding-top: 50px;
  padding-bottom: 50px;
}

.contact-page__inner {
  max-width: 1200px;
}

.contact-form__fields {
  display: flex;
  flex-direction: column;
  gap: 56px;
}

.contact-form__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}

.contact-form__row--message {
  align-items: flex-start;
}

.contact-form__label-group {
  display: flex;
  flex: 0 0 auto;
  gap: 8px;
  align-items: center;
}

.contact-form__label-group::before {
  width: 8px;
  height: 8px;
  content: "";
  background: url("../images/contact/field-marker.svg") center/8px 8px no-repeat;
}

.contact-form__label {
  width: 180px;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.45;
  color: #2ca6e0;
}

.contact-form__required {
  display: grid;
  width: 65px;
  height: 30px;
  font-size: 16px;
  font-weight: 400;
  line-height: 1;
  color: #2ca6e0;
  white-space: nowrap;
  border: 1px solid #2ca6e0;
  border-radius: 5px;
  place-items: center;
}

.contact-form__control {
  flex: 0 0 870px;
  width: 870px;
}

.contact-form__control .wpcf7-form-control-wrap {
  display: block;
  width: 100%;
}

.contact-form__input,
.contact-form__select,
.contact-form__textarea {
  width: 100%;
  padding-right: 22px;
  padding-left: 22px;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 27px;
  color: #7c7c7c;
  background-color: #f1f1f1;
  border: 0;
  border-radius: 0;
  outline: 0;
}

.contact-form__input,
.contact-form__select {
  height: 65px;
}

.contact-form__select {
  padding-right: 58px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  cursor: pointer;
  background-image: url("../images/contact/select-chevron.svg");
  background-repeat: no-repeat;
  background-position: right 22px center;
  background-size: 24px 24px;
}

.contact-form__textarea {
  display: block;
  height: 357px;
  padding-top: 6px;
  padding-bottom: 6px;
  resize: vertical;
}

.contact-form__input::-moz-placeholder, .contact-form__textarea::-moz-placeholder {
  color: #7c7c7c;
  opacity: 1;
}

.contact-form__input::placeholder,
.contact-form__textarea::placeholder {
  color: #7c7c7c;
  opacity: 1;
}

.contact-form__input:focus,
.contact-form__select:focus,
.contact-form__textarea:focus {
  box-shadow: inset 0 0 0 2px #2ca6e0;
}

.contact-form__divider {
  position: relative;
  width: 100%;
  height: 0;
}

.contact-form__divider::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  content: "";
  background: url("../images/contact/field-divider.svg") center/100% 1px no-repeat;
}

.contact-form__agreement {
  display: flex;
  justify-content: center;
  margin-top: 112px;
}

.contact-form__agreement .wpcf7-form-control-wrap,
.contact-form__agreement .wpcf7-acceptance,
.contact-form__agreement .wpcf7-list-item {
  display: block;
  margin: 0;
}

.contact-form__agreement label {
  display: flex;
  gap: 24px;
  align-items: center;
  cursor: pointer;
}

.contact-form__agreement-input {
  flex: 0 0 30px;
  width: 30px;
  height: 30px;
  margin: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: #fff;
  border: 1px solid #7c7c7c;
  border-radius: 5px;
}

.contact-form__agreement-input:checked {
  background-color: #2ca6e0;
  background-image: linear-gradient(45deg, transparent 43%, #fff 43%, #fff 51%, transparent 51%), linear-gradient(-45deg, transparent 54%, #fff 54%, #fff 62%, transparent 62%);
}

.contact-form__agreement-input:focus-visible {
  outline: 2px solid #2ca6e0;
  outline-offset: 3px;
}

.contact-form__agreement .wpcf7-list-item-label {
  font-size: 18px;
  font-weight: 400;
  line-height: 27px;
  color: #7c7c7c;
}

.contact-form__agreement a {
  text-decoration: underline;
  text-underline-offset: 0.12em;
}

.contact-form__agreement-line {
  display: inline;
}

.contact-form__submit {
  position: relative;
  width: 383px;
  height: 87px;
  margin: 83px auto 0;
  border: 1px solid #7c7c7c;
  border-radius: 100px;
  transition: border-color 0.25s ease, background-color 0.25s ease;
}

.contact-form__submit::after {
  position: absolute;
  top: 50%;
  right: 12px;
  width: 72px;
  height: 72px;
  pointer-events: none;
  content: "";
  background: url("../images/contact/submit-arrow.svg") center/contain no-repeat;
  transform: translateY(-50%) rotate(90deg);
}

.contact-form__submit-button {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  padding: 0 100px 0 28px;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 22px;
  font-weight: 500;
  line-height: 1;
  color: #7c7c7c;
  text-align: left;
  letter-spacing: 0.05em;
  cursor: pointer;
  background: transparent;
  border: 0;
  border-radius: 100px;
}

.contact-form__submit-button:focus-visible {
  outline: 2px solid #2ca6e0;
  outline-offset: 3px;
}

.contact-form__submit-button:disabled {
  cursor: not-allowed;
}

.contact-page .wpcf7-spinner {
  display: none;
}

.contact-page .wpcf7-not-valid-tip {
  display: block;
  margin-top: 8px;
  font-size: 14px;
  color: #d23e3e;
}

.contact-page .wpcf7 form .wpcf7-response-output {
  max-width: 870px;
  padding: 14px 20px;
  margin: 32px auto 0;
  font-size: 15px;
  text-align: center;
  border-color: #2ca6e0;
}

.contact-page__unavailable {
  color: #7c7c7c;
  text-align: center;
}

@media (hover: hover) and (pointer: fine) {
  .contact-form__submit:hover {
    background-color: #f1f1f1;
    border-color: #2ca6e0;
  }
  .contact-form__submit:hover .contact-form__submit-button {
    color: #2ca6e0;
  }
}
@media screen and (min-width: 761px) {
  .contact-form__textarea::-moz-placeholder {
    white-space: nowrap;
  }
  .contact-form__textarea::placeholder {
    white-space: nowrap;
  }
}
@media screen and (max-width: 760px) {
  .page-heading--contact {
    padding-top: 16.9230769231vw;
  }
  .page-heading--contact .page-heading__inner {
    width: calc(100% - 15.3846153846vw);
  }
  .page-heading--contact .page-heading__en {
    font-size: 5.1282051282vw;
    line-height: 1.2;
  }
  .page-heading--contact .page-heading__title {
    margin-top: 1.1538461538vw;
    font-size: 3.0769230769vw;
    line-height: 1.45;
  }
  .contact-page {
    padding-top: 20.2564102564vw;
    padding-bottom: 24.6153846154vw;
  }
  .contact-page__inner {
    width: calc(100vw - 15.3846153846vw);
    margin-right: 0;
    margin-left: 7.6923076923vw;
  }
  .contact-form__fields {
    gap: 8.2051282051vw;
  }
  .contact-form__row,
  .contact-form__row--message {
    flex-direction: column;
    gap: 10.2564102564vw;
    align-items: stretch;
  }
  .contact-form__label-group {
    gap: 2.0512820513vw;
  }
  .contact-form__label-group::before {
    width: 2.0512820513vw;
    height: 2.0512820513vw;
    background-size: 2.0512820513vw 2.0512820513vw;
  }
  .contact-form__label {
    flex: 0 0 auto;
    width: 46.1538461538vw;
    font-size: 5.1282051282vw;
    line-height: 1.45;
  }
  .contact-form__label[for=contact-name],
  .contact-form__label[for=contact-tel] {
    width: 25.641025641vw;
  }
  .contact-form__required {
    width: 16.6666666667vw;
    height: 7.6923076923vw;
    font-size: 4.1025641026vw;
    border-radius: 1.2820512821vw;
  }
  .contact-form__control {
    flex: 0 0 auto;
    width: 100%;
  }
  .contact-form__input,
  .contact-form__select,
  .contact-form__textarea {
    padding-right: 5.641025641vw;
    padding-left: 5.641025641vw;
    font-size: 4.6153846154vw;
    line-height: 6.9230769231vw;
  }
  .contact-form__input,
  .contact-form__select {
    height: 16.6666666667vw;
  }
  .contact-form__select {
    padding-right: 12.3076923077vw;
    background-position: right 5.641025641vw center;
    background-size: 6.1538461538vw 6.1538461538vw;
  }
  .contact-form__textarea {
    height: 91.5384615385vw;
    padding: 2.5641025641vw 4.7435897436vw;
  }
  .contact-form__divider::before {
    height: 0.2564102564vw;
    background-size: 100% 0.2564102564vw;
  }
  .contact-form__agreement {
    justify-content: center;
    margin-top: 8.7179487179vw;
  }
  .contact-form__agreement label {
    gap: 6.1538461538vw;
    align-items: center;
  }
  .contact-form__agreement-input {
    flex-basis: 7.6923076923vw;
    width: 7.6923076923vw;
    height: 7.6923076923vw;
    border-radius: 1.2820512821vw;
  }
  .contact-form__agreement .wpcf7-list-item-label {
    width: 68.7179487179vw;
    font-size: 4.1025641026vw;
    line-height: 6.9230769231vw;
  }
  .contact-form__agreement-line {
    display: block;
    white-space: nowrap;
  }
  .contact-form__submit {
    left: -3.5897435897vw;
    width: 64.1025641026vw;
    height: 14.6153846154vw;
    margin-top: 10.2564102564vw;
  }
  .contact-form__submit::after {
    right: 2.0512820513vw;
    width: 12.0512820513vw;
    height: 12.0512820513vw;
  }
  .contact-form__submit-button {
    padding-right: 16.6666666667vw;
    padding-left: 4.6153846154vw;
    font-size: 4.1025641026vw;
  }
  .contact-page .wpcf7-not-valid-tip {
    margin-top: 1.5384615385vw;
    font-size: 3.0769230769vw;
  }
  .contact-page .wpcf7 form .wpcf7-response-output {
    padding: 3.0769230769vw 3.5897435897vw;
    margin-top: 6.1538461538vw;
    font-size: 3.3333333333vw;
  }
}
/* ===================================================
お知らせ一覧
=================================================== */
.page-heading--news {
  padding-top: 175px;
}

.news-archive {
  padding: 35px 0 0;
}

.archive-card--news .archive-card__thumbnail {
  border-radius: 10px;
}

.archive-card--news .archive-card__content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.archive-card--news .archive-card__title {
  display: -webkit-box;
  overflow: hidden;
  width: 100%;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.archive-card--news .archive-card__date {
  margin-top: 15px;
  font-size: 16px;
  font-weight: 500;
  line-height: 23px;
  letter-spacing: 0.05em;
}

.archive-card--news .archive-card__category {
  display: grid;
  width: 118px;
  height: 23px;
  margin-top: 15px;
  overflow: hidden;
  color: #fcfcfc;
  font-size: 16px;
  font-weight: 500;
  line-height: 23px;
  letter-spacing: 0.05em;
  text-overflow: ellipsis;
  white-space: nowrap;
  background: #2ca6e0;
  border-radius: 5px;
  place-items: center;
}

@media (hover: hover) and (pointer: fine) {
  .archive-card--news .archive-card__link:hover .archive-card__thumbnail img {
    transform: scale(1.03);
  }
}
@media screen and (max-width: 1242px) {
  .archive-card--news .archive-card__thumbnail {
    height: auto;
    aspect-ratio: 383/250;
  }
  .archive-card--news .archive-card__content {
    width: calc(100% - 78px);
  }
}
@media screen and (max-width: 760px) {
  .page-heading--news {
    padding-top: 30.7692307692vw;
  }
  .news-archive {
    padding-top: 10.2564102564vw;
  }
  .archive-card--news .archive-card__content {
    width: calc(100% - 10.2564102564vw);
    margin-top: 5.1282051282vw;
  }
  .archive-card--news .archive-card__title {
    min-height: 0;
    font-size: 4.358974359vw;
  }
  .archive-card--news .archive-card__date,
  .archive-card--news .archive-card__category {
    margin-top: 2.5641025641vw;
    font-size: 3.5897435897vw;
  }
}
/* お知らせ一覧 SP layout (Figma: 718:1931)
***************************************************************/
@media screen and (max-width: 760px) {
  .page-heading--news {
    padding-top: 16.9230769231vw;
  }
  .page-heading--news .page-heading__inner {
    width: calc(100% - 15.3846153846vw);
  }
  .page-heading--news .page-heading__en {
    font-size: 5.1282051282vw;
    line-height: 5.8974358974vw;
  }
  .page-heading--news .page-heading__title {
    margin-top: 1.1653846154vw;
    font-size: 3.0769230769vw;
    line-height: 4.358974359vw;
  }
  .page-heading--news .page-heading__actions {
    gap: 2.0512820513vw;
    justify-content: center;
    margin-top: 10.2564102564vw;
  }
  .page-heading--news .page-heading__action {
    width: calc((100% - 6.1538461538vw) / 4);
    height: 5.641025641vw;
    padding: 0;
    font-size: 2.6923076923vw;
    line-height: 3.0769230769vw;
  }
  .news-archive {
    padding-top: 10.2564102564vw;
  }
  .news-archive .works-archive__list-wrap {
    width: calc(100% - 15.3846153846vw);
  }
  .news-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12.3076923077vw;
    width: 100%;
    padding-bottom: 12.3076923077vw;
    border-bottom: 0.2564102564vw solid #d9d9d9;
  }
  .archive-card--news {
    position: relative;
    width: 100%;
    height: 22.3756410256vw;
  }
  .archive-card--news::after {
    position: absolute;
    right: 0;
    bottom: -6.1538461538vw;
    left: 0;
    height: 0.2564102564vw;
    content: "";
    background: #d9d9d9;
  }
  .archive-card--news .archive-card__link {
    display: grid;
    grid-template-columns: 48.7179487179vw 33.3333333333vw;
    gap: 2.0512820513vw;
    width: 100%;
    height: 22.3756410256vw;
  }
  .archive-card--news .archive-card__thumbnail {
    grid-column: 2;
    grid-row: 1;
    width: 33.3333333333vw;
    height: 21.7948717949vw;
    aspect-ratio: auto;
    border-radius: 0.7692307692vw;
  }
  .archive-card--news .archive-card__content {
    display: flex;
    grid-column: 1;
    grid-row: 1;
    flex-direction: column;
    gap: 3.0769230769vw;
    align-items: flex-start;
    width: 48.7179487179vw;
    height: 22.3756410256vw;
    margin: 0;
  }
  .archive-card--news .archive-card__title {
    display: block;
    overflow: hidden;
    width: 48.7179487179vw;
    height: 5.1623076923vw;
    min-height: 0;
    font-size: 4.1025641026vw;
    font-weight: 300;
    line-height: 5.1623076923vw;
    letter-spacing: 0.05em;
    text-overflow: ellipsis;
    white-space: nowrap;
    -webkit-line-clamp: initial;
  }
  .archive-card--news .archive-card__date {
    width: 48.7179487179vw;
    height: 5.1623076923vw;
    margin: 0;
    font-size: 3.5897435897vw;
    font-weight: 500;
    line-height: 5.1623076923vw;
    letter-spacing: 0.05em;
  }
  .archive-card--news .archive-card__category {
    display: grid;
    width: auto;
    min-width: 33.0769230769vw;
    height: 5.8974358974vw;
    padding: 0 1.2820512821vw;
    margin: 0;
    font-size: 3.5897435897vw;
    font-weight: 500;
    line-height: 5.8974358974vw;
    letter-spacing: 0.05em;
    border-radius: 1.2820512821vw;
  }
  .news-archive .works-pagination {
    gap: 6.1538461538vw;
    justify-content: space-between;
    width: 84.6153846154vw;
    min-height: 7.6923076923vw;
    margin: 4.1025641026vw auto 0;
  }
  .news-archive .works-pagination__numbers {
    justify-content: space-between;
    width: 55.1282051282vw;
    min-height: 4.8717948718vw;
    gap: 0;
    font-family: "M PLUS 1p", sans-serif;
    font-size: 3.22vw;
    font-weight: 800;
    line-height: 4.8717948718vw;
    letter-spacing: 0.08em;
  }
  .news-archive .works-pagination__numbers .page-numbers {
    display: block;
    width: auto;
    height: 4.8717948718vw;
    font-size: 3.22vw;
    font-weight: 800;
    line-height: 4.8717948718vw;
    letter-spacing: 0.08em;
  }
  .news-archive .works-pagination__arrow {
    flex-basis: 7.6923076923vw;
    width: 7.6923076923vw;
    height: 7.6923076923vw;
  }
  .news-archive .works-related {
    width: calc(100% - 15.3846153846vw);
    padding-top: 10vw;
    margin: 4.1025641026vw auto 0;
  }
  .news-archive .works-related__links {
    display: grid;
    grid-template-columns: 1fr;
    gap: 6.1538461538vw;
    width: 100%;
  }
  .news-archive .works-related__link {
    width: 100%;
    height: 10.2564102564vw;
    padding: 1.2820512821vw 2.5641025641vw 1.2820512821vw 5.1282051282vw;
    font-size: 3.5897435897vw;
    line-height: 4.358974359vw;
    border-radius: 18.4615384615vw;
  }
  .news-archive .works-related__link img {
    position: absolute;
    top: 1.2820512821vw;
    right: -0.2564102564vw;
    width: 7.6923076923vw;
    height: 7.6923076923vw;
  }
  .news-archive .works-recruit-links {
    grid-template-columns: repeat(2, 40.8333333333vw);
    grid-template-rows: repeat(2, 23.6694871795vw);
    gap: 3.0769230769vw;
    width: 84.7435897436vw;
    height: 50.4158974359vw;
    margin: 8.2051282051vw auto 0;
  }
  .news-archive .works-recruit-links__item {
    width: 40.8333333333vw;
    height: 23.6694871795vw;
    aspect-ratio: auto;
    border-radius: 0.7692307692vw;
  }
  .news-archive .works-recruit-links__item span {
    font-size: 3.5897435897vw;
    line-height: 3.5897435897vw;
  }
}
/* COLUMN一覧の画像は383×220の比率で表示する。 */
.archive-card--column .archive-card__thumbnail {
  height: auto;
  aspect-ratio: 383/220;
}

/* お知らせ詳細
***************************************************************/
.news-single {
  padding: 180px 0 0;
}

.news-single__shell {
  position: relative;
  display: grid;
  grid-template-columns: 165px minmax(0, 620px);
  -moz-column-gap: 119px;
       column-gap: 119px;
  align-items: start;
  width: 1200px;
  margin: 0 auto;
}

.news-single__layout {
  grid-column: 2;
  width: 620px;
  margin: 0;
}

.news-single__date {
  display: block;
  color: #7c7c7c;
  font-size: 14px;
  font-weight: 300;
  line-height: 20px;
  letter-spacing: 0.05em;
}

.news-single__title {
  margin-top: 20px;
  color: #000;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 32px;
  font-weight: 400;
  line-height: 48px;
  letter-spacing: 0.03em;
  text-align: justify;
}

.news-single__featured {
  overflow: hidden;
  width: 620px;
  height: auto;
  margin-top: 32px;
  background: #d9d9d9;
}

.news-single__featured img {
  display: block;
  width: 100%;
  height: auto;
}

.news-single__body {
  margin-top: 40px;
}

.news-single__subtitle,
.news-single__editor h2 {
  position: relative;
  padding: 0 0 12px 20px;
  color: #2ca6e0;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 20px;
  font-weight: 400;
  line-height: 30px;
  letter-spacing: 0.02em;
  border-bottom: 1px solid #d9d9d9;
}

.news-single__subtitle::before,
.news-single__editor h2::before {
  position: absolute;
  top: 3px;
  left: 0;
  width: 12px;
  height: 24px;
  content: "";
  background: url("../images/works/question-marker.svg") center/12px 16px no-repeat;
}

.news-single__editor {
  color: #7c7c7c;
  font-size: 18px;
  font-weight: 300;
  line-height: 30px;
  letter-spacing: 0.05em;
  text-align: justify;
}

.news-single__subtitle + .news-single__editor {
  margin-top: 16px;
}

.news-single__editor > * + * {
  margin-top: 24px;
}

.news-single__editor h2 {
  margin-top: 40px;
}

.news-single__editor h3 {
  color: #000;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 18px;
  font-weight: 500;
  line-height: 28px;
}

.news-single__editor img,
.news-single__editor figure,
.news-single__editor .wp-caption {
  max-width: 100%;
  height: auto;
}

.news-single__editor img {
  display: block;
}

.news-single__editor ul,
.news-single__editor ol {
  padding-left: 1.5em;
}

.news-single__editor ul {
  list-style: disc;
}

.news-single__editor ol {
  list-style: decimal;
}

.news-single__post-nav {
  display: flex;
  justify-content: space-between;
  margin-top: 48px;
  color: #b4b4b5;
  font-size: 14px;
  line-height: 24px;
  letter-spacing: 0.1em;
}

.news-single__post-nav a {
  color: inherit;
}

.news-single__post-nav a:last-child {
  margin-left: auto;
}

.news-single__tabs {
  display: flex;
  gap: 25px;
  margin-top: 64px;
}

.news-single__tab {
  display: grid;
  width: 165px;
  height: 44px;
  color: #7c7c7c;
  font-size: 18px;
  font-weight: 300;
  line-height: 26px;
  letter-spacing: 0.05em;
  border: 1px solid #b4b4b5;
  border-radius: 50px;
  place-items: center;
}

.news-single__tab.is-highlighted {
  background: #d6f2ff;
}

.news-single__contact {
  display: flex;
  align-items: center;
  width: 1200px;
  height: 140px;
  padding: 0 27px 0 54px;
  margin: 64px auto 0;
  color: #fff;
  background: #2ca6e0;
  border-radius: 10px;
}

.news-single__contact > p {
  font-size: 32px;
  font-weight: 600;
  line-height: 36px;
  letter-spacing: 0.05em;
  white-space: nowrap;
}

.news-single__contact > a {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: center;
  width: 383px;
  height: 87px;
  margin-left: auto;
  color: #7c7c7c;
  background: #fff;
  border-radius: 10px;
}

.news-single__contact > a span {
  font-size: 32px;
  font-weight: 600;
  line-height: 36px;
  letter-spacing: 0.05em;
}

.news-single__contact > a img {
  display: block;
  width: 48px;
  height: 48px;
}

.news-single__recruit-links {
  margin-top: 64px;
}

@media (hover: hover) and (pointer: fine) {
  .news-single__tab,
  .news-single__contact > a {
    transition: opacity 0.25s ease;
  }
  .news-single__tab:hover,
  .news-single__contact > a:hover {
    opacity: 0.7;
  }
}
@media screen and (max-width: 1240px) {
  .news-single__shell,
  .news-single__contact {
    width: calc(100% - 40px);
  }
  .news-single__shell {
    grid-template-columns: 165px minmax(0, 620px);
    -moz-column-gap: clamp(40px, 100% - 785px, 119px);
         column-gap: clamp(40px, 100% - 785px, 119px);
  }
  .news-single__contact > p {
    font-size: clamp(22px, 2.58vw, 32px);
  }
  .news-single__contact > a {
    width: min(383px, 36%);
  }
  .news-single__contact > a span {
    font-size: clamp(20px, 2.58vw, 32px);
  }
}
@media screen and (max-width: 900px) {
  .news-single__shell {
    display: block;
  }
  .news-single__layout {
    width: min(620px, 100%);
  }
}
@media screen and (max-width: 760px) {
  .news-single {
    padding-top: 25.641025641vw;
  }
  .news-single__shell {
    display: block;
    width: calc(100% - 10.2564102564vw);
  }
  .news-single__layout {
    width: 100%;
  }
  .news-single__featured {
    width: 100%;
  }
  .news-single__contact {
    display: block;
    height: auto;
    padding: 6.1538461538vw 5.1282051282vw;
  }
  .news-single__contact > p {
    white-space: normal;
  }
  .news-single__contact > a {
    width: 100%;
    height: 16.4102564103vw;
    margin-top: 5.1282051282vw;
  }
}
/* お知らせ詳細 SP layout (Figma: 818:1372)
***************************************************************/
@media screen and (max-width: 760px) {
  .news-single {
    padding: 20vw 0 0;
  }
  .news-single__shell {
    width: calc(100% - 15.3846153846vw);
  }
  .news-single__layout {
    width: 100%;
  }
  .news-single__date {
    height: 4.358974359vw;
    font-size: 3.0769230769vw;
    line-height: 4.358974359vw;
    letter-spacing: 0.05em;
  }
  .news-single__title {
    min-height: 13.0594871795vw;
    margin-top: 4.1025641026vw;
    font-size: 4.6153846154vw;
    line-height: 6.5297435897vw;
    letter-spacing: 0.03em;
    text-align: justify;
  }
  .news-single__featured {
    width: 100%;
    margin-top: 4.1025641026vw;
  }
  .news-single__body {
    min-height: 65.641025641vw;
    margin-top: 8.2051282051vw;
  }
  .news-single__subtitle,
  .news-single__editor h2 {
    min-height: 8.2051282051vw;
    padding: 0 0 2.0512820513vw 4.1025641026vw;
    font-size: 4.1025641026vw;
    line-height: 6.1538461538vw;
    letter-spacing: 0.02em;
  }
  .news-single__subtitle::before,
  .news-single__editor h2::before {
    top: 0;
    width: 3.0769230769vw;
    height: 6.1538461538vw;
    background-size: 3.0769230769vw 4.1025641026vw;
  }
  .news-single__editor {
    font-size: 4.1025641026vw;
    line-height: 6.1538461538vw;
    letter-spacing: 0.0625em;
  }
  .news-single__subtitle + .news-single__editor {
    margin-top: 2.0512820513vw;
  }
  .news-single__editor > * + * {
    margin-top: 4.1025641026vw;
  }
  .news-single__editor h2 {
    margin-top: 8.2051282051vw;
  }
  .news-single__editor h3 {
    font-size: 4.1025641026vw;
    line-height: 6.1538461538vw;
  }
  .news-single__post-nav {
    min-height: 6.1538461538vw;
    margin-top: 8.2051282051vw;
    font-size: 3.0769230769vw;
    font-weight: 400;
    line-height: 6vw;
    letter-spacing: 0.1em;
  }
  .news-single__tabs {
    gap: 4.6153846154vw;
    width: 100%;
    margin-top: 16.4102564103vw;
  }
  .news-single__tab {
    width: 40vw;
    height: 5.641025641vw;
    font-size: 3.0769230769vw;
    line-height: 3.0769230769vw;
    border-color: #b4b4b5;
  }
  .news-single__contact {
    display: block;
    width: calc(100% - 15.3846153846vw);
    height: 20.5128205128vw;
    min-height: 20.5128205128vw;
    padding: 0;
    margin: 4.1025641026vw auto 0;
    border-radius: 0.8333333333vw;
  }
  .news-single__contact > p {
    padding-top: 3.5897435897vw;
    margin-left: 3.5897435897vw;
    font-size: 4.1025641026vw;
    font-weight: 600;
    line-height: 3.0769230769vw;
    letter-spacing: 0.05em;
    white-space: nowrap;
  }
  .news-single__contact > a {
    gap: 0.8333333333vw;
    width: calc(100% - 9.2307692308vw);
    height: 7.1794871795vw;
    margin: 2.8205128205vw auto 0;
    border-radius: 0.8333333333vw;
  }
  .news-single__contact > a span {
    font-size: 4.1025641026vw;
    line-height: 4.1025641026vw;
  }
  .news-single__contact > a img {
    width: 6.1538461538vw;
    height: 6.1538461538vw;
  }
  .news-single__recruit-links {
    margin-top: 4.1025641026vw;
  }
  body.single-post .site-footer {
    margin-top: 8.2051282051vw;
  }
}
/* ===================================================
プライバシーポリシー
=================================================== */
.privacy-page {
  padding-top: 195px;
  padding-bottom: 130px;
}

.privacy-page__inner {
  display: grid;
  grid-template-columns: 360px 721px;
  -moz-column-gap: 119px;
       column-gap: 119px;
  max-width: 1200px;
}

.privacy-page__side-heading {
  display: flex;
  gap: 8px;
  align-items: center;
  align-self: start;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 24px;
  font-weight: 400;
  line-height: 35px;
  color: #2ca6e0;
  white-space: nowrap;
}

.privacy-page__side-heading::before {
  flex: 0 0 8px;
  width: 8px;
  height: 8px;
  content: "";
  background: url("../images/contact/field-marker.svg") center/8px 8px no-repeat;
}

.privacy-page__content,
.privacy-page__articles,
.privacy-article,
.privacy-article__subsection,
.privacy-contact {
  min-width: 0;
}

.privacy-page__lead,
.privacy-article,
.privacy-contact,
.privacy-page__enactment {
  font-size: 18px;
  line-height: 35px;
  color: #7c7c7c;
  letter-spacing: 0.03em;
}

.privacy-page__lead {
  font-weight: 600;
  text-align: justify;
}

.privacy-page__articles {
  display: flex;
  flex-direction: column;
  gap: 65px;
  margin-top: 72px;
}

.privacy-article {
  padding: 0;
}

.privacy-article h3 {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 24px;
  font-weight: 400;
  line-height: 35px;
  color: #2ca6e0;
  letter-spacing: 0;
}

.privacy-article__sp-indent {
  display: inline;
}

.privacy-article h3 + p,
.privacy-article h3 + .privacy-article__subsection {
  margin-top: 24px;
}

.privacy-article p + p,
.privacy-article p + ol,
.privacy-article ol + p {
  margin-top: 0;
}

.privacy-article p,
.privacy-article li {
  text-align: justify;
}

.privacy-article ol {
  padding-left: 30px;
  list-style: decimal;
}

.privacy-article__subsection {
  margin-top: 96px;
}

.privacy-article__subsection:first-of-type {
  margin-top: 0;
}

.privacy-article:nth-child(6) {
  margin-bottom: -35px;
}

.privacy-article__subsection h4 {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 35px;
  color: #7c7c7c;
  letter-spacing: 0.03em;
}

.privacy-article__subsection h4 + p {
  margin-top: 0;
}

.privacy-article__subsection h4 + ol,
.privacy-article__subsection p + ol {
  margin-top: 24px;
}

.privacy-contact {
  position: relative;
  margin-top: 28px;
  padding-top: 38px;
}

.privacy-contact::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 60px;
  height: 3px;
  content: "";
  background: #7c7c7c;
}

.privacy-contact dl {
  display: flex;
  flex-direction: column;
  gap: 35px;
}

.privacy-contact dt,
.privacy-contact strong {
  font-weight: 600;
}

.privacy-contact a {
  color: inherit;
}

.privacy-page__enactment {
  margin-top: 6px;
  font-weight: 600;
  text-align: right;
}

@media screen and (max-width: 1240px) {
  .privacy-page__inner {
    grid-template-columns: minmax(280px, 360px) minmax(0, 721px);
    -moz-column-gap: clamp(48px, 8.264vw, 119px);
         column-gap: clamp(48px, 8.264vw, 119px);
  }
}
@media screen and (max-width: 900px) {
  .privacy-page {
    padding-top: 100px;
  }
  .privacy-page__inner {
    display: block;
  }
  .privacy-page__content {
    max-width: 721px;
    margin-top: 56px;
    margin-left: auto;
  }
}
@media screen and (max-width: 760px) {
  .page-heading--privacy {
    padding-top: 16.9230769231vw;
  }
  .page-heading--privacy .page-heading__inner {
    width: calc(100vw - 15.3846153846vw);
    margin-right: 0;
    margin-left: 7.6923076923vw;
  }
  .page-heading--privacy .page-heading__en {
    font-size: 5.1282051282vw;
    line-height: 1.2;
  }
  .page-heading--privacy .page-heading__title {
    margin-top: 1.1538461538vw;
    font-size: 3.0769230769vw;
    line-height: 1.45;
  }
  .privacy-page {
    padding-top: 20vw;
    padding-bottom: 12.3076923077vw;
  }
  .privacy-page__inner {
    width: calc(100vw - 15.3846153846vw);
    margin-right: 0;
    margin-left: 7.6923076923vw;
  }
  .privacy-page__side-heading {
    gap: 2.0512820513vw;
    font-size: 4.6153846154vw;
    line-height: 1.45;
    white-space: normal;
  }
  .privacy-page__side-heading::before {
    flex-basis: 2.0512820513vw;
    width: 2.0512820513vw;
    height: 2.0512820513vw;
    background-size: 2.0512820513vw 2.0512820513vw;
  }
  .privacy-page__content {
    margin-top: 10.2564102564vw;
  }
  .privacy-page__lead,
  .privacy-article,
  .privacy-contact,
  .privacy-page__enactment {
    font-size: 3.5897435897vw;
    line-height: 6.1538461538vw;
    letter-spacing: 0.03em;
  }
  .privacy-page__lead,
  .privacy-article p,
  .privacy-article li {
    text-align: justify;
  }
  .privacy-page__articles {
    gap: 18.9743589744vw;
    margin-top: 19.2307692308vw;
  }
  .privacy-article h3 {
    font-size: 5.1282051282vw;
    line-height: 1.45;
  }
  .privacy-article h3 + p,
  .privacy-article h3 + .privacy-article__subsection {
    margin-top: 6.1538461538vw;
  }
  .privacy-article ol {
    padding-left: 4.8717948718vw;
  }
  .privacy-article__subsection {
    margin-top: 35.641025641vw;
  }
  .privacy-article:nth-child(6) {
    margin-bottom: 0;
  }
  .privacy-article:nth-child(7) {
    margin-bottom: -1.5384615385vw;
  }
  .privacy-article__subsection h4 {
    font-size: 3.5897435897vw;
    line-height: 6.1538461538vw;
  }
  .privacy-article__subsection h4 + ol,
  .privacy-article__subsection p + ol {
    margin-top: 3.5897435897vw;
  }
  .privacy-contact {
    margin-top: 8.7179487179vw;
    padding-top: 0;
  }
  .privacy-contact::before {
    display: none;
  }
  .privacy-contact dl {
    gap: 6.1538461538vw;
  }
  .privacy-page__enactment {
    margin-top: -4.358974359vw;
    font-size: 4.1025641026vw;
    line-height: 8.2051282051vw;
  }
  .privacy-article__sp-indent {
    display: block;
    padding-left: 1em;
  }
}
/* ===================================================
デザイン制作
=================================================== */
.design-fv {
  position: relative;
  padding: 60px 0 0;
}

.design-fv__visual {
  position: relative;
  width: min(1349px, 100vw - 90px);
  aspect-ratio: 1349/730;
  margin: 0 auto;
  overflow: hidden;
  border-radius: 10px;
}

.design-fv__visual picture {
  display: contents;
}

.design-fv__image {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 730px;
  max-width: none;
}

.design-fv__copy {
  position: absolute;
  top: 265px;
  left: max(30px, (100vw - 1200px) / 2);
  z-index: 1;
}

.design-fv__eyebrow {
  display: flex;
  align-items: center;
  width: -moz-max-content;
  width: max-content;
  height: 57px;
  padding: 0 21px;
  font-family: "Zen Antique", serif;
  font-size: 39px;
  font-weight: 400;
  line-height: 52px;
  color: #fff;
  letter-spacing: 0.05em;
  white-space: nowrap;
  background: linear-gradient(90deg, #fb78b4 0%, #36b3e1 100%);
}

.design-fv__title {
  margin-top: 26px;
  font-family: "Zen Antique", serif;
  font-size: 64px;
  font-weight: 400;
  line-height: 96px;
  letter-spacing: 0.05em;
  background: linear-gradient(34.27deg, #fb78b4 0%, #36b3e1 99.99%);
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent;
}

.design-fv__title span {
  display: block;
  white-space: nowrap;
}

@media screen and (max-width: 1100px) and (min-width: 761px) {
  .design-fv__copy {
    top: clamp(150px, 18.403vw, 265px);
  }
  .design-fv__eyebrow {
    height: clamp(38px, 3.958vw, 57px);
    padding: 0 clamp(14px, 1.458vw, 21px);
    font-size: clamp(25px, 2.708vw, 39px);
    line-height: 1.34;
  }
  .design-fv__title {
    margin-top: clamp(16px, 1.806vw, 26px);
    font-size: clamp(40px, 4.444vw, 64px);
    line-height: 1.5;
  }
}
@media screen and (max-width: 760px) {
  .design-fv {
    height: 98.4615384615vw;
    padding: 0;
  }
  .design-fv__visual {
    width: 100%;
    height: 98.4615384615vw;
    aspect-ratio: auto;
    border-radius: 2.5641025641vw;
  }
  .design-fv__image {
    top: 12.0512820513vw;
    right: auto;
    bottom: auto;
    left: 0;
    width: 100%;
    height: 67.9487179487vw;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .design-fv__copy {
    top: 37.1794871795vw;
    left: 7.6923076923vw;
  }
  .design-fv__eyebrow {
    justify-content: center;
    width: 46.1538461538vw;
    height: 5.1282051282vw;
    padding: 0;
    font-size: 4.1025641026vw;
    line-height: 4.3335897436vw;
  }
  .design-fv__title {
    width: 46.1538461538vw;
    margin-top: 4.1025641026vw;
    font-size: 5.641025641vw;
    line-height: 8.4615384615vw;
    letter-spacing: 0.1em;
  }
}
/* SIMNAの特徴
=================================================== */
.design-features {
  padding: 0 0 100px;
}

.design-features__title {
  color: #5e5e5e;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 42px;
  font-weight: 700;
  line-height: 63px;
  text-align: center;
  letter-spacing: 0.1em;
}

.design-features__list {
  margin-top: 50px;
}

.design-feature {
  display: grid;
  grid-template-rows: 89px auto;
  grid-template-columns: 177px 43px 129px 10px minmax(0, 841px);
  align-items: center;
  width: 100%;
  min-height: 177px;
}

.design-feature + .design-feature {
  padding-top: 50px;
  margin-top: 50px;
  border-top: 1px solid #ddd;
}

.design-feature__badge {
  display: block;
  grid-row: 1/3;
  grid-column: 1;
  width: 177px;
  height: 177px;
}

.design-feature__number {
  position: relative;
  top: -40px;
  grid-row: 1/3;
  grid-column: 3;
  margin: 0;
  font-size: 90px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.03em;
  background: linear-gradient(29.68deg, #fb78b4 0%, #36b3e1 99.99%);
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent;
}

.design-feature__heading {
  align-self: center;
  grid-row: 1;
  grid-column: 5;
  margin-top: 0;
  font-size: 32px;
  font-weight: 700;
  line-height: 48px;
  letter-spacing: 0.08em;
  background: linear-gradient(8deg, #fb78b4 0%, #36b3e1 99.99%);
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent;
}

.design-feature__description {
  grid-row: 2;
  grid-column: 5;
  color: #000;
  font-size: 18px;
  font-weight: 400;
  line-height: 30px;
  text-align: justify;
  letter-spacing: 0;
}

@media screen and (max-width: 1240px) and (min-width: 761px) {
  .design-feature {
    grid-template-columns: 14.75% 3.583% 10.75% 0.833% minmax(0, 70.084%);
  }
  .design-feature__badge {
    width: 100%;
    height: auto;
  }
  .design-feature__number {
    font-size: clamp(60px, 7.258vw, 90px);
  }
  .design-feature__heading {
    font-size: clamp(24px, 2.581vw, 32px);
  }
  .design-feature__description {
    font-size: clamp(15px, 1.452vw, 18px);
  }
}
@media screen and (max-width: 760px) {
  .design-features {
    width: 100%;
    padding: 0 0 16.4102564103vw;
    margin-top: -16.4102564103vw;
    overflow: hidden;
  }
  .design-features__inner {
    width: 84.6153846154vw;
    margin-right: 0;
    margin-left: 7.6923076923vw;
  }
  .design-features__title {
    font-size: 6.1538461538vw;
    line-height: 9.2307692308vw;
    letter-spacing: 0.1em;
  }
  .design-features__list {
    margin-top: 8.2051282051vw;
  }
  .design-feature {
    grid-template-rows: 51.2820512821vw 6.1538461538vw 16.6666666667vw 6.1538461538vw auto;
    grid-template-columns: max-content minmax(0, 1fr);
    -moz-column-gap: 4.1025641026vw;
         column-gap: 4.1025641026vw;
    width: 84.6153846154vw;
    min-height: 0;
  }
  .design-feature + .design-feature {
    padding-top: 8.2051282051vw;
    margin-top: 8.2051282051vw;
  }
  .design-feature__badge {
    grid-row: 1;
    grid-column: 1/3;
    justify-self: center;
    width: 51.2820512821vw;
    height: 51.2820512821vw;
  }
  .design-feature__number {
    top: 0;
    grid-row: 3;
    grid-column: 1;
    font-size: 11.5384615385vw;
    line-height: 16.6666666667vw;
    letter-spacing: 0.03em;
  }
  .design-feature__heading {
    align-self: center;
    grid-row: 3;
    grid-column: 2;
    margin-top: 0;
    font-size: 4.6153846154vw;
    line-height: 6.9230769231vw;
    letter-spacing: 0.08em;
    white-space: nowrap;
  }
  .design-feature__description {
    grid-row: 5;
    grid-column: 1/3;
    margin-top: 0;
    font-size: 4.6153846154vw;
    line-height: 7.6923076923vw;
    text-align: justify;
    letter-spacing: 0;
  }
}
/* 対応可能なデザイン制作
=================================================== */
.design-offerings {
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(1200px, 100% - 60px);
  min-height: 390px;
  padding: 35px;
  margin: 0 auto 100px;
  background: linear-gradient(#fff, #fff) padding-box, linear-gradient(45deg, #fb78b4 0%, #36b3e1 100%) border-box;
  border: 1px solid transparent;
  border-radius: 10px;
}

.design-offerings__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  width: 100%;
}

.design-offerings__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 150px;
  background: linear-gradient(#fff, #fff) padding-box, linear-gradient(45deg, #fb78b4 0%, #36b3e1 100%) border-box;
  border: 1px solid transparent;
  border-radius: 10px;
  font-size: clamp(20px, 2.667vw, 32px);
  font-weight: 700;
  line-height: 48px;
  text-align: center;
  letter-spacing: 0.08em;
}

.design-offerings__item span {
  color: transparent;
  white-space: nowrap;
  background: linear-gradient(22deg, #fb78b4 0%, #36b3e1 100%);
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent;
}

.design-offerings__sp-break {
  display: none;
}

@media screen and (max-width: 760px) {
  .design-offerings {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 84.6153846154vw;
    height: 187.1794871795vw;
    min-height: 0;
    padding: 8.9743589744vw 6.9230769231vw;
    margin: 3.3333333333vw 0 0 7.4358974359vw;
    background: linear-gradient(#fff, #fff) padding-box, linear-gradient(45deg, #fb78b4 0%, #36b3e1 100%) border-box;
    border: 1px solid transparent;
    border-radius: 2.5641025641vw;
  }
  .design-offerings__list {
    display: flex;
    flex-direction: column;
    gap: 5.1282051282vw;
    width: 70.5128205128vw;
  }
  .design-offerings__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 70.5128205128vw;
    height: 38.4615384615vw;
    background: linear-gradient(#fff, #fff) padding-box, linear-gradient(45deg, #fb78b4 0%, #36b3e1 100%) border-box;
    border: 1px solid transparent;
    border-radius: 2.5641025641vw;
    font-size: 6.1538461538vw;
    font-weight: 700;
    line-height: 9.2307692308vw;
    text-align: center;
    letter-spacing: 0.08em;
  }
  .design-offerings__item span {
    white-space: nowrap;
  }
  .design-offerings__sp-break {
    display: initial;
  }
}
/* 採用サポートリンク
=================================================== */
.design-recruit-links {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 25px;
  width: min(1351px, 100% - 40px);
  margin: 0 auto;
}

.design-recruit-links__item {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  overflow: hidden;
  color: #fff;
  border-radius: 10px;
  aspect-ratio: 319/185;
  isolation: isolate;
}

.design-recruit-links__item img {
  position: absolute;
  inset: 0;
  z-index: -1;
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.5s ease;
}

.design-recruit-links__item span {
  font-size: 24px;
  font-weight: 400;
  line-height: 30px;
  letter-spacing: 0.05em;
  white-space: nowrap;
}

@media (hover: hover) and (pointer: fine) {
  .design-recruit-links__item:hover img {
    transform: scale(1.03);
  }
}
@media screen and (max-width: 1000px) and (min-width: 761px) {
  .design-recruit-links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .design-recruit-links__item span {
    font-size: clamp(18px, 2.4vw, 24px);
  }
}
@media screen and (max-width: 760px) {
  .design-recruit-links {
    grid-template-rows: repeat(2, minmax(0, 1fr));
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 3.0769230769vw;
    width: 84.7435897436vw;
    height: 50.4158974359vw;
    margin: 8.2051282051vw 0 0 7.6923076923vw;
  }
  .design-recruit-links__item {
    height: 100%;
    border-radius: 1.2820512821vw;
    aspect-ratio: auto;
  }
  .design-recruit-links__item span {
    font-size: 3.5897435897vw;
    line-height: 3.5897435897vw;
  }
  .page-template-page-design .site-footer {
    width: 100%;
    margin-top: 8.2051282051vw;
  }
}