@charset "UTF-8";
/* noto-sans-jp-300 - japanese */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 300;
  src: url("../fonts/noto-sans-jp-v56-japanese/noto-sans-jp-v56-japanese-300.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* noto-sans-jp-regular - japanese */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/noto-sans-jp-v56-japanese/noto-sans-jp-v56-japanese-regular.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* noto-sans-jp-500 - japanese */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 500;
  src: url("../fonts/noto-sans-jp-v56-japanese/noto-sans-jp-v56-japanese-500.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
@font-face {
  font-family: "Shippori Mincho";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/Shippori_Mincho/ShipporiMincho-Regular.ttf") format("truetype");
}
@font-face {
  font-family: "Shippori Mincho";
  font-style: normal;
  font-weight: 500;
  src: url("../fonts/Shippori_Mincho/ShipporiMincho-Medium.ttf") format("truetype");
}
/* oswald-200 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Oswald";
  font-style: normal;
  font-weight: 200;
  src: url("../fonts/oswald-v57-latin/oswald-v57-latin-200.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* oswald-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Oswald";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/oswald-v57-latin/oswald-v57-latin-regular.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* roboto-300 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Roboto";
  font-style: normal;
  font-weight: 300;
  src: url("../fonts/roboto-v51-latin/roboto-v51-latin-300.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* roboto-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Roboto";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/roboto-v51-latin/roboto-v51-latin-regular.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* roboto-500 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Roboto";
  font-style: normal;
  font-weight: 500;
  src: url("../fonts/roboto-v51-latin/roboto-v51-latin-500.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
.pc {
  display: none;
}
@media (min-width: 768px) {
  .pc {
    display: block;
  }
}

.sp {
  display: block;
}
@media (min-width: 768px) {
  .sp {
    display: none;
  }
}

body {
  color: #1f2a44;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin: 0;
  background-color: transparent;
  overflow-x: hidden;
}

h1, h2, h3, h4, h5, h6, p {
  margin: 0;
}

a {
  color: #1f2a44;
  text-decoration: none;
}
a:link, a:active, a:visited {
  color: #1f2a44;
}
a:hover {
  color: #0097da;
}

header {
  width: 100vw;
  position: relative;
  z-index: 1000;
}

.sp-br {
  display: inline;
}
@media (min-width: 768px) {
  .sp-br {
    display: none;
  }
}

.pc-br {
  display: none;
}
@media (min-width: 768px) {
  .pc-br {
    display: inline;
  }
}

.pc-br-md {
  display: none;
}
@media (min-width: 900px) {
  .pc-br-md {
    display: inline;
  }
}

.l-container {
  width: 100%;
  margin: 0 auto;
}

body.page-recruit .l-page-hero-bg {
  --hero-bg: url('../images/bg-recruit.jpg');
}

/*
 news詳細
 */
/*
 news一覧
 */
body.post-type-archive-news .l-page-news-hero-bg {
  --hero-bg: url('../images/home/solution-1-sp.webp');
}

.l-page-news-hero-bg {
  position: relative;
  background-color: #FFF;
  background-image: var(--hero-bg, none);
  background-size: cover;
}

/*
 実績事例詳細
 */
body.single-case-studies .l-page-case-studies-hero-bg {
  --hero-bg: url('../images/case-studies/case-studies-bg-sp.webp');
}
@media (min-width: 768px) {
  body.single-case-studies .l-page-case-studies-hero-bg {
    --hero-bg: url('../images/case-studies/case-studies-bg-pc.webp');
  }
}

.l-page-case-studies-hero-bg {
  position: relative;
  padding: 0 0px 45px 0px;
  background-image: var(--hero-bg, none);
  background-size: cover;
}
@media (min-width: 768px) {
  .l-page-case-studies-hero-bg {
    padding: 0 16px 85px 0px;
  }
}

/*
 企業情報
 */
.l-page-common-company-info {
  position: relative;
}

/*
 ソリューションタグ 一覧
 */
body.tax-solution-category-tag .l-page-solution-tag-hero-bg {
  --hero-bg: url('../images/tag/solution-tag-bg-sp.webp');
}
@media (min-width: 768px) {
  body.tax-solution-category-tag .l-page-solution-tag-hero-bg {
    --hero-bg: url('../images/tag/solution-tag-bg-pc.webp');
  }
}

body.tax-solution-use-tag .l-page-solution-tag-hero-bg {
  --hero-bg: url('../images/tag/solution-tag-bg-sp.webp');
}
@media (min-width: 768px) {
  body.tax-solution-use-tag .l-page-solution-tag-hero-bg {
    --hero-bg: url('../images/tag/solution-tag-bg-pc.webp');
  }
}

.l-page-solution-tag-hero-bg {
  position: relative;
  background-image: var(--hero-bg, none);
  background-size: cover;
}

/*
 共通ヘッダー
 */
.l-page-common-hero-bg {
  --hero-bg: url('../images/common/header-bg-sp.webp');
}
@media (min-width: 768px) {
  .l-page-common-hero-bg {
    --hero-bg: url('../images/common/header-bg-pc.webp');
  }
}

.l-page-common-hero-bg {
  position: relative;
  background-image: var(--hero-bg, none);
  background-size: cover;
}

/*
 404 Not Found（index.php）
 */
.l-page-error404-bg {
  position: relative;
  background-color: #fafdff;
}

/*
home
 */
.l-page-home-hero-bg {
  position: relative;
  background-image: var(--hero-bg, none), linear-gradient(180deg, #b5dfff 40%, #e6f3fc 70%, #fafdff);
  background-size: contain, auto;
  background-repeat: no-repeat, no-repeat;
  background-position: top center, top;
}

.c-common-contact-button {
  border-radius: 4px;
  background-color: #008bc5;
  border: 1px solid #FFF;
  display: flex;
  justify-content: center;
  padding: 10px 32px 12px;
  margin: 24px 0;
  color: #fff !important;
}
.c-common-contact-button:hover {
  opacity: 0.7;
}
.c-common-hero {
  padding: 0 16px 32px;
}
@media (min-width: 768px) {
  .c-common-hero {
    display: flex;
    flex-direction: column;
    padding: 0 80px 0 80px;
  }
}
.c-common-hero-breadcrumb {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  white-space: nowrap;
  gap: 8px;
  font-size: 16px;
  justify-content: flex-start;
  padding: 12px 0;
  overflow-x: auto;
  white-space: nowrap;
  -webkit-overflow-scrolling: touch;
}
@media (min-width: 768px) {
  .c-common-hero-breadcrumb {
    gap: max(16px, 16 * 0.078125vw);
    font-size: max(18px, 18 * 0.078125vw);
    align-items: center;
  }
}
.c-common-hero-breadcrumb-top {
  color: #003058 !important;
}
.c-common-hero-breadcrumb-parent {
  color: #FFF;
}
.c-common-hero-breadcrumb-separator-image {
  height: 16px;
  width: 16px;
}
.c-common-hero-breadcrumb-current {
  color: #687da8 !important;
}
.c-common-hero-breadcrumb-current-case-studies {
  color: #cdd5e3 !important;
}
.c-common-hero-lead {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  font-size: 74px;
  letter-spacing: -3px;
  line-height: 80px;
  font-weight: 200;
  font-family: "Oswald", sans-serif;
  color: #0097da;
  opacity: 0.3;
  padding: 0px 0px 44px 0px;
}
@media (min-width: 768px) {
  .c-common-hero-lead {
    padding-top: max(60px, 60 * 0.078125vw);
    font-size: max(130px, 130 * 0.078125vw);
    line-height: 100%;
  }
}
.c-common-hero-text {
  font-size: 24px;
  line-height: 160%;
  font-weight: 500;
}
@media (min-width: 768px) {
  .c-common-hero-text {
    font-size: max(32px, 32 * 0.078125vw);
    font-weight: 500;
  }
}
.c-common-back-to-top {
  width: fit-content;
}
@media (min-width: 768px) {
  .c-common-back-to-top {
    display: flex;
    justify-content: flex-start;
  }
}
.c-common-back-to-top-button {
  border-radius: 4px;
  border: 1px solid #1f2a44;
  text-align: center;
  font-size: 16px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 10px 32px 11px;
  gap: 10px;
}
.c-common-back-to-top-icon {
  height: 20px;
}
.c-common-back-to-top a:hover {
  color: #1f2a44;
  opacity: 0.7 !important;
}
.c-common-pagination .page-numbers {
  display: flex;
  gap: 8px;
  list-style: none;
  justify-content: center;
  align-items: center;
  padding: 0;
  font-size: 16px;
}
@media (min-width: 768px) {
  .c-common-pagination .page-numbers {
    font-size: max(24px, 24 * 0.078125vw);
  }
}
.c-common-pagination .page-numbers li {
  display: inline-block;
}
.c-common-pagination .page-numbers-div {
  position: relative;
  text-decoration: underline;
  line-height: 160%;
  font-weight: 500;
}
.c-common-pagination .page-numbers .current {
  color: #0097da;
  text-decoration: none;
}
.c-common-pagination .page-numbers-dots {
  border: none;
  padding: 8px;
}
.c-common-pagination .page-numbers-prev, .c-common-pagination .page-numbers-next {
  font-weight: bold;
}
.c-common-company-info-container {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin: max(40px, 40 * 0.2666666667vw) auto max(80px, 80 * 0.2666666667vw);
  padding: max(40px, 40 * 0.2666666667vw) 0px 0px;
  gap: max(20px, 20 * 0.2666666667vw);
  width: max(343px, 343 * 0.2666666667vw);
  border-top: 1px solid rgba(31, 42, 68, 0.1);
}
@media (min-width: 768px) {
  .c-common-company-info-container {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    margin: max(40px, 40 * 0.078125vw) auto max(80px, 80 * 0.078125vw);
    padding: max(40px, 40 * 0.078125vw) 0px 0px;
    gap: max(20px, 20 * 0.078125vw);
  }
}
.c-common-company-info-item {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: max(16px, 16 * 0.2666666667vw);
  width: max(343px, 343 * 0.2666666667vw);
  height: max(80px, 80 * 0.2666666667vw);
  background: #F0F9FF;
}
@media (min-width: 768px) {
  .c-common-company-info-item {
    padding: 0px max(16px, 16 * 0.078125vw) 0px 0px;
    gap: max(16px, 16 * 0.078125vw);
    width: max(360px, 360 * 0.078125vw);
    height: max(80px, 80 * 0.078125vw);
  }
}
.c-common-company-info-item > img {
  width: max(140px, 140 * 0.2666666667vw);
  border-radius: 4px;
}
@media (min-width: 768px) {
  .c-common-company-info-item > img {
    width: max(140px, 140 * 0.078125vw);
  }
}
.c-common-company-info-item-text {
  flex: 1;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  padding: 0px max(4px, 4 * 0.2666666667vw) 0px 0px;
  gap: max(12px, 12 * 0.2666666667vw);
  width: max(171px, 171 * 0.2666666667vw);
}
@media (min-width: 768px) {
  .c-common-company-info-item-text {
    padding: 0px max(4px, 4 * 0.078125vw) 0px 0px;
    gap: max(12px, 12 * 0.078125vw);
    width: max(188px, 188 * 0.078125vw);
  }
}
.c-common-company-info-item-text > p {
  margin-left: 0;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: max(16px, 16 * 0.2666666667vw);
  line-height: 160%;
  color: #1F2A44;
}
@media (min-width: 768px) {
  .c-common-company-info-item-text > p {
    font-size: max(16px, 16 * 0.078125vw);
  }
}
.c-common-company-info-item-text > img {
  margin-right: max(16px, 16 * 0.2666666667vw);
  width: max(24px, 24 * 0.2666666667vw);
  height: max(24px, 24 * 0.2666666667vw);
}
@media (min-width: 768px) {
  .c-common-company-info-item-text > img {
    margin-right: max(16px, 16 * 0.078125vw);
    width: max(24px, 24 * 0.078125vw);
    height: max(24px, 24 * 0.078125vw);
  }
}

@media (min-width: 768px) {
  .c-common-hero-breadcrumb {
    order: 1;
  }
  .c-common-hero-text {
    order: 2;
    padding: 16px 0 0 0;
    font-weight: 500;
  }
  .c-common-hero-lead {
    order: 3;
    justify-content: flex-end;
  }
}
.c-common-pagination .page-numbers li a,
.c-common-pagination .page-numbers li span {
  padding: 0px 12px;
  border: none;
  text-decoration: underline;
}

.l-partners {
  padding: 40px 16px 9px;
}
@media (min-width: 768px) {
  .l-partners {
    padding: max(120px, 120 * 0.078125vw) max(80px, 80 * 0.078125vw) max(80px, 80 * 0.078125vw);
  }
}

.c-partners-wrap {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 20px;
}
@media (min-width: 768px) {
  .c-partners-wrap {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: max(20px, 20 * 0.078125vw);
    align-items: center;
  }
}

.c-partners-item {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  background-color: #fff;
}
@media (min-width: 768px) {
  .c-partners-item {
    padding: max(20px, 20 * 0.078125vw);
  }
}
.c-partners-item-image img {
  padding: 0 18.5px;
  max-width: 240px;
}
@media (min-width: 768px) {
  .c-partners-item-image img {
    padding: 0 max(18.5px, 18.5 * 0.078125vw);
    max-width: max(240px, 240 * 0.078125vw);
  }
}
.c-partners-item-link-icon img {
  padding-left: 10px;
  width: 24px;
  height: 24px;
}
@media (min-width: 768px) {
  .c-partners-item-link-icon img {
    width: max(24px, 24 * 0.078125vw);
    height: max(24px, 24 * 0.078125vw);
  }
}

.c-partners-information {
  padding: 18px 16px 40px;
}
@media (min-width: 768px) {
  .c-partners-information {
    padding: max(0px, 0 * 0.078125vw) max(80px, 80 * 0.078125vw) max(60px, 60 * 0.078125vw);
  }
}
.c-partners-information-title {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 32px;
  line-height: 160%;
  font-weight: 500;
  color: #1f2a44;
  border-bottom: 1px solid rgba(31, 42, 68, 0.1);
  padding-bottom: 16px;
}
@media (min-width: 768px) {
  .c-partners-information-title {
    font-size: max(32px, 32 * 0.078125vw);
    padding-bottom: max(16px, 16 * 0.078125vw);
    justify-content: flex-start;
  }
}
.c-partners-information-text {
  font-size: 16px;
  line-height: 160%;
  font-weight: 500;
  color: #1f2a44;
  padding-top: 16px;
}
@media (min-width: 768px) {
  .c-partners-information-pdf-container {
    display: flex;
    justify-content: center;
  }
}
.c-partners-information-pdf {
  border-radius: max(4px, 4 * 0.2666666667vw);
  border: 1px solid #1f2a44;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 32px 16px;
  padding: max(10px, 10 * 0.2666666667vw) max(32px, 32 * 0.2666666667vw) max(11px, 11 * 0.2666666667vw);
  font-weight: 500;
  font-size: max(18px, 18 * 0.2666666667vw);
  line-height: 160%;
  color: #1f2a44;
}
@media (min-width: 768px) {
  .c-partners-information-pdf {
    margin: max(32px, 32 * 0.078125vw) 0;
    width: max(300px, 300 * 0.078125vw);
    padding: max(10px, 10 * 0.078125vw) max(32px, 32 * 0.078125vw) max(11px, 11 * 0.078125vw);
    border-radius: max(4px, 4 * 0.078125vw);
    font-size: max(18px, 18 * 0.078125vw);
  }
}
.c-partners-information-pdf:visited {
  color: #1f2a44;
  text-decoration: none;
}
.c-partners-information-pdf div {
  margin: 0 auto 0 max(16px, 16 * 0.2666666667vw);
  text-align: center;
  flex: 1;
}
@media (min-width: 768px) {
  .c-partners-information-pdf div {
    margin: 0 auto 0 max(16px, 16 * 0.078125vw);
  }
}
.c-partners-information-pdf-icon {
  width: max(32px, 32 * 0.2666666667vw);
  height: max(32px, 32 * 0.2666666667vw);
  margin-left: auto;
  position: relative;
}
@media (min-width: 768px) {
  .c-partners-information-pdf-icon {
    width: max(32px, 32 * 0.078125vw);
    height: max(32px, 32 * 0.078125vw);
  }
}

.p-navi {
  position: relative;
}
.p-navi-inner {
  display: flex;
  align-items: center;
  margin: 0px 16px 0px 12px;
  padding: 12px 0px 12px 0;
  justify-content: space-between;
}
@media (min-width: 900px) {
  .p-navi-inner {
    margin: 0 max(26px, 26 * 0.078125vw);
    display: flex;
    justify-content: space-between;
  }
}

.c-navi-logo {
  width: 100%;
  max-width: max(92.67px, 92.67 * 0.2666666667vw);
}
@media (min-width: 900px) {
  .c-navi-logo {
    max-width: max(120px, 120 * 0.078125vw);
  }
}
.c-navi-visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  white-space: nowrap;
}
.c-navi-humburger {
  width: 100%;
  min-width: max(32px, 32 * 0.2666666667vw);
}
.c-navi-menu-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 0.6px solid #f0f0f0;
}
.c-navi-menu-head-text {
  font-size: 16px;
  line-height: 160%;
  font-weight: 500;
  font-family: "Roboto", sans-serif;
}
.c-navi-menu-head-close-btn {
  width: 100%;
  max-width: max(32px, 32 * 0.2666666667vw);
}
.c-navi-menu-btn {
  width: 100%;
  max-width: max(24px, 24 * 0.2666666667vw);
  display: flex;
  justify-content: center;
}

#c-navi-menu-btn-check-id {
  display: none;
}
#c-navi-menu-btn-check-id:checked ~ #c-navi-menu-id {
  left: calc(100% - max(274px, 274 * 0.2666666667vw));
}
#c-navi-menu-btn-check-id:checked ~ .c-navi-menu-btn span::before {
  bottom: 0;
  transform: rotate(45deg);
}
#c-navi-menu-btn-check-id:checked ~ .c-navi-menu-btn span::after {
  top: 0;
  transform: rotate(-45deg);
}

#c-navi-menu-id {
  width: 100%;
  height: 100vh;
  max-width: max(242px, 242 * 0.2666666667vw);
  position: fixed;
  top: 0;
  right: 0;
  left: 100%;
  z-index: 10;
  background-color: #FFF;
  transition: all 0.2s;
  overflow: auto;
  color: #1f2a44;
  padding: max(12px, 12 * 0.2666666667vw) max(16px, 16 * 0.2666666667vw);
}
#c-navi-menu-id ul {
  margin: 0;
  padding: max(24px, 24 * 0.2666666667vw) 0;
}
#c-navi-menu-id ul li {
  padding: max(16px, 16 * 0.2666666667vw) 0;
  border-bottom: 0.6px solid #f0f0f0;
  list-style: none;
}

@media (min-width: 900px) {
  #c-navi-menu-id,
  .c-navi-menu-btn {
    display: none;
  }
}

.c-navi-menu-pc {
  display: none;
}
@media (min-width: 900px) {
  .c-navi-menu-pc {
    display: flex;
    flex: 1;
    justify-content: center;
    margin: 0 auto;
  }
  .c-navi-menu-pc ul {
    display: flex;
    gap: max(32px, 32 * 0.078125vw);
  }
  .c-navi-menu-pc li {
    list-style: none;
    position: relative;
    font-size: max(16px, 16 * 0.078125vw);
    line-height: 200%;
    font-weight: 500;
    font-family: "Noto Sans JP";
    color: #1f2a44;
    text-align: left;
  }
}

.c-navi-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.25);
  opacity: 0;
  visibility: hidden;
  transition: 0.2s;
  z-index: 5;
}

#c-navi-menu-btn-check-id:checked ~ .c-navi-overlay {
  opacity: 1;
  visibility: visible;
}

.c-navi-contact-us {
  display: none;
}
@media (min-width: 900px) {
  .c-navi-contact-us {
    border-radius: 4px;
    background-color: #008bc5;
    padding: 10px 32px 12px;
    color: #fff !important;
    padding: 0;
    width: max(172px, 172 * 0.078125vw);
    height: max(44px, 44 * 0.078125vw);
    font-size: max(18px, 18 * 0.078125vw);
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .c-navi-contact-us:hover {
    opacity: 0.7;
  }
}
@media (min-width: 900px) {
  .c-navi-contact-us--recruit {
    background: none;
    border: 1px solid #FFFFFF;
  }
}

body.page-template-recruit .p-navi {
  position: absolute;
  width: 100%;
  background: transparent;
  z-index: 5;
}
body.page-template-recruit .c-navi-menu-pc li a {
  color: #fff;
  font-weight: 500;
}

.p-footer {
  width: 100%;
  border-radius: max(24px, 24 * 0.2666666667vw) max(24px, 24 * 0.2666666667vw) 0px 0px;
  background-color: #fafdff;
  margin-top: max(-45px, -45 * 0.2666666667vw);
}
@media (min-width: 768px) {
  .p-footer {
    border-radius: max(40px, 40 * 0.078125vw) max(40px, 40 * 0.078125vw) 0px 0px;
    margin-top: max(-45px, -45 * 0.078125vw);
  }
}
.p-footer-inner {
  padding: max(64px, 64 * 0.2666666667vw) max(16px, 16 * 0.2666666667vw) max(40px, 40 * 0.2666666667vw);
  font-size: max(12px, 12 * 0.2666666667vw);
}
@media (min-width: 768px) {
  .p-footer-inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: max(24px, 24 * 0.078125vw);
    padding: max(120px, 120 * 0.078125vw) max(80px, 80 * 0.078125vw) max(80px, 80 * 0.078125vw);
    font-size: max(12px, 12 * 0.078125vw);
  }
}

