@charset "UTF-8";


*,
*::before,
*::after {
  margin: 0; /* マージンは0に */
  padding: 0; /* パディングも常に0に */
  -webkit-box-sizing: border-box;
          box-sizing: border-box; /* もちろん、より直感的なbox-sizingに設定 */
}

:where([hidden]:not([hidden=until-found])) {
  display: none !important; /* hiddenは非表示を意味します */
}

:where(html) {
  -webkit-text-size-adjust: none; /* iOSのランドスケープでテキストが調整されないようにする */
  /* ユーザーがダークテーマを好む場合、自動的にダークテーマになる */
}

@supports not (min-block-size: 100dvb) {
  :where(html) {
    block-size: 100%;
  }
}
@media (prefers-reduced-motion: no-preference) {
  :where(html:focus-within) {
    scroll-behavior: smooth; /* 何かにフォーカスがある場合のみスムーズスクロール */
  }
}
:where(body) {
  block-size: 100%; /* サファリ以外のブラウザのフォールバック */
  block-size: 100dvb; /* 1dvbは動的ビューポートの長さの1%、100dvbで高さいっぱいに */
  line-height: 1.5; /* アクセシブルな行の高さ */
  font-family: system-ui, sans-serif; /* timeの代わりにシステムフォントを使用 */
  -webkit-font-smoothing: antialiased; /* テキストのレンダリングを改善 */
}

:where(input, button, textarea, select) {
  font: inherit; /* フォーム コントロールは親フォントを継承 */
  color: inherit; /* カラーも継承 */
}

:where(textarea) {
  resize: vertical; /* テキストエリアの水平リサイズを無効に */
  resize: block;
}

:where(button, label, select, summary, [role=button], [role=option]) {
  cursor: pointer; /* インタラクティブなものにカーソルを合わせる */
}

:where(:disabled) {
  cursor: not-allowed; /* フォームコントロール無効時のカーソルを許可しない */
}

:where(label:has(> input:disabled), label:has(+ input:disabled)) {
  cursor: not-allowed; /* ラベルにもカーソルを許可しない */
}

:where(button) {
  border-style: solid; /* ボタンのボーダーのスタイルを設定しやすくする */
}

:where(a) {
  text-underline-offset: 0.2ex; /* 下線の上にスペースを追加する */
}

:where(ul, ol) {
  list-style: none; /* ビュレットを削除、必要に応じて手動で追加する */
}

:where(img, svg, video, canvas, audio, iframe, embed, object) {
  display: block; /* 置換された要素をより予測可能にする */
}

:where(img, picture, svg) {
  max-inline-size: 100%; /* images should never overflow past the available space */
  block-size: auto; /* アスペクト比を保持 */
}

:where(p, h1, h2, h3, h4, h5, h6) {
  overflow-wrap: break-word; /* 長い単語は改行 */
}

:where(h1, h2, h3) {
  line-height: calc(1em + 0.5rem); /* 見出しの行の高さを減らす */
}

:where(hr) { /* より一貫性のある、スタイリッシュなhr */
  border: none;
  -webkit-border-before: 1px solid;
          border-block-start: 1px solid;
  color: inherit;
  block-size: 0;
  overflow: visible;
}

:where(:focus-visible) { /* より一貫性のある、カスタマイズ可能なフォーカスのアウトライン */
  outline: 2px solid var(--focus-color, Highlight);
  outline-offset: 2px;
}

/* .visually-hiddenは後のカスケードレイヤーを上書きするために!importantを使用 */
:where(.visually-hidden:not(:focus, :active, :focus-within, .not-visually-hidden)) {
  -webkit-clip-path: inset(50%) !important;
          clip-path: inset(50%) !important;
  height: 1px !important;
  width: 1px !important;
  overflow: hidden !important;
  position: absolute !important;
  white-space: nowrap !important;
  border: 0 !important;
}

@media print, screen {
  :root {
    /* ==================== color ==================== */
    --color-key: #2E2E63;
    --color-yellow: #FFF845;
    --color-green: #C9C461;
    --color-blue-2: #9494B1;
  }
}
:root {
  --bg-color: #fff;
}

html {
  scroll-behavior: smooth;
}

