@charset "UTF-8";
/*--------------------------
文字に対して、一括でfont-size、line-height、letter-spacing、font-weightを指定する
---------------------------*/
/*--------------------------
文字に対して、一括でfont-size、line-height、letter-spacing、font-weightを指定する
line-heightが％の場合
---------------------------*/
/*--------------------------------
    remの換算
--------------------------------*/
/*--------------------------------
    vwにする
--------------------------------*/
/*--------------------------------
    親要素に対する割合
--------------------------------*/
/*--------------------------------
    親要素に対する割合
--------------------------------*/
/*--------------------------------
背景のグラデーション
--------------------------------*/
/*--------------------------------
一次関数
画面幅 1440pxの時は、120pxで、そこからどんどん小さくなり、1000pxの時に20pxになるという実装の際に使える関数。
--------------------------------*/
/*--------------------------------
一次関数（最大値、最小値付き）
画面幅 1440pxの時は、120pxで、そこからどんどん小さくなり、1000pxの時に20pxになるという実装の際に使える関数。
--------------------------------*/
/*--------------------------------
擬似要素の背景
--------------------------------*/
/*--------------------------------
三角形
--------------------------------*/
/*--------------------------------
リキッドの設定
--------------------------------*/
html {
  font-size: 16px;
}
@media (min-width: 769px) and (max-width: 1200px) {
  html {
    font-size: 1.3333333333vw;
  }
}
@media (max-width: 768px) {
  html {
    font-size: 16px;
  }
}

/*--------------------------
  フォント読み込み
---------------------------*/
body {
  font-family: "Noto Sans JP", sans-serif;
  color: #000;
}

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

/* Remove default padding */
ul,
ol {
  padding: 0;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

/* Set core root defaults */
html {
  scroll-behavior: smooth;
}

/* Set core body defaults */
body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

/* Remove list styles on ul, ol elements with a class attribute */
ul,
ol {
  list-style: none;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  text-decoration-skip-ink: auto;
}

/* Make images easier to work with */
img {
  max-width: 100%;
  display: block;
  width: 100%;
}

/* Natural flow and rhythm in articles by default */
article > * + * {
  margin-top: 1em;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}

/* Blur images when they have no alt attribute */
img:not([alt]) {
  filter: blur(10px);
}

/* フォームリセット */
input,
button,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
}

textarea {
  resize: vertical;
}

input[type=checkbox],
input[type=radio] {
  display: none;
}

input[type=submit],
input[type=button],
label,
button,
select {
  cursor: pointer;
}

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

.inner {
  width: 100%;
  padding-right: 25px;
  padding-left: 25px;
  margin-right: auto;
  margin-left: auto;
  max-width: 1250px;
}
@media screen and (max-width: 768px) {
  .inner {
    max-width: 500px;
    padding-right: 15px;
    padding-left: 15px;
  }
}

body {
  overflow-x: hidden;
}

:target {
  scroll-margin-top: 7.9375rem;
}
@media screen and (max-width: 1280px) {
  :target {
    scroll-margin-top: 7.5rem;
  }
}
@media screen and (max-width: 768px) {
  :target {
    scroll-margin-top: 4rem;
  }
}

.site-subpage-first-view {
  position: relative;
}

body:not(.single) .site-subpage-first-view {
  height: 100vh;
}
@media screen and (max-width: 768px) {
  body:not(.single) .site-subpage-first-view {
    height: auto;
  }
}

body:not(.single) .site-subpage-fv {
  height: 100vh;
}
@media screen and (max-width: 768px) {
  body:not(.single) .site-subpage-fv {
    height: max(50vw, 17.5rem);
  }
}

.site-subpage-fv {
  position: relative;
  width: 100%;
  aspect-ratio: 2/1;
  overflow: hidden;
  border-radius: 0 0 1.875rem 1.875rem;
}
@media screen and (max-width: 768px) {
  .site-subpage-fv {
    height: max(50vw, 17.5rem);
    aspect-ratio: auto;
    border-radius: 0 0 1.125rem 1.125rem;
  }
}

.site-subpage-fv__image {
  width: 100%;
  height: 100%;
}

.site-subpage-fv__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.site-subpage-fv__heading {
  position: absolute;
  z-index: 2;
  bottom: 7.1875rem;
  left: 6.875rem;
  color: #ffffff;
}
@media screen and (max-width: 768px) {
  .site-subpage-fv__heading {
    bottom: 3rem;
    left: 0.9375rem;
  }
}

.site-subpage-fv__title {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 7.5rem;
  line-height: 1;
  letter-spacing: 0.02em;
  font-weight: 600;
}
@media screen and (max-width: 768px) {
  .site-subpage-fv__title {
    font-size: 2.625rem;
    line-height: 1.1428571429;
    letter-spacing: 0em;
    font-weight: 600;
  }
}

.site-subpage-fv__subtitle {
  margin-top: 0.375rem;
}
@media screen and (max-width: 768px) {
  .site-subpage-fv__subtitle {
    margin-top: 0.125rem;
  }
}

.site-subpage-fv__breadcrumb {
  width: 82%;
  max-width: 75rem;
  padding-top: 1.5625rem;
  border-top: 0.0625rem solid rgba(255, 255, 255, 0.55);
}

.site-loop-gallery {
  width: 100%;
  margin-top: 6.875rem;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .site-loop-gallery {
    margin-top: 4.375rem;
  }
}

.site-loop-gallery__track {
  will-change: transform;
}

.site-loop-gallery > .site-loop-gallery__track {
  display: flex;
  gap: 1.5625rem;
  width: max-content;
  padding-left: 1.5625rem;
}
@media screen and (max-width: 768px) {
  .site-loop-gallery > .site-loop-gallery__track {
    gap: 0.75rem;
    padding-left: 0.9375rem;
  }
}

.site-loop-gallery__item {
  flex: 0 0 25rem;
  overflow: hidden;
  border-radius: 1.25rem;
}
@media screen and (max-width: 768px) {
  .site-loop-gallery__item {
    flex-basis: min(74vw, 17.5rem);
    border-radius: 0.75rem;
  }
}

.site-loop-gallery__item img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
}

.site-loop-gallery__track.is-loop-ready {
  animation: site-loop-gallery 48s linear infinite;
  animation-delay: -12s;
}
@media (prefers-reduced-motion: reduce) {
  .site-loop-gallery__track.is-loop-ready {
    animation: none;
  }
}

@keyframes site-loop-gallery {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    transform: translate3d(var(--site-loop-gallery-distance, 0), 0, 0);
  }
}
.site-heading--section-en {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 7.75rem;
  line-height: 1;
  letter-spacing: 0.02em;
  font-weight: 600;
}
@media screen and (max-width: 768px) {
  .site-heading--section-en {
    font-size: 3rem;
    line-height: 1.125;
    letter-spacing: 0em;
    font-weight: 600;
  }
}

.site-heading--subpage-en {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 5.25rem;
  line-height: 1.0714285714;
  letter-spacing: 0.02em;
  font-weight: 600;
}
@media screen and (max-width: 768px) {
  .site-heading--subpage-en {
    font-size: 2.625rem;
    line-height: 1.1428571429;
    letter-spacing: 0em;
    font-weight: 600;
  }
}