.c-footer-top {
  font-size: max(40px, 40 * 0.2666666667vw);
  line-height: 90%;
  text-transform: capitalize;
  font-weight: 300;
  font-family: "Roboto", sans-serif;
}
@media (min-width: 768px) {
  .c-footer-top {
    font-size: max(40px, 40 * 0.078125vw);
    line-height: 160%;
    grid-column: 1/3;
  }
}
.c-footer-top p {
  margin: 0;
}
@media (min-width: 768px) {
  .c-footer-lists {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
  }
}
@media (min-width: 768px) and (min-width: 768px) {
  .c-footer-lists {
    padding-top: max(40px, 40 * 0.078125vw);
    gap: max(24px, 24 * 0.078125vw);
  }
}
.c-footer-list {
  padding-top: 40px;
}
@media (min-width: 768px) {
  .c-footer-list {
    padding-top: 0;
  }
}
.c-footer-list-title {
  border-bottom: 1px solid rgba(31, 42, 68, 0.25);
  font-size: max(12px, 12 * 0.2666666667vw);
  font-family: "Roboto", sans-serif;
  letter-spacing: max(2.4px, 2.4 * 0.2666666667vw);
  line-height: max(18px, 18 * 0.2666666667vw);
  font-weight: 500;
  padding: max(11px, 11 * 0.2666666667vw) 0px;
}
@media (min-width: 768px) {
  .c-footer-list-title {
    font-size: max(12px, 12 * 0.078125vw);
    line-height: max(18px, 18 * 0.078125vw);
    padding: max(11px, 11 * 0.078125vw) 0px;
  }
}
.c-footer-list-subtitle-container {
  padding-top: max(16px, 16 * 0.2666666667vw);
}
@media (min-width: 768px) {
  .c-footer-list-subtitle-container {
    padding-top: max(16px, 16 * 0.078125vw);
  }
}
.c-footer-list-subtitle {
  font-size: max(12px, 12 * 0.2666666667vw);
  font-family: "Roboto", sans-serif;
}
@media (min-width: 768px) {
  .c-footer-list-subtitle {
    display: block;
    font-size: max(14px, 14 * 0.078125vw);
    line-height: 200%;
  }
}
.c-footer-list-solution {
  list-style: none;
  padding: 0;
  margin: 0;
}
.c-footer-list-solution li {
  padding: max(20px, 20 * 0.2666666667vw) 0px 0px max(16px, 16 * 0.2666666667vw);
  opacity: 0.8;
  text-align: left;
  font-size: max(14px, 14 * 0.2666666667vw);
  line-height: 150%;
}
@media (min-width: 768px) {
  .c-footer-list-solution li {
    padding: max(12px, 12 * 0.078125vw) 0px 0px max(16px, 16 * 0.078125vw);
    font-size: max(14px, 14 * 0.078125vw);
  }
}
.c-footer-list-solution li > a > span {
  color: #626262;
}
.c-footer-list-company {
  list-style: none;
  padding: max(16px, 16 * 0.2666666667vw) 0px 0px 0px;
  margin: 0;
}
@media (min-width: 768px) {
  .c-footer-list-company {
    padding: max(16px, 16 * 0.078125vw) 0px 0px 0px;
  }
}
.c-footer-list-company li {
  opacity: 0.8;
  text-align: left;
  font-size: max(16px, 16 * 0.2666666667vw);
  line-height: 200%;
  padding-bottom: max(20px, 20 * 0.2666666667vw);
}
@media (min-width: 768px) {
  .c-footer-list-company li {
    font-size: max(14px, 14 * 0.078125vw);
    padding-bottom: max(12px, 12 * 0.078125vw);
  }
}
@media (min-width: 768px) {
  .c-footer-info {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-end;
  }
}
.c-footer-company {
  padding-top: max(44px, 44 * 0.2666666667vw);
}
.c-footer-company p {
  margin: 0;
  width: 100%;
  font-size: max(11px, 11 * 0.2666666667vw);
  letter-spacing: max(0.88px, 0.88 * 0.2666666667vw);
  line-height: max(22px, 22 * 0.2666666667vw);
}
@media (min-width: 768px) {
  .c-footer-company p {
    font-size: max(11px, 11 * 0.078125vw);
    line-height: max(22px, 22 * 0.078125vw);
  }
}
.c-footer-map {
  display: flex;
  justify-content: flex-end;
  padding: max(16px, 16 * 0.2666666667vw) 0px max(40px, 40 * 0.2666666667vw) 0px;
}
@media (min-width: 768px) {
  .c-footer-map {
    padding: 0;
    align-self: flex-end;
    padding-top: max(16px, 16 * 0.078125vw);
  }
}
.c-footer-map-container {
  border-bottom: 1px solid rgba(0, 48, 88, 0.1);
  display: flex;
  align-items: center;
  padding-bottom: max(11px, 11 * 0.2666666667vw);
  cursor: pointer;
}
@media (min-width: 768px) {
  .c-footer-map-container {
    padding-bottom: max(11px, 11 * 0.078125vw);
  }
}
.c-footer-map-container-title {
  letter-spacing: max(2.4px, 2.4 * 0.2666666667vw);
  font-weight: 500;
  font-family: "Roboto", sans-serif;
  padding-right: max(16px, 16 * 0.2666666667vw);
}
@media (min-width: 768px) {
  .c-footer-map-container-title {
    font-size: max(12px, 12 * 0.078125vw);
    line-height: max(18px, 18 * 0.078125vw);
    letter-spacing: max(2.4px, 2.4 * 0.078125vw);
    padding-right: max(16px, 16 * 0.078125vw);
  }
}
.c-footer-map-container-icon {
  display: flex;
  align-items: center;
  max-width: max(14px, 14 * 0.2666666667vw);
  padding-right: max(16px, 16 * 0.2666666667vw);
}
@media (min-width: 768px) {
  .c-footer-map-container-icon {
    max-width: max(14px, 14 * 0.078125vw);
    padding-right: max(20px, 20 * 0.078125vw);
  }
}
.c-footer-copyright {
  font-size: max(10px, 10 * 0.2666666667vw);
  letter-spacing: 1px;
  line-height: 160%;
  text-transform: uppercase;
  font-family: "Roboto", sans-serif;
  text-align: right;
}
@media (min-width: 768px) {
  .c-footer-copyright {
    grid-column: 1/3;
    padding-top: max(16px, 16 * 0.078125vw);
    font-size: max(10px, 10 * 0.078125vw);
    letter-spacing: max(2px, 2 * 0.078125vw);
  }
}

.c-home-hero-bottom {
  display: flex;
  flex-direction: column;
}
@media (min-width: 768px) {
  .c-home-hero-bottom {
    display: flex;
    flex-direction: row;
    align-items: center;
  }
}

.c-home-hero-movie {
  order: 2;
}
@media (min-width: 768px) {
  .c-home-hero-movie {
    order: initial;
  }
}

.c-home-hero-pagination {
  order: 1;
}
@media (min-width: 768px) {
  .c-home-hero-pagination {
    order: initial;
    margin-left: auto;
  }
}

.l-home-sky__inner {
  position: relative;
}

/*
  PC版ソリューションセクション grid
 */
@media (min-width: 900px) {
  .l-home-solution__inner {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-template-rows: max(440px, 440 * 0.078125vw) max(320px, 320 * 0.078125vw) max(320px, 320 * 0.078125vw);
    gap: max(12px, 12 * 0.078125vw);
    min-width: max(768px, 768 * 0.078125vw);
  }
}

/* header */
@media (min-width: 900px) {
  .c-home-solution-header {
    grid-column: 1;
    grid-row: 1;
  }
}

/* 1番目（横2カラム） */
@media (min-width: 768px) {
  .c-home-solution-list-item:nth-child(1) {
    grid-column: 2/4;
    grid-row: 1;
  }
}

/* 2〜4 */
@media (min-width: 768px) {
  .c-home-solution-list-item:nth-child(2) {
    grid-column: 1;
    grid-row: 2;
  }
}

@media (min-width: 768px) {
  .c-home-solution-list-item:nth-child(3) {
    grid-column: 2;
    grid-row: 2;
  }
}

@media (min-width: 768px) {
  .c-home-solution-list-item:nth-child(4) {
    grid-column: 3;
    grid-row: 2;
  }
}

/* 5〜6 */
@media (min-width: 768px) {
  .c-home-solution-list-item:nth-child(5) {
    grid-column: 1;
    grid-row: 3;
  }
}

@media (min-width: 768px) {
  .c-home-solution-list-item:nth-child(6) {
    grid-column: 2;
    grid-row: 3;
  }
}

/* all solutions */
@media (min-width: 768px) {
  .c-home-solution-all-solutions {
    grid-column: 3;
    grid-row: 3;
  }
}

.p-home-hero {
  overflow: hidden;
}

.p-home-solution {
  padding: 64px 16px;
}
@media (min-width: 768px) {
  .p-home-solution {
    padding: max(160px, 160 * 0.078125vw) max(80px, 80 * 0.078125vw);
  }
}

