@charset "UTF-8";
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-color: currentColor;
  border-style: none;
  background-repeat: no-repeat;
  background-size: contain;
  background-repeat: no-repeat;
  padding: 0;
  margin: 0;
}

html {
  min-width: 320px;
}

article,
aside,
footer,
header,
nav,
section,
main,
div,
img {
  display: block;
}

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

ol,
ul {
  list-style: none;
  list-style-type: none;
}

input,
input[type=text],
input[type=button],
input[type=radio],
input[type=email],
input[type=submit],
input[type=reset],
textarea,
select,
button {
  cursor: pointer;
  background-color: transparent;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: 0;
  border-radius: 0;
  background-color: transparent;
}

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

img,
picture {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

iframe {
  border: none;
  vertical-align: bottom;
}

h1 {
  margin: 0;
}

a,
span {
  border: none;
  font: inherit;
  vertical-align: baseline;
}

a {
  text-decoration: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  color: inherit;
  background: transparent;
  cursor: pointer;
}

span {
  display: inline;
}

[hidden] {
  display: none !important;
}

/* =============================================
Breakpoints
============================================= */
/* =============================
コンテンツ幅
================================ */
/* =============================
Animations
================================ */
/* =============================
余白
================================ */
.u-mt0 {
  margin-top: 0px !important;
}

.u-mt4 {
  margin-top: 4px !important;
}

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

.u-mt8 {
  margin-top: 8px !important;
}

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

.u-mt12 {
  margin-top: 12px !important;
}

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

.u-mt16 {
  margin-top: 16px !important;
}

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

.u-mt24 {
  margin-top: 24px !important;
}

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

.u-mt28 {
  margin-top: 28px !important;
}

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

.u-mt32 {
  margin-top: 32px !important;
}

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

.u-mt36 {
  margin-top: 36px !important;
}

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

.u-mt44 {
  margin-top: 44px !important;
}

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

.u-mt48 {
  margin-top: 48px !important;
}

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

.u-mt52 {
  margin-top: 52px !important;
}

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

.u-mt56 {
  margin-top: 56px !important;
}

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

.u-mt64 {
  margin-top: 64px !important;
}

.u-mt65 {
  margin-top: 65px !important;
}

.u-mt68 {
  margin-top: 68px !important;
}

.u-mt70 {
  margin-top: 70px !important;
}

.u-mt72 {
  margin-top: 72px !important;
}

.u-mt75 {
  margin-top: 75px !important;
}

.u-mt76 {
  margin-top: 76px !important;
}

.u-mt80 {
  margin-top: 80px !important;
}

.u-mt84 {
  margin-top: 84px !important;
}

.u-mt85 {
  margin-top: 85px !important;
}

.u-mt88 {
  margin-top: 88px !important;
}

.u-mt90 {
  margin-top: 90px !important;
}

.u-mt92 {
  margin-top: 92px !important;
}

.u-mt95 {
  margin-top: 95px !important;
}

.u-mt96 {
  margin-top: 96px !important;
}

.u-mt100 {
  margin-top: 100px !important;
}

.u-mt104 {
  margin-top: 104px !important;
}

.u-mt105 {
  margin-top: 105px !important;
}

.u-mt108 {
  margin-top: 108px !important;
}

.u-mt110 {
  margin-top: 110px !important;
}

.u-mt112 {
  margin-top: 112px !important;
}

.u-mt115 {
  margin-top: 115px !important;
}

.u-mt116 {
  margin-top: 116px !important;
}

.u-mt120 {
  margin-top: 120px !important;
}

.u-mt124 {
  margin-top: 124px !important;
}

.u-mt125 {
  margin-top: 125px !important;
}

.u-mt128 {
  margin-top: 128px !important;
}

.u-mt130 {
  margin-top: 130px !important;
}

.u-mt132 {
  margin-top: 132px !important;
}

.u-mt135 {
  margin-top: 135px !important;
}

.u-mt136 {
  margin-top: 136px !important;
}

.u-mt140 {
  margin-top: 140px !important;
}

.u-mt144 {
  margin-top: 144px !important;
}

.u-mt145 {
  margin-top: 145px !important;
}

.u-mt148 {
  margin-top: 148px !important;
}

.u-mt150 {
  margin-top: 150px !important;
}

.u-mt152 {
  margin-top: 152px !important;
}

.u-mt155 {
  margin-top: 155px !important;
}

.u-mt156 {
  margin-top: 156px !important;
}

.u-mt160 {
  margin-top: 160px !important;
}

.u-mt164 {
  margin-top: 164px !important;
}

.u-mt165 {
  margin-top: 165px !important;
}

.u-mt168 {
  margin-top: 168px !important;
}

.u-mt170 {
  margin-top: 170px !important;
}

.u-mt172 {
  margin-top: 172px !important;
}

.u-mt175 {
  margin-top: 175px !important;
}

.u-mt176 {
  margin-top: 176px !important;
}

.u-mt180 {
  margin-top: 180px !important;
}

.u-mt184 {
  margin-top: 184px !important;
}

.u-mt185 {
  margin-top: 185px !important;
}

.u-mt188 {
  margin-top: 188px !important;
}

.u-mt190 {
  margin-top: 190px !important;
}

.u-mt192 {
  margin-top: 192px !important;
}

.u-mt195 {
  margin-top: 195px !important;
}

.u-mt196 {
  margin-top: 196px !important;
}

.u-mt200 {
  margin-top: 200px !important;
}

@media print, screen and (min-width: 768px) {
  .u-md-mt0 {
    margin-top: 0px !important;
  }
  .u-md-mt4 {
    margin-top: 4px !important;
  }
  .u-md-mt5 {
    margin-top: 5px !important;
  }
  .u-md-mt8 {
    margin-top: 8px !important;
  }
  .u-md-mt10 {
    margin-top: 10px !important;
  }
  .u-md-mt12 {
    margin-top: 12px !important;
  }
  .u-md-mt15 {
    margin-top: 15px !important;
  }
  .u-md-mt16 {
    margin-top: 16px !important;
  }
  .u-md-mt20 {
    margin-top: 20px !important;
  }
  .u-md-mt24 {
    margin-top: 24px !important;
  }
  .u-md-mt25 {
    margin-top: 25px !important;
  }
  .u-md-mt28 {
    margin-top: 28px !important;
  }
  .u-md-mt30 {
    margin-top: 30px !important;
  }
  .u-md-mt32 {
    margin-top: 32px !important;
  }
  .u-md-mt35 {
    margin-top: 35px !important;
  }
  .u-md-mt36 {
    margin-top: 36px !important;
  }
  .u-md-mt40 {
    margin-top: 40px !important;
  }
  .u-md-mt44 {
    margin-top: 44px !important;
  }
  .u-md-mt45 {
    margin-top: 45px !important;
  }
  .u-md-mt48 {
    margin-top: 48px !important;
  }
  .u-md-mt50 {
    margin-top: 50px !important;
  }
  .u-md-mt52 {
    margin-top: 52px !important;
  }
  .u-md-mt55 {
    margin-top: 55px !important;
  }
  .u-md-mt56 {
    margin-top: 56px !important;
  }
  .u-md-mt60 {
    margin-top: 60px !important;
  }
  .u-md-mt64 {
    margin-top: 64px !important;
  }
  .u-md-mt65 {
    margin-top: 65px !important;
  }
  .u-md-mt68 {
    margin-top: 68px !important;
  }
  .u-md-mt70 {
    margin-top: 70px !important;
  }
  .u-md-mt72 {
    margin-top: 72px !important;
  }
  .u-md-mt75 {
    margin-top: 75px !important;
  }
  .u-md-mt76 {
    margin-top: 76px !important;
  }
  .u-md-mt80 {
    margin-top: 80px !important;
  }
  .u-md-mt84 {
    margin-top: 84px !important;
  }
  .u-md-mt85 {
    margin-top: 85px !important;
  }
  .u-md-mt88 {
    margin-top: 88px !important;
  }
  .u-md-mt90 {
    margin-top: 90px !important;
  }
  .u-md-mt92 {
    margin-top: 92px !important;
  }
  .u-md-mt95 {
    margin-top: 95px !important;
  }
  .u-md-mt96 {
    margin-top: 96px !important;
  }
  .u-md-mt100 {
    margin-top: 100px !important;
  }
  .u-md-mt104 {
    margin-top: 104px !important;
  }
  .u-md-mt105 {
    margin-top: 105px !important;
  }
  .u-md-mt108 {
    margin-top: 108px !important;
  }
  .u-md-mt110 {
    margin-top: 110px !important;
  }
  .u-md-mt112 {
    margin-top: 112px !important;
  }
  .u-md-mt115 {
    margin-top: 115px !important;
  }
  .u-md-mt116 {
    margin-top: 116px !important;
  }
  .u-md-mt120 {
    margin-top: 120px !important;
  }
  .u-md-mt124 {
    margin-top: 124px !important;
  }
  .u-md-mt125 {
    margin-top: 125px !important;
  }
  .u-md-mt128 {
    margin-top: 128px !important;
  }
  .u-md-mt130 {
    margin-top: 130px !important;
  }
  .u-md-mt132 {
    margin-top: 132px !important;
  }
  .u-md-mt135 {
    margin-top: 135px !important;
  }
  .u-md-mt136 {
    margin-top: 136px !important;
  }
  .u-md-mt140 {
    margin-top: 140px !important;
  }
  .u-md-mt144 {
    margin-top: 144px !important;
  }
  .u-md-mt145 {
    margin-top: 145px !important;
  }
  .u-md-mt148 {
    margin-top: 148px !important;
  }
  .u-md-mt150 {
    margin-top: 150px !important;
  }
  .u-md-mt152 {
    margin-top: 152px !important;
  }
  .u-md-mt155 {
    margin-top: 155px !important;
  }
  .u-md-mt156 {
    margin-top: 156px !important;
  }
  .u-md-mt160 {
    margin-top: 160px !important;
  }
  .u-md-mt164 {
    margin-top: 164px !important;
  }
  .u-md-mt165 {
    margin-top: 165px !important;
  }
  .u-md-mt168 {
    margin-top: 168px !important;
  }
  .u-md-mt170 {
    margin-top: 170px !important;
  }
  .u-md-mt172 {
    margin-top: 172px !important;
  }
  .u-md-mt175 {
    margin-top: 175px !important;
  }
  .u-md-mt176 {
    margin-top: 176px !important;
  }
  .u-md-mt180 {
    margin-top: 180px !important;
  }
  .u-md-mt184 {
    margin-top: 184px !important;
  }
  .u-md-mt185 {
    margin-top: 185px !important;
  }
  .u-md-mt188 {
    margin-top: 188px !important;
  }
  .u-md-mt190 {
    margin-top: 190px !important;
  }
  .u-md-mt192 {
    margin-top: 192px !important;
  }
  .u-md-mt195 {
    margin-top: 195px !important;
  }
  .u-md-mt196 {
    margin-top: 196px !important;
  }
  .u-md-mt200 {
    margin-top: 200px !important;
  }
}
/* =============================
font-size
================================ */
:root {
  /* =============================
  Base
  ================================ */
  --min-width-viewport: 375px;
  --width-max-content: 980px;
  --width-max-content-lg: 1120px;
  --width-wrapper-side-space: 20px;
  --height-header-pc: 85px;
  --height-header-sp: 52px;
  /* =============================
  Font
  ================================ */
  --font-size-xxxxxl: 4rem;
  --font-size-xxxxl: 3rem;
  --font-size-xxxl: 2rem;
  --font-size-xxl: 1.5rem;
  --font-size-xl: 1.25;
  --font-size-md: 1rem;
  --font-size-sm: 0.875rem;
  --font-size-xs: 0.75rem;
  --font-size-xxs: 0.625rem;
  --font-size-base: var(--font-size-sm);
  --font-size-small: var(--font-size-sm);
  --font-size-tiny: var(--font-size-xs);
  --font-family-primary: "Fira Sans", sans-serif;
  --font-family-base: "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo,
    sans-serif;
  --font-weight-primary-bold: 700;
  --font-weight-primary-semi-bold: 600;
  --font-weight-base-bold: 600;
  --letter-spacing-primary-lg: -0.05em;
  --letter-spacing-primary-sm: -0.02em;
  --letter-spacing-base: 0;
  --line-height-xs: 1.286;
  --line-height-base: 1.5;
  /* =============================
  Color
  ================================ */
  --color-primary: #003369;
  --color-primary-thin: #3F48E4;
  --color-secondary: #e6c85d;
  --color-white: #ffffff;
  --color-black: #000000;
  --color-light-blue: #f2f4f8;
  --color-light-blue2: #9cacc7;
  --color-deep-blue: #394862;
  --color-purple: #7C84FF;
  --color-gray: #e8e6eb;
  --color-gradient-primary: linear-gradient(300deg, #1110B7 0%, #263FF6 100%);
  --color-gradient-secondary: linear-gradient(300deg, #be9b21 0%, #d0bb71 100%);
  --color-gradient-outStanding: linear-gradient(270deg, #141EFF 0%, #C26CEB 100%);
  --color-text-black: var(--color-black);
  --color-text-white: var(--color-white);
  --color-background-light-blue: var(--color-light-blue);
  --color-background-white: var(--color-white);
  --color-border: var(--color-gray);
  /* =============================
  Border
  ================================ */
  --border-width-sm: 1px;
  --border-radius-button-basic: 100vmax;
  /* =============================
  Decoration
  ================================ */
  --transition-duration: 0.3s;
  --box-shadow-primary: 0 0 4px rgba(94, 123, 199, 0.16);
  --box-shadow-secondary: 16px 8px 16px rgba(7, 19, 33, 0.16);
  --box-shadow-tertiary: 0 0 3px rgba(17, 16, 183, 0.8);
}
@media print, screen and (min-width: 768px) {
  :root {
    --font-size-base: var(--font-size-md);
  }
}

html {
  scroll-behavior: smooth;
}

body {
  min-width: var(--min-width-viewport);
  font-size: var(--font-size-base);
  font-family: var(--font-family-base);
  line-height: var(--line-height-base);
  letter-spacing: var(--letter-spacing-base);
  color: var(--color-deep-blue);
  background-color: var(--color-background);
  overflow-x: clip;
  -webkit-text-size-adjust: 100%;
}

.u-inner {
  max-width: calc(var(--width-max-content) + var(--width-wrapper-side-space) * 2);
  padding-inline: var(--width-wrapper-side-space);
  margin-inline: auto;
}

/* =============================
ブレイクポイント display切り替え
================================ */
@media print, screen and (min-width: 768px) {
  .u-pc-only {
    display: block !important;
  }
}
@media print, screen and (max-width: 767.98px) {
  .u-pc-only {
    display: none !important;
  }
}

@media print, screen and (min-width: 768px) {
  .u-sp-only {
    display: none !important;
  }
}
@media print, screen and (max-width: 767.98px) {
  .u-sp-only {
    display: block !important;
  }
}

/* =============================
テキスト関連
================================ */
.u-text-center {
  text-align: center;
}
.u-text-small {
  font-size: var(--font-size-xxs);
}
.u-text-bold {
  font-weight: var(--font-weight-base-bold);
}

/* =============================
コンテンツ位置
================================ */
.u-place-left {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
.u-place-center {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.u-place-right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

/* =============================
背景色
================================ */
.u-bg-light-blue {
  background-color: #F4F5FF;
}
.u-bg-light {
  background-color: var(--color-background-white);
}
.u-bg-gradient-primary {
  background-image: var(--color-gradient-primary);
}
.u-bg-transparent-white {
  background-color: rgba(255, 255, 255, 0.2);
}

.header {
  width: 100%;
  background-color: var(--color-white);
  position: absolute;
  top: 0;
  left: 0;
}
.header_inner {
  max-width: calc(var(--width-max-content-lg) + var(--width-wrapper-side-space) * 2);
  padding-inline: var(--width-wrapper-side-space);
  margin-inline: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: var(--height-header-sp);
}
@media print, screen and (min-width: 768px) {
  .header_inner {
    height: var(--height-header-pc);
  }
}
.header h1 {
  display: inline-block;
}

@media print, screen and (max-width: 767.98px) {
  .headerLogo {
    width: 167px;
    height: 24px;
  }
}

footer {
  border-top: solid 1px #E8E6EB;
  background-color: var(--color-background-white);
  padding-top: 12px;
  padding-bottom: 12px;
}

footer .inner {
  max-width: 1120px;
  width: 90%;
  margin-inline: auto;
  padding: 20px;
}

footer .inner dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: space-between;
  -ms-flex-pack: space-between;
  justify-content: space-between;
}

footer .inner dl dt img {
  width: 300px;
  padding-bottom: 5px;
}

footer .inner dl dd {
  line-height: 1;
}

footer .inner dl dd ul li {
  display: inline-block;
  margin-right: 12px;
  padding-right: 12px;
  line-height: 1;
  font-size: 11px;
  border-right: solid 1px #394862;
}

footer .inner dl dd ul li:last-child {
  margin-right: 0px;
  padding-right: 0px;
  border-right: none;
}

footer .inner dl dd ul li a {
  color: #394862;
}

@media print, screen and (max-width: 767.98px) {
  footer .inner {
    width: 90%;
    padding: 10px 0;
  }
  footer .inner dl {
    display: block;
    position: relative;
    padding-bottom: 15%;
  }
  footer .inner dl dt {
    position: absolute;
    bottom: 0;
    left: 0;
  }
  footer .inner dl dd ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  footer .inner dl dd ul li {
    margin-right: 0px;
    padding-right: 0px;
    width: 50%;
    border-right: none;
    padding: 7px;
  }
}
.btnWrapper {
  width: 100%;
  padding: 25px;
  margin-inline: auto;
}
@media print, screen and (max-width: 767.98px) {
  .btnWrapper {
    border-radius: 0.75rem;
  }
}
@media print, screen and (min-width: 768px) {
  .btnWrapper {
    width: 100vw;
    margin-inline: calc(50% - 50vw);
    padding: 25px 50px 25px;
  }
}

.btnList {
  width: 100%;
}
.btnList > a {
  display: block;
  cursor: auto;
}
.btnList > a:not(:first-of-type) {
  margin-top: 20px;
}
.btnList .button {
  max-width: 17.9375rem;
  width: 100%;
  cursor: pointer;
  margin-inline: auto;
}
@media print, screen and (min-width: 560px) {
  .btnList .button {
    max-width: 17.9375rem;
  }
}
@media print, screen and (min-width: 768px) {
  .btnList .button {
    max-width: 20rem;
  }
}

.button {
  --height-button: 44px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-height: var(--height-button);
  font-size: var(--font-size-md);
  font-weight: var(--font-weight-base-bold);
  border-radius: 100vmax;
}
@media (any-hover: hover) {
  .button {
    cursor: pointer;
    opacity: 1;
    -webkit-transition: opacity var(--transition-duration);
    transition: opacity var(--transition-duration);
  }
  .button:hover {
    opacity: 0.7;
  }
}
.button.-outStanding {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: var(--color-white);
  text-align: center;
  background-image: var(--color-gradient-outStanding);
  padding-inline: 1.25rem;
}
.button.-outStanding.-shadow {
  -webkit-box-shadow: var(--box-shadow-primary);
          box-shadow: var(--box-shadow-primary);
}
.button.-secondary {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: var(--color-primary-thin);
  text-align: center;
  background-color: var(--color-white);
  padding-inline: 1.25rem;
}
.button.-secondary.-shadow {
  -webkit-box-shadow: 0 0 4px rgba(94, 123, 199, 0.16);
          box-shadow: 0 0 4px rgba(94, 123, 199, 0.16);
}
.button.-recruitIcon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: var(--color-deep-blue);
  background-color: var(--color-background-white);
  padding-left: 1.25rem;
}
.button.-recruitIcon.-shadow {
  -webkit-box-shadow: 0 0 4px rgba(94, 123, 199, 0.8);
          box-shadow: 0 0 4px rgba(94, 123, 199, 0.8);
}
.button.-recruitIcon::before {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  background-image: url(../img/icon_recruit.svg);
  margin-right: 2.375rem;
}
@media print, screen and (min-width: 768px) {
  .button.-recruitIcon::before {
    margin-right: 3.125rem;
  }
}
.button.-bordered {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: var(--color-white);
  text-align: center;
  border: 1px solid var(--color-white);
  padding-inline: 1.25rem;
}

.sectionHeading-en {
  display: block;
  font-size: 4.125rem;
  font-family: var(--font-family-primary);
  font-weight: var(--font-weight-primary-bold);
  line-height: 1;
  letter-spacing: var(--letter-spacing-primary-lg);
  color: var(--color-text-white);
  text-align: center;
  position: relative;
  margin-inline: -50px;
}
@media print, screen and (min-width: 768px) {
  .sectionHeading-en {
    font-size: clamp(4.125rem, 0.975rem + 13.44vw, 9.375rem);
    letter-spacing: var(--letter-spacing-primary-sm);
  }
}
.sectionHeading-en.-primary {
  color: rgba(57, 72, 98, 0.04);
}
.sectionHeading-en + .sectionHeading-jp {
  margin-top: -21px;
}
@media print, screen and (min-width: 768px) {
  .sectionHeading-en + .sectionHeading-jp {
    margin-top: -43px;
  }
}
.sectionHeading-jp {
  display: block;
  font-size: var(--font-size-xxl);
  font-weight: var(--font-weight-base-bold);
  line-height: 1.5;
  color: var(--color-primary);
  text-align: center;
  position: relative;
}
@media print, screen and (min-width: 768px) {
  .sectionHeading-jp {
    font-size: clamp(1.5rem, 0.9rem + 2.56vw, 2.5rem);
    line-height: 1.2;
  }
}
.sectionHeading-jp .-small {
  font-size: 1.25rem;
  line-height: 1.5;
}
@media print, screen and (min-width: 768px) {
  .sectionHeading-jp .-small {
    font-size: clamp(1.25rem, 0.8rem + 1.92vw, 2rem);
  }
}
.sectionHeading-jp .-highlight {
  font-size: var(--font-size-xxxl);
  color: var(--color-primary-thin);
  line-height: 1.3;
}
@media print, screen and (min-width: 768px) {
  .sectionHeading-jp .-highlight {
    font-size: clamp(2rem, 1.1rem + 3.84vw, 3.5rem);
  }
}
.sectionHeading-layout + * {
  margin-top: 24px;
}
@media print, screen and (min-width: 768px) {
  .sectionHeading-layout + * {
    margin-top: 40px;
  }
}

.dropCapHeading {
  font-size: 1.25rem;
  line-height: 1.6;
}
@media print, screen and (min-width: 768px) {
  .dropCapHeading {
    font-size: 2.25rem;
  }
}
.dropCapHeading:first-letter {
  font-size: 2.5rem;
  color: var(--color-primary-thin);
  line-height: 1.1;
}
@media print, screen and (min-width: 768px) {
  .dropCapHeading:first-letter {
    font-size: 3.25rem;
  }
}

.contentTitle {
  font-size: var(--font-size-xs);
}

.bothEndsDecoText {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-column-gap: 8px;
     -moz-column-gap: 8px;
          column-gap: 8px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-base-bold);
  line-height: 1;
  color: var(--color-text-white);
  margin-inline: auto;
}
.bothEndsDecoText::before, .bothEndsDecoText::after {
  content: "";
  display: inline-block;
  width: 12px;
  height: 12px;
}
.bothEndsDecoText::before {
  background-image: url(../img/icon_tilted_bar_left.svg);
}
.bothEndsDecoText::after {
  background-image: url(../img/icon_tilted_bar_right.svg);
}
.bothEndsDecoText.-primary::before {
  background-image: url(../img/icon_tilted_bar_left_primary.svg);
}
.bothEndsDecoText.-primary::after {
  background-image: url(../img/icon_tilted_bar_right_primary.svg);
}
.bothEndsDecoText + .btnList {
  margin-top: 20px;
}

.standOutHeading {
  font-size: 1.25rem;
  font-weight: var(--font-weight-base-bold);
  color: var(--color-deep-blue);
}
.standOutHeading .-highlight {
  font-size: 2.25rem;
  font-family: var(--font-family-primary);
  font-weight: var(--font-weight-primary-semi-bold);
  letter-spacing: -0.02em;
  color: var(--color-primary-thin);
  margin-inline: 1px;
}

.basicTitle {
  font-size: 1.375rem;
}
@media print, screen and (min-width: 768px) {
  .basicTitle {
    font-size: var(--font-size-xxxl);
  }
}
.basicTitle.-white {
  color: var(--color-white);
}

.smallTitle {
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-base-bold);
}

.smallText {
  font-size: var(--font-size-xs);
}

.tinyText {
  font-size: var(--font-size-xxs);
}

.bulletList > li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  font-size: var(--font-size-xxs);
  line-height: 1.8;
  padding-left: 7px;
}
.bulletList > li::before {
  content: "";
  display: inline-block;
  width: 3px;
  aspect-ratio: 1/1;
  background-color: var(--color-deep-blue);
  border-radius: 50%;
  -webkit-transform: translateY(6px);
          transform: translateY(6px);
  margin-right: 9px;
}

.quotationBox {
  position: relative;
}
@media print, screen and (min-width: 768px) {
  .quotationBox {
    -webkit-padding-before: 53px;
            padding-block-start: 53px;
  }
}
.quotationBox::after {
  content: "";
  display: block;
  width: 48px;
  height: 38px;
  background-image: url(../img/icon_double_quotaion.svg);
  position: absolute;
  top: -20px;
  right: 0;
}
@media print, screen and (min-width: 768px) {
  .quotationBox::after {
    width: 67px;
    height: 53px;
    top: 8px;
    right: -6px;
  }
}
.quotationBox .dropCapHeading {
  position: relative;
  z-index: 1;
}
@media print, screen and (max-width: 767.98px) {
  .quotationBox .dropCapHeading {
    text-align: center;
  }
}
.quotationBox .dropCapHeading + * {
  margin-top: 12px;
}
@media print, screen and (min-width: 768px) {
  .quotationBox .dropCapHeading + * {
    margin-top: 44px;
  }
}

.appImage {
  display: grid;
}
.appImage .featureBg {
  position: relative;
}
.appImage .featureBg::after {
  content: "";
  display: block;
  position: absolute;
}
@media print, screen and (min-width: 768px) {
  .appImage .featureBg img {
    display: none;
  }
}
.appImage.-image1 .featureImg,
.appImage.-image1 .featureBg {
  grid-row: 1;
  grid-column: 1;
  justify-self: center;
  align-self: center;
}
.appImage.-image1 .featureImg {
  border-radius: 30px;
  -webkit-box-shadow: var(--box-shadow-secondary);
          box-shadow: var(--box-shadow-secondary);
  -webkit-transform: translateX(-22px);
          transform: translateX(-22px);
}
@media print, screen and (min-width: 768px) {
  .appImage.-image1 .featureImg {
    -webkit-transform: translateX(18px);
            transform: translateX(18px);
  }
}
@media print, screen and (max-width: 767.98px) {
  .appImage.-image1 .featureBg {
    width: 337px;
  }
}
@media print, screen and (min-width: 768px) {
  .appImage.-image1 .featureBg {
    width: 428px;
    height: 488px;
  }
}
@media print, screen and (min-width: 768px) {
  .appImage.-image1 .featureBg::after {
    content: "";
    width: 3427px;
    height: 488px;
    inset: 0 422px 0 auto;
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
    background-image: url(../img/bg_gradient_primary1_bg.png);
  }
}
@media print, screen and (min-width: 768px) {
  .appImage.-image2 {
    margin-right: 40px;
  }
}
.appImage.-image2 .featureImg,
.appImage.-image2 .featureBg {
  grid-row: 1;
  grid-column: 1;
  justify-self: center;
  align-self: end;
}
.appImage.-image2 .featureImg {
  -webkit-transform: translate(32px, 0);
          transform: translate(32px, 0);
}
@media print, screen and (max-width: 767.98px) {
  .appImage.-image2 .featureImg {
    width: 250px;
  }
}
@media print, screen and (min-width: 768px) {
  .appImage.-image2 .featureImg {
    -webkit-transform: translateX(28px);
            transform: translateX(28px);
  }
}
@media print, screen and (max-width: 767.98px) {
  .appImage.-image2 .featureBg {
    width: 335px;
  }
}
@media print, screen and (min-width: 768px) {
  .appImage.-image2 .featureBg {
    width: 368px;
    height: 449px;
  }
}
@media print, screen and (min-width: 768px) {
  .appImage.-image2 .featureBg::after {
    content: "";
    width: 3368px;
    height: 449px;
    inset: 0 auto 0 368px;
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
    background-image: url(../img/bg_gradient_primary2_bg.png);
  }
}
.appImage.-image3 .featureImg,
.appImage.-image3 .featureBg {
  grid-row: 1;
  grid-column: 1;
  justify-self: center;
  align-self: center;
}
.appImage.-image3 .featureImg {
  border-radius: 30px;
  -webkit-box-shadow: var(--box-shadow-secondary);
          box-shadow: var(--box-shadow-secondary);
  -webkit-transform: translateX(-26px);
          transform: translateX(-26px);
}
@media print, screen and (min-width: 768px) {
  .appImage.-image3 .featureImg {
    -webkit-transform: translateX(24px);
            transform: translateX(24px);
  }
}
@media print, screen and (max-width: 767.98px) {
  .appImage.-image3 .featureBg {
    width: 339px;
  }
}
@media print, screen and (min-width: 768px) {
  .appImage.-image3 .featureBg {
    width: 438px;
    height: 488px;
  }
}
@media print, screen and (min-width: 768px) {
  .appImage.-image3 .featureBg::after {
    content: "";
    width: 3427px;
    height: 488px;
    inset: 0 430px 0 auto;
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
    background-image: url(../img/bg_gradient_primary1_bg.png);
  }
}
@media print, screen and (max-width: 767.98px) {
  .appImage .featureImg {
    width: 217px;
  }
}

/* =============================
スライダー
================================ */
.swiper-button-prev::after,
.swiper-button-next::after {
  display: none;
}

.featureItem {
  display: grid;
  position: relative;
}
@media print, screen and (max-width: 767.98px) {
  .featureItem {
    -webkit-padding-before: 40px;
            padding-block-start: 40px;
  }
}
.featureItem::before {
  display: block;
  width: 100px;
  height: 1px;
  background-color: var(--color-light-blue2);
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media print, screen and (max-width: 767.98px) {
  .featureItem::before {
    content: "";
  }
}
@media print, screen and (min-width: 768px) {
  .featureItem::before {
    width: 200px;
  }
}
@media print, screen and (max-width: 767.98px) {
  .featureItem .-pc {
    display: none;
  }
}
@media print, screen and (min-width: 768px) {
  .featureItem .-sp {
    display: none;
  }
}
@media print, screen and (min-width: 768px) {
  .featureItem .quotationBox {
    margin-top: 54px;
  }
}
@media print, screen and (max-width: 767.98px) {
  .featureItem .quotationBox + .appImage {
    margin-top: 36px;
  }
}
@media print, screen and (max-width: 767.98px) {
  .featureItem .dropCapHeading {
    text-align: center;
  }
}
@media print, screen and (min-width: 768px) {
  .featureItem_description {
    max-width: 500px;
  }
}
.featureItem .featureContent {
  grid-column: 1/-1;
}
.featureItem .cautionText {
  line-height: 1.8;
  margin-top: 20px;
}
@media print, screen and (min-width: 768px) {
  .featureItem .cautionText {
    max-width: 500px;
    margin-top: 24px;
  }
}
@media print, screen and (min-width: 768px) {
  .featureItem:first-of-type {
    -webkit-padding-before: 80px;
            padding-block-start: 80px;
  }
  .featureItem:first-of-type::before {
    content: "";
  }
}
.featureItem:not(:first-of-type) {
  -webkit-margin-before: 44px;
          margin-block-start: 44px;
}
@media print, screen and (min-width: 768px) {
  .featureItem:not(:first-of-type) {
    -webkit-margin-before: 40px;
            margin-block-start: 40px;
  }
}
@media print, screen and (max-width: 767.98px) {
  .featureItem:nth-of-type(odd) .appImage {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: end;
    -webkit-transform: translateX(var(--width-wrapper-side-space));
            transform: translateX(var(--width-wrapper-side-space));
  }
}
@media print, screen and (min-width: 768px) {
  .featureItem:nth-of-type(odd) {
    grid-template-columns: 1fr auto;
  }
}
@media print, screen and (min-width: 768px) {
  .featureItem:nth-of-type(even) {
    grid-template-columns: auto 1fr;
  }
}
@media print, screen and (max-width: 767.98px) {
  .featureItem:nth-of-type(even) .appImage {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: start;
    -webkit-transform: translateX(calc(-1 * var(--width-wrapper-side-space)));
            transform: translateX(calc(-1 * var(--width-wrapper-side-space)));
  }
}
@media print, screen and (min-width: 768px) {
  .featureItem:nth-of-type(even) .appImage {
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
  }
}

.numItemList {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 40px;
  counter-reset: numItem;
}
@media print, screen and (max-width: 767.98px) {
  .numItemList {
    justify-items: center;
  }
}
@media print, screen and (min-width: 768px) {
  .numItemList {
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
  }
}
@media print, screen and (max-width: 767.98px) {
  .numItemList li {
    width: 337px;
  }
}
.numItemList li .numItem,
.numItemList li .numItem_inner {
  height: 100%;
}

.numItem {
  counter-increment: numItem;
  background-color: var(--color-background-white);
  position: relative;
  padding: 8px;
}
.numItem:before {
  content: counter(numItem);
  font-size: var(--font-size-xxxxl);
  font-family: var(--font-family-primary);
  font-weight: var(--font-weight-primary-semi-bold);
  font-style: italic;
  line-height: 1;
  color: var(--color-primary);
  position: absolute;
  top: -14px;
  left: 50%;
  z-index: 1;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  padding-inline: 10px;
}
.numItem::after {
  content: "";
  width: 62px;
  height: 50px;
  background-color: var(--color-background-white);
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media print, screen and (min-width: 768px) {
  .numItem.numItem02 :is(.standOutHeading, .cautionText) {
    -webkit-transform: translateY(-2px);
            transform: translateY(-2px);
  }
}
@media print, screen and (min-width: 768px) {
  .numItem.numItem02 .standOutHeading {
    line-height: 1.1;
  }
}
.numItem:nth-of-type(-n + 9):before {
  content: "0" counter(numItem);
}
.numItem_inner {
  border: 1px solid var(--color-light-blue2);
  padding: 45px 12px 30px;
}
@media print, screen and (min-width: 768px) {
  .numItem_inner {
    padding: 45px 2px 29px;
  }
}
.numItem_icon {
  margin-inline: auto;
}
.numItem_icon + * {
  margin-top: 28px;
}
.numItem .standOutHeading {
  display: block;
  text-align: center;
  line-height: 1.3;
}
.numItem .cautionText {
  display: block;
  max-width: 300px;
  line-height: 1.5;
  padding-inline: 10px;
  margin-top: 16px;
  margin-inline: auto;
}
@media print, screen and (min-width: 768px) {
  .numItem .cautionText {
    max-width: 279px;
  }
}

.caseItem {
  background-color: var(--color-background-white);
  -webkit-box-shadow: 0 0 12px rgba(17, 16, 183, 0.14);
          box-shadow: 0 0 12px rgba(17, 16, 183, 0.14);
}
.caseItem_inner {
  padding: 15px;
}

.caseMain {
  display: grid;
  grid-template-columns: 50% auto;
  gap: 5%;
}
.caseMain_text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.caseMain_salary {
  font-size: var(--font-size-md);
  font-weight: var(--font-weight-base-bold);
}
.caseMain_salary .-highlight {
  font-size: 1.875rem;
  font-family: var(--font-family-primary);
  font-weight: var(--font-weight-primary-semi-bold);
  color: var(--color-purple);
  margin-right: 2px;
}
@media print, screen and (min-width: 768px) {
  .caseMain_salary .-highlight {
    font-size: 2rem;
  }
}
.caseMain_profile {
  font-size: var(--font-size-xs);
}
@media print, screen and (min-width: 768px) {
  .caseMain_profile {
    font-size: 0.875rem;
  }
}
.caseMain + .caseJobInfo {
  margin-top: 15px;
}

.jobInfo {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-rows: auto minmax(0, 1fr);
  -webkit-column-gap: 8px;
     -moz-column-gap: 8px;
          column-gap: 8px;
  row-gap: 0.625rem;
}
@media print, screen and (max-width: 767.98px) {
  .jobInfo {
    height: auto !important;
  }
}
.jobInfo.-before .jobInfo_title {
  color: var(--color-deep-blue);
  background-color: var(--color-background-light-blue);
}
.jobInfo.-before .jobInfo_salary .-highlight {
  color: #a2a3a5;
}
.jobInfo.-before + .-after {
  position: relative;
  -webkit-padding-before: 20px;
          padding-block-start: 20px;
}
@media print, screen and (max-width: 767.98px) {
  .jobInfo.-before + .-after {
    margin-top: 5px;
  }
}
.jobInfo.-before + .-after::before {
  content: "";
  width: 16px;
  height: 10px;
  background-image: url(../img/icon_triangle_bottom_gray.svg);
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.jobInfo.-after .jobInfo_title {
  color: var(--color-white);
  background-color: var(--color-purple);
}
.jobInfo.-after .jobInfo_salary .-highlight {
  color: var(--color-purple);
}
.jobInfo_title {
  grid-column: 1/3;
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-base-bold);
  line-height: 1.5rem;
  text-align: center;
}
.jobInfo_position {
  grid-row: 2/3;
  grid-column: 1/2;
  max-width: 165px;
  font-size: var(--font-size-xs);
}
@media print, screen and (min-width: 768px) {
  .jobInfo_position {
    font-size: 0.875rem;
  }
}
.jobInfo_salary {
  grid-row: 2/3;
  grid-column: 2/3;
  font-size: var(--font-size-xs);
}
.jobInfo_salary .-highlight {
  font-size: var(--font-size-xxl);
  font-family: var(--font-family-primary);
  font-weight: var(--font-weight-primary-semi-bold);
  margin-inline: 2px;
}
@media print, screen and (min-width: 768px) {
  .jobInfo_salary .-highlight {
    font-size: 1.625rem;
  }
}

/* =============================
mv
================================ */
.mv {
  background-image: var(--color-gradient-primary);
  overflow-x: hidden;
  -webkit-padding-before: var(--height-header-sp);
          padding-block-start: var(--height-header-sp);
}
@media print, screen and (min-width: 768px) {
  .mv {
    -webkit-padding-before: var(--height-header-pc);
            padding-block-start: var(--height-header-pc);
  }
}
.mv .btnWrapper {
  max-width: 725px;
  margin-inline: auto;
}
@media print, screen and (max-width: 767.98px) {
  .mv .btnWrapper {
    margin-top: 10px;
  }
}

@media print, screen and (max-width: 767.98px) {
  .mvTop {
    margin-right: -45px;
  }
}
.mvTop + * {
  margin-top: 14px;
}
@media print, screen and (min-width: 768px) {
  .mvTop + * {
    margin-top: 10px;
  }
}
.mvTop_image img {
  margin-inline: auto;
}
@media print, screen and (min-width: 768px) {
  .mvTop_image img {
    width: 100%;
  }
}

.mvDescription {
  font-size: 1.125rem;
  font-weight: var(--font-weight-base-bold);
  color: var(--color-text-white);
  text-align: center;
}
@media print, screen and (min-width: 768px) {
  .mvDescription {
    font-size: 1.75rem;
  }
}
.mvDescription .-highlight {
  font-size: 2rem;
  font-family: var(--font-family-primary);
  font-weight: var(--font-weight-primary-semi-bold);
  color: var(--color-secondary);
}
@media print, screen and (min-width: 768px) {
  .mvDescription .-highlight {
    font-size: 3rem;
  }
}

.sectionContainer_inner {
  padding-block: 34px 48px;
}
@media print, screen and (min-width: 768px) {
  .sectionContainer_inner {
    padding-block: 68px 80px;
  }
}

.sectionTop {
  width: 100vw;
  margin-inline: calc(50% - 50vw);
  overflow-x: hidden;
  -webkit-padding-after: 10px;
          padding-block-end: 10px;
}
.sectionTop + .instancesContent {
  margin-top: 24px;
}
@media print, screen and (min-width: 768px) {
  .sectionTop + .instancesContent {
    margin-top: 53px;
  }
}

@media print, screen and (min-width: 768px) {
  .topBtnWrapper {
    padding-block: 40px;
  }
}
.topBtnWrapper .bothEndsDecoText {
  color: var(--color-deep-blue);
}

.topStrongPoint .sectionTop + .sectionContent {
  margin-top: 24px;
}
@media print, screen and (min-width: 768px) {
  .topStrongPoint .sectionTop + .sectionContent {
    margin-top: 45px;
  }
}
@media print, screen and (max-width: 767.98px) {
  .topStrongPoint .sectionHeading-en {
    font-size: 3.25rem;
    letter-spacing: -0.02em;
  }
}
@media print, screen and (min-width: 768px) {
  .topStrongPoint .sectionHeading-en {
    font-size: clamp(3.25rem, -0.425rem + 15.68vw, 9.375rem);
  }
}

.topOrikon_inner {
  padding-block: 44px;
}
@media print, screen and (min-width: 768px) {
  .topOrikon_inner {
    padding-block: 72px 0;
  }
}
.topOrikon .sectionHeading {
  margin-top: 30px;
}
@media print, screen and (min-width: 768px) {
  .topOrikon .sectionHeading {
    margin-top: 40px;
  }
}
@media print, screen and (min-width: 768px) {
  .topOrikon .sectionHeading-jp {
    font-size: 2rem;
  }
}
.topOrikon .cautionText {
  margin-top: 28px;
}

.topFeatures {
  overflow-x: hidden;
}
@media print, screen and (min-width: 768px) {
  .topFeatures .sectionContainer_inner {
    -webkit-padding-after: 0;
            padding-block-end: 0;
  }
}
.topFeatures .sectionTop + .sectionContent {
  margin-top: 15px;
}
@media print, screen and (min-width: 768px) {
  .topFeatures .sectionTop + .sectionContent {
    margin-top: 38px;
  }
}

.topInstances .sectionContainer_inner {
  -webkit-padding-after: 0;
          padding-block-end: 0;
}

.instancesContent {
  background-image: url(../img/bg_buildings.png);
  background-size: cover;
  background-position: center center;
  overflow-x: hidden;
}
.instancesContent_inner {
  max-width: calc(var(--width-max-content) + var(--width-wrapper-side-space) * 2);
  padding-inline: var(--width-wrapper-side-space);
  margin-inline: auto;
  padding: 20px 22px 60px;
}
@media print, screen and (min-width: 768px) {
  .instancesContent_inner {
    padding: 48px 21px 88px;
  }
}

.instancesTitle {
  font-size: 1.625rem;
  font-weight: var(--font-weight-base-bold);
}
@media print, screen and (min-width: 768px) {
  .instancesTitle {
    font-size: 2.25rem;
  }
}
.instancesTitle .-primary {
  display: inline-block;
  font-size: 2.5rem;
  font-family: var(--font-family-primary);
  font-weight: var(--font-weight-primary-semi-bold);
  line-height: 1.2;
  letter-spacing: -0.04em;
  -webkit-transform: translateY(2px);
          transform: translateY(2px);
}
@media print, screen and (min-width: 768px) {
  .instancesTitle .-primary {
    font-size: 3.25rem;
  }
}
.instancesTitle .-small {
  font-size: 1.5rem;
}
@media print, screen and (min-width: 768px) {
  .instancesTitle .-small {
    font-size: 2.25rem;
  }
}
.instancesTitle .-tiny {
  font-size: 1.125rem;
}
@media print, screen and (min-width: 768px) {
  .instancesTitle .-tiny {
    font-size: 1.875rem;
  }
}
.instancesTitle .-highlight {
  color: var(--color-purple);
}
.instancesTitle + * {
  margin-top: 14px;
}

.instancesSwiperContainer {
  position: relative;
}
@media print, screen and (max-width: 1069.98px) {
  .instancesSwiperContainer {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
  }
}
.instancesSwiperContainer .swiper-button-prev,
.instancesSwiperContainer .swiper-button-next {
  width: 22px;
  height: 50px;
}
.instancesSwiperContainer .swiper-button-prev {
  background-image: url(../img/icon_slider_arrow_left.svg);
  left: -12px;
  -webkit-transform: translateX(-100%);
          transform: translateX(-100%);
}
@media print, screen and (min-width: 768px) {
  .instancesSwiperContainer .swiper-button-prev {
    left: -20px;
  }
}
.instancesSwiperContainer .swiper-button-next {
  background-image: url(../img/icon_slider_arrow_right.svg);
  right: -12px;
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
}
@media print, screen and (min-width: 768px) {
  .instancesSwiperContainer .swiper-button-next {
    right: -20px;
  }
}
.instancesSwiperContainer .swiper-pagination {
  line-height: 1;
  bottom: -16px !important;
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
}
@media print, screen and (min-width: 768px) {
  .instancesSwiperContainer .swiper-pagination {
    bottom: -24px !important;
  }
}
.instancesSwiperContainer .swiper-pagination-bullet {
  width: 12px !important;
  height: 12px !important;
  background: transparent !important;
  border: 1px solid var(--color-deep-blue) !important;
  opacity: 1 !important;
}
.instancesSwiperContainer .swiper-pagination-bullet-active {
  background-color: var(--color-deep-blue) !important;
}

@media print, screen and (max-width: 1069.98px) {
  .instancesSwiper {
    width: 647px !important;
  }
}
@media print, screen and (max-width: 767.98px) {
  .instancesSwiper {
    width: 287px !important;
  }
}
.instancesSwiper .swiper-slide {
  height: auto !important;
}
.instancesSwiper .swiper-slide .caseItem {
  display: block;
  height: 100%;
}

.topScout_inner {
  padding-block: 48px;
}
@media print, screen and (min-width: 768px) {
  .topScout_inner {
    padding-block: 50px 48px;
  }
}
.topScout .basicTitle + * {
  margin-top: 32px;
}
.topScout .scoutBlock {
  margin-inline: auto;
}

.scoutBlock {
  max-width: 580px;
  background-color: var(--color-background-white);
}
.scoutBlock .button {
  max-width: 18.5625rem;
  width: 100%;
  margin-inline: auto;
}
@media print, screen and (min-width: 768px) {
  .scoutBlock .button {
    max-width: 20rem;
  }
}
.scoutBlock_top {
  background-color: var(--color-background-white);
  padding: 20px;
}
.scoutBlock_bottom {
  background-color: var(--color-background-light-blue);
  border-top: 1px solid #ccd3e0;
  padding: 24px 20px 20px;
}
.scoutBlock_bottom .smallTitle + * {
  margin-top: 12px;
}
.scoutBlock_bottom .smallText + * {
  margin-top: 16px;
}
.scoutBlock_bottom .logoList + * {
  margin-top: 28px;
}
@media print, screen and (min-width: 768px) {
  .scoutBlock_bottom .logoList + * {
    margin-top: 20px;
  }
}
@media print, screen and (max-width: 767.98px) {
  .scoutBlock_description {
    text-align: left;
  }
}

.logoList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-column-gap: 16px;
     -moz-column-gap: 16px;
          column-gap: 16px;
}

.topAbout {
  padding-block: 50px 44px;
}
@media print, screen and (min-width: 768px) {
  .topAbout {
    padding-block: 46px 48px;
  }
}

.topAbout_content {
  max-width: 100%;
  width: 578px;
}
.topAbout_content .contentTitle + * {
  margin-top: 10px;
}
.topAbout_content .contentSubTitle + * {
  margin-top: 2px;
}

/* =============================
MV インサートテキスト
================================ */

.mv {
  position: relative;
  z-index: -1;
}

.mv-txt {
  position: absolute;
  z-index: 1;
  font-size: 10vw;
  top: min(110px, 23vw);
  left: 10.6vw;
  color: #fff;
  font-weight: 600;
  line-height: 13vw;
  letter-spacing: -4px;
}

.insertTxt {
  font-size: 12vw;
  text-decoration: underline;
}

#mainContent-text1 {
  display: inline-block;
  margin-right: .3rem;
  font-size: min(66px, 10.8vw);
}

@media print, screen and (min-width: 768px) {
  .mv-txt {
    font-size: 4.6vw;
    margin-top: 8vw;
    left: 49.6vw;
    color: #fff;
    font-weight: 600;
    line-height: 5.6vw;
    letter-spacing: 1px;
  }
  .insertTxt {
    font-size: 5.4vw;
    text-decoration: underline;
  }
}