body {
  overflow-x: clip;
  background-color: var(--bg-color);
  font-family: "Montserrat", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
  background-color: #fff;
}
body:not(.recruit) {
  background: linear-gradient(45deg, #d9d9e6 25%, transparent 25%, transparent 75%, #d9d9e6 75%), linear-gradient(45deg, #d9d9e6 25%, transparent 25%, transparent 75%, #d9d9e6 75%);
  background-color: #e5e5f2;
  background-size: 8px 8px;
  background-position: 0 0, 4px 4px;
}

.header-logo-mark {
  position: fixed;
  top: 13px;
  left: 45px;
  z-index: 2005;
  width: 93px;
}
@media screen and (max-width: 420px) {
  .header-logo-mark {
    width: 63px;
    top: 18px;
    left: 18px;
  }
}

.header-logo-type {
  position: fixed;
  top: 31px;
  left: 154px;
  z-index: 2005;
  mix-blend-mode: difference;
  width: 150px;
}
@media screen and (max-width: 420px) {
  .header-logo-type {
    width: 98px;
    top: 32px;
    left: 91px;
  }
}

.humberger-block {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 2005;
  width: 80px;
  height: 80px;
  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;
  cursor: pointer;
}
@media screen and (max-width: 960px) {
  .humberger-block {
    width: 70px;
    height: 70px;
  }
}
@media screen and (max-width: 420px) {
  .humberger-block {
    width: 60px;
    height: 60px;
  }
}
.humberger-block .after,
.humberger-block .before {
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transition: all 0.35s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: all 0.35s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.humberger-block .before {
  background-color: var(--color-green);
  z-index: 2;
}
.humberger-block .after {
  background-color: var(--color-key);
  z-index: 1;
}
.humberger-block .line {
  position: relative;
  z-index: 3;
  width: 30px;
  height: 16px;
}
.humberger-block .line .inner {
  display: block;
  width: 100%;
  height: 2px;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
}
.humberger-block .line .inner:after, .humberger-block .line .inner:before {
  display: block;
  content: "";
  width: 100%;
  height: 2px;
  border-radius: 100px;
  background-color: #fff;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transition: all 0.35s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: all 0.35s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.humberger-block .line:after, .humberger-block .line:before {
  display: block;
  content: "";
  width: 100%;
  height: 2px;
  border-radius: 100px;
  background-color: #fff;
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
  -webkit-transition: all 0.35s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: all 0.35s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.humberger-block .line:before {
  top: 0;
}
.humberger-block .line:after {
  bottom: 0;
}
.humberger-block.opend .line .inner:after {
  -webkit-transform: rotateZ(45deg);
      -ms-transform: rotate(45deg);
          transform: rotateZ(45deg);
}
.humberger-block.opend .line .inner:before {
  -webkit-transform: rotateZ(-45deg);
      -ms-transform: rotate(-45deg);
          transform: rotateZ(-45deg);
}
.humberger-block.opend .line:after, .humberger-block.opend .line:before {
  width: 0;
}

#mega_menu {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1500;
  -webkit-transform: translateX(-100%);
      -ms-transform: translateX(-100%);
          transform: translateX(-100%);
}
#mega_menu .mega-block {
  width: 64.3vw;
  height: 100dvh;
  padding-top: 10.4166666667vw;
  background-color: #25254f;
  position: relative;
  -webkit-transform: translateX(-100%);
      -ms-transform: translateX(-100%);
          transform: translateX(-100%);
  z-index: 2;
}
@media screen and (max-width: 960px) {
  #mega_menu .mega-block {
    padding-top: 15.625vw;
    width: 80vw;
  }
}
@media screen and (max-width: 480px) {
  #mega_menu .mega-block {
    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;
    padding-top: 0;
    width: 84.3vw;
  }
}
#mega_menu .mega-block .grid {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
#mega_menu .mega-block .grid span {
  border-left: 1px solid #30305c;
  height: 100%;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
#mega_menu .mega-block .grid span:first-child {
  border-right: none;
}
@media screen and (max-width: 960px) {
  #mega_menu .mega-block .grid span:nth-child(5) {
    display: none;
  }
}
@media screen and (max-width: 648px) {
  #mega_menu .mega-block .grid span:nth-child(4) {
    display: none;
  }
}
@media screen and (max-width: 480px) {
  #mega_menu .mega-block .grid span:first-child {
    width: 20%;
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
  }
}
#mega_menu .mega-block .sitemap-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-left: 20%;
  width: 100%;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 960px) {
  #mega_menu .mega-block .sitemap-wrap {
    margin-left: 25%;
  }
}
@media screen and (max-width: 648px) {
  #mega_menu .mega-block .sitemap-wrap {
    margin-left: 33.33%;
  }
}
@media screen and (max-width: 480px) {
  #mega_menu .mega-block .sitemap-wrap {
    margin-left: 20%;
    width: 80%;
  }
}
#mega_menu .mega-block .sitemap-wrap .nav-block {
  width: 20%;
}
@media screen and (max-width: 960px) {
  #mega_menu .mega-block .sitemap-wrap .nav-block {
    width: 25%;
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
  }
}
@media screen and (max-width: 480px) {
  #mega_menu .mega-block .sitemap-wrap .nav-block {
    width: 100%;
  }
}
@media screen and (max-width: 648px) {
  #mega_menu .mega-block .sitemap-wrap .nav-sub-block {
    display: none;
  }
}
#mega_menu .mega-block .sns-block {
  margin-top: 5.2083333333vw;
  position: relative;
  z-index: 2;
  margin-left: 20%;
  width: 100%;
}
@media screen and (max-width: 960px) {
  #mega_menu .mega-block .sns-block {
    margin-left: 25%;
  }
}
@media screen and (max-width: 648px) {
  #mega_menu .mega-block .sns-block {
    margin-left: 33.33%;
  }
}
@media screen and (max-width: 480px) {
  #mega_menu .mega-block .sns-block {
    display: none;
  }
}
#mega_menu .bg-block {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #25254f;
  opacity: 0.4;
}

.top .header-logo-mark,
.top .header-logo-type,
.top .local-menu-block,
.top .humberger-block {
  opacity: 0;
}

.recruit .humberger-block .line:before, .recruit .humberger-block .line:after {
  background-color: #2e2e63;
}
.recruit .humberger-block .line .inner:before, .recruit .humberger-block .line .inner:after {
  background-color: #2e2e63;
}
.recruit .humberger-block .before,
.recruit .humberger-block .after {
  background-color: transparent;
}
.recruit .humberger-block.opend .line:before, .recruit .humberger-block.opend .line:after {
  background-color: #fff;
}
.recruit .humberger-block.opend .line .inner:before, .recruit .humberger-block.opend .line .inner:after {
  background-color: #fff;
}