.c-home-navi-link {
  display: flex;
  justify-content: flex-end;
}
.c-home-navi-link-anchor {
  width: 60.5%;
  border-bottom: 1px solid rgba(0, 48, 88, 0.1);
  padding-bottom: 12px;
  display: flex;
  justify-content: flex-end;
  gap: 16px;
  align-items: center;
}
@media (min-width: 768px) {
  .c-home-navi-link-anchor {
    width: max(296px, 296 * 0.078125vw);
  }
}
.c-home-navi-link-anchor:hover .c-home-navi-link-icon-default {
  opacity: 0;
}
.c-home-navi-link-anchor:hover .c-home-navi-link-icon-hover {
  opacity: 1;
}
.c-home-navi-link-text {
  font-size: 12px;
  letter-spacing: 2.4px;
  font-weight: 500;
  font-family: "Roboto", sans-serif;
}
.c-home-navi-link-icon {
  width: 14px;
  height: 14px;
  transform: translateY(-4px);
}
.c-home-navi-link-icon picture {
  position: absolute;
}
.c-home-navi-link-icon picture img {
  width: 100%;
  height: 100%;
}
.c-home-navi-link-icon-hover {
  opacity: 0;
}
.c-home-hero-link-container {
  padding: 16px;
  position: absolute;
  right: 0;
  bottom: -60px;
  width: 50%;
}
@media (min-width: 768px) {
  .c-home-hero-link-container {
    position: static;
    width: 100%;
    padding: 0;
  }
}
.c-home-hero-link-container-view-solution {
  position: relative;
  display: flex;
  justify-content: flex-end;
}
@media (min-width: 768px) {
  .c-home-hero-link-container-view-solution {
    justify-content: flex-start;
  }
}
.c-home-hero-link-container-view-solution-anchor {
  border-bottom: 1px solid rgba(0, 48, 88, 0.1);
  padding-bottom: 12px;
  display: flex;
  justify-content: center;
  gap: 16px;
  transition: gap 0.12s linear, transform 0.12s linear;
}
.c-home-hero-link-container-view-solution-anchor:hover {
  border-bottom: 1px solid rgba(0, 48, 88, 0.1);
  gap: 24px;
  transform: translateX(8px);
}
.c-home-hero-link-container-view-solution-anchor:hover .c-home-hero-link-container-view-solution-icon .c-home-hero-link-container-view-solution-icon-default {
  opacity: 0;
}
.c-home-hero-link-container-view-solution-anchor:hover .c-home-hero-link-container-view-solution-icon .c-home-hero-link-container-view-solution-icon-hover {
  opacity: 1;
}
.c-home-hero-link-container-view-solution-icon {
  position: relative;
  width: 14px;
  height: 14px;
}
.c-home-hero-link-container-view-solution-icon img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  transition: opacity 0.3s ease;
}
.c-home-hero-link-container-view-solution-icon-hover {
  opacity: 0;
}
.c-home-hero-link-container-view-solution-text {
  font-size: 12px;
  letter-spacing: 2.4px;
  font-weight: 500;
  font-family: "Roboto", sans-serif;
}
@media (min-width: 768px) {
  .c-home-hero-left {
    display: flex;
    flex-direction: column;
    padding-left: max(80px, 80 * 0.078125vw);
    padding-right: max(16px, 16 * 0.078125vw);
    padding-top: max(32px, 32 * 0.078125vw);
  }
}
.c-home-hero-left-title {
  font-size: 40px;
  line-height: 120%;
  font-weight: 300;
  padding: 35px 16px 0;
  display: flex;
  align-items: center;
}
@media (min-width: 768px) {
  .c-home-hero-left-title {
    font-size: max(72px, 72 * 0.078125vw);
    letter-spacing: 0.04em;
    line-height: 140%;
    font-weight: 300;
    padding: 0;
  }
  .c-home-hero-left-title.is-6 {
    font-size: max(62px, 62 * 0.078125vw);
  }
}
.c-home-hero-left-image {
  width: max(292px, 292 * 0.2666666667vw);
  padding: 0px 16px 0;
}
@media (min-width: 768px) {
  .c-home-hero-left-image {
    width: max(487px, 487 * 0.078125vw);
    padding: 0;
  }
}
.c-home-hero-left-text {
  font-size: max(14px, 14 * 0.2666666667vw);
  line-height: 160%;
  font-weight: 500;
  color: #52677c;
  padding: 8px 16px 0;
  text-wrap: pretty;
  overflow-wrap: break-word;
}
.c-home-hero-left-text span {
  display: block;
}
@media (min-width: 768px) {
  .c-home-hero-left-text {
    font-size: calc(16 * 0.078125vw);
    line-height: 160%;
    font-weight: 500;
    padding: max(8px, 8 * 0.078125vw) 0 max(112px, 112 * 0.078125vw);
  }
}
@media (min-width: 768px) {
  .c-home-hero-right {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding-left: max(16px, 16 * 0.078125vw);
    z-index: 0;
  }
}
.c-home-hero-right-image {
  cursor: pointer;
  width: 100%;
  transform: translateZ(0);
}
@media (min-width: 768px) {
  .c-home-hero-right-image {
    width: max(526px, 526 * 0.078125vw);
  }
}
.c-home-hero-right-image:hover {
  opacity: 0.7;
}
.c-home-hero-pagination {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 16px;
  padding: 101.34px 0 12px;
}
@media (min-width: 768px) {
  .c-home-hero-pagination {
    width: 27%;
    padding-top: max(16px, 16 * 0.078125vw);
    display: flex;
    justify-content: flex-end;
  }
}
.c-home-hero-movie {
  position: static;
  display: flex;
  justify-content: right;
  padding-right: 24px;
}
@media (min-width: 768px) {
  .c-home-hero-movie {
    position: absolute;
    right: max(28px, 28 * 0.078125vw);
    bottom: max(65px, 65 * 0.078125vw);
    z-index: 10;
  }
}
.c-home-hero-movie-image {
  width: 80px;
  cursor: pointer;
}
@media (min-width: 768px) {
  .c-home-hero-movie-image {
    width: max(127px, 127 * 0.078125vw);
  }
}
.c-home-hero-movie-image:hover {
  opacity: 0.7;
}
.c-home-video-modal {
  position: fixed;
  inset: 0;
  background: rgba(0, 30, 58, 0.82);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
  opacity: 0;
  visibility: hidden;
  transition: 0.3s;
}
.c-home-video-modal.is-open {
  opacity: 1;
  visibility: visible;
}
.c-home-video-modal__inner {
  position: relative;
  width: 100%;
  max-width: 755px;
}
.c-home-video-modal__video {
  position: relative;
  padding-top: 56.25%;
  background: #000;
  overflow: hidden;
  z-index: 1;
}
.c-home-video-modal__video iframe, .c-home-video-modal__video video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.c-home-video-modal__close {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 50;
  padding: 8px 5.4px 0 0;
}
.c-home-video-modal__close-area {
  display: flex;
  flex-direction: column;
  align-items: center;
  cursor: pointer;
}
.c-home-video-modal__close-area-image {
  width: 24px;
  height: 24px;
}
.c-home-video-modal__close-area-image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
}
.c-home-video-modal__close-area-text {
  color: #fff;
  cursor: pointer;
}
.c-home-sky-bg {
  mix-blend-mode: normal;
  height: calc(100vh + 10px);
  will-change: transform;
  background: url("../images/home/sky-sp.webp");
  background-size: cover;
  background-repeat: no-repeat;
  position: sticky;
  top: 0px;
  left: 0;
  width: 100%;
}
@media (min-width: 768px) {
  .c-home-sky-bg {
    height: calc(100vh + 2px);
    background-image: url("../images/home/sky-pc.webp");
  }
}
.c-home-sky-title {
  font-size: 64px;
  line-height: 120%;
  font-weight: 300;
  padding-bottom: 32px;
}
@media (min-width: 768px) {
  .c-home-sky-title {
    font-size: max(100px, 100 * 0.078125vw);
    line-height: max(85px, 85 * 0.078125vw);
    text-transform: capitalize;
    font-weight: 300;
    font-family: "Roboto", sans-serif;
  }
}
.c-home-sky-image {
  width: 100%;
  box-shadow: 0px 11.22382164px 22.45px -5.39px rgba(31, 42, 68, 0.05);
  border-radius: 7.18px;
  background-color: #eaf6fb;
  overflow: hidden;
}
@media (min-width: 768px) {
  .c-home-sky-image {
    width: max(764px, 764 * 0.078125vw);
  }
}
.c-home-sky-message {
  border-left: 1px solid #fff;
  display: flex;
  flex-direction: column;
  padding: 0px 0px 0px 16px;
  gap: 24px;
  font-size: 16px;
  margin-top: 32px;
}
.c-home-sky-message-first {
  border-left: 1px solid #fff;
  margin-top: 32px;
  padding: 0px 0px 0px 16px;
}
@media (min-width: 768px) {
  .c-home-sky-message-first {
    border-left: 1px solid #fff;
    padding: 0px 0px 0px 16px;
    position: absolute;
    top: 52%;
    left: max(80px, 80 * 0.078125vw);
    z-index: 2;
    max-width: 36%;
  }
}
.c-home-sky-message-second {
  border-left: 1px solid #fff;
  margin-top: 32px;
  padding: 0px 0px 0px 16px;
}
@media (min-width: 768px) {
  .c-home-sky-message-second {
    border-left: 1px solid #fff;
    padding: 0px 0px 0px 16px;
    position: absolute;
    top: 56%;
    right: 80px;
    z-index: 2;
    max-width: 36%;
  }
}
.c-home-sky-message-highlight {
  font-size: 20px;
  line-height: 160%;
  font-weight: 500;
  font-family: "Noto Sans JP", sans-serif;
  padding-bottom: max(24px, 24 * 0.2666666667vw);
}
@media (min-width: 768px) {
  .c-home-sky-message-highlight {
    font-size: max(24px, 24 * 0.078125vw);
    line-height: 160%;
    font-weight: 500;
    padding-bottom: max(24px, 24 * 0.078125vw);
  }
}
.c-home-sky-message-text {
  line-height: 200%;
  font-weight: 500;
}
@media (min-width: 768px) {
  .c-home-sky-message-text {
    font-size: max(16px, 16 * 0.078125vw);
    line-height: 200%;
    font-family: "Noto Sans JP", sans-serif;
  }
}
.c-home-sky-overlay {
  position: relative;
  z-index: 1;
}
.c-home-sky-first {
  background: linear-gradient(180deg, rgba(0, 48, 88, 0), rgba(0, 48, 88, 0.25) 20%, rgba(0, 48, 88, 0.5));
  padding: 80px 16px;
  color: #fff;
  font-family: "Roboto", sans-serif;
  margin-top: -5px;
}
@media (min-width: 768px) {
  .c-home-sky-first {
    position: relative;
    display: block;
    padding: 160px 80px;
  }
}
@media (min-width: 768px) {
  .c-home-sky-first-left {
    position: absolute;
    top: 22%;
    left: 80px;
    z-index: 2;
    max-width: 40%;
  }
}
@media (min-width: 768px) {
  .c-home-sky-first-right {
    width: 100%;
    display: flex;
    justify-content: flex-end;
  }
}
.c-home-sky-second {
  background: linear-gradient(180deg, rgba(0, 48, 88, 0.5) 0%, rgba(0, 48, 88, 0.35) 60%, rgba(250, 253, 255, 0.3) 92%, #FAFDFF 100%);
  display: flex;
  flex-direction: column;
  padding: 80px 16px;
  text-align: left;
  color: #fff;
  font-family: "Roboto", sans-serif;
}
@media (min-width: 768px) {
  .c-home-sky-second {
    position: relative;
    display: block;
    padding: max(160px, 160 * 0.078125vw) max(80px, 80 * 0.078125vw);
  }
}
@media (min-width: 768px) {
  .c-home-sky-second-left {
    position: absolute;
    top: 16%;
    right: max(80px, 80 * 0.078125vw);
    z-index: 2;
    width: 36%;
    max-width: 36%;
    display: flex;
    justify-content: flex-start;
  }
}
@media (min-width: 768px) {
  .c-home-sky-second-right {
    width: 100%;
  }
}
.c-home-solution-title {
  font-size: 52px;
  font-family: "Roboto", sans-serif;
  letter-spacing: 0.02em;
  line-height: 90%;
  font-weight: 300;
}
@media (min-width: 900px) {
  .c-home-solution-title {
    font-size: max(64px, 64 * 0.078125vw);
    line-height: 90%;
  }
}
.c-home-solution-text {
  font-size: 16px;
  line-height: 200%;
  padding-top: 19.99px;
  font-weight: 500;
}
@media (min-width: 900px) {
  .c-home-solution-text {
    font-size: max(16px, 16 * 0.078125vw);
    line-height: 160%;
    padding-top: max(32px, 32 * 0.078125vw);
  }
}
.c-home-solution-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding-top: 39.99px;
}
@media (min-width: 900px) {
  .c-home-solution-list {
    display: contents;
    gap: max(12px, 12 * 0.078125vw);
  }
}
.c-home-solution-list p {
  margin: 0;
}
.c-home-solution-list-item {
  position: relative;
  overflow: hidden;
  border-radius: 16px;
  transition: transform 0.7s ease, box-shadow 0.7s ease;
  cursor: pointer;
}
.c-home-solution-list-item a {
  text-decoration: none;
  color: inherit;
}
.c-home-solution-list-item:hover {
  border-radius: 18px;
  transform: translateY(-8px);
  box-shadow: 0px 8px 24px rgba(0, 0, 0, 0.15);
}
.c-home-solution-list-item-bg {
  width: 100%;
  height: auto;
  display: block;
}
@media (min-width: 768px) {
  .c-home-solution-list-item-bg {
    height: 100%;
    object-fit: cover;
  }
}
.c-home-solution-list-item-contents {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  padding: 24px 16px;
  overflow: hidden;
}
@media (min-width: 768px) {
  .c-home-solution-list-item-contents {
    padding: max(24px, 24 * 0.078125vw);
  }
}
@media (min-width: 768px) {
  .c-home-solution-list-item:nth-child(1) .c-home-solution-list-item-contents {
    padding: max(40px, 40 * 0.078125vw);
  }
}
.c-home-solution-list-item-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-shrink: 0;
  margin-top: auto;
}
.c-home-solution-list-item-header-left {
  display: flex;
  flex-direction: column;
}
.c-home-solution-list-item-header-title {
  width: 100%;
  font-size: 20px;
  line-height: 160%;
}
@media (min-width: 900px) {
  .c-home-solution-list-item-header-title {
    font-size: max(24px, 24 * 0.078125vw);
    line-height: 160%;
    font-weight: 500;
  }
}
.c-home-solution-list-item-header-image {
  height: 43px;
}
@media (min-width: 900px) {
  .c-home-solution-list-item-header-image {
    height: max(43px, 43 * 0.078125vw);
  }
}
.c-home-solution-list-item-en-image.is-1line {
  height: 24px;
}
@media (min-width: 900px) {
  .c-home-solution-list-item-en-image.is-1line {
    height: max(24px, 24 * 0.078125vw);
  }
}
.c-home-solution-list-item-en-image.is-2line {
  height: 48px;
}
@media (min-width: 900px) {
  .c-home-solution-list-item-en-image.is-2line {
    height: max(48px, 48 * 0.078125vw);
  }
}
.c-home-solution-list-item-en-image.is-3line {
  height: 72px;
}
@media (min-width: 900px) {
  .c-home-solution-list-item-en-image.is-3line {
    height: max(48px, 48 * 0.078125vw);
  }
}
.c-home-solution-list-item-bottom-border {
  background-color: #1f2a44;
  padding: 1px 1px 0px;
  opacity: 0.1;
  margin: 8px 0;
  flex-shrink: 0;
}
.c-home-solution-list-item-text {
  font-size: 16px;
  line-height: 200%;
  opacity: 0.7;
  display: -webkit-box;
  -webkit-box-orient: vertical;
}
@media (min-width: 900px) {
  .c-home-solution-list-item-text {
    font-size: max(14px, 14 * 0.078125vw);
    line-height: 200%;
    font-weight: 500;
  }
}
.c-home-solution-all-solutions {
  border-radius: 16px;
  padding: 32px 24px;
  font-size: 40px;
  background-color: #f0f9ff;
  line-height: 90%;
  margin: 12px 0 64px;
  position: relative;
}
@media (min-width: 900px) {
  .c-home-solution-all-solutions {
    margin: 0;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    font-size: max(40px, 40 * 0.078125vw);
  }
}
@media (min-width: 900px) {
  .c-home-solution-all-solutions a {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    width: 100%;
    height: 100%;
  }
}
.c-home-solution-all-solutions:hover {
  cursor: pointer;
  box-shadow: 0px 8px 24px rgba(0, 0, 0, 0.15);
  color: #008bc5;
  transform: translateY(-8px);
}
.c-home-solution-all-solutions-text {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  font-weight: 300;
  font-family: "Roboto", sans-serif;
}
@media (min-width: 768px) {
  .c-home-solution-all-solutions-text {
    width: 100%;
  }
}
.c-home-solution-all-solutions-icon {
  width: 40px;
}
@media (min-width: 900px) {
  .c-home-solution-all-solutions-icon {
    width: max(40px, 40 * 0.078125vw);
  }
}
@media (min-width: 900px) {
  .c-home-case-studies-container {
    margin-inline: auto;
    max-width: max(1008px, 1008 * 0.078125vw);
    position: relative;
  }
}
.c-home-case-studies__inner {
  padding: 64px 16px 64px;
}
@media (min-width: 768px) {
  .c-home-case-studies__inner {
    padding: max(160px, 160 * 0.078125vw) max(80px, 80 * 0.078125vw);
  }
}
.c-home-case-studies-header {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
@media (min-width: 768px) {
  .c-home-case-studies-header {
    gap: max(16px, 16 * 0.078125vw);
  }
}
.c-home-case-studies-header-title {
  position: relative;
  font-size: 40px;
  line-height: 90%;
  text-transform: capitalize;
  font-weight: 300;
  font-family: Roboto;
  color: #8F94A1;
  text-align: left;
  word-break: break-word;
}
@media (min-width: 768px) {
  .c-home-case-studies-header-title {
    font-size: max(40px, 40 * 0.078125vw);
    line-height: 90%;
  }
}
.c-home-case-studies-header-text {
  font-size: 28px;
  letter-spacing: 1.12px;
  line-height: 44.8px;
  word-break: break-word;
}
@media (min-width: 768px) {
  .c-home-case-studies-header-text {
    font-size: max(40px, 40 * 0.078125vw);
  }
}
.c-home-case-studies-list {
  padding-top: 32px;
  display: flex;
}
.c-home-case-studies-list a {
  text-decoration: none;
  color: inherit;
}
.c-home-case-studies-list-item {
  display: flex;
  border-radius: 12px;
  background-color: #f0f9ff;
  align-items: flex-start;
  font-size: 16px;
  padding-bottom: 16px;
}
@media (min-width: 768px) {
  .c-home-case-studies-list-item-left {
    width: 60%;
    flex-shrink: 0;
    position: relative;
    aspect-ratio: 16/9;
    overflow: hidden;
  }
}
.c-home-case-studies-list-item-right {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-left: 20px;
}
@media (min-width: 768px) {
  .c-home-case-studies-list-item-right {
    flex: 1;
    padding: 0px max(24px, 24 * 0.078125vw);
  }
}
@media (min-width: 768px) {
  .c-home-case-studies-list-item {
    padding-bottom: 0;
    height: max(318px, 318 * 0.078125vw);
  }
}
@media (min-width: 768px) {
  .c-home-case-studies-list-item-container {
    display: flex;
    align-items: stretch;
    height: 100%;
  }
}
.c-home-case-studies-list-item-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 12px 12px 0px 0px;
}
@media (min-width: 768px) {
  .c-home-case-studies-list-item-image {
    position: absolute;
    inset: 0;
    border-radius: 12px 0px 0px 12px;
  }
}
.c-home-case-studies-list-item-title {
  line-height: 160%;
  padding: 16px 0px 0;
}
@media (min-width: 768px) {
  .c-home-case-studies-list-item-title {
    font-size: max(24px, 24 * 0.078125vw);
    line-height: 160%;
  }
}
.c-home-case-studies-list-item-text {
  font-size: 16px;
  line-height: 160%;
  color: #52677c;
  padding: 8px 0px;
  border-bottom: 1px solid rgba(31, 42, 68, 0.1);
}
@media (min-width: 768px) {
  .c-home-case-studies-list-item-text {
    padding: max(16px, 16 * 0.078125vw) 0px;
  }
}
.c-home-case-studies-list-item-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  padding: 8px 8px 0 0px;
}
@media (min-width: 768px) {
  .c-home-case-studies-list-item-tags {
    padding: max(16px, 16 * 0.078125vw) 0px 0px 0px;
  }
}
.c-home-case-studies-list-item-tags-tag {
  border-radius: 4px;
  height: 28px;
  display: flex;
  align-items: center;
  padding: 8px 8px 10px;
  box-sizing: border-box;
  font-size: 12px;
  font-weight: 500;
  color: #008bc5;
  background-color: #fff;
}
@media (min-width: 768px) {
  .c-home-case-studies-list-item-tags-tag {
    font-size: max(12px, 12 * 0.078125vw);
    padding: max(8px, 8 * 0.078125vw) max(8px, 8 * 0.078125vw) max(10px, 10 * 0.078125vw);
  }
}
.c-home-case-studies-list-item-tags-tag-frame {
  height: 28px;
  border-radius: 4px;
  background-color: rgba(0, 151, 218, 0.8);
  display: flex;
  align-items: center;
  padding: 8px 8px 10px;
  box-sizing: border-box;
  text-align: left;
  font-size: 12px;
  font-weight: 500;
  color: #fff;
  font-family: "Noto Sans JP";
}
@media (min-width: 768px) {
  .c-home-case-studies-list-item-tags-tag-frame {
    font-size: max(12px, 12 * 0.078125vw);
    padding: max(8px, 8 * 0.078125vw) max(8px, 8 * 0.078125vw) max(10px, 10 * 0.078125vw);
    font-weight: 500;
  }
}
@media (min-width: 768px) {
  .c-home-case-studies-list-item-tags.is-padding {
    padding: max(8px, 8 * 0.078125vw) 0px 0px max(16px, 16 * 0.078125vw);
  }
}
.c-home-case-studies-pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 40px;
  margin-top: 24px;
}
@media (min-width: 768px) {
  .c-home-case-studies-pagination {
    margin-top: 40px;
  }
}
.c-home-case-studies-pagination-icon {
  cursor: pointer;
  width: 40px;
}
@media (min-width: 768px) {
  .c-home-case-studies-pagination-icon {
    width: max(48px, 48 * 0.078125vw);
  }
}
.c-home-case-studies-pagination-icon:hover {
  opacity: 0.7;
}
.c-home-all-case-studies-container {
  padding-top: 32px;
}
@media (min-width: 768px) {
  .c-home-news-container {
    display: flex;
    align-items: center;
  }
}
.c-home-news__inner {
  background-color: #fafdff;
  padding: 64px 16px 64px;
}
@media (min-width: 768px) {
  .c-home-news__inner {
    padding: max(160px, 160 * 0.078125vw) max(80px, 80 * 0.078125vw);
  }
}
.c-home-news-header {
  font-size: 40px;
  line-height: 90%;
  font-weight: 300;
  font-family: "Roboto", sans-serif;
  padding-bottom: 28px;
}
@media (min-width: 768px) {
  .c-home-news-header {
    font-size: max(40px, 40 * 0.078125vw);
    min-width: max(250px, 250 * 0.078125vw);
  }
}
.c-home-news-list {
  gap: 10px;
}
@media (min-width: 768px) {
  .c-home-news-list {
    width: 100%;
  }
}
.c-home-news-list a {
  text-decoration: none;
  color: inherit;
}
.c-home-news-list-item {
  border-bottom: 1px solid rgba(31, 42, 68, 0.1);
  padding: 24px 0;
  display: block;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
@media (min-width: 768px) and (min-width: 768px) {
  .c-home-news-list-item {
    padding-top: max(32px, 32 * 0.078125vw);
    padding-bottom: max(12px, 12 * 0.078125vw);
  }
}
.c-home-news-list-item:hover {
  cursor: pointer;
  background-color: #F0F9FF;
  transform: translateX(8px);
}
.c-home-news-list-item-date {
  font-size: 12px;
  line-height: 200%;
  font-weight: 500;
}
@media (min-width: 768px) {
  .c-home-news-list-item-date {
    font-size: max(14px, 14 * 0.078125vw);
    line-height: 200%;
  }
}
.c-home-news-list-item-title {
  font-size: 16px;
  line-height: 160%;
}
@media (min-width: 768px) {
  .c-home-news-list-item-title {
    font-size: max(14px, 14 * 0.078125vw);
  }
}
.c-home-news-list-item-tags {
  padding-top: 16px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.c-home-news-list-item-tags-tag {
  height: 28px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  padding: 8px 8px 10px;
  font-size: 12px;
  color: #008bc5;
  background-color: #fff;
}
.c-home-news-list-item-tags-tag-frame {
  height: 28px;
  border-radius: 4px;
  border: 1px solid #008bc5;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  padding: 8px 8px 10px;
  font-size: 12px;
  font-weight: 500;
  color: #008bc5;
  background-color: #fff;
}
.c-home-all-news-container {
  padding-top: 32px;
}
.c-home-contact__inner {
  background-image: url("../images/home/contact-bg-sp.webp");
  background-size: cover;
  background-position: center;
}
.c-home-contact-container {
  padding: 104px 24px;
  text-align: center;
  font-size: 16px;
  border-radius: 12px;
}
@media (min-width: 768px) {
  .c-home-contact-container {
    padding: max(160px, 160 * 0.078125vw) max(80px, 80 * 0.078125vw);
  }
}
.c-home-contact-contents {
  padding: max(40px, 40 * 0.2666666667vw) max(24px, 24 * 0.2666666667vw);
  background-color: rgba(255, 255, 255, 0.9);
  border-radius: max(12px, 12 * 0.2666666667vw);
  display: flex;
  flex-direction: column;
}
@media (min-width: 768px) {
  .c-home-contact-contents {
    border-radius: max(40px, 40 * 0.078125vw);
    padding: max(80px, 80 * 0.078125vw);
    display: flex;
    flex-direction: column;
    align-items: center;
  }
}
.c-home-contact-message {
  letter-spacing: max(4px, 4 * 0.2666666667vw);
  font-size: max(14px, 14 * 0.2666666667vw);
  line-height: 160%;
  font-weight: 300;
  font-family: "Roboto", sans-serif;
}
@media (min-width: 768px) {
  .c-home-contact-message {
    letter-spacing: max(4px, 4 * 0.078125vw);
    font-size: max(14px, 14 * 0.078125vw);
  }
}
.c-home-contact-title {
  font-size: max(24px, 24 * 0.2666666667vw);
  font-weight: 500;
  line-height: 160%;
  margin-top: max(24px, 24 * 0.2666666667vw);
}
@media (min-width: 768px) {
  .c-home-contact-title {
    font-size: max(40px, 40 * 0.078125vw);
    letter-spacing: 0.04em;
    margin-top: max(32px, 32 * 0.078125vw);
  }
}
.c-home-contact-text {
  font-size: max(16px, 16 * 0.2666666667vw);
  line-height: max(26px, 26 * 0.2666666667vw);
  opacity: 0.9;
  margin-top: max(24px, 24 * 0.2666666667vw);
}
@media (min-width: 768px) {
  .c-home-contact-text {
    font-size: max(16px, 16 * 0.078125vw);
    line-height: 200%;
    margin-top: max(32px, 32 * 0.078125vw);
  }
}
.c-home-contact-note-text {
  font-size: max(15px, 15 * 0.2666666667vw);
  line-height: max(24px, 24 * 0.2666666667vw);
  margin-top: max(12px, 12 * 0.2666666667vw);
}
@media (min-width: 768px) {
  .c-home-contact-note-text {
    font-size: max(15px, 15 * 0.078125vw);
    line-height: 200%;
    margin-top: max(16px, 16 * 0.078125vw);
  }
}
.c-home-contact-privacy-policy {
  text-decoration: underline;
  font-weight: 500;
  font-size: max(14px, 14 * 0.2666666667vw);
  line-height: 200%;
  display: inline-block;
  margin-top: max(16px, 16 * 0.2666666667vw);
}
@media (min-width: 768px) {
  .c-home-contact-privacy-policy {
    font-size: max(14px, 14 * 0.078125vw);
    opacity: 0.9;
    margin-top: max(10px, 10 * 0.078125vw);
  }
}
.c-home-contact-button {
  box-sizing: border-box;
  border-radius: max(4px, 4 * 0.2666666667vw);
  background-color: #008bc5;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: max(24px, 24 * 0.2666666667vw);
  padding: max(10px, 10 * 0.2666666667vw) max(32px, 32 * 0.2666666667vw) max(12px, 12 * 0.2666666667vw);
  width: max(280px, 280 * 0.2666666667vw);
  height: max(60px, 60 * 0.2666666667vw);
  text-align: center;
  font-weight: 500;
  font-size: max(16px, 16 * 0.2666666667vw);
  line-height: 160%;
  color: #fff !important;
}
@media (min-width: 768px) {
  .c-home-contact-button {
    padding: max(10px, 10 * 0.078125vw) max(32px, 32 * 0.078125vw) max(12px, 12 * 0.078125vw);
    width: max(280px, 280 * 0.078125vw);
    height: max(60px, 60 * 0.078125vw);
    font-size: max(18px, 18 * 0.078125vw);
    margin-top: max(60px, 60 * 0.078125vw);
  }
}
.c-home-contact-caution {
  margin-top: max(16px, 16 * 0.2666666667vw);
  font-size: max(11px, 11 * 0.2666666667vw);
  line-height: max(16px, 16 * 0.2666666667vw);
  opacity: 0.9;
}
@media (min-width: 768px) {
  .c-home-contact-caution {
    margin-top: max(32px, 32 * 0.078125vw);
    font-size: max(12px, 12 * 0.078125vw);
    opacity: 0.9;
    line-height: 160%;
  }
}

/* Swiperのhero用のスタイル */
.swiper {
  overflow: hidden;
}

.swiper-hero .swiper-wrapper {
  transition-timing-function: linear;
}

.swiper-hero .swiper-slide {
  height: auto;
  width: 100%;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
@media (min-width: 768px) {
  .swiper-hero .swiper-slide {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
}

@media (min-width: 768px) {
  .c-home-case-studies-list > .swiper-slide {
    height: max(318px, 318 * 0.078125vw) !important;
  }
}

/* ページネーションのサイズと色 */
.hero-pagination {
  display: flex;
  justify-content: center;
  gap: 12px;
}

.hero-pagination .swiper-pagination-bullet {
  position: relative;
  width: 14px;
  height: 14px;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.3);
  overflow: hidden;
  transition: width 0.3s ease, border-radius 0.3s ease;
  opacity: 1;
}

.hero-pagination .swiper-pagination-bullet-active {
  width: 24px;
  border-radius: 999px;
}

.hero-pagination .swiper-pagination-bullet::after {
  content: "";
  position: absolute;
  inset: 0;
  width: 0%;
  background: #8193b7;
  opacity: 0;
}

.hero-pagination .swiper-pagination-bullet-active::after {
  opacity: 1;
  animation: heroProgress linear forwards;
  animation-duration: var(--hero-duration);
}

.hero-pagination.is-paused .swiper-pagination-bullet-active::after {
  animation-play-state: paused;
}

.hero-pagination.reset-animation .swiper-pagination-bullet-active::after {
  animation: none !important;
}

@keyframes heroProgress {
  from {
    width: 0%;
  }
  to {
    width: 100%;
  }
}
/* Swiperのcase-studies用のスタイル */
.swiper-case-studies {
  position: relative;
}

.swiper-case-studies .swiper-wrapper {
  transition-timing-function: linear;
}

.c-home-case-studies-pagination > .swiper-button-prev,
.c-home-case-studies-pagination > .swiper-button-next {
  position: static;
}
@media (min-width: 768px) {
  .c-home-case-studies-pagination > .swiper-button-prev,
  .c-home-case-studies-pagination > .swiper-button-next {
    position: absolute;
  }
}

.swiper-button-prev svg,
.swiper-button-next svg,
.swiper-button-prev::after,
.swiper-button-next::after {
  display: none;
}

/* 前への矢印 */
@media (min-width: 768px) {
  .c-home-case-studies-pagination > .swiper-button-prev {
    left: max(-48px, -48 * 0.078125vw);
    top: max(191px, 191 * 0.078125vw);
  }
}

/* 次への矢印 */
@media (min-width: 768px) {
  .c-home-case-studies-pagination > .swiper-button-next {
    right: max(-48px, -48 * 0.078125vw);
    top: max(191px, 191 * 0.078125vw);
  }
}

.p-error404-hero {
  padding: max(80px, 80 * 0.2666666667vw) max(16px, 16 * 0.2666666667vw);
}
@media (min-width: 768px) {
  .p-error404-hero {
    padding: max(80px, 80 * 0.078125vw);
  }
}
.p-error404-hero-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-color: #FFF;
  backdrop-filter: blur(12px);
  border-radius: max(16px, 16 * 0.2666666667vw);
  color: #1f2a44;
  font-family: "Roboto", sans-serif;
  padding: max(41px, 41 * 0.2666666667vw) max(16px, 16 * 0.2666666667vw) max(72px, 72 * 0.2666666667vw);
}
@media (min-width: 768px) {
  .p-error404-hero-inner {
    padding: max(45px, 45 * 0.078125vw) max(40px, 40 * 0.078125vw) max(64px, 64 * 0.078125vw);
  }
}
.p-error404-hero-inner-title {
  font-size: max(100px, 100 * 0.2666666667vw);
  font-weight: 300;
}
@media (min-width: 768px) {
  .p-error404-hero-inner-title {
    font-size: max(100px, 100 * 0.078125vw);
  }
}
.p-error404-hero-inner-subtitle {
  font-size: max(32px, 32 * 0.2666666667vw);
  font-weight: 300;
}
@media (min-width: 768px) {
  .p-error404-hero-inner-subtitle {
    font-size: max(32px, 32 * 0.078125vw);
  }
}
.p-error404-hero-inner-text {
  font-size: max(14px, 14 * 0.2666666667vw);
  line-height: 160%;
  font-weight: 500;
  font-family: "Noto Sans JP", sans-serif;
  margin-top: 12px;
}
@media (min-width: 768px) {
  .p-error404-hero-inner-text {
    font-size: max(14px, 14 * 0.078125vw);
  }
}
.p-error404-hero-inner a {
  text-decoration: none;
  color: #008bc5;
}
.p-error404-hero-inner-link {
  border-radius: max(4px, 4 * 0.2666666667vw);
  border: 1px solid #008bc5;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: max(10px, 10 * 0.2666666667vw) max(32px, 32 * 0.2666666667vw) max(11px, 11 * 0.2666666667vw);
  margin-top: 32px;
  font-weight: 500;
  font-size: max(18px, 18 * 0.2666666667vw);
  font-family: "Noto Sans JP", sans-serif;
  line-height: 160%;
}
@media (min-width: 768px) {
  .p-error404-hero-inner-link {
    padding: max(10px, 10 * 0.078125vw) max(32px, 32 * 0.078125vw) max(11px, 11 * 0.078125vw);
    font-size: max(18px, 18 * 0.078125vw);
  }
}

@media (min-width: 768px) {
  .l-case-studies {
    display: flex;
    padding: 120px 80px 0 80px;
    background-color: #fafdff;
  }
}

@media (min-width: 768px) {
  .c-case-studies {
    width: 25.9%;
  }
}
@media (min-width: 768px) {
  .c-case-studies-contents {
    width: 74.1%;
  }
}
.c-case-studies-inner {
  padding: 24px 16px 16px 16px;
  background-color: #fafdff;
}
@media (min-width: 768px) {
  .c-case-studies-inner {
    padding: max(40px, 40 * 0.078125vw) max(40px, 40 * 0.078125vw) 0px 0px;
  }
}
.c-case-studies-contents-inner {
  padding-bottom: 160px;
}
.c-case-studies-search-container {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.c-case-studies-search-label {
  font-size: 16px;
  line-height: 20px;
  font-weight: 500;
  padding-bottom: 8px;
}
@media (min-width: 768px) {
  .c-case-studies-search-label {
    font-size: max(18px, 18 * 0.078125vw);
    padding-bottom: max(8px, 8 * 0.078125vw);
  }
}
.c-case-studies-search-select-wrapper {
  position: relative;
}
.c-case-studies-search-select-wrapper::after {
  content: "";
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  width: 8px;
  height: 8px;
  border-right: 2px solid #003058;
  border-bottom: 2px solid #003058;
  pointer-events: none;
}
.c-case-studies-search-select-form {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
@media (min-width: 768px) {
  .c-case-studies-search-select-form {
    gap: max(40px, 40 * 0.078125vw);
  }
}
.c-case-studies-search-select-input {
  width: 100%;
  border-radius: 4px;
  border: 1px solid #959595;
  font-size: 16px;
  font-family: "Noto Sans JP", sans-serif;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  padding: 12px 40px 12px 16px;
}
.c-case-studies-list {
  padding: 16px 16px 0 16px;
  display: flex;
  flex-direction: column;
  background-color: #fafdff;
}
@media (min-width: 768px) {
  .c-case-studies-list {
    padding: 40px 0 64px 0;
  }
}
.c-case-studies-list a {
  text-decoration: none;
  color: inherit;
}
.c-case-studies-list-empty {
  font-size: 16px;
  color: #52677c;
  text-align: center;
  padding: 40px 0;
}
@media (min-width: 768px) {
  .c-case-studies-list-related {
    display: flex;
    gap: max(24px, 24 * 0.078125vw);
  }
}
.c-case-studies-list-item {
  display: flex;
  flex-direction: column;
  border-radius: 12px;
  background-color: #fafdff;
  align-items: flex-start;
  font-size: 16px;
  padding-bottom: 31px;
}
@media (min-width: 768px) {
  .c-case-studies-list-item {
    width: max(468px, 468 * 0.078125vw);
    display: flex;
    flex-direction: column;
  }
  .c-case-studies-list-item:first-child {
    padding-top: 0;
  }
  .c-case-studies-list-item:last-child {
    border-bottom: none;
    padding-bottom: 0;
  }
}
.c-case-studies-list-item-image {
  width: 100%;
  aspect-ratio: 16/9;
  overflow: hidden;
  border-radius: 12px;
}
@media (min-width: 768px) {
  .c-case-studies-list-item-image {
    width: 100%;
    aspect-ratio: 16/9;
    object-fit: cover;
  }
}
.c-case-studies-list-item-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
@media (min-width: 768px) {
  .c-case-studies-list-item-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}
.c-case-studies-list-item-title {
  line-height: 160%;
  padding: 8px 0 0;
  font-weight: 500;
  color: #003058;
}
@media (min-width: 768px) {
  .c-case-studies-list-item-title {
    font-size: max(24px, 24 * 0.078125vw);
    line-height: 160%;
    padding-top: max(12px, 12 * 0.078125vw);
  }
}
.c-case-studies-list-item-text {
  font-size: 16px;
  line-height: 160%;
  color: #52677c;
  padding: 8px 0px;
}
@media (min-width: 768px) {
  .c-case-studies-list-item-text {
    font-size: max(14px, 14 * 0.078125vw);
    padding-bottom: max(12px, 12 * 0.078125vw);
  }
}

.c-case-studies-list-item-right .c-home-case-studies-list-item-tags {
  padding: 8px 0px 0px 0px;
}
@media (min-width: 768px) {
  .c-case-studies-list-item-right .c-home-case-studies-list-item-tags {
    padding: 8px 0px 0px 16px;
  }
}

.l-single-case-studies {
  background-color: #fafdff;
  border-radius: 24px 24px 0px 0px;
}
@media (min-width: 768px) {
  .l-single-case-studies {
    display: block;
  }
}

@media (min-width: 768px) {
  .l-single-case-studies-wrapper {
    background: transparent;
    margin-top: -24px;
  }
}

@media (min-width: 768px) {
  .c-single-case-studies-box {
    border-radius: 24px 24px 0 0;
    overflow: hidden;
  }
}
@media (min-width: 768px) {
  .c-single-case-studies-inner {
    position: relative;
    padding: 120px 80px 0 80px;
  }
}
.c-single-case-studies-bottom {
  padding: 40px 16px 120px;
}
@media (min-width: 768px) {
  .c-single-case-studies-bottom {
    padding: max(80px, 80 * 0.078125vw) max(160px, 160 * 0.078125vw) max(160px, 160 * 0.078125vw);
  }
}
.c-single-case-studies-hero {
  position: relative;
  padding: 0 16px;
}
@media (min-width: 768px) {
  .c-single-case-studies-hero {
    padding: 0;
  }
}
@media (min-width: 768px) {
  .c-single-case-studies-hero-container {
    display: flex;
    flex-direction: row-reverse;
    position: relative;
    padding-top: max(24px, 24 * 0.078125vw);
  }
}
.c-single-case-studies-hero-bottom {
  margin-top: auto;
}
@media (min-width: 768px) {
  .c-single-case-studies-hero-left {
    width: 54%;
    display: flex;
    flex-direction: column;
  }
}
@media (min-width: 768px) {
  .c-single-case-studies-hero-right {
    width: 46%;
    position: relative;
  }
  .c-single-case-studies-hero-right img {
    width: 50vw;
    max-width: none;
    position: relative;
    left: 0;
  }
}
.c-single-case-studies-hero-company-name {
  font-size: 16px;
  line-height: 200%;
  color: rgba(255, 255, 255, 0.5);
  padding-top: 8px;
}
@media (min-width: 768px) {
  .c-single-case-studies-hero-company-name {
    padding-top: max(14px, 14 * 0.078125vw);
  }
}
.c-single-case-studies-hero-project-name {
  font-size: 16px;
  line-height: 200%;
  color: rgba(255, 255, 255, 0.5);
}
.c-single-case-studies-hero-title {
  letter-spacing: 0.96px;
  font-weight: 500;
  color: #fff;
  padding-top: 8px;
}
@media (min-width: 768px) {
  .c-single-case-studies-hero-title {
    padding: max(24px, 24 * 0.078125vw) 0 max(40px, 40 * 0.078125vw) 0;
    font-size: calc(43 * 0.078125vw);
  }
}
.c-single-case-studies-hero-eyecatch-image {
  width: 100%;
  object-fit: cover;
  border-radius: 12px 12px 12px 12px;
}
@media (min-width: 768px) {
  .c-single-case-studies-hero-eyecatch-image {
    border-radius: 12px 0px 0px 12px;
  }
}
.c-single-case-studies-hero-series {
  display: flex;
  gap: 8px;
  padding: 20px 0px 17.6px 0px;
  align-items: flex-end;
  align-items: baseline;
}
@media (min-width: 768px) {
  .c-single-case-studies-hero-series {
    gap: 12px;
    margin-top: auto;
  }
}
.c-single-case-studies-hero-series-title {
  font-size: 32px;
  letter-spacing: -1px;
  font-weight: 300;
  font-family: "Roboto", sans-serif;
  color: rgba(255, 255, 255, 0.5);
}
@media (min-width: 768px) {
  .c-single-case-studies-hero-series-title {
    font-size: max(64px, 64 * 0.078125vw);
  }
}
.c-single-case-studies-hero-series-updated-at {
  font-size: 12px;
  font-family: "Noto Sans JP", sans-serif;
  color: rgba(255, 255, 255, 0.6);
  padding: 0px 0px 9.67px 10.27px;
}
@media (min-width: 768px) {
  .c-single-case-studies-hero-series-updated-at {
    padding: 0px 0px 9.67px 0px;
  }
}
.c-single-case-studies-list {
  width: 100%;
  position: relative;
  border-radius: 24px 24px 0px 0px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 40px 16px 80px;
  box-sizing: border-box;
  text-align: left;
  font-size: 16px;
  color: #292929;
  font-family: "Noto Sans JP";
  margin-top: -20px;
}
@media (min-width: 768px) {
  .c-single-case-studies-list {
    padding: 40px 16px 0px;
    border-radius: 0;
    background-color: transparent;
    margin-top: 0;
  }
}
.c-single-case-studies-list-text {
  flex: 1;
  width: 100%;
  position: relative;
  font-size: 16px;
  line-height: 200%;
  font-family: "Noto Sans JP";
  color: #292929;
  text-align: left;
  display: inline-block;
}
.c-single-case-studies-issue {
  padding: 24px 16px 80px 16px;
}
@media (min-width: 768px) {
  .c-single-case-studies-issue {
    width: 100%;
    display: flex;
    margin-top: -290px;
    position: relative;
    z-index: 2;
    padding: 0;
    padding-left: max(80px, 80 * 0.078125vw);
    padding-right: max(80px, 80 * 0.078125vw);
    box-sizing: border-box;
  }
}
.c-single-case-studies-issue-before {
  position: relative;
  background-color: #0097da;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  padding: 40px 16px 48px;
  border-radius: 16px 16px 0 0;
}
.c-single-case-studies-issue-before::before {
  content: "";
  position: absolute;
  inset: 0;
  background: #E5E5E5;
  clip-path: polygon(0 0, 100% 0, 100% 88%, 50% 100%, 0 88%);
  z-index: 0;
}
@media (min-width: 768px) {
  .c-single-case-studies-issue-before {
    background-image: none;
    position: relative;
    overflow: hidden;
    width: 50%;
    border-radius: 16px 0 0 16px;
    padding: 40px 16px 40px;
  }
  .c-single-case-studies-issue-before::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5E5E5;
    clip-path: polygon(0 0, 88% 0, 100% 50%, 88% 100%, 0 100%);
    z-index: 0;
  }
}
.c-single-case-studies-issue-before-container, .c-single-case-studies-issue-before-text {
  position: relative;
  z-index: 1;
}
.c-single-case-studies-issue-before-container {
  display: flex;
  align-items: center;
  text-align: center;
}
@media (min-width: 768px) {
  .c-single-case-studies-issue-before-container {
    padding: 0 max(60px, 60 * 0.078125vw) 0px max(41.84px, 41.84 * 0.078125vw);
  }
}
.c-single-case-studies-issue-before-container::before, .c-single-case-studies-issue-before-container::after {
  content: "";
  flex: 1;
  height: 1px;
  background: #000;
}
.c-single-case-studies-issue-before-container span {
  padding: 0 12px;
}
.c-single-case-studies-issue-before-title {
  text-align: center;
  line-height: 160%;
  font-weight: 500;
  white-space: nowrap;
}
.c-single-case-studies-issue-before-text {
  padding-top: 24px;
  line-height: 160%;
}
@media (min-width: 768px) {
  .c-single-case-studies-issue-before-text {
    padding: max(24px, 24 * 0.078125vw) max(60px, 60 * 0.078125vw) 0 max(41.84px, 41.84 * 0.078125vw);
  }
}
.c-single-case-studies-issue-after {
  border-radius: 0px 0px 16px 16px;
  background-color: #0097da;
  display: flex;
  flex-direction: column;
  padding: 20px 20px 48px;
  margin-top: -1px;
}
@media (min-width: 768px) {
  .c-single-case-studies-issue-after {
    width: 50%;
    border-radius: 0px 16px 16px 0px;
    padding: 0 16px 48px;
  }
}
.c-single-case-studies-issue-after-container {
  display: flex;
  align-items: center;
  text-align: center;
}
@media (min-width: 768px) {
  .c-single-case-studies-issue-after-container {
    padding: 40px 40px 0px 40px;
  }
}
.c-single-case-studies-issue-after-container::before, .c-single-case-studies-issue-after-container::after {
  content: "";
  flex: 1;
  height: 1px;
  background: #fff;
}
.c-single-case-studies-issue-after-container span {
  padding: 0 12px;
}
.c-single-case-studies-issue-after-title {
  text-align: center;
  line-height: 160%;
  font-weight: 500;
  white-space: nowrap;
  color: #fff;
}
.c-single-case-studies-issue-after-text {
  padding-top: 24px;
  line-height: 160%;
  color: #fff;
}
@media (min-width: 768px) {
  .c-single-case-studies-issue-after-text {
    padding: max(24px, 24 * 0.078125vw) max(40px, 40 * 0.078125vw) 0px max(40px, 40 * 0.078125vw);
  }
}
.c-single-case-studies-qa {
  background-color: #fff;
}
@media (min-width: 768px) {
  .c-single-case-studies-qa {
    padding: 80px 160px;
  }
}
.c-single-case-studies-qa-item {
  padding: 16px 16px;
}
@media (min-width: 768px) {
  .c-single-case-studies-qa-item {
    padding: max(48px, 48 * 0.078125vw) 0px;
  }
}
.c-single-case-studies-qa-item-h2 {
  font-size: 32px;
  font-weight: 500;
}
@media (min-width: 768px) {
  .c-single-case-studies-qa-item-h2 {
    font-size: max(32px, 32 * 0.078125vw);
  }
}
.c-single-case-studies-qa-item-h3 {
  padding: 24px 0px 16px;
  font-size: 24px;
  font-weight: 500;
}
@media (min-width: 768px) {
  .c-single-case-studies-qa-item-h3 {
    padding: max(24px, 24 * 0.078125vw) 0px max(16px, 16 * 0.078125vw) 0px;
    font-size: max(24px, 24 * 0.078125vw);
  }
}
.c-single-case-studies-qa-item-question {
  padding: 32px 0px 24px;
  color: #4e6799;
  font-size: 18px;
  font-weight: bold;
}
@media (min-width: 768px) {
  .c-single-case-studies-qa-item-question {
    padding: max(32px, 32 * 0.078125vw) 0px max(24px, 24 * 0.078125vw) 0px;
    font-size: max(18px, 18 * 0.078125vw);
  }
}
.c-single-case-studies-qa-item-answer {
  padding: 0px 0px 16px;
  font-size: 16px;
}
@media (min-width: 768px) {
  .c-single-case-studies-qa-item-answer {
    padding: 0px 0px max(16px, 16 * 0.078125vw) 0px;
    font-size: max(16px, 16 * 0.078125vw);
  }
}

.l-related-case-studies {
  padding: 0px 16px;
}
@media (min-width: 768px) {
  .l-related-case-studies {
    padding: 0px max(160px, 160 * 0.078125vw);
  }
}

.c-related-case-studies-title {
  font-size: 24px;
  padding-bottom: 31px;
}
@media (min-width: 768px) {
  .c-related-case-studies-title {
    font-size: max(32px, 32 * 0.078125vw);
    color: #1f2a44;
    padding-bottom: max(24px, 24 * 0.078125vw);
  }
}

.c-single-case-studies-hero-tags > .c-home-case-studies-list-item-tags {
  padding: 8px 0px 0 0px;
}

.c-single-case-studies-qa > .c-home-solution-list-item-bottom-border {
  padding: 1px 1px 0px;
  margin: 16px 16px;
  opacity: 0.1;
}
@media (min-width: 768px) {
  .c-single-case-studies-qa > .c-home-solution-list-item-bottom-border {
    margin: 0;
  }
}

.l-page-case-studies-hero-bg > .c-common-hero {
  display: flex;
  flex-direction: column;
}

body.single-case-studies .c-common-hero-breadcrumb {
  order: 1;
}

.c-single-case-studies-hero-container {
  order: 2;
}

.c-single-case-studies-hero-title {
  order: 3;
}

.c-single-case-studies-list-text.pc {
  display: none;
}
@media (min-width: 768px) {
  .c-single-case-studies-list-text.pc {
    display: block;
    padding: 0 max(174px, 174 * 0.078125vw) max(112px, 112 * 0.078125vw) max(174px, 174 * 0.078125vw);
    box-sizing: border-box;
    color: #fff;
  }
}

.c-single-case-studies-list-text.sp {
  display: block;
}
@media (min-width: 768px) {
  .c-single-case-studies-list-text.sp {
    display: none;
  }
}

.l-page-case-studies-hero-bg .c-navi-menu-pc a {
  color: #fff;
}

#wpadminbar {
  display: none !important;
}

html {
  margin-top: 0 !important;
}

.pc {
  display: none !important;
}
@media (min-width: 768px) {
  .pc {
    display: block !important;
  }
}

.sp {
  display: block !important;
}
@media (min-width: 768px) {
  .sp {
    display: none !important;
  }
}

.p-recruit {
  font-family: "Roboto", sans-serif;
  width: 100vw;
  box-sizing: border-box;
}
.p-recruit-pilot {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 0px;
  isolation: isolate;
  position: relative;
  background: #FFFFFF;
  border-radius: 0px;
}
.p-recruit-role {
  overflow-x: hidden;
}
.p-recruit-role-inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: max(120px, 120 * 0.2666666667vw) max(16px, 16 * 0.2666666667vw);
  gap: max(24px, 24 * 0.2666666667vw);
  isolation: isolate;
  background: #E3E9F1;
  border-radius: 0px;
}
@media (min-width: 768px) {
  .p-recruit-role-inner {
    padding: max(160px, 160 * 0.078125vw) max(80px, 80 * 0.078125vw);
    gap: max(40px, 40 * 0.078125vw);
  }
}
.p-recruit-staff-voice {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: max(80px, 80 * 0.2666666667vw) max(16px, 16 * 0.2666666667vw) max(120px, 120 * 0.2666666667vw) max(16px, 16 * 0.2666666667vw);
  gap: max(32px, 32 * 0.2666666667vw);
  background: url("../images/recruit/staff-voice-bg.webp");
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
}
@media (min-width: 768px) {
  .p-recruit-staff-voice {
    align-items: flex-start;
    padding: max(80px, 80 * 0.078125vw);
  }
}
.p-recruit-job-overview {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding: max(120px, 120 * 0.2666666667vw) max(16px, 16 * 0.2666666667vw);
  gap: max(24px, 24 * 0.2666666667vw);
  isolation: isolate;
  background: #004975;
  border-radius: 0px;
}
@media (min-width: 768px) {
  .p-recruit-job-overview {
    align-items: flex-start;
    padding: max(160px, 160 * 0.078125vw) max(80px, 80 * 0.078125vw);
    gap: max(40px, 40 * 0.078125vw);
  }
}
.p-recruit-entry {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 0px;
  gap: 0px;
  isolation: isolate;
}
@media (min-width: 768px) {
  .p-recruit-entry {
    flex-direction: row;
    align-items: stretch;
  }
}

.c-recruit-pilot-bg {
  mix-blend-mode: normal;
  height: calc(100vh + 2px);
  will-change: transform;
  background: url("../images/recruit/pilot-sp.webp");
  background-size: cover;
  background-repeat: no-repeat;
  position: sticky;
  top: 0px;
  left: 0;
  width: 100%;
  padding-bottom: 20px;
}
@media (min-width: 768px) {
  .c-recruit-pilot-bg {
    background-image: url("../images/recruit/pilot-pc.webp");
  }
}
.c-recruit-staff-voice-pagination {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: max(16px, 16 * 0.2666666667vw);
  margin-top: max(40px, 40 * 0.2666666667vw);
  padding: 0px;
  height: max(40px, 40 * 0.2666666667vw);
}
@media (min-width: 768px) {
  .c-recruit-staff-voice-pagination {
    justify-content: flex-end;
    gap: max(16px, 16 * 0.078125vw);
    margin-top: max(25px, 25 * 0.078125vw);
    height: max(48px, 48 * 0.078125vw);
  }
}
.c-recruit-staff-voice-pagination-icon {
  cursor: pointer;
  width: max(40px, 40 * 0.2666666667vw);
  height: max(40px, 40 * 0.2666666667vw);
}
@media (min-width: 768px) {
  .c-recruit-staff-voice-pagination-icon {
    width: max(48px, 48 * 0.078125vw);
    height: max(48px, 48 * 0.078125vw);
  }
}
.c-recruit-staff-voice-pagination-icon:hover {
  opacity: 0.7;
}

.l-recruit-pilot-inner {
  position: absolute;
  width: 100vw;
  height: 100vh;
  top: 0px;
  border-radius: 0px;
}
.l-recruit-pilot-title {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  width: max(345px, 345 * 0.2666666667vw);
  height: max(165px, 165 * 0.2666666667vw);
  margin-left: max(16px, 16 * 0.2666666667vw);
  margin-top: max(187px, 187 * 0.2666666667vw);
}
@media (min-width: 768px) {
  .l-recruit-pilot-title {
    box-sizing: border-box;
    width: 100%;
    padding: 0px max(40px, 40 * 0.078125vw);
    gap: max(20px, 20 * 0.078125vw);
    margin-left: 0px;
    margin-top: calc(30% - 123.5px - 100.5px);
  }
}
.l-recruit-pilot-title h2 {
  font-family: "Shippori Mincho";
  font-weight: 500;
  font-size: max(32px, 32 * 0.2666666667vw);
  line-height: 140%;
  color: #FFFFFF;
}
@media (min-width: 768px) {
  .l-recruit-pilot-title h2 {
    font-size: max(48px, 48 * 0.078125vw);
  }
}
.l-recruit-pilot-title p {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: max(14px, 14 * 0.2666666667vw);
  line-height: 160%;
  display: flex;
  align-items: center;
  letter-spacing: 0.04em;
  color: #FFFFFF;
}
@media (min-width: 768px) {
  .l-recruit-pilot-title p {
    font-size: max(16px, 16 * 0.078125vw);
  }
}
.l-recruit-pilot-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding: 0px;
  gap: max(40px, 40 * 0.2666666667vw);
  border-radius: 0px;
}
.l-recruit-pilot-content-inner {
  box-sizing: border-box;
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: max(64px, 64 * 0.2666666667vw) max(16px, 16 * 0.2666666667vw);
  gap: max(10px, 10 * 0.2666666667vw);
  width: 100%;
  isolation: isolate;
  border-radius: 0px;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.4) 0%, rgba(0, 0, 0, 0.4) 100%), linear-gradient(180deg, rgba(0, 112, 205, 0) 0%, rgba(250, 253, 255, 0.5) 100%);
}
@media (min-width: 768px) {
  .l-recruit-pilot-content-inner {
    justify-content: flex-end;
    padding: max(160px, 160 * 0.078125vw) max(80px, 80 * 0.078125vw) max(240px, 240 * 0.078125vw);
    gap: max(10px, 10 * 0.078125vw);
    box-sizing: border-box;
  }
}
.l-recruit-pilot-content-inner p {
  font-family: "Shippori Mincho";
  font-weight: 400;
  font-size: max(18px, 18 * 0.2666666667vw);
  line-height: 160%;
  color: #FFFFFF;
  opacity: 0.6;
}
@media (min-width: 768px) {
  .l-recruit-pilot-content-inner p {
    font-size: max(32px, 32 * 0.078125vw);
  }
}
.l-recruit-pilot-content-inner h2 {
  font-family: "Shippori Mincho";
  font-weight: 500;
  font-size: max(26px, 26 * 0.2666666667vw);
  line-height: max(42px, 42 * 0.2666666667vw);
  color: #FFFFFF;
}
@media (min-width: 768px) {
  .l-recruit-pilot-content-inner h2 {
    font-size: max(48px, 48 * 0.078125vw);
    line-height: 160%;
  }
}
.l-recruit-pilot-content-inner h2 > span {
  font-size: max(22px, 22 * 0.2666666667vw);
  line-height: max(35px, 35 * 0.2666666667vw);
}
.l-recruit-role {
  position: relative;
  overflow: visible;
}
.l-recruit-role-inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 0px;
  border-radius: 0px;
}
@media (min-width: 768px) {
  .l-recruit-role-inner {
    gap: max(16px, 16 * 0.078125vw);
  }
}
.l-recruit-role-inner h2 {
  font-weight: 300;
  font-size: max(48px, 48 * 0.2666666667vw);
  line-height: 120%;
  text-transform: capitalize;
  color: #004975;
}
@media (min-width: 768px) {
  .l-recruit-role-inner h2 {
    font-size: max(100px, 100 * 0.078125vw);
    line-height: max(85px, 85 * 0.078125vw);
  }
}
.l-recruit-role-inner p {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: max(16px, 16 * 0.2666666667vw);
  line-height: 160%;
  color: #004975;
}
@media (min-width: 768px) {
  .l-recruit-role-inner p {
    font-size: max(24px, 24 * 0.078125vw);
  }
}
.l-recruit-role-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0px;
  background: rgba(255, 255, 255, 0.5);
  border-radius: max(12px, 12 * 0.2666666667vw);
  overflow: hidden;
}
@media (min-width: 768px) {
  .l-recruit-role-content {
    flex-direction: row;
    align-items: flex-start;
    padding: max(32px, 32 * 0.078125vw) max(40px, 40 * 0.078125vw);
    gap: max(24px, 24 * 0.078125vw);
    border-radius: max(16px, 16 * 0.078125vw);
  }
  .l-recruit-role-content:nth-child(odd) {
    flex-direction: row-reverse;
  }
}
.l-recruit-role-content-img {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 0px;
  border-radius: 0px;
}
.l-recruit-role-content-img img {
  position: relative;
  width: 100%;
}
@media (min-width: 768px) {
  .l-recruit-role-content-img img {
    width: 35.7vw;
    border-radius: 8px;
  }
}
.l-recruit-role-content-inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
  padding: max(24px, 24 * 0.2666666667vw);
  gap: max(12px, 12 * 0.2666666667vw);
  border-radius: max(8px, 8 * 0.2666666667vw);
  box-sizing: border-box;
}
@media (min-width: 768px) {
  .l-recruit-role-content-inner {
    padding: 0px;
    gap: max(24px, 24 * 0.078125vw);
  }
}
.l-recruit-role-content-title-inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 0px;
  gap: max(4px, 4 * 0.2666666667vw);
  border-radius: 0px;
}
@media (min-width: 768px) {
  .l-recruit-role-content-title-inner {
    gap: max(8px, 8 * 0.078125vw);
  }
}
.l-recruit-role-content-title-inner h2 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: max(22px, 22 * 0.2666666667vw);
  line-height: max(35px, 35 * 0.2666666667vw);
  color: #003058;
}
@media (min-width: 768px) {
  .l-recruit-role-content-title-inner h2 {
    font-size: max(32px, 32 * 0.078125vw);
    line-height: 160%;
  }
}
.l-recruit-role-content-title-inner p {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: max(12px, 12 * 0.2666666667vw);
  line-height: 160%;
  color: #A31134;
}
@media (min-width: 768px) {
  .l-recruit-role-content-title-inner p {
    font-size: max(16px, 16 * 0.078125vw);
  }
}
.l-recruit-role-content-text {
  font-weight: 400;
  font-size: max(16px, 16 * 0.2666666667vw);
  line-height: 200%;
  color: #003058;
}
@media (min-width: 768px) {
  .l-recruit-role-content-text {
    font-size: max(16px, 16 * 0.078125vw);
  }
}
.l-recruit-role-vector {
  position: absolute;
  margin-top: max(-220px, -220 * 0.2666666667vw);
}
@media (min-width: 768px) {
  .l-recruit-role-vector {
    margin-top: max(-220px, -220 * 0.078125vw);
  }
}
.l-recruit-role-vector picture img {
  position: absolute;
  width: 100vw;
  margin-left: -4.27vw;
}
@media (min-width: 768px) {
  .l-recruit-role-vector picture img {
    margin-left: max(-80px, -80 * 0.078125vw);
  }
}
.l-recruit-staff-voice-inner {
  width: 100vw;
}
@media (min-width: 768px) {
  .l-recruit-staff-voice-inner {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: max(160px, 160 * 0.078125vw) max(40px, 40 * 0.078125vw) max(80px, 80 * 0.078125vw);
    width: 100%;
    background: #E3E9F1;
    border-radius: max(20px, 20 * 0.078125vw);
    box-sizing: border-box;
  }
}
.l-recruit-staff-voice-title {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: -80px;
  margin-bottom: 19.5px;
  padding: 0px;
}
@media (min-width: 768px) {
  .l-recruit-staff-voice-title {
    margin: max(-160px, -160 * 0.078125vw) auto 0 auto;
    padding: 0px 0px max(24px, 24 * 0.078125vw);
    gap: max(16px, 16 * 0.078125vw);
  }
}
.l-recruit-staff-voice-title h2 {
  margin-top: -24px;
  font-weight: 300;
  font-size: 42px;
  line-height: 120%;
  text-align: center;
  text-transform: capitalize;
  color: #004975;
}
@media (min-width: 768px) {
  .l-recruit-staff-voice-title h2 {
    font-size: max(100px, 100 * 0.078125vw);
    line-height: max(85px, 85 * 0.078125vw);
  }
}
.l-recruit-staff-voice-title p {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 160%;
  text-align: center;
  color: #004975;
}
@media (min-width: 768px) {
  .l-recruit-staff-voice-title p {
    font-size: max(24px, 24 * 0.078125vw);
  }
}
@media (min-width: 768px) {
  .l-recruit-staff-voice-slide {
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 0px;
    border-radius: 0px;
  }
}
.l-recruit-staff-voice-img {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 0px;
  isolation: isolate;
}
@media (min-width: 768px) {
  .l-recruit-staff-voice-img {
    border-radius: 16px;
    width: fit-content;
  }
}
.l-recruit-staff-voice-img img {
  width: max(322px, 322 * 0.2666666667vw);
  margin-left: max(16px, 16 * 0.2666666667vw);
  border-radius: 16px;
}
@media (min-width: 768px) {
  .l-recruit-staff-voice-img img {
    width: 25.17vw;
    margin-left: 0px;
  }
}
.l-recruit-staff-voice-container {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding: max(24px, 24 * 0.2666666667vw) max(16px, 16 * 0.2666666667vw);
  gap: max(16px, 16 * 0.2666666667vw);
  width: max(331px, 331 * 0.2666666667vw);
  margin-left: max(28px, 28 * 0.2666666667vw);
  margin-top: -80px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid #959595;
  backdrop-filter: blur(8px);
  border-radius: max(16px, 16 * 0.2666666667vw);
}
@media (min-width: 768px) {
  .l-recruit-staff-voice-container {
    box-sizing: border-box;
    margin: 0 0 0 max(-26px, -26 * 0.078125vw);
    padding: max(32px, 32 * 0.078125vw);
    gap: max(24px, 24 * 0.078125vw);
    width: auto;
    border-radius: max(16px, 16 * 0.078125vw);
  }
}
.l-recruit-staff-voice-container > h2 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: max(16px, 16 * 0.2666666667vw);
  line-height: 160%;
}
@media (min-width: 768px) {
  .l-recruit-staff-voice-container > h2 {
    font-size: max(24px, 24 * 0.078125vw);
  }
}
.l-recruit-staff-voice-container > p {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: max(16px, 16 * 0.2666666667vw);
  line-height: 160%;
  color: #000000;
}
@media (min-width: 768px) {
  .l-recruit-staff-voice-container > p {
    font-size: max(14px, 14 * 0.078125vw);
  }
}
.l-recruit-staff-voice-container > button {
  box-sizing: border-box;
  display: flex;
  background: none;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  margin: auto;
  padding: max(10px, 10 * 0.2666666667vw) max(32px, 32 * 0.2666666667vw) max(12px, 12 * 0.2666666667vw);
  gap: max(10px, 10 * 0.2666666667vw);
  height: max(44px, 44 * 0.2666666667vw);
  border: 1px solid #000000;
  border-radius: max(4px, 4 * 0.2666666667vw);
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: max(16px, 16 * 0.2666666667vw);
  line-height: 160%;
  text-align: center;
  color: #000000;
}
@media (min-width: 768px) {
  .l-recruit-staff-voice-container > button {
    padding: max(10px, 10 * 0.078125vw) 0 max(12px, 12 * 0.078125vw);
    margin-left: 0px;
    width: max(262px, 262 * 0.078125vw);
    height: max(44px, 44 * 0.078125vw);
    font-size: max(18px, 18 * 0.078125vw);
    border-radius: max(4px, 4 * 0.078125vw);
    cursor: pointer;
  }
}
.l-recruit-staff-voice-container > button:hover {
  border-radius: 4px;
  border: 1px solid #1f2a44;
  box-sizing: border-box;
  opacity: 0.7;
  color: #1f2a44;
}
.l-recruit-staff-voice-modal {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 0px;
  position: absolute;
  width: 100vw;
  height: calc(100vh - 80px);
  left: 0px;
  bottom: 0px;
  background: #E3E9F1;
  border-radius: 20px 20px 0px 0px;
}
@media (min-width: 768px) {
  .l-recruit-staff-voice-modal {
    align-items: center;
    width: 75vw;
    height: 750px;
    left: auto;
    bottom: auto;
    border-radius: max(24px, 24 * 0.078125vw);
  }
}
.l-recruit-staff-voice-modal-show {
  display: flex !important;
}
.l-recruit-staff-voice-modal-bg {
  box-sizing: border-box;
  display: none;
  position: fixed;
  width: 100vw;
  height: 100vh;
  left: 0px;
  top: 0px;
  background: rgba(0, 30, 58, 0.82);
  z-index: 100;
}
@media (min-width: 768px) {
  .l-recruit-staff-voice-modal-bg {
    flex-direction: row;
    justify-content: center;
    align-items: center;
    padding: max(51px, 51 * 0.078125vw) 0px;
    gap: max(10px, 10 * 0.078125vw);
  }
}
.l-recruit-staff-voice-modal-header {
  box-sizing: border-box;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  width: 100%;
  padding: max(16px, 16 * 0.2666666667vw) max(16px, 16 * 0.2666666667vw) max(8px, 8 * 0.2666666667vw);
  height: max(80.62px, 80.62 * 0.2666666667vw);
  border-bottom: 0.615979px solid #CDD5E3;
  border-radius: 0px;
}
@media (min-width: 768px) {
  .l-recruit-staff-voice-modal-header {
    align-items: center;
    padding: max(16px, 16 * 0.078125vw) max(48px, 48 * 0.078125vw) max(24px, 24 * 0.078125vw);
    height: max(120px, 120 * 0.078125vw);
  }
}
.l-recruit-staff-voice-modal-close-button {
  cursor: pointer;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: max(2px, 2 * 0.2666666667vw) 0px 0px;
  border-radius: 0px;
}
.l-recruit-staff-voice-modal-close-button img {
  width: max(32px, 32 * 0.2666666667vw);
  height: max(32px, 32 * 0.2666666667vw);
}
@media (min-width: 768px) {
  .l-recruit-staff-voice-modal-close-button img {
    width: max(48px, 48 * 0.078125vw);
    height: max(48px, 48 * 0.078125vw);
  }
}
.l-recruit-staff-voice-modal-close-button p {
  width: fit-content;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: max(11px, 11 * 0.2666666667vw);
  line-height: max(18px, 18 * 0.2666666667vw);
  text-align: center;
  color: #475569;
}
@media (min-width: 768px) {
  .l-recruit-staff-voice-modal-close-button p {
    font-size: max(14px, 14 * 0.078125vw);
    line-height: 160%;
  }
}
.l-recruit-staff-voice-modal-title {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 0px;
  border-radius: 0px;
}
@media (min-width: 768px) {
  .l-recruit-staff-voice-modal-title {
    gap: 2px;
  }
}
.l-recruit-staff-voice-modal-title h2 {
  font-weight: 300;
  font-size: max(36px, 36 * 0.2666666667vw);
  line-height: 100%;
  letter-spacing: max(-2px, -2 * 0.2666666667vw);
  text-transform: uppercase;
  color: #004975;
}
@media (min-width: 768px) {
  .l-recruit-staff-voice-modal-title h2 {
    font-size: max(56px, 56 * 0.078125vw);
    line-height: max(56px, 56 * 0.078125vw);
    letter-spacing: 0px;
    text-transform: capitalize;
  }
}
.l-recruit-staff-voice-modal-title p {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: max(12px, 12 * 0.2666666667vw);
  line-height: max(19px, 19 * 0.2666666667vw);
  letter-spacing: max(0.96px, 0.96 * 0.2666666667vw);
  color: #A31134;
}
@media (min-width: 768px) {
  .l-recruit-staff-voice-modal-title p {
    font-size: max(14px, 14 * 0.078125vw);
    line-height: max(21px, 21 * 0.078125vw);
    letter-spacing: max(1.12px, 1.12 * 0.078125vw);
  }
}
.l-recruit-staff-voice-modal-content {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: max(24px, 24 * 0.2666666667vw);
  gap: max(16px, 16 * 0.2666666667vw);
  width: 100%;
  border-radius: 0px;
}
@media (min-width: 768px) {
  .l-recruit-staff-voice-modal-content {
    flex-direction: row;
    align-items: flex-start;
    padding: max(40px, 40 * 0.078125vw) max(48px, 48 * 0.078125vw);
    gap: max(40px, 40 * 0.078125vw);
  }
}
.l-recruit-staff-voice-modal-content-container {
  width: 100%;
  height: calc(100vh - 160px);
  overflow-x: hidden;
  overflow-y: scroll;
}
@media (min-width: 768px) {
  .l-recruit-staff-voice-modal-content-container {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: max(40px, 40 * 0.078125vw);
  }
}
.l-recruit-staff-voice-modal-icon {
  display: flex;
  width: 100%;
}
@media (min-width: 768px) {
  .l-recruit-staff-voice-modal-icon {
    width: 21vw;
  }
}
.l-recruit-staff-voice-modal-icon img {
  border-radius: 16px;
  margin: auto;
  max-height: 220px;
}
@media (min-width: 768px) {
  .l-recruit-staff-voice-modal-icon img {
    width: 21vw;
    max-height: none;
  }
}
.l-recruit-staff-voice-modal-info {
  width: 100%;
  padding: 0px max(20px, 20 * 0.2666666667vw);
  text-align: left;
  box-sizing: border-box;
}
@media (min-width: 768px) {
  .l-recruit-staff-voice-modal-info {
    padding: 0px;
  }
}
@media (min-width: 768px) {
  .l-recruit-staff-voice-modal-info-container {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 0px;
    gap: max(20px, 20 * 0.078125vw);
  }
}
@media (min-width: 768px) {
  .l-recruit-staff-voice-modal-info-voice {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 0px 0px 0px max(16px, 16 * 0.078125vw);
    border-left: 2.46392px solid #A31134;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 500;
    font-size: max(16px, 16 * 0.078125vw);
    line-height: 200%;
    color: #003058;
  }
}
.l-recruit-staff-voice-modal-info p {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: max(16px, 16 * 0.2666666667vw);
  line-height: 160%;
  color: #003058;
}
@media (min-width: 768px) {
  .l-recruit-staff-voice-modal-info p {
    font-size: max(15px, 15 * 0.078125vw);
  }
}
.l-recruit-staff-voice-modal-info .red {
  line-height: 200%;
  color: #A31134;
}
@media (min-width: 768px) {
  .l-recruit-staff-voice-modal-info .red {
    font-weight: 400;
    font-size: max(14px, 14 * 0.078125vw);
  }
}
.l-recruit-staff-voice-modal-line {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  width: max(335px, 335 * 0.2666666667vw);
  height: 1px;
  background: #CDD5E3;
}
@media (min-width: 768px) {
  .l-recruit-staff-voice-modal-line {
    width: 100%;
  }
}
.l-recruit-staff-voice-modal-question-container {
  display: flex;
  flex-direction: column;
  padding: 0px;
  gap: max(8px, 8 * 0.2666666667vw);
  width: max(335px, 335 * 0.2666666667vw);
}
@media (min-width: 768px) {
  .l-recruit-staff-voice-modal-question-container {
    align-items: flex-start;
    gap: max(8px, 8 * 0.078125vw);
    width: auto;
  }
}
.l-recruit-staff-voice-modal-question-title {
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 0px;
  gap: max(8px, 8 * 0.2666666667vw);
}
@media (min-width: 768px) {
  .l-recruit-staff-voice-modal-question-title {
    gap: max(18px, 18 * 0.078125vw);
  }
}
.l-recruit-staff-voice-modal-question-title p {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: max(16px, 16 * 0.2666666667vw);
  line-height: 160%;
  color: #A31134;
}
@media (min-width: 768px) {
  .l-recruit-staff-voice-modal-question-title p {
    font-size: max(18px, 18 * 0.078125vw);
    line-height: 200%;
  }
}
.l-recruit-staff-voice-modal-question-title .question {
  color: #003058;
}
.l-recruit-staff-voice-modal-answer {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: max(12px, 12 * 0.2666666667vw) max(16px, 16 * 0.2666666667vw);
  gap: max(8px, 8 * 0.2666666667vw);
  width: max(335px, 335 * 0.2666666667vw);
  background: rgba(255, 255, 255, 0.5);
  border-radius: max(8px, 8 * 0.2666666667vw);
  box-sizing: border-box;
}
@media (min-width: 768px) {
  .l-recruit-staff-voice-modal-answer {
    padding: max(16px, 16 * 0.078125vw) max(24px, 24 * 0.078125vw);
    gap: max(8px, 8 * 0.078125vw);
    width: 100%;
  }
}
.l-recruit-staff-voice-modal-answer p {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: max(16px, 16 * 0.2666666667vw);
  line-height: 200%;
  color: #003058;
}
@media (min-width: 768px) {
  .l-recruit-staff-voice-modal-answer p {
    font-size: max(14px, 14 * 0.078125vw);
  }
}
.l-recruit-staff-voice-modal-footer {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  margin-top: max(16px, 16 * 0.2666666667vw);
  padding: max(16px, 16 * 0.2666666667vw) max(16px, 16 * 0.2666666667vw) max(24px, 24 * 0.2666666667vw) max(16px, 16 * 0.2666666667vw);
}
.l-recruit-staff-voice-modal-footer-button {
  box-sizing: border-box;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  margin-top: max(24px, 24 * 0.2666666667vw);
  padding: max(10px, 10 * 0.2666666667vw) max(32px, 32 * 0.2666666667vw) max(11px, 11 * 0.2666666667vw);
  gap: max(10px, 10 * 0.2666666667vw);
  width: max(172px, 172 * 0.2666666667vw);
  border: 1px solid #1F2A44;
  border-radius: max(4px, 4 * 0.2666666667vw);
  background: none;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: max(16px, 16 * 0.2666666667vw);
  line-height: 160%;
  text-align: center;
  color: #1F2A44;
}
@media (min-width: 768px) {
  .l-recruit-staff-voice-modal-footer-button {
    padding: max(10px, 10 * 0.078125vw) max(32px, 32 * 0.078125vw) max(11px, 11 * 0.078125vw);
    margin: max(24px, 24 * 0.078125vw) auto auto;
    width: max(172px, 172 * 0.078125vw);
    border-radius: max(4px, 4 * 0.078125vw);
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 500;
    font-size: max(18px, 18 * 0.078125vw);
    line-height: 160%;
    cursor: pointer;
  }
}
.l-recruit-staff-voice-modal-footer-button:hover {
  border-radius: 4px;
  border: 1px solid #1f2a44;
  box-sizing: border-box;
  opacity: 0.7;
  color: #1f2a44;
}
@media (min-width: 768px) {
  .l-recruit-job-overview-title {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: max(16px, 16 * 0.078125vw);
  }
}
.l-recruit-job-overview-title h2 {
  font-weight: 300;
  font-size: max(48px, 48 * 0.2666666667vw);
  line-height: 120%;
  text-transform: capitalize;
  color: #FFFFFF;
}
@media (min-width: 768px) {
  .l-recruit-job-overview-title h2 {
    font-size: max(100px, 100 * 0.078125vw);
    line-height: max(85px, 85 * 0.078125vw);
  }
}
.l-recruit-job-overview-title p {
  font-weight: 500;
  font-size: max(16px, 16 * 0.2666666667vw);
  line-height: 160%;
  color: #FFFFFF;
}
@media (min-width: 768px) {
  .l-recruit-job-overview-title p {
    font-size: max(24px, 24 * 0.078125vw);
  }
}
.l-recruit-job-overview-inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: max(40px, 40 * 0.2666666667vw) max(16px, 16 * 0.2666666667vw);
  gap: max(16px, 16 * 0.2666666667vw);
  background: rgba(255, 255, 255, 0.1);
  border-radius: max(16px, 16 * 0.2666666667vw);
}
@media (min-width: 768px) {
  .l-recruit-job-overview-inner {
    padding: max(80px, 80 * 0.078125vw) max(40px, 40 * 0.078125vw);
    gap: max(24px, 24 * 0.078125vw);
    backdrop-filter: blur(max(6px, 6 * 0.078125vw));
    width: 100%;
    box-sizing: border-box;
  }
}
.l-recruit-job-overview-content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: max(24px, 24 * 0.2666666667vw) 0px max(8px, 8 * 0.2666666667vw);
  gap: max(4px, 4 * 0.2666666667vw);
  width: 100%;
  border-bottom: 1px solid #E5E5E5;
}
@media (min-width: 768px) {
  .l-recruit-job-overview-content {
    flex-direction: row;
    padding: max(16px, 16 * 0.078125vw) 0px;
    gap: max(48px, 48 * 0.078125vw);
  }
}
.l-recruit-job-overview-content-title {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
  padding: 0px 0px max(16px, 16 * 0.2666666667vw);
  gap: max(10px, 10 * 0.2666666667vw);
  border-bottom: 1px solid #E5E5E5;
  border-radius: 0px;
}
@media (min-width: 768px) {
  .l-recruit-job-overview-content-title {
    box-sizing: border-box;
    flex-direction: row;
    align-items: baseline;
    justify-content: flex-start;
    padding: 0px 0px max(16px, 16 * 0.078125vw);
    gap: 0px;
  }
}
.l-recruit-job-overview-content-title h2 {
  font-family: "Roboto", sans-serif;
  font-weight: 300;
  font-size: max(28px, 28 * 0.2666666667vw);
  line-height: 120%;
  letter-spacing: max(1.12px, 1.12 * 0.2666666667vw);
  color: #FFFFFF;
}
@media (min-width: 768px) {
  .l-recruit-job-overview-content-title h2 {
    width: max(260px, 260 * 0.078125vw);
    font-size: max(40px, 40 * 0.078125vw);
    line-height: 160%;
    letter-spacing: max(0.04px, 0.04 * 0.078125vw);
  }
}
.l-recruit-job-overview-content-title p {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: max(16px, 16 * 0.2666666667vw);
  line-height: 200%;
  color: #FFFFFF;
}
@media (min-width: 768px) {
  .l-recruit-job-overview-content-title p {
    font-size: max(16px, 16 * 0.078125vw);
    font-feature-settings: "pwid" on;
  }
}
.l-recruit-job-overview-content-inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 0px;
}
@media (min-width: 768px) {
  .l-recruit-job-overview-content-inner {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 0px 0px 0px max(260px, 260 * 0.078125vw);
    gap: max(10px, 10 * 0.078125vw);
    width: 100%;
    box-sizing: border-box;
  }
}
.l-recruit-job-overview-content h3 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: max(16px, 16 * 0.2666666667vw);
  line-height: 160%;
  color: #FFFFFF;
}
@media (min-width: 768px) {
  .l-recruit-job-overview-content h3 {
    width: max(200px, 200 * 0.078125vw);
    font-size: max(18px, 18 * 0.078125vw);
  }
}
.l-recruit-job-overview-content p {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: max(16px, 16 * 0.2666666667vw);
  line-height: 200%;
  color: #FFFFFF;
}
@media (min-width: 768px) {
  .l-recruit-job-overview-content p {
    font-size: max(16px, 16 * 0.078125vw);
    width: 100%;
  }
}
.l-recruit-job-overview-content-new-graduate {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: max(24px, 24 * 0.2666666667vw) 0px max(8px, 8 * 0.2666666667vw);
  gap: max(4px, 4 * 0.2666666667vw);
}
.l-recruit-job-overview-content-new-graduate p {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: max(14px, 14 * 0.2666666667vw);
  line-height: 200%;
  color: #FFFFFF;
}
@media (min-width: 768px) {
  .l-recruit-job-overview-content-new-graduate p {
    font-size: max(16px, 16 * 0.078125vw);
  }
}
.l-recruit-job-overview-line picture img {
  position: absolute;
  width: 100vw;
  left: 0;
  top: 0;
}
.l-recruit-entry-vector picture img {
  position: absolute;
  width: 100vw;
  z-index: 1;
  margin-top: -120px;
}
@media (min-width: 768px) {
  .l-recruit-entry-vector picture img {
    margin-top: max(-500px, -500 * 0.078125vw);
  }
}
.l-recruit-entry-bg {
  display: block;
  width: 100vw;
  position: relative;
  z-index: 0;
}
@media (min-width: 768px) {
  .l-recruit-entry-bg {
    width: 50vw;
    height: 34.375vw;
  }
}
.l-recruit-entry-inner {
  position: relative;
  overflow: hidden;
}
@media (min-width: 768px) {
  .l-recruit-entry-inner {
    width: 100%;
  }
}
.l-recruit-entry-content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: max(32px, 32 * 0.2666666667vw) max(16px, 16 * 0.2666666667vw) max(56px, 56 * 0.2666666667vw);
  gap: max(16px, 16 * 0.2666666667vw);
  width: 100vw;
  background-image: url("../images/recruit/entry_flag_sp.webp");
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  background-color: #A31134;
  border-radius: 0px;
  box-sizing: border-box;
}
@media (min-width: 768px) {
  .l-recruit-entry-content {
    padding: 0px 0px 0px max(80px, 80 * 0.078125vw);
    gap: max(24px, 24 * 0.078125vw);
    width: 100%;
    height: 34.375vw;
    justify-content: center;
  }
}
.l-recruit-entry-content h2 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 0px 0px max(16px, 16 * 0.2666666667vw);
  border-bottom: 1.31862px solid rgba(255, 255, 255, 0.5);
  border-radius: 0px;
  color: #FFFFFF;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: max(24px, 24 * 0.2666666667vw);
  line-height: max(38px, 38 * 0.2666666667vw);
}
@media (min-width: 768px) {
  .l-recruit-entry-content h2 {
    font-size: max(40px, 40 * 0.078125vw);
    line-height: 160%;
  }
}
.l-recruit-entry-content > #mail {
  position: relative;
  font-family: "Noto Sans JP", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: max(16px, 16 * 0.2666666667vw);
  line-height: max(26px, 26 * 0.2666666667vw);
  color: #FFFFFF;
  z-index: 2;
}
@media (min-width: 768px) {
  .l-recruit-entry-content > #mail {
    font-size: max(20px, 20 * 0.078125vw);
    line-height: 160%;
  }
}
.l-recruit-entry-content > #mail::after {
  content: ">";
  margin-left: 0.5em;
  color: #FFFFFF;
  font-size: 16px;
}
@media (min-width: 768px) {
  .l-recruit-entry-content > #mail::after {
    display: inline-block;
    transition: transform 0.2s;
    margin-left: max(24px, 24 * 0.078125vw);
    font-size: max(20px, 20 * 0.078125vw);
  }
}
@media (min-width: 768px) {
  .l-recruit-entry-content > #mail:hover::after {
    transform: translateX(max(8px, 8 * 0.078125vw));
  }
}
.l-recruit-entry-content > #privacy {
  position: relative;
  font-family: "Noto Sans JP", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: max(16px, 16 * 0.2666666667vw);
  line-height: max(24px, 24 * 0.2666666667vw);
  text-decoration-line: underline;
  color: #FFFFFF;
  z-index: 1;
}
@media (min-width: 768px) {
  .l-recruit-entry-content > #privacy {
    font-size: max(14px, 14 * 0.078125vw);
    line-height: 200%;
  }
}
@media (min-width: 768px) {
  .l-recruit-entry-content > #privacy:hover {
    opacity: 0.7;
  }
}

