@charset "UTF-8";
/* ==================================================
  FLOCSS import order
  1. setting    : 変数・mixin・関数など、出力されない設定
  2. foundation : reset / base など、サイト全体の土台
  3. layout     : l-header / l-main / l-footer など大枠
  4. component  : c-btn / c-title など再利用パーツ
  5. project    : p-top などページ固有のまとまり
  6. utility    : u-mt / u-tac など単一目的の調整
================================================== */
/* ==================================================
  Mixin / function
  よく使うmedia query、フォント、flex、画像比率などをまとめる。
================================================== */
/* ==================================================
  Breakpoint / contents width
  サイト全体で使う横幅の基準値。
  デザイン幅が変わる案件では、まずここを調整する。
================================================== */
/* ==================================================
  Color
  案件ごとのブランドカラーはここで管理する。
  命名は「役割」と「色名」を混ぜすぎないようにする。
================================================== */
/* ==================================================
  Font family
  Google Fontsを使う場合は、HTMLのpreconnectとあわせてここでimportする。
================================================== */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap");
/* ==================================================
  Font size
  rem指定のため html { font-size: 62.5%; } を前提にする。
================================================== */
/* ==================================================
  Parameter
  汎用的に使う比率・余白などの値。
================================================== */
/*----------------------------------------
	RESET
-----------------------------------------*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

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

body {
  line-height: 1;
}

ol, ul, li {
  list-style: none !important;
}

blockquote, q {
  quotes: none;
}

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

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

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

/* ==================================================
  Base
  reset後にサイト共通の基本表示を定義する。
================================================== */
html {
  height: 100%;
  font-size: 62.5%;
  overflow-x: hidden;
  -webkit-text-size-adjust: 100%;
}

body {
  position: relative;
  width: 100%;
  margin: 0 auto;
  color: #000;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0.05em;
  word-wrap: break-word;
  background: #efefef;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  hanging-punctuation: allow-end;
  -webkit-text-size-adjust: 100%;
}
@media only screen and (max-width: 768px) {
  body {
    min-width: 0;
    font-size: max(16px, 16 / 393 * 100vw);
  }
}

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

a {
  color: inherit;
  text-decoration: none;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
  -webkit-tap-highlight-color: transparent;
}
@media only screen and (min-width: 769px) {
  a:hover {
    opacity: 0.75;
  }
}

@media only screen and (min-width: 769px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
  }
}
img,
svg,
video {
  max-width: 100%;
  height: auto;
  vertical-align: top;
}

button,
input,
textarea,
select {
  font: inherit;
}

button {
  padding: 0;
  color: inherit;
  cursor: pointer;
  background: none;
  border: 0;
}

input[type=text],
input[type=password],
input[type=email],
input[type=tel],
textarea,
select {
  outline: none;
}

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

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

