@charset "UTF-8";
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("../font/noto-sans/nsjp-light.woff2") format("woff2"), url("../font/noto-sans/nsjp-light.woff") format("woff"), url("../font/noto-sans/nsjp-light.otf") format("opentype");
}
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../font/noto-sans/nsjp-regular.woff2") format("woff2"), url("../font/noto-sans/nsjp-regular.woff") format("woff"), url("../font/noto-sans/nsjp-regular.otf") format("opentype");
}
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../font/noto-sans/nsjp-medium.woff2") format("woff2"), url("../font/noto-sans/nsjp-medium.woff") format("woff"), url("../font/noto-sans/nsjp-medium.otf") format("opentype");
}
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../font/noto-sans/nsjp-bold.woff2") format("woff2"), url("../font/noto-sans/nsjp-bold.woff") format("woff"), url("../font/noto-sans/nsjp-bold.otf") format("opentype");
}
@font-face {
  font-family: "Outfit";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../font/en/Outfit-Regular.ttf") format("truetype");
}
@font-face {
  font-family: "Outfit";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../font/en/Outfit-Bold.ttf") format("truetype");
}
@keyframes fade-in {
  0% {
    display: none;
    opacity: 0;
  }
  1% {
    display: block;
    opacity: 0;
  }
  100% {
    display: block;
    opacity: 1;
  }
}
/*! purgecss start ignore */
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 {
  padding: 0;
  margin: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
  border: 0;
}

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

img {
  max-width: 100%;
  vertical-align: bottom;
}

ol,
ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

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

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

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

strong,
b {
  font-weight: 500;
}

/*! purgecss end ignore */
/*! purgecss start ignore */
html {
  height: 100%;
  font-size: 62.5%;
  scroll-behavior: smooth;
  scroll-padding-top: 10rem;
}
@media only screen and (min-width: 48em) and (max-width: 64em) {
  html {
    scroll-padding-top: 8rem;
  }
}
@media only screen and (max-width: 47.9375em) {
  html {
    scroll-padding-top: 13.3333333333vw;
  }
}
html.is-chrome img {
  image-rendering: -webkit-optimize-contrast;
}

body {
  width: 100%;
  min-height: 100%;
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  font-weight: 400;
  line-height: 1.6;
  color: #333333;
  letter-spacing: 0;
  background-color: #f3f4f5;
  font-size: 1.6rem;
  word-wrap: break-word;
  text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media only screen and (max-width: 47.9375em) {
  body {
    font-size: 3.7333333333vw;
  }
}
@media only screen and (max-width: 47.9375em) {
  body {
    text-size-adjust: none;
  }
}
@media print {
  body {
    zoom: 0.5;
    -webkit-print-color-adjust: exact;
  }
}

a {
  color: inherit;
  text-decoration: none;
}

a[href^="tel:"] {
  cursor: default;
}

b,
strong {
  font-weight: 700;
}

em {
  font-style: italic;
}

sup {
  vertical-align: super;
}

sub {
  vertical-align: sub;
}

img {
  display: block;
  max-width: 100%;
  height: auto;
}

input,
textarea,
button,
select {
  font: inherit;
  border-radius: 0;
  outline: none;
}

button {
  padding: 0;
  margin: 0;
  color: inherit;
  cursor: pointer;
  background-color: transparent;
  border: none;
  box-shadow: none;
  appearance: none;
}

option {
  min-height: inherit;
  padding: 0;
  margin: 0;
}

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

input::placeholder {
  color: rgba(51, 51, 51, 0.5);
}

/*! purgecss end ignore */
/* IE */
.l-page {
  visibility: visible;
  opacity: 1;
  transition: opacity 0.6s ease, visibility 0.6s ease;
  overflow: clip;
}

.l-container {
  max-width: 1040px;
  margin: 0 auto;
  padding: 0 20px;
}
@media only screen and (max-width: 47.9375em) {
  .l-container {
    padding: 0 5.3333333333vw;
  }
}

.fade {
  opacity: 0;
  visibility: hidden;
  transition: opacity 1s, visibility 1s, transform 1s;
  transform: translateY(20px);
}

/* 大見出し用。左から右へワイプして現れる。
   clip-path を文字幅に合わせるため width: fit-content にする */
.fade-side {
  width: fit-content;
  clip-path: inset(0 100% 0 0);
  transition: clip-path 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s;
}

.fade-side.is-active {
  clip-path: inset(0);
}

.is-active {
  opacity: 1;
  visibility: visible;
  transform: translate(0, 0);
}

/* 動きを抑える設定の環境では位置移動やワイプをさせない */
@media (prefers-reduced-motion: reduce) {
  .fade,
.fade-side {
    transition: opacity 0.4s;
    transform: none;
  }

  .fade-side {
    clip-path: none;
  }
}
.fade-kv {
  opacity: 0;
  transform: translateY(0);
  /* ← 明示的にゼロにする */
  transition: opacity 2s ease;
  will-change: opacity;
  /* ← 最適化のために追加 */
}

.fade-kv.is-visible {
  opacity: 1;
}

.l-header {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 999;
  width: 100%;
  background-color: #ffffff;
  transition: 0.3s;
}

.l-header a {
  transition: 0.3s;
}

.l-header__inner {
  position: relative;
  display: flex;
  column-gap: 2rem;
  align-items: center;
  height: 10rem;
  padding: 0 4rem;
}
@media only screen and (min-width: 48em) and (max-width: 64em) {
  .l-header__inner {
    height: 8rem;
    padding: 0 2rem;
  }
}
@media only screen and (max-width: 47.9375em) {
  .l-header__inner {
    height: 13.3333333333vw;
    padding: 0 5.3333333333vw;
  }
}

.l-header__logo {
  position: relative;
  z-index: 1;
  width: 29.8rem;
}
@media only screen and (min-width: 48em) and (max-width: 64em) {
  .l-header__logo {
    width: 22rem;
  }
}
@media only screen and (max-width: 47.9375em) {
  .l-header__logo {
    width: 44.5333333333vw;
  }
}

/* ヘッダーのナビ部分 */
.l-header__nav {
  display: flex;
  flex: 1;
  column-gap: 4rem;
  align-items: center;
  justify-content: flex-end;
}
@media only screen and (max-width: 64em) {
  .l-header__nav {
    position: fixed;
    top: 0;
    right: -100%;
    display: block;
    width: 100%;
    height: 100vh;
    padding: 12rem 2rem 4rem;
    overflow: auto;
    background-color: #ffffff;
    transition: ease 0.4s;
  }
}
@media only screen and (max-width: 47.9375em) {
  .l-header__nav {
    padding: 24vw 5.3333333333vw 10.6666666667vw;
  }
}

.nav__items {
  display: flex;
  column-gap: 4rem;
  align-items: center;
}
@media all and (min-width: 64.0625em) and (max-width: 85.375em) {
  .nav__items {
    column-gap: 2.4rem;
  }
}
@media print {
  .nav__items {
    column-gap: 2.4rem;
  }
}
@media only screen and (max-width: 64em) {
  .nav__items {
    display: block;
  }
}

/* ナビのリンク */
.nav-items__item a {
  display: block;
  font-size: 1.4rem;
  font-weight: 700;
  white-space: nowrap;
}
@media only screen and (max-width: 64em) {
  .nav-items__item a {
    padding: 1.8rem 1rem;
    white-space: normal;
    border-bottom: 0.1rem solid #f3f4f5;
  }
}
@media only screen and (max-width: 47.9375em) {
  .nav-items__item a {
    padding: 4.8vw 2.6666666667vw;
    font-size: 4vw;
  }
}
@media screen and (min-width: 64.0625em) and (hover: hover) {
  .nav-items__item a:hover {
    color: #0062e8;
  }
}

/* 新卒採用・経験者採用ボタン */
.l-header__entry {
  display: flex;
}
@media only screen and (max-width: 64em) {
  .l-header__entry {
    margin-top: 4rem;
  }
}
@media only screen and (max-width: 47.9375em) {
  .l-header__entry {
    margin-top: 8vw;
  }
}

.entry-btn__item {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 9.6rem;
  height: 6rem;
  font-size: 1.4rem;
  font-weight: 700;
  color: #ffffff;
  white-space: nowrap;
}
@media only screen and (max-width: 64em) {
  .entry-btn__item {
    width: 50%;
    height: 6rem;
  }
}
@media only screen and (max-width: 47.9375em) {
  .entry-btn__item {
    height: 14.9333333333vw;
    font-size: 3.7333333333vw;
  }
}
@media screen and (min-width: 64.0625em) and (hover: hover) {
  .entry-btn__item {
    cursor: pointer;
    transition: opacity 0.5s;
  }
}
@media screen and (min-width: 64.0625em) and (hover: hover) {
  .entry-btn__item:hover {
    opacity: 0.7;
  }
}

.entry-btn__item--new {
  background-color: #0062e8;
  border-radius: 0.5rem 0 0 0.5rem;
}

.entry-btn__item--career {
  background-color: #003f8e;
  border-radius: 0 0.5rem 0.5rem 0;
}

/* ハンバーガーメニュー */
.hamburger {
  z-index: 9999;
  display: flex;
  flex-direction: column;
  row-gap: 2.1333333333vw;
  align-items: center;
  justify-content: center;
  width: 6.4vw;
  height: 6.4vw;
  margin-left: auto;
}
@media only screen and (min-width: 48em) and (max-width: 64em) {
  .hamburger {
    row-gap: 0.8rem;
    width: 2.4rem;
    height: 2.4rem;
  }
}
@media all and (min-width: 64.0625em) {
  .hamburger {
    display: none;
  }
}
@media print {
  .hamburger {
    display: none;
  }
}

/* ハンバーガーメニューの線 */
.hamburger span {
  display: block;
  width: 6.4vw;
  height: 0.5333333333vw;
  background-color: #0062e8;
  border-radius: 1.3333333333vw;
  transition: ease 0.4s;
}
@media only screen and (min-width: 48em) and (max-width: 64em) {
  .hamburger span {
    width: 2.4rem;
    height: 0.2rem;
    border-radius: 0.5rem;
  }
}

/* ハンバーガーメニュークリック後のスタイル */
.l-header__nav.active {
  right: 0;
}

.hamburger.active span:nth-child(1) {
  transform: translateY(1.3333333333vw) rotate(45deg);
}
@media only screen and (min-width: 48em) and (max-width: 64em) {
  .hamburger.active span:nth-child(1) {
    transform: translateY(0.5rem) rotate(45deg);
  }
}

.hamburger.active span:nth-child(2) {
  transform: translateY(-1.3333333333vw) rotate(-45deg);
}
@media only screen and (min-width: 48em) and (max-width: 64em) {
  .hamburger.active span:nth-child(2) {
    transform: translateY(-0.5rem) rotate(-45deg);
  }
}

/* ENTRY */
.l-entry {
  padding: 8rem 0 10rem;
  background-color: #0062e8;
}
@media only screen and (max-width: 47.9375em) {
  .l-entry {
    padding: 16vw 0 16vw;
  }
}

.l-entry__title {
  margin-bottom: 4.1rem;
  margin-inline: auto;
  font-size: 6rem;
  color: #ffffff;
  text-align: center;
}
@media only screen and (max-width: 47.9375em) {
  .l-entry__title {
    margin-bottom: 5.3333333333vw;
    font-size: 10.6666666667vw;
  }
}

.l-entry__items {
  display: flex;
  column-gap: 2rem;
}
@media only screen and (max-width: 47.9375em) {
  .l-entry__items {
    flex-direction: column;
    row-gap: 5.3333333333vw;
  }
}

/* フッター */
.l-footer {
  background-color: #003f8e;
}

.l-footer__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 8rem;
}
@media only screen and (max-width: 47.9375em) {
  .l-footer__inner {
    flex-direction: column;
    row-gap: 2.6666666667vw;
    height: auto;
    padding-top: 5.3333333333vw;
    padding-bottom: 4.2666666667vw;
  }
}

.l-footer__logo {
  width: 29.8rem;
}
@media only screen and (max-width: 47.9375em) {
  .l-footer__logo {
    width: 55.7333333333vw;
  }
}
@media screen and (min-width: 64.0625em) and (hover: hover) {
  .l-footer__logo {
    cursor: pointer;
    transition: opacity 0.5s;
  }
}
@media screen and (min-width: 64.0625em) and (hover: hover) {
  .l-footer__logo:hover {
    opacity: 0.7;
  }
}

.l-footer__copyright {
  font-family: "Outfit", "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  font-size: 1.4rem;
  color: #ffffff;
}
@media only screen and (max-width: 47.9375em) {
  .l-footer__copyright {
    font-size: 2.9333333333vw;
  }
}

/* セクションタイトル（日本語＋英語） */
/* fade-side が width: fit-content にするため、中央寄せは margin で保つ */
.c-title01 {
  margin-inline: auto;
  text-align: center;
}

.c-title01__ja {
  font-size: 3.6rem;
  font-weight: 700;
  line-height: 1.4;
}
@media only screen and (max-width: 47.9375em) {
  .c-title01__ja {
    font-size: 7.4666666667vw;
  }
}

.c-title01__en {
  margin-top: 0.6rem;
  font-family: "Outfit", "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.4;
  color: #0062e8;
  text-transform: uppercase;
}
@media only screen and (max-width: 47.9375em) {
  .c-title01__en {
    margin-top: 1.6vw;
    font-size: 4.2666666667vw;
  }
}

/* 英語のみの大見出し（ENTRY など） */
.c-title-en {
  font-family: "Outfit", "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  font-weight: 700;
  line-height: 1.25;
  text-transform: uppercase;
}

/* セクション見出し（日本語＋青の短い下線）
   社風・DE&I・福利厚生などの下層ページで共通 */
.c-title02 {
  font-size: 3.6rem;
  font-weight: 700;
  line-height: 1.2;
}
@media only screen and (max-width: 47.9375em) {
  .c-title02 {
    font-size: 6.4vw;
  }
}

.c-title02::after {
  display: block;
  width: 4rem;
  height: 0.3rem;
  margin-top: 3rem;
  content: "";
  background-color: #0062e8;
  border-radius: 1rem;
}
@media only screen and (max-width: 47.9375em) {
  .c-title02::after {
    width: 10.6666666667vw;
    height: 0.8vw;
    margin-top: 4.2666666667vw;
  }
}

/* ==========================================================================
   下層ページのページタイトル
   全下層ページ共通。デザイン上、固定ヘッダーの下 y=178 にタイトル、
   その18px上に薄い飾り英字が入る
   ========================================================================== */
.c-title-page {
  padding-top: 17.8rem;
}
@media only screen and (min-width: 48em) and (max-width: 64em) {
  .c-title-page {
    padding-top: 15.8rem;
  }
}
@media only screen and (max-width: 47.9375em) {
  .c-title-page {
    padding-top: 26.6666666667vw;
  }
}

.c-title-page__inner {
  position: relative;
}

/* 背面に敷く飾り英字。右端をコンテナ右端に合わせる */
.c-title-page__deco {
  position: absolute;
  top: -1.8rem;
  right: 0;
  font-family: "Outfit", "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  font-size: 10rem;
  font-weight: 700;
  line-height: 1.1;
  color: #0062e8;
  text-transform: uppercase;
  white-space: nowrap;
  opacity: 0.1;
}
@media only screen and (min-width: 48em) and (max-width: 64em) {
  .c-title-page__deco {
    font-size: 7rem;
  }
}
@media only screen and (max-width: 47.9375em) {
  .c-title-page__deco {
    top: -3.7333333333vw;
    font-size: 11.7333333333vw;
  }
}

.c-title-page__body {
  position: relative;
}

.c-title-page__ja {
  font-size: 4.2rem;
  font-weight: 700;
  line-height: 1.2;
}
@media only screen and (max-width: 47.9375em) {
  .c-title-page__ja {
    font-size: 7.4666666667vw;
  }
}

.c-title-page__en {
  margin-top: 1.4rem;
  font-family: "Outfit", "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.2;
  color: #0062e8;
  text-transform: uppercase;
}
@media only screen and (max-width: 47.9375em) {
  .c-title-page__en {
    margin-top: 2.1333333333vw;
    font-size: 4.2666666667vw;
  }
}

/* 青帯の上に置く場合（クロストーク） */
.c-title-page--white .c-title-page__ja,
.c-title-page--white .c-title-page__en,
.c-title-page--white .c-title-page__deco {
  color: #ffffff;
}

.c-txt01 {
  font-size: 1.6rem;
  line-height: 2;
}
@media only screen and (max-width: 47.9375em) {
  .c-txt01 {
    font-size: 3.7333333333vw;
  }
}

.c-txt01.center {
  text-align: center;
}

.c-txt01.bold {
  font-weight: 700;
}

.c-txt01.blue {
  color: #0062e8;
}

/* 画像＋テキストの横並びバナー（求める人材・メッセージ／クロストークなど） */
.c-banner {
  position: relative;
  display: flex;
  column-gap: 6rem;
  align-items: center;
  padding: 4rem;
  background-color: #ffffff;
  border-radius: 1rem;
  /* SPは画像を上に、右下の矢印分の余白を確保して縦積み */
  /* ホバーでサムネイルを枠内で少し拡大する */
}
@media only screen and (max-width: 47.9375em) {
  .c-banner {
    display: block;
    padding: 5.3333333333vw 5.3333333333vw 18.6666666667vw;
    border-radius: 2.6666666667vw;
  }
}
@media screen and (min-width: 64.0625em) and (hover: hover) {
  .c-banner:hover .c-banner__img img {
    transform: scale(1.06);
  }
}

/* 白背景のセクションに置く場合はカードをグレーに */
.c-banner--gray {
  background-color: #f3f4f5;
}

/* ホバー時の拡大を枠内で止めるため overflow: hidden で切る */
.c-banner__img {
  flex-shrink: 0;
  width: 36rem;
  height: 24.1rem;
  overflow: hidden;
  border-radius: 1rem;
}
@media only screen and (max-width: 47.9375em) {
  .c-banner__img {
    width: 100%;
    height: 52.5333333333vw;
    border-radius: 2.6666666667vw;
  }
}

.c-banner__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.c-banner__body {
  flex: 1;
  max-width: 45rem;
}

.c-banner__title {
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.4;
}
@media only screen and (max-width: 47.9375em) {
  .c-banner__title {
    margin-top: 5.3333333333vw;
    font-size: 6.4vw;
  }
}

.c-banner__txt {
  margin-top: 2rem;
}
@media only screen and (max-width: 47.9375em) {
  .c-banner__txt {
    margin-top: 2.6666666667vw;
  }
}

.c-banner__arrow {
  position: absolute;
  right: 2rem;
  bottom: 2rem;
  width: 5rem;
}
@media only screen and (max-width: 47.9375em) {
  .c-banner__arrow {
    right: 5.3333333333vw;
    bottom: 5.3333333333vw;
    width: 10.6666666667vw;
  }
}

/* イラスト付きのリンクカード（社風・DE&I など） */
.c-card {
  position: relative;
  display: flex;
  column-gap: 1rem;
  align-items: center;
  height: 24rem;
  padding: 4rem;
  background-color: #ffffff;
  border-radius: 1rem;
  /* SPはイラストを上、テキストを下に積む */
}
@media only screen and (max-width: 47.9375em) {
  .c-card {
    flex-direction: column-reverse;
    row-gap: 5.3333333333vw;
    align-items: stretch;
    height: auto;
    padding: 5.3333333333vw;
    border-radius: 2.6666666667vw;
  }
}
@media screen and (min-width: 64.0625em) and (hover: hover) {
  .c-card {
    cursor: pointer;
    transition: opacity 0.5s;
  }
}
@media screen and (min-width: 64.0625em) and (hover: hover) {
  .c-card:hover {
    opacity: 0.7;
  }
}

/* 本文を持つカードはSPで矢印の分だけ下に余白を取る */
@media only screen and (max-width: 47.9375em) {
  .c-card--txt {
    padding-bottom: 18.6666666667vw;
  }
}

.c-card__body {
  flex: 1;
}

.c-card__title {
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.5;
}
@media only screen and (max-width: 47.9375em) {
  .c-card__title {
    font-size: 6.4vw;
  }
}

.p-graduate__links-items .c-card__title {
  font-size: 2rem;
}
@media only screen and (max-width: 47.9375em) {
  .p-graduate__links-items .c-card__title {
    font-size: 4.8vw;
  }
}

/* キャリアモデル・福利厚生など本文を伴うカードは見出しを一段小さく */
.c-card__title--sm {
  font-size: 2.2rem;
}
@media only screen and (max-width: 47.9375em) {
  .c-card__title--sm {
    font-size: 5.3333333333vw;
  }
}

.c-card__note {
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.5;
}
@media only screen and (max-width: 47.9375em) {
  .c-card__note {
    font-size: 3.7333333333vw;
  }
}

.c-card__txt {
  margin-top: 1rem;
  font-size: 1.4rem;
  line-height: 2;
}
@media only screen and (max-width: 47.9375em) {
  .c-card__txt {
    margin-top: 2.6666666667vw;
    font-size: 3.7333333333vw;
  }
}

.c-card__illust {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 16rem;
  height: 16rem;
  background-color: #ebf3fe;
  border-radius: 50%;
}
@media only screen and (max-width: 47.9375em) {
  .c-card__illust {
    width: 53.3333333333vw;
    height: 53.3333333333vw;
    margin: 0 auto;
  }
}

/* イラストは円に対するデザイン上の比率で高さを決める（PC・SPで共通） */
.c-card__illust img {
  width: auto;
  height: 100%;
}

/* 画像自体に円背景を含む場合。カード側の丸・背景色は使わず画像をそのまま出す */
.c-card__illust--full {
  background-color: transparent;
  border-radius: 0;
}

.c-card__illust--full img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.c-card__illust--career img {
  height: 78.1%;
}

.c-card__illust--welfare img {
  height: 60%;
}

.c-card__illust--training img {
  height: 96.7%;
}

.c-card__arrow {
  position: absolute;
  right: 1.6rem;
  bottom: 1.6rem;
  width: 3.2rem;
}
@media only screen and (max-width: 47.9375em) {
  .c-card__arrow {
    right: 5.3333333333vw;
    bottom: 5.3333333333vw;
    width: 10.6666666667vw;
  }
}

/* コンテナ幅いっぱいのイラストカード（人材育成） */
.c-card--wide {
  column-gap: 4rem;
  height: 26rem;
  padding: 4rem 8rem 4rem 4rem;
}
@media only screen and (max-width: 47.9375em) {
  .c-card--wide {
    height: auto;
    padding: 5.3333333333vw 5.3333333333vw 18.6666666667vw;
  }
}