.site-heading--large-jp {
  font-size: 4.5rem;
  line-height: 1.25;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .site-heading--large-jp {
    font-size: 2.125rem;
    line-height: 1.4705882353;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

.site-heading--page-jp {
  font-size: 3.375rem;
  line-height: 1.3333333333;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .site-heading--page-jp {
    font-size: 1.75rem;
    line-height: 1.5;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

.site-heading--primary-jp {
  font-size: 2.625rem;
  line-height: 1.5238095238;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .site-heading--primary-jp {
    font-size: 1.5rem;
    line-height: 1.5;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

.site-heading--small-en {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 2rem;
  line-height: 1.25;
  letter-spacing: 0.02em;
  font-weight: 600;
}
@media screen and (max-width: 768px) {
  .site-heading--small-en {
    font-size: 1.375rem;
    line-height: 1.3636363636;
    letter-spacing: 0em;
    font-weight: 600;
  }
}

.site-heading--number {
  font-family: "Jost", sans-serif;
  font-size: 6rem;
  line-height: 1;
  letter-spacing: 0.02em;
  font-weight: 600;
}
@media screen and (max-width: 768px) {
  .site-heading--number {
    font-size: 2.8125rem;
    line-height: 1.0666666667;
    letter-spacing: 0em;
    font-weight: 600;
  }
}

@media screen and (max-width: 768px) {
  .site-archive-inner {
    max-width: 48rem;
  }
}

.site-archive-category {
  margin-top: 7.5rem;
}
@media screen and (max-width: 768px) {
  .site-archive-category {
    margin-top: 4.375rem;
  }
}

.site-archive-category__title {
  color: #1c499e;
}

.site-archive-category__groups {
  margin-top: 1.25rem;
}

.site-archive-category__group {
  display: grid;
  grid-template-columns: 9.0625rem minmax(0, 1fr);
  gap: 2.1875rem;
  padding-top: 2.0625rem;
  padding-bottom: 2.0625rem;
  border-bottom: 0.0625rem solid #d6d6d6;
}
@media screen and (max-width: 768px) {
  .site-archive-category__group {
    display: block;
    padding-top: 1.625rem;
    padding-bottom: 1.625rem;
  }
}

.site-archive-category__group:last-child {
  border-bottom: 0;
}

.site-archive-category__group-title {
  color: #1c499e;
  font-size: 1.5rem;
  line-height: 1.25;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .site-archive-category__group-title {
    font-size: 1.125rem;
    line-height: 1.5555555556;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

.site-archive-category__list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.625rem;
}
@media screen and (max-width: 768px) {
  .site-archive-category__list {
    gap: 0.5rem;
    margin-top: 1.125rem;
  }
}

.site-archive-category__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.25rem;
  padding: 0.3125rem 1.125rem;
  border: 0.0625rem solid #1c499e;
  border-radius: 1.125rem;
  color: #1c499e;
  font-size: 0.875rem;
  line-height: 1.4285714286;
  letter-spacing: 0em;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .site-archive-category__link {
    min-height: 2rem;
    padding-right: 0.875rem;
    padding-left: 0.875rem;
    font-size: 0.75rem;
    line-height: 1.5;
    letter-spacing: 0em;
    font-weight: 400;
  }
}

.site-archive-category__link.is-current {
  background-color: #1c499e;
  color: #ffffff;
  cursor: default;
}

.site-archive-category__link.is-current * {
  cursor: default;
}

@media (hover: hover) {
  .site-archive-category__link:hover {
    background-color: #1c499e;
    color: #ffffff;
  }
}

.site-pagination {
  display: flex;
  justify-content: center;
  margin-top: 7.5rem;
}
@media screen and (max-width: 768px) {
  .site-pagination {
    margin-top: 4.5rem;
  }
}

.site-pagination__list {
  display: flex;
  align-items: center;
  gap: 1.25rem;
}
@media screen and (max-width: 768px) {
  .site-pagination__list {
    gap: 1.125rem;
  }
}

.site-pagination__link {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 0.75rem;
  min-height: 1.75rem;
  font-size: 1rem;
  line-height: 1.75;
  letter-spacing: 0em;
  font-weight: 500;
}

.site-pagination__link.is-current {
  color: #1c499e;
}

.site-pagination__link.is-current::after {
  position: absolute;
  right: -0.5625rem;
  bottom: -0.375rem;
  left: -0.5625rem;
  height: 0.125rem;
  background-color: #1c499e;
  content: "";
}

@media (hover: hover) {
  .site-pagination__link:hover {
    color: #1c499e;
  }
}

.site-pagination__link--arrow {
  font-family: "Jost", sans-serif;
  font-size: 1.5rem;
  line-height: 1;
  letter-spacing: 0em;
  font-weight: 500;
}

.site-heading--gradient {
  font-size: 1.75rem;
  line-height: 1.25;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .site-heading--gradient {
    font-size: 1.125rem;
    line-height: 1.5555555556;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

.site-heading-subtitle--default {
  font-size: 1.5rem;
  line-height: 1.25;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .site-heading-subtitle--default {
    font-size: 0.875rem;
    line-height: 1.5714285714;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

.site-heading-subtitle--en {
  font-family: "Jost", sans-serif;
  font-size: 1.5rem;
  line-height: 1.6666666667;
  letter-spacing: 0.02em;
  font-weight: 600;
}
@media screen and (max-width: 768px) {
  .site-heading-subtitle--en {
    font-size: 0.9375rem;
    line-height: 1.4666666667;
    letter-spacing: 0.02em;
    font-weight: 600;
  }
}

.sub-archive__contact {
  margin-top: 9.375rem;
  background-color: #ffffff;
}
@media screen and (max-width: 768px) {
  .sub-archive__contact {
    margin-top: 5rem;
  }
}

.site-gradient-heading {
  display: grid;
  place-items: center;
  min-height: 5rem;
  padding: 0.9375rem 1.875rem;
  border-radius: 0.625rem;
  color: #ffffff;
  text-align: center;
  background: linear-gradient(90deg, #1c499e 0%, #038be0 100%);
}
@media screen and (max-width: 768px) {
  .site-gradient-heading {
    min-height: 3.75rem;
    padding: 0.75rem 0.9375rem;
    border-radius: 0.4375rem;
  }
}

.site-gradient-heading--left {
  justify-items: start;
  text-align: left;
}

html.is-fixed,
html.is-fixed body {
  overflow: hidden;
}

.site-arrow-icon {
  display: grid;
  place-items: center;
  flex-shrink: 0;
  overflow: hidden;
  border-radius: 50%;
}

.site-arrow-icon img {
  width: auto;
  height: auto;
  object-fit: contain;
}

.site-wide-button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
  width: 100%;
  max-width: 22.5rem;
  min-height: 6rem;
  padding: 0.625rem 1.125rem 0.625rem 3.1875rem;
  border: 0.0625rem solid transparent;
  border-radius: 3rem;
  font-size: 1.5rem;
  line-height: 2;
  letter-spacing: 0em;
  font-weight: 700;
}

.site-wide-button br {
  display: none;
}

.site-wide-button--white {
  background-color: #ffffff;
  color: #1c499e;
}

.site-wide-button--blue {
  border-color: #1c499e;
  background-color: #1c499e;
  color: #ffffff;
}

@media (hover: hover) {
  .site-wide-button--white:hover {
    background-color: #eaf0f3;
  }
}

@media (hover: hover) {
  .site-wide-button--blue:hover {
    background-color: #ffffff;
    color: #1c499e;
  }
}

.site-wide-button__icon {
  width: 4rem;
  height: 4rem;
  background-color: #eaf0f3;
}

.site-wide-button--blue .site-wide-button__icon {
  background-color: #143572;
}

.site-wide-button__icon img {
  width: 1.25rem;
}

.site-wide-button--blue .site-wide-button__icon img {
  filter: brightness(0) invert(1);
}

.site-section-heading {
  display: flex;
  align-items: center;
  gap: 2.0625rem;
  min-height: 5rem;
  padding-right: 3.125rem;
  padding-left: 3.125rem;
  border-radius: 0.625rem;
  color: #ffffff;
  background: linear-gradient(90deg, #1c499e 0%, #038be0 100%);
}
@media screen and (max-width: 768px) {
  .site-section-heading {
    gap: 0.9375rem;
    min-height: 3.625rem;
    padding-right: 0.9375rem;
    padding-left: 0.9375rem;
    border-radius: 0.375rem;
  }
}

.site-section-heading__title {
  font-size: 1.75rem;
  line-height: 1.25;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .site-section-heading__title {
    font-size: 1.125rem;
    line-height: 1.5555555556;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

.site-section-heading__en {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 1.125rem;
  line-height: 1.1111111111;
  letter-spacing: 0.05em;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .site-section-heading__en {
    font-size: 0.5625rem;
    line-height: 1.6666666667;
    letter-spacing: 0.05em;
    font-weight: 500;
  }
}

.breadcrumb {
  position: absolute;
  bottom: 2rem;
  left: 6.875rem;
  display: flex;
  align-items: center;
  gap: 1.5625rem;
  color: #ffffff;
  font-size: 0.875rem;
  line-height: 1.7142857143;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .breadcrumb {
    display: none;
  }
}

.breadcrumb > span {
  flex-shrink: 0;
}

.breadcrumb a {
  color: inherit;
  transition: opacity 0.3s ease;
}

.breadcrumb a.home {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  text-transform: uppercase;
}

.breadcrumb a.home::before {
  flex-shrink: 0;
  width: 0.875rem;
  height: 0.625rem;
  content: "";
  background-image: url("../img/common/icon-home.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

@media (hover: hover) {
  .breadcrumb a:hover {
    opacity: 0.65;
  }
}

.breadcrumb__list {
  display: flex;
  align-items: center;
  gap: 1.5625rem;
}
@media screen and (max-width: 768px) {
  .breadcrumb__list {
    gap: 0.625rem;
  }
}

.breadcrumb__item {
  flex-shrink: 0;
}

.breadcrumb__item a {
  transition: opacity 0.3s ease;
}

.breadcrumb__home {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  text-transform: uppercase;
}

@media (hover: hover) {
  .breadcrumb__item a:hover {
    opacity: 0.65;
  }
}

.breadcrumb__home-icon {
  width: 0.875rem;
  height: 0.625rem;
  object-fit: contain;
}
@media screen and (max-width: 768px) {
  .breadcrumb__home-icon {
    width: 1rem;
    height: 0.875rem;
  }
}

.breadcrumb__separator {
  flex-shrink: 0;
  opacity: 0.8;
}

.breadcrumb--static {
  position: static;
  margin-top: 1.5625rem;
  color: #1c499e;
}
@media screen and (max-width: 768px) {
  .breadcrumb--static {
    margin-top: 1.125rem;
    overflow-x: auto;
  }
}

.breadcrumb--static .breadcrumb__home-icon {
  filter: brightness(0) saturate(100%) invert(28%) sepia(56%) saturate(1713%) hue-rotate(183deg) brightness(87%) contrast(101%);
}

.breadcrumb--static a.home::before,
.site-post-detail__breadcrumb a.home::before,
.sub-jobs__breadcrumb a.home::before {
  background-image: url("../img/common/icon-home-blue.png");
}

.sub-comparison {
  width: 100%;
  margin-top: 3.625rem;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
}
@media screen and (max-width: 768px) {
  .sub-comparison {
    width: 100vw;
    padding-right: 0.9375rem;
    padding-left: 0.9375rem;
    margin-top: 2.1875rem;
    margin-left: calc(50% - 50vw);
  }
}

.sub-comparison__table {
  width: 100%;
  min-width: 49.375rem;
  border-spacing: 0;
  table-layout: fixed;
}
@media screen and (max-width: 768px) {
  .sub-comparison__table {
    min-width: 42.5rem;
  }
}

.sub-comparison__head {
  height: 6.25rem;
  padding-right: 0.9375rem;
  padding-left: 0.9375rem;
  text-align: center;
  vertical-align: middle;
  font-size: 1.25rem;
  line-height: 1.25;
  letter-spacing: 0em;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .sub-comparison__head {
    height: 4.5rem;
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    font-size: 0.875rem;
    line-height: 1.4285714286;
    letter-spacing: 0em;
    font-weight: 400;
  }
}

.sub-comparison__head--blank {
  width: 24%;
}

.sub-comparison__head--primary {
  width: 40%;
  border-radius: 1.25rem 1.25rem 0 0;
  background-color: #1c499e;
  color: #ffffff;
  font-size: 1.5rem;
  line-height: 1.6666666667;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-comparison__head--primary {
    border-radius: 0.75rem 0.75rem 0 0;
    font-size: 1rem;
    line-height: 1.625;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

.sub-comparison__head--competitor {
  width: 18%;
  padding: 0;
  vertical-align: bottom;
}

.sub-comparison__head-label {
  display: grid;
  place-items: center;
  width: 100%;
  height: 3.75rem;
  border-right: 0.0625rem solid #ffffff;
  border-bottom: 0.0625rem solid #ffffff;
  background-color: #eaeaea;
}
@media screen and (max-width: 768px) {
  .sub-comparison__head-label {
    height: 2.875rem;
  }
}

.sub-comparison__label,
.sub-comparison__primary,
.sub-comparison__competitor {
  height: 7.1875rem;
  padding: 1rem;
  text-align: center;
  vertical-align: middle;
}
@media screen and (max-width: 768px) {
  .sub-comparison__label,
  .sub-comparison__primary,
  .sub-comparison__competitor {
    height: 5.5rem;
    padding: 0.625rem;
  }
}

.sub-comparison__label {
  border-right: 0.3125rem solid #1c499e;
  border-bottom: 0.125rem solid #ffffff;
  background-color: #1c499e;
  color: #ffffff;
  font-size: 1.5rem;
  line-height: 1.25;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-comparison__label {
    font-size: 1rem;
    line-height: 1.375;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

.sub-comparison__primary {
  border-right: 0.3125rem solid #1c499e;
  border-bottom: 0.125rem solid #ffffff;
  background-color: #eaf0f3;
  color: #1c499e;
}

.sub-comparison__competitor {
  border-right: 0.0625rem solid #ffffff;
  border-bottom: 0.125rem solid #ffffff;
  background-color: #eaeaea;
  color: #000;
  font-size: 1rem;
  line-height: 1.25;
  letter-spacing: 0em;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .sub-comparison__competitor {
    font-size: 0.875rem;
    line-height: 1.4285714286;
    letter-spacing: 0em;
    font-weight: 400;
  }
}

.sub-comparison__table tbody tr:last-child .sub-comparison__primary {
  border-bottom: 0.3125rem solid #2450a3;
}

.sub-comparison__table tbody tr:last-child .sub-comparison__label {
  border-bottom: 0.3125rem solid #2450a3;
}

.sub-comparison__primary-value {
  display: block;
  font-size: 1.5rem;
  line-height: 1.25;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-comparison__primary-value {
    font-size: 1rem;
    line-height: 1.375;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

.sub-comparison__symbol {
  display: block;
  font-size: 1.875rem;
  line-height: 1.0666666667;
  letter-spacing: 0em;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .sub-comparison__symbol {
    font-size: 1.5rem;
    line-height: 1.0833333333;
    letter-spacing: 0em;
    font-weight: 400;
  }
}

.sub-comparison__description {
  display: block;
  margin-top: 0.9375rem;
  font-size: 1rem;
  line-height: 1.25;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-comparison__description {
    margin-top: 0.5rem;
    font-size: 0.8125rem;
    line-height: 1.3846153846;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

.sub-comparison__competitor--symbol {
  font-size: 1.9375rem;
  line-height: 1.0967741935;
  letter-spacing: 0em;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .sub-comparison__competitor--symbol {
    font-size: 1.5rem;
    line-height: 1.0833333333;
    letter-spacing: 0em;
    font-weight: 400;
  }
}

.site-flow__list {
  position: relative;
  margin-top: 3.5625rem;
}

.site-flow__item:not(:last-child)::after {
  position: absolute;
  top: 3.125rem;
  bottom: -5.6875rem;
  left: 3.125rem;
  width: 0.0625rem;
  content: "";
  background-color: #1c499e;
}
@media screen and (max-width: 1280px) {
  .site-flow__item:not(:last-child)::after {
    top: 2.4375rem;
    bottom: -5.4375rem;
    left: 2.4375rem;
  }
}
@media screen and (max-width: 768px) {
  .site-flow__item:not(:last-child)::after {
    top: 1.75rem;
    bottom: -4.375rem;
    left: 1.75rem;
  }
}

.site-flow__item {
  position: relative;
  display: grid;
  grid-template-columns: 6.25rem 18.75rem minmax(0, 1fr);
  align-items: start;
  gap: 3.125rem;
}
@media screen and (max-width: 1280px) {
  .site-flow__item {
    grid-template-columns: 4.875rem 14.375rem minmax(0, 1fr);
    gap: 1.875rem;
  }
}
@media screen and (max-width: 768px) {
  .site-flow__item {
    grid-template-columns: 3.5rem minmax(0, 1fr);
    gap: 0 1.25rem;
  }
}

.site-flow__item + .site-flow__item {
  margin-top: 3.125rem;
}
@media screen and (max-width: 768px) {
  .site-flow__item + .site-flow__item {
    margin-top: 2.625rem;
  }
}

.site-flow__step {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  width: 6.25rem;
  height: 6.25rem;
  border-radius: 50%;
  background-color: #1c499e;
  color: #ffffff;
  font-family: "Jost", sans-serif;
  padding-bottom: 0.5rem;
}
@media screen and (max-width: 1280px) {
  .site-flow__step {
    width: 4.875rem;
    height: 4.875rem;
  }
}
@media screen and (max-width: 768px) {
  .site-flow__step {
    grid-column: 1;
    grid-row: 1/span 2;
    width: 3.5rem;
    height: 3.5rem;
    padding-bottom: 0;
  }
}

.site-flow__step-label {
  text-transform: uppercase;
  font-size: 0.75rem;
  line-height: 1.6666666667;
  letter-spacing: 0.2em;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .site-flow__step-label {
    font-size: 0.4375rem;
    line-height: 1.2857142857;
    letter-spacing: 0.2em;
    font-weight: 500;
  }
}

.site-flow__step-number {
  margin-top: 0.125rem;
  font-size: 2.25rem;
  line-height: 1;
  letter-spacing: 0em;
  font-weight: 600;
}
@media screen and (max-width: 768px) {
  .site-flow__step-number {
    margin-top: 0;
    font-size: 1.25rem;
    line-height: 1.15;
    letter-spacing: 0em;
    font-weight: 600;
  }
}

.site-flow__image {
  overflow: hidden;
  border-radius: 0.9375rem;
}
@media screen and (max-width: 768px) {
  .site-flow__image {
    grid-column: 2;
    grid-row: 1;
    border-radius: 0.625rem;
  }
}

.site-flow__image img {
  height: 100%;
  object-fit: cover;
  object-position: center;
}

@media screen and (max-width: 768px) {
  .site-flow__content {
    grid-column: 2;
    grid-row: 2;
    padding-top: 0;
  }
}

.site-flow__title {
  font-size: 1.75rem;
  line-height: 1.1785714286;
  letter-spacing: 0em;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .site-flow__title {
    margin-top: 0.375rem;
    font-size: 1.125rem;
    line-height: 1.6111111111;
    letter-spacing: 0em;
    font-weight: 500;
  }
}

.site-flow__text {
  margin-top: 1.875rem;
  font-size: 1.25rem;
  line-height: 2;
  letter-spacing: 0em;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .site-flow__text {
    margin-top: 0.625rem;
    font-size: 0.875rem;
    line-height: 1.8571428571;
    letter-spacing: 0em;
    font-weight: 400;
  }
}

.site-flow__note {
  margin-top: 1.875rem;
}
@media screen and (max-width: 768px) {
  .site-flow__note {
    margin-top: 1.5rem;
  }
}

.site-flow__note a {
  color: #1c499e;
  text-decoration: underline;
  text-underline-offset: 0.5rem;
  transition: opacity 0.3s ease;
}

@media (hover: hover) {
  .site-flow__note a:hover {
    opacity: 0.65;
  }
}

.site-contact__heading {
  color: #1c499e;
}

.site-contact-section {
  position: relative;
  background-color: #ffffff;
}

.site-contact__subtitle {
  margin-top: 0.4375rem;
}

.site-contact__lead {
  margin-top: 2.75rem;
  color: #1c499e;
  font-size: 1.5rem;
  line-height: 1.2083333333;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .site-contact__lead {
    margin-top: 1.75rem;
    font-size: 0.875rem;
    line-height: 1.7857142857;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

.site-contact__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.5rem;
  margin-top: 2.8125rem;
}
@media screen and (max-width: 768px) {
  .site-contact__list {
    grid-template-columns: 1fr;
    gap: 0.75rem;
    margin-top: 1.875rem;
  }
}

.site-contact__card {
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  min-height: 21.25rem;
  padding-top: 1.75rem;
  padding-right: 1.5rem;
  padding-bottom: 1.75rem;
  padding-left: 1.5rem;
  border-radius: 1.25rem;
  color: #ffffff;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .site-contact__card {
    min-height: 15.9375rem;
    border-radius: 0.75rem;
  }
}

.site-contact__card--phone {
  background-color: #0d80b5;
}

.site-contact__card--mail {
  background-color: #1c499e;
}

.site-contact__card--line {
  background-color: #00b900;
}

.site-contact__icon {
  height: 4.4375rem;
  flex-shrink: 0;
  object-fit: contain;
  object-position: center;
}

.site-contact__card--phone .site-contact__icon {
  width: 4.4375rem;
}

.site-contact__card--mail .site-contact__icon {
  width: 5.125rem;
}

.site-contact__card--line .site-contact__icon {
  width: 5.75rem;
}

.site-contact__card-title {
  margin-top: 1.25rem;
  font-size: 1.5rem;
  line-height: 1.6666666667;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .site-contact__card-title {
    margin-top: 0.875rem;
    font-size: 1.125rem;
    line-height: 1.5555555556;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

.site-contact__phone-number {
  margin-top: 1.875rem;
  font-family: "Jost", sans-serif;
  font-size: 2.25rem;
  line-height: 1.1111111111;
  letter-spacing: 0em;
  font-weight: 600;
}
@media screen and (max-width: 768px) {
  .site-contact__phone-number {
    margin-top: 1.125rem;
    font-size: 1.75rem;
    line-height: 1.1428571429;
    letter-spacing: 0em;
    font-weight: 600;
  }
}

.site-contact__note {
  margin-top: 1.1875rem;
  font-size: 1rem;
  line-height: 1.5;
  letter-spacing: -0.02em;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .site-contact__note {
    margin-top: 0.75rem;
    font-size: 0.75rem;
    line-height: 1.6666666667;
    letter-spacing: -0.02em;
    font-weight: 400;
  }
}

.site-contact__button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  max-width: 17.5rem;
  min-height: 4.5rem;
  padding-right: 0.9375rem;
  padding-left: 2.6875rem;
  margin-top: 2.25rem;
  border-radius: 2.25rem;
  background-color: #ffffff;
  color: #1c499e;
  font-size: 1.25rem;
  line-height: 1.25;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .site-contact__button {
    max-width: 15rem;
    min-height: 3.625rem;
    padding-left: 1.5625rem;
    margin-top: 1.375rem;
    border-radius: 1.8125rem;
    font-size: 0.9375rem;
    line-height: 1.3333333333;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

@media (hover: hover) {
  .site-contact__button:hover {
    opacity: 0.82;
  }
}

.site-contact__button-icon {
  width: 3rem;
  height: 3rem;
  background-color: #eaf0f3;
}

.site-contact__button-icon img {
  width: 1.0625rem;
}

.site-contact--visual {
  position: relative;
  width: 100%;
  height: 66.6667vw;
  min-height: 60rem;
  max-height: 62.5rem;
  padding: 0;
  margin-right: auto;
  margin-left: auto;
  border-radius: 1.25rem;
  overflow: hidden;
  color: #ffffff;
}
@media screen and (max-width: 768px) {
  .site-contact--visual {
    height: auto;
    min-height: 0;
    max-height: none;
    border-radius: 0.75rem;
  }
}

.site-contact__background {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 768px) {
  .site-contact__background {
    background-color: #143572;
  }
}

.site-contact__background img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
@media screen and (max-width: 768px) {
  .site-contact__background img {
    height: auto;
    object-position: 58% center;
    -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 75%, transparent 100%);
    mask-image: linear-gradient(to bottom, #000 0%, #000 75%, transparent 100%);
  }
}

.site-contact__visual-content {
  position: absolute;
  z-index: 1;
  inset: 0;
  width: 100%;
  padding-top: 5.3125rem;
  padding-right: max(8.125rem, (100% - 76.875rem) / 2);
  padding-bottom: 4.625rem;
  padding-left: max(8.125rem, (100% - 76.875rem) / 2);
}
@media screen and (max-width: 1280px) {
  .site-contact__visual-content {
    padding-right: 4.0625rem;
    padding-left: 4.0625rem;
  }
}
@media screen and (max-width: 768px) {
  .site-contact__visual-content {
    position: relative;
    inset: auto;
    max-width: 500px;
    padding-top: 3.75rem;
    padding-right: 1.25rem;
    padding-bottom: 2.8125rem;
    padding-left: 1.25rem;
    margin-right: auto;
    margin-left: auto;
  }
}

.site-contact--visual .site-contact__heading {
  color: #ffffff;
}

.site-contact--visual .site-contact__lead {
  margin-top: 5.8125rem;
  color: #ffffff;
  font-size: 2.625rem;
  line-height: 1.5238095238;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .site-contact--visual .site-contact__lead {
    margin-top: 2.375rem;
    font-size: 1.1875rem;
    line-height: 1.7368421053;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

.site-contact--visual .site-contact__list {
  margin-top: 2.875rem;
}

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

a[href] {
  cursor: pointer;
}

a[href] *,
a[href]::before,
a[href]::after {
  cursor: pointer;
}

@media (hover: hover) {
  a {
    transition: color 0.3s ease, background-color 0.3s ease, border-color 0.3s ease, opacity 0.3s ease;
  }
}
.test {
  font-size: 2.5rem;
}
@media screen and (max-width: 768px) {
  .test {
    font-size: 1.25rem;
  }
}

.site-header {
  position: absolute;
  z-index: 10;
  top: 1.875rem;
  left: 0;
  width: 100%;
  color: #ffffff;
  transition: top 0.3s ease, background-color 0.3s ease, color 0.3s ease, box-shadow 0.3s ease;
}
@media screen and (max-width: 768px) {
  .site-header {
    top: 1.125rem;
  }
}

.site-header.is-scrolled {
  position: fixed;
  top: 0;
  background-color: #ffffff;
  color: #000;
  box-shadow: 0 0.25rem 1rem rgba(0, 0, 0, 0.1);
}

.site-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-height: 6.0625rem;
  padding-right: 1.875rem;
  padding-left: 3.6875rem;
  transition: min-height 0.3s ease;
}
@media screen and (max-width: 1280px) {
  .site-header__inner {
    min-height: 5.625rem;
    padding-right: 1.5rem;
    padding-left: 1.5rem;
  }
}
@media screen and (max-width: 768px) {
  .site-header__inner {
    min-height: 2.875rem;
    padding-right: 0.9375rem;
    padding-left: 0.9375rem;
  }
}

.site-header.is-scrolled .site-header__inner {
  min-height: 4.125rem;
}
@media screen and (max-width: 1280px) {
  .site-header.is-scrolled .site-header__inner {
    min-height: 3.75rem;
  }
}
@media screen and (max-width: 768px) {
  .site-header.is-scrolled .site-header__inner {
    min-height: 2.875rem;
  }
}

.site-header__logo {
  position: relative;
  z-index: 2;
  align-self: flex-end;
  flex-shrink: 0;
  width: 15.875rem;
  transition: width 0.3s ease;
}
@media screen and (max-width: 1280px) {
  .site-header__logo {
    width: 12.5rem;
  }
}
@media screen and (max-width: 768px) {
  .site-header__logo {
    width: 5.625rem;
  }
}

.site-header.is-scrolled .site-header__logo {
  align-self: center;
  width: 9.8125rem;
}
@media screen and (max-width: 1280px) {
  .site-header.is-scrolled .site-header__logo {
    width: 9rem;
  }
}
@media screen and (max-width: 768px) {
  .site-header.is-scrolled .site-header__logo {
    width: 5.625rem;
  }
}

.site-header__logo img {
  height: auto;
  transition: filter 0.3s ease;
}

.site-header.is-scrolled .site-header__nav {
  align-self: center;
}
@media screen and (max-width: 768px) {
  .site-header.is-scrolled .site-header__nav {
    color: #ffffff;
  }
}

.site-header__nav {
  display: flex;
  align-items: center;
  align-self: flex-start;
  gap: 2.375rem;
}
@media screen and (max-width: 1280px) {
  .site-header__nav {
    gap: 1.375rem;
  }
}
@media screen and (max-width: 768px) {
  .site-header__nav {
    position: fixed;
    top: 0;
    right: 0;
    display: block;
    width: 100%;
    height: 100dvh;
    padding: 6.875rem 1.875rem 2.5rem;
    overflow-y: auto;
    background-color: #143572;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
  }
}

@media screen and (max-width: 768px) {
  .site-header__nav.is-open {
    opacity: 1;
    visibility: visible;
  }
}

.site-header__nav-list {
  display: flex;
  align-items: center;
  gap: 1.875rem;
}
@media screen and (max-width: 1280px) {
  .site-header__nav-list {
    gap: 1.125rem;
  }
}
@media screen and (max-width: 768px) {
  .site-header__nav-list {
    max-width: 500px;
    margin-inline: auto;
    display: block;
  }
}

@media screen and (max-width: 768px) {
  .site-header__nav-item {
    border-bottom: 0.0625rem solid rgba(255, 255, 255, 0.3);
  }
}

.site-header__nav-item--mega {
  position: relative;
}

.site-header__nav-link-wrap {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .site-header__nav-link-wrap {
    justify-content: space-between;
  }
}

.site-header__nav-link {
  display: block;
  font-size: 1rem;
  line-height: 3;
  letter-spacing: 0em;
  font-weight: 500;
}
@media screen and (max-width: 1280px) {
  .site-header__nav-link {
    font-size: 0.6875rem;
    line-height: 1.6363636364;
    letter-spacing: 0em;
    font-weight: 500;
  }
}
@media screen and (max-width: 768px) {
  .site-header__nav-link {
    padding-top: 1.125rem;
    padding-bottom: 1.125rem;
    font-size: 0.9375rem;
    line-height: 1.6;
    letter-spacing: 0em;
    font-weight: 500;
  }
}

@media (hover: hover) {
  .site-header__nav-link:hover {
    opacity: 0.65;
  }
}

.site-header__mega-toggle {
  display: none;
}
@media screen and (max-width: 768px) {
  .site-header__mega-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 3rem;
    height: 3rem;
  }
}

.site-header__mega-toggle-icon {
  position: relative;
  width: 0.75rem;
  height: 0.75rem;
}
.site-header__mega-toggle-icon::before, .site-header__mega-toggle-icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 0.0625rem;
  background-color: #ffffff;
  transition: transform 0.3s ease;
}
.site-header__mega-toggle-icon::after {
  transform: rotate(90deg);
}

.site-header__mega-toggle.is-open .site-header__mega-toggle-icon::after {
  transform: rotate(0deg);
}

.site-header__mega {
  position: absolute;
  top: 100%;
  left: 50%;
  z-index: 1;
  min-width: 17.5rem;
  padding: 1.875rem;
  border-radius: 0.5rem;
  background-color: #ffffff;
  box-shadow: 0 0.25rem 1rem rgba(0, 0, 0, 0.1);
  color: #000;
  opacity: 0;
  visibility: hidden;
  transform: translate(-50%, 0.625rem);
  transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease;
}
@media screen and (max-width: 768px) {
  .site-header__mega {
    position: static;
    left: auto;
    min-width: 0;
    padding: 0;
    border-radius: 0;
    background-color: transparent;
    box-shadow: none;
    color: inherit;
    transform: none;
    max-height: 0;
    overflow: hidden;
    visibility: visible;
    transition: max-height 0.3s ease;
  }
}

@media screen and (max-width: 768px) {
  .site-header__mega.is-open {
    max-height: 18.75rem;
  }
}

.site-header__nav-item--mega:hover .site-header__mega,
.site-header__nav-item--mega:focus-within .site-header__mega {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, 0);
}
@media screen and (max-width: 768px) {
  .site-header__nav-item--mega:hover .site-header__mega,
  .site-header__nav-item--mega:focus-within .site-header__mega {
    transform: none;
  }
}

.site-header__mega-list {
  display: flex;
  flex-direction: column;
  gap: 1.125rem;
}
@media screen and (max-width: 768px) {
  .site-header__mega-list {
    gap: 0;
    padding-top: 0.375rem;
  }
}

.site-header__mega-link {
  display: block;
  white-space: nowrap;
  font-size: 0.9375rem;
  line-height: 1.6;
  letter-spacing: 0em;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .site-header__mega-link {
    padding-top: 0.75rem;
    padding-left: 0.9375rem;
    color: rgba(255, 255, 255, 0.85);
    white-space: normal;
    font-size: 0.875rem;
    line-height: 1.5714285714;
    letter-spacing: 0em;
    font-weight: 500;
  }
}

@media (hover: hover) {
  .site-header__mega-link:hover {
    opacity: 0.65;
  }
}

.site-header__buttons {
  display: flex;
  gap: 0.9375rem;
}
@media screen and (max-width: 1280px) {
  .site-header__buttons {
    gap: 0.5rem;
  }
}
@media screen and (max-width: 768px) {
  .site-header__buttons {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 28.125rem;
    margin-inline: auto;
    gap: 0.625rem;
    margin-top: 2.375rem;
  }
}

.site-header__button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.5625rem;
  min-width: 9.375rem;
  min-height: 3.125rem;
  padding-right: 0.875rem;
  padding-left: 1.375rem;
  border-radius: 1.5625rem;
  background-color: #ffffff;
  color: #1c499e;
  text-transform: uppercase;
  font-size: 0.9375rem;
  line-height: 3.2;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (max-width: 1280px) {
  .site-header__button {
    gap: 0.75rem;
    min-width: 7.25rem;
    min-height: 2.875rem;
    padding-right: 0.625rem;
    padding-left: 0.9375rem;
    font-size: 0.625rem;
    line-height: 1.8;
    letter-spacing: 0em;
    font-weight: 700;
  }
}
@media screen and (max-width: 768px) {
  .site-header__button {
    min-width: 0;
    justify-content: space-between;
    padding-inline: 2.5rem 1.25rem;
    font-size: 0.875rem;
    line-height: 1.4285714286;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

@media (hover: hover) {
  .site-header__button:not(.site-header__button--contact):hover {
    border-color: #143572;
    background-color: #143572;
    color: #ffffff;
  }
}

.site-header__button--contact {
  background-color: #eaf0f3;
}

@media (hover: hover) {
  .site-header__button--contact:hover {
    border-color: #1c499e;
    background-color: #1c499e;
    color: #ffffff;
  }
}

.site-header__button-icon {
  width: 1.5rem;
  height: 1.5rem;
  background-color: #eaf0f3;
}

.site-header__button--contact .site-header__button-icon {
  background-color: #ffffff;
}

.site-header__button-icon img {
  width: 0.6875rem;
}

.site-header__hamburger {
  position: relative;
  z-index: 2;
  display: none;
  width: 2.875rem;
  height: 2.875rem;
  border-radius: 50%;
  background-color: #ffffff;
}
@media screen and (max-width: 768px) {
  .site-header__hamburger {
    display: block;
  }
}

.site-header__hamburger-line {
  position: absolute;
  left: 50%;
  width: 1.1875rem;
  height: 0.0625rem;
  background-color: #1c499e;
  transition: top 0.3s ease, transform 0.3s ease, opacity 0.3s ease;
  transform: translateX(-50%);
}

.site-header__hamburger-line:nth-child(1) {
  top: 1rem;
}

.site-header__hamburger-line:nth-child(2) {
  top: 1.375rem;
}

.site-header__hamburger-line:nth-child(3) {
  top: 1.75rem;
}

.site-header__hamburger.is-open .site-header__hamburger-line:nth-child(1) {
  top: 1.375rem;
  transform: translateX(-50%) rotate(45deg);
}

.site-header__hamburger.is-open .site-header__hamburger-line:nth-child(2) {
  opacity: 0;
}

.site-header__hamburger.is-open .site-header__hamburger-line:nth-child(3) {
  top: 1.375rem;
  transform: translateX(-50%) rotate(-45deg);
}

.site-header--light {
  color: #000;
}

@media screen and (max-width: 768px) {
  .site-header.is-drawer-open .site-header__logo img {
    filter: brightness(0) invert(1);
  }
}

.site-header--light .site-header__button,
.site-header.is-scrolled .site-header__button {
  background-color: #1c499e;
  color: #ffffff;
}

.site-header--light .site-header__button--contact,
.site-header.is-scrolled .site-header__button--contact {
  background-color: #2590d3;
}

.site-header--light .site-header__button-icon,
.site-header.is-scrolled .site-header__button-icon {
  background-color: #143572;
}

.site-header--light .site-header__button--contact .site-header__button-icon,
.site-header.is-scrolled .site-header__button--contact .site-header__button-icon {
  background-color: #1c499e;
}

.site-header--light .site-header__button-icon img,
.site-header.is-scrolled .site-header__button-icon img {
  filter: brightness(0) invert(1);
}

@media (hover: hover) {
  .site-header--light .site-header__button:not(.site-header__button--contact):hover,
  .site-header.is-scrolled .site-header__button:not(.site-header__button--contact):hover {
    background-color: #143572;
  }
}

@media (hover: hover) {
  .site-header--light .site-header__button--contact:hover,
  .site-header.is-scrolled .site-header__button--contact:hover {
    background-color: #1c499e;
  }
}

@media screen and (max-width: 768px) {
  .site-header--light .site-header__nav {
    color: #ffffff;
  }
}

.site-footer {
  position: relative;
  z-index: 1;
  padding-top: 5.9375rem;
  padding-bottom: 5.625rem;
  background-color: #ffffff;
}
@media screen and (max-width: 768px) {
  .site-footer {
    padding-top: 5rem;
    padding-bottom: 2.1875rem;
  }
}

.site-footer__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 5rem;
}
@media screen and (max-width: 768px) {
  .site-footer__top {
    display: block;
  }
}

.site-footer__brand {
  flex-shrink: 0;
}

.site-footer__logo {
  display: block;
  width: 13.75rem;
}
@media screen and (max-width: 768px) {
  .site-footer__logo {
    width: 11.5625rem;
  }
}

.site-footer__certifications {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.8125rem 1.25rem;
  margin-top: 2.3125rem;
}

.site-footer__certifications img {
  width: 5.625rem;
  height: 3rem;
  object-fit: contain;
  object-position: left center;
}
@media screen and (max-width: 768px) {
  .site-footer__certifications img {
    width: 4.6875rem;
    height: 2.5rem;
  }
}

.site-footer__navigation {
  width: 100%;
}
@media screen and (max-width: 768px) {
  .site-footer__navigation {
    margin-top: 3.4375rem;
  }
}

.site-footer__nav {
  display: flex;
  justify-content: end;
  flex-wrap: wrap;
  gap: 5rem;
}
@media screen and (max-width: 768px) {
  .site-footer__nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2.5rem 1.5rem;
  }
}

.site-footer__nav-group {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
}

@media screen and (max-width: 768px) {
  .site-footer__nav-group:last-child {
    display: grid;
    grid-column: 1/-1;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 9.375rem), 1fr));
    gap: 0.75rem 1.5rem;
  }
}

.site-footer__nav-heading {
  font-size: 1.125rem;
  line-height: 2.2222222222;
  letter-spacing: 0em;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .site-footer__nav-heading {
    word-break: keep-all;
    font-size: 0.9375rem;
    line-height: 1.8666666667;
    letter-spacing: 0em;
    font-weight: 500;
  }
}

.site-footer__nav-heading + .site-footer__nav-link {
  margin-top: 0.9375rem;
}

.site-footer__nav-link {
  color: #615d5d;
  font-size: 1.0625rem;
  line-height: 1.7647058824;
  letter-spacing: 0em;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .site-footer__nav-link {
    font-size: 0.875rem;
    line-height: 1.9285714286;
    letter-spacing: 0em;
    font-weight: 500;
  }
}

@media (hover: hover) {
  .site-footer__nav-heading:hover,
  .site-footer__nav-link:hover {
    color: #1c499e;
  }
}

.site-footer__buttons {
  display: flex;
  justify-content: flex-end;
  gap: 0.9375rem;
  margin-top: 3.875rem;
}
@media screen and (max-width: 768px) {
  .site-footer__buttons {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 2.5rem;
  }
}

.site-footer__button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.9375rem;
  min-width: 9.375rem;
  min-height: 3.125rem;
  padding-right: 1rem;
  padding-left: 1.3125rem;
  border-radius: 1.5625rem;
  color: #ffffff;
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 0.9375rem;
  line-height: 1.3333333333;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .site-footer__button {
    min-width: 0;
  }
}

.site-footer__button--recruit {
  background-color: #1c499e;
}

.site-footer__button--contact {
  background-color: #2590d3;
}

@media (hover: hover) {
  .site-footer__button:hover {
    filter: brightness(1.1);
  }
}

.site-footer__button-icon {
  width: 1.5rem;
  height: 1.5rem;
  background-color: #143572;
}

.site-footer__button-icon img {
  width: 0.6875rem;
  filter: brightness(0) invert(1);
}

.site-footer__concept {
  display: flex;
  align-items: center;
  gap: 4.25rem;
  width: fit-content;
  margin-top: 2.875rem;
}
@media screen and (max-width: 768px) {
  .site-footer__concept {
    width: 100%;
    gap: 0.9375rem;
    margin-top: 4.375rem;
  }
}

.site-footer__concept-mark {
  width: 21.9375rem;
  height: auto;
  flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .site-footer__concept-mark {
    width: 9.0625rem;
  }
}

.site-footer__concept-copy {
  font-family: "Noto Serif JP", YuMincho, "Yu Mincho", serif;
  white-space: nowrap;
  font-size: 2.9375rem;
  line-height: 1.6170212766;
  letter-spacing: 0.4em;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .site-footer__concept-copy {
    font-size: 1.375rem;
    line-height: 1.7272727273;
    letter-spacing: 0.4em;
    font-weight: 400;
  }
}

.site-footer__bottom {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 2.5rem;
  margin-top: 4.75rem;
}
@media screen and (max-width: 768px) {
  .site-footer__bottom {
    align-items: flex-start;
    flex-direction: column;
    margin-top: 3.125rem;
  }
}

.site-footer__description {
  color: #999999;
  font-size: 1.25rem;
  line-height: 1.2;
  letter-spacing: 0em;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .site-footer__description {
    font-size: 0.875rem;
    line-height: 1.7142857143;
    letter-spacing: 0em;
    font-weight: 400;
  }
}

.site-footer__copyright {
  margin-top: 1.25rem;
  color: #999999;
  font-family: "Jost", sans-serif;
  font-size: 0.625rem;
  line-height: 3.2;
  letter-spacing: 0em;
  font-weight: 400;
}

.site-footer__socials {
  display: flex;
  align-items: center;
  gap: 1.6875rem;
}

.site-footer__social-link {
  display: block;
  width: 1.8125rem;
}

@media (hover: hover) {
  .site-footer__social-link:hover {
    opacity: 0.6;
  }
}

.top-hero-about {
  position: relative;
  color: #ffffff;
  background-color: #143572;
}

.top-hero-about__background {
  position: fixed;
  z-index: 0;
  top: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100svh;
}

.top-hero-about__background-sticky {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.top-hero-about__slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 1.6s ease;
}

.top-hero-about__slide.is-active {
  opacity: 1;
}

.top-hero-about__slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.top-hero-about__content {
  position: relative;
  z-index: 1;
}

.top-hero-about__content::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.04) 0%, rgba(0, 0, 0, 0.08) 26%, rgba(0, 0, 0, 0.28) 48%, rgba(0, 0, 0, 0.58) 72%, rgba(0, 0, 0, 0.66) 100%);
}

.top-fv {
  min-height: 100svh;
}

.top-fv__inner {
  display: flex;
  align-items: flex-end;
  width: 100%;
  height: 100%;
  min-height: inherit;
  padding: 10rem 0.9375rem 1.5625rem;
}
@media screen and (max-width: 768px) {
  .top-fv__inner {
    padding: 7.5rem 0.9375rem 2.8125rem;
  }
}

.top-fv__copy {
  width: 100%;
}

.top-fv__copy-jp {
  font-size: 2rem;
  line-height: 1.3125;
  letter-spacing: 0em;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .top-fv__copy-jp {
    font-size: 1rem;
    line-height: 1.75;
    letter-spacing: 0em;
    font-weight: 500;
  }
}

.top-fv__copy-en {
  margin-top: 1.25rem;
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 9.5625rem;
  line-height: 0.9019607843;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (max-width: 1280px) {
  .top-fv__copy-en {
    font-size: 5.125rem;
    line-height: 1;
    letter-spacing: 0em;
    font-weight: 700;
  }
}
@media screen and (max-width: 768px) {
  .top-fv__copy-en {
    margin-top: 0.25rem;
    font-size: 3.125rem;
    line-height: 0.98;
    letter-spacing: -0.035em;
    font-weight: 700;
  }
}

.top-about {
  min-height: 64.375rem;
  padding-top: 18.75rem;
  padding-bottom: 37.5rem;
}
@media screen and (max-width: 768px) {
  .top-about {
    min-height: 100svh;
    padding-top: 5.625rem;
    padding-bottom: 10.9375rem;
  }
}

.top-about__inner {
  display: flex;
  justify-content: flex-end;
}

.top-about__content {
  width: min(100%, 40rem);
}

.top-about__heading {
  width: fit-content;
}

.top-about__title {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 7.5rem;
  line-height: 1.0666666667;
  letter-spacing: 0.02em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .top-about__title {
    font-size: 3rem;
    line-height: 1.0416666667;
    letter-spacing: 0.02em;
    font-weight: 700;
  }
}

.top-about__lead {
  margin-top: 8.4375rem;
  font-size: 2.625rem;
  line-height: 1.3333333333;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .top-about__lead {
    margin-top: 3.4375rem;
    font-size: 1.375rem;
    line-height: 1.7272727273;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

.top-about__texts {
  margin-top: 6.25rem;
}
@media screen and (max-width: 768px) {
  .top-about__texts {
    margin-top: 2rem;
  }
}

.top-about__text {
  font-size: 1.25rem;
  line-height: 2;
  letter-spacing: -0.02em;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .top-about__text {
    font-size: 0.9375rem;
    line-height: 1.9333333333;
    letter-spacing: -0.02em;
    font-weight: 500;
  }
}

.top-about__text + .top-about__text {
  margin-top: 2.5rem;
}
@media screen and (max-width: 768px) {
  .top-about__text + .top-about__text {
    margin-top: 1.5625rem;
  }
}

.top-about__button {
  margin-top: 5.625rem;
}
@media screen and (max-width: 768px) {
  .top-about__button {
    max-width: 16.25rem;
    min-height: 3.875rem;
    margin-top: 2.8125rem;
    padding-right: 0.625rem;
    padding-left: 1.875rem;
    border-radius: 1.9375rem;
    font-size: 0.9375rem;
    line-height: 1.6;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

@media (hover: hover) {
  .top-about__button:hover .top-about__button-icon {
    background-color: #ffffff;
  }
}

@media screen and (max-width: 768px) {
  .top-about__button-icon {
    width: 2.625rem;
    height: 2.625rem;
  }
}

.top-services {
  position: relative;
  z-index: 2;
  margin-top: -1.25rem;
  background-image: linear-gradient(to bottom, transparent 0, transparent 1.875rem, #ffffff 1.875rem, #ffffff 100%);
}
@media screen and (max-width: 768px) {
  .top-services {
    background-image: linear-gradient(to bottom, transparent 0, transparent 1.125rem, #ffffff 1.125rem, #ffffff 100%);
  }
}

.top-services__panel {
  width: 100%;
  max-width: none;
  padding-top: 8rem;
  padding-bottom: 8.125rem;
}
@media screen and (max-width: 768px) {
  .top-services__panel {
    padding-top: 3.4375rem;
    padding-bottom: 4.6875rem;
  }
}

.site-raised-panel {
  position: relative;
  border-radius: 0 1.875rem 1.875rem 1.875rem;
  background-color: #ffffff;
}
@media screen and (max-width: 768px) {
  .site-raised-panel {
    border-radius: 0 1.125rem 1.125rem 1.125rem;
  }
}

.site-raised-panel::before {
  content: "";
  position: absolute;
  right: calc(100% - var(--site-raised-panel-cap-width, 61%));
  bottom: 100%;
  left: 0;
  height: var(--site-raised-panel-cap-height, 14.0625rem);
  border-radius: 1.875rem 1.875rem 0 0;
  background-color: inherit;
}
@media screen and (max-width: 768px) {
  .site-raised-panel::before {
    right: calc(100% - var(--site-raised-panel-cap-width-sp, 88%));
    height: var(--site-raised-panel-cap-height-sp, 6.5625rem);
    border-radius: 1.125rem 1.125rem 0 0;
  }
}

.site-raised-panel::after {
  content: "";
  position: absolute;
  top: -2.1875rem;
  left: var(--site-raised-panel-cap-width, 61%);
  width: 2.1875rem;
  height: 2.1875rem;
  background: radial-gradient(circle 2.1875rem at 100% 0, transparent calc(100% - 0.0625rem), #ffffff 100%);
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .site-raised-panel::after {
    top: -1.125rem;
    left: var(--site-raised-panel-cap-width-sp, 88%);
    width: 1.125rem;
    height: 1.125rem;
    background: radial-gradient(circle 1.125rem at 100% 0, transparent calc(100% - 0.0625rem), #ffffff 100%);
  }
}

.top-services__inner {
  position: relative;
}

.top-services__heading {
  position: absolute;
  bottom: calc(100% + 4.5625rem);
  left: 25px;
  color: #1c499e;
}
@media screen and (max-width: 768px) {
  .top-services__heading {
    bottom: calc(100% + 1.75rem);
    left: 15px;
  }
}

.top-services__subtitle {
  margin-top: 0.4375rem;
}
@media screen and (max-width: 768px) {
  .top-services__subtitle {
    margin-top: 0.1875rem;
  }
}

.top-services__lead {
  color: #1c499e;
  font-size: 1.25rem;
  line-height: 1.8;
  letter-spacing: 0em;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .top-services__lead {
    font-size: 0.9375rem;
    line-height: 1.8666666667;
    letter-spacing: 0em;
    font-weight: 500;
  }
}

.top-services__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 5rem;
  margin-top: 5.625rem;
}
@media screen and (max-width: 768px) {
  .top-services__list {
    grid-template-columns: 1fr;
    margin-top: 3.4375rem;
  }
}

.top-services__item {
  min-width: 0;
  transition: opacity 0.3s ease;
}

@media (hover: hover) {
  .top-services__item:hover {
    opacity: 0.65;
  }
}

.top-services__item-link-wrap {
  display: contents;
  color: inherit;
  text-decoration: none;
}

.top-services__item:nth-child(even) {
  margin-top: 10.625rem;
}
@media screen and (max-width: 768px) {
  .top-services__item:nth-child(even) {
    margin-top: 4.0625rem;
  }
}

.top-services__item:nth-child(odd):not(:first-child) {
  margin-top: 3.125rem;
}
@media screen and (max-width: 768px) {
  .top-services__item:nth-child(odd):not(:first-child) {
    margin-top: 4.0625rem;
  }
}

.top-services__image {
  overflow: hidden;
  border-radius: 1.25rem;
}
@media screen and (max-width: 768px) {
  .top-services__image {
    border-radius: 0.75rem;
  }
}

.top-services__image img {
  aspect-ratio: 560/400;
  object-fit: cover;
  transition: transform 0.5s ease;
}
@media screen and (max-width: 768px) {
  .top-services__image img {
    aspect-ratio: 345/246;
  }
}

@media (hover: hover) {
  .top-services__item:hover .top-services__image img {
    transform: scale(1.08);
  }
}

.top-services__item-body {
  display: grid;
  grid-template-columns: 5.9375rem minmax(0, 1fr);
  gap: 1.875rem;
  margin-top: 2.3125rem;
}
@media screen and (max-width: 768px) {
  .top-services__item-body {
    grid-template-columns: 3.4375rem minmax(0, 1fr);
    gap: 0.75rem;
    margin-top: 1.25rem;
  }
}

.top-services__number {
  color: #1c499e;
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  text-align: center;
}

.top-services__number-label {
  display: block;
  font-size: 0.75rem;
  line-height: 1.5;
  letter-spacing: 0.12em;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .top-services__number-label {
    font-size: 0.625rem;
    line-height: 1.5;
    letter-spacing: 0.1em;
    font-weight: 500;
  }
}

.top-services__number-value {
  display: block;
  margin-top: 0.75rem;
  font-size: 4rem;
  line-height: 1;
  letter-spacing: 0em;
  font-weight: 600;
}
@media screen and (max-width: 768px) {
  .top-services__number-value {
    margin-top: 0.125rem;
    font-size: 2.25rem;
    line-height: 1.0555555556;
    letter-spacing: 0em;
    font-weight: 600;
  }
}

.top-services__item-title {
  font-size: 2rem;
  line-height: 1.25;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .top-services__item-title {
    font-size: 1.25rem;
    line-height: 1.55;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

.top-services__item-text {
  margin-top: 1.375rem;
  font-size: 1rem;
  line-height: 2;
  letter-spacing: 0em;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .top-services__item-text {
    margin-top: 0.9375rem;
    font-size: 0.875rem;
    line-height: 1.9285714286;
    letter-spacing: 0em;
    font-weight: 400;
  }
}

.top-services__item-link {
  display: flex;
  align-items: center;
  gap: 0.8125rem;
  width: fit-content;
  padding-bottom: 0.8125rem;
  margin-top: 1.875rem;
  margin-left: auto;
  border-bottom: 0.0625rem solid #1c499e;
  color: #1c499e;
  font-size: 1rem;
  line-height: 1.375;
  letter-spacing: 0em;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .top-services__item-link {
    gap: 0.5rem;
    padding-bottom: 0.3125rem;
    margin-top: 1.375rem;
    font-size: 0.8125rem;
    line-height: 1.5384615385;
    letter-spacing: 0em;
    font-weight: 500;
  }
}

.top-services__item-link-icon {
  width: 1.5rem;
  height: 1.5rem;
  background-color: #1c499e;
}
@media screen and (max-width: 768px) {
  .top-services__item-link-icon {
    width: 1.25rem;
    height: 1.25rem;
  }
}

.top-services__item-link-icon img {
  width: 0.6875rem;
}

.top-services__button {
  margin-top: 5.5625rem;
  margin-left: auto;
}
@media screen and (max-width: 768px) {
  .top-services__button {
    max-width: 16.25rem;
    min-height: 4rem;
    padding-right: 0.625rem;
    padding-left: 1.75rem;
    border-radius: 2rem;
    font-size: 0.9375rem;
    line-height: 1.6;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

@media screen and (max-width: 768px) {
  .top-services__button-icon {
    width: 2.625rem;
    height: 2.625rem;
  }
}

.top-reasons {
  position: relative;
  padding-top: 11.25rem;
  padding-bottom: 5.375rem;
  overflow: hidden;
  background-color: #dee9ef;
  background-image: url("../img/top/reasons-bg.jpg");
  background-repeat: no-repeat;
  background-position: right top;
  background-size: 90rem auto;
}
@media screen and (max-width: 768px) {
  .top-reasons {
    padding-top: 4.6875rem;
    padding-bottom: 4.375rem;
    background-size: auto 38.125rem;
  }
}

.top-reasons__heading {
  color: #1c499e;
}

.top-reasons__subtitle {
  margin-top: 0.5rem;
}
@media screen and (max-width: 768px) {
  .top-reasons__subtitle {
    margin-top: 0.25rem;
  }
}

.top-reasons__slider {
  margin-top: 3.75rem;
  overflow: visible;
}
@media screen and (max-width: 768px) {
  .top-reasons__slider {
    margin-top: 2.5rem;
  }
}

.top-reasons__slider .swiper-wrapper {
  align-items: stretch;
}

.top-reasons__slide {
  width: min(80.56vw, 75rem);
  height: auto;
}
@media screen and (max-width: 768px) {
  .top-reasons__slide {
    width: min(100vw - 2.5rem, 72vw + 4.0625rem);
  }
}

.top-reasons__card {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  height: 100%;
  min-height: 30rem;
  padding: 1.25rem;
  border-radius: 1.875rem;
  overflow: hidden;
  background-color: #ffffff;
}
@media screen and (max-width: 768px) {
  .top-reasons__card {
    display: block;
    min-height: 0;
    padding: 0.625rem;
    border-radius: 1.125rem;
  }
}

.top-reasons__number {
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  width: 11.25rem;
  height: 11.25rem;
  border-radius: 1.875rem 0 1.875rem 0;
  background-color: #1c499e;
  color: #ffffff;
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
}
@media screen and (max-width: 768px) {
  .top-reasons__number {
    width: 6.5625rem;
    height: 6.5625rem;
    border-radius: 1.125rem 0 1.125rem 0;
  }
}

.top-reasons__number-label {
  font-size: 0.75rem;
  line-height: 1.5;
  letter-spacing: 0.18em;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .top-reasons__number-label {
    font-size: 0.5625rem;
    line-height: 1.5555555556;
    letter-spacing: 0.14em;
    font-weight: 500;
  }
}

.top-reasons__number-value {
  margin-top: 0.625rem;
  font-size: 4rem;
  line-height: 0.90625;
  letter-spacing: 0em;
  font-weight: 600;
}
@media screen and (max-width: 768px) {
  .top-reasons__number-value {
    margin-top: 0.1875rem;
    font-size: 2.25rem;
    line-height: 1.0555555556;
    letter-spacing: 0em;
    font-weight: 600;
  }
}

.top-reasons__image {
  min-width: 0;
  overflow: hidden;
  border-radius: 1.25rem;
}
@media screen and (max-width: 768px) {
  .top-reasons__image {
    border-radius: 0.75rem 0.75rem 0 0;
  }
}

.top-reasons__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (max-width: 768px) {
  .top-reasons__image img {
    aspect-ratio: 16/10;
  }
}

.top-reasons__content {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  min-width: 0;
  padding: 3.75rem 0.625rem 1.875rem 3.4375rem;
}
@media screen and (max-width: 768px) {
  .top-reasons__content {
    padding: 2.1875rem 0.9375rem 1.75rem;
  }
}

.top-reasons__tag {
  padding: 0.5rem 1.5625rem;
  border: 0.0625rem solid #1c499e;
  border-radius: 1.125rem;
  color: #1c499e;
  font-size: 1rem;
  line-height: 1.375;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .top-reasons__tag {
    padding: 0.1875rem 0.8125rem;
    font-size: 0.6875rem;
    line-height: 1.6363636364;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

.top-reasons__card-title {
  margin-top: 0.9375rem;
  color: #1c499e;
  font-size: 2.625rem;
  line-height: 1.5238095238;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .top-reasons__card-title {
    margin-top: 1.125rem;
    font-size: 1.4375rem;
    line-height: 1.5217391304;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

.top-reasons__text {
  margin-top: 1.5625rem;
  color: #1c499e;
  font-size: 1.25rem;
  line-height: 2;
  letter-spacing: -0.02em;
  font-weight: 400;
  padding-right: 2.8125rem;
}
@media screen and (max-width: 768px) {
  .top-reasons__text {
    margin-top: 1rem;
    font-size: 0.875rem;
    line-height: 1.9285714286;
    letter-spacing: -0.02em;
    font-weight: 400;
  }
}

.top-reasons__navigation {
  position: absolute;
  z-index: 5;
  top: calc(50% - 4.375rem);
  display: grid;
  place-items: center;
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  background-color: #a6a6a6;
}
@media screen and (max-width: 768px) {
  .top-reasons__navigation {
    top: 50%;
    width: 2.625rem;
    height: 2.625rem;
  }
}

.top-reasons__navigation img {
  width: 1.375rem;
}
@media screen and (max-width: 768px) {
  .top-reasons__navigation img {
    width: 0.6875rem;
  }
}

.top-reasons__navigation--prev {
  left: calc(50% - min(40.28vw, 36.25rem));
  transform: translateX(-50%);
}
@media screen and (max-width: 768px) {
  .top-reasons__navigation--prev {
    left: clamp(1.25rem, 14vw - 2.03125rem, 4.6875rem);
    transform: translate(-50%, -50%);
  }
}

.top-reasons__navigation--prev img {
  transform: rotate(180deg);
}

.top-reasons__navigation--next {
  right: calc(50% - min(40.28vw, 36.25rem));
  transform: translateX(50%);
}
@media screen and (max-width: 768px) {
  .top-reasons__navigation--next {
    right: clamp(1.25rem, 14vw - 2.03125rem, 4.6875rem);
    transform: translate(50%, -50%);
  }
}

@media (hover: hover) {
  .top-reasons__navigation:hover {
    background-color: rgba(28, 73, 158, 0.85);
  }
}

.top-reasons__pagination {
  --swiper-pagination-bullet-horizontal-gap: 0.3125rem;
  position: static;
  margin-top: 1.25rem;
}

.top-reasons__pagination .swiper-pagination-bullet {
  width: 0.4375rem;
  height: 0.4375rem;
  background-color: #87939b;
  opacity: 0.6;
}

.top-reasons__pagination .swiper-pagination-bullet-active {
  background-color: #000;
  opacity: 1;
}

.top-strengths {
  position: relative;
  padding-top: 8.5625rem;
  padding-bottom: 11.25rem;
  overflow: hidden;
  color: #ffffff;
  background-color: #1c499e;
  background-image: radial-gradient(circle at 50% 50%, rgba(255, 255, 255, 0.021) 0, rgba(255, 255, 255, 0.009) 0.09375rem, transparent 0.25rem), linear-gradient(to bottom, transparent calc(50% - 0.1875rem), rgba(255, 255, 255, 0.005) calc(50% - 0.125rem), rgba(255, 255, 255, 0.014) 50%, rgba(255, 255, 255, 0.005) calc(50% + 0.125rem), transparent calc(50% + 0.1875rem)), linear-gradient(90deg, transparent calc(50% - 0.1875rem), rgba(255, 255, 255, 0.005) calc(50% - 0.125rem), rgba(255, 255, 255, 0.014) 50%, rgba(255, 255, 255, 0.005) calc(50% + 0.125rem), transparent calc(50% + 0.1875rem));
  background-size: 1.125rem 1.125rem;
}
@media screen and (max-width: 768px) {
  .top-strengths {
    padding-top: 4.6875rem;
    padding-bottom: 3.4375rem;
  }
}

.top-strengths__inner {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 90rem;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 768px) {
  .top-strengths__inner {
    max-width: 31.25rem;
    padding-right: 15px;
    padding-left: 15px;
  }
}

.top-strengths__subtitle {
  margin-top: 0.5rem;
}
@media screen and (max-width: 768px) {
  .top-strengths__subtitle {
    margin-top: 0.25rem;
  }
}

.top-strengths__list {
  margin-top: 3.75rem;
}
@media screen and (max-width: 768px) {
  .top-strengths__list {
    margin-top: 2.5rem;
  }
}

.top-strengths__item {
  display: grid;
  align-items: flex-start;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5.5rem;
}
@media screen and (max-width: 768px) {
  .top-strengths__item {
    display: flex;
    align-items: stretch;
    flex-direction: column;
    gap: 2.1875rem;
  }
}

.top-strengths__item + .top-strengths__item {
  margin-top: 5.625rem;
}
@media screen and (max-width: 768px) {
  .top-strengths__item + .top-strengths__item {
    margin-top: 5rem;
  }
}

@media screen and (max-width: 768px) {
  .top-strengths__item--reverse {
    flex-direction: column-reverse;
  }
}

.top-strengths__image {
  position: relative;
  z-index: 1;
  overflow: hidden;
  border-radius: 1.25rem;
}
@media screen and (max-width: 768px) {
  .top-strengths__image {
    border-radius: 0.625rem;
  }
}

.top-strengths__item:not(.top-strengths__item--reverse) .top-strengths__image {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
@media (min-width: 1441px) {
  .top-strengths__item:not(.top-strengths__item--reverse) .top-strengths__image {
    border-top-left-radius: 1.25rem;
    border-bottom-left-radius: 1.25rem;
  }
}
@media screen and (max-width: 768px) {
  .top-strengths__item:not(.top-strengths__item--reverse) .top-strengths__image {
    border-top-left-radius: 0.625rem;
    border-bottom-left-radius: 0.625rem;
  }
}

.top-strengths__item--reverse .top-strengths__image {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
@media (min-width: 1441px) {
  .top-strengths__item--reverse .top-strengths__image {
    border-top-right-radius: 0.9375rem;
    border-bottom-right-radius: 0.9375rem;
  }
}
@media screen and (max-width: 768px) {
  .top-strengths__item--reverse .top-strengths__image {
    border-top-right-radius: 0.625rem;
    border-bottom-right-radius: 0.625rem;
  }
}

.top-strengths__image img {
  aspect-ratio: 690/480;
  object-fit: cover;
}

.top-strengths__content {
  position: relative;
  z-index: 1;
  width: 100%;
  min-width: 0;
}

.top-strengths__item--reverse .top-strengths__content {
  justify-self: end;
  max-width: 34.8125rem;
}
@media screen and (max-width: 768px) {
  .top-strengths__item--reverse .top-strengths__content {
    max-width: none;
  }
}

.top-strengths__label {
  display: flex;
  align-items: flex-end;
  gap: 1.5rem;
}
@media screen and (max-width: 768px) {
  .top-strengths__label {
    gap: 1.125rem;
  }
}

.top-strengths__number {
  flex-shrink: 0;
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  text-align: center;
}

.top-strengths__number-label {
  display: block;
  font-size: 0.75rem;
  line-height: 1.3333333333;
  letter-spacing: 0.2em;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .top-strengths__number-label {
    font-size: 0.5625rem;
    line-height: 1.5555555556;
    letter-spacing: 0.2em;
    font-weight: 500;
  }
}

.top-strengths__number-value {
  display: block;
  margin-top: 1.125rem;
  font-size: 4rem;
  line-height: 1;
  letter-spacing: 0em;
  font-weight: 600;
}
@media screen and (max-width: 768px) {
  .top-strengths__number-value {
    margin-top: 0.125rem;
    font-size: 2.375rem;
    line-height: 1.0526315789;
    letter-spacing: 0em;
    font-weight: 600;
  }
}

.top-strengths__keyword {
  padding: 0.75rem 1.75rem;
  background-color: #ffffff;
  color: #1c499e;
  font-family: "Jost", sans-serif;
  text-align: center;
  text-transform: uppercase;
  font-size: 2rem;
  line-height: 1.25;
  letter-spacing: 0.02em;
  font-weight: 600;
}
@media screen and (max-width: 768px) {
  .top-strengths__keyword {
    min-width: 8.125rem;
    padding: 0.375rem 0.75rem;
    font-size: 1.0625rem;
    line-height: 1.4117647059;
    letter-spacing: 0em;
    font-weight: 600;
  }
}

.top-strengths__item-title {
  margin-top: 2.1875rem;
  font-size: 2.625rem;
  line-height: 1.5238095238;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .top-strengths__item-title {
    margin-top: 1.5625rem;
    font-size: 1.4375rem;
    line-height: 1.652173913;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

.top-strengths__text {
  margin-top: 1.875rem;
  font-size: 1.25rem;
  line-height: 2;
  letter-spacing: -0.02em;
  font-weight: 400;
  max-width: 34.8125rem;
}
@media screen and (max-width: 768px) {
  .top-strengths__text {
    margin-top: 1.25rem;
    font-size: 0.875rem;
    line-height: 2;
    letter-spacing: -0.02em;
    font-weight: 400;
    max-width: none;
  }
}

.top-strengths__pattern {
  position: absolute;
  z-index: 0;
  width: auto;
  max-width: none;
  pointer-events: none;
}

.top-strengths__pattern--01 {
  top: 34.375rem;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  max-width: 1440px;
}

.top-strengths__pattern--02 {
  right: 50%;
  transform: translateX(60rem);
  bottom: 15.5rem;
  width: min(82vw, 71.875rem);
}

.top-strengths__keywords {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 2.8125rem;
  margin-top: 6.25rem;
}
@media screen and (max-width: 768px) {
  .top-strengths__keywords {
    gap: 1.125rem;
    margin-top: 4.6875rem;
  }
}

.top-strengths__keyword-loop {
  width: 100%;
  overflow: hidden;
}

.top-strengths__keyword-motion {
  display: flex;
  width: max-content;
}

.top-strengths__keyword-track {
  display: flex;
  align-items: center;
  width: max-content;
}

.top-strengths__keyword-loop.is-loop-ready .top-strengths__keyword-motion {
  animation: top-strengths-keywords 48s linear infinite;
}
@media (prefers-reduced-motion: reduce) {
  .top-strengths__keyword-loop.is-loop-ready .top-strengths__keyword-motion {
    animation-play-state: paused;
  }
}

.top-strengths__keyword-loop--reverse.is-loop-ready .top-strengths__keyword-motion {
  animation-direction: reverse;
  animation-duration: 52s;
}

.top-strengths__keyword-item {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  gap: 1.25rem;
  margin-right: 5rem;
  white-space: nowrap;
  font-size: 1.75rem;
  line-height: 1.1428571429;
  letter-spacing: 0em;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .top-strengths__keyword-item {
    gap: 0.5625rem;
    margin-right: 2.1875rem;
    font-size: 0.9375rem;
    line-height: 1.6;
    letter-spacing: 0em;
    font-weight: 500;
  }
}

.top-strengths__keyword-item img {
  width: 3.4375rem;
  height: 3.4375rem;
  object-fit: contain;
}
@media screen and (max-width: 768px) {
  .top-strengths__keyword-item img {
    width: 1.875rem;
    height: 1.875rem;
  }
}

@keyframes top-strengths-keywords {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}
.top-voices {
  position: relative;
  z-index: 2;
  isolation: isolate;
  background-color: #1c499e;
  background-image: radial-gradient(circle at 50% 50%, rgba(255, 255, 255, 0.021) 0, rgba(255, 255, 255, 0.009) 0.09375rem, transparent 0.25rem), linear-gradient(to bottom, transparent calc(50% - 0.1875rem), rgba(255, 255, 255, 0.005) calc(50% - 0.125rem), rgba(255, 255, 255, 0.014) 50%, rgba(255, 255, 255, 0.005) calc(50% + 0.125rem), transparent calc(50% + 0.1875rem)), linear-gradient(90deg, transparent calc(50% - 0.1875rem), rgba(255, 255, 255, 0.005) calc(50% - 0.125rem), rgba(255, 255, 255, 0.014) 50%, rgba(255, 255, 255, 0.005) calc(50% + 0.125rem), transparent calc(50% + 0.1875rem));
  background-size: 1.125rem 1.125rem;
}
@media screen and (max-width: 768px) {
  .top-voices {
    padding-top: 0.625rem;
  }
}

.top-voices__panel {
  width: 100%;
  max-width: none;
  padding-top: 6.875rem;
  padding-bottom: 8.375rem;
  overflow: hidden;
  border-radius: 1.875rem 1.875rem 0 0;
  background-color: #ffffff;
}
@media screen and (max-width: 768px) {
  .top-voices__panel {
    padding-top: 3.75rem;
    padding-bottom: 4.0625rem;
    border-radius: 1.125rem 1.125rem 0 0;
  }
}

.top-voices__heading {
  display: grid;
  align-items: flex-start;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 7.5rem;
  color: #1c499e;
}
@media screen and (max-width: 768px) {
  .top-voices__heading {
    display: block;
  }
}

.top-voices__subtitle {
  margin-top: 0.5rem;
}
@media screen and (max-width: 768px) {
  .top-voices__subtitle {
    margin-top: 0.25rem;
  }
}

.top-voices__lead {
  margin-top: 0.625rem;
  font-size: 1.25rem;
  line-height: 2;
  letter-spacing: -0.02em;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .top-voices__lead {
    margin-top: 1.75rem;
    font-size: 0.875rem;
    line-height: 1.9285714286;
    letter-spacing: -0.02em;
    font-weight: 500;
  }
}

.top-voices__slider {
  width: 100vw;
  margin-top: 6.125rem;
  margin-left: calc(50% - 50vw);
  overflow: visible;
}
@media screen and (max-width: 768px) {
  .top-voices__slider {
    margin-top: 2.5rem;
  }
}

.top-voices__slide {
  width: 27.5rem;
  height: auto;
  background-color: #d9e7e7;
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 768px) {
  .top-voices__slide {
    width: min(100vw - 3.125rem, 20.625rem);
  }
}

@media (hover: hover) {
  .top-voices__slide:hover {
    opacity: 0.65;
  }
}

.top-voices__slide:nth-child(3n+2) {
  background-color: #f4f4f4;
}

.top-voices__slide:nth-child(3n) {
  background-color: #e7edef;
}

.top-voices__slide-link {
  display: block;
  padding: 0.625rem;
  color: inherit;
  text-decoration: none;
}

.top-voices__image {
  overflow: hidden;
}

.top-voices__image img {
  aspect-ratio: 420/265;
  max-height: 16.5625rem;
  object-fit: cover;
  transition: transform 0.5s ease;
}

@media (hover: hover) {
  .top-voices__slide:hover .top-voices__image img {
    transform: scale(1.08);
  }
}

.top-voices__card-body {
  margin-top: 0;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 1.875rem;
  min-height: 19.375rem;
  padding: 2.5rem 3.125rem 2.5rem 1.25rem;
}
@media screen and (max-width: 768px) {
  .top-voices__card-body {
    grid-template-columns: 2.1875rem minmax(0, 1fr);
    min-height: 17.5rem;
    padding: 1.5rem 1.125rem 1.75rem 0.75rem;
  }
}

.top-voices__number {
  display: flex;
  align-items: center;
  align-self: flex-start;
  flex-direction: column;
  color: #1c499e;
  font-family: "Jost", sans-serif;
}

.top-voices__number span {
  writing-mode: vertical-rl;
  font-size: 0.75rem;
  line-height: 2.6666666667;
  letter-spacing: 0.02em;
  font-weight: 400;
}

.top-voices__number strong {
  margin-top: 1.4375rem;
  writing-mode: vertical-rl;
  font-size: 1.5rem;
  line-height: 1.1666666667;
  letter-spacing: 0em;
  font-weight: 400;
}

.top-voices__content {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  min-width: 0;
}

.top-voices__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.top-voices__tags li {
  padding: 0.59375rem 1.25rem;
  border-radius: 1.125rem;
  background-color: #1c499e;
  color: #ffffff;
  font-size: 0.875rem;
  line-height: 1.2142857143;
  letter-spacing: 0em;
  font-weight: 400;
}

.top-voices__company {
  margin-top: 1rem;
  font-size: 0.8125rem;
  line-height: 1.5384615385;
  letter-spacing: 0em;
  font-weight: 400;
  color: #555;
}

.top-voices__card-title {
  display: -webkit-box;
  width: 100%;
  overflow: hidden;
  margin-top: 1.5625rem;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  font-size: 1.25rem;
  line-height: 1.5;
  letter-spacing: -0.04em;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .top-voices__card-title {
    font-size: 0.9375rem;
    line-height: 1.7333333333;
    letter-spacing: -0.04em;
    font-weight: 500;
  }
}

.top-voices__link {
  display: flex;
  align-items: center;
  gap: 0.8125rem;
  width: fit-content;
  padding-bottom: 0.75rem;
  margin-top: 1.875rem;
  border-bottom: 0.0625rem solid #1c499e;
  color: #1c499e;
  font-size: 1rem;
  line-height: 1;
  letter-spacing: 0em;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .top-voices__link {
    gap: 0.5625rem;
    padding-bottom: 0.5625rem;
    font-size: 0.8125rem;
    line-height: 1.3846153846;
    letter-spacing: 0em;
    font-weight: 500;
  }
}

.top-voices__link-icon {
  width: 1.5rem;
  height: 1.5rem;
  background-color: #1c499e;
}
@media screen and (max-width: 768px) {
  .top-voices__link-icon {
    width: 1.25rem;
    height: 1.25rem;
  }
}

.top-voices__link-icon img {
  width: 0.625rem;
}
@media screen and (max-width: 768px) {
  .top-voices__link-icon img {
    width: 0.5rem;
  }
}

.top-voices__navigation {
  position: absolute;
  z-index: 5;
  top: 15.3125rem;
  display: grid;
  place-items: center;
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  background-color: #ffffff;
}
@media screen and (max-width: 768px) {
  .top-voices__navigation {
    top: 50%;
    width: 2.625rem;
    height: 2.625rem;
    border: 0.0625rem solid #1c499e;
  }
}

.top-voices__navigation img {
  width: 1.25rem;
  transition: filter 0.3s ease;
}
@media screen and (max-width: 768px) {
  .top-voices__navigation img {
    width: 0.6875rem;
  }
}

.top-voices__navigation--prev {
  left: 1.25rem;
}
@media screen and (max-width: 768px) {
  .top-voices__navigation--prev {
    left: max(1.5625rem, (100vw - 20.625rem) / 2);
    transform: translate(-50%, -50%);
  }
}

.top-voices__navigation--prev img {
  transform: rotate(180deg);
}

.top-voices__navigation--next {
  right: 1.25rem;
}
@media screen and (max-width: 768px) {
  .top-voices__navigation--next {
    right: max(1.5625rem, (100vw - 20.625rem) / 2);
    transform: translate(50%, -50%);
  }
}

@media (hover: hover) {
  .top-voices__navigation:hover {
    background-color: #1c499e;
  }
}

@media (hover: hover) {
  .top-voices__navigation:hover img {
    filter: brightness(0) invert(1);
  }
}

.top-voices__bottom {
  display: flex;
  justify-content: flex-end;
}

.top-voices__button {
  margin-top: 3.4375rem;
}
@media screen and (max-width: 768px) {
  .top-voices__button {
    max-width: 16.25rem;
    min-height: 4rem;
    padding-right: 0.625rem;
    padding-left: 1.75rem;
    margin-top: 2.5rem;
    border-radius: 2rem;
    font-size: 0.9375rem;
    line-height: 1.6;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

@media screen and (max-width: 768px) {
  .top-voices__button-icon {
    width: 2.625rem;
    height: 2.625rem;
  }
}

.top-works {
  position: relative;
  z-index: 2;
  padding-top: 7.3125rem;
  padding-bottom: 16.25rem;
  margin-top: -1.875rem;
  overflow: hidden;
  border-radius: 1.875rem 1.875rem 0 0;
  color: #ffffff;
  background-color: #1c499e;
  background-image: radial-gradient(circle at 50% 50%, rgba(255, 255, 255, 0.021) 0, rgba(255, 255, 255, 0.009) 0.09375rem, transparent 0.25rem), linear-gradient(to bottom, transparent calc(50% - 0.1875rem), rgba(255, 255, 255, 0.005) calc(50% - 0.125rem), rgba(255, 255, 255, 0.014) 50%, rgba(255, 255, 255, 0.005) calc(50% + 0.125rem), transparent calc(50% + 0.1875rem)), linear-gradient(90deg, transparent calc(50% - 0.1875rem), rgba(255, 255, 255, 0.005) calc(50% - 0.125rem), rgba(255, 255, 255, 0.014) 50%, rgba(255, 255, 255, 0.005) calc(50% + 0.125rem), transparent calc(50% + 0.1875rem));
  background-size: 1.125rem 1.125rem;
  background-color: #4d9cce;
}
@media screen and (max-width: 768px) {
  .top-works {
    padding-top: 5.8125rem;
    padding-bottom: 7.5rem;
    margin-top: -1.125rem;
    border-radius: 1.125rem 1.125rem 0 0;
  }
}

.top-works__mark {
  position: absolute;
  z-index: 0;
  bottom: 8.125rem;
  left: 0;
  width: min(42vw, 36.4375rem);
  aspect-ratio: 583/1125;
  background-image: url("../img/top/works-mark.png");
  background-repeat: no-repeat;
  background-position: left bottom;
  background-size: contain;
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .top-works__mark {
    bottom: 1.875rem;
    width: 13.4375rem;
    height: 32.5rem;
  }
}

.top-works__heading {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 7.5rem;
}
@media screen and (max-width: 768px) {
  .top-works__heading {
    display: block;
  }
}

.top-works__subtitle {
  margin-top: 0.5rem;
}
@media screen and (max-width: 768px) {
  .top-works__subtitle {
    margin-top: 0.25rem;
  }
}

.top-works__heading-text {
  margin-top: 0.625rem;
}
@media screen and (max-width: 768px) {
  .top-works__heading-text {
    margin-top: 1.875rem;
  }
}

.top-works__lead {
  font-size: 1.25rem;
  line-height: 2;
  letter-spacing: 0em;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .top-works__lead {
    font-size: 0.875rem;
    line-height: 1.9285714286;
    letter-spacing: 0em;
    font-weight: 500;
  }
}

.top-works__note {
  margin-top: 1rem;
  font-size: 1rem;
  line-height: 1.25;
  letter-spacing: -0.02em;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .top-works__note {
    margin-top: 0.625rem;
    font-size: 0.6875rem;
    line-height: 1.8181818182;
    letter-spacing: -0.02em;
    font-weight: 400;
  }
}

.top-works__slider {
  position: relative;
  z-index: 1;
  margin-top: 21.25rem;
  overflow: visible;
}
@media screen and (max-width: 768px) {
  .top-works__slider {
    margin-top: 6.5625rem;
  }
}

.top-works__slide {
  position: relative;
  width: 41.25rem;
  min-height: 32.625rem;
  height: auto;
  padding-top: 11.25rem;
  overflow: visible;
  border-radius: 1.875rem;
  background-color: #e8edef;
  color: #000;
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 768px) {
  .top-works__slide {
    width: min(100vw - 3.125rem, 21.25rem);
    min-height: 26.875rem;
    padding-top: 0;
    overflow: hidden;
    border-radius: 0.75rem;
  }
}

@media (hover: hover) {
  .top-works__slide:hover {
    opacity: 0.65;
  }
}

.top-works__slide-link {
  display: contents;
  color: inherit;
  text-decoration: none;
}

.top-works__image {
  position: absolute;
  top: -10.875rem;
  right: -3.25rem;
  width: 30rem;
  overflow: hidden;
  border-radius: 1.25rem;
}
@media screen and (max-width: 768px) {
  .top-works__image {
    position: relative;
    top: auto;
    width: 100%;
    border-radius: 0.75rem 0.75rem 0 0.75rem;
  }
}

.top-works__image img {
  aspect-ratio: 480/360;
  max-height: 22.5rem;
  object-fit: cover;
  transition: transform 0.5s ease;
}
@media screen and (max-width: 768px) {
  .top-works__image img {
    aspect-ratio: 340/230;
    max-height: 14.375rem;
  }
}

@media (hover: hover) {
  .top-works__slide:hover .top-works__image img {
    transform: scale(1.08);
  }
}

.top-works__number {
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 11.25rem;
  height: 11.25rem;
  border-radius: 1.875rem 0 1.875rem 0;
  background-color: #1c499e;
  color: #ffffff;
  font-family: "Jost", sans-serif;
  text-align: center;
  text-transform: uppercase;
  margin-top: 0;
}
@media screen and (max-width: 768px) {
  .top-works__number {
    top: 0;
    width: 6.5625rem;
    height: 6.5625rem;
    border-radius: 0.75rem 0 0.75rem 0;
  }
}

.top-works__number span {
  display: block;
  font-size: 0.75rem;
  line-height: 1.1666666667;
  letter-spacing: 0.2em;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .top-works__number span {
    font-size: 0.5rem;
    line-height: 1.5;
    letter-spacing: 0.12em;
    font-weight: 600;
  }
}

.top-works__number strong {
  display: block;
  margin-top: 0.25rem;
  font-size: 4rem;
  line-height: 1;
  letter-spacing: 0em;
  font-weight: 600;
}
@media screen and (max-width: 768px) {
  .top-works__number strong {
    margin-top: 0;
    font-size: 1.8125rem;
    line-height: 1.1034482759;
    letter-spacing: 0em;
    font-weight: 600;
  }
}

.top-works__content {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  min-height: 18.125rem;
  margin-top: 0;
  padding: 3.5rem 6.25rem 3.125rem 3.625rem;
}
@media screen and (max-width: 768px) {
  .top-works__content {
    min-height: 15rem;
    padding: 1.75rem 1.5rem 1.875rem;
  }
}

.top-works__meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.75rem 3.5625rem;
  width: 100%;
}

.top-works__tag {
  padding: 0.375rem 1.125rem;
  border-radius: 1.125rem;
  background-color: #1c499e;
  color: #ffffff;
  font-size: 0.875rem;
  line-height: 1.2142857143;
  letter-spacing: 0em;
  font-weight: 400;
}

.top-works__company {
  color: #555;
  font-size: 0.8125rem;
  line-height: 1.8461538462;
  letter-spacing: 0em;
  font-weight: 400;
}

.top-works__card-title {
  display: -webkit-box;
  width: 100%;
  overflow: hidden;
  margin-top: 2.1875rem;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  font-size: 1.5rem;
  line-height: 1.6666666667;
  letter-spacing: -0.04em;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .top-works__card-title {
    margin-top: 1.375rem;
    font-size: 0.9375rem;
    line-height: 1.7333333333;
    letter-spacing: -0.04em;
    font-weight: 500;
  }
}

.top-works__link {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  width: fit-content;
  padding-bottom: 0.75rem;
  margin-top: 2.5rem;
  border-bottom: 0.0625rem solid #1c499e;
  color: #1c499e;
  font-size: 1.5rem;
  line-height: 1.25;
  letter-spacing: 0em;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .top-works__link {
    gap: 0.5625rem;
    padding-bottom: 0.5625rem;
    margin-top: 1.75rem;
    font-size: 0.8125rem;
    line-height: 1.3846153846;
    letter-spacing: 0em;
    font-weight: 500;
  }
}

.top-works__link-icon {
  width: 1.5rem;
  height: 1.5rem;
  background-color: #1c499e;
}
@media screen and (max-width: 768px) {
  .top-works__link-icon {
    width: 1.25rem;
    height: 1.25rem;
  }
}

.top-works__link-icon img {
  width: 0.5625rem;
}
@media screen and (max-width: 768px) {
  .top-works__link-icon img {
    width: 0.5rem;
  }
}

.top-works__navigation {
  position: absolute;
  z-index: 5;
  top: -18.75rem;
  display: grid;
  place-items: center;
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  background-color: #ffffff;
}
@media screen and (max-width: 768px) {
  .top-works__navigation {
    top: 50%;
    width: 2.625rem;
    height: 2.625rem;
    border: 0.0625rem solid #1c499e;
  }
}

.top-works__navigation img {
  width: 1.25rem;
  transition: filter 0.3s ease;
}
@media screen and (max-width: 768px) {
  .top-works__navigation img {
    width: 0.6875rem;
  }
}

.top-works__navigation--prev {
  right: calc(50% - min(34vw, 31.25rem));
}
@media screen and (max-width: 768px) {
  .top-works__navigation--prev {
    right: auto;
    left: max(1.5625rem, (100vw - 21.25rem) / 2);
    transform: translate(-50%, -50%);
  }
}

.top-works__navigation--prev img {
  transform: rotate(180deg);
}

.top-works__navigation--next {
  right: calc(50% - min(41vw, 36.875rem));
}
@media screen and (max-width: 768px) {
  .top-works__navigation--next {
    right: max(1.5625rem, (100vw - 21.25rem) / 2);
    transform: translate(50%, -50%);
  }
}

@media (hover: hover) {
  .top-works__navigation:hover {
    background-color: #1c499e;
  }
}

@media (hover: hover) {
  .top-works__navigation:hover img {
    filter: brightness(0) invert(1);
  }
}

.top-works__bottom {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: flex-end;
}

.top-works__button {
  margin-top: 6.25rem;
}
@media screen and (max-width: 768px) {
  .top-works__button {
    max-width: 16.25rem;
    min-height: 4rem;
    padding-right: 0.625rem;
    padding-left: 1.75rem;
    margin-top: 3.125rem;
    border-radius: 2rem;
    font-size: 0.9375rem;
    line-height: 1.6;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

@media screen and (max-width: 768px) {
  .top-works__button-icon {
    width: 2.625rem;
    height: 2.625rem;
  }
}

.top-flow {
  position: relative;
  z-index: 3;
  background-image: linear-gradient(to bottom, #4aa7d3 0, #4aa7d3 1.875rem, #ffffff 1.875rem, #ffffff 100%);
}
@media screen and (max-width: 768px) {
  .top-flow {
    background-image: linear-gradient(to bottom, #4aa7d3 0, #4aa7d3 1.125rem, #ffffff 1.125rem, #ffffff 100%);
  }
}

.top-flow__panel {
  --site-raised-panel-cap-width: 52%;
  --site-raised-panel-cap-height: 11.25rem;
  --site-raised-panel-cap-width-sp: 84%;
  --site-raised-panel-cap-height-sp: 5.9375rem;
  padding-top: 8.125rem;
  padding-bottom: 10rem;
  border-radius: 0 1.875rem 0 0;
}
@media screen and (max-width: 768px) {
  .top-flow__panel {
    padding-top: 3.4375rem;
    padding-bottom: 5.625rem;
    border-radius: 0 1.125rem 0 0;
  }
}

.top-flow__inner {
  position: relative;
}

.top-flow__heading {
  color: #1c499e;
  position: absolute;
  bottom: calc(100% + 4.5625rem);
  left: 25px;
}
@media screen and (max-width: 768px) {
  .top-flow__heading {
    bottom: calc(100% + 1.75rem);
    left: 15px;
  }
}

.top-flow__subtitle {
  margin-top: 0.5rem;
}
@media screen and (max-width: 768px) {
  .top-flow__subtitle {
    margin-top: 0.25rem;
  }
}

.top-flow__tabs {
  display: flex;
  gap: 0.6875rem;
}
@media screen and (max-width: 768px) {
  .top-flow__tabs {
    display: flex;
    width: calc(100% + 1.875rem + max(0px, (100vw - 31.25rem) / 2));
    padding-right: 1.875rem;
    padding-bottom: 0.5rem;
    margin-left: -0.9375rem;
    overflow-x: auto;
    scroll-padding-left: 0.9375rem;
    scrollbar-width: none;
  }
}

@media screen and (max-width: 768px) {
  .top-flow__tabs::-webkit-scrollbar {
    display: none;
  }
}

.top-flow__tab {
  position: relative;
  min-height: 3.75rem;
  padding: 1.125rem 1.4375rem;
  border: 0.0625rem solid #1c499e;
  border-radius: 0.625rem;
  color: #1c499e;
  background-color: #ffffff;
  text-align: center;
  transition: color 0.3s ease, background-color 0.3s ease;
  font-size: 1.125rem;
  line-height: 1.3333333333;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .top-flow__tab {
    flex: 0 0 auto;
    min-width: 9.625rem;
    min-height: 3rem;
    padding: 0.5rem 0.875rem;
    font-size: 0.8125rem;
    line-height: 1.5384615385;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

@media screen and (max-width: 768px) {
  .top-flow__tab:first-child {
    margin-left: 0.9375rem;
  }
}

@media (hover: hover) {
  .top-flow__tab:hover {
    color: #ffffff;
    background-color: #1c499e;
  }
}

.top-flow__tab.is-active {
  color: #ffffff;
  background-color: #1c499e;
}

.top-flow__tab.is-active::after {
  position: absolute;
  top: 100%;
  left: 50%;
  width: 0;
  height: 0;
  border-top: 0.625rem solid #1c499e;
  border-right: 0.625rem solid transparent;
  border-left: 0.625rem solid transparent;
  content: "";
  transform: translateX(-50%);
}
@media screen and (max-width: 768px) {
  .top-flow__tab.is-active::after {
    border-top-width: 0.4375rem;
    border-right-width: 0.4375rem;
    border-left-width: 0.4375rem;
  }
}

.top-flow__content {
  margin-top: 4.6875rem;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 768px) {
  .top-flow__content {
    margin-top: 3.125rem;
  }
}

.top-flow__content[hidden] {
  display: none;
}

.top-flow__content .site-flow__list {
  margin-top: 0;
}

.top-flow + .site-contact-section {
  position: relative;
  z-index: 2;
  background-image: linear-gradient(to bottom, #ffffff 0, #ffffff calc(100% - 1.25rem), #dee9ef calc(100% - 1.25rem), #dee9ef 100%);
}
@media screen and (max-width: 768px) {
  .top-flow + .site-contact-section {
    background-image: linear-gradient(to bottom, #ffffff 0, #ffffff calc(100% - 0.75rem), #dee9ef calc(100% - 0.75rem), #dee9ef 100%);
  }
}

.top-staff {
  position: relative;
  z-index: 1;
  padding-top: 10.625rem;
  margin-top: -1.25rem;
  overflow: hidden;
  background-color: #dee9ef;
}
@media screen and (max-width: 768px) {
  .top-staff {
    padding-top: 5.3125rem;
    margin-top: -0.75rem;
  }
}

.top-staff__layout {
  display: grid;
  align-items: start;
  grid-template-columns: 22.5rem minmax(0, 1fr);
  gap: 5.625rem;
}
@media screen and (max-width: 768px) {
  .top-staff__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
  }
}

.top-staff__information {
  color: #1c499e;
}
@media screen and (max-width: 768px) {
  .top-staff__information {
    display: contents;
  }
}

@media screen and (max-width: 768px) {
  .top-staff__heading {
    grid-column: 1;
    grid-row: 1;
  }
}

.top-staff__subtitle {
  margin-top: 0.5rem;
}
@media screen and (max-width: 768px) {
  .top-staff__subtitle {
    margin-top: 0.25rem;
  }
}

.top-staff__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.625rem 0.6875rem;
  margin-top: 3.75rem;
}
@media screen and (max-width: 768px) {
  .top-staff__tags {
    grid-column: 1;
    grid-row: 2;
    gap: 0.5rem 0.375rem;
    margin-top: 2rem;
  }
}

.top-staff__tags a {
  display: block;
  padding: 0.5625rem 1.1875rem;
  border-radius: 1.25rem;
  background-color: #ffffff;
  color: #1c499e;
  transition: color 0.3s ease, background-color 0.3s ease;
  font-size: 0.875rem;
  line-height: 1.2857142857;
  letter-spacing: 0em;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .top-staff__tags a {
    padding: 0.3125rem 0.75rem;
    font-size: 0.6875rem;
    line-height: 1.5454545455;
    letter-spacing: 0em;
    font-weight: 400;
  }
}

@media (hover: hover) {
  .top-staff__tags a:hover {
    color: #ffffff;
    background-color: #1c499e;
  }
}

.top-staff__navigation {
  display: flex;
  gap: 1.125rem;
  margin-top: 2.5rem;
}
@media screen and (max-width: 768px) {
  .top-staff__navigation {
    z-index: 5;
    align-self: stretch;
    align-items: center;
    justify-content: space-between;
    grid-column: 1;
    grid-row: 3;
    width: min(100vw - 4.0625rem, 20.625rem);
    margin-top: 3.4375rem;
    pointer-events: none;
  }
}

.top-staff__navigation-button {
  display: grid;
  place-items: center;
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  background-color: #ffffff;
  transition: background-color 0.3s ease;
}
@media screen and (max-width: 768px) {
  .top-staff__navigation-button {
    width: 2.75rem;
    height: 2.75rem;
    border: 0.0625rem solid #1c499e;
    pointer-events: auto;
  }
}

.top-staff__navigation-button img {
  width: 1.25rem;
  transition: filter 0.3s ease;
}
@media screen and (max-width: 768px) {
  .top-staff__navigation-button img {
    width: 0.75rem;
  }
}

.top-staff__navigation-button--prev img {
  transform: rotate(180deg);
}

@media (hover: hover) {
  .top-staff__navigation-button:hover {
    background-color: #1c499e;
  }
}

@media (hover: hover) {
  .top-staff__navigation-button:hover img {
    filter: brightness(0) invert(1);
  }
}

.top-staff__button {
  margin-top: 7.6875rem;
}
@media screen and (max-width: 768px) {
  .top-staff__button {
    grid-column: 1;
    grid-row: 4;
    max-width: 16.875rem;
    min-height: 4rem;
    padding-right: 0.625rem;
    padding-left: 1.75rem;
    margin-top: 2.375rem;
    border-radius: 2rem;
    font-size: 0.9375rem;
    line-height: 1.6;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

@media screen and (max-width: 768px) {
  .top-staff__button-icon {
    width: 2.625rem;
    height: 2.625rem;
  }
}

.top-staff__slider {
  width: calc(100% + max(1.5625rem, (100vw - 75rem) / 2));
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .top-staff__slider {
    grid-column: 1;
    grid-row: 3;
    width: calc(100% + 0.9375rem + max(0px, (100vw - 31.25rem) / 2));
    margin-top: 3.4375rem;
  }
}

.top-staff__slide {
  width: 27.5rem;
  height: auto;
  background-color: #ffffff;
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 768px) {
  .top-staff__slide {
    width: min(100vw - 4.0625rem, 20.625rem);
  }
}

@media (hover: hover) {
  .top-staff__slide:hover {
    opacity: 0.65;
  }
}

.top-staff__slide-link {
  display: block;
  padding: 0.625rem;
  color: inherit;
  text-decoration: none;
}

.top-staff__image {
  overflow: hidden;
}

.top-staff__image img {
  aspect-ratio: 420/460;
  object-fit: cover;
  object-position: center;
  max-height: 28.75rem;
  transition: transform 0.5s ease;
}
@media screen and (max-width: 768px) {
  .top-staff__image img {
    aspect-ratio: 330/340;
    max-height: 21.25rem;
  }
}

@media (hover: hover) {
  .top-staff__slide:hover .top-staff__image img {
    transform: scale(1.08);
  }
}

.top-staff__card-content {
  margin-top: 0;
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  padding: 2.375rem 2.25rem 2.75rem 1.8125rem;
}
@media screen and (max-width: 768px) {
  .top-staff__card-content {
    min-height: 14.6875rem;
    padding: 1.5625rem 1.375rem 1.75rem;
  }
}

.top-staff__card-tag {
  padding: 0.5625rem 1.25rem;
  border: 0.0625rem solid #1c499e;
  border-radius: 1.125rem;
  color: #1c499e;
  font-size: 0.875rem;
  line-height: 1.2142857143;
  letter-spacing: 0em;
  font-weight: 400;
}

.top-staff__card-title {
  display: -webkit-box;
  width: 100%;
  overflow: hidden;
  margin-top: 1.75rem;
  color: #000;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  font-size: 1.25rem;
  line-height: 1.5;
  letter-spacing: -0.04em;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .top-staff__card-title {
    margin-top: 1.375rem;
    font-size: 0.9375rem;
    line-height: 1.7333333333;
    letter-spacing: -0.04em;
    font-weight: 500;
  }
}

.top-staff__link {
  display: flex;
  align-items: center;
  gap: 0.6875rem;
  width: fit-content;
  padding-bottom: 0.75rem;
  margin-top: 2.1875rem;
  border-bottom: 0.0625rem solid #1c499e;
  color: #1c499e;
  font-size: 1rem;
  line-height: 1;
  letter-spacing: 0em;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .top-staff__link {
    gap: 0.5625rem;
    padding-bottom: 0.5625rem;
    margin-top: 1.75rem;
    font-size: 0.8125rem;
    line-height: 1.3846153846;
    letter-spacing: 0em;
    font-weight: 500;
  }
}

.top-staff__link-icon {
  width: 1.5rem;
  height: 1.5rem;
  background-color: #1c499e;
}
@media screen and (max-width: 768px) {
  .top-staff__link-icon {
    width: 1.25rem;
    height: 1.25rem;
  }
}

.top-staff__link-icon img {
  width: 0.625rem;
}
@media screen and (max-width: 768px) {
  .top-staff__link-icon img {
    width: 0.5rem;
  }
}

.top-recruit {
  position: relative;
  z-index: 1;
  padding-top: 8.75rem;
  background-color: #ffffff;
  background-image: linear-gradient(to bottom, #dee9ef 0%, #dee9ef 28%, #ffffff 75%, #ffffff 100%);
}
@media screen and (max-width: 768px) {
  .top-recruit {
    padding-top: 5.625rem;
  }
}

.top-recruit__visual {
  position: relative;
  width: calc(100% - 2.5rem);
  max-width: 87.5rem;
  aspect-ratio: 1400/720;
  margin-right: auto;
  margin-left: auto;
  overflow: hidden;
  border-radius: 1.25rem;
  background-color: #ffffff;
  color: #ffffff;
}
@media screen and (max-width: 768px) {
  .top-recruit__visual {
    width: calc(100% - 1.875rem);
    aspect-ratio: auto;
    border-radius: 0.75rem;
    background-color: #1c499e;
  }
}

.top-recruit__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
@media screen and (max-width: 768px) {
  .top-recruit__image {
    height: auto;
    aspect-ratio: 1400/720;
    object-fit: contain;
    object-position: center;
  }
}

.top-recruit__content {
  position: absolute;
  z-index: 1;
  inset: 0;
  padding-top: 21.25rem;
  padding-right: max(6.25rem, (100% - 75rem) / 2);
  padding-bottom: 5.625rem;
  padding-left: max(6.25rem, (100% - 75rem) / 2);
}
@media screen and (max-width: 768px) {
  .top-recruit__content {
    position: relative;
    inset: auto;
    padding: 1.875rem 1.25rem 1.5625rem;
  }
}

.top-recruit__subtitle {
  margin-top: 0.5rem;
}
@media screen and (max-width: 768px) {
  .top-recruit__subtitle {
    margin-top: 0.25rem;
  }
}

.top-recruit__lead {
  max-width: 39.375rem;
  margin-top: 2.625rem;
  font-size: 1.25rem;
  line-height: 1.7;
  letter-spacing: 0em;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .top-recruit__lead {
    margin-top: 1.5625rem;
    font-size: 0.9375rem;
    line-height: 1.8;
    letter-spacing: 0em;
    font-weight: 500;
  }
}

.top-recruit__button {
  position: absolute;
  right: max(6.25rem, (100% - 75rem) / 2);
  bottom: 6rem;
}
@media screen and (max-width: 768px) {
  .top-recruit__button {
    position: relative;
    right: auto;
    bottom: auto;
    max-width: 16.875rem;
    min-height: 4rem;
    padding-right: 0.625rem;
    padding-left: 1.75rem;
    margin-top: 2rem;
    margin-left: auto;
    border-color: #ffffff;
    border-radius: 2rem;
    color: #1c499e;
    background-color: #ffffff;
    font-size: 0.9375rem;
    line-height: 1.6;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

@media screen and (max-width: 768px) {
  .top-recruit__button-icon {
    width: 2.625rem;
    height: 2.625rem;
    background-color: #1c499e;
  }
}

.top-news {
  position: relative;
  z-index: 1;
  padding-top: 8.4375rem;
  background-color: #ffffff;
}
@media screen and (max-width: 768px) {
  .top-news {
    padding-top: 5rem;
  }
}

.top-news__header {
  display: grid;
  align-items: center;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 9.875rem;
}
@media screen and (max-width: 768px) {
  .top-news__header {
    display: block;
  }
}

.top-news__heading {
  color: #1c499e;
}

.top-news__subtitle {
  margin-top: 0.5rem;
}
@media screen and (max-width: 768px) {
  .top-news__subtitle {
    margin-top: 0.25rem;
  }
}

.top-news__filter-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.625rem 0.6875rem;
}
@media screen and (max-width: 768px) {
  .top-news__filter-list {
    gap: 0.5rem 0.375rem;
    margin-top: 2rem;
  }
}

.top-news__filter-list a {
  display: block;
  padding: 0.5625rem 1.125rem;
  border: 0.0625rem solid #1c499e;
  border-radius: 1.125rem;
  color: #1c499e;
  background-color: #ffffff;
  transition: color 0.3s ease, background-color 0.3s ease;
  font-size: 0.875rem;
  line-height: 1.2857142857;
  letter-spacing: 0em;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .top-news__filter-list a {
    padding: 0.3125rem 0.75rem;
    font-size: 0.6875rem;
    line-height: 1.5454545455;
    letter-spacing: 0em;
    font-weight: 400;
  }
}

@media (hover: hover) {
  .top-news__filter-list a:hover {
    color: #ffffff;
    background-color: #1c499e;
  }
}

.top-news__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.5625rem;
  margin-top: 5.3125rem;
}
@media screen and (max-width: 768px) {
  .top-news__list {
    grid-template-columns: 1fr;
    gap: 3.125rem;
    margin-top: 3.125rem;
  }
}

.top-news__item {
  min-width: 0;
  padding: 0.625rem;
  transition: opacity 0.3s ease;
}

@media (hover: hover) {
  .top-news__item:hover {
    opacity: 0.65;
  }
}

.top-news__item-link-wrap {
  display: contents;
  color: inherit;
  text-decoration: none;
}

.top-news__image {
  display: block;
  overflow: hidden;
}

.top-news__image img {
  aspect-ratio: 376/240;
  object-fit: cover;
  max-height: 15rem;
  transition: transform 0.5s ease;
}
@media screen and (max-width: 768px) {
  .top-news__image img {
    aspect-ratio: 345/220;
    max-height: 13.75rem;
  }
}

@media (hover: hover) {
  .top-news__item:hover .top-news__image img {
    transform: scale(1.08);
  }
}

.top-news__content {
  padding: 1.875rem 1.875rem 2.8125rem;
}
@media screen and (max-width: 768px) {
  .top-news__content {
    padding: 1.5625rem 0.625rem 1.5625rem;
  }
}

.top-news__category {
  display: inline-block;
  padding: 0.5625rem 1.25rem;
  border: 0.0625rem solid #1c499e;
  border-radius: 1.125rem;
  color: #1c499e;
  font-size: 0.875rem;
  line-height: 1.2142857143;
  letter-spacing: 0em;
  font-weight: 400;
}

.top-news__item-title {
  display: -webkit-box;
  width: 100%;
  overflow: hidden;
  margin-top: 2.125rem;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  font-size: 1.25rem;
  line-height: 1.5;
  letter-spacing: -0.04em;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .top-news__item-title {
    margin-top: 1.25rem;
    font-size: 0.9375rem;
    line-height: 1.7333333333;
    letter-spacing: -0.04em;
    font-weight: 500;
  }
}

.top-news__link {
  display: flex;
  align-items: center;
  gap: 0.875rem;
  width: fit-content;
  padding-bottom: 0.75rem;
  margin-top: 2.1875rem;
  border-bottom: 0.0625rem solid #1c499e;
  color: #1c499e;
  font-size: 1rem;
  line-height: 1.25;
  letter-spacing: 0em;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .top-news__link {
    gap: 0.5625rem;
    padding-bottom: 0.5625rem;
    margin-top: 1.75rem;
    font-size: 0.8125rem;
    line-height: 1.3846153846;
    letter-spacing: 0em;
    font-weight: 500;
  }
}

.top-news__link-icon {
  width: 1.5rem;
  height: 1.5rem;
  background-color: #1c499e;
}
@media screen and (max-width: 768px) {
  .top-news__link-icon {
    width: 1.25rem;
    height: 1.25rem;
  }
}

.top-news__link-icon img {
  width: 0.625rem;
}
@media screen and (max-width: 768px) {
  .top-news__link-icon img {
    width: 0.5rem;
  }
}

.top-news__bottom {
  display: flex;
  justify-content: flex-end;
  margin-top: 1.5625rem;
}

@media screen and (max-width: 768px) {
  .top-news__button {
    max-width: 16.875rem;
    min-height: 4rem;
    padding-right: 0.625rem;
    padding-left: 1.75rem;
    border-radius: 2rem;
    font-size: 0.9375rem;
    line-height: 1.6;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

@media screen and (max-width: 768px) {
  .top-news__button-icon {
    width: 2.625rem;
    height: 2.625rem;
  }
}

.top-company {
  position: relative;
  z-index: 1;
  padding-top: 4.375rem;
  background-color: #ffffff;
}
@media screen and (max-width: 768px) {
  .top-company {
    padding-top: 5.625rem;
  }
}

.top-company__visual {
  position: relative;
  width: calc(100% - 2.5rem);
  max-width: 87.5rem;
  aspect-ratio: 1400/540;
  margin-right: auto;
  margin-left: auto;
  overflow: hidden;
  border-radius: 1.25rem;
}
@media screen and (max-width: 768px) {
  .top-company__visual {
    width: calc(100% - 1.875rem);
    min-height: 23.75rem;
    aspect-ratio: auto;
    border-radius: 0.75rem;
  }
}

.top-company__background {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: right center;
}
@media screen and (max-width: 768px) {
  .top-company__background {
    object-position: 50% center;
  }
}

.top-company__content {
  position: absolute;
  z-index: 1;
  inset: 0;
  padding-top: 11%;
  padding-right: max(3.125rem, (100% - 75rem) / 2);
  padding-left: max(3.125rem, (100% - 75rem) / 2);
  color: #1c499e;
}
@media screen and (max-width: 768px) {
  .top-company__content {
    display: flex;
    flex-direction: column;
    padding: 3.4375rem 1.25rem 2.5rem;
  }
}

.top-company__subtitle {
  margin-top: 0.5rem;
}
@media screen and (max-width: 768px) {
  .top-company__subtitle {
    margin-top: 0.25rem;
  }
}

.top-company__lead {
  max-width: 38.75rem;
  margin-top: 4.375rem;
  font-size: 1.25rem;
  line-height: 1.7;
  letter-spacing: -0.02em;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .top-company__lead {
    margin-top: 1.875rem;
    font-size: 0.9375rem;
    line-height: 1.8;
    letter-spacing: -0.02em;
    font-weight: 500;
  }
}

.top-company__button {
  position: absolute;
  top: 50%;
  right: max(6.25rem, (100% - 75rem) / 2);
  transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .top-company__button {
    position: relative;
    top: auto;
    right: auto;
    max-width: 16.875rem;
    min-height: 4rem;
    padding-right: 0.625rem;
    padding-left: 1.75rem;
    margin-top: auto;
    margin-left: auto;
    border-radius: 2rem;
    transform: none;
    font-size: 0.9375rem;
    line-height: 1.6;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

@media screen and (max-width: 768px) {
  .top-company__button-icon {
    width: 2.625rem;
    height: 2.625rem;
  }
}

.sub-service__first-view {
  position: relative;
  height: 100vh;
}
@media screen and (max-width: 768px) {
  .sub-service__first-view {
    height: auto;
  }
}

.sub-service__fv {
  position: relative;
  width: 100%;
  border-radius: 0 0 1.875rem 1.875rem;
  overflow: hidden;
  height: 100vh;
}
@media screen and (max-width: 768px) {
  .sub-service__fv {
    border-radius: 0 0 0.9375rem 0.9375rem;
    height: auto;
  }
}

.sub-service__fv-image {
  width: 100%;
}

.sub-service__fv-image img {
  display: block;
  width: 100%;
  height: auto;
}

.sub-service__fv-heading {
  position: absolute;
  left: 6.875rem;
  bottom: 7.1875rem;
  color: #ffffff;
}
@media screen and (max-width: 1280px) {
  .sub-service__fv-heading {
    left: 4rem;
    bottom: 5.75rem;
  }
}
@media screen and (max-width: 768px) {
  .sub-service__fv-heading {
    left: 1.25rem;
    bottom: 3rem;
  }
}

.sub-service__fv-title {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 7.5rem;
  line-height: 1.1666666667;
  letter-spacing: 0.02em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-service__fv-title {
    font-size: 2.5rem;
    line-height: 1.1;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

.sub-service__fv-subtitle {
  margin-top: 0.3125rem;
  font-size: 1.5rem;
  line-height: 1.125;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-service__fv-subtitle {
    font-size: 0.8125rem;
    line-height: 1.3846153846;
    letter-spacing: 0.05em;
    font-weight: 700;
  }
}

.sub-service__intro {
  padding-top: 8.125rem;
}
@media screen and (max-width: 768px) {
  .sub-service__intro {
    padding-top: 4.0625rem;
  }
}

.sub-service__intro-inner {
  display: grid;
  grid-template-columns: minmax(0, 47.5rem) minmax(17.5rem, 20rem);
  justify-content: space-between;
  gap: 7rem;
}
@media screen and (max-width: 1280px) {
  .sub-service__intro-inner {
    gap: 3.125rem;
  }
}
@media screen and (max-width: 768px) {
  .sub-service__intro-inner {
    display: block;
  }
}

.sub-service__intro-title {
  font-size: 2.625rem;
  line-height: 1.5238095238;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (max-width: 1280px) {
  .sub-service__intro-title {
    font-size: 2.125rem;
    line-height: 1.5882352941;
    letter-spacing: 0.05em;
    font-weight: 700;
  }
}
@media screen and (max-width: 768px) {
  .sub-service__intro-title {
    font-size: 1.6875rem;
    line-height: 1.5925925926;
    letter-spacing: 0.03em;
    font-weight: 700;
  }
}

.sub-service__intro-text {
  margin-top: 3.75rem;
  font-size: 1.25rem;
  line-height: 2;
  letter-spacing: -0.02em;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .sub-service__intro-text {
    margin-top: 2.125rem;
    font-size: 0.875rem;
    line-height: 2;
    letter-spacing: 0.02em;
    font-weight: 400;
  }
}

@media screen and (max-width: 768px) {
  .sub-service__contents {
    margin-top: 3.25rem;
  }
}

.sub-service__contents-title {
  color: #1c499e;
  font-family: "Jost", sans-serif;
  font-size: 1.5rem;
  line-height: 1.6666666667;
  letter-spacing: 0.02em;
  font-weight: 600;
}
@media screen and (max-width: 768px) {
  .sub-service__contents-title {
    font-size: 1.125rem;
    line-height: 1.5555555556;
    letter-spacing: 0.02em;
    font-weight: 600;
  }
}

.sub-service__contents-list {
  margin-top: 0.3125rem;
}

.sub-service__contents-item {
  border-bottom: 0.0625rem solid #cccccc;
}

.sub-service__contents-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 4.25rem;
  gap: 1.25rem;
  font-size: 1.125rem;
  line-height: 1.2222222222;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-service__contents-link {
    min-height: 3.5rem;
    font-size: 0.9375rem;
    line-height: 1.4666666667;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

@media (hover: hover) {
  .sub-service__contents-link:hover {
    color: #1c499e;
  }
}

.sub-service__contents-icon {
  width: 1.5rem;
  height: 1.5rem;
  background-color: #eaf0f3;
}

.sub-service__contents-icon img {
  width: 0.625rem;
}

.sub-service__overview {
  padding-top: 9.375rem;
}
@media screen and (max-width: 768px) {
  .sub-service__overview {
    padding-top: 5.9375rem;
  }
}

.sub-service__section-title {
  color: #1c499e;
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 5.25rem;
  line-height: 1;
  letter-spacing: 0.02em;
  font-weight: 600;
}
@media screen and (max-width: 768px) {
  .sub-service__section-title {
    font-size: 2.625rem;
    line-height: 1.0952380952;
    letter-spacing: 0em;
    font-weight: 600;
  }
}

.sub-service__section-subtitle {
  margin-top: 1.375rem;
  color: #1c499e;
  font-size: 1.5rem;
  line-height: 1;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-service__section-subtitle {
    font-size: 0.875rem;
    line-height: 1.5714285714;
    letter-spacing: 0.05em;
    font-weight: 700;
  }
}

.sub-service__list {
  margin-top: 5.9375rem;
}
@media screen and (max-width: 768px) {
  .sub-service__list {
    margin-top: 3.4375rem;
  }
}

.sub-service__item {
  scroll-margin-top: 1.25rem;
}

.sub-service__item + .sub-service__item {
  margin-top: 8.125rem;
}
@media screen and (max-width: 768px) {
  .sub-service__item + .sub-service__item {
    margin-top: 4.5rem;
  }
}

.sub-service__item-image {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  border-radius: 1.875rem;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .sub-service__item-image {
    border-radius: 0.9375rem;
  }
}

.sub-service__item-image img {
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.sub-service__item-body {
  display: grid;
  grid-template-columns: 10.625rem minmax(0, 1fr);
  gap: 2.75rem;
  margin-top: 5.5rem;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 1280px) {
  .sub-service__item-body {
    grid-template-columns: 9.0625rem minmax(0, 1fr);
    gap: 1.875rem;
    max-width: 63.75rem;
  }
}
@media screen and (max-width: 768px) {
  .sub-service__item-body {
    display: block;
    margin-top: 2rem;
  }
}

.sub-service__item-number {
  display: flex;
  flex-direction: column;
  height: 13.75rem;
  border-right: 0.0625rem solid #000;
}
@media screen and (max-width: 768px) {
  .sub-service__item-number {
    display: grid;
    grid-template-columns: auto auto;
    align-items: end;
    justify-content: start;
    gap: 0.5625rem;
    height: auto;
    padding-top: 0;
    border-right: 0;
  }
}

.sub-service__item-number-label {
  color: #1c499e;
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 0.75rem;
  line-height: 2.6666666667;
  letter-spacing: 0.2em;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .sub-service__item-number-label {
    padding-bottom: 0.4375rem;
  }
}

.sub-service__item-number-value {
  margin-top: 0.375rem;
  color: #1c499e;
  font-family: "Jost", sans-serif;
  font-size: 6rem;
  line-height: 1;
  letter-spacing: 0.02em;
  font-weight: 600;
}
@media screen and (max-width: 768px) {
  .sub-service__item-number-value {
    margin-top: 0;
    font-size: 2.8125rem;
    line-height: 1.0666666667;
    letter-spacing: 0em;
    font-weight: 600;
  }
}

@media screen and (max-width: 768px) {
  .sub-service__item-content {
    margin-top: 1.375rem;
  }
}

.sub-service__item-title {
  font-size: 2.625rem;
  line-height: 1.5238095238;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-service__item-title {
    font-size: 1.5rem;
    line-height: 1.4583333333;
    letter-spacing: 0.02em;
    font-weight: 700;
  }
}

.sub-service__item-lead {
  margin-top: 2.5rem;
  font-size: 1.5rem;
  line-height: 1.1666666667;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-service__item-lead {
    margin-top: 1.25rem;
    font-size: 0.9375rem;
    line-height: 1.6666666667;
    letter-spacing: -0.02em;
    font-weight: 700;
  }
}

.sub-service__item-text {
  margin-top: 1.5625rem;
  font-size: 1.25rem;
  line-height: 2;
  letter-spacing: -0.02em;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .sub-service__item-text {
    margin-top: 1.125rem;
    font-size: 0.875rem;
    line-height: 2;
    letter-spacing: -0.02em;
    font-weight: 400;
  }
}

.sub-service__item-button {
  margin-top: 1.5625rem;
  margin-left: auto;
}
@media screen and (max-width: 768px) {
  .sub-service__item-button {
    max-width: 13.75rem;
    min-height: 3.625rem;
    padding-right: 0.625rem;
    padding-left: 1.6875rem;
    font-size: 0.9375rem;
    line-height: 1.6;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

@media screen and (max-width: 768px) {
  .sub-service__item-button-icon {
    width: 2.375rem;
    height: 2.375rem;
  }
}

.sub-service__unwanted-details {
  margin-top: 5.9375rem;
}
@media screen and (max-width: 768px) {
  .sub-service__unwanted-details {
    margin-top: 3.75rem;
  }
}

.sub-service__unwanted-features {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.6875rem;
}
@media screen and (max-width: 1280px) {
  .sub-service__unwanted-features {
    gap: 1.25rem;
  }
}
@media screen and (max-width: 768px) {
  .sub-service__unwanted-features {
    grid-template-columns: 1fr;
    gap: 0.9375rem;
  }
}

.sub-service__unwanted-feature {
  display: grid;
  grid-template-rows: 5rem 1fr;
  align-content: start;
  min-height: 18.75rem;
  padding-top: 1.75rem;
  padding-inline: 1.5625rem;
  border-radius: 0.625rem;
  background-color: #eaf0f3;
}
@media screen and (max-width: 1280px) {
  .sub-service__unwanted-feature {
    grid-template-rows: 5rem 1fr;
    min-height: 16.875rem;
    padding-right: 1.5rem;
    padding-left: 1.5rem;
  }
}
@media screen and (max-width: 768px) {
  .sub-service__unwanted-feature {
    grid-template-rows: auto auto;
    min-height: 0;
    padding-top: 1.5625rem;
    padding-right: 1.375rem;
    padding-bottom: 1.6875rem;
    padding-left: 1.375rem;
  }
}

.sub-service__unwanted-feature-title {
  color: #1c499e;
  font-size: 1.125rem;
  line-height: 1.7777777778;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (max-width: 1280px) {
  .sub-service__unwanted-feature-title {
    font-size: 1.0625rem;
    line-height: 1.7058823529;
    letter-spacing: 0.02em;
    font-weight: 700;
  }
}

.sub-service__unwanted-feature-text {
  margin-top: 1.75rem;
  font-size: 0.875rem;
  line-height: 2;
  letter-spacing: -0.02em;
  font-weight: 400;
}
@media screen and (max-width: 1280px) {
  .sub-service__unwanted-feature-text {
    font-size: 0.8125rem;
    line-height: 1.9230769231;
    letter-spacing: -0.02em;
    font-weight: 400;
  }
}
@media screen and (max-width: 768px) {
  .sub-service__unwanted-feature-text {
    margin-top: 1.125rem;
    font-size: 0.875rem;
    line-height: 2;
    letter-spacing: -0.02em;
    font-weight: 400;
  }
}

.sub-service__collection {
  margin-top: 5.9375rem;
}
@media screen and (max-width: 768px) {
  .sub-service__collection {
    margin-top: 3.75rem;
  }
}

.sub-service__collection-title {
  padding-bottom: 0.9375rem;
  border-bottom: 0.0625rem solid #000;
  font-size: 1.5rem;
  line-height: 1.5;
  letter-spacing: 0em;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .sub-service__collection-title {
    padding-bottom: 0.625rem;
    font-size: 1.25rem;
    line-height: 1.55;
    letter-spacing: 0em;
    font-weight: 400;
  }
}

.sub-service__collection-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.6875rem;
  margin-top: 2.8125rem;
}
@media screen and (max-width: 1280px) {
  .sub-service__collection-list {
    gap: 1.25rem;
  }
}
@media screen and (max-width: 768px) {
  .sub-service__collection-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2.1875rem 0.9375rem;
    margin-top: 1.875rem;
  }
}

.sub-service__collection-image {
  width: 100%;
  border-radius: 0.625rem;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .sub-service__collection-image {
    height: 7.5rem;
    border-radius: 0.5rem;
  }
}

.sub-service__collection-image img {
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.sub-service__collection-item {
  display: grid;
  grid-template-rows: auto 4.875rem 1fr;
  align-content: start;
}
@media screen and (max-width: 768px) {
  .sub-service__collection-item {
    grid-template-rows: auto 3.75rem 1fr;
  }
}

.sub-service__collection-item-title {
  margin-top: 1.375rem;
  text-align: center;
  font-size: 1.125rem;
  line-height: 1.7777777778;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-service__collection-item-title {
    margin-top: 0.875rem;
    font-size: 0.875rem;
    line-height: 1.6428571429;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

.sub-service__collection-text {
  margin-top: 0.75rem;
  font-size: 0.875rem;
  line-height: 2;
  letter-spacing: -0.02em;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .sub-service__collection-text {
    margin-top: 0.9375rem;
    font-size: 0.875rem;
    line-height: 1.8571428571;
    letter-spacing: -0.02em;
    font-weight: 400;
  }
}

.sub-service__price {
  margin-top: 6.625rem;
}
@media screen and (max-width: 768px) {
  .sub-service__price {
    margin-top: 4.0625rem;
  }
}

.sub-service__price-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.375rem;
  margin-top: 2.1875rem;
}
@media screen and (max-width: 768px) {
  .sub-service__price-list {
    grid-template-columns: 1fr;
    gap: 2.625rem;
    margin-top: 1.875rem;
  }
}

.sub-service__price-image {
  overflow: hidden;
  width: 100%;
  border-radius: 1.25rem;
}
@media screen and (max-width: 1280px) {
  .sub-service__price-image {
    height: 13.125rem;
  }
}
@media screen and (max-width: 768px) {
  .sub-service__price-image {
    height: 13.75rem;
    border-radius: 0.75rem;
  }
}

.sub-service__price-image img {
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.sub-service__price-title {
  margin-top: 1.6875rem;
  margin-bottom: 0;
  text-align: center;
  font-size: 1.5rem;
  line-height: 1.25;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-service__price-title {
    margin-top: 1.0625rem;
    font-size: 0.9375rem;
    line-height: 1.6;
    letter-spacing: 0.02em;
    font-weight: 700;
  }
}

.sub-service__price-value {
  margin-top: 1.5625rem;
  color: #1c499e;
  text-align: center;
  font-family: "Jost", sans-serif;
  font-size: 2.25rem;
  line-height: 1.0555555556;
  letter-spacing: 0em;
  font-weight: 600;
}
@media screen and (max-width: 768px) {
  .sub-service__price-value {
    font-size: 1.375rem;
    line-height: 1.4090909091;
    letter-spacing: 0em;
    font-weight: 600;
  }
}

.sub-service__price-notes {
  margin-top: 3.125rem;
}
@media screen and (max-width: 768px) {
  .sub-service__price-notes {
    margin-top: 2.1875rem;
  }
}

.sub-service__price-note {
  font-size: 1.25rem;
  line-height: 2;
  letter-spacing: 0em;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .sub-service__price-note {
    font-size: 0.6875rem;
    line-height: 1.9090909091;
    letter-spacing: 0em;
    font-weight: 400;
  }
}

.sub-service__comparison {
  margin-top: 6rem;
}
@media screen and (max-width: 768px) {
  .sub-service__comparison {
    margin-top: 4.375rem;
  }
}

.sub-service__flow {
  margin-top: 6.8125rem;
}
@media screen and (max-width: 768px) {
  .sub-service__flow {
    margin-top: 4.375rem;
  }
}

.sub-service__contact {
  padding-top: 8.75rem;
}
@media screen and (max-width: 768px) {
  .sub-service__contact {
    padding-top: 5.625rem;
  }
}

.sub-service__house-cleaning {
  padding-top: 9.375rem;
}
@media screen and (max-width: 768px) {
  .sub-service__house-cleaning {
    padding-top: 5.3125rem;
  }
}

.sub-service__recycled-products {
  margin-top: 6rem;
}
@media screen and (max-width: 768px) {
  .sub-service__recycled-products {
    margin-top: 4.6875rem;
  }
}

.sub-service__recycled-products-heading {
  padding-bottom: 1rem;
  border-bottom: 0.0625rem solid #000;
  font-size: 1.5rem;
  line-height: 2;
  letter-spacing: 0em;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .sub-service__recycled-products-heading {
    padding-bottom: 0.6875rem;
    font-size: 1.1875rem;
    line-height: 1.5789473684;
    letter-spacing: 0em;
    font-weight: 400;
  }
}

.sub-service__recycled-products-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.4375rem;
  margin-top: 2.3125rem;
}
@media screen and (max-width: 1280px) {
  .sub-service__recycled-products-list {
    gap: 1.375rem;
  }
}
@media screen and (max-width: 768px) {
  .sub-service__recycled-products-list {
    grid-template-columns: 1fr;
    gap: 3.4375rem;
    margin-top: 2rem;
  }
}

.sub-service__recycled-product-image {
  width: 100%;
  border-radius: 1.25rem;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .sub-service__recycled-product-image {
    border-radius: 0.75rem;
  }
}

.sub-service__recycled-product-image img {
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.sub-service__recycled-product-title {
  margin-top: 2.1875rem;
  text-align: center;
  font-size: 1.5rem;
  line-height: 1.125;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-service__recycled-product-title {
    margin-top: 1rem;
    font-size: 1rem;
    line-height: 1.625;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

.sub-service__recycled-product-information,
.sub-service__recycled-product-description,
.sub-service__recycled-product-price {
  margin-top: 2.5rem;
  font-size: 1rem;
  line-height: 2;
  letter-spacing: -0.02em;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .sub-service__recycled-product-information,
  .sub-service__recycled-product-description,
  .sub-service__recycled-product-price {
    margin-top: 1.125rem;
    font-size: 0.875rem;
    line-height: 1.8571428571;
    letter-spacing: -0.02em;
    font-weight: 400;
  }
}

.sub-service__house-cleaning-flow {
  margin-top: 7.5rem;
}
@media screen and (max-width: 768px) {
  .sub-service__house-cleaning-flow {
    margin-top: 4.6875rem;
  }
}

.sub-service__overseas {
  padding-top: 8.4375rem;
  padding-bottom: 8.125rem;
}
@media screen and (max-width: 768px) {
  .sub-service__overseas {
    padding-top: 5.3125rem;
    padding-bottom: 5.3125rem;
  }
}

.sub-service__overseas-details {
  margin-top: 5.625rem;
}
@media screen and (max-width: 768px) {
  .sub-service__overseas-details {
    margin-top: 4.6875rem;
  }
}

.sub-service__overseas-section + .sub-service__overseas-section {
  margin-top: 5.625rem;
}
@media screen and (max-width: 768px) {
  .sub-service__overseas-section + .sub-service__overseas-section {
    margin-top: 4.375rem;
  }
}

.sub-service__overseas-text {
  margin-top: 3.1875rem;
  font-size: 1.25rem;
  line-height: 2;
  letter-spacing: -0.02em;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .sub-service__overseas-text {
    margin-top: 1.6875rem;
    font-size: 0.875rem;
    line-height: 2;
    letter-spacing: 0.02em;
    font-weight: 400;
  }
}

.sub-service__overseas-text p + p {
  margin-top: 0.25rem;
}

.sub-service__overseas-wide-image {
  margin-top: 3.75rem;
  overflow: hidden;
  border-radius: 1.25rem;
}
@media screen and (max-width: 768px) {
  .sub-service__overseas-wide-image {
    margin-top: 2.5rem;
    border-radius: 0.75rem;
  }
}

.sub-service__overseas-wide-image img {
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.sub-service__overseas-text--after-image {
  margin-top: 5rem;
}
@media screen and (max-width: 768px) {
  .sub-service__overseas-text--after-image {
    margin-top: 2.1875rem;
  }
}

.sub-service__overseas-gallery {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4.6875rem;
  margin-top: 2.8125rem;
}
@media screen and (max-width: 1280px) {
  .sub-service__overseas-gallery {
    gap: 2.5rem;
  }
}
@media screen and (max-width: 768px) {
  .sub-service__overseas-gallery {
    grid-template-columns: 1fr;
    gap: 2.1875rem;
    margin-top: 1.875rem;
  }
}

.sub-service__overseas-gallery-image {
  width: 100%;
  border-radius: 1.25rem;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .sub-service__overseas-gallery-image {
    border-radius: 0.75rem;
  }
}

.sub-service__overseas-gallery-image img {
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.sub-service__overseas-caption {
  margin-top: 1.875rem;
  font-size: 1.25rem;
  line-height: 2;
  letter-spacing: -0.02em;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .sub-service__overseas-caption {
    margin-top: 0.875rem;
    font-size: 0.75rem;
    line-height: 1.8333333333;
    letter-spacing: -0.02em;
    font-weight: 400;
  }
}

.sub-service__partner-intro {
  display: grid;
  grid-template-columns: 35rem minmax(0, 1fr);
  gap: 3.125rem;
  margin-top: 4.875rem;
}
@media screen and (max-width: 1280px) {
  .sub-service__partner-intro {
    grid-template-columns: 28.125rem minmax(0, 1fr);
    gap: 2.5rem;
  }
}
@media screen and (max-width: 768px) {
  .sub-service__partner-intro {
    display: block;
    margin-top: 2.5rem;
  }
}

.sub-service__partner-image {
  width: 100%;
  border-radius: 1.25rem;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .sub-service__partner-image {
    border-radius: 0.75rem;
  }
}

.sub-service__partner-image img {
  height: 100%;
  object-fit: cover;
  object-position: center;
}

@media screen and (max-width: 768px) {
  .sub-service__partner-content {
    margin-top: 1.75rem;
  }
}

.sub-service__partner-name {
  font-family: "Jost", sans-serif;
  font-size: 1.5rem;
  line-height: 1.3333333333;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-service__partner-name {
    font-size: 1.125rem;
    line-height: 1.5555555556;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

.sub-service__partner-text {
  margin-top: 2.5625rem;
  font-size: 1rem;
  line-height: 2;
  letter-spacing: -0.02em;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .sub-service__partner-text {
    margin-top: 1.125rem;
    font-size: 0.875rem;
    line-height: 1.9285714286;
    letter-spacing: -0.02em;
    font-weight: 400;
  }
}

.sub-service__partner-text p + p {
  margin-top: 1.5625rem;
}

.sub-service__partner-profile {
  margin-top: 6.25rem;
}
@media screen and (max-width: 768px) {
  .sub-service__partner-profile {
    margin-top: 3.125rem;
  }
}

.sub-service__partner-profile-row {
  display: grid;
  grid-template-columns: 5.3125rem minmax(0, 1fr);
  align-items: baseline;
  gap: 4.375rem;
  padding-top: 1.5625rem;
  padding-bottom: 1.5625rem;
  border-bottom: 0.0625rem solid #dcdcdc;
}
@media screen and (max-width: 768px) {
  .sub-service__partner-profile-row {
    display: block;
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
  }
}

.sub-service__partner-profile-row:first-child {
  padding-top: 0;
}

.sub-service__partner-profile-term {
  font-size: 1rem;
  line-height: 1.5;
  letter-spacing: 0em;
  font-weight: 700;
}

.sub-service__partner-profile-description {
  font-size: 1rem;
  line-height: 2.5;
  letter-spacing: 0em;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .sub-service__partner-profile-description {
    margin-top: 0.5rem;
    font-size: 0.875rem;
    line-height: 1.8571428571;
    letter-spacing: 0em;
    font-weight: 400;
  }
}

.sub-service__partner-map {
  width: 100%;
  aspect-ratio: 2400/800;
  margin-top: 3.75rem;
  border-radius: 0.625rem;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .sub-service__partner-map {
    border-radius: 0.5rem;
  }
}

.sub-service__partner-map iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

.sub-service__visual-contact {
  width: 100%;
}

.sub-service-detail__hero {
  padding-top: 16.25rem;
  padding-bottom: 8.125rem;
}
@media screen and (max-width: 768px) {
  .sub-service-detail__hero {
    padding-top: 8.4375rem;
    padding-bottom: 3.125rem;
  }
}

.sub-service-detail__hero-title {
  color: #1c499e;
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 7.5rem;
  line-height: 1.0833333333;
  letter-spacing: 0.02em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-service-detail__hero-title {
    font-size: 3rem;
    line-height: 1.125;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

.sub-service-detail__hero-subtitle {
  margin-top: 0.25rem;
  color: #1c499e;
  font-size: 1.5rem;
  line-height: 1.25;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-service-detail__hero-subtitle {
    font-size: 0.9375rem;
    line-height: 1.6;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

.sub-service-detail__hero-bottom {
  padding-top: 1.875rem;
  margin-top: 2.75rem;
  border-top: 0.0625rem solid #1c499e;
}
@media screen and (max-width: 768px) {
  .sub-service-detail__hero-bottom {
    display: none;
  }
}

.sub-service-detail__hero-bottom .breadcrumb--static {
  margin-top: 0;
}

.sub-service-detail__visual {
  overflow: hidden;
}

.sub-service-detail__visual-main {
  width: 100%;
  border-radius: 1.875rem;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .sub-service-detail__visual-main {
    border-radius: 0.9375rem;
  }
}

.sub-service-detail__visual-main img {
  width: 100%;
  aspect-ratio: 1440/640;
  object-fit: cover;
}
@media screen and (max-width: 768px) {
  .sub-service-detail__visual-main img {
    aspect-ratio: 5/3;
  }
}

.sub-service-detail__visual-gallery {
  margin-top: 1.875rem;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .sub-service-detail__visual-gallery {
    margin-top: 0.9375rem;
  }
}

.sub-service-detail__visual-gallery-track {
  display: flex;
  gap: 1.875rem;
  width: max-content;
}
@media screen and (max-width: 768px) {
  .sub-service-detail__visual-gallery-track {
    gap: 0.625rem;
  }
}

.sub-service-detail__visual-gallery-item {
  flex: 0 0 clamp(18.75rem, 27vw, 24.375rem);
  aspect-ratio: 1/1;
  border-radius: 1.25rem;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .sub-service-detail__visual-gallery-item {
    flex-basis: min(33vw, 15rem);
    border-radius: 0.75rem;
  }
}

.sub-service-detail__visual-gallery-item img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.sub-service-detail__introduction {
  padding-top: 7.5rem;
}
@media screen and (max-width: 768px) {
  .sub-service-detail__introduction {
    padding-top: 4.0625rem;
  }
}

.sub-service-detail__introduction-title {
  font-size: 3.375rem;
  line-height: 1.3333333333;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-service-detail__introduction-title {
    font-size: 1.625rem;
    line-height: 1.5769230769;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

.sub-service-detail__introduction-text {
  margin-top: 5rem;
  font-size: 1.25rem;
  line-height: 2;
  letter-spacing: -0.02em;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .sub-service-detail__introduction-text {
    margin-top: 2.1875rem;
    font-size: 0.875rem;
    line-height: 2;
    letter-spacing: -0.02em;
    font-weight: 400;
  }
}

.sub-service-detail__section-title {
  color: #1c499e;
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 5.25rem;
  line-height: 1.0714285714;
  letter-spacing: 0.02em;
  font-weight: 600;
}
@media screen and (max-width: 768px) {
  .sub-service-detail__section-title {
    font-size: 2.375rem;
    line-height: 1.1578947368;
    letter-spacing: 0em;
    font-weight: 600;
  }
}

.sub-service-detail__section-subtitle {
  margin-top: 0.625rem;
  color: #1c499e;
  font-size: 1.5rem;
  line-height: 1.1666666667;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-service-detail__section-subtitle {
    font-size: 0.875rem;
    line-height: 1.5714285714;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

.sub-service-detail__price {
  margin-top: 6.25rem;
  padding-top: 6.25rem;
  padding-bottom: 6.875rem;
  background-color: #eaf0f3;
}
@media screen and (max-width: 768px) {
  .sub-service-detail__price {
    margin-top: 4.375rem;
    padding-top: 3.75rem;
    padding-bottom: 4.375rem;
  }
}

.sub-service-detail__price-description {
  margin-top: 3.4375rem;
  color: #1c499e;
  font-size: 1.25rem;
  line-height: 2;
  letter-spacing: -0.02em;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .sub-service-detail__price-description {
    margin-top: 1.875rem;
    font-size: 0.875rem;
    line-height: 1.9285714286;
    letter-spacing: -0.02em;
    font-weight: 500;
  }
}

@media screen and (max-width: 768px) {
  .sub-service-detail__price-description br {
    display: none;
  }
}

.sub-service-detail__table-group {
  margin-top: 4.0625rem;
}
@media screen and (max-width: 768px) {
  .sub-service-detail__table-group {
    margin-top: 2.8125rem;
  }
}

.sub-service-detail__table-group + .sub-service-detail__table-group {
  margin-top: 4.6875rem;
}
@media screen and (max-width: 768px) {
  .sub-service-detail__table-group + .sub-service-detail__table-group {
    margin-top: 3.4375rem;
  }
}

.sub-service-detail__table-scroll {
  margin-top: 1.875rem;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  border-radius: 1.25rem;
  -webkit-overflow-scrolling: touch;
}
@media screen and (max-width: 768px) {
  .sub-service-detail__table-scroll {
    width: 100vw;
    padding-right: 0.9375rem;
    padding-left: 0.9375rem;
    margin-top: 1.25rem;
    margin-left: calc(50% - 50vw);
    border-radius: 0;
  }
}

.sub-service-detail__table {
  width: 100%;
  table-layout: fixed;
  border-spacing: 0;
  border-collapse: separate;
  background-color: #ffffff;
  font-size: 1.5rem;
  line-height: 1.25;
  letter-spacing: 0em;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .sub-service-detail__table {
    min-width: 38.75rem;
    border-radius: 0.625rem;
    font-size: 0.875rem;
    line-height: 1.5714285714;
    letter-spacing: 0em;
    font-weight: 400;
  }
}

.sub-service-detail__table th,
.sub-service-detail__table td {
  height: 5rem;
  padding: 1.125rem 4.3125rem;
  border-bottom: 0.125rem solid #eaf0f3;
  text-align: center;
  vertical-align: middle;
}
@media screen and (max-width: 768px) {
  .sub-service-detail__table th,
  .sub-service-detail__table td {
    height: 4.125rem;
    padding: 0.875rem 1.25rem;
  }
}

.sub-service-detail__table th:last-child,
.sub-service-detail__table td:last-child {
  border-right: 0;
}

.sub-service-detail__table th:not(:first-child):not(:last-child),
.sub-service-detail__table td:not(:first-child):not(:last-child) {
  border-right: 0;
}

.sub-service-detail__table thead th {
  height: 6.5625rem;
  border-bottom-color: #eaf0f3;
  font-size: 1.5rem;
  line-height: 1.6666666667;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-service-detail__table thead th {
    height: 4.125rem;
    font-size: 1rem;
    line-height: 1.25;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

.sub-service-detail__table thead th:first-child {
  border-bottom-color: #ffffff;
}
@media screen and (max-width: 768px) {
  .sub-service-detail__table thead th:first-child {
    border-top-left-radius: 0.625rem;
  }
}

@media screen and (max-width: 768px) {
  .sub-service-detail__table thead th:last-child {
    border-top-right-radius: 0.625rem;
  }
}

.sub-service-detail__table thead th:not(:first-child):not(:last-child) {
  border-right: 0.125rem solid #eaf0f3;
}

.sub-service-detail__table tbody td:not(:first-child):not(:last-child) {
  border-right: 0.125rem solid #eaf0f3;
}

.sub-service-detail__table th:first-child,
.sub-service-detail__table td:first-child {
  width: var(--service-detail-table-label-width, 40%);
  background-color: #cfdfe7;
}

.sub-service-detail__table tbody th {
  font-weight: 400;
  text-align: left;
  border-bottom: 0.125rem solid #ffffff;
}

.sub-service-detail__table tbody tr:last-child th {
  border-bottom: 0;
}

@media screen and (max-width: 768px) {
  .sub-service-detail__table tbody tr:last-child th:first-child {
    border-bottom-left-radius: 0.625rem;
  }
}

@media screen and (max-width: 768px) {
  .sub-service-detail__table tbody tr:last-child td:last-child {
    border-bottom-right-radius: 0.625rem;
  }
}

.sub-service-detail__flow {
  padding-top: 6.25rem;
  background-color: #ffffff;
}
@media screen and (max-width: 768px) {
  .sub-service-detail__flow {
    padding-top: 3.75rem;
  }
}

.sub-service-detail__flow .site-flow {
  margin-top: 4.375rem;
}
@media screen and (max-width: 768px) {
  .sub-service-detail__flow .site-flow {
    margin-top: 2.8125rem;
  }
}

.sub-service-detail__flow .site-flow__list {
  margin-top: 0;
}

@media screen and (max-width: 768px) {
  .sub-service-detail__flow .site-flow__text br {
    display: none;
  }
}

.sub-service-detail__band-title {
  display: grid;
  place-items: center;
  min-height: 5rem;
  padding: 0.9375rem 1.875rem;
  border-radius: 0.625rem;
  color: #ffffff;
  text-align: center;
  background: linear-gradient(90deg, #1c499e 0%, #038be0 100%);
  font-size: 1.75rem;
  line-height: 1.4285714286;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-service-detail__band-title {
    min-height: 3.75rem;
    padding: 0.75rem 0.9375rem;
    border-radius: 0.4375rem;
    font-size: 1.125rem;
    line-height: 1.5555555556;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

.sub-service-detail__concern-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 5rem;
  max-width: 56.25rem;
  margin-top: 3.75rem;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 768px) {
  .sub-service-detail__concern-list {
    grid-template-columns: 1fr;
    gap: 2.375rem;
    margin-top: 2.625rem;
  }
}

.sub-service-detail__concern-item {
  text-align: center;
}

.sub-service-detail__concern-icon {
  display: grid;
  place-items: center;
  width: 15rem;
  aspect-ratio: 1/1;
  margin-right: auto;
  margin-left: auto;
  overflow: hidden;
  border-radius: 50%;
  background-color: #ffffff;
}
@media screen and (max-width: 768px) {
  .sub-service-detail__concern-icon {
    width: 9.6875rem;
  }
}

.sub-service-detail__concern-icon img {
  width: 7.1875rem;
  max-height: 7.1875rem;
  object-fit: contain;
}
@media screen and (max-width: 768px) {
  .sub-service-detail__concern-icon img {
    width: 4.75rem;
    max-height: 4.75rem;
  }
}

.sub-service-detail__concern-text {
  margin-top: 2.375rem;
  font-size: 1.5rem;
  line-height: 1.5;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-service-detail__concern-text {
    margin-top: 1.25rem;
    font-size: 1.0625rem;
    line-height: 1.6470588235;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

.sub-service-detail__solution {
  position: relative;
  padding-top: 5.125rem;
  margin-top: 4.6875rem;
  border-top: 0.0625rem solid #1c499e;
}
@media screen and (max-width: 768px) {
  .sub-service-detail__solution {
    padding-top: 3.25rem;
    margin-top: 3rem;
  }
}

.sub-service-detail__solution::before {
  position: absolute;
  top: 0;
  left: 50%;
  width: 0;
  height: 0;
  border-top: 1.875rem solid #1c499e;
  border-right: 2.625rem solid transparent;
  border-left: 2.625rem solid transparent;
  content: "";
  transform: translateX(-50%);
}
@media screen and (max-width: 768px) {
  .sub-service-detail__solution::before {
    border-top-width: 1.25rem;
    border-right-width: 1.75rem;
    border-left-width: 1.75rem;
  }
}

.sub-service-detail__solution-title {
  color: #1c499e;
  text-align: center;
  font-size: 2.625rem;
  line-height: 1.2857142857;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-service-detail__solution-title {
    font-size: 1.4375rem;
    line-height: 1.5217391304;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

.sub-service-detail__solution-text {
  margin-top: 3rem;
  font-size: 1.25rem;
  line-height: 1.9;
  letter-spacing: -0.02em;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .sub-service-detail__solution-text {
    margin-top: 1.75rem;
    font-size: 0.875rem;
    line-height: 1.9285714286;
    letter-spacing: -0.02em;
    font-weight: 400;
  }
}

.sub-service-detail__check {
  display: grid;
  place-items: center;
  flex-shrink: 0;
  width: 2.75rem;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: #00a0e9;
}
@media screen and (max-width: 768px) {
  .sub-service-detail__check {
    width: 2.25rem;
  }
}

.sub-service-detail__check img {
  width: 1.3125rem;
  height: auto;
}
@media screen and (max-width: 768px) {
  .sub-service-detail__check img {
    width: 1.0625rem;
  }
}

.sub-service-detail__application {
  padding-top: 8.125rem;
  background-color: #eaf0f3;
}
@media screen and (max-width: 768px) {
  .sub-service-detail__application {
    padding-top: 4.6875rem;
  }
}

.sub-service-detail__application-inner {
  padding-inline: 1.25rem;
  max-width: 1440px;
}
@media screen and (max-width: 768px) {
  .sub-service-detail__application-inner {
    max-width: 500px;
  }
}

.sub-service-detail__application-panel {
  padding: 6.875rem 1.5625rem;
  border-radius: 1.875rem;
  background-color: #1c499e;
  background-image: radial-gradient(circle at 50% 50%, rgba(255, 255, 255, 0.021) 0, rgba(255, 255, 255, 0.009) 0.09375rem, transparent 0.25rem), linear-gradient(to bottom, transparent calc(50% - 0.1875rem), rgba(255, 255, 255, 0.005) calc(50% - 0.125rem), rgba(255, 255, 255, 0.014) 50%, rgba(255, 255, 255, 0.005) calc(50% + 0.125rem), transparent calc(50% + 0.1875rem)), linear-gradient(90deg, transparent calc(50% - 0.1875rem), rgba(255, 255, 255, 0.005) calc(50% - 0.125rem), rgba(255, 255, 255, 0.014) 50%, rgba(255, 255, 255, 0.005) calc(50% + 0.125rem), transparent calc(50% + 0.1875rem));
  background-size: 1.125rem 1.125rem;
}
@media screen and (max-width: 768px) {
  .sub-service-detail__application-panel {
    padding: 2.8125rem 1.25rem;
    border-radius: 1.125rem;
    background-size: 0.9375rem 0.9375rem;
  }
}

.sub-service-detail__application-title {
  color: #ffffff;
  font-size: 2.625rem;
  line-height: 1.2857142857;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-service-detail__application-title {
    text-align: center;
    font-size: 1.5625rem;
    line-height: 1.44;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

.sub-service-detail__application-list {
  display: flex;
  gap: 1.5625rem;
  margin-top: 3.4375rem;
  max-width: 1180px;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .sub-service-detail__application-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
    margin-top: 2.1875rem;
    max-width: 300px;
  }
}

.sub-service-detail__application-link {
  justify-self: center;
  padding-left: clamp(20px, -31 * (100vw - 1440px) / -671 + 51px, 51px);
}
@media screen and (max-width: 768px) {
  .sub-service-detail__application-link {
    max-width: none;
    min-height: 4.125rem;
    padding-right: 0.625rem;
    padding-left: 1.5625rem;
    border-radius: 2.0625rem;
    font-size: 1rem;
    line-height: 1.5625;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

.sub-service-detail__application-link:last-child {
  max-width: none;
  white-space: nowrap;
}

@media screen and (max-width: 768px) {
  .sub-service-detail__application-icon {
    width: 2.875rem;
    height: 2.875rem;
  }
}

@media screen and (max-width: 768px) {
  .sub-service-detail__application-icon img {
    width: 0.9375rem;
  }
}

.sub-service-detail__data-group + .sub-service-detail__data-group {
  margin-top: 4.375rem;
}
@media screen and (max-width: 768px) {
  .sub-service-detail__data-group + .sub-service-detail__data-group {
    margin-top: 3.125rem;
  }
}

.sub-service-detail__data-summary {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 4.5rem;
  padding-right: 4.0625rem;
  padding-left: 2.1875rem;
  border-radius: 0.625rem;
  color: #ffffff;
  cursor: pointer;
  list-style: none;
  background: linear-gradient(90deg, #1c499e 0%, #038be0 100%);
  font-size: 1.5rem;
  line-height: 1.4166666667;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-service-detail__data-summary {
    min-height: 3.625rem;
    padding-right: 3rem;
    padding-left: 1.125rem;
    border-radius: 0.4375rem;
    font-size: 1.0625rem;
    line-height: 1.5294117647;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

.sub-service-detail__data-summary::-webkit-details-marker {
  display: none;
}

.sub-service-detail__data-summary::after {
  position: absolute;
  top: 50%;
  right: 1.75rem;
  width: 0.6875rem;
  height: 0.6875rem;
  border-right: 0.1875rem solid #ffffff;
  border-bottom: 0.1875rem solid #ffffff;
  border-radius: 0.125rem;
  content: "";
  transform: translateY(-65%) rotate(45deg);
  transition: transform 0.3s ease;
}
@media screen and (max-width: 768px) {
  .sub-service-detail__data-summary::after {
    right: 1.125rem;
    width: 0.5rem;
    height: 0.5rem;
    border-right-width: 0.125rem;
    border-bottom-width: 0.125rem;
    border-radius: 0.0625rem;
  }
}

.sub-service-detail__data-group:not([open]) .sub-service-detail__data-summary::after {
  transform: translateY(-35%) rotate(-135deg);
}

.sub-service-detail__data-group .sub-service-detail__table-scroll {
  margin-top: 2.1875rem;
}
@media screen and (max-width: 768px) {
  .sub-service-detail__data-group .sub-service-detail__table-scroll {
    margin-top: 1.375rem;
  }
}

.sub-service-detail__table-note {
  margin-top: 1.5625rem;
  font-size: 1.25rem;
  line-height: 2;
  letter-spacing: -0.02em;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .sub-service-detail__table-note {
    margin-top: 1.125rem;
    font-size: 0.8125rem;
    line-height: 1.7692307692;
    letter-spacing: -0.02em;
    font-weight: 500;
  }
}

.sub-service-detail__table-alert {
  color: #ff3030;
}

.sub-service-demolition {
  background-color: #ffffff;
}

.sub-service-demolition__concerns {
  padding-top: 6.25rem;
  margin-top: 7.5rem;
  padding-bottom: 9.0625rem;
  background-color: #eaf0f3;
}
@media screen and (max-width: 768px) {
  .sub-service-demolition__concerns {
    margin-top: 4.375rem;
    padding-top: 3.75rem;
    padding-bottom: 4.375rem;
  }
}

.sub-service-demolition__section-title {
  display: grid;
  place-items: center;
  min-height: 5rem;
  padding: 0.9375rem 1.875rem;
  border-radius: 0.625rem;
  color: #ffffff;
  text-align: center;
  background: linear-gradient(90deg, #1c499e 0%, #038be0 100%);
  font-size: 1.5625rem;
  line-height: 1.44;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-service-demolition__section-title {
    min-height: 3.625rem;
    padding: 0.625rem 0.9375rem;
    border-radius: 0.375rem;
    font-size: 1.0625rem;
    line-height: 1.5294117647;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

.sub-service-demolition__concern-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 5.5rem;
  max-width: 56.25rem;
  margin-top: 3.5625rem;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 768px) {
  .sub-service-demolition__concern-list {
    grid-template-columns: 1fr;
    gap: 2.1875rem;
    margin-top: 2.5rem;
  }
}

.sub-service-demolition__concern-item {
  text-align: center;
}

.sub-service-demolition__concern-icon {
  display: grid;
  place-items: center;
  width: 15rem;
  aspect-ratio: 1/1;
  margin-right: auto;
  margin-left: auto;
  overflow: hidden;
  border-radius: 50%;
  background-color: #ffffff;
}
@media screen and (max-width: 768px) {
  .sub-service-demolition__concern-icon {
    width: 9.375rem;
  }
}

.sub-service-demolition__concern-icon img {
  width: 6.25rem;
  object-fit: contain;
}
@media screen and (max-width: 768px) {
  .sub-service-demolition__concern-icon img {
    width: 4.6875rem;
    max-height: 4.6875rem;
  }
}

.sub-service-demolition__concern-item:nth-child(2) .sub-service-demolition__concern-icon img {
  width: 8.125rem;
}
@media screen and (max-width: 768px) {
  .sub-service-demolition__concern-item:nth-child(2) .sub-service-demolition__concern-icon img {
    width: 6.125rem;
  }
}

.sub-service-demolition__concern-text {
  margin-top: 2.75rem;
  font-size: 1.5rem;
  line-height: 1.5;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-service-demolition__concern-text {
    margin-top: 1.25rem;
    font-size: 1rem;
    line-height: 1.5625;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

.sub-service-demolition__solution {
  position: relative;
  padding-top: 5.375rem;
  margin-top: 4.875rem;
  border-top: 0.0625rem solid #1c499e;
}
@media screen and (max-width: 768px) {
  .sub-service-demolition__solution {
    padding-top: 3.125rem;
    margin-top: 2.8125rem;
  }
}

.sub-service-demolition__solution::before {
  position: absolute;
  top: 0;
  left: 50%;
  width: 0;
  height: 0;
  border-top: 1.875rem solid #1c499e;
  border-right: 2.625rem solid transparent;
  border-left: 2.625rem solid transparent;
  content: "";
  transform: translateX(-50%);
}
@media screen and (max-width: 768px) {
  .sub-service-demolition__solution::before {
    border-top-width: 1.25rem;
    border-right-width: 1.75rem;
    border-left-width: 1.75rem;
  }
}

.sub-service-demolition__solution-title {
  color: #1c499e;
  text-align: center;
  font-size: 2.625rem;
  line-height: 1.0714285714;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-service-demolition__solution-title {
    font-size: 1.3125rem;
    line-height: 1.5238095238;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

.sub-service-demolition__solution-text {
  margin-top: 3.125rem;
  font-size: 1.25rem;
  line-height: 1.6;
  letter-spacing: -0.02em;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .sub-service-demolition__solution-text {
    margin-top: 1.5625rem;
    font-size: 0.875rem;
    line-height: 1.9285714286;
    letter-spacing: -0.02em;
    font-weight: 400;
  }
}

.sub-service-demolition__strength-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5625rem;
  margin-top: 1.25rem;
}
@media screen and (max-width: 768px) {
  .sub-service-demolition__strength-list {
    grid-template-columns: 1fr;
    gap: 3.125rem;
    margin-top: 3.4375rem;
  }
}

.sub-service-demolition__strength-item {
  text-align: center;
}

.sub-service-demolition__check {
  display: grid;
  place-items: center;
  width: 5rem;
  aspect-ratio: 1/1;
  margin-right: auto;
  margin-left: auto;
  border-radius: 50%;
  background-color: #00a0e9;
}
@media screen and (max-width: 768px) {
  .sub-service-demolition__check {
    width: 3.25rem;
  }
}

.sub-service-demolition__check img {
  width: 2.5625rem;
  height: auto;
}
@media screen and (max-width: 768px) {
  .sub-service-demolition__check img {
    width: 1.5rem;
  }
}

.sub-service-demolition__strength-image {
  width: 100%;
  margin-top: 1.875rem;
  aspect-ratio: 384/240;
  border-radius: 1.25rem;
  object-fit: cover;
}
@media screen and (max-width: 768px) {
  .sub-service-demolition__strength-image {
    margin-top: 1.25rem;
    border-radius: 0.625rem;
  }
}

.sub-service-demolition__strength-title {
  margin-top: 1.875rem;
  font-size: 1.25rem;
  line-height: 1.5;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-service-demolition__strength-title {
    margin-top: 1.375rem;
    font-size: 1.0625rem;
    line-height: 1.5882352941;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

.sub-service-demolition__strength-text {
  margin-top: 1.875rem;
  text-align: left;
  font-size: 1rem;
  line-height: 1.75;
  letter-spacing: -0.02em;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .sub-service-demolition__strength-text {
    margin-top: 1.125rem;
    font-size: 0.875rem;
    line-height: 1.9285714286;
    letter-spacing: -0.02em;
    font-weight: 400;
  }
}

.sub-service-demolition__consultation {
  margin-top: -0.9375rem;
}

.sub-service-demolition__consultation-image {
  width: 100%;
  overflow: hidden;
  border-radius: 1.25rem;
}
@media screen and (max-width: 768px) {
  .sub-service-demolition__consultation-image {
    border-radius: 0.75rem;
  }
}

.sub-service-demolition__consultation-image img {
  display: block;
  width: 100%;
  height: auto;
}

.sub-service-demolition__consultation-inner {
  padding-top: 4.6875rem;
}
@media screen and (max-width: 768px) {
  .sub-service-demolition__consultation-inner {
    padding-top: 3.125rem;
  }
}

.sub-service-demolition__consultation-list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.625rem;
  margin-top: 2.875rem;
}
@media screen and (max-width: 768px) {
  .sub-service-demolition__consultation-list {
    grid-template-columns: 1fr;
    gap: 0.9375rem;
    margin-top: 1.875rem;
  }
}

.sub-service-demolition__consultation-item {
  display: flex;
  min-height: 11.1875rem;
  padding: 1.875rem;
  border-radius: 0.625rem;
  background-color: #eaf0f3;
  color: #1c499e;
  font-size: 1.125rem;
  line-height: 1.7777777778;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-service-demolition__consultation-item {
    min-height: auto;
    padding: 1.25rem;
    border-radius: 0.5rem;
    font-size: 0.875rem;
    line-height: 1.7142857143;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

@media screen and (max-width: 768px) {
  .sub-service-demolition__consultation-item br {
    display: none;
  }
}

.sub-service-demolition__consultation-text {
  margin-top: 3.375rem;
  font-size: 1.25rem;
  line-height: 2;
  letter-spacing: -0.02em;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .sub-service-demolition__consultation-text {
    margin-top: 1.875rem;
    font-size: 0.875rem;
    line-height: 1.9285714286;
    letter-spacing: -0.02em;
    font-weight: 400;
  }
}

.sub-service-demolition__range {
  padding-top: 7.5rem;
  background-color: #ffffff;
}
@media screen and (max-width: 768px) {
  .sub-service-demolition__range {
    padding-top: 5.625rem;
  }
}

.sub-service-demolition__range-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 5rem;
  row-gap: 5.625rem;
  margin-top: 5.3125rem;
}
@media screen and (max-width: 768px) {
  .sub-service-demolition__range-list {
    grid-template-columns: 1fr;
    gap: 3.4375rem;
    margin-top: 3.125rem;
  }
}

.sub-service-demolition__range-image {
  width: 100%;
  aspect-ratio: 560/360;
  border-radius: 1.25rem;
  object-fit: cover;
}
@media screen and (max-width: 768px) {
  .sub-service-demolition__range-image {
    border-radius: 0.625rem;
  }
}

.sub-service-demolition__range-item-title {
  display: flex;
  align-items: baseline;
  gap: 2.8125rem;
  margin-top: 2.5rem;
  font-size: 2rem;
  line-height: 1.09375;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-service-demolition__range-item-title {
    gap: 1.125rem;
    margin-top: 1.375rem;
    font-size: 1.0625rem;
    line-height: 1.5882352941;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

.sub-service-demolition__range-number {
  flex-shrink: 0;
  color: #1c499e;
  font-family: "Jost", sans-serif;
  font-size: 3rem;
  line-height: 1.0416666667;
  letter-spacing: 0em;
  font-weight: 600;
}
@media screen and (max-width: 768px) {
  .sub-service-demolition__range-number {
    font-size: 1.625rem;
    line-height: 1.2307692308;
    letter-spacing: 0em;
    font-weight: 600;
  }
}

.sub-service-demolition__range-text {
  margin-top: 2.8125rem;
  font-size: 1rem;
  line-height: 2;
  letter-spacing: -0.02em;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .sub-service-demolition__range-text {
    margin-top: 1.125rem;
    font-size: 0.875rem;
    line-height: 1.9285714286;
    letter-spacing: -0.02em;
    font-weight: 400;
  }
}

.sub-service-demolition__other-range {
  margin-top: 6.25rem;
}
@media screen and (max-width: 768px) {
  .sub-service-demolition__other-range {
    margin-top: 4.0625rem;
  }
}

.sub-service-demolition__other-range-heading {
  padding-bottom: 1rem;
  border-bottom: 0.0625rem solid #000;
  font-size: 1.5rem;
  line-height: 1.1666666667;
  letter-spacing: 0em;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .sub-service-demolition__other-range-heading {
    padding-bottom: 0.75rem;
    font-size: 1rem;
    line-height: 1.5625;
    letter-spacing: 0em;
    font-weight: 400;
  }
}

.sub-service-demolition__other-range-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem;
  margin-top: 2.25rem;
}
@media screen and (max-width: 768px) {
  .sub-service-demolition__other-range-list {
    grid-template-columns: 1fr;
    gap: 2.8125rem;
    margin-top: 1.875rem;
  }
}

.sub-service-demolition__other-range-image {
  width: 100%;
  aspect-ratio: 384/240;
  border-radius: 1.25rem;
  object-fit: cover;
}
@media screen and (max-width: 768px) {
  .sub-service-demolition__other-range-image {
    border-radius: 0.625rem;
  }
}

.sub-service-demolition__other-range-title {
  margin-top: 1.875rem;
  text-align: center;
  font-size: 1.5rem;
  line-height: 1.1666666667;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-service-demolition__other-range-title {
    margin-top: 1.125rem;
    font-size: 1.0625rem;
    line-height: 1.5882352941;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

.sub-service-demolition__other-range-text {
  margin-top: 2.1875rem;
  font-size: 1rem;
  line-height: 2;
  letter-spacing: -0.02em;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .sub-service-demolition__other-range-text {
    margin-top: 0.9375rem;
    font-size: 0.875rem;
    line-height: 1.9285714286;
    letter-spacing: -0.02em;
    font-weight: 400;
  }
}

.sub-service-demolition__aftercare {
  background-color: #eaf0f3;
  background-image: linear-gradient(to bottom, #ffffff 0, #ffffff 1.875rem, #eaf0f3 1.875rem, #eaf0f3 100%);
  margin-top: 10rem;
}
@media screen and (max-width: 768px) {
  .sub-service-demolition__aftercare {
    margin-top: 4.375rem;
    background-image: linear-gradient(to bottom, #ffffff 0, #ffffff 0.75rem, #eaf0f3 0.75rem, #eaf0f3 100%);
  }
}

.sub-service-demolition__aftercare-image {
  width: 100%;
  overflow: hidden;
  border-radius: 1.875rem;
}
@media screen and (max-width: 768px) {
  .sub-service-demolition__aftercare-image {
    border-radius: 0.75rem;
  }
}

.sub-service-demolition__aftercare-image img {
  display: block;
  width: 100%;
  height: auto;
}

.sub-service-demolition__aftercare-inner {
  padding-top: 4.6875rem;
  padding-bottom: 8.75rem;
}
@media screen and (max-width: 768px) {
  .sub-service-demolition__aftercare-inner {
    padding-top: 3.125rem;
    padding-bottom: 4.0625rem;
  }
}

.sub-service-demolition__aftercare-title {
  margin-top: 2.8125rem;
  color: #1c499e;
  text-align: center;
  font-size: 2.625rem;
  line-height: 1.1904761905;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-service-demolition__aftercare-title {
    margin-top: 1.875rem;
    font-size: 1.25rem;
    line-height: 1.55;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

.sub-service-demolition__aftercare-lead {
  margin-top: 1.875rem;
  text-align: center;
  font-size: 1.5rem;
  line-height: 1.25;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-service-demolition__aftercare-lead {
    margin-top: 0.9375rem;
    font-size: 0.8125rem;
    line-height: 1.7692307692;
    letter-spacing: 0em;
    font-weight: 400;
  }
}

.sub-service-demolition__aftercare-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 5.5rem;
  max-width: 56.25rem;
  margin-top: 3.125rem;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 768px) {
  .sub-service-demolition__aftercare-list {
    grid-template-columns: 1fr;
    gap: 2.1875rem;
    margin-top: 2.5rem;
  }
}

.sub-service-demolition__aftercare-item {
  text-align: center;
}

.sub-service-demolition__aftercare-icon {
  display: grid;
  place-items: center;
  width: 15rem;
  aspect-ratio: 1/1;
  margin-right: auto;
  margin-left: auto;
  overflow: hidden;
  border-radius: 50%;
  background-color: #ffffff;
}
@media screen and (max-width: 768px) {
  .sub-service-demolition__aftercare-icon {
    width: 9.0625rem;
  }
}

.sub-service-demolition__aftercare-icon img {
  width: 6.8125rem;
  object-fit: contain;
}
@media screen and (max-width: 768px) {
  .sub-service-demolition__aftercare-icon img {
    width: 4.375rem;
    max-height: 4.375rem;
  }
}

.sub-service-demolition__aftercare-item:nth-child(2) .sub-service-demolition__aftercare-icon img {
  width: 6.75rem;
}
@media screen and (max-width: 768px) {
  .sub-service-demolition__aftercare-item:nth-child(2) .sub-service-demolition__aftercare-icon img {
    width: 4.375rem;
  }
}

.sub-service-demolition__aftercare-item:nth-child(3) .sub-service-demolition__aftercare-icon img {
  width: 5rem;
}
@media screen and (max-width: 768px) {
  .sub-service-demolition__aftercare-item:nth-child(3) .sub-service-demolition__aftercare-icon img {
    width: 3.25rem;
  }
}

.sub-service-demolition__aftercare-text {
  margin-top: 2.5rem;
  font-size: 1.5rem;
  line-height: 1.5;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-service-demolition__aftercare-text {
    margin-top: 1.125rem;
    font-size: 0.9375rem;
    line-height: 1.6666666667;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

.sub-service-demolition__aftercare + .site-contact-section {
  background-color: #ffffff;
  background-image: linear-gradient(to bottom, #eaf0f3 0, #eaf0f3 1.25rem, #ffffff 1.25rem, #ffffff 100%);
}
@media screen and (max-width: 768px) {
  .sub-service-demolition__aftercare + .site-contact-section {
    background-image: linear-gradient(to bottom, #eaf0f3 0, #eaf0f3 0.75rem, #ffffff 0.75rem, #ffffff 100%);
  }
}

.sub-service-industrial-waste {
  background-color: #ffffff;
}

.sub-service-industrial-waste .sub-service-detail__hero {
  padding-bottom: 0;
}

.sub-service-industrial-waste .sub-service-detail__visual {
  margin-top: 7.75rem;
}
@media screen and (max-width: 768px) {
  .sub-service-industrial-waste .sub-service-detail__visual {
    margin-top: 3.125rem;
  }
}

.sub-service-industrial-waste .sub-service-detail__introduction {
  padding-bottom: 0;
}

.sub-service-industrial-waste__recommended {
  padding-top: 6.25rem;
}
@media screen and (max-width: 768px) {
  .sub-service-industrial-waste__recommended {
    padding-top: 4.0625rem;
  }
}

.sub-service-industrial-waste__recommended .sub-service-detail__band-title {
  justify-items: start;
  text-align: left;
}

.sub-service-industrial-waste__recommended-list {
  display: grid;
  gap: 1.5625rem;
  margin-top: 2.25rem;
}
@media screen and (max-width: 768px) {
  .sub-service-industrial-waste__recommended-list {
    gap: 1.125rem;
    margin-top: 1.875rem;
  }
}

.sub-service-industrial-waste__recommended-item {
  padding: 3.125rem;
  border-radius: 1.25rem;
  background-color: #eaf0f3;
}
@media screen and (max-width: 768px) {
  .sub-service-industrial-waste__recommended-item {
    padding: 1.75rem 1.375rem;
    border-radius: 0.75rem;
  }
}

.sub-service-industrial-waste__recommended-heading {
  display: flex;
  align-items: center;
  gap: 1.125rem;
  color: #1c499e;
  font-size: 1.5rem;
  line-height: 1.5;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-service-industrial-waste__recommended-heading {
    gap: 0.875rem;
    font-size: 1.125rem;
    line-height: 1.5555555556;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

.sub-service-industrial-waste__recommended-heading .sub-service-detail__check {
  width: 2.25rem;
}

.sub-service-industrial-waste__recommended-heading .sub-service-detail__check img {
  width: 1.1875rem;
}

.sub-service-industrial-waste__recommended-text {
  margin-top: 1.875rem;
  font-size: 1.25rem;
  line-height: 2;
  letter-spacing: -0.02em;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .sub-service-industrial-waste__recommended-text {
    margin-top: 1.125rem;
    font-size: 0.875rem;
    line-height: 1.9285714286;
    letter-spacing: -0.02em;
    font-weight: 400;
  }
}

.sub-service-industrial-waste__concerns {
  padding-top: 6.25rem;
  margin-top: 7.5rem;
  background-color: #eaf0f3;
}
@media screen and (max-width: 768px) {
  .sub-service-industrial-waste__concerns {
    padding-top: 4.0625rem;
    margin-top: 4.375rem;
  }
}

.sub-service-industrial-waste__concerns .sub-service-detail__concern-item:first-child .sub-service-detail__concern-icon img {
  width: 8.6875rem;
}
@media screen and (max-width: 768px) {
  .sub-service-industrial-waste__concerns .sub-service-detail__concern-item:first-child .sub-service-detail__concern-icon img {
    width: 5.625rem;
  }
}

.sub-service-industrial-waste__concerns .sub-service-detail__concern-item:nth-child(2) .sub-service-detail__concern-icon img {
  width: 6.1875rem;
}
@media screen and (max-width: 768px) {
  .sub-service-industrial-waste__concerns .sub-service-detail__concern-item:nth-child(2) .sub-service-detail__concern-icon img {
    width: 4rem;
  }
}

.sub-service-industrial-waste__concerns .sub-service-detail__concern-item:nth-child(3) .sub-service-detail__concern-icon img {
  width: 5.875rem;
}
@media screen and (max-width: 768px) {
  .sub-service-industrial-waste__concerns .sub-service-detail__concern-item:nth-child(3) .sub-service-detail__concern-icon img {
    width: 3.8125rem;
  }
}

.sub-service-industrial-waste__concerns .sub-service-detail__concern-item {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.sub-service-industrial-waste__concerns .sub-service-detail__concern-text {
  width: max-content;
  text-align: center;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .sub-service-industrial-waste__concerns .sub-service-detail__concern-text {
    width: auto;
    white-space: normal;
  }
}

.sub-service-industrial-waste__features {
  padding-top: 3.4375rem;
  background-color: #eaf0f3;
}
@media screen and (max-width: 768px) {
  .sub-service-industrial-waste__features {
    padding-top: 4.6875rem;
  }
}

.sub-service-industrial-waste__feature-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: 1.25rem;
  row-gap: 0;
}
@media screen and (max-width: 768px) {
  .sub-service-industrial-waste__feature-list {
    grid-template-columns: 1fr;
    gap: 3.75rem;
  }
}

.sub-service-industrial-waste__feature-item {
  display: grid;
  grid-row: span 6;
  grid-template-rows: subgrid;
}
@media screen and (max-width: 768px) {
  .sub-service-industrial-waste__feature-item {
    display: block;
    grid-row: auto;
  }
}

.sub-service-industrial-waste__feature-item::after {
  display: block;
  height: 4.0625rem;
  content: "";
}
@media screen and (max-width: 768px) {
  .sub-service-industrial-waste__feature-item::after {
    display: none;
  }
}

.sub-service-industrial-waste__feature-item:nth-last-child(-n+3)::after {
  height: 0;
}

.sub-service-industrial-waste__feature-label {
  color: #1c499e;
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 0.75rem;
  line-height: 1.5;
  letter-spacing: 0.2em;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .sub-service-industrial-waste__feature-label {
    font-size: 0.75rem;
    line-height: 1.4166666667;
    letter-spacing: 0.25em;
    font-weight: 500;
  }
}

.sub-service-industrial-waste__feature-number {
  margin-top: 0.5rem;
  color: #1c499e;
  font-family: "Jost", sans-serif;
  font-size: 4rem;
  line-height: 1.125;
  letter-spacing: 0em;
  font-weight: 600;
}
@media screen and (max-width: 768px) {
  .sub-service-industrial-waste__feature-number {
    margin-top: 0.5rem;
    font-size: 3.125rem;
    line-height: 1.08;
    letter-spacing: 0em;
    font-weight: 600;
  }
}

.sub-service-industrial-waste__feature-image {
  width: 100%;
  margin-top: 1.25rem;
  aspect-ratio: 360/225;
  border-radius: 1.25rem;
  object-fit: cover;
}
@media screen and (max-width: 768px) {
  .sub-service-industrial-waste__feature-image {
    margin-top: 0.875rem;
    border-radius: 0.75rem;
  }
}

.sub-service-industrial-waste__feature-title {
  display: grid;
  margin-top: 1.875rem;
  text-align: center;
  font-size: 1.5rem;
  line-height: 1.5;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-service-industrial-waste__feature-title {
    display: block;
    margin-top: 1.375rem;
    font-size: 1.25rem;
    line-height: 1.55;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

.sub-service-industrial-waste__feature-text {
  margin-top: 1.875rem;
  font-size: 1rem;
  line-height: 2;
  letter-spacing: -0.02em;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .sub-service-industrial-waste__feature-text {
    margin-top: 1rem;
    font-size: 0.875rem;
    line-height: 1.9285714286;
    letter-spacing: -0.02em;
    font-weight: 400;
  }
}

.sub-service-industrial-waste__feature-link {
  color: #1c499e;
}

.sub-service-industrial-waste__compatible {
  padding-top: 9.375rem;
  padding-bottom: 7.25rem;
  background-color: #eaf0f3;
}
@media screen and (max-width: 768px) {
  .sub-service-industrial-waste__compatible {
    padding-top: 4.6875rem;
    padding-bottom: 3.125rem;
  }
}

.sub-service-industrial-waste__compatible-description {
  margin-top: 3.75rem;
  color: #1c499e;
  font-size: 1.25rem;
  line-height: 1.7;
  letter-spacing: -0.02em;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .sub-service-industrial-waste__compatible-description {
    margin-top: 1.875rem;
    font-size: 0.875rem;
    line-height: 1.9285714286;
    letter-spacing: -0.02em;
    font-weight: 500;
  }
}

.sub-service-industrial-waste__compatible-groups {
  margin-top: 4.0625rem;
}
@media screen and (max-width: 768px) {
  .sub-service-industrial-waste__compatible-groups {
    margin-top: 2.625rem;
  }
}

.sub-service-industrial-waste__compatible .sub-service-detail__table th,
.sub-service-industrial-waste__compatible .sub-service-detail__table td {
  padding-right: 2.375rem;
  padding-left: 2.375rem;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .sub-service-industrial-waste__compatible .sub-service-detail__table th,
  .sub-service-industrial-waste__compatible .sub-service-detail__table td {
    padding-right: 1.25rem;
    padding-left: 1.25rem;
  }
}

.sub-service-industrial-waste__compatible .sub-service-detail__table thead th {
  text-align: center;
}

.sub-service-industrial-waste__compatible .sub-service-detail__table tbody td {
  font-size: 1.125rem;
  line-height: 1.6666666667;
  letter-spacing: 0em;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .sub-service-industrial-waste__compatible .sub-service-detail__table tbody td {
    font-size: 0.875rem;
    line-height: 1.5714285714;
    letter-spacing: 0em;
    font-weight: 400;
  }
}

.sub-service-industrial-waste__sales-table th,
.sub-service-industrial-waste__sales-table td {
  width: 33.333%;
  text-align: center;
}

.sub-service-industrial-waste__sales-table tbody td:nth-child(2) {
  font-size: 1.5rem;
  line-height: 1.3333333333;
  letter-spacing: 0em;
  font-weight: 400;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .sub-service-industrial-waste__sales-table tbody td:nth-child(2) {
    font-size: 1rem;
    line-height: 1.5;
    letter-spacing: 0em;
    font-weight: 400;
  }
}

.sub-service-industrial-waste__process {
  padding-top: 8.125rem;
  background-color: #ffffff;
}
@media screen and (max-width: 768px) {
  .sub-service-industrial-waste__process {
    padding-top: 4.6875rem;
  }
}

.sub-service-industrial-waste__process-panel {
  padding: 3.125rem 3.125rem 3.4375rem 3.125rem;
  margin-top: 4.375rem;
  border-radius: 1.25rem;
  background-color: #eaf0f3;
}
@media screen and (max-width: 768px) {
  .sub-service-industrial-waste__process-panel {
    padding: 1.875rem 1.25rem;
    margin-top: 2.625rem;
    border-radius: 0.75rem;
  }
}

.sub-service-industrial-waste__process-item {
  position: relative;
  min-height: 14.6875rem;
  padding: 1.875rem 2.1875rem;
  border-radius: 0.625rem;
  background-color: #ffffff;
}
@media screen and (max-width: 768px) {
  .sub-service-industrial-waste__process-item {
    min-height: 0;
    padding: 1.5625rem 1.25rem;
    border-radius: 0.5rem;
  }
}

.sub-service-industrial-waste__process-heading {
  display: flex;
  align-items: center;
  gap: 1.75rem;
}
@media screen and (max-width: 768px) {
  .sub-service-industrial-waste__process-heading {
    gap: 1.125rem;
  }
}

.sub-service-industrial-waste__process-icon {
  width: 4.5rem;
  height: 4.75rem;
  object-fit: contain;
}
@media screen and (max-width: 768px) {
  .sub-service-industrial-waste__process-icon {
    width: 3.75rem;
    height: 3.4375rem;
  }
}

.sub-service-industrial-waste__process-title {
  color: #1c499e;
  font-size: 2rem;
  line-height: 2;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-service-industrial-waste__process-title {
    font-size: 1.25rem;
    line-height: 1.5;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

.sub-service-industrial-waste__process-title small {
  display: block;
  font-size: 1rem;
  line-height: 1.125;
  letter-spacing: 0em;
  font-weight: 700;
}

.sub-service-industrial-waste__process-text {
  margin-top: 1.5625rem;
  color: #1c499e;
  font-size: 1rem;
  line-height: 1.6875;
  letter-spacing: 0em;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .sub-service-industrial-waste__process-text {
    margin-top: 1.125rem;
    font-size: 0.875rem;
    line-height: 1.7857142857;
    letter-spacing: 0em;
    font-weight: 400;
  }
}

.sub-service-industrial-waste__process-branch {
  position: relative;
  width: 28.875rem;
  height: 6.4375rem;
  margin-right: auto;
  margin-left: auto;
  background-image: linear-gradient(#1c499e, #1c499e), linear-gradient(#1c499e, #1c499e);
  background-repeat: no-repeat;
  background-position: left 2.1875rem, right 2.1875rem;
  background-size: 0.125rem 3rem, 0.125rem 3rem;
}
@media screen and (max-width: 768px) {
  .sub-service-industrial-waste__process-branch {
    display: none;
  }
}

.sub-service-industrial-waste__process-branch::before {
  position: absolute;
  top: 0;
  left: 50%;
  width: 0.125rem;
  height: 2.1875rem;
  background-color: #1c499e;
  content: "";
  transform: translateX(-50%);
}

.sub-service-industrial-waste__process-branch::after {
  position: absolute;
  top: 2.125rem;
  right: 0;
  left: 0;
  height: 0.125rem;
  background-color: #1c499e;
  content: "";
}

.sub-service-industrial-waste__process-list {
  display: grid;
}
@media screen and (max-width: 768px) {
  .sub-service-industrial-waste__process-list {
    display: contents;
  }
}

.sub-service-industrial-waste__process-list--top {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 3.4375rem;
}

.sub-service-industrial-waste__process-list--bottom {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2.5rem;
  max-width: 55rem;
  margin-right: auto;
  margin-left: auto;
}

.sub-service-industrial-waste__process-list--top .sub-service-industrial-waste__process-item:not(:last-child)::before {
  position: absolute;
  top: 50%;
  right: -1.1875rem;
  width: 1.1875rem;
  height: 0.125rem;
  background-color: #1c499e;
  content: "";
  transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .sub-service-industrial-waste__process-list--top .sub-service-industrial-waste__process-item:not(:last-child)::before {
    top: auto;
    right: auto;
    bottom: -0.9375rem;
    left: 50%;
    width: 0.125rem;
    height: 0.9375rem;
    transform: translateX(-50%);
  }
}

.sub-service-industrial-waste__process-list--top .sub-service-industrial-waste__process-item:not(:last-child)::after {
  position: absolute;
  top: 50%;
  right: -2.53125rem;
  width: 0;
  height: 0;
  border-top: 0.40625rem solid transparent;
  border-bottom: 0.40625rem solid transparent;
  border-left: 1.375rem solid #1c499e;
  content: "";
  transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .sub-service-industrial-waste__process-list--top .sub-service-industrial-waste__process-item:not(:last-child)::after {
    top: auto;
    right: auto;
    bottom: -2.3125rem;
    left: 50%;
    border-top: 1.375rem solid #1c499e;
    border-right: 0.4375rem solid transparent;
    border-bottom: 0;
    border-left: 0.4375rem solid transparent;
    transform: translateX(-50%);
  }
}

.sub-service-industrial-waste__process-list--top .sub-service-industrial-waste__process-item:first-child .sub-service-industrial-waste__process-icon {
  width: 6.6875rem;
}
@media screen and (max-width: 768px) {
  .sub-service-industrial-waste__process-list--top .sub-service-industrial-waste__process-item:first-child .sub-service-industrial-waste__process-icon {
    width: 4.5rem;
  }
}

.sub-service-industrial-waste__process-list--bottom .sub-service-industrial-waste__process-item:last-child .sub-service-industrial-waste__process-icon {
  width: 5.8125rem;
}
@media screen and (max-width: 768px) {
  .sub-service-industrial-waste__process-list--bottom .sub-service-industrial-waste__process-item:last-child .sub-service-industrial-waste__process-icon {
    width: 4.0625rem;
  }
}

.sub-service-industrial-waste__process-list--bottom .sub-service-industrial-waste__process-item::before {
  position: absolute;
  top: -1.375rem;
  left: 50%;
  width: 0;
  height: 0;
  border-top: 1.375rem solid #1c499e;
  border-right: 0.4375rem solid transparent;
  border-left: 0.4375rem solid transparent;
  content: "";
  transform: translateX(-50%);
}
@media screen and (max-width: 768px) {
  .sub-service-industrial-waste__process-list--bottom .sub-service-industrial-waste__process-item::before {
    display: none;
  }
}

@media screen and (max-width: 768px) {
  .sub-service-industrial-waste__process-layout {
    display: grid;
    row-gap: 1.25rem;
  }
}

@media screen and (max-width: 768px) {
  .sub-service-industrial-waste__process-item--transport {
    order: 1;
    margin-bottom: 1.375rem;
  }
}

@media screen and (max-width: 768px) {
  .sub-service-industrial-waste__process-item--intermediate {
    order: 2;
    margin-bottom: 1.375rem;
  }
}

.sub-service-industrial-waste__process-mobile-label {
  display: none;
}
@media screen and (max-width: 768px) {
  .sub-service-industrial-waste__process-mobile-label {
    display: block;
    order: 3;
    margin-bottom: 1.375rem;
    color: #1c499e;
    text-align: center;
    font-size: 0.875rem;
    line-height: 1.7142857143;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

@media screen and (max-width: 768px) {
  .sub-service-industrial-waste__process-item--recycle {
    order: 4;
  }
}

@media screen and (max-width: 768px) {
  .sub-service-industrial-waste__process-item--secondary {
    order: 5;
  }
}

@media screen and (max-width: 768px) {
  .sub-service-industrial-waste__process-item--final {
    order: 6;
  }
}

.sub-service-industrial-waste__recycling {
  margin-top: 7.9375rem;
  padding-top: 8.125rem;
  padding-bottom: 6.9375rem;
  background-color: #eaf0f3;
}
@media screen and (max-width: 768px) {
  .sub-service-industrial-waste__recycling {
    padding-top: 4.6875rem;
    padding-bottom: 3.75rem;
  }
}

.sub-service-industrial-waste__recycling-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.5rem;
  margin-top: 4.0625rem;
}
@media screen and (max-width: 1280px) {
  .sub-service-industrial-waste__recycling-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media screen and (max-width: 768px) {
  .sub-service-industrial-waste__recycling-list {
    grid-template-columns: 1fr;
    gap: 1.25rem;
    margin-top: 2.625rem;
  }
}

.sub-service-industrial-waste__recycling-card {
  display: flex;
  flex-direction: column;
  min-height: 28.4375rem;
  padding: 2.0625rem;
  border-radius: 1.25rem;
  background-color: #ffffff;
}
@media screen and (max-width: 768px) {
  .sub-service-industrial-waste__recycling-card {
    min-height: 0;
    padding: 1.6875rem 1.375rem;
    border-radius: 0.75rem;
  }
}

.sub-service-industrial-waste__recycling-heading {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  padding-bottom: 1.375rem;
  border-bottom: 0.0625rem solid #eaf0f3;
}
@media screen and (max-width: 768px) {
  .sub-service-industrial-waste__recycling-heading {
    gap: 0.9375rem;
    padding-bottom: 1.125rem;
  }
}

.sub-service-industrial-waste__recycling-thumbnail {
  flex-shrink: 0;
  width: 3.75rem;
  aspect-ratio: 1/1;
  border-radius: 50%;
  object-fit: cover;
}
@media screen and (max-width: 768px) {
  .sub-service-industrial-waste__recycling-thumbnail {
    width: 3rem;
  }
}

.sub-service-industrial-waste__recycling-title {
  color: #1c499e;
  font-size: 1.5rem;
  line-height: 1.4166666667;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-service-industrial-waste__recycling-title {
    font-size: 1.1875rem;
    line-height: 1.4736842105;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

.sub-service-industrial-waste__recycling-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding-top: 0.625rem;
  margin-top: 0;
}
@media screen and (max-width: 768px) {
  .sub-service-industrial-waste__recycling-body {
    padding-top: 1.125rem;
  }
}

.sub-service-industrial-waste__recycling-description {
  font-size: 0.875rem;
  line-height: 2;
  letter-spacing: -0.02em;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .sub-service-industrial-waste__recycling-description {
    font-size: 0.875rem;
    line-height: 1.7857142857;
    letter-spacing: -0.02em;
    font-weight: 400;
  }
}

.sub-service-industrial-waste__recycling-label {
  margin-top: 1.25rem;
  color: #1c499e;
  font-size: 0.875rem;
  line-height: 2;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-service-industrial-waste__recycling-label {
    margin-top: 1.125rem;
    font-size: 0.875rem;
    line-height: 1.5714285714;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

.sub-service-industrial-waste__recycling-result {
  font-size: 0.875rem;
  line-height: 2;
  letter-spacing: -0.02em;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .sub-service-industrial-waste__recycling-result {
    margin-top: 0.5rem;
    font-size: 0.875rem;
    line-height: 1.7857142857;
    letter-spacing: -0.02em;
    font-weight: 400;
  }
}

ol.sub-service-industrial-waste__recycling-result {
  padding-left: 1.375rem;
  list-style: decimal;
}

.sub-service-industrial-waste__recycling-link {
  width: fit-content;
  margin-top: 0.625rem;
  color: #1c499e;
  text-decoration: underline;
  text-decoration-thickness: 0.0625rem;
  text-underline-offset: 0.25rem;
  font-size: 0.875rem;
  line-height: 2;
  letter-spacing: -0.02em;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .sub-service-industrial-waste__recycling-link {
    font-size: 0.875rem;
    line-height: 1.7142857143;
    letter-spacing: -0.02em;
    font-weight: 400;
  }
}

.sub-service-industrial-waste__recycling-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5625rem;
  padding-top: 1.5625rem;
}
@media screen and (max-width: 768px) {
  .sub-service-industrial-waste__recycling-tags {
    margin-top: 1.25rem;
    padding-top: 0;
  }
}

.sub-service-industrial-waste__recycling-tags li {
  display: grid;
  place-items: center;
  min-width: 4.375rem;
  min-height: 2.25rem;
  padding: 0.25rem 0.875rem;
  border: 0.0625rem solid #1c499e;
  border-radius: 1.125rem;
  color: #1c499e;
  font-size: 0.875rem;
  line-height: 1.4285714286;
  letter-spacing: 0em;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .sub-service-industrial-waste__recycling-tags li {
    min-width: 3.5rem;
    min-height: 1.875rem;
    padding: 0.25rem 0.75rem;
    font-size: 0.75rem;
    line-height: 1.5;
    letter-spacing: 0em;
    font-weight: 400;
  }
}

.sub-service-industrial-waste__flow + .site-contact-section {
  padding-top: 8.75rem;
  background-color: #ffffff;
}
@media screen and (max-width: 768px) {
  .sub-service-industrial-waste__flow + .site-contact-section {
    padding-top: 4.375rem;
  }
}

.sub-service-drop-off {
  background-color: #ffffff;
}

.sub-service-drop-off .sub-service-detail__hero {
  padding-bottom: 0;
}

.sub-service-drop-off .sub-service-detail__visual {
  margin-top: 7.75rem;
}
@media screen and (max-width: 768px) {
  .sub-service-drop-off .sub-service-detail__visual {
    margin-top: 3.125rem;
  }
}

.sub-service-drop-off .sub-service-detail__introduction {
  padding-bottom: 0;
}

.sub-service-drop-off__concerns {
  padding-top: 6.25rem;
  margin-top: 7.5rem;
  background-color: #eaf0f3;
}
@media screen and (max-width: 768px) {
  .sub-service-drop-off__concerns {
    padding-top: 4.0625rem;
    margin-top: 4.375rem;
  }
}

.sub-service-drop-off__concern-list {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 2.8125rem;
  max-width: 68.75rem;
}
@media screen and (max-width: 768px) {
  .sub-service-drop-off__concern-list {
    grid-template-columns: 1fr;
    gap: 2.375rem;
  }
}

.sub-service-drop-off__concern-item {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.sub-service-drop-off__concern-item .sub-service-detail__concern-icon {
  width: 13.75rem;
}
@media screen and (max-width: 768px) {
  .sub-service-drop-off__concern-item .sub-service-detail__concern-icon {
    width: 9.6875rem;
  }
}

.sub-service-drop-off__concern-item:first-child .sub-service-detail__concern-icon img,
.sub-service-drop-off__concern-item:last-child .sub-service-detail__concern-icon img {
  width: 7.1875rem;
}
@media screen and (max-width: 768px) {
  .sub-service-drop-off__concern-item:first-child .sub-service-detail__concern-icon img,
  .sub-service-drop-off__concern-item:last-child .sub-service-detail__concern-icon img {
    width: 4.75rem;
  }
}

.sub-service-drop-off__concern-item:nth-child(2) .sub-service-detail__concern-icon img {
  width: 8.6875rem;
}
@media screen and (max-width: 768px) {
  .sub-service-drop-off__concern-item:nth-child(2) .sub-service-detail__concern-icon img {
    width: 5.625rem;
  }
}

.sub-service-drop-off__concern-item:nth-child(3) .sub-service-detail__concern-icon img {
  width: 5.875rem;
}
@media screen and (max-width: 768px) {
  .sub-service-drop-off__concern-item:nth-child(3) .sub-service-detail__concern-icon img {
    width: 3.8125rem;
  }
}

.sub-service-drop-off__concern-item .sub-service-detail__concern-text {
  width: max-content;
  text-align: center;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .sub-service-drop-off__concern-item .sub-service-detail__concern-text {
    width: auto;
    white-space: normal;
  }
}

.sub-service-drop-off__concerns .sub-service-detail__solution-text {
  text-align: center;
}

.sub-service-drop-off__features {
  padding-top: 8.75rem;
  padding-bottom: 10rem;
  background-color: #eaf0f3;
}
@media screen and (max-width: 768px) {
  .sub-service-drop-off__features {
    padding-top: 4.6875rem;
    padding-bottom: 5rem;
  }
}

.sub-service-drop-off__feature-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 4.875rem;
  row-gap: 0;
}
@media screen and (max-width: 768px) {
  .sub-service-drop-off__feature-list {
    grid-template-columns: 1fr;
    gap: 3.75rem;
  }
}

.sub-service-drop-off__feature-item {
  display: grid;
  grid-row: span 6;
  grid-template-rows: subgrid;
}
@media screen and (max-width: 768px) {
  .sub-service-drop-off__feature-item {
    display: block;
    grid-row: auto;
  }
}

.sub-service-drop-off__feature-item::after {
  display: block;
  height: 3.3125rem;
  content: "";
}
@media screen and (max-width: 768px) {
  .sub-service-drop-off__feature-item::after {
    display: none;
  }
}

.sub-service-drop-off__feature-item:nth-last-child(-n+2)::after {
  height: 0;
}

.sub-service-drop-off__feature-label {
  color: #1c499e;
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 0.75rem;
  line-height: 1.5;
  letter-spacing: 0.2em;
  font-weight: 500;
}

.sub-service-drop-off__feature-number {
  margin-top: 0.5rem;
  color: #1c499e;
  font-family: "Jost", sans-serif;
  font-size: 4rem;
  line-height: 1.125;
  letter-spacing: 0em;
  font-weight: 600;
}
@media screen and (max-width: 768px) {
  .sub-service-drop-off__feature-number {
    font-size: 3.125rem;
    line-height: 1.08;
    letter-spacing: 0em;
    font-weight: 600;
  }
}

.sub-service-drop-off__feature-image {
  width: 100%;
  margin-top: 1.25rem;
  aspect-ratio: 500/300;
  border-radius: 1.25rem;
  object-fit: cover;
}
@media screen and (max-width: 768px) {
  .sub-service-drop-off__feature-image {
    margin-top: 0.875rem;
    border-radius: 0.75rem;
  }
}

.sub-service-drop-off__feature-title {
  margin-top: 2.1875rem;
  text-align: center;
  font-size: 2rem;
  line-height: 1.3125;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-service-drop-off__feature-title {
    margin-top: 1.5625rem;
    font-size: 1.3125rem;
    line-height: 1.5238095238;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

.sub-service-drop-off__feature-text {
  margin-top: 1.875rem;
  font-size: 1rem;
  line-height: 2;
  letter-spacing: -0.02em;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .sub-service-drop-off__feature-text {
    margin-top: 1.25rem;
    font-size: 0.875rem;
    line-height: 1.9285714286;
    letter-spacing: -0.02em;
    font-weight: 400;
  }
}

.sub-service-drop-off__access {
  padding-top: 6.875rem;
  padding-bottom: 8.75rem;
  background-color: #1c499e;
  background-image: radial-gradient(circle at 50% 50%, rgba(255, 255, 255, 0.021) 0, rgba(255, 255, 255, 0.009) 0.09375rem, transparent 0.25rem), linear-gradient(to bottom, transparent calc(50% - 0.1875rem), rgba(255, 255, 255, 0.005) calc(50% - 0.125rem), rgba(255, 255, 255, 0.014) 50%, rgba(255, 255, 255, 0.005) calc(50% + 0.125rem), transparent calc(50% + 0.1875rem)), linear-gradient(90deg, transparent calc(50% - 0.1875rem), rgba(255, 255, 255, 0.005) calc(50% - 0.125rem), rgba(255, 255, 255, 0.014) 50%, rgba(255, 255, 255, 0.005) calc(50% + 0.125rem), transparent calc(50% + 0.1875rem));
  background-size: 1.125rem 1.125rem;
}
@media screen and (max-width: 768px) {
  .sub-service-drop-off__access {
    padding-top: 4.375rem;
    padding-bottom: 4.6875rem;
  }
}

.sub-service-drop-off__access-heading {
  color: #ffffff;
}

.sub-service-drop-off__access-title {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 5.25rem;
  line-height: 1.0714285714;
  letter-spacing: 0.02em;
  font-weight: 600;
}
@media screen and (max-width: 768px) {
  .sub-service-drop-off__access-title {
    font-size: 2.625rem;
    line-height: 1.1428571429;
    letter-spacing: 0em;
    font-weight: 600;
  }
}

.sub-service-drop-off__access-subtitle {
  margin-top: 0.5rem;
  font-size: 1.5rem;
  line-height: 1.1666666667;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-service-drop-off__access-subtitle {
    font-size: 0.875rem;
    line-height: 1.5714285714;
    letter-spacing: 0.05em;
    font-weight: 700;
  }
}

.sub-service-drop-off__access-lead {
  margin-top: 3.75rem;
  color: #ffffff;
  font-size: 1.25rem;
  line-height: 2;
  letter-spacing: -0.02em;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .sub-service-drop-off__access-lead {
    margin-top: 2.1875rem;
    font-size: 0.875rem;
    line-height: 1.9285714286;
    letter-spacing: -0.02em;
    font-weight: 400;
  }
}

.sub-service-drop-off__factory-list {
  display: grid;
  gap: 6.25rem;
  margin-top: 5rem;
}
@media screen and (max-width: 768px) {
  .sub-service-drop-off__factory-list {
    gap: 4.0625rem;
    margin-top: 3.125rem;
  }
}

.sub-service-drop-off__factory-map {
  width: 100%;
  max-width: 90rem;
  margin-right: auto;
  margin-left: auto;
  aspect-ratio: 1440/480;
  border-radius: 1.25rem;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .sub-service-drop-off__factory-map {
    border-radius: 0.75rem;
  }
}

.sub-service-drop-off__factory-map iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

.sub-service-drop-off__factory-content {
  margin-top: 0;
  display: grid;
  grid-template-columns: minmax(0, 21.6875rem) minmax(0, 1fr);
  gap: 7.4375rem;
  padding-top: 3.75rem;
  color: #ffffff;
}
@media screen and (max-width: 768px) {
  .sub-service-drop-off__factory-content {
    display: block;
    padding-top: 2rem;
  }
}

.sub-service-drop-off__factory-name {
  font-size: 3.375rem;
  line-height: 1.3333333333;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-service-drop-off__factory-name {
    font-size: 1.75rem;
    line-height: 1.3571428571;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

.sub-service-drop-off__factory-name-en {
  margin-top: 0.3125rem;
  font-family: "Jost", sans-serif;
  font-size: 1.5rem;
  line-height: 1.6666666667;
  letter-spacing: 0.02em;
  font-weight: 600;
}
@media screen and (max-width: 768px) {
  .sub-service-drop-off__factory-name-en {
    font-size: 0.9375rem;
    line-height: 1.4666666667;
    letter-spacing: 0.02em;
    font-weight: 600;
  }
}

.sub-service-drop-off__factory-address {
  margin-top: 2.8125rem;
  font-size: 1rem;
  line-height: 2;
  letter-spacing: 0em;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .sub-service-drop-off__factory-address {
    margin-top: 1.5625rem;
    font-size: 0.8125rem;
    line-height: 1.8461538462;
    letter-spacing: 0em;
    font-weight: 400;
  }
}

.sub-service-drop-off__factory-address a {
  text-decoration: underline;
  text-underline-offset: 0.5rem;
  transition: opacity 0.3s ease;
}

@media (hover: hover) {
  .sub-service-drop-off__factory-address a:hover {
    opacity: 0.65;
  }
}

@media screen and (max-width: 768px) {
  .sub-service-drop-off__factory-detail {
    margin-top: 2.1875rem;
  }
}

.sub-service-drop-off__factory-description {
  font-size: 1.25rem;
  line-height: 2;
  letter-spacing: -0.02em;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .sub-service-drop-off__factory-description {
    font-size: 0.875rem;
    line-height: 1.9285714286;
    letter-spacing: -0.02em;
    font-weight: 400;
  }
}

.sub-service-drop-off__factory-hours-title {
  margin-top: 2.1875rem;
  font-size: 1.5rem;
  line-height: 1.75;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-service-drop-off__factory-hours-title {
    margin-top: 1.75rem;
    font-size: 1.125rem;
    line-height: 1.5555555556;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

.sub-service-drop-off__factory-hours {
  margin-top: 0.9375rem;
  font-size: 1rem;
  line-height: 2;
  letter-spacing: 0em;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .sub-service-drop-off__factory-hours {
    font-size: 0.8125rem;
    line-height: 1.8461538462;
    letter-spacing: 0em;
    font-weight: 400;
  }
}

.sub-service-drop-off__factory-button {
  margin-top: 2.8125rem;
}
@media screen and (max-width: 768px) {
  .sub-service-drop-off__factory-button {
    min-height: 4rem;
    padding-left: 1.5625rem;
    margin-top: 2rem;
    font-size: 0.9375rem;
    line-height: 1.4666666667;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

@media screen and (max-width: 768px) {
  .sub-service-drop-off__factory-button-icon {
    width: 2.625rem;
    height: 2.625rem;
  }
}

.sub-service-drop-off__disposal-site {
  padding: 3.75rem 3.4375rem 5rem;
  margin-top: 6.875rem;
  border-radius: 1.875rem;
  background-color: #143572;
  color: #ffffff;
}
@media screen and (max-width: 768px) {
  .sub-service-drop-off__disposal-site {
    padding: 2rem 1.25rem;
    margin-top: 4.375rem;
    border-radius: 1.125rem;
  }
}

.sub-service-drop-off__disposal-site-title {
  font-size: 2.625rem;
  line-height: 1.5238095238;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-service-drop-off__disposal-site-title {
    font-size: 1.375rem;
    line-height: 1.4545454545;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

.sub-service-drop-off__disposal-site-images {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2.5rem;
  margin-top: 2.8125rem;
}
@media screen and (max-width: 768px) {
  .sub-service-drop-off__disposal-site-images {
    grid-template-columns: 1fr;
    gap: 1.125rem;
    margin-top: 1.875rem;
  }
}

.sub-service-drop-off__disposal-site-images img {
  width: 100%;
  aspect-ratio: 520/335;
  border-radius: 1.25rem;
  object-fit: cover;
}
@media screen and (max-width: 768px) {
  .sub-service-drop-off__disposal-site-images img {
    border-radius: 0.75rem;
  }
}

.sub-service-drop-off__disposal-site-address {
  margin-top: 2.1875rem;
  font-size: 1rem;
  line-height: 2;
  letter-spacing: 0em;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .sub-service-drop-off__disposal-site-address {
    margin-top: 1.5625rem;
    font-size: 0.875rem;
    line-height: 1.9285714286;
    letter-spacing: -0.02em;
    font-weight: 400;
  }
}

.sub-service-drop-off__disposal-site-text {
  margin-top: 1.75rem;
  font-size: 1rem;
  line-height: 2;
  letter-spacing: 0em;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .sub-service-drop-off__disposal-site-text {
    margin-top: 1.375rem;
    font-size: 0.875rem;
    line-height: 1.9285714286;
    letter-spacing: -0.02em;
    font-weight: 400;
  }
}

.sub-service-drop-off__compatible {
  padding-top: 9.375rem;
  background-color: #eaf0f3;
}
@media screen and (max-width: 768px) {
  .sub-service-drop-off__compatible {
    padding-top: 4.6875rem;
  }
}

.sub-service-drop-off__compatible-description {
  margin-top: 3.75rem;
  color: #1c499e;
  font-size: 1.25rem;
  line-height: 1.7;
  letter-spacing: -0.02em;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .sub-service-drop-off__compatible-description {
    margin-top: 1.875rem;
    font-size: 0.875rem;
    line-height: 1.9285714286;
    letter-spacing: -0.02em;
    font-weight: 500;
  }
}

.sub-service-drop-off__compatible-groups {
  margin-top: 4.0625rem;
}
@media screen and (max-width: 768px) {
  .sub-service-drop-off__compatible-groups {
    margin-top: 2.625rem;
  }
}

.sub-service-drop-off__compatible .sub-service-detail__table th,
.sub-service-drop-off__compatible .sub-service-detail__table td {
  padding-right: 2.375rem;
  padding-left: 2.375rem;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .sub-service-drop-off__compatible .sub-service-detail__table th,
  .sub-service-drop-off__compatible .sub-service-detail__table td {
    padding-right: 1.25rem;
    padding-left: 1.25rem;
  }
}

.sub-service-drop-off__compatible .sub-service-detail__table thead th {
  text-align: center;
}

.sub-service-drop-off__compatible .sub-service-detail__table tbody td {
  font-size: 1.125rem;
  line-height: 1.6666666667;
  letter-spacing: 0em;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .sub-service-drop-off__compatible .sub-service-detail__table tbody td {
    font-size: 0.875rem;
    line-height: 1.5714285714;
    letter-spacing: 0em;
    font-weight: 400;
  }
}

.sub-service-drop-off__sales-table th,
.sub-service-drop-off__sales-table td,
.sub-service-drop-off__price-table th,
.sub-service-drop-off__price-table td {
  width: 33.333%;
  text-align: center;
}

.sub-service-drop-off__sales-table tbody td:nth-child(2) {
  font-size: 1.5rem;
  line-height: 1.3333333333;
  letter-spacing: 0em;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .sub-service-drop-off__sales-table tbody td:nth-child(2) {
    font-size: 1rem;
    line-height: 1.5;
    letter-spacing: 0em;
    font-weight: 400;
  }
}

.sub-service-drop-off__price-table tbody td {
  font-size: 1.125rem;
  line-height: 1.6666666667;
  letter-spacing: 0em;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .sub-service-drop-off__price-table tbody td {
    font-size: 0.875rem;
    line-height: 1.5714285714;
    letter-spacing: 0em;
    font-weight: 400;
  }
}

.sub-service-drop-off__price {
  margin-top: 0;
}

.sub-service-drop-off__price .sub-service-detail__band-title {
  justify-items: start;
  text-align: left;
}

.sub-service-drop-off__flow + .site-contact-section {
  padding-top: 8.75rem;
  background-color: #ffffff;
}
@media screen and (max-width: 768px) {
  .sub-service-drop-off__flow + .site-contact-section {
    padding-top: 4.6875rem;
  }
}

.sub-about {
  background-color: #ffffff;
}

@media screen and (max-width: 768px) {
  .sub-about__fv-image img {
    object-position: 48% center;
  }
}

.sub-about__introduction {
  margin-top: 7.5rem;
}
@media screen and (max-width: 768px) {
  .sub-about__introduction {
    margin-top: 4.375rem;
  }
}

.sub-about__introduction-inner {
  display: grid;
  align-items: start;
  grid-template-columns: auto minmax(0, 1.1fr);
  gap: 5.625rem;
}
@media screen and (max-width: 768px) {
  .sub-about__introduction-inner {
    display: block;
  }
}

.sub-about__introduction-title {
  font-size: 4.5rem;
}
@media screen and (max-width: 768px) {
  .sub-about__introduction-title {
    font-size: 1.75rem;
    line-height: 1.5;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

.sub-about__introduction-subtitle {
  margin-top: 1.875rem;
  color: #1c499e;
}
@media screen and (max-width: 768px) {
  .sub-about__introduction-subtitle {
    margin-top: 0.75rem;
  }
}

.sub-about__introduction-text {
  font-size: 1.25rem;
  line-height: 2;
  letter-spacing: -0.02em;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .sub-about__introduction-text {
    font-size: 0.9375rem;
    line-height: 1.9333333333;
    letter-spacing: -0.02em;
    font-weight: 400;
  }
}

@media screen and (max-width: 768px) {
  .sub-about__introduction-texts {
    margin-top: 2.375rem;
  }
}

.sub-about__introduction-text + .sub-about__introduction-text {
  margin-top: 2.5rem;
}
@media screen and (max-width: 768px) {
  .sub-about__introduction-text + .sub-about__introduction-text {
    margin-top: 1.5625rem;
  }
}

.sub-about__message {
  margin-top: 8.75rem;
}
@media screen and (max-width: 768px) {
  .sub-about__message {
    margin-top: 4.375rem;
  }
}

.sub-about__message-texts {
  margin-top: 6.875rem;
}
@media screen and (max-width: 768px) {
  .sub-about__message-texts {
    margin-top: 2.375rem;
  }
}

.sub-about__message-text {
  font-size: 1.25rem;
  line-height: 2;
  letter-spacing: -0.02em;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .sub-about__message-text {
    font-size: 0.9375rem;
    line-height: 1.9333333333;
    letter-spacing: -0.02em;
    font-weight: 400;
  }
}

.sub-about__message-text + .sub-about__message-text {
  margin-top: 2.625rem;
}
@media screen and (max-width: 768px) {
  .sub-about__message-text + .sub-about__message-text {
    margin-top: 1.5625rem;
  }
}

.sub-about__representative {
  margin-top: 9.0625rem;
}
@media screen and (max-width: 768px) {
  .sub-about__representative {
    margin-top: 4.375rem;
  }
}

.sub-about__representative-inner {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: 100%;
  max-width: 90rem;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 768px) {
  .sub-about__representative-inner {
    display: block;
  }
}

.sub-about__representative-image {
  overflow: hidden;
  border-radius: 0 1.875rem 1.875rem 0;
}
@media screen and (min-width: 1441px) {
  .sub-about__representative-image {
    border-radius: 1.875rem;
  }
}
@media screen and (max-width: 768px) {
  .sub-about__representative-image {
    width: calc(100% - 1.875rem);
    max-width: 29.375rem;
    margin-right: auto;
    margin-left: auto;
    border-radius: 0.75rem;
  }
}

.sub-about__representative-image img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
}

.sub-about__representative-content {
  width: 100%;
  max-width: 35.9375rem;
  padding-left: 5.625rem;
  margin-top: 3.75rem;
}
@media screen and (max-width: 768px) {
  .sub-about__representative-content {
    max-width: 500px;
    padding-right: 0.9375rem;
    padding-left: 0.9375rem;
    margin-right: auto;
    margin-left: auto;
    margin-top: 2.8125rem;
  }
}

.sub-about__representative-position {
  font-size: 1rem;
  line-height: 1.875;
  letter-spacing: 0em;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .sub-about__representative-position {
    font-size: 0.875rem;
    line-height: 1.7142857143;
    letter-spacing: 0em;
    font-weight: 400;
  }
}

.sub-about__representative-name {
  margin-top: 1.125rem;
  font-size: 2.625rem;
  line-height: 1.4285714286;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-about__representative-name {
    margin-top: 0.625rem;
    font-size: 1.875rem;
    line-height: 1.4;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

.sub-about__representative-profile-title {
  margin-top: 4.5rem;
  font-size: 1.5rem;
  line-height: 1.6666666667;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-about__representative-profile-title {
    margin-top: 2.625rem;
    font-size: 1.25rem;
    line-height: 1.5;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

.sub-about__representative-profile {
  margin-top: 2.375rem;
}
@media screen and (max-width: 768px) {
  .sub-about__representative-profile {
    margin-top: 1.5625rem;
  }
}

.sub-about__representative-profile-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.75rem;
  font-size: 1rem;
  line-height: 1.875;
  letter-spacing: 0em;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .sub-about__representative-profile-row {
    grid-template-columns: 3.875rem minmax(0, 1fr);
    gap: 0.5rem;
    font-size: 0.875rem;
    line-height: 1.7857142857;
    letter-spacing: 0em;
    font-weight: 400;
  }
}

.sub-about__representative-profile-row + .sub-about__representative-profile-row {
  margin-top: 0.5rem;
}

.sub-about__principles {
  position: relative;
  margin-top: 7.3125rem;
  color: #ffffff;
  background-color: #1c499e;
  background-image: radial-gradient(circle at 50% 50%, rgba(255, 255, 255, 0.021) 0, rgba(255, 255, 255, 0.009) 0.09375rem, transparent 0.25rem), linear-gradient(to bottom, transparent calc(50% - 0.1875rem), rgba(255, 255, 255, 0.005) calc(50% - 0.125rem), rgba(255, 255, 255, 0.014) 50%, rgba(255, 255, 255, 0.005) calc(50% + 0.125rem), transparent calc(50% + 0.1875rem)), linear-gradient(90deg, transparent calc(50% - 0.1875rem), rgba(255, 255, 255, 0.005) calc(50% - 0.125rem), rgba(255, 255, 255, 0.014) 50%, rgba(255, 255, 255, 0.005) calc(50% + 0.125rem), transparent calc(50% + 0.1875rem));
  background-size: 1.125rem 1.125rem;
}
@media screen and (max-width: 768px) {
  .sub-about__principles {
    margin-top: 4.375rem;
  }
}

.sub-about__principles::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  width: 100%;
  height: 20.8333333333vw;
  background-color: #ffffff;
  pointer-events: none;
}

.sub-about__principle {
  position: relative;
  z-index: 1;
}

.sub-about__principle + .sub-about__principle {
  margin-top: 6.25rem;
}
@media screen and (max-width: 768px) {
  .sub-about__principle + .sub-about__principle {
    margin-top: 4.6875rem;
  }
}

.sub-about__principle-image {
  width: 100vw;
  overflow: hidden;
  border-radius: 1.875rem;
}
@media screen and (max-width: 768px) {
  .sub-about__principle-image {
    border-radius: 0.75rem;
  }
}

.sub-about__principle-image img {
  width: 100%;
  aspect-ratio: 1440/640;
  object-fit: cover;
}
@media screen and (max-width: 768px) {
  .sub-about__principle-image img {
    aspect-ratio: 5/3;
  }
}

.sub-about__principle-inner {
  display: grid;
  align-items: start;
  grid-template-columns: auto minmax(0, 42.8125rem);
  gap: 3.125rem;
  margin-top: 6.25rem;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .sub-about__principle-inner {
    display: block;
    margin-top: 3.125rem;
  }
}

.sub-about__principle-title {
  line-height: 1;
  font-size: 5.3125rem;
}
@media screen and (max-width: 768px) {
  .sub-about__principle-title {
    font-size: 2.625rem;
    line-height: 1.1428571429;
    letter-spacing: 0em;
    font-weight: 600;
  }
}

.sub-about__principle-subtitle {
  margin-top: 0.875rem;
}
@media screen and (max-width: 768px) {
  .sub-about__principle-subtitle {
    margin-top: 0.4375rem;
  }
}

@media screen and (max-width: 768px) {
  .sub-about__principle-content {
    margin-top: 2.625rem;
  }
}

.sub-about__principle-lead {
  font-size: 2.625rem;
  line-height: 1.1904761905;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-about__principle-lead {
    font-size: 1.4375rem;
    line-height: 1.5652173913;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

.sub-about__principle-lead--value {
  font-size: 1.5rem;
  line-height: 1.75;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-about__principle-lead--value {
    font-size: 1.0625rem;
    line-height: 1.7058823529;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

.sub-about__principle-text {
  margin-top: 4.0625rem;
  font-size: 1.25rem;
  line-height: 2;
  letter-spacing: -0.02em;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .sub-about__principle-text {
    margin-top: 1.875rem;
    font-size: 0.9375rem;
    line-height: 1.9333333333;
    letter-spacing: -0.02em;
    font-weight: 400;
  }
}

.sub-about__contact {
  position: relative;
  padding-top: 6.9375rem;
  background-color: #1c499e;
  background-image: radial-gradient(circle at 50% 50%, rgba(255, 255, 255, 0.021) 0, rgba(255, 255, 255, 0.009) 0.09375rem, transparent 0.25rem), linear-gradient(to bottom, transparent calc(50% - 0.1875rem), rgba(255, 255, 255, 0.005) calc(50% - 0.125rem), rgba(255, 255, 255, 0.014) 50%, rgba(255, 255, 255, 0.005) calc(50% + 0.125rem), transparent calc(50% + 0.1875rem)), linear-gradient(90deg, transparent calc(50% - 0.1875rem), rgba(255, 255, 255, 0.005) calc(50% - 0.125rem), rgba(255, 255, 255, 0.014) 50%, rgba(255, 255, 255, 0.005) calc(50% + 0.125rem), transparent calc(50% + 0.1875rem));
  background-size: 1.125rem 1.125rem;
}
@media screen and (max-width: 768px) {
  .sub-about__contact {
    padding-top: 4.6875rem;
  }
}

.sub-about__contact::after {
  content: "";
  position: absolute;
  z-index: 0;
  right: 0;
  bottom: 0;
  left: 0;
  height: 1.25rem;
  background-color: #ffffff;
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .sub-about__contact::after {
    height: 0.75rem;
  }
}

.sub-about__contact .site-contact {
  z-index: 1;
}

.sub-company {
  background-color: #ffffff;
}

@media screen and (max-width: 768px) {
  .sub-company__fv-image img {
    object-position: 58% center;
  }
}

.sub-company__fv-subtitle {
  margin-top: 0.875rem;
}

.sub-company__history {
  margin-top: 8.125rem;
}
@media screen and (max-width: 768px) {
  .sub-company__history {
    margin-top: 5rem;
  }
}

.sub-company__history-header {
  display: grid;
  align-items: start;
  grid-template-columns: auto minmax(0, 1.25fr);
  gap: 9.375rem;
}
@media screen and (max-width: 768px) {
  .sub-company__history-header {
    display: block;
  }
}

.sub-company__history-heading {
  color: #1c499e;
}

.sub-company__history-title {
  line-height: 1;
}

.sub-company__history-subtitle {
  margin-top: 0.875rem;
}

.sub-company__history-lead {
  font-size: 1rem;
  line-height: 2;
  letter-spacing: -0.02em;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .sub-company__history-lead {
    margin-top: 2.375rem;
    font-size: 0.9375rem;
    line-height: 1.9333333333;
    letter-spacing: -0.02em;
    font-weight: 400;
  }
}

.sub-company__history-slider-shell {
  position: relative;
  margin-top: 4.6875rem;
}
@media screen and (max-width: 768px) {
  .sub-company__history-slider-shell {
    margin-top: 3rem;
  }
}

.sub-company__history-slider {
  width: calc(100% + max(1.5625rem, (100vw - 75rem) / 2));
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .sub-company__history-slider {
    width: calc(100% + 0.9375rem + max(0px, (100vw - 31.25rem) / 2));
  }
}

.sub-company__history-card {
  display: flex;
  flex-direction: column;
  width: 24.125rem;
  height: auto;
  min-height: 36.25rem;
  padding: 2.5rem 2.5rem 2.1875rem;
  border-radius: 1.875rem;
  background-color: #eaf0f3;
}
@media screen and (max-width: 768px) {
  .sub-company__history-card {
    width: min(100vw - 4.0625rem, 20.625rem);
    min-height: 28.125rem;
    padding: 1.875rem 1.5rem 1.5rem;
    border-radius: 1.125rem;
  }
}

.sub-company__history-year {
  color: #1c499e;
  font-family: "Jost", sans-serif;
  font-size: 4rem;
  line-height: 1.09375;
  letter-spacing: 0.02em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-company__history-year {
    font-size: 3rem;
    line-height: 1.125;
    letter-spacing: 0.02em;
    font-weight: 700;
  }
}

.sub-company__history-text {
  margin-top: 1.875rem;
  font-size: 1rem;
  line-height: 2;
  letter-spacing: -0.02em;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .sub-company__history-text {
    margin-top: 1.375rem;
    font-size: 0.9375rem;
    line-height: 1.8666666667;
    letter-spacing: -0.02em;
    font-weight: 400;
  }
}

.sub-company__history-image {
  width: 12.5rem;
  aspect-ratio: 1;
  margin-top: auto;
  margin-right: auto;
  margin-left: auto;
  border-radius: 50%;
  object-fit: cover;
}
@media screen and (max-width: 768px) {
  .sub-company__history-image {
    width: 9.375rem;
  }
}

.sub-company__history-navigation {
  position: absolute;
  z-index: 3;
  top: 50%;
  display: grid;
  place-items: center;
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  background-color: #a6a6a6;
  transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .sub-company__history-navigation {
    width: 2.625rem;
    height: 2.625rem;
  }
}

.sub-company__history-navigation img {
  width: 1.125rem;
}
@media screen and (max-width: 768px) {
  .sub-company__history-navigation img {
    width: 0.75rem;
  }
}

.sub-company__history-navigation--prev {
  left: 1.5625rem;
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 1280px) {
  .sub-company__history-navigation--prev {
    left: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .sub-company__history-navigation--prev {
    left: 1.3125rem;
  }
}

.sub-company__history-navigation--prev img {
  transform: rotate(180deg);
}

.sub-company__history-navigation--next {
  left: 77.0625rem;
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 1280px) {
  .sub-company__history-navigation--next {
    right: 2.5rem;
    left: auto;
    transform: translate(50%, -50%);
  }
}
@media screen and (max-width: 768px) {
  .sub-company__history-navigation--next {
    right: auto;
    left: calc(0.9375rem + min(100vw - 4.0625rem, 20.625rem) + 0.375rem);
    transform: translate(-50%, -50%);
  }
}

@media (hover: hover) {
  .sub-company__history-navigation:hover {
    background-color: #1c499e;
  }
}

.sub-company__history-navigation.swiper-button-disabled {
  opacity: 0.45;
  pointer-events: none;
}

.sub-company__data {
  margin-top: 9.6875rem;
}
@media screen and (max-width: 768px) {
  .sub-company__data {
    margin-top: 5.3125rem;
  }
}

.sub-company__section-heading {
  color: #1c499e;
}

.sub-company__section-heading--white {
  color: #ffffff;
}

.sub-company__section-subtitle {
  margin-top: 0.875rem;
}
@media screen and (max-width: 768px) {
  .sub-company__section-subtitle {
    margin-top: 0.5rem;
  }
}

.sub-company__data-list {
  margin-top: 7.8125rem;
}
@media screen and (max-width: 768px) {
  .sub-company__data-list {
    margin-top: 3.125rem;
  }
}

.sub-company__data-row {
  display: grid;
  grid-template-columns: 15.625rem minmax(0, 1fr);
  gap: 2.125rem;
  padding: 1.9375rem 0;
  border-bottom: 0.0625rem solid rgba(0, 0, 0, 0.16);
}
@media screen and (max-width: 768px) {
  .sub-company__data-row {
    display: block;
    padding: 1.5rem 0;
  }
}

.sub-company__data-term {
  font-size: 1rem;
  line-height: 2;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-company__data-term {
    font-size: 0.9375rem;
    line-height: 1.6666666667;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

.sub-company__data-description {
  min-width: 0;
  font-size: 1.125rem;
  line-height: 1.7777777778;
  letter-spacing: 0em;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .sub-company__data-description {
    margin-top: 0.625rem;
    font-size: 0.9375rem;
    line-height: 1.8;
    letter-spacing: 0em;
    font-weight: 400;
  }
}

.sub-company__data-line {
  margin-top: 0.75rem;
}
@media screen and (max-width: 768px) {
  .sub-company__data-line {
    margin-top: 0.5rem;
  }
}

.sub-company__data-lines {
  display: grid;
  gap: 0.75rem;
}
@media screen and (max-width: 768px) {
  .sub-company__data-lines {
    gap: 0.5rem;
  }
}

.sub-company__data-area-label {
  margin-top: 3rem;
}
@media screen and (max-width: 768px) {
  .sub-company__data-area-label {
    margin-top: 1.75rem;
  }
}

.sub-company__data-area-note {
  margin-top: 3rem;
}
@media screen and (max-width: 768px) {
  .sub-company__data-area-note {
    margin-top: 1.75rem;
  }
}

.sub-company__map-link {
  color: #1c499e;
  text-decoration: underline;
  text-decoration-thickness: 0.0625rem;
  text-underline-offset: 0.5625rem;
  transition: opacity 0.3s ease;
}

@media (hover: hover) {
  .sub-company__map-link:hover {
    opacity: 0.6;
  }
}

.sub-company__access {
  margin-top: 8.75rem;
  padding: 7.8125rem 0 10.3125rem;
  color: #ffffff;
  background-color: #1c499e;
  background-image: radial-gradient(circle at 50% 50%, rgba(255, 255, 255, 0.021) 0, rgba(255, 255, 255, 0.009) 0.09375rem, transparent 0.25rem), linear-gradient(to bottom, transparent calc(50% - 0.1875rem), rgba(255, 255, 255, 0.005) calc(50% - 0.125rem), rgba(255, 255, 255, 0.014) 50%, rgba(255, 255, 255, 0.005) calc(50% + 0.125rem), transparent calc(50% + 0.1875rem)), linear-gradient(90deg, transparent calc(50% - 0.1875rem), rgba(255, 255, 255, 0.005) calc(50% - 0.125rem), rgba(255, 255, 255, 0.014) 50%, rgba(255, 255, 255, 0.005) calc(50% + 0.125rem), transparent calc(50% + 0.1875rem));
  background-size: 1.125rem 1.125rem;
}
@media screen and (max-width: 768px) {
  .sub-company__access {
    margin-top: 5rem;
    padding: 4.6875rem 0 5rem;
  }
}

.sub-company__access-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5rem;
  margin-top: 5.3125rem;
}
@media screen and (max-width: 768px) {
  .sub-company__access-list {
    grid-template-columns: minmax(0, 1fr);
    gap: 3.4375rem;
    margin-top: 3rem;
  }
}

.sub-company__access-map {
  width: 100%;
  aspect-ratio: 2/1;
  overflow: hidden;
  border-radius: 0.9375rem;
}
@media screen and (max-width: 768px) {
  .sub-company__access-map {
    aspect-ratio: 16/10;
    border-radius: 0.625rem;
  }
}

.sub-company__access-map iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

.sub-company__access-name {
  margin-top: 2.375rem;
  font-size: 1.5rem;
  line-height: 1.5;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-company__access-name {
    margin-top: 1.375rem;
    font-size: 1.25rem;
    line-height: 1.5;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

.sub-company__access-address {
  margin-top: 1.5rem;
  font-size: 1rem;
  line-height: 2.5;
  letter-spacing: 0em;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .sub-company__access-address {
    margin-top: 0.9375rem;
    font-size: 0.9375rem;
    line-height: 1.8;
    letter-spacing: 0em;
    font-weight: 400;
  }
}

.sub-company__access-tel {
  margin-top: 0.75rem;
  font-size: 1rem;
  line-height: 2.5;
  letter-spacing: 0em;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .sub-company__access-tel {
    margin-top: 0.5rem;
    font-size: 0.9375rem;
    line-height: 1.8;
    letter-spacing: 0em;
    font-weight: 400;
  }
}

.sub-company__map-link--white {
  color: #ffffff;
}

.sub-company__privacy {
  margin-top: 10.125rem;
}
@media screen and (max-width: 768px) {
  .sub-company__privacy {
    margin-top: 5.3125rem;
  }
}

.sub-company__privacy-introduction {
  margin-top: 5.625rem;
  font-size: 1rem;
  line-height: 2;
  letter-spacing: -0.02em;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .sub-company__privacy-introduction {
    margin-top: 3rem;
    font-size: 0.9375rem;
    line-height: 1.9333333333;
    letter-spacing: -0.02em;
    font-weight: 400;
  }
}

.sub-company__privacy-content {
  margin-top: 4.375rem;
  padding-top: 4.375rem;
  border-top: 0.0625rem solid rgba(0, 0, 0, 0.16);
}
@media screen and (max-width: 768px) {
  .sub-company__privacy-content {
    margin-top: 3rem;
    padding-top: 2.8125rem;
  }
}

.sub-company__privacy-block {
  margin-top: 5.625rem;
}
@media screen and (max-width: 768px) {
  .sub-company__privacy-block {
    margin-top: 3.4375rem;
  }
}

.sub-company__privacy-block:first-child {
  margin-top: 0;
}

.sub-company__privacy-heading {
  font-size: 1.5rem;
  line-height: 1.75;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-company__privacy-heading {
    font-size: 1.25rem;
    line-height: 1.55;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

.sub-company__privacy-text {
  margin-top: 2rem;
  font-size: 1rem;
  line-height: 2;
  letter-spacing: -0.02em;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .sub-company__privacy-text {
    margin-top: 1.375rem;
    font-size: 0.9375rem;
    line-height: 1.9333333333;
    letter-spacing: -0.02em;
    font-weight: 400;
  }
}

.sub-company__privacy-list {
  display: grid;
  gap: 0.75rem;
  margin-top: 2rem;
  font-size: 1rem;
  line-height: 2;
  letter-spacing: -0.02em;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .sub-company__privacy-list {
    gap: 0.625rem;
    margin-top: 1.375rem;
    font-size: 0.9375rem;
    line-height: 1.8;
    letter-spacing: 0em;
    font-weight: 400;
  }
}

.sub-company__privacy-list li {
  position: relative;
  padding-left: 1.5rem;
}
@media screen and (max-width: 768px) {
  .sub-company__privacy-list li {
    padding-left: 1.125rem;
  }
}

.sub-company__privacy-list li::before {
  position: absolute;
  top: 0.75rem;
  left: 0;
  width: 0.5625rem;
  height: 0.5625rem;
  border-radius: 50%;
  background-color: #1c499e;
  content: "";
}
@media screen and (max-width: 768px) {
  .sub-company__privacy-list li::before {
    top: 0.625rem;
    width: 0.375rem;
    height: 0.375rem;
  }
}

.sub-company__contact {
  margin-top: 11.875rem;
}
@media screen and (max-width: 768px) {
  .sub-company__contact {
    margin-top: 5.3125rem;
  }
}

.sub-recruit {
  background-color: #ffffff;
}

@media screen and (max-width: 768px) {
  .sub-recruit__fv-image img {
    object-position: 56% center;
  }
}

.sub-recruit__fv-heading {
  bottom: 6.75rem;
  max-width: calc(100% - 13.75rem);
}
@media screen and (max-width: 768px) {
  .sub-recruit__fv-heading {
    bottom: 2.8125rem;
    max-width: calc(100% - 1.875rem);
  }
}

.sub-recruit__fv-title {
  font-size: 3.375rem;
  line-height: 1.3333333333;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-recruit__fv-title {
    font-size: 1.6875rem;
    line-height: 1.5555555556;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

.sub-recruit__fv-copy {
  margin-top: 1.25rem;
  font-family: "Jost", sans-serif;
  font-size: 1.5rem;
  line-height: 0.8333333333;
  letter-spacing: 0em;
  font-weight: 600;
}
@media screen and (max-width: 768px) {
  .sub-recruit__fv-copy {
    margin-top: 0.625rem;
    font-size: 0.8125rem;
    line-height: 1.5384615385;
    letter-spacing: 0em;
    font-weight: 500;
  }
}

.sub-recruit__breadcrumb {
  z-index: 2;
}

.sub-recruit__gallery {
  width: 100vw;
  margin-top: 3.75rem;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 768px) {
  .sub-recruit__gallery {
    margin-top: 3.125rem;
  }
}

.sub-recruit__gallery > .sub-recruit__gallery-track {
  display: flex;
  align-items: flex-start;
  gap: 2.5rem;
  width: max-content;
  padding-left: 0;
}
@media screen and (max-width: 768px) {
  .sub-recruit__gallery > .sub-recruit__gallery-track {
    gap: 0.875rem;
    padding-left: 0;
  }
}

.sub-recruit__gallery-item {
  flex: none;
  overflow: hidden;
  border-radius: 1.25rem;
}

.sub-recruit__gallery-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.sub-recruit__gallery-item--01 {
  width: 33.75rem;
  aspect-ratio: 540/360;
}
@media screen and (max-width: 768px) {
  .sub-recruit__gallery-item--01 {
    width: min(64vw, 15rem);
  }
}

.sub-recruit__gallery-item--02 {
  width: 25rem;
  aspect-ratio: 400/262;
  margin-top: 6.25rem;
}
@media screen and (max-width: 768px) {
  .sub-recruit__gallery-item--02 {
    width: min(70vw, 16.25rem);
    margin-top: 2.75rem;
  }
}

.sub-recruit__gallery-item--03 {
  width: 20rem;
  aspect-ratio: 320/480;
  margin-top: 0.625rem;
}
@media screen and (max-width: 768px) {
  .sub-recruit__gallery-item--03 {
    width: min(56vw, 13.125rem);
    margin-top: 0.875rem;
  }
}

.sub-recruit__gallery-item--04 {
  width: 30rem;
  aspect-ratio: 480/320;
  margin-top: 8.125rem;
}
@media screen and (max-width: 768px) {
  .sub-recruit__gallery-item--04 {
    width: min(72vw, 16.875rem);
    margin-top: 4rem;
  }
}

.sub-recruit__gallery-item--05 {
  width: 37.5rem;
  aspect-ratio: 60/46;
  margin-top: 1.5625rem;
}
@media screen and (max-width: 768px) {
  .sub-recruit__gallery-item--05 {
    width: min(70vw, 16.25rem);
    margin-top: 0.875rem;
  }
}

.sub-recruit__message {
  margin-top: 3.75rem;
  background-color: #ffffff;
}
@media screen and (max-width: 768px) {
  .sub-recruit__message {
    margin-top: 2.8125rem;
  }
}

.sub-recruit__message-inner {
  display: grid;
  grid-template-columns: minmax(0, 39%) minmax(0, 61%);
  width: 100%;
  max-width: 90rem;
  min-height: 80rem;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 768px) {
  .sub-recruit__message-inner {
    display: flex;
    flex-direction: column;
    min-height: 0;
  }
}

.sub-recruit__message-visual {
  padding-left: 2.1875rem;
  display: flex;
  align-items: flex-end;
  min-width: 0;
}

.sub-recruit__message-visual img {
  width: 100%;
  object-fit: contain;
  object-position: left bottom;
}
@media screen and (max-width: 768px) {
  .sub-recruit__message-visual img {
    width: min(60%, 16.875rem);
    max-height: none;
    margin-right: auto;
    margin-left: auto;
  }
}

.sub-recruit__message-content {
  min-width: 0;
  padding: 5.625rem 7.1875rem 8.125rem 3.4375rem;
}
@media screen and (max-width: 768px) {
  .sub-recruit__message-content {
    padding: 3.625rem 0.9375rem 4.375rem;
    max-width: 500px;
    margin-inline: auto;
  }
}

.sub-recruit__message-title {
  color: #1c499e;
}

.sub-recruit__message-text {
  margin-top: 3rem;
}
@media screen and (max-width: 768px) {
  .sub-recruit__message-text {
    margin-top: 2rem;
  }
}

.sub-recruit__message-text p {
  font-size: 1.25rem;
  line-height: 2;
  letter-spacing: -0.02em;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .sub-recruit__message-text p {
    font-size: 0.9375rem;
    line-height: 1.9333333333;
    letter-spacing: -0.02em;
    font-weight: 400;
  }
}

@media screen and (max-width: 768px) {
  .sub-recruit__message-text br {
    display: none;
  }
}

.sub-recruit__message-signature {
  margin-top: 1.875rem;
  text-align: right;
}
@media screen and (max-width: 768px) {
  .sub-recruit__message-signature {
    margin-top: 2rem;
  }
}

.sub-recruit__message-position {
  font-size: 1rem;
  line-height: 1.75;
  letter-spacing: 0em;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .sub-recruit__message-position {
    font-size: 0.875rem;
    line-height: 1.7142857143;
    letter-spacing: 0em;
    font-weight: 400;
  }
}

.sub-recruit__message-name {
  margin-top: 0.125rem;
  font-size: 1.875rem;
  line-height: 1.3333333333;
  letter-spacing: 0em;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .sub-recruit__message-name {
    font-size: 1.5rem;
    line-height: 1.4166666667;
    letter-spacing: 0em;
    font-weight: 400;
  }
}

.sub-recruit__message-links {
  display: flex;
  align-items: flex-start;
  gap: 6.25rem;
  margin-top: 3.4375rem;
}
@media screen and (max-width: 768px) {
  .sub-recruit__message-links {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.875rem;
    margin-top: 3.125rem;
  }
}

.sub-recruit__message-link-title {
  color: #1c499e;
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  font-size: 2rem;
  line-height: 1.25;
  letter-spacing: 0.02em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-recruit__message-link-title {
    font-size: 1.3125rem;
    line-height: 1.4285714286;
    letter-spacing: 0.02em;
    font-weight: 700;
  }
}

.sub-recruit__message-socials {
  display: flex;
  align-items: center;
  gap: 1.4375rem;
  margin-top: 2.3125rem;
}
@media screen and (max-width: 768px) {
  .sub-recruit__message-socials {
    flex-wrap: wrap;
    gap: 1.125rem;
    margin-top: 1.25rem;
  }
}

.sub-recruit__message-social-link {
  display: block;
  width: 1.6875rem;
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 768px) {
  .sub-recruit__message-social-link {
    width: 1.375rem;
  }
}

.sub-recruit__message-social-link:hover {
  opacity: 0.6;
}

.sub-recruit__message-social-link img {
  width: 100%;
}

.sub-recruit__message-media-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 8.3125rem;
  min-height: 2.25rem;
  padding: 0.3125rem 1.25rem;
  margin-top: 1.875rem;
  border: 0.0625rem solid #1c499e;
  border-radius: 1.125rem;
  color: #1c499e;
  transition: color 0.3s ease, background-color 0.3s ease;
  font-size: 0.875rem;
  line-height: 1.5714285714;
  letter-spacing: 0em;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .sub-recruit__message-media-link {
    min-width: 0;
    min-height: 2.125rem;
    padding: 0.3125rem 0.875rem;
    margin-top: 1.125rem;
    font-size: 0.75rem;
    line-height: 1.6666666667;
    letter-spacing: 0em;
    font-weight: 400;
  }
}

.sub-recruit__message-media-link:hover {
  color: #ffffff;
  background-color: #1c499e;
}

.sub-recruit__culture {
  padding-top: 7.5rem;
  padding-bottom: 6.875rem;
  background-color: #eaf0f3;
}
@media screen and (max-width: 768px) {
  .sub-recruit__culture {
    padding-top: 4.6875rem;
    padding-bottom: 5rem;
  }
}

.sub-recruit__culture-heading {
  color: #1c499e;
}

.sub-recruit__culture-title {
  line-height: 1;
  font-size: 5.3125rem;
}
@media screen and (max-width: 768px) {
  .sub-recruit__culture-title {
    font-size: 2.625rem;
    line-height: 1.1428571429;
    letter-spacing: 0em;
    font-weight: 600;
  }
}

.sub-recruit__culture-subtitle {
  margin-top: 0.8125rem;
}

.sub-recruit__culture-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: 1.5625rem;
  row-gap: 2.5rem;
  margin-top: 3.75rem;
}
@media screen and (max-width: 768px) {
  .sub-recruit__culture-list {
    grid-template-columns: 1fr;
    gap: 3.25rem;
    margin-top: 3rem;
  }
}

.sub-recruit__culture-item {
  display: grid;
  grid-template-rows: auto auto 1fr;
  min-width: 0;
}

.sub-recruit__culture-image {
  width: 100%;
  aspect-ratio: 385/240;
  border-radius: 1.25rem;
  object-fit: cover;
}
@media screen and (max-width: 768px) {
  .sub-recruit__culture-image {
    border-radius: 0.75rem;
  }
}

.sub-recruit__culture-item-title {
  margin-top: 1.625rem;
  text-align: center;
  font-size: 1.5rem;
  line-height: 1.5;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-recruit__culture-item-title {
    margin-top: 1.25rem;
    font-size: 1.25rem;
    line-height: 1.5;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

.sub-recruit__culture-text {
  margin-top: 1.375rem;
  font-size: 1rem;
  line-height: 2;
  letter-spacing: 0em;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .sub-recruit__culture-text {
    margin-top: 1rem;
    font-size: 0.9375rem;
    line-height: 1.9333333333;
    letter-spacing: 0em;
    font-weight: 400;
  }
}

.sub-recruit__standard {
  background-color: #1c499e;
}

.sub-recruit__standard-visual-area {
  background-image: linear-gradient(to bottom, #eaf0f3 0, #eaf0f3 calc(100% - 1.875rem), #1c499e calc(100% - 1.875rem), #1c499e 100%);
}
@media screen and (max-width: 768px) {
  .sub-recruit__standard-visual-area {
    background-image: linear-gradient(to bottom, #eaf0f3 0, #eaf0f3 calc(100% - 1.125rem), #1c499e calc(100% - 1.125rem), #1c499e 100%);
  }
}

.sub-recruit__standard-visual {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
}

.sub-recruit__standard-visual img {
  width: 100%;
  aspect-ratio: 1440/640;
  border-radius: 1.875rem;
  object-fit: cover;
}
@media screen and (max-width: 768px) {
  .sub-recruit__standard-visual img {
    aspect-ratio: 5/3;
    border-radius: 1.125rem;
  }
}

.sub-recruit__standard-content {
  padding-top: 7.5rem;
  padding-bottom: 8.125rem;
  color: #ffffff;
  background-color: #1c499e;
  background-image: radial-gradient(circle at 50% 50%, rgba(255, 255, 255, 0.021) 0, rgba(255, 255, 255, 0.009) 0.09375rem, transparent 0.25rem), linear-gradient(to bottom, transparent calc(50% - 0.1875rem), rgba(255, 255, 255, 0.005) calc(50% - 0.125rem), rgba(255, 255, 255, 0.014) 50%, rgba(255, 255, 255, 0.005) calc(50% + 0.125rem), transparent calc(50% + 0.1875rem)), linear-gradient(90deg, transparent calc(50% - 0.1875rem), rgba(255, 255, 255, 0.005) calc(50% - 0.125rem), rgba(255, 255, 255, 0.014) 50%, rgba(255, 255, 255, 0.005) calc(50% + 0.125rem), transparent calc(50% + 0.1875rem));
  background-size: 1.125rem 1.125rem;
}
@media screen and (max-width: 768px) {
  .sub-recruit__standard-content {
    padding-top: 4.0625rem;
    padding-bottom: 5rem;
  }
}

.sub-recruit__standard-header {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 3.125rem;
  align-items: start;
}
@media screen and (max-width: 768px) {
  .sub-recruit__standard-header {
    display: block;
  }
}

.sub-recruit__standard-title {
  color: #ffffff;
  font-size: 5.3125rem;
}
@media screen and (max-width: 768px) {
  .sub-recruit__standard-title {
    font-size: 2.625rem;
    line-height: 1.1428571429;
    letter-spacing: 0em;
    font-weight: 600;
  }
}

.sub-recruit__standard-subtitle {
  margin-top: 0.9375rem;
}

.sub-recruit__standard-introduction {
  padding-top: 0.25rem;
}
@media screen and (max-width: 768px) {
  .sub-recruit__standard-introduction {
    padding-top: 0;
    margin-top: 3rem;
  }
}

.sub-recruit__standard-lead {
  font-size: 2.625rem;
  line-height: 1.1904761905;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-recruit__standard-lead {
    font-size: 1.4375rem;
    line-height: 1.5652173913;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

.sub-recruit__standard-en {
  margin-top: 0.75rem;
  font-family: "Jost", sans-serif;
  font-size: 1.5rem;
  line-height: 1.25;
  letter-spacing: 0.02em;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .sub-recruit__standard-en {
    margin-top: 0.3125rem;
    font-size: 0.9375rem;
    line-height: 1.6;
    letter-spacing: 0em;
    font-weight: 500;
  }
}

.sub-recruit__standard-description {
  margin-top: 2.8125rem;
  font-size: 1.25rem;
  line-height: 2;
  letter-spacing: -0.02em;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .sub-recruit__standard-description {
    margin-top: 1.75rem;
    font-size: 0.9375rem;
    line-height: 1.9333333333;
    letter-spacing: -0.02em;
    font-weight: 400;
  }
}

@media screen and (max-width: 768px) {
  .sub-recruit__standard-description br {
    display: none;
  }
}

.sub-recruit__standard-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 2.75rem;
  row-gap: 2.125rem;
  margin-top: 4.0625rem;
}
@media screen and (max-width: 768px) {
  .sub-recruit__standard-list {
    grid-template-columns: minmax(0, 1fr);
    gap: 1.75rem;
    margin-top: 3.4375rem;
  }
}

.sub-recruit__standard-item {
  display: grid;
  grid-template-columns: 5rem minmax(0, 1fr);
  align-items: start;
  gap: 1.125rem;
}
@media screen and (max-width: 768px) {
  .sub-recruit__standard-item {
    grid-template-columns: 3.25rem minmax(0, 1fr);
    gap: 0.625rem;
  }
}

.sub-recruit__standard-number {
  color: #ffffff;
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
  text-align: center;
}

.sub-recruit__standard-number span {
  display: block;
  font-size: 0.75rem;
  line-height: 1.5;
  letter-spacing: 0.2em;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .sub-recruit__standard-number span {
    font-size: 0.5625rem;
    line-height: 1.6666666667;
    letter-spacing: 0.2em;
    font-weight: 500;
  }
}

.sub-recruit__standard-number strong {
  display: block;
  margin-top: 0.5rem;
  font-size: 3.875rem;
  line-height: 1.0322580645;
  letter-spacing: 0em;
  font-weight: 600;
}
@media screen and (max-width: 768px) {
  .sub-recruit__standard-number strong {
    margin-top: 0.25rem;
    font-size: 2.5rem;
    line-height: 1.1;
    letter-spacing: 0em;
    font-weight: 600;
  }
}

.sub-recruit__standard-card {
  margin: 0;
  min-height: 15.625rem;
  padding: 1.875rem;
  border-radius: 1.25rem;
  color: #000;
  background-color: #ffffff;
  height: 100%;
}
@media screen and (max-width: 768px) {
  .sub-recruit__standard-card {
    min-height: 0;
    padding: 1.5rem 1.25rem;
    border-radius: 0.875rem;
  }
}

.sub-recruit__standard-card-title {
  font-size: 1.5rem;
  line-height: 1.75;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-recruit__standard-card-title {
    font-size: 1.125rem;
    line-height: 1.6666666667;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

.sub-recruit__standard-card-text {
  margin-top: 1.125rem;
  font-size: 1rem;
  line-height: 2;
  letter-spacing: -0.02em;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .sub-recruit__standard-card-text {
    margin-top: 1.0625rem;
    font-size: 0.875rem;
    line-height: 1.9285714286;
    letter-spacing: -0.02em;
    font-weight: 400;
  }
}

@media screen and (max-width: 768px) {
  .sub-recruit__standard-card-title br {
    display: none;
  }
}

.sub-recruit__welfare {
  padding-top: 7.5rem;
  padding-bottom: 8.125rem;
  background-color: #ffffff;
}
@media screen and (max-width: 768px) {
  .sub-recruit__welfare {
    padding-top: 4.6875rem;
    padding-bottom: 5rem;
  }
}

.sub-recruit__welfare-heading {
  color: #1c499e;
}

.sub-recruit__welfare-title {
  line-height: 1;
}

.sub-recruit__welfare-subtitle {
  margin-top: 0.8125rem;
}

.sub-recruit__welfare-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: 1.5625rem;
  row-gap: 3.75rem;
  margin-top: 4.375rem;
}
@media screen and (max-width: 768px) {
  .sub-recruit__welfare-list {
    grid-template-columns: minmax(0, 1fr);
    gap: 3.25rem;
    margin-top: 3rem;
  }
}

.sub-recruit__welfare-image {
  width: 100%;
  aspect-ratio: 16/9;
  border-radius: 1.25rem;
  object-fit: cover;
}
@media screen and (max-width: 768px) {
  .sub-recruit__welfare-image {
    border-radius: 0.75rem;
  }
}

.sub-recruit__welfare-item-title {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding-top: 1.375rem;
  text-align: center;
  font-size: 1.5rem;
  line-height: 1.4166666667;
  letter-spacing: 0em;
  font-weight: 700;
  margin: 0;
}
@media screen and (max-width: 768px) {
  .sub-recruit__welfare-item-title {
    padding-top: 1.125rem;
    font-size: 1.25rem;
    line-height: 1.5;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

.sub-recruit__welfare-text {
  margin-top: 1.4375rem;
  font-size: 1rem;
  line-height: 2;
  letter-spacing: -0.02em;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .sub-recruit__welfare-text {
    margin-top: 0.9375rem;
    font-size: 0.9375rem;
    line-height: 1.9333333333;
    letter-spacing: -0.02em;
    font-weight: 400;
  }
}

.sub-recruit__jobs {
  padding-top: 7.1875rem;
  padding-bottom: 8.75rem;
  color: #ffffff;
  background-color: #1c499e;
  background-image: radial-gradient(circle at 50% 50%, rgba(255, 255, 255, 0.021) 0, rgba(255, 255, 255, 0.009) 0.09375rem, transparent 0.25rem), linear-gradient(to bottom, transparent calc(50% - 0.1875rem), rgba(255, 255, 255, 0.005) calc(50% - 0.125rem), rgba(255, 255, 255, 0.014) 50%, rgba(255, 255, 255, 0.005) calc(50% + 0.125rem), transparent calc(50% + 0.1875rem)), linear-gradient(90deg, transparent calc(50% - 0.1875rem), rgba(255, 255, 255, 0.005) calc(50% - 0.125rem), rgba(255, 255, 255, 0.014) 50%, rgba(255, 255, 255, 0.005) calc(50% + 0.125rem), transparent calc(50% + 0.1875rem));
  background-size: 1.125rem 1.125rem;
  background-color: #4d9cce;
}
@media screen and (max-width: 768px) {
  .sub-recruit__jobs {
    padding-top: 4.6875rem;
    padding-bottom: 5rem;
  }
}

.sub-recruit__jobs-title {
  line-height: 1;
}

.sub-recruit__jobs-subtitle {
  margin-top: 1rem;
}

.sub-recruit__jobs-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.5625rem;
  margin-top: 4.375rem;
}
@media screen and (max-width: 768px) {
  .sub-recruit__jobs-list {
    grid-template-columns: minmax(0, 1fr);
    gap: 3rem;
    margin-top: 3rem;
  }
}

.sub-recruit__jobs-image {
  width: 100%;
  aspect-ratio: 384/240;
  max-height: 15rem;
  border-radius: 1.25rem;
  object-fit: cover;
}
@media screen and (max-width: 768px) {
  .sub-recruit__jobs-image {
    border-radius: 0.75rem;
  }
}

.sub-recruit__jobs-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.5625rem;
  margin-top: 1.875rem;
}
@media screen and (max-width: 768px) {
  .sub-recruit__jobs-meta {
    margin-top: 1.125rem;
  }
}

.sub-recruit__jobs-area {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.875rem;
  line-height: 1.5714285714;
  letter-spacing: 0em;
  font-weight: 700;
}

.sub-recruit__jobs-area img {
  width: 0.75rem;
  height: auto;
}

.sub-recruit__jobs-tag {
  padding: 0.25rem 0.8125rem;
  border-radius: 0.3125rem;
  color: #1c499e;
  background-color: #ffffff;
  font-size: 0.875rem;
  line-height: 1.4285714286;
  letter-spacing: 0em;
  font-weight: 700;
}

.sub-recruit__jobs-card-title {
  margin-top: 1.5625rem;
  font-size: 1.3125rem;
  line-height: 1.7142857143;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-recruit__jobs-card-title {
    margin-top: 1.0625rem;
    font-size: 1rem;
    line-height: 1.8125;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

.sub-recruit__jobs-bottom {
  display: flex;
  justify-content: flex-end;
  margin-top: 4.0625rem;
}
@media screen and (max-width: 768px) {
  .sub-recruit__jobs-bottom {
    justify-content: center;
    margin-top: 3rem;
  }
}

@media screen and (max-width: 768px) {
  .sub-recruit__jobs-button {
    max-width: 17.5rem;
    min-height: 4.25rem;
    padding-right: 0.625rem;
    padding-left: 1.75rem;
    font-size: 1.0625rem;
    line-height: 1.6470588235;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

@media screen and (max-width: 768px) {
  .sub-recruit__jobs-button .site-wide-button__icon {
    width: 2.875rem;
    height: 2.875rem;
  }
}

.sub-recruit__entry {
  position: relative;
  background-color: #1c499e;
  background-image: radial-gradient(circle at 50% 50%, rgba(255, 255, 255, 0.021) 0, rgba(255, 255, 255, 0.009) 0.09375rem, transparent 0.25rem), linear-gradient(to bottom, transparent calc(50% - 0.1875rem), rgba(255, 255, 255, 0.005) calc(50% - 0.125rem), rgba(255, 255, 255, 0.014) 50%, rgba(255, 255, 255, 0.005) calc(50% + 0.125rem), transparent calc(50% + 0.1875rem)), linear-gradient(90deg, transparent calc(50% - 0.1875rem), rgba(255, 255, 255, 0.005) calc(50% - 0.125rem), rgba(255, 255, 255, 0.014) 50%, rgba(255, 255, 255, 0.005) calc(50% + 0.125rem), transparent calc(50% + 0.1875rem));
  background-size: 1.125rem 1.125rem;
  background-color: #4d9cce;
}
.sub-recruit__entry::after {
  content: "";
  position: absolute;
  z-index: 0;
  right: 0;
  bottom: 0;
  left: 0;
  height: 1.25rem;
  background-color: #ffffff;
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .sub-recruit__entry::after {
    height: 0.875rem;
  }
}

.sub-recruit__entry-inner {
  position: relative;
  z-index: 1;
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  overflow: hidden;
  border-radius: 1.25rem;
}
@media screen and (max-width: 768px) {
  .sub-recruit__entry-inner {
    border-radius: 0.875rem;
  }
}

.sub-recruit__entry-background {
  width: 100%;
}

.sub-recruit__entry-background img {
  width: 100%;
  height: clamp(37.5rem, 50vw, 62.5rem);
  object-fit: cover;
}
@media screen and (max-width: 768px) {
  .sub-recruit__entry-background img {
    height: 25rem;
    object-position: 68% center;
  }
}

.sub-recruit__entry-content {
  position: absolute;
  z-index: 2;
  top: 50%;
  left: max(6.875rem, (100vw - 90rem) / 2 + 6.875rem);
  width: min(75rem, 100% - 13.75rem);
  color: #ffffff;
  transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .sub-recruit__entry-content {
    left: 1.5625rem;
    width: calc(100% - 3.125rem);
  }
}

.sub-recruit__entry-title {
  line-height: 1;
}

.sub-recruit__entry-subtitle {
  margin-top: 0.75rem;
}

.sub-recruit__entry-lead {
  margin-top: 4.0625rem;
  font-size: 2.625rem;
  line-height: 1.5238095238;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-recruit__entry-lead {
    margin-top: 2.625rem;
    font-size: 1.4375rem;
    line-height: 1.5652173913;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

.sub-recruit__entry-button {
  margin-top: 3.75rem;
  padding-left: 2.5rem;
  gap: 0.75rem;
}
@media screen and (max-width: 768px) {
  .sub-recruit__entry-button {
    max-width: 17.5rem;
    min-height: 4.25rem;
    padding-right: 0.625rem;
    padding-left: 1.5rem;
    margin-top: 2.5rem;
    font-size: 1rem;
    line-height: 1.625;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

@media screen and (max-width: 768px) {
  .sub-recruit__entry-button .site-wide-button__icon {
    width: 2.875rem;
    height: 2.875rem;
  }
}

.sub-recruit__footer {
  margin-top: 0;
}

.sub-case-study {
  background-color: #ffffff;
}

@media screen and (max-width: 768px) {
  .sub-case-study__fv-image img {
    object-position: 58% center;
  }
}

.sub-case-study__archive {
  margin-top: 3.9375rem;
}
@media screen and (max-width: 768px) {
  .sub-case-study__archive {
    margin-top: 3.125rem;
  }
}

.sub-case-study__cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.3125rem;
}
@media screen and (max-width: 768px) {
  .sub-case-study__cards {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.625rem;
  }
}
@media screen and (min-width: 560px) and (max-width: 768px) {
  .sub-case-study__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.sub-case-study__card {
  display: flex;
  flex-direction: column;
  justify-self: center;
  aspect-ratio: 396/600;
  width: 100%;
  max-width: 24.75rem;
  min-width: 0;
  background-color: #f4f4f4;
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 768px) {
  .sub-case-study__card {
    aspect-ratio: auto;
  }
}

@media (hover: hover) {
  .sub-case-study__card:hover {
    opacity: 0.65;
  }
}

.sub-case-study__card:nth-child(3n+2) {
  background-color: #e7edef;
}

.sub-case-study__card:nth-child(3n) {
  background-color: #d9e7e7;
}

.sub-case-study__card-link {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-width: 0;
  padding: 0.5rem;
  color: inherit;
  text-decoration: none;
}

.sub-case-study__thumbnail {
  overflow: hidden;
}

.sub-case-study__thumbnail img {
  width: 100%;
  aspect-ratio: 380/240;
  max-height: 15rem;
  object-fit: cover;
  transition: transform 0.5s ease;
}

@media (hover: hover) {
  .sub-case-study__card:hover .sub-case-study__thumbnail img {
    transform: scale(1.08);
  }
}

.sub-case-study__card-body {
  margin-top: 0;
  display: flex;
  align-items: flex-start;
  flex: 1;
  flex-direction: column;
  min-width: 0;
  padding: 2.5rem 3.4375rem 4.125rem;
}
@media screen and (max-width: 768px) {
  .sub-case-study__card-body {
    padding: 1.875rem 1.5rem 2rem;
  }
}

.sub-case-study__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.sub-case-study__tag {
  padding: 0.59375rem 1.25rem;
  border-radius: 1.125rem;
  background-color: #1c499e;
  color: #ffffff;
  font-size: 0.875rem;
  line-height: 1.2142857143;
  letter-spacing: 0em;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .sub-case-study__tag {
    padding-right: 0.8125rem;
    padding-left: 0.8125rem;
    font-size: 0.75rem;
    line-height: 1.3333333333;
    letter-spacing: 0em;
    font-weight: 400;
  }
}

.sub-case-study__company {
  margin-top: 1.25rem;
  color: #555;
  font-size: 0.8125rem;
  line-height: 1.5384615385;
  letter-spacing: 0em;
  font-weight: 400;
}

.sub-case-study__card-title {
  display: -webkit-box;
  width: 100%;
  overflow: hidden;
  margin-top: 1.75rem;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  font-size: 1.25rem;
  line-height: 1.5;
  letter-spacing: -0.04em;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .sub-case-study__card-title {
    margin-top: 1.375rem;
    font-size: 1rem;
    line-height: 1.6875;
    letter-spacing: -0.04em;
    font-weight: 500;
  }
}

.sub-case-study__link {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  gap: 0.8125rem;
  width: fit-content;
  margin-top: 2.1875rem;
  padding-bottom: 0.75rem;
  border-bottom: 0.0625rem solid #1c499e;
  color: #1c499e;
  font-size: 1rem;
  line-height: 1;
  letter-spacing: 0em;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .sub-case-study__link {
    gap: 0.5625rem;
    padding-bottom: 0.5625rem;
    font-size: 0.8125rem;
    line-height: 1.3846153846;
    letter-spacing: 0em;
    font-weight: 500;
  }
}

.sub-case-study__link-icon {
  width: 1.5rem;
  height: 1.5rem;
  background-color: #1c499e;
}
@media screen and (max-width: 768px) {
  .sub-case-study__link-icon {
    width: 1.25rem;
    height: 1.25rem;
  }
}

.sub-case-study__link-icon img {
  width: 0.625rem;
}
@media screen and (max-width: 768px) {
  .sub-case-study__link-icon img {
    width: 0.5rem;
  }
}

.sub-news {
  background-color: #ffffff;
}

@media screen and (max-width: 768px) {
  .sub-news__fv-image img {
    object-position: 58% center;
  }
}

.sub-news__breadcrumb {
  z-index: 2;
}

.sub-news__archive {
  margin-top: 7.1875rem;
}
@media screen and (max-width: 768px) {
  .sub-news__archive {
    margin-top: 4.5rem;
  }
}

.sub-news__cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: 2.1875rem;
  row-gap: 5rem;
}
@media screen and (max-width: 768px) {
  .sub-news__cards {
    grid-template-columns: minmax(0, 1fr);
    column-gap: 1rem;
    row-gap: 3.4375rem;
  }
}
@media screen and (min-width: 560px) and (max-width: 768px) {
  .sub-news__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.sub-news__card {
  display: flex;
  flex-direction: column;
  justify-self: center;
  width: 100%;
  max-width: 23.5rem;
  min-width: 0;
  transition: opacity 0.3s ease;
}

@media (hover: hover) {
  .sub-news__card:hover {
    opacity: 0.65;
  }
}

.sub-news__card-link {
  display: contents;
  color: inherit;
  text-decoration: none;
}

.sub-news__thumbnail {
  overflow: hidden;
}

.sub-news__thumbnail img {
  width: 100%;
  aspect-ratio: 376/240;
  max-height: 15rem;
  object-fit: cover;
  transition: transform 0.5s ease;
}

@media (hover: hover) {
  .sub-news__card:hover .sub-news__thumbnail img {
    transform: scale(1.08);
  }
}

.sub-news__card-body {
  display: flex;
  align-items: flex-start;
  flex: 1;
  flex-direction: column;
  width: 100%;
  padding: 1.875rem 1.875rem 0;
}
@media screen and (max-width: 768px) {
  .sub-news__card-body {
    padding: 1.5rem 0.75rem 0;
  }
}

.sub-news__categories {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.sub-news__category {
  display: inline-block;
  padding: 0.5625rem 1.25rem;
  border: 0.0625rem solid #1c499e;
  border-radius: 1.125rem;
  color: #1c499e;
  font-size: 0.875rem;
  line-height: 1.2142857143;
  letter-spacing: 0em;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .sub-news__category {
    padding: 0.4375rem 1rem;
    font-size: 0.75rem;
    line-height: 1.3333333333;
    letter-spacing: 0em;
    font-weight: 400;
  }
}

.sub-news__card-title {
  display: -webkit-box;
  width: 100%;
  overflow: hidden;
  margin-top: 2.125rem;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  font-size: 1.25rem;
  line-height: 1.5;
  letter-spacing: -0.04em;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .sub-news__card-title {
    margin-top: 1.25rem;
    font-size: 0.9375rem;
    line-height: 1.7333333333;
    letter-spacing: -0.04em;
    font-weight: 500;
  }
}

.sub-news__link {
  display: flex;
  align-items: center;
  gap: 0.875rem;
  width: fit-content;
  padding-bottom: 0.75rem;
  margin-top: 2.1875rem;
  border-bottom: 0.0625rem solid #1c499e;
  color: #1c499e;
  font-size: 1rem;
  line-height: 1.25;
  letter-spacing: 0em;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .sub-news__link {
    gap: 0.5625rem;
    padding-bottom: 0.5625rem;
    margin-top: 1.75rem;
    font-size: 0.8125rem;
    line-height: 1.3846153846;
    letter-spacing: 0em;
    font-weight: 500;
  }
}

.sub-news__link-icon {
  width: 1.5rem;
  height: 1.5rem;
  background-color: #1c499e;
}
@media screen and (max-width: 768px) {
  .sub-news__link-icon {
    width: 1.25rem;
    height: 1.25rem;
  }
}

.sub-news__link-icon img {
  width: 0.625rem;
}
@media screen and (max-width: 768px) {
  .sub-news__link-icon img {
    width: 0.5rem;
  }
}

.sub-jobs {
  background-color: #dae5ea;
}

body:not(.single) .sub-jobs__first-view,
body:not(.single) .sub-jobs__fv {
  height: auto;
}

.sub-jobs__fv {
  aspect-ratio: auto;
  min-height: 0;
  padding: 14.6875rem 6.875rem 0.625rem;
  color: #1c499e;
  background-color: #dae5ea;
}
@media screen and (max-width: 768px) {
  .sub-jobs__fv {
    min-height: 0;
    padding: 7.8125rem 0.9375rem 0.625rem;
  }
}

.sub-jobs__fv-heading {
  position: static;
  color: #1c499e;
}

.sub-jobs__breadcrumb {
  position: static;
  z-index: 2;
  width: 100%;
  max-width: none;
  margin-top: 2rem;
  color: #1c499e;
  border-top-color: rgba(28, 73, 158, 0.7);
}

@media screen and (max-width: 768px) {
  .sub-jobs__fv-title {
    font-size: 3.75rem;
  }
}

.sub-jobs__fv-subtitle {
  margin-top: 0.9375rem;
}
@media screen and (max-width: 768px) {
  .sub-jobs__fv-subtitle {
    margin-top: 0.125rem;
  }
}

.sub-jobs .site-archive-category__link.is-current {
  color: #ffffff;
  background-color: #1c499e;
}

.sub-jobs__archive {
  margin-top: 1.5625rem;
}
@media screen and (max-width: 768px) {
  .sub-jobs__archive {
    margin-top: 2.5rem;
  }
}

.sub-jobs__cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: 1.5625rem;
  row-gap: 4.0625rem;
}
@media screen and (max-width: 768px) {
  .sub-jobs__cards {
    grid-template-columns: minmax(0, 1fr);
    column-gap: 1rem;
    row-gap: 3rem;
  }
}
@media screen and (min-width: 560px) and (max-width: 768px) {
  .sub-jobs__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.sub-jobs__card {
  display: block;
  justify-self: center;
  width: 100%;
  max-width: 24rem;
  min-width: 0;
  color: #1c499e;
  transition: opacity 0.3s ease;
}

@media (hover: hover) {
  .sub-jobs__card:hover {
    opacity: 0.72;
  }
}

.sub-jobs__image {
  width: 100%;
  aspect-ratio: 384/240;
  max-height: 15rem;
  border-radius: 1.25rem;
  object-fit: cover;
}
@media screen and (max-width: 768px) {
  .sub-jobs__image {
    border-radius: 0.75rem;
  }
}

.sub-jobs__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.5625rem;
  margin-top: 1.875rem;
}
@media screen and (max-width: 768px) {
  .sub-jobs__meta {
    gap: 0.9375rem;
    margin-top: 1.125rem;
  }
}

.sub-jobs__area {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.875rem;
  line-height: 1.5714285714;
  letter-spacing: 0em;
  font-weight: 700;
}

.sub-jobs__area img {
  width: 0.75rem;
  height: auto;
  filter: brightness(0) saturate(100%) invert(28%) sepia(56%) saturate(1713%) hue-rotate(183deg) brightness(87%) contrast(101%);
}

.sub-jobs__tag {
  padding: 0.25rem 0.8125rem;
  border-radius: 0.3125rem;
  color: #ffffff;
  background-color: #1c499e;
  font-size: 0.875rem;
  line-height: 1.4285714286;
  letter-spacing: 0em;
  font-weight: 700;
}

.sub-jobs__card-title {
  margin-top: 1.5625rem;
  font-size: 1.3125rem;
  line-height: 1.7142857143;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-jobs__card-title {
    margin-top: 1.0625rem;
    font-size: 1rem;
    line-height: 1.8125;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

.sub-jobs__entry {
  margin-top: 11.875rem;
  background: #dae5ea;
}
@media screen and (max-width: 768px) {
  .sub-jobs__entry {
    margin-top: 5.3125rem;
  }
}

.sub-jobs__footer {
  margin-top: 0;
}

.site-post-detail,
.single-post,
.single-case {
  background-color: #d9e4e9;
}

.site-post-detail__fv {
  padding-top: 15.9375rem;
  color: #1c499e;
}
@media screen and (max-width: 768px) {
  .site-post-detail__fv {
    padding-top: 7.8125rem;
  }
}

.site-post-detail__fv-inner {
  padding-bottom: 2rem;
}
@media screen and (max-width: 768px) {
  .site-post-detail__fv-inner {
    padding-bottom: 3.4375rem;
    max-width: none;
  }
}

.site-post-detail__fv-subtitle {
  margin-top: 0.9375rem;
}
@media screen and (max-width: 768px) {
  .site-post-detail__fv-subtitle {
    margin-top: 0.125rem;
  }
}

.site-post-detail__breadcrumb {
  position: static;
  width: 100%;
  max-width: none;
  padding-top: 1.875rem;
  margin-top: 2.5rem;
  color: #1c499e;
  border-top: 0.0625rem solid #1c499e;
}

.site-post-detail__article {
  width: 100%;
  max-width: 63.125rem;
  padding-right: 1.5625rem;
  padding-left: 1.5625rem;
  margin-right: auto;
  margin-left: auto;
  margin-top: 5.9375rem;
}
@media screen and (max-width: 768px) {
  .site-post-detail__article {
    padding-right: 0.9375rem;
    padding-left: 0.9375rem;
    margin-top: 2.8125rem;
  }
}

.site-post-detail__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 2.1875rem;
}

.site-post-detail__categories {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.site-post-detail__category {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.25rem;
  padding: 0.3125rem 1.4375rem;
  border: 0.0625rem solid #1c499e;
  border-radius: 1.125rem;
  color: #1c499e;
  font-size: 0.875rem;
  line-height: 1.4285714286;
  letter-spacing: 0em;
  font-weight: 400;
}

.site-post-detail__date {
  color: #7d8589;
  font-family: "Jost", sans-serif;
  font-size: 0.875rem;
  line-height: 1.4285714286;
  letter-spacing: 0.1em;
  font-weight: 400;
}

.site-post-detail__article-title {
  margin-top: 1.75rem;
  color: #1c499e;
  font-size: 2.625rem;
  line-height: 1.5238095238;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .site-post-detail__article-title {
    margin-top: 1.25rem;
    font-size: 1.5625rem;
    line-height: 1.56;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

.site-post-detail__share {
  display: flex;
  align-items: center;
  gap: 1.6875rem;
  margin-top: 3.4375rem;
}
@media screen and (max-width: 768px) {
  .site-post-detail__share {
    gap: 1.125rem;
    margin-top: 1.75rem;
  }
}

.site-post-detail__share-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.375rem;
  min-height: 1.375rem;
  font-family: "Jost", sans-serif;
  font-size: 1.125rem;
  line-height: 1.2222222222;
  letter-spacing: 0em;
  font-weight: 700;
}

.site-post-detail__share-link img {
  width: 1.375rem;
  max-height: 1.375rem;
  object-fit: contain;
}

.site-post-detail__share-link img[src$="icon-facebook.png"] {
  width: 1.8125rem;
  height: 1.8125rem;
  max-height: none;
}
@media screen and (max-width: 768px) {
  .site-post-detail__share-link img[src$="icon-facebook.png"] {
    width: 1.5625rem;
    height: 1.5625rem;
  }
}

.site-post-detail__share-link img[src$="icon-hatena-bookmark.png"] {
  width: 1.6875rem;
  height: 1.4375rem;
  max-height: none;
}
@media screen and (max-width: 768px) {
  .site-post-detail__share-link img[src$="icon-hatena-bookmark.png"] {
    width: 1.4375rem;
    height: 1.25rem;
  }
}

.site-post-detail__share-link img[src$="icon-line.png"] {
  width: 1.5625rem;
  height: 1.5625rem;
  max-height: none;
}
@media screen and (max-width: 768px) {
  .site-post-detail__share-link img[src$="icon-line.png"] {
    width: 1.375rem;
    height: 1.375rem;
  }
}

@media (hover: hover) {
  .site-post-detail__share-link:hover {
    opacity: 0.6;
  }
}

.site-post-detail__content {
  margin-top: 3.4375rem;
  font-size: 1.125rem;
  line-height: 2;
  letter-spacing: 0em;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .site-post-detail__content {
    margin-top: 2.625rem;
    font-size: 0.9375rem;
    line-height: 1.9333333333;
    letter-spacing: 0em;
    font-weight: 400;
  }
}

.site-post-detail__content h2 {
  margin-top: 5rem;
  font-size: 2rem;
  line-height: 1.6875;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .site-post-detail__content h2 {
    margin-top: 3.4375rem;
    font-size: 1.375rem;
    line-height: 1.5454545455;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

.site-post-detail__content h3 {
  padding-bottom: 1.1875rem;
  margin-top: 5.3125rem;
  border-bottom: 0.0625rem solid #bec7cb;
  font-size: 1.5rem;
  line-height: 1.6666666667;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .site-post-detail__content h3 {
    padding-bottom: 0.75rem;
    margin-top: 3.4375rem;
    font-size: 1.1875rem;
    line-height: 1.6315789474;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

.site-post-detail__content h4 {
  margin-top: 5rem;
  font-size: 1.3125rem;
  line-height: 1.9047619048;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .site-post-detail__content h4 {
    margin-top: 3rem;
    font-size: 1.125rem;
    line-height: 1.6111111111;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

.site-post-detail__content p {
  margin-top: 2.5rem;
}

.site-post-detail__content ul,
.site-post-detail__content ol {
  padding-left: 1.4375rem;
  margin-top: 4.6875rem;
  font-size: 1rem;
  line-height: 2.5;
  letter-spacing: 0em;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .site-post-detail__content ul,
  .site-post-detail__content ol {
    font-size: 0.9375rem;
    line-height: 1.9333333333;
    letter-spacing: 0em;
    font-weight: 400;
  }
}

.site-post-detail__content ul {
  padding-left: 0;
  list-style: none;
}

.site-post-detail__content ol {
  list-style: decimal;
}

.site-post-detail__content ol li {
  padding-left: 1.25rem;
}

.site-post-detail__content ul li {
  position: relative;
  padding-left: 1.5625rem;
}

.site-post-detail__content ul li::before {
  position: absolute;
  top: 1.25rem;
  left: 0;
  width: 0.5625rem;
  height: 0.5625rem;
  border-radius: 50%;
  background-color: #1c499e;
  content: "";
  transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .site-post-detail__content ul li::before {
    top: 0.90625rem;
  }
}

.site-post-detail__content li + li {
  margin-top: 0.625rem;
}

.site-post-detail__content figure {
  margin-top: 6.875rem;
}
@media screen and (max-width: 768px) {
  .site-post-detail__content figure {
    margin-top: 2.8125rem;
  }
}

.site-post-detail__content figure:first-child {
  margin-top: 0;
}

.site-post-detail__content figure img,
.site-post-detail__content > img {
  width: 100%;
  height: auto;
  max-height: 40rem;
  object-fit: contain;
}

.site-post-detail__content .wp-block-image {
  text-align: center;
}

.site-post-detail__content .wp-block-image.alignleft {
  text-align: left;
}

.site-post-detail__content .wp-block-image.alignright {
  text-align: right;
}

.site-post-detail__content .wp-block-image img {
  width: auto;
  max-width: 100%;
}

.site-post-detail__content figcaption {
  margin-top: 0.875rem;
  text-align: left;
  color: #6d7477;
  font-size: 0.75rem;
  line-height: 2;
  letter-spacing: 0em;
  font-weight: 500;
}

.site-post-detail__content .wp-block-gallery {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
  margin-top: 4.0625rem;
}
@media screen and (max-width: 768px) {
  .site-post-detail__content .wp-block-gallery {
    grid-template-columns: 1fr;
    gap: 0.9375rem;
    margin-top: 2.8125rem;
  }
}

.site-post-detail__content .wp-block-gallery figure {
  margin-top: 0;
}

.site-post-detail__content .wp-block-gallery img {
  width: 100%;
  height: 100%;
  max-height: 40rem;
  object-fit: cover;
}

.site-post-detail__content .wp-block-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: center;
  gap: 3.75rem;
  margin-top: 6.25rem;
}
@media screen and (max-width: 768px) {
  .site-post-detail__content .wp-block-columns {
    grid-template-columns: minmax(0, 1fr);
    gap: 2.1875rem;
    margin-top: 3.75rem;
  }
}

.site-post-detail__content .wp-block-column {
  min-width: 0;
}

.site-post-detail__content .wp-block-columns figure,
.site-post-detail__content .wp-block-columns h2,
.site-post-detail__content .wp-block-columns h3,
.site-post-detail__content .wp-block-columns p {
  margin-top: 0;
}

.site-post-detail__content .wp-block-columns p {
  margin-top: 1.5625rem;
}

.site-post-detail__content table {
  width: 100%;
  margin-top: 3.125rem;
  border: 0;
  border-collapse: collapse;
}

.site-post-detail__content .wp-block-table {
  overflow-x: auto;
  margin-top: 2.8125rem;
}

.site-post-detail__content .wp-block-table table {
  min-width: 37.5rem;
  margin-top: 0;
  table-layout: fixed;
}

.site-post-detail__content th,
.site-post-detail__content td {
  padding: 1.25rem 2.5rem;
  border: 0;
  border-bottom: 0.0625rem solid #bec7cb;
  text-align: left;
  vertical-align: top;
}
@media screen and (max-width: 768px) {
  .site-post-detail__content th,
  .site-post-detail__content td {
    padding: 0.9375rem 0.75rem;
  }
}

.site-post-detail__content tr > :first-child {
  width: 18%;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .site-post-detail__content tr > :first-child {
    width: 28%;
  }
}

.site-post-detail__content .wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
  background-color: transparent;
}

.site-post-detail__content blockquote {
  padding: 1.75rem;
  margin-top: 2.8125rem;
  border-left: 0.25rem solid #1c499e;
  background-color: rgba(255, 255, 255, 0.5);
}

.site-post-detail__content blockquote p:first-child {
  margin-top: 0;
}

.site-post-detail__content blockquote cite {
  display: block;
  margin-top: 0.9375rem;
  color: #6d7477;
  font-size: 0.8125rem;
  line-height: 1.6923076923;
  letter-spacing: 0em;
  font-weight: 400;
}

.site-post-detail__content pre {
  overflow-x: auto;
  padding: 1.5625rem;
  margin-top: 2.8125rem;
  background-color: rgba(255, 255, 255, 0.65);
  white-space: pre;
}

.site-post-detail__content code {
  font-family: monospace;
}

.site-post-detail__content hr,
.site-post-detail__content .wp-block-separator {
  height: 0.0625rem;
  margin-top: 4.0625rem;
  border: 0;
  background-color: #bfc9cd;
}

.site-post-detail__content .wp-block-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 0.9375rem;
  margin-top: 2.8125rem;
}

.site-post-detail__content .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 3.25rem;
  padding: 0.625rem 1.875rem;
  border: 0.0625rem solid #1c499e;
  border-radius: 1.875rem;
  background-color: #1c499e;
  color: #ffffff;
  text-decoration: none;
}

.site-post-detail__content .wp-block-button.is-style-outline .wp-block-button__link {
  background-color: transparent;
  color: #1c499e;
}

.site-post-detail__content .has-text-align-left {
  text-align: left;
}

.site-post-detail__content .has-text-align-center {
  text-align: center;
}

.site-post-detail__content .has-text-align-right {
  text-align: right;
}

.site-post-detail__content a {
  color: #1c499e;
  text-decoration: underline;
  text-underline-offset: 0.25rem;
}

@media (hover: hover) {
  .site-post-detail__content a:hover {
    opacity: 0.65;
  }
}

.site-post-detail__share--bottom {
  margin-top: 4.375rem;
}

.site-post-detail__related {
  padding-top: 8.125rem;
  padding-bottom: 8.125rem;
  margin-top: 10rem;
  background-color: #ffffff;
}
@media screen and (max-width: 768px) {
  .site-post-detail__related {
    padding-top: 4.375rem;
    padding-bottom: 5rem;
    margin-top: 5rem;
  }
}

@media screen and (max-width: 768px) {
  .site-post-detail__related-inner {
    max-width: none;
  }
}

.site-post-detail__related-title {
  color: #1c499e;
}

.site-post-detail__related-subtitle {
  margin-top: 0.5rem;
  color: #1c499e;
}

.site-post-detail__latest-cards {
  margin-top: 3.75rem;
}
@media screen and (max-width: 768px) {
  .site-post-detail__latest-cards {
    margin-top: 2.625rem;
  }
}

.site-post-detail__category-block {
  margin-top: 4.6875rem;
}

.site-post-detail__category-block.site-archive-category {
  margin-top: 5.625rem;
}
@media screen and (max-width: 768px) {
  .site-post-detail__category-block.site-archive-category {
    margin-top: 3.75rem;
  }
}

.site-post-detail__archive-button-wrap {
  display: flex;
  justify-content: flex-end;
  margin-top: 2.3125rem;
}
@media screen and (max-width: 768px) {
  .site-post-detail__archive-button-wrap {
    justify-content: center;
    margin-top: 3rem;
  }
}

@media screen and (max-width: 768px) {
  .site-post-detail__archive-button {
    width: 100%;
    max-width: 18.125rem;
    min-height: 4rem;
    padding: 0.4375rem 0.5625rem 0.4375rem 1.6875rem;
    border-radius: 2rem;
    font-size: 1rem;
    line-height: 1.5;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

@media screen and (max-width: 768px) {
  .site-post-detail__archive-button .site-wide-button__icon {
    width: 3rem;
    height: 3rem;
  }
}

@media screen and (max-width: 768px) {
  .site-post-detail__archive-button .site-wide-button__icon img {
    width: 0.9375rem;
  }
}

.site-post-detail__contact {
  margin-top: 0;
  background-color: #ffffff;
}

.sub-jobs-detail,
.single-job {
  background-color: #d9e4e9;
}

.sub-jobs-detail__first-view {
  background-color: #d9e4e9;
}

.sub-jobs-detail__article {
  margin-top: 7.5rem;
}
@media screen and (max-width: 768px) {
  .sub-jobs-detail__article {
    margin-top: 3.4375rem;
  }
}

.sub-jobs-detail__article-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, clamp(26.25rem, 44.444vw, 40rem));
  gap: 3.75rem;
}
@media screen and (max-width: 768px) {
  .sub-jobs-detail__article-header {
    grid-template-columns: minmax(0, 1fr);
    gap: 2.1875rem;
  }
}

.sub-jobs-detail__article-copy {
  min-width: 0;
}

.sub-jobs-detail__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.5625rem;
}

.sub-jobs-detail__area {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: #1c499e;
  font-size: 0.875rem;
  line-height: 1.5714285714;
  letter-spacing: 0em;
  font-weight: 700;
}

.sub-jobs-detail__area img {
  width: 0.875rem;
  height: auto;
}

.sub-jobs-detail__tag {
  padding: 0.25rem 0.9375rem;
  border-radius: 0.3125rem;
  color: #ffffff;
  background-color: #1c499e;
  font-size: 0.875rem;
  line-height: 1.4285714286;
  letter-spacing: 0em;
  font-weight: 700;
}

.sub-jobs-detail__article-title {
  margin-top: 3.125rem;
  color: #1c499e;
  font-size: 2.625rem;
  line-height: 1.5238095238;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-jobs-detail__article-title {
    margin-top: 1.75rem;
    font-size: 1.625rem;
    line-height: 1.6153846154;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

.sub-jobs-detail__article-lead {
  margin-top: 3.125rem;
  font-size: 1rem;
  line-height: 2;
  letter-spacing: 0em;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .sub-jobs-detail__article-lead {
    margin-top: 1.5625rem;
    font-size: 0.9375rem;
    line-height: 1.9333333333;
    letter-spacing: 0em;
    font-weight: 400;
  }
}

.sub-jobs-detail__article-button-wrap {
  margin-top: 3.125rem;
}
@media screen and (max-width: 768px) {
  .sub-jobs-detail__article-button-wrap {
    margin-top: 1.5625rem;
  }
}

.sub-jobs-detail__article-button {
  padding-left: 2.5rem;
  gap: 0.75rem;
}
@media screen and (max-width: 768px) {
  .sub-jobs-detail__article-button {
    max-width: 17.5rem;
    min-height: 4.25rem;
    padding-right: 0.625rem;
    padding-left: 1.5rem;
    font-size: 1.0625rem;
    line-height: 1.6470588235;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

@media screen and (max-width: 768px) {
  .sub-jobs-detail__article-button .site-wide-button__icon {
    width: 2.875rem;
    height: 2.875rem;
  }
}

.sub-jobs-detail__main-visual {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  width: 100%;
  max-width: 40rem;
}
@media screen and (max-width: 768px) {
  .sub-jobs-detail__main-visual {
    max-width: none;
  }
}

.sub-jobs-detail__main-visual img {
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 40rem;
  border-radius: 1.25rem;
  object-fit: contain;
}
@media screen and (max-width: 768px) {
  .sub-jobs-detail__main-visual img {
    max-height: 31.25rem;
    border-radius: 0.75rem;
  }
}

.sub-jobs-detail__editor-content {
  padding-top: 4.375rem;
  margin-top: 5.625rem;
  border-top: 0.0625rem solid #b9c5ca;
}
@media screen and (max-width: 768px) {
  .sub-jobs-detail__editor-content {
    padding-top: 2.8125rem;
    margin-top: 3.4375rem;
  }
}

.sub-jobs-detail__editor-content > h2:first-child {
  margin-top: 0;
}

.sub-jobs-detail__editor-content ul,
.sub-jobs-detail__editor-content ol {
  margin-top: 2.1875rem;
}
@media screen and (max-width: 768px) {
  .sub-jobs-detail__editor-content ul,
  .sub-jobs-detail__editor-content ol {
    margin-top: 1.5625rem;
  }
}

.sub-jobs-detail__editor-content .wp-block-columns {
  grid-template-columns: minmax(0, clamp(20rem, 29.167vw, 26.25rem)) minmax(0, 1fr);
  gap: clamp(2.1875rem, 3.472vw, 3.125rem);
}
@media screen and (max-width: 768px) {
  .sub-jobs-detail__editor-content .wp-block-columns {
    grid-template-columns: minmax(0, 1fr);
    gap: 2.1875rem;
  }
}

.sub-jobs-detail__editor-content .wp-block-columns .wp-block-image img {
  border-radius: 0.625rem;
}

.sub-jobs-detail__requirements {
  margin-top: 8.5625rem;
}
@media screen and (max-width: 768px) {
  .sub-jobs-detail__requirements {
    margin-top: 5.3125rem;
  }
}

.sub-jobs-detail__requirements-title {
  color: #1c499e;
  font-size: 2.625rem;
  line-height: 1.4285714286;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-jobs-detail__requirements-title {
    font-size: 1.75rem;
    line-height: 1.5;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

.sub-jobs-detail__requirements-list {
  margin-top: 2.5rem;
}
@media screen and (max-width: 768px) {
  .sub-jobs-detail__requirements-list {
    margin-top: 2.1875rem;
  }
}

.sub-jobs-detail__requirements-row {
  display: grid;
  grid-template-columns: 9.375rem minmax(0, 1fr);
  gap: 1.875rem;
  padding: 1.5625rem 3.4375rem;
  border-bottom: 0.0625rem solid #b9c5ca;
  font-size: 1rem;
  line-height: 2.1875;
  letter-spacing: 0em;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .sub-jobs-detail__requirements-row {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.5rem;
    padding: 1.25rem 0;
    font-size: 0.9375rem;
    line-height: 1.8666666667;
    letter-spacing: 0em;
    font-weight: 400;
  }
}

.sub-jobs-detail__requirements-row dt {
  font-weight: 700;
}

.sub-jobs-detail__requirements-button-wrap {
  display: flex;
  justify-content: flex-end;
  margin-top: 5.3125rem;
}
@media screen and (max-width: 768px) {
  .sub-jobs-detail__requirements-button-wrap {
    justify-content: center;
    margin-top: 3rem;
  }
}

.sub-jobs-detail__requirements-button {
  padding-left: 2.5rem;
  gap: 0.75rem;
}
@media screen and (max-width: 768px) {
  .sub-jobs-detail__requirements-button {
    max-width: 17.5rem;
    min-height: 4.25rem;
    padding-right: 0.625rem;
    padding-left: 1.5rem;
    font-size: 1.0625rem;
    line-height: 1.6470588235;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

@media screen and (max-width: 768px) {
  .sub-jobs-detail__requirements-button .site-wide-button__icon {
    width: 2.875rem;
    height: 2.875rem;
  }
}

.sub-jobs-detail__related {
  margin-top: 10.625rem;
}
@media screen and (max-width: 768px) {
  .sub-jobs-detail__related {
    margin-top: 5.625rem;
  }
}

.sub-jobs-detail__entry {
  margin-top: 0;
}

.sub-jobs-detail__footer {
  margin-top: 0;
}

.sub-contact__fv-image img {
  object-position: center center;
}
@media screen and (max-width: 768px) {
  .sub-contact__fv-image img {
    object-position: 58% center;
  }
}

.sub-contact__content {
  padding-top: 8.125rem;
  background-color: #ffffff;
}
@media screen and (max-width: 768px) {
  .sub-contact__content {
    padding-top: 4.0625rem;
  }
}

.sub-contact__body {
  width: 100%;
  max-width: 60rem;
}

.sub-contact__introduction {
  font-size: 1.125rem;
  line-height: 2;
  letter-spacing: 0em;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .sub-contact__introduction {
    font-size: 1rem;
    line-height: 1.75;
    letter-spacing: 0em;
    font-weight: 400;
  }
}

.sub-contact__form {
  margin-top: 5.9375rem;
}

.sub-contact__field {
  margin-top: 3.125rem;
  padding: 0;
  border: 0;
}
@media screen and (max-width: 768px) {
  .sub-contact__field {
    margin-top: 2.625rem;
  }
}

.sub-contact__field:first-child {
  margin-top: 0;
}

.sub-contact__label {
  display: flex;
  align-items: center;
  gap: 1.375rem;
  font-size: 1.25rem;
  line-height: 2.4;
  letter-spacing: 0em;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .sub-contact__label {
    gap: 0.625rem;
    font-size: 1rem;
    line-height: 1.625;
    letter-spacing: 0em;
    font-weight: 400;
  }
}

.sub-contact__label--privacy {
  font-size: 1.5rem;
}
@media screen and (max-width: 768px) {
  .sub-contact__label--privacy {
    font-size: 1rem;
  }
}

.sub-contact__status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 3.125rem;
  min-height: 1.5rem;
  padding: 0.125rem 0.6875rem;
  border-radius: 0.3125rem;
  color: #ffffff;
  font-size: 0.875rem;
  line-height: 1.4285714286;
  letter-spacing: 0em;
  font-weight: 400;
}

.sub-contact__status--required {
  background-color: #1c499e;
}

.sub-contact__status--optional {
  background-color: #737373;
}

.sub-contact__choices {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.9375rem 1.0625rem;
  margin-top: 1.875rem;
}
@media screen and (max-width: 768px) {
  .sub-contact__choices {
    grid-template-columns: 1fr;
    gap: 0.625rem;
    margin-top: 1.25rem;
  }
}

.sub-contact__choice,
.sub-contact__choices .wpcf7-list-item label {
  display: flex;
  align-items: center;
  gap: 0.8125rem;
  min-height: 4rem;
  padding: 0.9375rem 1.25rem;
  border-radius: 0.625rem;
  background-color: #f3f3f3;
  cursor: pointer;
  transition: background-color 0.3s ease;
  font-size: 1.125rem;
  line-height: 1.4444444444;
  letter-spacing: 0em;
  font-weight: 400;
}

@media (hover: hover) {
  .sub-contact__choice:hover,
  .sub-contact__choices .wpcf7-list-item label:hover {
    background-color: #eaf0f3;
  }
}

.sub-contact__choice input,
.sub-contact__consent input,
.sub-contact__choices .wpcf7-list-item input {
  position: absolute;
  display: block;
  width: 0.0625rem;
  height: 0.0625rem;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
}

.sub-contact__choice > span,
.sub-contact__choices .wpcf7-list-item-label {
  display: flex;
  align-items: center;
}

.sub-contact__choice > span::before,
.sub-contact__choices .wpcf7-list-item-label::before {
  content: "";
  flex: 0 0 auto;
  width: 1.125rem;
  height: 1.125rem;
  margin-right: 0.8125rem;
  border: 0.0625rem solid #b8b8b8;
  border-radius: 50%;
  background-color: #ffffff;
  transition: border-color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
}

.sub-contact__choice input:checked + span::before,
.sub-contact__choices .wpcf7-list-item input:checked + .wpcf7-list-item-label::before {
  border-color: #1c499e;
  background-color: #1c499e;
  box-shadow: inset 0 0 0 0.25rem #ffffff;
}

.sub-contact__choice input:focus-visible + span::before,
.sub-contact__choices .wpcf7-list-item input:focus-visible + .wpcf7-list-item-label::before {
  outline: 0.125rem solid rgba(28, 73, 158, 0.35);
  outline-offset: 0.125rem;
}

.sub-contact__input,
.sub-contact__textarea,
.sub-contact__form .wpcf7-text,
.sub-contact__form .wpcf7-email,
.sub-contact__form .wpcf7-tel,
.sub-contact__form .wpcf7-textarea {
  display: block;
  width: 100%;
  margin-top: 2rem;
  padding-right: 2rem;
  padding-left: 2rem;
  border: 0;
  border-radius: 0.625rem;
  outline: 0.125rem solid transparent;
  background-color: #f3f3f3;
  transition: outline-color 0.3s ease;
  font-size: 1.125rem;
  line-height: 1.5555555556;
  letter-spacing: 0em;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .sub-contact__input,
  .sub-contact__textarea,
  .sub-contact__form .wpcf7-text,
  .sub-contact__form .wpcf7-email,
  .sub-contact__form .wpcf7-tel,
  .sub-contact__form .wpcf7-textarea {
    margin-top: 1.125rem;
    padding-right: 1.125rem;
    padding-left: 1.125rem;
    font-size: 1rem;
    line-height: 1.625;
    letter-spacing: 0em;
    font-weight: 400;
  }
}

.sub-contact__input,
.sub-contact__form .wpcf7-text,
.sub-contact__form .wpcf7-email,
.sub-contact__form .wpcf7-tel {
  min-height: 5rem;
}
@media screen and (max-width: 768px) {
  .sub-contact__input,
  .sub-contact__form .wpcf7-text,
  .sub-contact__form .wpcf7-email,
  .sub-contact__form .wpcf7-tel {
    min-height: 3.625rem;
  }
}

.sub-contact__textarea,
.sub-contact__form .wpcf7-textarea {
  min-height: 17.5rem;
  padding-top: 1.75rem;
  padding-bottom: 1.75rem;
  resize: vertical;
}
@media screen and (max-width: 768px) {
  .sub-contact__textarea,
  .sub-contact__form .wpcf7-textarea {
    min-height: 13.125rem;
  }
}

.sub-contact__input:focus,
.sub-contact__textarea:focus,
.sub-contact__form .wpcf7-form-control:focus {
  outline-color: rgba(28, 73, 158, 0.35);
}

.sub-contact__input::placeholder,
.sub-contact__textarea::placeholder,
.sub-contact__form .wpcf7-form-control::placeholder {
  color: #9c9c9c;
}

.sub-contact__name-fields p {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
}
@media screen and (max-width: 768px) {
  .sub-contact__name-fields p {
    grid-template-columns: 1fr;
    gap: 0.625rem;
  }
}

.sub-contact__field--privacy {
  margin-top: 4.6875rem;
}

.sub-contact__privacy-text {
  margin-top: 1.5625rem;
  font-size: 1.125rem;
  line-height: 1.5555555556;
  letter-spacing: 0em;
  font-weight: 400;
}

.sub-contact__privacy-text a {
  color: #1c499e;
  text-decoration: underline;
  text-underline-offset: 0.5rem;
  transition: opacity 0.3s ease;
}

@media (hover: hover) {
  .sub-contact__privacy-text a:hover {
    opacity: 0.65;
  }
}

.sub-contact__consent,
.sub-contact__field--privacy .wpcf7-list-item label {
  display: flex;
  align-items: center;
  gap: 0.875rem;
  width: 19.375rem;
  max-width: 100%;
  min-height: 5rem;
  margin-top: 2.875rem;
  padding: 1.3125rem;
  border-radius: 0.625rem;
  background-color: #f3f3f3;
  cursor: pointer;
  font-size: 1.125rem;
  line-height: 1.4444444444;
  letter-spacing: 0em;
  font-weight: 500;
}

.sub-contact__consent > span,
.sub-contact__field--privacy .wpcf7-list-item-label {
  position: relative;
  display: flex;
  align-items: center;
}

.sub-contact__consent > span::before,
.sub-contact__field--privacy .wpcf7-list-item-label::before {
  content: "";
  flex: 0 0 auto;
  width: 1.125rem;
  height: 1.125rem;
  margin-right: 0.75rem;
  border: 0.0625rem solid #b8b8b8;
  border-radius: 0.1875rem;
  background-color: #ffffff;
}

.sub-contact__consent > span::after,
.sub-contact__field--privacy .wpcf7-list-item-label::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0.3125rem;
  width: 0.5rem;
  height: 0.3125rem;
  border-bottom: 0.125rem solid #ffffff;
  border-left: 0.125rem solid #ffffff;
  opacity: 0;
  transform: translateY(-65%) rotate(-45deg);
}

.sub-contact__consent input:checked + span::before,
.sub-contact__field--privacy .wpcf7-list-item input:checked + .wpcf7-list-item-label::before {
  border-color: #1c499e;
  background-color: #1c499e;
}

.sub-contact__consent input:checked + span::after,
.sub-contact__field--privacy .wpcf7-list-item input:checked + .wpcf7-list-item-label::after {
  opacity: 1;
}

.sub-contact__submit {
  margin-top: 8.3125rem;
  border: 0;
  cursor: pointer;
  padding-left: 1.6875rem;
  transition: 0.3s;
}
@media screen and (max-width: 768px) {
  .sub-contact__submit {
    max-width: 19.375rem;
    min-height: 4.5rem;
    margin-top: 4.0625rem;
    padding-left: 1.25rem;
    padding-right: 0.9375rem;
    font-size: 1.125rem;
    line-height: 1.7777777778;
    letter-spacing: 0em;
    font-weight: 700;
  }
}
.sub-contact__submit:hover {
  transition: 0.3s;
  border: 1px solid #1c499e;
}

.sub-contact__submit .site-wide-button__icon {
  background-image: url("../img/common/arrow-white.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: 1.25rem auto;
}

.sub-contact__submit .site-wide-button__icon img {
  display: none;
}

.sub-contact__form .wpcf7-form-control-wrap {
  display: block;
  width: 100%;
}

.sub-contact__form .wpcf7-list-item {
  margin: 0;
}

.sub-contact__choices .wpcf7-form-control {
  display: contents;
}

.sub-contact__form .wpcf7-not-valid-tip,
.sub-contact__form .wpcf7-response-output {
  margin-top: 0.625rem;
  font-size: 0.875rem;
  line-height: 1.5714285714;
  letter-spacing: 0em;
  font-weight: 400;
}

.sub-contact__footer {
  margin-top: 7.8125rem;
}
@media screen and (max-width: 768px) {
  .sub-contact__footer {
    margin-top: 6.25rem;
  }
}

/*--------------------------
  THANKS ページ
---------------------------*/
.sub-thanks {
  background-color: #ffffff;
}

.sub-thanks__fv-image img {
  object-position: center center;
}
@media screen and (max-width: 768px) {
  .sub-thanks__fv-image img {
    object-position: 52% center;
  }
}

.sub-thanks__message {
  padding-top: 7.8125rem;
}
@media screen and (max-width: 768px) {
  .sub-thanks__message {
    padding-top: 4.5rem;
  }
}

.sub-thanks__message-inner {
  padding-bottom: 6.5625rem;
  border-bottom: 0.0625rem solid #d6d6d6;
}
@media screen and (max-width: 768px) {
  .sub-thanks__message-inner {
    padding-bottom: 4.5rem;
  }
}

.sub-thanks__message-title {
  font-size: 2.625rem;
  line-height: 1.5238095238;
  letter-spacing: 0em;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .sub-thanks__message-title {
    font-size: 1.625rem;
    line-height: 1.5;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

.sub-thanks__message-text {
  margin-top: 3.75rem;
  font-size: 1rem;
  line-height: 2;
  letter-spacing: -0.02em;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .sub-thanks__message-text {
    margin-top: 1.875rem;
    font-size: 1rem;
    line-height: 1.8125;
    letter-spacing: -0.02em;
    font-weight: 400;
  }
}

.sub-thanks__back-button {
  margin-top: 4.0625rem;
}
@media screen and (max-width: 768px) {
  .sub-thanks__back-button {
    width: 100%;
    max-width: 18.125rem;
    min-height: 4rem;
    padding: 0.4375rem 0.5625rem 0.4375rem 1.6875rem;
    margin-top: 2.625rem;
    border-radius: 2rem;
    font-size: 1rem;
    line-height: 1.5;
    letter-spacing: 0em;
    font-weight: 700;
  }
}

@media screen and (max-width: 768px) {
  .sub-thanks__back-button .site-wide-button__icon {
    width: 3rem;
    height: 3rem;
  }
}

@media screen and (max-width: 768px) {
  .sub-thanks__back-button .site-wide-button__icon img {
    width: 0.9375rem;
  }
}

.sub-thanks__related.site-post-detail__related {
  margin-top: 0;
  padding-top: 6.5rem;
  padding-bottom: 6.875rem;
}
@media screen and (max-width: 768px) {
  .sub-thanks__related.site-post-detail__related {
    padding-top: 4.375rem;
    padding-bottom: 5rem;
  }
}

/*# sourceMappingURL=style.css.map */