/* Swiperのstaff-voice用のスタイル */
.swiper-staff-voice-sp-modal .swiper-wrapper,
.swiper-staff-voice-pc-modal .swiper-wrapper {
  transition-timing-function: linear;
}
@media (min-width: 768px) {
  .swiper-staff-voice-sp-modal .swiper-wrapper,
  .swiper-staff-voice-pc-modal .swiper-wrapper {
    width: 75vw;
  }
}

.swiper-staff-voice .swiper-wrapper {
  transition-timing-function: linear;
  transition-property: transform, height;
}
@media (min-width: 768px) {
  .swiper-staff-voice .swiper-wrapper {
    width: calc(100vw - 2 * max(80px, 80 * 0.078125vw) - 2 * max(40px, 40 * 0.078125vw));
  }
}

.swiper-staff-voice .swiper-slide,
.swiper-staff-voice-sp-modal .swiper-slide,
.swiper-staff-voice-pc-modal .swiper-slide {
  height: auto;
  width: 100%;
}

.c-recruit-staff-voice-pagination > .swiper-button-prev,
.c-recruit-staff-voice-pagination > .swiper-button-next,
.c-recruit-staff-voice-pagination > .swiper-sp-modal-button-prev,
.c-recruit-staff-voice-pagination > .swiper-sp-modal-button-next,
.c-recruit-staff-voice-pagination > .swiper-pc-modal-button-prev,
.c-recruit-staff-voice-pagination > .swiper-pc-modal-button-next {
  position: static;
}