.c-card--wide .c-card__txt {
  margin-top: 2rem;
}
@media only screen and (max-width: 47.9375em) {
  .c-card--wide .c-card__txt {
    margin-top: 2.6666666667vw;
  }
}

.c-card--wide .c-card__illust {
  width: 18rem;
  height: 18rem;
}
@media only screen and (max-width: 47.9375em) {
  .c-card--wide .c-card__illust {
    width: 53.3333333333vw;
    height: 53.3333333333vw;
  }
}

.c-card--wide .c-card__arrow {
  right: 2rem;
  bottom: 2rem;
  width: 5rem;
}
@media only screen and (max-width: 47.9375em) {
  .c-card--wide .c-card__arrow {
    right: 5.3333333333vw;
    bottom: 5.3333333333vw;
    width: 10.6666666667vw;
  }
}

/* 社員写真のリンクカード（仕事・人を知る） */
.c-person__img {
  position: relative;
  overflow: hidden;
  border-radius: 1rem;
}
@media only screen and (max-width: 47.9375em) {
  .c-person__img {
    border-radius: 2.6666666667vw;
  }
}

.c-person__img img {
  width: 100%;
  height: 30.3rem;
  object-fit: cover;
  transition: transform 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
}
@media only screen and (max-width: 47.9375em) {
  .c-person__img img {
    height: 118.1333333333vw;
  }
}

/* 写真下部を青くぼかして氏名を読みやすくする */
.c-person__img::after {
  position: absolute;
  inset: 0;
  content: "";
  background: linear-gradient(to bottom, rgba(0, 98, 232, 0) 58%, rgba(0, 98, 232, 0.8));
}

.c-person__meta {
  position: absolute;
  right: 1.6rem;
  bottom: 1.6rem;
  left: 1.6rem;
  z-index: 1;
  color: #ffffff;
}
@media only screen and (max-width: 47.9375em) {
  .c-person__meta {
    right: 5.3333333333vw;
    bottom: 5.3333333333vw;
    left: 5.3333333333vw;
  }
}

.c-person__group {
  font-size: 1.2rem;
  line-height: 1.5;
}
@media only screen and (max-width: 47.9375em) {
  .c-person__group {
    font-size: 3.7333333333vw;
  }
}

.c-person__name {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.5;
}
@media only screen and (max-width: 47.9375em) {
  .c-person__name {
    font-size: 5.3333333333vw;
  }
}

.c-person__caption {
  margin-top: 1.6rem;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.5;
}
@media only screen and (max-width: 47.9375em) {
  .c-person__caption {
    margin-top: 4.2666666667vw;
    font-size: 5.3333333333vw;
  }
}

/* リンク版（a）と動画モーダル版（button）で見た目を揃える */
.c-person a,
.c-person__btn {
  display: block;
  width: 100%;
  text-align: left;
  cursor: pointer;
  /* ホバーでサムネイルを枠内で少し拡大する */
}
@media screen and (min-width: 64.0625em) and (hover: hover) {
  .c-person a:hover .c-person__img img,
.c-person__btn:hover .c-person__img img {
    transform: scale(1.06);
  }
}

/* 動きを抑える設定の環境では拡大させない */
@media (prefers-reduced-motion: reduce) {
  .c-banner__img img,
.c-person__img img {
    transition: none;
  }

  .c-banner:hover .c-banner__img img,
.c-person a:hover .c-person__img img,
.c-person__btn:hover .c-person__img img {
    transform: none;
  }
}
/* 白背景・角丸のリンクカード（ENTRY など） */
.c-card-link {
  position: relative;
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 13.2rem;
  background-color: #ffffff;
  border-radius: 1rem;
  /* SPは親が縦並びになり flex-basis が高さに効いてしまうため、伸縮を止めて高さを保つ */
}
@media only screen and (max-width: 47.9375em) {
  .c-card-link {
    flex: none;
    height: 24vw;
    border-radius: 2.6666666667vw;
  }
}
@media screen and (min-width: 64.0625em) and (hover: hover) {
  .c-card-link {
    cursor: pointer;
    transition: opacity 0.5s;
  }
}
@media screen and (min-width: 64.0625em) and (hover: hover) {
  .c-card-link:hover {
    opacity: 0.7;
  }
}

.c-card-link__title {
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.4;
}
@media only screen and (max-width: 47.9375em) {
  .c-card-link__title {
    font-size: 5.3333333333vw;
  }
}

.c-card-link__en {
  margin-top: 0.8rem;
  font-family: "Outfit", "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.4;
  color: #0062e8;
  text-transform: uppercase;
}
@media only screen and (max-width: 47.9375em) {
  .c-card-link__en {
    margin-top: 1.0666666667vw;
    font-size: 3.7333333333vw;
  }
}

.c-card-link__arrow {
  position: absolute;
  top: 50%;
  right: 3rem;
  width: 3.2rem;
  transform: translateY(-50%);
}
@media only screen and (max-width: 47.9375em) {
  .c-card-link__arrow {
    right: 5.3333333333vw;
    width: 8.5333333333vw;
  }
}

/* 白背景・青枠のタグ（求人カードの職種・勤務地など） */
.c-tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.2rem 0.6rem;
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 1.4;
  color: #0062e8;
  white-space: nowrap;
  background-color: #ffffff;
  border: 0.1rem solid #0062e8;
  border-radius: 0.3rem;
}
@media only screen and (max-width: 47.9375em) {
  .c-tag {
    font-size: 3.2vw;
  }
}

/* 詳細ページ用のやや大きめタグ */
.c-tag--sm {
  font-size: 1.4rem;
}
@media only screen and (max-width: 47.9375em) {
  .c-tag--sm {
    font-size: 3.4666666667vw;
  }
}

/* 動画モーダル（YouTube埋め込み） */
.c-video-modal {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 4rem;
  visibility: hidden;
  background-color: rgba(0, 0, 0, 0.8);
  opacity: 0;
  transition: opacity 0.3s, visibility 0.3s;
}
@media only screen and (max-width: 47.9375em) {
  .c-video-modal {
    padding: 5.3333333333vw;
  }
}

.c-video-modal.is-open {
  visibility: visible;
  opacity: 1;
}

/* ショート動画（縦長 9:16）に合わせ、画面の高さに収まる幅で中央に置く。
   幅 = 高さ × 9/16。上下の余白（padding 40px×2 と 閉じるボタン分）を差し引く */
.c-video-modal__inner {
  position: relative;
  width: calc((100vh - 8rem - 4.8rem) * 9 / 16);
  max-width: 100%;
}
@media only screen and (max-width: 47.9375em) {
  .c-video-modal__inner {
    width: calc((100vh - 10.6666666667vw - 10.6666666667vw) * 9 / 16);
  }
}

/* 9:16 の縦長アスペクト比を保つ */
.c-video-modal__player {
  position: relative;
  width: 100%;
  padding-top: 177.78%;
  background-color: #000000;
}

.c-video-modal__player iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

/* 閉じるボタン（×）。プレーヤーの右上外側に置く */
.c-video-modal__close {
  position: absolute;
  top: -4.8rem;
  right: 0;
  width: 4rem;
  height: 4rem;
}
@media only screen and (max-width: 47.9375em) {
  .c-video-modal__close {
    top: -10.6666666667vw;
    width: 8.5333333333vw;
    height: 8.5333333333vw;
  }
}
@media screen and (min-width: 64.0625em) and (hover: hover) {
  .c-video-modal__close {
    cursor: pointer;
    transition: opacity 0.5s;
  }
}
@media screen and (min-width: 64.0625em) and (hover: hover) {
  .c-video-modal__close:hover {
    opacity: 0.7;
  }
}

.c-video-modal__close span {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 0.2rem;
  background-color: #ffffff;
}
@media only screen and (max-width: 47.9375em) {
  .c-video-modal__close span {
    height: 0.5333333333vw;
  }
}

.c-video-modal__close span:nth-child(1) {
  transform: translate(-50%, -50%) rotate(45deg);
}

.c-video-modal__close span:nth-child(2) {
  transform: translate(-50%, -50%) rotate(-45deg);
}

/* モーダル展開中は背面のスクロールを固定 */
body.is-modal-open {
  overflow: hidden;
}

/* ==========================================================================
   メインビジュアル
   ========================================================================== */
.p-home__mv {
  padding: 10rem 4rem 3rem;
  background-color: #ffffff;
}
@media only screen and (min-width: 48em) and (max-width: 64em) {
  .p-home__mv {
    padding: 8rem 2rem 3rem;
  }
}
@media only screen and (max-width: 47.9375em) {
  .p-home__mv {
    padding: 13.3333333333vw 5.3333333333vw 5.3333333333vw;
  }
}

.p-home__mv-collage {
  display: flex;
  column-gap: 0.7320644217vw;
  justify-content: center;
}

.p-home__mv-col {
  display: flex;
  flex-direction: column;
  row-gap: 0.7320644217vw;
  width: 22.4011713031vw;
}

.p-home__mv-col--center {
  width: 47.8770131772vw;
}

.p-home__mv-row {
  display: flex;
  column-gap: 0.7320644217vw;
}

/* 写真枠：2枚の画像を重ね、数秒ごとにクロスフェードで切り替える（JS: vendor.js の .js-mv-fade） */
.p-home__mv-img {
  position: relative;
  width: 100%;
  overflow: hidden;
  isolation: isolate;
  border-radius: 1rem;
}
@media only screen and (max-width: 47.9375em) {
  .p-home__mv-img {
    border-radius: 2.6666666667vw;
  }
}

.p-home__mv-fade {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity 1.2s ease-in-out;
}
.p-home__mv-fade.is-active {
  opacity: 1;
}
@media (prefers-reduced-motion: reduce) {
  .p-home__mv-fade {
    transition: none;
  }
}

.p-home__mv-img--h385 {
  height: 28.1844802343vw;
}

.p-home__mv-img--h243 {
  height: 17.7891654466vw;
}

.p-home__mv-img--h638 {
  height: 46.7057101025vw;
}

.p-home__mv-img--w445 {
  width: 32.5768667643vw;
  height: 15.2269399707vw;
}

.p-home__mv-img--w199 {
  width: 14.5680819912vw;
  height: 15.2269399707vw;
}

/* 中央のコピー：上下の写真列にはさまれた余白いっぱいに広げる */
.p-home__mv-txt {
  display: flex;
  flex: 1;
  align-items: center;
  justify-content: center;
}
@media only screen and (max-width: 47.9375em) {
  .p-home__mv-txt {
    padding: 9.8666666667vw 0;
  }
}

.p-home__mv-txt h1,
.p-home__mv-txt h2 {
  font-size: 2.4890190337vw;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}
@media only screen and (max-width: 47.9375em) {
  .p-home__mv-txt h1,
.p-home__mv-txt h2 {
    font-size: 6.4vw;
  }
}

.p-home__mv-txt span {
  color: #0062e8;
}

/* SPは写真の配置がPCと異なるため別組み */
.p-home__mv-collage--sp {
  display: block;
}

/* 縦長写真1枚＋残りを埋めるブロック */
.p-home__mv-block {
  display: flex;
  column-gap: 2.6666666667vw;
}

.p-home__mv-stack {
  display: flex;
  flex: 1;
  flex-direction: column;
  row-gap: 2.6666666667vw;
}

.p-home__mv-collage--sp .p-home__mv-row {
  column-gap: 2.4vw;
}

/* サイズはすべて単一クラスで指定し、詳細度の競合を避ける */
.p-home__mv-img--tall {
  width: 31.7333333333vw;
  height: 58.1333333333vw;
}

.p-home__mv-img--tall2 {
  width: 31.7333333333vw;
  height: 52.5333333333vw;
}

.p-home__mv-img--half {
  height: 27.7333333333vw;
}

.p-home__mv-img--small {
  height: 27.4666666667vw;
}

.p-home__mv-img--wide {
  height: 22.4vw;
}

/* ==========================================================================
   セクション共通
   ========================================================================== */
.p-home__work,
.p-home__crosstalk {
  background-color: #ffffff;
}

.p-home__environment {
  background-color: #0062e8;
}

.p-home__banner {
  padding: 10rem 0;
}
@media only screen and (max-width: 47.9375em) {
  .p-home__banner {
    padding: 16vw 0;
  }
}

.p-home__work,
.p-home__environment,
.p-home__people,
.p-home__crosstalk {
  padding: 8rem 0 10rem;
}
@media only screen and (max-width: 47.9375em) {
  .p-home__work,
.p-home__environment,
.p-home__people,
.p-home__crosstalk {
    padding: 16vw 0;
  }
}

.p-home__work .c-title01,
.p-home__environment .c-title01,
.p-home__people .c-title01,
.p-home__crosstalk .c-title01 {
  margin-bottom: 4rem;
}
@media only screen and (max-width: 47.9375em) {
  .p-home__work .c-title01,
.p-home__environment .c-title01,
.p-home__people .c-title01,
.p-home__crosstalk .c-title01 {
    margin-bottom: 10.6666666667vw;
  }
}

.p-home__environment .c-title01__ja,
.p-home__environment .c-title01__en {
  color: #ffffff;
}

/* ==========================================================================
   求める人材・メッセージ／ジャパンマシナリーについて
   ========================================================================== */
.p-home__banner .c-banner + .c-banner {
  margin-top: 3rem;
}
@media only screen and (max-width: 47.9375em) {
  .p-home__banner .c-banner + .c-banner {
    margin-top: 8vw;
  }
}

/* ==========================================================================
   仕事・人を知る
   ========================================================================== */
.p-home__work-items {
  display: flex;
  justify-content: center;
  column-gap: 2.8rem;
}
@media only screen and (max-width: 47.9375em) {
  .p-home__work-items {
    display: block;
  }
}

.p-home__work-items > li {
  width: 22.9rem;
}
@media only screen and (max-width: 47.9375em) {
  .p-home__work-items > li {
    flex: 1;
    width: auto;
    margin-top: 10.6666666667vw;
  }
}

@media only screen and (max-width: 47.9375em) {
  .p-home__work-items > li:first-child {
    margin-top: 0;
  }
}

/* ==========================================================================
   働く環境
   ========================================================================== */
.p-home__environment-items {
  display: flex;
  flex-wrap: wrap;
  gap: 3rem;
}
@media only screen and (max-width: 47.9375em) {
  .p-home__environment-items {
    gap: 8vw;
  }
}

.p-home__environment-items .c-card {
  width: calc(50% - 1.5rem);
}
@media only screen and (max-width: 47.9375em) {
  .p-home__environment-items .c-card {
    width: 100%;
  }
}

/* ==========================================================================
   人材育成・福利厚生
   ========================================================================== */
.p-home__people-items {
  display: flex;
  column-gap: 3rem;
  margin-top: 3rem;
}
@media only screen and (max-width: 47.9375em) {
  .p-home__people-items {
    display: block;
    margin-top: 10.6666666667vw;
  }
}

.p-home__people-items .c-card {
  width: calc(50% - 1.5rem);
}
@media only screen and (max-width: 47.9375em) {
  .p-home__people-items .c-card {
    width: 100%;
    margin-top: 10.6666666667vw;
  }
}

@media only screen and (max-width: 47.9375em) {
  .p-home__people-items .c-card:first-child {
    margin-top: 0;
  }
}

/* ==========================================================================
   クロストーク
   ========================================================================== */
.p-home__crosstalk .c-banner + .c-banner {
  margin-top: 3rem;
}
@media only screen and (max-width: 47.9375em) {
  .p-home__crosstalk .c-banner + .c-banner {
    margin-top: 10.6666666667vw;
  }
}

/* ==========================================================================
   ページタイトル（見出しの体裁は c-title-page が持つ）
   ========================================================================== */
.p-about__mv {
  background-color: #ffffff;
}

/* ==========================================================================
   事業について
   ========================================================================== */
.p-about__business {
  padding: 11.5rem 0 12rem;
  background-color: #ffffff;
}
@media only screen and (max-width: 47.9375em) {
  .p-about__business {
    padding: 13.3333333333vw 0 16vw;
  }
}

