@charset "UTF-8";
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

body {
  line-height: 1;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

nav ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

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

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

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

svg,
img {
  max-width: 100%;
  vertical-align: middle;
}

li {
  list-style: none;
}

h1, h2, h3, h4, h5, h6, th, dt {
  font-weight: inherit;
}

article, main, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, picture {
  display: block;
}

:root {
  --color: #333;
  --color-inverse: #fff;
  --color-assort-dark: #1e355a;
  --color-assort: #006cb7;
  --color-accent: #ffff1a;
  --header-height: 5rem;
  --breackpoint-md: 768px;
  --gap: 0.75rem;
  --padding-section: 6.75rem;
  --padding-page: 16.625rem;
}
@media screen and (min-width: 1024px) {
  :root {
    --header-height: 7.5rem;
  }
}
@media screen and (min-width: 1024px) {
  :root {
    --gap: 1rem;
    --padding-section: 10.25rem;
    --padding-page: 24.5rem;
  }
}

.is-section-dark,
.is-nav-open {
  --color: #fff;
}

/*----------------------------------------------------
	フォーム
----------------------------------------------------*/
[hidden] {
  display: none !important;
}

[disabled] {
  cursor: not-allowed;
}

:focus:not(:focus-visible) {
  outline: none;
}

.sr-only {
  position: absolute;
  clip: rect(1px, 1px, 1px, 1px);
  left: -9999px;
  top: -9999px;
}

input,
select,
label {
  vertical-align: middle;
  color: #333;
}

[type=text] {
  line-height: normal;
}

input[type=text],
input[type=email],
input[type=tel],
button {
  -webkit-appearance: none;
  padding: 0;
  border: none;
  border-radius: 0;
  outline: none;
  background: none;
  color: #333;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
}

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

textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  resize: none;
  padding: 0;
  border: 0;
  border-radius: 0;
  outline: none;
  background: transparent;
}

*:focus {
  outline: none;
}

/*----------------------------------------------------
	フォント
----------------------------------------------------*/
html {
  font-size: 16px;
}
@media screen and (max-width: 640px) {
  html {
    font-size: 4.1025641026vw;
  }
}
@media screen and (min-width: 641px) and (max-width: 1023px) {
  html {
    font-size: 2.1333333333vw;
  }
}
@media screen and (min-width: 1024px) {
  html {
    font-size: 1.1111111111vw;
  }
}
@media screen and (min-width: 1921px) {
  html {
    font-size: 21.3333333333px;
  }
}

body {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
     -moz-text-size-adjust: 100%;
      -ms-text-size-adjust: 100%;
          text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  word-wrap: break-word;
  color: #333;
}

.serif {
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "HG明朝E", "ＭＳ 明朝", serif;
}

/*----------------------------------------------------
	レスポンシブ
----------------------------------------------------*/
@media screen and (min-width: 641px) {
  .sp {
    display: none;
  }
}

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

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

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

@media screen and (max-width: 640px) {
  .tab {
    display: none;
  }
}
@media screen and (min-width: 1024px) {
  .tab {
    display: none;
  }
}

/*----------------------------------------------------
	リンク
----------------------------------------------------*/
a {
  color: #333;
  text-decoration: none;
  -webkit-transition: color 0.3s cubic-bezier(0.37, 0, 0.63, 1), background 0.3s cubic-bezier(0.37, 0, 0.63, 1), border 0.3s cubic-bezier(0.37, 0, 0.63, 1), -webkit-box-shadow 0.3s cubic-bezier(0.37, 0, 0.63, 1);
  transition: color 0.3s cubic-bezier(0.37, 0, 0.63, 1), background 0.3s cubic-bezier(0.37, 0, 0.63, 1), border 0.3s cubic-bezier(0.37, 0, 0.63, 1), -webkit-box-shadow 0.3s cubic-bezier(0.37, 0, 0.63, 1);
  transition: color 0.3s cubic-bezier(0.37, 0, 0.63, 1), background 0.3s cubic-bezier(0.37, 0, 0.63, 1), border 0.3s cubic-bezier(0.37, 0, 0.63, 1), box-shadow 0.3s cubic-bezier(0.37, 0, 0.63, 1);
  transition: color 0.3s cubic-bezier(0.37, 0, 0.63, 1), background 0.3s cubic-bezier(0.37, 0, 0.63, 1), border 0.3s cubic-bezier(0.37, 0, 0.63, 1), box-shadow 0.3s cubic-bezier(0.37, 0, 0.63, 1), -webkit-box-shadow 0.3s cubic-bezier(0.37, 0, 0.63, 1);
}
a img {
  -webkit-transition: color 0.3s cubic-bezier(0.37, 0, 0.63, 1), background 0.3s cubic-bezier(0.37, 0, 0.63, 1), border 0.3s cubic-bezier(0.37, 0, 0.63, 1), opacity 0.3s cubic-bezier(0.37, 0, 0.63, 1), -webkit-box-shadow 0.3s cubic-bezier(0.37, 0, 0.63, 1), -webkit-transform 0.3s cubic-bezier(0.37, 0, 0.63, 1);
  transition: color 0.3s cubic-bezier(0.37, 0, 0.63, 1), background 0.3s cubic-bezier(0.37, 0, 0.63, 1), border 0.3s cubic-bezier(0.37, 0, 0.63, 1), opacity 0.3s cubic-bezier(0.37, 0, 0.63, 1), -webkit-box-shadow 0.3s cubic-bezier(0.37, 0, 0.63, 1), -webkit-transform 0.3s cubic-bezier(0.37, 0, 0.63, 1);
  transition: color 0.3s cubic-bezier(0.37, 0, 0.63, 1), background 0.3s cubic-bezier(0.37, 0, 0.63, 1), border 0.3s cubic-bezier(0.37, 0, 0.63, 1), opacity 0.3s cubic-bezier(0.37, 0, 0.63, 1), box-shadow 0.3s cubic-bezier(0.37, 0, 0.63, 1), transform 0.3s cubic-bezier(0.37, 0, 0.63, 1);
  transition: color 0.3s cubic-bezier(0.37, 0, 0.63, 1), background 0.3s cubic-bezier(0.37, 0, 0.63, 1), border 0.3s cubic-bezier(0.37, 0, 0.63, 1), opacity 0.3s cubic-bezier(0.37, 0, 0.63, 1), box-shadow 0.3s cubic-bezier(0.37, 0, 0.63, 1), transform 0.3s cubic-bezier(0.37, 0, 0.63, 1), -webkit-box-shadow 0.3s cubic-bezier(0.37, 0, 0.63, 1), -webkit-transform 0.3s cubic-bezier(0.37, 0, 0.63, 1);
}
@media (hover: hover) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}
@media (hover: none) {
  a, button {
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: transparent;
  }
}
[data-scroll-target] {
  content: "";
  display: block;
  position: relative;
  pointer-events: none;
  top: calc(-1 * var(--header-height));
}

/*----------------------------------------------------
	コンテナ
----------------------------------------------------*/
.l-container {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  max-width: 1920px;
}
@media screen and (max-width: 640px) {
  .l-container {
    padding-left: 7.6923076923vw;
    padding-right: 7.6923076923vw;
  }
}
@media screen and (min-width: 641px) and (max-width: 1023px) {
  .l-container {
    padding-left: 15.3846153846vw;
    padding-right: 15.3846153846vw;
  }
}
@media screen and (min-width: 1024px) {
  .l-container {
    padding-left: 9.7222222222vw;
    padding-right: 9.7222222222vw;
  }
}
@media screen and (min-width: 1921px) {
  .l-container {
    padding-left: 186.6666666667px;
    padding-right: 186.6666666667px;
  }
}

@media screen and (min-width: 1024px) {
  .l-container--sm {
    padding-left: 13.75rem;
    padding-right: 13.75rem;
  }
}

/*----------------------------------------------------
	body
----------------------------------------------------*/
html {
  height: 100%;
}

body {
  position: relative;
  height: 100%;
}
body.no-scroll {
  overflow: hidden;
  height: 100vh;
}

.l-body-wrap {
  width: 100%;
  min-height: 100%;
}
.l-body-wrap__window {
  display: block;
  width: 100%;
  height: 100vh;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 400;
  pointer-events: none;
  border: 8px solid #40beee;
}
@media screen and (min-width: 1024px) {
  .l-body-wrap__window {
    border: 14px solid #40beee;
  }
}