@media (min-width: 768px) {
  .c-recruit-staff-voice-pagination > .swiper-button-prev,
  .c-recruit-staff-voice-pagination > .swiper-button-next {
    width: max(48px, 48 * 0.078125vw);
  }
}

.c-recruit-staff-voice-pagination > .swiper-page-info {
  font-family: "Inter";
  font-style: normal;
  font-weight: 500;
  font-size: max(13px, 13 * 0.2666666667vw);
  line-height: max(28px, 28 * 0.2666666667vw);
  align-items: flex-start;
  height: max(40px, 40 * 0.2666666667vw);
}
@media (min-width: 768px) {
  .c-recruit-staff-voice-pagination > .swiper-page-info {
    font-size: max(14px, 14 * 0.078125vw);
    line-height: 150%;
    height: max(40px, 40 * 0.078125vw);
  }
}

.c-recruit-staff-voice-pagination > .swiper-modal-page-info {
  font-family: "Inter";
  font-style: normal;
  font-weight: 500;
  font-size: max(13px, 13 * 0.2666666667vw);
  line-height: max(20px, 20 * 0.2666666667vw);
  align-items: flex-start;
}

.l-recruit-staff-voice-modal-content-container > .swiper-wrapper {
  height: auto;
}

.swiper-pc-modal-button-prev {
  position: absolute;
  left: max(-58px, -58 * 0.078125vw);
  top: 50%;
  transform: translateY(-50%);
  z-index: 101;
}