.p-about__diagram {
  margin-top: 2.3rem;
  /* SPは図が縮みすぎて読めないため横スクロールさせる */
}
@media only screen and (max-width: 47.9375em) {
  .p-about__diagram {
    margin-top: 8vw;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

.p-about__diagram-img {
  width: 100%;
}
@media only screen and (max-width: 47.9375em) {
  .p-about__diagram-img {
    width: 200vw;
    max-width: none;
  }
}

/* ==========================================================================
   ページタイトル（見出しの体裁は c-title-page が持つ）
   ========================================================================== */
.p-office__mv {
  background-color: #ffffff;
}

/* ==========================================================================
   ギャラリー
   ========================================================================== */
.p-office__gallery {
  padding: 11.9rem 0;
  background-color: #ffffff;
}
@media only screen and (max-width: 47.9375em) {
  .p-office__gallery {
    padding: 10.6666666667vw 0 16vw;
  }
}

.p-office__lead {
  /* 見出しブロックからの間隔はギャラリーの padding-top が持つ */
  margin-top: 0;
}

/* 4カラム・行高162pxのモザイクグリッド。大画像は2×2セルを占める。
   セル位置は EJS 側の --row / --col（インライン）から組み立てる */
.p-office__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: 16.2rem;
  gap: 0.9rem;
  margin-top: 6rem;
}
@media only screen and (max-width: 47.9375em) {
  .p-office__grid {
    /* SPは2カラム・行高を圧縮し、大小の区別なく上から順に自動配置 */
    grid-template-columns: repeat(2, 1fr);
    grid-auto-rows: 27.2vw;
    grid-auto-flow: dense;
    gap: 2.1333333333vw;
    margin-top: 8vw;
  }
}

.p-office__item {
  grid-row: var(--row)/span 1;
  grid-column: var(--col)/span 1;
  overflow: hidden;
}
@media only screen and (max-width: 47.9375em) {
  .p-office__item {
    /* 座標指定を解除して自動フロー配置にする */
    grid-row: auto/span 1;
    grid-column: auto/span 1;
  }
}

/* 大画像は2行2列ぶん */
.p-office__item--lg {
  grid-row: var(--row)/span 2;
  grid-column: var(--col)/span 2;
}
@media only screen and (max-width: 47.9375em) {
  .p-office__item--lg {
    grid-row: auto/span 2;
    grid-column: auto/span 2;
  }
}

.p-office__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ==========================================================================
   セクション共通
   ========================================================================== */
.p-message__mv,
.p-message__sec01,
.p-message__sec02 {
  background-color: #ffffff;
}

/* 見出し（本文セクション） */
.p-message__title02 {
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.5;
}
@media only screen and (max-width: 47.9375em) {
  .p-message__title02 {
    font-size: 6.4vw;
  }
}

.p-message__txt {
  flex: 1;
}

/* コンテナ幅いっぱいの本文 */
.p-message__txt--wide {
  margin-top: 4rem;
}
@media only screen and (max-width: 47.9375em) {
  .p-message__txt--wide {
    margin-top: 5.3333333333vw;
  }
}

/* ==========================================================================
   ページタイトル・メインビジュアル
   ========================================================================== */
/* 背景に敷く大きな英字（タイトルの右上に重なる） */
.p-message__mv-img {
  width: 100%;
  height: 41.3rem;
  margin-top: 4rem;
  object-fit: cover;
  border-radius: 1rem;
}
@media only screen and (max-width: 47.9375em) {
  .p-message__mv-img {
    height: 53.3333333333vw;
    margin-top: 8vw;
    border-radius: 2.6666666667vw;
  }
}

/* ==========================================================================
   トップエンド製品を取り扱い 自信をもってビジネスを展開。
   ========================================================================== */
.p-message__sec01 {
  padding-top: 10rem;
}
@media only screen and (max-width: 47.9375em) {
  .p-message__sec01 {
    padding-top: 10.6666666667vw;
  }
}

/* 本文の右に写真を並べる（SPは縦積み） */
.p-message__cols {
  display: flex;
  column-gap: 6rem;
  align-items: flex-start;
  margin-top: 4rem;
}
@media only screen and (max-width: 47.9375em) {
  .p-message__cols {
    display: block;
    margin-top: 5.3333333333vw;
  }
}

/* 写真は本文より少し上から始まる */
.p-message__photo01 {
  flex-shrink: 0;
  width: 34rem;
  height: 42.1rem;
  margin-top: -1.9rem;
  object-fit: cover;
  border-radius: 1rem;
}
@media only screen and (max-width: 47.9375em) {
  .p-message__photo01 {
    width: 100%;
    height: 110.6666666667vw;
    margin-top: 10.6666666667vw;
    border-radius: 2.6666666667vw;
  }
}

/* ==========================================================================
   何より大切にしたいのは 誠実さです。
   ========================================================================== */
.p-message__sec02 {
  padding: 10rem 0;
}
@media only screen and (max-width: 47.9375em) {
  .p-message__sec02 {
    padding: 21.3333333333vw 0;
  }
}

.p-message__photo02 {
  width: 100%;
  height: 41.3rem;
  margin-top: 8rem;
  object-fit: cover;
  border-radius: 1rem;
}
@media only screen and (max-width: 47.9375em) {
  .p-message__photo02 {
    height: 53.3333333333vw;
    margin-top: 10.6666666667vw;
    border-radius: 2.6666666667vw;
  }
}

/* 吹き出しの影：Figmaは blur 10 / offset 0。
   しっぽ（三角）にも影を回したいので box-shadow ではなく drop-shadow を使う */
/* ==========================================================================
   メインビジュアル（青帯：ページ見出し〜メンバー紹介）
   ========================================================================== */
.p-crosstalk__mv {
  /* 上の余白（固定ヘッダー分を含む）は c-title-page が持つ */
  padding-bottom: 10rem;
  background-color: #0062e8;
}
@media only screen and (min-width: 48em) and (max-width: 64em) {
  .p-crosstalk__mv {
    padding-bottom: 8rem;
  }
}
@media only screen and (max-width: 47.9375em) {
  .p-crosstalk__mv {
    padding-bottom: 16vw;
  }
}

/* ページ見出し（左）＋ 背面の飾り文字（右） */
.p-crosstalk__mv-img {
  display: block;
  width: 100%;
  height: 41.3rem;
  margin-top: 4rem;
  object-fit: cover;
  border-radius: 2rem;
}
@media only screen and (max-width: 47.9375em) {
  .p-crosstalk__mv-img {
    height: 53.3333333333vw;
    margin-top: 8vw;
    border-radius: 2.6666666667vw;
  }
}

.p-crosstalk__lead-title {
  margin-top: 6rem;
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.5;
  color: #ffffff;
}
@media only screen and (max-width: 47.9375em) {
  .p-crosstalk__lead-title {
    margin-top: 10.6666666667vw;
    font-size: 6.4vw;
  }
}

.p-crosstalk__lead-txt {
  margin-top: 2rem;
  font-size: 1.6rem;
  line-height: 2;
  color: #ffffff;
}
@media only screen and (max-width: 47.9375em) {
  .p-crosstalk__lead-txt {
    margin-top: 5.3333333333vw;
    font-size: 3.7333333333vw;
  }
}

/* ==========================================================================
   メンバー紹介カード
   ========================================================================== */
.p-crosstalk__members {
  display: flex;
  column-gap: 4rem;
  padding: 4rem;
  margin-top: 6rem;
  background-color: #ffffff;
  border-radius: 1rem;
}
@media only screen and (max-width: 47.9375em) {
  .p-crosstalk__members {
    display: block;
    padding: 8vw 5.3333333333vw;
    margin-top: 10.6666666667vw;
    border-radius: 2.6666666667vw;
  }
}

.p-crosstalk__member {
  flex: 1;
  text-align: center;
}
@media only screen and (max-width: 47.9375em) {
  .p-crosstalk__member {
    margin-top: 10.6666666667vw;
    text-align: left;
  }
}

@media only screen and (max-width: 47.9375em) {
  .p-crosstalk__member:first-child {
    margin-top: 0;
  }
}

.p-crosstalk__member-img {
  /* img は foundation で display:block なので margin auto で中央寄せする */
  width: 12rem;
  height: 12rem;
  margin: 0 auto;
  object-fit: cover;
  border-radius: 50%;
}
@media only screen and (max-width: 47.9375em) {
  .p-crosstalk__member-img {
    /* SPは写真を左・氏名/タグを右に置く横並び */
    float: left;
    width: 21.3333333333vw;
    height: 21.3333333333vw;
    margin: 0 5.3333333333vw 0 0;
  }
}

.p-crosstalk__member-head {
  display: flex;
  column-gap: 1.6rem;
  align-items: center;
  justify-content: center;
  margin-top: 1rem;
}
@media only screen and (max-width: 47.9375em) {
  .p-crosstalk__member-head {
    display: block;
    height: 21.3333333333vw;
    padding-top: 2.4vw;
    margin-top: 0;
  }
}

.p-crosstalk__member-name {
  font-family: "Outfit", "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.5;
}
@media only screen and (max-width: 47.9375em) {
  .p-crosstalk__member-name {
    font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-size: 5.3333333333vw;
  }
}

.p-crosstalk__member-tag {
  display: inline-block;
  padding: 0.4rem 1.2rem;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.5;
  color: #ffffff;
  white-space: nowrap;
  background-color: #0062e8;
  border-radius: 0.5rem;
}
@media only screen and (max-width: 47.9375em) {
  .p-crosstalk__member-tag {
    padding: 0.5333333333vw 2.6666666667vw;
    margin-top: 2.6666666667vw;
    font-size: 3.2vw;
    border-radius: 0.8vw;
  }
}

.p-crosstalk__member-txt {
  margin-top: 1rem;
  font-size: 1.6rem;
  line-height: 1.8;
  text-align: left;
}
@media only screen and (max-width: 47.9375em) {
  .p-crosstalk__member-txt {
    margin-top: 5.3333333333vw;
    clear: both;
    font-size: 3.7333333333vw;
  }
}

/* ==========================================================================
   THEME 01〜04（白／グレーの交互帯）
   ========================================================================== */
.p-crosstalk__theme {
  padding: 10rem 0;
  background-color: #ffffff;
}
@media only screen and (max-width: 47.9375em) {
  .p-crosstalk__theme {
    padding: 16vw 0;
  }
}

.p-crosstalk__theme--gray {
  background-color: #f3f4f5;
}

/* fade-side が width: fit-content にするため、中央寄せは margin で保つ */
.p-crosstalk__theme-head {
  margin-inline: auto;
  text-align: center;
}

.p-crosstalk__theme-num {
  font-family: "Outfit", "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.25;
  color: #0062e8;
  text-transform: uppercase;
}
@media only screen and (max-width: 47.9375em) {
  .p-crosstalk__theme-num {
    font-size: 4.2666666667vw;
  }
}

.p-crosstalk__theme-title {
  margin-top: 1.2rem;
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.5;
}
@media only screen and (max-width: 47.9375em) {
  .p-crosstalk__theme-title {
    margin-top: 3.2vw;
    font-size: 6.4vw;
  }
}

.p-crosstalk__theme-img {
  display: block;
  width: 100%;
  height: 48rem;
  margin-top: 6rem;
  object-fit: cover;
  border-radius: 2rem;
}
@media only screen and (max-width: 47.9375em) {
  .p-crosstalk__theme-img {
    height: 64vw;
    margin-top: 10.6666666667vw;
    border-radius: 2.6666666667vw;
  }
}

/* ==========================================================================
   トーク（発言者アイコン＋吹き出し）
   ========================================================================== */
.p-crosstalk__talks {
  margin-top: 6rem;
}
@media only screen and (max-width: 47.9375em) {
  .p-crosstalk__talks {
    margin-top: 10.6666666667vw;
  }
}

.p-crosstalk__talk {
  display: flex;
  column-gap: 3.8rem;
  /* stretch だと吹き出しがアイコンの高さまで伸びてしまうので上揃えにする */
  align-items: flex-start;
  margin-top: 4rem;
}
@media only screen and (max-width: 47.9375em) {
  .p-crosstalk__talk {
    column-gap: 8vw;
    margin-top: 8vw;
  }
}

.p-crosstalk__talk:first-child {
  margin-top: 0;
}

/* 偶数番は発言者を右に */
.p-crosstalk__talk--reverse {
  flex-direction: row-reverse;
}

.p-crosstalk__talk-speaker {
  flex-shrink: 0;
  width: 10rem;
  text-align: center;
}
@media only screen and (max-width: 47.9375em) {
  .p-crosstalk__talk-speaker {
    width: 13.3333333333vw;
  }
}

.p-crosstalk__talk-img {
  width: 10rem;
  height: 10rem;
  margin: 0 auto;
  object-fit: cover;
  border-radius: 50%;
}
@media only screen and (max-width: 47.9375em) {
  .p-crosstalk__talk-img {
    width: 13.3333333333vw;
    height: 13.3333333333vw;
  }
}

.p-crosstalk__talk-name {
  display: block;
  margin-top: 0.6rem;
  font-family: "Outfit", "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
}
@media only screen and (max-width: 47.9375em) {
  .p-crosstalk__talk-name {
    margin-top: 2.1333333333vw;
    font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-size: 3.2vw;
    font-weight: 400;
  }
}

.p-crosstalk__talk-body {
  position: relative;
  flex: 1;
  padding: 3rem;
  background-color: #ffffff;
  /* drop-shadow は要素＋擬似要素のシルエットに掛かるので、しっぽにも影が乗る。
     drop-shadow のぼかし半径は box-shadow の約2倍広がるため、Figma(blur 10)の半分を指定する */
  filter: drop-shadow(0 0 0.5rem rgba(0, 63, 142, 0.2));
  border-radius: 1rem;
}
@media only screen and (max-width: 47.9375em) {
  .p-crosstalk__talk-body {
    padding: 5.3333333333vw;
    filter: drop-shadow(0 0 1.3333333333vw rgba(0, 63, 142, 0.2));
    border-radius: 2.6666666667vw;
  }
}

/* 吹き出しのしっぽ（20 x 16 の三角）。上下位置は発言者アイコンの中心に合わせる */
.p-crosstalk__talk-body::before {
  position: absolute;
  top: 4.2rem;
  left: -1.8rem;
  width: 2rem;
  height: 1.6rem;
  clip-path: polygon(0 50%, 100% 0, 100% 100%);
  content: "";
  background-color: inherit;
}
@media only screen and (max-width: 47.9375em) {
  .p-crosstalk__talk-body::before {
    top: 4.5333333333vw;
    left: -4vw;
    width: 5.3333333333vw;
    height: 4.2666666667vw;
  }
}

.p-crosstalk__talk--reverse .p-crosstalk__talk-body::before {
  right: -1.8rem;
  left: auto;
  clip-path: polygon(100% 50%, 0 0, 0 100%);
}
@media only screen and (max-width: 47.9375em) {
  .p-crosstalk__talk--reverse .p-crosstalk__talk-body::before {
    right: -4vw;
  }
}

.p-crosstalk__talk-txt {
  font-size: 1.6rem;
  line-height: 2;
}
@media only screen and (max-width: 47.9375em) {
  .p-crosstalk__talk-txt {
    font-size: 3.7333333333vw;
  }
}

/* ==========================================================================
   ページタイトル
   ========================================================================== */
/* 上部の余白はヘッダー(固定・高さ100)の分を含む */
.p-numbers__mv {
  background-color: #ffffff;
}

/* ==========================================================================
   本文（会社について／働く環境について／社員について）
   ========================================================================== */
.p-numbers__body {
  padding: 11.8rem 0 10rem;
  background-color: #ffffff;
}
@media only screen and (max-width: 47.9375em) {
  .p-numbers__body {
    padding: 13.3333333333vw 0 16vw;
  }
}

.p-numbers__group + .p-numbers__group {
  margin-top: 11.6rem;
}
@media only screen and (max-width: 47.9375em) {
  .p-numbers__group + .p-numbers__group {
    margin-top: 16vw;
  }
}

.p-numbers__heading {
  font-size: 3.6rem;
  font-weight: 700;
  line-height: 1.4;
}
@media only screen and (max-width: 47.9375em) {
  .p-numbers__heading {
    font-size: 6.4vw;
  }
}

/* 見出し下の青いライン */
.p-numbers__heading::after {
  display: block;
  width: 4rem;
  height: 0.3rem;
  margin-top: 2.6rem;
  content: "";
  background-color: #0062e8;
  border-radius: 1rem;
}
@media only screen and (max-width: 47.9375em) {
  .p-numbers__heading::after {
    width: 10.6666666667vw;
    height: 0.8vw;
    margin-top: 4.2666666667vw;
  }
}

.p-numbers__items {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
  margin-top: 4rem;
}
@media only screen and (max-width: 47.9375em) {
  .p-numbers__items {
    grid-template-columns: 1fr;
    gap: 5.3333333333vw;
    margin-top: 8vw;
  }
}

/* ==========================================================================
   数値カード
   ========================================================================== */
/* 高さはカードごとに異なるため、単一クラスの修飾子で書き分ける */
.p-numbers__card {
  position: relative;
  height: 27.4rem;
  padding: 4rem;
  background-color: rgba(243, 244, 245, 0.5);
  border-radius: 2rem;
}
@media only screen and (max-width: 47.9375em) {
  .p-numbers__card {
    height: auto;
    padding: 5.3333333333vw;
    border-radius: 5.3333333333vw;
  }
}

/* 円グラフを含む行に合わせて高さを揃えたカード */
.p-numbers__card--h294 {
  height: 29.4rem;
}
@media only screen and (max-width: 47.9375em) {
  .p-numbers__card--h294 {
    height: auto;
  }
}

/* コンテナ幅いっぱいのカード（働き方の選択肢） */
.p-numbers__card--wide {
  grid-column: 1/-1;
  height: 25.4rem;
}
@media only screen and (max-width: 47.9375em) {
  .p-numbers__card--wide {
    height: auto;
  }
}

/* 円グラフSVGをカード全面に敷くカード。SVGは490x294のカード座標のまま書き出している */
@media only screen and (max-width: 47.9375em) {
  .p-numbers__card--chart {
    aspect-ratio: 490/294;
  }
}

.p-numbers__card-title {
  position: relative;
  z-index: 1;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.2;
}
@media only screen and (max-width: 47.9375em) {
  .p-numbers__card-title {
    font-size: 4.2666666667vw;
  }
}

.p-numbers__card-note {
  font-size: 1.4rem;
  font-weight: 700;
}
@media only screen and (max-width: 47.9375em) {
  .p-numbers__card-note {
    font-size: 2.9333333333vw;
  }
}

.p-numbers__chart {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}

/* ==========================================================================
   イラスト＋数値
   ========================================================================== */
.p-numbers__figure {
  display: flex;
  column-gap: 4rem;
  align-items: center;
  justify-content: center;
  margin-top: 3rem;
}
@media only screen and (max-width: 47.9375em) {
  .p-numbers__figure {
    column-gap: 5.3333333333vw;
    margin-top: 5.3333333333vw;
  }
}

.p-numbers__illust {
  flex-shrink: 0;
  width: auto;
  height: 14rem;
}
@media only screen and (max-width: 47.9375em) {
  .p-numbers__illust {
    height: 26.6666666667vw;
  }
}

.p-numbers__num {
  display: flex;
  column-gap: 0.6rem;
  align-items: baseline;
}
@media only screen and (max-width: 47.9375em) {
  .p-numbers__num {
    column-gap: 1.0666666667vw;
  }
}

/* 億円／万円の2段組みは右端で揃える */
.p-numbers__num-stack {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}

/* 2段目はデザインの行送り(88px)に合わせて詰める */
.p-numbers__num--sub {
  margin-top: -1.3rem;
}
@media only screen and (max-width: 47.9375em) {
  .p-numbers__num--sub {
    margin-top: -2.4vw;
  }
}

.p-numbers__num-val {
  font-family: "Outfit", "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  font-size: 8rem;
  font-weight: 700;
  line-height: 1.2625;
  color: #0062e8;
}
@media only screen and (max-width: 47.9375em) {
  .p-numbers__num-val {
    font-size: 13.8666666667vw;
  }
}

.p-numbers__num-val--md {
  font-size: 4rem;
  line-height: 1.25;
}
@media only screen and (max-width: 47.9375em) {
  .p-numbers__num-val--md {
    font-size: 7.4666666667vw;
  }
}

.p-numbers__num-val--sm {
  font-size: 3rem;
  line-height: 1.2666;
}
@media only screen and (max-width: 47.9375em) {
  .p-numbers__num-val--sm {
    font-size: 5.8666666667vw;
  }
}

.p-numbers__num-val--light {
  color: #66a1f1;
}

.p-numbers__num-unit {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.2;
}
@media only screen and (max-width: 47.9375em) {
  .p-numbers__num-unit {
    font-size: 3.7333333333vw;
  }
}

.p-numbers__num-unit--sm {
  font-size: 1.6rem;
  line-height: 1.1875;
}
@media only screen and (max-width: 47.9375em) {
  .p-numbers__num-unit--sm {
    font-size: 3.2vw;
  }
}

/* ==========================================================================
   働き方の選択肢
   ========================================================================== */
.p-numbers__work {
  margin-top: 3rem;
}
@media only screen and (max-width: 47.9375em) {
  .p-numbers__work {
    margin-top: 5.3333333333vw;
  }
}

.p-numbers__work-row {
  display: flex;
  column-gap: 4.6rem;
  align-items: center;
  height: 5rem;
  /* SPは1行に収まらないため、見出しとグラフを縦に積む */
}
@media only screen and (max-width: 47.9375em) {
  .p-numbers__work-row {
    display: block;
    height: auto;
  }
}

.p-numbers__work-row + .p-numbers__work-row {
  margin-top: 2rem;
}
@media only screen and (max-width: 47.9375em) {
  .p-numbers__work-row + .p-numbers__work-row {
    margin-top: 5.3333333333vw;
  }
}

.p-numbers__work-head {
  display: flex;
  column-gap: 1rem;
  align-items: center;
  width: 31rem;
}
@media only screen and (max-width: 47.9375em) {
  .p-numbers__work-head {
    column-gap: 2.6666666667vw;
    width: auto;
  }
}

.p-numbers__work-icon {
  flex-shrink: 0;
  width: auto;
  height: 5rem;
}
@media only screen and (max-width: 47.9375em) {
  .p-numbers__work-icon {
    height: 10.6666666667vw;
  }
}

.p-numbers__work-label {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.2;
}
@media only screen and (max-width: 47.9375em) {
  .p-numbers__work-label {
    font-size: 3.4666666667vw;
  }
}

.p-numbers__work-data {
  display: flex;
  column-gap: 2rem;
  align-items: center;
}
@media only screen and (max-width: 47.9375em) {
  .p-numbers__work-data {
    column-gap: 2.6666666667vw;
    margin-top: 2.6666666667vw;
  }
}

/* バーの長さはデザインの実寸（数値とは比例していない） */
.p-numbers__work-bar {
  height: 3.5rem;
  border-radius: 0 0.5rem 0.5rem 0;
}
@media only screen and (max-width: 47.9375em) {
  .p-numbers__work-bar {
    height: 6.4vw;
    border-radius: 0 1.3333333333vw 1.3333333333vw 0;
  }
}

.p-numbers__work-bar--01 {
  width: 34.4rem;
  background-color: #0062e8;
}
@media only screen and (max-width: 47.9375em) {
  .p-numbers__work-bar--01 {
    width: 41.3333333333vw;
  }
}

.p-numbers__work-bar--02 {
  width: 44.6rem;
  background-color: #66a1f1;
}
@media only screen and (max-width: 47.9375em) {
  .p-numbers__work-bar--02 {
    width: 53.6vw;
  }
}

.p-numbers__num--work {
  column-gap: 0.4rem;
}
@media only screen and (max-width: 47.9375em) {
  .p-numbers__num--work {
    column-gap: 0.8vw;
  }
}

/* ==========================================================================
   ページタイトル・リード
   ========================================================================== */
/* ヘッダーは position: fixed のため、その高さ分を padding で確保する */
.p-culture__mv {
  background-color: #ffffff;
}

/* 背景の英字を重ねるための基準 */
/* 右上に薄く敷く英字（装飾） */
.p-culture__mv-lead {
  margin-top: 11.9rem;
}
@media only screen and (max-width: 47.9375em) {
  .p-culture__mv-lead {
    margin-top: 8vw;
  }
}

/* ==========================================================================
   社風（3ブロック）
   ========================================================================== */
.p-culture__sec01 {
  padding: 6rem 0 10rem;
  background-color: #ffffff;
}
@media only screen and (max-width: 47.9375em) {
  .p-culture__sec01 {
    padding: 13.3333333333vw 0 16vw;
  }
}

.p-culture__block + .p-culture__block {
  margin-top: 12rem;
}
@media only screen and (max-width: 47.9375em) {
  .p-culture__block + .p-culture__block {
    margin-top: 16vw;
  }
}

.p-culture__img {
  width: 100%;
  height: 41.3rem;
  margin-top: 4rem;
  object-fit: cover;
  border-radius: 1rem;
}
@media only screen and (max-width: 47.9375em) {
  .p-culture__img {
    height: 53.3333333333vw;
    margin-top: 8vw;
    border-radius: 2.6666666667vw;
  }
}

.p-culture__txt {
  margin-top: 4rem;
}
@media only screen and (max-width: 47.9375em) {
  .p-culture__txt {
    margin-top: 5.3333333333vw;
  }
}

/* DE&I（ダイバーシティ） */
.p-diversity__mv,
.p-diversity__women,
.p-diversity__balance {
  background-color: #ffffff;
}

/* ==========================================================================
   セクション見出し（日本語＋青の下線）
   ========================================================================== */
/* ==========================================================================
   女性活躍推進
   ========================================================================== */
.p-diversity__women {
  padding-top: 12rem;
}
@media only screen and (max-width: 47.9375em) {
  .p-diversity__women {
    padding-top: 16vw;
  }
}

.p-diversity__cards {
  display: flex;
  column-gap: 3.2rem;
  margin-top: 4rem;
}
@media only screen and (max-width: 47.9375em) {
  .p-diversity__cards {
    display: block;
    margin-top: 8vw;
  }
}

.p-diversity__card {
  flex: 1;
  height: 27.3rem;
  padding-top: 4rem;
  text-align: center;
  background-color: rgba(243, 244, 245, 0.5);
  border-radius: 2rem;
}
@media only screen and (max-width: 47.9375em) {
  .p-diversity__card {
    height: auto;
    padding: 8vw 5.3333333333vw;
    border-radius: 5.3333333333vw;
  }
}

@media only screen and (max-width: 47.9375em) {
  .p-diversity__card + .p-diversity__card {
    margin-top: 5.3333333333vw;
  }
}

.p-diversity__card-ttl {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.2;
}
@media only screen and (max-width: 47.9375em) {
  .p-diversity__card-ttl {
    font-size: 4.8vw;
  }
}

.p-diversity__card-year {
  display: inline-block;
  width: 8.8rem;
  padding: 0.4rem 0;
  margin-top: 2rem;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.5;
  color: #ffffff;
  background-color: #0062e8;
  border-radius: 0.5rem;
}
@media only screen and (max-width: 47.9375em) {
  .p-diversity__card-year {
    width: 23.4666666667vw;
    padding: 1.0666666667vw 0;
    margin-top: 4vw;
    font-size: 3.7333333333vw;
    border-radius: 1.3333333333vw;
  }
}

.p-diversity__card-num {
  display: flex;
  column-gap: 0.6rem;
  align-items: flex-end;
  justify-content: center;
  margin-top: 1rem;
}
@media only screen and (max-width: 47.9375em) {
  .p-diversity__card-num {
    column-gap: 1.6vw;
    margin-top: 1.3333333333vw;
  }
}

.p-diversity__card-value {
  font-family: "Outfit", "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  font-size: 8rem;
  font-weight: 700;
  line-height: 1.2625;
  color: #0062e8;
}
@media only screen and (max-width: 47.9375em) {
  .p-diversity__card-value {
    font-size: 17.0666666667vw;
  }
}

.p-diversity__card-unit {
  padding-bottom: 1.5rem;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.2;
}
@media only screen and (max-width: 47.9375em) {
  .p-diversity__card-unit {
    padding-bottom: 3.2vw;
    font-size: 4.8vw;
  }
}

.p-diversity__card-note {
  font-size: 1.6rem;
  line-height: 1.2;
}
@media only screen and (max-width: 47.9375em) {
  .p-diversity__card-note {
    font-size: 3.7333333333vw;
  }
}

/* ==========================================================================
   育児と仕事の両立
   ========================================================================== */
.p-diversity__balance {
  padding: 12rem 0;
}
@media only screen and (max-width: 47.9375em) {
  .p-diversity__balance {
    padding: 16vw 0;
  }
}

.p-diversity__list {
  margin-top: 4rem;
}
@media only screen and (max-width: 47.9375em) {
  .p-diversity__list {
    margin-top: 8vw;
  }
}

/* 番号 / 見出し / 本文 の3カラム（49 + 391 + 560 = 1000）
   SPは番号＋見出しを1行目、本文をその下に折り返す */
.p-diversity__list-item {
  display: flex;
  padding: 4rem 0;
  border-top: 0.1rem solid #e1e2e4;
}
@media only screen and (max-width: 47.9375em) {
  .p-diversity__list-item {
    flex-wrap: wrap;
    padding: 6.6666666667vw 0;
  }
}

.p-diversity__list-item:last-child {
  border-bottom: 0.1rem solid #e1e2e4;
}

.p-diversity__list-num {
  flex-shrink: 0;
  width: 4.9rem;
  margin-top: 0.9rem;
  font-family: "Outfit", "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.2;
  color: #0062e8;
  text-transform: uppercase;
}
@media only screen and (max-width: 47.9375em) {
  .p-diversity__list-num {
    width: 8vw;
    margin-top: 1.3333333333vw;
    font-size: 4.2666666667vw;
  }
}

.p-diversity__list-ttl {
  flex-shrink: 0;
  width: 39.1rem;
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.5;
}
@media only screen and (max-width: 47.9375em) {
  .p-diversity__list-ttl {
    width: 76vw;
    font-size: 5.3333333333vw;
  }
}

.p-diversity__list-txt {
  width: 56rem;
}
@media only screen and (max-width: 47.9375em) {
  .p-diversity__list-txt {
    width: 100%;
    margin-top: 2.6666666667vw;
  }
}

/* 外部サイト（はーとふる農園）へのバナーリンク */
.p-diversity__list-banner {
  display: inline-block;
  width: 20.6rem;
  margin-top: 2rem;
}
@media only screen and (max-width: 47.9375em) {
  .p-diversity__list-banner {
    width: 54.9333333333vw;
    margin-top: 4.2666666667vw;
  }
}
@media screen and (min-width: 64.0625em) and (hover: hover) {
  .p-diversity__list-banner {
    cursor: pointer;
    transition: opacity 0.5s;
  }
}
@media screen and (min-width: 64.0625em) and (hover: hover) {
  .p-diversity__list-banner:hover {
    opacity: 0.7;
  }
}

.p-diversity__list-banner img {
  width: 100%;
}

/* 研修体系図でのみ使う配色（デザイン固有のため変数化はここに閉じる） */
/* ==========================================================================
   ページタイトル（見出しの体裁は c-title-page が持つ）
   ========================================================================== */
.p-personnel__mv {
  background-color: #ffffff;
}

/* 装飾英字が「PERSONAL SYSTEM & WELFARE」と長く2行になるため、
   共通の c-title-page__deco を上書きして右寄せ2行で配置する */
.p-personnel__deco {
  top: -6.2rem;
  text-align: right;
}
@media only screen and (min-width: 48em) and (max-width: 64em) {
  .p-personnel__deco {
    font-size: 5.2rem;
  }
}
@media only screen and (max-width: 47.9375em) {
  .p-personnel__deco {
    top: -8vw;
    font-size: 7.4666666667vw;
  }
}

/* ==========================================================================
   セクション（人材育成／福利厚生）共通
   ========================================================================== */
.p-personnel__section {
  padding-bottom: 12rem;
  background-color: #ffffff;
}
@media only screen and (max-width: 47.9375em) {
  .p-personnel__section {
    padding-bottom: 16vw;
  }
}

/* 最初のセクションはページタイトル直下。ヘッダー固定分を含む余白を取る */
.p-personnel__section:first-of-type {
  padding-top: 11.9rem;
}
@media only screen and (max-width: 47.9375em) {
  .p-personnel__section:first-of-type {
    padding-top: 10.6666666667vw;
  }
}

.p-personnel__lead {
  margin-top: 3rem;
}
@media only screen and (max-width: 47.9375em) {
  .p-personnel__lead {
    margin-top: 5.3333333333vw;
  }
}

/* ==========================================================================
   研修体系図
   ========================================================================== */
.p-personnel__note {
  margin-top: 4rem;
  margin-bottom: 1rem;
  font-size: 1.3rem;
  line-height: 1.4;
}
@media only screen and (max-width: 47.9375em) {
  .p-personnel__note {
    margin-top: 8vw;
    margin-bottom: 2.6666666667vw;
    font-size: 3.2vw;
  }
}

/* 図はコンテナ幅(1000)前提で組んでいるため、それ未満の幅では横スクロールさせる */
.p-personnel__chart-wrap {
  margin-top: 4rem;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
@media only screen and (max-width: 47.9375em) {
  .p-personnel__chart-wrap {
    margin-top: 0;
  }
}

.p-personnel__chart {
  display: grid;
  grid-template-rows: 20rem 7.4rem 9.7rem 13.8rem 5.6rem 5.6rem;
  grid-template-columns: 5.6rem repeat(4, 23.1rem);
  gap: 0.5rem;
  width: 100rem;
}

/* 左端の縦帯（社内研修／社外研修）。1段目は見出し(44)の下から始める */
.p-personnel__side {
  display: flex;
  align-items: center;
  justify-content: center;
}

.p-personnel__side--in {
  grid-row: 1/4;
  grid-column: 1;
  margin-top: 4.4rem;
  background-color: #0062e8;
}

.p-personnel__side--out {
  grid-row: 4/7;
  grid-column: 1;
  background-color: #003f8e;
}

/* 1文字ずつ改行させて縦組みにする（writing-mode だと字送りが 1em にならないため） */
.p-personnel__side span {
  width: 1.6rem;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1;
  color: #ffffff;
  text-align: center;
}

/* セル（列ごとに背景色が変わる） */
.p-personnel__cell {
  display: flex;
  flex-direction: column;
}

.p-personnel__cell--c1 {
  background-color: #eef1f6;
}

.p-personnel__cell--c2 {
  background-color: #e6f0fd;
}

.p-personnel__cell--c3 {
  background-color: #dceafc;
}

.p-personnel__cell--c4 {
  background-color: #b3cae8;
}

/* 1段目のセル上部に乗る見出し。枠線の色は列に合わせる */
.p-personnel__head {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  height: 4.4rem;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.4;
  background-color: #ffffff;
  border: 0.1rem solid;
}

.p-personnel__cell--c1 .p-personnel__head {
  border-color: #eef1f6;
}

.p-personnel__cell--c2 .p-personnel__head {
  border-color: #e6f0fd;
}

.p-personnel__cell--c3 .p-personnel__head {
  border-color: #dceafc;
}

.p-personnel__cell--c4 .p-personnel__head {
  border-color: #ccdaed;
}

.p-personnel__cell-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  row-gap: 0.5rem;
  padding: 1rem 0.5rem;
}

/* 左端の研修種別ラベル用 */
.p-personnel__cell-body--label {
  align-items: center;
  justify-content: center;
}

/* 1段目・入社1年目のみ、デザイン上チップが階段状に並ぶため絶対配置で組む */
.p-personnel__cell-body--free {
  position: relative;
}

.p-personnel__cell-body--right {
  align-items: flex-end;
}

.p-personnel__cell-body--bottom {
  justify-content: flex-end;
}

.p-personnel__label {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}

/* 白地に枠線のチップ。列をまたぐものがあるので z-index で背景セルより前に出す */
.p-personnel__chip {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 3.6rem;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  background-color: #ffffff;
  border: 0.1rem solid;
}

.p-personnel__chip--blue {
  color: #0062e8;
  border-color: #0062e8;
}

.p-personnel__chip--navy {
  color: #003f8e;
  border-color: #003f8e;
}

.p-personnel__chip--multi {
  line-height: 1.3;
}

.p-personnel__chip--fill {
  height: 100%;
}

.p-personnel__chip--w114 {
  width: 11.4rem;
}

.p-personnel__chip--w145 {
  width: 14.5rem;
}

.p-personnel__chip--w693 {
  width: 69.3rem;
}

.p-personnel__chip--intro {
  position: absolute;
  top: 1rem;
  left: 0.5rem;
  width: 8rem;
}

.p-personnel__chip--instructor {
  position: absolute;
  top: 5.1rem;
  left: 8.5rem;
  width: 14.1rem;
  height: 5.4rem;
}

.p-personnel__chip--ojt {
  position: absolute;
  top: 11rem;
  left: 8.5rem;
  width: 61.3rem;
}

/* ==========================================================================
   福利厚生：制度カード
   ========================================================================== */
/* SPはデザインがないため1カラムに積む */
.p-personnel__items {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3rem 3.2rem;
  margin-top: 4rem;
}
@media only screen and (max-width: 47.9375em) {
  .p-personnel__items {
    grid-template-columns: 1fr;
    gap: 5.3333333333vw;
    margin-top: 8vw;
  }
}

.p-personnel__item {
  padding: 3rem 2rem;
  background-color: rgba(243, 244, 245, 0.5);
  border-radius: 2rem;
}
@media only screen and (max-width: 47.9375em) {
  .p-personnel__item {
    padding: 8vw 5.3333333333vw;
    border-radius: 5.3333333333vw;
  }
}

.p-personnel__item-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 9rem;
  height: 9rem;
  margin: 0 auto;
}
@media only screen and (max-width: 47.9375em) {
  .p-personnel__item-icon {
    width: 24vw;
    height: 24vw;
  }
}