/*----------------------------------------------------
	l-header-drawer
----------------------------------------------------*/
.l-header-drawer {
  position: absolute;
  width: 100%;
  height: 100vh;
  -ms-scroll-chaining: none;
      overscroll-behavior: contain;
  overflow: auto;
  background: #1c6cb7;
  color: var(--color);
  pointer-events: none;
  opacity: 0;
  -webkit-transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
  transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
}
.is-nav-open .l-header-drawer {
  pointer-events: auto;
  opacity: 1;
}
.l-header-drawer__wrap {
  padding: 5rem 1.25rem;
}
.l-header-drawer__link {
  margin-top: 1.75rem;
  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;
  gap: 0.625rem;
}
.l-header-drawer__link img {
  width: 18.75rem;
  border: 1px solid #aaa;
}
@media screen and (min-width: 1024px) {
  .l-header-drawer__link {
    margin-top: 3rem;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 1.25rem;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .l-header-drawer__link img {
    width: 23.75rem;
  }
}

/*----------------------------------------------------
	ヘッダー メニュー
----------------------------------------------------*/
@media screen and (max-width: 1023px) {
  .l-header-menu {
    position: absolute;
    right: 1.625rem;
    top: 1.5rem;
    z-index: 2;
    width: 2.5rem;
    height: 2.5rem;
    cursor: pointer;
  }
  .l-header-menu div {
    position: relative;
  }
  .l-header-menu span {
    display: block;
    position: absolute;
    height: 0.125rem;
    width: 2rem;
    background: #222;
    left: 0.5rem;
    -webkit-transition: top 0.35s cubic-bezier(0.5, 1, 0.89, 1), -webkit-transform 0s cubic-bezier(0.5, 1, 0.89, 1);
    transition: top 0.35s cubic-bezier(0.5, 1, 0.89, 1), -webkit-transform 0s cubic-bezier(0.5, 1, 0.89, 1);
    transition: top 0.35s cubic-bezier(0.5, 1, 0.89, 1), transform 0s cubic-bezier(0.5, 1, 0.89, 1);
    transition: top 0.35s cubic-bezier(0.5, 1, 0.89, 1), transform 0s cubic-bezier(0.5, 1, 0.89, 1), -webkit-transform 0s cubic-bezier(0.5, 1, 0.89, 1);
  }
  .is-nav-open .l-header-menu span {
    background: #fff;
  }
  .l-header-menu span:nth-child(1) {
    top: calc(50% - 0.25rem);
  }
  .l-header-menu span:nth-child(2) {
    top: calc(50% + 0.25rem);
  }
  .l-header-menu.is-nav-open span {
    -webkit-transition: top 0.2s cubic-bezier(0.5, 1, 0.89, 1), -webkit-transform 0.3s 0.2s cubic-bezier(0.5, 1, 0.89, 1);
    transition: top 0.2s cubic-bezier(0.5, 1, 0.89, 1), -webkit-transform 0.3s 0.2s cubic-bezier(0.5, 1, 0.89, 1);
    transition: top 0.2s cubic-bezier(0.5, 1, 0.89, 1), transform 0.3s 0.2s cubic-bezier(0.5, 1, 0.89, 1);
    transition: top 0.2s cubic-bezier(0.5, 1, 0.89, 1), transform 0.3s 0.2s cubic-bezier(0.5, 1, 0.89, 1), -webkit-transform 0.3s 0.2s cubic-bezier(0.5, 1, 0.89, 1);
  }
  .l-header-menu.is-nav-open span:nth-child(1) {
    top: 50%;
    -webkit-transform: scale(-1, -1) rotate(-45deg);
            transform: scale(-1, -1) rotate(-45deg);
  }
  .l-header-menu.is-nav-open span:nth-child(2) {
    top: 50%;
    -webkit-transform: scale(-1, -1) rotate(45deg);
            transform: scale(-1, -1) rotate(45deg);
  }
}

/*----------------------------------------------------
	ヘッダー
----------------------------------------------------*/
.l-header {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  z-index: 500;
}
@media screen and (min-width: 1024px) {
  .l-header {
    position: fixed;
  }
}

.l-header-logo {
  position: absolute;
  left: 1.875rem;
  top: 1.5625rem;
  width: 4.3175rem;
  z-index: 10;
}
@media screen and (min-width: 1024px) {
  .l-header-logo {
    left: 3.75rem;
    top: 3.125rem;
    width: 6.875rem;
  }
}

.l-header-cta {
  display: none;
  gap: 0.625rem;
  position: absolute;
  right: 1.875rem;
  top: 1.875rem;
}
@media screen and (min-width: 1024px) {
  .l-header-cta {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

/*----------------------------------------------------
	main
----------------------------------------------------*/
/*----------------------------------------------------
	フッター
----------------------------------------------------*/
.l-footer {
  position: relative;
}
.l-footer__wrap {
  padding-top: 4.375rem;
  background: #1c6cb7;
  color: var(--color);
}
@media screen and (min-width: 1024px) {
  .l-footer__wrap {
    padding-top: 8.75rem;
  }
}

.l-footer__catch {
  margin-top: 3.75rem;
}
@media screen and (min-width: 1024px) {
  .l-footer__catch {
    margin-top: 5rem;
  }
}

.l-footer__link {
  margin-top: 1.75rem;
  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;
  gap: 0.625rem;
}
.l-footer__link a {
  border: 1px solid #aaa;
}
.l-footer__link img {
  width: 18.75rem;
}
@media screen and (min-width: 1024px) {
  .l-footer__link {
    margin-top: 3rem;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 1.25rem;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .l-footer__link img {
    width: 23.75rem;
  }
}

.l-footer__corporate {
  margin-top: 2.25rem;
  margin-bottom: -3rem;
  text-align: center;
}
@media screen and (min-width: 1024px) {
  .l-footer__corporate {
    position: absolute;
    right: 2.5rem;
    bottom: 2.5rem;
    margin: 0;
  }
}

@media screen and (min-width: 1024px) {
  .l-footer__bg {
    margin-top: 1.625rem;
  }
}

.l-footer__copyright {
  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: 3.75rem;
  background: #fff;
  font-family: "Roboto Condensed", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
  font-weight: normal;
  font-size: 0.625rem;
  line-height: 1;
  text-align: center;
}
@media screen and (min-width: 1024px) {
  .l-footer__copyright {
    height: 5.625rem;
    font-size: 0.75rem;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	...
----------------------------------------------------*/
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	p-business
----------------------------------------------------*/
.p-business {
  position: relative;
}
.p-business__bg {
  position: sticky;
  left: 0;
  top: 0;
  pointer-events: none;
  z-index: -1;
}
.p-business__bg img {
  position: absolute;
  left: 0;
  top: 0;
}
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.p-business-lead {
  margin-top: 3.75rem;
  padding: 2.75rem 1.5625rem 2.5rem;
  border-radius: 0.375rem;
  background: #fff;
  border: 0.1875rem solid #f5f5f5;
}
@media screen and (min-width: 1024px) {
  .p-business-lead {
    padding: 7.25rem 4.375rem 5rem;
    border: 0.375rem solid #f5f5f5;
  }
}

.p-business-lead__head {
  text-align: center;
}
.p-business-lead__en {
  margin-inline: -0.625rem;
  font-family: "Roboto Condensed", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
  font-weight: bold;
  font-size: 2.875rem;
  line-height: 1;
  color: transparent;
  -webkit-text-stroke: 1px #0d3d86;
}
@media screen and (min-width: 1024px) {
  .p-business-lead__en {
    font-size: 4.125rem;
  }
}

.p-business-lead__ja {
  margin-top: 0.5rem;
  font-weight: bold;
  font-size: 1.25rem;
  letter-spacing: 0.05em;
  color: #0c3c86;
}
@media screen and (min-width: 1024px) {
  .p-business-lead__ja {
    margin-top: 0.75rem;
    font-size: 2.25rem;
    letter-spacing: 0.2em;
  }
}

.p-business-lead__wrap {
  margin-top: 1.25rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
}
@media screen and (min-width: 1024px) {
  .p-business-lead__wrap {
    margin-top: 1.75rem;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 2.875rem;
  }
}

@media screen and (min-width: 1024px) {
  .p-business-lead__pic {
    width: 26.5rem;
    margin-right: 3.125rem;
  }
}

.p-business-lead__desc {
  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-flex: 1;
      -ms-flex: 1;
          flex: 1;
  font-size: 0.8125rem;
  letter-spacing: 0.05em;
  line-height: 1.5rem;
}
@media screen and (min-width: 1024px) {
  .p-business-lead__desc {
    gap: 2rem;
    font-size: 1rem;
    line-height: 2rem;
    color: #000;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.p-business-technology {
  padding-top: 5rem;
}
@media screen and (min-width: 1024px) {
  .p-business-technology {
    padding-top: 6.25rem;
  }
}

.p-business-technology__title {
  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;
  font-weight: bold;
  font-size: 1.8125rem;
  letter-spacing: 0.05em;
  line-height: 1.6206896552;
  text-align: center;
  color: #0c3c86;
}
.p-business-technology__title p {
  position: relative;
}
.p-business-technology__title p span {
  position: relative;
}
.p-business-technology__title p:before {
  content: "";
  position: absolute;
  width: calc(100% + 1.25rem);
  height: 1.25rem;
  background: -webkit-gradient(linear, left top, left bottom, from(#29b5eb), color-stop(67.49%, #bcf0ff), to(#86d2f7));
  background: linear-gradient(#29b5eb 0%, #bcf0ff 67.49%, #86d2f7 100%);
  top: calc(50% - 0.375rem);
  left: -0.625rem;
}
@media screen and (min-width: 1024px) {
  .p-business-technology__title p:before {
    width: calc(100% + 1.875rem);
    left: -0.9375rem;
  }
}
@media screen and (min-width: 1024px) {
  .p-business-technology__title {
    font-size: 2.25rem;
    letter-spacing: 0.185em;
  }
}

.p-business-technology__items {
  display: -ms-grid;
  display: grid;
  gap: 1.25rem;
  padding-top: 1.25rem;
  color: var(--color);
}
@media screen and (min-width: 1024px) {
  .p-business-technology__items {
    padding-top: 3rem;
    -ms-grid-columns: 1fr 3.75rem 1fr;
    grid-template-columns: 1fr 1fr;
    gap: 3.75rem;
  }
}

.p-business-technology-item {
  position: relative;
}
.p-business-technology-item__pic {
  border-radius: 0.375rem;
}
.p-business-technology-item__pic:after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  pointer-events: none;
  width: 100%;
  height: 11rem;
  border-radius: 0rem 0rem 0.375rem 0.375rem;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(24, 128, 208, 0)), to(#03486c));
  background: linear-gradient(rgba(24, 128, 208, 0) 0%, #03486c 100%);
}
@media screen and (min-width: 1024px) {
  .p-business-technology-item__pic {
    border-radius: 0.625rem;
  }
  .p-business-technology-item__pic:after {
    height: 15rem;
  }
}

.p-business-technology-item__wrap {
  position: absolute;
  left: 0;
  bottom: 0;
  padding: 1.25rem 1.875rem;
}
@media screen and (min-width: 1024px) {
  .p-business-technology-item__wrap {
    padding: 2.25rem 2.5rem;
  }
}

.p-business-technology-item__title {
  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: start;
      -ms-flex-align: start;
          align-items: flex-start;
  font-weight: bold;
  font-size: 1.625rem;
  letter-spacing: 0.1em;
  line-height: 2.125rem;
}
.p-business-technology-item__title span {
  margin-inline: -0.625rem;
  padding: 0 0.625rem 0.3125rem;
  background: -webkit-gradient(linear, left bottom, left top, color-stop(40%, #0C3C86), color-stop(40%, transparent));
  background: linear-gradient(to top, #0C3C86 40%, transparent 40%);
}
@media screen and (min-width: 1024px) {
  .p-business-technology-item__title {
    font-size: 2rem;
  }
}

.p-business-technology-item__en {
  margin-top: 0.375rem;
  font-family: "Roboto Condensed", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
  font-weight: bold;
  font-size: 0.5625rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
@media screen and (min-width: 1024px) {
  .p-business-technology-item__en {
    margin-top: 0.625rem;
    font-size: 0.75rem;
  }
}

.p-business-technology-item__desc {
  margin-top: 0.75rem;
  font-size: 0.8125rem;
  letter-spacing: 0.05em;
  line-height: 1.5rem;
}
@media screen and (min-width: 1024px) {
  .p-business-technology-item__desc {
    margin-top: 1.75rem;
    font-size: 1rem;
    line-height: 1.625rem;
  }
}

.p-business-technology-item__corporate {
  position: absolute;
  left: 0;
  bottom: 1rem;
  width: 100%;
  font-family: "Roboto Condensed", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
  font-weight: bold;
  font-size: 1rem;
  text-transform: uppercase;
}
.p-business-technology-item__corporate a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
  color: #fff;
}
.p-business-technology-item__corporate svg {
  width: 100%;
  height: auto;
  fill: #fff;
}
.p-business-technology-item__corporate i {
  width: 0.875rem;
}
@media screen and (min-width: 1024px) {
  .p-business-technology-item__corporate {
    bottom: 2.5rem;
    font-size: 1.625rem;
  }
  .p-business-technology-item__corporate a {
    gap: 1.25rem;
  }
  .p-business-technology-item__corporate i {
    width: 1.25rem;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.p-business-outline {
  margin-top: 7.5rem;
}
@media screen and (min-width: 1024px) {
  .p-business-outline {
    margin-top: 11.25rem;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.p-business-more {
  padding: 5rem 0 2.5rem;
}
@media screen and (min-width: 1024px) {
  .p-business-more {
    padding: 6.25rem 0;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	p-careers
----------------------------------------------------*/
.p-careers {
  position: relative;
}
.p-careers-content {
  padding-top: 5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.25rem;
}
@media screen and (min-width: 1024px) {
  .p-careers-content {
    padding-top: 3.4375rem;
    gap: 5.625rem;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	p-data
----------------------------------------------------*/
.p-data {
  position: relative;
  overflow: hidden;
}
.p-data-content {
  margin-top: 7.5rem;
}
@media screen and (min-width: 1024px) {
  .p-data-content {
    margin-top: 10.625rem;
  }
}

.p-data-list + .p-data-list {
  margin-top: 5rem;
}
@media screen and (min-width: 1024px) {
  .p-data-list + .p-data-list {
    margin-top: 7.5rem;
  }
}

.p-data-list__title {
  font-weight: bold;
  font-size: 1.375rem;
  letter-spacing: 0.2em;
  text-align: center;
  color: #0c3c86;
}
@media screen and (min-width: 1024px) {
  .p-data-list__title {
    font-size: 2.25rem;
    letter-spacing: 0.2em;
  }
}

.p-data-list__items {
  margin-top: 2.5rem;
  display: -ms-grid;
  display: grid;
  gap: 1.25rem;
}
@media screen and (min-width: 1024px) {
  .p-data-list__items {
    margin-top: 3.125rem;
    -ms-grid-columns: 1fr 1rem 1fr 1rem 1fr 1rem 1fr 1rem 1fr 1rem 1fr;
    grid-template-columns: repeat(6, 1fr);
    gap: 1rem;
  }
}

.p-data-list__ex {
  margin-top: 0.75rem;
  font-size: 0.75rem;
  letter-spacing: 0.1em;
  text-align: right;
  color: #0c244b;
}
@media screen and (min-width: 1024px) {
  .p-data-list__ex {
    font-size: 1rem;
  }
}

.p-data-more {
  padding: 5.5rem 0 5.625rem;
}
@media screen and (min-width: 1024px) {
  .p-data-more {
    padding: 8.125rem 0 8.875rem;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.p-data-item {
  position: relative;
  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;
  width: 100%;
  height: 23.75rem;
  border: 0.1875rem solid #f5f5f5;
  border-radius: 0.1875rem;
  background: #fff;
}
@media screen and (min-width: 1024px) {
  .p-data-item {
    -ms-grid-column-span: 2;
    grid-column: span 2;
    height: 33.75rem;
    border-radius: 0.375rem;
    border-width: 0.375rem;
  }
  .p-data-item.is-large {
    height: 35rem;
    -ms-grid-column-span: 3;
    grid-column: span 3;
  }
}

.p-data-item__title {
  font-weight: bold;
  font-size: 1.25rem;
  letter-spacing: 0.05em;
  color: #0c3c86;
  text-align: center;
}
@media screen and (min-width: 1024px) {
  .p-data-item__title {
    font-size: 1.625rem;
  }
}

.p-data-item__num {
  line-height: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  font-family: "HelveticaNeue", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
  font-weight: bold;
}
.p-data-item__num ._unit {
  position: relative;
  top: -0.05em;
}
@media screen and (min-width: 1024px) {
  .p-data-item__num ._unit {
    top: -0.2em;
  }
}

.p-data-item__pic img {
  width: 100%;
}

.p-data-item__desc {
  position: absolute;
  bottom: 2.25rem;
}
@media screen and (min-width: 1024px) {
  .p-data-item__desc {
    bottom: 2.375rem;
    min-height: 4em;
  }
  .is-large .p-data-item__desc {
    min-height: 0;
  }
}

/*=== 社員数 ===*/
.p-data-item--member {
  padding-top: 3.125rem;
  background: #40beee;
  color: #fff;
  border-color: transparent;
}
@media screen and (min-width: 1024px) {
  .p-data-item--member {
    padding-top: 4.375rem;
  }
}
.p-data-item--member .p-data-item__bg {
  position: absolute;
  width: 19.625rem;
  top: -1.4375rem;
}
.p-data-item--member .p-data-item__bg img {
  -webkit-animation: loopCircle linear 30s infinite;
          animation: loopCircle linear 30s infinite;
  will-change: transform;
}
@media screen and (min-width: 1024px) {
  .p-data-item--member .p-data-item__bg {
    width: 26.25rem;
  }
}
.p-data-item--member .p-data-item__title {
  position: relative;
  z-index: 2;
  color: #fff;
}
.p-data-item--member .p-data-item__num {
  position: relative;
  font-size: 5.9375rem;
}
@media screen and (min-width: 1024px) {
  .p-data-item--member .p-data-item__num {
    font-size: 8.125rem;
  }
}
.p-data-item--member .p-data-item__num2 {
  margin-top: 1.25rem;
  position: relative;
  font-weight: bold;
  font-size: 0.625rem;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 1024px) {
  .p-data-item--member .p-data-item__num2 {
    font-size: 0.875rem;
  }
}
/*=== 平均年齢 ===*/
.p-data-item--period {
  padding-top: 2.5rem;
}
@media screen and (min-width: 1024px) {
  .p-data-item--period {
    padding-top: 4.25rem;
  }
}
.p-data-item--period .p-data-item__graph {
  width: 11.69125rem;
}
@media screen and (min-width: 1024px) {
  .p-data-item--period .p-data-item__graph {
    width: 15.79125rem;
  }
}
.p-data-item--period .p-data-item__title {
  margin-top: 0.75rem;
  width: 11.69125rem;
  text-align: left;
}
@media screen and (min-width: 1024px) {
  .p-data-item--period .p-data-item__title {
    margin-top: 1.5rem;
    width: 15.79125rem;
  }
}
.p-data-item--period .p-data-item__num {
  gap: 0.1em;
  font-size: 5.4375rem;
  color: #0c3c86;
}
.p-data-item--period .p-data-item__num ._unit {
  font-size: 0.2413793103em;
}
@media screen and (min-width: 1024px) {
  .p-data-item--period .p-data-item__num {
    font-size: 6.875rem;
  }
}
.p-data-item--period .p-data-item__desc {
  margin-top: 0.25rem;
}
@media screen and (min-width: 1024px) {
  .p-data-item--period .p-data-item__desc {
    margin-top: 1rem;
  }
}

/*=== 平均勤続年数 ===*/
.p-data-item--continuous {
  padding-top: 1.875rem;
}
@media screen and (min-width: 1024px) {
  .p-data-item--continuous {
    padding-top: 3.125rem;
  }
}
.p-data-item--continuous .p-data-item__pic {
  position: relative;
  margin-top: 2.5rem;
  width: 11.49875rem;
}
.p-data-item--continuous .p-data-item__pic img {
  position: relative;
}
.p-data-item--continuous .p-data-item__pic #continuous-circle {
  position: absolute;
  -webkit-animation: loopCircle linear 30s infinite;
          animation: loopCircle linear 30s infinite;
}
@media screen and (min-width: 1024px) {
  .p-data-item--continuous .p-data-item__pic {
    margin-top: 3.125rem;
    width: 16.2525rem;
  }
}
.p-data-item--continuous .p-data-item__nums {
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1rem;
  top: 3.75rem;
}
@media screen and (min-width: 1024px) {
  .p-data-item--continuous .p-data-item__nums {
    top: 6.75rem;
  }
}
.p-data-item--continuous .p-data-item__num {
  gap: 0.1em;
  font-size: 4.625rem;
  color: #40beee;
}
.p-data-item--continuous .p-data-item__num ._unit {
  font-size: 0.3783783784em;
}
@media screen and (min-width: 1024px) {
  .p-data-item--continuous .p-data-item__num {
    font-size: 4.375rem;
  }
}
/*=== 職種の割合 ===*/
.p-data-item--job {
  padding-top: 1.875rem;
}
@media screen and (min-width: 1024px) {
  .p-data-item--job {
    padding-top: 3.125rem;
  }
}
@media screen and (min-width: 1024px) {
  .p-data-item--job .p-data-item__title {
    text-align: left;
    width: 26.25rem;
  }
}
.p-data-item--job .p-data-item__graph {
  position: relative;
  width: 15.5rem;
  left: 0.625rem;
}
.p-data-item--job .p-data-item__graph svg {
  position: absolute;
}
.p-data-item--job .p-data-item__graph img {
  position: relative;
}
@media screen and (min-width: 1024px) {
  .p-data-item--job .p-data-item__graph {
    top: -1.25rem;
    left: 1.25rem;
    width: 26.25rem;
  }
}
.p-data-item--job .p-data-item__num {
  position: absolute;
}
.p-data-item--job .p-data-item__num ._unit {
  font-size: 1.25rem;
}
@media screen and (min-width: 1024px) {
  .p-data-item--job .p-data-item__num ._unit {
    font-size: 2.1875rem;
  }
}
.p-data-item--job .p-data-item__num:nth-child(1) {
  top: 4.375rem;
  left: 12.5rem;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  font-size: 4.9375rem;
  color: #40beee;
}
@media screen and (min-width: 641px) and (max-width: 1023px) {
  .p-data-item--job .p-data-item__num:nth-child(1) {
    left: 20rem;
  }
}
@media screen and (min-width: 1024px) {
  .p-data-item--job .p-data-item__num:nth-child(1) {
    top: 5.375rem;
    left: 21.25rem;
    font-size: 8.4375rem;
  }
}
.p-data-item--job .p-data-item__num:nth-child(2) {
  top: 8.9375rem;
  left: 1.3125rem;
  font-size: 3.8125rem;
  letter-spacing: -0.05em;
  color: #f5e41b;
}
@media screen and (min-width: 641px) and (max-width: 1023px) {
  .p-data-item--job .p-data-item__num:nth-child(2) {
    left: 7.5625rem;
  }
}
@media screen and (min-width: 1024px) {
  .p-data-item--job .p-data-item__num:nth-child(2) {
    top: 12.5rem;
    left: 2.5rem;
    font-size: 6.5rem;
  }
}
.p-data-item--job .p-data-item__num:nth-child(3) {
  top: 15rem;
  left: 8.625rem;
  font-size: 2.8125rem;
  line-height: 1.25rem;
  color: #0c3c86;
}
@media screen and (min-width: 641px) and (max-width: 1023px) {
  .p-data-item--job .p-data-item__num:nth-child(3) {
    left: 14.875rem;
  }
}
@media screen and (min-width: 1024px) {
  .p-data-item--job .p-data-item__num:nth-child(3) {
    top: 23.125rem;
    left: 14.625rem;
    font-size: 4.8125rem;
  }
}
/*=== 定着率 ===*/
.p-data-item--turnover {
  padding-top: 1.875rem;
}
@media screen and (min-width: 1024px) {
  .p-data-item--turnover {
    padding-top: 3.125rem;
  }
}
.p-data-item--turnover .p-data-item__graph {
  margin-top: 1.5rem;
  width: 16.216875rem;
  clip-path: polygon(0 0, 24% 0, 24% 100%, 0 100%);
  -webkit-transition: 0.5s cubic-bezier(0.5, 1, 0.89, 1);
  transition: 0.5s cubic-bezier(0.5, 1, 0.89, 1);
  -webkit-transition-delay: 0.3s;
          transition-delay: 0.3s;
}
.p-data-item--turnover .p-data-item__graph img {
  width: 100%;
}
@media screen and (min-width: 1024px) {
  .p-data-item--turnover .p-data-item__graph {
    margin-top: 2.5rem;
    width: 26.5rem;
  }
}
.p-data-item--turnover.is-visible .p-data-item__graph {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}
.p-data-item--turnover .p-data-item__num {
  position: absolute;
  right: 14.875rem;
  right: calc(50% + 4.75rem);
  font-weight: bold;
  font-size: 1.4375rem;
  color: #0c3c86;
  gap: 0.1em;
}
.p-data-item--turnover .p-data-item__num ._unit {
  font-size: 0.5217391304em;
}
@media screen and (min-width: 1024px) {
  .p-data-item--turnover .p-data-item__num {
    right: 25.375rem;
    font-size: 2.4375rem;
  }
  .p-data-item--turnover .p-data-item__num ._unit {
    font-size: 0.5641025641em;
  }
}
.p-data-item--turnover .p-data-item__num:nth-child(1) {
  top: 6.5625rem;
}
@media screen and (min-width: 1024px) {
  .p-data-item--turnover .p-data-item__num:nth-child(1) {
    top: 10rem;
  }
}
.p-data-item--turnover .p-data-item__num:nth-child(2) {
  top: 10.625rem;
}
@media screen and (min-width: 1024px) {
  .p-data-item--turnover .p-data-item__num:nth-child(2) {
    top: 16.625rem;
  }
}
.p-data-item--turnover .p-data-item__num:nth-child(3) {
  top: 15rem;
}
@media screen and (min-width: 1024px) {
  .p-data-item--turnover .p-data-item__num:nth-child(3) {
    top: 23.75rem;
  }
}
/*=== 年間休日日数 ===*/
.p-data-item--holiday {
  padding-top: 1.875rem;
}
@media screen and (min-width: 1024px) {
  .p-data-item--holiday {
    padding-top: 3.125rem;
  }
}
.p-data-item--holiday .p-data-item__graph {
  position: relative;
  margin-top: 0.75rem;
  width: 12.565625rem;
}
.p-data-item--holiday .p-data-item__graph svg {
  position: absolute;
}
.p-data-item--holiday .p-data-item__graph img {
  position: relative;
}
@media screen and (min-width: 1024px) {
  .p-data-item--holiday .p-data-item__graph {
    margin-top: 2.375rem;
    width: 15.60375rem;
  }
}
.p-data-item--holiday .p-data-item__num {
  position: absolute;
  top: 8.75rem;
  font-size: 6.4375rem;
  color: #0c3c86;
}
.p-data-item--holiday .p-data-item__num ._unit {
  font-size: 0.4077669903em;
}
@media screen and (min-width: 1024px) {
  .p-data-item--holiday .p-data-item__num {
    width: 100%;
    left: 0;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding-right: 0.625rem;
    top: 12.8125rem;
    font-size: 8.125rem;
  }
}
.p-data-item--holiday .p-data-item__desc {
  margin-top: 0.5rem;
}
@media screen and (min-width: 1024px) {
  .p-data-item--holiday .p-data-item__desc {
    margin-top: 2.5rem;
  }
}

/*=== 文系 or 理系 ===*/
.p-data-item--science {
  padding-top: 1.875rem;
}
@media screen and (min-width: 1024px) {
  .p-data-item--science {
    padding-top: 3.125rem;
  }
}
.p-data-item--science .p-data-item__pic {
  width: 10.36625rem;
  clip-path: polygon(0 72%, 100% 72%, 100% 72%, 0 72%);
  -webkit-transition: 0.5s cubic-bezier(0.5, 1, 0.89, 1);
  transition: 0.5s cubic-bezier(0.5, 1, 0.89, 1);
  -webkit-transition-delay: 0.3s;
          transition-delay: 0.3s;
}
@media screen and (min-width: 1024px) {
  .p-data-item--science .p-data-item__pic {
    width: 13.159375rem;
  }
}
.p-data-item--science.is-visible .p-data-item__pic {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}
.p-data-item--science .p-data-item__num {
  position: absolute;
  top: 5.3125rem;
  font-size: 5.625rem;
  color: #fff;
}
.p-data-item--science .p-data-item__num ._unit {
  font-size: 0.2916666667em;
}
@media screen and (min-width: 1024px) {
  .p-data-item--science .p-data-item__num {
    top: 6.875rem;
    font-size: 8.125rem;
  }
}
@media screen and (min-width: 1024px) {
  .p-data-item--science .p-data-item__title {
    margin-top: 0.625rem;
  }
}
.p-data-item--science .p-data-item__desc {
  margin-top: 0.5rem;
}
@media screen and (min-width: 1024px) {
  .p-data-item--science .p-data-item__desc {
    margin-top: 1.75rem;
  }
}

/*=== 年間研修回数 ===*/
.p-data-item--training {
  padding-top: 1.875rem;
}
@media screen and (min-width: 1024px) {
  .p-data-item--training {
    padding-top: 3.125rem;
  }
}
.p-data-item--training .p-data-item__pic {
  margin-top: 1.5rem;
  width: 11.425625rem;
  margin-left: 0.625rem;
}
@media screen and (min-width: 1024px) {
  .p-data-item--training .p-data-item__pic {
    margin-top: 2.5rem;
    margin-left: 0.625rem;
    width: 15.459375rem;
  }
}
.p-data-item--training .p-data-item__num {
  gap: 0.1em;
  font-size: 6rem;
  color: #40beee;
}
.p-data-item--training .p-data-item__num ._unit {
  font-size: 0.4077669903em;
}
@media screen and (min-width: 1024px) {
  .p-data-item--training .p-data-item__num {
    font-size: 8.125rem;
  }
}
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*=== 売上 ===*/
.p-data-item--sales {
  padding-top: 4rem;
}
@media screen and (min-width: 1024px) {
  .p-data-item--sales {
    padding-top: 6.375rem;
  }
}
.p-data-item--sales .p-data-item__pic {
  position: relative;
  width: 20.625rem;
}
.p-data-item--sales .p-data-item__pic img {
  position: relative;
}
@media screen and (min-width: 1024px) {
  .p-data-item--sales .p-data-item__pic {
    width: 34.125rem;
  }
}
.p-data-item--sales #dataSalesLine {
  position: absolute;
  clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
  -webkit-transition: 0.5s cubic-bezier(0.5, 1, 0.89, 1);
  transition: 0.5s cubic-bezier(0.5, 1, 0.89, 1);
  -webkit-transition-delay: 0.3s;
          transition-delay: 0.3s;
}
.p-data-item--sales.is-visible #dataSalesLine {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}
.p-data-item--sales .p-data-item__num {
  position: absolute;
}
.p-data-item--sales .p-data-item__num:nth-child(1) {
  top: 3.5rem;
  right: 7.5rem;
  font-size: 7.5rem;
  color: #0c3c86;
}
@media screen and (min-width: 641px) and (max-width: 1023px) {
  .p-data-item--sales .p-data-item__num:nth-child(1) {
    right: 12.5rem;
  }
}
@media screen and (min-width: 1024px) {
  .p-data-item--sales .p-data-item__num:nth-child(1) {
    top: 5.25rem;
    right: 12.25rem;
    font-size: 12.5rem;
  }
}
.p-data-item--sales .p-data-item__num:nth-child(2) {
  top: 10.375rem;
  right: 6.625rem;
  font-size: 5.8125rem;
  color: #0c3c86;
}
.p-data-item--sales .p-data-item__num:nth-child(2):after {
  position: absolute;
  left: 2.5rem;
  bottom: 0.1em;
  content: ",";
  font-size: 0.5806451613em;
}
@media screen and (min-width: 641px) and (max-width: 1023px) {
  .p-data-item--sales .p-data-item__num:nth-child(2) {
    right: 11.875rem;
  }
}
@media screen and (min-width: 1024px) {
  .p-data-item--sales .p-data-item__num:nth-child(2) {
    top: 16.75rem;
    right: 10.625rem;
    font-size: 9.8125rem;
  }
  .p-data-item--sales .p-data-item__num:nth-child(2):after {
    left: 4.375rem;
  }
}
/*=== 自己資本率 ===*/
.p-data-item--capital {
  padding-top: 2.5rem;
}
@media screen and (min-width: 1024px) {
  .p-data-item--capital {
    padding-top: 5rem;
  }
}
.p-data-item--capital .p-data-item__title {
  position: relative;
  z-index: 2;
}
.p-data-item--capital .p-data-item__pic {
  position: absolute;
  top: -2.0625rem;
  width: 21.1425rem;
  pointer-events: none;
  z-index: 5;
}
.p-data-item--capital .p-data-item__pic img {
  -webkit-animation: loopCircle linear 30s infinite;
          animation: loopCircle linear 30s infinite;
  will-change: transform;
}
@media screen and (min-width: 1024px) {
  .p-data-item--capital .p-data-item__pic {
    top: -4.6875rem;
    width: 44.456875rem;
  }
}
.p-data-item--capital .p-data-item__nums {
  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;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 11.805rem;
  height: 11.805rem;
  color: #fff;
  position: relative;
  top: -1.25rem;
}
.p-data-item--capital .p-data-item__nums:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  background: #40beee;
  border-radius: 100%;
  -webkit-transition: 0.5s cubic-bezier(0.5, 1, 0.89, 1);
  transition: 0.5s cubic-bezier(0.5, 1, 0.89, 1);
  -webkit-transform: scale(0);
          transform: scale(0);
  -webkit-transition-delay: 0.3s;
          transition-delay: 0.3s;
}
@media screen and (min-width: 1024px) {
  .p-data-item--capital .p-data-item__nums {
    margin-top: 1rem;
    top: 0;
    width: 17.791875rem;
    height: 17.791875rem;
  }
}
.p-data-item--capital.is-visible .p-data-item__nums:before {
  -webkit-transform: scale(1);
          transform: scale(1);
}
.p-data-item--capital .p-data-item__num {
  position: relative;
  font-size: 6.0625rem;
}
.p-data-item--capital .p-data-item__num ._unit {
  font-size: 0.2474226804em;
}
@media screen and (min-width: 1024px) {
  .p-data-item--capital .p-data-item__num {
    font-size: 8.875rem;
  }
  .p-data-item--capital .p-data-item__num ._unit {
    font-size: 0.3098591549em;
  }
}
.p-data-item--capital .p-data-item__num2 {
  position: relative;
  font-weight: bold;
  font-size: 0.75rem;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 1024px) {
  .p-data-item--capital .p-data-item__num2 {
    font-size: 0.875rem;
  }
}
/*=== 国内拠点 ===*/
.p-data-item--office {
  overflow: hidden;
  padding-top: 1.875rem;
}
@media screen and (min-width: 1024px) {
  .p-data-item--office {
    padding-top: 3.125rem;
  }
}
.p-data-item--office .p-data-item__pic {
  position: absolute;
  top: 0;
  width: 21.8125rem;
}
@media screen and (min-width: 1024px) {
  .p-data-item--office .p-data-item__pic {
    width: 31.713125rem;
  }
}
.p-data-item--office .p-data-item__num {
  position: absolute;
  top: 5rem;
  left: 3.25rem;
  font-size: 4.3125rem;
  color: #0c244b;
}
@media screen and (min-width: 641px) and (max-width: 1023px) {
  .p-data-item--office .p-data-item__num {
    left: 8.875rem;
  }
}
@media screen and (min-width: 1024px) {
  .p-data-item--office .p-data-item__num {
    top: 7.875rem;
    left: 7.5rem;
    font-size: 6.375rem;
  }
}
/*=== 工 場 ===*/
.p-data-item--facility {
  padding-top: 1.875rem;
}
@media screen and (min-width: 1024px) {
  .p-data-item--facility {
    padding-top: 3.125rem;
  }
}
.p-data-item--facility .p-data-item__pic {
  margin-top: 0.75rem;
  width: 18.461875rem;
  position: relative;
}
.p-data-item--facility .p-data-item__pic img {
  position: relative;
}
@media screen and (min-width: 1024px) {
  .p-data-item--facility .p-data-item__pic {
    margin-top: 2rem;
    width: 27.788125rem;
  }
}
.p-data-item--facility #dataFacility {
  left: 0;
  position: absolute;
  clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0 100%);
  -webkit-transition: 0.5s cubic-bezier(0.5, 1, 0.89, 1);
  transition: 0.5s cubic-bezier(0.5, 1, 0.89, 1);
  -webkit-transition-delay: 0.3s;
          transition-delay: 0.3s;
}
.p-data-item--facility.is-visible #dataFacility {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}
/*=== グループ会社 ===*/
.p-data-item--group {
  padding-top: 1.875rem;
}
@media screen and (min-width: 1024px) {
  .p-data-item--group {
    padding-top: 3.125rem;
  }
}
.p-data-item--group .p-data-item__pic {
  margin-top: 0.5rem;
  width: 14.519375rem;
}
@media screen and (min-width: 1024px) {
  .p-data-item--group .p-data-item__pic {
    margin-top: 1.5rem;
    width: 18.5625rem;
  }
}
/*=== 特許件数 ===*/
.p-data-item--patent {
  padding-top: 2rem;
}
@media screen and (min-width: 1024px) {
  .p-data-item--patent {
    padding-top: 4rem;
  }
}
.p-data-item--patent .p-data-item__pic {
  width: 10.244375rem;
}
@media screen and (min-width: 1024px) {
  .p-data-item--patent .p-data-item__pic {
    width: 14.46875rem;
  }
}
.p-data-item--patent .p-data-item__num {
  margin-top: -4rem;
  font-size: 7.9375rem;
  letter-spacing: -0.05em;
  color: #40beee;
}
.p-data-item--patent .p-data-item__num ._unit {
  font-size: 0.188976378em;
}
@media screen and (min-width: 1024px) {
  .p-data-item--patent .p-data-item__num {
    margin-top: -6.25rem;
    font-size: 11.375rem;
  }
  .p-data-item--patent .p-data-item__num ._unit {
    font-size: 0.2527472527em;
  }
}
/*=== 創 業 ===*/
.p-data-item--founding {
  padding-top: 1.875rem;
}
@media screen and (min-width: 1024px) {
  .p-data-item--founding {
    padding-top: 3.125rem;
  }
}
.p-data-item--founding .p-data-item__pic {
  margin-top: 1.25rem;
  width: 14.219375rem;
}
@media screen and (min-width: 1024px) {
  .p-data-item--founding .p-data-item__pic {
    margin-top: 1rem;
    width: 13.5625rem;
  }
}
.p-data-item--founding .p-data-item__num {
  position: absolute;
  top: 8.125rem;
  font-size: 5.75rem;
  color: #0c3c86;
}
.p-data-item--founding .p-data-item__num ._unit {
  font-size: 0.2608695652em;
}
@media screen and (min-width: 1024px) {
  .p-data-item--founding .p-data-item__num {
    font-size: 7.75rem;
    top: 11.875rem;
  }
  .p-data-item--founding .p-data-item__num ._unit {
    font-size: 0.2992125984em;
  }
}
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	p-faq
----------------------------------------------------*/
.p-faq-head__nav {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 0.8125rem 1fr;
  grid-template-columns: 1fr 1fr;
  gap: 1.25rem 0.8125rem;
}
@media screen and (min-width: 1024px) {
  .p-faq-head__nav {
    gap: 0.5rem;
    -ms-grid-columns: 1fr 0.5rem 1fr 0.5rem 1fr 0.5rem 1fr;
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }
}

.p-faq-contents {
  margin-top: 3.75rem;
  padding-bottom: 2.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.25rem;
}
@media screen and (min-width: 1024px) {
  .p-faq-contents {
    margin-top: 3.125rem;
    padding-bottom: 7.5rem;
    gap: 6.25rem;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	p-interview
----------------------------------------------------*/
.p-interview__list {
  margin-top: 5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.25rem;
}
@media screen and (min-width: 1024px) {
  .p-interview__list {
    margin-top: 3.5rem;
    gap: 3.75rem;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	p-message
----------------------------------------------------*/
.p-message__wrap {
  margin-top: 4.625rem;
  position: relative;
  overflow: hidden;
}
@media screen and (min-width: 1024px) {
  .p-message__wrap {
    margin-top: 6.25rem;
  }
}

.p-message__bg2 {
  pointer-events: none;
}
.p-message__bg2 ._particle1 {
  position: absolute;
  left: -20rem;
  bottom: 3.75rem;
  width: 20rem;
}
.p-message__bg2 ._particle2 {
  position: absolute;
  left: -2.5rem;
  top: 28.125rem;
  width: 6.25rem;
  z-index: 5;
}
.p-message__bg2:before {
  content: "";
  display: block;
  width: calc(100% - 1.25rem);
  height: 100%;
  position: absolute;
  right: 0;
  top: 0;
  pointer-events: none;
  border-radius: 1.25rem 0 0 1.25rem;
  background: -webkit-gradient(linear, left top, left bottom, from(#29b5eb), color-stop(67.49%, #a2e3f5), to(#86d2f7));
  background: linear-gradient(to bottom, #29b5eb 0%, #a2e3f5 67.49%, #86d2f7 100%);
}
@media screen and (max-width: 1023px) {
  .p-message__bg2 ._particle2 {
    display: none;
  }
}
@media screen and (min-width: 1024px) {
  .p-message__bg2 ._particle1 {
    left: -20rem;
    bottom: 3.75rem;
    width: 40rem;
  }
  .p-message__bg2 ._particle2 {
    left: 6.25rem;
    top: 28.125rem;
    width: 12.5rem;
  }
  .p-message__bg2:before {
    width: calc(50% + 36.25rem);
    border-radius: 2.5rem 0 0 2.5rem;
  }
}

.p-message__inner {
  position: relative;
  padding: 4.375rem 0 1.875rem 2.1875rem;
  color: var(--color);
}
@media screen and (min-width: 1024px) {
  .p-message__inner {
    padding: 10rem 0 11.25rem 6.75rem;
  }
}

.p-message-message {
  position: relative;
  z-index: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2.1em;
  font-weight: bold;
  font-size: 1.25rem;
  letter-spacing: 0.02em;
  line-height: 2.1;
}
@media screen and (min-width: 1024px) {
  .p-message-message {
    gap: 2.6923076923em;
    font-size: 1.625rem;
    line-height: 2.6923076923;
  }
}

.p-message-profile {
  padding: 6.25rem 0 1.25rem;
}
@media screen and (min-width: 1024px) {
  .p-message-profile {
    position: absolute;
    right: 5rem;
    bottom: 10rem;
  }
}

.p-message-profile__bg {
  position: absolute;
  left: 3.125rem;
  bottom: -5rem;
}
.p-message-profile__bg img {
  width: 37.5rem;
  max-width: none;
}
@media screen and (min-width: 1024px) {
  .p-message-profile__bg {
    left: -7.5rem;
    bottom: -8.125rem;
  }
  .p-message-profile__bg img {
    width: 39.375rem;
  }
}

.p-message-profile__wrap {
  position: relative;
  padding: 0.75rem 2rem 0.5rem 0;
  text-align: right;
}
.p-message-profile__wrap:before {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  top: 0;
  pointer-events: none;
  width: 0.375rem;
  height: 100%;
  border-radius: 0.1875rem;
  background: #fff;
}
.p-message-profile__job {
  font-weight: 500;
  font-size: 0.875rem;
}
.p-message-profile__name {
  margin-top: 0.625rem;
  font-weight: bold;
  font-size: 1.5rem;
  letter-spacing: 0.2em;
}
.p-message__more {
  padding: 5.5rem 0 5.625rem;
}
@media screen and (min-width: 1024px) {
  .p-message__more {
    padding: 8.125rem 0 8.875rem;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	p-new
----------------------------------------------------*/
.p-new {
  position: relative;
}
.p-new-content {
  padding-top: 5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.25rem;
}
@media screen and (min-width: 1024px) {
  .p-new-content {
    padding-top: 3.4375rem;
    gap: 5.625rem;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	p-top
----------------------------------------------------*/
.p-top__particle {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 100vh;
  position: fixed;
  left: 0;
  top: 0;
  pointer-events: none;
  overflow: hidden;
}
.p-top__particle svg {
  width: 100%;
  height: auto;
}
.p-top__particle figure {
  position: absolute;
}
.p-top__particle figure._particle1 {
  width: 14.90875rem;
  left: -7.5rem;
  top: 6.25rem;
}
.p-top__particle figure._particle2 {
  width: 11.25rem;
  right: -2.5rem;
  top: 5rem;
}
.p-top__particle figure._particle3 {
  width: 5.145625rem;
  right: -1.25rem;
  top: 17.5rem;
}
@media screen and (min-width: 1024px) {
  .p-top__particle figure._particle1 {
    width: 32.403125rem;
    left: -4.375rem;
    top: 6.25rem;
  }
  .p-top__particle figure._particle2 {
    width: 34.9rem;
    right: -3.125rem;
    top: -3.125rem;
  }
  .p-top__particle figure._particle3 {
    width: 9.435rem;
    right: -3.125rem;
    top: 31.25rem;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.p-top-mv {
  position: relative;
  height: 100vh;
}
.p-top-mv__wrap {
  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: 36.1445783133vh;
  text-align: center;
}
@media screen and (min-width: 1024px) {
  .p-top-mv__wrap {
    padding-top: 29.1111111111vh;
  }
}

.p-top-mv__title {
  font-family: "Roboto Condensed", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
  font-weight: bold;
  font-size: 1.125rem;
  letter-spacing: 0.05em;
  color: #2274c3;
}
@media screen and (min-width: 1024px) {
  .p-top-mv__title {
    font-size: 1.5625rem;
    letter-spacing: 0.05em;
  }
}

.p-top-mv__type {
  margin-top: 0.75rem;
  margin-inline: auto;
  width: 18.25rem;
}
@media screen and (min-width: 1024px) {
  .p-top-mv__type {
    margin-top: 1.5rem;
    width: 34.1875rem;
  }
}

@media screen and (max-width: 1023px) {
  .p-top-mv__nav {
    display: none;
  }
}
@media screen and (min-width: 1024px) {
  .p-top-mv__nav {
    position: absolute;
    width: 62.5rem;
    left: calc(50% - 31.25rem);
    bottom: 11.1111111111vh;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.p-top-message {
  position: relative;
  padding: 1.875rem 0 2.1875rem;
  overflow: hidden;
}
@media screen and (min-width: 1024px) {
  .p-top-message {
    padding: 1.875rem 0 6.25rem;
  }
}

.p-top-message__bg {
  position: absolute;
  width: 60.625rem;
  left: calc(50% - 30.3125rem);
}
@media screen and (min-width: 1024px) {
  .p-top-message__bg {
    width: 62.5rem;
    left: calc(50% - 31.25rem);
  }
}

.p-top-message__wrap {
  padding: 5rem 0 6.25rem;
  position: relative;
  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;
  text-align: center;
}
@media screen and (min-width: 1024px) {
  .p-top-message__wrap {
    padding: 6rem 0 9.375rem;
  }
}

.p-top-message__txt {
  margin-inline: -0.625rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.25rem;
  font-size: 1rem;
  line-height: 2.25;
  text-align: center;
  color: #fff;
}
.p-top-message__txt h3 {
  margin-bottom: -0.625rem;
  margin-right: -0.625rem;
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1.5;
}
@media screen and (min-width: 1024px) {
  .p-top-message__txt {
    gap: 1.875rem;
    font-weight: bold;
    font-size: 1.375rem;
    letter-spacing: 0.1em;
    line-height: 1.9090909091;
  }
  .p-top-message__txt h3 {
    margin-bottom: 1.875rem;
    font-size: 2.3125rem;
  }
}

.p-top-message__type {
  margin-top: 2.5rem;
}
@media screen and (min-width: 1024px) {
  .p-top-message__type {
    margin-top: 4.375rem;
  }
}

.p-top-message__more {
  margin-top: 3.125rem;
  text-align: center;
}
@media screen and (min-width: 1024px) {
  .p-top-message__more {
    display: none;
  }
}

#btnTopMessage {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 400;
  pointer-events: none;
  opacity: 0;
  -webkit-transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
  transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
}
#btnTopMessage.on-detail {
  opacity: 1;
}
@media screen and (max-width: 1023px) {
  #btnTopMessage {
    display: none;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.p-top-business {
  position: relative;
  overflow: hidden;
  padding: 5.375rem 0 7.9375rem;
  background: #eaf7ff;
}
@media screen and (min-width: 1024px) {
  .p-top-business {
    padding: 7.5rem 0 12.5rem;
  }
}

.p-top-business__bg {
  position: absolute;
  top: 17.5rem;
  width: 100%;
}
.p-top-business__bg img {
  width: 100%;
}
@media screen and (min-width: 1024px) {
  .p-top-business__bg {
    width: 62.5rem;
    top: 16.25rem;
    left: calc(50% - 31.25rem);
  }
}

.p-top-business__head {
  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;
  text-align: center;
  gap: 0;
}
.p-top-business__head .c-paragraph--md {
  letter-spacing: 0.2em;
}
.p-top-business__wrap {
  position: relative;
  padding-top: 3.75rem;
  display: block;
}
@media screen and (min-width: 1024px) {
  .p-top-business__wrap {
    padding-top: 5rem;
  }
}

.p-top-business__particle {
  position: relative;
  z-index: 20;
  pointer-events: none;
}
.p-top-business__particle figure {
  position: absolute;
}
.p-top-business__particle figure img {
  width: 100%;
}
.p-top-business__particle figure._particle1 {
  width: 13.09375rem;
  left: -1.25rem;
}
.p-top-business__particle figure._particle2 {
  width: 4rem;
  left: calc(50% + 8.125rem);
  top: -2.25rem;
}
.p-top-business__particle figure._particle3 {
  width: 12.765rem;
  left: calc(50% + 1.25rem);
  top: 8.125rem;
}
.p-top-business__particle figure._particle4 {
  width: 6.25rem;
  left: 0;
  top: 12.5rem;
}
@media screen and (min-width: 1024px) {
  .p-top-business__particle figure {
    position: absolute;
  }
  .p-top-business__particle figure._particle1 {
    width: 23.58625rem;
    left: 12.1875rem;
    top: 3.75rem;
  }
  .p-top-business__particle figure._particle2 {
    width: 5rem;
    left: calc(50% + 18.375rem);
    top: 18.75rem;
  }
  .p-top-business__particle figure._particle3 {
    width: 18.8225rem;
    left: calc(50% + 2.25rem);
    top: 16.25rem;
  }
  .p-top-business__particle figure._particle4 {
    width: 6.9375rem;
    left: 21.8125rem;
    top: 25rem;
  }
}

.p-top-business__items {
  margin-inline: auto;
  position: relative;
  width: 10.5rem;
  height: 16.5625rem;
}
.p-top-business__items figure {
  position: absolute;
  top: 0;
  -webkit-transition: 0.6s cubic-bezier(0.5, 1, 0.89, 1);
  transition: 0.6s cubic-bezier(0.5, 1, 0.89, 1);
}
.p-top-business__items figure img {
  border-radius: 0.625rem;
  -webkit-box-shadow: 0rem 0.125rem 0.375rem rgba(8, 52, 60, 0.24);
          box-shadow: 0rem 0.125rem 0.375rem rgba(8, 52, 60, 0.24);
  -webkit-transition: 0.6s cubic-bezier(0.5, 1, 0.89, 1);
  transition: 0.6s cubic-bezier(0.5, 1, 0.89, 1);
}
.p-top-business__items figure:nth-child(1) {
  z-index: 10;
}
.p-top-business__items figure:nth-child(1) img {
  margin: 0.9375rem 0 0 -0.9375rem;
}
.p-top-business__items figure:nth-child(2) {
  z-index: 9;
}
.p-top-business__items figure:nth-child(2) img {
  margin: 0.625rem 0 0 -0.625rem;
}
.p-top-business__items figure:nth-child(3) {
  z-index: 8;
}
.p-top-business__items figure:nth-child(3) img {
  margin: 0.3125rem 0 0 -0.3125rem;
}
.p-top-business__items figure:nth-child(4) {
  z-index: 7;
}
.p-top-business__items figure:nth-child(5) {
  z-index: 6;
}
.p-top-business__items figure:nth-child(5) img {
  margin: -0.3125rem 0 0 0.3125rem;
}
.p-top-business__items figure:nth-child(6) {
  z-index: 5;
}
.p-top-business__items figure:nth-child(6) img {
  margin: -0.625rem 0 0 0.625rem;
}
.p-top-business__items figure:nth-child(7) {
  z-index: 4;
}
.p-top-business__items figure:nth-child(7) img {
  margin: -0.9375rem 0 0 0.9375rem;
}
@media screen and (min-width: 1024px) {
  .p-top-business__items {
    width: 37.2222222222vh;
    height: 58.5555555556vh;
  }
  .p-top-business__items figure:nth-child(1) img {
    margin: 1.875rem 0 0 -1.875rem;
  }
  .p-top-business__items figure:nth-child(2) img {
    margin: 1.25rem 0 0 -1.25rem;
  }
  .p-top-business__items figure:nth-child(3) img {
    margin: 0.625rem 0 0 -0.625rem;
  }
  .p-top-business__items figure:nth-child(5) img {
    margin: -0.625rem 0 0 0.625rem;
  }
  .p-top-business__items figure:nth-child(6) img {
    margin: -1.25rem 0 0 1.25rem;
  }
  .p-top-business__items figure:nth-child(7) img {
    margin: -1.875rem 0 0 1.875rem;
  }
}
.p-top-business__items.is-visible figure:nth-child(1) {
  -webkit-transform: translateX(-1.875rem);
          transform: translateX(-1.875rem);
}
.p-top-business__items.is-visible figure:nth-child(1) img {
  -webkit-transform: rotate(-33deg);
          transform: rotate(-33deg);
}
.p-top-business__items.is-visible figure:nth-child(2) {
  -webkit-transform: translateX(-1.25rem);
          transform: translateX(-1.25rem);
}
.p-top-business__items.is-visible figure:nth-child(2) img {
  -webkit-transform: rotate(-24deg);
          transform: rotate(-24deg);
}
.p-top-business__items.is-visible figure:nth-child(3) {
  -webkit-transform: translateX(-0.625rem);
          transform: translateX(-0.625rem);
}
.p-top-business__items.is-visible figure:nth-child(3) img {
  -webkit-transform: rotate(-11deg);
          transform: rotate(-11deg);
}
.p-top-business__items.is-visible figure:nth-child(5) {
  -webkit-transform: translateX(0.625rem);
          transform: translateX(0.625rem);
}
.p-top-business__items.is-visible figure:nth-child(5) img {
  -webkit-transform: rotate(11deg);
          transform: rotate(11deg);
}
.p-top-business__items.is-visible figure:nth-child(6) {
  -webkit-transform: translateX(1.25rem);
          transform: translateX(1.25rem);
}
.p-top-business__items.is-visible figure:nth-child(6) img {
  -webkit-transform: rotate(24deg);
          transform: rotate(24deg);
}
.p-top-business__items.is-visible figure:nth-child(7) {
  -webkit-transform: translateX(1.875rem);
          transform: translateX(1.875rem);
}
.p-top-business__items.is-visible figure:nth-child(7) img {
  -webkit-transform: rotate(33deg);
          transform: rotate(33deg);
}
@media screen and (min-width: 1024px) {
  .p-top-business__items.is-visible figure:nth-child(1) {
    -webkit-transform: translateX(-7.5rem);
            transform: translateX(-7.5rem);
  }
  .p-top-business__items.is-visible figure:nth-child(2) {
    -webkit-transform: translateX(-5rem);
            transform: translateX(-5rem);
  }
  .p-top-business__items.is-visible figure:nth-child(3) {
    -webkit-transform: translateX(-2.5rem);
            transform: translateX(-2.5rem);
  }
  .p-top-business__items.is-visible figure:nth-child(5) {
    -webkit-transform: translateX(2.5rem);
            transform: translateX(2.5rem);
  }
  .p-top-business__items.is-visible figure:nth-child(6) {
    -webkit-transform: translateX(5rem);
            transform: translateX(5rem);
  }
  .p-top-business__items.is-visible figure:nth-child(7) {
    -webkit-transform: translateX(7.5rem);
            transform: translateX(7.5rem);
  }
}

.p-top-business__caption {
  margin-top: 3.125rem;
  font-family: "Roboto Condensed", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
  font-weight: bold;
  font-size: 0.6875rem;
  letter-spacing: 0.05em;
  color: #122a51;
  text-align: center;
}
.p-top-business__more {
  margin-top: 3.125rem;
  text-align: center;
}
@media screen and (min-width: 1024px) {
  .p-top-business__more {
    display: none;
  }
}

#btnTopBusiness {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 400;
  pointer-events: none;
  opacity: 0;
  -webkit-transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
  transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
}
#btnTopBusiness.on-detail {
  opacity: 1;
}
@media screen and (max-width: 1023px) {
  #btnTopBusiness {
    display: none;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.p-top-interview {
  position: relative;
  overflow: hidden;
  padding: 0 0 6.875rem;
  background: #eaf7ff;
}
@media screen and (min-width: 1024px) {
  .p-top-interview {
    padding: 0 0 8.375rem;
  }
}

.p-top-interview__bg {
  position: absolute;
  pointer-events: none;
}
@media screen and (max-width: 1023px) {
  .p-top-interview__bg {
    display: none;
  }
}
@media screen and (min-width: 1024px) {
  .p-top-interview__bg img {
    width: 33.71875rem;
  }
}

@media screen and (min-width: 1024px) {
  .p-top-interview__wrap {
    position: relative;
    width: 31.25rem;
    margin-left: 80px;
  }
}

.p-top-interview__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
}
@media screen and (min-width: 1024px) {
  .p-top-interview__head {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    text-align: left;
  }
}

.p-top-interview__desc {
  margin-top: 0.5rem;
  font-size: 14px;
  letter-spacing: 0.05em;
  line-height: 2.2857142857;
  color: #1e355a;
}
@media screen and (min-width: 1024px) {
  .p-top-interview__desc {
    margin-top: 0.5rem;
    font-size: 14px;
    letter-spacing: 0.1em;
    line-height: 2.2857142857;
  }
}

.p-top-interview__items {
  position: relative;
  padding-top: 1.25rem;
}
.p-top-interview__items .swiper {
  overflow: initial;
}
.p-top-interview__items .swiper-wrapper {
  height: auto;
}
@media screen and (min-width: 1024px) {
  .p-top-interview__items {
    position: absolute;
    width: 50vw;
    left: 50%;
    top: 0;
    padding-top: 0;
    padding-left: 3.625rem;
    overflow: hidden;
  }
  .p-top-interview__items:before {
    content: "";
    display: block;
    width: 6.25rem;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    pointer-events: none;
    background: -webkit-gradient(linear, right top, left top, from(rgba(234, 247, 255, 0)), to(#eaf7ff));
    background: linear-gradient(to left, rgba(234, 247, 255, 0) 0%, #eaf7ff 100%);
    z-index: 10;
  }
  .p-top-interview__items .swiper {
    margin-left: 0;
    width: 25.25rem;
  }
  .p-top-interview__items .swiper-wrapper {
    gap: 2.3125rem;
  }
}

.p-top-interview__slideCtrl button {
  position: absolute;
  z-index: 10;
  right: -0.625rem;
  top: calc(50% - 0.625rem);
}
.p-top-interview__slideCtrl #btnTopInterverPrev {
  right: auto;
  left: 0;
}
@media screen and (min-width: 1024px) {
  .p-top-interview__slideCtrl button {
    right: 3.75rem;
    top: calc(50% - 2.5rem);
  }
}

.p-top-interview__more {
  position: relative;
  padding-top: 3.125rem;
  text-align: center;
}
@media screen and (min-width: 1024px) {
  .p-top-interview__more {
    margin-top: auto;
    margin-left: 80px;
    text-align: left;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.p-top-data {
  position: relative;
  overflow: hidden;
  background: #5cd2ff;
  color: var(--color);
  height: 35.25rem;
}
@media screen and (min-width: 1024px) {
  .p-top-data {
    height: 42.5rem;
  }
}

.p-top-data__bg picture {
  position: absolute;
  top: 2rem;
}
.p-top-data__bg img {
  width: 21.875rem;
  max-width: none;
}
.p-top-data__bg picture:nth-child(2) {
  left: calc(50% - 10.9375rem);
}
@media screen and (max-width: 1023px) {
  .p-top-data__bg picture:nth-child(1),
  .p-top-data__bg picture:nth-child(3) {
    display: none;
  }
}
@media screen and (min-width: 1024px) {
  .p-top-data__bg picture {
    top: 5.1875rem;
  }
  .p-top-data__bg picture:nth-child(1) {
    right: calc(50% + 35.625rem);
  }
  .p-top-data__bg picture:nth-child(2) {
    left: calc(50% - 26.25rem);
  }
  .p-top-data__bg picture:nth-child(3) {
    left: calc(50% + 35.625rem);
  }
  .p-top-data__bg img {
    width: 52.5rem;
  }
}

.p-top-data__wrap {
  position: relative;
  padding-top: 5rem;
}
@media screen and (min-width: 1024px) {
  .p-top-data__wrap {
    padding-top: 3.75rem;
  }
}

.p-top-data__head {
  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;
  text-align: center;
  gap: 0.625rem;
}
@media screen and (min-width: 1024px) {
  .p-top-data__head {
    gap: 1.25rem;
  }
}

.p-top-data__title {
  font-family: "Roboto Condensed", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
  font-weight: bold;
  font-size: 2.875rem;
  line-height: 1;
}
@media screen and (min-width: 1024px) {
  .p-top-data__title {
    font-size: 5.25rem;
  }
}

.p-top-data__desc {
  margin-top: -6px;
  padding: 0 20px;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  line-height: 2.2857142857;
  text-align: left;
}
@media screen and (min-width: 1024px) {
  .p-top-data__desc {
    margin-top: 0;
    padding: 0;
    letter-spacing: 0.1em;
    text-align: center;
  }
}

.p-top-data__items {
  padding: 2rem 0;
}
.p-top-data__items .swiper {
  overflow: initial;
  width: 13.5rem;
}
.p-top-data__items .swiper-wrapper {
  height: auto;
  gap: 0.25rem;
  -webkit-transition-timing-function: linear !important;
          transition-timing-function: linear !important;
}
@media screen and (min-width: 1024px) {
  .p-top-data__items {
    padding: 2.125rem 0;
  }
  .p-top-data__items .swiper {
    width: 54.875rem;
  }
  .p-top-data__items .swiper-wrapper {
    gap: 0.625rem;
  }
}

.p-top-data__more {
  text-align: center;
}
@media screen and (min-width: 1024px) {
  .p-top-data__more a {
    width: 25rem;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	p-welfare
----------------------------------------------------*/
.p-welfare {
  position: relative;
}
.p-welfare-content {
  margin-top: 5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.25rem;
}
@media screen and (min-width: 1024px) {
  .p-welfare-content {
    margin-top: 3.4375rem;
    gap: 6.25rem;
  }
}

.p-welfare-more {
  padding: 5rem 0 2.5rem;
}
@media screen and (min-width: 1024px) {
  .p-welfare-more {
    padding: 6.25rem 0;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	...
----------------------------------------------------*/
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	cm-entry
----------------------------------------------------*/
body figure {
  margin-bottom: 0;
}

.cm-entry {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 30px;
  font-size: 1rem;
  line-height: 2;
  word-break: break-all;
}
@media screen and (min-width: 1024px) {
  .cm-entry {
    gap: 36px;
  }
}
.cm-entry h1 {
  font-size: 2em;
  margin-top: 0.67em;
  font-weight: bold;
}
.cm-entry h2 {
  font-size: 1.5em;
  margin-top: 0.83em;
  font-weight: bold;
}
.cm-entry h3 {
  display: block;
  font-size: 1.17em;
  margin-top: 1em;
  font-weight: bold;
}
.cm-entry h4 {
  font-size: 1em;
  margin-top: 1.33em;
  font-weight: bold;
}
.cm-entry h5 {
  font-size: 0.83em;
  margin-top: 1.67em;
  font-weight: bold;
}
.cm-entry strong {
  font-weight: bold;
}
.cm-entry em {
  font-style: italic;
}
.cm-entry ul, .cm-entry ol {
  margin-left: 1.5em;
}
.cm-entry li {
  list-style: disc;
}
.cm-entry ol li {
  list-style: decimal;
}
.cm-entry table th {
  font-weight: bold;
}
.cm-entry table th,
.cm-entry table td {
  padding: 0.5em 0.5em;
  border: 1px solid #ccc;
}
.cm-entry a {
  color: #1DA1F2;
  text-decoration: underline;
}
.cm-entry a:hover {
  text-decoration: none;
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.editor-styles-wrapper.editor-styles-wrapper.editor-styles-wrapper .wp-block-gallery,
.cm-entry .wp-block-gallery {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 1023px) {
  .editor-styles-wrapper.editor-styles-wrapper.editor-styles-wrapper .wp-block-gallery,
  .cm-entry .wp-block-gallery {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	cm-main-box
----------------------------------------------------*/
.cm-main-box {
  border-radius: 0.375rem;
  background: #fff;
  border: 0.1875rem solid #f5f5f5;
}
@media screen and (min-width: 1024px) {
  .cm-main-box {
    border: 0.375rem solid #f5f5f5;
  }
}

.cm-main-box__head {
  padding: 2.375rem 0.375rem 0.375rem;
  text-align: center;
}
@media screen and (min-width: 1024px) {
  .cm-main-box__head {
    padding: 5rem 1.25rem 1.25rem;
  }
}

.cm-main-box__body {
  padding: 0 1.5625rem 1.5625rem;
}
@media screen and (min-width: 1024px) {
  .cm-main-box__body {
    padding: 1.6666666667rem 4.625rem 4.375rem;
  }
}

.cm-main-box__title {
  font-weight: bold;
  font-size: 1.375rem;
  letter-spacing: 0.2em;
  color: #0c3c86;
}
@media screen and (min-width: 1024px) {
  .cm-main-box__title {
    font-size: 2.25rem;
  }
}

.cm-main-box__titleEn {
  font-family: "Roboto Condensed", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
  font-weight: bold;
  font-size: 2.875rem;
  line-height: 1;
  color: #0c3c86;
  text-transform: uppercase;
}
@media screen and (min-width: 1024px) {
  .cm-main-box__titleEn {
    font-size: 4.125rem;
  }
}

.cm-main-box__titleJa {
  margin-top: 0.25rem;
  font-weight: bold;
  font-size: 1.25rem;
  letter-spacing: 0.05em;
  color: #0c3c86;
}
@media screen and (min-width: 1024px) {
  .cm-main-box__titleJa {
    margin-top: 0.5rem;
    font-size: 1.5rem;
  }
}

.cm-main-box__flows {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.25rem;
  padding: 1.25rem 1.5625rem 2.5rem;
}
@media screen and (min-width: 1024px) {
  .cm-main-box__flows {
    padding: 5rem 4.5rem 2rem;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 1.5625rem;
  }
}

/*=== flow ===*/
.cm-main-box-flow {
  width: 17.5rem;
  height: 6.25rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.8125rem;
  padding: 0.5rem 1.25rem;
  border-radius: 0.375rem;
  background: #e8f8ff;
  position: relative;
}
@media screen and (min-width: 641px) and (max-width: 1023px) {
  .cm-main-box-flow {
    width: 100%;
  }
}
@media screen and (min-width: 1024px) {
  .cm-main-box-flow {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    width: auto;
    gap: 0.5rem;
    height: 16.25rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 1.875rem 0.8125rem;
    border-radius: 0.375rem;
    background: #e8f8ff;
  }
}

.cm-main-box-flow__no {
  position: absolute;
  left: -0.75rem;
  top: -0.75rem;
  font-family: "HelveticaNeue", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
  font-weight: bold;
  font-size: 2.3125rem;
  line-height: 1;
  color: #0c244b;
}
@media screen and (min-width: 1024px) {
  .cm-main-box-flow__no {
    width: 100%;
    left: 0;
    top: -1rem;
    text-align: center;
    font-size: 2.0625rem;
  }
}

.cm-main-box-flow__pic {
  width: 5.1875rem;
}
@media screen and (min-width: 1024px) {
  .cm-main-box-flow__pic {
    width: 6.25rem;
  }
}

.cm-main-box-flow__body {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.25rem;
}
@media screen and (min-width: 1024px) {
  .cm-main-box-flow__body {
    gap: 1rem;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.cm-main-box-flow__title {
  font-weight: bold;
  font-size: 1rem;
  letter-spacing: 0.1em;
  color: #0c3c86;
}
@media screen and (min-width: 1024px) {
  .cm-main-box-flow__title {
    font-size: 1.25rem;
  }
}

.cm-main-box-flow__desc {
  font-size: 0.75rem;
  letter-spacing: 0.05em;
  line-height: 1.3333333333;
}
@media screen and (min-width: 1024px) {
  .cm-main-box-flow__desc {
    font-size: 0.875rem;
    line-height: 1.5714285714;
  }
}

/*=== entry ===*/
.cm-main-box-entry {
  padding: 1.875rem 2.25rem 2.625rem;
  background: #2885cc;
  color: var(--color);
}
.cm-main-box-entry a {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
}
.cm-main-box-entry a:has(img) {
  border: 1px solid #aaa;
}
@media screen and (min-width: 1024px) {
  .cm-main-box-entry {
    padding: 2.5rem 10.9375rem 5.625rem;
  }
}

.cm-main-box-entry__title {
  font-weight: bold;
  font-size: 1.125rem;
  letter-spacing: 0.05em;
  text-align: center;
}
@media screen and (min-width: 1024px) {
  .cm-main-box-entry__title {
    font-size: 1.625rem;
  }
}

.cm-main-box-entry__link {
  margin-top: 0.75rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.5rem;
  text-align: center;
}
.cm-main-box-entry__link img {
  width: 15.625rem;
}
@media screen and (min-width: 1024px) {
  .cm-main-box-entry__link {
    margin-top: 2.5rem;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 1.875rem;
  }
  .cm-main-box-entry__link img {
    width: auto;
  }
}

.cm-main-box-entry__more {
  margin-top: 1rem;
  margin-bottom: -1rem;
  text-align: center;
}
.cm-main-box-entry__more a {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-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.5rem;
  font-weight: bold;
  font-size: 0.875rem;
  letter-spacing: 0.1em;
  color: #fff;
}
.cm-main-box-entry__more i {
  width: 0.75rem;
}
.cm-main-box-entry__more svg {
  width: 100%;
  height: auto;
  fill: #fff;
}
.cm-main-box-entry__more span {
  text-decoration: underline;
}
.cm-main-box-entry__more a:hover span {
  text-decoration: none;
}
@media screen and (min-width: 1024px) {
  .cm-main-box-entry__more {
    margin-top: 1.875rem;
    margin-bottom: -2.5rem;
  }
  .cm-main-box-entry__more a {
    gap: 0.75rem;
    font-size: 1.125rem;
  }
  .cm-main-box-entry__more i {
    width: 0.875rem;
  }
}

/*=== faq ===*/
.cm-main-box__faq {
  padding: 1.25rem 1.5625rem 1.875rem;
}
@media screen and (min-width: 1024px) {
  .cm-main-box__faq {
    padding: 2.5rem 5rem 6.25rem;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.cm-main-box-entry-career {
  padding: 1.875rem 1.25rem 1.875rem;
  background: #2885cc;
  color: var(--color);
}
@media screen and (min-width: 1024px) {
  .cm-main-box-entry-career {
    padding: 2.5rem 4.6875rem 4.6875rem;
  }
}

.cm-main-box-entry-career__title {
  font-weight: bold;
  font-size: 1.125rem;
  letter-spacing: 0.05em;
  text-align: center;
}
@media screen and (min-width: 1024px) {
  .cm-main-box-entry-career__title {
    font-size: 1.625rem;
  }
}

.cm-main-box-entry-career__body {
  margin-top: 1.25rem;
  padding: 2rem 1.3333333333rem 0.5rem;
  border-radius: 0.375rem;
  background: #fff;
  color: #383838;
}
@media screen and (min-width: 1024px) {
  .cm-main-box-entry-career__body {
    margin-top: 1.25rem;
    padding: 4.3333333333rem 2.625rem;
  }
}

.cm-main-box-entry-career__sub {
  margin-top: 0.5rem;
  font-weight: bold;
  font-size: 0.8125rem;
  letter-spacing: 0.05em;
  line-height: 1.5rem;
  text-align: left;
  color: #383838;
}
@media screen and (min-width: 1024px) {
  .cm-main-box-entry-career__sub {
    font-weight: bold;
    font-size: 1.125rem;
    line-height: 1.375rem;
    text-align: left;
    color: #333;
  }
}

.cm-main-box-entry-career__info {
  margin-top: 0.75rem;
  font-weight: normal;
  font-size: 0.75rem;
  letter-spacing: 0.05em;
  line-height: 1rem;
  text-align: left;
  color: #1e355a;
}
@media screen and (min-width: 1024px) {
  .cm-main-box-entry-career__info {
    font-weight: 500;
    font-size: 1rem;
    line-height: 2rem;
    text-align: left;
    color: #333;
  }
}

.cm-main-box-entry-career__action {
  margin-top: 0.75rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.375rem;
  margin-inline: -0.5rem;
}
.cm-main-box-entry-career__action dl {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 3.75rem;
  border-radius: 0.375rem;
  background: #fff;
  border: 1px solid #2885cc;
  padding: 1.3333333333rem 1.125rem;
  font-size: 0.75rem;
  color: #333;
}
.cm-main-box-entry-career__action dt {
  width: 3.125rem;
}
.cm-main-box-entry-career__action dd {
  font-weight: bold;
  font-size: 1rem;
}
.cm-main-box-entry-career__action dd a {
  color: #2885cc;
}
@media screen and (min-width: 1024px) {
  .cm-main-box-entry-career__action {
    margin-top: 1.5rem;
    margin-inline: 0;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 0.75rem;
  }
  .cm-main-box-entry-career__action dl {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 3rem 2rem;
    font-size: 1.125rem;
    height: 7.5rem;
  }
  .cm-main-box-entry-career__action dt {
    padding-top: 0.375rem;
  }
  .cm-main-box-entry-career__action dd {
    font-size: 1.5rem;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*=== welfare ===*/
.cm-main-box-welfare__wrap {
  margin-top: 1.25rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.75rem;
}
@media screen and (min-width: 1024px) {
  .cm-main-box-welfare__wrap {
    margin-top: 1.25rem;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 2.25rem;
    padding: 0 5rem 3.75rem;
  }
}

.cm-main-box-welfare__pic {
  width: 16.05875rem;
  margin: 0 auto;
}
@media screen and (min-width: 1024px) {
  .cm-main-box-welfare__pic {
    width: 30.44125rem;
    margin: -1.25rem -1.875rem 0 0;
  }
}

.cm-main-box-welfare__body {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.25rem;
  padding: 0 1.8125rem 3.125rem;
}
@media screen and (min-width: 1024px) {
  .cm-main-box-welfare__body {
    padding: 0;
  }
}

.cm-main-box-welfare__title {
  font-weight: bold;
  font-size: 1.25rem;
  letter-spacing: 0.05em;
  line-height: 2;
  color: #0c244b;
  text-align: center;
}
@media screen and (min-width: 1024px) {
  .cm-main-box-welfare__title {
    text-align: left;
    font-size: 1.25rem;
    letter-spacing: 0.2em;
  }
}

.cm-main-box-welfare__desc {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.75rem;
  font-size: 0.8125rem;
  letter-spacing: 0.05em;
  line-height: 1.8461538462;
  color: #1e355a;
}
@media screen and (min-width: 1024px) {
  .cm-main-box-welfare__desc {
    gap: 1.25rem;
    font-size: 0.875rem;
    letter-spacing: 0.1em;
    line-height: 1.8571428571;
  }
}

.cm-main-box-welfare__data {
  padding: 0 1.5625rem 2.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.25rem;
}
@media screen and (min-width: 1024px) {
  .cm-main-box-welfare__data {
    padding: 0 5rem 6.25rem;
    gap: 1.875rem;
  }
}

.cm-main-box-welfare__data dl {
  padding-top: 1.25rem;
  border-top: 1px dashed #e5e5e5;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.625rem;
}
.cm-main-box-welfare__data dl dt {
  font-weight: bold;
  font-size: 1.375rem;
  letter-spacing: 0.1em;
  text-align: center;
  color: #0c3c86;
}
.cm-main-box-welfare__data dl ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.5rem 0.375rem;
}
.cm-main-box-welfare__data dl ul li {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 2rem;
  padding: 0 0.75rem;
  border-radius: 0.25rem;
  background: #e8f8ff;
  font-weight: bold;
  font-size: 0.6875rem;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1024px) {
  .cm-main-box-welfare__data dl {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding-top: 1.875rem;
    gap: 0;
  }
  .cm-main-box-welfare__data dl dt {
    width: 13.75rem;
    padding-right: 1.5rem;
    font-weight: bold;
    font-size: 1.375rem;
    letter-spacing: 0.1em;
  }
  .cm-main-box-welfare__data dl dd {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
  .cm-main-box-welfare__data dl ul {
    gap: 0.625rem 0.5rem;
  }
  .cm-main-box-welfare__data dl ul li {
    min-width: 7.8125rem;
    height: 4.0625rem;
    padding: 0 1.125rem;
    border-radius: 0.375rem;
    font-size: 1rem;
  }
}

/*=== training ===*/
@media screen and (max-width: 1023px) {
  .cm-main-box--training {
    background: transparent;
    border: none;
  }
  .cm-main-box--training .cm-main-box__head {
    border: 0.1875rem solid #f5f5f5;
    border-bottom: none;
    background: #fff;
  }
}
.cm-main-box-training__wrap {
  background: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (max-width: 1023px) {
  .cm-main-box-training__wrap {
    border: 0.1875rem solid #f5f5f5;
    border-top: none;
  }
}
@media screen and (min-width: 1024px) {
  .cm-main-box-training__wrap {
    padding: 0 5rem 0;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.cm-main-box-training__pic {
  width: 16.875rem;
  margin: 1.25rem auto 0.25rem;
}
@media screen and (min-width: 1024px) {
  .cm-main-box-training__pic {
    position: relative;
    right: -2.5rem;
    top: -1.25rem;
    margin: 0;
    width: 31.875rem;
  }
}

.cm-main-box-training__body {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.125rem;
  padding: 0 1.875rem 2.5rem;
}
@media screen and (min-width: 1024px) {
  .cm-main-box-training__body {
    padding: 0;
    gap: 1.125rem;
  }
}

.cm-main-box-training__title {
  font-weight: bold;
  font-size: 1.25rem;
  letter-spacing: 0.05em;
  line-height: 2;
  text-align: center;
  color: #0c244b;
}
@media screen and (min-width: 1024px) {
  .cm-main-box-training__title {
    font-size: 1.25rem;
    letter-spacing: 0.2em;
    line-height: 2.1;
    text-align: left;
  }
}

.cm-main-box-training__desc {
  font-size: 0.8125rem;
  letter-spacing: 0.05em;
  line-height: 1.8461538462;
  color: #1e355a;
}
@media screen and (min-width: 1024px) {
  .cm-main-box-training__desc {
    font-size: 0.875rem;
    letter-spacing: 0.1em;
    line-height: 1.8571428571;
  }
}

.cm-main-box-training__items {
  margin-top: 1.25rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (max-width: 1023px) {
  .cm-main-box-training__items {
    margin-inline: calc(50% - 50vw);
    background: #fff;
  }
}
@media screen and (min-width: 1024px) {
  .cm-main-box-training__items {
    gap: 5rem;
    padding: 0 5rem 5rem;
  }
}

.cm-main-box-training-item__detail {
  margin-top: 1.25rem;
  display: -ms-grid;
  display: grid;
  gap: 1.25rem;
  padding: 0 1.875rem 2.5rem;
}
@media screen and (min-width: 1024px) {
  .cm-main-box-training-item__detail {
    padding: 0;
    margin-top: 2.5rem;
    -ms-grid-columns: 1fr 2.5rem 1fr;
    grid-template-columns: 1fr 1fr;
    gap: 2.5rem;
  }
}

.cm-main-box-training-item__flow img {
  width: 100%;
}
.cm-main-box-training-item__other {
  margin-top: 1.25rem;
  display: -ms-grid;
  display: grid;
  gap: 1.25rem;
  padding: 0 1.875rem 2.5rem;
}
@media screen and (min-width: 1024px) {
  .cm-main-box-training-item__other {
    padding: 0;
    margin-top: 2.5rem;
    -ms-grid-columns: 1fr 2.5rem 1fr;
    grid-template-columns: 1fr 1fr;
    gap: 2.5rem;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	cm-main
----------------------------------------------------*/
.cm-main-mv {
  position: relative;
}
.cm-main-mv:before {
  content: "";
  display: block;
  width: 100%;
  height: 16rem;
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  background: #fff;
  z-index: -1;
}
@media screen and (min-width: 1024px) {
  .cm-main-mv:before {
    height: 20.3125rem;
  }
}

.cm-main-mv__bg {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 100vh;
  position: fixed;
  left: 0;
  top: 0;
  pointer-events: none;
  overflow: hidden;
  z-index: -1;
}
.cm-main-mv__bg svg {
  width: 100%;
  height: auto;
}
.cm-main-mv__bg figure {
  position: absolute;
}
.cm-main-mv__bg figure._particle1 {
  width: 15rem;
  left: -6.25rem;
  top: 6.25rem;
}
.cm-main-mv__bg figure._particle2 {
  width: 11.25rem;
  right: -2.5rem;
  top: 5rem;
}
.cm-main-mv__bg figure._particle3 {
  width: 5.145625rem;
  right: -1.25rem;
  top: 17.5rem;
}
@media screen and (min-width: 1024px) {
  .cm-main-mv__bg figure._particle1 {
    width: 32.403125rem;
    left: -4.375rem;
    top: 6.25rem;
  }
  .cm-main-mv__bg figure._particle2 {
    width: 34.9rem;
    right: -3.125rem;
    top: -3.125rem;
  }
  .cm-main-mv__bg figure._particle3 {
    width: 9.435rem;
    right: -3.125rem;
    top: 31.25rem;
  }
}

.cm-main-mv__scroll {
  position: absolute;
  z-index: 450;
  left: calc(50% - 8.5rem);
  top: calc(100vh - 1rem);
  display: none;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-family: "Roboto Condensed", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
  font-weight: bold;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  line-height: 1;
  color: #0c244b;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
  -webkit-transform-origin: right bottom;
          transform-origin: right bottom;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.is-scrolled .cm-main-mv__scroll {
  opacity: 0;
}
.cm-main-mv__scroll i {
  position: relative;
  width: 5rem;
  height: 0.0625rem;
  background: #0c244b;
}
.cm-main-mv__scroll i:after {
  content: "";
  display: block;
  width: 2.625rem;
  height: 0.3125rem;
  position: absolute;
  top: -0.125rem;
  pointer-events: none;
  background: #40beee;
  -webkit-animation: cmMvScroll 3s cubic-bezier(0.215, 0.61, 0.355, 1) infinite;
          animation: cmMvScroll 3s cubic-bezier(0.215, 0.61, 0.355, 1) infinite;
}
@media screen and (max-width: 1023px) {
  .cm-main-mv__scroll p {
    -webkit-transform: rotate(-90deg);
            transform: rotate(-90deg);
  }
  .page-front .cm-main-mv__scroll {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
@media screen and (min-width: 1024px) {
  .cm-main-mv__scroll {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 1.25rem;
    left: -10.3125rem;
  }
  .cm-main-mv__scroll i {
    width: 9.375rem;
  }
  .cm-main-mv__scroll i:after {
    width: 2.625rem;
  }
}

@-webkit-keyframes cmMvScroll {
  0% {
    opacity: 0;
    right: calc(100% - 2.625rem);
  }
  5% {
    opacity: 1;
    right: calc(100% - 2.625rem);
  }
  50% {
    right: 0;
    opacity: 1;
  }
  100% {
    right: 0;
    opacity: 0;
  }
}

@keyframes cmMvScroll {
  0% {
    opacity: 0;
    right: calc(100% - 2.625rem);
  }
  5% {
    opacity: 1;
    right: calc(100% - 2.625rem);
  }
  50% {
    right: 0;
    opacity: 1;
  }
  100% {
    right: 0;
    opacity: 0;
  }
}
.cm-main-mv__wrap {
  position: relative;
  padding: 9.1875rem 0 0 0;
}
@media screen and (min-width: 1024px) {
  .cm-main-mv__wrap {
    padding: 11.125rem 0 0 0;
  }
}

.cm-main-mv__lead {
  margin-top: 1.125rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.75rem;
}
.cm-main-mv__lead .c-paragraph--lg {
  opacity: 0;
}
.cm-main-mv__lead ._c {
  opacity: 0;
  will-change: filter, transform, opacity;
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
}
@media screen and (min-width: 1024px) {
  .cm-main-mv__lead {
    margin-top: 2.125rem;
    gap: 1.25rem;
  }
}

.cm-main-mv__nav {
  display: none;
}
@media screen and (min-width: 1024px) {
  .cm-main-mv__nav {
    display: block;
    margin-top: 4rem;
  }
}

.cm-main-mv__faq {
  margin-top: 4rem;
}
@media screen and (min-width: 1024px) {
  .cm-main-mv__faq {
    display: block;
    margin-top: 4rem;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.cm-main-nav__list {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1.75rem 1fr;
  grid-template-columns: 1fr 1fr;
  gap: 0.625rem 1.75rem;
}
@media screen and (max-width: 1023px) {
  .cm-main-nav__list li {
    border-bottom: 1px solid #fff;
  }
}
@media screen and (min-width: 1024px) {
  .cm-main-nav__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 0 1.5rem 2.375rem;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 0 1.5rem;
    border-bottom: 1px solid #fff;
  }
}

.cm-main-nav__link {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  width: 100%;
  padding: 1.125rem 0.625rem;
  font-weight: bold;
  font-size: 0.8125rem;
  color: #fff;
}
.cm-main-nav__link:hover {
  color: var(--color-accent);
}
.cm-main-nav__link span {
  display: inline-block;
  -webkit-transform-origin: 50% 50% 0.5em;
          transform-origin: 50% 50% 0.5em;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  -webkit-transform: rotate3d(1, 0, 0, 0);
          transform: rotate3d(1, 0, 0, 0);
  -webkit-transition: opacity 0.3s cubic-bezier(0.37, 0, 0.63, 1), -webkit-transform 0.3s cubic-bezier(0.37, 0, 0.63, 1);
  transition: opacity 0.3s cubic-bezier(0.37, 0, 0.63, 1), -webkit-transform 0.3s cubic-bezier(0.37, 0, 0.63, 1);
  transition: transform 0.3s cubic-bezier(0.37, 0, 0.63, 1), opacity 0.3s cubic-bezier(0.37, 0, 0.63, 1);
  transition: transform 0.3s cubic-bezier(0.37, 0, 0.63, 1), opacity 0.3s cubic-bezier(0.37, 0, 0.63, 1), -webkit-transform 0.3s cubic-bezier(0.37, 0, 0.63, 1);
}
.cm-main-nav__link:hover span {
  -webkit-transform: rotate3d(1, 0, 0, -90deg);
          transform: rotate3d(1, 0, 0, -90deg);
  opacity: 0;
}
.cm-main-nav__link:before {
  content: attr(data-text) "";
  position: absolute;
  -webkit-transform-origin: 50% 50% 0.5em;
          transform-origin: 50% 50% 0.5em;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  -webkit-transform: rotate3d(1, 0, 0, 90deg);
          transform: rotate3d(1, 0, 0, 90deg);
  -webkit-transition: 0.3s cubic-bezier(0.37, 0, 0.63, 1);
  transition: 0.3s cubic-bezier(0.37, 0, 0.63, 1);
  opacity: 0;
}
.cm-main-nav__link:hover:before {
  opacity: 1;
  -webkit-transform: rotate3d(1, 0, 0, 0);
          transform: rotate3d(1, 0, 0, 0);
}
@media screen and (min-width: 1024px) {
  .cm-main-nav__link {
    width: auto;
    padding: 0;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.cm-main-more {
  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;
  min-height: 100vh;
  padding: 5.25rem 0;
}
.cm-main-more__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2.5rem;
}
@media screen and (min-width: 1024px) {
  .cm-main-more__wrap {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 6.625rem;
  }
}

.cm-main-more-item {
  height: 30rem;
  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;
  position: relative;
  padding: 2.25rem 0 0;
}
.cm-main-more-item > * {
  position: relative;
}
.cm-main-more-item:before {
  content: "";
  display: block;
  position: absolute;
  left: calc(50% - 9.375rem);
  top: 0;
  pointer-events: none;
  width: 18.75rem;
  height: 100%;
  background: transparent;
  border: 0.625rem solid #fff;
}
@media screen and (min-width: 1024px) {
  .cm-main-more-item {
    padding: 2.5rem 0 0;
    height: 42.6875rem;
  }
  .cm-main-more-item:before {
    left: calc(50% - 10.1875rem);
    width: 20.375rem;
  }
}

.cm-main-more-item__title {
  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;
  gap: 0.625rem;
  font-weight: bold;
  font-size: 1.125rem;
  letter-spacing: 0.2em;
  color: #006cb7;
}
@media screen and (min-width: 1024px) {
  .cm-main-more-item__title {
    gap: 0.375rem;
    font-size: 1.375rem;
  }
  .cm-main-more-item__title:after {
    content: "";
    display: block;
    pointer-events: none;
    width: 1.1875rem;
    height: 0.125rem;
    background: #006cb7;
  }
}

.cm-main-more-item__en {
  margin-top: 0.5rem;
  font-family: "Roboto Condensed", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
  font-weight: bold;
  text-transform: uppercase;
  font-size: 2.875rem;
  line-height: 1;
  color: #122a51;
}
@media screen and (max-width: 1023px) {
  .cm-main-more-item--training .cm-main-more-item__en {
    font-size: 2.375rem;
  }
}
@media screen and (min-width: 1024px) {
  .cm-main-more-item__en {
    margin-top: 1.5rem;
    font-size: 3.25rem;
  }
}

.cm-main-more-item__desc {
  margin-top: 0.5rem;
  font-weight: bold;
  font-size: 0.6875rem;
  letter-spacing: 0.1em;
  line-height: 1.8181818182;
  text-align: center;
  color: #122a51;
}
@media screen and (min-width: 1024px) {
  .cm-main-more-item__desc {
    margin-top: 0.75rem;
    font-size: 0.8125rem;
    letter-spacing: 0.2em;
    line-height: 2.1538461538;
  }
}

.cm-main-more-item__pic {
  margin-top: 0.75rem;
  text-align: center;
}
.cm-main-more-item__pic img {
  width: 14.375rem;
}
@media screen and (min-width: 1024px) {
  .cm-main-more-item__pic {
    margin-top: 1.5rem;
    height: 18.25rem;
  }
  .cm-main-more-item__pic img {
    width: auto;
  }
}

.cm-main-more-item__link {
  margin-top: 1.125rem;
  text-align: center;
}
@media screen and (max-width: 1023px) {
  .cm-main-more-item__link a {
    width: 13.75rem;
  }
}
@media screen and (min-width: 1024px) {
  .cm-main-more-item__link {
    margin-top: 2.125rem;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.cm-main-moreB {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.25rem;
}
.cm-main-moreB li a {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  border-radius: 0.375rem;
  overflow: hidden;
}
.cm-main-moreB li a img {
  will-change: transform;
}
.cm-main-moreB li a:hover img {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}
.cm-main-moreB img {
  border-radius: 0.375rem;
}
@media screen and (max-width: 1023px) {
  .cm-main-moreB {
    margin-inline: -0.625rem;
  }
}
@media screen and (min-width: 1024px) {
  .cm-main-moreB {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 1rem;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.cm-main-other {
  position: relative;
  padding: 1.5rem 0 5.5rem;
  background: #eaf7ff;
}
@media screen and (min-width: 1024px) {
  .cm-main-other {
    padding: 2.5rem 0 10.25rem;
  }
}

.cm-main-other--transparent {
  background: transparent;
}

.cm-main-other__list li {
  padding: 3rem 0 2.375rem;
  border-bottom: 1px solid #aaa;
}
@media screen and (min-width: 1024px) {
  .cm-main-other__list li {
    padding: 4.375rem 0 2.875rem;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	...
----------------------------------------------------*/
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	c-btn
----------------------------------------------------*/
.c-btn-arrow {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 100%;
  background: #2885cc;
  border: 1px solid #2885cc;
  overflow: hidden;
  -webkit-transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
  transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
}
.c-btn-arrow:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  background: #fff;
  -webkit-transition: 0.3s cubic-bezier(0.37, 0, 0.63, 1);
  transition: 0.3s cubic-bezier(0.37, 0, 0.63, 1);
  border-radius: 100%;
  -webkit-transform: scale(0);
          transform: scale(0);
}
.c-btn-arrow svg {
  position: relative;
  width: 0.875rem;
  height: auto;
  fill: #fff;
}
.c-btn-arrow:active {
  -webkit-transform: scale(0.965);
          transform: scale(0.965);
}
@media (hover: hover) {
  .c-btn-arrow:hover:before, a:hover .c-btn-arrow:before {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  .c-btn-arrow:hover svg, a:hover .c-btn-arrow svg {
    fill: #2885cc;
    -webkit-animation: btnArrow 0.3s forwards;
            animation: btnArrow 0.3s forwards;
  }
}
@media screen and (min-width: 1024px) {
  .c-btn-arrow {
    width: 5rem;
    height: 5rem;
  }
  .c-btn-arrow svg {
    width: 1.75rem;
  }
}

.c-btn-arrow--left {
  -webkit-transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
  transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
}
.c-btn-arrow--left:active {
  -webkit-transform: scale(0.965);
          transform: scale(0.965);
}
@media (hover: hover) {
  .c-btn-arrow--left:hover svg, a:hover .c-btn-arrow--left svg {
    -webkit-animation: btnArrowLeft 0.3s forwards;
            animation: btnArrowLeft 0.3s forwards;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.c-btn-round {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 10.625rem;
  height: 2.875rem;
  border-radius: 1.4375rem;
  background: var(--color-assort);
  font-weight: bold;
  font-size: 0.875rem;
  color: #fff;
  border: 1px solid #2885cc;
  -webkit-transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
  transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
}
.c-btn-round:active {
  -webkit-transform: scale(0.965);
          transform: scale(0.965);
}
@media (hover: hover) {
  .c-btn-round:hover, a:hover .c-btn-round {
    background: #fff;
    color: #2885cc;
  }
}
.c-btn-round__en {
  font-family: "Roboto Condensed", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
  font-weight: bold;
}
.c-btn-round--more {
  width: 18.75rem;
  height: 3.75rem;
  border-radius: 1.875rem;
  font-size: 1.25rem;
}
@media screen and (min-width: 1024px) {
  .c-btn-round--more {
    width: 13.25rem;
    height: 3.4375rem;
    border-radius: 1.71875rem;
    font-size: 1rem;
  }
}

@media screen and (min-width: 1024px) {
  .c-btn-round--message {
    width: 12.5rem;
    height: 12.5rem;
    background: rgba(0, 108, 183, 0.8);
    border-radius: 100%;
    font-size: 1.75rem;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.c-btn-page {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  color: #122a51;
  padding: 0 0.625rem;
}
@media screen and (min-width: 1024px) {
  .c-btn-page {
    padding: 0;
  }
}

.c-btn-page__txt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.c-btn-page__en {
  margin-left: -0.05em;
  font-family: "Roboto Condensed", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
  font-weight: bold;
  font-size: 2.375rem;
  line-height: 1;
  text-transform: uppercase;
}
.c-btn-page__en span {
  display: inline-block;
  -webkit-transform-origin: 50% 50% 0.5em;
          transform-origin: 50% 50% 0.5em;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  -webkit-transform: rotate3d(1, 0, 0, 0);
          transform: rotate3d(1, 0, 0, 0);
  -webkit-transition: opacity 0.3s cubic-bezier(0.37, 0, 0.63, 1), -webkit-transform 0.3s cubic-bezier(0.37, 0, 0.63, 1);
  transition: opacity 0.3s cubic-bezier(0.37, 0, 0.63, 1), -webkit-transform 0.3s cubic-bezier(0.37, 0, 0.63, 1);
  transition: transform 0.3s cubic-bezier(0.37, 0, 0.63, 1), opacity 0.3s cubic-bezier(0.37, 0, 0.63, 1);
  transition: transform 0.3s cubic-bezier(0.37, 0, 0.63, 1), opacity 0.3s cubic-bezier(0.37, 0, 0.63, 1), -webkit-transform 0.3s cubic-bezier(0.37, 0, 0.63, 1);
}
a:hover .c-btn-page__en span {
  -webkit-transform: rotate3d(1, 0, 0, -90deg);
          transform: rotate3d(1, 0, 0, -90deg);
  opacity: 0;
}
.c-btn-page__en:before {
  content: attr(data-text) "";
  position: absolute;
  -webkit-transform-origin: 50% 50% 0.5em;
          transform-origin: 50% 50% 0.5em;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  -webkit-transform: rotate3d(1, 0, 0, 90deg);
          transform: rotate3d(1, 0, 0, 90deg);
  -webkit-transition: 0.3s cubic-bezier(0.37, 0, 0.63, 1);
  transition: 0.3s cubic-bezier(0.37, 0, 0.63, 1);
  opacity: 0;
}
a:hover .c-btn-page__en:before {
  opacity: 1;
  -webkit-transform: rotate3d(1, 0, 0, 0);
          transform: rotate3d(1, 0, 0, 0);
}
@media screen and (min-width: 1024px) {
  .c-btn-page__en {
    font-size: 4.125rem;
  }
}

.c-btn-page__ja {
  font-weight: bold;
  font-size: 0.875rem;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 1024px) {
  .c-btn-page__ja {
    margin-top: 0.5rem;
    letter-spacing: 0.2em;
    font-size: 1.25rem;
  }
}

.c-btn-page__ico {
  position: relative;
  width: 2.5rem;
  height: 2.5rem;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: #1c6cb7;
  border-radius: 100%;
  font-style: normal;
  font-family: "Roboto Condensed", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
  font-weight: bold;
  font-size: 1rem;
  line-height: 1;
  color: #fff;
  border: 1px solid #2885cc;
  overflow: hidden;
}
.c-btn-page__ico:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  background: #fff;
  -webkit-transition: 0.3s cubic-bezier(0.37, 0, 0.63, 1);
  transition: 0.3s cubic-bezier(0.37, 0, 0.63, 1);
  border-radius: 100%;
  -webkit-transform: scale(0);
          transform: scale(0);
}
.c-btn-page__ico span {
  position: relative;
}
.c-btn-page__ico svg {
  width: 0.875rem;
  height: auto;
  fill: #fff;
}
@media (hover: hover) {
  a:hover .c-btn-page__ico {
    color: #1c6cb7;
  }
  a:hover .c-btn-page__ico:before {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@media screen and (max-width: 1023px) {
  .c-btn-page__ico span {
    display: none;
  }
}
@media screen and (min-width: 1024px) {
  .c-btn-page__ico {
    width: 6.75rem;
    height: 6.75rem;
  }
  .c-btn-page__ico svg {
    display: none;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.c-btn-anchor {
  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;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.25rem;
  width: 9.875rem;
  height: 4.3125rem;
  padding: 0.25rem 0 0;
  border-radius: 2.15625rem;
  background: #2885cc;
  font-weight: bold;
  font-size: 0.875rem;
  text-align: center;
  color: #fff;
  border: 1px solid #2885cc;
  -webkit-transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
  transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
}
.c-btn-anchor:active {
  -webkit-transform: scale(0.965);
          transform: scale(0.965);
}
@media (hover: hover) {
  .c-btn-anchor:hover, a:hover .c-btn-anchor {
    background: #fff;
    color: #2885cc;
  }
  .c-btn-anchor:hover svg, a:hover .c-btn-anchor svg {
    fill: #2885cc;
    -webkit-animation: btnArrowDown 0.3s forwards;
            animation: btnArrowDown 0.3s forwards;
  }
}
@media screen and (min-width: 1024px) {
  .c-btn-anchor {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding: 0 1.25rem 0 2.375rem;
    width: 15.3125rem;
    height: 4.6875rem;
    border-radius: 2.34375rem;
  }
}

.c-btn-anchor__ico {
  width: 1rem;
  font-size: 0;
}
.c-btn-anchor__ico svg {
  width: 100%;
  height: auto;
  fill: #fff;
}
@media screen and (min-width: 1024px) {
  .c-btn-anchor__ico {
    width: 1.6875rem;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.c-btn-cta {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 10.5rem;
  height: 3.75rem;
  border-radius: 0.5rem;
  background: #2885cc;
  font-weight: bold;
  font-size: 0.8125rem;
  letter-spacing: 0.05em;
  text-align: center;
  color: #fff;
  border: 1px solid #2885cc;
  -webkit-transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
  transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
}
.c-btn-cta:active {
  -webkit-transform: scale(0.965);
          transform: scale(0.965);
}
@media (hover: hover) {
  .c-btn-cta:hover, a:hover .c-btn-cta {
    background: #fff;
    color: #2885cc;
  }
}
.c-btn-cta--new {
  background: #3cbdee;
  border-color: #3cbdee;
}

.c-btn-cta__en {
  font-family: "Roboto Condensed", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
  font-weight: bold;
  font-size: 1.375rem;
  letter-spacing: 0.05em;
  line-height: 1;
}
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.c-btn-corporate {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 0.5625rem 0.5625rem 0;
  width: 16.5625rem;
  background: -webkit-gradient(linear, left top, right top, from(#2a9bd7), to(#0a35c6));
  background: linear-gradient(to right, #2a9bd7 0%, #0a35c6 100%);
  font-family: "Roboto Condensed", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
  font-weight: bold;
  font-size: 1rem;
  color: #fff;
  line-height: 1;
  text-transform: uppercase;
}
.c-btn-corporate svg {
  width: 100%;
  height: auto;
  fill: #fff;
}
@media screen and (min-width: 1024px) {
  .c-btn-corporate {
    width: 16.5625rem;
  }
}

.c-btn-corporate__txt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.625rem;
  padding: 0.75rem 0;
}
.c-btn-corporate__txt i {
  width: 0.875rem;
}
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.c-btn-bnr {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  overflow: hidden;
}
.c-btn-bnr img {
  will-change: transform;
}
.c-btn-bnr:hover img {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.c-btn-group {
  width: 100%;
  height: 4.6875rem;
  padding: 0 2.8125rem;
  background: #2885cc;
  border-radius: 2.34375rem;
}
.c-btn-group__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 0.625rem;
}
.c-btn-group__link {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 4.6875rem;
  padding: 0 0.625rem;
  font-weight: bold;
  font-size: 0.8125rem;
  text-align: center;
  color: #fff;
  position: relative;
}
.c-btn-group__link:after {
  content: "";
  display: block;
  width: 100%;
  height: 0.1875rem;
  position: absolute;
  left: 0;
  bottom: 0;
  pointer-events: none;
  background: var(--color-accent);
  opacity: 0;
}
.c-btn-group__link:hover {
  color: var(--color-accent);
}
.c-btn-group__link:hover:after {
  opacity: 1;
}
.c-btn-group__link span {
  display: inline-block;
  -webkit-transform-origin: 50% 50% 0.5em;
          transform-origin: 50% 50% 0.5em;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  -webkit-transform: rotate3d(1, 0, 0, 0);
          transform: rotate3d(1, 0, 0, 0);
  -webkit-transition: opacity 0.3s cubic-bezier(0.37, 0, 0.63, 1), -webkit-transform 0.3s cubic-bezier(0.37, 0, 0.63, 1);
  transition: opacity 0.3s cubic-bezier(0.37, 0, 0.63, 1), -webkit-transform 0.3s cubic-bezier(0.37, 0, 0.63, 1);
  transition: transform 0.3s cubic-bezier(0.37, 0, 0.63, 1), opacity 0.3s cubic-bezier(0.37, 0, 0.63, 1);
  transition: transform 0.3s cubic-bezier(0.37, 0, 0.63, 1), opacity 0.3s cubic-bezier(0.37, 0, 0.63, 1), -webkit-transform 0.3s cubic-bezier(0.37, 0, 0.63, 1);
}
.c-btn-group__link:hover span {
  -webkit-transform: rotate3d(1, 0, 0, -90deg);
          transform: rotate3d(1, 0, 0, -90deg);
  opacity: 0;
}
.c-btn-group__link:before {
  content: attr(data-text) "";
  position: absolute;
  -webkit-transform-origin: 50% 50% 0.5em;
          transform-origin: 50% 50% 0.5em;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  -webkit-transform: rotate3d(1, 0, 0, 90deg);
          transform: rotate3d(1, 0, 0, 90deg);
  -webkit-transition: 0.3s cubic-bezier(0.37, 0, 0.63, 1);
  transition: 0.3s cubic-bezier(0.37, 0, 0.63, 1);
  opacity: 0;
}
.c-btn-group__link:hover:before {
  opacity: 1;
  -webkit-transform: rotate3d(1, 0, 0, 0);
          transform: rotate3d(1, 0, 0, 0);
}
.c-btn-group__link.is-current {
  color: var(--color-accent);
}
.c-btn-group__link.is-current:after {
  opacity: 1;
}
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
@-webkit-keyframes btnArrow {
  0% {
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
  }
  50% {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
  50.1% {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
  100% {
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
  }
}
@keyframes btnArrow {
  0% {
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
  }
  50% {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
  50.1% {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
  100% {
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
  }
}
@-webkit-keyframes btnArrowLeft {
  0% {
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
  }
  50% {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
  50.1% {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
  100% {
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
  }
}
@keyframes btnArrowLeft {
  0% {
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
  }
  50% {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
  50.1% {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
  100% {
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
  }
}
@-webkit-keyframes btnArrowDown {
  0% {
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
  50% {
    -webkit-transform: translateY(50%);
            transform: translateY(50%);
    opacity: 0;
  }
  50.1% {
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
}
@keyframes btnArrowDown {
  0% {
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
  50% {
    -webkit-transform: translateY(50%);
            transform: translateY(50%);
    opacity: 0;
  }
  50.1% {
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
}
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	c-card-faq
----------------------------------------------------*/
.c-card-faq:not(:first-child) {
  padding-top: 1.25rem;
  margin-top: 1.25rem;
  border-top: 1px dashed #e5e5e5;
}
@media screen and (min-width: 1024px) {
  .c-card-faq:not(:first-child) {
    padding-top: 2rem;
    margin-top: 1.25rem;
  }
}

.c-card-faq__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.4375rem;
}
@media screen and (min-width: 1024px) {
  .c-card-faq__head {
    gap: 0.75rem;
  }
}

.c-card-faq__i {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 1.6875rem;
  height: 1.6875rem;
  background: url(../img/ico-q.svg) center center/contain no-repeat;
}
@media screen and (min-width: 1024px) {
  .c-card-faq__i {
    width: 2.5rem;
    height: 2.5rem;
  }
}

.c-card-faq__title {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  font-weight: bold;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  line-height: 1.4285714286;
}
@media screen and (min-width: 1024px) {
  .c-card-faq__title {
    padding-top: 0.375rem;
    font-size: 1.125rem;
  }
}

.c-card-faq__body {
  margin-top: 0.625rem;
  padding: 1.25rem 1.375rem;
  border-radius: 0.375rem;
  background: #e8f8ff;
  font-size: 0.75rem;
  letter-spacing: 0.05em;
  line-height: 1.6666666667;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.625rem;
}
.c-card-faq__body small {
  font-size: 100%;
}
@media screen and (min-width: 1024px) {
  .c-card-faq__body {
    margin: 0.8125rem 0 0 3.25rem;
    padding: 1.125rem 1.25rem;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    font-size: 1rem;
    line-height: 1.6875;
  }
  .c-card-faq__body small {
    font-size: 0.875rem;
  }
}

.c-card-faq__txt {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.c-card-faq__action {
  text-align: center;
}
@media screen and (min-width: 1024px) {
  .c-card-faq__action {
    width: 10.625rem;
  }
  .c-card-faq__action a {
    width: 100%;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.c-card-interview {
  width: 100%;
  position: relative;
  border-radius: 0.375rem;
  background: #fff;
  border: 0.375rem solid #2885cc;
  padding: 1.75rem 1.375rem 2.375rem;
}
.c-card-interview:before {
  content: "";
  display: block;
  width: 100%;
  height: 21.75rem;
  position: absolute;
  right: 0;
  top: 0;
  pointer-events: none;
  background: #2885cc;
}
@media screen and (min-width: 1024px) {
  .c-card-interview {
    display: -ms-grid;
    display: grid;
        grid-template-areas: "head movie" "message movie" "profile movie";
    gap: 0 2rem;
    -ms-grid-rows: 1fr 0 auto 0 auto;
    grid-template-rows: 1fr auto auto;
    padding: 2.375rem 1.25rem 2.875rem 4.5rem;
    border-width: 0.625rem;
  }
  .c-card-interview:before {
    width: 27.5rem;
    height: 100%;
  }
}

.c-card-interview:nth-child(even) {
  border-color: #40beee;
}
.c-card-interview:nth-child(even):before {
  background: #40beee;
}
@media screen and (min-width: 1024px) {
  .c-card-interview:nth-child(even) {
    padding: 2.375rem 1rem 2.875rem 1.75rem;
        grid-template-areas: "movie head" "movie message" "movie profile";
    gap: 0 3.125rem;
  }
  .c-card-interview:nth-child(even):before {
    right: auto;
    left: 0;
  }
}

.c-card-interview-head {
  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;
  gap: 0.8125rem;
  color: #fff;
  text-transform: uppercase;
}
@media screen and (min-width: 1024px) {
  .c-card-interview-head {
    grid-area: head;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: 1.3125rem;
    align-self: flex-end;
    color: #0c3c86;
  }
  .c-card-interview-head:after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    bottom: -1.25rem;
    pointer-events: none;
    width: 2.5rem;
    height: 0.1875rem;
    background: #0c3c86;
  }
}

.c-card-interview-head__title {
  font-family: "Roboto Condensed", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
  font-weight: bold;
  font-size: 1.625rem;
  line-height: 1;
}
@media screen and (min-width: 1024px) {
  .c-card-interview-head__title {
    font-size: 2.3125rem;
  }
}

.c-card-interview-head__no {
  position: relative;
  top: -0.1em;
  font-family: "HelveticaNeue", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
  font-weight: bold;
  font-size: 2.125rem;
  line-height: 1;
}
@media screen and (min-width: 1024px) {
  .c-card-interview-head__no {
    font-size: 3.125rem;
  }
}

.c-card-interview-profile {
  margin-top: 0.5rem;
  position: relative;
  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;
  gap: 0.5rem;
  color: #fff;
}
@media screen and (min-width: 1024px) {
  .c-card-interview-profile {
    margin-top: 1.875rem;
    align-self: flex-end;
    grid-area: profile;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 1.4375rem;
    color: var(--color);
  }
}

.c-card-interview-profile__pic {
  width: 6.25rem;
  border-radius: 100%;
}
@media screen and (min-width: 1024px) {
  .c-card-interview-profile__pic {
    width: 6.25rem;
  }
}

.c-card-interview-profile__data {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  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;
  gap: 0.25rem;
}
@media screen and (min-width: 1024px) {
  .c-card-interview-profile__data {
    position: relative;
    padding-left: 1.0625rem;
    gap: 0.375rem;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .c-card-interview-profile__data:before {
    content: "";
    display: block;
    width: 0.3125rem;
    height: 3rem;
    position: absolute;
    left: 0;
    top: calc(50% - 1.5rem);
    pointer-events: none;
    background: #2885cc;
  }
}

.c-card-interview-profile__job {
  font-weight: bold;
  font-size: 1rem;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 1024px) {
  .c-card-interview-profile__job {
    font-size: 1.125rem;
  }
}

.c-card-interview-profile__join {
  font-weight: 500;
  font-size: 0.875rem;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 1024px) {
  .c-card-interview-profile__join {
    font-size: 0.875rem;
    letter-spacing: 0.1em;
  }
}

.c-card-interview-movie {
  margin-top: 1.25rem;
  position: relative;
  width: 17rem;
  border-radius: 0.5rem;
  overflow: hidden;
}
.c-card-interview-movie:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  background: rgba(0, 0, 0, 0.4);
  -webkit-transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
  transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
  z-index: 2;
}
.c-card-interview-movie picture img {
  position: relative;
  -webkit-transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
  transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
}
.c-card-interview-movie:hover:before {
  opacity: 0;
}
.c-card-interview-movie:hover picture img {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}
@media screen and (min-width: 641px) and (max-width: 1023px) {
  .c-card-interview-movie {
    width: 100%;
  }
}
@media screen and (min-width: 1024px) {
  .c-card-interview-movie {
    margin-top: 0;
    top: 0;
    grid-area: movie;
    width: 28rem;
    border-radius: 1.125rem;
  }
}

.c-card-interview-movie__play {
  position: absolute;
  z-index: 10;
  width: 4.6875rem;
  top: 3.3125rem;
  left: calc(50% - 2.34375rem);
}
@media screen and (min-width: 641px) and (max-width: 1023px) {
  .c-card-interview-movie__play {
    top: calc(50% - 1.875rem);
  }
}
@media screen and (min-width: 1024px) {
  .c-card-interview-movie__play {
    width: 10.25rem;
    top: 10.3125rem;
    left: calc(50% - 5.125rem);
  }
}

.c-card-interview-message {
  margin-top: 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
}
@media screen and (min-width: 1024px) {
  .c-card-interview-message {
    margin-top: 3.125rem;
    grid-area: message;
  }
}
@media screen and (min-width: 1024px){
  .c-card-interview-head {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .c-card-interview:nth-child(even) > .c-card-interview-head {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
  .c-card-interview-profile {
    -ms-grid-row: 5;
    -ms-grid-column: 1;
  }
  .c-card-interview:nth-child(even) > .c-card-interview-profile {
    -ms-grid-row: 5;
    -ms-grid-column: 3;
  }
  .c-card-interview-movie {
    -ms-grid-row: 1;
    -ms-grid-row-span: 5;
    -ms-grid-column: 3;
  }
  .c-card-interview:nth-child(even) > .c-card-interview-movie {
    -ms-grid-row: 1;
    -ms-grid-row-span: 5;
    -ms-grid-column: 1;
  }
  .c-card-interview-message {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
  }
  .c-card-interview:nth-child(even) > .c-card-interview-message {
    -ms-grid-row: 3;
    -ms-grid-column: 3;
  }
}

.c-card-interview-message__sub {
  font-weight: bold;
  font-size: 1.375rem;
  letter-spacing: 0.05em;
  line-height: 1.6363636364;
  color: #0c244b;
}
@media screen and (max-width: 1023px) {
  .c-card-interview-message__sub {
    margin-right: -0.625rem;
  }
}
@media screen and (min-width: 1024px) {
  .c-card-interview-message__sub {
    font-size: 1.875rem;
    letter-spacing: 0.2em;
    line-height: 1.7333333333;
  }
  .c-card-interview-message__sub._s {
    letter-spacing: 0;
  }
}

.c-card-interview-message__desc {
  font-size: 0.8125rem;
  letter-spacing: 0.05em;
  line-height: 1.8461538462;
  color: #1e355a;
}
@media screen and (min-width: 1024px) {
  .c-card-interview-message__desc {
    font-size: 0.875rem;
    letter-spacing: 0.1em;
    line-height: 1.8571428571;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.c-card-training {
  padding: 1.875rem 1.75rem;
  background: #fff;
  border: 1px solid #c5c5c5;
}
@media screen and (min-width: 1024px) {
  .c-card-training {
    padding: 2rem 1.875rem;
    min-height: 18.125rem;
  }
}

.c-card-training__title {
  font-weight: bold;
  font-size: 1.375rem;
  letter-spacing: 0.05em;
  color: #0c3c86;
}
@media screen and (min-width: 1024px) {
  .c-card-training__title {
    font-size: 1.625rem;
    letter-spacing: 0.05em;
  }
}

.c-card-training__desc {
  margin-top: 0.25rem;
  font-weight: 500;
  font-size: 0.8125rem;
  letter-spacing: 0.05em;
  line-height: 1.8461538462;
  color: #1e355a;
}
@media screen and (min-width: 1024px) {
  .c-card-training__desc {
    margin-top: 0.375rem;
    font-size: 0.875rem;
    letter-spacing: 0.1em;
    line-height: 1.8571428571;
  }
}

.c-card-training__detail {
  margin-top: 0.75rem;
  font-weight: 500;
  font-size: 0.6875rem;
  letter-spacing: 0.05em;
  line-height: 2.1818181818;
  color: #1e355a;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.25rem;
}
@media screen and (min-width: 1024px) {
  .c-card-training__detail {
    margin-top: 1.75rem;
    font-size: 0.75rem;
    letter-spacing: 0.1em;
    line-height: 1.6666666667;
  }
  .c-card-training__detail dt {
    font-size: 0.875rem !important;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.c-card-top-data {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 6.625rem;
  height: 6.5rem;
  border-radius: 0.375rem;
  background: #fff;
  border: 0.125rem solid #f5f5f5;
  position: relative;
}
.c-card-top-data img {
  position: absolute;
  max-width: none;
  width: 100%;
}
@media screen and (min-width: 1024px) {
  .c-card-top-data {
    width: 17.875rem;
    height: 17.5rem;
    border-width: 0.375rem;
  }
}

.c-card-top-data--employees img {
  width: 7.896875rem;
}
.c-card-top-data--employees ._circle {
  -webkit-animation: loopCircle linear 20s infinite;
          animation: loopCircle linear 20s infinite;
  will-change: transform;
}
@media screen and (min-width: 1024px) {
  .c-card-top-data--employees img {
    width: 21.288125rem;
  }
}

.c-card-top-data--base img {
  width: 7.5rem;
}
@media screen and (min-width: 1024px) {
  .c-card-top-data--base img {
    width: 21.3225rem;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.c-card-top-interview {
  position: relative;
}
.c-card-top-interview:after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  background: url(../img/card-top-interview-bg.webp) center center/cover;
  z-index: 2;
}
.c-card-top-interview__no {
  position: absolute;
  left: 1.125rem;
  top: 0.875rem;
  z-index: 2;
  font-family: "HelveticaNeue", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
  font-weight: bold;
  font-size: 1.5rem;
  line-height: 1;
  color: #eaf7ff;
}
@media screen and (min-width: 1024px) {
  .c-card-top-interview__no {
    left: 1.8125rem;
    top: 1.25rem;
    font-size: 3.375rem;
  }
}

.c-card-top-interview__pic {
  position: relative;
}
.c-card-top-interview__pic img {
  border: 1px solid transparent;
}
.c-card-top-interview__pic:after {
  content: "";
  display: block;
  width: 100%;
  height: 3.3125rem;
  position: absolute;
  left: 0;
  bottom: 0;
  pointer-events: none;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(12, 36, 75, 0)), to(#1c2940));
  background: linear-gradient(to bottom, rgba(12, 36, 75, 0) 0%, #1c2940 100%);
}
@media screen and (min-width: 1024px) {
  .c-card-top-interview__pic:after {
    height: 6rem;
  }
}

.c-card-top-interview__wrap {
  padding-left: 0.375rem;
  position: absolute;
  left: 1.25rem;
  bottom: 1.375rem;
  color: #fff;
}
.c-card-top-interview__wrap:before {
  content: "";
  display: block;
  width: 0.125rem;
  height: 1.3125rem;
  position: absolute;
  left: 0;
  top: calc(50% - 0.65625rem);
  pointer-events: none;
  background: #fff;
}
@media screen and (min-width: 1024px) {
  .c-card-top-interview__wrap {
    padding-left: 0.75rem;
    left: 1.9375rem;
    bottom: 1.9375rem;
  }
  .c-card-top-interview__wrap:before {
    width: 0.1875rem;
    height: 2.1875rem;
    top: calc(50% - 1.09375rem);
  }
}

.c-card-top-interview__join {
  font-weight: bold;
  font-size: 0.5625rem;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1024px) {
  .c-card-top-interview__join {
    font-size: 0.8125rem;
  }
}

.c-card-top-interview__job {
  font-weight: bold;
  font-size: 0.5625rem;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1024px) {
  .c-card-top-interview__job {
    font-weight: bold;
    font-size: 0.8125rem;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	c-heading
----------------------------------------------------*/
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.c-heading-page > div {
  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: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.c-heading-page__ja {
  margin-bottom: 1.25rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.25rem;
  font-weight: bold;
  font-size: 1.125rem;
  letter-spacing: 0.2em;
  color: #0c3c86;
}
.c-heading-page__ja:after {
  content: "";
  display: block;
  pointer-events: none;
  width: 2.5rem;
  height: 0.1875rem;
  background: #0c3c86;
}
@media screen and (min-width: 1024px) {
  .c-heading-page__ja {
    margin-bottom: 2.375rem;
    gap: 0.75rem;
    font-size: 1.375rem;
    letter-spacing: 0.1em;
  }
}

.c-heading-page__en {
  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: start;
      -ms-flex-align: start;
          align-items: flex-start;
  position: relative;
  font-family: "Roboto Condensed", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
  font-weight: bold;
  font-size: 4.1875rem;
  line-height: 1;
  text-align: left;
  color: #0c3c86;
  text-transform: uppercase;
}
.c-heading-page__en span {
  position: relative;
  opacity: 0;
}
.c-heading-page__en span span {
  display: inline-block;
  opacity: 0;
}
@media screen and (min-width: 1024px) {
  .c-heading-page__en {
    font-size: 7.5rem;
  }
}

.c-heading-page__line {
  position: absolute;
  width: calc(100% + 1.5rem);
  height: 2.25rem;
  background: -webkit-gradient(linear, left top, left bottom, from(#29b5eb), color-stop(67.49%, #bcf0ff), to(#86d2f7));
  background: linear-gradient(#29b5eb 0%, #bcf0ff 67.49%, #86d2f7 100%);
  top: calc(50% - 1.125rem);
  left: -0.75rem;
  opacity: 0;
}
@media screen and (min-width: 1024px) {
  .c-heading-page__line {
    width: calc(100% + 2.5rem);
    height: 4rem;
    left: -1.25rem;
    top: calc(50% - 2rem);
  }
}
.c-heading-page__line._yaku {
  width: 100%;
}
@media screen and (min-width: 1024px) {
  .c-heading-page__line._yaku {
    width: 100%;
  }
}

.c-heading-page--message .c-heading-page__en {
  font-size: 2.2rem;
  line-height: 1.4666666667;
}
@media screen and (min-width: 1024px) {
  .c-heading-page--message .c-heading-page__en {
    font-size: 4.375rem;
    line-height: 1.7142857143;
    letter-spacing: 0.1em;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.c-heading-en {
  font-family: "Roboto Condensed", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
  font-weight: bold;
  font-size: 2.875rem;
  line-height: 1;
  color: #0c3c86;
  text-transform: uppercase;
}
.c-heading-en ._outline {
  color: transparent;
  -webkit-text-stroke: 1px #0d3d86;
}
@media screen and (min-width: 1024px) {
  .c-heading-en {
    font-size: 4.125rem;
  }
}

.c-heading-en--business {
  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;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 1024px) {
  .c-heading-en--business {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 20px;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.c-heading-catch {
  font-weight: bold;
  font-size: 0.75rem;
  letter-spacing: 0.15em;
  text-align: center;
  color: #ffff1b;
}
@media screen and (min-width: 1024px) {
  .c-heading-catch {
    font-size: 1.375rem;
  }
}

.c-heading-catch__en {
  font-family: "Roboto Condensed", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
  font-size: 2.625rem;
  line-height: 1;
  letter-spacing: 0;
}
@media screen and (min-width: 1024px) {
  .c-heading-catch__en {
    font-size: 4.9375rem;
  }
}

@media screen and (min-width: 1024px) {
  .c-heading-catch__ja {
    margin-top: 0.375rem;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.c-heading-bar {
  width: 100%;
  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;
  padding: 0.9375rem 0.9375rem;
  background: #2885cc;
  font-weight: bold;
  font-size: 1.25rem;
  letter-spacing: 0.05em;
  text-align: center;
  color: #fff;
}
@media screen and (min-width: 1024px) {
  .c-heading-bar {
    padding: 0.875rem 1.25rem;
    font-size: 1.375rem;
    letter-spacing: 0.1em;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.c-heading-border, .c-card-training__detail dt {
  position: relative;
  padding-left: 0.75rem;
  font-weight: bold;
  font-size: 1rem;
  letter-spacing: 0.05em;
  color: #1e355a;
}
.c-heading-border:before, .c-card-training__detail dt:before {
  content: "";
  display: block;
  width: 0.3125rem;
  height: 60%;
  position: absolute;
  left: 0;
  top: 20%;
  pointer-events: none;
  background: #2885cc;
}
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	c-link
----------------------------------------------------*/
.c-link-line, .c-table a:not(.c-btn-round) {
  color: #068ECB;
  text-decoration: underline;
}
.c-link-line:hover, .c-table a:hover:not(.c-btn-round) {
  text-decoration: none;
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	...
----------------------------------------------------*/
.c-main-bg {
  position: sticky;
  left: 0;
  top: 0;
  pointer-events: none;
  z-index: -1;
}
.c-main-bg img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	c-paragraph
----------------------------------------------------*/
.c-paragraph {
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  line-height: 2.2857142857;
}
@media screen and (min-width: 1024px) {
  .c-paragraph {
    font-size: 1rem;
    letter-spacing: 0.1em;
    line-height: 2;
  }
}

.c-paragraph--md {
  font-weight: bold;
  font-size: 1rem;
  line-height: 2;
  color: #0c244b;
}
@media screen and (min-width: 1024px) {
  .c-paragraph--md {
    font-weight: bold;
    font-size: 1.25rem;
    letter-spacing: 0.2em;
    line-height: 2.1;
  }
}

.c-paragraph--lg {
  font-weight: bold;
  font-size: 1rem;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1024px) {
  .c-paragraph--lg {
    font-size: 1.75rem;
    letter-spacing: 0.2em;
  }
}

.c-paragraph-data, .p-data-item__desc {
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  line-height: 1.5714285714;
  text-align: center;
  color: #1e355a;
}
@media screen and (min-width: 1024px) {
  .c-paragraph-data, .p-data-item__desc {
    font-weight: 500;
    font-size: 1rem;
    letter-spacing: 0.1em;
    line-height: 2;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	.c-table
----------------------------------------------------*/
.c-table {
  width: 100%;
  font-size: 0.8125rem;
  letter-spacing: 0.05em;
  line-height: 1.8461538462;
}
.c-table tr:not(:last-child) {
  border-bottom: 1px dashed #e5e5e5;
}
.c-table th {
  text-align: left;
  font-weight: bold;
  color: #0c3c86;
}
.c-table tr {
  padding: 1rem 0;
}
.c-table td {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
}
@media screen and (max-width: 1023px) {
  .c-table table, .c-table tr, .c-table th {
    display: block;
  }
}
@media screen and (min-width: 1024px) {
  .c-table {
    font-size: 1rem;
    line-height: 1.6875;
  }
  .c-table th, .c-table td {
    padding: 1.75rem 0;
  }
}

@media screen and (min-width: 1024px) {
  .c-table--info th {
    width: 9rem;
  }
}

.c-table__info {
  margin-top: 4px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4px;
  border-radius: 6px;
  background: #e8f8ff;
  padding: 12px 24px;
}
@media screen and (min-width: 1024px) {
  .c-table__info {
    padding: 16px 30px;
  }
}

.c-table__office.c-table__office {
  gap: 0;
}
.c-table__office.c-table__office dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.c-table__office.c-table__office dt {
  white-space: nowrap;
}
.c-table__office.c-table__office dd {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.c-table__indent li {
  padding-left: 1em;
  text-indent: -1em;
}

.c-table__indent15 li {
  padding-left: 1.5em;
  text-indent: -1.5em;
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
:root {
  /*
  --swiper-pagination-color: var(--swiper-theme-color);
  */
}

/* Common Styles */
/* Bullets */
/* Progress */
.swiper-button-disabled {
  opacity: 0;
}

/*----------------------------------------------------
	汎用クラス
----------------------------------------------------*/
.bold,
.strong {
  font-weight: bold;
}

.u-hide {
  display: none;
}

.u-breakLine {
  display: inline-block;
}

.u-center {
  text-align: center;
}

.u-only-sp {
  display: block !important;
}
@media screen and (min-width: 641px) {
  .u-only-sp {
    display: none !important;
  }
}

.u-only-pc {
  display: none !important;
}
@media screen and (min-width: 641px) {
  .u-only-pc {
    display: block !important;
  }
}

.js-fadein {
  opacity: 0.2;
  -webkit-filter: blur(0.3125rem);
          filter: blur(0.3125rem);
}
.js-fadein.is-visible {
  will-change: filter, opacity;
  -webkit-filter: blur(0);
          filter: blur(0);
  opacity: 1;
  -webkit-transition: 0.5s cubic-bezier(0.5, 1, 0.89, 1);
  transition: 0.5s cubic-bezier(0.5, 1, 0.89, 1);
}

.js-fadein-up {
  opacity: 0;
  -webkit-transform: translateY(1.875rem);
          transform: translateY(1.875rem);
}
.js-fadein-up.is-visible {
  will-change: transform, opacity;
  opacity: 1;
  -webkit-transition: 0.5s cubic-bezier(0.5, 1, 0.89, 1);
  transition: 0.5s cubic-bezier(0.5, 1, 0.89, 1);
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.js-fadein-side {
  opacity: 0;
  -webkit-transform: translateX(1.25rem);
          transform: translateX(1.25rem);
}
.js-fadein-side.is-visible {
  will-change: transform, opacity;
  opacity: 1;
  -webkit-transform: translateX(0);
          transform: translateX(0);
  -webkit-transition: 0.5s cubic-bezier(0.5, 1, 0.89, 1);
  transition: 0.5s cubic-bezier(0.5, 1, 0.89, 1);
}

.u-fadein-sides > * {
  opacity: 0;
  -webkit-transform: translateX(1.25rem);
          transform: translateX(1.25rem);
  -webkit-transition: 0.5s cubic-bezier(0.5, 1, 0.89, 1);
  transition: 0.5s cubic-bezier(0.5, 1, 0.89, 1);
}
.u-fadein-sides > *:nth-child(2) {
  -webkit-transition-delay: 0.1s;
          transition-delay: 0.1s;
}
.u-fadein-sides > *:nth-child(3) {
  -webkit-transition-delay: 0.2s;
          transition-delay: 0.2s;
}
.u-fadein-sides > *:nth-child(4) {
  -webkit-transition-delay: 0.3s;
          transition-delay: 0.3s;
}
.u-fadein-sides > *:nth-child(5) {
  -webkit-transition-delay: 0.4s;
          transition-delay: 0.4s;
}
.u-fadein-sides > *:nth-child(6) {
  -webkit-transition-delay: 0.5s;
          transition-delay: 0.5s;
}
.u-fadein-sides.is-visible > * {
  opacity: 1;
  -webkit-transform: translateX(0);
          transform: translateX(0);
}

[data-delay="0.1"] {
  -webkit-transition-delay: 0.1s !important;
          transition-delay: 0.1s !important;
}

[data-delay="0.2"] {
  -webkit-transition-delay: 0.2s !important;
          transition-delay: 0.2s !important;
}

[data-delay="0.3"] {
  -webkit-transition-delay: 0.3s !important;
          transition-delay: 0.3s !important;
}

[data-delay="0.4"] {
  -webkit-transition-delay: 0.4s !important;
          transition-delay: 0.4s !important;
}

[data-delay="0.5"] {
  -webkit-transition-delay: 0.5s !important;
          transition-delay: 0.5s !important;
}

[data-delay="0.6"] {
  -webkit-transition-delay: 0.6s !important;
          transition-delay: 0.6s !important;
}

[data-delay="0.7"] {
  -webkit-transition-delay: 0.7s !important;
          transition-delay: 0.7s !important;
}

[data-delay="0.8"] {
  -webkit-transition-delay: 0.8s !important;
          transition-delay: 0.8s !important;
}

[data-delay="0.9"] {
  -webkit-transition-delay: 0.9s !important;
          transition-delay: 0.9s !important;
}

[data-delay="1"] {
  -webkit-transition-delay: 1s !important;
          transition-delay: 1s !important;
}

[data-delay="1.1"] {
  -webkit-transition-delay: 1.1s !important;
          transition-delay: 1.1s !important;
}

[data-delay="1.2"] {
  -webkit-transition-delay: 1.2s !important;
          transition-delay: 1.2s !important;
}

[data-delay="1.3"] {
  -webkit-transition-delay: 1.3s !important;
          transition-delay: 1.3s !important;
}

[data-delay="1.4"] {
  -webkit-transition-delay: 1.4s !important;
          transition-delay: 1.4s !important;
}

[data-delay="1.5"] {
  -webkit-transition-delay: 1.5s !important;
          transition-delay: 1.5s !important;
}

[data-delay="1.6"] {
  -webkit-transition-delay: 1.6s !important;
          transition-delay: 1.6s !important;
}

[data-delay="1.7"] {
  -webkit-transition-delay: 1.7s !important;
          transition-delay: 1.7s !important;
}

[data-delay="1.8"] {
  -webkit-transition-delay: 1.8s !important;
          transition-delay: 1.8s !important;
}

[data-delay="1.9"] {
  -webkit-transition-delay: 1.9s !important;
          transition-delay: 1.9s !important;
}

[data-delay="2"] {
  -webkit-transition-delay: 2s !important;
          transition-delay: 2s !important;
}

[data-delay="2.1"] {
  -webkit-transition-delay: 2.1s !important;
          transition-delay: 2.1s !important;
}

[data-delay="2.2"] {
  -webkit-transition-delay: 2.2s !important;
          transition-delay: 2.2s !important;
}

[data-delay="2.3"] {
  -webkit-transition-delay: 2.3s !important;
          transition-delay: 2.3s !important;
}

[data-delay="2.4"] {
  -webkit-transition-delay: 2.4s !important;
          transition-delay: 2.4s !important;
}

[data-delay="2.5"] {
  -webkit-transition-delay: 2.5s !important;
          transition-delay: 2.5s !important;
}

[data-delay="2.6"] {
  -webkit-transition-delay: 2.6s !important;
          transition-delay: 2.6s !important;
}

[data-delay="2.7"] {
  -webkit-transition-delay: 2.7s !important;
          transition-delay: 2.7s !important;
}

[data-delay="2.8"] {
  -webkit-transition-delay: 2.8s !important;
          transition-delay: 2.8s !important;
}

[data-delay="2.9"] {
  -webkit-transition-delay: 2.9s !important;
          transition-delay: 2.9s !important;
}

[data-delay="3"] {
  -webkit-transition-delay: 3s !important;
          transition-delay: 3s !important;
}

.u-accent-color {
  color: var(--accent-color);
}

.u-template {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 5rem;
  padding-bottom: 6.25rem;
}
.u-template > div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.5rem;
}

.u-gap {
  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: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: var(--gap);
}

.u-indent {
  padding-left: 1em;
  text-indent: -1em;
}

.u-indent15 {
  padding-left: 1.5em;
  text-indent: -1.5em;
}

.is-disabled {
  opacity: 0.7;
  pointer-events: none;
}

.u-budoux {
  word-break: keep-all;
  overflow-wrap: anywhere;
}

[data-delay="0.1"] {
  -webkit-transition-delay: 0.1s;
          transition-delay: 0.1s;
}

[data-delay="0.2"] {
  -webkit-transition-delay: 0.2s;
          transition-delay: 0.2s;
}

[data-delay="0.3"] {
  -webkit-transition-delay: 0.3s;
          transition-delay: 0.3s;
}

[data-delay="0.4"] {
  -webkit-transition-delay: 0.4s;
          transition-delay: 0.4s;
}

[data-delay="0.5"] {
  -webkit-transition-delay: 0.5s;
          transition-delay: 0.5s;
}

[data-delay="0.6"] {
  -webkit-transition-delay: 0.6s;
          transition-delay: 0.6s;
}

[data-delay="0.7"] {
  -webkit-transition-delay: 0.7s;
          transition-delay: 0.7s;
}

[data-delay="0.8"] {
  -webkit-transition-delay: 0.8s;
          transition-delay: 0.8s;
}

[data-delay="0.9"] {
  -webkit-transition-delay: 0.9s;
          transition-delay: 0.9s;
}

[data-delay="1"] {
  -webkit-transition-delay: 1s;
          transition-delay: 1s;
}

[data-delay="1.1"] {
  -webkit-transition-delay: 1.1s;
          transition-delay: 1.1s;
}

[data-delay="1.2"] {
  -webkit-transition-delay: 1.2s;
          transition-delay: 1.2s;
}

[data-delay="1.3"] {
  -webkit-transition-delay: 1.3s;
          transition-delay: 1.3s;
}

[data-delay="1.4"] {
  -webkit-transition-delay: 1.4s;
          transition-delay: 1.4s;
}

[data-delay="1.5"] {
  -webkit-transition-delay: 1.5s;
          transition-delay: 1.5s;
}

[data-delay="1.6"] {
  -webkit-transition-delay: 1.6s;
          transition-delay: 1.6s;
}

[data-delay="1.7"] {
  -webkit-transition-delay: 1.7s;
          transition-delay: 1.7s;
}

[data-delay="1.8"] {
  -webkit-transition-delay: 1.8s;
          transition-delay: 1.8s;
}

[data-delay="1.9"] {
  -webkit-transition-delay: 1.9s;
          transition-delay: 1.9s;
}

[data-delay="2"] {
  -webkit-transition-delay: 2s;
          transition-delay: 2s;
}

[data-delay="2.1"] {
  -webkit-transition-delay: 2.1s;
          transition-delay: 2.1s;
}

[data-delay="2.2"] {
  -webkit-transition-delay: 2.2s;
          transition-delay: 2.2s;
}

[data-delay="2.3"] {
  -webkit-transition-delay: 2.3s;
          transition-delay: 2.3s;
}

[data-delay="2.4"] {
  -webkit-transition-delay: 2.4s;
          transition-delay: 2.4s;
}

[data-delay="2.5"] {
  -webkit-transition-delay: 2.5s;
          transition-delay: 2.5s;
}

[data-delay="2.6"] {
  -webkit-transition-delay: 2.6s;
          transition-delay: 2.6s;
}

[data-delay="2.7"] {
  -webkit-transition-delay: 2.7s;
          transition-delay: 2.7s;
}

[data-delay="2.8"] {
  -webkit-transition-delay: 2.8s;
          transition-delay: 2.8s;
}

[data-delay="2.9"] {
  -webkit-transition-delay: 2.9s;
          transition-delay: 2.9s;
}

[data-delay="3"] {
  -webkit-transition-delay: 3s;
          transition-delay: 3s;
}

.__loop {
  -webkit-animation: loopLeft linear 30s infinite;
          animation: loopLeft linear 30s infinite;
  will-change: transform;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.__loop img {
  width: auto;
  max-width: none;
  height: 18.75rem;
}
@media screen and (min-width: 1024px) {
  .__loop {
    -webkit-animation: loopLeft linear 50s infinite;
            animation: loopLeft linear 50s infinite;
  }
  .__loop img {
    height: 32.875rem;
  }
}

@-webkit-keyframes loopLeft {
  from {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  to {
    -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0);
  }
}

@keyframes loopLeft {
  from {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  to {
    -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0);
  }
}
@-webkit-keyframes loopRight {
  from {
    -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0);
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}
@keyframes loopRight {
  from {
    -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0);
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}
@-webkit-keyframes loopCircle {
  from {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
@keyframes loopCircle {
  from {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}