@media screen and (max-width: 960px) {
  .nav-block {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}
.nav-block ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 32px;
}
.nav-block a {
  display: inline-block;
  color: #fff;
  font-size: 16px;
  font-weight: 500;
  line-height: 100%;
  letter-spacing: 0.8px;
  text-decoration: none;
  -webkit-transition: all 0.35s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: all 0.35s cubic-bezier(0.215, 0.61, 0.355, 1);
}
@media (hover: hover) {
  .nav-block a:hover {
    text-decoration: underline;
  }
}
.nav-block li > ul {
  gap: 10px;
  margin-top: 20px;
}
.nav-block li > ul a {
  display: inline-block;
  position: relative;
  color: #d4d4eb;
  font-size: 14px;
  font-weight: 500;
  line-height: 100%;
  letter-spacing: 0.7px;
  line-height: 150%;
  padding-left: 30px;
  padding-right: 20px;
}
.nav-block li > ul a:before {
  display: block;
  content: "";
  width: 7px;
  height: 1px;
  background-color: #d4d4eb;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}

.nav-sub-block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 35px;
  width: 187px;
}
@media screen and (max-width: 960px) {
  .nav-sub-block {
    width: 187px;
  }
}
@media screen and (max-width: 420px) {
  .nav-sub-block {
    width: 100%;
    gap: 41px;
  }
}

.nav-sub-box header {
  display: block;
}
.nav-sub-box h3 {
  display: inline-block;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  line-height: 100%;
  letter-spacing: 0.8px;
  border-bottom: 1px solid #fff;
  padding-bottom: 10px;
  -webkit-transition: all 0.35s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: all 0.35s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.nav-sub-box ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 22px;
  margin-top: 30px;
}
@media screen and (max-width: 420px) {
  .nav-sub-box ul {
    gap: 17px;
    margin-top: 25px;
  }
}
.nav-sub-box ul a {
  display: inline-block;
  position: relative;
  color: #d4d4eb;
  font-size: 14px;
  font-weight: 700;
  line-height: 150%;
  letter-spacing: 0.7px;
  padding-left: 18px;
  text-decoration: none;
  -webkit-transition: all 0.35s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: all 0.35s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.nav-sub-box ul a:before {
  display: block;
  content: "";
  width: 7px;
  height: 1px;
  background-color: #d4d4eb;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}
@media (hover: hover) {
  .nav-sub-box ul a:hover {
    text-decoration: underline;
  }
}

.sns-block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 16px;
}
@media screen and (max-width: 420px) {
  .sns-block {
    margin-top: 37px;
  }
}
.sns-block a {
  display: block;
  width: 45px;
  height: 45px;
  opacity: 0;
}

.breadcrumb {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
  padding-left: 54px;
  padding-bottom: 40px;
  width: 100%;
  overflow: hidden;
}
@media screen and (max-width: 420px) {
  .breadcrumb {
    display: none;
  }
}
@media screen and (max-width: 959px) {
  .breadcrumb {
    display: none;
  }
}
.breadcrumb ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 38px;
}
.breadcrumb ul li {
  position: relative;
  font-family: "Poppins";
  font-size: 14px;
  color: #fff;
  font-weight: 500;
  line-height: 100%;
  letter-spacing: 1.4px;
  white-space: nowrap;
}
.breadcrumb ul li:not(:first-child)::before {
  position: absolute;
  content: "";
  top: 50%;
  right: calc(100% + 16px);
  width: 5px;
  height: 8px;
  background-image: url("../img/common/ico_breadcrumb_arrow.svg");
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
}
.breadcrumb ul li a {
  font-family: "Poppins";
  font-size: 14px;
  color: #fff;
  font-weight: 500;
  line-height: 100%;
  letter-spacing: 1.4px;
  text-decoration: none;
  -webkit-transition: all 0.35s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: all 0.35s cubic-bezier(0.215, 0.61, 0.355, 1);
}
@media (hover: hover) {
  .breadcrumb ul li a:hover {
    text-decoration: underline;
  }
}