.swiper-pc-modal-button-next {
  position: absolute;
  right: max(-58px, -58 * 0.078125vw);
  top: 50%;
  transform: translateY(-50%);
  z-index: 101;
}

@media (min-width: 768px) {
  .l-news {
    display: flex;
    padding: 120px 80px 160px 80px;
    background-color: #fafdff;
  }
}

@media (min-width: 768px) {
  .c-news {
    width: 20%;
  }
}
.c-news-pagination {
  padding-bottom: 120px;
}
@media (min-width: 768px) {
  .c-news-pagination {
    padding-top: 64px;
    padding-bottom: 0px;
  }
}
@media (min-width: 768px) {
  .c-news-contents {
    width: 80%;
  }
}
.c-news-inner {
  padding: 24px 16px 16px 16px;
  background-color: #fafdff;
}
@media (min-width: 768px) {
  .c-news-inner {
    padding: max(40px, 40 * 0.078125vw) max(40px, 40 * 0.078125vw) 0px 0px;
  }
}
.c-news-contents-inner {
  padding-bottom: 64px;
}
@media (min-width: 768px) {
  .c-news-contents-inner {
    padding-bottom: 0px;
  }
}
.c-news-search-category {
  gap: 12px;
}
@media (min-width: 768px) {
  .c-news-search-category {
    display: flex;
    flex-direction: column;
    gap: 16px;
  }
}
@media (min-width: 768px) {
  .c-news-search-category-upper, .c-news-search-category-lower {
    display: contents;
  }
}
.c-news-search-category-lower {
  padding-top: 8px;
}
@media (min-width: 768px) {
  .c-news-search-category-lower {
    padding-top: 0px;
  }
}
.c-news-search-category-item {
  margin: 0 12px 0 0;
  height: 36px;
  display: inline-flex;
  align-items: center;
  position: relative;
  font-weight: 500;
}
@media (min-width: 768px) {
  .c-news-search-category-item {
    font-size: max(16px, 16 * 0.078125vw);
  }
}
.c-news-search-category-item:not(.c-news-search-category-item--active):link, .c-news-search-category-item:not(.c-news-search-category-item--active):visited, .c-news-search-category-item:not(.c-news-search-category-item--active):active {
  color: #cdd5e3;
}
.c-news-search-category-item--active {
  color: #003058;
}
@media (min-width: 768px) {
  .c-news-search-category-item--active {
    font-size: max(18px, 18 * 0.078125vw);
  }
}
.c-news-search-category-item--active::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  height: 2px;
  width: 100%;
  background: #003058;
}
@media (min-width: 768px) {
  .c-news-search-category-item--active::after {
    width: 8%;
  }
}
.c-news-search-container {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
@media (min-width: 768px) {
  .c-news-search-container {
    gap: 40px;
  }
}
.c-news-search-label {
  font-size: 16px;
  line-height: 20px;
  font-weight: 500;
  padding-bottom: 8px;
}
@media (min-width: 768px) {
  .c-news-search-label {
    font-size: max(18px, 18 * 0.078125vw);
    line-height: 160%;
    font-weight: 500;
  }
}
.c-news-search-select-wrapper {
  position: relative;
}
.c-news-search-select-wrapper::after {
  content: "";
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  width: 8px;
  height: 8px;
  border-right: 2px solid #003058;
  border-bottom: 2px solid #003058;
  pointer-events: none;
}
.c-news-search-select-form {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
@media (min-width: 768px) {
  .c-news-search-select-form {
    gap: max(40px, 40 * 0.078125vw);
  }
}
.c-news-search-select-input {
  width: 100%;
  border-radius: 4px;
  border: 1px solid #959595;
  font-size: 16px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  padding: 12px 40px 12px 16px;
}
.c-news-list {
  padding: 16px 0 0 0;
  display: flex;
  flex-direction: column;
  background-color: #fafdff;
}
.c-news-list a {
  text-decoration: none;
  color: inherit;
}
.c-news-list-empty {
  font-size: 16px;
  color: #52677c;
  text-align: center;
  padding: 40px 0;
}
.c-news-list-item {
  border-radius: 12px;
  background-color: #fafdff;
  align-items: flex-start;
  font-size: 16px;
}
@media (min-width: 768px) {
  .c-news-list-item {
    padding-bottom: 0;
    border-radius: 0;
    width: 100%;
  }
  .c-news-list-item:last-child {
    border-bottom: none;
  }
}
@media (min-width: 768px) {
  .c-news-list-item-container {
    display: flex;
    align-items: stretch;
    width: 100%;
  }
}
@media (min-width: 768px) {
  .c-news-list-item-left {
    width: 28.9%;
    height: 100%;
  }
}
@media (min-width: 768px) {
  .c-news-list-item-right {
    width: 71.1%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
}
.c-news-list-item-image {
  height: max(213px, 213 * 0.2666666667vw);
  width: 100%;
  object-fit: cover;
  border-radius: 12px 12px 12px 12px;
}
@media (min-width: 768px) {
  .c-news-list-item-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}
.c-news-list-item-title {
  line-height: 160%;
  padding: 16px 0 0;
}
@media (min-width: 768px) {
  .c-news-list-item-title {
    font-size: max(24px, 24 * 0.078125vw);
    line-height: 160%;
    padding: 0 max(16px, 16 * 0.078125vw) 0;
  }
}
.c-news-list-item-text {
  font-size: 16px;
  line-height: 160%;
  color: #52677c;
  padding: 8px 0px;
}
@media (min-width: 768px) {
  .c-news-list-item-text {
    padding: 8px 16px 0px 16px;
  }
}

.c-news-list-item-right .c-home-news-list-item-tags {
  padding: 8px 0px 0px 0px;
}
@media (min-width: 768px) {
  .c-news-list-item-right .c-home-news-list-item-tags {
    padding: 8px 0px 0px 16px;
  }
}

.c-home-news-list-item .c-home-news-list-item-title {
  font-size: 16px;
  line-height: 160%;
}
@media (min-width: 768px) {
  .c-home-news-list-item .c-home-news-list-item-title {
    font-size: max(18px, 18 * 0.078125vw);
  }
}

.c-news-list-item .c-home-news-list-item {
  border-bottom: 1px solid rgba(31, 42, 68, 0.1);
  padding: 20px 16px;
  display: block;
}

.l-single-news-header {
  padding: 24px 16px;
}
@media (min-width: 768px) {
  .l-single-news-header {
    padding: 40px 240px 0px;
  }
}

.c-single-news-header-inner {
  padding-bottom: 48px;
  border-bottom: 1px solid #e0e0e0;
}
@media (min-width: 768px) {
  .c-single-news-header-inner {
    padding-bottom: max(48px, 48 * 0.078125vw);
  }
}
.c-single-news-header-title {
  font-weight: 500;
  padding: 16px 0;
  font-size: 24px;
}
@media (min-width: 768px) {
  .c-single-news-header-title {
    padding: max(16px, 16 * 0.078125vw) 0;
    font-size: max(32px, 32 * 0.078125vw);
  }
}
.c-single-news-header-updated-at {
  font-size: 16px;
  font-weight: 500;
  line-height: 200%;
  opacity: 0.6;
}
@media (min-width: 768px) {
  .c-single-news-header-updated-at {
    font-size: max(14px, 14 * 0.078125vw);
  }
}

.c-single-news-content-container {
  padding: 0 16px;
  font-weight: 500;
}
@media (min-width: 768px) {
  .c-single-news-content-container {
    padding: 0 240px;
  }
}
.c-single-news-content-inner {
  padding: 48px 0px 64px;
}
.c-single-news-content-h2-text, .c-single-news-content-h3-text {
  padding-bottom: 16px;
}
@media (min-width: 768px) {
  .c-single-news-content-h2-text, .c-single-news-content-h3-text {
    padding-bottom: max(24px, 24 * 0.078125vw);
    font-size: max(16px, 16 * 0.078125vw);
  }
}
.c-single-news-content-h3-title {
  padding: 24px 0px 16px 0px;
}
@media (min-width: 768px) {
  .c-single-news-content-h3-title {
    padding: max(32px, 32 * 0.078125vw) 0px max(24px, 24 * 0.078125vw) 0px;
    font-size: max(24px, 24 * 0.078125vw);
  }
}
.c-single-news-content-additional-file {
  height: 73px;
  border-radius: 4px;
  border: 1px solid #008bc5;
  box-sizing: border-box;
  display: flex;
  gap: 8px;
  align-items: center;
  color: #008bc5;
  width: 100%;
}
@media (min-width: 768px) {
  .c-single-news-content-additional-file {
    width: fit-content;
    height: fit-content;
    gap: max(8px, 8 * 0.078125vw);
    padding: max(16px, 16 * 0.078125vw) max(10px, 10 * 0.078125vw) max(16px, 16 * 0.078125vw) max(11px, 11 * 0.078125vw);
    display: flex;
  }
}
.c-single-news-content-additional-file-container {
  display: flex;
  width: 100%;
}
.c-single-news-content-additional-file-link {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  width: 100%;
}
.c-single-news-content-additional-file-link:link, .c-single-news-content-additional-file-link:visited, .c-single-news-content-additional-file-link:active {
  color: #008bc5;
}
.c-single-news-content-additional-file-text {
  margin: 0 auto;
}
.c-single-news-content-additional-file-icon {
  margin-left: auto;
  padding-right: 16px;
  height: 20px;
  width: 20px;
}
.c-single-news-content-middle {
  padding-bottom: 48px;
}
@media (min-width: 768px) {
  .c-single-news-content-middle {
    padding-bottom: max(48px, 48 * 0.078125vw);
  }
}
.c-single-news-content-under {
  padding-top: 48px;
  border-top: 1px solid #e0e0e0;
}
@media (min-width: 768px) {
  .c-single-news-content-under {
    padding-top: max(48px, 48 * 0.078125vw);
  }
}
.c-single-news-content-under-title {
  padding: 24px 0px 16px;
  font-size: 20px;
  height: 38px;
  font-weight: 500;
  display: inline-block;
}
@media (min-width: 768px) {
  .c-single-news-content-under-title {
    padding: max(32px, 32 * 0.078125vw) 0px max(24px, 24 * 0.078125vw) 0px;
    font-size: max(24px, 24 * 0.078125vw);
  }
}
.c-single-news-content-under-image-icon {
  max-width: 100%;
  height: auto;
  display: block;
}
@media (min-width: 768px) {
  .c-single-news-content-under-image-icon {
    margin: 0 auto;
  }
}
.c-single-news-content-under-image-title {
  padding: 24px 0px 16px;
  font-size: 20px;
}
@media (min-width: 768px) {
  .c-single-news-content-under-image-title {
    padding: max(32px, 32 * 0.078125vw) 0px max(24px, 24 * 0.078125vw) 0px;
    font-size: max(24px, 24 * 0.078125vw);
  }
}
.c-single-news-content-under-image-text {
  padding-bottom: 16px;
}
@media (min-width: 768px) {
  .c-single-news-content-under-image-text {
    padding-bottom: max(16px, 16 * 0.078125vw);
  }
}

.c-single-news-content-bottom {
  padding: 0px 0px 120px;
}
@media (min-width: 768px) {
  .c-single-news-content-bottom {
    padding: 0px 0px 160px;
  }
}

@media (min-width: 768px) {
  .l-solution-hero {
    padding: 40px 80px 80px;
  }
}

.c-solution-header-text {
  width: 100%;
  position: relative;
  font-size: 32px;
  line-height: 140%;
  font-weight: 500;
  font-family: "Noto Sans JP";
  color: #1f2a44;
  text-align: left;
  display: inline-block;
}

.c-solution-hero-inner {
  padding: 40px 16px 64px;
}
@media (min-width: 768px) {
  .c-solution-hero-inner {
    padding: 80px;
  }
}
.c-solution-hero-wrapper {
  display: flex;
  flex-direction: column;
  gap: 32px;
}
@media (min-width: 768px) {
  .c-solution-hero-wrapper {
    flex-direction: row;
    align-items: flex-start;
    gap: max(82px, 82 * 0.078125vw);
  }
}
.c-solution-hero-wrapper-image {
  width: 100%;
  height: auto;
  display: block;
}
@media (min-width: 768px) {
  .c-solution-hero-wrapper-image {
    width: max(504px, 504 * 0.078125vw);
  }
}
@media (min-width: 768px) {
  .c-solution-hero-wrapper-text-area {
    width: max(504px, 504 * 0.078125vw);
  }
}
.c-solution-hero-wrapper-title {
  font-size: 20px;
  line-height: 160%;
  font-weight: 500;
}
@media (min-width: 768px) {
  .c-solution-hero-wrapper-title {
    font-size: max(28px, 28 * 0.078125vw);
    line-height: 140%;
    font-weight: 500;
    font-family: "Roboto", sans-serif;
  }
}
.c-solution-hero-wrapper-text {
  font-size: 16px;
  line-height: 200%;
  font-weight: 500;
  padding-top: 16px;
}
@media (min-width: 768px) {
  .c-solution-hero-wrapper-text {
    font-size: max(18px, 18 * 0.078125vw);
    line-height: 200%;
    font-weight: 500;
  }
}

.l-solution-type {
  padding: 64px 0px 32px;
}
@media (min-width: 768px) {
  .l-solution-type {
    padding: max(80px, 80 * 0.078125vw) max(80px, 80 * 0.078125vw) max(40px, 40 * 0.078125vw);
    gap: max(24px, 24 * 0.078125vw);
  }
}

.c-solution-type {
  display: flex;
}
.c-solution-type-title {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 0px 8px 20px;
  font-weight: 500;
}
@media (min-width: 768px) {
  .c-solution-type-title {
    font-size: max(32px, 32 * 0.078125vw);
    line-height: 160%;
    padding: 0px 8px 12px;
  }
}
.c-solution-type-title-icon {
  height: 32px;
}
@media (min-width: 768px) {
  .c-solution-type-title-icon {
    height: max(40px, 40 * 0.078125vw);
  }
}
.c-solution-type-title-text {
  font-size: 24px;
  line-height: 160%;
  font-weight: 500;
  color: #003058;
}
@media (min-width: 768px) {
  .c-solution-type-title-text {
    font-size: max(32px, 32 * 0.078125vw);
    line-height: 160%;
    font-weight: 500;
  }
}
@media (min-width: 768px) {
  .c-solution-type-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0 max(8px, 8 * 0.078125vw);
    padding-bottom: max(40px, 40 * 0.078125vw);
  }
}
.c-solution-type-list-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  border-bottom: 1px solid #959595;
}
@media (min-width: 768px) {
  .c-solution-type-list-item {
    position: relative;
    padding: max(24px, 24 * 0.078125vw) max(16px, 16 * 0.078125vw);
    border-bottom: none;
  }
  .c-solution-type-list-item::after {
    content: "";
    position: absolute;
    left: max(4px, 4 * 0.078125vw);
    right: max(4px, 4 * 0.078125vw);
    bottom: 0;
    height: 1px;
    background: #959595;
  }
}
@media (min-width: 768px) {
  .c-solution-type-list-item-link {
    display: block;
    height: 100%;
  }
}
.c-solution-type-list-item-title {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}
@media (min-width: 768px) {
  .c-solution-type-list-item-title {
    display: flex;
    flex-direction: column;
    gap: max(8px, 8 * 0.078125vw);
  }
}
.c-solution-type-list-item-title-name {
  font-size: 16px;
  line-height: 160%;
  font-weight: 500;
  color: #003058;
}
@media (min-width: 768px) {
  .c-solution-type-list-item-title-name {
    font-size: max(24px, 24 * 0.078125vw);
    line-height: 130%;
    font-weight: 500;
  }
}
.c-solution-type-list-item-title-image {
  max-width: max(311px, 311 * 0.2666666667vw);
  display: block;
}
@media (min-width: 768px) {
  .c-solution-type-list-item-title-image {
    max-width: max(304px, 304 * 0.078125vw);
  }
}
.c-solution-type-list-item-icon {
  height: 24px;
  width: 24px;
}
@media (min-width: 768px) {
  .c-solution-type-list-item-icon {
    height: max(24px, 24 * 0.078125vw);
    width: max(24px, 24 * 0.078125vw);
  }
}

.l-solution-tag {
  padding-bottom: 64px;
}
@media (min-width: 768px) {
  .l-solution-tag {
    padding: 0 max(80px, 80 * 0.078125vw) max(80px, 80 * 0.078125vw);
  }
}

.c-solution-tag {
  padding: 32px 8px 20px;
}
.c-solution-tag-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 0px 16px;
}
.c-solution-tag-category-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding-bottom: 8px;
}
@media (min-width: 768px) {
  .c-solution-tag-category-list {
    gap: max(12px, 12 * 0.078125vw);
  }
}
.c-solution-tag-category-item {
  border-radius: 999px;
  background-color: #cbe6fe;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #626262;
  font-size: 16px;
  font-weight: 500;
  padding: 8px 12px 10px;
  height: 32px;
  min-width: 72px;
}
.c-solution-tag-category-item.is-link {
  cursor: pointer;
}
@media (min-width: 768px) {
  .c-solution-tag-category-item {
    font-size: max(14px, 14 * 0.078125vw);
    padding: max(8px, 8 * 0.078125vw) max(8px, 8 * 0.078125vw) max(10px, 10 * 0.078125vw);
  }
}
.c-solution-tag-use-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
@media (min-width: 768px) {
  .c-solution-tag-use-list {
    gap: max(12px, 12 * 0.078125vw);
  }
}
.c-solution-tag-use-item {
  border-radius: 999px;
  background-color: #e5e5e5;
  color: #626262;
  font-size: 16px;
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px 12px 10px;
  height: 32px;
  min-width: 72px;
}
.c-solution-tag-use-item.is-link {
  cursor: pointer;
}
@media (min-width: 768px) {
  .c-solution-tag-use-item {
    font-size: max(14px, 14 * 0.078125vw);
    padding: max(8px, 8 * 0.078125vw) max(8px, 8 * 0.078125vw) max(10px, 10 * 0.078125vw);
  }
}

.l-solution-product {
  padding: 0px 0 56px;
}
@media (min-width: 768px) {
  .l-solution-product {
    padding: 0;
  }
}

.c-solution-product {
  position: relative;
}
.c-solution-product-bg-image {
  z-index: 1;
}
.c-solution-product-bg-image-solution-type-1 {
  background-image: url("../images/solution/solution-type-1-sp.webp");
}
@media (min-width: 768px) {
  .c-solution-product-bg-image-solution-type-1 {
    background-image: url("../images/solution/solution-type-1-pc.webp");
  }
}
.c-solution-product-bg-image-solution-type-2 {
  background-image: url("../images/solution/solution-type-2-sp.webp");
}
@media (min-width: 768px) {
  .c-solution-product-bg-image-solution-type-2 {
    background-image: url("../images/solution/solution-type-2-pc.webp");
  }
}
.c-solution-product-bg-image-solution-type-3 {
  background-image: url("../images/solution/solution-type-3-sp.webp");
}
@media (min-width: 768px) {
  .c-solution-product-bg-image-solution-type-3 {
    background-image: url("../images/solution/solution-type-3-pc.webp");
  }
}
.c-solution-product-bg-image-solution-type-4 {
  background-image: url("../images/solution/solution-type-4-sp.webp");
}
@media (min-width: 768px) {
  .c-solution-product-bg-image-solution-type-4 {
    background-image: url("../images/solution/solution-type-4-pc.webp");
  }
}
.c-solution-product-bg-image-solution-type-5 {
  background-image: url("../images/solution/solution-type-5-sp.webp");
}
@media (min-width: 768px) {
  .c-solution-product-bg-image-solution-type-5 {
    background-image: url("../images/solution/solution-type-5-pc.webp");
  }
}
.c-solution-product-bg-image-solution-type-6 {
  background-image: url("../images/solution/solution-type-6-sp.webp");
}
@media (min-width: 768px) {
  .c-solution-product-bg-image-solution-type-6 {
    background-image: url("../images/solution/solution-type-6-pc.webp");
  }
}
.c-solution-product-solution-type {
  position: relative;
  padding: 24px 16px;
  margin-top: 64px;
  border-radius: 12px;
  overflow: hidden;
  min-height: 300px;
  background-size: cover;
  background-repeat: no-repeat;
}
@media (min-width: 768px) {
  .c-solution-product-solution-type {
    position: relative;
    padding: 0;
    margin-top: 0;
    width: 87.5%;
    margin-left: auto;
    background-size: 100% auto;
    background-position: right center;
    background-repeat: no-repeat;
    padding-bottom: max(130px, 130 * 0.078125vw);
  }
}
.c-solution-product-solution-type-inner {
  position: relative;
  padding: 0px 0px 0 16px;
}
@media (min-width: 768px) {
  .c-solution-product-solution-type-inner {
    padding: 80px 0px 0 80px;
  }
}
.c-solution-product-solution-type-name {
  position: relative;
  font-size: 24px;
  line-height: 160%;
  font-weight: 500;
  font-family: "Noto Sans JP";
  color: #1f2a44;
  text-align: left;
  padding-bottom: 8px;
}
@media (min-width: 768px) {
  .c-solution-product-solution-type-name {
    font-size: max(60px, 60 * 0.078125vw);
    line-height: 120%;
    font-weight: 500;
    padding-bottom: 0px;
  }
}
.c-solution-product-solution-type-en-image {
  max-width: 100%;
  height: auto;
  display: block;
}
@media (min-width: 768px) {
  .c-solution-product-solution-type-en-image {
    max-height: max(161px, 161 * 0.078125vw);
  }
}
@media (min-width: 768px) {
  .c-solution-product-solution-type-en-image.is-small-overlap {
    max-height: max(232px, 232 * 0.078125vw);
  }
}
.c-solution-product-solution-type-separator {
  width: 100%;
  height: 3px;
  position: relative;
  background-color: #1f2a44;
  display: flex;
  align-items: flex-start;
  box-sizing: border-box;
  opacity: 0.1;
}
@media (min-width: 768px) {
  .c-solution-product-solution-type-separator {
    display: none;
  }
}
.c-solution-product-solution-type-description {
  line-height: 200%;
  font-size: 16px;
  font-weight: 500;
}
@media (min-width: 768px) {
  .c-solution-product-solution-type-description {
    font-size: max(16px, 16 * 0.078125vw);
    line-height: 200%;
    font-weight: 500;
    padding-top: max(24px, 24 * 0.078125vw);
    padding-right: max(80px, 80 * 0.078125vw);
    padding-bottom: max(40px, 40 * 0.078125vw);
  }
}
.c-solution-product-list {
  position: relative;
  padding: 0px 16px 64px;
  transform: translateY(-16px);
  z-index: 2;
}
@media (min-width: 768px) {
  .c-solution-product-list {
    padding: 0px max(80px, 80 * 0.078125vw) 0 max(80px, 80 * 0.078125vw);
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: max(80px, 80 * 0.078125vw) max(24px, 24 * 0.078125vw);
    margin-bottom: max(44px, 44 * 0.078125vw);
    margin-top: max(-136px, -136 * 0.078125vw);
  }
}
@media (min-width: 768px) {
  .c-solution-product-list.is-small-overlap {
    margin-bottom: max(124px, 124 * 0.078125vw);
  }
}
.c-solution-product-item {
  box-shadow: 0px 4px 40px rgba(0, 0, 0, 0.05);
  box-sizing: border-box;
  border-radius: 16px 16px 16px 16px;
  margin-bottom: 24px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  height: 100%;
}
@media (min-width: 768px) {
  .c-solution-product-item {
    width: max(548px, 548 * 0.078125vw);
    margin-bottom: 0px;
  }
}
.c-solution-product-item-link {
  display: block;
}
.c-solution-product-item-image {
  border-radius: 16px 16px 0px 0px;
  width: 100%;
  aspect-ratio: 548/309;
  background-color: #fff;
  object-fit: contain;
  display: block;
  transition: transform 0.7s ease, box-shadow 0.7s ease;
}
.c-solution-product-item-image:hover {
  transform: scale(1.05);
}
.c-solution-product-info {
  background-color: #fff;
  padding: 16px;
  display: flex;
  flex-direction: column;
  flex: 1;
}
@media (min-width: 768px) {
  .c-solution-product-info {
    padding: max(16px, 16 * 0.078125vw) max(24px, 24 * 0.078125vw) max(24px, 24 * 0.078125vw) max(16px, 16 * 0.078125vw);
  }
}
.c-solution-product-name {
  font-size: 20px;
  line-height: 160%;
  font-weight: 500;
}
.c-solution-product-name-sub {
  font-size: 14px;
}
@media (min-width: 768px) {
  .c-solution-product-name-sub {
    font-size: max(20px, 20 * 0.078125vw);
  }
}
@media (min-width: 768px) {
  .c-solution-product-name {
    font-size: max(23px, 23 * 0.078125vw);
    line-height: 160%;
    font-weight: 500;
  }
}
.c-solution-product-tag-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 12px 0px;
}
@media (min-width: 768px) {
  .c-solution-product-tag-list {
    gap: max(8px, 8 * 0.078125vw);
    font-size: max(14px, 14 * 0.078125vw);
    padding: max(12px, 12 * 0.078125vw) 0px;
  }
}
.c-solution-product-text {
  font-size: 16px;
  line-height: 160%;
  color: #4a4a4a;
}
@media (min-width: 768px) {
  .c-solution-product-text {
    font-size: max(16px, 16 * 0.078125vw);
    line-height: 160%;
  }
}