/* ==================================================
  Layout: header
================================================== */
.l-header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  width: 100%;
  height: 66px;
  background: #fff;
}
.l-header__inner {
  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;
  height: 100%;
  padding-left: 22px;
}
.l-header__logo {
  display: block;
  width: 404px;
  line-height: 1;
}
.l-header__logo-image {
  display: block;
  width: 100%;
}
.l-header__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-item-align: stretch;
      -ms-grid-row-align: stretch;
      align-self: stretch;
}
.l-header__menu-button {
  position: relative;
  width: 66px;
  background: #fff;
  margin-right: 10px;
}
.l-header__menu-button::before, .l-header__menu-button::after,
.l-header__menu-button span {
  position: absolute;
  left: 50%;
  width: 75%;
  height: 1px;
  background: #1a4c80;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.l-header__menu-button::before, .l-header__menu-button::after {
  content: "";
}
.l-header__menu-button::before {
  top: 18px;
}
.l-header__menu-button span {
  top: 32px;
}
.l-header__menu-button::after {
  top: 46px;
}
.l-header__menu-button.is-open::before {
  top: 50%;
  -webkit-transform: translateX(-50%) rotate(45deg);
          transform: translateX(-50%) rotate(45deg);
}
.l-header__menu-button.is-open span {
  opacity: 0;
}
.l-header__menu-button.is-open::after {
  top: 50%;
  -webkit-transform: translateX(-50%) rotate(-45deg);
          transform: translateX(-50%) rotate(-45deg);
}
.l-header__entry {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 66px;
  color: #fff;
  font-family: "Roboto", sans-serif;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.05em;
  background: #1a4c80;
}
.l-header__nav {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  padding: 34px 15px 44px;
  color: #fff;
  visibility: hidden;
  background: #205486;
  opacity: 0;
  -webkit-transform: translateY(-10px);
          transform: translateY(-10px);
  -webkit-transition: visibility 0.3s, opacity 0.3s, -webkit-transform 0.3s;
  transition: visibility 0.3s, opacity 0.3s, -webkit-transform 0.3s;
  transition: visibility 0.3s, opacity 0.3s, transform 0.3s;
  transition: visibility 0.3s, opacity 0.3s, transform 0.3s, -webkit-transform 0.3s;
}
.l-header__nav.is-open {
  visibility: visible;
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.l-header__nav-inner {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 45px 1fr 45px 1fr;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 45px;
  max-width: 890px;
  margin: 0 auto;
}
.l-header__nav-group + .l-header__nav-group {
  margin-top: 30px;
}
.l-header__nav-title {
  margin-bottom: 6px;
  font-family: "Roboto", sans-serif;
  font-size: 21px;
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: 0.02em;
}
.l-header__nav-list {
  font-size: 17px;
  line-height: 1.55;
  letter-spacing: 0.02em;
}
.l-header__nav-no-link {
  opacity: 0.8;
  margin-bottom: 15px;
}
.l-header__nav-no-link.--mb-less {
  margin-bottom: -10px;
}
.l-header__nav-child {
  padding-left: 15px;
}
.l-header__nav-child + .l-header__nav-child {
  margin-top: 7px;
}
.l-header__job-label {
  display: inline-block;
  min-width: 66px;
  margin: 25px 0 7px;
  padding: 2px 12px;
  line-height: 1.25;
  text-align: center;
  border: 1px solid #fff;
  border-radius: 20px;
  -webkit-box-shadow: 0 3px 5px rgba(0, 0, 0, 0.25);
          box-shadow: 0 3px 5px rgba(0, 0, 0, 0.25);
}
.l-header__job-label--technical {
  background: #19963c;
}

@media only screen and (max-width: 768px) {
  .l-header {
    height: calc(56 / 393 * 100vw);
  }
  .l-header__inner {
    padding-left: calc(10 / 393 * 100vw);
  }
  .l-header__logo {
    width: calc(200 / 393 * 100vw);
  }
  .l-header__actions {
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
  .l-header__menu-button {
    width: calc(56 / 393 * 100vw);
    margin-right: calc(0 / 393 * 100vw);
  }
  .l-header__menu-button::before, .l-header__menu-button::after,
  .l-header__menu-button span {
    width: calc(27 / 393 * 100vw);
  }
  .l-header__menu-button::before {
    top: calc(17 / 393 * 100vw);
  }
  .l-header__menu-button span {
    top: calc(27 / 393 * 100vw);
  }
  .l-header__menu-button::after {
    top: calc(37 / 393 * 100vw);
  }
  .l-header__entry {
    width: calc(56 / 393 * 100vw);
    font-size: calc(16 / 393 * 100vw);
  }
  .l-header__nav {
    height: calc(100svh - 56 / 393 * 100vw);
    padding: calc(39 / 393 * 100vw) calc(20 / 393 * 100vw) calc(40 / 393 * 100vw);
    overflow-y: auto;
    -webkit-transform: translateY(calc(-8 / 393 * 100vw));
            transform: translateY(calc(-8 / 393 * 100vw));
  }
  .l-header__nav-inner {
    display: block;
    max-width: none;
  }
  .l-header__nav-column + .l-header__nav-column, .l-header__nav-group + .l-header__nav-group {
    margin-top: calc(20 / 393 * 100vw);
  }
  .l-header__nav-title {
    display: inline-block;
    width: calc(108 / 393 * 100vw);
    margin: 0;
    font-size: calc(20 / 393 * 100vw);
    vertical-align: top;
  }
  .l-header__nav-title--work {
    display: block;
    width: 100%;
    margin-bottom: calc(6 / 393 * 100vw);
  }
  .l-header__nav-text {
    display: inline-block !important;
    width: calc(108 / 393 * 100vw);
    vertical-align: top;
  }
  .l-header__nav-list {
    display: inline-block;
    width: calc(100% - calc(114 / 393 * 100vw));
    font-size: calc(16 / 393 * 100vw);
    line-height: 1.65;
  }
  .l-header__nav-list--people {
    display: block;
    width: auto;
    margin: calc(9 / 393 * 100vw) 0 0 calc(108 / 393 * 100vw);
  }
  .l-header__nav-child {
    padding-left: 0px;
  }
  .l-header__job-label {
    min-width: calc(80 / 393 * 100vw);
    margin: calc(3 / 393 * 100vw) 0 calc(6 / 393 * 100vw) calc(-108 / 393 * 100vw);
    padding: calc(1 / 393 * 100vw) calc(12 / 393 * 100vw);
    border-radius: calc(18 / 393 * 100vw);
    -webkit-box-shadow: 0 calc(2 / 393 * 100vw) calc(3 / 393 * 100vw) rgba(0, 0, 0, 0.25);
            box-shadow: 0 calc(2 / 393 * 100vw) calc(3 / 393 * 100vw) rgba(0, 0, 0, 0.25);
  }
  .l-header__job-label--technical {
    margin-top: calc(10 / 393 * 100vw);
  }
  .l-header__job-label-child {
    margin-top: calc(-31 / 393 * 100vw);
  }
}
/* ==================================================
  Layout: main
  main要素と共通セクション余白を管理する。
================================================== */
.l-main {
  width: 100%;
  margin: 0 auto;
  padding-top: 66px;
  padding-bottom: 50px;
}
.l-main__section {
  padding: 80px 0;
}
.l-main__inner {
  width: 95%;
  max-width: 980px;
  margin: 0 auto;
}

@media only screen and (max-width: 768px) {
  .l-main {
    padding-top: calc(56 / 393 * 100vw);
    padding-bottom: calc(50 / 393 * 100vw);
  }
  .l-main__section {
    padding: calc(56 / 393 * 100vw) 0;
  }
  .l-main__inner {
    width: 90%;
    max-width: none;
  }
}
/* ==================================================
  Layout: footer
================================================== */
.l-footer {
  position: relative;
  margin-top: 67px;
  padding: 58px 0 36px;
  color: #1a4c80;
  background: #a8d181;
}
.l-footer::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 67px;
  background: url("../img/common/ft_bg.webp") top center/100% 100% no-repeat;
  -webkit-transform: translateY(-99%);
          transform: translateY(-99%);
}
.l-footer__icon {
  display: none;
}
.l-footer__inner {
  position: relative;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 22px 34px;
  width: calc(100% - 40px);
  max-width: 1150px;
  margin: 0 auto;
  mix-blend-mode: multiply;
}
.l-footer__brand {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 326px;
          flex: 0 0 326px;
}
.l-footer__logo {
  display: block;
  width: 326px;
  mix-blend-mode: multiply;
}
.l-footer__logo-image {
  display: block;
  width: 100%;
}
.l-footer__content {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 790px;
          flex: 1 1 790px;
  min-width: 790px;
}
.l-footer__nav {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 241px 30px 265px 30px 230px;
  grid-template-columns: 241px 265px 230px;
  gap: 22px 30px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media (max-width: 850px) {
  .l-footer__nav {
    -ms-grid-columns: 241px 265px;
    grid-template-columns: 241px 265px;
  }
}
.l-footer__nav-title {
  display: block;
  margin-bottom: 2px;
  color: #1a4c80;
  line-height: 1.35;
  letter-spacing: 0;
}
.l-footer__nav-list {
  color: #000;
  line-height: 1.35;
  letter-spacing: 0;
}
.l-footer__nav-list li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin-top: 7px;
}
.l-footer__nav-list li::before {
  content: "・";
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}
.l-footer__nav-list--people li::before {
  content: "";
}
.l-footer__nav-list--people a::before {
  content: "・";
}
.l-footer__nav-list--utility {
  color: #1a4c80;
}
.l-footer__nav-list--utility li::before {
  content: "";
}
.l-footer__job-label {
  display: inline-block;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 69px;
          flex: 0 0 69px;
  color: #006eb9;
}
.l-footer__job-label--technical {
  color: #19963c;
}
.l-footer__copyright {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
  margin-top: 2px;
  color: #000;
  font-family: "Roboto", sans-serif;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
  text-align: left;
  letter-spacing: 0.08em;
  white-space: nowrap;
}
.l-footer__totop {
  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;
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 100;
  width: 36px;
  height: 36px;
  color: #1a4c80;
  border: 1px solid #1a4c80;
  border-radius: 50%;
  mix-blend-mode: hard-light;
}
.l-footer__totop::before {
  content: "";
  position: absolute;
  top: 10px;
  left: 50%;
  width: 7px;
  height: 7px;
  border-top: 1px solid #1a4c80;
  border-left: 1px solid #1a4c80;
  -webkit-transform: translateX(-50%) rotate(45deg);
          transform: translateX(-50%) rotate(45deg);
}
.l-footer__totop::after {
  content: "";
  position: absolute;
  top: 10px;
  left: 50%;
  width: 1px;
  height: 15px;
  background: #1a4c80;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

@media only screen and (max-width: 768px) {
  .l-footer {
    margin-top: calc(100 / 393 * 100vw);
    padding: calc(48 / 393 * 100vw) calc(20 / 393 * 100vw) calc(68 / 393 * 100vw);
  }
  .l-footer::before {
    height: calc(23 / 393 * 100vw);
    background-image: url("../img/common/ft_bg_sp.webp");
  }
  .l-footer__icon {
    position: absolute;
    top: calc(-65 / 393 * 100vw);
    left: 50%;
    display: block;
    width: calc(48 / 393 * 100vw);
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    mix-blend-mode: multiply;
  }
  .l-footer__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 100%;
    max-width: none;
  }
  .l-footer__brand {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 100%;
    margin-top: calc(18 / 393 * 100vw);
  }
  .l-footer__logo {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: calc(271 / 393 * 100vw);
    margin: 0;
  }
  .l-footer__content {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    margin-top: 0;
    min-width: 0;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 100%;
  }
  .l-footer__nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: calc(0 / 393 * 100vw);
  }
  .l-footer__nav-column + .l-footer__nav-column, .l-footer__nav-group + .l-footer__nav-group {
    margin-top: calc(18 / 393 * 100vw);
  }
  .l-footer__nav-group:nth-child(1) {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .l-footer__nav-group:nth-child(2) {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .l-footer__nav-group:nth-child(3) {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
  }
  .l-footer__nav-group:nth-child(4) {
    -webkit-box-ordinal-group: 7;
        -ms-flex-order: 6;
            order: 6;
  }
  .l-footer__nav-group:nth-child(5) {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
  .l-footer__nav-group:nth-child(6) {
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5;
  }
  .l-footer__nav-title {
    display: inline-block;
    width: calc(85 / 393 * 100vw);
    margin: 0;
    vertical-align: top;
  }
  .l-footer__nav-title.--people {
    display: block;
    width: 100%;
    margin-bottom: calc(6 / 393 * 100vw);
  }
  .l-footer__nav-list {
    display: inline-block;
    width: calc(100% - 90 / 393 * 100vw);
    line-height: 1.65;
    vertical-align: top;
  }
  .l-footer__nav-list li {
    margin-top: calc(3 / 393 * 100vw);
  }
  .l-footer__nav-list--people {
    display: inline-block;
    width: 100%;
    margin: 0;
  }
  .l-footer__job-label {
    -ms-flex-preferred-size: calc(90 / 393 * 100vw);
        flex-basis: calc(90 / 393 * 100vw);
    margin: 0;
    line-height: 1.5;
  }
  .l-footer__copyright {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    margin-top: calc(28 / 393 * 100vw);
    font-size: max(12px, 12 / 393 * 100vw);
    text-align: left;
  }
  .l-footer__totop {
    right: calc(12 / 393 * 100vw);
    bottom: calc(12 / 393 * 100vw);
    width: calc(36 / 393 * 100vw);
    height: calc(36 / 393 * 100vw);
  }
  .l-footer__totop::before {
    top: calc(10 / 393 * 100vw);
    width: calc(7 / 393 * 100vw);
    height: calc(7 / 393 * 100vw);
  }
  .l-footer__totop::after {
    top: calc(10 / 393 * 100vw);
    height: calc(15 / 393 * 100vw);
  }
}
/* ==================================================
  Component: common
  サイト横断で使う汎用コンポーネント。
================================================== */
.c-inner {
  width: 980px;
  margin-right: auto;
  margin-left: auto;
}

.c-outer {
  width: 1200px;
  margin-right: auto;
  margin-left: auto;
}

.c-full {
  width: 1340px;
  margin-right: auto;
  margin-left: auto;
}

.c-middle {
  width: 1200px;
  margin-right: auto;
  margin-left: auto;
}

.c-small {
  width: 880px;
  margin-right: auto;
  margin-left: auto;
}

@media screen and (max-width: 1400px) {
  .c-full {
    width: 95%;
  }
}
@media screen and (max-width: 1200px) {
  .c-middle {
    width: 95%;
  }
}
@media screen and (max-width: 1200px) {
  .c-outer {
    width: 95%;
  }
}
@media screen and (max-width: 980px) {
  .c-inner {
    width: 95%;
  }
}
@media screen and (max-width: 880px) {
  .c-small {
    width: 95%;
  }
}
@media only screen and (max-width: 768px) {
  .c-inner,
  .c-outer,
  .c-full,
  .c-middle,
  .c-small {
    width: 90%;
  }
}
.c-indent {
  padding-left: 1em;
  text-indent: -1em;
}

.c-marker {
  display: inline;
  font-weight: 700;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(60%, #ffd700));
  background: linear-gradient(transparent 60%, #ffd700 60%);
}

.c-lang-jp .-jp {
  display: inline;
}
.c-lang-jp .-en {
  display: none;
}
.c-lang-en .-jp {
  display: none;
}
.c-lang-en .-en {
  display: inline;
}

.c-roboto {
  font-family: "Roboto", sans-serif;
}

/* ==================================================
  Component: animation
  inview.jsなどで付与する汎用アニメーション。
  HTML例: <div class="inview u-fade-up">
================================================== */
.inview {
  opacity: 0;
}
.inview.--active {
  opacity: 1;
}

.u-fade-in {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.u-fade-in.u-inview {
  -webkit-animation: none;
          animation: none;
  opacity: 0;
  -webkit-transform: translateY(18px);
          transform: translateY(18px);
}
.u-fade-in:not(.u-inview) {
  -webkit-animation: animate-fade-in 0.9s ease-out forwards;
          animation: animate-fade-in 0.9s ease-out forwards;
}
.u-fade-up {
  -webkit-animation: animate-fade-up 0.8s forwards;
          animation: animate-fade-up 0.8s forwards;
}
.u-fade-down {
  -webkit-animation: animate-fade-down 0.8s forwards;
          animation: animate-fade-down 0.8s forwards;
}
.u-fade-left {
  -webkit-animation: animate-fade-left 0.8s forwards;
          animation: animate-fade-left 0.8s forwards;
}
.u-fade-right {
  -webkit-animation: animate-fade-right 0.8s forwards;
          animation: animate-fade-right 0.8s forwards;
}

.u-mask-up {
  -webkit-mask-image: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(33%, transparent), color-stop(50%, #000));
  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, transparent 33%, #000 50%);
          mask-image: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(33%, transparent), color-stop(50%, #000));
          mask-image: linear-gradient(to bottom, transparent 0%, transparent 33%, #000 50%);
  -webkit-mask-position: top;
          mask-position: top;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: 100% 300%;
          mask-size: 100% 300%;
  -webkit-animation: animate-mask-up 1s ease-out forwards;
          animation: animate-mask-up 1s ease-out forwards;
}
.u-mask-down {
  -webkit-mask-image: -webkit-gradient(linear, left bottom, left top, from(transparent), color-stop(33%, transparent), color-stop(50%, #000));
  -webkit-mask-image: linear-gradient(to top, transparent 0%, transparent 33%, #000 50%);
          mask-image: -webkit-gradient(linear, left bottom, left top, from(transparent), color-stop(33%, transparent), color-stop(50%, #000));
          mask-image: linear-gradient(to top, transparent 0%, transparent 33%, #000 50%);
  -webkit-mask-position: bottom;
          mask-position: bottom;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: 100% 300%;
          mask-size: 100% 300%;
  -webkit-animation: animate-mask-down 1s ease-out forwards;
          animation: animate-mask-down 1s ease-out forwards;
}

@-webkit-keyframes animate-fade-in {
  from {
    opacity: 0;
    -webkit-transform: translateY(18px);
            transform: translateY(18px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@keyframes animate-fade-in {
  from {
    opacity: 0;
    -webkit-transform: translateY(18px);
            transform: translateY(18px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes animate-fade-up {
  from {
    opacity: 0;
    -webkit-transform: translateY(25px);
            transform: translateY(25px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes animate-fade-up {
  from {
    opacity: 0;
    -webkit-transform: translateY(25px);
            transform: translateY(25px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes animate-fade-down {
  from {
    opacity: 0;
    -webkit-transform: translateY(-25px);
            transform: translateY(-25px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes animate-fade-down {
  from {
    opacity: 0;
    -webkit-transform: translateY(-25px);
            transform: translateY(-25px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes animate-fade-left {
  from {
    opacity: 0;
    -webkit-transform: translateX(-25px);
            transform: translateX(-25px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@keyframes animate-fade-left {
  from {
    opacity: 0;
    -webkit-transform: translateX(-25px);
            transform: translateX(-25px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@-webkit-keyframes animate-fade-right {
  from {
    opacity: 0;
    -webkit-transform: translateX(25px);
            transform: translateX(25px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@keyframes animate-fade-right {
  from {
    opacity: 0;
    -webkit-transform: translateX(25px);
            transform: translateX(25px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@-webkit-keyframes animate-mask-up {
  to {
    -webkit-mask-position: bottom;
            mask-position: bottom;
  }
}
@keyframes animate-mask-up {
  to {
    -webkit-mask-position: bottom;
            mask-position: bottom;
  }
}
@-webkit-keyframes animate-mask-down {
  to {
    -webkit-mask-position: top;
            mask-position: top;
  }
}
@keyframes animate-mask-down {
  to {
    -webkit-mask-position: top;
            mask-position: top;
  }
}
/* ==================================================
  Component: button
  再利用するボタンパーツ。案件固有のボタンはproject側に書く。
================================================== */
.c-btn-more {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 9px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  color: #1a4c80;
  font-size: 13px;
  font-family: "Roboto", sans-serif;
  font-weight: 500;
  line-height: 1;
}
.c-btn-more::after {
  content: "";
  display: block;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 25px;
  aspect-ratio: 1;
  background-color: currentColor;
  mask: url("/assets/img/common/icon_more.svg") no-repeat center/contain;
  -webkit-mask: url("/assets/img/common/icon_more.svg") no-repeat center/contain;
}
@media only screen and (min-width: 769px) {
  .c-btn-more:hover {
    opacity: 0.75 !important;
  }
}

@media only screen and (max-width: 768px) {
  .c-btn-more {
    gap: calc(6 / 393 * 100vw);
    font-size: calc(13 / 393 * 100vw);
  }
  .c-btn-more::after {
    width: calc(28 / 393 * 100vw);
  }
}
/* ==================================================
  Component: icon
================================================== */
.c-icon-bottom {
  display: block;
  width: 57px;
  margin: 70px auto 0;
  mix-blend-mode: multiply;
}
.c-icon-bottom img {
  width: 100%;
}

@media only screen and (max-width: 768px) {
  .c-icon-bottom {
    display: none;
  }
}
/* ==================================================
  Component: title
================================================== */
.c-title-underlayer__en {
  color: #1a4c80;
  font-family: "Roboto", sans-serif;
  font-size: 60px;
  font-weight: bold;
  line-height: 1.1;
}
.c-title-underlayer__ja {
  margin-top: 16px;
  font-size: 35px;
  font-weight: bold;
  line-height: 1.35;
}

@media only screen and (max-width: 768px) {
  .c-title-underlayer__en {
    font-size: calc(30 / 393 * 100vw);
  }
  .c-title-underlayer__ja {
    margin-top: calc(4 / 393 * 100vw);
    font-size: calc(20 / 393 * 100vw);
    line-height: 1.45;
  }
}
/* ==================================================
  Component: text
  見出し・リード文など、複数ページで使う文字パーツ。
================================================== */
.c-card-person {
  position: relative;
  isolation: isolate;
  padding-top: 24px;
  color: #fff;
  border-radius: 18px;
  background: transparent;
}
.c-card-person > span {
  position: absolute;
  z-index: 2;
  top: 8px;
  right: -2px;
  min-width: 84px;
  padding: 3px 14px;
  line-height: 1.3;
  text-align: center;
  border: 2px solid rgba(255, 255, 255, 0.75);
  border-radius: 100px;
  -webkit-box-shadow: 0 3px 5px rgba(0, 0, 0, 0.25);
          box-shadow: 0 3px 5px rgba(0, 0, 0, 0.25);
}
.c-card-person img {
  position: relative;
  z-index: 1;
  width: 100%;
  border-radius: 18px 18px 0 0;
}
.c-card-person p {
  position: relative;
  z-index: 0;
  width: calc(100% - 10px);
  min-height: 92px;
  margin-left: 10px;
  padding: 10px 10px 25px 30px;
  font-weight: 500;
  line-height: 1.65;
  border-radius: 0 0 18px 18px;
}
.c-card-person p::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: -170px;
  right: -18px;
  bottom: 0;
  width: 38px;
  border-radius: 0 14px 14px 0;
}
.c-card-person--blue > span {
  background: #1a4c80;
}
.c-card-person--blue p {
  background: #1a4c80;
}
.c-card-person--blue p::before {
  background: #1a4c80;
}
.c-card-person--green > span {
  background: #19963c;
}
.c-card-person--green p {
  background: #19963c;
}
.c-card-person--green p::before {
  background: #19963c;
}

@media only screen and (max-width: 768px) {
  .c-card-person {
    padding-top: calc(18 / 393 * 100vw);
    border-radius: calc(15 / 393 * 100vw);
    scroll-snap-align: start;
  }
  .c-card-person > span {
    right: calc(-5 / 393 * 100vw);
    top: calc(5 / 393 * 100vw);
    min-width: calc(61 / 393 * 100vw);
    padding: calc(2 / 393 * 100vw) calc(12 / 393 * 100vw);
    border-width: 1px;
    border-radius: calc(100 / 393 * 100vw);
    -webkit-box-shadow: 0 calc(2 / 393 * 100vw) calc(3 / 393 * 100vw) rgba(0, 0, 0, 0.25);
            box-shadow: 0 calc(2 / 393 * 100vw) calc(3 / 393 * 100vw) rgba(0, 0, 0, 0.25);
  }
  .c-card-person img {
    border-radius: calc(15 / 393 * 100vw);
  }
  .c-card-person p {
    margin-left: calc(7 / 393 * 100vw);
    padding: calc(9 / 393 * 100vw) calc(10 / 393 * 100vw) calc(20 / 393 * 100vw);
    border-radius: 0 0 calc(15 / 393 * 100vw) calc(15 / 393 * 100vw);
    letter-spacing: 0;
  }
  .c-card-person p::before {
    top: auto;
    right: calc(-15 / 393 * 100vw);
    width: calc(30 / 393 * 100vw);
    height: calc(250 / 393 * 100vw);
    border-radius: 0 calc(15 / 393 * 100vw) calc(15 / 393 * 100vw) 0;
  }
}
/* ==================================================
  Component: under page
  下層ページで共通利用するMV、パンくず、ページネーション等。
================================================== */
.c-under-mv {
  display: block;
}
.c-under-mv img {
  width: 100%;
  height: auto;
}

.c-under-4mv {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[4];
  grid-template-columns: repeat(4, 1fr);
  height: 20vw;
}
.c-under-4mv img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.c-under-heading {
  padding: 50px 0 45px;
}

@media only screen and (max-width: 768px) {
  .c-under-heading {
    padding: calc(30 / 393 * 100vw) 0 calc(38 / 393 * 100vw);
  }
}
/* ==================================================
  Project: top
================================================== */
.js-top-honest-wrap {
  opacity: 1;
  -webkit-transition: opacity 1s ease !important;
  transition: opacity 1s ease !important;
}

.js-top-honest-wrap.is-hide {
  opacity: 0;
}

.p-top-heading {
  font-family: "Roboto", sans-serif;
  margin-bottom: 22px;
  color: #1a4c80;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: 0.16em;
  text-align: center;
}
.p-top-heading span {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: bold;
  display: block;
  margin-top: 3px;
  letter-spacing: 0.08em;
}
.p-top-heading--left {
  text-align: left;
}
.p-top-heading--white {
  color: #fff;
}

.p-top-section-inner {
  width: 980px;
  max-width: calc(100% - 80px);
  margin: 0 auto;
}

.p-top-mvarea {
  position: sticky;
  top: 0;
  z-index: 1;
}

.p-top-mainarea {
  position: relative;
  z-index: 2;
  background: #efefef;
}

.p-top-mv {
  --honest-height: 200px;
  position: relative;
  height: 590px;
  overflow: hidden;
}
.p-top-mv__slider, .p-top-mv__slide, .p-top-mv__slide picture, .p-top-mv__slide img {
  width: 100%;
  height: 100%;
}
.p-top-mv__slide img {
  -o-object-fit: cover;
     object-fit: cover;
}
.p-top-mv__content {
  position: absolute;
  z-index: 8;
  inset: 0;
  width: 1000px;
  max-width: calc(100% - 80px);
  margin: auto;
  pointer-events: none;
}
.p-top-mv__title {
  position: absolute;
  top: 48px;
  left: 0;
  width: 296px;
}
.p-top-mv__interview {
  position: absolute;
  right: -100px;
  top: 5vw;
  width: 196px;
  pointer-events: auto;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
@media (max-width: 1200px) {
  .p-top-mv__interview {
    right: 0px;
  }
}
@media only screen and (min-width: 769px) {
  .p-top-mv__interview:hover {
    opacity: 1;
    -webkit-transform: translateY(-5px);
            transform: translateY(-5px);
  }
}
.p-top-mv__scroll {
  position: absolute;
  z-index: 2;
  top: -42px;
  left: 50%;
  color: #fff;
  font-size: 16px;
  letter-spacing: 0.08em;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.p-top-mv__scroll--closed {
  top: auto;
  bottom: max(45px, 4vw);
  opacity: 1;
  -webkit-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
  pointer-events: auto;
}
.p-top-mv__scroll::after {
  content: "";
  display: block;
  width: 5px;
  height: 30px;
  margin: 4px auto 0;
  background: radial-gradient(circle at 50% 2.5px, #fff 0 2.5px, transparent 2.6px), -webkit-gradient(linear, left top, left bottom, from(#fff), to(#fff)) center bottom/1px 25px no-repeat;
  background: radial-gradient(circle at 50% 2.5px, #fff 0 2.5px, transparent 2.6px), linear-gradient(#fff, #fff) center bottom/1px 25px no-repeat;
}
.p-top-mv__pagination {
  position: absolute;
  z-index: 4;
  bottom: 100px !important;
  left: max((100% - 1000px) / 2, 40px) !important;
  width: auto !important;
}
.p-top-mv__pagination .swiper-pagination-bullet {
  width: 7px;
  height: 7px;
  margin: 0 7px !important;
  background: #fff;
  opacity: 1;
}
.p-top-mv__pagination .swiper-pagination-bullet-active {
  -webkit-transform: scale(1.35);
          transform: scale(1.35);
}
.p-top-mv__honest {
  position: absolute;
  z-index: 6;
  right: 0;
  bottom: 0;
  left: 0;
  color: #1a4c80;
  text-align: center;
  background: transparent;
  opacity: 1;
  -webkit-transform: translateY(150%);
          transform: translateY(150%);
  -webkit-transition: -webkit-transform 3s cubic-bezier(0.2, 0.8, 0.2, 1);
  transition: -webkit-transform 3s cubic-bezier(0.2, 0.8, 0.2, 1);
  transition: transform 3s cubic-bezier(0.2, 0.8, 0.2, 1);
  transition: transform 3s cubic-bezier(0.2, 0.8, 0.2, 1), -webkit-transform 3s cubic-bezier(0.2, 0.8, 0.2, 1);
  z-index: 10;
}
.p-top-mv__honest-wrap {
  position: relative;
  padding-bottom: 12vw;
}
.p-top-mv__honest-wrap::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: 0px;
  right: 0;
  bottom: 0;
  left: 0;
  background: #a8d181;
}
.p-top-mv__honest-bg {
  position: absolute;
  z-index: 0;
  bottom: 99%;
  right: 0;
  left: 0;
  display: block;
  width: 100%;
}
.p-top-mv__honest-bg img {
  width: 100%;
  clip-path: ellipse(72% 100% at 50% 100%);
}
.p-top-mv__honest-label {
  position: relative;
  z-index: 1;
  display: block;
  width: 190px;
  margin: 1vw auto 30px;
  top: 15px;
}
.p-top-mv__honest-label img {
  width: 100%;
}
.p-top-mv__honest-reason {
  position: relative;
  z-index: 1;
  margin-top: -4px;
  font-size: 19px;
  font-weight: 700;
  line-height: 1.6;
}
.p-top-mv.is-open .p-top-mv__honest {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.p-top-mv.is-open .p-top-mv__scroll--closed {
  opacity: 0;
}
.p-top-mv.is-open .p-top-mv__pagination {
  bottom: 136px !important;
}

.p-top-news {
  position: relative;
  z-index: 7;
  margin-top: 0;
  padding: 0px 0 55px;
  background: #efefef;
}
.p-top-news__bg {
  position: absolute;
  z-index: 0;
  top: -4.8vw;
  right: 0;
  left: 0;
  display: block;
  width: 100%;
}
.p-top-news__bg img {
  width: 100%;
}
.p-top-news__inner {
  position: relative;
  z-index: 1;
  width: 640px;
  max-width: calc(100% - 80px);
  margin: auto;
}
.p-top-news .p-top-heading {
  margin-bottom: 8px;
}
.p-top-news__list a,
.p-top-news__list p {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  font-weight: 500;
  line-height: 1.7;
}
.p-top-news__list time {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 90px;
          flex: 0 0 90px;
}
.p-top-news__more {
  margin: 18px 0 0 auto;
  position: absolute;
  right: -100px;
}

.p-top-message {
  min-height: 520px;
  padding: 70px 0 50px;
  background: #efefef url("/assets/img/top/message_bg.svg") no-repeat right center/auto 100%;
}
.p-top-message__inner {
  width: 790px;
  max-width: calc(100% - 80px);
  margin: auto;
  text-align: center;
}
.p-top-message p {
  line-height: 2;
}

.p-top-about {
  position: relative;
  z-index: 2;
  margin-bottom: -160px;
}
.p-top-about__inner {
  width: 980px;
  max-width: calc(100% - 80px);
  margin: auto;
  padding: 34px 28px;
  background: #fff;
  border-radius: 20px;
}
.p-top-about__grid {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 25px 1fr;
  grid-template-columns: 1fr 1fr;
  gap: 32px 25px;
}
.p-top-about__image, .p-top-about__visual img {
  width: 100%;
  border-radius: 9px;
}
.p-top-about__body {
  padding: 30px 20px 0;
}
.p-top-about__body--appeal {
  padding: 6px 0 0 80px;
}
.p-top-about__body-title {
  margin-bottom: 12px;
  color: #1a4c80;
  font-size: 20px;
  font-weight: 500;
}
.p-top-about p {
  margin-bottom: 17px;
  font-weight: 500;
  line-height: 1.9;
}

.p-top-jobs {
  padding: 220px 0 80px;
  background: #1a4c80;
}
.p-top-jobs__card {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 3fr 1fr;
  grid-template-columns: 3fr 1fr;
  overflow: hidden;
  background: #fff;
  border-radius: 16px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.p-top-jobs__card > img {
  width: 100%;
  height: 250px;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-top-jobs__card > div {
  padding: 10px 28px;
}
.p-top-jobs__card h3 {
  margin-bottom: 10px;
  color: #1a4c80;
  font-size: 20px;
  font-weight: bold;
}
.p-top-jobs__card p {
  margin-bottom: 20px;
  font-weight: 500;
  line-height: 1.9;
}

.p-top-people {
  padding: 65px 0 85px;
  background: #a8d181;
}
.p-top-people__list {
  width: 100%;
  max-width: 980px;
  margin: 35px auto 0;
  padding-right: 25px;
}
.p-top-people__wrapper {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 32px 1fr 32px 1fr 32px 1fr;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
}
.p-top-people__list.is-slide .p-top-people__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0;
}
.p-top-people .c-card-person.is-offset {
  margin-top: 46px;
}

.p-top-talk {
  margin-top: 70px;
}
.p-top-talk__list {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 65px 1fr;
  grid-template-columns: 1fr 1fr;
  gap: 65px;
}
.p-top-talk h3 {
  margin-bottom: 8px;
  color: #1a4c80;
  font-size: 16px;
  font-weight: 700;
}
.p-top-talk img {
  width: 100%;
  border-radius: 8px;
}

.p-top-work {
  padding: 70px 0 80px;
}
.p-top-work__grid {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 65px 1fr;
  grid-template-columns: 1fr 1fr;
  gap: 25px 65px;
}
.p-top-work__item img {
  width: 100%;
  border-radius: 8px;
}
.p-top-work__gallery {
  grid-column: 1/-1;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1fr;
  grid-template-columns: 1fr 1fr;
  overflow: hidden;
  border-radius: 12px;
}
.p-top-work__gallery img {
  width: 100%;
  height: 140px;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-top-work__gallery span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #fff;
  background: #1a4c80;
  font-size: 17px;
  font-weight: 700;
}

.p-top-recruit {
  display: block;
  margin-top: 85px;
  padding: 26px;
  color: #1a4c80;
  font-size: 20px;
  font-weight: bold;
  text-align: center;
  background: #a8d181;
  border-radius: 16px;
  -webkit-box-shadow: 14px 18px 0 #1a4c80;
          box-shadow: 14px 18px 0 #1a4c80;
  position: relative;
  -webkit-transition: -webkit-transform 0.3s ease, -webkit-box-shadow 0.3s ease;
  transition: -webkit-transform 0.3s ease, -webkit-box-shadow 0.3s ease;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  transition: transform 0.3s ease, box-shadow 0.3s ease, -webkit-transform 0.3s ease, -webkit-box-shadow 0.3s ease;
}
.p-top-recruit span {
  font-family: "Roboto", sans-serif;
  display: block;
  margin-bottom: 3px;
  font-weight: normal;
  letter-spacing: 0.15em;
}
@media only screen and (min-width: 769px) {
  .p-top-recruit:hover {
    opacity: 1;
    -webkit-transform: translate(14px, 18px);
            transform: translate(14px, 18px);
    -webkit-box-shadow: 0 0 0 #1a4c80;
            box-shadow: 0 0 0 #1a4c80;
  }
}

@media only screen and (max-width: 768px) {
  .p-top-heading {
    margin-bottom: calc(15 / 393 * 100vw);
    font-size: calc(20 / 393 * 100vw);
  }
  .p-top-heading span {
    margin-top: calc(2 / 393 * 100vw);
  }
  .p-top-heading--left {
    text-align: left;
  }
  .p-top-section-inner {
    width: 90%;
    max-width: none;
  }
  .p-top-mv {
    --honest-height: calc(155 / 393 * 100vw);
    height: calc(586 / 393 * 100vw);
  }
  .p-top-mv__content {
    max-width: none;
    width: 100%;
    position: static;
  }
  .p-top-mv__slide img {
    -o-object-position: center;
       object-position: center;
  }
  .p-top-mv__title {
    top: calc(20 / 393 * 100vw);
    left: calc(-18 / 393 * 100vw);
    width: calc(284 / 393 * 100vw);
    z-index: 10;
  }
  .p-top-mv__interview {
    right: calc(14 / 393 * 100vw);
    top: auto;
    bottom: calc(70 / 393 * 100vw);
    width: calc(182 / 393 * 100vw);
    z-index: 12;
  }
  .p-top-mv__scroll--closed {
    bottom: calc(0 / 393 * 100vw);
  }
  .p-top-mv__pagination {
    bottom: calc(60 / 393 * 100vw) !important;
    left: calc(17 / 393 * 100vw) !important;
  }
  .p-top-mv__pagination .swiper-pagination-bullet {
    width: calc(5 / 393 * 100vw);
    height: calc(5 / 393 * 100vw);
    margin: 0 calc(5 / 393 * 100vw) !important;
  }
  .p-top-mv__honest-wrap {
    padding-bottom: calc(140 / 393 * 100vw);
  }
  .p-top-mv__honest-label {
    margin: calc(5 / 393 * 100vw) auto 0;
    width: calc(179 / 393 * 100vw);
    top: auto;
  }
  .p-top-mv__honest-reason {
    margin-top: calc(0 / 393 * 100vw);
    padding: 0 calc(5 / 393 * 100vw);
    font-size: calc(20 / 393 * 100vw);
    font-weight: 500;
  }
  .p-top-mv.is-open .p-top-mv__interview {
    bottom: calc(42 / 393 * 100vw);
  }
  .p-top-mv.is-open .p-top-mv__pagination {
    bottom: calc(117 / 393 * 100vw) !important;
  }
  .p-top-news {
    padding: calc(0 / 393 * 100vw) 0 calc(30 / 393 * 100vw);
  }
  .p-top-news__inner {
    width: 90%;
    max-width: none;
  }
  .p-top-news__list li {
    margin-bottom: calc(5 / 393 * 100vw);
  }
  .p-top-news__list a,
  .p-top-news__list p {
    gap: calc(11 / 393 * 100vw);
    line-height: 1.6;
    letter-spacing: 0;
  }
  .p-top-news__more {
    right: calc(0 / 393 * 100vw);
    margin-top: calc(1 / 393 * 100vw);
  }
  .p-top-message {
    min-height: 0;
    padding: calc(33 / 393 * 100vw) calc(0 / 393 * 100vw) calc(30 / 393 * 100vw);
    background-image: url("/assets/img/top/message_bg_sp.svg");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: top center;
  }
  .p-top-message__inner {
    width: 90%;
    max-width: none;
  }
  .p-top-message p {
    line-height: 2;
  }
  .p-top-about {
    background: -webkit-gradient(linear, left top, left bottom, from(#efefef), color-stop(50%, #efefef), color-stop(50%, #1a4c80), to(#1a4c80));
    background: linear-gradient(180deg, #efefef 0%, #efefef 50%, #1a4c80 50%, #1a4c80 100%);
    margin-bottom: calc(0 / 393 * 100vw);
  }
  .p-top-about__inner {
    width: 90%;
    max-width: none;
    padding: calc(40 / 393 * 100vw) calc(17 / 393 * 100vw);
    border-radius: calc(12 / 393 * 100vw);
  }
  .p-top-about__grid {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: calc(10 / 393 * 100vw);
  }
  .p-top-about__image {
    content: url("/assets/img/top/message_img01_sp.webp");
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .p-top-about__body {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    padding: 0;
  }
  .p-top-about__visual {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
  .p-top-about__visual--second {
    margin-top: calc(10 / 393 * 100vw);
  }
  .p-top-about__body--appeal {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
  }
  .p-top-about__body-title {
    margin-bottom: calc(7 / 393 * 100vw);
    font-size: calc(20 / 393 * 100vw);
    font-weight: bold;
  }
  .p-top-about p {
    margin-bottom: calc(10 / 393 * 100vw);
    line-height: 1.8;
  }
  .p-top-jobs {
    padding: calc(40 / 393 * 100vw) 0 calc(60 / 393 * 100vw);
  }
  .p-top-jobs__card {
    -ms-grid-columns: 1fr calc(15 / 393 * 100vw) 1fr;
    grid-template-columns: 1fr 1fr;
    border-radius: calc(9 / 393 * 100vw);
    gap: calc(15 / 393 * 100vw);
  }
  .p-top-jobs__card > div {
    padding: calc(10 / 393 * 100vw) calc(5 / 393 * 100vw);
  }
  .p-top-jobs__card h3 {
    margin-bottom: calc(7 / 393 * 100vw);
    font-size: calc(20 / 393 * 100vw);
  }
  .p-top-jobs__card p {
    margin-bottom: calc(10 / 393 * 100vw);
    line-height: 1.8;
  }
  .p-top-people {
    background: -webkit-gradient(linear, left top, left bottom, from(#efefef), color-stop(20%, #efefef), color-stop(20%, #a8d181), to(#a8d181));
    background: linear-gradient(180deg, #efefef 0%, #efefef 20%, #a8d181 20%, #a8d181 100%);
    padding: calc(10 / 393 * 100vw) 0 calc(48 / 393 * 100vw);
    overflow: hidden;
  }
  .p-top-people__list {
    max-width: none;
    margin: calc(25 / 393 * 100vw) 0 0 calc(50% - 50vw);
    padding: 0 calc(18 / 393 * 100vw) calc(16 / 393 * 100vw);
    width: 100vw;
  }
  .p-top-people__wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: calc(30 / 393 * 100vw);
    -ms-scroll-snap-type: x proximity;
        scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
  }
  .p-top-people__list.is-slide .p-top-people__wrapper {
    gap: 0;
  }
  .p-top-people .c-card-person.is-offset {
    margin-top: calc(40 / 393 * 100vw);
  }
  .p-top-talk {
    margin-top: calc(46 / 393 * 100vw);
  }
  .p-top-talk__list {
    display: block;
  }
  .p-top-talk a {
    display: block;
    margin-top: calc(20 / 393 * 100vw);
  }
  .p-top-talk h3 {
    margin-bottom: calc(6 / 393 * 100vw);
    font-size: calc(12 / 393 * 100vw);
  }
  .p-top-talk img {
    border-radius: calc(6 / 393 * 100vw);
  }
  .p-top-work {
    padding: calc(45 / 393 * 100vw) 0 calc(50 / 393 * 100vw);
  }
  .p-top-work__grid {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: calc(30 / 393 * 100vw) calc(15 / 393 * 100vw);
  }
  .p-top-work__gallery {
    -ms-grid-columns: 1fr 1fr;
    grid-template-columns: 1fr 1fr;
    border-radius: calc(15 / 393 * 100vw);
  }
  .p-top-work__gallery img {
    height: auto;
  }
  .p-top-work__gallery span {
    padding: calc(10 / 393 * 100vw);
    font-size: calc(20 / 393 * 100vw);
    font-weight: bold;
    text-align: center;
  }
  .p-top-recruit {
    width: calc(326 / 393 * 100vw);
    margin-top: calc(30 / 393 * 100vw);
    padding: calc(30 / 393 * 100vw) calc(19 / 393 * 100vw);
    font-size: calc(20 / 393 * 100vw);
    border-radius: calc(15 / 393 * 100vw);
    -webkit-box-shadow: calc(25 / 393 * 100vw) calc(27 / 393 * 100vw) 0 #1a4c80;
            box-shadow: calc(25 / 393 * 100vw) calc(27 / 393 * 100vw) 0 #1a4c80;
  }
}
/* ==================================================
  Project: numbers
================================================== */
.p-numbers {
  background: url("/assets/img/numbers/bg.svg");
  background-repeat: no-repeat;
  background-position: top center;
  background-size: 1280px;
  padding-bottom: 50px;
  overflow: hidden;
}
.p-numbers__bottom-icon {
  display: block;
  width: 45px;
  margin: 100px auto 0;
  mix-blend-mode: multiply;
}
.p-numbers__bottom-icon img {
  width: 100%;
}

.p-numbers-mv {
  position: relative;
  padding: 72px 0 50px;
  overflow: hidden;
}
.p-numbers-mv__inner {
  position: relative;
  z-index: 1;
  max-width: 886px;
  width: 95%;
  margin: 0 auto;
}
.p-numbers-mv__en {
  color: #1a4c80;
  font-family: "Roboto", sans-serif;
  font-size: 60px;
  font-weight: bold;
  line-height: 1.1;
}
.p-numbers-mv__title {
  margin-top: 16px;
  font-size: 35px;
  font-weight: bold;
  line-height: 1.35;
}
.p-numbers-mv__lead {
  margin-top: 24px;
  font-size: 18px;
  font-weight: bold;
}

.p-numbers-staff {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 20px 45px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.p-numbers-staff p {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: 10px;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  font-weight: 700;
  line-height: 1.2;
  white-space: nowrap;
}
.p-numbers-staff p:last-child {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  white-space: normal;
  position: relative;
}
.p-numbers-staff small {
  width: 100%;
  margin-left: 64px;
  white-space: nowrap;
  position: absolute;
  top: 100%;
}
.p-numbers-age {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 170px 0 170px 0 170px 0 170px;
  grid-template-columns: repeat(4, 170px);
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 0;
  width: 840px;
  max-width: 100%;
  margin: 26px auto 0;
}
.p-numbers-age__chart {
  --rate: 0;
  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;
  position: relative;
  width: 170px;
  height: 170px;
  color: #1a4c80;
  border-radius: 50%;
  background: conic-gradient(#a8d181 calc(var(--rate) * 1%), #647490 0);
  -webkit-transition: background 1.1s cubic-bezier(0.18, 0.82, 0.25, 1);
  transition: background 1.1s cubic-bezier(0.18, 0.82, 0.25, 1);
}
.p-numbers-age__chart::before {
  content: "";
  position: absolute;
  inset: 30px;
  border-radius: 50%;
  background: #efefef;
}
.p-numbers-age__chart p {
  position: relative;
  z-index: 1;
  width: 90px;
  color: #1a4c80;
  font-weight: 700;
  line-height: 1.15;
  text-align: center;
}
.p-numbers-age__chart span {
  display: block;
  padding-bottom: 8px;
  font-size: 24px;
  font-weight: bold;
  position: relative;
}
.p-numbers-age__chart span::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 72px;
  height: 1px;
  background: #1a4c80;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.p-numbers-age__chart span small {
  font-size: 18px;
}
.p-numbers-age__chart strong {
  display: block;
  padding-top: 8px;
  font-family: "Roboto", sans-serif;
  font-size: 24px;
  line-height: 1;
}
.p-numbers-age__chart strong span {
  display: inline;
  padding: 0;
  border: 0;
  font-size: inherit;
}
.p-numbers-age__chart strong span::after {
  content: none;
}

.p-numbers-data {
  border-top: 1px solid #1a4c80;
}
.p-numbers-data__grid {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[12];
  grid-template-columns: repeat(12, 1fr);
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
}
.p-numbers-data__item {
  position: relative;
  min-height: 212px;
  padding: 34px 86px 32px;
}
.p-numbers-data__item::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 100vw;
  height: 1px;
  background: #1a4c80;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.p-numbers-data__item--right {
  border-left: 1px solid #1a4c80;
}
.p-numbers-data__item--half {
  -ms-grid-column-span: 6;
  grid-column: span 6;
}
.p-numbers-data__item--half:not(.p-numbers-data__item--established):not(.p-numbers-data__item--staff) {
  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;
}
@media (min-width: 1200px) {
  .p-numbers-data__item--half:not(.p-numbers-data__item--established):not(.p-numbers-data__item--staff) {
    padding-inline: 166px 20px;
  }
}
.p-numbers-data__item--half.p-numbers-data__item--right:not(.p-numbers-data__item--staff) {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media (min-width: 1200px) {
  .p-numbers-data__item--half.p-numbers-data__item--right:not(.p-numbers-data__item--staff) {
    padding-inline: 60px 50px;
  }
}
.p-numbers-data__item--established {
  -ms-grid-column-span: 5;
  grid-column: span 5;
}
@media (min-width: 1200px) {
  .p-numbers-data__item--established {
    padding: 38px 20px 36px 166px;
  }
}
.p-numbers-data__item--age {
  padding: 36px 86px 58px;
}
.p-numbers-data__item--age .p-numbers-data__title {
  max-width: 950px;
  margin-inline: auto;
}
.p-numbers-data__item--ratio {
  min-height: 205px;
  padding-block: 35px 25px;
}
.p-numbers-data__item--trunover {
  min-height: 205px;
  padding-block: 35px 25px;
}
.p-numbers-data__item--staff {
  -ms-grid-column-span: 7;
  grid-column: span 7;
}
@media (min-width: 1200px) {
  .p-numbers-data__item--staff {
    padding: 38px 84px 36px 62px;
  }
}
.p-numbers-data__item--full {
  grid-column: 1/-1;
}
.p-numbers-data__item--center {
  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;
}
.p-numbers-data__item--icon .p-numbers-data__content {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 76px 18px 1fr;
  grid-template-columns: 76px 1fr;
  gap: 18px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.p-numbers-data__item--icon .p-numbers-data__title {
  grid-column: 1/-1;
}
.p-numbers-data__item--icon .p-numbers-data__content > img {
  -ms-grid-column-align: center;
      justify-self: center;
  max-height: 90px;
}
.p-numbers-data__item--icon p {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 8px;
  font-weight: 700;
  line-height: 1.2;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.p-numbers-data__item--icon p .p-numbers-data__unit,
.p-numbers-data__item--icon p small {
  margin-bottom: 4px;
}
.p-numbers-data__item--icon p > span:first-child:not(.p-numbers-data__num):not(.p-numbers-data__unit) {
  display: block;
  margin-bottom: 6px;
  font-size: 14px;
  width: 100%;
}
.p-numbers-data__item--reward {
  padding-bottom: 45px;
}
@media (min-width: 1200px) {
  .p-numbers-data__item--reward {
    padding-inline: 166px 86px;
  }
}
.p-numbers-data__content {
  width: 456px;
  max-width: 100%;
}
.p-numbers-data__title {
  margin-bottom: 18px;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.4;
}
.p-numbers-data__title span {
  margin-left: 8px;
  font-size: 16px;
  font-weight: normal;
}
.p-numbers-data__value {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: 13px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.p-numbers-data__num {
  color: #1a4c80;
  font-size: 70px;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0.03em;
}
.p-numbers-data__unit {
  color: #000;
  font-size: 40px;
  font-weight: 700;
  line-height: 1.1;
}
.p-numbers-data__note {
  margin-top: 10px;
  font-size: 13px;
}
.p-numbers-data small {
  display: inline-block;
  color: #000;
  font-weight: normal;
  line-height: 1.45;
}
.p-numbers-data__chart {
  width: 125px;
  height: 125px;
}

.p-numbers-ratio {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 10px 42px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.p-numbers-ratio__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 13px;
}
.p-numbers-ratio img {
  width: 49px;
  max-height: 115px;
}
.p-numbers-ratio p {
  font-weight: 700;
  line-height: 1.05;
}
.p-numbers-ratio p.p-numbers-ratio__attention {
  font-weight: normal;
}
.p-numbers-ratio p > span {
  display: block;
  margin-bottom: 8px;
}
.p-numbers-ratio strong {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: 2px;
  font-size: 28px;
  line-height: 1;
  font-size: 40px;
}
.p-numbers-ratio--childcare {
  gap: 30px;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  padding-left: 5px;
}
.p-numbers-ratio--childcare img {
  width: 40px;
}

.p-numbers-turnover {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 42px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.p-numbers-turnover p {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 8px;
  font-weight: 700;
  line-height: 1.1;
}
.p-numbers-turnover img {
  width: 136px;
  margin-top: -50px;
}
@media (max-width: 1175px) {
  .p-numbers-turnover img {
    margin-top: 0px;
  }
}

.p-numbers-field {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 28px 76px 28px 1fr;
  grid-template-columns: 1fr 76px 1fr;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 28px;
  max-width: 400px;
  margin: 22px auto 0;
}
@media (max-width: 1000px) {
  .p-numbers-field {
    -ms-grid-columns: (1fr)[1];
    grid-template-columns: repeat(1, 1fr);
  }
}
.p-numbers-field p {
  font-weight: 700;
  line-height: 1.05;
}
.p-numbers-field img {
  margin-left: -10px;
}
.p-numbers-field p > span {
  display: block;
  margin-bottom: 8px;
  font-size: 16px;
}
.p-numbers-field strong {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  color: #1a4c80;
  font-family: "Roboto", sans-serif;
  font-size: 54px;
  line-height: 1;
}

.p-numbers-clothes {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 22px 1fr;
  grid-template-columns: repeat(2, 1fr);
  gap: 22px;
  margin-top: 18px;
}
@media (max-width: 1000px) {
  .p-numbers-clothes {
    -ms-grid-columns: (1fr)[1];
    grid-template-columns: repeat(1, 1fr);
  }
}
.p-numbers-clothes div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 15px;
}
.p-numbers-clothes img {
  width: 63px;
}
.p-numbers-clothes p {
  font-weight: 700;
  line-height: 1.05;
}
.p-numbers-clothes p > span {
  display: block;
  margin-bottom: 8px;
}
.p-numbers-clothes strong {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  color: #1a4c80;
  font-family: "Roboto", sans-serif;
  font-size: 54px;
  line-height: 1;
}

.p-numbers-reward {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 168px 60px 1fr;
  grid-template-columns: 168px 1fr;
  gap: 60px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  max-width: 970px;
  margin: 0;
}
.p-numbers-reward > img {
  width: 168px;
}
.p-numbers-reward__list {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 66px 1fr;
  grid-template-columns: repeat(2, 1fr);
  gap: 21px 66px;
}
@media (max-width: 1000px) {
  .p-numbers-reward__list {
    -ms-grid-columns: (1fr)[1];
    grid-template-columns: repeat(1, 1fr);
  }
}
.p-numbers-reward li {
  --rate: 0;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 15px;
  min-height: 30px;
  padding-bottom: 8px;
  font-weight: 700;
  line-height: 1.3;
}
.p-numbers-reward li:nth-child(1) {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
.p-numbers-reward li:nth-child(2) {
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
}
.p-numbers-reward li:nth-child(3) {
  -webkit-box-ordinal-group: 6;
      -ms-flex-order: 5;
          order: 5;
}
.p-numbers-reward li:nth-child(4) {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}
.p-numbers-reward li:nth-child(5) {
  -webkit-box-ordinal-group: 5;
      -ms-flex-order: 4;
          order: 4;
}
.p-numbers-reward li:nth-child(6) {
  -webkit-box-ordinal-group: 7;
      -ms-flex-order: 6;
          order: 6;
}
.p-numbers-reward li::before, .p-numbers-reward li::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -3px;
  left: 0;
  height: 5px;
  background: rgba(168, 209, 129, 0.35);
}
.p-numbers-reward li::after {
  width: calc(var(--rate) * 1%);
  background: #a8d181;
  -webkit-transition: width 1.1s cubic-bezier(0.18, 0.82, 0.25, 1);
  transition: width 1.1s cubic-bezier(0.18, 0.82, 0.25, 1);
}
.p-numbers-reward strong {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  font-size: 20px;
  line-height: 1;
}
.p-numbers-reward strong span {
  color: #1a4c80;
  font-size: 35px;
}

@media only screen and (max-width: 768px) {
  .p-numbers {
    background: url("/assets/img/numbers/bg_sp.svg");
    background-repeat: no-repeat;
    background-position: top center;
    background-size: 100%;
    padding-bottom: calc(10 / 393 * 100vw);
  }
  .p-numbers__bottom-icon {
    display: none;
    width: calc(45 / 393 * 100vw);
    margin-top: calc(55 / 393 * 100vw);
  }
  .p-numbers-mv {
    padding: calc(28 / 393 * 100vw) 0 calc(40 / 393 * 100vw);
  }
  .p-numbers-mv::before {
    top: calc(-100 / 393 * 100vw);
    left: calc(50 / 393 * 100vw);
    width: calc(390 / 393 * 100vw);
    height: calc(268 / 393 * 100vw);
  }
  .p-numbers-mv__inner {
    width: 90%;
    max-width: none;
  }
  .p-numbers-mv__en {
    font-size: calc(30 / 393 * 100vw);
  }
  .p-numbers-mv__title {
    margin-top: calc(4 / 393 * 100vw);
    font-size: calc(20 / 393 * 100vw);
    line-height: 1.45;
  }
  .p-numbers-mv__lead {
    margin-top: calc(13 / 393 * 100vw);
    font-size: max(16px, 16 / 393 * 100vw);
    line-height: 1.7;
  }
  .p-numbers-staff {
    display: block;
  }
  .p-numbers-staff p {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: calc(10 / 393 * 100vw);
  }
  .p-numbers-staff p + p {
    margin-top: calc(10 / 393 * 100vw);
  }
  .p-numbers-staff small {
    width: 100%;
    margin: calc(2 / 393 * 100vw) 0 0;
    text-align: center;
  }
  .p-numbers-staff__label {
    min-width: calc(60 / 393 * 100vw);
    font-size: calc(18 / 393 * 100vw);
    text-align: left;
  }
  .p-numbers-age {
    -ms-grid-columns: calc(161 / 393 * 100vw) calc(20 / 393 * 100vw) calc(161 / 393 * 100vw);
    grid-template-columns: repeat(2, calc(161 / 393 * 100vw));
    gap: calc(20 / 393 * 100vw);
    margin-top: calc(4 / 393 * 100vw);
  }
  .p-numbers-age__chart {
    width: calc(161 / 393 * 100vw);
    height: calc(161 / 393 * 100vw);
  }
  .p-numbers-age__chart::before {
    inset: calc(28 / 393 * 100vw);
  }
  .p-numbers-age__chart p {
    width: calc(98 / 393 * 100vw);
  }
  .p-numbers-age__chart span {
    padding-bottom: calc(6 / 393 * 100vw);
    font-size: calc(21 / 393 * 100vw);
  }
  .p-numbers-age__chart span small {
    font-size: max(16px, 16 / 393 * 100vw);
  }
  .p-numbers-age__chart span::after {
    width: calc(65 / 393 * 100vw);
  }
  .p-numbers-age__chart strong {
    padding-top: calc(7 / 393 * 100vw);
    font-size: calc(21 / 393 * 100vw);
  }
  .p-numbers-data__grid {
    display: block;
  }
  .p-numbers-data__item {
    min-height: 0;
    padding: calc(22 / 393 * 100vw) 5% calc(25 / 393 * 100vw);
  }
  .p-numbers-data__item--right {
    border-left: 0;
  }
  .p-numbers-data__item--center {
    display: block;
  }
  .p-numbers-data__item--half:not(.p-numbers-data__item--established):not(.p-numbers-data__item--staff) {
    display: block;
  }
  .p-numbers-data__item--icon .p-numbers-data__content {
    -ms-grid-columns: calc(72 / 393 * 100vw) calc(15 / 393 * 100vw) 1fr;
    grid-template-columns: calc(72 / 393 * 100vw) 1fr;
    gap: 0 calc(15 / 393 * 100vw);
  }
  .p-numbers-data__item--icon .p-numbers-data__content > img {
    max-height: calc(82 / 393 * 100vw);
  }
  .p-numbers-data__item--icon p {
    gap: calc(6 / 393 * 100vw);
  }
  .p-numbers-data__item--icon p > span:first-child:not(.p-numbers-data__num):not(.p-numbers-data__unit) {
    margin-bottom: calc(4 / 393 * 100vw);
    font-size: calc(12 / 393 * 100vw);
  }
  .p-numbers-data__item--staff {
    padding-bottom: calc(60 / 393 * 100vw);
  }
  .p-numbers-data__item--age {
    padding-inline: 5%;
  }
  .p-numbers-data__item--reward {
    padding-bottom: calc(40 / 393 * 100vw);
  }
  .p-numbers-data__title {
    margin-bottom: calc(16 / 393 * 100vw);
    font-size: calc(18 / 393 * 100vw);
  }
  .p-numbers-data__title span {
    margin-left: calc(5 / 393 * 100vw);
    font-size: max(16px, 16 / 393 * 100vw);
  }
  .p-numbers-data__value {
    gap: calc(10 / 393 * 100vw);
  }
  .p-numbers-data__num {
    font-size: calc(63 / 393 * 100vw);
    letter-spacing: calc(0 / 393 * 100vw);
  }
  .p-numbers-data__unit {
    font-size: calc(30 / 393 * 100vw);
    letter-spacing: calc(0 / 393 * 100vw);
  }
  .p-numbers-data__note {
    margin-top: calc(8 / 393 * 100vw);
    font-size: calc(11 / 393 * 100vw);
  }
  .p-numbers-data small {
    font-size: calc(18 / 393 * 100vw);
  }
  .p-numbers-data__chart {
    width: calc(100 / 393 * 100vw);
    height: calc(100 / 393 * 100vw);
  }
  .p-numbers-data__chart::before {
    inset: calc(17 / 393 * 100vw);
  }
  .p-numbers-ratio {
    gap: calc(8 / 393 * 100vw) calc(18 / 393 * 100vw);
  }
  .p-numbers-ratio__item {
    gap: calc(5 / 393 * 100vw);
  }
  .p-numbers-ratio img {
    width: calc(45 / 393 * 100vw);
    max-height: calc(98 / 393 * 100vw);
  }
  .p-numbers-ratio p > span {
    margin-bottom: calc(6 / 393 * 100vw);
    font-size: max(16px, 16 / 393 * 100vw);
  }
  .p-numbers-ratio strong {
    gap: calc(1 / 393 * 100vw);
    font-size: calc(33 / 393 * 100vw);
    letter-spacing: 0;
  }
  .p-numbers-ratio--childcare {
    gap: calc(23 / 393 * 100vw);
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding-left: 0;
  }
  .p-numbers-ratio--childcare img {
    width: calc(36 / 393 * 100vw);
  }
  .p-numbers-turnover {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: calc(10 / 393 * 100vw) calc(30 / 393 * 100vw);
  }
  .p-numbers-turnover p {
    width: calc(190 / 393 * 100vw);
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: calc(6 / 393 * 100vw);
  }
  .p-numbers-turnover img {
    width: calc(127 / 393 * 100vw);
    margin-top: calc(-40 / 393 * 100vw);
  }
  .p-numbers-turnover small {
    width: 100%;
  }
  .p-numbers-field {
    -ms-grid-columns: 1fr calc(10 / 393 * 100vw) calc(76 / 393 * 100vw) calc(10 / 393 * 100vw) 1fr;
    grid-template-columns: 1fr calc(76 / 393 * 100vw) 1fr;
    gap: calc(10 / 393 * 100vw);
    margin-top: calc(12 / 393 * 100vw);
  }
  .p-numbers-field p > span {
    margin-bottom: calc(5 / 393 * 100vw);
    font-size: max(16px, 16 / 393 * 100vw);
  }
  .p-numbers-field img {
    margin-left: calc(-15 / 393 * 100vw);
  }
  .p-numbers-field strong {
    font-size: calc(43 / 393 * 100vw);
  }
  .p-numbers-clothes {
    -ms-grid-columns: 1fr calc(5 / 393 * 100vw) 1fr;
    grid-template-columns: repeat(2, 1fr);
    gap: calc(10 / 393 * 100vw) calc(5 / 393 * 100vw);
    margin-top: calc(10 / 393 * 100vw);
  }
  .p-numbers-clothes div {
    gap: calc(8 / 393 * 100vw);
  }
  .p-numbers-clothes img {
    width: calc(46 / 393 * 100vw);
  }
  .p-numbers-clothes p > span {
    margin-bottom: calc(5 / 393 * 100vw);
    font-size: max(16px, 16 / 393 * 100vw);
  }
  .p-numbers-clothes strong {
    font-size: calc(43 / 393 * 100vw);
  }
  .p-numbers-reward {
    display: block;
    margin-top: calc(13 / 393 * 100vw);
  }
  .p-numbers-reward > img {
    display: block;
    width: calc(85 / 393 * 100vw);
    margin: 0 auto calc(5 / 393 * 100vw);
  }
  .p-numbers-reward__list {
    display: block;
  }
  .p-numbers-reward li {
    gap: calc(10 / 393 * 100vw);
    min-height: calc(28 / 393 * 100vw);
    padding-bottom: calc(8 / 393 * 100vw);
    font-size: max(16px, 16 / 393 * 100vw);
  }
  .p-numbers-reward li + li {
    margin-top: calc(12 / 393 * 100vw);
  }
  .p-numbers-reward li::before, .p-numbers-reward li::after {
    height: calc(5 / 393 * 100vw);
  }
  .p-numbers-reward strong {
    font-size: calc(25 / 393 * 100vw);
  }
}
@media (min-width: 1200px) {
  .p-numbers-data__item--place {
    padding: 22px 68px 20px 48px !important;
  }
}

.p-numbers-data__item--tenure .p-numbers-data__title {
  margin-bottom: 0px;
}
.p-numbers-data__item--tenure .p-numbers-data__content {
  -ms-grid-columns: 150px 1fr;
  grid-template-columns: 150px 1fr;
}
.p-numbers-data__item--tenure .p-numbers-data__content > img {
  width: 150px;
  max-height: 120px;
}

.p-numbers-data__item--career .p-numbers-field {
  -ms-grid-columns: 1fr 130px 1fr;
  grid-template-columns: 1fr 130px 1fr;
}
.p-numbers-data__item--career .p-numbers-field img {
  margin-left: 0;
}
.p-numbers-data__item--career .p-numbers-field strong {
  color: #000;
}
.p-numbers-data__item--career .p-numbers-field strong span {
  color: #1a4c80;
}

.p-numbers-data__item--place .p-numbers-data__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.p-numbers-place {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 34px 1fr;
  grid-template-columns: repeat(2, 1fr);
  gap: 15px 34px;
  max-width: 350px;
  margin: -4px auto 0;
}
.p-numbers-place__item {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 68px 7px 1fr;
  grid-template-columns: 68px 1fr;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 7px;
  min-height: 74px;
}
.p-numbers-place__item img {
  -ms-grid-column-align: center;
      justify-self: center;
  max-width: 69px;
  max-height: 77px;
}
.p-numbers-place__item p {
  font-weight: 700;
  line-height: 1;
}
.p-numbers-place__item p > span {
  display: block;
  margin-bottom: 3px;
  font-size: 16px;
}
.p-numbers-place__item strong {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 2px;
  color: #1a4c80;
  line-height: 1;
}
.p-numbers-place .p-numbers-data__num {
  font-size: 56px;
}
.p-numbers-place .p-numbers-data__unit {
  margin-bottom: 4px;
  font-size: 32px;
}

@media only screen and (max-width: 768px) {
  .p-numbers-data__item--tenure .p-numbers-data__title {
    margin-bottom: calc(0 / 393 * 100vw);
  }
  .p-numbers-data__item--tenure .p-numbers-data__content {
    -ms-grid-columns: calc(150 / 393 * 100vw) 1fr;
    grid-template-columns: calc(150 / 393 * 100vw) 1fr;
  }
  .p-numbers-data__item--tenure .p-numbers-data__content > img {
    width: calc(150 / 393 * 100vw);
    max-height: calc(120 / 393 * 100vw);
  }
  .p-numbers-data__item--career .p-numbers-field {
    -ms-grid-columns: 1fr calc(100 / 393 * 100vw) 1fr;
    grid-template-columns: 1fr calc(100 / 393 * 100vw) 1fr;
  }
  .p-numbers-data__item--place .p-numbers-data__content {
    display: block;
  }
  .p-numbers-place {
    gap: calc(8 / 393 * 100vw) calc(12 / 393 * 100vw);
    max-width: calc(360 / 393 * 100vw);
    margin: calc(-3 / 393 * 100vw) 0 0;
  }
  .p-numbers-place__item {
    -ms-grid-columns: calc(70 / 393 * 100vw) calc(7 / 393 * 100vw) 1fr;
    grid-template-columns: calc(70 / 393 * 100vw) 1fr;
    gap: calc(7 / 393 * 100vw);
    min-height: calc(70 / 393 * 100vw);
  }
  .p-numbers-place__item img {
    max-width: calc(58 / 393 * 100vw);
    max-height: calc(70 / 393 * 100vw);
  }
  .p-numbers-place__item p > span {
    margin-bottom: calc(3 / 393 * 100vw);
    font-size: calc(12 / 393 * 100vw);
  }
  .p-numbers-place .p-numbers-data__unit {
    margin-bottom: calc(3 / 393 * 100vw);
  }
}
/* ==================================================
  Project: work
================================================== */
.p-work {
  padding-bottom: 56px;
  overflow: hidden;
  background: #efefef;
}

.p-work-mv__thumbs {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[4];
  grid-template-columns: repeat(4, 1fr);
  min-height: 205px;
}
.p-work-mv__thumbs img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.p-work-charm__item {
  background: #efefef;
}
.p-work-charm__heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 55px;
  min-height: 195px;
}
.p-work-charm__num {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  color: #1a4c80;
  font-size: 150px;
  line-height: 1;
}
.p-work-charm__title {
  font-size: 35px;
  font-weight: bold;
  line-height: 1.55;
}
.p-work-charm__body {
  position: relative;
  display: -ms-grid;
  display: grid;
  min-height: 430px;
  color: #fff;
  background: #1a4c80;
}
.p-work-charm__body--right {
  -ms-grid-columns: 47.2% 52.8%;
  grid-template-columns: 47.2% 52.8%;
}
.p-work-charm__body--right .p-work-charm__image,
.p-work-charm__body--right .p-work-charm__gallery {
  -ms-grid-column: 1;
  grid-column: 1;
}
.p-work-charm__body--right .p-work-charm__image {
  border-radius: 0 20px 20px 0;
}
.p-work-charm__body--right .p-work-charm__content {
  -ms-grid-column: 2;
  grid-column: 2;
}
.p-work-charm__body--left {
  -ms-grid-columns: 52.5% 47.5%;
  grid-template-columns: 52.5% 47.5%;
}
.p-work-charm__body--left .p-work-charm__image {
  -ms-grid-column: 2;
  grid-column: 2;
}
.p-work-charm__body--left .p-work-charm__image {
  border-radius: 20px 0 0 20px;
}
.p-work-charm__body--left .p-work-charm__content {
  -ms-grid-column: 1;
  grid-column: 1;
  -ms-grid-row: 1;
  grid-row: 1;
}
.p-work-charm__image {
  height: 100%;
  overflow: hidden;
}
.p-work-charm__image img {
  width: 110%;
  height: 110%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.p-work-charm__content {
  -ms-flex-item-align: center;
      -ms-grid-row-align: center;
      align-self: center;
  width: 505px;
  max-width: calc(100% - 120px);
  margin: 0 auto;
  padding: 40px 0;
}
.p-work-charm__lead {
  font-size: 24px;
  font-weight: bold;
  line-height: 1.65;
}
.p-work-charm__text {
  margin-top: 18px;
  font-weight: 500;
  line-height: 2.05;
  text-align: justify;
}
.p-work-charm__body--gallery {
  -ms-grid-columns: 52.5% 47.5%;
  grid-template-columns: 52.5% 47.5%;
  min-height: 430px;
}
.p-work-charm__gallery {
  position: relative;
  width: 100%;
  min-height: 430px;
}
.p-work-charm__gallery img {
  position: absolute;
  width: 55%;
  min-width: 400px;
  max-width: 450px;
  border-radius: 0 20px 20px 0;
}
.p-work-charm__gallery img:nth-child(1) {
  top: 7%;
  left: 6%;
  z-index: 1;
}
.p-work-charm__gallery img:nth-child(2) {
  top: 43%;
  left: 43%;
  border-radius: 20px 0 0 20px;
  z-index: 0;
}

@media only screen and (max-width: 768px) {
  .p-work {
    padding-bottom: calc(10 / 393 * 100vw);
  }
  .p-work-mv__thumbs {
    height: calc(65 / 393 * 100vw);
    min-height: auto;
  }
  .p-work-charm__heading {
    display: block;
    width: auto;
    min-height: 0;
    padding: calc(28 / 393 * 100vw) calc(20 / 393 * 100vw) calc(24 / 393 * 100vw);
  }
  .p-work-charm__num {
    font-size: calc(35 / 393 * 100vw);
    line-height: 1;
  }
  .p-work-charm__title {
    margin-top: calc(5 / 393 * 100vw);
    font-size: calc(18 / 393 * 100vw);
    line-height: 1.55;
  }
  .p-work-charm__body, .p-work-charm__body--right, .p-work-charm__body--left, .p-work-charm__body--gallery {
    display: block;
    min-height: 0;
    padding: calc(20 / 393 * 100vw) calc(20 / 393 * 100vw) calc(30 / 393 * 100vw);
  }
  .p-work-charm__body .p-work-charm__image,
  .p-work-charm__body .p-work-charm__gallery,
  .p-work-charm__body .p-work-charm__content, .p-work-charm__body--right .p-work-charm__image,
  .p-work-charm__body--right .p-work-charm__gallery,
  .p-work-charm__body--right .p-work-charm__content, .p-work-charm__body--left .p-work-charm__image,
  .p-work-charm__body--left .p-work-charm__gallery,
  .p-work-charm__body--left .p-work-charm__content, .p-work-charm__body--gallery .p-work-charm__image,
  .p-work-charm__body--gallery .p-work-charm__gallery,
  .p-work-charm__body--gallery .p-work-charm__content {
    grid-column: auto;
    grid-row: auto;
  }
  .p-work-charm__image {
    height: auto;
  }
  .p-work-charm__image img {
    border-radius: calc(6 / 393 * 100vw);
  }
  .p-work-charm__content {
    width: auto;
    max-width: none;
    margin-top: calc(24 / 393 * 100vw);
    padding: 0;
  }
  .p-work-charm__lead {
    font-size: calc(18 / 393 * 100vw);
    line-height: 1.7;
  }
  .p-work-charm__text {
    margin-top: calc(12 / 393 * 100vw);
    line-height: 2.05;
    font-weight: normal;
  }
  .p-work-charm__gallery {
    display: -ms-grid;
    display: grid;
    gap: calc(12 / 393 * 100vw);
    min-height: 0;
  }
  .p-work-charm__gallery img {
    position: static;
    width: 100%;
    border-radius: calc(6 / 393 * 100vw);
    min-width: unset;
  }
}
@media screen and (min-width: 769px) and (max-width: 1250px) {
  .p-work-charm__gallery {
    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: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 50px auto;
    gap: 30px;
  }
  .p-work-charm__gallery img {
    width: 100%;
    position: static;
  }
}
/* ==================================================
  Project: work
================================================== */
.p-jobs {
  background: #efefef;
}

.p-jobs-matrix {
  padding: 20px 0 60px;
  background: #fff;
}
.p-jobs-matrix__title {
  margin-bottom: 11px;
  color: #1a4c80;
  font-size: 30px;
  font-weight: bold;
  line-height: 1.3;
}
.p-jobs-matrix__lead {
  margin-bottom: 28px;
  font-weight: 500;
  line-height: 1.7;
}
.p-jobs-matrix__table-wrap {
  overflow: hidden;
  -webkit-box-shadow: 10px 10px 0 #1a4c80;
          box-shadow: 10px 10px 0 #1a4c80;
  border: 1px solid #1a4c80;
  border-radius: 12px;
}
.p-jobs-matrix__table {
  width: 100%;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0;
  background: #fff;
}
.p-jobs-matrix__table caption {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.p-jobs-matrix__table th,
.p-jobs-matrix__table td {
  height: 76px;
  border-right: 1px solid #1a4c80;
  border-bottom: 1px solid #1a4c80;
  color: #1a4c80;
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
  vertical-align: middle;
}
.p-jobs-matrix__table thead th {
  height: 58px;
  border-bottom: 1px solid #1a4c80;
  font-size: 18px;
}
.p-jobs-matrix__table thead th:first-child {
  width: 35%;
}
.p-jobs-matrix__table tbody tr:nth-child(even) {
  background: #eaf6ef;
}
.p-jobs-matrix__table tbody tr:last-child th,
.p-jobs-matrix__table tbody tr:last-child td {
  border-bottom: 0;
}
.p-jobs-matrix__table tbody th {
  width: 35%;
  padding: 0 28px;
  font-size: 18px;
  text-align: left;
  white-space: nowrap;
}
.p-jobs-matrix__table tbody td {
  width: 9.2857142857%;
  font-size: 18px;
}
.p-jobs-matrix__table tr th:last-child,
.p-jobs-matrix__table tr td:last-child {
  border-right: 0;
}
.p-jobs-matrix__note {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 22px;
  margin-top: 28px;
  font-weight: 500;
  line-height: 1.4;
}

.p-jobs-work {
  padding-bottom: 60px;
  background: #efefef;
}
.p-jobs-work__heading {
  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: 60px;
  margin-bottom: 50px;
  border-top: 1px solid #1a4c80;
  border-bottom: 1px solid #1a4c80;
  color: #fff;
  font-size: 24px;
  font-weight: bold;
  line-height: 1.3;
  background: #efefef;
}
.p-jobs-work__heading span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 880px;
  max-width: 95%;
  height: 100%;
  padding-left: 48px;
  background: #1a4c80;
}

.p-jobs-accordion {
  display: -ms-grid;
  display: grid;
  gap: 36px;
}
.p-jobs-accordion__item {
  position: relative;
  color: #1a4c80;
  background: #fff;
  border: 1px solid #1a4c80;
  border-radius: 8px;
  -webkit-box-shadow: 10px 10px 0 #1a4c80;
          box-shadow: 10px 10px 0 #1a4c80;
}
.p-jobs-accordion__button {
  position: relative;
  display: block;
  width: 100%;
  min-height: 105px;
  padding: 22px 92px 18px 100px;
  color: inherit;
  text-align: left;
  cursor: pointer;
}
.p-jobs-accordion__button::before, .p-jobs-accordion__button::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 42px;
  width: 31px;
  height: 4px;
  background: #1a4c80;
  border-radius: 999px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.p-jobs-accordion__button::after {
  -webkit-transform: translateY(-50%) rotate(90deg);
          transform: translateY(-50%) rotate(90deg);
}
.p-jobs-accordion__item.is-open .p-jobs-accordion__button {
  min-height: auto;
  padding-bottom: 11px;
}
.p-jobs-accordion__item.is-open .p-jobs-accordion__button::after {
  opacity: 0;
}
.p-jobs-accordion__head {
  display: block;
}
.p-jobs-accordion__title {
  display: block;
  font-size: 32px;
  font-weight: 800;
  line-height: 1.35;
  letter-spacing: 0.1em;
}
.p-jobs-accordion__title small {
  font-size: 24px;
}
.p-jobs-accordion__labels {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  margin-top: 4px;
  color: #1a4c80;
  line-height: 1.4;
}
.p-jobs-accordion__label {
  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;
  min-width: 68px;
  padding: 3px 13px;
  border: 1px solid #fff;
  color: #fff;
  border-radius: 999px;
  -webkit-box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.16);
          box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.16);
}
.p-jobs-accordion__label--blue {
  background: #1a4c80;
}
.p-jobs-accordion__label--green {
  background: #19963c;
}
.p-jobs-accordion__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 20px 100px 35px;
  color: #000;
  line-height: 2;
}
.p-jobs-accordion__body p {
  text-align: justify;
}
.p-jobs-accordion__body p + p {
  margin-top: 4px;
}
.p-jobs-accordion__link {
  margin-top: 30px;
  font-weight: bold;
  font-size: 16px;
}

@media only screen and (max-width: 768px) {
  .p-jobs-matrix {
    width: 100%;
    padding: calc(25 / 393 * 100vw) 0 calc(50 / 393 * 100vw);
    overflow: hidden;
  }
  .p-jobs-matrix__inner {
    width: 100%;
  }
  .p-jobs-matrix__title, .p-jobs-matrix__lead, .p-jobs-matrix__note {
    width: 90%;
    margin-right: auto;
    margin-left: auto;
  }
  .p-jobs-matrix__title {
    margin-bottom: calc(7 / 393 * 100vw);
    font-size: calc(24 / 393 * 100vw);
  }
  .p-jobs-matrix__lead {
    margin-bottom: calc(26 / 393 * 100vw);
    line-height: 2;
  }
  .p-jobs-matrix__table-wrap {
    width: 100%;
    padding: 0 5% calc(10 / 393 * 100vw);
    overflow-x: auto;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    -webkit-box-shadow: none;
            box-shadow: none;
    border: 0;
    border-radius: 0;
    -webkit-overflow-scrolling: touch;
  }
  .p-jobs-matrix__table {
    width: calc(570 / 393 * 100vw);
    min-width: calc(570 / 393 * 100vw);
    -webkit-box-shadow: calc(7 / 393 * 100vw) calc(7 / 393 * 100vw) 0 #1a4c80;
            box-shadow: calc(7 / 393 * 100vw) calc(7 / 393 * 100vw) 0 #1a4c80;
    border: 1px solid #1a4c80;
    border-radius: calc(11 / 393 * 100vw);
  }
  .p-jobs-matrix__table th,
  .p-jobs-matrix__table td {
    height: calc(60 / 393 * 100vw);
  }
  .p-jobs-matrix__table thead th {
    height: calc(49 / 393 * 100vw);
    border-bottom: 1px solid #1a4c80;
    font-size: calc(15 / 393 * 100vw);
  }
  .p-jobs-matrix__table thead th:first-child {
    width: calc(230 / 393 * 100vw);
  }
  .p-jobs-matrix__table tbody th {
    width: calc(230 / 393 * 100vw);
    padding: 0 calc(16 / 393 * 100vw);
    font-size: calc(14 / 393 * 100vw);
  }
  .p-jobs-matrix__table tbody td {
    width: calc(48 / 393 * 100vw);
    font-size: calc(15 / 393 * 100vw);
  }
  .p-jobs-matrix__note {
    gap: calc(12 / 393 * 100vw);
    margin-top: calc(13 / 393 * 100vw);
    line-height: 1.5;
  }
  .p-jobs-work {
    padding-bottom: calc(10 / 393 * 100vw);
  }
  .p-jobs-work__heading {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    height: calc(38 / 393 * 100vw);
    margin-bottom: calc(40 / 393 * 100vw);
    border: 0;
    font-size: calc(18 / 393 * 100vw);
    background: #1a4c80;
    padding: calc(25 / 393 * 100vw) 0;
  }
  .p-jobs-work__heading span {
    width: 100%;
    max-width: none;
    padding-left: 8.5%;
  }
  .p-jobs-work__inner {
    width: calc(100% - calc(38 / 393 * 100vw));
  }
  .p-jobs-accordion {
    gap: calc(18 / 393 * 100vw);
  }
  .p-jobs-accordion__item {
    border-radius: calc(6 / 393 * 100vw);
    -webkit-box-shadow: calc(7 / 393 * 100vw) calc(7 / 393 * 100vw) 0 #1a4c80;
            box-shadow: calc(7 / 393 * 100vw) calc(7 / 393 * 100vw) 0 #1a4c80;
  }
  .p-jobs-accordion__button {
    min-height: calc(94 / 393 * 100vw);
    padding: calc(18 / 393 * 100vw) calc(58 / 393 * 100vw) calc(15 / 393 * 100vw) calc(17 / 393 * 100vw);
  }
  .p-jobs-accordion__button::before, .p-jobs-accordion__button::after {
    right: calc(22 / 393 * 100vw);
    width: calc(23 / 393 * 100vw);
    height: calc(3 / 393 * 100vw);
  }
  .p-jobs-accordion__item.is-open .p-jobs-accordion__button {
    padding-bottom: calc(17 / 393 * 100vw);
  }
  .p-jobs-accordion__title {
    font-size: calc(20 / 393 * 100vw);
    line-height: 1.45;
  }
  .p-jobs-accordion__title small {
    font-size: calc(20 / 393 * 100vw);
  }
  .p-jobs-accordion__labels {
    gap: calc(8 / 393 * 100vw);
    margin-top: calc(3 / 393 * 100vw);
  }
  .p-jobs-accordion__label {
    min-width: calc(63 / 393 * 100vw);
    padding: calc(3 / 393 * 100vw) calc(12 / 393 * 100vw);
    -webkit-box-shadow: calc(1 / 393 * 100vw) calc(1 / 393 * 100vw) calc(2 / 393 * 100vw) rgba(0, 0, 0, 0.16);
            box-shadow: calc(1 / 393 * 100vw) calc(1 / 393 * 100vw) calc(2 / 393 * 100vw) rgba(0, 0, 0, 0.16);
  }
  .p-jobs-accordion__body {
    padding: calc(0 / 393 * 100vw) calc(17 / 393 * 100vw) calc(25 / 393 * 100vw);
    line-height: 2.05;
  }
  .p-jobs-accordion__body p + p {
    margin-top: calc(4 / 393 * 100vw);
  }
  .p-jobs-accordion__link {
    margin-top: calc(20 / 393 * 100vw);
    font-size: max(16px, 16 / 393 * 100vw);
  }
}
/* ==================================================
  Project: employee
================================================== */
.p-employee {
  padding-bottom: 10px;
  background: #efefef;
}

.p-employee-benefits {
  padding: 45px 0 0;
}
.p-employee-benefits__en {
  font-size: 60px;
  font-weight: bold;
  line-height: 1.1;
  color: #1a4c80;
}
.p-employee-benefits__ja {
  margin-top: 14px;
  font-size: 35px;
  font-weight: bold;
  line-height: 1.2;
}
.p-employee-benefits__lead {
  margin-top: 9px;
  line-height: 1.7;
}
.p-employee-benefits__group {
  margin-top: 25px;
}
.p-employee-benefits__group + .p-employee-benefits__group {
  margin-top: 50px;
}
.p-employee-benefits__group-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 10px 26px;
  color: #fff;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.4;
  background: #1a4c80;
  border-radius: 15px;
}
.p-employee-benefits__panel {
  margin-top: 10px;
  padding: 50px 45px;
  background: #fff;
  border: 1px solid #1a4c80;
  border-radius: 11px;
  -webkit-box-shadow: 10px 10px 0 #1a4c80;
          box-shadow: 10px 10px 0 #1a4c80;
}
.p-employee-benefits__list {
  display: -ms-grid;
  display: grid;
  gap: 48px 0;
}
.p-employee-benefits__list--col2 {
  -ms-grid-columns: (1fr)[2];
  grid-template-columns: repeat(2, 1fr);
}
.p-employee-benefits__item {
  position: relative;
  min-height: 126px;
  padding: 10px 35px;
}
.p-employee-benefits__item::before {
  content: "";
  position: absolute;
  top: -24px;
  right: 33px;
  left: 0;
  height: 1px;
  background: rgba(26, 76, 128, 0.55);
}
.p-employee-benefits__item:nth-child(odd) {
  padding-left: 0;
}
.p-employee-benefits__item:nth-child(odd)::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 1px;
  background: rgba(26, 76, 128, 0.55);
}
.p-employee-benefits__item:nth-child(even) {
  padding-right: 0;
}
.p-employee-benefits__item:nth-child(even)::before {
  right: 0;
  left: 33px;
}
.p-employee-benefits__item:nth-child(-n+2)::before {
  display: none;
}
.p-employee-benefits__item h3 {
  margin-bottom: 14px;
  color: #1a4c80;
  font-size: 20px;
  font-weight: bold;
  line-height: 1.45;
}
.p-employee-benefits__item p {
  line-height: 1.65;
  letter-spacing: 0.03em;
}
.p-employee-benefits__item--with-image div {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 35% 18px 65%;
  grid-template-columns: 35% 65%;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  gap: 18px;
}
.p-employee-benefits__item--with-image img {
  width: 100%;
  height: auto;
}

.p-employee-gallery {
  padding: 110px 0 0px;
}
.p-employee-gallery__inner {
  width: 1020px;
  max-width: 95%;
  margin: 0 auto;
}
.p-employee-gallery__heading {
  margin-bottom: 50px;
  color: #1a4c80;
}
.p-employee-gallery__en {
  font-size: 60px;
  font-weight: bold;
  line-height: 1.1;
}
.p-employee-gallery__ja {
  margin-top: 13px;
  color: #000;
  font-size: 35px;
  font-weight: bold;
  line-height: 1.2;
}
.p-employee-gallery__list {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 60px 1fr 60px 1fr;
  grid-template-columns: repeat(3, 1fr);
  gap: 50px 60px;
}
.p-employee-gallery img {
  width: 100%;
  height: auto;
  border-radius: 12px;
}

@media only screen and (max-width: 768px) {
  .p-employee {
    padding-bottom: calc(10 / 393 * 100vw);
  }
  .p-employee-benefits {
    padding: calc(24 / 393 * 100vw) 0 0;
  }
  .p-employee-benefits__inner {
    width: 90%;
    max-width: none;
  }
  .p-employee-benefits__en {
    font-size: calc(30 / 393 * 100vw);
  }
  .p-employee-benefits__ja {
    margin-top: calc(7 / 393 * 100vw);
    font-size: calc(20 / 393 * 100vw);
  }
  .p-employee-benefits__lead {
    margin-top: calc(8 / 393 * 100vw);
    line-height: 1.8;
  }
  .p-employee-benefits__group {
    margin-top: calc(20 / 393 * 100vw);
  }
  .p-employee-benefits__group + .p-employee-benefits__group {
    margin-top: calc(54 / 393 * 100vw);
  }
  .p-employee-benefits__group-title {
    min-height: calc(27 / 393 * 100vw);
    padding: calc(15 / 393 * 100vw) calc(24 / 393 * 100vw);
    font-size: calc(18 / 393 * 100vw);
    border-radius: calc(15 / 393 * 100vw);
    line-height: 1;
  }
  .p-employee-benefits__panel {
    margin-top: calc(15 / 393 * 100vw);
    padding: calc(24 / 393 * 100vw) calc(24 / 393 * 100vw) calc(30 / 393 * 100vw);
    border-radius: calc(13 / 393 * 100vw);
    -webkit-box-shadow: calc(10 / 393 * 100vw) calc(10 / 393 * 100vw) 0 #1a4c80;
            box-shadow: calc(10 / 393 * 100vw) calc(10 / 393 * 100vw) 0 #1a4c80;
  }
  .p-employee-benefits__list {
    display: block;
  }
  .p-employee-benefits__item {
    min-height: 0;
    padding: calc(22 / 393 * 100vw) 0 calc(23 / 393 * 100vw);
    border-top: 1px solid rgba(26, 76, 128, 0.55);
  }
  .p-employee-benefits__item::before, .p-employee-benefits__item::after {
    display: none;
  }
  .p-employee-benefits__item:first-child {
    padding-top: 0;
    border-top: 0;
  }
  .p-employee-benefits__item:last-child {
    padding-bottom: 0;
  }
  .p-employee-benefits__item:nth-child(-n+2) {
    border-top: 1px solid rgba(26, 76, 128, 0.55);
  }
  .p-employee-benefits__item:nth-child(1) {
    border-top: 0;
  }
  .p-employee-benefits__item:nth-child(odd) {
    padding-left: 0;
    border-right: 0;
  }
  .p-employee-benefits__item:nth-child(even) {
    padding-right: 0;
  }
  .p-employee-benefits__item h3 {
    margin-bottom: calc(10 / 393 * 100vw);
    font-size: calc(20 / 393 * 100vw);
  }
  .p-employee-benefits__item p {
    line-height: 1.65;
  }
  .p-employee-benefits__item--with-image div {
    display: block;
  }
  .p-employee-benefits__item--with-image img {
    display: block;
    width: calc(142 / 393 * 100vw);
    margin: calc(7 / 393 * 100vw) auto calc(8 / 393 * 100vw);
  }
  .p-employee-gallery {
    padding: calc(50 / 393 * 100vw) 0 calc(10 / 393 * 100vw);
  }
  .p-employee-gallery__inner {
    width: 90%;
    max-width: none;
  }
  .p-employee-gallery__heading {
    margin-bottom: calc(24 / 393 * 100vw);
  }
  .p-employee-gallery__en {
    font-size: calc(30 / 393 * 100vw);
  }
  .p-employee-gallery__ja {
    margin-top: calc(5 / 393 * 100vw);
    font-size: calc(20 / 393 * 100vw);
  }
  .p-employee-gallery__list {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: calc(20 / 393 * 100vw);
    width: calc(300 / 393 * 100vw);
    margin: 0 auto;
  }
  .p-employee-gallery img {
    border-radius: calc(4 / 393 * 100vw);
  }
}
/* ==================================================
  Project: recruit
================================================== */
.p-recruit__inner {
  width: 95%;
  max-width: 910px;
  margin: 0 auto;
}
.p-recruit__list {
  display: -ms-grid;
  display: grid;
  gap: 10px;
}
.p-recruit__row {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 140px 16px 1fr;
  grid-template-columns: 140px 1fr;
  gap: 16px;
  line-height: 1.7;
}
.p-recruit__row dd {
  min-width: 0;
}
.p-recruit__row dd a {
  text-decoration: underline;
}
.p-recruit__row--wide {
  display: block;
}
.p-recruit__row--wide dd {
  margin-left: 126px;
}
.p-recruit-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-block: 15px;
}
.p-recruit-btn a {
  width: 240px;
  height: 60px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #fff;
  background: #1a4c80;
  font-size: 24px;
  font-weight: bold;
  line-height: 1;
  opacity: 0.2;
}
.p-recruit-btn a.--green {
  background: #19963c;
}
.p-recruit-btn a.--active {
  opacity: 1;
  pointer-events: none;
}
.p-recruit-btn-title {
  font-size: 24px;
  font-weight: bold;
  position: relative;
}
.p-recruit-btn-title span {
  opacity: 0;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
.p-recruit-btn-title span.--entry {
  position: absolute;
  top: 0;
  left: 0;
}
.p-recruit-btn-title span.--active {
  opacity: 1;
}

.p-recruit-guideline {
  padding: 30px 0 0;
}
.p-recruit-guideline__inner {
  width: 95%;
  max-width: 910px;
  margin: 0 auto;
}
.p-recruit-guideline__heading {
  margin-bottom: 28px;
}
.p-recruit-guideline__en {
  color: #1a4c80;
  font-size: 60px;
  font-weight: bold;
  line-height: 1.1;
  letter-spacing: 0;
}
.p-recruit-guideline__ja {
  margin-top: 12px;
  font-size: 35px;
  font-weight: bold;
  line-height: 1.35;
  letter-spacing: 0.04em;
}
.p-recruit-guideline__block {
  padding: 18px 0 21px;
  border-top: 1px solid #1a4c80;
}
.p-recruit-guideline__block:last-child {
  border-bottom: 1px solid #1a4c80;
}

.p-recruit-application {
  padding: 83px 0 0px;
}
.p-recruit-application__title {
  padding-bottom: 12px;
  border-bottom: 1px solid #1a4c80;
  font-size: 35px;
  font-weight: bold;
  line-height: 1.35;
  letter-spacing: 0.04em;
}
.p-recruit-application__body {
  padding: 18px 0 25px;
  border-bottom: 1px solid #1a4c80;
}
.p-recruit-application__entry {
  margin-top: 54px;
  text-align: center;
}
.p-recruit-application__button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 440px;
  min-height: 60px;
  padding: 10px 24px;
  border-radius: 7px;
  color: #fff;
  font-size: 24px;
  font-weight: bold;
  line-height: 1.3;
  letter-spacing: 0.08em;
  background: #1a4c80;
  -webkit-box-shadow: 10px 10px 0 #a8d181;
          box-shadow: 10px 10px 0 #a8d181;
  -webkit-transition: -webkit-transform 0.3s ease, -webkit-box-shadow 0.3s ease;
  transition: -webkit-transform 0.3s ease, -webkit-box-shadow 0.3s ease;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  transition: transform 0.3s ease, box-shadow 0.3s ease, -webkit-transform 0.3s ease, -webkit-box-shadow 0.3s ease;
  position: relative;
  margin: 0 auto;
}
@media only screen and (min-width: 769px) {
  .p-recruit-application__button:hover {
    opacity: 1;
    -webkit-transform: translate(10px, 10px);
            transform: translate(10px, 10px);
    -webkit-box-shadow: 0 0 0 #a8d181;
            box-shadow: 0 0 0 #a8d181;
  }
}

@media only screen and (max-width: 768px) {
  .p-recruit__inner {
    width: 90%;
    max-width: none;
  }
  .p-recruit__list {
    gap: calc(10 / 393 * 100vw);
  }
  .p-recruit__row {
    -ms-grid-columns: calc(105 / 393 * 100vw) calc(8 / 393 * 100vw) 1fr;
    grid-template-columns: calc(105 / 393 * 100vw) 1fr;
    gap: calc(8 / 393 * 100vw);
    line-height: 1.8;
  }
  .p-recruit__row--wide {
    display: block;
  }
  .p-recruit__row--wide dd {
    margin-left: calc(113 / 393 * 100vw);
  }
  .p-recruit-btn {
    margin-block: calc(15 / 393 * 100vw);
  }
  .p-recruit-btn a {
    width: calc(240 / 393 * 100vw);
    height: calc(40 / 393 * 100vw);
    font-size: calc(16 / 393 * 100vw);
  }
  .p-recruit-btn-title {
    font-size: calc(16 / 393 * 100vw);
  }
  .p-recruit-guideline {
    padding: calc(20 / 393 * 100vw) 0 0;
  }
  .p-recruit-guideline__heading {
    margin-bottom: calc(14 / 393 * 100vw);
  }
  .p-recruit-guideline__en {
    font-size: calc(30 / 393 * 100vw);
  }
  .p-recruit-guideline__ja {
    margin-top: calc(3 / 393 * 100vw);
    font-size: calc(20 / 393 * 100vw);
  }
  .p-recruit-guideline__block {
    padding: calc(15 / 393 * 100vw) 0 calc(17 / 393 * 100vw);
  }
  .p-recruit-application {
    padding: calc(42 / 393 * 100vw) 0 calc(46 / 393 * 100vw);
  }
  .p-recruit-application__title {
    padding-bottom: calc(9 / 393 * 100vw);
    font-size: calc(20 / 393 * 100vw);
  }
  .p-recruit-application__body {
    padding: calc(13 / 393 * 100vw) 0 calc(19 / 393 * 100vw);
  }
  .p-recruit-application__entry {
    margin-top: calc(33 / 393 * 100vw);
  }
  .p-recruit-application__button {
    width: 100%;
    min-height: calc(42 / 393 * 100vw);
    padding: calc(14 / 393 * 100vw) calc(18 / 393 * 100vw);
    border-radius: calc(10 / 393 * 100vw);
    font-size: calc(17 / 393 * 100vw);
    -webkit-box-shadow: calc(8 / 393 * 100vw) calc(8 / 393 * 100vw) 0 #a8d181;
            box-shadow: calc(8 / 393 * 100vw) calc(8 / 393 * 100vw) 0 #a8d181;
  }
}
/* ==================================================
  Project: privacy
================================================== */
.p-privacy {
  padding: 58px 0 0px;
}
.p-privacy__heading-title {
  color: #1a4c80;
  font-size: 60px;
  font-weight: 500;
  line-height: 1.1;
}
.p-privacy__body {
  width: 700px;
  max-width: calc(100% - 80px);
  margin: 31px auto 0;
}
.p-privacy__section {
  margin-top: 43px;
}
.p-privacy__section:first-child {
  margin-top: 0;
}
.p-privacy__section--notice {
  margin-top: 37px;
}
.p-privacy__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 16px;
  margin-bottom: 21px;
  color: #19963c;
  font-size: 28px;
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: 0.05em;
}
.p-privacy__title span {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}
.p-privacy__notice-title {
  margin-bottom: 5px;
  font-weight: 700;
  line-height: 1.7;
}
.p-privacy__subtitle {
  margin: 30px 0 2px;
  color: #1a4c80;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.6;
}
.p-privacy__text {
  line-height: 1.85;
  letter-spacing: 0.03em;
}
.p-privacy__text + .p-privacy__text {
  margin-top: 2px;
}
.p-privacy__text a {
  color: inherit;
}
.p-privacy__sns {
  margin-top: 27px;
}
.p-privacy__sns:first-of-type {
  margin-top: 0;
}
.p-privacy__sns .p-privacy__subtitle {
  margin-top: 0;
}

@media only screen and (max-width: 768px) {
  .p-privacy {
    padding: calc(38 / 393 * 100vw) 0 calc(0 / 393 * 100vw);
  }
  .p-privacy__heading-title {
    font-size: calc(30 / 393 * 100vw);
  }
  .p-privacy__body {
    width: 90%;
    max-width: none;
    margin-top: calc(28 / 393 * 100vw);
  }
  .p-privacy__section {
    margin-top: calc(36 / 393 * 100vw);
  }
  .p-privacy__section--notice {
    margin-top: calc(30 / 393 * 100vw);
  }
  .p-privacy__title {
    gap: calc(10 / 393 * 100vw);
    margin-bottom: calc(16 / 393 * 100vw);
    font-size: calc(23 / 393 * 100vw);
    line-height: 1.45;
  }
  .p-privacy__notice-title {
    margin-bottom: calc(4 / 393 * 100vw);
  }
  .p-privacy__subtitle {
    margin: calc(24 / 393 * 100vw) 0 calc(2 / 393 * 100vw);
    font-size: calc(18 / 393 * 100vw);
    line-height: 1.55;
  }
  .p-privacy__text {
    line-height: 1.85;
  }
  .p-privacy__text + .p-privacy__text {
    margin-top: calc(2 / 393 * 100vw);
  }
  .p-privacy__sns {
    margin-top: calc(22 / 393 * 100vw);
  }
}
/* ==================================================
  Project: news
================================================== */
.p-news {
  padding: 58px 0 0px;
  background: #efefef;
}
.p-news__inner {
  position: relative;
}
.p-news__heading {
  margin-bottom: 25px;
}
.p-news__archive {
  width: 100%;
  max-width: 100%;
}
.p-news__year-block + .p-news__year-block {
  margin-top: 52px;
}
.p-news__year {
  margin-bottom: 11px;
  font-size: 35px;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0.03em;
}
.p-news__list li + li {
  margin-top: 12px;
}
.p-news__list a,
.p-news__list div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 30px;
  font-weight: 700;
  line-height: 1.35;
}
.p-news__list time {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 80px;
          flex: 0 0 80px;
  letter-spacing: 0.02em;
}
.p-news__list span {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}
.p-news__list span small {
  font-weight: normal;
}
.p-news__list span small a {
  font-weight: normal;
  display: inline;
  text-decoration: underline;
}
.p-news .c-icon-bottom {
  margin-top: 125px;
}

@media only screen and (max-width: 768px) {
  .p-news {
    padding: calc(34 / 393 * 100vw) 0 calc(40 / 393 * 100vw);
  }
  .p-news__heading {
    margin-bottom: calc(24 / 393 * 100vw);
  }
  .p-news__archive {
    width: 100%;
  }
  .p-news__year-block + .p-news__year-block {
    margin-top: calc(36 / 393 * 100vw);
  }
  .p-news__year {
    margin-bottom: calc(12 / 393 * 100vw);
    font-size: calc(25 / 393 * 100vw);
  }
  .p-news__list li + li {
    margin-top: calc(15 / 393 * 100vw);
  }
  .p-news__list a,
  .p-news__list div {
    display: block;
    line-height: 1.6;
  }
  .p-news__list time {
    display: block;
    margin-bottom: calc(2 / 393 * 100vw);
  }
  .p-news .c-icon-bottom {
    margin-top: calc(56 / 393 * 100vw);
  }
}
/* ==================================================
  Project: career
================================================== */
.p-career {
  padding-bottom: 56px;
  overflow: hidden;
  background: #efefef;
}

.p-career-com-inner {
  max-width: 910px;
}

.p-career-content {
  margin-top: 22px;
}

.p-career-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
  margin-bottom: 25px;
}
.p-career-nav 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;
  min-width: 145px;
  padding: 3px 12px 4px;
  color: #1a4c80;
  font-size: 20px;
  font-weight: bold;
  line-height: 1.25;
  border: 1px solid #1a4c80;
  border-radius: 5px;
  -webkit-transition: color 0.3s ease, background 0.3s ease, opacity 0.3s ease;
  transition: color 0.3s ease, background 0.3s ease, opacity 0.3s ease;
}
.p-career-nav a:nth-child(2) {
  color: #19963c;
  border-color: #19963c;
}
@media only screen and (min-width: 769px) {
  .p-career-nav a:hover {
    color: #fff;
    background: #1a4c80;
    opacity: 1;
  }
  .p-career-nav a:nth-child(2):hover {
    background: #19963c;
  }
}

.p-career-rotation,
.p-career-system {
  padding: 30px 35px 38px;
  background: #fff;
  border: 1px solid #1a4c80;
  border-radius: 10px;
  -webkit-box-shadow: 9px 9px 0 #1a4c80;
          box-shadow: 9px 9px 0 #1a4c80;
}

.p-career-rotation + .p-career-rotation, .p-career-rotation + .p-career-system {
  margin-top: 48px;
}
.p-career-rotation--blue {
  color: #1a4c80;
}
.p-career-rotation--green {
  color: #19963c;
  border-color: #19963c;
  -webkit-box-shadow: 9px 9px 0 #19963c;
          box-shadow: 9px 9px 0 #19963c;
}
.p-career-rotation__title {
  font-size: 20px;
  font-weight: bold;
  line-height: 1.5;
}
.p-career-rotation__lead {
  margin-top: 10px;
  color: #000;
  line-height: 1.8;
}
.p-career-rotation__table {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 116px 12px minmax(0, 1fr) 12px minmax(0, 1fr) 12px minmax(0, 1fr);
  grid-template-columns: 116px repeat(3, minmax(0, 1fr));
  gap: 42px 12px;
}
.p-career-rotation__step {
  -ms-flex-item-align: end;
      -ms-grid-row-align: end;
      align-self: end;
  color: inherit;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.4;
  text-align: center;
  -webkit-transform: translateY(28px);
          transform: translateY(28px);
}
.p-career-rotation__step span {
  font-size: 24px;
}
.p-career-rotation__step.--second {
  color: #0066cc;
}
.p-career-rotation__step.--third {
  color: #009cff;
}
.p-career-rotation__step.--grn-second {
  color: #009933;
}
.p-career-rotation__step.--grn-third {
  color: #00c43c;
}
.p-career-rotation__case {
  position: absolute;
  top: -10px;
  left: 0;
  font-family: "Roboto", sans-serif;
  font-weight: 500;
  line-height: 1.4;
}
.p-career-rotation__labels {
  position: relative;
  display: -ms-grid;
  display: grid;
  -ms-grid-rows: 55px 12px 1fr;
  grid-template-rows: 55px 1fr;
  gap: 12px;
}
.p-career-rotation__labels span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 7px 12px;
  color: inherit;
  line-height: 1.5;
  background: #fff;
  border: 1px solid rgba(26, 76, 128, 0.24);
  border-radius: 7px;
}
.p-career-rotation__labels span:first-of-type {
  margin-top: 17px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-weight: 500;
}
.p-career-rotation__card {
  position: relative;
  min-height: 121px;
  padding: 18px 12px 14px;
  color: #000;
  line-height: 1.65;
  background: #f1eff8;
  border: 1px solid #006eb9;
  border-radius: 7px;
}
.p-career-rotation__card::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -7px;
  width: 0;
  height: 0;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 6px solid #006eb9;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.p-career-rotation__card h3 {
  padding-bottom: 12px;
  color: #000;
  font-weight: 500;
  line-height: 1.45;
  border-bottom: 1px solid #006eb9;
  letter-spacing: 0;
}
.p-career-rotation__card > p:not(.p-career-rotation__step-sp) {
  margin-top: 12px;
  color: #000;
}
.p-career-rotation--blue .p-career-rotation__labels + .p-career-rotation__card {
  background: #f4f1fb;
}
.p-career-rotation--blue .p-career-rotation__labels + .p-career-rotation__card + .p-career-rotation__card {
  background: #e2f4ff;
}
.p-career-rotation--blue .p-career-rotation__labels + .p-career-rotation__card + .p-career-rotation__card + .p-career-rotation__card {
  background: #e3ffff;
}
.p-career-rotation--blue .p-career-rotation__labels + .p-career-rotation__card + .p-career-rotation__card + .p-career-rotation__card::after {
  content: none;
}
.p-career-rotation--green .p-career-rotation__labels span {
  border-color: rgba(25, 150, 60, 0.24);
}
.p-career-rotation--green .p-career-rotation__card {
  background: #ddf4de;
  border-color: #27b84f;
}
.p-career-rotation--green .p-career-rotation__card::after {
  border-left-color: #27b84f;
}
.p-career-rotation--green .p-career-rotation__card h3 {
  border-bottom-color: #27b84f;
}
.p-career-rotation--green .p-career-rotation__card h3::before {
  color: #19963c;
}
.p-career-rotation--green .p-career-rotation__labels + .p-career-rotation__card + .p-career-rotation__card {
  background: #e1ffe4;
}
.p-career-rotation--green .p-career-rotation__labels + .p-career-rotation__card + .p-career-rotation__card + .p-career-rotation__card {
  background: #e8ffd0;
}
.p-career-rotation--green .p-career-rotation__labels + .p-career-rotation__card + .p-career-rotation__card + .p-career-rotation__card::after {
  content: none;
}

.p-career-system {
  color: #1a4c80;
}
.p-career-system__title {
  font-size: 20px;
  font-weight: bold;
  line-height: 1.5;
}
.p-career-system__list {
  display: -ms-grid;
  display: grid;
  gap: 25px;
  margin-top: 28px;
}
.p-career-system__item {
  padding: 17px 20px 18px;
  color: #000;
  line-height: 1.75;
  background: #e3f5ff;
  border: 1px solid #006eb9;
  border-radius: 7px;
}
.p-career-system__item h3 {
  padding-bottom: 13px;
  color: #000;
  font-weight: 500;
  line-height: 1.45;
  border-bottom: 1px solid #006eb9;
}
.p-career-system__item p {
  margin-top: 13px;
}

@media only screen and (max-width: 768px) {
  .p-career {
    padding-bottom: calc(10 / 393 * 100vw);
  }
  .p-career-content {
    width: calc(100% - calc(28 / 393 * 100vw));
    margin-top: calc(30 / 393 * 100vw);
  }
  .p-career-nav {
    gap: calc(4 / 393 * 100vw);
    margin-bottom: calc(18 / 393 * 100vw);
  }
  .p-career-nav a {
    min-width: 0;
    padding: calc(3 / 393 * 100vw) calc(7 / 393 * 100vw) calc(4 / 393 * 100vw);
    font-size: calc(20 / 393 * 100vw);
    border-width: calc(1 / 393 * 100vw);
    border-radius: calc(5 / 393 * 100vw);
  }
  .p-career-rotation,
  .p-career-system {
    padding: calc(13 / 393 * 100vw) 0 0;
    border-width: calc(1 / 393 * 100vw);
    border-radius: calc(6 / 393 * 100vw);
    -webkit-box-shadow: calc(5 / 393 * 100vw) calc(5 / 393 * 100vw) 0 #1a4c80;
            box-shadow: calc(5 / 393 * 100vw) calc(5 / 393 * 100vw) 0 #1a4c80;
  }
  .p-career-rotation + .p-career-rotation, .p-career-rotation + .p-career-system {
    margin-top: calc(32 / 393 * 100vw);
  }
  .p-career-rotation--green {
    -webkit-box-shadow: calc(5 / 393 * 100vw) calc(5 / 393 * 100vw) 0 #19963c;
            box-shadow: calc(5 / 393 * 100vw) calc(5 / 393 * 100vw) 0 #19963c;
  }
  .p-career-rotation--green .p-career-rotation__lead {
    border-bottom-color: #19963c;
  }
  .p-career-rotation__title {
    padding: 0 calc(11 / 393 * 100vw);
    font-size: calc(20 / 393 * 100vw);
  }
  .p-career-rotation__lead {
    margin-top: calc(8 / 393 * 100vw);
    padding: 0 calc(11 / 393 * 100vw) calc(15 / 393 * 100vw);
    font-size: calc(16 / 393 * 100vw);
    line-height: 1.75;
    border-bottom: calc(1 / 393 * 100vw) solid #1a4c80;
  }
  .p-career-rotation__table {
    display: block;
    margin-top: 0;
  }
  .p-career-rotation__heading {
    display: none;
  }
  .p-career-rotation__case {
    position: static;
    margin-top: 0;
    padding-top: calc(25 / 393 * 100vw);
    font-size: calc(20 / 393 * 100vw);
    text-align: center;
  }
  .p-career-rotation__labels {
    display: block;
    clear: both;
    padding: 0 calc(11 / 393 * 100vw);
  }
  .p-career-rotation__labels span {
    display: none;
  }
  .p-career-rotation__card {
    min-height: calc(92 / 393 * 100vw);
    width: calc(100% - calc(104 / 393 * 100vw));
    margin-top: calc(35 / 393 * 100vw);
    margin-left: calc(93 / 393 * 100vw);
    padding: calc(12 / 393 * 100vw) calc(10 / 393 * 100vw) calc(10 / 393 * 100vw);
    font-size: calc(12 / 393 * 100vw);
    line-height: 1.65;
    border-width: calc(1 / 393 * 100vw);
    border-radius: calc(5 / 393 * 100vw);
  }
  .p-career-rotation__card::after {
    top: auto;
    right: auto;
    bottom: calc(-25 / 393 * 100vw);
    left: 50%;
    width: calc(8 / 393 * 100vw);
    height: calc(12 / 393 * 100vw);
    background: #1a4c80;
    border: 0;
    clip-path: polygon(38% 0, 62% 0, 62% 50%, 100% 50%, 50% 100%, 0 50%, 38% 50%);
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  .p-career-rotation__card .p-career-rotation__step-sp {
    position: absolute;
    top: calc(-30 / 393 * 100vw);
    left: calc(-82 / 393 * 100vw);
    margin-top: 0;
    color: #1a4c80;
    font-size: calc(16 / 393 * 100vw);
    font-weight: bold;
    line-height: 1.4;
  }
  .p-career-rotation__card .p-career-rotation__step-sp span {
    font-size: calc(24 / 393 * 100vw);
  }
  .p-career-rotation__card .p-career-rotation__step-sp.--second {
    color: #0066cc;
  }
  .p-career-rotation__card .p-career-rotation__step-sp.--third {
    color: #009cff;
  }
  .p-career-rotation__card .p-career-rotation__step-sp.--grn-first {
    color: #19963c;
  }
  .p-career-rotation__card .p-career-rotation__step-sp.--grn-second {
    color: #009933;
  }
  .p-career-rotation__card .p-career-rotation__step-sp.--grn-third {
    color: #00c43c;
  }
  .p-career-rotation__card h3 {
    position: relative;
    padding-bottom: calc(8 / 393 * 100vw);
    font-size: calc(16 / 393 * 100vw);
    border-bottom-width: calc(1 / 393 * 100vw);
  }
  .p-career-rotation__card h3::before {
    content: "事業名";
    position: absolute;
    top: 50%;
    left: calc(-92 / 393 * 100vw);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: calc(65 / 393 * 100vw);
    min-height: 0;
    padding: 0 0 calc(9 / 393 * 100vw);
    color: #1a4c80;
    font-size: calc(16 / 393 * 100vw);
    font-weight: 500;
    line-height: 1.45;
    background: transparent;
    border: 0;
    border-bottom: calc(1 / 393 * 100vw) solid rgba(26, 76, 128, 0.65);
    border-radius: 0;
    -webkit-box-shadow: none;
            box-shadow: none;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .p-career-rotation__card > p:not(.p-career-rotation__step-sp) {
    position: relative;
    margin-top: calc(8 / 393 * 100vw);
    font-size: calc(16 / 393 * 100vw);
  }
  .p-career-rotation__card > p:not(.p-career-rotation__step-sp)::before {
    content: "身に付ける\a能力";
    white-space: pre;
    position: absolute;
    top: 50%;
    left: calc(-92 / 393 * 100vw);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: calc(72 / 393 * 100vw);
    min-height: 0;
    padding: 0 0 calc(9 / 393 * 100vw);
    color: #1a4c80;
    font-size: calc(16 / 393 * 100vw);
    font-weight: normal;
    line-height: 1.45;
    background: transparent;
    border: 0;
    border-radius: 0;
    -webkit-box-shadow: none;
            box-shadow: none;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    letter-spacing: 0;
  }
  .p-career-rotation__labels + .p-career-rotation__card + .p-career-rotation__card + .p-career-rotation__card {
    margin-bottom: calc(20 / 393 * 100vw);
  }
  .p-career-rotation__labels + .p-career-rotation__card + .p-career-rotation__card + .p-career-rotation__card::after {
    content: none;
  }
  .p-career-rotation__labels + .p-career-rotation__card + .p-career-rotation__card + .p-career-rotation__card::before {
    content: "";
    position: absolute;
    right: calc(-11 / 393 * 100vw);
    bottom: calc(-27 / 393 * 100vw);
    left: calc(-93 / 393 * 100vw);
    height: calc(1 / 393 * 100vw);
    background: #1a4c80;
  }
  .p-career-rotation--green .p-career-rotation__labels + .p-career-rotation__card + .p-career-rotation__card + .p-career-rotation__card::before {
    background: #19963c;
  }
  .p-career-rotation--green .p-career-rotation__card::after {
    background: #19963c;
  }
  .p-career-rotation--green .p-career-rotation__card h3::before,
  .p-career-rotation--green .p-career-rotation__card > p:not(.p-career-rotation__step-sp)::before {
    border-color: rgba(25, 150, 60, 0.65);
    color: #19963c;
  }
  .p-career-system {
    padding: calc(15 / 393 * 100vw) calc(9 / 393 * 100vw) calc(17 / 393 * 100vw);
  }
  .p-career-system__title {
    font-size: calc(20 / 393 * 100vw);
  }
  .p-career-system__list {
    gap: calc(16 / 393 * 100vw);
    margin-top: calc(15 / 393 * 100vw);
  }
  .p-career-system__item {
    padding: calc(12 / 393 * 100vw) calc(10 / 393 * 100vw) calc(13 / 393 * 100vw);
    font-size: calc(12 / 393 * 100vw);
    line-height: 1.7;
    border-width: calc(1 / 393 * 100vw);
    border-radius: calc(5 / 393 * 100vw);
  }
  .p-career-system__item h3 {
    padding-bottom: calc(8 / 393 * 100vw);
    font-size: calc(16 / 393 * 100vw);
    border-bottom-width: calc(1 / 393 * 100vw);
  }
  .p-career-system__item p {
    margin-top: calc(8 / 393 * 100vw);
    font-size: calc(16 / 393 * 100vw);
  }
}
/* ==================================================
  Utility
  単一目的の調整用クラス。原則として最後に読み込む。
================================================== */
.u-mt0 {
  margin-top: 0px !important;
}

.u-mb0 {
  margin-bottom: 0px !important;
}

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

.u-mb10 {
  margin-bottom: 10px !important;
}

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

.u-mb20 {
  margin-bottom: 20px !important;
}

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

.u-mb30 {
  margin-bottom: 30px !important;
}

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

.u-mb40 {
  margin-bottom: 40px !important;
}

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

.u-mb50 {
  margin-bottom: 50px !important;
}

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

.u-mb60 {
  margin-bottom: 60px !important;
}

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

.u-mb70 {
  margin-bottom: 70px !important;
}

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

.u-mb80 {
  margin-bottom: 80px !important;
}

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

.u-mb90 {
  margin-bottom: 90px !important;
}

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

.u-mb100 {
  margin-bottom: 100px !important;
}

.u-tal {
  text-align: left !important;
}

.u-tac {
  text-align: center !important;
}

.u-tar {
  text-align: right !important;
}

.u-hidden {
  display: none !important;
}

@media only screen and (max-width: 768px) {
  .u-mt0 {
    margin-top: calc(0 / 393 * 100vw) !important;
  }
  .u-mb0 {
    margin-bottom: calc(0 / 393 * 100vw) !important;
  }
  .u-mt10 {
    margin-top: calc(8 / 393 * 100vw) !important;
  }
  .u-mb10 {
    margin-bottom: calc(8 / 393 * 100vw) !important;
  }
  .u-mt20 {
    margin-top: calc(16 / 393 * 100vw) !important;
  }
  .u-mb20 {
    margin-bottom: calc(16 / 393 * 100vw) !important;
  }
  .u-mt30 {
    margin-top: calc(24 / 393 * 100vw) !important;
  }
  .u-mb30 {
    margin-bottom: calc(24 / 393 * 100vw) !important;
  }
  .u-mt40 {
    margin-top: calc(32 / 393 * 100vw) !important;
  }
  .u-mb40 {
    margin-bottom: calc(32 / 393 * 100vw) !important;
  }
  .u-mt50 {
    margin-top: calc(40 / 393 * 100vw) !important;
  }
  .u-mb50 {
    margin-bottom: calc(40 / 393 * 100vw) !important;
  }
  .u-mt60 {
    margin-top: calc(48 / 393 * 100vw) !important;
  }
  .u-mb60 {
    margin-bottom: calc(48 / 393 * 100vw) !important;
  }
  .u-mt70 {
    margin-top: calc(56 / 393 * 100vw) !important;
  }
  .u-mb70 {
    margin-bottom: calc(56 / 393 * 100vw) !important;
  }
  .u-mt80 {
    margin-top: calc(64 / 393 * 100vw) !important;
  }
  .u-mb80 {
    margin-bottom: calc(64 / 393 * 100vw) !important;
  }
  .u-mt90 {
    margin-top: calc(72 / 393 * 100vw) !important;
  }
  .u-mb90 {
    margin-bottom: calc(72 / 393 * 100vw) !important;
  }
  .u-mt100 {
    margin-top: calc(80 / 393 * 100vw) !important;
  }
  .u-mb100 {
    margin-bottom: calc(80 / 393 * 100vw) !important;
  }
}