.recruit .breadcrumb {
  width: 100%;
  max-width: 1374px;
  padding: 0 80px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  margin-top: 56px;
}
@media screen and (max-width: 960px) {
  .recruit .breadcrumb {
    max-width: calc(1334px + 6%);
    padding: 0 3%;
  }
}
@media screen and (max-width: 959px) {
  .recruit .breadcrumb {
    display: block;
  }
}
@media screen and (max-width: 960px) {
  .recruit .breadcrumb {
    margin-top: 46px;
  }
}
@media screen and (max-width: 420px) {
  .recruit .breadcrumb {
    display: block;
    width: 100%;
    max-width: 390px;
    padding: 0 80px;
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (max-width: 420px) and (max-width: 960px) {
  .recruit .breadcrumb {
    max-width: calc(350px + 6%);
    padding: 0 3%;
  }
}
.recruit .breadcrumb ul li {
  color: #2F2F3B;
}
.recruit .breadcrumb ul li:not(:first-child)::before {
  background-image: url("../img/common/ico_breadcrumb_arrow_black.svg");
}
.recruit .breadcrumb ul li a {
  color: #2F2F3B;
}

.site-footer {
  padding-top: 112px;
  padding-bottom: 70px;
}
@media screen and (max-width: 960px) {
  .site-footer {
    padding-top: 122px;
    padding-bottom: 47px;
  }
}
@media screen and (max-width: 420px) {
  .site-footer {
    padding-top: 70px;
    padding-bottom: 47px;
  }
}
.site-footer .footer-inner {
  width: 100%;
  max-width: 1240px;
  padding: 0 80px;
  margin-left: auto;
  margin-right: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 960px) {
  .site-footer .footer-inner {
    max-width: calc(1200px + 6%);
    padding: 0 3%;
  }
}
@media screen and (max-width: 960px) {
  .site-footer .footer-inner {
    width: 100%;
    max-width: 453px;
    padding: 0 80px;
    margin-left: auto;
    margin-right: auto;
    -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;
  }
}
@media screen and (max-width: 960px) and (max-width: 960px) {
  .site-footer .footer-inner {
    max-width: calc(413px + 6%);
    padding: 0 3%;
  }
}
@media screen and (max-width: 420px) {
  .site-footer .footer-inner {
    width: 100%;
    max-width: 1040px;
    padding: 0 80px;
    margin-left: auto;
    margin-right: auto;
    -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;
  }
}
@media screen and (max-width: 420px) and (max-width: 960px) {
  .site-footer .footer-inner {
    max-width: calc(1000px + 20%);
    padding: 0 10%;
  }
}
.site-footer .footer-inner .sitemap-block header h2 {
  color: #9a9abc;
  font-family: "Montserrat";
  font-size: 11px;
  font-weight: 700;
  line-height: 150%;
  letter-spacing: 3.3px;
  text-transform: uppercase;
  border-bottom: 1px solid #9a9abc;
  padding-bottom: 13px;
}
@media screen and (max-width: 420px) {
  .site-footer .footer-inner .sitemap-block header h2 {
    padding-bottom: 11px;
  }
}
.site-footer .footer-inner .sitemap-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 54px;
  gap: 105px;
}
@media screen and (max-width: 960px) {
  .site-footer .footer-inner .sitemap-wrap {
    gap: 0;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
@media screen and (max-width: 420px) {
  .site-footer .footer-inner .sitemap-wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    margin-top: 45px;
    gap: 39px;
  }
}
.site-footer .footer-inner .sitemap-wrap .animate-mask > * {
  opacity: 1;
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0);
}
.site-footer .footer-inner .info-block {
  margin-top: 5px;
}
@media screen and (max-width: 960px) {
  .site-footer .footer-inner .info-block {
    margin-top: 113px;
  }
}
@media screen and (max-width: 420px) {
  .site-footer .footer-inner .info-block {
    margin-top: 103px;
  }
}
.site-footer .footer-inner .info-block .logo-block {
  width: 358px;
}
@media screen and (max-width: 420px) {
  .site-footer .footer-inner .info-block .logo-block {
    width: 310px;
  }
}
.site-footer .footer-inner .info-block .address-block {
  margin-top: 25px;
  color: #fff;
  font-size: 16px;
  font-weight: 400;
  line-height: 30px;
  letter-spacing: 0.8px;
}
@media screen and (max-width: 420px) {
  .site-footer .footer-inner .info-block .address-block {
    margin-top: 37px;
  }
}
.site-footer .footer-inner .info-block .sns-block {
  margin-top: 40px;
}
.site-footer .footer-inner .info-block .sns-block .animate-mask > * {
  opacity: 1;
  -webkit-transform: translateX(0);
      -ms-transform: translateX(0);
          transform: translateX(0);
}
.site-footer .footer-inner .info-block .inquiry-block {
  margin-top: 110px;
}
@media screen and (max-width: 960px) {
  .site-footer .footer-inner .info-block .inquiry-block {
    margin-top: 60px;
  }
}
@media screen and (max-width: 420px) {
  .site-footer .footer-inner .info-block .inquiry-block {
    margin-top: 80px;
  }
}
.site-footer .footer-inner .info-block .inquiry-block .button-set {
  width: 330px;
}
@media screen and (max-width: 420px) {
  .site-footer .footer-inner .info-block .inquiry-block .button-set {
    width: 310px;
  }
}
.site-footer .footer-sub-block {
  margin-top: 120px;
  padding: 4.6875vw 0;
  background-image: url(../img/common/footer/bg_footer.jpg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
@media screen and (max-width: 960px) {
  .site-footer .footer-sub-block {
    margin-top: 143px;
    padding: 8.75vw 0 5.8333333333vw;
  }
}
@media screen and (max-width: 420px) {
  .site-footer .footer-sub-block {
    margin-top: 126px;
    padding: 40.15vw 6.2vw 9.7vw;
  }
}
.site-footer .footer-sub-block .footer-sub-block-inner {
  max-width: 83.3333333333vw;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 40px;
}
@media screen and (max-width: 960px) {
  .site-footer .footer-sub-block .footer-sub-block-inner {
    max-width: 85.4166666667vw;
  }
}
@media screen and (max-width: 420px) {
  .site-footer .footer-sub-block .footer-sub-block-inner {
    max-width: 100%;
    gap: 21px;
  }
}
.site-footer .footer-sub-block .footer-sub-block-inner span {
  display: block;
  position: relative;
}
.site-footer .footer-sub-block .footer-sub-block-inner span.sub-block-txt1, .site-footer .footer-sub-block .footer-sub-block-inner span.sub-block-txt2 {
  width: 53.4375vw;
}
@media screen and (max-width: 420px) {
  .site-footer .footer-sub-block .footer-sub-block-inner span.sub-block-txt1, .site-footer .footer-sub-block .footer-sub-block-inner span.sub-block-txt2 {
    width: 100%;
  }
}

.pagetop-block {
  position: fixed;
  right: 0;
  bottom: 0;
  z-index: 3000;
  opacity: 0;
  -webkit-transition: all 0.35s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: all 0.35s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.pagetop-block.active {
  opacity: 1;
}
.pagetop-block a {
  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;
  width: 81px;
  height: 61px;
  border: 1px solid var(--color-key);
  border-bottom: none;
  border-right: none;
  background-color: #fff;
  -webkit-transition: all 0.35s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: all 0.35s cubic-bezier(0.215, 0.61, 0.355, 1);
}
@media screen and (max-width: 420px) {
  .pagetop-block a {
    width: 60px;
  }
}
.pagetop-block a img {
  -webkit-transition: all 0.35s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: all 0.35s cubic-bezier(0.215, 0.61, 0.355, 1);
}
@media (hover: hover) {
  .pagetop-block a:hover img {
    -webkit-transform: translateY(-6px);
        -ms-transform: translateY(-6px);
            transform: translateY(-6px);
  }
}

@media screen and (max-width: 420px) {
  .is--pc {
    display: none;
  }
}

@media screen and (min-width: 961px) {
  .is--sp {
    display: none;
  }
}

.bg-dot-blue {
  background: linear-gradient(45deg, #27244e 25%, transparent 25%, transparent 75%, #27244e 75%), linear-gradient(45deg, #27244e 25%, transparent 25%, transparent 75%, #27244e 75%);
  background-color: #2f2d61;
  background-size: 8px 8px;
  background-position: 0 0, 4px 4px;
}

.bg-dot-blue2 {
  background: linear-gradient(45deg, #d3d4e0 25%, transparent 25%, transparent 75%, #d3d4e0 75%), linear-gradient(45deg, #d3d4e0 25%, transparent 25%, transparent 75%, #d3d4e0 75%);
  background-color: #e0e1ed;
  background-size: 8px 8px;
  background-position: 0 0, 4px 4px;
}

.bg-dot-green {
  background: linear-gradient(45deg, #0f421a 25%, transparent 25%, transparent 75%, #0f421a 75%), linear-gradient(45deg, #0f421a 25%, transparent 25%, transparent 75%, #0f421a 75%);
  background-color: #2f2d61;
  background-size: 8px 8px;
  background-position: 0 0, 4px 4px;
}

.local-menu-block {
  background-color: var(--color-key);
  padding: 30px 85px 26px 70px;
  position: absolute;
  top: 0;
  right: 80px;
  z-index: 2001;
}
@media screen and (max-width: 960px) {
  .local-menu-block {
    display: none;
  }
}
.local-menu-block .local-menu-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.local-menu-block .local-menu-item {
  position: relative;
  padding-left: 29px;
  padding-right: 27px;
}
.local-menu-block .local-menu-item:before {
  display: block;
  content: "";
  width: 1px;
  height: 16px;
  background-color: #fff;
  position: absolute;
  top: 2px;
  left: -2px;
}
.local-menu-block .local-menu-item:last-child {
  padding-right: 0;
}
.local-menu-block .local-menu-link {
  text-decoration: none;
  color: #fff;
  font-size: 16px;
  font-weight: 500;
  line-height: 100%;
  letter-spacing: 4.8px;
  text-underline-offset: 4px;
  -webkit-transition: all 0.35s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: all 0.35s cubic-bezier(0.215, 0.61, 0.355, 1);
}
@media (hover: hover) {
  .local-menu-block .local-menu-link:hover {
    text-decoration: underline;
  }
}

.button-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  min-width: 330px;
  border-radius: 4px;
  border: 1px solid #2e2e63;
  background: #2e2e63;
  padding: 26px 36px 22px 35px;
  text-decoration: none;
  position: relative;
  overflow: hidden;
  -webkit-transition: all 0.35s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: all 0.35s cubic-bezier(0.215, 0.61, 0.355, 1);
}
@media screen and (max-width: 960px) {
  .button-link {
    padding: 15px 26px 13px 26px;
    min-width: 220px;
  }
}
@media screen and (max-width: 420px) {
  .button-link {
    min-width: 260px;
    border-radius: 4px;
    padding: 20px 29px 17px;
  }
}
.button-link .button-link-txt {
  color: #fff;
  text-align: center;
  font-size: 18px;
  font-weight: 700;
  line-height: 150%;
  letter-spacing: 5.4px;
  position: relative;
  z-index: 1;
  -webkit-transition: all 0.35s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: all 0.35s cubic-bezier(0.215, 0.61, 0.355, 1);
}
@media screen and (max-width: 960px) {
  .button-link .button-link-txt {
    font-size: 13px;
  }
}
@media screen and (max-width: 420px) {
  .button-link .button-link-txt {
    font-size: 14px;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    text-align: left;
  }
}
.button-link .button-link-arrow {
  position: relative;
  top: -2px;
  z-index: 1;
  -webkit-transition: all 0.35s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: all 0.35s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.button-link .button-link-arrow path {
  stroke: #fff;
  -webkit-transition: all 0.35s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: all 0.35s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.button-link:before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  background: var(--color-green);
  -webkit-transform-origin: 100% 50%;
      -ms-transform-origin: 100% 50%;
          transform-origin: 100% 50%;
  -webkit-transform: scaleX(0);
      -ms-transform: scaleX(0);
          transform: scaleX(0);
  -webkit-transition: -webkit-transform 0.35s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: -webkit-transform 0.35s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: transform 0.35s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: transform 0.35s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.35s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.button-link.is-yellow {
  border: 1px solid #9494b1;
  background: #fff845;
}
.button-link.is-yellow .button-link-txt {
  color: #2e2e63;
}
.button-link.is-yellow .button-link-arrow path {
  stroke: #2e2e63;
}
.button-link.is-yellow:before {
  background: #2e2e63;
}
.button-link.is-yellow2 {
  border: 1px solid #9494b1;
  background: #fffa7f;
}
.button-link.is-yellow2 .button-link-txt {
  color: #2e2e63;
}
.button-link.is-yellow2 .button-link-arrow path {
  stroke: #2e2e63;
}
.button-link.is-yellow2:before {
  background: #2e2e63;
}
.button-link.is-white {
  border: 1px solid #9494b1;
  background: #fff;
}
.button-link.is-white .button-link-txt {
  color: #2e2e63;
}
.button-link.is-white .button-link-arrow path {
  stroke: #2e2e63;
}
.button-link.is-white:before {
  background: #2e2e63;
}
.button-link.is-blue-orange:before {
  background: #e37928;
}
.button-link.is-transparent {
  border: 1px solid #fff;
  background: transparent;
}
.button-link.is-transparent .button-link-txt {
  color: #fff;
}
.button-link.is-transparent .button-link-arrow path {
  stroke: #fff;
}
.button-link.is-transparent:before {
  background: var(--color-key);
}
.button-link.is-back {
  background: #fff;
  min-width: 270px;
}
@media screen and (max-width: 420px) {
  .button-link.is-back {
    min-width: 232px;
  }
}
.button-link.is-back .button-link-txt {
  color: var(--color-key);
}
.button-link.is-back .icon {
  position: relative;
  z-index: 2;
}
.button-link.is-back .icon path {
  -webkit-transition: all 0.35s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: all 0.35s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.button-link.is-back:before {
  background: var(--color-key);
}
.button-link.is-simple {
  background: #fff;
  min-width: auto;
  padding: 0;
  border: none;
  gap: 20px;
}
.button-link.is-simple:before {
  display: none;
}
.button-link.is-simple .button-link-txt {
  color: var(--color-key);
  font-size: 16px;
}
@media screen and (max-width: 420px) {
  .button-link.is-simple .button-link-txt {
    font-size: 14px;
  }
}
.button-link.is-simple .icon {
  position: relative;
  z-index: 2;
}
.button-link.is-simple .icon path {
  -webkit-transition: all 0.35s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: all 0.35s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.button-link.is-simple:before {
  background: var(--color-key);
}
.button-link.is-disabled {
  background: #ddd;
  border: 1px solid #ddd;
  pointer-events: none;
}
.button-link.is-disabled .button-link-txt {
  color: #999;
}
.button-link.is-disabled .button-link-arrow {
  position: relative;
  z-index: 2;
}
.button-link.is-disabled .button-link-arrow path {
  stroke: #999;
}
.button-link.is-disabled:before {
  background: var(--color-key);
}
@media (hover: hover) {
  .button-link:hover .button-link-txt {
    color: #fff;
  }
  .button-link:hover .button-link-arrow path {
    stroke: #fff;
  }
  .button-link:hover:before {
    -webkit-transform-origin: 0% 50%;
        -ms-transform-origin: 0% 50%;
            transform-origin: 0% 50%;
    -webkit-transform: scaleX(1);
        -ms-transform: scaleX(1);
            transform: scaleX(1);
  }
  .button-link:hover.is-transparent .button-link-txt {
    color: #fff;
  }
  .button-link:hover.is-transparent .button-link-arrow path {
    stroke: #fff;
  }
  .button-link:hover.is-transparent:before {
    background: var(--color-key);
  }
  .button-link:hover.is-back path {
    fill: #fff;
  }
  .button-link:hover.is-simple {
    opacity: 0.6;
  }
  .button-link:hover.is-simple .button-link-txt {
    color: var(--color-key);
  }
}

.animate-mask {
  overflow: hidden;
}
.animate-mask > * {
  opacity: 0;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  -webkit-perspective: 1000;
          perspective: 1000;
}

.firstview {
  position: relative;
}
.firstview .section-inner {
  height: 100%;
}
.firstview .section-inner .section-header {
  position: relative;
  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;
  height: 100%;
  min-height: 414px;
  text-align: center;
}
.firstview .section-inner .section-header .title-block {
  position: relative;
  margin-top: 54px;
  z-index: 2;
}
.firstview .section-inner .section-header .title-block .en {
  display: inline-block;
  color: #fff;
  font-family: "Montserrat";
  font-size: 13px;
  font-weight: 700;
  line-height: 150%;
  letter-spacing: 6.5px;
  text-transform: uppercase;
  border-bottom: 1px solid #a5a267;
  padding-bottom: 14px;
}
.firstview .section-inner .section-header .title-block .jp {
  margin-top: 29px;
  color: #fff;
  font-size: clamp(30px, 3vw + 0.2rem, 48px);
  font-weight: 400;
  line-height: 150%;
  letter-spacing: 24px;
  text-indent: 0.5em;
}
@media screen and (max-width: 420px) {
  .firstview .section-inner .section-header .title-block .jp {
    letter-spacing: 15px;
  }
}

.firstview-recruit {
  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;
  height: 285px;
  position: relative;
  margin-top: 135px;
}
@media screen and (max-width: 960px) {
  .firstview-recruit {
    height: 190px;
    margin-top: 143px;
  }
}
@media screen and (max-width: 420px) {
  .firstview-recruit {
    height: 120px;
    margin-top: 123px;
  }
}
.firstview-recruit:before {
  display: block;
  content: "";
}
.firstview-recruit:before {
  position: absolute;
  top: 50%;
  left: 0;
  z-index: 2;
  width: 100%;
  height: 180px;
  background: linear-gradient(89deg, #ff740c -4.61%, #e1690f -4.59%, #ffa25c 108.57%);
  -webkit-transform: translateY(-50%) skewY(-4deg);
      -ms-transform: translateY(-50%) skewY(-4deg);
          transform: translateY(-50%) skewY(-4deg);
}
@media screen and (max-width: 960px) {
  .firstview-recruit:before {
    height: 120px;
  }
}
@media screen and (max-width: 420px) {
  .firstview-recruit:before {
    top: calc(50% - 4px);
    height: 80px;
  }
}
.firstview-recruit .frame:before, .firstview-recruit .frame:after {
  position: absolute;
  display: block;
  content: "";
  z-index: 1;
  width: 55%;
  height: 53px;
  -webkit-transform: skewY(7deg);
      -ms-transform: skewY(7deg);
          transform: skewY(7deg);
}
@media screen and (max-width: 960px) {
  .firstview-recruit .frame:before, .firstview-recruit .frame:after {
    height: 36px;
  }
}
@media screen and (max-width: 420px) {
  .firstview-recruit .frame:before, .firstview-recruit .frame:after {
    height: 19px;
    -webkit-transform: skewY(15deg);
        -ms-transform: skewY(15deg);
            transform: skewY(15deg);
  }
}
.firstview-recruit .frame:before {
  bottom: 52px;
  right: 0;
  background: linear-gradient(89deg, #ce3100 -16.66%, #e37928 94.23%);
}
@media screen and (max-width: 960px) {
  .firstview-recruit .frame:before {
    bottom: 32px;
  }
}
@media screen and (max-width: 420px) {
  .firstview-recruit .frame:before {
    bottom: 23px;
  }
}
.firstview-recruit .frame:after {
  top: 60px;
  left: 0;
  background: linear-gradient(89deg, #ce3100 -16.66%, #e37928 94.23%);
}
@media screen and (max-width: 960px) {
  .firstview-recruit .frame:after {
    top: 37px;
  }
}
@media screen and (max-width: 420px) {
  .firstview-recruit .frame:after {
    top: 11px;
  }
}
.firstview-recruit .firstview-title {
  color: #fff;
  -webkit-font-feature-settings: "palt" on;
          font-feature-settings: "palt" on;
  font-size: clamp(22px, 2.75vw + 0.2rem, 44px);
  font-weight: 700;
  line-height: 40px; /* 90.909% */
  letter-spacing: 11px;
  position: relative;
  z-index: 3;
}
@media screen and (max-width: 960px) {
  .firstview-recruit .firstview-title {
    letter-spacing: 9px;
  }
}
@media screen and (max-width: 420px) {
  .firstview-recruit .firstview-title {
    letter-spacing: 5.5px;
  }
}

@media screen and (max-width: 420px) {
  .sec-title span {
    display: none;
  }
}

.category-select {
  width: 200px;
  border-radius: 4px;
  background-color: #f3f3f8;
  position: relative;
}
@media screen and (max-width: 750px) {
  .category-select {
    width: auto;
  }
}
.category-select select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: transparent;
  border: none;
  padding: 12px 22px;
  width: 100%;
  outline: none;
  font-size: clamp(13px, 1vw + 0.2rem, 16px);
}
@media screen and (max-width: 750px) {
  .category-select select {
    padding: 14px 12px;
  }
}
.category-select option {
  color: #2e2e63;
  font-family: "Montserrat";
  font-size: clamp(13px, 1vw + 0.2rem, 16px);
  font-style: normal;
  font-weight: 500;
  line-height: 30px; /* 187.5% */
  letter-spacing: 1.6px;
}
.category-select .icon-select {
  position: absolute;
  top: 50%;
  right: 22px;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  pointer-events: none;
}
@media screen and (max-width: 750px) {
  .category-select .icon-select {
    right: 8px;
  }
}

.ui-select {
  display: none !important;
  border-radius: 4px;
  border: 1px solid var(--color-key);
  background-color: #fff;
}

@media screen and (max-width: 750px) {
  .ui-list {
    display: none !important;
  }
  .ui-select {
    display: block !important;
  }
}
.sec-area {
  width: 100%;
  max-width: 1320px;
  padding: 0 80px;
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;
}
@media screen and (max-width: 960px) {
  .sec-area {
    max-width: calc(1280px + 6%);
    padding: 0 3%;
  }
}
@media screen and (max-width: 420px) {
  .sec-area {
    width: 100%;
    max-width: 390px;
    padding: 0 80px;
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (max-width: 420px) and (max-width: 960px) {
  .sec-area {
    max-width: calc(350px + 6%);
    padding: 0 3%;
  }
}
.sec-area .sec-wrap {
  background-color: #fff;
  padding: 123px 0 80px;
}
@media screen and (max-width: 420px) {
  .sec-area .sec-wrap {
    padding: 61px 0 40px;
  }
}
.sec-area .sec-header,
.sec-area .sec-body {
  width: 100%;
  max-width: calc(700px + 6%);
  padding: 0 3%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 960px) {
  .sec-area .sec-header,
  .sec-area .sec-body {
    max-width: calc(700px + 6%);
    padding: 0 3%;
  }
}
@media screen and (max-width: 420px) {
  .sec-area .sec-header,
  .sec-area .sec-body {
    width: 100%;
    max-width: 340px;
    padding: 0 80px;
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (max-width: 420px) and (max-width: 960px) {
  .sec-area .sec-header,
  .sec-area .sec-body {
    max-width: calc(300px + 6%);
    padding: 0 3%;
  }
}
.sec-area .sec-title {
  color: #2e2e63;
  -webkit-font-feature-settings: "palt" on;
          font-feature-settings: "palt" on;
  font-size: clamp(24px, 1.875vw + 0.2rem, 30px);
  font-style: normal;
  font-weight: 500;
  line-height: 170%; /* 51px */
  letter-spacing: 4.5px;
  border-bottom: 1px solid #cacad9;
  padding-bottom: 10px;
}
.sec-area .sec-body {
  margin-top: 61px;
}
.sec-area .sec-body p {
  color: #2f2f3b;
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 230%; /* 36.8px */
  letter-spacing: 0.8px;
}
.sec-area .button-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 80px;
}

/*
 * 採用CTA
 *********************/
.cta-area {
  width: 100%;
  max-width: 1440px;
  padding: 0 70px 123px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .cta-area {
    padding: 0 5% 40px;
  }
}
.cta-area .cta-inner {
  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-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: linear-gradient(80deg, #ce3100 -11.05%, #e37928 114.03%);
  min-height: 716px;
  position: relative;
  padding-top: 175px;
}
@media screen and (max-width: 768px) {
  .cta-area .cta-inner {
    padding: 62px 20px 79px;
    min-height: 200px;
  }
}
.cta-area .cta-inner:before {
  display: block;
  content: "";
  opacity: 0.9;
  width: 140px;
  aspect-ratio: 140/693;
  background-image: url(../img/recruit/top/footer_txt.svg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  position: absolute;
  top: 10px;
  left: 0;
}
@media screen and (max-width: 960px) {
  .cta-area .cta-inner:before {
    width: 100px;
  }
}
@media screen and (max-width: 420px) {
  .cta-area .cta-inner:before {
    width: 70px;
  }
}
.cta-area .cta-inner:after {
  display: block;
  content: "";
  background-color: #ce3100;
  height: 67px;
  width: 608px;
  -webkit-clip-path: polygon(100% 0, 100% 100%, 0 100%);
          clip-path: polygon(100% 0, 100% 100%, 0 100%);
  position: absolute;
  bottom: 0;
  right: 0;
}
@media screen and (max-width: 750px) {
  .cta-area .cta-inner:after {
    height: 36px;
    width: 60%;
  }
}
@media screen and (max-width: 768px) {
  .cta-area .cta-inner:after {
    height: 24px;
    width: 208px;
  }
}
@media screen and (max-width: 768px) {
  .cta-area .cta-body {
    padding: 0 10px;
    width: 100%;
  }
}
.cta-area .cta-title {
  color: #fff;
  font-size: clamp(32px, 3vw + 0.2rem, 48px);
  font-weight: 700;
  letter-spacing: 4.8px;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .cta-area .cta-title {
    text-align: center;
    line-height: 1.5;
    letter-spacing: 3.2px;
  }
}
.cta-area .cta-lead {
  margin-top: 43px;
  color: #fff;
  font-size: clamp(16px, 1.5vw + 0.2rem, 24px);
  font-weight: 500;
  line-height: 40px; /* 166.667% */
  letter-spacing: 1.2px;
  text-align: center;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .cta-area .cta-lead {
    margin-top: 27px;
    line-height: 180%; /* 28.8px */
    letter-spacing: 0.8px;
  }
}
.cta-area .button-set {
  margin-top: 88px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 51px;
}
@media screen and (max-width: 768px) {
  .cta-area .button-set {
    margin-top: 58px;
    gap: 41px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .cta-area .button-set .button-link {
    width: 260px;
  }
}

.pagerArea {
  width: 100%;
  max-width: 990px;
  padding: 0 80px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 70px;
}
@media screen and (max-width: 960px) {
  .pagerArea {
    max-width: calc(950px + 6%);
    padding: 0 3%;
  }
}
@media screen and (max-width: 420px) {
  .pagerArea {
    width: 100%;
    max-width: 340px;
    padding: 0 80px;
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (max-width: 420px) and (max-width: 960px) {
  .pagerArea {
    max-width: calc(300px + 6%);
    padding: 0 3%;
  }
}
.pagerArea #pager {
  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;
  gap: 0 20px;
}
@media screen and (max-width: 420px) {
  .pagerArea #pager {
    gap: 0 10px;
  }
}
.pagerArea .page-numbers:not(.next):not(.prev) {
  width: 50px;
  height: 50px;
  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: #fff;
  font-family: "Montserrat";
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 30px; /* 187.5% */
  letter-spacing: 1.6px;
  border: 1px solid var(--color-key);
  background-color: #fff;
  border-radius: 4px;
  color: #000;
  text-decoration: none;
  -webkit-transition: all 0.35s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: all 0.35s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.pagerArea .page-numbers:not(.next):not(.prev).current {
  background-color: var(--color-key);
  color: #fff;
}
@media screen and (max-width: 420px) {
  .pagerArea .page-numbers:not(.next):not(.prev) {
    width: 36px;
    height: 36px;
    font-size: 14px;
    line-height: 100%; /* 14px */
    letter-spacing: 1.4px;
  }
}
@media (hover: hover) {
  .pagerArea .page-numbers:not(.next):not(.prev):hover {
    background-color: var(--color-key);
    color: #fff;
  }
}
.pagerArea .next:before,
.pagerArea .prev:before {
  display: block;
  content: "";
  width: 7px;
  height: 7px;
  border-top: solid 1px var(--color-key);
  border-right: solid 1px var(--color-key);
}
.pagerArea .prev:before {
  -webkit-transform: rotate(-135deg);
      -ms-transform: rotate(-135deg);
          transform: rotate(-135deg);
}
.pagerArea .next:before {
  -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
          transform: rotate(45deg);
}