@media (max-width: 767px) {
  body.page-template-page-solution .c-common-hero-text {
    font-size: 24px;
  }
}
.c-tag-hero-text {
  font-size: 20px;
  line-height: 140%;
  font-weight: 500;
  padding: 8px 16px;
}
@media (min-width: 768px) {
  .c-tag-hero-text {
    font-size: max(32px, 32 * 0.078125vw);
    letter-spacing: 0.04em;
    line-height: 140%;
    font-weight: 500;
  }
}

.c-tag-inner {
  padding: 64px 16px;
}
@media (min-width: 768px) {
  .c-tag-inner {
    padding: max(80px, 80 * 0.078125vw);
  }
}
.c-tag-pagination {
  padding-bottom: 120px;
}
@media (min-width: 768px) {
  .c-tag-pagination {
    padding-bottom: 160px;
  }
}
.c-tag-product-list {
  position: relative;
  padding: 0px 16px 64px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media (min-width: 768px) {
  .c-tag-product-list {
    padding: 0px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: max(24px, 24 * 0.078125vw);
    align-items: flex-start;
  }
}
.c-tag-product-list-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  box-shadow: 0px 4px 40px rgba(0, 0, 0, 0.05);
  box-sizing: border-box;
  border-radius: 16px 16px 16px 16px;
  margin-bottom: 24px;
  overflow: hidden;
  background-color: #F8F9F8;
}
.c-tag-product-list-image {
  width: max(343px, 343 * 0.2666666667vw);
  height: max(193px, 193 * 0.2666666667vw);
  object-fit: contain;
}
@media (min-width: 768px) {
  .c-tag-product-list-image {
    width: max(400px, 400 * 0.078125vw);
    height: max(225px, 225 * 0.078125vw);
  }
}

.c-solution-tag-item {
  border-radius: 4px;
  background-color: rgba(0, 151, 218, 0.8);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px 12px 10px;
  color: #fff;
  font-size: 13px;
  font-weight: 500;
}
.c-solution-tag-item.is-link {
  cursor: pointer;
}
@media (min-width: 768px) {
  .c-solution-tag-item {
    font-size: max(16px, 16 * 0.078125vw);
  }
}

@media (min-width: 768px) {
  .c-tag-hero-text {
    order: 2;
  }
}
.l-company-info {
  background: #FAFDFF;
  position: relative;
  z-index: 0;
}

.c-common-hero-text--company-info {
  font-size: 24px;
}
@media (min-width: 768px) {
  .c-common-hero-text--company-info {
    font-size: max(32px, 32 * 0.078125vw);
    line-height: 140%;
    letter-spacing: 0.04em;
  }
}

.c-company-info-inner {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  padding: max(40px, 40 * 0.2666666667vw) max(16px, 16 * 0.2666666667vw) max(80px, 80 * 0.2666666667vw);
  gap: max(64px, 64 * 0.2666666667vw);
  width: 100vw;
  box-sizing: border-box;
}
@media (min-width: 768px) {
  .c-company-info-inner {
    align-items: center;
    padding: max(40px, 40 * 0.078125vw) max(80px, 80 * 0.078125vw) max(100px, 100 * 0.078125vw);
    gap: max(80px, 80 * 0.078125vw);
  }
}
.c-company-info-corporate-philosophy-container {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 0px;
  gap: 20px;
}
@media (min-width: 768px) {
  .c-company-info-corporate-philosophy-container {
    gap: max(32px, 32 * 0.078125vw);
  }
}
.c-company-info-corporate-philosophy-container > h3 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 24px;
  line-height: 160%;
  color: #1F2A44;
}
@media (min-width: 768px) {
  .c-company-info-corporate-philosophy-container > h3 {
    font-size: max(32px, 32 * 0.078125vw);
  }
}
.c-company-info-corporate-philosophy-container > h1 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 300;
  font-size: 54px;
  line-height: 140%;
  align-items: center;
  letter-spacing: 0.04em;
  color: #1F2A44;
}
@media (min-width: 768px) {
  .c-company-info-corporate-philosophy-container > h1 {
    font-size: calc(80 * 0.078125vw);
  }
}
.c-company-info-corporate-philosophy-container > h1 > span {
  color: #0097DA;
}
.c-company-info-corporate-philosophy-container > p {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 20px;
  line-height: 160%;
  color: #003058;
  opacity: 0.7;
}
@media (min-width: 768px) {
  .c-company-info-corporate-philosophy-container > p {
    font-size: max(24px, 24 * 0.078125vw);
    opacity: 1;
  }
}
.c-company-info-img-container > picture > img {
  width: 100%;
}
.c-company-info-content-container {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 0px;
  gap: max(48px, 48 * 0.2666666667vw);
}
@media (min-width: 768px) {
  .c-company-info-content-container {
    align-items: flex-end;
    gap: max(48px, 48 * 0.078125vw);
    width: max(860px, 860 * 0.078125vw);
    margin-left: auto;
  }
}
.c-company-info-content-item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 0px;
  gap: max(12px, 12 * 0.2666666667vw);
}
@media (min-width: 768px) {
  .c-company-info-content-item {
    gap: max(12px, 12 * 0.078125vw);
  }
}
.c-company-info-content-item > h3 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 20px;
  line-height: 160%;
  color: #0097DA;
}
@media (min-width: 768px) {
  .c-company-info-content-item > h3 {
    font-size: max(24px, 24 * 0.078125vw);
  }
}
.c-company-info-content-item > p {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 200%;
  color: #1F2A44;
}
@media (min-width: 768px) {
  .c-company-info-content-item > p {
    font-size: max(16px, 16 * 0.078125vw);
  }
}

.l-single-solution-mv {
  background-color: #FAFDFF;
}

@media (min-width: 768px) {
  .l-single-solution-top-container {
    display: flex;
    gap: 64px;
    padding: max(48px, 48 * 0.078125vw) max(80px, 80 * 0.078125vw) max(64px, 64 * 0.078125vw);
  }
}

@media (min-width: 768px) {
  .c-single-solution-top {
    width: 50%;
  }
}
.c-single-solution-top-inner {
  padding: 24px 16px 0px;
}
.c-single-solution-top-tag-list {
  display: flex;
  flex-wrap: wrap;
  padding-top: 8px;
  gap: 8px;
}
@media (min-width: 768px) {
  .c-single-solution-top-tag-list {
    gap: max(8px, 8 * 0.078125vw);
    font-size: max(14px, 14 * 0.078125vw);
    padding-top: 0px;
    padding-bottom: max(8px, 8 * 0.078125vw);
  }
}
.c-single-solution-top-title {
  padding-top: 4px;
  padding-bottom: 16px;
  font-size: max(32px, 32 * 0.2666666667vw);
  letter-spacing: 0.04em;
  font-weight: 500;
}
.c-single-solution-top-title-sub {
  font-size: max(13px, 13 * 0.2666666667vw);
}
@media (min-width: 768px) {
  .c-single-solution-top-title-sub {
    font-size: max(19px, 19 * 0.078125vw);
  }
}
@media (min-width: 768px) {
  .c-single-solution-top-title {
    font-size: max(40px, 40 * 0.078125vw);
    letter-spacing: 0.04em;
    padding-top: 0px;
    padding: 24px 0;
  }
}
.c-single-solution-top-text {
  padding: 24px 0px;
  font-size: 16px;
  line-height: 200%;
  font-weight: 500;
  color: #003058;
}
@media (min-width: 768px) {
  .c-single-solution-top-text {
    font-size: max(16px, 16 * 0.078125vw);
    line-height: 200%;
    font-weight: 500;
  }
}

@media (min-width: 768px) {
  .l-single-solution-image {
    width: 50%;
  }
}

.c-single-solution-image-inner {
  padding: 24px 16px 0px;
}
@media (min-width: 768px) {
  .c-single-solution-image-inner {
    padding: 0;
  }
}
.c-single-solution-image-main-image {
  width: max(343px, 343 * 0.2666666667vw);
  height: max(230px, 230 * 0.2666666667vw);
  border-radius: 12px;
  border: 1px solid #e5e5e5;
  box-sizing: border-box;
  overflow: hidden;
  flex-shrink: 0;
  object-fit: contain;
  background-color: #fff;
}
@media (min-width: 768px) {
  .c-single-solution-image-main-image {
    width: max(528px, 528 * 0.078125vw);
    height: max(297px, 297 * 0.078125vw);
  }
}
.c-single-solution-image-sub-item {
  display: flex;
  gap: 8px;
  margin-top: 16px;
}
@media (min-width: 768px) {
  .c-single-solution-image-sub-item {
    gap: max(8px, 8 * 0.078125vw);
    margin-top: max(8px, 8 * 0.078125vw);
  }
}
.c-single-solution-image-sub-thumb {
  width: max(88px, 88 * 0.2666666667vw);
  aspect-ratio: 16/9;
  flex-shrink: 0;
  overflow: hidden;
  border-radius: 8px;
  border: 1px solid #e5e5e5;
  cursor: pointer;
}
@media (min-width: 768px) {
  .c-single-solution-image-sub-thumb {
    width: max(160px, 160 * 0.078125vw);
  }
}
.c-single-solution-image-sub-thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  background-color: #fff;
}
@media (min-width: 768px) {
  .c-single-solution-image-sub-thumb img {
    width: max(160px, 160 * 0.078125vw);
    height: max(90px, 90 * 0.078125vw);
  }
}
.c-single-solution-image-sub-thumb.is-active {
  border: 2px solid #0097da;
}

.l-single-solution-function {
  padding-bottom: 64px;
}
@media (min-width: 768px) {
  .l-single-solution-function {
    margin-top: max(-18px, -18 * 0.078125vw);
    padding-bottom: max(80px, 80 * 0.078125vw);
  }
}

.c-single-solution-function-inner {
  padding: 24px 16px 0px;
}
@media (min-width: 768px) {
  .c-single-solution-function-inner {
    padding: 0 max(80px, 80 * 0.078125vw);
  }
}
.c-single-solution-function-title {
  font-size: 24px;
  line-height: 160%;
  font-weight: 500;
  position: relative;
  z-index: 2;
  padding: 0px 16px;
}
@media (min-width: 768px) {
  .c-single-solution-function-title {
    font-size: max(24px, 24 * 0.078125vw);
    padding: 0px max(24px, 24 * 0.078125vw);
  }
}
.c-single-solution-function-text {
  z-index: 1;
  margin-top: -18px;
  position: relative;
  border-radius: 16px;
  background-color: #f0f9ff;
  padding: 24px 16px;
  line-height: 200%;
  font-weight: 500;
}
@media (min-width: 768px) {
  .c-single-solution-function-text {
    margin-top: max(-18px, -18 * 0.078125vw);
    font-size: max(16px, 16 * 0.078125vw);
    line-height: 200%;
    font-weight: 500;
    color: #1f2a44;
    padding: 40px;
    background-color: #f0f9ff;
  }
}

.l-single-solution-resolve {
  padding-top: 64px;
}
@media (min-width: 768px) {
  .l-single-solution-resolve {
    padding-top: max(80px, 80 * 0.078125vw);
  }
}

.c-single-solution-resolve-inner {
  font-size: 20px;
  line-height: 150%;
  text-transform: capitalize;
  font-weight: 300;
  font-family: "Roboto", sans-serif;
  padding: 24px 16px 0px;
}
@media (min-width: 768px) {
  .c-single-solution-resolve-inner {
    padding: 0px max(160px, 160 * 0.078125vw) 0px;
  }
}
.c-single-solution-resolve-lead {
  font-size: 20px;
  line-height: 150%;
  text-transform: capitalize;
  font-weight: 500;
  font-family: "Roboto", sans-serif;
  color: #1f2a44;
}
@media (min-width: 768px) {
  .c-single-solution-resolve-lead {
    font-size: max(32px, 32 * 0.078125vw);
    line-height: 200%;
  }
}
.c-single-solution-resolve-title {
  font-size: 24px;
  line-height: 160%;
  color: #003058;
  border-bottom: 1px solid #e5e5e5;
}
@media (min-width: 768px) {
  .c-single-solution-resolve-title {
    font-size: max(40px, 40 * 0.078125vw);
    letter-spacing: 0.04em;
    line-height: 160%;
  }
}
.c-single-solution-resolve-text {
  padding-top: 24px;
  font-size: 16px;
  line-height: 200%;
  font-weight: 500;
  color: #1f2a44;
}
@media (min-width: 768px) {
  .c-single-solution-resolve-text {
    padding-top: max(48px, 48 * 0.078125vw);
    font-size: max(16px, 16 * 0.078125vw);
  }
}
.c-single-solution-resolve-image {
  padding-top: 32px;
  padding-bottom: 64px;
}
@media (min-width: 768px) {
  .c-single-solution-resolve-image {
    padding-top: max(48px, 48 * 0.078125vw);
    padding-bottom: max(160px, 160 * 0.078125vw);
  }
}
.c-single-solution-resolve-image-main img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 12px;
  border: 1px solid #e5e5e5;
}
.c-single-solution-resolve-image-sub {
  display: flex;
  gap: 24px;
  padding-top: 24px;
}
@media (min-width: 768px) {
  .c-single-solution-resolve-image-sub {
    gap: max(24px, 24 * 0.078125vw);
    padding-top: max(48px, 48 * 0.078125vw);
  }
}
.c-single-solution-resolve-image-sub-item {
  width: 100%;
  aspect-ratio: 343/192.8;
  border-radius: 12px;
  border: 1px solid #e5e5e5;
  overflow: hidden;
}
.c-single-solution-resolve-image-sub-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.l-single-solution-ability {
  padding-top: 64px;
  padding-bottom: 64px;
  background-color: #F0F9FF;
}
@media (min-width: 768px) {
  .l-single-solution-ability {
    padding-top: max(160px, 160 * 0.078125vw);
    padding-bottom: max(160px, 160 * 0.078125vw);
  }
}

.c-single-solution-ability-inner {
  padding: 0px 16px 0px;
}
@media (min-width: 768px) {
  .c-single-solution-ability-inner {
    padding: 0px max(160px, 160 * 0.078125vw) 0px;
  }
}
.c-single-solution-ability-text {
  padding-top: 24px;
  font-size: 16px;
  line-height: 200%;
  font-weight: 500;
  color: #1f2a44;
}
@media (min-width: 768px) {
  .c-single-solution-ability-text {
    padding-top: max(48px, 48 * 0.078125vw);
    font-size: max(16px, 16 * 0.078125vw);
  }
}

.l-single-solution-product {
  padding-top: 64px;
  padding-bottom: 64px;
}
@media (min-width: 768px) {
  .l-single-solution-product {
    padding-top: max(160px, 160 * 0.078125vw);
    padding-bottom: max(160px, 160 * 0.078125vw);
  }
}

.c-single-solution-product-inner {
  padding: 0px 16px 0px;
}
@media (min-width: 768px) {
  .c-single-solution-product-inner {
    padding: 0px max(160px, 160 * 0.078125vw) 0px;
  }
}
.c-single-solution-product-subtitle {
  padding-top: 32px;
  padding-left: 8px;
}
@media (min-width: 768px) {
  .c-single-solution-product-subtitle {
    padding-top: max(40px, 40 * 0.078125vw);
    padding-left: max(8px, 8 * 0.078125vw);
  }
}
.c-single-solution-product-subtitle-h3 {
  font-size: 18px;
  line-height: 160%;
  font-weight: 500;
  color: #1f2a44;
}
@media (min-width: 768px) {
  .c-single-solution-product-subtitle-h3 {
    font-size: max(24px, 24 * 0.078125vw);
  }
}
.c-single-solution-product-item-list {
  padding: 16px 0px 16px;
}
@media (min-width: 768px) {
  .c-single-solution-product-item-list {
    padding: 0;
  }
}
.c-single-solution-product-item {
  padding: 16px;
}
@media (min-width: 768px) {
  .c-single-solution-product-item {
    display: flex;
    padding: 0;
  }
}
.c-single-solution-product-list > div:nth-child(odd) {
  background-color: #F0F9FF;
}
.c-single-solution-product-list > div:nth-child(even) {
  background-color: #FFFFFF;
}
.c-single-solution-product-item-text-title {
  font-size: 12px;
  line-height: 160%;
  color: #003058;
}
@media (min-width: 768px) {
  .c-single-solution-product-item-text-title {
    font-size: max(16px, 16 * 0.078125vw);
    min-width: max(160px, 160 * 0.078125vw);
    padding: max(16px, 16 * 0.078125vw) max(24px, 24 * 0.078125vw);
  }
}
.c-single-solution-product-item-text-description {
  text-align: left;
  font-size: 16px;
  line-height: 160%;
  font-weight: 500;
  color: #003058;
}
@media (min-width: 768px) {
  .c-single-solution-product-item-text-description {
    font-size: max(16px, 16 * 0.078125vw);
    padding: max(16px, 16 * 0.078125vw) max(24px, 24 * 0.078125vw);
  }
}
.c-single-solution-product-item-text-link {
  font-size: 16px;
  text-decoration: underline;
  font-weight: 500;
  line-height: 1;
  display: inline-block;
}
@media (min-width: 768px) {
  .c-single-solution-product-item-text-link {
    font-size: max(16px, 16 * 0.078125vw);
    padding: max(16px, 16 * 0.078125vw) 0 max(16px, 16 * 0.078125vw) max(24px, 24 * 0.078125vw);
  }
}
.c-single-solution-product-item-text-icon {
  height: 16px;
  width: 16px;
  display: block;
}
@media (min-width: 768px) {
  .c-single-solution-product-item-text-icon {
    height: max(20px, 20 * 0.078125vw);
    width: max(20px, 20 * 0.078125vw);
  }
}
.c-single-solution-product-item-link-container {
  display: flex;
  align-items: center;
  gap: 8px;
}

.l-single-solution-case-studies {
  padding-top: 64px;
  padding-bottom: 64px;
  background-color: #F0F9FF;
}
@media (min-width: 768px) {
  .l-single-solution-case-studies {
    padding-top: max(160px, 160 * 0.078125vw);
    padding-bottom: max(160px, 160 * 0.078125vw);
  }
}

@media (min-width: 768px) {
  .c-single-solution-case-studies {
    display: flex;
    gap: max(24px, 24 * 0.078125vw);
  }
}
.c-single-solution-case-studies-inner {
  padding: 24px 16px 0px;
}
@media (min-width: 768px) {
  .c-single-solution-case-studies-inner {
    padding: 0px max(160px, 160 * 0.078125vw) 0px;
  }
}
.c-single-solution-case-studies-list {
  padding-top: 24px;
}
.c-single-solution-case-studies-list-item {
  display: flex;
  border-radius: 12px;
  align-items: flex-start;
  font-size: 16px;
  padding-bottom: 31px;
}
@media (min-width: 768px) {
  .c-single-solution-case-studies-list-item {
    width: 50%;
    padding-bottom: 0;
    padding-top: max(48px, 48 * 0.078125vw);
  }
}
.c-single-solution-case-studies-list-item-image {
  width: 100%;
  aspect-ratio: 16/9;
  overflow: hidden;
  border-radius: 12px;
}
@media (min-width: 768px) {
  .c-single-solution-case-studies-list-item-image {
    object-fit: cover;
  }
}
.c-single-solution-case-studies-list-item-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.c-single-solution-case-studies-list-title {
  font-size: 20px;
  line-height: 160%;
  font-weight: 500;
  color: #003058;
  padding-top: 8px;
}
@media (min-width: 768px) {
  .c-single-solution-case-studies-list-title {
    font-size: max(24px, 24 * 0.078125vw);
    padding-top: max(12px, 12 * 0.078125vw);
  }
}
.c-single-solution-case-studies-list-text {
  font-size: 16px;
  line-height: 200%;
  font-weight: 500;
  color: #003058;
  text-align: left;
  display: inline-block;
  opacity: 0.6;
}
@media (min-width: 768px) {
  .c-single-solution-case-studies-list-text {
    font-size: max(14px, 14 * 0.078125vw);
    line-height: 200%;
    font-weight: 500;
  }
}

.c-single-solution-related-case-studies {
  padding: 24px 32px 0px;
}
.c-single-solution-related-case-studies-title {
  font-size: 24px;
  padding-bottom: 31px;
}

.l-single-solution-news {
  padding-top: 64px;
  padding-bottom: 64px;
}