/* イラストは90pxの枠に対するデザイン上の比率で幅を決める（PC・SPで共通） */
.p-personnel__item-icon img {
  width: 100%;
  height: auto;
}

.p-personnel__item-icon--family img {
  width: 98.9%;
}

.p-personnel__item-icon--childcare img {
  width: 82.2%;
}

.p-personnel__item-icon--health img {
  width: 100%;
}

.p-personnel__item-icon--commute img {
  width: 85.6%;
}

.p-personnel__item-icon--retirement img {
  width: 85.6%;
}

.p-personnel__item-icon--reward img {
  width: 80%;
}

.p-personnel__item-icon--paidleave img {
  width: 86.7%;
}

.p-personnel__item-icon--qualification img {
  width: 70%;
}

.p-personnel__item-title {
  margin-top: 2rem;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
}
@media only screen and (max-width: 47.9375em) {
  .p-personnel__item-title {
    margin-top: 5.3333333333vw;
    font-size: 4.8vw;
  }
}

.p-personnel__item-txt {
  margin-top: 1rem;
  font-size: 1.6rem;
  line-height: 1.5;
}
@media only screen and (max-width: 47.9375em) {
  .p-personnel__item-txt {
    margin-top: 2.6666666667vw;
    font-size: 3.7333333333vw;
  }
}

/* ==========================================================================
   ページタイトル（見出しの体裁は c-title-page が持つ）
   ========================================================================== */
.p-graduate__mv {
  background-color: #ffffff;
}

/* ==========================================================================
   新卒のみなさんへ
   ========================================================================== */
.p-graduate__intro {
  padding-top: 11.9rem;
  padding-bottom: 10rem;
  background-color: #ffffff;
}
@media only screen and (max-width: 47.9375em) {
  .p-graduate__intro {
    padding-top: 10.6666666667vw;
    padding-bottom: 16vw;
  }
}

/* リード文は全幅。その下に「本文（左）＋写真（右）」の2カラム */
.p-graduate__lead {
  margin-top: 3rem;
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.8;
}
@media only screen and (max-width: 47.9375em) {
  .p-graduate__lead {
    margin-top: 5.3333333333vw;
    font-size: 4.8vw;
  }
}

.p-graduate__intro-body {
  display: flex;
  column-gap: 6rem;
  align-items: flex-start;
  margin-top: 4rem;
}
@media only screen and (max-width: 47.9375em) {
  .p-graduate__intro-body {
    flex-direction: column;
    row-gap: 6.4vw;
    margin-top: 6.4vw;
  }
}

.p-graduate__body {
  flex: 1;
  font-size: 1.6rem;
  line-height: 2;
}
@media only screen and (max-width: 47.9375em) {
  .p-graduate__body {
    font-size: 3.7333333333vw;
  }
}

.p-graduate__intro-img {
  flex-shrink: 0;
  width: 36rem;
}
@media only screen and (max-width: 47.9375em) {
  .p-graduate__intro-img {
    width: 100%;
  }
}

.p-graduate__intro-img img {
  width: 100%;
  height: 42rem;
  object-fit: cover;
  border-radius: 1rem;
}
@media only screen and (max-width: 47.9375em) {
  .p-graduate__intro-img img {
    height: 74.6666666667vw;
    border-radius: 2.6666666667vw;
  }
}

/* ==========================================================================
   募集媒体一覧（グレー帯）
   ========================================================================== */
.p-graduate__media {
  padding: 8rem 0 10rem;
  background-color: #f3f4f5;
}
@media only screen and (max-width: 47.9375em) {
  .p-graduate__media {
    padding: 13.3333333333vw 0 16vw;
  }
}

.p-graduate__media-items {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3.2rem;
  margin-top: 4rem;
}
@media only screen and (max-width: 47.9375em) {
  .p-graduate__media-items {
    grid-template-columns: 1fr;
    gap: 5.3333333333vw;
    margin-top: 8vw;
  }
}

.p-graduate__media-item a {
  position: relative;
  display: block;
  padding: 3rem 2rem 2rem;
  background-color: #ffffff;
  border-radius: 2rem;
}
@media only screen and (max-width: 47.9375em) {
  .p-graduate__media-item a {
    height: auto;
    padding: 8vw 5.3333333333vw;
    border-radius: 5.3333333333vw;
  }
}
@media screen and (min-width: 64.0625em) and (hover: hover) {
  .p-graduate__media-item a {
    cursor: pointer;
    transition: opacity 0.5s;
  }
}
@media screen and (min-width: 64.0625em) and (hover: hover) {
  .p-graduate__media-item a:hover {
    opacity: 0.7;
  }
}

/* ロゴ枠（プレースホルダ） */
.p-graduate__media-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 17.4rem;
  margin: 0 auto;
  font-size: 2rem;
  font-weight: 700;
}
@media only screen and (max-width: 47.9375em) {
  .p-graduate__media-logo {
    width: 46.4vw;
    height: 18.6666666667vw;
    font-size: 4.8vw;
  }
}

.p-graduate__media-txt {
  margin-top: 2rem;
  font-size: 1.4rem;
  line-height: 1.4;
}
@media only screen and (max-width: 47.9375em) {
  .p-graduate__media-txt {
    margin-top: 5.3333333333vw;
    font-size: 3.7333333333vw;
  }
}

.p-graduate__media-arrow {
  width: 3.2rem;
  margin-top: 2rem;
  margin-left: auto;
}
@media only screen and (max-width: 47.9375em) {
  .p-graduate__media-arrow {
    width: 8.5333333333vw;
    margin-top: 5.3333333333vw;
  }
}

/* ==========================================================================
   会社を知る（動画）
   ========================================================================== */
.p-graduate__movie {
  padding-top: 8rem;
  padding-bottom: 10rem;
  background-color: #ffffff;
}
@media only screen and (max-width: 47.9375em) {
  .p-graduate__movie {
    padding-top: 16vw;
    padding-bottom: 16vw;
  }
}

.p-graduate__movie-items {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 4rem;
  margin-top: 4rem;
}
@media only screen and (max-width: 47.9375em) {
  .p-graduate__movie-items {
    grid-template-columns: 1fr;
    gap: 8vw;
    margin-top: 8vw;
  }
}

/* サムネイル（16:9、中央に再生ボタン）。実サムネが無いためプレースホルダ地色 */
.p-graduate__movie-thumb {
  position: relative;
  display: block;
  width: 100%;
  padding-top: 56.25%;
  overflow: hidden;
  background-color: #d9d9d9;
}
@media screen and (min-width: 64.0625em) and (hover: hover) {
  .p-graduate__movie-thumb {
    cursor: pointer;
    transition: opacity 0.5s;
  }
}
@media screen and (min-width: 64.0625em) and (hover: hover) {
  .p-graduate__movie-thumb:hover {
    opacity: 0.7;
  }
}

.p-graduate__movie-play {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 8.3rem;
  height: 8.3rem;
  transform: translate(-50%, -50%);
}
@media only screen and (max-width: 47.9375em) {
  .p-graduate__movie-play {
    width: 16vw;
    height: 16vw;
  }
}

.p-graduate__movie-title {
  margin-top: 1.8rem;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.4;
}
@media only screen and (max-width: 47.9375em) {
  .p-graduate__movie-title {
    margin-top: 3.7333333333vw;
    font-size: 4.8vw;
  }
}

.p-graduate__movie-txt {
  margin-top: 0.8rem;
  font-size: 1.6rem;
  line-height: 2;
}
@media only screen and (max-width: 47.9375em) {
  .p-graduate__movie-txt {
    margin-top: 1.6vw;
    font-size: 3.7333333333vw;
  }
}

/* ==========================================================================
   下部リンクカード（数字で見る／クロストーク）
   ========================================================================== */
.p-graduate__links {
  padding: 10rem 0;
  background-color: #f3f4f5;
}
@media only screen and (max-width: 47.9375em) {
  .p-graduate__links {
    padding: 16vw 0;
  }
}

.p-graduate__links-items {
  display: flex;
  column-gap: 3rem;
}
@media only screen and (max-width: 47.9375em) {
  .p-graduate__links-items {
    flex-direction: column;
    row-gap: 5.3333333333vw;
  }
}

.p-graduate__links-items .c-card {
  width: calc(50% - 1.5rem);
}
@media only screen and (max-width: 47.9375em) {
  .p-graduate__links-items .c-card {
    width: 100%;
  }
}

/* ==========================================================================
   ページタイトル（見出しの体裁は c-title-page が持つ）
   ========================================================================== */
.p-career__mv {
  background-color: #ffffff;
}

/* ==========================================================================
   絞り込み
   ========================================================================== */
.p-career__filter {
  padding-top: 11.9rem;
  background-color: #ffffff;
}
@media only screen and (max-width: 47.9375em) {
  .p-career__filter {
    padding-top: 10.6666666667vw;
  }
}

.p-career__filter-box {
  padding: 3rem 4rem 4rem;
  background-color: #f3f4f5;
  border-radius: 1rem;
}
@media only screen and (max-width: 47.9375em) {
  .p-career__filter-box {
    padding: 6.4vw 5.3333333333vw;
    border-radius: 2.6666666667vw;
  }
}

.p-career__filter-box + .p-career__filter-box {
  margin-top: 2rem;
}
@media only screen and (max-width: 47.9375em) {
  .p-career__filter-box + .p-career__filter-box {
    margin-top: 4.2666666667vw;
  }
}

.p-career__filter-label {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.4;
}
@media only screen and (max-width: 47.9375em) {
  .p-career__filter-label {
    font-size: 4vw;
  }
}

.p-career__filter-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 2rem;
}
@media only screen and (max-width: 47.9375em) {
  .p-career__filter-tags {
    gap: 2.1333333333vw;
    margin-top: 4.2666666667vw;
  }
}

/* 絞り込みタグボタン。選択中は青背景・白文字 */
.p-career__tag {
  padding: 0.2rem 0.8rem;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.4;
  color: #0062e8;
  background-color: #ffffff;
  border: 0.1rem solid #0062e8;
  border-radius: 0.3rem;
  transition: 0.3s;
}
@media only screen and (max-width: 47.9375em) {
  .p-career__tag {
    font-size: 3.7333333333vw;
    padding: 0.5333333333vw 2.6666666667vw;
    border: 0.2666666667vw solid #0062e8;
    border-radius: 0.8vw;
  }
}
@media screen and (min-width: 64.0625em) and (hover: hover) {
  .p-career__tag:hover {
    color: #ffffff;
    background-color: #0062e8;
  }
}

.p-career__tag.is-active {
  color: #ffffff;
  background-color: #0062e8;
}

/* ==========================================================================
   募集中の職種
   ========================================================================== */
.p-career__jobs {
  padding: 8rem 0 12rem;
  background-color: #ffffff;
}
@media only screen and (max-width: 47.9375em) {
  .p-career__jobs {
    padding: 13.3333333333vw 0 16vw;
  }
}

.p-career__jobs-items {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6.4rem 3.2rem;
  margin-top: 4rem;
}
@media only screen and (max-width: 47.9375em) {
  .p-career__jobs-items {
    grid-template-columns: 1fr;
    gap: 10.6666666667vw;
    margin-top: 8vw;
  }
}

.p-career__job a {
  display: block;
}
@media screen and (min-width: 64.0625em) and (hover: hover) {
  .p-career__job a {
    cursor: pointer;
    transition: opacity 0.5s;
  }
}
@media screen and (min-width: 64.0625em) and (hover: hover) {
  .p-career__job a:hover {
    opacity: 0.7;
  }
}

/* 求人サムネイル（実画像が無いためプレースホルダ地色） */
.p-career__job-thumb {
  width: 100%;
  height: 20.9rem;
  background-color: #ddd;
  border-radius: 2rem;
}
@media only screen and (max-width: 47.9375em) {
  .p-career__job-thumb {
    height: 55.7333333333vw;
    border-radius: 5.3333333333vw;
  }
}

.p-career__job-thumb img {
  border-radius: 2rem;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
@media only screen and (max-width: 47.9375em) {
  .p-career__job-thumb img {
    border-radius: 5.3333333333vw;
  }
}

.p-career__job-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.9rem;
  margin-top: 2rem;
}
@media only screen and (max-width: 47.9375em) {
  .p-career__job-tags {
    gap: 2.1333333333vw;
    margin-top: 4.2666666667vw;
  }
}

.p-career__job-title {
  margin-top: 1rem;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.4;
}
@media only screen and (max-width: 47.9375em) {
  .p-career__job-title {
    font-size: 4.2666666667vw;
  }
}

.p-career__jobs-empty {
  margin-top: 4rem;
  font-size: 1.6rem;
  text-align: center;
}
@media only screen and (max-width: 47.9375em) {
  .p-career__jobs-empty {
    margin-top: 8vw;
    font-size: 3.7333333333vw;
  }
}

/* ==========================================================================
   募集要項 詳細
   ========================================================================== */