.c-single-solution-news-inner {
  padding: 24px 16px 0px;
}
.c-single-solution-news-list {
  padding-top: 24px;
  max-height: 600px;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
.c-single-solution-news-list a {
  text-decoration: none;
  color: inherit;
}

.l-single-solution-related-solutions {
  padding-top: 64px;
  padding-bottom: 64px;
  background-color: #F0F9FF;
}

.c-single-solution-related-solutions-inner {
  padding: 24px 16px 0px;
}
.c-single-solution-related-solutions-list {
  padding-top: 24px;
  display: flex;
  flex-wrap: nowrap;
  gap: 24px 12px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 4px;
}
@media (min-width: 768px) {
  .c-single-solution-related-solutions-list {
    gap: max(24px, 24 * 0.078125vw);
    padding-bottom: 0;
  }
}
.c-single-solution-related-solutions-item {
  width: 80%;
  flex-shrink: 0;
  border-radius: 16px 16px 16px 16px;
  box-shadow: 0px 1.8978103399px 18.98px rgba(0, 0, 0, 0.05);
  background-color: #fff;
  display: flex;
  overflow: hidden;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
@media (min-width: 768px) {
  .c-single-solution-related-solutions-item {
    width: max(400px, 400 * 0.078125vw);
  }
}
.c-single-solution-related-solutions-item-image {
  width: max(260px, 260 * 0.2666666667vw);
  height: max(173px, 173 * 0.2666666667vw);
  object-fit: contain;
}
@media (min-width: 768px) {
  .c-single-solution-related-solutions-item-image {
    width: max(400px, 400 * 0.078125vw);
    height: max(225px, 225 * 0.078125vw);
  }
}
.c-single-solution-related-solutions-info {
  background-color: #fff;
  padding: max(7.8px, 7.8 * 0.2666666667vw) max(12px, 12 * 0.2666666667vw) max(12px, 12 * 0.2666666667vw);
}
@media (min-width: 768px) {
  .c-single-solution-related-solutions-info {
    padding: max(16px, 16 * 0.078125vw) max(24px, 24 * 0.078125vw) max(24px, 24 * 0.078125vw) max(16px, 16 * 0.078125vw);
  }
}
.c-single-solution-related-solutions-tag-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 3.8px;
  padding-top: 5.2px;
}
@media (min-width: 768px) {
  .c-single-solution-related-solutions-tag-list {
    gap: max(8px, 8 * 0.078125vw);
    font-size: max(14px, 14 * 0.078125vw);
    padding-top: max(8px, 8 * 0.078125vw);
  }
}
.c-single-solution-related-solutions-name {
  font-size: 20px;
  line-height: 160%;
  font-weight: 500;
}
@media (min-width: 768px) {
  .c-single-solution-related-solutions-name {
    font-size: max(18px, 18 * 0.078125vw);
    line-height: 160%;
    font-weight: 500;
    color: #003058;
  }
}

.c-single-solution-bottom {
  padding: 64px 0px 120px;
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  background-color: #F0F9FF;
}
@media (min-width: 768px) {
  .c-single-solution-bottom {
    justify-content: flex-start;
    padding: 0px max(160px, 160 * 0.078125vw) max(80px, 80 * 0.078125vw);
  }
}

@media (min-width: 768px) {
  .l-archive-case-studies {
    display: flex;
    padding: 120px 80px 0 80px;
    background-color: #fafdff;
  }
}

@media (min-width: 768px) {
  .c-archive-case-studies {
    width: 25.9%;
  }
}
@media (min-width: 768px) {
  .c-archive-case-studies-contents {
    width: 74.1%;
  }
}
.c-archive-case-studies-inner {
  padding: 24px 16px 16px 16px;
  background-color: #fafdff;
}
@media (min-width: 768px) {
  .c-archive-case-studies-inner {
    padding: max(40px, 40 * 0.078125vw) max(40px, 40 * 0.078125vw) 0px 0px;
  }
}
.c-archive-case-studies-contents-inner {
  padding-bottom: 160px;
}
.c-archive-case-studies-search-container {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.c-archive-case-studies-search-label {
  font-size: 16px;
  line-height: 20px;
  font-weight: 500;
  padding-bottom: 8px;
}
@media (min-width: 768px) {
  .c-archive-case-studies-search-label {
    font-size: max(18px, 18 * 0.078125vw);
    padding-bottom: max(8px, 8 * 0.078125vw);
  }
}
.c-archive-case-studies-search-select-wrapper {
  position: relative;
}
.c-archive-case-studies-search-select-wrapper::after {
  content: "";
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  width: 8px;
  height: 8px;
  border-right: 2px solid #003058;
  border-bottom: 2px solid #003058;
  pointer-events: none;
}
.c-archive-case-studies-search-select-form {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
@media (min-width: 768px) {
  .c-archive-case-studies-search-select-form {
    gap: max(40px, 40 * 0.078125vw);
  }
}
.c-archive-case-studies-search-select-input {
  width: 100%;
  border-radius: 4px;
  border: 1px solid #959595;
  font-size: 16px;
  font-weight: 500;
  font-family: "Noto Sans JP", sans-serif;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  padding: 12px 40px 12px 16px;
}
.c-archive-case-studies-list {
  padding: 16px 16px 0 16px;
  display: flex;
  flex-direction: column;
  background-color: #fafdff;
}
@media (min-width: 768px) {
  .c-archive-case-studies-list {
    padding: 40px 0 64px 0;
  }
}
.c-archive-case-studies-list a {
  text-decoration: none;
  color: inherit;
}
.c-archive-case-studies-list-empty {
  font-size: 16px;
  color: #52677c;
  text-align: center;
  padding: 40px 0;
}
.c-archive-case-studies-list-item {
  display: flex;
  border-radius: 12px;
  background-color: #fafdff;
  align-items: flex-start;
  font-size: 16px;
  padding-bottom: 64px;
}
@media (min-width: 768px) {
  .c-archive-case-studies-list-item {
    display: flex;
    padding: 40px 0;
    border-radius: 0;
    border-bottom: 1px solid rgba(31, 42, 68, 0.25);
  }
  .c-archive-case-studies-list-item:first-child {
    padding-top: 0;
  }
  .c-archive-case-studies-list-item:last-child {
    border-bottom: none;
    padding-bottom: 0;
  }
}
@media (min-width: 768px) {
  .c-archive-case-studies-list-item-container {
    display: flex;
    align-items: stretch;
    width: 100%;
  }
}
@media (min-width: 768px) {
  .c-archive-case-studies-list-item-left {
    width: 28.9%;
    height: 100%;
  }
}
@media (min-width: 768px) {
  .c-archive-case-studies-list-item-right {
    width: 71.1%;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
}
.c-archive-case-studies-list-item-image {
  height: max(213px, 213 * 0.2666666667vw);
  width: 100%;
  object-fit: cover;
  border-radius: 12px 12px 12px 12px;
}
@media (min-width: 768px) {
  .c-archive-case-studies-list-item-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}
.c-archive-case-studies-list-item-title {
  line-height: 160%;
  padding: 16px 0 0;
  font-weight: 500;
}
@media (min-width: 768px) {
  .c-archive-case-studies-list-item-title {
    font-size: max(24px, 24 * 0.078125vw);
    line-height: 160%;
    padding: 0 max(16px, 16 * 0.078125vw) 0;
  }
}
.c-archive-case-studies-list-item-text {
  font-size: 16px;
  line-height: 160%;
  color: #52677c;
  padding: 8px 0px;
  font-weight: 500;
}
@media (min-width: 768px) {
  .c-archive-case-studies-list-item-text {
    font-size: max(14px, 14 * 0.078125vw);
    padding: max(8px, 8 * 0.078125vw) max(16px, 16 * 0.078125vw) 0px max(16px, 16 * 0.078125vw);
  }
}

.l-top-message {
  padding: 40px 16px 9px;
}
@media (min-width: 768px) {
  .l-top-message {
    padding: max(120.3px, 120.3 * 0.078125vw) max(80px, 80 * 0.078125vw) max(60px, 60 * 0.078125vw);
  }
}

@media (min-width: 768px) {
  .c-top-message-container {
    display: flex;
    gap: max(80px, 80 * 0.078125vw);
  }
}
.c-top-message-image {
  margin-bottom: 32px;
}
@media (min-width: 768px) {
  .c-top-message-image-bg {
    width: 26.785%;
  }
}
.c-top-message-image-bg img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 12px;
  object-fit: cover;
}
.c-top-message-image-text-area {
  padding-top: 20px;
}
@media (min-width: 768px) {
  .c-top-message-image-text-area {
    padding-top: max(20px, 20 * 0.078125vw);
  }
}
.c-top-message-image-text-area-position {
  font-size: 16px;
  line-height: 160%;
  font-weight: 500;
  color: #1f2a44;
}
@media (min-width: 768px) {
  .c-top-message-image-text-area-position {
    font-size: max(16px, 16 * 0.078125vw);
  }
}
.c-top-message-image-text-area-name {
  padding-top: 8px;
  font-size: 20px;
  line-height: 160%;
  font-weight: 500;
  color: #1f2a44;
}
@media (min-width: 768px) {
  .c-top-message-image-text-area-name {
    padding-top: max(8px, 8 * 0.078125vw);
    font-size: max(24px, 24 * 0.078125vw);
  }
}
.c-top-message-body {
  padding-top: 64px;
  font-size: 16px;
  line-height: 200%;
  font-weight: 500;
  color: #1f2a44;
}
@media (min-width: 768px) {
  .c-top-message-body {
    width: 66.07%;
    padding-top: 0;
    font-size: max(14px, 14 * 0.078125vw);
  }
}

.l-history {
  padding: 40px 16px 9px;
}
@media (min-width: 768px) {
  .l-history {
    padding: max(80px, 80 * 0.078125vw) max(240px, 240 * 0.078125vw) max(80px, 80 * 0.078125vw);
  }
}

.c-history-container {
  display: flex;
  flex-direction: column;
  position: relative;
  padding-left: 12px;
}
.c-history-container::before {
  content: "";
  position: absolute;
  left: 3px;
  top: 24px;
  width: 2px;
  height: 98.2%;
  background: #b3d4f5;
}
@media (min-width: 768px) {
  .c-history-container::before {
    height: 97.3%;
  }
}
.c-history-item {
  position: relative;
  margin-bottom: 40px;
  padding-left: 12px;
}
@media (min-width: 768px) {
  .c-history-item {
    display: grid;
    grid-template-columns: 125px 1fr;
    gap: max(20px, 20 * 0.078125vw) max(40px, 40 * 0.078125vw);
    align-items: center;
    margin-bottom: max(40px, 40 * 0.078125vw);
  }
}
.c-history-item::before {
  content: "";
  position: absolute;
  left: -12px;
  top: 15px;
  width: 8px;
  height: 8px;
  background: #0d8ecf;
  border-radius: 50%;
}
.c-history-item-year {
  color: #1f2a44;
  opacity: 0.6;
}
.c-history-item-year-number {
  font-size: 24px;
  line-height: 160%;
  text-transform: capitalize;
  font-weight: 300;
  font-family: "Roboto", sans-serif;
}
.c-history-item-year-unit {
  font-size: 16px;
  line-height: 160%;
  font-family: "Noto Sans JP", sans-serif;
}
.c-history-item-event {
  padding-top: 4px;
  font-size: max(16px, 16 * 0.2666666667vw);
  line-height: 160%;
  font-weight: 500;
  color: #1f2a44;
}
@media (min-width: 768px) {
  .c-history-item-event {
    font-size: max(16px, 16 * 0.078125vw);
  }
}
.c-history-item-event.blue {
  color: #0097da;
}
.c-history-item-event.not-padding {
  padding-top: 0;
}

.l-overview {
  padding: 40px 16px 9px;
}
@media (min-width: 768px) {
  .l-overview {
    padding: max(80px, 80 * 0.078125vw) max(240px, 240 * 0.078125vw) max(80px, 80 * 0.078125vw);
  }
}

.c-overview-item {
  display: flex;
  flex-direction: column;
  border-bottom: 1px solid rgba(31, 42, 68, 0.1);
  box-sizing: border-box;
  padding: 32px 8px 32px 0px;
  color: #1f2a44;
  gap: 12px;
}
@media (min-width: 768px) {
  .c-overview-item {
    display: grid;
    grid-template-columns: max(120px, 120 * 0.078125vw) 1fr;
    padding: max(32px, 32 * 0.078125vw) 0;
    gap: max(20px, 20 * 0.078125vw);
  }
}
.c-overview-item-title {
  font-size: 16px;
  opacity: 0.6;
}
@media (min-width: 768px) {
  .c-overview-item-title {
    font-size: max(16px, 16 * 0.078125vw);
  }
}
.c-overview-item-text {
  font-size: 16px;
  line-height: 160%;
  font-weight: 500;
}
@media (min-width: 768px) {
  .c-overview-item-text {
    font-size: max(16px, 16 * 0.078125vw);
  }
}
.c-overview-list {
  list-style: none;
  padding-left: 0;
}
@media (min-width: 768px) {
  .c-overview-list {
    margin: 0;
  }
}
.c-overview-list li {
  position: relative;
  padding-left: 1em;
}
.c-overview-list li::before {
  content: "・";
  position: absolute;
  left: 0;
}
.c-overview-sublist {
  list-style: none;
  padding-left: 1em;
  margin-top: 4px;
}
.c-overview-sublist li {
  position: relative;
  padding-left: 1em;
}
.c-overview-sublist li::before {
  content: "・";
  position: absolute;
  left: 0;
}
.c-overview-link {
  display: flex;
  align-items: center;
  padding: 80px 16px 0;
}
@media (min-width: 768px) {
  .c-overview-link {
    padding: max(80px, 80 * 0.078125vw) max(240px, 240 * 0.078125vw) 0;
  }
}
.c-overview-link a {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #008bc5;
}
.c-overview-link a:link, .c-overview-link a:visited, .c-overview-link a:active {
  color: #008bc5;
}
.c-overview-link img {
  width: 16px;
}
.c-overview-link-item {
  opacity: 0.8;
  font-size: 16px;
  color: #008bc5;
}
.c-overview-link-item:link, .c-overview-link-item:visited, .c-overview-link-item:active {
  color: #008bc5;
}
.c-overview-registration {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 80px 16px 40px;
}
@media (min-width: 768px) {
  .c-overview-registration {
    padding: max(80px, 80 * 0.078125vw) max(240px, 240 * 0.078125vw) max(120px, 120 * 0.078125vw);
  }
}
.c-overview-registration img {
  padding: 24px;
  width: 295px;
}

.c-support-member {
  background: #FAFDFF;
}
.c-support-member-inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 0px;
}
@media (min-width: 768px) {
  .c-support-member-inner {
    justify-content: center;
    padding: max(80px, 80 * 0.078125vw) 0px max(120px, 120 * 0.078125vw);
    gap: max(24px, 24 * 0.078125vw);
  }
}
.c-support-member-anchor-link {
  box-sizing: border-box;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  padding: max(12px, 12 * 0.2666666667vw) max(16px, 16 * 0.2666666667vw);
  gap: max(8px, 8 * 0.2666666667vw);
  width: 100%;
  min-height: max(72px, 72 * 0.2666666667vw);
  border-bottom: 1px solid #959595;
}
@media (min-width: 768px) {
  .c-support-member-anchor-link {
    padding: max(12px, 12 * 0.078125vw) max(16px, 16 * 0.078125vw);
    gap: max(8px, 8 * 0.078125vw);
    width: auto;
    min-height: max(76px, 76 * 0.078125vw);
  }
}
.c-support-member-anchor-link-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: max(64px, 64 * 0.2666666667vw) 0px;
  width: 100%;
  background: #FFFFFF;
}
@media (min-width: 768px) {
  .c-support-member-anchor-link-container {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    align-items: stretch;
    padding: 0px max(80px, 80 * 0.078125vw) max(120px, 120 * 0.078125vw);
    width: auto;
    gap: max(24px, 24 * 0.078125vw) max(8px, 8 * 0.078125vw);
  }
}
.c-support-member-anchor-link-container > a {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: max(16px, 16 * 0.2666666667vw);
  line-height: 160%;
  color: #003058;
}
@media (min-width: 768px) {
  .c-support-member-anchor-link-container > a {
    font-size: max(24px, 24 * 0.078125vw);
  }
}
.c-support-member-anchor-link-container > a > img {
  width: max(24px, 24 * 0.2666666667vw);
  height: max(24px, 24 * 0.2666666667vw);
}
@media (min-width: 768px) {
  .c-support-member-anchor-link-container > a > img {
    width: max(24px, 24 * 0.078125vw);
    height: max(24px, 24 * 0.078125vw);
  }
}
.c-support-member-content-block {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding: 0px max(16px, 16 * 0.2666666667vw);
  width: 100vw;
}
@media (min-width: 768px) {
  .c-support-member-content-block {
    padding: 0px max(80px, 80 * 0.078125vw);
  }
}
.c-support-member-content-title {
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 0px;
  gap: max(24px, 24 * 0.2666666667vw);
}
@media (min-width: 768px) {
  .c-support-member-content-title {
    gap: max(24px, 24 * 0.078125vw);
  }
}
.c-support-member-content-title-line {
  width: max(24px, 24 * 0.2666666667vw);
  height: 0px;
  border: 1px solid #1F2A44;
}
@media (min-width: 768px) {
  .c-support-member-content-title-line {
    width: max(56px, 56 * 0.078125vw);
  }
}
.c-support-member-content-title > h2 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: max(24px, 24 * 0.2666666667vw);
  line-height: 160%;
  color: #1F2A44;
}
@media (min-width: 768px) {
  .c-support-member-content-title > h2 {
    font-size: max(32px, 32 * 0.078125vw);
  }
}
.c-support-member-content-wrap {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: flex-start;
  align-content: flex-start;
  padding: max(40px, 40 * 0.2666666667vw) 0px max(160px, 160 * 0.2666666667vw);
  row-gap: max(24px, 24 * 0.2666666667vw);
}
@media (min-width: 768px) {
  .c-support-member-content-wrap {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: flex-start;
    align-content: flex-start;
    padding: max(40px, 40 * 0.078125vw) max(16px, 16 * 0.078125vw) max(160px, 160 * 0.078125vw);
    gap: max(45.5px, 45.5 * 0.078125vw) max(20px, 20 * 0.078125vw);
    align-items: stretch;
  }
}
.c-support-member-content-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0px 0px max(16px, 16 * 0.2666666667vw);
  gap: max(16px, 16 * 0.2666666667vw);
  width: max(343px, 343 * 0.2666666667vw);
  background: #FFFFFF;
  box-shadow: 0px max(4px, 4 * 0.2666666667vw) max(40px, 40 * 0.2666666667vw) rgba(0, 0, 0, 0.05);
  border-radius: max(16px, 16 * 0.2666666667vw);
}
@media (min-width: 768px) {
  .c-support-member-content-container {
    padding: 0px 0px max(16px, 16 * 0.078125vw);
    gap: max(16px, 16 * 0.078125vw);
    width: max(343px, 343 * 0.078125vw);
    box-shadow: 0px max(4px, 4 * 0.078125vw) max(40px, 40 * 0.078125vw) rgba(0, 0, 0, 0.05);
    border-radius: max(16px, 16 * 0.078125vw);
  }
}
.c-support-member-content-container > img {
  max-width: max(343px, 343 * 0.2666666667vw);
  height: max(193px, 193 * 0.2666666667vw);
  object-fit: contain;
}
@media (min-width: 768px) {
  .c-support-member-content-container > img {
    max-width: max(343px, 343 * 0.078125vw);
    height: max(193px, 193 * 0.078125vw);
  }
}
.c-support-member-content-container > p {
  width: max(311px, 311 * 0.2666666667vw);
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: max(20px, 20 * 0.2666666667vw);
  line-height: 160%;
  color: #003058;
}
@media (min-width: 768px) {
  .c-support-member-content-container > p {
    width: max(311px, 311 * 0.078125vw);
    font-size: max(20px, 20 * 0.078125vw);
  }
}
.c-support-member-content-container > a {
  box-sizing: border-box;
  position: relative;
  text-align: start;
  padding: max(10px, 10 * 0.2666666667vw) max(32px, 32 * 0.2666666667vw) max(11px, 11 * 0.2666666667vw);
  width: max(311px, 311 * 0.2666666667vw);
  border: 1px solid #1F2A44;
  border-radius: max(4px, 4 * 0.2666666667vw);
  font-family: "Noto Sans JP", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: max(18px, 18 * 0.2666666667vw);
  line-height: 160%;
  color: #1F2A44;
}
.c-support-member-content-container > a:hover {
  opacity: 0.7;
}
@media (min-width: 768px) {
  .c-support-member-content-container > a {
    padding: max(10px, 10 * 0.078125vw) max(32px, 32 * 0.078125vw) max(11px, 11 * 0.078125vw);
    gap: max(8px, 8 * 0.078125vw);
    width: max(311px, 311 * 0.078125vw);
    border-radius: max(4px, 4 * 0.078125vw);
    font-size: max(18px, 18 * 0.078125vw);
    margin-top: auto;
  }
}
.c-support-member-content-container > a.c-support-member-content-dl-link {
  text-align: center;
}
.c-support-member-content-container > a > img {
  position: absolute;
  right: max(32px, 32 * 0.2666666667vw);
  top: 50%;
  transform: translateY(-50%);
  width: max(32px, 32 * 0.2666666667vw);
  height: max(32px, 32 * 0.2666666667vw);
}
@media (min-width: 768px) {
  .c-support-member-content-container > a > img {
    right: max(32px, 32 * 0.078125vw);
    width: max(32px, 32 * 0.078125vw);
    height: max(32px, 32 * 0.078125vw);
  }
}

.c-common-hero-text--policy {
  font-size: max(24px, 24 * 0.2666666667vw);
  line-height: 140%;
}
@media (min-width: 768px) {
  .c-common-hero-text--policy {
    font-size: max(32px, 32 * 0.078125vw);
    letter-spacing: 0.04em;
  }
}

.c-policy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 100vw;
}
.c-policy-anchor-link {
  box-sizing: border-box;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  padding: max(12px, 12 * 0.2666666667vw) 16px;
  gap: max(8px, 8 * 0.2666666667vw);
  width: 100%;
  border-bottom: 1px solid #959595;
}
@media (min-width: 768px) {
  .c-policy-anchor-link {
    display: flex;
    padding: 0px;
    gap: max(8px, 8 * 0.078125vw);
    min-width: 0;
    height: max(76px, 76 * 0.078125vw);
  }
}
.c-policy-anchor-link-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: max(64px, 64 * 0.2666666667vw) 0px;
  width: 100%;
  border-radius: max(24px, 24 * 0.2666666667vw) max(24px, 24 * 0.2666666667vw) 0px 0px;
}
@media (min-width: 768px) {
  .c-policy-anchor-link-container {
    box-sizing: border-box;
    justify-content: center;
    flex-direction: row;
    align-items: flex-start;
    padding: max(80px, 80 * 0.078125vw) max(80px, 80 * 0.078125vw) max(120px, 120 * 0.078125vw);
    gap: max(24px, 24 * 0.078125vw);
    width: 100%;
    border-radius: max(40px, 40 * 0.078125vw) max(40px, 40 * 0.078125vw) 0px 0px;
  }
}
.c-policy-anchor-link > p {
  width: max(311px, 311 * 0.2666666667vw);
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: max(16px, 16 * 0.2666666667vw);
  line-height: 160%;
  color: #003058;
}
@media (min-width: 768px) {
  .c-policy-anchor-link > p {
    font-size: max(24px, 24 * 0.078125vw);
  }
}
.c-policy-anchor-link > img {
  width: max(24px, 24 * 0.2666666667vw);
  height: max(24px, 24 * 0.2666666667vw);
}
@media (min-width: 768px) {
  .c-policy-anchor-link > img {
    width: max(24px, 24 * 0.078125vw);
    height: max(24px, 24 * 0.078125vw);
  }
}
.c-policy-content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 0px;
  gap: max(32px, 32 * 0.2666666667vw);
  width: max(343px, 343 * 0.2666666667vw);
}
@media (min-width: 768px) {
  .c-policy-content {
    gap: max(32px, 32 * 0.078125vw);
    width: auto;
  }
}
.c-policy-content-inner {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  padding: max(40px, 40 * 0.2666666667vw) max(16px, 16 * 0.2666666667vw) max(80px, 80 * 0.2666666667vw);
  gap: max(80px, 80 * 0.2666666667vw);
  width: 100vw;
}
@media (min-width: 768px) {
  .c-policy-content-inner {
    padding: max(40px, 40 * 0.078125vw) 18.75vw max(100px, 100 * 0.078125vw);
    gap: max(120px, 120 * 0.078125vw);
  }
}
.c-policy-content-title {
  font-family: "Noto Sans JP", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: max(24px, 24 * 0.2666666667vw);
  line-height: 160%;
  color: #1F2A44;
}
@media (min-width: 768px) {
  .c-policy-content-title {
    font-family: "Noto Sans JP";
    font-style: normal;
    font-weight: 500;
    font-size: max(32px, 32 * 0.078125vw);
  }
}
.c-policy-content-title-container {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding-bottom: max(16px, 16 * 0.2666666667vw);
  width: max(343px, 343 * 0.2666666667vw);
  border-bottom: 1px solid rgba(31, 42, 68, 0.1);
}
@media (min-width: 768px) {
  .c-policy-content-title-container {
    padding: 0px;
    gap: max(16px, 16 * 0.078125vw);
    width: 100%;
  }
}
.c-policy-content-description {
  box-sizing: border-box;
  width: 100%;
  font-family: "Noto Sans JP", sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: max(16px, 16 * 0.2666666667vw);
  line-height: 200%;
  color: #191919;
}
@media (min-width: 768px) {
  .c-policy-content-description {
    font-size: max(16px, 16 * 0.078125vw);
  }
}
.c-policy-content-description-container {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 0px;
  gap: max(40px, 40 * 0.2666666667vw);
  width: max(343px, 343 * 0.2666666667vw);
}
@media (min-width: 768px) {
  .c-policy-content-description-container {
    gap: max(40px, 40 * 0.078125vw);
    width: 100%;
  }
}
.c-policy-content-description > ol {
  padding-left: 1.5rem;
}
.c-policy-content-description > b {
  font-weight: 700;
}
.c-policy-content-description > ul {
  padding-left: 1.5rem;
}
.c-policy-content-description-signature {
  text-align: end;
}