/* ヘッダーは position: fixed のため、その高さ分を余白で確保する */
.p-detail {
  padding-top: 14rem;
  padding-bottom: 12rem;
  background-color: #ffffff;
}
@media only screen and (min-width: 48em) and (max-width: 64em) {
  .p-detail {
    padding-top: 12rem;
  }
}
@media only screen and (max-width: 47.9375em) {
  .p-detail {
    padding-top: 21.3333333333vw;
    padding-bottom: 16vw;
  }
}

/* 見出し・タグ・日付（左）＋ 画像（右） */
.p-detail__head {
  display: flex;
  column-gap: 4rem;
  align-items: flex-start;
  justify-content: space-between;
}
@media only screen and (max-width: 47.9375em) {
  .p-detail__head {
    flex-direction: column;
    row-gap: 5.3333333333vw;
  }
}

.p-detail__head-body {
  flex: 1;
}

.p-detail__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}
@media only screen and (max-width: 47.9375em) {
  .p-detail__tags {
    gap: 2.1333333333vw;
  }
}

.p-detail__title {
  margin-top: 2rem;
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.4;
}
@media only screen and (max-width: 47.9375em) {
  .p-detail__title {
    margin-top: 4.2666666667vw;
    font-size: 5.8666666667vw;
  }
}

.p-detail__date {
  margin-top: 3rem;
  font-size: 1.4rem;
  line-height: 1.4;
}
@media only screen and (max-width: 47.9375em) {
  .p-detail__date {
    margin-top: 4.8vw;
    font-size: 3.4666666667vw;
  }
}

/* 画像（実画像が無いためプレースホルダ地色） */
.p-detail__img {
  flex-shrink: 0;
  width: 48rem;
  height: 32.1rem;
  background-color: #ddd;
  border-radius: 2rem;
}
@media only screen and (max-width: 47.9375em) {
  .p-detail__img {
    width: 100%;
    height: 53.3333333333vw;
    border-radius: 2.6666666667vw;
  }
}

/* ==========================================================================
   募集要項テーブル
   ========================================================================== */
.p-detail__table {
  margin-top: 6rem;
  border: 0.1rem solid #e1e2e4;
  border-bottom: 0;
}
@media only screen and (max-width: 47.9375em) {
  .p-detail__table {
    margin-top: 10.6666666667vw;
  }
}

.p-detail__row {
  display: flex;
  border-bottom: 0.1rem solid #e1e2e4;
}
@media only screen and (max-width: 47.9375em) {
  .p-detail__row {
    flex-direction: column;
  }
}

/* ラベル列（薄い背景） */
.p-detail__th {
  flex-shrink: 0;
  width: 20rem;
  padding: 2.1rem 2rem;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.8;
  background-color: #f8f9f9;
}
@media only screen and (max-width: 47.9375em) {
  .p-detail__th {
    width: 100%;
    padding: 3.7333333333vw 4.2666666667vw;
    font-size: 4vw;
  }
}

.p-detail__td {
  flex: 1;
  padding: 2.1rem 2rem;
  font-size: 1.6rem;
  line-height: 1.8;
}
@media only screen and (max-width: 47.9375em) {
  .p-detail__td {
    padding: 3.7333333333vw 4.2666666667vw;
    font-size: 3.7333333333vw;
  }
}

/* ==========================================================================
   エントリーへの動線
   ========================================================================== */
.p-detail__entry {
  margin-top: 6rem;
  text-align: center;
}
@media only screen and (max-width: 47.9375em) {
  .p-detail__entry {
    margin-top: 10.6666666667vw;
  }
}

.p-detail__entry-note {
  font-size: 1.6rem;
  line-height: 1.4;
}
@media only screen and (max-width: 47.9375em) {
  .p-detail__entry-note {
    font-size: 4vw;
  }
}

.p-detail__entry-btn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 33.5rem;
  height: 7.2rem;
  margin: 2rem auto 0;
  font-size: 1.6rem;
  font-weight: 700;
  color: #ffffff;
  background-color: #0062e8;
  border-radius: 1rem;
}
@media only screen and (max-width: 47.9375em) {
  .p-detail__entry-btn {
    width: 100%;
    max-width: 89.3333333333vw;
    height: 17.0666666667vw;
    margin-top: 4.2666666667vw;
    font-size: 4vw;
  }
}
@media screen and (min-width: 64.0625em) and (hover: hover) {
  .p-detail__entry-btn {
    cursor: pointer;
    transition: opacity 0.5s;
  }
}
@media screen and (min-width: 64.0625em) and (hover: hover) {
  .p-detail__entry-btn:hover {
    opacity: 0.7;
  }
}

/* ボタン右端の矢印（白丸＋青矢印） */
.p-detail__entry-arrow {
  position: absolute;
  top: 50%;
  right: 2rem;
  width: 3.2rem;
  transform: translateY(-50%);
}
@media only screen and (max-width: 47.9375em) {
  .p-detail__entry-arrow {
    right: 5.3333333333vw;
    width: 8.5333333333vw;
  }
}

/* ==========================================================================
   ページタイトル（見出しの体裁は c-title-page が持つ）
   ========================================================================== */
.p-entry__mv {
  background-color: #ffffff;
}

/* ==========================================================================
   フォーム
   ========================================================================== */
.p-entry__form {
  padding-top: 11.9rem;
  padding-bottom: 12rem;
  background-color: #ffffff;
}
@media only screen and (max-width: 47.9375em) {
  .p-entry__form {
    padding-top: 10.6666666667vw;
    padding-bottom: 16vw;
  }
}

.p-entry__block + .p-entry__block {
  margin-top: 8rem;
}
@media only screen and (max-width: 47.9375em) {
  .p-entry__block + .p-entry__block {
    margin-top: 13.3333333333vw;
  }
}

.p-entry__rows {
  margin-top: 4rem;
}
@media only screen and (max-width: 47.9375em) {
  .p-entry__rows {
    margin-top: 6.4vw;
  }
}

/* 各行：ラベル列（左）＋入力/値（右）。ラベル起点183・入力起点494 = ラベル列311px */
.p-entry__row {
  display: flex;
  align-items: flex-start;
}
@media only screen and (max-width: 47.9375em) {
  .p-entry__row {
    flex-direction: column;
  }
}

.p-entry__row + .p-entry__row {
  margin-top: 4rem;
}
@media only screen and (max-width: 47.9375em) {
  .p-entry__row + .p-entry__row {
    margin-top: 5.3333333333vw;
  }
}

.p-entry__label {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  width: 31.1rem;
  padding-top: 1.6rem;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.4;
}
@media only screen and (max-width: 47.9375em) {
  .p-entry__label {
    width: 100%;
    padding-top: 0;
    margin-bottom: 2.1333333333vw;
    font-size: 4vw;
  }
}

/* 必須バッジ */
.p-entry__req {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.2rem 0.6rem;
  margin-left: 1rem;
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 1.4;
  color: #ffffff;
  background-color: #0062e8;
  border-radius: 0.3rem;
}
@media only screen and (max-width: 47.9375em) {
  .p-entry__req {
    margin-left: 2.1333333333vw;
    font-size: 3.2vw;
  }
}

/* 引き継ぎ値（読み取り専用）：グレー背景＋青枠＋青文字 */
.p-entry__value {
  display: flex;
  flex: 1;
  align-items: center;
  min-height: 6.4rem;
  padding: 1.8rem 2rem;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.4;
  color: #0062e8;
  background-color: #f3f4f5;
  border: 0.1rem solid #0062e8;
  border-radius: 0.5rem;
}
@media only screen and (max-width: 47.9375em) {
  .p-entry__value {
    width: 100%;
    min-height: 14.9333333333vw;
    padding: 3.7333333333vw 4.2666666667vw;
    font-size: 4vw;
  }
}

/* 入力欄：グレー背景・枠なし */
.p-entry__input {
  flex: 1;
  width: 100%;
  height: 6.4rem;
  padding: 1.8rem 2rem;
  font-size: 1.6rem;
  line-height: 1.4;
  background-color: #f3f4f5;
  border: none;
  border-radius: 0.5rem;
}
@media only screen and (max-width: 47.9375em) {
  .p-entry__input {
    height: 14.9333333333vw;
    padding: 3.7333333333vw 4.2666666667vw;
    font-size: 4vw;
  }
}

.p-entry__input--area {
  height: 25.6rem;
  resize: vertical;
}
@media only screen and (max-width: 47.9375em) {
  .p-entry__input--area {
    height: 48vw;
  }
}

/* ==========================================================================
   個人情報の取り扱い（スクロールボックス）
   ========================================================================== */
.p-entry__privacy {
  height: 22.5rem;
  padding: 2rem;
  margin-top: 4rem;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  border: 0.1rem solid #e1e2e4;
}
@media only screen and (max-width: 47.9375em) {
  .p-entry__privacy {
    height: 53.3333333333vw;
    padding: 4.2666666667vw;
    margin-top: 8vw;
  }
}

.p-entry__privacy-txt {
  font-size: 1.4rem;
  line-height: 2;
}
@media only screen and (max-width: 47.9375em) {
  .p-entry__privacy-txt {
    font-size: 3.4666666667vw;
  }
}

.p-entry__privacy-txt a {
  color: #0062e8;
  text-decoration: underline;
}

/* ==========================================================================
   同意チェック・送信ボタン
   ========================================================================== */
.p-entry__agree {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 4rem;
}
@media only screen and (max-width: 47.9375em) {
  .p-entry__agree {
    margin-top: 8vw;
  }
}

.p-entry__checkbox {
  width: 1.6rem;
  height: 1.6rem;
  margin-top: 0.2rem;
  margin-right: 1rem;
  margin-bottom: 0;
  cursor: pointer;
  accent-color: #0062e8;
}
@media only screen and (max-width: 47.9375em) {
  .p-entry__checkbox {
    width: 4.2666666667vw;
    height: 4.2666666667vw;
    margin-top: 0.5333333333vw;
    margin-right: 2.1333333333vw;
  }
}

/* CF7の [acceptance] は .wpcf7-list-item-label を出力するため、
   このクラスは静的HTML時代の名残（残しておくと将来の切り戻しに使える） */
.p-entry__agree-label {
  font-size: 1.6rem;
  line-height: 1.4;
  cursor: pointer;
}
@media only screen and (max-width: 47.9375em) {
  .p-entry__agree-label {
    font-size: 4vw;
  }
}

.p-entry__submit {
  margin-top: 4rem;
  text-align: center;
}
@media only screen and (max-width: 47.9375em) {
  .p-entry__submit {
    margin-top: 8vw;
  }
}

.p-entry__btn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 33.5rem;
  height: 7.2rem;
  margin: 0 auto;
  font-size: 1.6rem;
  font-weight: 700;
  color: #ffffff;
  background-color: #0062e8;
  border-radius: 1rem;
}
@media only screen and (max-width: 47.9375em) {
  .p-entry__btn {
    width: 100%;
    max-width: 89.3333333333vw;
    height: 17.0666666667vw;
    font-size: 4vw;
  }
}
@media screen and (min-width: 64.0625em) and (hover: hover) {
  .p-entry__btn {
    cursor: pointer;
    transition: opacity 0.5s;
  }
}
@media screen and (min-width: 64.0625em) and (hover: hover) {
  .p-entry__btn:hover {
    opacity: 0.7;
  }
}

.p-entry__btn-arrow {
  position: absolute;
  top: 50%;
  right: 2rem;
  width: 3.2rem;
  transform: translateY(-50%);
}
@media only screen and (max-width: 47.9375em) {
  .p-entry__btn-arrow {
    right: 5.3333333333vw;
    width: 8.5333333333vw;
  }
}

/* 左向き矢印（修正するボタン用） */
.p-entry__btn-arrow--left {
  right: auto;
  left: 2rem;
}
@media only screen and (max-width: 47.9375em) {
  .p-entry__btn-arrow--left {
    left: 5.3333333333vw;
  }
}

/* ==========================================================================
   確認画面
   ========================================================================== */
.p-entry__confirm-lead {
  font-size: 1.6rem;
  line-height: 1.8;
  text-align: center;
  margin-bottom: 2rem;
}
@media only screen and (max-width: 47.9375em) {
  .p-entry__confirm-lead {
    font-size: 3.7333333333vw;
    text-align: left;
    margin-bottom: 5.3333333333vw;
  }
}

/* 確認画面の値。入力欄のような枠は付けず素のテキストで表示する。
   ラベル（.p-entry__label）と縦位置を揃えるため padding-top を合わせる */
.p-entry__data {
  flex: 1;
  padding-top: 1.6rem;
  font-size: 1.6rem;
  line-height: 1.8;
  word-break: break-all;
}
@media only screen and (max-width: 47.9375em) {
  .p-entry__data {
    padding-top: 0;
    font-size: 4vw;
  }
}

/* 修正する／送信する の2ボタン */
.p-entry__confirm-actions {
  display: flex;
  column-gap: 3rem;
  justify-content: center;
  margin-top: 6rem;
}
@media only screen and (max-width: 47.9375em) {
  .p-entry__confirm-actions {
    flex-direction: column-reverse;
    row-gap: 4.2666666667vw;
    align-items: center;
    margin-top: 10.6666666667vw;
  }
}

.p-entry__confirm-actions .p-entry__btn,
.p-entry__confirm-actions .p-entry__submit-wrap {
  margin: 0;
}

/* 修正する：白背景・青枠・青文字 */
.p-entry__btn--back {
  color: #0062e8;
  background-color: #ffffff;
  border: 0.1rem solid #0062e8;
}

/* ==========================================================================
   完了画面
   ========================================================================== */
.p-entry__thanks {
  padding-top: 11.9rem;
  padding-bottom: 12rem;
  background-color: #ffffff;
}
@media only screen and (max-width: 47.9375em) {
  .p-entry__thanks {
    padding-top: 10.6666666667vw;
    padding-bottom: 16vw;
  }
}

.p-entry__thanks-body {
  text-align: center;
}

.p-entry__thanks-title {
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.4;
}
@media only screen and (max-width: 47.9375em) {
  .p-entry__thanks-title {
    font-size: 5.8666666667vw;
  }
}

.p-entry__thanks-txt {
  margin-top: 3rem;
  font-size: 1.6rem;
  line-height: 2;
}
@media only screen and (max-width: 47.9375em) {
  .p-entry__thanks-txt {
    margin-top: 5.3333333333vw;
    font-size: 3.7333333333vw;
  }
}

.p-entry__thanks-btn {
  margin-top: 5rem;
}
@media only screen and (max-width: 47.9375em) {
  .p-entry__thanks-btn {
    margin-top: 10.6666666667vw;
  }
}

/* ==========================================================================
   Contact Form 7 の出力調整
   CF7は入力欄を <span class="wpcf7-form-control-wrap"> で囲むため、
   flexレイアウトの子要素がラッパーに置き換わってしまう。
   ラッパーを透過させて、入力欄が直接の子だったときと同じ挙動に戻す。
   ========================================================================== */
.p-entry__row .wpcf7-form-control-wrap {
  display: block;
  flex: 1;
  width: 100%;
  min-width: 0;
}

/* 同意チェックはインライン扱いのため flex を効かせない */
.p-entry__agree .wpcf7-form-control-wrap {
  display: inline-flex;
  flex: none;
  width: auto;
}

/* CF7が付ける自動マージン・行間をリセット */
.p-entry__form .wpcf7 form .wpcf7-form-control-wrap {
  margin: 0;
}

.p-entry__form .wpcf7 p {
  margin: 0;
}

/* --------------------------------------------------------------------------
   同意チェック（[acceptance]）
   -------------------------------------------------------------------------- */
.p-entry__agree .wpcf7-acceptance .wpcf7-list-item {
  margin: 0;
}

.p-entry__agree .wpcf7-list-item-label {
  font-size: 1.6rem;
  line-height: 1.4;
  cursor: pointer;
}
@media only screen and (max-width: 47.9375em) {
  .p-entry__agree .wpcf7-list-item-label {
    font-size: 4vw;
  }
}

.p-entry__agree label {
  display: flex;
  align-items: center;
  cursor: pointer;
}

/* --------------------------------------------------------------------------
   送信ボタン（[submit] は <input> のため擬似要素が使えない）
   ラッパー側に矢印を描画する
   -------------------------------------------------------------------------- */
/* 送信ボタンを囲む span（矢印の描画基準）
   CF7の [submit] はラッパーが付かないため、フォーム側で span を書く */
.p-entry__submit-wrap {
  position: relative;
  display: inline-block;
  flex: none;
  width: 33.5rem;
}
@media only screen and (max-width: 47.9375em) {
  .p-entry__submit-wrap {
    width: 100%;
    max-width: 89.3333333333vw;
  }
}

/* 送信ボタンの体裁
   CF7の class: 指定に依存せず、位置で特定する */
.p-entry__submit-wrap input {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 33.5rem;
  height: 7.2rem;
  padding: 0;
  font-family: inherit;
  font-size: 1.6rem;
  font-weight: 700;
  color: #ffffff;
  cursor: pointer;
  background-color: #0062e8;
  border: none;
  border-radius: 1rem;
  appearance: none;
}
@media only screen and (max-width: 47.9375em) {
  .p-entry__submit-wrap input {
    width: 100%;
    max-width: 89.3333333333vw;
    height: 17.0666666667vw;
    font-size: 4vw;
  }
}
@media screen and (min-width: 64.0625em) and (hover: hover) {
  .p-entry__submit-wrap input {
    cursor: pointer;
    transition: opacity 0.5s;
  }
}
@media screen and (min-width: 64.0625em) and (hover: hover) {
  .p-entry__submit-wrap input:hover {
    opacity: 0.7;
  }
}

/* 送信ボタンの矢印：input には ::after が付かないため親に描画する */
.p-entry__submit-wrap {
  position: relative;
}
.p-entry__submit-wrap::after {
  position: absolute;
  top: 50%;
  right: 2rem;
  width: 3.2rem;
  height: 3.2rem;
  pointer-events: none;
  content: "";
  background-image: url("../images/common/arrow02.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  transform: translateY(-50%);
}
@media only screen and (max-width: 47.9375em) {
  .p-entry__submit-wrap::after {
    right: 5.3333333333vw;
    width: 8.5333333333vw;
    height: 8.5333333333vw;
  }
}

/* --------------------------------------------------------------------------
   エラー表示・送信中インジケーター
   -------------------------------------------------------------------------- */
.p-entry__form .wpcf7-not-valid-tip {
  margin-top: 0.8rem;
  font-size: 1.4rem;
  color: #c00;
}
@media only screen and (max-width: 47.9375em) {
  .p-entry__form .wpcf7-not-valid-tip {
    margin-top: 1.6vw;
    font-size: 3.4666666667vw;
  }
}

.p-entry__form .wpcf7-response-output {
  padding: 1.6rem;
  margin: 3rem 0 0;
  font-size: 1.4rem;
  text-align: center;
  border-width: 0.1rem;
}
@media only screen and (max-width: 47.9375em) {
  .p-entry__form .wpcf7-response-output {
    padding: 3.7333333333vw;
    margin-top: 5.3333333333vw;
    font-size: 3.4666666667vw;
  }
}

.p-entry__form .wpcf7-spinner {
  margin: 0 0 0 1rem;
}

/* 入力欄がエラーのとき */
.p-entry__form .wpcf7-not-valid.p-entry__input {
  outline: 0.1rem solid #c00;
}

.wpcf7-spinner {
  display: none !important;
}

.u-dn-all {
  display: none;
}
@media all and (min-width: 64.0625em) {
  .u-dn-pc {
    display: none;
  }
}
@media print {
  .u-dn-pc {
    display: none;
  }
}
@media all and (min-width: 85.4375em) {
  .u-dn-pc-l {
    display: none;
  }
}
@media all and (min-width: 64.0625em) and (max-width: 85.375em) {
  .u-dn-pc-s {
    display: none;
  }
}
@media print {
  .u-dn-pc-s {
    display: none;
  }
}
@media only screen and (min-width: 48em) and (max-width: 64em) {
  .u-dn-tb {
    display: none;
  }
}
@media only screen and (min-width: 48em) and (max-width: 64em) and (orientation: landscape) {
  .u-dn-tb-l {
    display: none;
  }
}
@media only screen and (min-width: 48em) and (max-width: 64em) and (orientation: portrait) {
  .u-dn-tb-p {
    display: none;
  }
}
@media only screen and (max-width: 47.9375em) {
  .u-dn-sp {
    display: none;
  }
}

.u-mt-0 {
  margin-top: 0rem;
}
.u-mb-0 {
  margin-bottom: 0rem;
}
.u-mr-0 {
  margin-right: 0rem;
}
.u-ml-0 {
  margin-left: 0rem;
}
.u-mt-5 {
  margin-top: 0.5rem;
}
.u-mb-5 {
  margin-bottom: 0.5rem;
}
.u-mr-5 {
  margin-right: 0.5rem;
}
.u-ml-5 {
  margin-left: 0.5rem;
}
.u-mt-10 {
  margin-top: 1rem;
}
.u-mb-10 {
  margin-bottom: 1rem;
}
.u-mr-10 {
  margin-right: 1rem;
}
.u-ml-10 {
  margin-left: 1rem;
}
.u-mt-15 {
  margin-top: 1.5rem;
}
.u-mb-15 {
  margin-bottom: 1.5rem;
}
.u-mr-15 {
  margin-right: 1.5rem;
}
.u-ml-15 {
  margin-left: 1.5rem;
}
.u-mt-20 {
  margin-top: 2rem;
}
.u-mb-20 {
  margin-bottom: 2rem;
}
.u-mr-20 {
  margin-right: 2rem;
}
.u-ml-20 {
  margin-left: 2rem;
}
.u-mt-25 {
  margin-top: 2.5rem;
}
.u-mb-25 {
  margin-bottom: 2.5rem;
}
.u-mr-25 {
  margin-right: 2.5rem;
}
.u-ml-25 {
  margin-left: 2.5rem;
}
.u-mt-30 {
  margin-top: 3rem;
}
.u-mb-30 {
  margin-bottom: 3rem;
}
.u-mr-30 {
  margin-right: 3rem;
}
.u-ml-30 {
  margin-left: 3rem;
}
.u-mt-35 {
  margin-top: 3.5rem;
}
.u-mb-35 {
  margin-bottom: 3.5rem;
}
.u-mr-35 {
  margin-right: 3.5rem;
}
.u-ml-35 {
  margin-left: 3.5rem;
}
.u-mt-40 {
  margin-top: 4rem;
}
.u-mb-40 {
  margin-bottom: 4rem;
}
.u-mr-40 {
  margin-right: 4rem;
}
.u-ml-40 {
  margin-left: 4rem;
}
.u-mt-45 {
  margin-top: 4.5rem;
}
.u-mb-45 {
  margin-bottom: 4.5rem;
}
.u-mr-45 {
  margin-right: 4.5rem;
}
.u-ml-45 {
  margin-left: 4.5rem;
}
.u-mt-50 {
  margin-top: 5rem;
}
.u-mb-50 {
  margin-bottom: 5rem;
}
.u-mr-50 {
  margin-right: 5rem;
}
.u-ml-50 {
  margin-left: 5rem;
}
.u-mt-55 {
  margin-top: 5.5rem;
}
.u-mb-55 {
  margin-bottom: 5.5rem;
}
.u-mr-55 {
  margin-right: 5.5rem;
}
.u-ml-55 {
  margin-left: 5.5rem;
}
.u-mt-60 {
  margin-top: 6rem;
}
.u-mb-60 {
  margin-bottom: 6rem;
}
.u-mr-60 {
  margin-right: 6rem;
}
.u-ml-60 {
  margin-left: 6rem;
}
.u-mt-65 {
  margin-top: 6.5rem;
}
.u-mb-65 {
  margin-bottom: 6.5rem;
}
.u-mr-65 {
  margin-right: 6.5rem;
}
.u-ml-65 {
  margin-left: 6.5rem;
}
.u-mt-70 {
  margin-top: 7rem;
}
.u-mb-70 {
  margin-bottom: 7rem;
}
.u-mr-70 {
  margin-right: 7rem;
}
.u-ml-70 {
  margin-left: 7rem;
}
.u-mt-75 {
  margin-top: 7.5rem;
}
.u-mb-75 {
  margin-bottom: 7.5rem;
}
.u-mr-75 {
  margin-right: 7.5rem;
}
.u-ml-75 {
  margin-left: 7.5rem;
}
.u-mt-80 {
  margin-top: 8rem;
}
.u-mb-80 {
  margin-bottom: 8rem;
}
.u-mr-80 {
  margin-right: 8rem;
}
.u-ml-80 {
  margin-left: 8rem;
}
.u-mt-85 {
  margin-top: 8.5rem;
}
.u-mb-85 {
  margin-bottom: 8.5rem;
}
.u-mr-85 {
  margin-right: 8.5rem;
}
.u-ml-85 {
  margin-left: 8.5rem;
}
.u-mt-90 {
  margin-top: 9rem;
}
.u-mb-90 {
  margin-bottom: 9rem;
}
.u-mr-90 {
  margin-right: 9rem;
}
.u-ml-90 {
  margin-left: 9rem;
}
.u-mt-95 {
  margin-top: 9.5rem;
}
.u-mb-95 {
  margin-bottom: 9.5rem;
}
.u-mr-95 {
  margin-right: 9.5rem;
}
.u-ml-95 {
  margin-left: 9.5rem;
}
.u-mt-100 {
  margin-top: 10rem;
}
.u-mb-100 {
  margin-bottom: 10rem;
}
.u-mr-100 {
  margin-right: 10rem;
}
.u-ml-100 {
  margin-left: 10rem;
}
.u-mt-105 {
  margin-top: 10.5rem;
}
.u-mb-105 {
  margin-bottom: 10.5rem;
}
.u-mr-105 {
  margin-right: 10.5rem;
}
.u-ml-105 {
  margin-left: 10.5rem;
}
.u-mt-110 {
  margin-top: 11rem;
}
.u-mb-110 {
  margin-bottom: 11rem;
}
.u-mr-110 {
  margin-right: 11rem;
}
.u-ml-110 {
  margin-left: 11rem;
}
.u-mt-115 {
  margin-top: 11.5rem;
}
.u-mb-115 {
  margin-bottom: 11.5rem;
}
.u-mr-115 {
  margin-right: 11.5rem;
}
.u-ml-115 {
  margin-left: 11.5rem;
}
.u-mt-120 {
  margin-top: 12rem;
}
.u-mb-120 {
  margin-bottom: 12rem;
}
.u-mr-120 {
  margin-right: 12rem;
}
.u-ml-120 {
  margin-left: 12rem;
}
.u-mt-125 {
  margin-top: 12.5rem;
}
.u-mb-125 {
  margin-bottom: 12.5rem;
}
.u-mr-125 {
  margin-right: 12.5rem;
}
.u-ml-125 {
  margin-left: 12.5rem;
}
.u-mt-130 {
  margin-top: 13rem;
}
.u-mb-130 {
  margin-bottom: 13rem;
}
.u-mr-130 {
  margin-right: 13rem;
}
.u-ml-130 {
  margin-left: 13rem;
}
.u-mt-135 {
  margin-top: 13.5rem;
}
.u-mb-135 {
  margin-bottom: 13.5rem;
}
.u-mr-135 {
  margin-right: 13.5rem;
}
.u-ml-135 {
  margin-left: 13.5rem;
}
.u-mt-140 {
  margin-top: 14rem;
}
.u-mb-140 {
  margin-bottom: 14rem;
}
.u-mr-140 {
  margin-right: 14rem;
}
.u-ml-140 {
  margin-left: 14rem;
}
.u-mt-145 {
  margin-top: 14.5rem;
}
.u-mb-145 {
  margin-bottom: 14.5rem;
}
.u-mr-145 {
  margin-right: 14.5rem;
}
.u-ml-145 {
  margin-left: 14.5rem;
}
.u-mt-150 {
  margin-top: 15rem;
}
.u-mb-150 {
  margin-bottom: 15rem;
}
.u-mr-150 {
  margin-right: 15rem;
}
.u-ml-150 {
  margin-left: 15rem;
}
.u-mt-155 {
  margin-top: 15.5rem;
}
.u-mb-155 {
  margin-bottom: 15.5rem;
}
.u-mr-155 {
  margin-right: 15.5rem;
}
.u-ml-155 {
  margin-left: 15.5rem;
}
.u-mt-160 {
  margin-top: 16rem;
}
.u-mb-160 {
  margin-bottom: 16rem;
}
.u-mr-160 {
  margin-right: 16rem;
}
.u-ml-160 {
  margin-left: 16rem;
}
.u-mt-165 {
  margin-top: 16.5rem;
}
.u-mb-165 {
  margin-bottom: 16.5rem;
}
.u-mr-165 {
  margin-right: 16.5rem;
}
.u-ml-165 {
  margin-left: 16.5rem;
}
.u-mt-170 {
  margin-top: 17rem;
}
.u-mb-170 {
  margin-bottom: 17rem;
}
.u-mr-170 {
  margin-right: 17rem;
}
.u-ml-170 {
  margin-left: 17rem;
}
.u-mt-175 {
  margin-top: 17.5rem;
}
.u-mb-175 {
  margin-bottom: 17.5rem;
}
.u-mr-175 {
  margin-right: 17.5rem;
}
.u-ml-175 {
  margin-left: 17.5rem;
}
.u-mt-180 {
  margin-top: 18rem;
}
.u-mb-180 {
  margin-bottom: 18rem;
}
.u-mr-180 {
  margin-right: 18rem;
}
.u-ml-180 {
  margin-left: 18rem;
}
.u-mt-185 {
  margin-top: 18.5rem;
}
.u-mb-185 {
  margin-bottom: 18.5rem;
}
.u-mr-185 {
  margin-right: 18.5rem;
}
.u-ml-185 {
  margin-left: 18.5rem;
}
.u-mt-190 {
  margin-top: 19rem;
}
.u-mb-190 {
  margin-bottom: 19rem;
}
.u-mr-190 {
  margin-right: 19rem;
}
.u-ml-190 {
  margin-left: 19rem;
}
.u-mt-195 {
  margin-top: 19.5rem;
}
.u-mb-195 {
  margin-bottom: 19.5rem;
}
.u-mr-195 {
  margin-right: 19.5rem;
}
.u-ml-195 {
  margin-left: 19.5rem;
}
.u-mt-200 {
  margin-top: 20rem;
}
.u-mb-200 {
  margin-bottom: 20rem;
}
.u-mr-200 {
  margin-right: 20rem;
}
.u-ml-200 {
  margin-left: 20rem;
}
@media all and (min-width: 64.0625em) {
  .u-mt-pc-0 {
    margin-top: 0rem;
  }
  .u-mb-pc-0 {
    margin-bottom: 0rem;
  }
  .u-mr-pc-0 {
    margin-right: 0rem;
  }
  .u-ml-pc-0 {
    margin-left: 0rem;
  }
}
@media print {
  .u-mt-pc-0 {
    margin-top: 0rem;
  }
  .u-mb-pc-0 {
    margin-bottom: 0rem;
  }
  .u-mr-pc-0 {
    margin-right: 0rem;
  }
  .u-ml-pc-0 {
    margin-left: 0rem;
  }
}
@media all and (min-width: 64.0625em) {
  .u-mt-pc-5 {
    margin-top: 0.5rem;
  }
  .u-mb-pc-5 {
    margin-bottom: 0.5rem;
  }
  .u-mr-pc-5 {
    margin-right: 0.5rem;
  }
  .u-ml-pc-5 {
    margin-left: 0.5rem;
  }
}
@media print {
  .u-mt-pc-5 {
    margin-top: 0.5rem;
  }
  .u-mb-pc-5 {
    margin-bottom: 0.5rem;
  }
  .u-mr-pc-5 {
    margin-right: 0.5rem;
  }
  .u-ml-pc-5 {
    margin-left: 0.5rem;
  }
}
@media all and (min-width: 64.0625em) {
  .u-mt-pc-10 {
    margin-top: 1rem;
  }
  .u-mb-pc-10 {
    margin-bottom: 1rem;
  }
  .u-mr-pc-10 {
    margin-right: 1rem;
  }
  .u-ml-pc-10 {
    margin-left: 1rem;
  }
}
@media print {
  .u-mt-pc-10 {
    margin-top: 1rem;
  }
  .u-mb-pc-10 {
    margin-bottom: 1rem;
  }
  .u-mr-pc-10 {
    margin-right: 1rem;
  }
  .u-ml-pc-10 {
    margin-left: 1rem;
  }
}
@media all and (min-width: 64.0625em) {
  .u-mt-pc-15 {
    margin-top: 1.5rem;
  }
  .u-mb-pc-15 {
    margin-bottom: 1.5rem;
  }
  .u-mr-pc-15 {
    margin-right: 1.5rem;
  }
  .u-ml-pc-15 {
    margin-left: 1.5rem;
  }
}
@media print {
  .u-mt-pc-15 {
    margin-top: 1.5rem;
  }
  .u-mb-pc-15 {
    margin-bottom: 1.5rem;
  }
  .u-mr-pc-15 {
    margin-right: 1.5rem;
  }
  .u-ml-pc-15 {
    margin-left: 1.5rem;
  }
}
@media all and (min-width: 64.0625em) {
  .u-mt-pc-20 {
    margin-top: 2rem;
  }
  .u-mb-pc-20 {
    margin-bottom: 2rem;
  }
  .u-mr-pc-20 {
    margin-right: 2rem;
  }
  .u-ml-pc-20 {
    margin-left: 2rem;
  }
}
@media print {
  .u-mt-pc-20 {
    margin-top: 2rem;
  }
  .u-mb-pc-20 {
    margin-bottom: 2rem;
  }
  .u-mr-pc-20 {
    margin-right: 2rem;
  }
  .u-ml-pc-20 {
    margin-left: 2rem;
  }
}
@media all and (min-width: 64.0625em) {
  .u-mt-pc-25 {
    margin-top: 2.5rem;
  }
  .u-mb-pc-25 {
    margin-bottom: 2.5rem;
  }
  .u-mr-pc-25 {
    margin-right: 2.5rem;
  }
  .u-ml-pc-25 {
    margin-left: 2.5rem;
  }
}
@media print {
  .u-mt-pc-25 {
    margin-top: 2.5rem;
  }
  .u-mb-pc-25 {
    margin-bottom: 2.5rem;
  }
  .u-mr-pc-25 {
    margin-right: 2.5rem;
  }
  .u-ml-pc-25 {
    margin-left: 2.5rem;
  }
}
@media all and (min-width: 64.0625em) {
  .u-mt-pc-30 {
    margin-top: 3rem;
  }
  .u-mb-pc-30 {
    margin-bottom: 3rem;
  }
  .u-mr-pc-30 {
    margin-right: 3rem;
  }
  .u-ml-pc-30 {
    margin-left: 3rem;
  }
}
@media print {
  .u-mt-pc-30 {
    margin-top: 3rem;
  }
  .u-mb-pc-30 {
    margin-bottom: 3rem;
  }
  .u-mr-pc-30 {
    margin-right: 3rem;
  }
  .u-ml-pc-30 {
    margin-left: 3rem;
  }
}
@media all and (min-width: 64.0625em) {
  .u-mt-pc-35 {
    margin-top: 3.5rem;
  }
  .u-mb-pc-35 {
    margin-bottom: 3.5rem;
  }
  .u-mr-pc-35 {
    margin-right: 3.5rem;
  }
  .u-ml-pc-35 {
    margin-left: 3.5rem;
  }
}
@media print {
  .u-mt-pc-35 {
    margin-top: 3.5rem;
  }
  .u-mb-pc-35 {
    margin-bottom: 3.5rem;
  }
  .u-mr-pc-35 {
    margin-right: 3.5rem;
  }
  .u-ml-pc-35 {
    margin-left: 3.5rem;
  }
}
@media all and (min-width: 64.0625em) {
  .u-mt-pc-40 {
    margin-top: 4rem;
  }
  .u-mb-pc-40 {
    margin-bottom: 4rem;
  }
  .u-mr-pc-40 {
    margin-right: 4rem;
  }
  .u-ml-pc-40 {
    margin-left: 4rem;
  }
}
@media print {
  .u-mt-pc-40 {
    margin-top: 4rem;
  }
  .u-mb-pc-40 {
    margin-bottom: 4rem;
  }
  .u-mr-pc-40 {
    margin-right: 4rem;
  }
  .u-ml-pc-40 {
    margin-left: 4rem;
  }
}
@media all and (min-width: 64.0625em) {
  .u-mt-pc-45 {
    margin-top: 4.5rem;
  }
  .u-mb-pc-45 {
    margin-bottom: 4.5rem;
  }
  .u-mr-pc-45 {
    margin-right: 4.5rem;
  }
  .u-ml-pc-45 {
    margin-left: 4.5rem;
  }
}
@media print {
  .u-mt-pc-45 {
    margin-top: 4.5rem;
  }
  .u-mb-pc-45 {
    margin-bottom: 4.5rem;
  }
  .u-mr-pc-45 {
    margin-right: 4.5rem;
  }
  .u-ml-pc-45 {
    margin-left: 4.5rem;
  }
}
@media all and (min-width: 64.0625em) {
  .u-mt-pc-50 {
    margin-top: 5rem;
  }
  .u-mb-pc-50 {
    margin-bottom: 5rem;
  }
  .u-mr-pc-50 {
    margin-right: 5rem;
  }
  .u-ml-pc-50 {
    margin-left: 5rem;
  }
}
@media print {
  .u-mt-pc-50 {
    margin-top: 5rem;
  }
  .u-mb-pc-50 {
    margin-bottom: 5rem;
  }
  .u-mr-pc-50 {
    margin-right: 5rem;
  }
  .u-ml-pc-50 {
    margin-left: 5rem;
  }
}
@media all and (min-width: 64.0625em) {
  .u-mt-pc-55 {
    margin-top: 5.5rem;
  }
  .u-mb-pc-55 {
    margin-bottom: 5.5rem;
  }
  .u-mr-pc-55 {
    margin-right: 5.5rem;
  }
  .u-ml-pc-55 {
    margin-left: 5.5rem;
  }
}
@media print {
  .u-mt-pc-55 {
    margin-top: 5.5rem;
  }
  .u-mb-pc-55 {
    margin-bottom: 5.5rem;
  }
  .u-mr-pc-55 {
    margin-right: 5.5rem;
  }
  .u-ml-pc-55 {
    margin-left: 5.5rem;
  }
}
@media all and (min-width: 64.0625em) {
  .u-mt-pc-60 {
    margin-top: 6rem;
  }
  .u-mb-pc-60 {
    margin-bottom: 6rem;
  }
  .u-mr-pc-60 {
    margin-right: 6rem;
  }
  .u-ml-pc-60 {
    margin-left: 6rem;
  }
}
@media print {
  .u-mt-pc-60 {
    margin-top: 6rem;
  }
  .u-mb-pc-60 {
    margin-bottom: 6rem;
  }
  .u-mr-pc-60 {
    margin-right: 6rem;
  }
  .u-ml-pc-60 {
    margin-left: 6rem;
  }
}
@media all and (min-width: 64.0625em) {
  .u-mt-pc-65 {
    margin-top: 6.5rem;
  }
  .u-mb-pc-65 {
    margin-bottom: 6.5rem;
  }
  .u-mr-pc-65 {
    margin-right: 6.5rem;
  }
  .u-ml-pc-65 {
    margin-left: 6.5rem;
  }
}
@media print {
  .u-mt-pc-65 {
    margin-top: 6.5rem;
  }
  .u-mb-pc-65 {
    margin-bottom: 6.5rem;
  }
  .u-mr-pc-65 {
    margin-right: 6.5rem;
  }
  .u-ml-pc-65 {
    margin-left: 6.5rem;
  }
}
@media all and (min-width: 64.0625em) {
  .u-mt-pc-70 {
    margin-top: 7rem;
  }
  .u-mb-pc-70 {
    margin-bottom: 7rem;
  }
  .u-mr-pc-70 {
    margin-right: 7rem;
  }
  .u-ml-pc-70 {
    margin-left: 7rem;
  }
}
@media print {
  .u-mt-pc-70 {
    margin-top: 7rem;
  }
  .u-mb-pc-70 {
    margin-bottom: 7rem;
  }
  .u-mr-pc-70 {
    margin-right: 7rem;
  }
  .u-ml-pc-70 {
    margin-left: 7rem;
  }
}
@media all and (min-width: 64.0625em) {
  .u-mt-pc-75 {
    margin-top: 7.5rem;
  }
  .u-mb-pc-75 {
    margin-bottom: 7.5rem;
  }
  .u-mr-pc-75 {
    margin-right: 7.5rem;
  }
  .u-ml-pc-75 {
    margin-left: 7.5rem;
  }
}
@media print {
  .u-mt-pc-75 {
    margin-top: 7.5rem;
  }
  .u-mb-pc-75 {
    margin-bottom: 7.5rem;
  }
  .u-mr-pc-75 {
    margin-right: 7.5rem;
  }
  .u-ml-pc-75 {
    margin-left: 7.5rem;
  }
}
@media all and (min-width: 64.0625em) {
  .u-mt-pc-80 {
    margin-top: 8rem;
  }
  .u-mb-pc-80 {
    margin-bottom: 8rem;
  }
  .u-mr-pc-80 {
    margin-right: 8rem;
  }
  .u-ml-pc-80 {
    margin-left: 8rem;
  }
}
@media print {
  .u-mt-pc-80 {
    margin-top: 8rem;
  }
  .u-mb-pc-80 {
    margin-bottom: 8rem;
  }
  .u-mr-pc-80 {
    margin-right: 8rem;
  }
  .u-ml-pc-80 {
    margin-left: 8rem;
  }
}
@media all and (min-width: 64.0625em) {
  .u-mt-pc-85 {
    margin-top: 8.5rem;
  }
  .u-mb-pc-85 {
    margin-bottom: 8.5rem;
  }
  .u-mr-pc-85 {
    margin-right: 8.5rem;
  }
  .u-ml-pc-85 {
    margin-left: 8.5rem;
  }
}
@media print {
  .u-mt-pc-85 {
    margin-top: 8.5rem;
  }
  .u-mb-pc-85 {
    margin-bottom: 8.5rem;
  }
  .u-mr-pc-85 {
    margin-right: 8.5rem;
  }
  .u-ml-pc-85 {
    margin-left: 8.5rem;
  }
}
@media all and (min-width: 64.0625em) {
  .u-mt-pc-90 {
    margin-top: 9rem;
  }
  .u-mb-pc-90 {
    margin-bottom: 9rem;
  }
  .u-mr-pc-90 {
    margin-right: 9rem;
  }
  .u-ml-pc-90 {
    margin-left: 9rem;
  }
}
@media print {
  .u-mt-pc-90 {
    margin-top: 9rem;
  }
  .u-mb-pc-90 {
    margin-bottom: 9rem;
  }
  .u-mr-pc-90 {
    margin-right: 9rem;
  }
  .u-ml-pc-90 {
    margin-left: 9rem;
  }
}
@media all and (min-width: 64.0625em) {
  .u-mt-pc-95 {
    margin-top: 9.5rem;
  }
  .u-mb-pc-95 {
    margin-bottom: 9.5rem;
  }
  .u-mr-pc-95 {
    margin-right: 9.5rem;
  }
  .u-ml-pc-95 {
    margin-left: 9.5rem;
  }
}
@media print {
  .u-mt-pc-95 {
    margin-top: 9.5rem;
  }
  .u-mb-pc-95 {
    margin-bottom: 9.5rem;
  }
  .u-mr-pc-95 {
    margin-right: 9.5rem;
  }
  .u-ml-pc-95 {
    margin-left: 9.5rem;
  }
}
@media all and (min-width: 64.0625em) {
  .u-mt-pc-100 {
    margin-top: 10rem;
  }
  .u-mb-pc-100 {
    margin-bottom: 10rem;
  }
  .u-mr-pc-100 {
    margin-right: 10rem;
  }
  .u-ml-pc-100 {
    margin-left: 10rem;
  }
}
@media print {
  .u-mt-pc-100 {
    margin-top: 10rem;
  }
  .u-mb-pc-100 {
    margin-bottom: 10rem;
  }
  .u-mr-pc-100 {
    margin-right: 10rem;
  }
  .u-ml-pc-100 {
    margin-left: 10rem;
  }
}
@media all and (min-width: 64.0625em) {
  .u-mt-pc-105 {
    margin-top: 10.5rem;
  }
  .u-mb-pc-105 {
    margin-bottom: 10.5rem;
  }
  .u-mr-pc-105 {
    margin-right: 10.5rem;
  }
  .u-ml-pc-105 {
    margin-left: 10.5rem;
  }
}
@media print {
  .u-mt-pc-105 {
    margin-top: 10.5rem;
  }
  .u-mb-pc-105 {
    margin-bottom: 10.5rem;
  }
  .u-mr-pc-105 {
    margin-right: 10.5rem;
  }
  .u-ml-pc-105 {
    margin-left: 10.5rem;
  }
}
@media all and (min-width: 64.0625em) {
  .u-mt-pc-110 {
    margin-top: 11rem;
  }
  .u-mb-pc-110 {
    margin-bottom: 11rem;
  }
  .u-mr-pc-110 {
    margin-right: 11rem;
  }
  .u-ml-pc-110 {
    margin-left: 11rem;
  }
}
@media print {
  .u-mt-pc-110 {
    margin-top: 11rem;
  }
  .u-mb-pc-110 {
    margin-bottom: 11rem;
  }
  .u-mr-pc-110 {
    margin-right: 11rem;
  }
  .u-ml-pc-110 {
    margin-left: 11rem;
  }
}
@media all and (min-width: 64.0625em) {
  .u-mt-pc-115 {
    margin-top: 11.5rem;
  }
  .u-mb-pc-115 {
    margin-bottom: 11.5rem;
  }
  .u-mr-pc-115 {
    margin-right: 11.5rem;
  }
  .u-ml-pc-115 {
    margin-left: 11.5rem;
  }
}
@media print {
  .u-mt-pc-115 {
    margin-top: 11.5rem;
  }
  .u-mb-pc-115 {
    margin-bottom: 11.5rem;
  }
  .u-mr-pc-115 {
    margin-right: 11.5rem;
  }
  .u-ml-pc-115 {
    margin-left: 11.5rem;
  }
}
@media all and (min-width: 64.0625em) {
  .u-mt-pc-120 {
    margin-top: 12rem;
  }
  .u-mb-pc-120 {
    margin-bottom: 12rem;
  }
  .u-mr-pc-120 {
    margin-right: 12rem;
  }
  .u-ml-pc-120 {
    margin-left: 12rem;
  }
}
@media print {
  .u-mt-pc-120 {
    margin-top: 12rem;
  }
  .u-mb-pc-120 {
    margin-bottom: 12rem;
  }
  .u-mr-pc-120 {
    margin-right: 12rem;
  }
  .u-ml-pc-120 {
    margin-left: 12rem;
  }
}
@media all and (min-width: 64.0625em) {
  .u-mt-pc-125 {
    margin-top: 12.5rem;
  }
  .u-mb-pc-125 {
    margin-bottom: 12.5rem;
  }
  .u-mr-pc-125 {
    margin-right: 12.5rem;
  }
  .u-ml-pc-125 {
    margin-left: 12.5rem;
  }
}
@media print {
  .u-mt-pc-125 {
    margin-top: 12.5rem;
  }
  .u-mb-pc-125 {
    margin-bottom: 12.5rem;
  }
  .u-mr-pc-125 {
    margin-right: 12.5rem;
  }
  .u-ml-pc-125 {
    margin-left: 12.5rem;
  }
}
@media all and (min-width: 64.0625em) {
  .u-mt-pc-130 {
    margin-top: 13rem;
  }
  .u-mb-pc-130 {
    margin-bottom: 13rem;
  }
  .u-mr-pc-130 {
    margin-right: 13rem;
  }
  .u-ml-pc-130 {
    margin-left: 13rem;
  }
}
@media print {
  .u-mt-pc-130 {
    margin-top: 13rem;
  }
  .u-mb-pc-130 {
    margin-bottom: 13rem;
  }
  .u-mr-pc-130 {
    margin-right: 13rem;
  }
  .u-ml-pc-130 {
    margin-left: 13rem;
  }
}
@media all and (min-width: 64.0625em) {
  .u-mt-pc-135 {
    margin-top: 13.5rem;
  }
  .u-mb-pc-135 {
    margin-bottom: 13.5rem;
  }
  .u-mr-pc-135 {
    margin-right: 13.5rem;
  }
  .u-ml-pc-135 {
    margin-left: 13.5rem;
  }
}
@media print {
  .u-mt-pc-135 {
    margin-top: 13.5rem;
  }
  .u-mb-pc-135 {
    margin-bottom: 13.5rem;
  }
  .u-mr-pc-135 {
    margin-right: 13.5rem;
  }
  .u-ml-pc-135 {
    margin-left: 13.5rem;
  }
}
@media all and (min-width: 64.0625em) {
  .u-mt-pc-140 {
    margin-top: 14rem;
  }
  .u-mb-pc-140 {
    margin-bottom: 14rem;
  }
  .u-mr-pc-140 {
    margin-right: 14rem;
  }
  .u-ml-pc-140 {
    margin-left: 14rem;
  }
}
@media print {
  .u-mt-pc-140 {
    margin-top: 14rem;
  }
  .u-mb-pc-140 {
    margin-bottom: 14rem;
  }
  .u-mr-pc-140 {
    margin-right: 14rem;
  }
  .u-ml-pc-140 {
    margin-left: 14rem;
  }
}
@media all and (min-width: 64.0625em) {
  .u-mt-pc-145 {
    margin-top: 14.5rem;
  }
  .u-mb-pc-145 {
    margin-bottom: 14.5rem;
  }
  .u-mr-pc-145 {
    margin-right: 14.5rem;
  }
  .u-ml-pc-145 {
    margin-left: 14.5rem;
  }
}
@media print {
  .u-mt-pc-145 {
    margin-top: 14.5rem;
  }
  .u-mb-pc-145 {
    margin-bottom: 14.5rem;
  }
  .u-mr-pc-145 {
    margin-right: 14.5rem;
  }
  .u-ml-pc-145 {
    margin-left: 14.5rem;
  }
}
@media all and (min-width: 64.0625em) {
  .u-mt-pc-150 {
    margin-top: 15rem;
  }
  .u-mb-pc-150 {
    margin-bottom: 15rem;
  }
  .u-mr-pc-150 {
    margin-right: 15rem;
  }
  .u-ml-pc-150 {
    margin-left: 15rem;
  }
}
@media print {
  .u-mt-pc-150 {
    margin-top: 15rem;
  }
  .u-mb-pc-150 {
    margin-bottom: 15rem;
  }
  .u-mr-pc-150 {
    margin-right: 15rem;
  }
  .u-ml-pc-150 {
    margin-left: 15rem;
  }
}
@media all and (min-width: 64.0625em) {
  .u-mt-pc-155 {
    margin-top: 15.5rem;
  }
  .u-mb-pc-155 {
    margin-bottom: 15.5rem;
  }
  .u-mr-pc-155 {
    margin-right: 15.5rem;
  }
  .u-ml-pc-155 {
    margin-left: 15.5rem;
  }
}
@media print {
  .u-mt-pc-155 {
    margin-top: 15.5rem;
  }
  .u-mb-pc-155 {
    margin-bottom: 15.5rem;
  }
  .u-mr-pc-155 {
    margin-right: 15.5rem;
  }
  .u-ml-pc-155 {
    margin-left: 15.5rem;
  }
}
@media all and (min-width: 64.0625em) {
  .u-mt-pc-160 {
    margin-top: 16rem;
  }
  .u-mb-pc-160 {
    margin-bottom: 16rem;
  }
  .u-mr-pc-160 {
    margin-right: 16rem;
  }
  .u-ml-pc-160 {
    margin-left: 16rem;
  }
}
@media print {
  .u-mt-pc-160 {
    margin-top: 16rem;
  }
  .u-mb-pc-160 {
    margin-bottom: 16rem;
  }
  .u-mr-pc-160 {
    margin-right: 16rem;
  }
  .u-ml-pc-160 {
    margin-left: 16rem;
  }
}
@media all and (min-width: 64.0625em) {
  .u-mt-pc-165 {
    margin-top: 16.5rem;
  }
  .u-mb-pc-165 {
    margin-bottom: 16.5rem;
  }
  .u-mr-pc-165 {
    margin-right: 16.5rem;
  }
  .u-ml-pc-165 {
    margin-left: 16.5rem;
  }
}
@media print {
  .u-mt-pc-165 {
    margin-top: 16.5rem;
  }
  .u-mb-pc-165 {
    margin-bottom: 16.5rem;
  }
  .u-mr-pc-165 {
    margin-right: 16.5rem;
  }
  .u-ml-pc-165 {
    margin-left: 16.5rem;
  }
}
@media all and (min-width: 64.0625em) {
  .u-mt-pc-170 {
    margin-top: 17rem;
  }
  .u-mb-pc-170 {
    margin-bottom: 17rem;
  }
  .u-mr-pc-170 {
    margin-right: 17rem;
  }
  .u-ml-pc-170 {
    margin-left: 17rem;
  }
}
@media print {
  .u-mt-pc-170 {
    margin-top: 17rem;
  }
  .u-mb-pc-170 {
    margin-bottom: 17rem;
  }
  .u-mr-pc-170 {
    margin-right: 17rem;
  }
  .u-ml-pc-170 {
    margin-left: 17rem;
  }
}
@media all and (min-width: 64.0625em) {
  .u-mt-pc-175 {
    margin-top: 17.5rem;
  }
  .u-mb-pc-175 {
    margin-bottom: 17.5rem;
  }
  .u-mr-pc-175 {
    margin-right: 17.5rem;
  }
  .u-ml-pc-175 {
    margin-left: 17.5rem;
  }
}
@media print {
  .u-mt-pc-175 {
    margin-top: 17.5rem;
  }
  .u-mb-pc-175 {
    margin-bottom: 17.5rem;
  }
  .u-mr-pc-175 {
    margin-right: 17.5rem;
  }
  .u-ml-pc-175 {
    margin-left: 17.5rem;
  }
}
@media all and (min-width: 64.0625em) {
  .u-mt-pc-180 {
    margin-top: 18rem;
  }
  .u-mb-pc-180 {
    margin-bottom: 18rem;
  }
  .u-mr-pc-180 {
    margin-right: 18rem;
  }
  .u-ml-pc-180 {
    margin-left: 18rem;
  }
}
@media print {
  .u-mt-pc-180 {
    margin-top: 18rem;
  }
  .u-mb-pc-180 {
    margin-bottom: 18rem;
  }
  .u-mr-pc-180 {
    margin-right: 18rem;
  }
  .u-ml-pc-180 {
    margin-left: 18rem;
  }
}
@media all and (min-width: 64.0625em) {
  .u-mt-pc-185 {
    margin-top: 18.5rem;
  }
  .u-mb-pc-185 {
    margin-bottom: 18.5rem;
  }
  .u-mr-pc-185 {
    margin-right: 18.5rem;
  }
  .u-ml-pc-185 {
    margin-left: 18.5rem;
  }
}
@media print {
  .u-mt-pc-185 {
    margin-top: 18.5rem;
  }
  .u-mb-pc-185 {
    margin-bottom: 18.5rem;
  }
  .u-mr-pc-185 {
    margin-right: 18.5rem;
  }
  .u-ml-pc-185 {
    margin-left: 18.5rem;
  }
}
@media all and (min-width: 64.0625em) {
  .u-mt-pc-190 {
    margin-top: 19rem;
  }
  .u-mb-pc-190 {
    margin-bottom: 19rem;
  }
  .u-mr-pc-190 {
    margin-right: 19rem;
  }
  .u-ml-pc-190 {
    margin-left: 19rem;
  }
}
@media print {
  .u-mt-pc-190 {
    margin-top: 19rem;
  }
  .u-mb-pc-190 {
    margin-bottom: 19rem;
  }
  .u-mr-pc-190 {
    margin-right: 19rem;
  }
  .u-ml-pc-190 {
    margin-left: 19rem;
  }
}
@media all and (min-width: 64.0625em) {
  .u-mt-pc-195 {
    margin-top: 19.5rem;
  }
  .u-mb-pc-195 {
    margin-bottom: 19.5rem;
  }
  .u-mr-pc-195 {
    margin-right: 19.5rem;
  }
  .u-ml-pc-195 {
    margin-left: 19.5rem;
  }
}
@media print {
  .u-mt-pc-195 {
    margin-top: 19.5rem;
  }
  .u-mb-pc-195 {
    margin-bottom: 19.5rem;
  }
  .u-mr-pc-195 {
    margin-right: 19.5rem;
  }
  .u-ml-pc-195 {
    margin-left: 19.5rem;
  }
}
@media all and (min-width: 64.0625em) {
  .u-mt-pc-200 {
    margin-top: 20rem;
  }
  .u-mb-pc-200 {
    margin-bottom: 20rem;
  }
  .u-mr-pc-200 {
    margin-right: 20rem;
  }
  .u-ml-pc-200 {
    margin-left: 20rem;
  }
}
@media print {
  .u-mt-pc-200 {
    margin-top: 20rem;
  }
  .u-mb-pc-200 {
    margin-bottom: 20rem;
  }
  .u-mr-pc-200 {
    margin-right: 20rem;
  }
  .u-ml-pc-200 {
    margin-left: 20rem;
  }
}
@media only screen and (min-width: 48em) and (max-width: 64em) {
  .u-mt-tb-0 {
    margin-top: 0rem;
  }
  .u-mb-tb-0 {
    margin-bottom: 0rem;
  }
  .u-mr-tb-0 {
    margin-right: 0rem;
  }
  .u-ml-tb-0 {
    margin-left: 0rem;
  }
}
@media only screen and (min-width: 48em) and (max-width: 64em) {
  .u-mt-tb-5 {
    margin-top: 0.5rem;
  }
  .u-mb-tb-5 {
    margin-bottom: 0.5rem;
  }
  .u-mr-tb-5 {
    margin-right: 0.5rem;
  }
  .u-ml-tb-5 {
    margin-left: 0.5rem;
  }
}
@media only screen and (min-width: 48em) and (max-width: 64em) {
  .u-mt-tb-10 {
    margin-top: 1rem;
  }
  .u-mb-tb-10 {
    margin-bottom: 1rem;
  }
  .u-mr-tb-10 {
    margin-right: 1rem;
  }
  .u-ml-tb-10 {
    margin-left: 1rem;
  }
}
@media only screen and (min-width: 48em) and (max-width: 64em) {
  .u-mt-tb-15 {
    margin-top: 1.5rem;
  }
  .u-mb-tb-15 {
    margin-bottom: 1.5rem;
  }
  .u-mr-tb-15 {
    margin-right: 1.5rem;
  }
  .u-ml-tb-15 {
    margin-left: 1.5rem;
  }
}
@media only screen and (min-width: 48em) and (max-width: 64em) {
  .u-mt-tb-20 {
    margin-top: 2rem;
  }
  .u-mb-tb-20 {
    margin-bottom: 2rem;
  }
  .u-mr-tb-20 {
    margin-right: 2rem;
  }
  .u-ml-tb-20 {
    margin-left: 2rem;
  }
}
@media only screen and (min-width: 48em) and (max-width: 64em) {
  .u-mt-tb-25 {
    margin-top: 2.5rem;
  }
  .u-mb-tb-25 {
    margin-bottom: 2.5rem;
  }
  .u-mr-tb-25 {
    margin-right: 2.5rem;
  }
  .u-ml-tb-25 {
    margin-left: 2.5rem;
  }
}
@media only screen and (min-width: 48em) and (max-width: 64em) {
  .u-mt-tb-30 {
    margin-top: 3rem;
  }
  .u-mb-tb-30 {
    margin-bottom: 3rem;
  }
  .u-mr-tb-30 {
    margin-right: 3rem;
  }
  .u-ml-tb-30 {
    margin-left: 3rem;
  }
}
@media only screen and (min-width: 48em) and (max-width: 64em) {
  .u-mt-tb-35 {
    margin-top: 3.5rem;
  }
  .u-mb-tb-35 {
    margin-bottom: 3.5rem;
  }
  .u-mr-tb-35 {
    margin-right: 3.5rem;
  }
  .u-ml-tb-35 {
    margin-left: 3.5rem;
  }
}
@media only screen and (min-width: 48em) and (max-width: 64em) {
  .u-mt-tb-40 {
    margin-top: 4rem;
  }
  .u-mb-tb-40 {
    margin-bottom: 4rem;
  }
  .u-mr-tb-40 {
    margin-right: 4rem;
  }
  .u-ml-tb-40 {
    margin-left: 4rem;
  }
}
@media only screen and (min-width: 48em) and (max-width: 64em) {
  .u-mt-tb-45 {
    margin-top: 4.5rem;
  }
  .u-mb-tb-45 {
    margin-bottom: 4.5rem;
  }
  .u-mr-tb-45 {
    margin-right: 4.5rem;
  }
  .u-ml-tb-45 {
    margin-left: 4.5rem;
  }
}
@media only screen and (min-width: 48em) and (max-width: 64em) {
  .u-mt-tb-50 {
    margin-top: 5rem;
  }
  .u-mb-tb-50 {
    margin-bottom: 5rem;
  }
  .u-mr-tb-50 {
    margin-right: 5rem;
  }
  .u-ml-tb-50 {
    margin-left: 5rem;
  }
}
@media only screen and (min-width: 48em) and (max-width: 64em) {
  .u-mt-tb-55 {
    margin-top: 5.5rem;
  }
  .u-mb-tb-55 {
    margin-bottom: 5.5rem;
  }
  .u-mr-tb-55 {
    margin-right: 5.5rem;
  }
  .u-ml-tb-55 {
    margin-left: 5.5rem;
  }
}
@media only screen and (min-width: 48em) and (max-width: 64em) {
  .u-mt-tb-60 {
    margin-top: 6rem;
  }
  .u-mb-tb-60 {
    margin-bottom: 6rem;
  }
  .u-mr-tb-60 {
    margin-right: 6rem;
  }
  .u-ml-tb-60 {
    margin-left: 6rem;
  }
}
@media only screen and (min-width: 48em) and (max-width: 64em) {
  .u-mt-tb-65 {
    margin-top: 6.5rem;
  }
  .u-mb-tb-65 {
    margin-bottom: 6.5rem;
  }
  .u-mr-tb-65 {
    margin-right: 6.5rem;
  }
  .u-ml-tb-65 {
    margin-left: 6.5rem;
  }
}
@media only screen and (min-width: 48em) and (max-width: 64em) {
  .u-mt-tb-70 {
    margin-top: 7rem;
  }
  .u-mb-tb-70 {
    margin-bottom: 7rem;
  }
  .u-mr-tb-70 {
    margin-right: 7rem;
  }
  .u-ml-tb-70 {
    margin-left: 7rem;
  }
}
@media only screen and (min-width: 48em) and (max-width: 64em) {
  .u-mt-tb-75 {
    margin-top: 7.5rem;
  }
  .u-mb-tb-75 {
    margin-bottom: 7.5rem;
  }
  .u-mr-tb-75 {
    margin-right: 7.5rem;
  }
  .u-ml-tb-75 {
    margin-left: 7.5rem;
  }
}
@media only screen and (min-width: 48em) and (max-width: 64em) {
  .u-mt-tb-80 {
    margin-top: 8rem;
  }
  .u-mb-tb-80 {
    margin-bottom: 8rem;
  }
  .u-mr-tb-80 {
    margin-right: 8rem;
  }
  .u-ml-tb-80 {
    margin-left: 8rem;
  }
}
@media only screen and (min-width: 48em) and (max-width: 64em) {
  .u-mt-tb-85 {
    margin-top: 8.5rem;
  }
  .u-mb-tb-85 {
    margin-bottom: 8.5rem;
  }
  .u-mr-tb-85 {
    margin-right: 8.5rem;
  }
  .u-ml-tb-85 {
    margin-left: 8.5rem;
  }
}
@media only screen and (min-width: 48em) and (max-width: 64em) {
  .u-mt-tb-90 {
    margin-top: 9rem;
  }
  .u-mb-tb-90 {
    margin-bottom: 9rem;
  }
  .u-mr-tb-90 {
    margin-right: 9rem;
  }
  .u-ml-tb-90 {
    margin-left: 9rem;
  }
}
@media only screen and (min-width: 48em) and (max-width: 64em) {
  .u-mt-tb-95 {
    margin-top: 9.5rem;
  }
  .u-mb-tb-95 {
    margin-bottom: 9.5rem;
  }
  .u-mr-tb-95 {
    margin-right: 9.5rem;
  }
  .u-ml-tb-95 {
    margin-left: 9.5rem;
  }
}
@media only screen and (min-width: 48em) and (max-width: 64em) {
  .u-mt-tb-100 {
    margin-top: 10rem;
  }
  .u-mb-tb-100 {
    margin-bottom: 10rem;
  }
  .u-mr-tb-100 {
    margin-right: 10rem;
  }
  .u-ml-tb-100 {
    margin-left: 10rem;
  }
}
@media only screen and (min-width: 48em) and (max-width: 64em) {
  .u-mt-tb-105 {
    margin-top: 10.5rem;
  }
  .u-mb-tb-105 {
    margin-bottom: 10.5rem;
  }
  .u-mr-tb-105 {
    margin-right: 10.5rem;
  }
  .u-ml-tb-105 {
    margin-left: 10.5rem;
  }
}
@media only screen and (min-width: 48em) and (max-width: 64em) {
  .u-mt-tb-110 {
    margin-top: 11rem;
  }
  .u-mb-tb-110 {
    margin-bottom: 11rem;
  }
  .u-mr-tb-110 {
    margin-right: 11rem;
  }
  .u-ml-tb-110 {
    margin-left: 11rem;
  }
}
@media only screen and (min-width: 48em) and (max-width: 64em) {
  .u-mt-tb-115 {
    margin-top: 11.5rem;
  }
  .u-mb-tb-115 {
    margin-bottom: 11.5rem;
  }
  .u-mr-tb-115 {
    margin-right: 11.5rem;
  }
  .u-ml-tb-115 {
    margin-left: 11.5rem;
  }
}
@media only screen and (min-width: 48em) and (max-width: 64em) {
  .u-mt-tb-120 {
    margin-top: 12rem;
  }
  .u-mb-tb-120 {
    margin-bottom: 12rem;
  }
  .u-mr-tb-120 {
    margin-right: 12rem;
  }
  .u-ml-tb-120 {
    margin-left: 12rem;
  }
}
@media only screen and (min-width: 48em) and (max-width: 64em) {
  .u-mt-tb-125 {
    margin-top: 12.5rem;
  }
  .u-mb-tb-125 {
    margin-bottom: 12.5rem;
  }
  .u-mr-tb-125 {
    margin-right: 12.5rem;
  }
  .u-ml-tb-125 {
    margin-left: 12.5rem;
  }
}
@media only screen and (min-width: 48em) and (max-width: 64em) {
  .u-mt-tb-130 {
    margin-top: 13rem;
  }
  .u-mb-tb-130 {
    margin-bottom: 13rem;
  }
  .u-mr-tb-130 {
    margin-right: 13rem;
  }
  .u-ml-tb-130 {
    margin-left: 13rem;
  }
}
@media only screen and (min-width: 48em) and (max-width: 64em) {
  .u-mt-tb-135 {
    margin-top: 13.5rem;
  }
  .u-mb-tb-135 {
    margin-bottom: 13.5rem;
  }
  .u-mr-tb-135 {
    margin-right: 13.5rem;
  }
  .u-ml-tb-135 {
    margin-left: 13.5rem;
  }
}
@media only screen and (min-width: 48em) and (max-width: 64em) {
  .u-mt-tb-140 {
    margin-top: 14rem;
  }
  .u-mb-tb-140 {
    margin-bottom: 14rem;
  }
  .u-mr-tb-140 {
    margin-right: 14rem;
  }
  .u-ml-tb-140 {
    margin-left: 14rem;
  }
}
@media only screen and (min-width: 48em) and (max-width: 64em) {
  .u-mt-tb-145 {
    margin-top: 14.5rem;
  }
  .u-mb-tb-145 {
    margin-bottom: 14.5rem;
  }
  .u-mr-tb-145 {
    margin-right: 14.5rem;
  }
  .u-ml-tb-145 {
    margin-left: 14.5rem;
  }
}
@media only screen and (min-width: 48em) and (max-width: 64em) {
  .u-mt-tb-150 {
    margin-top: 15rem;
  }
  .u-mb-tb-150 {
    margin-bottom: 15rem;
  }
  .u-mr-tb-150 {
    margin-right: 15rem;
  }
  .u-ml-tb-150 {
    margin-left: 15rem;
  }
}
@media only screen and (min-width: 48em) and (max-width: 64em) {
  .u-mt-tb-155 {
    margin-top: 15.5rem;
  }
  .u-mb-tb-155 {
    margin-bottom: 15.5rem;
  }
  .u-mr-tb-155 {
    margin-right: 15.5rem;
  }
  .u-ml-tb-155 {
    margin-left: 15.5rem;
  }
}
@media only screen and (min-width: 48em) and (max-width: 64em) {
  .u-mt-tb-160 {
    margin-top: 16rem;
  }
  .u-mb-tb-160 {
    margin-bottom: 16rem;
  }
  .u-mr-tb-160 {
    margin-right: 16rem;
  }
  .u-ml-tb-160 {
    margin-left: 16rem;
  }
}
@media only screen and (min-width: 48em) and (max-width: 64em) {
  .u-mt-tb-165 {
    margin-top: 16.5rem;
  }
  .u-mb-tb-165 {
    margin-bottom: 16.5rem;
  }
  .u-mr-tb-165 {
    margin-right: 16.5rem;
  }
  .u-ml-tb-165 {
    margin-left: 16.5rem;
  }
}
@media only screen and (min-width: 48em) and (max-width: 64em) {
  .u-mt-tb-170 {
    margin-top: 17rem;
  }
  .u-mb-tb-170 {
    margin-bottom: 17rem;
  }
  .u-mr-tb-170 {
    margin-right: 17rem;
  }
  .u-ml-tb-170 {
    margin-left: 17rem;
  }
}
@media only screen and (min-width: 48em) and (max-width: 64em) {
  .u-mt-tb-175 {
    margin-top: 17.5rem;
  }
  .u-mb-tb-175 {
    margin-bottom: 17.5rem;
  }
  .u-mr-tb-175 {
    margin-right: 17.5rem;
  }
  .u-ml-tb-175 {
    margin-left: 17.5rem;
  }
}
@media only screen and (min-width: 48em) and (max-width: 64em) {
  .u-mt-tb-180 {
    margin-top: 18rem;
  }
  .u-mb-tb-180 {
    margin-bottom: 18rem;
  }
  .u-mr-tb-180 {
    margin-right: 18rem;
  }
  .u-ml-tb-180 {
    margin-left: 18rem;
  }
}
@media only screen and (min-width: 48em) and (max-width: 64em) {
  .u-mt-tb-185 {
    margin-top: 18.5rem;
  }
  .u-mb-tb-185 {
    margin-bottom: 18.5rem;
  }
  .u-mr-tb-185 {
    margin-right: 18.5rem;
  }
  .u-ml-tb-185 {
    margin-left: 18.5rem;
  }
}
@media only screen and (min-width: 48em) and (max-width: 64em) {
  .u-mt-tb-190 {
    margin-top: 19rem;
  }
  .u-mb-tb-190 {
    margin-bottom: 19rem;
  }
  .u-mr-tb-190 {
    margin-right: 19rem;
  }
  .u-ml-tb-190 {
    margin-left: 19rem;
  }
}
@media only screen and (min-width: 48em) and (max-width: 64em) {
  .u-mt-tb-195 {
    margin-top: 19.5rem;
  }
  .u-mb-tb-195 {
    margin-bottom: 19.5rem;
  }
  .u-mr-tb-195 {
    margin-right: 19.5rem;
  }
  .u-ml-tb-195 {
    margin-left: 19.5rem;
  }
}
@media only screen and (min-width: 48em) and (max-width: 64em) {
  .u-mt-tb-200 {
    margin-top: 20rem;
  }
  .u-mb-tb-200 {
    margin-bottom: 20rem;
  }
  .u-mr-tb-200 {
    margin-right: 20rem;
  }
  .u-ml-tb-200 {
    margin-left: 20rem;
  }
}
@media only screen and (max-width: 47.9375em) {
  .u-mt-sp-0 {
    margin-top: 0vw;
  }
  .u-mb-sp-0 {
    margin-bottom: 0vw;
  }
  .u-mr-sp-0 {
    margin-right: 0vw;
  }
  .u-ml-sp-0 {
    margin-left: 0vw;
  }
}
@media only screen and (max-width: 47.9375em) {
  .u-mt-sp-5 {
    margin-top: 1.3333333333vw;
  }
  .u-mb-sp-5 {
    margin-bottom: 1.3333333333vw;
  }
  .u-mr-sp-5 {
    margin-right: 1.3333333333vw;
  }
  .u-ml-sp-5 {
    margin-left: 1.3333333333vw;
  }
}
@media only screen and (max-width: 47.9375em) {
  .u-mt-sp-10 {
    margin-top: 2.6666666667vw;
  }
  .u-mb-sp-10 {
    margin-bottom: 2.6666666667vw;
  }
  .u-mr-sp-10 {
    margin-right: 2.6666666667vw;
  }
  .u-ml-sp-10 {
    margin-left: 2.6666666667vw;
  }
}
@media only screen and (max-width: 47.9375em) {
  .u-mt-sp-15 {
    margin-top: 4vw;
  }
  .u-mb-sp-15 {
    margin-bottom: 4vw;
  }
  .u-mr-sp-15 {
    margin-right: 4vw;
  }
  .u-ml-sp-15 {
    margin-left: 4vw;
  }
}
@media only screen and (max-width: 47.9375em) {
  .u-mt-sp-20 {
    margin-top: 5.3333333333vw;
  }
  .u-mb-sp-20 {
    margin-bottom: 5.3333333333vw;
  }
  .u-mr-sp-20 {
    margin-right: 5.3333333333vw;
  }
  .u-ml-sp-20 {
    margin-left: 5.3333333333vw;
  }
}
@media only screen and (max-width: 47.9375em) {
  .u-mt-sp-25 {
    margin-top: 6.6666666667vw;
  }
  .u-mb-sp-25 {
    margin-bottom: 6.6666666667vw;
  }
  .u-mr-sp-25 {
    margin-right: 6.6666666667vw;
  }
  .u-ml-sp-25 {
    margin-left: 6.6666666667vw;
  }
}
@media only screen and (max-width: 47.9375em) {
  .u-mt-sp-30 {
    margin-top: 8vw;
  }
  .u-mb-sp-30 {
    margin-bottom: 8vw;
  }
  .u-mr-sp-30 {
    margin-right: 8vw;
  }
  .u-ml-sp-30 {
    margin-left: 8vw;
  }
}
@media only screen and (max-width: 47.9375em) {
  .u-mt-sp-35 {
    margin-top: 9.3333333333vw;
  }
  .u-mb-sp-35 {
    margin-bottom: 9.3333333333vw;
  }
  .u-mr-sp-35 {
    margin-right: 9.3333333333vw;
  }
  .u-ml-sp-35 {
    margin-left: 9.3333333333vw;
  }
}
@media only screen and (max-width: 47.9375em) {
  .u-mt-sp-40 {
    margin-top: 10.6666666667vw;
  }
  .u-mb-sp-40 {
    margin-bottom: 10.6666666667vw;
  }
  .u-mr-sp-40 {
    margin-right: 10.6666666667vw;
  }
  .u-ml-sp-40 {
    margin-left: 10.6666666667vw;
  }
}
@media only screen and (max-width: 47.9375em) {
  .u-mt-sp-45 {
    margin-top: 12vw;
  }
  .u-mb-sp-45 {
    margin-bottom: 12vw;
  }
  .u-mr-sp-45 {
    margin-right: 12vw;
  }
  .u-ml-sp-45 {
    margin-left: 12vw;
  }
}
@media only screen and (max-width: 47.9375em) {
  .u-mt-sp-50 {
    margin-top: 13.3333333333vw;
  }
  .u-mb-sp-50 {
    margin-bottom: 13.3333333333vw;
  }
  .u-mr-sp-50 {
    margin-right: 13.3333333333vw;
  }
  .u-ml-sp-50 {
    margin-left: 13.3333333333vw;
  }
}
@media only screen and (max-width: 47.9375em) {
  .u-mt-sp-55 {
    margin-top: 14.6666666667vw;
  }
  .u-mb-sp-55 {
    margin-bottom: 14.6666666667vw;
  }
  .u-mr-sp-55 {
    margin-right: 14.6666666667vw;
  }
  .u-ml-sp-55 {
    margin-left: 14.6666666667vw;
  }
}
@media only screen and (max-width: 47.9375em) {
  .u-mt-sp-60 {
    margin-top: 16vw;
  }
  .u-mb-sp-60 {
    margin-bottom: 16vw;
  }
  .u-mr-sp-60 {
    margin-right: 16vw;
  }
  .u-ml-sp-60 {
    margin-left: 16vw;
  }
}
@media only screen and (max-width: 47.9375em) {
  .u-mt-sp-65 {
    margin-top: 17.3333333333vw;
  }
  .u-mb-sp-65 {
    margin-bottom: 17.3333333333vw;
  }
  .u-mr-sp-65 {
    margin-right: 17.3333333333vw;
  }
  .u-ml-sp-65 {
    margin-left: 17.3333333333vw;
  }
}
@media only screen and (max-width: 47.9375em) {
  .u-mt-sp-70 {
    margin-top: 18.6666666667vw;
  }
  .u-mb-sp-70 {
    margin-bottom: 18.6666666667vw;
  }
  .u-mr-sp-70 {
    margin-right: 18.6666666667vw;
  }
  .u-ml-sp-70 {
    margin-left: 18.6666666667vw;
  }
}
@media only screen and (max-width: 47.9375em) {
  .u-mt-sp-75 {
    margin-top: 20vw;
  }
  .u-mb-sp-75 {
    margin-bottom: 20vw;
  }
  .u-mr-sp-75 {
    margin-right: 20vw;
  }
  .u-ml-sp-75 {
    margin-left: 20vw;
  }
}
@media only screen and (max-width: 47.9375em) {
  .u-mt-sp-80 {
    margin-top: 21.3333333333vw;
  }
  .u-mb-sp-80 {
    margin-bottom: 21.3333333333vw;
  }
  .u-mr-sp-80 {
    margin-right: 21.3333333333vw;
  }
  .u-ml-sp-80 {
    margin-left: 21.3333333333vw;
  }
}
@media only screen and (max-width: 47.9375em) {
  .u-mt-sp-85 {
    margin-top: 22.6666666667vw;
  }
  .u-mb-sp-85 {
    margin-bottom: 22.6666666667vw;
  }
  .u-mr-sp-85 {
    margin-right: 22.6666666667vw;
  }
  .u-ml-sp-85 {
    margin-left: 22.6666666667vw;
  }
}
@media only screen and (max-width: 47.9375em) {
  .u-mt-sp-90 {
    margin-top: 24vw;
  }
  .u-mb-sp-90 {
    margin-bottom: 24vw;
  }
  .u-mr-sp-90 {
    margin-right: 24vw;
  }
  .u-ml-sp-90 {
    margin-left: 24vw;
  }
}
@media only screen and (max-width: 47.9375em) {
  .u-mt-sp-95 {
    margin-top: 25.3333333333vw;
  }
  .u-mb-sp-95 {
    margin-bottom: 25.3333333333vw;
  }
  .u-mr-sp-95 {
    margin-right: 25.3333333333vw;
  }
  .u-ml-sp-95 {
    margin-left: 25.3333333333vw;
  }
}
@media only screen and (max-width: 47.9375em) {
  .u-mt-sp-100 {
    margin-top: 26.6666666667vw;
  }
  .u-mb-sp-100 {
    margin-bottom: 26.6666666667vw;
  }
  .u-mr-sp-100 {
    margin-right: 26.6666666667vw;
  }
  .u-ml-sp-100 {
    margin-left: 26.6666666667vw;
  }
}
@media only screen and (max-width: 47.9375em) {
  .u-mt-sp-105 {
    margin-top: 28vw;
  }
  .u-mb-sp-105 {
    margin-bottom: 28vw;
  }
  .u-mr-sp-105 {
    margin-right: 28vw;
  }
  .u-ml-sp-105 {
    margin-left: 28vw;
  }
}
@media only screen and (max-width: 47.9375em) {
  .u-mt-sp-110 {
    margin-top: 29.3333333333vw;
  }
  .u-mb-sp-110 {
    margin-bottom: 29.3333333333vw;
  }
  .u-mr-sp-110 {
    margin-right: 29.3333333333vw;
  }
  .u-ml-sp-110 {
    margin-left: 29.3333333333vw;
  }
}
@media only screen and (max-width: 47.9375em) {
  .u-mt-sp-115 {
    margin-top: 30.6666666667vw;
  }
  .u-mb-sp-115 {
    margin-bottom: 30.6666666667vw;
  }
  .u-mr-sp-115 {
    margin-right: 30.6666666667vw;
  }
  .u-ml-sp-115 {
    margin-left: 30.6666666667vw;
  }
}
@media only screen and (max-width: 47.9375em) {
  .u-mt-sp-120 {
    margin-top: 32vw;
  }
  .u-mb-sp-120 {
    margin-bottom: 32vw;
  }
  .u-mr-sp-120 {
    margin-right: 32vw;
  }
  .u-ml-sp-120 {
    margin-left: 32vw;
  }
}
@media only screen and (max-width: 47.9375em) {
  .u-mt-sp-125 {
    margin-top: 33.3333333333vw;
  }
  .u-mb-sp-125 {
    margin-bottom: 33.3333333333vw;
  }
  .u-mr-sp-125 {
    margin-right: 33.3333333333vw;
  }
  .u-ml-sp-125 {
    margin-left: 33.3333333333vw;
  }
}
@media only screen and (max-width: 47.9375em) {
  .u-mt-sp-130 {
    margin-top: 34.6666666667vw;
  }
  .u-mb-sp-130 {
    margin-bottom: 34.6666666667vw;
  }
  .u-mr-sp-130 {
    margin-right: 34.6666666667vw;
  }
  .u-ml-sp-130 {
    margin-left: 34.6666666667vw;
  }
}
@media only screen and (max-width: 47.9375em) {
  .u-mt-sp-135 {
    margin-top: 36vw;
  }
  .u-mb-sp-135 {
    margin-bottom: 36vw;
  }
  .u-mr-sp-135 {
    margin-right: 36vw;
  }
  .u-ml-sp-135 {
    margin-left: 36vw;
  }
}
@media only screen and (max-width: 47.9375em) {
  .u-mt-sp-140 {
    margin-top: 37.3333333333vw;
  }
  .u-mb-sp-140 {
    margin-bottom: 37.3333333333vw;
  }
  .u-mr-sp-140 {
    margin-right: 37.3333333333vw;
  }
  .u-ml-sp-140 {
    margin-left: 37.3333333333vw;
  }
}
@media only screen and (max-width: 47.9375em) {
  .u-mt-sp-145 {
    margin-top: 38.6666666667vw;
  }
  .u-mb-sp-145 {
    margin-bottom: 38.6666666667vw;
  }
  .u-mr-sp-145 {
    margin-right: 38.6666666667vw;
  }
  .u-ml-sp-145 {
    margin-left: 38.6666666667vw;
  }
}
@media only screen and (max-width: 47.9375em) {
  .u-mt-sp-150 {
    margin-top: 40vw;
  }
  .u-mb-sp-150 {
    margin-bottom: 40vw;
  }
  .u-mr-sp-150 {
    margin-right: 40vw;
  }
  .u-ml-sp-150 {
    margin-left: 40vw;
  }
}
@media only screen and (max-width: 47.9375em) {
  .u-mt-sp-155 {
    margin-top: 41.3333333333vw;
  }
  .u-mb-sp-155 {
    margin-bottom: 41.3333333333vw;
  }
  .u-mr-sp-155 {
    margin-right: 41.3333333333vw;
  }
  .u-ml-sp-155 {
    margin-left: 41.3333333333vw;
  }
}
@media only screen and (max-width: 47.9375em) {
  .u-mt-sp-160 {
    margin-top: 42.6666666667vw;
  }
  .u-mb-sp-160 {
    margin-bottom: 42.6666666667vw;
  }
  .u-mr-sp-160 {
    margin-right: 42.6666666667vw;
  }
  .u-ml-sp-160 {
    margin-left: 42.6666666667vw;
  }
}
@media only screen and (max-width: 47.9375em) {
  .u-mt-sp-165 {
    margin-top: 44vw;
  }
  .u-mb-sp-165 {
    margin-bottom: 44vw;
  }
  .u-mr-sp-165 {
    margin-right: 44vw;
  }
  .u-ml-sp-165 {
    margin-left: 44vw;
  }
}
@media only screen and (max-width: 47.9375em) {
  .u-mt-sp-170 {
    margin-top: 45.3333333333vw;
  }
  .u-mb-sp-170 {
    margin-bottom: 45.3333333333vw;
  }
  .u-mr-sp-170 {
    margin-right: 45.3333333333vw;
  }
  .u-ml-sp-170 {
    margin-left: 45.3333333333vw;
  }
}
@media only screen and (max-width: 47.9375em) {
  .u-mt-sp-175 {
    margin-top: 46.6666666667vw;
  }
  .u-mb-sp-175 {
    margin-bottom: 46.6666666667vw;
  }
  .u-mr-sp-175 {
    margin-right: 46.6666666667vw;
  }
  .u-ml-sp-175 {
    margin-left: 46.6666666667vw;
  }
}
@media only screen and (max-width: 47.9375em) {
  .u-mt-sp-180 {
    margin-top: 48vw;
  }
  .u-mb-sp-180 {
    margin-bottom: 48vw;
  }
  .u-mr-sp-180 {
    margin-right: 48vw;
  }
  .u-ml-sp-180 {
    margin-left: 48vw;
  }
}
@media only screen and (max-width: 47.9375em) {
  .u-mt-sp-185 {
    margin-top: 49.3333333333vw;
  }
  .u-mb-sp-185 {
    margin-bottom: 49.3333333333vw;
  }
  .u-mr-sp-185 {
    margin-right: 49.3333333333vw;
  }
  .u-ml-sp-185 {
    margin-left: 49.3333333333vw;
  }
}
@media only screen and (max-width: 47.9375em) {
  .u-mt-sp-190 {
    margin-top: 50.6666666667vw;
  }
  .u-mb-sp-190 {
    margin-bottom: 50.6666666667vw;
  }
  .u-mr-sp-190 {
    margin-right: 50.6666666667vw;
  }
  .u-ml-sp-190 {
    margin-left: 50.6666666667vw;
  }
}
@media only screen and (max-width: 47.9375em) {
  .u-mt-sp-195 {
    margin-top: 52vw;
  }
  .u-mb-sp-195 {
    margin-bottom: 52vw;
  }
  .u-mr-sp-195 {
    margin-right: 52vw;
  }
  .u-ml-sp-195 {
    margin-left: 52vw;
  }
}
@media only screen and (max-width: 47.9375em) {
  .u-mt-sp-200 {
    margin-top: 53.3333333333vw;
  }
  .u-mb-sp-200 {
    margin-bottom: 53.3333333333vw;
  }
  .u-mr-sp-200 {
    margin-right: 53.3333333333vw;
  }
  .u-ml-sp-200 {
    margin-left: 53.3333333333vw;
  }
}
.u-m-center {
  margin-right: auto;
  margin-left: auto;
}
@media all and (min-width: 64.0625em) {
  .u-m-center-pc {
    margin-right: auto;
    margin-left: auto;
  }
}
@media print {
  .u-m-center-pc {
    margin-right: auto;
    margin-left: auto;
  }
}
@media only screen and (min-width: 48em) and (max-width: 64em) {
  .u-m-center-tb {
    margin-right: auto;
    margin-left: auto;
  }
}
@media only screen and (max-width: 47.9375em) {
  .u-m-center-sp {
    margin-right: auto;
    margin-left: auto;
  }
}
.u-mr-auto {
  margin-right: auto;
}
@media all and (min-width: 64.0625em) {
  .u-mr-auto-pc {
    margin-right: auto;
  }
}
@media print {
  .u-mr-auto-pc {
    margin-right: auto;
  }
}
@media only screen and (min-width: 48em) and (max-width: 64em) {
  .u-mr-auto-tb {
    margin-right: auto;
  }
}
@media only screen and (max-width: 47.9375em) {
  .u-mr-auto-sp {
    margin-right: auto;
  }
}
.u-ml-auto {
  margin-left: auto;
}
@media all and (min-width: 64.0625em) {
  .u-ml-auto-pc {
    margin-left: auto;
  }
}
@media print {
  .u-ml-auto-pc {
    margin-left: auto;
  }
}
@media only screen and (min-width: 48em) and (max-width: 64em) {
  .u-ml-auto-tb {
    margin-left: auto;
  }
}
@media only screen and (max-width: 47.9375em) {
  .u-ml-auto-sp {
    margin-left: auto;
  }
}

/* コンパイル時に @charset "UTF-8"; を出力するため日本語のコメントアウトを残す */