@charset "UTF-8";
/* ==========================================================================
Foundation
========================================================================== */
/* Font
----------------------------------------------------------------- */
/* 社員紹介カラー */
/* Reset
----------------------------------------------------------------- */
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
l,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0; }

h1,
h2,
h3,
h4,
h5,
h6,
table,
input,
textarea,
select,
option,
button {
  font-size: 100%; }

blockquote,
q {
  quotes: none; }

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

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

input,
textarea {
  margin: 0;
  padding: 0; }

ol,
ul {
  list-style: none;
  margin: 0;
  padding: 0; }

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

caption,
th {
  text-align: left; }

img,
a img {
  border: none; }

a {
  cursor: pointer; }

input:not([type='checkbox']) {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }

/* Base
----------------------------------------------------------------- */
html {
  height: 100%;
  line-height: 1.6; }

body {
  position: relative;
  min-height: 100%;
  -webkit-text-size-adjust: 100%;
  color: #000; }
  @media print, screen and (min-width: 48em) {
    body {
      font-family: "YakuHanJP", "Noto Sans CJK JP Subset", "Yu Gothic Medium", "游ゴシック Medium", "Yu Gothic", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo";
      line-height: 1.75; } }
  @media only screen and (max-width: 47.9375em) {
    body {
      font-family: "YakuHanJP", "Noto Sans CJK JP Subset", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo";
      line-height: 1.75; } }

a {
  text-decoration: none;
  color: #02a2f7;
  -webkit-transition: color 0.1s 0s ease;
  transition: color 0.1s 0s ease; }
  @media print, screen and (min-width: 61.25em) {
    a:hover {
      color: #0062cc; } }
  @media print, screen and (min-width: 61.25em) {
    a[href^='tel'] {
      pointer-events: none;
      cursor: text; } }

h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: 1.4;
  font-weight: normal; }

address {
  font-style: normal; }

.browser-is-ie wbr:after {
  content: '\00200B'; }

.preload * {
  -webkit-transition: all 0s !important;
  transition: all 0s !important; }

/* KeyFrames
----------------------------------------------------------------- */
@-webkit-keyframes spMenu {
  0% {
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px);
    opacity: 0; }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1; } }
@keyframes spMenu {
  0% {
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px);
    opacity: 0; }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1; } }

/* ==========================================================================
Layout
========================================================================== */
/* ヘッダー
----------------------------------------------------------------- */
@media print, screen and (min-width: 61.25em) {
  .l-header {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 60000;
    padding-right: 40px;
    padding-left: 40px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box; } }

@media print, screen and (max-width: 61.1875em) {
  .browser-is-ie .l-header {
    height: 100%; } }

.l-header__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  padding-left: 4%; }
  @media print, screen and (min-width: 61.25em) {
    .l-header__inner {
      display: -ms-grid;
      display: grid;
      -ms-grid-columns: 15.14286vw 1fr;
      grid-template-columns: 15.14286vw 1fr;
      padding-left: 0; } }
  @media print, screen and (min-width: 80em) {
    .l-header__inner {
      -ms-grid-columns: 220px 1fr;
      grid-template-columns: 220px 1fr; } }
  @media print, screen and (max-width: 61.1875em) {
    .browser-is-ie .l-header__inner {
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start; } }

.l-header__logo {
  width: 100%;
  max-width: 155px;
  padding-top: 15px;
  padding-bottom: 15px;
  margin-right: auto;
  margin-left: 0; }
  @media print, screen and (min-width: 61.25em) {
    .l-header__logo {
      width: auto;
      max-width: none;
      -ms-grid-column: 1;
      -ms-grid-column-span: 1;
      grid-column: 1/2;
      padding-top: 0;
      padding-bottom: 0; } }

.l-header__menu {
  position: fixed;
  background-color: #fff;
  top: 0;
  left: 98px;
  width: calc(100% - 98px);
  height: 100vh;
  overflow: auto;
  -webkit-transform: translateX(100vw);
          transform: translateX(100vw);
  -webkit-transition: 0.4s ease;
  transition: 0.4s ease;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  z-index: 60000; }
  @media print, screen and (min-width: 61.25em) {
    .l-header__menu {
      background-color: transparent;
      width: auto;
      height: auto;
      position: static;
      -ms-grid-column: 2;
      grid-column: 2/2;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-transform: none;
              transform: none;
      overflow: visible; } }
  .l-header__menu.is-active {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    -webkit-transition: 0.2s ease;
    transition: 0.2s ease; }

.c-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: #000;
  z-index: 60000;
  opacity: 0;
  visibility: hidden; }
  @media print, screen and (min-width: 61.25em) {
    .c-overlay {
      display: none; } }
  .c-overlay.is-active {
    opacity: 0.3;
    visibility: visible; }

@media print, screen and (min-width: 61.25em) {
  .l-header__entry {
    display: none; } }

.l-header__entry > a {
  position: relative;
  display: block;
  height: 100%;
  padding-top: 15px;
  padding-right: 27px;
  padding-bottom: 15px;
  padding-left: 15px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-size: 12px;
  font-size: 0.75rem;
  -webkit-font-feature-settings: 'palt' 1;
          font-feature-settings: 'palt' 1;
  font-weight: bold;
  white-space: nowrap; }
  @media only screen and (max-width: 47.9375em) {
    .l-header__entry > a {
      font-family: "YakuHanJP", "Noto Sans CJK JP Subset", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo"; } }
  @media print, screen and (min-width: 48em) {
    .l-header__entry > a {
      font-family: "YakuHanJP", "Noto Sans CJK JP Subset", "Yu Gothic", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo"; } }
  @media only screen and (max-width: 20em) {
    .l-header__entry > a {
      padding-top: 15px;
      padding-right: 22px;
      padding-bottom: 15px;
      padding-left: 10px; } }

.l-header__entry.-fill > a {
  background-color: #fffb26;
  color: #000; }
  .l-header__entry.-fill > a:after {
    content: '';
    position: absolute;
    top: calc(50% - 6px);
    right: 15px;
    width: 6px;
    height: 9px;
    background-size: cover;
    background-position: 0 0;
    background-repeat: no-repeat;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%226%22%20height%3D%228%22%3E%3Cpath%20fill%3D%22none%22%20stroke%3D%22%2302a2f7%22%20stroke-linecap%3D%22round%22%20stroke-width%3D%222%22%20d%3D%22M1%207l3-3-3-3%22%20%2F%3E%3C%2Fsvg%3E"); }
    @media only screen and (max-width: 20em) {
      .l-header__entry.-fill > a:after {
        right: 12px;
        top: calc(50% - 5px); } }
  .l-header__entry.-fill > a:after {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%226%22%20height%3D%228%22%3E%3Cpath%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-linecap%3D%22round%22%20stroke-width%3D%222%22%20d%3D%22M1%207l3-3-3-3%22%20%2F%3E%3C%2Fsvg%3E"); }

.l-header.-form {
  z-index: 1; }
  @media print, screen and (min-width: 61.25em) {
    .l-header.-form {
      padding-top: 20px;
      padding-bottom: 20px; } }

/* Body直下のwrapper
----------------------------------------------------------------- */
.l-root-container {
  position: relative;
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%;
  min-height: 100vh; }

/* content-blockのwrapper
----------------------------------------------------------------- */
.l-content-container {
  position: relative;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto; }
  @media print, screen and (min-width: 61.25em) {
    .l-content-container {
      padding-top: 78px; } }

.l-content-container.-pt-0 {
  padding-top: 0; }

.l-content-container.-requirements {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
  .l-content-container.-requirements .c-block {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
    min-height: 500px; }

/* フッター
----------------------------------------------------------------- */
.l-footer {
  position: relative;
  width: 100%;
  background-color: #fff; }
  .browser-is-ie .l-footer {
    height: 100%; }

.l-footer__inner {
  max-width: 1400px;
  margin-right: auto;
  margin-left: auto;
  padding-right: 5.334%;
  padding-left: 5.334%; }
  @media print, screen and (min-width: 61.25em) {
    .l-footer__inner {
      padding-right: 100px;
      padding-left: 100px; } }

.l-footer__top {
  background-color: #02a2f7; }
  @media only screen and (max-width: 47.9375em) {
    .l-footer__top {
      padding-top: 24px;
      padding-bottom: 16px; } }
  @media print, screen and (min-width: 48em) {
    .l-footer__top {
      padding-top: 37px;
      padding-bottom: 37px; } }
  @media print, screen and (min-width: 48em) {
    .l-footer__top .l-footer__inner {
      display: -ms-grid;
      display: grid;
      -ms-grid-columns: 172px 1fr;
      grid-template-columns: 172px 1fr; } }

@media only screen and (max-width: 47.9375em) {
  .l-footer__logo {
    display: none; } }

@media print, screen and (min-width: 48em) {
  .l-footer__logo {
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    grid-column: 1/2; } }

@media print, screen and (min-width: 48em) {
  .l-footer__menu {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    -ms-grid-column: 2;
    grid-column: 2/2;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; } }

.l-footer__bottom {
  background-color: #009bed; }

/* ==========================================================================
Object
========================================================================== */
/* ロゴ
----------------------------------------------------------------- */
.c-logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  height: 100%;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .c-logo > img {
    display: block;
    width: 100%;
    height: auto; }
    .browser-is-ie .c-logo > img {
      -ms-flex-negative: 0;
          flex-shrink: 0; }
  .c-logo > span {
    color: #000;
    white-space: nowrap;
    -webkit-font-feature-settings: 'palt' 1;
            font-feature-settings: 'palt' 1;
    font-size: 12px;
    font-size: 0.75rem;
    font-weight: bold;
    margin-left: 10px; }
    @media only screen and (max-width: 47.9375em) {
      .c-logo > span {
        font-family: "YakuHanJP", "Noto Sans CJK JP Subset", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo"; } }
    @media print, screen and (min-width: 48em) {
      .c-logo > span {
        font-family: "YakuHanJP", "Noto Sans CJK JP Subset", "Yu Gothic", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo"; } }
    @media print, screen and (min-width: 61.25em) {
      .c-logo > span {
        font-size: 14px;
        font-size: 0.875rem; } }

/* ボタン
----------------------------------------------------------------- */
.c-button {
  position: relative;
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-transition: opacity 1s 1s ease, -webkit-transform 1s 1s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: opacity 1s 1s ease, -webkit-transform 1s 1s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: transform 1s 1s cubic-bezier(0.215, 0.61, 0.355, 1), opacity 1s 1s ease;
  transition: transform 1s 1s cubic-bezier(0.215, 0.61, 0.355, 1), opacity 1s 1s ease, -webkit-transform 1s 1s cubic-bezier(0.215, 0.61, 0.355, 1);
  width: 100%;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: bold;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background-color: #02a2f7;
  border-radius: 20px/50%; }
  .browser-is-safari .c-button {
    z-index: 1; }
  @media only screen and (max-width: 47.9375em) {
    .c-button {
      padding-top: 12px;
      padding-right: 16px;
      padding-bottom: 12px;
      padding-left: 16px; } }
  @media print, screen and (min-width: 48em) {
    .c-button {
      padding-top: 8px;
      padding-right: 12px;
      padding-bottom: 8px;
      padding-left: 12px; } }
  @media print, screen and (min-width: 61.25em) {
    .c-button {
      -webkit-transition: background-color 0.7s ease;
      transition: background-color 0.7s ease; } }
  .c-button > span {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    width: 100%;
    position: relative;
    color: #fff; }
    @media print, screen and (min-width: 61.25em) {
      .c-button > span {
        -webkit-transition: color 0.7s ease;
        transition: color 0.7s ease; } }
  .c-button .c-arrow {
    -ms-flex-item-align: center;
        -ms-grid-row-align: center;
        align-self: center;
    width: 18px;
    height: 18px; }
  .c-button:hover:after {
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
    -webkit-transform: scaleX(1);
            transform: scaleX(1); }
  .c-button > * {
    position: relative;
    z-index: 1; }
  @media print, screen and (min-width: 61.25em) {
    .c-button:after {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: #0062cc;
      -webkit-transform-origin: 100% 0;
              transform-origin: 100% 0;
      -webkit-transform: scaleX(0);
              transform: scaleX(0);
      -webkit-transition: -webkit-transform 0.5s ease;
      transition: -webkit-transform 0.5s ease;
      transition: transform 0.5s ease;
      transition: transform 0.5s ease, -webkit-transform 0.5s ease; } }

@-webkit-keyframes btnEnter {
  0% {
    -webkit-transform: translate3d(-101%, 0, 0);
            transform: translate3d(-101%, 0, 0); }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); } }

@keyframes btnEnter {
  0% {
    -webkit-transform: translate3d(-101%, 0, 0);
            transform: translate3d(-101%, 0, 0); }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); } }

@-webkit-keyframes btnOut {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); }
  100% {
    -webkit-transform: translate3d(101%, 0, 0);
            transform: translate3d(101%, 0, 0); } }

@keyframes btnOut {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); }
  100% {
    -webkit-transform: translate3d(101%, 0, 0);
            transform: translate3d(101%, 0, 0); } }

@-webkit-keyframes btnHover {
  0% {
    -webkit-transform: translate3d(-101%, 0, 0);
            transform: translate3d(-101%, 0, 0); }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); } }

@keyframes btnHover {
  0% {
    -webkit-transform: translate3d(-101%, 0, 0);
            transform: translate3d(-101%, 0, 0); }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); } }

@-webkit-keyframes btnHoverText {
  0% {
    color: #000; }
  30% {
    color: #fff; }
  50% {
    color: #fff; }
  100% {
    color: #000; } }

@keyframes btnHoverText {
  0% {
    color: #000; }
  30% {
    color: #fff; }
  50% {
    color: #fff; }
  100% {
    color: #000; } }

button.c-button {
  border: none;
  text-align: left;
  cursor: pointer; }

/* サイズ中 */
.c-button.-size-M {
  font-size: 14px;
  font-size: 0.875rem;
  border-radius: 17px/50%;
  position: relative;
  z-index: 3;
  padding-top: 8px;
  padding-right: 14px;
  padding-bottom: 8px;
  padding-left: 14px; }
  @media print, screen and (min-width: 61.25em) {
    .c-button.-size-M {
      font-size: 18px;
      font-size: 1.125rem;
      border-radius: 25px/50%;
      -ms-grid-columns: 1fr 24px;
      grid-template-columns: 1fr 24px;
      border-radius: 25px/50%;
      padding-top: 10px;
      padding-right: 20px;
      padding-bottom: 12px;
      padding-left: 20px; } }
  .c-button.-size-M .c-arrow {
    width: 18px;
    height: 18px; }
    @media print, screen and (min-width: 61.25em) {
      .c-button.-size-M .c-arrow {
        width: 24px;
        height: 24px; } }

/* サイズ大 */
.c-button.-size-L {
  font-size: 14px;
  font-size: 0.875rem;
  border-radius: 25px/50%;
  padding-top: 13px;
  padding-right: 14px;
  padding-bottom: 13px;
  padding-left: 14px; }
  @media print, screen and (min-width: 48em) {
    .c-button.-size-L {
      font-size: 20px;
      font-size: 1.25rem;
      border-radius: 30px/50%;
      padding-top: 12px;
      padding-right: 24px;
      padding-bottom: 13px;
      padding-left: 24px; } }
  .c-button.-size-L .c-arrow {
    width: 18px;
    height: 18px; }
    @media print, screen and (min-width: 61.25em) {
      .c-button.-size-L .c-arrow {
        width: 24px;
        height: 24px; } }

/* アクセントカラー */
.c-button.-accent {
  background-color: #fffb26; }
  .c-button.-accent > span {
    color: #000; }
  @media print, screen and (min-width: 61.25em) {
    .c-button.-accent:after {
      background-color: #ffcc00; } }

/* 白色 */
.c-button.-white {
  background-color: #fff; }
  .c-button.-white > span {
    color: #000; }
  @media print, screen and (min-width: 61.25em) {
    .c-button.-white:hover > span {
      color: #fff; } }
  @media print, screen and (min-width: 61.25em) {
    .c-button.-white:after {
      background-color: #000; } }

/* more */
.c-button.-more {
  font-family: brandon-grotesque, sans-serif;
  -webkit-font-feature-settings: 'palt' 1;
          font-feature-settings: 'palt' 1;
  line-height: 1;
  font-weight: bold; }
  @media only screen and (max-width: 47.9375em) {
    .c-button.-more {
      font-size: 24px;
      font-size: 1.5rem;
      border-radius: 20px/50%; } }
  @media print, screen and (min-width: 48em) {
    .c-button.-more {
      font-size: 30px;
      font-size: 1.875rem;
      border-radius: 25px/50%; } }
  @media only screen and (max-width: 47.9375em) {
    .c-button.-more {
      padding-top: 6px;
      padding-right: 14px;
      padding-bottom: 5px;
      padding-left: 14px; } }
  @media print, screen and (min-width: 48em) {
    .c-button.-more {
      padding-top: 8px;
      padding-right: 16px;
      padding-bottom: 9px;
      padding-left: 20px; } }
  @media only screen and (max-width: 47.9375em) {
    .c-button.-more > span {
      padding-bottom: 5px; } }
  @media print, screen and (min-width: 48em) {
    .c-button.-more > span {
      padding-bottom: 3px; } }
  @media only screen and (max-width: 47.9375em) {
    .c-button.-more .c-arrow {
      width: 18px;
      height: 18px; } }
  @media print, screen and (min-width: 48em) {
    .c-button.-more .c-arrow {
      width: 24px;
      height: 24px; } }

/* form */
.c-button.-form {
  -webkit-font-feature-settings: 'palt' 1;
          font-feature-settings: 'palt' 1;
  line-height: 1;
  font-weight: bold; }
  @media only screen and (max-width: 47.9375em) {
    .c-button.-form {
      font-family: "YakuHanJP", "Noto Sans CJK JP Subset", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo"; } }
  @media print, screen and (min-width: 48em) {
    .c-button.-form {
      font-family: "YakuHanJP", "Noto Sans CJK JP Subset", "Yu Gothic", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo"; } }
  @media only screen and (max-width: 47.9375em) {
    .c-button.-form {
      border-radius: 20px/50%; } }
  @media print, screen and (min-width: 48em) {
    .c-button.-form {
      font-size: 16px;
      font-size: 1rem;
      border-radius: 25px/50%; } }
  @media only screen and (max-width: 47.9375em) {
    .c-button.-form {
      padding-top: 11px;
      padding-right: 14px;
      padding-bottom: 11px;
      padding-left: 14px; } }
  @media print, screen and (min-width: 48em) {
    .c-button.-form {
      padding-top: 13px;
      padding-right: 16px;
      padding-bottom: 13px;
      padding-left: 20px; } }
  @media only screen and (max-width: 47.9375em) {
    .c-button.-form .c-arrow {
      width: 18px;
      height: 18px; } }
  @media print, screen and (min-width: 48em) {
    .c-button.-form .c-arrow {
      width: 24px;
      height: 24px; } }
  .c-button.-form.-disabled {
    background-color: #dce7ee;
    -webkit-box-shadow: none;
            box-shadow: none;
    cursor: default;
    pointer-events: none; }
    .c-button.-form.-disabled > span {
      color: #a5adb3; }
    .c-button.-form.-disabled:hover {
      color: #fff; }
      .c-button.-form.-disabled:hover > span:after {
        -webkit-transform: translate(0, -50%) rotate(45deg);
                transform: translate(0, -50%) rotate(45deg); }
    .c-button.-form.-disabled:after {
      display: none; }

@-webkit-keyframes resetButton {
  0% {
    background-position: 101% 0; }
  100% {
    background-position: 0% 0; } }

@keyframes resetButton {
  0% {
    background-position: 101% 0; }
  100% {
    background-position: 0% 0; } }

.p-filter-term-group {
  position: relative; }
  .p-filter-term-group:after {
    content: '';
    position: absolute;
    top: 0;
    left: calc(-50vw + 50%);
    width: 100vw;
    height: 100%;
    background-color: #fff;
    z-index: -1; }

.p-filter-term-group__parent {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding-top: 20px;
  padding-bottom: 30px;
  margin-left: -10px; }
  @media print, screen and (min-width: 61.25em) {
    .p-filter-term-group__parent {
      padding-top: 20px;
      padding-bottom: 40px;
      margin-left: -20px; } }
  @media print, screen and (min-width: 48em) {
    .p-filter-term-group__parent {
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center; } }

.p-filter-term-group__child {
  border-top: 1px solid #ccc;
  padding-top: 30px;
  padding-bottom: 40px; }
  @media only screen and (max-width: 47.9375em) {
    .p-filter-term-group__child {
      padding-top: 0; } }

.p-filter-term__check {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-left: -10px;
  margin-top: 0; }
  @media print, screen and (min-width: 61.25em) {
    .p-filter-term__check {
      margin-left: -20px;
      margin-top: 0; } }
  @media only screen and (max-width: 47.9375em) {
    .p-filter-term__check {
      margin-top: -14px;
      padding-bottom: 16px; } }
  .p-filter-term__check > li {
    margin-left: 10px;
    margin-top: 10px; }
    @media print, screen and (min-width: 61.25em) {
      .p-filter-term__check > li {
        margin-left: 20px;
        margin-top: 20px; } }
    .p-filter-term__check > li label {
      margin-bottom: 0; }

.p-filter-term__child-title {
  font-size: 18px;
  font-size: 1.125rem;
  -webkit-font-feature-settings: 'palt' 1;
          font-feature-settings: 'palt' 1;
  font-weight: bold; }
  @media only screen and (max-width: 47.9375em) {
    .p-filter-term__child-title {
      font-family: "YakuHanJP", "Noto Sans CJK JP Subset", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo"; } }
  @media print, screen and (min-width: 48em) {
    .p-filter-term__child-title {
      font-family: "YakuHanJP", "Noto Sans CJK JP Subset", "Yu Gothic", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo"; } }
  .p-filter-term__check + .p-filter-term__child-title {
    margin-top: 30px; }

.p-filter-term {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: calc(50% - 10px);
  margin-left: 10px;
  margin-top: 10px; }
  @media print, screen and (min-width: 61.25em) {
    .p-filter-term {
      width: auto;
      margin-left: 20px;
      margin-top: 20px; } }
  .p-filter-term > input {
    width: 0;
    height: 0; }

/* 絞り込み */
.c-button.-filter {
  cursor: pointer;
  background: -webkit-gradient(linear, left top, right top, color-stop(50%, #02a2f7), color-stop(50%, #fff));
  background: -webkit-linear-gradient(left, #02a2f7 50%, #fff 50%);
  background: linear-gradient(to right, #02a2f7 50%, #fff 50%);
  background-size: 202% 100%;
  background-position: -99% 0;
  border-radius: 100px;
  font-size: 16px;
  font-size: 1rem;
  padding: 6px 6px;
  text-align: center; }
  @media print, screen and (min-width: 48em) {
    .c-button.-filter {
      padding: 6px 40px; } }
  @media print, screen and (min-width: 61.25em) {
    .c-button.-filter {
      text-align: left;
      -webkit-transition: background-position 0.5s ease, color 0.5s ease;
      transition: background-position 0.5s ease, color 0.5s ease; } }
  .c-button.-filter:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 2px solid #02a2f7;
    border-radius: 100px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box; }
  .c-button.-filter > span {
    color: #02a2f7;
    -webkit-box-flex: 1;
        -ms-flex: auto;
            flex: auto; }
  @media print, screen and (min-width: 61.25em) {
    .c-button.-filter:hover {
      -webkit-animation: resetButton 0.5s ease 0s 1 normal;
              animation: resetButton 0.5s ease 0s 1 normal;
      -webkit-transition: background-position 0s ease;
      transition: background-position 0s ease;
      background-position: 0 0; } }
  @media print, screen and (min-width: 61.25em) {
    .c-button.-filter:hover > span {
      color: #fff; } }
  input:checked + .c-button.-filter {
    -webkit-transition: background-position 0s ease;
    transition: background-position 0s ease;
    background-position: 0 0; }
    @media print, screen and (min-width: 61.25em) {
      input:checked + .c-button.-filter {
        -webkit-animation: resetButton 0.5s ease 0s 1 normal;
                animation: resetButton 0.5s ease 0s 1 normal; } }
    input:checked + .c-button.-filter > span {
      color: #fff; }
  .c-button.-filter:after {
    display: none; }

/* 最大幅指定 */
.c-button.-max-250 {
  max-width: 250px; }

/* 中央寄せ */
.c-button.-center {
  margin-right: auto;
  margin-left: auto; }

@media print, screen and (min-width: 48em) {
  .c-button-group {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-right: -20px;
    margin-left: -20px; } }

@media only screen and (max-width: 47.9375em) {
  .c-button-group .c-button {
    margin-top: 20px; } }

@media print, screen and (min-width: 48em) {
  .c-button-group .c-button {
    margin-right: 20px;
    margin-left: 20px; } }

/* コンテンツブロックの区切り
----------------------------------------------------------------- */
.c-block {
  padding-top: 1px;
  margin-top: -1px;
  width: 100%;
  position: relative; }

.c-block__inner {
  position: relative;
  z-index: 1;
  max-width: 1400px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding-right: 5.334%;
  padding-left: 5.334%;
  margin-right: auto;
  margin-left: auto; }
  @media print, screen and (min-width: 61.25em) {
    .c-block__inner {
      padding-right: 100px;
      padding-left: 100px; } }
  .c-block__inner.-detail {
    max-width: 1160px; }
  .c-block__inner.-entry {
    max-width: 960px; }

.c-block.-fill {
  background-color: #edf9ff; }

@media print, screen and (min-width: 48em) {
  .c-block.-fill-transparent {
    background: -webkit-gradient(linear, left top, left bottom, color-stop(87.5%, #edf9ff), color-stop(0%, transparent));
    background: -webkit-linear-gradient(#edf9ff 87.5%, transparent 0%);
    background: linear-gradient(#edf9ff 87.5%, transparent 0%); } }

@media only screen and (max-width: 47.9375em) {
  .c-block.-fill-transparent {
    background-color: #edf9ff;
    padding-bottom: 34px; } }

.c-block.-oh {
  overflow: hidden; }

.c-block.-last {
  padding-bottom: 80px; }

.c-block.-more {
  padding-bottom: 80px; }
  @media only screen and (max-width: 47.9375em) {
    .c-block.-more {
      padding-bottom: 42px; } }

/* 「インタビュー動画」パネルと直後の「他の社員を見てみる」(背景色あり)との間に余白を確保 */
@media only screen and (max-width: 47.9375em) {
  .p-people-related-video-block {
    padding-bottom: 40px; } }

@media print, screen and (min-width: 48em) {
  .p-people-related-video-block {
    padding-bottom: 80px; } }

@media only screen and (max-width: 47.9375em) {
  .c-block__button {
    width: 150px;
    margin-top: 24px;
    margin-right: auto;
    margin-left: auto; } }

@media print, screen and (min-width: 48em) {
  .c-block__button {
    width: 250px;
    margin-top: 40px;
    margin-right: auto;
    margin-left: auto; } }

/* サブ見出し
----------------------------------------------------------------- */
.c-sub-title {
  display: inline-block;
  -webkit-font-feature-settings: 'palt' 1;
          font-feature-settings: 'palt' 1;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: bold;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(0%, #fffb26));
  background: -webkit-linear-gradient(transparent 60%, #fffb26 0%);
  background: linear-gradient(transparent 60%, #fffb26 0%);
  line-height: 1.4; }
  @media only screen and (max-width: 47.9375em) {
    .c-sub-title {
      font-family: "YakuHanJP", "Noto Sans CJK JP Subset", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo"; } }
  @media print, screen and (min-width: 48em) {
    .c-sub-title {
      font-family: "YakuHanJP", "Noto Sans CJK JP Subset", "Yu Gothic", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo"; } }
  @media print, screen and (min-width: 61.25em) {
    .c-sub-title {
      font-size: 18px;
      font-size: 1.125rem;
      padding-bottom: 1px; } }
  .c-sub-title.-center {
    margin-right: auto;
    margin-left: auto;
    text-align: center;
    display: table; }
  .c-sub-title.-left {
    text-align: left;
    font-size: 28px;
    font-size: 1.75rem; }
    @media only screen and (max-width: 47.9375em) {
      .c-sub-title.-left {
        font-size: 20px;
        font-size: 1.25rem; } }

/* 見出し（ベース）
----------------------------------------------------------------- */
.c-heading {
  -webkit-font-feature-settings: 'palt' 1;
          font-feature-settings: 'palt' 1;
  font-weight: bold;
  line-height: 1.5;
  font-size: 20px;
  font-size: 1.25rem; }
  @media only screen and (max-width: 47.9375em) {
    .c-heading {
      font-family: "YakuHanJP", "Noto Sans CJK JP Subset", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo"; } }
  @media print, screen and (min-width: 48em) {
    .c-heading {
      font-family: "YakuHanJP", "Noto Sans CJK JP Subset", "Yu Gothic", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo"; } }
  @media print, screen and (min-width: 61.25em) {
    .c-heading {
      font-size: 30px;
      font-size: 1.875rem; } }
  .c-sub-title + .c-heading {
    margin-top: 12px; }
  .c-heading.-center {
    text-align: center; }

.c-heading-contact {
  -webkit-font-feature-settings: 'palt' 1;
          font-feature-settings: 'palt' 1;
  font-weight: bold;
  text-align: center;
  line-height: 1.5; }
  @media only screen and (max-width: 47.9375em) {
    .c-heading-contact {
      font-family: "YakuHanJP", "Noto Sans CJK JP Subset", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo"; } }
  @media print, screen and (min-width: 48em) {
    .c-heading-contact {
      font-family: "YakuHanJP", "Noto Sans CJK JP Subset", "Yu Gothic", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo"; } }
  @media only screen and (max-width: 47.9375em) {
    .c-heading-contact {
      font-size: 20px;
      font-size: 1.25rem; } }
  @media print, screen and (min-width: 48em) {
    .c-heading-contact {
      font-size: 40px;
      font-size: 2.5rem; } }
  .c-sub-title + .c-heading-contact {
    margin-top: 7px; }

.c-heading-2 {
  -webkit-font-feature-settings: 'palt' 1;
          font-feature-settings: 'palt' 1;
  font-weight: bold; }
  @media only screen and (max-width: 47.9375em) {
    .c-heading-2 {
      font-family: "YakuHanJP", "Noto Sans CJK JP Subset", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo"; } }
  @media print, screen and (min-width: 48em) {
    .c-heading-2 {
      font-family: "YakuHanJP", "Noto Sans CJK JP Subset", "Yu Gothic", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo"; } }
  @media only screen and (max-width: 47.9375em) {
    .c-heading-2 {
      font-size: 20px;
      font-size: 1.25rem;
      line-height: 1.5; } }
  @media print, screen and (min-width: 48em) {
    .c-heading-2 {
      font-size: 28px;
      font-size: 1.75rem;
      line-height: 1.6; } }
  .c-heading-2 > strong {
    background: -webkit-gradient(linear, left top, left bottom, color-stop(70%, transparent), color-stop(0%, #fffb26));
    background: -webkit-linear-gradient(transparent 70%, #fffb26 0%);
    background: linear-gradient(transparent 70%, #fffb26 0%); }
  .c-heading-2.-center {
    text-align: center; }
  .c-heading-2.-has-sub {
    line-height: 1; }
    .c-heading-2.-has-sub .c-sub-title + span {
      display: block;
      margin-top: 12px; }
      @media only screen and (max-width: 47.9375em) {
        .c-heading-2.-has-sub .c-sub-title + span {
          line-height: 1.5; } }
      @media print, screen and (min-width: 48em) {
        .c-heading-2.-has-sub .c-sub-title + span {
          line-height: 1.6; } }
  @media only screen and (max-width: 47.9375em) {
    .c-heading-2.-form {
      font-size: 24px;
      font-size: 1.5rem; } }
  @media print, screen and (min-width: 48em) {
    .c-heading-2.-form {
      font-size: 40px;
      font-size: 2.5rem; } }

.c-heading-3 {
  -webkit-font-feature-settings: 'palt' 1;
          font-feature-settings: 'palt' 1;
  font-weight: bold; }
  @media only screen and (max-width: 47.9375em) {
    .c-heading-3 {
      font-family: "YakuHanJP", "Noto Sans CJK JP Subset", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo"; } }
  @media print, screen and (min-width: 48em) {
    .c-heading-3 {
      font-family: "YakuHanJP", "Noto Sans CJK JP Subset", "Yu Gothic", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo"; } }
  @media only screen and (max-width: 47.9375em) {
    .c-heading-3 {
      line-height: 1.5; } }
  @media print, screen and (min-width: 48em) {
    .c-heading-3 {
      font-size: 22px;
      font-size: 1.375rem; } }
  .c-heading-3.-has-sub {
    line-height: 1; }
    .c-heading-3.-has-sub .c-sub-title + span {
      display: block;
      margin-top: 12px; }
      @media only screen and (max-width: 47.9375em) {
        .c-heading-3.-has-sub .c-sub-title + span {
          line-height: 1.5; } }
      @media print, screen and (min-width: 48em) {
        .c-heading-3.-has-sub .c-sub-title + span {
          line-height: 1.6; } }

.c-heading-3.-center {
  text-align: center; }

/* アプリとエンジニア一日のスケジュール */
.c-heading-3.-schedule__title {
  margin-bottom: 30px; }
  @media only screen and (max-width: 47.9375em) {
    .c-heading-3.-schedule__title {
      margin-bottom: 35px; } }

.c-heading-4 {
  -webkit-font-feature-settings: 'palt' 1;
          font-feature-settings: 'palt' 1;
  font-weight: bold; }
  @media only screen and (max-width: 47.9375em) {
    .c-heading-4 {
      font-family: "YakuHanJP", "Noto Sans CJK JP Subset", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo"; } }
  @media print, screen and (min-width: 48em) {
    .c-heading-4 {
      font-family: "YakuHanJP", "Noto Sans CJK JP Subset", "Yu Gothic", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo"; } }
  @media only screen and (max-width: 47.9375em) {
    .c-heading-4 {
      line-height: 1.5; } }
  @media print, screen and (min-width: 48em) {
    .c-heading-4 {
      font-size: 18px;
      font-size: 1.125rem;
      line-height: 1.78; } }
  .c-heading-2 + .c-heading-4 {
    margin-top: 40px; }
  @media only screen and (max-width: 47.9375em) {
    .c-sentence + .c-heading-4 {
      margin-top: 22px; } }
  @media print, screen and (min-width: 48em) {
    .c-sentence + .c-heading-4 {
      margin-top: 24px; } }

/* アプリケーションとエンジニア */
.c-heading-4.-engineer {
  margin-top: -8px; }

.c-heading-4.-mt20 {
  margin-top: 20px; }

/* 仕事内容についてもっと知る */
.c-heading-2.-center.-business {
  line-height: 1; }

/* 社員詳細の名前の英語 */
.c-heading-2.-detail {
  display: inline-block; }
  .c-heading-2.-detail span {
    padding-left: 20px;
    font-size: 16px;
    font-size: 1rem;
    font-weight: normal; }

/* 募集要項 */
@media only screen and (max-width: 47.9375em) {
  .c-heading-1 {
    font-size: 20px;
    font-weight: bold;
    padding-top: 8px;
    padding-bottom: 8px;
    background-color: #edf9ff;
    text-align: center; } }

@media print, screen and (min-width: 48em) {
  .c-heading-1 {
    font-size: 32px;
    font-weight: bold;
    padding-top: 10px;
    padding-bottom: 10px;
    background-color: #edf9ff;
    text-align: center; } }

@media only screen and (max-width: 47.9375em) {
  .c-heading-2.-requirements {
    font-size: 20px;
    font-weight: bold; } }

@media only screen and (max-width: 47.9375em) {
  .c-section-6.-requirements {
    margin-top: 20px; } }

/* 文章
----------------------------------------------------------------- */
.c-sentence {
  line-height: 1.75; }
  @media only screen and (max-width: 47.9375em) {
    .c-image + .c-sentence {
      margin-top: 21px; } }
  @media print, screen and (min-width: 48em) {
    .c-image + .c-sentence {
      margin-top: 24px; } }
  @media only screen and (max-width: 47.9375em) {
    .c-heading-2 + .c-sentence {
      margin-top: 12px; } }
  @media print, screen and (min-width: 48em) {
    .c-heading-2 + .c-sentence {
      margin-top: 18px; } }
  @media only screen and (max-width: 47.9375em) {
    .c-heading-3 + .c-sentence {
      margin-top: 16px; } }
  @media print, screen and (min-width: 48em) {
    .c-heading-3 + .c-sentence {
      margin-top: 22px; } }
  @media only screen and (max-width: 47.9375em) {
    .c-heading-4 + .c-sentence {
      margin-top: 14px; } }
  @media print, screen and (min-width: 48em) {
    .c-heading-4 + .c-sentence {
      margin-top: 16px; } }
  @media only screen and (max-width: 47.9375em) {
    .c-sentence + .c-sentence,
    .c-list + .c-sentence {
      margin-top: 12px; } }
  @media print, screen and (min-width: 48em) {
    .c-sentence + .c-sentence,
    .c-list + .c-sentence {
      margin-top: 16px; } }

/**
* 中央寄せ
*/
.c-sentence.-center, .c-sentence--lead {
  text-align: center; }

/**
* 中央寄せ（TB以上）
*/
@media print, screen and (min-width: 48em) {
  .c-sentence.-center-S {
    text-align: center; } }

/**
* 右寄せ
*/
.c-sentence--right {
  text-align: right; }

/**
 * 文字サイズ小
 */
@media print, screen and (min-width: 48em) {
  .c-sentence--muted {
    font-size: 16px;
    font-size: 1rem; } }

/**
* リード文
*/
@media only screen and (max-width: 47.9375em) {
  .c-sentence--lead {
    text-align: left;
    margin-top: 6px; } }

@media print, screen and (min-width: 48em) {
  .c-sentence--lead {
    margin-top: 24px;
    line-height: 1.7; } }

.c-sentence--lead > br {
  display: none; }
  @media print, screen and (min-width: 61.25em) {
    .c-sentence--lead > br {
      display: block; } }

/* relative */
.c-sentence.-relative {
  display: inline-block; }

/**
* Google Maps 埋め込みの下部につく
*/
.c-sentence--caption {
  margin-top: 12px; }

/**
* ミッションとプロミス
*/
@media print, screen and (min-width: 48em) {
  .c-sentence--mission {
    text-align: center; } }

@media print, screen and (min-width: 48em) {
  .c-sentence--mission {
    margin-top: 24px; } }

/**
* 上マージンなし
*/
.c-sentence--no-margin {
  margin-top: 0; }

/* 社員詳細 */
.c-sentence.-detail {
  margin-top: 20px; }

/* 社員詳細入社後に感じたギャップ */
.c-sentence.-gap {
  margin-top: 18px; }

/* アプリとエンジニア実際の事例を見る*/
.c-sentence.-superior {
  margin-top: 37px; }

/* SPのときフォントサイズ14 */
@media only screen and (max-width: 47.9375em) {
  .c-sentence.-sp14 {
    font-size: 14px;
    font-size: 0.875rem; } }

/* 矢印アイコン
----------------------------------------------------------------- */
.c-arrow {
  position: relative;
  display: block;
  content: '';
  width: 18px;
  height: 18px; }
  .c-arrow:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-repeat: no-repeat;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2218%22%20height%3D%2218%22%3E%3Cg%20transform%3D%22translate%28-5781%20-1277%29%22%3E%3Ccircle%20cx%3D%229%22%20cy%3D%229%22%20r%3D%229%22%20fill%3D%22%2302a2f7%22%20transform%3D%22translate%285781%201277%29%22%2F%3E%3Cpath%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-linecap%3D%22round%22%20stroke-width%3D%222%22%20d%3D%22M5788.875%201289.375l3-3-3-3%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); }
    @media print, screen and (min-width: 61.25em) {
      .c-arrow:before {
        -webkit-transition: opacity 0.7s ease;
        transition: opacity 0.7s ease; } }
  .c-arrow:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-repeat: no-repeat;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2218%22%20height%3D%2218%22%3E%3Cg%20transform%3D%22translate%28-5781%20-1277%29%22%3E%3Ccircle%20cx%3D%229%22%20cy%3D%229%22%20r%3D%229%22%20fill%3D%22%230062cc%22%20transform%3D%22translate%285781%201277%29%22%2F%3E%3Cpath%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-linecap%3D%22round%22%20stroke-width%3D%222%22%20d%3D%22M5788.875%201289.375l3-3-3-3%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
    opacity: 0; }
    @media print, screen and (min-width: 61.25em) {
      .c-arrow:after {
        -webkit-transition: opacity 0.7s ease;
        transition: opacity 0.7s ease; } }
  a:hover .c-arrow:before,
  button:hover .c-arrow:before {
    opacity: 0; }
  a:hover .c-arrow:after,
  button:hover .c-arrow:after {
    opacity: 1; }
  @media print, screen and (min-width: 61.25em) {
    .c-button .c-arrow {
      -webkit-transition: background-image 0.5s ease;
      transition: background-image 0.5s ease; } }

/* メインカラー */
.c-arrow.-main:before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2218%22%20height%3D%2218%22%3E%3Cg%20transform%3D%22translate%28-5781%20-1277%29%22%3E%3Ccircle%20cx%3D%229%22%20cy%3D%229%22%20r%3D%229%22%20fill%3D%22%23fff%22%20transform%3D%22translate%285781%201277%29%22%2F%3E%3Cpath%20fill%3D%22none%22%20stroke%3D%22%2302a2f7%22%20stroke-linecap%3D%22round%22%20stroke-width%3D%222%22%20d%3D%22M5788.875%201289.375l3-3-3-3%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); }

.c-arrow.-main:after {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2218%22%20height%3D%2218%22%3E%3Cg%20transform%3D%22translate%28-5781%20-1277%29%22%3E%3Ccircle%20cx%3D%229%22%20cy%3D%229%22%20r%3D%229%22%20fill%3D%22%23fff%22%20transform%3D%22translate%285781%201277%29%22%2F%3E%3Cpath%20fill%3D%22none%22%20stroke%3D%22%230062cc%22%20stroke-linecap%3D%22round%22%20stroke-width%3D%222%22%20d%3D%22M5788.875%201289.375l3-3-3-3%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); }

/* アクセントカラー */
.c-arrow.-accent:before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2218%22%20height%3D%2218%22%3E%3Cg%20transform%3D%22translate%28-5781%20-1277%29%22%3E%3Ccircle%20cx%3D%229%22%20cy%3D%229%22%20r%3D%229%22%20fill%3D%22%23000%22%20transform%3D%22translate%285781%201277%29%22%2F%3E%3Cpath%20fill%3D%22none%22%20stroke%3D%22%23fffb26%22%20stroke-linecap%3D%22round%22%20stroke-width%3D%222%22%20d%3D%22M5788.875%201289.375l3-3-3-3%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); }

.c-arrow.-accent:after {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2218%22%20height%3D%2218%22%3E%3Cg%20transform%3D%22translate%28-5781%20-1277%29%22%3E%3Ccircle%20cx%3D%229%22%20cy%3D%229%22%20r%3D%229%22%20fill%3D%22%23000%22%20transform%3D%22translate%285781%201277%29%22%2F%3E%3Cpath%20fill%3D%22none%22%20stroke%3D%22%23ffcc00%22%20stroke-linecap%3D%22round%22%20stroke-width%3D%222%22%20d%3D%22M5788.875%201289.375l3-3-3-3%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); }

/* 黒色 */
.c-arrow.-black:before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2218%22%20height%3D%2218%22%3E%3Cg%20transform%3D%22translate%28-5781%20-1277%29%22%3E%3Ccircle%20cx%3D%229%22%20cy%3D%229%22%20r%3D%229%22%20fill%3D%22%23000%22%20transform%3D%22translate%285781%201277%29%22%2F%3E%3Cpath%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-linecap%3D%22round%22%20stroke-width%3D%222%22%20d%3D%22M5788.875%201289.375l3-3-3-3%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); }

.c-arrow.-black:after {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2218%22%20height%3D%2218%22%3E%3Cg%20transform%3D%22translate%28-5781%20-1277%29%22%3E%3Ccircle%20cx%3D%229%22%20cy%3D%229%22%20r%3D%229%22%20fill%3D%22%23fff%22%20transform%3D%22translate%285781%201277%29%22%2F%3E%3Cpath%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-linecap%3D%22round%22%20stroke-width%3D%222%22%20d%3D%22M5788.875%201289.375l3-3-3-3%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); }

/* カレント */
.c-arrow.-current:before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2218%22%20height%3D%2218%22%3E%3Cg%20transform%3D%22translate%28-5781%20-1277%29%22%3E%3Ccircle%20cx%3D%229%22%20cy%3D%229%22%20r%3D%229%22%20fill%3D%22%23a5adb3%22%20transform%3D%22translate%285781%201277%29%22%2F%3E%3Cpath%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-linecap%3D%22round%22%20stroke-width%3D%222%22%20d%3D%22M5788.875%201289.375l3-3-3-3%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); }

.c-arrow.-current:after {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2218%22%20height%3D%2218%22%3E%3Cg%20transform%3D%22translate%28-5781%20-1277%29%22%3E%3Ccircle%20cx%3D%229%22%20cy%3D%229%22%20r%3D%229%22%20fill%3D%22%23a5adb3%22%20transform%3D%22translate%285781%201277%29%22%2F%3E%3Cpath%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-linecap%3D%22round%22%20stroke-width%3D%222%22%20d%3D%22M5788.875%201289.375l3-3-3-3%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); }

/* 非活性 */
.c-arrow.-disabled::before,
.-disabled .c-arrow::before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2218%22%20height%3D%2218%22%3E%3Cg%20transform%3D%22translate%28-5781%20-1277%29%22%3E%3Ccircle%20cx%3D%229%22%20cy%3D%229%22%20r%3D%229%22%20fill%3D%22%23a5adb3%22%20transform%3D%22translate%285781%201277%29%22%2F%3E%3Cpath%20fill%3D%22none%22%20stroke%3D%22%23dce7ee%22%20stroke-linecap%3D%22round%22%20stroke-width%3D%222%22%20d%3D%22M5788.875%201289.375l3-3-3-3%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); }

.c-arrow.-disabled:after,
.-disabled .c-arrow:after {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2218%22%20height%3D%2218%22%3E%3Cg%20transform%3D%22translate%28-5781%20-1277%29%22%3E%3Ccircle%20cx%3D%229%22%20cy%3D%229%22%20r%3D%229%22%20fill%3D%22%23a5adb3%22%20transform%3D%22translate%285781%201277%29%22%2F%3E%3Cpath%20fill%3D%22none%22%20stroke%3D%22%23dce7ee%22%20stroke-linecap%3D%22round%22%20stroke-width%3D%222%22%20d%3D%22M5788.875%201289.375l3-3-3-3%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); }

.c-arrow.-bottom {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg); }

/* 開閉アイコン
----------------------------------------------------------------- */
.c-toggle {
  position: relative;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background-color: #02a2f7;
  -webkit-transition: ease transform 0.2s;
  transition: ease transform 0.2s; }
  .c-toggle.-accordion {
    position: absolute;
    top: 20px;
    right: 0;
    width: 18px;
    height: 18px; }
  .c-toggle:before {
    content: '';
    position: absolute;
    top: calc(50% - 1px);
    left: calc(50% - 5px);
    width: 10px;
    height: 2px;
    background-color: #fff;
    border-radius: 2px;
    -webkit-transition: ease transform 0.2s;
    transition: ease transform 0.2s; }
  .c-toggle:after {
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
    content: '';
    position: absolute;
    top: calc(50% - 1px);
    left: calc(50% - 5px);
    width: 10px;
    height: 2px;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2220%22%20height%3D%223%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M1.5%200h17a1.5%201.5%200%200%201%200%203h-17a1.5%201.5%200%200%201%200-3z%22%20%2F%3E%3C%2Fsvg%3E");
    background-color: #fff;
    border-radius: 2px;
    -webkit-transition: ease transform 0.2s;
    transition: ease transform 0.2s; }
  .p-main-menu__item.is-active .c-toggle, .c-toggle.is-active {
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg); }
    .p-main-menu__item.is-active .c-toggle:before, .c-toggle.is-active:before {
      -webkit-transform: rotate(90deg);
              transform: rotate(90deg); }

/* リスト
----------------------------------------------------------------- */
.c-list {
  line-height: 1.75; }
  @media only screen and (max-width: 47.9375em) {
    .c-image + .c-list {
      margin-top: 21px; } }
  @media print, screen and (min-width: 48em) {
    .c-image + .c-list {
      margin-top: 24px; } }
  @media only screen and (max-width: 47.9375em) {
    .c-heading-2 + .c-list {
      margin-top: 12px; } }
  @media print, screen and (min-width: 48em) {
    .c-heading-2 + .c-list {
      margin-top: 18px; } }
  @media only screen and (max-width: 47.9375em) {
    .c-heading-3 + .c-list {
      margin-top: 16px; } }
  @media print, screen and (min-width: 48em) {
    .c-heading-3 + .c-list {
      margin-top: 22px; } }
  @media only screen and (max-width: 47.9375em) {
    .c-heading-4 + .c-list {
      margin-top: 14px; } }
  @media print, screen and (min-width: 48em) {
    .c-heading-4 + .c-list {
      margin-top: 16px; } }
  @media only screen and (max-width: 47.9375em) {
    .c-sentence + .c-list,
    .c-list + .c-list {
      margin-top: 12px; } }
  @media print, screen and (min-width: 48em) {
    .c-sentence + .c-list,
    .c-list + .c-list {
      margin-top: 16px; } }

/* リンクリスト */
.c-list.-link > li {
  border-bottom: 1px solid #ccc; }
  .c-list.-link > li > a {
    display: block;
    position: relative;
    padding-top: 16px;
    padding-right: 24px;
    padding-bottom: 16px;
    font-size: 14px;
    font-size: 0.875rem;
    font-weight: bold; }
    @media print, screen and (min-width: 61.25em) {
      .c-list.-link > li > a {
        padding-right: 32px;
        font-size: 16px;
        font-size: 1rem; } }

.c-list.-link .c-arrow {
  position: absolute;
  top: calc(50% - 9px);
  right: 0;
  width: 18px;
  height: 18px; }
  @media print, screen and (min-width: 61.25em) {
    .c-list.-link .c-arrow {
      top: calc(50% - 12px);
      width: 24px;
      height: 24px; } }

.c-list.-outline > li {
  border-bottom: 1px solid #ccc; }
  .c-list.-outline > li > a {
    display: block;
    position: relative;
    padding-top: 16px;
    padding-right: 24px;
    padding-bottom: 16px;
    font-size: 14px;
    font-size: 0.875rem;
    font-weight: bold; }
    @media print, screen and (min-width: 61.25em) {
      .c-list.-outline > li > a {
        padding-right: 32px;
        font-size: 16px;
        font-size: 1rem; } }
    .c-list.-outline > li > a:after {
      position: absolute;
      top: calc(16px + 0.7em);
      right: 2px;
      content: '';
      width: 6px;
      height: 9px;
      background-size: cover;
      background-position: 0 0;
      background-repeat: no-repeat;
      display: inline-block;
      background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%226%22%20height%3D%228%22%3E%3Cpath%20fill%3D%22none%22%20stroke%3D%22%2302a2f7%22%20stroke-linecap%3D%22round%22%20stroke-width%3D%222%22%20d%3D%22M1%207l3-3-3-3%22%20%2F%3E%3C%2Fsvg%3E");
      -webkit-transform: rotate(90deg);
              transform: rotate(90deg); }

@media print, screen and (min-width: 48em) {
  .c-list.-S-2-XS-1 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; } }

@media print, screen and (min-width: 48em) {
  .c-list.-S-2-XS-1 > li {
    width: calc(50% - 10px); } }

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

/**
 * 装飾付き（円）
 */
.c-list.-disc > li {
  position: relative;
  padding-left: 14px; }
  .c-list.-disc > li + li {
    margin-top: 3px; }
  .c-list.-disc > li:before {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    width: 6px;
    height: 6px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    background-color: #ccc;
    border-radius: 50%;
    top: 0.75em; }

/**
 * 装飾付き（数字）
 */
.c-list--decimal {
  list-style-type: decimal;
  list-style-position: inside;
  text-indent: -1em;
  padding-left: 1em; }

@media only screen and (max-width: 47.9375em) {
  .c-list--muted, .c-list--solution {
    font-size: 14px;
    font-size: 0.875rem; } }

@media print, screen and (min-width: 48em) {
  .c-list--muted, .c-list--solution {
    font-size: 16px;
    font-size: 1rem; } }

/**
 * 文字サイズ小
 */
@media only screen and (max-width: 47.9375em) {
  .c-list--muted.c-list--disc > li:before, .c-list--muted.c-list--solution > li:before {
    top: 0.55em; } }

@media print, screen and (min-width: 48em) {
  .c-list--muted.c-list--disc > li:before, .c-list--muted.c-list--solution > li:before {
    top: 0.75em; } }

.c-list--check li {
  position: relative;
  font-weight: bold;
  color: #012169;
  -webkit-font-feature-settings: 'palt' 1;
          font-feature-settings: 'palt' 1; }
  @media only screen and (max-width: 47.9375em) {
    .c-list--check li {
      font-family: "YakuHanJP", "Noto Sans CJK JP Subset", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo"; } }
  @media print, screen and (min-width: 48em) {
    .c-list--check li {
      font-family: "YakuHanJP", "Noto Sans CJK JP Subset", "Yu Gothic", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo"; } }
  @media only screen and (max-width: 47.9375em) {
    .c-list--check li {
      padding-left: 24px;
      font-size: 14px;
      font-size: 0.875rem; } }
  @media print, screen and (min-width: 48em) {
    .c-list--check li {
      padding-left: 42px;
      font-size: 22px;
      font-size: 1.375rem; } }
  .c-list--check li:not(:first-of-type) {
    margin-top: 4px; }
  .c-list--check li:before {
    content: '';
    position: absolute;
    left: 4px;
    display: inline-block;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg); }
    @media only screen and (max-width: 47.9375em) {
      .c-list--check li:before {
        top: 0.2em;
        width: 7px;
        height: 13px;
        border-color: #fffb26;
        border-width: 0 2px 2px 0;
        border-style: solid; } }
    @media print, screen and (min-width: 48em) {
      .c-list--check li:before {
        top: 0.45em;
        width: 13px;
        height: 19px;
        border-color: #fffb26;
        border-width: 0 4px 4px 0;
        border-style: solid; } }
    .browser-is-ie .c-list--check li:before {
      top: 0.3em; }

.c-list--check.c-list--reason > li {
  font-family: "YakuHanJP", "Noto Sans CJK JP Subset", "Yu Gothic Medium", "游ゴシック Medium", "Yu Gothic", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo";
  font-weight: normal;
  color: #000; }

/**
 * 装飾付き（注釈つき）
 * <li><span>※</span>テキスト</li>
 */
.c-list.-note li {
  text-indent: calc(-1em - 0.2rem);
  padding-left: calc(1em + 0.2rem); }
  .c-list.-note li:before {
    content: '※';
    margin-right: 0.2rem; }
    @media print, screen and (min-width: 48em) {
      .browser-is-ie .c-list.-note li:before {
        margin-top: 0.1em; } }

@media print, screen and (min-width: 48em) {
  .c-list--solution {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-left: -20px; } }

.c-list--solution > li {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }
  @media print, screen and (min-width: 48em) {
    .c-list--solution > li {
      width: calc(50% - 20px);
      margin-left: 20px; } }

.c-list--no-margin {
  margin-top: 0; }

.c-list--bold {
  -webkit-font-feature-settings: 'palt' 1;
          font-feature-settings: 'palt' 1;
  font-weight: bold; }
  @media only screen and (max-width: 47.9375em) {
    .c-list--bold {
      font-family: "YakuHanJP", "Noto Sans CJK JP Subset", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo"; } }
  @media print, screen and (min-width: 48em) {
    .c-list--bold {
      font-family: "YakuHanJP", "Noto Sans CJK JP Subset", "Yu Gothic", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo"; } }

/* 複数カラム
----------------------------------------------------------------- */
.c-column {
  margin-right: -10px;
  margin-left: -10px; }
  @media print, screen and (min-width: 48em) {
    .c-column {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; } }

.c-column__item {
  margin-right: 10px;
  margin-left: 10px; }
  .c-column__item > *:first-child {
    margin-top: 0; }

/**
 * XS…1列
 * S …2列
 */
@media only screen and (max-width: 47.9375em) {
  .c-column.-S-2-XS-1 > .c-column__item {
    margin-top: 20px; }
    .c-column.-S-2-XS-1 > .c-column__item:nth-child(0) {
      margin-top: 0; }
    .c-column.-S-2-XS-1 > .c-column__item:nth-child(1) {
      margin-top: 0; } }

@media print, screen and (min-width: 48em) {
  .c-column.-S-2-XS-1 > .c-column__item {
    width: calc(50% - 20px);
    margin-top: 40px; }
    .c-column.-S-2-XS-1 > .c-column__item:nth-child(0) {
      margin-top: 0; }
    .c-column.-S-2-XS-1 > .c-column__item:nth-child(1) {
      margin-top: 0; }
    .c-column.-S-2-XS-1 > .c-column__item:nth-child(2) {
      margin-top: 0; } }

/**
 * XS…1列
 * S …2列
 * M …3列
 */
.c-column.-S-2-M-3-XS-1, .c-column.-home-people {
  display: block; }
  @media print, screen and (min-width: 48em) {
    .c-column.-S-2-M-3-XS-1, .c-column.-home-people {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; } }
  @media only screen and (max-width: 47.9375em) {
    .c-column.-S-2-M-3-XS-1 > .c-column__item, .c-column.-home-people > .c-column__item {
      margin-top: 20px; }
      .c-column.-S-2-M-3-XS-1 > .c-column__item:nth-child(0), .c-column.-home-people > .c-column__item:nth-child(0) {
        margin-top: 0; }
      .c-column.-S-2-M-3-XS-1 > .c-column__item:nth-child(1), .c-column.-home-people > .c-column__item:nth-child(1) {
        margin-top: 0; } }
  @media print, screen and (min-width: 48em) {
    .c-column.-S-2-M-3-XS-1 > .c-column__item, .c-column.-home-people > .c-column__item {
      width: calc(50% - 20px);
      margin-top: 40px; }
      .c-column.-S-2-M-3-XS-1 > .c-column__item:nth-child(0), .c-column.-home-people > .c-column__item:nth-child(0) {
        margin-top: 0; }
      .c-column.-S-2-M-3-XS-1 > .c-column__item:nth-child(1), .c-column.-home-people > .c-column__item:nth-child(1) {
        margin-top: 0; }
      .c-column.-S-2-M-3-XS-1 > .c-column__item:nth-child(2), .c-column.-home-people > .c-column__item:nth-child(2) {
        margin-top: 0; } }
  @media print, screen and (min-width: 61.25em) {
    .c-column.-S-2-M-3-XS-1 > .c-column__item, .c-column.-home-people > .c-column__item {
      width: calc(33.3% - 20px);
      margin-top: 40px; }
      .c-column.-S-2-M-3-XS-1 > .c-column__item:nth-child(0), .c-column.-home-people > .c-column__item:nth-child(0) {
        margin-top: 0; }
      .c-column.-S-2-M-3-XS-1 > .c-column__item:nth-child(1), .c-column.-home-people > .c-column__item:nth-child(1) {
        margin-top: 0; }
      .c-column.-S-2-M-3-XS-1 > .c-column__item:nth-child(2), .c-column.-home-people > .c-column__item:nth-child(2) {
        margin-top: 0; }
      .c-column.-S-2-M-3-XS-1 > .c-column__item:nth-child(3), .c-column.-home-people > .c-column__item:nth-child(3) {
        margin-top: 0; } }

@media only screen and (max-width: 47.9375em) {
  .c-column.-home-people {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; } }

/**
 * XS…1列
 * S …3列
 */
.c-column.-S-3-XS-1 {
  display: block; }
  @media print, screen and (min-width: 48em) {
    .c-column.-S-3-XS-1 {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; } }
  @media only screen and (max-width: 47.9375em) {
    .c-column.-S-3-XS-1 > .c-column__item {
      margin-top: 20px; }
      .c-column.-S-3-XS-1 > .c-column__item:nth-child(0) {
        margin-top: 0; }
      .c-column.-S-3-XS-1 > .c-column__item:nth-child(1) {
        margin-top: 0; } }
  @media print, screen and (min-width: 48em) {
    .c-column.-S-3-XS-1 > .c-column__item {
      width: calc(33.3% - 20px);
      margin-top: 40px;
      margin-right: 10px;
      margin-left: 10px; }
      .c-column.-S-3-XS-1 > .c-column__item:nth-child(0) {
        margin-top: 0; }
      .c-column.-S-3-XS-1 > .c-column__item:nth-child(1) {
        margin-top: 0; }
      .c-column.-S-3-XS-1 > .c-column__item:nth-child(2) {
        margin-top: 0; }
      .c-column.-S-3-XS-1 > .c-column__item:nth-child(3) {
        margin-top: 0; } }

/**
 * M…3列
 */
.c-column.-M-3 {
  display: block; }
  @media print, screen and (min-width: 48em) {
    .c-column.-M-3 {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; } }
  .c-column.-M-3 > .c-column__item {
    margin-top: 20px; }
    .c-column.-M-3 > .c-column__item:nth-child(0) {
      margin-top: 0; }
    .c-column.-M-3 > .c-column__item:nth-child(1) {
      margin-top: 0; }
    @media print, screen and (min-width: 61.25em) {
      .c-column.-M-3 > .c-column__item {
        width: calc(33.3% - 20px);
        margin-top: 40px;
        margin-right: 10px;
        margin-left: 10px; }
        .c-column.-M-3 > .c-column__item:nth-child(0) {
          margin-top: 0; }
        .c-column.-M-3 > .c-column__item:nth-child(1) {
          margin-top: 0; }
        .c-column.-M-3 > .c-column__item:nth-child(2) {
          margin-top: 0; }
        .c-column.-M-3 > .c-column__item:nth-child(3) {
          margin-top: 0; } }

/**
 * XS…2列
 * S …2列
 * M …3列
*/
.c-column.-M-3-S-2-XS-2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-right: -10px;
  margin-left: -10px; }
  .c-column.-M-3-S-2-XS-2 > .c-column__item {
    width: calc(50% - 20px);
    margin-top: 40px;
    margin-right: 10px;
    margin-left: 10px; }
    .c-column.-M-3-S-2-XS-2 > .c-column__item:nth-child(0) {
      margin-top: 0; }
    .c-column.-M-3-S-2-XS-2 > .c-column__item:nth-child(1) {
      margin-top: 0; }
    .c-column.-M-3-S-2-XS-2 > .c-column__item:nth-child(2) {
      margin-top: 0; }
    @media print, screen and (min-width: 61.25em) {
      .c-column.-M-3-S-2-XS-2 > .c-column__item {
        width: calc(33.3% - 20px); }
        .c-column.-M-3-S-2-XS-2 > .c-column__item:nth-child(0) {
          margin-top: 0; }
        .c-column.-M-3-S-2-XS-2 > .c-column__item:nth-child(1) {
          margin-top: 0; }
        .c-column.-M-3-S-2-XS-2 > .c-column__item:nth-child(2) {
          margin-top: 0; }
        .c-column.-M-3-S-2-XS-2 > .c-column__item:nth-child(3) {
          margin-top: 0; } }

/**
 * XS…1列
 * S …2列
 * M …4列
 */
.c-column.-S-2-M-4-XS-1 {
  display: block; }
  @media print, screen and (min-width: 48em) {
    .c-column.-S-2-M-4-XS-1 {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; } }
  @media print, screen and (min-width: 48em) {
    .c-column.-S-2-M-4-XS-1 > .c-column__item {
      width: calc(50% - 20px);
      margin-top: 40px; }
      .c-column.-S-2-M-4-XS-1 > .c-column__item:nth-child(0) {
        margin-top: 0; }
      .c-column.-S-2-M-4-XS-1 > .c-column__item:nth-child(1) {
        margin-top: 0; }
      .c-column.-S-2-M-4-XS-1 > .c-column__item:nth-child(2) {
        margin-top: 0; } }
  @media print, screen and (min-width: 61.25em) {
    .c-column.-S-2-M-4-XS-1 > .c-column__item {
      width: calc(25% - 20px);
      margin-top: 40px; }
      .c-column.-S-2-M-4-XS-1 > .c-column__item:nth-child(0) {
        margin-top: 0; }
      .c-column.-S-2-M-4-XS-1 > .c-column__item:nth-child(1) {
        margin-top: 0; }
      .c-column.-S-2-M-4-XS-1 > .c-column__item:nth-child(2) {
        margin-top: 0; }
      .c-column.-S-2-M-4-XS-1 > .c-column__item:nth-child(3) {
        margin-top: 0; }
      .c-column.-S-2-M-4-XS-1 > .c-column__item:nth-child(4) {
        margin-top: 0; } }

.c-column.-message {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  margin: 0; }
  @media print, screen and (min-width: 48em) {
    .c-column.-message .c-image:first-child img {
      max-width: 240px; } }
  @media only screen and (max-width: 47.9375em) {
    .c-column.-message .c-image:first-child img {
      max-width: 120px; } }
  .c-column.-message .c-image + .c-image {
    margin-right: 20px; }
    @media only screen and (max-width: 47.9375em) {
      .c-column.-message .c-image + .c-image img {
        max-width: 75px; } }
  .c-column.-message .c-image img {
    width: auto; }

/* 左右の余白40px */
.c-column.-gap-40 {
  margin-right: -20px;
  margin-left: -20px; }
  .c-column.-gap-40 .c-column__item {
    margin-right: 20px;
    margin-left: 20px; }
  @media only screen and (max-width: 47.9375em) {
    .c-column.-gap-40.-S-2-XS-1 > .c-column__item {
      margin-top: 25px; }
      .c-column.-gap-40.-S-2-XS-1 > .c-column__item:nth-child(0) {
        margin-top: 0; }
      .c-column.-gap-40.-S-2-XS-1 > .c-column__item:nth-child(1) {
        margin-top: 0; } }
  @media print, screen and (min-width: 48em) {
    .c-column.-gap-40.-S-2-XS-1 > .c-column__item {
      width: calc(50% - 40px); } }

/* 上下左右の余白10px */
.c-column.-gap-10 {
  margin-right: -5px;
  margin-left: -5px; }
  .c-column.-gap-10 .c-column__item {
    margin-right: 5px;
    margin-left: 5px;
    width: calc(50% - 10px); }
  .c-column.-gap-10 > .c-column__item {
    margin-top: 10px; }
  .c-column.-gap-10.-M-3-S-2-XS-2 .c-column__item {
    width: calc(50% - 10px); }
    @media print, screen and (min-width: 61.25em) {
      .c-column.-gap-10.-M-3-S-2-XS-2 .c-column__item {
        width: calc(33.3% - 10px); } }

@media print, screen and (min-width: 48em) {
  .c-column + .c-column {
    margin-top: 74px; } }

@media only screen and (max-width: 47.9375em) {
  .c-column.-list .c-column__item {
    margin-top: 0; } }

@media only screen and (max-width: 47.9375em) {
  .c-column + .c-column {
    margin-top: 20px; } }

/**
 * 募集要項
 */
@media only screen and (max-width: 47.9375em) {
  .c-column.-S-2-XS-1.-requirements {
    margin-right: 0;
    margin-left: 0; } }

@media print, screen and (min-width: 48em) {
  .c-column.-S-2-XS-1.-requirements {
    margin-top: 16px;
    margin-left: -40px; } }

@media only screen and (max-width: 47.9375em) {
  .c-column.-S-2-XS-1.-requirements > .c-column__item {
    margin: 0; } }

@media print, screen and (min-width: 48em) {
  .c-column.-S-2-XS-1.-requirements > .c-column__item {
    width: calc(50% - 40px);
    margin-right: 0;
    margin-left: 40px;
    margin-top: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; } }

.c-grid {
  display: -ms-grid;
  display: grid; }

/* 列数 */
.c-grid.-col-2 {
  -ms-grid-rows: auto;
  -ms-grid-columns: 1fr 1fr;
      grid-template: 'item1 item2' / 1fr 1fr; }

.c-grid__item:nth-of-type(1) {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  grid-area: item1; }

.c-grid__item:nth-of-type(2) {
  -ms-grid-row: 1;
  -ms-grid-column: 2;
  grid-area: item2; }

.c-grid__item:nth-of-type(3) {
  grid-area: item3; }

.c-grid__item:nth-of-type(4) {
  grid-area: item4; }

.c-grid__item:nth-of-type(5) {
  grid-area: item5; }

.c-grid__item:nth-of-type(6) {
  grid-area: item6; }

.c-grid__item:nth-of-type(7) {
  grid-area: item7; }

.c-grid__item:nth-of-type(8) {
  grid-area: item8; }

.c-grid__item:nth-of-type(9) {
  grid-area: item9; }

.c-grid__item:nth-of-type(10) {
  grid-area: item10; }

/* 余白 */
.c-grid.-gap-20 {
  gap: 20px; }

/* カード形式
----------------------------------------------------------------- */
.c-card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  position: relative; }
  .c-card > a:not(.c-card__link) {
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .c-column .c-card {
    height: 100%; }

.c-card__link {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  background-color: #fff;
  border-radius: 20px;
  -webkit-box-shadow: 0 3px 10px 0 rgba(61, 99, 120, 0.15);
          box-shadow: 0 3px 10px 0 rgba(61, 99, 120, 0.15); }
  @media only screen and (max-width: 47.9375em) {
    .c-card__link {
      position: relative; } }
  @media print, screen and (min-width: 61.25em) {
    .c-card__link {
      -webkit-transition: -webkit-box-shadow 0.7s ease;
      transition: -webkit-box-shadow 0.7s ease;
      transition: box-shadow 0.7s ease;
      transition: box-shadow 0.7s ease, -webkit-box-shadow 0.7s ease; } }
  @media print, screen and (min-width: 61.25em) {
    .c-card__link:hover,
    a:hover + .c-card__link {
      -webkit-transition: -webkit-box-shadow 0.2s ease;
      transition: -webkit-box-shadow 0.2s ease;
      transition: box-shadow 0.2s ease;
      transition: box-shadow 0.2s ease, -webkit-box-shadow 0.2s ease;
      -webkit-box-shadow: 0 10px 20px 0 rgba(61, 99, 120, 0.15);
              box-shadow: 0 10px 20px 0 rgba(61, 99, 120, 0.15); } }
  @media print, screen and (min-width: 61.25em) {
    .c-card__link:hover .c-card__thumb > span,
    a:hover + .c-card__link .c-card__thumb > span {
      -webkit-transform: scale(1.1);
              transform: scale(1.1);
      -webkit-transition: -webkit-transform 0.2s ease;
      transition: -webkit-transform 0.2s ease;
      transition: transform 0.2s ease;
      transition: transform 0.2s ease, -webkit-transform 0.2s ease; } }
  @media print, screen and (min-width: 61.25em) {
    .c-card__link:hover .c-card__more > span,
    a:hover + .c-card__link .c-card__more > span {
      -webkit-transition: color 0.2s ease;
      transition: color 0.2s ease;
      color: #0062cc; } }
  @media print, screen and (min-width: 61.25em) {
    .c-card__link:hover .c-card__more > .c-arrow,
    a:hover + .c-card__link .c-card__more > .c-arrow {
      -webkit-transition: background-image 0.2s ease;
      transition: background-image 0.2s ease; } }

.c-card__content {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }
  @media only screen and (max-width: 47.9375em) {
    .c-card__content {
      padding: 24px 24px 22px; } }
  @media print, screen and (min-width: 48em) {
    .c-card__content {
      padding: 40px 40px 40px 40px; } }
  .c-card__content > *:first-child {
    margin-top: 0; }

/* 仕事内容についてもっと知る */
@media print, screen and (min-width: 48em) {
  .c-card__content.-business {
    padding: 40px 40px 40px 50px; } }

.c-card__head {
  position: relative; }
  @media only screen and (max-width: 47.9375em) {
    .c-card__head {
      padding-bottom: 12px;
      position: relative; }
      .c-card__head:after {
        content: '';
        position: absolute;
        left: 0;
        width: 30px;
        height: 2px;
        background-color: #fffb26;
        bottom: 0; } }
  @media print, screen and (min-width: 48em) {
    .c-card__head {
      padding-bottom: 18px;
      position: relative; }
      .c-card__head:after {
        content: '';
        position: absolute;
        left: 0;
        width: 50px;
        height: 2px;
        background-color: #fffb26;
        bottom: 0; } }

.c-card__en-name {
  font-family: brandon-grotesque, sans-serif;
  -webkit-font-feature-settings: 'palt' 1;
          font-feature-settings: 'palt' 1;
  font-size: 30px;
  font-size: 1.875rem;
  color: #012169; }

.c-card__text {
  color: #000;
  line-height: 1.5; }
  @media only screen and (max-width: 47.9375em) {
    .c-card__text {
      font-size: 14px;
      font-size: 0.875rem; } }
  @media print, screen and (min-width: 48em) {
    .c-card__text {
      font-size: 16px;
      font-size: 1rem; } }

.c-card__text.-badge {
  margin-top: -5px; }
  .c-card__text.-badge .c-badge {
    margin-top: 5px;
    margin-right: 5px;
    margin-left: 0; }

/*
説明会のみで使用
.c-card__text.-badgeの中に入れる
*/
.c-card__inner-text {
  margin-top: 5px;
  line-height: 2em;
  display: inline-block; }

.c-card__title {
  -webkit-font-feature-settings: 'palt' 1;
          font-feature-settings: 'palt' 1;
  font-weight: bold;
  color: #000;
  line-height: 1.36;
  margin-top: 8px;
  position: relative;
  z-index: 2; }
  @media only screen and (max-width: 47.9375em) {
    .c-card__title {
      font-family: "YakuHanJP", "Noto Sans CJK JP Subset", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo"; } }
  @media print, screen and (min-width: 48em) {
    .c-card__title {
      font-family: "YakuHanJP", "Noto Sans CJK JP Subset", "Yu Gothic", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo"; } }
  @media only screen and (max-width: 47.9375em) {
    .c-card__title {
      font-size: 16px;
      font-size: 1rem; } }
  @media print, screen and (min-width: 48em) {
    .c-card__title {
      font-size: 22px;
      font-size: 1.375rem; } }

.c-card__title.-business {
  margin-top: 0; }

@media only screen and (max-width: 47.9375em) {
  .c-card__body {
    margin-top: 10px; } }

@media print, screen and (min-width: 48em) {
  .c-card__body {
    margin-top: 34px; } }

.c-card__summary {
  line-height: 1.625;
  color: #000; }
  @media only screen and (max-width: 47.9375em) {
    .c-card__summary {
      font-size: 14px;
      font-size: 0.875rem; } }
  @media print, screen and (min-width: 48em) {
    .c-card__summary {
      font-size: 16px;
      font-size: 1rem; } }

.c-card__tags {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  position: relative;
  z-index: 2; }
  @media only screen and (max-width: 47.9375em) {
    .c-card__tags {
      margin-top: 10px; } }
  @media print, screen and (min-width: 48em) {
    .c-card__tags {
      margin-top: 10px; } }
  .c-card__tags > li {
    color: #000;
    margin-right: 8px; }
    @media only screen and (max-width: 47.9375em) {
      .c-card__tags > li {
        font-size: 14px;
        font-size: 0.875rem; } }
    @media print, screen and (min-width: 48em) {
      .c-card__tags > li {
        font-size: 16px;
        font-size: 1rem; } }
    .c-card__tags > li:last-of-type {
      margin-right: 0; }
  .c-card__tags a {
    color: #000; }
    .c-card__tags a:hover {
      color: #02a2f7; }

.c-card__desc {
  margin-top: 16px;
  color: #000; }

.c-card__more {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  @media only screen and (max-width: 47.9375em) {
    .c-card__more {
      margin-top: 16px; } }
  @media print, screen and (min-width: 48em) {
    .c-card__more {
      margin-top: 26px; } }
  @media print, screen and (min-width: 61.25em) {
    .c-card__more {
      -webkit-transition: color 0.7s ease;
      transition: color 0.7s ease; } }
  .c-card__more > span {
    font-family: brandon-grotesque, sans-serif;
    -webkit-font-feature-settings: 'palt' 1;
            font-feature-settings: 'palt' 1;
    margin-top: -0.3em;
    margin-right: 12px;
    color: #02a2f7;
    font-weight: bold;
    line-height: 1; }
    @media only screen and (max-width: 47.9375em) {
      .c-card__more > span {
        font-size: 24px;
        font-size: 1.5rem; } }
    @media print, screen and (min-width: 48em) {
      .c-card__more > span {
        font-size: 30px;
        font-size: 1.875rem; } }
  @media only screen and (max-width: 47.9375em) {
    .c-card__more .c-arrow {
      width: 18px;
      height: 18px; } }
  @media print, screen and (min-width: 48em) {
    .c-card__more .c-arrow {
      width: 24px;
      height: 24px; } }

.c-card__more.-business {
  margin-top: 39px; }

.c-card__thumb {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 56.25%;
  overflow: hidden;
  border-radius: 20px 20px 0 0; }
  .c-card__thumb > span {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: 50% 50%; }
    @media print, screen and (min-width: 61.25em) {
      .c-card__thumb > span {
        -webkit-backface-visibility: hidden;
                backface-visibility: hidden;
        -webkit-transition: -webkit-transform 0.7s ease;
        transition: -webkit-transform 0.7s ease;
        transition: transform 0.7s ease;
        transition: transform 0.7s ease, -webkit-transform 0.7s ease; } }

.c-card__thumb.-people {
  padding-top: 78%; }

.c-card__thumb.-jobfair {
  padding-top: 41%; }

.c-card__job {
  font-family: brandon-grotesque, sans-serif;
  font-weight: bold;
  position: absolute;
  font-size: 24px;
  font-size: 1.5rem;
  line-height: 1;
  bottom: 12px;
  left: 12px;
  padding-top: 6px;
  padding-right: 15px;
  padding-bottom: 10px;
  padding-left: 15px;
  color: #fff;
  border-radius: 10px;
  letter-spacing: 0.035em; }
  @media print, screen and (min-width: 48em) {
    .c-card__job {
      -webkit-backface-visibility: hidden;
              backface-visibility: hidden; } }
  @media only screen and (max-width: 47.9375em) {
    .c-card__job {
      bottom: 5px;
      left: 5px;
      padding-top: 4px;
      padding-right: 10px;
      padding-bottom: 4px;
      padding-left: 10px;
      font-size: 16px;
      border-radius: 5px; } }
  .c-card__job.-engineer {
    background-color: #f75961; }
  .c-card__job.-sales {
    background-color: #f7bc34; }
  .c-card__job.-creative {
    background-color: #d3db00; }
  .c-card__job.-pr, .c-card__job.-PR {
    background-color: #34b0c0; }
  .c-card__job.-marketing {
    background-color: #5078ce; }
  .c-card__job.-planning, .c-card__job.-business {
    background-color: #ae5ccb; }

@media only screen and (max-width: 47.9375em) {
  .p-project-slide .c-card__thumb {
    display: none; } }

/* 横並び */
.c-card.-row + .c-card.-row {
  margin-top: 40px; }
  @media only screen and (max-width: 47.9375em) {
    .c-card.-row + .c-card.-row {
      margin-top: 20px; } }

.c-card.-row .c-card__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse; }

.c-card.-row .c-card__thumb {
  width: 450px;
  padding-top: 0;
  height: 100%;
  border-radius: 0 20px 20px 0; }

.c-card.-row .c-card__content {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1; }

@media only screen and (max-width: 47.9375em) {
  .c-card.-row .c-card__link {
    display: block;
    width: 100%; }
  .c-card.-row .c-card__thumb {
    width: 100%;
    padding-top: 56.25%;
    height: 0;
    overflow: hidden;
    border-radius: 20px 20px 0 0; } }

/* 社員紹介ページ：インタビュー動画が1件のみの場合の横並びカード */
/* サムネイル幅450pxに対して16:9（253px）にし、YouTubeサムネイルの上下の黒帯をcoverクロップで切り落とす */
.p-people-related-video .c-card.-row .c-card__link {
  height: 253px; }

.p-people-related-video .c-card.-row .c-card__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }

.p-people-related-video .c-card.-row .c-button {
  margin-top: 16px; }

@media only screen and (max-width: 47.9375em) {
  .p-people-related-video .c-card.-row .c-card__link {
    height: auto; } }

/* カレント */
.c-card.-current .c-card__link {
  background-color: #02a2f7;
  -webkit-box-shadow: none;
          box-shadow: none; }

.c-card.-current .c-card__title,
.c-card.-current .c-card__desc,
.c-card.-current .c-card__more > span {
  color: #fff; }

.c-card.-current .c-card__more {
  display: none; }

/* 職種紹介 */
@media only screen and (max-width: 47.9375em) {
  .c-card.-job .c-card__desc {
    margin-top: 8px; } }

@media only screen and (max-width: 47.9375em) {
  .c-card.-job .c-list.-link {
    margin-top: 4px; } }

@media only screen and (max-width: 47.9375em) {
  .c-card.-job .c-list.-link > li > a {
    padding-top: 12px;
    padding-bottom: 12px; } }

@media only screen and (max-width: 47.9375em) {
  .c-card.-jobfair .c-card__link {
    padding-top: 20px;
    padding-right: 5.334%;
    padding-bottom: 20px;
    padding-left: 5.334%; } }

@media print, screen and (min-width: 48em) {
  .c-card.-jobfair .c-card__link {
    padding: 80px; } }

.c-card__badges {
  margin-top: -10px !important;
  margin-left: -10px; }
  .c-card__badges .c-badge {
    margin-top: 10px;
    margin-left: 10px; }
  .c-card__badges + .c-card__title {
    margin-top: 12px; }
    .c-card__badges + .c-card__title + .c-card__desc {
      margin-top: 12px; }

.c-bg-text {
  font-family: brandon-grotesque, sans-serif;
  -webkit-font-feature-settings: 'palt' 1;
          font-feature-settings: 'palt' 1;
  font-size: 120px;
  font-size: 7.5rem;
  position: absolute;
  font-weight: bold;
  color: #02a2f7;
  opacity: 0.08;
  line-height: 1;
  z-index: 0; }
  @media print, screen and (min-width: 61.25em) {
    .c-bg-text {
      font-size: 300px;
      font-size: 18.75rem; } }
  .c-block__inner .c-bg-text {
    z-index: -1; }
  .c-bg-text.-feature {
    padding-top: 52%;
    top: -32px;
    left: -4px; }
    @media print, screen and (min-width: 61.25em) {
      .c-bg-text.-feature {
        padding-top: 0;
        top: -38px;
        left: -25px; } }
  .c-bg-text.-project {
    font-size: 130px;
    font-size: 8.125rem;
    top: -55px;
    left: -10px; }
    @media print, screen and (min-width: 61.25em) {
      .c-bg-text.-project {
        font-size: 300px;
        font-size: 18.75rem;
        top: -130px;
        left: -19px; } }
  .c-bg-text.-culture {
    top: -40px;
    left: -8px;
    font-size: 130px;
    font-size: 8.125rem; }
    @media print, screen and (min-width: 61.25em) {
      .c-bg-text.-culture {
        top: -131px;
        left: -70px;
        font-size: 300px;
        font-size: 18.75rem; } }
  .c-bg-text.-introduction {
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%); }
    @media only screen and (max-width: 47.9375em) {
      .c-bg-text.-introduction {
        top: -10px;
        font-size: 130px;
        font-size: 8.125rem; } }
    @media print, screen and (min-width: 61.25em) {
      .c-bg-text.-introduction {
        font-size: 300px;
        font-size: 18.75rem;
        top: -70px; } }
  .c-bg-text.-people {
    top: 15px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%); }
  .c-bg-text.-selection {
    font-size: 130px;
    font-size: 8.125rem;
    padding-top: 52%;
    top: -33px;
    left: -5px; }
    @media print, screen and (min-width: 61.25em) {
      .c-bg-text.-selection {
        padding-top: 0;
        font-size: 300px;
        font-size: 18.75rem;
        top: -45px;
        left: -20px; } }
  .c-bg-text.-company {
    top: 5px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    font-size: 110px;
    font-size: 6.875rem; }
    @media print, screen and (min-width: 61.25em) {
      .c-bg-text.-company {
        font-size: 300px;
        font-size: 18.75rem;
        top: 15px; } }
  @media only screen and (max-width: 47.9375em) {
    .c-bg-text.-detail {
      font-size: 120px;
      font-size: 7.5rem;
      top: -90px;
      left: 50%;
      -webkit-transform: translateX(-50%);
              transform: translateX(-50%); } }
  @media print, screen and (min-width: 48em) {
    .c-bg-text.-detail {
      top: -200px;
      left: -140px; } }
  @media only screen and (max-width: 47.9375em) {
    .c-bg-text.-n01 {
      margin-left: -2px;
      margin-top: -50px;
      font-size: 100px;
      font-size: 6.25rem; } }
  @media print, screen and (min-width: 48em) {
    .c-bg-text.-n01 {
      margin-left: -12px;
      margin-top: -134px;
      font-size: 200px;
      font-size: 12.5rem; } }
  @media only screen and (max-width: 47.9375em) {
    .c-bg-text.-n02 {
      margin-left: -2px;
      margin-top: -50px;
      font-size: 100px;
      font-size: 6.25rem; } }
  @media print, screen and (min-width: 48em) {
    .c-bg-text.-n02 {
      margin-left: -12px;
      margin-top: -134px;
      font-size: 200px;
      font-size: 12.5rem; } }
  @media only screen and (max-width: 47.9375em) {
    .c-bg-text.-n03 {
      margin-left: -2px;
      margin-top: -50px;
      font-size: 100px;
      font-size: 6.25rem; } }
  @media print, screen and (min-width: 48em) {
    .c-bg-text.-n03 {
      margin-left: -12px;
      margin-top: -134px;
      font-size: 200px;
      font-size: 12.5rem; } }

/* セクション
----------------------------------------------------------------- */
/* 社員紹介一覧、スペシャルコンテンツ */
@media only screen and (max-width: 47.9375em) {
  .c-section-1 {
    margin-top: 40px; } }

@media print, screen and (min-width: 48em) {
  .c-section-1 {
    margin-top: 100px; } }

/* h3の上 */
@media only screen and (max-width: 47.9375em) {
  .c-section-2 {
    margin-top: 24px; } }

@media print, screen and (min-width: 48em) {
  .c-section-2 {
    margin-top: 40px; } }

/* メリット、サイトマップ */
@media only screen and (max-width: 47.9375em) {
  .c-section-3 {
    margin-top: 80px; } }

@media print, screen and (min-width: 48em) {
  .c-section-3 {
    margin-top: 140px; } }

/* h2の上 */
@media only screen and (max-width: 47.9375em) {
  .c-section-4, .p-404-block {
    margin-top: 40px; } }

@media print, screen and (min-width: 48em) {
  .c-section-4, .p-404-block {
    margin-top: 80px; } }

/* 使ってなさそう */
.c-section-5 {
  padding-top: 20px;
  padding-bottom: 80px; }

/*
  募集要項
  XXX:消したい
 */
@media only screen and (max-width: 47.9375em) {
  .c-section-6 {
    margin-top: 40px; } }

@media print, screen and (min-width: 48em) {
  .c-section-6 {
    margin-top: 50px; } }

/*
  取得者の声
  XXX:消したい
 */
@media only screen and (max-width: 47.9375em) {
  .c-section-7 {
    margin-top: 60px; } }

@media print, screen and (min-width: 48em) {
  .c-section-7 {
    margin-top: 120px; } }

/* 社員詳細年表のところ */
.c-section-6.-chronology {
  margin-top: 56px; }

/*
  募集要項
 */
@media only screen and (max-width: 47.9375em) {
  .c-section-8 {
    margin-top: 40px; } }

@media print, screen and (min-width: 48em) {
  .c-section-8 {
    margin-top: 80px; } }

.c-section + .c-section-8 {
  margin-top: 0; }

@media only screen and (max-width: 47.9375em) {
  .c-section-9 {
    margin-top: 30px; } }

@media print, screen and (min-width: 48em) {
  .c-section-9 {
    margin-top: 50px; } }

.c-section-9.-mt0 {
  margin-top: 0; }

/* 別窓アイコン
----------------------------------------------------------------- */
.c-blank, .c-table__editable a[target='_blank'] {
  padding-right: 16px;
  display: inline-block;
  position: relative; }
  .c-blank:after, .c-table__editable a[target='_blank']:after {
    position: absolute;
    display: inline-block;
    content: '';
    right: 0;
    top: 0.7em;
    width: 8px;
    height: 6px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    border-style: solid;
    border-width: 1px;
    border-color: #02a2f7;
    -webkit-transition: border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    margin-right: 2px; }
  .c-blank:before, .c-table__editable a[target='_blank']:before {
    position: absolute;
    display: inline-block;
    content: '';
    top: calc(0.7em + 2px);
    right: 0;
    width: 8px;
    height: 6px;
    border-style: solid;
    border-width: 0 1px 1px 0;
    border-color: #02a2f7;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    -webkit-transition: border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s; }
  @media print, screen and (min-width: 61.25em) {
    .c-blank:hover:after, .c-table__editable a[target='_blank']:hover:after,
    a:hover .c-blank:after,
    a:hover .c-table__editable a[target='_blank']:after,
    .c-table__editable a:hover a[target='_blank']:after {
      border-color: currentColor; } }
  @media print, screen and (min-width: 61.25em) {
    .c-blank:hover:before, .c-table__editable a[target='_blank']:hover:before,
    a:hover .c-blank:before,
    a:hover .c-table__editable a[target='_blank']:before,
    .c-table__editable a:hover a[target='_blank']:before {
      border-color: currentColor; } }
  .c-card__more .c-blank, .c-card__more .c-table__editable a[target='_blank'], .c-table__editable .c-card__more a[target='_blank'] {
    padding-right: 0;
    width: 10px;
    height: 8px; }
    .c-card__more .c-blank:before, .c-card__more .c-table__editable a[target='_blank']:before, .c-table__editable .c-card__more a[target='_blank']:before {
      top: 2px; }
    .c-card__more .c-blank:after, .c-card__more .c-table__editable a[target='_blank']:after, .c-table__editable .c-card__more a[target='_blank']:after {
      top: 0; }

/* 本文中で使用する */
.c-blank.-inline, .c-table__editable a.-inline[target='_blank'] {
  margin-right: 8px; }

/* ヘッダーで使用 */
.c-blank.-header:before, .c-table__editable a.-header[target='_blank']:before, .c-blank.-header:after, .c-table__editable a.-header[target='_blank']:after {
  display: none !important; }

.c-blank.-header > i, .c-table__editable a.-header[target='_blank'] > i {
  position: relative;
  display: inline-block;
  margin-left: 8px;
  width: 10px;
  height: 8px; }
  .c-blank.-header > i:after, .c-table__editable a.-header[target='_blank'] > i:after {
    position: absolute;
    display: inline-block;
    content: '';
    right: 0;
    top: 0.7em;
    width: 8px;
    height: 6px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    border-style: solid;
    border-width: 1px;
    border-color: #02a2f7;
    -webkit-transition: border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    margin-right: 2px; }
  .c-blank.-header > i:before, .c-table__editable a.-header[target='_blank'] > i:before {
    position: absolute;
    display: inline-block;
    content: '';
    top: calc(0.7em + 2px);
    right: 0;
    width: 8px;
    height: 6px;
    border-style: solid;
    border-width: 0 1px 1px 0;
    border-color: #02a2f7;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    -webkit-transition: border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s; }
  .c-blank.-header > i:before, .c-table__editable a.-header[target='_blank'] > i:before {
    top: 2px; }
  .c-blank.-header > i:after, .c-table__editable a.-header[target='_blank'] > i:after {
    top: 0; }

.c-blank--box {
  border: 1px solid #ccc;
  padding-top: 5px;
  padding-right: 26px;
  padding-bottom: 5px;
  padding-left: 10px;
  line-height: 1.7;
  font-size: 14px;
  font-size: 0.875rem; }
  @media print, screen and (min-width: 61.25em) {
    .c-blank--box {
      -webkit-transition: all 0.2s ease;
      transition: all 0.2s ease; } }
  .c-blank--box:before {
    top: calc(0.6em + 7px);
    right: 10px; }
    .browser-is-ie .c-blank--box:before {
      top: calc(0.6em + 7px); }
  .c-blank--box:after {
    top: calc(0.6em + 5px);
    right: 10px; }
    .browser-is-ie .c-blank--box:after {
      top: calc(0.6em + 5px); }
  @media print, screen and (min-width: 61.25em) {
    .c-blank--box:hover,
    a:hover .c-blank--box {
      border-color: #0062cc; } }
  .browser-is-ie .c-blank--box {
    padding-top: 8px;
    padding-bottom: 2px; }

.c-blank.-white, .c-table__editable a.-white[target='_blank'] {
  display: inline-block;
  position: relative; }
  .c-blank.-white:after, .c-table__editable a.-white[target='_blank']:after {
    position: absolute;
    display: inline-block;
    content: '';
    right: 0;
    top: 0.7em;
    width: 8px;
    height: 6px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    border-style: solid;
    border-width: 1px;
    border-color: #fff;
    -webkit-transition: border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    margin-right: 2px; }
  .c-blank.-white:before, .c-table__editable a.-white[target='_blank']:before {
    position: absolute;
    display: inline-block;
    content: '';
    top: calc(0.7em + 2px);
    right: 0;
    width: 8px;
    height: 6px;
    border-style: solid;
    border-width: 0 1px 1px 0;
    border-color: #fff;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    -webkit-transition: border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s; }
  .c-blank.-white.-small:after, .c-table__editable a.-white.-small[target='_blank']:after {
    position: absolute;
    display: inline-block;
    content: '';
    right: 0;
    top: 0.5em;
    width: 8px;
    height: 6px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    border-style: solid;
    border-width: 1px;
    border-color: #fff;
    -webkit-transition: border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    margin-right: 2px; }
  .c-blank.-white.-small:before, .c-table__editable a.-white.-small[target='_blank']:before {
    position: absolute;
    display: inline-block;
    content: '';
    top: calc(0.5em + 2px);
    right: 0;
    width: 8px;
    height: 6px;
    border-style: solid;
    border-width: 0 1px 1px 0;
    border-color: #fff;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    -webkit-transition: border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s; }

.c-blank.-white.-button, .c-table__editable a.-white.-button[target='_blank'] {
  width: 10px;
  height: 8px;
  padding-right: 0px; }
  .c-blank.-white.-button::before, .c-table__editable a.-white.-button[target='_blank']::before {
    top: 2px;
    left: 2px; }
  .c-blank.-white.-button::after, .c-table__editable a.-white.-button[target='_blank']::after {
    top: 0px;
    left: 0px; }
  @media print, screen and (min-width: 61.25em) {
    .c-blank.-white.-button:hover:after, .c-table__editable a.-white.-button[target='_blank']:hover:after,
    a:hover .c-blank.-white.-button:after,
    a:hover .c-table__editable a.-white.-button[target='_blank']:after,
    .c-table__editable a:hover a.-white.-button[target='_blank']:after {
      border-color: #fff; } }
  @media print, screen and (min-width: 61.25em) {
    .c-blank.-white.-button:hover:before, .c-table__editable a.-white.-button[target='_blank']:hover:before,
    a:hover .c-blank.-white.-button:before,
    a:hover .c-table__editable a.-white.-button[target='_blank']:before,
    .c-table__editable a:hover a.-white.-button[target='_blank']:before {
      border-color: #fff; } }

@-webkit-keyframes btnHoverBorder {
  0% {
    border-color: #000; }
  30% {
    border-color: #fff; }
  50% {
    border-color: #fff; }
  100% {
    border-color: #000; } }

@keyframes btnHoverBorder {
  0% {
    border-color: #000; }
  30% {
    border-color: #fff; }
  50% {
    border-color: #fff; }
  100% {
    border-color: #000; } }

.c-button.-white .c-blank, .c-button.-white .c-table__editable a[target='_blank'], .c-table__editable .c-button.-white a[target='_blank'] {
  width: 10px;
  height: 8px;
  padding-right: 0px; }
  .c-button.-white .c-blank:after, .c-button.-white .c-table__editable a[target='_blank']:after, .c-table__editable .c-button.-white a[target='_blank']:after {
    position: absolute;
    display: inline-block;
    content: '';
    right: 0;
    top: 0.7em;
    width: 8px;
    height: 6px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    border-style: solid;
    border-width: 1px;
    border-color: #000;
    -webkit-transition: border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    margin-right: 2px; }
  .c-button.-white .c-blank:before, .c-button.-white .c-table__editable a[target='_blank']:before, .c-table__editable .c-button.-white a[target='_blank']:before {
    position: absolute;
    display: inline-block;
    content: '';
    top: calc(0.7em + 2px);
    right: 0;
    width: 8px;
    height: 6px;
    border-style: solid;
    border-width: 0 1px 1px 0;
    border-color: #000;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    -webkit-transition: border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s; }
  .c-button.-white .c-blank::before, .c-button.-white .c-table__editable a[target='_blank']::before, .c-table__editable .c-button.-white a[target='_blank']::before {
    top: 2px;
    left: 2px; }
  .c-button.-white .c-blank::after, .c-button.-white .c-table__editable a[target='_blank']::after, .c-table__editable .c-button.-white a[target='_blank']::after {
    top: 0px;
    left: 0px; }

@media print, screen and (min-width: 61.25em) {
  .c-button.-white:hover .c-blank:after, .c-button.-white:hover .c-table__editable a[target='_blank']:after, .c-table__editable .c-button.-white:hover a[target='_blank']:after, .c-button.-white:hover .c-blank:before, .c-button.-white:hover .c-table__editable a[target='_blank']:before, .c-table__editable .c-button.-white:hover a[target='_blank']:before {
    -webkit-animation: btnHoverBorder 1s ease 0s normal;
            animation: btnHoverBorder 1s ease 0s normal; } }

.l-header__entry .c-blank:after, .l-header__entry .c-table__editable a[target='_blank']:after, .c-table__editable .l-header__entry a[target='_blank']:after {
  position: absolute;
  display: inline-block;
  content: '';
  right: 0;
  top: 45%;
  width: 8px;
  height: 6px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-style: solid;
  border-width: 1px;
  border-color: #02a2f7;
  -webkit-transition: border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
  transition: border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
  transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
  transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
  margin-right: 2px; }

.l-header__entry .c-blank:before, .l-header__entry .c-table__editable a[target='_blank']:before, .c-table__editable .l-header__entry a[target='_blank']:before {
  position: absolute;
  display: inline-block;
  content: '';
  top: calc(45% + 2px);
  right: 0;
  width: 8px;
  height: 6px;
  border-style: solid;
  border-width: 0 1px 1px 0;
  border-color: #02a2f7;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transition: border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
  transition: border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
  transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
  transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s; }

.l-header__entry .c-blank:before, .l-header__entry .c-table__editable a[target='_blank']:before, .c-table__editable .l-header__entry a[target='_blank']:before, .l-header__entry .c-blank:after, .l-header__entry .c-table__editable a[target='_blank']:after, .c-table__editable .l-header__entry a[target='_blank']:after {
  right: 10px; }

/* 画像
 * 詳細ページに挿入する画像に指定する。
----------------------------------------------------------------- */
.c-image {
  display: block;
  position: relative; }
  .c-image figcaption {
    text-align: center; }
  .c-image > * {
    max-width: 100%; }
  .c-image img {
    display: block;
    margin: 0 auto;
    height: auto; }
    @media only screen and (max-width: 47.9375em) {
      .c-image img {
        width: 100%; } }
    @media print, screen and (min-width: 48em) {
      .c-image img {
        max-width: 100%; } }
  @media only screen and (max-width: 47.9375em) {
    table + .c-image,
    .c-image + .c-image {
      margin-top: 20px; } }
  @media print, screen and (min-width: 48em) {
    table + .c-image,
    .c-image + .c-image {
      margin-top: 40px; } }
  @media only screen and (max-width: 47.9375em) {
    .c-heading-4 + .c-image {
      margin-top: 10px; } }
  @media print, screen and (min-width: 48em) {
    .c-heading-4 + .c-image {
      margin-top: 20px; } }
  @media only screen and (max-width: 47.9375em) {
    .c-heading-3 + .c-image {
      margin-top: 18px; } }
  @media print, screen and (min-width: 48em) {
    .c-heading-3 + .c-image {
      margin-top: 28px; } }
  @media only screen and (max-width: 47.9375em) {
    .c-heading-2 + .c-image {
      margin-top: 28px; } }
  @media print, screen and (min-width: 48em) {
    .c-heading-2 + .c-image {
      margin-top: 36px; } }
  @media only screen and (max-width: 47.9375em) {
    .c-sentence + .c-image,
    .c-list + .c-image {
      margin-top: 28px; } }
  @media print, screen and (min-width: 48em) {
    .c-sentence + .c-image,
    .c-list + .c-image {
      margin-top: 40px; } }

@media print, screen and (min-width: 48em) {
  .c-image.-radius-right > img {
    max-width: calc(100% + 100px);
    position: relative;
    right: 0;
    border-radius: 20px 0 0 20px; } }

@media print, screen and (min-width: 87.5em) {
  .c-image.-radius-right > img {
    border-radius: 20px; } }

@media print, screen and (min-width: 48em) {
  .c-image.-radius-left > img {
    max-width: calc(100% + 100px);
    position: relative;
    left: -100px;
    border-radius: 0 20px 20px 0; } }

@media print, screen and (min-width: 87.5em) {
  .c-image.-radius-left > img {
    border-radius: 20px; } }

.c-image.-svg {
  position: relative;
  background-color: #edf9ff;
  height: 0;
  padding-top: 50%;
  border-radius: 10px; }
  .c-image.-svg > img {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    margin: auto; }
    @media only screen and (max-width: 47.9375em) {
      .c-image.-svg > img {
        width: auto;
        -webkit-transform: scale(0.8);
                transform: scale(0.8); } }

.c-image.-radius > img {
  border-radius: 20px; }

.c-image.-border > img {
  border: 2px solid #e5e5e5; }

@media only screen and (max-width: 47.9375em) {
  .c-image.-carriermodel {
    margin-top: 30px; } }

@media print, screen and (min-width: 48em) {
  .c-image.-carriermodel {
    margin-top: 40px; } }

@media print, screen and (min-width: 48em) {
  .c-image.-right img {
    margin-right: 0; } }

@media print, screen and (min-width: 48em) {
  .c-image.-left img {
    margin-left: 0; } }

.c-image.-XS-float-right {
  float: right; }

@media only screen and (max-width: 47.9375em) {
  .c-image.-XS-auto {
    width: auto; } }

/* 枠線付きの箱
----------------------------------------------------------------- */
.c-border-box {
  color: #000; }
  @media only screen and (max-width: 47.9375em) {
    .c-border-box {
      display: block;
      border: 1px solid #ccc;
      border-radius: 20px; } }
  @media print, screen and (min-width: 48em) {
    .c-border-box {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: reverse;
          -ms-flex-direction: row-reverse;
              flex-direction: row-reverse; } }
  @media print, screen and (min-width: 61.25em) {
    .c-border-box:hover {
      color: #000; } }
  @media print, screen and (min-width: 61.25em) {
    .c-border-box:hover .c-border-box__more > span {
      color: #0062cc; } }

@media only screen and (max-width: 47.9375em) {
  .c-border-box__content {
    padding-top: 23px;
    padding-right: 24px;
    padding-bottom: 30px;
    padding-left: 24px; } }

@media print, screen and (min-width: 48em) {
  .c-border-box__content {
    border-top: 1px solid #ccc;
    border-right: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    border-left: 1px solid #ccc;
    border-radius: 20px;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    padding-top: 32px;
    padding-right: 40px;
    padding-bottom: 34px;
    padding-left: 40px; } }

.c-border-box__image + .c-border-box__content {
  border-right: none;
  border-radius: 20px 0 0 20px; }

.c-border-box__image {
  background-color: #000;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }
  @media only screen and (max-width: 47.9375em) {
    .c-border-box__image {
      position: relative;
      height: 0;
      padding-top: 35%;
      border-radius: 20px 20px 0 0; } }
  @media print, screen and (min-width: 48em) {
    .c-border-box__image {
      width: 300px;
      border-radius: 0 20px 20px 0; } }
  @media only screen and (max-width: 47.9375em) {
    .c-border-box__image > img {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      margin: auto;
      width: 228px;
      max-width: calc(100% - 40px); } }
  @media print, screen and (min-width: 48em) {
    .c-border-box__image > img {
      width: 228px; } }

.c-border-box__more {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  @media only screen and (max-width: 47.9375em) {
    .c-border-box__more {
      margin-top: 24px; } }
  @media print, screen and (min-width: 48em) {
    .c-border-box__more {
      margin-top: 32px;
      margin-bottom: 5px; } }
  @media print, screen and (min-width: 61.25em) {
    .c-border-box__more {
      -webkit-transition: color 0.7s ease;
      transition: color 0.7s ease; } }
  .c-border-box__more > span {
    font-family: brandon-grotesque, sans-serif;
    -webkit-font-feature-settings: 'palt' 1;
            font-feature-settings: 'palt' 1;
    margin-top: -0.3em;
    margin-right: 12px;
    color: #02a2f7;
    font-weight: bold;
    line-height: 1; }
    @media only screen and (max-width: 47.9375em) {
      .c-border-box__more > span {
        font-size: 24px;
        font-size: 1.5rem; } }
    @media print, screen and (min-width: 48em) {
      .c-border-box__more > span {
        font-size: 30px;
        font-size: 1.875rem; } }
  @media only screen and (max-width: 47.9375em) {
    .c-border-box__more .c-arrow {
      width: 18px;
      height: 18px; } }
  @media print, screen and (min-width: 48em) {
    .c-border-box__more .c-arrow {
      width: 24px;
      height: 24px; } }

@media only screen and (max-width: 47.9375em) {
  .c-border-box.-value {
    border: 2px solid #e5e5e5; } }

@media print, screen and (min-width: 48em) {
  .c-border-box.-value .c-border-box__content {
    border: 2px solid #e5e5e5; } }

/* 詳細ページのアンカーリンク
----------------------------------------------------------------- */
.c-outline {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  @media only screen and (max-width: 47.9375em) {
    .c-outline {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; } }
  @media print, screen and (min-width: 48em) {
    .c-outline {
      margin-left: -20px; } }
  @media only screen and (max-width: 47.9375em) {
    .c-outline {
      margin-top: 12px; } }
  @media print, screen and (min-width: 48em) {
    .c-outline {
      margin-top: 14px; } }

@media print, screen and (min-width: 48em) {
  .c-outline__item {
    margin-top: 20px;
    margin-left: 20px; } }

@media only screen and (max-width: 47.9375em) {
  .c-outline__item:not(:first-child) {
    margin-top: 12px; } }

.c-outline__link {
  display: inline-block;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  color: #02a2f7; }
  @media print, screen and (min-width: 48em) {
    .browser-is-ie .c-outline__link {
      padding-top: 8px; } }
  @media only screen and (max-width: 47.9375em) {
    .c-outline__item:not(:last-of-type) .c-outline__link {
      padding-right: 18px; } }
  @media print, screen and (min-width: 48em) {
    .c-outline__item:not(:last-of-type) .c-outline__link {
      padding-right: 48px; } }
  @media print, screen and (min-width: 48em) {
    .c-outline__item:not(:last-of-type) .c-outline__link:before {
      position: absolute;
      top: calc(50% - 10px);
      right: 0;
      content: '';
      width: 1px;
      height: 20px;
      background-color: #dce7ee; } }
  @media only screen and (max-width: 47.9375em) {
    .c-outline__item:not(:last-of-type) .c-outline__link:after {
      right: 0; } }
  @media only screen and (max-width: 47.9375em) {
    .c-outline__item:last-of-type .c-outline__link {
      padding-right: 18px; } }
  @media print, screen and (min-width: 48em) {
    .c-outline__item:last-of-type .c-outline__link {
      padding-right: 24px; } }
  .c-outline__item:last-of-type .c-outline__link:after {
    right: 0; }
  .browser-is-ie .c-outline__link > span {
    top: calc(50% - 10px); }
  .c-outline__link:after {
    position: absolute;
    top: 0.7em;
    right: 24px;
    content: '';
    width: 6px;
    height: 9px;
    background-size: cover;
    background-position: 0 0;
    background-repeat: no-repeat;
    display: inline-block;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%226%22%20height%3D%228%22%3E%3Cpath%20fill%3D%22none%22%20stroke%3D%22%2302a2f7%22%20stroke-linecap%3D%22round%22%20stroke-width%3D%222%22%20d%3D%22M1%207l3-3-3-3%22%20%2F%3E%3C%2Fsvg%3E");
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg); }
    .browser-is-ie .c-outline__link:after {
      top: calc(8px + 0.7em); }

/**
 * 中央寄せ
 */
.c-outline.-center {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }

/**
 * 詳細
 */
@media only screen and (max-width: 47.9375em) {
  .c-outline.-detail {
    margin-top: 40px; } }

@media print, screen and (min-width: 48em) {
  .c-outline.-detail {
    margin-top: 32px; } }

/**
 * 募集要項
 */
@media only screen and (max-width: 47.9375em) {
  .c-outline.-requirements {
    padding: 15px 20px;
    margin-top: 0;
    background-color: #edf9ff;
    margin-left: -5.334%;
    width: calc(100% + 5.334%); } }

@media print, screen and (min-width: 48em) {
  .c-outline.-requirements {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-top: 0;
    margin-left: 0;
    background-color: #edf9ff; } }

@media only screen and (max-width: 47.9375em) {
  .c-outline.-requirements .c-outline__item {
    margin-top: 2px;
    margin-bottom: 2px; } }

@media print, screen and (min-width: 48em) {
  .c-outline.-requirements .c-outline__item {
    margin-top: 12px;
    margin-bottom: 12px; } }

.c-outline.-requirements .c-outline__link {
  font-weight: bold; }
  .c-outline.-requirements .c-outline__link:after {
    top: 0.6em;
    width: 9px;
    height: 12px; }

/* 矢印付きのリンク
----------------------------------------------------------------- */
.c-link-arrow {
  display: inline-block;
  position: relative; }
  @media only screen and (max-width: 47.9375em) {
    .c-link-arrow {
      padding-right: 16px; } }
  @media print, screen and (min-width: 48em) {
    .c-link-arrow {
      padding-right: 16px; } }
  .c-link-arrow:after {
    position: absolute;
    top: 0.7em;
    right: 0;
    content: '';
    width: 6px;
    height: 9px;
    background-size: cover;
    background-position: 0 0;
    background-repeat: no-repeat;
    display: inline-block;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%226%22%20height%3D%228%22%3E%3Cpath%20fill%3D%22none%22%20stroke%3D%22%2302a2f7%22%20stroke-linecap%3D%22round%22%20stroke-width%3D%222%22%20d%3D%22M1%207l3-3-3-3%22%20%2F%3E%3C%2Fsvg%3E");
    -webkit-transition: background-image 0.1s 0s ease;
    transition: background-image 0.1s 0s ease; }
  .c-link-arrow:hover:after {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%226%22%20height%3D%228%22%3E%3Cpath%20fill%3D%22none%22%20stroke%3D%22%230062cc%22%20stroke-linecap%3D%22round%22%20stroke-width%3D%222%22%20d%3D%22M1%207l3-3-3-3%22%20%2F%3E%3C%2Fsvg%3E"); }

/* 文字の後ろにつくとき */
.c-link-arrow.-backtext {
  display: inline-block; }
  .c-link-arrow.-backtext:after {
    position: relative;
    top: -1px;
    left: 0;
    margin-left: 9px; }

.c-people-block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  @media only screen and (max-width: 47.9375em) {
    table + .c-people-block,
    .c-image + .c-people-block {
      margin-top: 20px; } }
  @media print, screen and (min-width: 48em) {
    table + .c-people-block,
    .c-image + .c-people-block {
      margin-top: 40px; } }
  @media only screen and (max-width: 47.9375em) {
    .c-heading-4 + .c-people-block {
      margin-top: 10px; } }
  @media print, screen and (min-width: 48em) {
    .c-heading-4 + .c-people-block {
      margin-top: 20px; } }
  @media only screen and (max-width: 47.9375em) {
    .c-heading-3 + .c-people-block {
      margin-top: 18px; } }
  @media print, screen and (min-width: 48em) {
    .c-heading-3 + .c-people-block {
      margin-top: 28px; } }
  @media only screen and (max-width: 47.9375em) {
    .c-heading-2 + .c-people-block {
      margin-top: 28px; } }
  @media print, screen and (min-width: 48em) {
    .c-heading-2 + .c-people-block {
      margin-top: 36px; } }
  @media only screen and (max-width: 47.9375em) {
    .c-sentence + .c-people-block,
    .c-list + .c-people-block {
      margin-top: 28px; } }
  @media print, screen and (min-width: 48em) {
    .c-sentence + .c-people-block,
    .c-list + .c-people-block {
      margin-top: 40px; } }

.c-people-block + .c-people-block {
  margin-top: 16px; }

.c-people-chronology__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }

.c-people-chronology__item + .c-people-chronology__item {
  margin-top: 16px; }

.c-people-circle {
  background-color: #edf9ff;
  border-radius: 50%;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: auto;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2247%22%20height%3D%2247%22%3E%3Cpath%20d%3D%22M1.5%2045.5c0-8.25%2011-8.25%2016.5-13.75%202.75-2.75-5.5-2.75-5.5-16.5q0-13.75%2011-13.75t11%2013.75C34.5%2029%2026.25%2029%2029%2031.75c5.5%205.5%2016.5%205.5%2016.5%2013.75%22%20fill%3D%22none%22%20stroke%3D%22%234C97BF%22%20stroke-linecap%3D%22square%22%20stroke-width%3D%223%22%2F%3E%3C%2Fsvg%3E"); }
  @media only screen and (max-width: 47.9375em) {
    .c-people-circle {
      width: 40px;
      height: 40px;
      background-size: 20px 20px; } }
  @media print, screen and (min-width: 48em) {
    .c-people-circle {
      width: 90px;
      height: 90px; } }

.c-people-balloon {
  position: relative;
  background-color: #edf9ff;
  width: 845px;
  margin-left: 24px;
  padding: 30px 30px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  border-radius: 6px; }
  @media only screen and (max-width: 47.9375em) {
    .c-people-balloon {
      width: 100%;
      margin-left: 18px;
      padding: 24px 24px 22px; } }

.c-people-chronology__balloon {
  margin-top: 10px;
  margin-left: 0px; }

/* 吹き出しのやじるし */
.c-people-balloon::before {
  content: '';
  position: absolute;
  top: 12px;
  left: -14px;
  border-style: solid;
  border-width: 0 8px 14px 8px;
  border-color: transparent transparent #edf9ff transparent;
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg); }

.c-people-sentence {
  line-height: 1.9; }

.c-people-from {
  font-size: 14px;
  font-size: 0.875rem;
  margin-top: 12px; }

/* 年表のところ */
.c-people-chronology__date {
  position: relative; }
  @media only screen and (max-width: 47.9375em) {
    .c-people-chronology__date {
      width: 80px; } }
  @media print, screen and (min-width: 48em) {
    .c-people-chronology__date {
      width: 90px; } }

.c-people-chronology__num {
  font-family: brandon-grotesque, sans-serif;
  -webkit-font-feature-settings: 'palt' 1;
          font-feature-settings: 'palt' 1;
  position: absolute;
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1; }

.c-people-chronology__circle {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background-color: #02a2f7;
  position: absolute;
  left: 20px;
  top: 24px; }

.c-people-chronology__border {
  width: 3px;
  background-color: #cccccc;
  position: absolute;
  top: 50px;
  left: 26.5px;
  bottom: 0; }

.c-people-applicant__img span {
  background-image: url(https://careers.classmethod.jp/people/detail/img/bg-1.jpg); }

.c-people-chronology.-time .c-people-chronology__circle {
  left: 16px; }

.c-people-chronology.-time .c-people-chronology__border {
  left: 23px; }

.c-people-chronology.-year .c-people-chronology__circle {
  left: 24px; }

.c-people-chronology.-year .c-people-chronology__border {
  left: 31px; }

/* テーブル形式
----------------------------------------------------------------- */
@media only screen and (max-width: 47.9375em) {
  table + .c-table-scroll,
  .c-image + .c-table-scroll {
    margin-top: 20px; } }

@media print, screen and (min-width: 48em) {
  table + .c-table-scroll,
  .c-image + .c-table-scroll {
    margin-top: 40px; } }

@media only screen and (max-width: 47.9375em) {
  .c-heading-4 + .c-table-scroll {
    margin-top: 10px; } }

@media print, screen and (min-width: 48em) {
  .c-heading-4 + .c-table-scroll {
    margin-top: 20px; } }

@media only screen and (max-width: 47.9375em) {
  .c-heading-3 + .c-table-scroll {
    margin-top: 18px; } }

@media print, screen and (min-width: 48em) {
  .c-heading-3 + .c-table-scroll {
    margin-top: 28px; } }

@media only screen and (max-width: 47.9375em) {
  .c-heading-2 + .c-table-scroll {
    margin-top: 28px; } }

@media print, screen and (min-width: 48em) {
  .c-heading-2 + .c-table-scroll {
    margin-top: 36px; } }

@media only screen and (max-width: 47.9375em) {
  .c-sentence + .c-table-scroll,
  .c-list + .c-table-scroll {
    margin-top: 28px; } }

@media print, screen and (min-width: 48em) {
  .c-sentence + .c-table-scroll,
  .c-list + .c-table-scroll {
    margin-top: 40px; } }

@media only screen and (max-width: 47.9375em) {
  .c-table-scroll {
    overflow-x: scroll;
    position: relative;
    background-image: -webkit-gradient(linear, right top, left top, from(rgba(61, 99, 120, 0.15)), to(rgba(61, 99, 120, 0)));
    background-image: -webkit-linear-gradient(right, rgba(61, 99, 120, 0.15) 0%, rgba(61, 99, 120, 0) 100%);
    background-image: linear-gradient(to left, rgba(61, 99, 120, 0.15) 0%, rgba(61, 99, 120, 0) 100%);
    background-repeat: no-repeat;
    background-size: 5px 100%;
    background-position: 100% 0;
    background-attachment: scroll; } }
  @media only screen and (max-width: 47.9375em) and (max-width: 47.9375em) {
    .c-table-scroll .c-table th {
      background-color: rgba(2, 162, 247, 0.07); } }

@media only screen and (max-width: 47.9375em) {
  .c-table-scroll .c-table {
    min-width: 768px; } }

@media only screen and (max-width: 47.9375em) {
  .c-table-scroll::-webkit-scrollbar {
    height: 5px; } }

@media only screen and (max-width: 47.9375em) {
  .c-table-scroll::-webkit-scrollbar-track {
    margin: 0 2px;
    background: #ccc;
    border-radius: 5px; } }

@media only screen and (max-width: 47.9375em) {
  .c-table-scroll::-webkit-scrollbar-thumb {
    border-radius: 5px;
    background: #666; } }

.c-table {
  width: 100%;
  word-break: break-word; }
  @media only screen and (max-width: 47.9375em) {
    .c-table {
      position: relative;
      font-size: 14px;
      font-size: 0.875rem; } }
  @media only screen and (max-width: 47.9375em) {
    table + .c-table,
    .c-image + .c-table {
      margin-top: 20px; } }
  @media print, screen and (min-width: 48em) {
    table + .c-table,
    .c-image + .c-table {
      margin-top: 40px; } }
  @media only screen and (max-width: 47.9375em) {
    .c-heading-4 + .c-table {
      margin-top: 10px; } }
  @media print, screen and (min-width: 48em) {
    .c-heading-4 + .c-table {
      margin-top: 20px; } }
  @media only screen and (max-width: 47.9375em) {
    .c-heading-3 + .c-table {
      margin-top: 18px; } }
  @media print, screen and (min-width: 48em) {
    .c-heading-3 + .c-table {
      margin-top: 28px; } }
  @media only screen and (max-width: 47.9375em) {
    .c-heading-2 + .c-table {
      margin-top: 28px; } }
  @media print, screen and (min-width: 48em) {
    .c-heading-2 + .c-table {
      margin-top: 36px; } }
  @media only screen and (max-width: 47.9375em) {
    .c-sentence + .c-table,
    .c-list + .c-table {
      margin-top: 28px; } }
  @media print, screen and (min-width: 48em) {
    .c-sentence + .c-table,
    .c-list + .c-table {
      margin-top: 40px; } }
  .browser-is-ie .c-table {
    table-layout: fixed; }
  @media print, screen and (min-width: 48em) {
    .c-table tr:last-child th {
      border-bottom: 1px solid #b4cfe0; } }
  @media print, screen and (min-width: 48em) {
    .c-table tr:last-child td {
      border-bottom: 1px solid #ccc; } }
  .c-table th {
    background-color: #edf9ff;
    width: 230px;
    padding: 16px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    vertical-align: top; }
    @media print, screen and (min-width: 48em) {
      .c-table th {
        border-top: 1px solid #b4cfe0; } }
    @media only screen and (max-width: 47.9375em) {
      .c-table th {
        padding: 10px; } }
  .c-table td {
    padding: 16px; }
    @media print, screen and (min-width: 48em) {
      .c-table td {
        border-top: 1px solid #ccc; } }
    @media only screen and (max-width: 47.9375em) {
      .c-table td {
        padding: 10px; } }
  @media print, screen and (min-width: 48em) {
    .browser-is-ie .c-table td {
      padding-top: 20px;
      padding-bottom: 12px; } }
  @media only screen and (max-width: 47.9375em) {
    *:not(.c-table-scroll) > .c-table tr {
      display: block;
      border: none; } }
  @media only screen and (max-width: 47.9375em) {
    *:not(.c-table-scroll) > .c-table th {
      width: 100%;
      display: block; } }
  @media only screen and (max-width: 47.9375em) {
    *:not(.c-table-scroll) > .c-table td {
      display: block; } }

/* WordPressで投稿可能なエリア */
.c-table__editable p + p {
  margin-top: 12px; }
  .c-table__editable p + p > strong {
    display: inline-block;
    margin-top: 16px; }

.c-table__editable a[target='_blank'] {
  margin-right: 10px; }

.c-engineer-flow {
  background-color: #edf9ff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-radius: 6px;
  position: relative; }
  @media only screen and (max-width: 47.9375em) {
    .c-engineer-flow {
      display: block; } }

.c-engineer-flow::after {
  content: '';
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 16px 16px 0 16px;
  border-color: #edf9ff transparent transparent transparent;
  position: absolute;
  bottom: -16px;
  left: 50px; }
  @media only screen and (max-width: 47.9375em) {
    .c-engineer-flow::after {
      left: 50%;
      -webkit-transform: translate(-50%);
              transform: translate(-50%); } }

.c-engineer-flow:last-child::after {
  display: none; }

.c-engineer-flow + .c-engineer-flow {
  margin-top: 36px; }

.c-engineer-num {
  font-family: brandon-grotesque, sans-serif;
  -webkit-font-feature-settings: 'palt' 1;
          font-feature-settings: 'palt' 1;
  font-size: 50px;
  font-size: 3.125rem;
  font-weight: 700;
  color: #02a2f7;
  width: 120px;
  padding: 28px 35px;
  text-align: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }
  @media only screen and (max-width: 47.9375em) {
    .c-engineer-num {
      font-size: 40px;
      font-size: 2.5rem;
      padding: 30px 27px 10px;
      line-height: 1;
      width: 33px; } }

.c-engineer-balloon {
  margin: 30px 30px 30px 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-left: 1px solid #b4cfe0;
  padding-left: 20px; }
  @media only screen and (max-width: 47.9375em) {
    .c-engineer-balloon {
      border-left: none;
      border-top: 1px solid #b4cfe0;
      margin-top: 0;
      margin-right: 24px;
      margin-left: 24px;
      padding-left: 0;
      padding-top: 20px;
      padding-bottom: 24px; } }

.c-schedule-block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  @media only screen and (max-width: 47.9375em) {
    .c-schedule-block {
      display: block; } }

.c-schedule-block + .c-schedule-block {
  margin-top: 20px; }

.c-schedule-title {
  width: 433px; }

/* 出社の日 */
.c-schedule-attendance {
  display: block; }
  @media print, screen and (min-width: 48em) {
    .c-schedule-attendance {
      width: calc(50% + 58px); } }

/* リモートの日 */
.c-schedule-remote {
  display: block; }
  @media print, screen and (min-width: 48em) {
    .c-schedule-remote {
      width: calc(50% - 58px); } }
  @media only screen and (max-width: 47.9375em) {
    .c-schedule-remote {
      margin-top: 40px; } }

.c-schedule-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }

@media only screen and (max-width: 47.9375em) {
  .c-schedule-box.-sp-reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse; } }

.c-schedule-box + .c-schedule-box {
  margin-top: 20px; }

/* 年表のところ */
.c-schedule-tree {
  position: relative;
  width: 115px; }
  @media only screen and (max-width: 47.9375em) {
    .c-schedule-tree {
      width: 52px; } }
  .c-schedule-tree .c-schedule-tree__num {
    position: absolute;
    font-size: 20px;
    font-size: 1.25rem;
    top: -22px;
    font-weight: 700;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0); }
  .c-schedule-tree .c-schedule-tree__circle {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background-color: #02a2f7;
    position: absolute;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
    top: 12px; }
  .c-schedule-tree .c-schedule-tree__border {
    width: 3px;
    background-color: #cccccc;
    position: absolute;
    top: 38px;
    left: 50%;
    bottom: 0;
    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0); }

@media print, screen and (min-width: 48em) {
  .c-schedule-tree.-pc-none {
    display: none; } }

.c-schedule-balloon.-right {
  position: relative;
  background-color: #edf9ff;
  padding: 30px 30px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  border-radius: 6px; }
  @media only screen and (max-width: 47.9375em) {
    .c-schedule-balloon.-right {
      margin-left: 10px; } }

.c-schedule-balloon.-right::before {
  content: '';
  position: absolute;
  top: 12px;
  left: -14px;
  border-style: solid;
  border-width: 0 8px 14px 8px;
  border-color: transparent transparent #edf9ff transparent;
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg); }

.c-schedule-balloon.-left {
  margin-left: 0;
  position: relative;
  background-color: #edf9ff;
  padding: 30px 30px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  border-radius: 6px; }
  @media only screen and (max-width: 47.9375em) {
    .c-schedule-balloon.-left {
      margin-left: 10px; } }

.c-schedule-balloon.-left::before {
  content: '';
  position: absolute;
  top: 12px;
  right: -14px;
  left: auto;
  border-style: solid;
  border-width: 0 8px 14px 8px;
  border-color: transparent transparent #edf9ff transparent;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg); }
  @media only screen and (max-width: 47.9375em) {
    .c-schedule-balloon.-left::before {
      right: auto;
      left: -14px;
      -webkit-transform: rotate(-90deg);
              transform: rotate(-90deg); } }

.c-badge {
  display: inline-block;
  padding-top: 3px;
  padding-right: 4px;
  padding-bottom: 2px;
  padding-left: 4px;
  border-radius: 4px;
  font-size: 14px;
  font-size: 0.875rem;
  -webkit-font-feature-settings: 'palt' 1;
          font-feature-settings: 'palt' 1;
  font-weight: bold;
  line-height: 1.7; }
  @media only screen and (max-width: 47.9375em) {
    .c-badge {
      font-family: "YakuHanJP", "Noto Sans CJK JP Subset", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo"; } }
  @media print, screen and (min-width: 48em) {
    .c-badge {
      font-family: "YakuHanJP", "Noto Sans CJK JP Subset", "Yu Gothic", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo"; } }
  .c-badge.-closed {
    background-color: #f75961;
    color: #fff; }
  .c-badge.-end {
    background-color: #dce7ee;
    color: #a5adb3; }
  .c-badge.-glay {
    background-color: #ccc;
    color: #333; }
  .c-badge.-black {
    background-color: #000;
    color: #fff; }
  .c-badge.-wide {
    padding-right: 11px;
    padding-left: 11px; }
  .c-badge + .c-badge {
    margin-left: 10px; }

.c-dl > dt {
  font-weight: bold; }

.c-dl > dd {
  margin-top: 12px; }

.c-dl + .c-dl {
  margin-top: 16px; }

/* Googlemapをレスポンシブ化するクラス
----------------------------------------------------------------- */
.c-map {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 36.25%;
  margin-top: 30px; }
  @media only screen and (max-width: 47.9375em) {
    .c-map {
      margin-top: 26px; } }
  .c-map > div,
  .c-map > iframe {
    position: absolute !important;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

.c-flex-thum {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 20px;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-right: -14px; }
  .c-flex-thum > img {
    margin-right: 14px;
    width: 18%; }
  .c-flex-thum > a {
    display: block;
    margin-right: 14px;
    width: 18%; }
    .c-flex-thum > a img {
      display: block;
      width: 100%; }
  .c-flex-thum > .c-flex-thum__item {
    margin-right: 14px;
    width: 18%;
    margin-top: 20px; }
    .c-flex-thum > .c-flex-thum__item img {
      display: block;
      width: 100%; }
    @media only screen and (max-width: 47.9375em) {
      .c-flex-thum > .c-flex-thum__item {
        width: 44%; } }

/* グロナビのメインメニュー
----------------------------------------------------------------- */
@media print, screen and (min-width: 61.25em) {
  .p-main-menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: static;
    -webkit-transform: translateX(0);
            transform: translateX(0); } }

input:checked + label + .p-main-menu {
  -webkit-transition: 0.2s ease;
  transition: 0.2s ease;
  -webkit-transform: translateX(0);
          transform: translateX(0); }

.p-main-menu .c-arrow,
.p-main-menu .c-toggle {
  width: 24px;
  height: 24px;
  min-width: 24px; }
  @media print, screen and (min-width: 61.25em) {
    .p-main-menu .c-arrow,
    .p-main-menu .c-toggle {
      display: none; } }

.p-main-menu__item {
  border-bottom: 1px solid #ccc;
  position: relative; }
  @media print, screen and (min-width: 61.25em) {
    .p-main-menu__item {
      border-bottom: none; } }
  @media print, screen and (min-width: 61.25em) {
    .p-main-menu__item.-current > a {
      color: #02a2f7; } }
  @media print, screen and (min-width: 61.25em) {
    .p-main-menu__item.-current:before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 4px;
      background-color: #02a2f7; } }
  @media print, screen and (min-width: 61.25em) {
    .p-main-menu__item + .p-main-menu__item {
      margin-left: 0.625vw; } }
  @media print, screen and (min-width: 80em) {
    .p-main-menu__item + .p-main-menu__item {
      margin-left: 10px; } }
  @media print, screen and (min-width: 87.5em) {
    .p-main-menu__item + .p-main-menu__item {
      margin-left: 15px; } }
  @media print, screen and (min-width: 100em) {
    .p-main-menu__item + .p-main-menu__item {
      margin-left: 20px; } }

.p-main-menu__item > a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  font-size: 16px;
  font-size: 1rem;
  font-weight: bold;
  color: #000;
  line-height: 1.75;
  padding-top: 10px;
  padding-right: 20px;
  padding-bottom: 10px;
  padding-left: 20px; }
  @media print, screen and (min-width: 61.25em) {
    .p-main-menu__item > a {
      display: block;
      padding-top: 25px;
      padding-right: 0;
      padding-bottom: 25px;
      padding-left: 0;
      font-size: 1.07143vw; } }
  @media print, screen and (min-width: 87.5em) {
    .p-main-menu__item > a {
      font-size: 16px;
      font-size: 1rem; } }
  @media print, screen and (min-width: 61.25em) {
    .p-main-menu__item > a:hover {
      color: #0062cc; } }

.p-main-menu__child {
  border-top: 1px solid #dce7ee; }
  @media print, screen and (min-width: 61.25em) {
    .p-main-menu__child {
      border-top: none; } }
  .p-main-menu__child > a {
    position: relative;
    display: block;
    font-weight: bold;
    font-size: 14px;
    font-size: 0.875rem;
    padding-top: 8px;
    padding-right: 20px;
    padding-bottom: 8px;
    padding-left: 20px; }
    @media print, screen and (min-width: 61.25em) {
      .p-main-menu__child > a {
        white-space: nowrap;
        -webkit-transition: background-color 0.2s ease;
        transition: background-color 0.2s ease; } }
    .p-main-menu__child > a:after {
      display: inline-block;
      content: '';
      position: relative;
      top: -0.05em;
      width: 6px;
      height: 9px;
      margin-left: 8px;
      background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%226%22%20height%3D%228%22%3E%3Cpath%20fill%3D%22none%22%20stroke%3D%22%2302a2f7%22%20stroke-linecap%3D%22round%22%20stroke-width%3D%222%22%20d%3D%22M1%207l3-3-3-3%22%20%2F%3E%3C%2Fsvg%3E");
      background-repeat: no-repeat;
      background-size: cover;
      background-position: 0 0; }
      @media print, screen and (min-width: 61.25em) {
        .p-main-menu__child > a:after {
          display: none; } }
  .p-main-menu__child.-lv2 {
    border-top: none; }
    .p-main-menu__child.-lv2 + .p-main-menu__child.-lv2 {
      margin-top: 8px; }
    .p-main-menu__child.-lv2 > a,
    .p-main-menu__child.-lv2 > span {
      padding-top: 0;
      padding-bottom: 0;
      padding-left: 40px;
      font-weight: normal;
      font-size: 14px;
      font-size: 0.875rem; }
      @media print, screen and (min-width: 61.25em) {
        .p-main-menu__child.-lv2 > a,
        .p-main-menu__child.-lv2 > span {
          font-size: 16px;
          font-size: 1rem; } }
    @media print, screen and (min-width: 61.25em) {
      .p-main-menu__child.-lv2 > a {
        color: #02a2f7;
        padding-bottom: 1px; } }
    .p-main-menu__child.-lv2 > a:after {
      content: '';
      display: inline-block;
      width: 6px;
      height: 9px;
      background-size: cover;
      background-repeat: no-repeat;
      background-position: 0 0;
      background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%226%22%20height%3D%228%22%3E%3Cpath%20fill%3D%22none%22%20stroke%3D%22%2302a2f7%22%20stroke-linecap%3D%22round%22%20stroke-width%3D%222%22%20d%3D%22M1%207l3-3-3-3%22%20%2F%3E%3C%2Fsvg%3E"); }
    @media print, screen and (min-width: 61.25em) {
      .p-main-menu__child.-lv2 > a:hover {
        background-color: #dce7ee; } }
    @media print, screen and (min-width: 61.25em) {
      .p-main-menu__child.-lv2 > ul {
        margin-top: 8px; } }
  .p-main-menu__child.-lv1:not(:first-of-type) {
    border-top: 1px solid #dce7ee; }
  @media print, screen and (min-width: 61.25em) {
    .p-main-menu__child.-lv1:nth-of-type(2) {
      border-top: none; } }
  @media print, screen and (min-width: 61.25em) {
    .p-main-menu__child.-lv1 > a {
      padding: 13px 20px;
      font-size: 16px;
      font-size: 1rem;
      font-weight: bold;
      color: #02a2f7; } }
  .p-main-menu__child.-lv1 > a:after {
    content: '';
    display: inline-block;
    width: 6px;
    height: 9px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: 0 0;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%226%22%20height%3D%228%22%3E%3Cpath%20fill%3D%22none%22%20stroke%3D%22%2302a2f7%22%20stroke-linecap%3D%22round%22%20stroke-width%3D%222%22%20d%3D%22M1%207l3-3-3-3%22%20%2F%3E%3C%2Fsvg%3E"); }
  @media print, screen and (min-width: 61.25em) {
    .p-main-menu__child.-lv1 > a:hover {
      background-color: #dce7ee; } }
  .p-main-menu__child.-lv1 > ul {
    margin-bottom: 20px; }

@-webkit-keyframes fadeInToLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(10px);
            transform: translateX(10px); }
  70% {
    opacity: 1; }
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1; } }

@keyframes fadeInToLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(10px);
            transform: translateX(10px); }
  70% {
    opacity: 1; }
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1; } }

.p-main-menu__toggle-area {
  height: 0;
  overflow: hidden;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease; }
  @media print, screen and (min-width: 61.25em) {
    .p-main-menu__toggle-area {
      opacity: 0;
      visibility: hidden;
      position: absolute;
      height: auto;
      background-color: #fff;
      min-width: 300px;
      border-radius: 6px;
      top: calc(100% - 18px);
      -webkit-transform: translateX(-50px);
              transform: translateX(-50px);
      -webkit-box-shadow: 0 0 0 0 rgba(61, 99, 120, 0.1);
              box-shadow: 0 0 0 0 rgba(61, 99, 120, 0.1);
      -webkit-transition: opacity 0.2s ease, visibility 0.4s ease, -webkit-transform 0.4s ease;
      transition: opacity 0.2s ease, visibility 0.4s ease, -webkit-transform 0.4s ease;
      transition: opacity 0.2s ease, transform 0.4s ease, visibility 0.4s ease;
      transition: opacity 0.2s ease, transform 0.4s ease, visibility 0.4s ease, -webkit-transform 0.4s ease; } }
  @media print, screen and (min-width: 61.25em) {
    a:hover + .p-main-menu__toggle-area, .p-main-menu__toggle-area:hover {
      -webkit-animation: fadeInToLeft 0.2s cubic-bezier(0.32, 0.72, 0.92, 0.92) 0s 1 normal;
              animation: fadeInToLeft 0.2s cubic-bezier(0.32, 0.72, 0.92, 0.92) 0s 1 normal;
      opacity: 1;
      visibility: visible;
      z-index: 60000;
      -webkit-transform: translate3d(0, 0, 0);
              transform: translate3d(0, 0, 0);
      -webkit-box-shadow: 0 3px 10px 0 rgba(61, 99, 120, 0.15);
              box-shadow: 0 3px 10px 0 rgba(61, 99, 120, 0.15);
      -webkit-transition: opacity 0s, visibility 0.4s ease, -webkit-transform 0s;
      transition: opacity 0s, visibility 0.4s ease, -webkit-transform 0s;
      transition: opacity 0s, transform 0s, visibility 0.4s ease;
      transition: opacity 0s, transform 0s, visibility 0.4s ease, -webkit-transform 0s; } }

.p-main-menu__deep {
  margin-top: 8px; }
  @media print, screen and (min-width: 61.25em) {
    .p-main-menu__deep {
      margin-top: 0; } }
  .p-main-menu__deep > a {
    display: block;
    position: relative;
    padding-left: 72px;
    font-size: 12px;
    font-size: 0.75rem; }
    @media print, screen and (min-width: 61.25em) {
      .p-main-menu__deep > a {
        padding-bottom: 1px;
        font-size: 14px;
        font-size: 0.875rem;
        color: #02a2f7;
        -webkit-transition: background-color 0.2s ease;
        transition: background-color 0.2s ease; } }
    .p-main-menu__deep > a:before {
      position: absolute;
      top: 0.8em;
      left: 60px;
      content: '';
      width: 6px;
      height: 1px;
      background-color: #02a2f7; }
      @media print, screen and (min-width: 61.25em) {
        .p-main-menu__deep > a:before {
          top: 0.85em; } }
    @media print, screen and (min-width: 61.25em) {
      .p-main-menu__deep > a:hover {
        background-color: #dce7ee; } }

.p-main-menu__item {
  opacity: 0;
  -webkit-transform: translateY(-10px);
          transform: translateY(-10px); }
  @media print, screen and (min-width: 61.25em) {
    .p-main-menu__item {
      -webkit-transform: translateY(0);
              transform: translateY(0);
      opacity: 1; } }

.l-header__menu.is-active .p-main-menu__item:nth-of-type(1) {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition: all 0.3s ease 0.13s;
  transition: all 0.3s ease 0.13s; }

.l-header__menu.is-active .p-main-menu__item:nth-of-type(2) {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition: all 0.3s ease 0.16s;
  transition: all 0.3s ease 0.16s; }

.l-header__menu.is-active .p-main-menu__item:nth-of-type(3) {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition: all 0.3s ease 0.19s;
  transition: all 0.3s ease 0.19s; }

.l-header__menu.is-active .p-main-menu__item:nth-of-type(4) {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition: all 0.3s ease 0.22s;
  transition: all 0.3s ease 0.22s; }

.l-header__menu.is-active .p-main-menu__item:nth-of-type(5) {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition: all 0.3s ease 0.25s;
  transition: all 0.3s ease 0.25s; }

.l-header__menu.is-active .p-main-menu__item:nth-of-type(6) {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition: all 0.3s ease 0.28s;
  transition: all 0.3s ease 0.28s; }

.l-header__menu.is-active .p-main-menu__item:nth-of-type(7) {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition: all 0.3s ease 0.31s;
  transition: all 0.3s ease 0.31s; }

.l-header__menu.is-active .p-main-menu__item:nth-of-type(8) {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition: all 0.3s ease 0.34s;
  transition: all 0.3s ease 0.34s; }

.l-header__menu.is-active .p-main-menu__item:nth-of-type(9) {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition: all 0.3s ease 0.37s;
  transition: all 0.3s ease 0.37s; }

.l-header__menu.is-active .p-main-menu__item:nth-of-type(10) {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition: all 0.3s ease 0.4s;
  transition: all 0.3s ease 0.4s; }

/* SP・TB時に表示するメニューの開閉ボタン
----------------------------------------------------------------- */
.p-main-menu-button {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: none;
  width: 60px;
  height: 60px;
  padding-top: 15px;
  padding-right: 14px;
  padding-bottom: 8px;
  padding-left: 14px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background-color: #fff;
  position: fixed;
  bottom: 40px;
  right: 0;
  z-index: 60000;
  border-radius: 10px 0 0 10px;
  -webkit-box-shadow: 0 3px 10px 0 rgba(61, 99, 120, 0.15);
          box-shadow: 0 3px 10px 0 rgba(61, 99, 120, 0.15); }
  @media print, screen and (min-width: 61.25em) {
    .p-main-menu-button {
      display: none; } }
  .p-main-menu-button:focus {
    outline: none; }

.p-main-menu-button__icon {
  margin-right: auto;
  margin-left: auto; }

.p-main-menu-button__text {
  font-family: brandon-grotesque, sans-serif;
  -webkit-font-feature-settings: 'palt' 1;
          font-feature-settings: 'palt' 1;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: bold;
  color: #02a2f7;
  text-align: center; }

.p-main-menu-button.-jobfair {
  bottom: 86px; }

.p-cta-menu {
  padding: 20px 20px 120px 20px; }
  @media print, screen and (min-width: 61.25em) {
    .p-cta-menu {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      margin-left: 20px;
      padding: 0; } }
  @media print, screen and (min-width: 80em) {
    .p-cta-menu {
      margin-left: 30px; } }
  @media print, screen and (min-width: 61.25em) {
    .p-cta-menu > li {
      width: 130px; } }
  @media print, screen and (min-width: 80em) {
    .p-cta-menu > li {
      width: 165px; } }
  @media print, screen and (min-width: 61.25em) {
    .p-cta-menu > li:nth-of-type(1) {
      -ms-grid-column: 1;
      -ms-grid-column-span: 1;
      grid-column: 1/2; } }
  .p-cta-menu > li:nth-of-type(2) {
    margin-top: 10px; }
    @media print, screen and (min-width: 61.25em) {
      .p-cta-menu > li:nth-of-type(2) {
        margin-top: 0;
        margin-left: 10px; } }

.p-cta-menu li {
  opacity: 0;
  -webkit-transform: translateY(-10px);
          transform: translateY(-10px); }
  @media print, screen and (min-width: 61.25em) {
    .p-cta-menu li {
      -webkit-transform: translateY(0);
              transform: translateY(0);
      opacity: 1; } }
  .l-header__menu.is-active .p-cta-menu li:nth-child(1) {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
    -webkit-transition: all 0.3s ease 0.34s;
    transition: all 0.3s ease 0.34s; }
  .l-header__menu.is-active .p-cta-menu li:nth-child(2) {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
    -webkit-transition: all 0.3s ease 0.4s;
    transition: all 0.3s ease 0.4s; }

/* トップページのメインビジュアル
----------------------------------------------------------------- */
@-webkit-keyframes loop {
  from {
    background-position: 0 0; }
  to {
    background-position: -2291px 0; } }
@keyframes loop {
  from {
    background-position: 0 0; }
  to {
    background-position: -2291px 0; } }

@-webkit-keyframes loopSp {
  from {
    background-position: 0 0; }
  to {
    background-position: -1634px 0; } }

@keyframes loopSp {
  from {
    background-position: 0 0; }
  to {
    background-position: -1634px 0; } }

@-webkit-keyframes loopReverse {
  from {
    background-position: 0 0; }
  to {
    background-position: 2291px 0; } }

@keyframes loopReverse {
  from {
    background-position: 0 0; }
  to {
    background-position: 2291px 0; } }

.p-mainvisual {
  position: relative;
  overflow: hidden;
  -webkit-transition: background-color 0s ease 1s;
  transition: background-color 0s ease 1s;
  background-color: #edf9ff; }
  @media print, screen and (min-width: 61.25em) {
    .p-mainvisual {
      margin-top: 80px; } }
  @media print, screen and (min-width: 48em) {
    .p-mainvisual {
      min-height: 300px;
      max-height: 753px;
      height: calc(100vh - 130px); } }

@media print, screen and (min-width: 48em) {
  .p-mainvisual__inner {
    position: absolute;
    top: 50%;
    width: 100%;
    max-width: 1400px;
    padding-right: 100px;
    padding-left: 100px;
    left: 0;
    right: 0;
    margin-right: auto;
    margin-left: auto;
    -webkit-box-sizing: border-box;
            box-sizing: border-box; } }

@media print, screen and (min-width: 48em) {
  .p-mainvisual__image {
    position: absolute;
    bottom: 50%;
    -webkit-transform: translateY(50%);
            transform: translateY(50%);
    width: 100%; } }

.p-mainvisual__content {
  position: relative;
  z-index: 1;
  width: 100%;
  padding-top: 20px;
  padding-right: 5.334%;
  padding-left: 5.334%;
  padding-bottom: 8px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  text-align: center; }
  @media print, screen and (min-width: 48em) {
    .p-mainvisual__content {
      height: 33.3%;
      padding-top: 0;
      padding-right: 0;
      padding-left: 0;
      padding-bottom: 0; } }
  @media print, screen and (min-width: 61.25em) {
    .p-mainvisual__content {
      padding-top: 0px; } }

.p-mainvisual__image-top {
  display: block;
  position: relative;
  width: 100%; }
  @media print, screen and (min-width: 48em) {
    .p-mainvisual__image-top {
      background-image: url(/m/careers/img/mainvisual-upper@2x.png);
      background-size: auto 312px;
      background-repeat: repeat-x;
      background-position: 0 0;
      z-index: 0;
      height: 312px;
      padding-top: 0;
      -webkit-animation: loop 60s linear infinite;
              animation: loop 60s linear infinite; } }
  @media only screen and (max-width: 47.9375em) {
    .p-mainvisual__image-top {
      background-image: url(/m/careers/img/img_mainvisual_sp@2x.png);
      background-size: auto 310px;
      background-repeat: repeat-x;
      background-position: 0 0;
      position: relative;
      height: 310px;
      background-size: cover;
      background-position: 50%;
      -webkit-animation: loopSp 60s linear infinite;
              animation: loopSp 60s linear infinite; } }
  .p-mainvisual__image-top img {
    display: block;
    margin-left: 50%;
    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0); }
    @media print, screen and (min-width: 48em) {
      .p-mainvisual__image-top img {
        height: 312px; } }
    @media only screen and (max-width: 47.9375em) {
      .p-mainvisual__image-top img {
        position: relative;
        height: 25vw;
        max-height: 300px; } }

.p-mainvisual__image-bottom {
  display: block;
  position: relative;
  width: 100%;
  background-image: url(/m/careers/img/mainvisual-bottom@2x.webp);
  background-size: auto 312px;
  background-repeat: repeat-x;
  background-position: 0 0; }
  @media print, screen and (min-width: 48em) {
    .p-mainvisual__image-bottom {
      z-index: 0;
      padding-top: 0;
      margin-top: 160px;
      -webkit-animation: loopReverse 60s linear infinite;
              animation: loopReverse 60s linear infinite; } }
  @media only screen and (max-width: 47.9375em) {
    .p-mainvisual__image-bottom {
      display: none;
      margin-top: 12px;
      background-size: cover;
      background-position: 50%; } }
  @media print, screen and (min-width: 48em) {
    .p-mainvisual__image-bottom {
      height: 312px; } }
  @media only screen and (max-width: 47.9375em) {
    .p-mainvisual__image-bottom {
      position: relative;
      height: 25vw;
      max-height: 300px; } }
  .p-mainvisual__image-bottom img {
    display: block;
    margin-left: 50%;
    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0); }
    @media print, screen and (min-width: 48em) {
      .p-mainvisual__image-bottom img {
        height: 312px; } }
    @media only screen and (max-width: 47.9375em) {
      .p-mainvisual__image-bottom img {
        position: relative;
        height: 25vw;
        max-height: 300px; } }

.p-mainvisual__copy {
  display: block;
  letter-spacing: -0.1px;
  position: absolute;
  height: auto;
  z-index: 1000; }
  @media only screen and (max-width: 47.9375em) {
    .p-mainvisual__copy {
      position: relative;
      width: auto;
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      padding-right: 5.334%;
      padding-left: 5.334%;
      margin: 20px auto 0 auto; } }
  @media print, screen and (min-width: 48em) {
    .p-mainvisual__copy {
      width: 380px;
      top: calc(50% - 80px);
      left: 5%;
      -webkit-transform: rotate(-7deg);
              transform: rotate(-7deg); } }
  @media print, screen and (min-width: 61.25em) {
    .p-mainvisual__copy {
      width: 480px;
      left: 10%;
      top: calc(50% - 92px); } }
  @media print, screen and (min-width: 80em) {
    .p-mainvisual__copy {
      width: 520px;
      left: 13%; } }
  .p-mainvisual__copy img {
    display: block; }

.p-mainvisual__copy-2 {
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: bold;
  position: absolute; }
  @media only screen and (max-width: 47.9375em) {
    .p-mainvisual__copy-2 {
      text-align: center;
      position: relative;
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      padding-right: 5.334%;
      padding-left: 5.334%;
      margin-top: 10px;
      margin-bottom: 20px; } }
  @media print, screen and (min-width: 48em) {
    .p-mainvisual__copy-2 {
      font-size: 18px;
      top: 50%;
      right: 2%;
      -webkit-transform: translateY(-50%);
              transform: translateY(-50%); } }
  @media print, screen and (min-width: 61.25em) {
    .p-mainvisual__copy-2 {
      right: 10%; } }
  @media print, screen and (min-width: 80em) {
    .p-mainvisual__copy-2 {
      right: 15.5%; } }

/* 募集職種
----------------------------------------------------------------- */
.p-intro {
  width: 100%;
  background-color: #02a2f7; }

.p-intro__inner {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding-top: 24px;
  padding-right: 5.334%;
  padding-left: 5.334%;
  padding-bottom: 24px; }
  @media print, screen and (min-width: 61.25em) {
    .p-intro__inner {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: baseline;
          -ms-flex-align: baseline;
              align-items: baseline;
      max-width: 1400px;
      padding-top: 25px;
      padding-right: 100px;
      padding-bottom: 25px;
      padding-left: 100px;
      margin-right: auto;
      margin-left: auto; } }

.p-intro__title {
  font-size: 16px;
  font-size: 1rem;
  font-weight: bold;
  white-space: nowrap;
  color: #fff;
  text-align: center; }
  @media print, screen and (min-width: 61.25em) {
    .p-intro__title {
      position: relative;
      top: 3px;
      text-align: left;
      font-size: 22px;
      font-size: 1.375rem; } }

.p-intro__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 4px;
  margin-right: auto;
  margin-right: auto; }
  @media print, screen and (min-width: 61.25em) {
    .p-intro__list {
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      margin-top: 0;
      margin-right: auto;
      margin-left: 30px; } }
  .p-intro__list > li {
    color: #fff;
    font-weight: bold;
    font-size: 14px;
    font-size: 0.875rem;
    margin-top: 7px; }
    @media print, screen and (min-width: 61.25em) {
      .p-intro__list > li {
        font-size: 16px;
        font-size: 1rem; } }
    .p-intro__list > li:not(:last-of-type) {
      position: relative;
      padding-right: 30px; }
      .p-intro__list > li:not(:last-of-type):after {
        content: '';
        position: absolute;
        right: 15px;
        top: calc(50% - 8px);
        width: 1px;
        height: 18px;
        background-color: #fff;
        -webkit-transform: rotate(45deg);
                transform: rotate(45deg); }

.p-intro__button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  margin-top: 22px;
  margin-right: auto;
  margin-left: auto; }
  @media print, screen and (min-width: 61.25em) {
    .p-intro__button {
      margin-top: 0;
      margin-left: 20px;
      width: 280px;
      max-width: none; } }
  @media print, screen and (min-width: 80em) {
    .p-intro__button {
      width: 350px; } }

/* ホーム - プロジェクト紹介
----------------------------------------------------------------- */
.p-home-block {
  padding-top: 40px;
  padding-bottom: 50px; }
  @media print, screen and (min-width: 61.25em) {
    .p-home-block {
      padding-top: 100px;
      padding-bottom: 100px; } }

@media only screen and (max-width: 47.9375em) {
  .p-home-block__button {
    width: 150px;
    margin-top: 24px;
    margin-right: auto;
    margin-left: auto; } }

@media print, screen and (min-width: 48em) {
  .p-home-block__button {
    width: 250px;
    margin-top: 40px;
    margin-right: auto;
    margin-left: auto; } }

/* ホーム - 私たちの特徴
----------------------------------------------------------------- */
@media print, screen and (min-width: 61.25em) {
  .p-home-feature {
    display: -ms-grid;
    display: grid;
    gap: 100px;
    -ms-grid-rows: auto;
    -ms-grid-columns: 500px 100px 1fr;
        grid-template: 'content image'/ 500px 1fr;
    padding-top: 100px;
    padding-bottom: 100px; } }

.p-home-feature__content {
  grid-area: content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  padding-top: 40px;
  padding-bottom: 50px; }
  @media print, screen and (min-width: 61.25em) {
    .p-home-feature__content {
      padding-top: 0;
      padding-bottom: 0; } }
  .p-home-feature__content .c-list {
    width: 100%; }

.p-home-feature__image {
  width: 100vw;
  position: relative;
  left: -5.334vw; }
  @media print, screen and (min-width: 61.25em) {
    .p-home-feature__image {
      width: auto;
      grid-area: image;
      padding-top: 700px;
      margin-right: -100px;
      left: 0; } }
  .p-home-feature__image > span {
    display: block;
    width: 100%;
    padding-top: 75%;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: 100% 50%; }
    @media only screen and (max-width: 47.9375em) {
      .p-home-feature__image > span {
        background-position: 100% 22%; } }
    @media print, screen and (min-width: 61.25em) {
      .p-home-feature__image > span {
        padding-top: 0;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
        border-radius: 20px 0 0 20px; } }
    @media print, screen and (min-width: 87.5em) {
      .p-home-feature__image > span {
        border-radius: 20px; } }

@media only screen and (max-width: 47.9375em) {
  .p-home-feature__button {
    width: 150px;
    margin-top: 24px; } }

@media print, screen and (min-width: 48em) {
  .p-home-feature__button {
    width: 180px;
    margin-top: 40px; } }

.p-home-feature__desc {
  margin-bottom: 20px; }

.p-home-section {
  width: 100%;
  margin-top: 24px; }
  @media print, screen and (min-width: 61.25em) {
    .p-home-section {
      margin-top: 40px; } }
  .p-home-section.-text {
    margin-top: 17px; }
    @media print, screen and (min-width: 61.25em) {
      .p-home-section.-text {
        margin-top: 20px; } }

/* ホーム - 職場環境
----------------------------------------------------------------- */
.p-culture-block {
  background-color: #edf9ff; }

@media print, screen and (min-width: 61.25em) {
  .p-culture-block__gallery {
    margin-bottom: -310px; } }

.p-culture-block__menu {
  overflow: hidden;
  position: relative;
  z-index: 1;
  background-color: #fff;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding-top: 40px;
  padding-right: 5.334%;
  padding-bottom: 50px;
  padding-left: 5.334%; }
  @media print, screen and (min-width: 61.25em) {
    .p-culture-block__menu {
      width: 710px;
      padding-top: 100px;
      padding-right: 100px;
      padding-bottom: 100px;
      padding-left: 100px;
      border-radius: 0 20px 20px 0;
      -webkit-box-shadow: 0 3px 10px 0 rgba(61, 99, 120, 0.15);
              box-shadow: 0 3px 10px 0 rgba(61, 99, 120, 0.15); } }
  @media print, screen and (min-width: 87.5em) {
    .p-culture-block__menu {
      left: calc(50% - 700px);
      border-radius: 20px; } }

.p-culture-gallery__view {
  position: relative;
  padding-top: 53.3%; }
  @media print, screen and (min-width: 61.25em) {
    .p-culture-gallery__view {
      padding-top: 763px; } }
  .p-culture-gallery__view > span {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: 50% 0;
    opacity: 0;
    z-index: 0;
    -webkit-transition: opacity 1s ease 0s, z-index 0s linear 1s;
    transition: opacity 1s ease 0s, z-index 0s linear 1s; }
    .p-culture-gallery__view > span.-current {
      opacity: 1;
      z-index: 1; }

.p-culture-gallery__list {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  background-color: #fffb26;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-top: 24px;
  padding-right: 11.7%;
  padding-bottom: 24px;
  padding-left: 11.7%; }
  @media print, screen and (min-width: 61.25em) {
    .p-culture-gallery__list {
      position: absolute;
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end;
      padding-top: 40px;
      padding-right: 5.334%;
      padding-bottom: 40px;
      padding-left: calc(710px + 20px); } }
  @media print, screen and (min-width: 80em) {
    .p-culture-gallery__list {
      padding-top: 40px;
      padding-right: 100px;
      padding-bottom: 40px;
      padding-left: calc(710px + 100px); } }
  .p-culture-gallery__list > li {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    max-width: 150px; }
    @media only screen and (max-width: 47.9375em) {
      .p-culture-gallery__list > li + li {
        margin-left: 10px; } }
    @media print, screen and (min-width: 48em) {
      .p-culture-gallery__list > li + li {
        margin-left: 20px; } }
  .p-culture-gallery__list a {
    position: relative;
    padding-top: 56%;
    display: block; }
  .p-culture-gallery__list span {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;
    border-radius: 20px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    opacity: 0.7;
    -webkit-transition: opacity 0.5s ease;
    transition: opacity 0.5s ease; }
    .p-culture-gallery__list span.-current {
      opacity: 1; }

.p-cta-button-group {
  width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  max-width: 285px;
  margin-right: auto;
  margin-left: auto; }
  @media print, screen and (min-width: 48em) {
    .p-cta-button-group {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      max-width: 840px; } }
  @media print, screen and (min-width: 48em) {
    .p-cta-button-group > li {
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1; } }
  @media only screen and (max-width: 47.9375em) {
    .p-cta-button-group > li + li {
      margin-top: 12px; } }
  @media print, screen and (min-width: 48em) {
    .p-cta-button-group > li + li {
      margin-left: 40px; } }

/* お問い合わせモジュール
----------------------------------------------------------------- */
.p-contact-block {
  position: relative;
  padding-top: 40px;
  padding-bottom: 40px; }
  @media print, screen and (min-width: 48em) {
    .p-contact-block {
      padding-top: 80px;
      padding-right: 5.334%;
      padding-bottom: 80px;
      padding-left: 5.334%; } }
  @media print, screen and (min-width: 61.25em) {
    .p-contact-block {
      padding-right: 100px;
      padding-left: 100px; } }
  .p-contact-block:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

.p-contact-block__content {
  position: relative;
  z-index: 1;
  background-color: #fff;
  -webkit-box-shadow: 0 3px 10px 0 rgba(61, 99, 120, 0.15);
          box-shadow: 0 3px 10px 0 rgba(61, 99, 120, 0.15);
  max-width: 1200px;
  margin-right: auto;
  margin-left: auto;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 30px; }
  @media print, screen and (min-width: 48em) {
    .p-contact-block__content {
      border-radius: 20px;
      padding-top: 60px;
      padding-right: 5.334%;
      padding-bottom: 60px;
      padding-left: 5.334%; } }
  @media print, screen and (min-width: 61.25em) {
    .p-contact-block__content {
      padding-right: 100px;
      padding-left: 100px; } }

@media only screen and (max-width: 47.9375em) {
  .p-contact__desc {
    margin-top: 14px; } }

@media print, screen and (min-width: 48em) {
  .p-contact__desc {
    margin-top: 24px; } }

@media only screen and (max-width: 47.9375em) {
  .p-contact__button {
    margin-top: 16px; } }

@media print, screen and (min-width: 48em) {
  .p-contact__button {
    margin-top: 32px; } }

/* 背景色が半分青、半分白 */
.p-contact-block.-fill-transparent:before {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(50%, #edf9ff), color-stop(0%, transparent));
  background: -webkit-linear-gradient(#edf9ff 50%, transparent 0%);
  background: linear-gradient(#edf9ff 50%, transparent 0%); }

/* フッターのリンクリスト
----------------------------------------------------------------- */
@media print, screen and (min-width: 48em) {
  .p-footer-map {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end; } }

.p-footer-map a {
  color: #fff; }
  @media print, screen and (min-width: 61.25em) {
    .p-footer-map a:hover {
      color: #fffb26; } }

@media print, screen and (min-width: 48em) {
  .browser-is-ie .p-footer-map {
    width: 100%; } }

.p-footer-map.-main {
  font-weight: bold; }
  @media only screen and (max-width: 47.9375em) {
    .p-footer-map.-main {
      font-size: 12px;
      font-size: 0.75rem; } }
  @media print, screen and (min-width: 48em) {
    .p-footer-map.-main {
      font-size: 14px;
      font-size: 0.875rem; } }
  @media only screen and (max-width: 47.9375em) {
    .p-footer-map.-main li + li {
      margin-top: 4px; } }
  @media print, screen and (min-width: 48em) {
    .p-footer-map.-main li + li {
      margin-left: 40px; } }

.p-footer-map.-sub {
  margin-top: 16px;
  font-size: 12px;
  font-size: 0.75rem; }
  @media only screen and (max-width: 47.9375em) {
    .p-footer-map.-sub li + li {
      margin-top: 8px; } }
  @media print, screen and (min-width: 48em) {
    .p-footer-map.-sub li + li {
      margin-left: 20px; } }

/* コピーライト
----------------------------------------------------------------- */
.p-copyright {
  display: block;
  color: #fff;
  opacity: 0.5;
  padding-top: 8px;
  padding-bottom: 8px; }
  @media only screen and (max-width: 47.9375em) {
    .p-copyright {
      font-size: 10px;
      font-size: 0.625rem; } }
  @media print, screen and (min-width: 48em) {
    .p-copyright {
      font-size: 12px;
      font-size: 0.75rem; } }
  .p-copyright.-form {
    padding-top: 16px;
    padding-bottom: 16px;
    color: #7f7f7f;
    text-align: center; }

/* プロジェクトのスライダー
----------------------------------------------------------------- */
.p-project-slide {
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }
  @media only screen and (max-width: 47.9375em) {
    .p-project-slide {
      width: 100vw;
      -webkit-transform: translateX(-5.334vw);
              transform: translateX(-5.334vw); } }
  @media print, screen and (min-width: 48em) {
    .p-project-slide {
      width: auto;
      -webkit-transform: none;
              transform: none; } }

.js-slide-project2-container,
.js-slide-project-container {
  overflow: hidden;
  padding: 30px 10px; }
  @media only screen and (max-width: 47.9375em) {
    .js-slide-project2-container,
    .js-slide-project-container {
      margin-top: -30px;
      margin-bottom: -30px; } }
  @media print, screen and (min-width: 48em) {
    .js-slide-project2-container,
    .js-slide-project-container {
      margin-top: -30px;
      margin-right: 45px;
      margin-left: 45px;
      margin-bottom: -30px; } }

.p-project-slide__slidearea {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  .p-project-slide__slidearea .c-card {
    height: 100%; }

.p-project-slide__pager {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  z-index: 50000;
  pointer-events: none; }
  @media only screen and (max-width: 47.9375em) {
    .p-project-slide__pager {
      top: 0;
      height: 100%; } }
  @media print, screen and (min-width: 48em) {
    .p-project-slide__pager {
      top: 50%; } }

.p-project-slide__left,
.p-project-slide__right {
  position: absolute;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: none;
  background-color: transparent;
  cursor: pointer;
  pointer-events: auto; }
  @media only screen and (max-width: 47.9375em) {
    .p-project-slide__left,
    .p-project-slide__right {
      height: 100%; } }
  @media print, screen and (min-width: 48em) {
    .p-project-slide__left,
    .p-project-slide__right {
      width: 36px;
      height: 36px;
      opacity: 0.2; } }
  @media print, screen and (min-width: 61.25em) {
    .p-project-slide__left,
    .p-project-slide__right {
      -webkit-transition: opacity 0.7s ease;
      transition: opacity 0.7s ease; } }
  .p-project-slide__left:focus,
  .p-project-slide__right:focus {
    outline: none; }
  .p-project-slide__left:before,
  .p-project-slide__right:before {
    position: absolute;
    bottom: 0;
    content: '';
    width: 8px;
    height: 36px;
    border-radius: 50% 50% 0 0 /4px 4px 0 0;
    background-color: #02a2f7; }
    @media only screen and (max-width: 47.9375em) {
      .p-project-slide__left:before,
      .p-project-slide__right:before {
        width: 6px;
        height: 20px;
        top: calc(50% - 20px);
        -webkit-transform-origin: 100% 100%;
                transform-origin: 100% 100%; } }
    @media print, screen and (min-width: 48em) {
      .p-project-slide__left:before,
      .p-project-slide__right:before {
        right: 0;
        width: 8px;
        height: 36px; } }
  .p-project-slide__left:after,
  .p-project-slide__right:after {
    position: absolute;
    bottom: 0;
    content: '';
    border-radius: 4px 0 0 4px/ 50% 0 0 50%;
    background-color: #02a2f7; }
    @media only screen and (max-width: 47.9375em) {
      .p-project-slide__left:after,
      .p-project-slide__right:after {
        width: 20px;
        height: 6px;
        top: calc(50% - 6px);
        -webkit-transform-origin: 100% 100%;
                transform-origin: 100% 100%; } }
    @media print, screen and (min-width: 48em) {
      .p-project-slide__left:after,
      .p-project-slide__right:after {
        right: 0;
        width: 36px;
        height: 8px; } }
  @media print, screen and (min-width: 61.25em) {
    .p-project-slide__left:hover,
    .p-project-slide__right:hover {
      opacity: 1;
      -webkit-transition: opacity 0.2s ease;
      transition: opacity 0.2s ease; } }

@media only screen and (max-width: 47.9375em) {
  .p-project-slide__left {
    width: 16.002%; } }

@media print, screen and (min-width: 48em) {
  .p-project-slide__left {
    left: 20px;
    -webkit-transform: rotate(135deg);
            transform: rotate(135deg);
    left: 7px; } }

@media only screen and (max-width: 47.9375em) {
  .p-project-slide__left:after {
    left: 0;
    -webkit-transform: rotate(135deg);
            transform: rotate(135deg); } }

@media only screen and (max-width: 47.9375em) {
  .p-project-slide__left:before {
    left: 14px;
    -webkit-transform: rotate(135deg);
            transform: rotate(135deg); } }

@media only screen and (max-width: 47.9375em) {
  .p-project-slide__right {
    width: 16.002%;
    right: 0; } }

@media print, screen and (min-width: 48em) {
  .p-project-slide__right {
    right: 20px;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
    right: 7px; } }

@media only screen and (max-width: 47.9375em) {
  .p-project-slide__right:after {
    right: 20px;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg); } }

@media only screen and (max-width: 47.9375em) {
  .p-project-slide__right:before {
    right: 20px;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg); } }

@media only screen and (max-width: 47.9375em) {
  .js-slide-people {
    position: relative;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 100vw;
    -webkit-transform: translateX(-5.334vw);
            transform: translateX(-5.334vw); } }

@media print, screen and (min-width: 48em) {
  .js-slide-people {
    width: auto;
    -webkit-transform: none;
            transform: none; } }

@media only screen and (max-width: 47.9375em) {
  .js-slide-people-container {
    overflow: hidden;
    padding: 10px;
    margin-top: -10px;
    margin-bottom: -10px; } }

@media print, screen and (min-width: 48em) {
  .js-slide-project2 .p-project-slide__right,
  .js-slide-project2 .p-project-slide__left,
  .js-slide-people .p-project-slide__right,
  .js-slide-people .p-project-slide__left {
    display: none; } }

/* ハンバーガーアイコン
----------------------------------------------------------------- */
.p-hamburger-icon {
  display: block;
  border: none;
  z-index: 10000;
  position: relative;
  width: 20px;
  height: 17px;
  background-color: transparent;
  cursor: pointer; }
  @media print, screen and (min-width: 61.25em) {
    .p-hamburger-icon {
      display: none; } }
  .p-hamburger-icon span {
    display: block;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    position: absolute;
    top: 7px;
    left: 0;
    width: 100%;
    height: 3px;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2220%22%20height%3D%223%22%3E%3Cpath%20fill%3D%22%2302a2f7%22%20d%3D%22M1.5%200h17a1.5%201.5%200%200%201%200%203h-17a1.5%201.5%200%200%201%200-3z%22%20%2F%3E%3C%2Fsvg%3E");
    background-size: cover;
    background-position: 0 0;
    background-repeat: no-repeat;
    -webkit-transition: ease transform 0.2s;
    transition: ease transform 0.2s; }
    @media print, screen and (min-width: 61.25em) {
      .p-hamburger-icon span {
        display: none; } }
  .p-hamburger-icon:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 3px;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2220%22%20height%3D%223%22%3E%3Cpath%20fill%3D%22%2302a2f7%22%20d%3D%22M1.5%200h17a1.5%201.5%200%200%201%200%203h-17a1.5%201.5%200%200%201%200-3z%22%20%2F%3E%3C%2Fsvg%3E");
    background-size: cover;
    background-position: 0 0;
    background-repeat: no-repeat;
    -webkit-transition: ease transform 0.2s;
    transition: ease transform 0.2s; }
  .p-hamburger-icon:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 3px;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2220%22%20height%3D%223%22%3E%3Cpath%20fill%3D%22%2302a2f7%22%20d%3D%22M1.5%200h17a1.5%201.5%200%200%201%200%203h-17a1.5%201.5%200%200%201%200-3z%22%20%2F%3E%3C%2Fsvg%3E");
    background-size: cover;
    background-position: 0 0;
    background-repeat: no-repeat;
    -webkit-transition: ease transform 0.2s;
    transition: ease transform 0.2s; }
  .p-main-menu-button.is-active .p-hamburger-icon span {
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg); }
    @media only screen and (max-width: 47.9375em) {
      .p-main-menu-button.is-active .p-hamburger-icon span {
        background-color: #fff; } }
  .p-main-menu-button.is-active .p-hamburger-icon:before {
    -webkit-transform: translateY(7px) rotate(-45deg);
            transform: translateY(7px) rotate(-45deg); }
    @media only screen and (max-width: 47.9375em) {
      .p-main-menu-button.is-active .p-hamburger-icon:before {
        background-color: #fff; } }
  .p-main-menu-button.is-active .p-hamburger-icon:after {
    -webkit-transform: translateY(-7px) rotate(45deg);
            transform: translateY(-7px) rotate(45deg); }
    @media only screen and (max-width: 47.9375em) {
      .p-main-menu-button.is-active .p-hamburger-icon:after {
        background-color: #fff; } }

/* ページトップリンク
----------------------------------------------------------------- */
.p-page-top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  padding-top: 16px;
  padding-right: 5.334%;
  padding-bottom: 16px;
  padding-left: 5.334%; }
  @media print, screen and (min-width: 61.25em) {
    .p-page-top {
      display: block;
      padding: 0;
      opacity: 0;
      position: fixed;
      right: 5.334%;
      bottom: 20px;
      width: 40px;
      height: 40px;
      z-index: 8;
      visibility: hidden;
      -webkit-transition: opacity 0.2s 0s ease, visibility 0.2s 0s ease, -webkit-transform 0.2s ease;
      transition: opacity 0.2s 0s ease, visibility 0.2s 0s ease, -webkit-transform 0.2s ease;
      transition: opacity 0.2s 0s ease, transform 0.2s ease, visibility 0.2s 0s ease;
      transition: opacity 0.2s 0s ease, transform 0.2s ease, visibility 0.2s 0s ease, -webkit-transform 0.2s ease;
      right: 20px;
      bottom: 20px;
      -webkit-transform: translateY(5px) scale(0.95);
              transform: translateY(5px) scale(0.95); } }
  .p-page-top > a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    @media print, screen and (min-width: 61.25em) {
      .p-page-top > a {
        display: block;
        height: 100%; } }
    .p-page-top > a:after {
      z-index: 1;
      content: '';
      background-color: #02a2f7;
      border-radius: 50%;
      background-repeat: no-repeat;
      background-size: cover;
      background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2218%22%20height%3D%2218%22%3E%3Cg%20transform%3D%22translate%28-5781%20-1277%29%22%3E%3Ccircle%20cx%3D%229%22%20cy%3D%229%22%20r%3D%229%22%20fill%3D%22%2302a2f7%22%20transform%3D%22translate%285781%201277%29%22%2F%3E%3Cpath%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-linecap%3D%22round%22%20stroke-width%3D%222%22%20d%3D%22M5788.875%201289.375l3-3-3-3%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
      -webkit-transform: rotate(-90deg);
              transform: rotate(-90deg);
      -webkit-transition: opacity 0.3s ease;
      transition: opacity 0.3s ease;
      display: inline-block;
      width: 18px;
      height: 18px;
      margin-left: 6px; }
      @media print, screen and (min-width: 61.25em) {
        .p-page-top > a:after {
          position: absolute;
          top: 0;
          left: 0;
          display: block;
          width: 100%;
          height: 100%;
          margin-left: 0; } }
    .p-page-top > a:before {
      display: none;
      position: absolute;
      top: 0;
      left: 0;
      content: '';
      background-color: #02a2f7;
      border-radius: 50%;
      background-repeat: no-repeat;
      background-size: cover;
      background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2218%22%20height%3D%2218%22%3E%3Cg%20transform%3D%22translate%28-5781%20-1277%29%22%3E%3Ccircle%20cx%3D%229%22%20cy%3D%229%22%20r%3D%229%22%20fill%3D%22%230062cc%22%20transform%3D%22translate%285781%201277%29%22%2F%3E%3Cpath%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-linecap%3D%22round%22%20stroke-width%3D%222%22%20d%3D%22M5788.875%201289.375l3-3-3-3%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
      -webkit-transform: rotate(-90deg);
              transform: rotate(-90deg);
      -webkit-transition: background-image 0.3s ease;
      transition: background-image 0.3s ease;
      opacity: 0;
      display: inline-block;
      width: 18px;
      height: 18px;
      margin-left: 10px;
      -webkit-transition: opacity 0.3s ease;
      transition: opacity 0.3s ease; }
      @media print, screen and (min-width: 61.25em) {
        .p-page-top > a:before {
          display: block;
          width: 100%;
          height: 100%;
          margin-left: 0; } }
    @media print, screen and (min-width: 61.25em) {
      .p-page-top > a:hover:after {
        opacity: 0; } }
    @media print, screen and (min-width: 61.25em) {
      .p-page-top > a:hover:before {
        opacity: 1; } }
    .p-page-top > a > span {
      font-size: 14px;
      font-size: 0.875rem;
      font-weight: bold; }
      @media print, screen and (min-width: 61.25em) {
        .p-page-top > a > span {
          display: none; } }
  @media print, screen and (min-width: 61.25em) {
    .p-page-top.is-active {
      opacity: 1;
      visibility: visible;
      -webkit-transform: translateY(0) scale(1);
              transform: translateY(0) scale(1); } }

.p-page-top.-fill {
  background-color: #edf9ff; }

/* 追従CTA
----------------------------------------------------------------- */
.p-fixed-cta {
  position: fixed;
  z-index: 50000;
  display: -ms-grid;
  display: grid;
  top: auto;
  bottom: 0;
  left: 0;
  width: 100%;
  -ms-grid-columns: 1fr 1fr;
  grid-template-columns: 1fr 1fr;
  -webkit-transform: translateY(101%);
          transform: translateY(101%);
  -webkit-transition: -webkit-transform 0.2s ease;
  transition: -webkit-transform 0.2s ease;
  transition: transform 0.2s ease;
  transition: transform 0.2s ease, -webkit-transform 0.2s ease; }
  @media print, screen and (min-width: 61.25em) {
    .p-fixed-cta {
      display: none; } }
  .p-fixed-cta.is-active {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    -webkit-transition: -webkit-transform 0.2s ease;
    transition: -webkit-transform 0.2s ease;
    transition: transform 0.2s ease;
    transition: transform 0.2s ease, -webkit-transform 0.2s ease; }

.p-fixed-cta__button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 14px;
  font-size: 0.875rem;
  -webkit-font-feature-settings: 'palt' 1;
          font-feature-settings: 'palt' 1;
  font-weight: bold;
  padding-top: 10px;
  padding-right: 5.334%;
  padding-bottom: 10px;
  padding-left: 5.334%; }
  @media only screen and (max-width: 47.9375em) {
    .p-fixed-cta__button {
      font-family: "YakuHanJP", "Noto Sans CJK JP Subset", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo"; } }
  @media print, screen and (min-width: 48em) {
    .p-fixed-cta__button {
      font-family: "YakuHanJP", "Noto Sans CJK JP Subset", "Yu Gothic", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo"; } }
  .p-fixed-cta__button .c-arrow,
  .p-fixed-cta__button .c-blank,
  .p-fixed-cta__button .c-table__editable a[target='_blank'],
  .c-table__editable .p-fixed-cta__button a[target='_blank'] {
    margin-left: 10px;
    margin-bottom: -1px; }
  .p-fixed-cta__button.-info {
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    grid-column: 1/2;
    background-color: #02a2f7;
    color: #fff; }
    @media only screen and (max-width: 47.9375em) {
      .p-fixed-cta__button.-info {
        font-size: 14px;
        font-size: 0.875rem; } }
  .p-fixed-cta__button.-entry {
    -ms-grid-column: 2;
    -ms-grid-column-span: 1;
    grid-column: 2/3;
    background-color: #fffb26;
    color: #000; }
    @media only screen and (max-width: 47.9375em) {
      .p-fixed-cta__button.-entry {
        font-size: 14px;
        font-size: 0.875rem; } }

/* パンくずリスト
----------------------------------------------------------------- */
.p-breadcrumbs {
  width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding-top: 4px;
  padding-bottom: 5px;
  z-index: 4;
  background-color: #edf9ff; }
  @media only screen and (max-width: 47.9375em) {
    .p-breadcrumbs {
      display: none; } }
  @media print, screen and (min-width: 48em) {
    .p-breadcrumbs {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; } }
  @media print, screen and (min-width: 87.5em) {
    .p-breadcrumbs {
      padding-right: 0;
      padding-left: 0; } }

.p-breadcrumbs__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  overflow: hidden;
  padding-right: 5.334%;
  padding-left: 5.334%; }
  @media print, screen and (min-width: 48em) {
    .p-breadcrumbs__inner {
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      width: 100%; } }
  @media print, screen and (min-width: 61.25em) {
    .p-breadcrumbs__inner {
      padding-right: 40px;
      padding-left: 40px; } }
  @media print, screen and (min-width: 87.5em) {
    .p-breadcrumbs__inner {
      margin-right: auto;
      margin-left: auto; } }

.p-breadcrumbs__item {
  position: relative;
  font-size: 14px;
  font-size: 0.875rem;
  color: #000;
  white-space: nowrap; }
  .p-breadcrumbs__item > a {
    -webkit-transition: color 0.1s 0s ease;
    transition: color 0.1s 0s ease;
    color: #000; }
    @media print, screen and (min-width: 48em) {
      .p-breadcrumbs__item > a:hover {
        color: #0062cc;
        text-decoration: underline; } }
  .p-breadcrumbs__item br {
    display: none; }
  .p-breadcrumbs__item small {
    font-size: 13px;
    font-size: 0.8125rem;
    display: inline; }
  .p-breadcrumbs__item:last-child {
    overflow: hidden;
    text-overflow: ellipsis; }
    .p-breadcrumbs__item:last-child:after {
      display: none; }
  .p-breadcrumbs__item:after {
    content: '';
    width: 6px;
    height: 9px;
    background-size: cover;
    background-position: 0 0;
    background-repeat: no-repeat;
    display: inline-block;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%226%22%20height%3D%228%22%3E%3Cpath%20fill%3D%22none%22%20stroke%3D%22%23666%22%20stroke-linecap%3D%22round%22%20stroke-width%3D%222%22%20d%3D%22M1%207l3-3-3-3%22%20%2F%3E%3C%2Fsvg%3E");
    margin-right: 10px;
    margin-left: 10px; }

.p-breadcrumbs.-absolute,
.p-breadcrumbs.-detail,
.p-breadcrumbs.-form {
  position: absolute; }

/* カテトップページのメインビジュアル
----------------------------------------------------------------- */
.p-page-visual {
  position: relative; }
  @media print, screen and (min-width: 48em) {
    .p-page-visual {
      height: 500px;
      padding-bottom: 40px;
      background-color: #edf9ff; } }
  @media print, screen and (min-width: 48em) {
    .p-page-visual.-company .p-page-visual__image > img {
      left: auto;
      height: 100%;
      width: auto;
      right: calc(-180px + 5%);
      -webkit-transform: none;
              transform: none; } }
  @media print, screen and (min-width: 61.25em) {
    .p-page-visual.-company .p-page-visual__image > img {
      width: 100%;
      height: auto;
      top: 50%;
      right: 0;
      left: auto;
      -webkit-transform: translateY(-50%);
              transform: translateY(-50%); } }

.p-page-visual__image {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 100%;
  overflow: hidden; }
  @media print, screen and (min-width: 48em) {
    .p-page-visual__image {
      position: absolute;
      top: calc(50% - 20px);
      left: 50%;
      height: calc(100% - 40px);
      -webkit-transform: translate3d(-50%, -50%, 0);
              transform: translate3d(-50%, -50%, 0); } }
  .p-page-visual__image > img {
    width: 100%;
    height: auto; }
    @media print, screen and (min-width: 48em) {
      .p-page-visual__image > img {
        min-width: 1400px;
        position: absolute;
        top: 0;
        left: 50%;
        -webkit-transform: translateX(-50%);
                transform: translateX(-50%); } }

.p-page-visual__inner {
  position: relative;
  z-index: 1;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  max-width: 1400px;
  margin-right: auto;
  margin-left: auto;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }
  @media print, screen and (min-width: 48em) {
    .p-page-visual__inner {
      padding-right: 5.334%;
      padding-left: 5.334%; } }
  @media print, screen and (min-width: 61.25em) {
    .p-page-visual__inner {
      padding-right: 100px;
      padding-left: 100px; } }

.p-page-visual__title {
  display: inline-block;
  font-weight: bold;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(70%, transparent), color-stop(0%, #fffb26));
  background: -webkit-linear-gradient(transparent 70%, #fffb26 0%);
  background: linear-gradient(transparent 70%, #fffb26 0%); }
  @media only screen and (max-width: 47.9375em) {
    .p-page-visual__title {
      margin-top: 24px;
      margin-right: 5.334%;
      margin-bottom: 24px;
      margin-left: 5.334%;
      font-size: 20px;
      font-size: 1.25rem; } }
  @media print, screen and (min-width: 48em) {
    .p-page-visual__title {
      margin-top: 180px;
      font-size: 40px;
      font-size: 2.5rem; } }

.p-page-visual__title > .-disc {
  font-size: 18px;
  font-size: 1.125rem;
  font-weight: bold;
  padding-left: 10px; }
  @media only screen and (max-width: 47.9375em) {
    .p-page-visual__title > .-disc {
      font-size: 14px;
      font-size: 0.875rem; } }

.p-page-visual__content {
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  max-width: 1200px;
  font-weight: bold;
  color: #fff; }
  @media only screen and (max-width: 47.9375em) {
    .p-page-visual__content {
      width: 100%;
      padding-top: 24px;
      padding-right: 5.334%;
      padding-bottom: 24px;
      padding-left: 5.334%; } }
  @media print, screen and (min-width: 48em) {
    .p-page-visual__content {
      padding-top: 40px;
      padding-bottom: 40px;
      width: calc(100% - 100px);
      padding-right: 100px;
      -webkit-transform: translate3d(0, 40px, 0);
              transform: translate3d(0, 40px, 0); } }
  .p-page-visual__content:after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 100vw;
    height: 100%;
    background-color: #02a2f7;
    z-index: -1; }

.p-page-visual.-member .p-page-visual__title {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(0%, #fffb26));
  background: -webkit-linear-gradient(transparent 60%, #fffb26 0%);
  background: linear-gradient(transparent 60%, #fffb26 0%); }

/* カテトップページのメインビジュアル
----------------------------------------------------------------- */
@media print, screen and (min-width: 48em) {
  .p-detail-visual {
    background-color: #edf9ff; } }

@media print, screen and (min-width: 48em) {
  .p-detail-visual__inner {
    min-height: 220px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    max-width: 1160px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    text-align: center;
    padding-top: 67px;
    padding-right: 5.334%;
    padding-bottom: 67px;
    padding-left: 5.334%;
    margin-right: auto;
    margin-left: auto; } }

@media print, screen and (min-width: 61.25em) {
  .p-detail-visual__inner {
    padding-right: 100px;
    padding-left: 100px; } }

.p-detail-visual__title {
  display: inline-block;
  font-weight: bold; }
  @media only screen and (max-width: 47.9375em) {
    .p-detail-visual__title {
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      background-color: #edf9ff;
      width: 100%;
      padding-top: 24px;
      padding-right: 5.334%;
      padding-bottom: 24px;
      padding-left: 5.334%;
      font-size: 20px;
      font-size: 1.25rem; } }
  @media print, screen and (min-width: 48em) {
    .p-detail-visual__title {
      font-size: 40px;
      font-size: 2.5rem; }
      .browser-is-ie .p-detail-visual__title {
        padding-top: 13px;
        width: 100%; } }
  .p-detail-visual__title > span {
    background: -webkit-gradient(linear, left top, left bottom, color-stop(70%, transparent), color-stop(0%, #fffb26));
    background: -webkit-linear-gradient(transparent 70%, #fffb26 0%);
    background: linear-gradient(transparent 70%, #fffb26 0%); }

@media only screen and (max-width: 47.9375em) {
  .p-detail-visual__content {
    margin-top: 16px;
    margin-right: 5.334%;
    margin-left: 5.334%; } }

@media print, screen and (min-width: 48em) {
  .p-detail-visual__content {
    margin-top: 14px; } }

.browser-is-ie .p-detail-visual__content {
  width: 100%; }

.p-detail-visual__title.-small {
  line-height: 1.75; }
  @media print, screen and (min-width: 48em) {
    .p-detail-visual__title.-small {
      font-size: 32px;
      font-size: 2rem; } }

@media print, screen and (min-width: 48em) {
  .p-merit-block {
    display: -ms-grid;
    display: grid;
    grid-column-gap: 80px;
    -ms-grid-rows: -webkit-max-content 1fr;
    -ms-grid-rows: max-content 1fr;
    -ms-grid-columns: 1fr 80px 1fr;
        grid-template: 'head thumb' -webkit-max-content 'content thumb' 1fr / 1fr 1fr;
        grid-template: 'head thumb' max-content 'content thumb' 1fr / 1fr 1fr; }
  .p-merit-block > .p-home-feature__content {
    -ms-grid-row: 2;
    -ms-grid-column: 1; } }

@media print, screen and (min-width: 48em) {
  .p-merit-block__head {
    grid-area: head; } }

@media only screen and (max-width: 47.9375em) {
  .p-merit-block__thumb {
    margin-top: 24px;
    width: 100vw;
    margin-left: -5.334vw; } }

@media print, screen and (min-width: 48em) {
  .p-merit-block__thumb {
    grid-area: thumb; } }

.p-merit-block__thumb > *:first-child {
  margin-top: 0; }

@media only screen and (max-width: 47.9375em) {
  .p-merit-block__content {
    margin-top: 24px; } }

@media print, screen and (min-width: 48em) {
  .p-merit-block__content {
    grid-area: content;
    margin-top: 40px; } }

@media print, screen and (min-width: 48em) {
  .p-merit-block.-rev {
    -ms-grid-rows: -webkit-max-content 1fr;
    -ms-grid-rows: max-content 1fr;
    -ms-grid-columns: 1fr 1fr;
        grid-template: 'thumb head' -webkit-max-content 'thumb content' 1fr / 1fr 1fr;
        grid-template: 'thumb head' max-content 'thumb content' 1fr / 1fr 1fr; }
  .p-merit-block.-rev > .p-home-feature__content {
    -ms-grid-row: 2;
    -ms-grid-column: 2; }
  .p-merit-block.-rev > .p-merit-block__head {
    -ms-grid-row: 1;
    -ms-grid-column: 2; }
  .p-merit-block.-rev > .p-merit-block__thumb {
    -ms-grid-row: 1;
    -ms-grid-row-span: 2;
    -ms-grid-column: 1; }
  .p-merit-block.-rev > .p-merit-block__content {
    -ms-grid-row: 2;
    -ms-grid-column: 2; } }

.p-filtering-list__parent {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-left: -10px;
  margin-top: -10px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  @media print, screen and (min-width: 48em) {
    .p-filtering-list__parent {
      margin-right: -10px; } }

.p-filtering-list__item {
  margin-left: 10px;
  margin-top: 10px; }
  @media print, screen and (min-width: 48em) {
    .p-filtering-list__item {
      margin-right: 10px;
      width: 150px; } }
  @media only screen and (max-width: 47.9375em) {
    .p-filtering-list__item {
      width: 105px; } }

.p-filtering-list__link {
  border-radius: 20px/50%;
  -webkit-transition: opacity 1s 1s ease, -webkit-transform 1s 1s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: opacity 1s 1s ease, -webkit-transform 1s 1s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: transform 1s 1s cubic-bezier(0.215, 0.61, 0.355, 1), opacity 1s 1s ease;
  transition: transform 1s 1s cubic-bezier(0.215, 0.61, 0.355, 1), opacity 1s 1s ease, -webkit-transform 1s 1s cubic-bezier(0.215, 0.61, 0.355, 1);
  font-weight: bold;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  line-height: 1.5;
  background-color: #fff;
  font-family: brandon-grotesque, sans-serif;
  -webkit-font-feature-settings: 'palt' 1;
          font-feature-settings: 'palt' 1;
  font-size: 24px;
  font-size: 1.5rem;
  text-align: center;
  color: #000;
  height: 40px;
  display: block; }
  @media print, screen and (min-width: 61.25em) {
    .p-filtering-list__link:hover {
      background-color: #02a2f7;
      color: #fff; } }
  .p-filtering-list__link.is-active {
    background-color: #02a2f7;
    color: #fff; }
  @media print, screen and (min-width: 48em) {
    .p-filtering-list__link.-engineer:hover {
      background-color: #f75961; } }
  .p-filtering-list__link.-engineer.is-active {
    background-color: #f75961; }
  @media print, screen and (min-width: 48em) {
    .p-filtering-list__link.-sales:hover {
      background-color: #f7bc34; } }
  .p-filtering-list__link.-sales.is-active {
    background-color: #f7bc34; }
  @media print, screen and (min-width: 48em) {
    .p-filtering-list__link.-creative:hover {
      background-color: #d3db00; } }
  .p-filtering-list__link.-creative.is-active {
    background-color: #d3db00; }
  @media print, screen and (min-width: 48em) {
    .p-filtering-list__link.-pr:hover, .p-filtering-list__link.-PR:hover {
      background-color: #34b0c0; } }
  .p-filtering-list__link.-pr.is-active, .p-filtering-list__link.-PR.is-active {
    background-color: #34b0c0; }
  @media print, screen and (min-width: 48em) {
    .p-filtering-list__link.-marketing:hover {
      background-color: #5078ce; } }
  .p-filtering-list__link.-marketing.is-active {
    background-color: #5078ce; }
  @media print, screen and (min-width: 48em) {
    .p-filtering-list__link.-planning:hover, .p-filtering-list__link.-business:hover {
      background-color: #ae5ccb; } }
  .p-filtering-list__link.-planning.is-active, .p-filtering-list__link.-business.is-active {
    background-color: #ae5ccb; }
  @media only screen and (max-width: 47.9375em) {
    .p-filtering-list__link {
      border-radius: 12px/50%;
      font-size: 16px;
      font-size: 1rem;
      line-height: 1.5;
      height: 24px; } }

@media print, screen and (min-width: 48em) {
  .p-peopledetail-block {
    display: -ms-grid;
    display: grid;
    grid-column-gap: 80px;
    -ms-grid-rows: -webkit-max-content 1fr;
    -ms-grid-rows: max-content 1fr;
    -ms-grid-columns: 1fr 80px 1fr;
        grid-template: 'head thumb' -webkit-max-content 'content thumb' 1fr / 1fr 1fr;
        grid-template: 'head thumb' max-content 'content thumb' 1fr / 1fr 1fr; }
  .p-peopledetail-block > .p-home-feature__content {
    -ms-grid-row: 2;
    -ms-grid-column: 1; }
  .p-peopledetail-block > .p-merit-block__head {
    -ms-grid-row: 1;
    -ms-grid-column: 1; }
  .p-peopledetail-block > .p-merit-block__thumb {
    -ms-grid-row: 1;
    -ms-grid-row-span: 2;
    -ms-grid-column: 3; }
  .p-peopledetail-block > .p-merit-block__content {
    -ms-grid-row: 2;
    -ms-grid-column: 1; } }

@media only screen and (max-width: 47.9375em) {
  .p-peopledetail-block__head {
    margin-top: 30px; } }

@media print, screen and (min-width: 48em) {
  .p-peopledetail-block__head {
    grid-area: head;
    margin-top: 138px; } }

@media print, screen and (min-width: 48em) {
  .p-peopledetail-block__thumb {
    grid-area: thumb; } }

.p-peopledetail-block__thumb > *:first-child {
  margin-top: 0; }

@media only screen and (max-width: 47.9375em) {
  .p-peopledetail-block__content {
    margin-top: 24px; } }

@media print, screen and (min-width: 48em) {
  .p-peopledetail-block__content {
    grid-area: content;
    margin-top: 20px; } }

.p-peopledetail-block__content p + p {
  margin-top: 5px; }

/* 社員の評価の枠付きボックス
----------------------------------------------------------------- */
.p-value-box {
  display: -ms-grid;
  display: grid;
  border: 2px solid #e5e5e5;
  border-radius: 20px; }
  @media only screen and (max-width: 47.9375em) {
    .p-value-box {
      -ms-grid-rows: auto auto;
      -ms-grid-columns: 48px 1fr;
          grid-template: 'icon head' 'body body' / 48px 1fr;
      padding-top: 22px;
      padding-right: 24px;
      padding-bottom: 19px;
      padding-left: 24px; }
    .p-value-box > .p-merit-block__head {
    -ms-grid-row: 1;
    -ms-grid-column: 2; }
    .p-value-box > .p-peopledetail-block__head {
    -ms-grid-row: 1;
    -ms-grid-column: 2; } }
  @media print, screen and (min-width: 48em) {
    .p-value-box {
      -ms-grid-rows: auto auto;
      -ms-grid-columns: 62px 1fr;
          grid-template: 'icon head' 'body body' / 62px 1fr;
      padding-top: 37px;
      padding-right: 40px;
      padding-bottom: 33px;
      padding-left: 40px; }
    .p-value-box > .p-merit-block__head {
    -ms-grid-row: 1;
    -ms-grid-column: 2; }
    .p-value-box > .p-peopledetail-block__head {
    -ms-grid-row: 1;
    -ms-grid-column: 2; } }
  .p-value-box + .p-value-box {
    margin-top: 20px; }
  @media only screen and (max-width: 47.9375em) {
    table + .p-value-box,
    .c-image + .p-value-box {
      margin-top: 20px; } }
  @media print, screen and (min-width: 48em) {
    table + .p-value-box,
    .c-image + .p-value-box {
      margin-top: 40px; } }
  @media only screen and (max-width: 47.9375em) {
    .c-heading-4 + .p-value-box {
      margin-top: 10px; } }
  @media print, screen and (min-width: 48em) {
    .c-heading-4 + .p-value-box {
      margin-top: 20px; } }
  @media only screen and (max-width: 47.9375em) {
    .c-heading-3 + .p-value-box {
      margin-top: 18px; } }
  @media print, screen and (min-width: 48em) {
    .c-heading-3 + .p-value-box {
      margin-top: 28px; } }
  @media only screen and (max-width: 47.9375em) {
    .c-heading-2 + .p-value-box {
      margin-top: 28px; } }
  @media print, screen and (min-width: 48em) {
    .c-heading-2 + .p-value-box {
      margin-top: 36px; } }
  @media only screen and (max-width: 47.9375em) {
    .c-sentence + .p-value-box,
    .c-list + .p-value-box {
      margin-top: 28px; } }
  @media print, screen and (min-width: 48em) {
    .c-sentence + .p-value-box,
    .c-list + .p-value-box {
      margin-top: 40px; } }

.p-value-box__icon {
  grid-area: icon;
  background-repeat: no-repeat;
  background-position: 0 5px; }
  @media only screen and (max-width: 47.9375em) {
    .p-value-box__icon {
      background-size: 32px; } }

.p-value-box__head {
  grid-area: head; }

.p-value-box__content {
  grid-area: body;
  border-top: 2px solid #e5e5e5;
  margin-top: 16px;
  padding-top: 14px; }

.p-value-box__title {
  margin-top: 3px; }

.p-value-box__name {
  margin-top: 12px; }

.p-value-box.-good .p-value-box__icon {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2240%22%20height%3D%2240%22%3E%3Cpath%20fill%3D%22%23f75961%22%20d%3D%22M20%200a20%2020%200%201%200%2020%2020A20%2020%200%200%200%2020%200zm0%2036.129A16.129%2016.129%200%201%201%2036.129%2020%2016.145%2016.145%200%200%201%2020%2036.129zM13.548%2018.71a2.581%202.581%200%201%200-2.58-2.581%202.578%202.578%200%200%200%202.58%202.581zm12.9%200a2.581%202.581%200%201%200-2.581-2.581%202.578%202.578%200%200%200%202.585%202.581zm.322%205.855a8.81%208.81%200%200%201-13.548%200%201.935%201.935%200%200%200-2.972%202.475%2012.695%2012.695%200%200%200%2019.5%200%201.93534241%201.93534241%200%200%200-2.976-2.475z%22%2F%3E%3C%2Fsvg%3E"); }

.p-value-box.-bad .p-value-box__icon {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2240%22%20height%3D%2240%22%3E%3Cpath%20fill%3D%22%234c97bf%22%20d%3D%22M20%200a20%2020%200%201%200%2020%2020A20%2020%200%200%200%2020%200zm0%2036.129A16.129%2016.129%200%201%201%2036.129%2020%2016.145%2016.145%200%200%201%2020%2036.129zM13.548%2018.71a2.581%202.581%200%201%200-2.58-2.581%202.578%202.578%200%200%200%202.58%202.581zm12.9-5.162a2.581%202.581%200%201%200%202.58%202.581%202.578%202.578%200%200%200-2.576-2.581zm.652%2011.613H12.9a1.936%201.936%200%200%200%200%203.871h14.2a1.936%201.936%200%200%200%200-3.871z%22%2F%3E%3C%2Fsvg%3E"); }

.p-question-heading {
  display: -ms-grid;
  display: grid;
  gap: 16px; }
  @media only screen and (max-width: 47.9375em) {
    .p-question-heading {
      -ms-grid-rows: auto;
      -ms-grid-columns: 32px 1fr;
          grid-template: 'icon text'/32px 1fr; }
    .p-question-heading > .p-value-box__icon {
    -ms-grid-row: 1;
    -ms-grid-column: 1; } }
  @media print, screen and (min-width: 48em) {
    .p-question-heading {
      -ms-grid-rows: auto;
      -ms-grid-columns: 40px 1fr;
          grid-template: 'icon text'/40px 1fr; }
    .p-question-heading > .p-value-box__icon {
    -ms-grid-row: 1;
    -ms-grid-column: 1; } }

.p-question-heading__icon {
  grid-area: icon;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: contain;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2240%22%20height%3D%2240%22%3E%3Cpath%20fill%3D%22%2302a2f7%22%20d%3D%22M20%200A20%2020%200%201%201%200%2020%2020%2020%200%200%201%2020%200z%22%2F%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M11.9%2020.1a8%208%200%200%200%208.054%208.164%207.8%207.8%200%200%200%204.774-1.54l1.738%201.716%201.628-1.8-1.76-1.584A8.168%208.168%200%200%200%2028.05%2020.1a7.9%207.9%200%200%200-8.1-7.986A7.891%207.891%200%200%200%2011.9%2020.1zm2.926%200a5.168%205.168%200%200%201%205.126-5.39%205.176%205.176%200%200%201%205.17%205.39%205.807%205.807%200%200%201-.858%203.014l-1.692-1.692-1.628%201.778%201.738%201.65a5.09%205.09%200%200%201-2.728.814%205.27%205.27%200%200%201-5.126-5.564z%22%2F%3E%3C%2Fsvg%3E"); }
  @media only screen and (max-width: 47.9375em) {
    .p-question-heading__icon {
      min-height: 32px; } }
  @media print, screen and (min-width: 48em) {
    .p-question-heading__icon {
      min-height: 40px; } }

.p-question-heading__text {
  grid-area: text; }
  @media only screen and (max-width: 47.9375em) {
    .p-question-heading__text {
      padding-top: 3px; } }
  @media print, screen and (min-width: 48em) {
    .p-question-heading__text {
      padding-top: 6px; } }

@media only screen and (max-width: 47.9375em) {
  .p-value-rank {
    margin-top: 8px; } }

@media print, screen and (min-width: 48em) {
  .p-value-rank {
    margin-top: 37px; } }

.p-value-rank__item {
  display: -ms-grid;
  display: grid;
  line-height: 1;
  border-bottom: 1px solid #ccc; }
  @media only screen and (max-width: 47.9375em) {
    .p-value-rank__item {
      -ms-grid-rows: auto;
      -ms-grid-columns: 60px 1fr;
          grid-template: 'order content' / 60px 1fr;
      padding-top: 28px;
      padding-bottom: 6px; }
    .p-value-rank__item > .p-home-feature__content {
    -ms-grid-row: 1;
    -ms-grid-column: 2; }
    .p-value-rank__item > .p-merit-block__content {
    -ms-grid-row: 1;
    -ms-grid-column: 2; }
    .p-value-rank__item > .p-peopledetail-block__content {
    -ms-grid-row: 1;
    -ms-grid-column: 2; } }
  @media print, screen and (min-width: 48em) {
    .p-value-rank__item {
      -ms-grid-rows: auto;
      -ms-grid-columns: 132px 1fr 146px;
          grid-template: 'order content per' / 132px 1fr 146px; }
    .p-value-rank__item > .p-home-feature__content {
    -ms-grid-row: 1;
    -ms-grid-column: 2; }
    .p-value-rank__item > .p-merit-block__content {
    -ms-grid-row: 1;
    -ms-grid-column: 2; }
    .p-value-rank__item > .p-peopledetail-block__content {
    -ms-grid-row: 1;
    -ms-grid-column: 2; } }

.p-value-rank__order {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  grid-area: order;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline; }

@media only screen and (max-width: 47.9375em) {
  .p-value-rank__per {
    display: none; } }

@media print, screen and (min-width: 48em) {
  .p-value-rank__per {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    grid-area: per; } }

.p-value-rank__num {
  font-family: brandon-grotesque, sans-serif;
  -webkit-font-feature-settings: 'palt' 1;
          font-feature-settings: 'palt' 1;
  font-weight: bold; }
  @media only screen and (max-width: 47.9375em) {
    .p-value-rank__num {
      font-size: 32px;
      font-size: 2rem; } }

.p-value-rank__unit {
  font-weight: bold; }
  @media only screen and (max-width: 47.9375em) {
    .p-value-rank__unit {
      position: relative;
      top: -1px;
      margin-left: 8px;
      font-size: 18px;
      font-size: 1.125rem; } }

.p-value-rank__content {
  font-weight: bold;
  grid-area: content;
  -ms-grid-row-align: center;
      align-self: center; }

@media print, screen and (min-width: 61.25em){
  .p-home-feature__content {
    -ms-grid-row: 1;
    -ms-grid-column: 1; }
  .p-home-feature__image {
    -ms-grid-row: 1;
    -ms-grid-column: 3; }
  .p-merit-block__content {
    -ms-grid-row: 1;
    -ms-grid-column: 1; }
  .p-peopledetail-block__content {
    -ms-grid-row: 1;
    -ms-grid-column: 1; }
  .p-value-rank__content {
    -ms-grid-row: 1;
    -ms-grid-column: 1; } }

@media print, screen and (min-width: 48em){
  .p-merit-block__head {
    -ms-grid-row: 1;
    -ms-grid-column: 1; }
  .p-merit-block__thumb {
    -ms-grid-row: 1;
    -ms-grid-row-span: 2;
    -ms-grid-column: 3; }
  .p-merit-block > .p-merit-block__content {
    -ms-grid-row: 2;
    -ms-grid-column: 1; }
  .p-peopledetail-block__head {
    -ms-grid-row: 1;
    -ms-grid-column: 1; }
  .p-merit-block.-rev > .p-peopledetail-block__head {
    -ms-grid-row: 1;
    -ms-grid-column: 2; }
  .p-peopledetail-block > .p-peopledetail-block__head {
    -ms-grid-row: 1;
    -ms-grid-column: 1; }
  .p-peopledetail-block__thumb {
    -ms-grid-row: 1;
    -ms-grid-row-span: 2;
    -ms-grid-column: 3; }
  .p-merit-block.-rev > .p-peopledetail-block__thumb {
    -ms-grid-row: 1;
    -ms-grid-row-span: 2;
    -ms-grid-column: 1; }
  .p-peopledetail-block > .p-peopledetail-block__thumb {
    -ms-grid-row: 1;
    -ms-grid-row-span: 2;
    -ms-grid-column: 3; }
  .p-merit-block > .p-peopledetail-block__content {
    -ms-grid-row: 2;
    -ms-grid-column: 1; }
  .p-merit-block.-rev > .p-peopledetail-block__content {
    -ms-grid-row: 2;
    -ms-grid-column: 2; }
  .p-peopledetail-block > .p-peopledetail-block__content {
    -ms-grid-row: 2;
    -ms-grid-column: 1; }
    .p-value-box > .p-value-box__icon {
    -ms-grid-row: 1;
    -ms-grid-column: 1; }
  .p-value-box__head {
    -ms-grid-row: 1;
    -ms-grid-column: 1; }
  .p-merit-block.-rev > .p-value-box__head {
    -ms-grid-row: 1;
    -ms-grid-column: 2; }
  .p-peopledetail-block > .p-value-box__head {
    -ms-grid-row: 1;
    -ms-grid-column: 1; }
    .p-value-box > .p-value-box__head {
    -ms-grid-row: 1;
    -ms-grid-column: 2; }
    .p-value-box > .p-value-box__content {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
    -ms-grid-column-span: 2; }
    .p-value-box > .p-question-heading__icon {
    -ms-grid-row: 1;
    -ms-grid-column: 1; }
    .p-question-heading > .p-question-heading__icon {
    -ms-grid-row: 1;
    -ms-grid-column: 1; }
    .p-question-heading > .p-question-heading__text {
    -ms-grid-row: 1;
    -ms-grid-column: 2; }
    .p-value-rank__item > .p-value-rank__order {
    -ms-grid-row: 1;
    -ms-grid-column: 1; }
    .p-value-rank__per {
    -ms-grid-row: 1;
    -ms-grid-column: 3; }
  .p-merit-block > .p-value-rank__content {
    -ms-grid-row: 2;
    -ms-grid-column: 1; }
  .p-merit-block.-rev > .p-value-rank__content {
    -ms-grid-row: 2;
    -ms-grid-column: 2; }
  .p-peopledetail-block > .p-value-rank__content {
    -ms-grid-row: 2;
    -ms-grid-column: 1; }
    .p-value-rank__item > .p-value-rank__content {
    -ms-grid-row: 1;
    -ms-grid-column: 2; } }

@media only screen and (max-width: 47.9375em){
    .p-value-box__icon {
    -ms-grid-row: 1;
    -ms-grid-column: 1; }
    .p-value-box > .p-value-box__head {
    -ms-grid-row: 1;
    -ms-grid-column: 2; }
    .p-value-box__content {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
    -ms-grid-column-span: 2; }
    .p-question-heading__icon {
    -ms-grid-row: 1;
    -ms-grid-column: 1; }
    .p-question-heading > .p-question-heading__icon {
    -ms-grid-row: 1;
    -ms-grid-column: 1; }
    .p-question-heading__text {
    -ms-grid-row: 1;
    -ms-grid-column: 2; }
    .p-value-rank__order {
    -ms-grid-row: 1;
    -ms-grid-column: 1; }
    .p-value-rank__item > .p-value-rank__content {
    -ms-grid-row: 1;
    -ms-grid-column: 2; } }
  @media only screen and (max-width: 47.9375em) {
    .p-value-rank__content {
      font-size: 20px;
      font-size: 1.25rem; } }

@media print, screen and (min-width: 48em) {
  .p-value-rank__item.-num-1 {
    padding-bottom: 20px; } }

.p-value-rank__item.-num-1 .p-value-rank__order {
  color: #d9b100; }

.p-value-rank__item.-num-1 .p-value-rank__num {
  margin-bottom: -1px; }
  @media print, screen and (min-width: 48em) {
    .p-value-rank__item.-num-1 .p-value-rank__num {
      font-size: 80px;
      font-size: 5rem; } }

.p-value-rank__item.-num-1 .p-value-rank__unit {
  position: relative; }
  @media print, screen and (min-width: 48em) {
    .p-value-rank__item.-num-1 .p-value-rank__unit {
      font-size: 32px;
      font-size: 2rem;
      margin-left: 6px;
      top: -3px; } }

@media print, screen and (min-width: 48em) {
  .p-value-rank__item.-num-1 .p-value-rank__content {
    font-size: 32px;
    font-size: 2rem; } }

@media print, screen and (min-width: 48em) {
  .p-value-rank__item.-num-2 {
    padding-top: 24px;
    padding-bottom: 24px; } }

.p-value-rank__item.-num-2 .p-value-rank__order {
  color: #999999; }

@media print, screen and (min-width: 48em) {
  .p-value-rank__item.-num-2 .p-value-rank__num {
    font-size: 32px;
    font-size: 2rem; } }

@media print, screen and (min-width: 48em) {
  .p-value-rank__item.-num-2 .p-value-rank__per .p-value-rank__num {
    font-size: 40px;
    font-size: 2.5rem; } }

@media print, screen and (min-width: 48em) {
  .p-value-rank__item.-num-2 .p-value-rank__unit {
    margin-left: 4px;
    font-size: 18px;
    font-size: 1.125rem; } }

@media print, screen and (min-width: 48em) {
  .p-value-rank__item.-num-2 .p-value-rank__content {
    font-size: 20px;
    font-size: 1.25rem; } }

@media print, screen and (min-width: 48em) {
  .p-value-rank__item.-num-3 {
    padding-top: 24px;
    padding-bottom: 24px; } }

.p-value-rank__item.-num-3 .p-value-rank__order {
  color: #990000; }

.p-value-rank__item.-num-3 .p-value-rank__num {
  font-size: 32px;
  font-size: 2rem; }

@media print, screen and (min-width: 48em) {
  .p-value-rank__item.-num-3 .p-value-rank__per .p-value-rank__num {
    font-size: 40px;
    font-size: 2.5rem; } }

@media print, screen and (min-width: 48em) {
  .p-value-rank__item.-num-3 .p-value-rank__unit {
    margin-left: 4px;
    font-size: 18px;
    font-size: 1.125rem; } }

@media print, screen and (min-width: 48em) {
  .p-value-rank__item.-num-3 .p-value-rank__content {
    font-size: 20px;
    font-size: 1.25rem; } }

@media (min-width: 768px) and (min-height: 1000px) {
  .p-404-block {
    padding-top: 100px; } }

@media print, screen and (min-width: 48em) {
  .p-check-block {
    padding-left: 24px; } }

.p-check-block__heading {
  position: relative; }
  @media only screen and (max-width: 47.9375em) {
    .p-check-block__heading {
      padding-left: 24px; } }
  .p-check-block__heading:before {
    content: '';
    position: absolute;
    top: 0.4em;
    display: block;
    width: 16px;
    height: 12px;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: 0 0;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2217.826%22%3E%3Cpath%20id%3D%22パス_7778%22%20fill%3D%22none%22%20stroke%3D%22%2302a2f7%22%20stroke-linecap%3D%22round%22%20stroke-width%3D%224px%22%20d%3D%22M2.002%208.002l7%207%2013-13%22%20data-name%3D%22パス%207778%22%2F%3E%3C%2Fsvg%3E"); }
    @media only screen and (max-width: 47.9375em) {
      .p-check-block__heading:before {
        left: 0px; } }
    @media print, screen and (min-width: 48em) {
      .p-check-block__heading:before {
        left: -24px; } }

.p-sitemap > li {
  line-height: 1; }
  .p-sitemap > li > a {
    line-height: 1.5; }

@media only screen and (max-width: 47.9375em) {
  .p-sitemap.-lv-1 {
    margin-top: 40px; } }

@media print, screen and (min-width: 48em) {
  .p-sitemap.-lv-1 {
    margin-top: 80px; } }

.p-sitemap.-lv-1 > li {
  position: relative; }
  @media only screen and (max-width: 47.9375em) {
    .p-sitemap.-lv-1 > li {
      margin-top: 40px; } }
  @media print, screen and (min-width: 48em) {
    .p-sitemap.-lv-1 > li {
      margin-top: 80px; } }
  .p-sitemap.-lv-1 > li > a {
    position: relative;
    display: block;
    -webkit-font-feature-settings: 'palt' 1;
            font-feature-settings: 'palt' 1;
    font-weight: bold; }
    @media only screen and (max-width: 47.9375em) {
      .p-sitemap.-lv-1 > li > a {
        font-family: "YakuHanJP", "Noto Sans CJK JP Subset", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo"; } }
    @media print, screen and (min-width: 48em) {
      .p-sitemap.-lv-1 > li > a {
        font-family: "YakuHanJP", "Noto Sans CJK JP Subset", "Yu Gothic", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo"; } }
    @media only screen and (max-width: 47.9375em) {
      .p-sitemap.-lv-1 > li > a {
        padding-bottom: 16px; } }
    @media print, screen and (min-width: 48em) {
      .p-sitemap.-lv-1 > li > a {
        padding-bottom: 16px;
        font-size: 20px;
        font-size: 1.25rem; } }
    .p-sitemap.-lv-1 > li > a:after {
      content: '';
      position: absolute;
      bottom: 0;
      left: 0;
      width: 100%;
      border-bottom: 1px solid #ccc; }

@media only screen and (max-width: 47.9375em) {
  .p-sitemap.-lv-2 > li {
    margin-top: 16px !important; } }

@media print, screen and (min-width: 48em) {
  .p-sitemap.-lv-2 > li {
    margin-top: 24px !important; } }

.p-sitemap.-lv-2 > li > a {
  position: relative;
  padding-right: 16px;
  -webkit-font-feature-settings: 'palt' 1;
          font-feature-settings: 'palt' 1;
  font-weight: bold;
  display: inline-block; }
  @media only screen and (max-width: 47.9375em) {
    .p-sitemap.-lv-2 > li > a {
      font-family: "YakuHanJP", "Noto Sans CJK JP Subset", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo"; } }
  @media print, screen and (min-width: 48em) {
    .p-sitemap.-lv-2 > li > a {
      font-family: "YakuHanJP", "Noto Sans CJK JP Subset", "Yu Gothic", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo"; } }
  @media print, screen and (min-width: 48em) {
    .p-sitemap.-lv-2 > li > a {
      font-size: 18px;
      font-size: 1.125rem; } }
  .p-sitemap.-lv-2 > li > a:after {
    content: '';
    position: absolute;
    top: 0.6em;
    right: 0;
    width: 6px;
    height: 9px;
    background-size: cover;
    background-position: 0 0;
    background-repeat: no-repeat;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%226%22%20height%3D%228%22%3E%3Cpath%20fill%3D%22none%22%20stroke%3D%22%2302a2f7%22%20stroke-linecap%3D%22round%22%20stroke-width%3D%222%22%20d%3D%22M1%207l3-3-3-3%22%20%2F%3E%3C%2Fsvg%3E"); }

@media only screen and (max-width: 47.9375em) {
  .p-sitemap.-lv-3 {
    margin-top: 8px; } }

@media print, screen and (min-width: 48em) {
  .p-sitemap.-lv-3 {
    margin-top: 16px; } }

@media only screen and (max-width: 47.9375em) {
  .p-sitemap.-lv-3 > li {
    margin-top: 8px !important; } }

@media print, screen and (min-width: 48em) {
  .p-sitemap.-lv-3 > li {
    margin-top: 16px !important; } }

.p-sitemap.-lv-3 > li > a {
  position: relative;
  padding-left: 16px;
  font-size: 14px;
  font-size: 0.875rem; }
  .p-sitemap.-lv-3 > li > a:before {
    content: '';
    position: absolute;
    top: 0.7em;
    left: 0;
    width: 8px;
    height: 1px;
    background-color: #02a2f7; }
  .p-sitemap.-lv-3 > li > a:hover:before {
    background-color: #0062cc; }

.p-jobfair__heading {
  margin-top: 16px; }

.p-jobfair__social {
  margin-top: 16px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end; }
  .p-jobfair__social li {
    margin-left: 8px; }
  .p-jobfair__social svg {
    width: 24px;
    height: 24px;
    vertical-align: top; }

.p-jobfair__lead {
  margin-top: 24px; }

.p-jobfair__meta {
  margin-top: 40px;
  border: 2px solid #e5e5e5;
  padding: 16px 24px 16px 24px;
  border-radius: 20px; }
  @media print, screen and (min-width: 48em) {
    .p-jobfair__meta {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      padding-top: 6px; } }
  @media print, screen and (min-width: 48em) {
    .p-jobfair__meta dl {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      margin-left: 20px;
      margin-top: 10px; } }
  @media only screen and (max-width: 47.9375em) {
    .p-jobfair__meta dl + dl {
      margin-top: 16px; } }
  .p-jobfair__meta dl dt {
    font-weight: bold;
    white-space: nowrap; }
  @media print, screen and (min-width: 48em) {
    .p-jobfair__meta dl dd {
      margin-left: 16px;
      padding-left: 17px;
      position: relative; } }
  @media print, screen and (min-width: 48em) {
    .p-jobfair__meta dl dd:before {
      content: '';
      position: absolute;
      top: 0.45em;
      left: 0;
      bottom: 0.3em;
      width: 1px;
      background-color: #e5e5e5; } }

.p-jobfair__body {
  margin-top: 40px; }
  .p-jobfair__body > *:first-child {
    margin-top: 0; }

.p-jobfair-bar {
  position: fixed;
  z-index: 50000;
  bottom: 0;
  left: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  background-color: #fff;
  -webkit-transition: -webkit-transform 0.2s ease;
  transition: -webkit-transform 0.2s ease;
  transition: transform 0.2s ease;
  transition: transform 0.2s ease, -webkit-transform 0.2s ease; }
  @media only screen and (max-width: 47.9375em) {
    .p-jobfair-bar {
      padding-top: 8px;
      padding-right: 5.334%;
      padding-bottom: 8px;
      padding-left: 5.334%; } }
  @media print, screen and (min-width: 48em) {
    .p-jobfair-bar {
      padding-top: 20px;
      padding-right: 100px;
      padding-bottom: 20px;
      padding-left: 100px; } }
  .p-jobfair-bar.is-disabled {
    -webkit-transform: translate3d(0, 101%, 0);
            transform: translate3d(0, 101%, 0); }

.p-jobfair-bar__button {
  max-width: 360px;
  margin-right: auto;
  margin-left: auto; }

@media print, screen and (min-width: 48em) {
  .p-number {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-top: -10px;
    margin-right: -10px;
    margin-left: -10px; } }

.p-number__col {
  background-color: #edf9ff;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding-top: 20px;
  padding-right: 24px;
  padding-bottom: 23px;
  padding-left: 24px;
  border-radius: 10px; }
  @media print, screen and (min-width: 61.25em) {
    .p-number__col {
      padding-top: 3vw;
      padding-right: 2.4vw;
      padding-bottom: 2vw;
      padding-left: 2.4vw; } }
  @media print, screen and (min-width: 87.5em) {
    .p-number__col {
      padding-top: 40px;
      padding-right: 40px;
      padding-bottom: 43px;
      padding-left: 40px; } }

.p-number__col.-col1 {
  width: 100%;
  margin-top: 10px; }
  @media print, screen and (min-width: 48em) {
    .p-number__col.-col1 {
      width: calc(50% - 20px);
      margin: 10px; } }
  @media print, screen and (min-width: 61.25em) {
    .p-number__col.-col1 {
      width: calc(8.33333% - 20px);
      margin: 10px; } }

.p-number__col.-col2 {
  width: 100%;
  margin-top: 10px; }
  @media print, screen and (min-width: 48em) {
    .p-number__col.-col2 {
      width: calc(50% - 20px);
      margin: 10px; } }
  @media print, screen and (min-width: 61.25em) {
    .p-number__col.-col2 {
      width: calc(16.66667% - 20px);
      margin: 10px; } }

.p-number__col.-col3 {
  width: 100%;
  margin-top: 10px; }
  @media print, screen and (min-width: 48em) {
    .p-number__col.-col3 {
      width: calc(50% - 20px);
      margin: 10px; } }
  @media print, screen and (min-width: 61.25em) {
    .p-number__col.-col3 {
      width: calc(25% - 20px);
      margin: 10px; } }

.p-number__col.-col4 {
  width: 100%;
  margin-top: 10px; }
  @media print, screen and (min-width: 48em) {
    .p-number__col.-col4 {
      width: calc(50% - 20px);
      margin: 10px; } }
  @media print, screen and (min-width: 61.25em) {
    .p-number__col.-col4 {
      width: calc(33.33333% - 20px);
      margin: 10px; } }

.p-number__col.-col5 {
  width: 100%;
  margin-top: 10px; }
  @media print, screen and (min-width: 48em) {
    .p-number__col.-col5 {
      width: calc(50% - 20px);
      margin: 10px; } }
  @media print, screen and (min-width: 61.25em) {
    .p-number__col.-col5 {
      width: calc(41.66667% - 20px);
      margin: 10px; } }

.p-number__col.-col6 {
  width: 100%;
  margin-top: 10px; }
  @media print, screen and (min-width: 48em) {
    .p-number__col.-col6 {
      width: calc(50% - 20px);
      margin: 10px; } }
  @media print, screen and (min-width: 61.25em) {
    .p-number__col.-col6 {
      width: calc(50% - 20px);
      margin: 10px; } }

.p-number__col.-col7 {
  width: 100%;
  margin-top: 10px; }
  @media print, screen and (min-width: 48em) {
    .p-number__col.-col7 {
      width: calc(50% - 20px);
      margin: 10px; } }
  @media print, screen and (min-width: 61.25em) {
    .p-number__col.-col7 {
      width: calc(58.33333% - 20px);
      margin: 10px; } }

.p-number__col.-col8 {
  width: 100%;
  margin-top: 10px; }
  @media print, screen and (min-width: 48em) {
    .p-number__col.-col8 {
      width: calc(50% - 20px);
      margin: 10px; } }
  @media print, screen and (min-width: 61.25em) {
    .p-number__col.-col8 {
      width: calc(66.66667% - 20px);
      margin: 10px; } }

.p-number__col.-col9 {
  width: 100%;
  margin-top: 10px; }
  @media print, screen and (min-width: 48em) {
    .p-number__col.-col9 {
      width: calc(50% - 20px);
      margin: 10px; } }
  @media print, screen and (min-width: 61.25em) {
    .p-number__col.-col9 {
      width: calc(75% - 20px);
      margin: 10px; } }

.p-number__col.-col10 {
  width: 100%;
  margin-top: 10px; }
  @media print, screen and (min-width: 48em) {
    .p-number__col.-col10 {
      width: calc(50% - 20px);
      margin: 10px; } }
  @media print, screen and (min-width: 61.25em) {
    .p-number__col.-col10 {
      width: calc(83.33333% - 20px);
      margin: 10px; } }

.p-number__col.-col11 {
  width: 100%;
  margin-top: 10px; }
  @media print, screen and (min-width: 48em) {
    .p-number__col.-col11 {
      width: calc(50% - 20px);
      margin: 10px; } }
  @media print, screen and (min-width: 61.25em) {
    .p-number__col.-col11 {
      width: calc(91.66667% - 20px);
      margin: 10px; } }

.p-number__col.-col12 {
  width: 100%;
  margin-top: 10px; }
  @media print, screen and (min-width: 48em) {
    .p-number__col.-col12 {
      width: calc(50% - 20px);
      margin: 10px; } }
  @media print, screen and (min-width: 61.25em) {
    .p-number__col.-col12 {
      width: calc(100% - 20px);
      margin: 10px; } }

.p-number__title {
  -webkit-font-feature-settings: 'palt' 1;
          font-feature-settings: 'palt' 1;
  font-weight: bold;
  color: #000;
  font-size: 18px;
  font-size: 1.125rem; }
  @media only screen and (max-width: 47.9375em) {
    .p-number__title {
      font-family: "YakuHanJP", "Noto Sans CJK JP Subset", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo"; } }
  @media print, screen and (min-width: 48em) {
    .p-number__title {
      font-family: "YakuHanJP", "Noto Sans CJK JP Subset", "Yu Gothic", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo"; } }
  @media print, screen and (min-width: 61.25em) {
    .p-number__title {
      font-size: 1.71429vw; } }
  @media print, screen and (min-width: 87.5em) {
    .p-number__title {
      font-size: 24px;
      font-size: 1.5rem; } }

.p-number__point {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  position: relative;
  font-family: brandon-grotesque, sans-serif;
  line-height: 1;
  font-weight: bold;
  color: #02a2f7;
  margin-top: 20px;
  letter-spacing: -0.4rem;
  font-size: 26.66667vw; }
  @media print, screen and (min-width: 48em) {
    .p-number__point {
      font-size: 100px;
      font-size: 6.25rem; } }
  @media print, screen and (min-width: 61.25em) {
    .p-number__point {
      font-size: 7.14286vw;
      margin-top: 23px; } }
  @media print, screen and (min-width: 87.5em) {
    .p-number__point {
      font-size: 120px;
      font-size: 7.5rem;
      letter-spacing: -0.5rem; } }
  .p-number__point:before {
    content: '';
    position: absolute;
    background-size: contain;
    background-repeat: no-repeat; }
  .p-number__point .-unit {
    font-family: "YakuHanJP", "Noto Sans CJK JP Subset", "Yu Gothic Medium", "游ゴシック Medium", "Yu Gothic", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo";
    font-weight: bold;
    letter-spacing: -0;
    font-size: 4.26667vw; }
    @media print, screen and (min-width: 48em) {
      .p-number__point .-unit {
        font-size: 16px;
        font-size: 1rem; } }
    @media print, screen and (min-width: 61.25em) {
      .p-number__point .-unit {
        font-size: 1.14286vw; } }
    @media print, screen and (min-width: 87.5em) {
      .p-number__point .-unit {
        font-size: 20px;
        font-size: 1.25rem; } }
  .-result .p-number__point {
    letter-spacing: 0; }
    @media print, screen and (min-width: 48em) {
      .-result .p-number__point {
        font-size: 80px;
        font-size: 5rem; } }
    @media print, screen and (min-width: 61.25em) {
      .-result .p-number__point {
        font-size: 5.71429vw;
        margin-top: 10px; } }
    @media print, screen and (min-width: 87.5em) {
      .-result .p-number__point {
        font-size: 80px;
        font-size: 5rem;
        letter-spacing: -0.5rem; } }
  .-stock .p-number__point {
    padding-left: 65px; }
    .-stock .p-number__point:before {
      position: absolute;
      top: calc(50% - 26px);
      left: 10px;
      width: 42px;
      height: 52px;
      background-image: url(/m/careers/feature/number/img/icon_stock.svg); }
      @media print, screen and (min-width: 61.25em) {
        .-stock .p-number__point:before {
          top: calc(50% - 32px);
          left: 0;
          width: 56px;
          height: 65px; } }
  .-trade .p-number__point {
    padding-left: 57px; }
    @media print, screen and (min-width: 61.25em) {
      .-trade .p-number__point {
        padding-left: 53px; } }
    .-trade .p-number__point:before {
      position: absolute;
      top: calc(50% - 18px);
      left: 10px;
      width: 33px;
      height: 38px;
      background-image: url(/m/careers/feature/number/img/icon_trade.svg); }
      @media print, screen and (min-width: 61.25em) {
        .-trade .p-number__point:before {
          top: calc(50% - 20px);
          left: 0;
          width: 42px;
          height: 48px; } }

.p-number__col.-devio {
  position: relative; }
  @media print, screen and (min-width: 61.25em) {
    .p-number__col.-devio {
      padding-top: 50px;
      padding-left: calc(50% + 10px);
      padding-bottom: 50px; } }
  @media print, screen and (min-width: 61.25em) {
    .p-number__col.-devio:before {
      position: absolute;
      top: 0;
      left: 0;
      content: '';
      width: calc(50% - 10px);
      height: 100%;
      background-image: url(/m/careers/feature/number/img/bg_devio.svg);
      background-repeat: no-repeat;
      background-size: cover;
      background-position: 100% 0; } }
  @media print, screen and (min-width: 61.25em) {
    .p-number__col.-devio .p-number__title {
      font-size: 28px;
      font-size: 1.75rem; } }
  .p-number__col.-devio .p-number__point {
    font-size: 24vw; }
    @media print, screen and (min-width: 48em) {
      .p-number__col.-devio .p-number__point {
        font-size: 90px;
        font-size: 5.625rem; } }
    @media print, screen and (min-width: 61.25em) {
      .p-number__col.-devio .p-number__point {
        font-size: 10.71429vw;
        letter-spacing: -0.6rem; } }
    @media print, screen and (min-width: 87.5em) {
      .p-number__col.-devio .p-number__point {
        font-size: 170px;
        font-size: 10.625rem; } }
    @media print, screen and (min-width: 61.25em) {
      .p-number__col.-devio .p-number__point .-unit {
        font-size: 2vw; } }
    @media print, screen and (min-width: 87.5em) {
      .p-number__col.-devio .p-number__point .-unit {
        font-size: 28px;
        font-size: 1.75rem; } }

.p-number__col.-employees {
  position: relative; }
  .p-number__col.-employees .p-number__point {
    padding-left: 103px; }
    @media print, screen and (min-width: 61.25em) {
      .p-number__col.-employees .p-number__point {
        position: static;
        padding-left: 0; } }
    .p-number__col.-employees .p-number__point:before {
      content: '';
      display: block;
      width: 80px;
      height: 45px;
      position: absolute;
      top: calc(50% - 23px);
      left: 10px;
      background-image: url(/m/careers/feature/number/img/icon_employees_sp.svg);
      background-repeat: no-repeat;
      background-size: contain;
      background-position: 0; }
      @media print, screen and (min-width: 61.25em) {
        .p-number__col.-employees .p-number__point:before {
          top: 2.85714vw;
          left: auto;
          right: 3.57143vw;
          width: 26.07143vw;
          height: 9.28571vw;
          background-image: url(/m/careers/feature/number/img/icon_employees.svg); } }
      @media print, screen and (min-width: 87.5em) {
        .p-number__col.-employees .p-number__point:before {
          top: 74px;
          right: 60px;
          width: 365px;
          height: 130px; } }

.p-number__col.-salary .p-number__group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }

.p-number__col.-salary .p-number__point {
  font-size: 21.33333vw; }
  @media print, screen and (min-width: 48em) {
    .p-number__col.-salary .p-number__point {
      font-size: 80px;
      font-size: 5rem; } }
  @media print, screen and (min-width: 61.25em) {
    .p-number__col.-salary .p-number__point {
      font-size: 5.71429vw; } }
  @media print, screen and (min-width: 87.5em) {
    .p-number__col.-salary .p-number__point {
      font-size: 120px;
      font-size: 7.5rem; } }
  .p-number__col.-salary .p-number__point .-unit {
    white-space: nowrap; }
  .p-number__col.-salary .p-number__point.-median {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    letter-spacing: -0.1rem;
    padding-top: 15px;
    padding-left: 10px;
    padding-bottom: 0px;
    margin-left: 10px;
    font-size: 11.73333vw; }
    @media print, screen and (min-width: 48em) {
      .p-number__col.-salary .p-number__point.-median {
        font-size: 44px;
        font-size: 2.75rem; } }
    @media print, screen and (min-width: 61.25em) {
      .p-number__col.-salary .p-number__point.-median {
        font-size: 3.14286vw;
        margin-left: 18px;
        padding-top: 1.07143vw;
        padding-left: 1.28571vw;
        padding-bottom: 0vw; } }
    @media print, screen and (min-width: 87.5em) {
      .p-number__col.-salary .p-number__point.-median {
        font-size: 50px;
        font-size: 3.125rem;
        padding-top: 30px;
        padding-left: 18px;
        padding-bottom: 0px; } }
    .p-number__col.-salary .p-number__point.-median:before {
      top: 0.1em;
      left: 0;
      width: 1px;
      bottom: 0.2em;
      background-color: #b4cfe0; }
      @media print, screen and (min-width: 61.25em) {
        .p-number__col.-salary .p-number__point.-median:before {
          top: 0.3em;
          bottom: 0.3em; } }
    .p-number__col.-salary .p-number__point.-median .p-number__title {
      display: block;
      letter-spacing: 0;
      width: 100%;
      font-size: 3.73333vw; }
      @media print, screen and (min-width: 48em) {
        .p-number__col.-salary .p-number__point.-median .p-number__title {
          font-size: 14px;
          font-size: 0.875rem; } }
      @media print, screen and (min-width: 61.25em) {
        .p-number__col.-salary .p-number__point.-median .p-number__title {
          font-size: 16px;
          font-size: 1rem; } }
    .p-number__col.-salary .p-number__point.-median .-unit {
      letter-spacing: 0;
      font-size: 3.2vw; }
      @media print, screen and (min-width: 48em) {
        .p-number__col.-salary .p-number__point.-median .-unit {
          font-size: 12px;
          font-size: 0.75rem; } }
      @media print, screen and (min-width: 61.25em) {
        .p-number__col.-salary .p-number__point.-median .-unit {
          font-size: 14px;
          font-size: 0.875rem; } }

.p-number__col.-overtime {
  position: relative; }
  .p-number__col.-overtime:before {
    content: '';
    float: right;
    display: block;
    width: 72px;
    height: 71px;
    margin-top: 8px;
    background-image: url(/m/careers/feature/number/img/icon_overtime.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: 0; }
    @media print, screen and (min-width: 61.25em) {
      .p-number__col.-overtime:before {
        width: 6.42857vw;
        height: 6.42857vw; } }
    @media print, screen and (min-width: 87.5em) {
      .p-number__col.-overtime:before {
        width: 90px;
        height: 90px; } }
  .p-number__col.-overtime .p-number__point {
    letter-spacing: 0; }

.p-number__col.-holiday {
  position: relative; }
  .p-number__col.-holiday:before {
    content: '';
    float: right;
    display: block;
    width: 72px;
    height: 72px;
    margin-top: 8px;
    margin-right: 10px;
    background-image: url(/m/careers/feature/number/img/icon_holiday.svg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: 0; }
    @media print, screen and (min-width: 61.25em) {
      .p-number__col.-holiday:before {
        width: 6.42857vw;
        height: 6.42857vw; } }
    @media print, screen and (min-width: 87.5em) {
      .p-number__col.-holiday:before {
        width: 90px;
        height: 90px; } }
  .p-number__col.-holiday .p-number__point {
    letter-spacing: 0; }

.p-number__col.-holiday-digestion {
  position: relative; }
  .p-number__col.-holiday-digestion:before {
    content: '';
    float: right;
    display: block;
    width: 80px;
    height: 98px;
    margin-top: 8px;
    margin-right: 17px;
    background-image: url(/m/careers/feature/number/img/icon_holiday-digestion.svg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: 0; }
    @media print, screen and (min-width: 61.25em) {
      .p-number__col.-holiday-digestion:before {
        width: 5.78571vw;
        height: 7.07143vw; } }
    @media print, screen and (min-width: 87.5em) {
      .p-number__col.-holiday-digestion:before {
        width: 81px;
        height: 99px; } }
  .p-number__col.-holiday-digestion .p-number__point {
    letter-spacing: 0; }

.p-number__col.-childcare {
  position: relative; }
  .p-number__col.-childcare:before {
    content: '';
    position: absolute;
    top: 29px;
    right: 24px;
    display: block;
    width: 19.73333vw;
    height: 32vw;
    max-width: 74px;
    max-height: 120px;
    background-image: url(/m/careers/feature/number/img/icon_childcare_sp.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: 0; }
    @media print, screen and (min-width: 61.25em) {
      .p-number__col.-childcare:before {
        position: static;
        float: right;
        width: 20.71429vw;
        height: 9.28571vw;
        max-width: none;
        max-height: none;
        margin-top: 23px;
        margin-right: 20px;
        background-image: url(/m/careers/feature/number/img/icon_childcare.svg); } }
    @media print, screen and (min-width: 87.5em) {
      .p-number__col.-childcare:before {
        width: 290px;
        height: 130px; } }
  .p-number__col.-childcare .p-number__point {
    letter-spacing: 0; }

.p-number__col.-turnover {
  position: relative; }
  .p-number__col.-turnover .p-number__point {
    letter-spacing: 0; }
    .p-number__col.-turnover .p-number__point:before {
      content: '';
      position: absolute;
      top: calc(50% - 40px);
      right: 4px;
      display: block;
      width: 37.33333vw;
      height: 20.53333vw;
      max-width: 140px;
      max-height: 77px;
      background-image: url(/m/careers/feature/number/img/icon_turnover.svg);
      background-repeat: no-repeat;
      background-size: contain;
      background-position: 0; }
      @media print, screen and (min-width: 61.25em) {
        .p-number__col.-turnover .p-number__point:before {
          top: calc(50% - (60 / 1400 * 100vw));
          width: 15vw;
          height: 8.42857vw;
          max-width: none;
          max-height: none; } }
      @media print, screen and (min-width: 87.5em) {
        .p-number__col.-turnover .p-number__point:before {
          top: 0;
          width: 210px;
          height: 118px; } }

@media print, screen and (min-width: 61.25em) {
  .p-number__col.-amount {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; } }

@media print, screen and (min-width: 87.5em) {
  .p-number__col.-amount {
    padding: 60px 50px 60px 60px; } }

.p-number__col.-amount .p-number__item:first-child {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1; }

.p-number__col.-amount .p-number__item:nth-child(2) {
  margin-top: 16px; }
  @media print, screen and (min-width: 61.25em) {
    .p-number__col.-amount .p-number__item:nth-child(2) {
      width: 45.77982%;
      margin-top: 0;
      margin-left: 40px; } }

.p-number__col.-amount .p-number__point {
  letter-spacing: 0; }

.p-number__col.-amount .p-number__img {
  width: 100%;
  max-width: 100%; }
  @media print, screen and (min-width: 61.25em) {
    .p-number__col.-amount .p-number__img {
      width: auto; } }

.p-number__desc {
  line-height: 1.78;
  margin-top: 14px; }
  @media print, screen and (min-width: 61.25em) {
    .p-number__desc {
      margin-top: 23px;
      font-size: 18px;
      font-size: 1.125rem; } }
  @media print, screen and (min-width: 61.25em) {
    .-result .p-number__desc {
      margin-top: 5px; } }

.p-modal {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 60000;
  opacity: 0;
  visibility: hidden;
  padding-right: 100px;
  padding-left: 100px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }
  @media only screen and (max-width: 47.9375em) {
    .p-modal {
      padding-right: 5.334%;
      padding-left: 5.334%; } }
  .p-modal.-active {
    opacity: 1;
    visibility: visible; }

.p-modal__content {
  padding: 40px;
  background-color: #fff;
  position: relative;
  max-width: 960px;
  z-index: 2; }

.p-modal__overlay {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.3); }

.loader,
.loader:after {
  border-radius: 50%;
  width: 6em;
  height: 6em; }

.loader {
  position: absolute;
  top: 0;
  left: calc(50% - 3em);
  margin: 60px auto;
  font-size: 10px;
  text-indent: -9999em;
  border-top: 0.3em solid rgba(2, 162, 247, 0.4);
  border-right: 0.3em solid rgba(2, 162, 247, 0.4);
  border-bottom: 0.3em solid rgba(2, 162, 247, 0.4);
  border-left: 0.3em solid #02a2f7;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation: load8 1.1s infinite linear;
  animation: load8 1.1s infinite linear; }

@-webkit-keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); } }

@keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); } }

/* アニメーション処理 */
.fade-enter-active,
.fade-leave-active {
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s; }

.fade-enter, .fade-leave-to {
  opacity: 0; }

.p-filter-term__item {
  position: relative; }
  @media only screen and (max-width: 47.9375em) {
    .p-filter-term__item {
      border-bottom: 1px solid #ccc; } }
  @media print, screen and (min-width: 48em) {
    .p-filter-term__item + .p-filter-term__item {
      margin-top: 30px; } }

@media only screen and (max-width: 47.9375em) {
  .p-filter-term__child-title {
    padding-top: 16px;
    padding-bottom: 16px; } }

@media print, screen and (min-width: 48em) {
  .p-filter-term__area {
    height: auto !important; } }

.p-requirements {
  width: 100%;
  padding: 16px 0;
  border-bottom: 1px solid #ccc; }
  .p-requirements a {
    display: block;
    position: relative;
    font-size: 18px;
    font-weight: bold; }
  .p-requirements a span {
    display: inline-block;
    padding-right: 30px; }
  .p-requirements .c-arrow {
    top: 5px;
    width: 24px;
    height: 24px;
    position: absolute;
    right: 0; }

.p-requirements__badge {
  display: inline-block;
  border-radius: 4px;
  padding: 5px 6px 5px 6px;
  font-size: 12px;
  font-weight: bold;
  line-height: 1.0; }
  .p-requirements__badge + .p-requirements__badge {
    margin-left: 4px; }
  .p-requirements__badge.-new {
    background-color: #02A2F7;
    color: #FFF; }
  .p-requirements__badge.-urgently {
    background-color: #F75961;
    color: #FFF; }

/* ==========================================================================
   募集職種ページ - 新レイアウト
   ========================================================================== */
/* stickyを効かせるためoverflow:hiddenを解除 */
.l-content-container.-requirements {
  overflow: visible; }

.l-root-container:has(.l-content-container.-requirements) {
  overflow: visible; }

.c-block__inner.-wide {
  max-width: 1400px; }

.p-requirements-page__lead {
  font-size: 14px;
  color: #000;
  margin-bottom: 30px; }
  @media print, screen and (min-width: 48em) {
    .p-requirements-page__lead {
      font-size: 16px; } }

/* 結果件数 */
.p-requirements-result {
  margin-bottom: 30px;
  padding-bottom: 20px;
  border-bottom: 1px solid #000; }

.p-requirements-result__count {
  font-size: 18px;
  font-weight: bold;
  color: #000; }
  @media print, screen and (min-width: 48em) {
    .p-requirements-result__count {
      font-size: 24px; } }

.p-requirements-result__num {
  font-size: 32px;
  font-weight: bold;
  color: #000; }
  @media print, screen and (min-width: 48em) {
    .p-requirements-result__num {
      font-size: 40px; } }

/* 2カラムレイアウト */
.p-requirements-layout {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  gap: 30px; }
  @media print, screen and (min-width: 61.25em) {
    .p-requirements-layout {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      gap: 40px;
      -webkit-box-align: start;
          -ms-flex-align: start;
              align-items: flex-start; } }

.p-requirements-layout__main {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0; }

.p-requirements-layout__sidebar {
  width: 100%; }
  @media print, screen and (min-width: 61.25em) {
    .p-requirements-layout__sidebar {
      width: 280px;
      -ms-flex-negative: 0;
          flex-shrink: 0;
      position: -webkit-sticky;
      position: sticky;
      top: 20px;
      align-self: flex-start; } }

/* サイドバー */
.p-requirements-sidebar {
  background-color: #f5f5f5;
  border-radius: 8px;
  padding: 24px; }

.p-requirements-sidebar__title {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 16px;
  color: #000; }

.p-requirements-sidebar__list {
  list-style: none;
  margin: 0;
  padding: 0; }
  .p-requirements-sidebar__list > li + li {
    margin-top: 8px; }

.p-requirements-sidebar__button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  padding: 14px 16px;
  background-color: #fff;
  border: 1px solid #e5e5e5;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 500;
  color: #000;
  cursor: pointer;
  -webkit-transition: border-color 0.2s ease;
  transition: border-color 0.2s ease; }
  .p-requirements-sidebar__button:hover {
    border-color: #000; }
  .p-requirements-sidebar__button > span:first-child {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    text-align: left; }

.p-requirements-sidebar__count {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  background-color: #02a2f7;
  border-radius: 10px;
  font-size: 11px;
  font-weight: bold;
  color: #fff;
  margin-right: 8px; }

.p-requirements-sidebar__icon {
  display: block;
  width: 16px;
  height: 16px;
  position: relative; }
  .p-requirements-sidebar__icon::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 8px;
    height: 8px;
    border-right: 2px solid #333;
    border-bottom: 2px solid #333;
    -webkit-transform: translate(-70%, -50%) rotate(-45deg);
            transform: translate(-70%, -50%) rotate(-45deg); }

/* ローディング */
.p-requirements-loading {
  position: relative;
  min-height: 200px; }

/* 職種グループ */
.p-requirements-group {
  margin-bottom: 40px; }
  .p-requirements-group:last-child {
    margin-bottom: 0; }

.p-requirements-group__title {
  margin: 0 0 16px; }

/* 募集職種一覧 */
.p-requirements-list__items {
  list-style: none;
  margin: 0;
  padding: 0; }

.p-requirements-list__item {
  border-bottom: 1px solid #e5e5e5; }

.p-requirements-list__link {
  display: block;
  padding: 24px 0;
  text-decoration: none;
  color: inherit;
  -webkit-transition: background-color 0.2s ease;
  transition: background-color 0.2s ease; }
  @media print, screen and (min-width: 61.25em) {
    .p-requirements-list__link:hover {
      background-color: #f9f9f9; } }

.p-requirements-list__main {
  width: 100%; }

.p-requirements-list__category {
  margin-bottom: 8px; }

.p-requirements-list__category-label {
  display: inline-block;
  padding: 6px 12px;
  background-color: #02a2f7;
  border-radius: 4px;
  font-size: 12px;
  font-weight: bold;
  color: #fff; }

.p-requirements-list__title {
  font-size: 18px;
  font-weight: bold;
  color: #000;
  margin: 0 0 8px;
  line-height: 1.5; }
  @media print, screen and (min-width: 48em) {
    .p-requirements-list__title {
      font-size: 20px; } }
  .p-requirements-list__title .p-requirements__badge {
    font-size: 10px;
    padding: 3px 6px;
    vertical-align: middle;
    margin-right: 8px; }

.p-requirements-list__summary {
  font-size: 14px;
  color: #333;
  margin: 0 0 12px;
  line-height: 1.6; }

.p-requirements-list__tags {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 6px;
  margin-top: 12px; }

.p-requirements-list__tag {
  display: inline-block;
  font-size: 11px;
  padding: 2px 8px;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 3px;
  color: #666; }
  .p-requirements-list__tag.-serviceArea {
    background-color: #eef6fc;
    border-color: #aed8f3;
    color: #0a6bb0; }

.p-requirements-list__empty {
  text-align: center;
  padding: 60px 20px;
  color: #666; }
  .p-requirements-list__empty p {
    font-size: 14px;
    line-height: 1.8; }

/* ==========================================================================
   モーダル
   ========================================================================== */
.p-requirements-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 70000;
  display: none;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 20px;
  overflow-y: auto; }
  .p-requirements-modal.is-active {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }

.p-requirements-modal__content {
  background-color: #fff;
  border-radius: 8px;
  width: 100%;
  max-width: 900px;
  max-height: calc(100vh - 40px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  position: relative;
  margin: auto; }

.p-requirements-modal__close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 32px;
  height: 32px;
  background: none;
  border: 1px solid #e5e5e5;
  border-radius: 50%;
  cursor: pointer;
  z-index: 1; }
  .p-requirements-modal__close span {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 16px;
    height: 2px;
    background-color: #000;
    -webkit-transform: translate(-50%, -50%) rotate(45deg);
            transform: translate(-50%, -50%) rotate(45deg); }
  .p-requirements-modal__close span::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #000;
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg); }

.p-requirements-modal__tabs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-bottom: 1px solid #e5e5e5;
  padding: 0 52px 0 20px;
  overflow-x: auto;
  -ms-flex-negative: 0;
      flex-shrink: 0; }

.p-requirements-modal__tab {
  padding: 16px 20px;
  background: none;
  border: none;
  font-size: 14px;
  font-weight: 500;
  color: #666;
  cursor: pointer;
  white-space: nowrap;
  position: relative; }
  .p-requirements-modal__tab::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: transparent; }
  .p-requirements-modal__tab.is-active {
    color: #02a2f7;
    font-weight: bold; }
    .p-requirements-modal__tab.is-active::after {
      background-color: #02a2f7; }

.p-requirements-modal__body {
  padding: 24px;
  overflow-y: auto;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1; }

.p-requirements-modal__section {
  /* セクション内容 */ }

.p-requirements-modal__heading {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 24px;
  color: #000; }

.p-requirements-modal__group {
  margin-bottom: 32px; }
  .p-requirements-modal__group:last-child {
    margin-bottom: 0; }

.p-requirements-modal__subheading {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 16px;
  padding-bottom: 8px;
  border-bottom: 1px solid #e5e5e5;
  color: #000; }

.p-requirements-modal__checklist {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px 24px;
  list-style: none;
  margin: 0;
  padding: 0; }
  @media print, screen and (min-width: 48em) {
    .p-requirements-modal__checklist {
      grid-template-columns: repeat(4, 1fr); } }
  .p-requirements-modal__checklist.-flat {
    grid-template-columns: repeat(2, 1fr); }
    @media print, screen and (min-width: 48em) {
      .p-requirements-modal__checklist.-flat {
        grid-template-columns: repeat(3, 1fr); } }

/* チェックボックス */
.p-requirements-checkbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  cursor: pointer; }
  .p-requirements-checkbox input {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0; }

.p-requirements-checkbox__icon {
  width: 18px;
  height: 18px;
  border: 2px solid #ccc;
  border-radius: 3px;
  margin-right: 10px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  position: relative;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease; }
  .p-requirements-checkbox input:checked + .p-requirements-checkbox__icon {
    background-color: #02a2f7;
    border-color: #02a2f7; }
    .p-requirements-checkbox input:checked + .p-requirements-checkbox__icon::after {
      content: '';
      position: absolute;
      top: 2px;
      left: 5px;
      width: 5px;
      height: 9px;
      border: solid #fff;
      border-width: 0 2px 2px 0;
      -webkit-transform: rotate(45deg);
              transform: rotate(45deg); }

.p-requirements-checkbox__text {
  font-size: 14px;
  color: #000; }

/* モーダルフッター */
.p-requirements-modal__footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 16px 24px;
  border-top: 1px solid #e5e5e5;
  -ms-flex-negative: 0;
      flex-shrink: 0; }

.p-requirements-modal__clear {
  background: none;
  border: none;
  font-size: 14px;
  color: #666;
  cursor: pointer; }
  .p-requirements-modal__clear:hover {
    color: #000; }

.p-requirements-modal__submit {
  padding: 14px 48px;
  background-color: #02a2f7;
  border: none;
  border-radius: 4px;
  font-size: 14px;
  font-weight: bold;
  color: #fff;
  cursor: pointer;
  -webkit-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease; }
  .p-requirements-modal__submit:hover {
    opacity: 0.8; }

.u-mt-0 {
  margin-top: 0px; }

.u-mr-0 {
  margin-right: 0px; }

.u-mb-0 {
  margin-bottom: 0px; }

.u-ml-0 {
  margin-left: 0px; }

.u-pt-0 {
  padding-top: 0px; }

.u-pr-0 {
  padding-right: 0px; }

.u-pb-0 {
  padding-bottom: 0px; }

.u-pl-0 {
  padding-left: 0px; }

.u-mt-1 {
  margin-top: 10px; }

.u-mr-1 {
  margin-right: 10px; }

.u-mb-1 {
  margin-bottom: 10px; }

.u-ml-1 {
  margin-left: 10px; }

.u-pt-1 {
  padding-top: 10px; }

.u-pr-1 {
  padding-right: 10px; }

.u-pb-1 {
  padding-bottom: 10px; }

.u-pl-1 {
  padding-left: 10px; }

.u-mt-2 {
  margin-top: 20px; }

.u-mr-2 {
  margin-right: 20px; }

.u-mb-2 {
  margin-bottom: 20px; }

.u-ml-2 {
  margin-left: 20px; }

.u-pt-2 {
  padding-top: 20px; }

.u-pr-2 {
  padding-right: 20px; }

.u-pb-2 {
  padding-bottom: 20px; }

.u-pl-2 {
  padding-left: 20px; }

.u-mt-3 {
  margin-top: 30px; }

.u-mr-3 {
  margin-right: 30px; }

.u-mb-3 {
  margin-bottom: 30px; }

.u-ml-3 {
  margin-left: 30px; }

.u-pt-3 {
  padding-top: 30px; }

.u-pr-3 {
  padding-right: 30px; }

.u-pb-3 {
  padding-bottom: 30px; }

.u-pl-3 {
  padding-left: 30px; }

.u-mt-4 {
  margin-top: 40px; }

.u-mr-4 {
  margin-right: 40px; }

.u-mb-4 {
  margin-bottom: 40px; }

.u-ml-4 {
  margin-left: 40px; }

.u-pt-4 {
  padding-top: 40px; }

.u-pr-4 {
  padding-right: 40px; }

.u-pb-4 {
  padding-bottom: 40px; }

.u-pl-4 {
  padding-left: 40px; }

.u-mt-5 {
  margin-top: 50px; }

.u-mr-5 {
  margin-right: 50px; }

.u-mb-5 {
  margin-bottom: 50px; }

.u-ml-5 {
  margin-left: 50px; }

.u-pt-5 {
  padding-top: 50px; }

.u-pr-5 {
  padding-right: 50px; }

.u-pb-5 {
  padding-bottom: 50px; }

.u-pl-5 {
  padding-left: 50px; }

.u-mt-6 {
  margin-top: 60px; }

.u-mr-6 {
  margin-right: 60px; }

.u-mb-6 {
  margin-bottom: 60px; }

.u-ml-6 {
  margin-left: 60px; }

.u-pt-6 {
  padding-top: 60px; }

.u-pr-6 {
  padding-right: 60px; }

.u-pb-6 {
  padding-bottom: 60px; }

.u-pl-6 {
  padding-left: 60px; }

.u-mt-7 {
  margin-top: 70px; }

.u-mr-7 {
  margin-right: 70px; }

.u-mb-7 {
  margin-bottom: 70px; }

.u-ml-7 {
  margin-left: 70px; }

.u-pt-7 {
  padding-top: 70px; }

.u-pr-7 {
  padding-right: 70px; }

.u-pb-7 {
  padding-bottom: 70px; }

.u-pl-7 {
  padding-left: 70px; }

.u-mt-8 {
  margin-top: 80px; }

.u-mr-8 {
  margin-right: 80px; }

.u-mb-8 {
  margin-bottom: 80px; }

.u-ml-8 {
  margin-left: 80px; }

.u-pt-8 {
  padding-top: 80px; }

.u-pr-8 {
  padding-right: 80px; }

.u-pb-8 {
  padding-bottom: 80px; }

.u-pl-8 {
  padding-left: 80px; }

.u-mt-9 {
  margin-top: 90px; }

.u-mr-9 {
  margin-right: 90px; }

.u-mb-9 {
  margin-bottom: 90px; }

.u-ml-9 {
  margin-left: 90px; }

.u-pt-9 {
  padding-top: 90px; }

.u-pr-9 {
  padding-right: 90px; }

.u-pb-9 {
  padding-bottom: 90px; }

.u-pl-9 {
  padding-left: 90px; }

.u-mt-10 {
  margin-top: 100px; }

.u-mr-10 {
  margin-right: 100px; }

.u-mb-10 {
  margin-bottom: 100px; }

.u-ml-10 {
  margin-left: 100px; }

.u-pt-10 {
  padding-top: 100px; }

.u-pr-10 {
  padding-right: 100px; }

.u-pb-10 {
  padding-bottom: 100px; }

.u-pl-10 {
  padding-left: 100px; }

@media print, screen and (min-width: 100em) {
  .u-hide-full {
    display: none; } }

@media print, screen and (min-width: 87.5em) {
  .u-hide-XL {
    display: none; } }

@media print, screen and (min-width: 80em) {
  .u-hide-L {
    display: none; } }

@media print, screen and (min-width: 61.25em) {
  .u-hide-M {
    display: none; } }

@media print, screen and (min-width: 48em) {
  .u-hide-S {
    display: none; } }

@media only screen and (max-width: 47.9375em) {
  .u-hide-XS {
    display: none; } }

@media print {
  .u-hide-print {
    display: none; } }

/*
 * アニメーションのみ行うクラス
 */
/* ベース */
@media print, screen and (min-width: 48em) {
  .u-fade {
    opacity: 0;
    -webkit-transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1); } }

@media print, screen and (min-width: 48em) {
  .u-fade.is-active,
  .u-anime-group.is-active .u-fade {
    opacity: 1; } }

/* 下から上 */
@media print, screen and (min-width: 48em) {
  .u-fade.-up {
    -webkit-transform: translate3d(0, 50px, 0);
            transform: translate3d(0, 50px, 0); } }

@media print, screen and (min-width: 48em) {
  .u-fade.-up.is-active,
  .u-anime-group.is-active .u-fade.-up {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); } }

/* 右から左 */
@media print, screen and (min-width: 48em) {
  .u-fade.-left {
    -webkit-transform: translate3d(50px, 0, 0);
            transform: translate3d(50px, 0, 0); } }

@media print, screen and (min-width: 48em) {
  .u-fade.-left.is-active,
  .u-anime-group.is-active .u-fade.-left {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); } }

/* 複数カラムのコンテンツを左から順に表示 */
@media print, screen and (min-width: 48em) {
  .u-anime-group.is-active .u-fade:nth-of-type(1) {
    -webkit-transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 0.1s;
    transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 0.1s; } }

@media print, screen and (min-width: 48em) {
  .u-anime-group.is-active .u-fade:nth-of-type(2) {
    -webkit-transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 0.2s;
    transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 0.2s; } }

@media print, screen and (min-width: 48em) {
  .u-anime-group.is-active .u-fade:nth-of-type(3) {
    -webkit-transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 0.3s;
    transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 0.3s; } }

@media print, screen and (min-width: 48em) {
  .u-anime-group.is-active .u-fade:nth-of-type(4) {
    -webkit-transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 0.4s;
    transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 0.4s; } }

@media print, screen and (min-width: 48em) {
  .u-anime-group.is-active .u-fade:nth-of-type(5) {
    -webkit-transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 0.5s;
    transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 0.5s; } }

@media print, screen and (min-width: 48em) {
  .u-anime-group.is-active .u-fade:nth-of-type(6) {
    -webkit-transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 0.6s;
    transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 0.6s; } }

@media print, screen and (min-width: 48em) {
  .u-anime-group.is-active .u-fade:nth-of-type(7) {
    -webkit-transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 0.7s;
    transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 0.7s; } }

@media print, screen and (min-width: 48em) {
  .u-anime-group.is-active .u-fade:nth-of-type(8) {
    -webkit-transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 0.8s;
    transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 0.8s; } }

@media print, screen and (min-width: 48em) {
  .u-anime-group.is-active .u-fade:nth-of-type(9) {
    -webkit-transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 0.9s;
    transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 0.9s; } }

@media print, screen and (min-width: 48em) {
  .u-anime-group.is-active .u-fade:nth-of-type(10) {
    -webkit-transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 1s;
    transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 1s; } }

@media print, screen and (min-width: 48em) {
  .u-anime-group.is-active .u-fade:nth-of-type(11) {
    -webkit-transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 1.1s;
    transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 1.1s; } }

@media print, screen and (min-width: 48em) {
  .u-anime-group.is-active .u-fade:nth-of-type(12) {
    -webkit-transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 1.2s;
    transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 1.2s; } }

@media print, screen and (min-width: 48em) {
  .u-anime-group.is-active .u-fade:nth-of-type(13) {
    -webkit-transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 1.3s;
    transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 1.3s; } }

@media print, screen and (min-width: 48em) {
  .u-anime-group.is-active .u-fade:nth-of-type(14) {
    -webkit-transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 1.4s;
    transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 1.4s; } }

@media print, screen and (min-width: 48em) {
  .u-anime-group.is-active .u-fade:nth-of-type(15) {
    -webkit-transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 1.5s;
    transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 1.5s; } }

@media print, screen and (min-width: 48em) {
  .u-anime-group.is-active .u-fade:nth-of-type(16) {
    -webkit-transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 1.6s;
    transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 1.6s; } }

@media print, screen and (min-width: 48em) {
  .u-anime-group.is-active .u-fade:nth-of-type(17) {
    -webkit-transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 1.7s;
    transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 1.7s; } }

@media print, screen and (min-width: 48em) {
  .u-anime-group.is-active .u-fade:nth-of-type(18) {
    -webkit-transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 1.8s;
    transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 1.8s; } }

@media print, screen and (min-width: 48em) {
  .u-anime-group.is-active .u-fade:nth-of-type(19) {
    -webkit-transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 1.9s;
    transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 1.9s; } }

@media print, screen and (min-width: 48em) {
  .u-anime-group.is-active .u-fade:nth-of-type(20) {
    -webkit-transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 2s;
    transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 2s; } }

@media print, screen and (min-width: 48em) {
  .u-anime-group.is-active .u-fade:nth-of-type(21) {
    -webkit-transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 2.1s;
    transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 2.1s; } }

@media print, screen and (min-width: 48em) {
  .u-anime-group.is-active .u-fade:nth-of-type(22) {
    -webkit-transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 2.2s;
    transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 2.2s; } }

@media print, screen and (min-width: 48em) {
  .u-anime-group.is-active .u-fade:nth-of-type(23) {
    -webkit-transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 2.3s;
    transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 2.3s; } }

@media print, screen and (min-width: 48em) {
  .u-anime-group.is-active .u-fade:nth-of-type(24) {
    -webkit-transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 2.4s;
    transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 2.4s; } }

@media print, screen and (min-width: 48em) {
  .u-anime-group.is-active .u-fade:nth-of-type(25) {
    -webkit-transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 2.5s;
    transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 2.5s; } }

@media print, screen and (min-width: 48em) {
  .u-anime-group.is-active .u-fade:nth-of-type(26) {
    -webkit-transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 2.6s;
    transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 2.6s; } }

@media print, screen and (min-width: 48em) {
  .u-anime-group.is-active .u-fade:nth-of-type(27) {
    -webkit-transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 2.7s;
    transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 2.7s; } }

@media print, screen and (min-width: 48em) {
  .u-anime-group.is-active .u-fade:nth-of-type(28) {
    -webkit-transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 2.8s;
    transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 2.8s; } }

@media print, screen and (min-width: 48em) {
  .u-anime-group.is-active .u-fade:nth-of-type(29) {
    -webkit-transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 2.9s;
    transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 2.9s; } }

@media print, screen and (min-width: 48em) {
  .u-anime-group.is-active .u-fade:nth-of-type(30) {
    -webkit-transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 3s;
    transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 3s; } }

@media print, screen and (min-width: 48em) {
  .u-anime-group.is-active .u-fade:nth-of-type(31) {
    -webkit-transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 3.1s;
    transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 3.1s; } }

@media print, screen and (min-width: 48em) {
  .u-anime-group.is-active .u-fade:nth-of-type(32) {
    -webkit-transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 3.2s;
    transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 3.2s; } }

@media print, screen and (min-width: 48em) {
  .u-anime-group.is-active .u-fade:nth-of-type(33) {
    -webkit-transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 3.3s;
    transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 3.3s; } }

@media print, screen and (min-width: 48em) {
  .u-anime-group.is-active .u-fade:nth-of-type(34) {
    -webkit-transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 3.4s;
    transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 3.4s; } }

@media print, screen and (min-width: 48em) {
  .u-anime-group.is-active .u-fade:nth-of-type(35) {
    -webkit-transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 3.5s;
    transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 3.5s; } }

@media print, screen and (min-width: 48em) {
  .u-anime-group.is-active .u-fade:nth-of-type(36) {
    -webkit-transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 3.6s;
    transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 3.6s; } }

@media print, screen and (min-width: 48em) {
  .u-anime-group.is-active .u-fade:nth-of-type(37) {
    -webkit-transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 3.7s;
    transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 3.7s; } }

@media print, screen and (min-width: 48em) {
  .u-anime-group.is-active .u-fade:nth-of-type(38) {
    -webkit-transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 3.8s;
    transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 3.8s; } }

@media print, screen and (min-width: 48em) {
  .u-anime-group.is-active .u-fade:nth-of-type(39) {
    -webkit-transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 3.9s;
    transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 3.9s; } }

@media print, screen and (min-width: 48em) {
  .u-anime-group.is-active .u-fade:nth-of-type(40) {
    -webkit-transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 4s;
    transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 4s; } }

@media print, screen and (min-width: 48em) {
  .u-anime-group.is-active .u-fade:nth-of-type(41) {
    -webkit-transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 4.1s;
    transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 4.1s; } }

@media print, screen and (min-width: 48em) {
  .u-anime-group.is-active .u-fade:nth-of-type(42) {
    -webkit-transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 4.2s;
    transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 4.2s; } }

@media print, screen and (min-width: 48em) {
  .u-anime-group.is-active .u-fade:nth-of-type(43) {
    -webkit-transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 4.3s;
    transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 4.3s; } }

@media print, screen and (min-width: 48em) {
  .u-anime-group.is-active .u-fade:nth-of-type(44) {
    -webkit-transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 4.4s;
    transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 4.4s; } }

@media print, screen and (min-width: 48em) {
  .u-anime-group.is-active .u-fade:nth-of-type(45) {
    -webkit-transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 4.5s;
    transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 4.5s; } }

@media print, screen and (min-width: 48em) {
  .u-anime-group.is-active .u-fade:nth-of-type(46) {
    -webkit-transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 4.6s;
    transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 4.6s; } }

@media print, screen and (min-width: 48em) {
  .u-anime-group.is-active .u-fade:nth-of-type(47) {
    -webkit-transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 4.7s;
    transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 4.7s; } }

@media print, screen and (min-width: 48em) {
  .u-anime-group.is-active .u-fade:nth-of-type(48) {
    -webkit-transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 4.8s;
    transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 4.8s; } }

@media print, screen and (min-width: 48em) {
  .u-anime-group.is-active .u-fade:nth-of-type(49) {
    -webkit-transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 4.9s;
    transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 4.9s; } }

@media print, screen and (min-width: 48em) {
  .u-anime-group.is-active .u-fade:nth-of-type(50) {
    -webkit-transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 5s;
    transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 5s; } }

/* ==========================================================================
Form
========================================================================== */
@media only screen and (max-width: 47.9375em) {
  .f-head-block {
    margin-top: 30px;
    margin-bottom: 30px; } }

@media print, screen and (min-width: 48em) {
  .f-head-block {
    margin-top: 62px;
    margin-bottom: 65px; } }

.f-head-block > *:first-child {
  margin-top: 0; }

.f-head-block__heading {
  font-weight: bold;
  -webkit-font-feature-settings: 'palt' 1;
          font-feature-settings: 'palt' 1;
  text-align: center; }
  @media only screen and (max-width: 47.9375em) {
    .f-head-block__heading {
      font-family: "YakuHanJP", "Noto Sans CJK JP Subset", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo"; } }
  @media print, screen and (min-width: 48em) {
    .f-head-block__heading {
      font-family: "YakuHanJP", "Noto Sans CJK JP Subset", "Yu Gothic", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo"; } }
  @media only screen and (max-width: 47.9375em) {
    .f-head-block__heading {
      margin-bottom: 34px;
      font-size: 20px;
      font-size: 1.25rem;
      line-height: 1.3; } }
  @media print, screen and (min-width: 48em) {
    .f-head-block__heading {
      margin-bottom: 67px;
      font-size: 28px;
      font-size: 1.75rem;
      line-height: 1.4; } }
  .f-head-block__heading span {
    display: block;
    font-family: brandon-grotesque, sans-serif;
    -webkit-font-feature-settings: 'palt' 1;
            font-feature-settings: 'palt' 1;
    color: #012169; }
    @media only screen and (max-width: 47.9375em) {
      .f-head-block__heading span {
        font-size: 12px;
        font-size: 0.75rem; } }
    @media print, screen and (min-width: 48em) {
      .f-head-block__heading span {
        margin-bottom: 13px;
        font-size: 16px;
        font-size: 1rem; } }

@media only screen and (max-width: 47.9375em) {
  .f-content-block__head {
    margin-bottom: 18px; } }

@media print, screen and (min-width: 48em) {
  .f-content-block__head {
    margin-bottom: 32px; } }

.f-content-block__item + .f-content-block__item {
  margin-top: 40px; }

@media print, screen and (min-width: 48em) {
  .f-content-block__item--column_2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; } }

@media only screen and (max-width: 47.9375em) {
  .f-content-block__item--column_2 > * {
    margin-top: 22px; } }

@media print, screen and (min-width: 48em) {
  .f-content-block__item--column_2 > * {
    width: calc(50% - 20px); } }

.f-container {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: relative;
  color: #000;
  width: 100%;
  padding-bottom: calc(80px);
  padding-right: 5.334%;
  padding-left: 5.334%; }
  @media print, screen and (min-width: 48em) {
    .f-container {
      max-width: 800px;
      margin-right: auto;
      margin-left: auto; } }

.c-content-block .f-container {
  padding-bottom: 0; }

.f-input-block {
  border: none; }
  @media print, screen and (min-width: 48em) {
    .f-input-block {
      min-height: 25px; } }
  @media print, screen and (min-width: 61.25em) {
    .f-input-block {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; } }
  @media print, screen and (min-width: 61.25em) {
    .f-input-block.-input .f-input-block__head {
      padding-top: 0.4em; } }

@media only screen and (max-width: 47.9375em) {
  .f-input-block__head {
    margin-bottom: 15px; } }

@media print, screen and (min-width: 48em) {
  .f-input-block__head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-bottom: 15px; } }

@media print, screen and (min-width: 61.25em) {
  .f-input-block__head {
    width: 310px;
    padding-right: 30px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    margin-bottom: 0; } }

.f-content-block--type_check .f-input-block__head {
  margin-bottom: 27px; }
  @media only screen and (max-width: 47.9375em) {
    .f-content-block--type_check .f-input-block__head {
      margin-bottom: 14px; } }

.f-input-block__heading {
  font-family: "YakuHanJP", "Noto Sans CJK JP Subset", "Yu Gothic", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo";
  font-weight: bold; }
  @media only screen and (max-width: 47.9375em) {
    .f-input-block__heading {
      display: inline-block; } }
  @media print, screen and (min-width: 48em) {
    .f-input-block__heading {
      font-size: 16px;
      font-size: 1rem; } }
  .f-input-block__heading .f-required {
    margin-left: 5px; }

.f-input-block__sub-heading {
  font-family: "YakuHanJP", "Noto Sans CJK JP Subset", "Yu Gothic", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo";
  font-weight: bold; }
  @media only screen and (max-width: 47.9375em) {
    .f-input-block__sub-heading {
      display: inline-block; } }
  @media print, screen and (min-width: 48em) {
    .f-input-block__sub-heading {
      font-size: 14px;
      font-size: 0.875rem; } }

.f-input-block__body {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1; }

.f-input-block__body--type_postal-code {
  width: 200px; }

.f-input-block__body-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  display: -webkit-flex;
  width: 100%;
  margin-left: 10px; }
  @media only screen and (max-width: 47.9375em) {
    .f-input-block__body-item {
      margin-left: 0;
      margin-bottom: 10px; } }
  .f-input-block__body-item:first-child {
    margin-left: 0; }
  @media only screen and (max-width: 47.9375em) {
    .f-input-block__body-item:last-child {
      margin-bottom: 0; } }
  .f-input-block__body-item > .f-input-inner-text {
    line-height: 2.5; }

@media print, screen and (min-width: 48em) {
  .f-input-block--lv_2 {
    margin-top: 10px; } }

.f-required {
  font-family: "YakuHanJP", "Noto Sans CJK JP Subset", "Yu Gothic", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo";
  font-weight: bold;
  font-size: 14px;
  font-size: 0.875rem;
  color: #f75961; }

.f-state-line-block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  display: -ms-flex; }
  .f-state-line-block--vertical-position_center {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
  .f-state-line-block--space_between {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }

.f-error-message {
  display: none;
  font-weight: normal;
  color: #f75961;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.25; }
  @media only screen and (max-width: 47.9375em) {
    .error .f-error-message {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; } }
  @media print, screen and (min-width: 48em) {
    .error .f-error-message {
      display: block; } }
  .f-error-message svg {
    fill: #cc1414;
    fill-rule: evenodd;
    position: relative;
    top: 1px;
    margin-right: 3px; }

.f-success-icon {
  display: none;
  line-height: 1; }
  @media only screen and (max-width: 47.9375em) {
    .success .f-success-icon {
      display: inline-block;
      margin-left: 8px; } }
  @media print, screen and (min-width: 48em) {
    .success .f-success-icon {
      display: block; } }
  .f-success-icon path {
    fill: #63a656;
    fill-rule: evenodd; }

.f-input-text {
  font-family: "YakuHanJP", "Noto Sans CJK JP Subset", "Yu Gothic Medium", "游ゴシック Medium", "Yu Gothic", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo";
  background: #fff;
  border-width: 1px;
  border-style: solid;
  border-color: #ccc;
  border-radius: 6px;
  padding-top: 9px;
  padding-right: 14px;
  padding-bottom: 9px;
  padding-left: 14px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transition: background-color 0.3s 0s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: background-color 0.3s 0s cubic-bezier(0.215, 0.61, 0.355, 1);
  width: 100%;
  -webkit-appearance: none;
  -webkit-tap-highlight-color: transparent;
  font-size: 16px;
  font-size: 1rem; }
  @media only screen and (max-width: 47.9375em) {
    .f-input-text:hover {
      cursor: default; } }
  @media print, screen and (min-width: 48em) {
    .f-input-text:hover {
      background-color: #fff; } }
  .success .f-input-text {
    background: #fff; }
  .error .f-input-text {
    background: #ffeeef;
    border-color: #f75961; }
  .f-input-text[type='number']::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0; }
  .f-input-text[type='number']::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0; }
  .f-input-text[type='number'] {
    -moz-appearance: textfield; }

.f-input-text--type_calendar {
  background-image: url(https://careers.classmethod.jp/inquiry/img/icon_calendar.svg);
  background-repeat: no-repeat;
  background-position: right 14px top 11px; }
  @media print, screen and (min-width: 48em) {
    .f-input-text--type_calendar {
      width: 339px; } }

.f-textarea {
  font-family: "YakuHanJP", "Noto Sans CJK JP Subset", "Yu Gothic", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo";
  background: #fff;
  border-width: 1px;
  border-style: solid;
  border-color: #ccc;
  border-radius: 6px;
  padding-top: 9px;
  padding-right: 14px;
  padding-bottom: 9px;
  padding-left: 14px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transition: all 0.3s 0s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: all 0.3s 0s cubic-bezier(0.215, 0.61, 0.355, 1);
  width: 100%;
  -webkit-appearance: none;
  -webkit-tap-highlight-color: transparent;
  font-size: 16px;
  font-size: 1rem; }
  @media only screen and (max-width: 47.9375em) {
    .f-textarea {
      height: 180px; } }
  @media print, screen and (min-width: 48em) {
    .f-textarea {
      height: 200px;
      width: 100%; } }
  .browser-is-ie .f-textarea {
    overflow: auto; }
  @media only screen and (max-width: 47.9375em) {
    .f-textarea:hover {
      cursor: default; } }
  @media print, screen and (min-width: 48em) {
    .f-textarea:hover {
      background-color: #fff; } }
  .success .f-textarea {
    background-color: #fff; }
  .error .f-textarea {
    background-color: #ffeeef; }

.f-select {
  display: block;
  position: relative;
  background: #fff;
  width: 100%; }
  .f-select > select {
    position: relative;
    z-index: 1;
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
    width: 100%;
    line-height: 1.5;
    padding-top: 9px;
    padding-right: 50px;
    padding-bottom: 10px;
    padding-left: 14px;
    background: transparent;
    cursor: pointer;
    border-width: 1px;
    border-style: solid;
    border-color: #ccc;
    border-radius: 6px;
    font-family: "YakuHanJP", "Noto Sans CJK JP Subset", "Yu Gothic Medium", "游ゴシック Medium", "Yu Gothic", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo";
    font-size: 16px;
    font-size: 1rem; }
    @media only screen and (max-width: 47.9375em) {
      .f-select > select {
        height: 44px; } }
    .f-select > select::-ms-expand {
      display: none; }
  .f-select:before {
    position: absolute;
    content: '';
    top: 0;
    right: 0;
    width: 40px;
    height: calc(100%);
    border-radius: 0 6px 6px 0;
    background-color: #02a2f7;
    z-index: 2;
    pointer-events: none; }
  .f-select:after {
    position: absolute;
    content: '';
    top: calc(50% - 2px);
    right: 17px;
    width: 8px;
    height: 8px;
    background-repeat: no-repeat;
    background-size: contain;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%226%22%20height%3D%228%22%3E%3Cpath%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-linecap%3D%22round%22%20stroke-width%3D%222%22%20d%3D%22M1%207l3-3-3-3%22%20%2F%3E%3C%2Fsvg%3E");
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
    z-index: 3; }
  .success .f-select {
    background: #fff; }
  .error .f-select {
    background: #ffeeef; }
    .error .f-select select {
      border-color: #f75961; }

@media print, screen and (min-width: 48em) {
  .f-select--size_50per {
    width: 50%; } }

.f-continue-block {
  border-top: 1px solid #ccc; }
  @media only screen and (max-width: 47.9375em) {
    .f-continue-block {
      margin-top: 35px;
      padding-top: 20px; } }
  @media print, screen and (min-width: 48em) {
    .f-continue-block {
      margin-top: 80px;
      padding: 80px 40px 0 40px; } }

.f-continue-block__button {
  width: 250px;
  margin-right: auto;
  margin-left: auto; }
  @media only screen and (max-width: 47.9375em) {
    .f-continue-block__button {
      width: 220px; } }
  .f-continue-block__button:not(:first-child) {
    margin-top: 40px; }

@media print, screen and (min-width: 48em) {
  .f-sentence {
    font-size: 18px;
    font-size: 1.125rem; } }

.f-sentence p {
  line-height: 1.5; }
  .f-sentence p + p {
    margin-top: 25px; }

.f-check > input {
  width: 0;
  height: 0;
  opacity: 0;
  display: none; }
  .f-check > input:focus + label:before {
    outline: -webkit-focus-ring-color auto 1px; }
  .f-check > input:checked:focus + label:before {
    outline: none; }
  .f-check > input:checked + label:before {
    color: #02a2f7;
    border-width: 2px; }
  .f-check > input:checked + label:after {
    color: #02a2f7; }

.f-check > label {
  display: inline-block;
  cursor: pointer;
  position: relative;
  padding: 0 0 0 26px;
  margin-bottom: 5px; }
  .f-text-line-block .f-check > label {
    margin-bottom: 0; }
  .f-check > label:before {
    content: '';
    position: absolute;
    left: 0;
    width: 20px;
    height: 20px;
    background: #fff;
    border: 1px solid currentColor;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    color: #cdcdcd;
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
    border-radius: 4px;
    top: 4px; }
  .f-check > label:after {
    content: '';
    position: absolute;
    display: block;
    color: transparent;
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
    top: calc(0.4em + 5px);
    width: 4px;
    height: 8px;
    left: 6px;
    border: solid 3px currentColor;
    border-left: 0;
    border-top: 0;
    -webkit-transform: translateY(-40%) rotate(45deg);
    transform: translateY(-40%) rotate(45deg); }
    .browser-is-ie .f-check > label:after {
      top: 11px;
      left: 7px; }

.f-check > ul {
  padding-left: 28px;
  margin-top: 5px; }
  @media only screen and (max-width: 47.9375em) {
    .f-check > ul {
      margin-bottom: 10px; } }

.f-check > .f-input-annotation {
  padding-left: 28px;
  margin-top: 5px;
  margin-bottom: 0; }

.error .f-check label:before {
  background-color: #ffeeef;
  border-color: #f75961;
  border-width: 2px; }

.f-check-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  @media only screen and (max-width: 47.9375em) {
    .f-check-group {
      margin-top: -10px;
      margin-left: -10px; } }
  @media print, screen and (min-width: 48em) {
    .f-check-group {
      margin-top: -20px;
      margin-left: -20px; } }
  @media only screen and (max-width: 47.9375em) {
    .f-check-group > li {
      margin-left: 10px;
      margin-top: 10px; } }
  @media print, screen and (min-width: 48em) {
    .f-check-group > li {
      margin-left: 20px;
      margin-top: 20px; } }

.f-radio > input {
  width: 0;
  height: 0;
  opacity: 0;
  display: none; }
  .f-radio > input:focus + label:before {
    outline: -webkit-focus-ring-color auto 1px; }
  .f-radio > input:checked + label:before {
    color: #02a2f7;
    border-width: 2px; }
  .f-radio > input:checked + label:after {
    color: #02a2f7; }

.f-radio > label {
  display: inline-block;
  cursor: pointer;
  position: relative;
  padding: 0 0 0 26px;
  margin-bottom: 5px; }
  .f-text-line-block .f-radio > label {
    margin-bottom: 0; }
  .f-radio > label:before {
    content: '';
    position: absolute;
    left: 0;
    width: 20px;
    height: 20px;
    background: #fff;
    border: 1px solid currentColor;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    color: #cdcdcd;
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
    border-radius: 50%;
    top: 4px; }
  .f-radio > label:after {
    content: '';
    position: absolute;
    display: block;
    color: transparent;
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
    left: 4px;
    width: 12px;
    height: 12px;
    background: currentColor;
    border-radius: 50%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    top: 8px; }

.f-radio > ul {
  padding-left: 28px;
  margin-top: 5px; }
  @media only screen and (max-width: 47.9375em) {
    .f-radio > ul {
      margin-bottom: 10px; } }

.f-radio > .f-input-annotation {
  padding-left: 28px;
  margin-top: 5px;
  margin-bottom: 0; }

.error .f-radio label:before {
  background-color: #ffeeef;
  border-color: #f75961;
  border-width: 2px; }

.f-radio-group {
  padding-top: 0.4em; }

.f-counter {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
  z-index: 60000;
  pointer-events: none;
  opacity: 0; }
  @media print, screen and (min-width: 80em) {
    .f-counter {
      max-width: 1320px;
      margin-right: auto;
      margin-left: auto;
      -webkit-transform: none;
              transform: none; } }
  .f-counter.-active {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); }
  .f-counter p {
    display: block;
    z-index: 1000;
    position: relative;
    line-height: 1.4; }
    @media print, screen and (min-width: 80em) {
      .f-counter p {
        width: 100%; } }
    .f-counter p br {
      display: none; }
      @media print, screen and (min-width: 80em) {
        .f-counter p br {
          display: block; } }
  .f-counter span {
    margin-right: 5px;
    font-size: 18px;
    font-size: 1.125rem;
    -webkit-font-feature-settings: 'palt' 1;
            font-feature-settings: 'palt' 1;
    font-weight: bold; }
    @media only screen and (max-width: 47.9375em) {
      .f-counter span {
        font-family: "YakuHanJP", "Noto Sans CJK JP Subset", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo"; } }
    @media print, screen and (min-width: 48em) {
      .f-counter span {
        font-family: "YakuHanJP", "Noto Sans CJK JP Subset", "Yu Gothic", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo"; } }
    @media print, screen and (min-width: 80em) {
      .f-counter span {
        margin-right: 0; } }
  .f-counter em {
    margin-right: 2px;
    margin-left: 4px;
    font-family: brandon-grotesque, sans-serif;
    -webkit-font-feature-settings: 'palt' 1;
            font-feature-settings: 'palt' 1;
    font-size: 40px;
    font-size: 2.5rem;
    font-style: normal;
    font-weight: bold;
    color: #02a2f7;
    letter-spacing: 0.1em; }

.f-counter__inner {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  z-index: 20000;
  background-color: #e5f6ff;
  text-align: center;
  color: #000; }
  @media print, screen and (min-width: 80em) {
    .f-counter__inner {
      position: relative;
      float: right;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      border-radius: 6px;
      padding-top: 30px;
      padding-right: 20px;
      padding-bottom: 30px;
      padding-left: 20px;
      white-space: nowrap;
      margin-right: 0; } }
  @media print, screen and (min-width: 80em) {
    .f-counter__inner:before {
      content: '';
      position: absolute;
      top: 8px;
      right: 100%;
      border-right: 14px solid #e5f6ff;
      border-top: 6px solid transparent;
      border-bottom: 6px solid transparent; } }

.f-label-msg {
  width: 100%;
  color: #f75961;
  font-size: 14px;
  font-size: 0.875rem; }
  @media print, screen and (min-width: 48em) {
    .f-label-msg {
      width: auto; } }
  .f-label-msg.f-label-msg--error {
    display: none; }
    .error .f-label-msg.f-label-msg--error {
      display: block; }

/* ==========================================================================
   募集職種カテゴリーナビゲーション
   ========================================================================== */
.p-requirements-category-nav {
  margin-bottom: 24px; }

.p-requirements-category-nav__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 8px;
  list-style: none;
  margin: 0;
  padding: 0; }

.p-requirements-category-nav__item {
  margin: 0; }

.p-requirements-category-nav__item.is-active .p-requirements-category-nav__link {
  background-color: #333;
  border-color: #333;
  color: #fff;
  pointer-events: none; }

.p-requirements-category-nav__link {
  display: inline-block;
  padding: 8px 16px;
  border: 1px solid #ddd;
  border-radius: 4px;
  background-color: #fff;
  color: #333;
  font-size: 14px;
  text-decoration: none;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease; }

.p-requirements-category-nav__link:hover {
  background-color: #f5f5f5;
  border-color: #ccc;
  text-decoration: none; }

/* SP用プルダウン（PCでは非表示） */
.p-requirements-category-select {
  display: none;
  margin-bottom: 24px; }

.p-requirements-category-select__input {
  width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 12px 40px 12px 14px;
  border: 1px solid #ccc;
  border-radius: 6px;
  background-color: #fff;
  color: #333;
  font-size: 15px;
  line-height: 1.4;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23666' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  background-size: 12px; }

@media screen and (max-width: 767px) {
  .p-requirements-category-nav {
    display: none; }
  .p-requirements-category-select {
    display: block;
    margin-bottom: 16px; } }


/* ==========================================================================
   もっと見るボタン
   ========================================================================== */
.p-requirements-list__more {
  margin-top: 30px;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-requirements-list__more {
    margin-top: 40px;
  }
}

.p-requirements-list__more-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 8px;
  width: 100%;
  padding: 20px 24px;
  border: none;
  border-radius: 8px;
  background-color: #333;
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  cursor: pointer;
  -webkit-transition: background-color 0.2s ease;
  transition: background-color 0.2s ease;
}

@media screen and (min-width: 768px) {
  .p-requirements-list__more-btn {
    font-size: 18px;
    padding: 24px 32px;
  }
}

.p-requirements-list__more-btn:hover {
  background-color: #555;
}

.p-requirements-list__more-icon {
  display: inline-block;
  width: 20px;
  height: 20px;
  position: relative;
}

.p-requirements-list__more-icon::before,
.p-requirements-list__more-icon::after {
  content: "";
  position: absolute;
  background-color: #fff;
}

.p-requirements-list__more-icon::before {
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 14px;
  height: 2px;
}

.p-requirements-list__more-icon::after {
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 2px;
  height: 14px;
}

/* ==========================================================================
   ページリード文
   ========================================================================== */
.p-requirements-page__lead {
  font-size: 14px;
  color: #333;
  margin-bottom: 24px;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-requirements-page__lead {
    font-size: 16px;
    margin-bottom: 30px;
  }
}

/* ==========================================================================
   結果件数（拡張）
   ========================================================================== */
.p-requirements-result {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.p-requirements-result__filter-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 44px;
  height: 44px;
  background: none;
  border: 1px solid #ccc;
  border-radius: 8px;
  cursor: pointer;
  color: #333;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}

@media screen and (min-width: 980px) {
  .p-requirements-result__filter-btn {
    display: none;
  }
}

.p-requirements-result__filter-btn:hover {
  background-color: #f5f5f5;
}

.p-requirements-result__filter-btn svg {
  width: 24px;
  height: 24px;
}

/* SP：フィルターバーをスクロール追従（上部スティッキー） */
@media screen and (max-width: 767px) {
  .p-requirements-result {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 100;
    background-color: #fff;
    margin-bottom: 16px;
    padding-top: 12px;
  }
}

/* ==========================================================================
   選択済み絞り込み条件
   ========================================================================== */
.p-requirements-selected {
  margin-bottom: 20px;
  padding: 16px;
  background-color: #f5f5f5;
  border-radius: 8px;
}

@media screen and (min-width: 768px) {
  .p-requirements-selected {
    padding: 20px;
  }
}

.p-requirements-selected__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 8px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.p-requirements-selected__tag {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6px;
  font-size: 13px;
  padding: 6px 12px;
  background-color: #fff;
  border: 1px solid #ccc;
  border-radius: 20px;
  cursor: pointer;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}

@media screen and (min-width: 768px) {
  .p-requirements-selected__tag {
    font-size: 14px;
    padding: 8px 14px;
  }
}

.p-requirements-selected__tag:hover {
  background-color: #f5f5f5;
}

.p-requirements-selected__remove {
  position: relative;
  width: 14px;
  height: 14px;
}

.p-requirements-selected__remove::before,
.p-requirements-selected__remove::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 10px;
  height: 2px;
  background-color: #666;
}

.p-requirements-selected__remove::before {
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
          transform: translate(-50%, -50%) rotate(45deg);
}

.p-requirements-selected__remove::after {
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
          transform: translate(-50%, -50%) rotate(-45deg);
}

.p-requirements-selected__clear {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 4px;
  font-size: 13px;
  padding: 6px 12px;
  background: none;
  border: none;
  color: #0066cc;
  cursor: pointer;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}

@media screen and (min-width: 768px) {
  .p-requirements-selected__clear {
    font-size: 14px;
  }
}

.p-requirements-selected__clear:hover {
  text-decoration: underline;
}

.p-requirements-selected__clear svg {
  width: 14px;
  height: 14px;
}

/* ==========================================================================
   2カラムレイアウト
   ========================================================================== */
.p-requirements-layout {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 40px;
}

@media screen and (max-width: 979px) {
  .p-requirements-layout {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0;
  }
}

.p-requirements-layout__main {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}

.p-requirements-layout__sidebar {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 280px;
}

@media screen and (max-width: 979px) {
  .p-requirements-layout__sidebar {
    display: none;
  }
}

/* ==========================================================================
   サイドバー
   ========================================================================== */
.p-requirements-sidebar {
  background-color: #f5f5f5;
  border-radius: 8px;
  padding: 24px;
}

.p-requirements-sidebar__title {
  font-size: 16px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: bold;
  margin: 0 0 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid #e0e0e0;
}

.p-requirements-sidebar__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.p-requirements-sidebar__list li + li {
  margin-top: 8px;
}

.p-requirements-sidebar__button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  padding: 12px 16px;
  background-color: #fff;
  border: 1px solid #ccc;
  border-radius: 8px;
  cursor: pointer;
  font-size: 14px;
  text-align: left;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}

.p-requirements-sidebar__button:hover {
  background-color: #f5f5f5;
}

.p-requirements-sidebar__button span:first-child {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.p-requirements-sidebar__count {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  background-color: #333;
  color: #fff;
  border-radius: 10px;
  font-size: 12px;
  font-weight: bold;
  margin-right: 8px;
}

.p-requirements-sidebar__all {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid #e0e0e0;
}

.p-requirements-sidebar__all-link {
  display: block;
  font-size: 14px;
  color: #0066cc;
  text-align: center;
  text-decoration: none;
}

.p-requirements-sidebar__all-link:hover {
  text-decoration: underline;
}

/* ==========================================================================
   モーダル
   ========================================================================== */
/* 絞り込みモーダル表示中はMENUボタン・ページトップボタンを非表示 */
body.is-filter-modal-open .p-main-menu-button,
body.is-filter-modal-open .p-page-top {
  display: none !important;
}

.p-requirements-modal {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 70000;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.p-requirements-modal.is-active {
  opacity: 1;
  visibility: visible;
}

.p-requirements-modal__content {
  background-color: #fff;
  border-radius: 12px;
  width: calc(100% - 32px);
  max-width: 600px;
  max-height: calc(100vh - 64px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  overflow: hidden;
  -webkit-transform: translateY(20px);
          transform: translateY(20px);
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
  position: relative;
  z-index: 70001;
}

.p-requirements-modal.is-active .p-requirements-modal__content {
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.p-requirements-modal__close {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 40px;
  height: 40px;
  background-color: #fff;
  border: 1px solid #e5e5e5;
  border-radius: 50%;
  cursor: pointer;
  z-index: 2;
}

.p-requirements-modal__close span {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 20px;
  height: 2px;
  background-color: #333;
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
          transform: translate(-50%, -50%) rotate(45deg);
}

.p-requirements-modal__close span::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: inherit;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}

.p-requirements-modal__tabs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-bottom: 1px solid #e0e0e0;
  padding: 0 52px 0 16px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.p-requirements-modal__tab {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  white-space: nowrap;
  padding: 16px 12px;
  background: none;
  border: none;
  border-bottom: 3px solid transparent;
  cursor: pointer;
  font-size: 14px;
  font-weight: bold;
  color: #666;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  margin-bottom: -1px;
}

.p-requirements-modal__tab.is-active {
  color: #333;
  border-bottom-color: #333;
}

.p-requirements-modal__tab:hover:not(.is-active) {
  color: #333;
}

.p-requirements-modal__body {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  overflow-y: auto;
  padding: 24px;
}

.p-requirements-modal__heading {
  font-size: 16px;
  font-weight: bold;
  margin: 0 0 16px;
}

.p-requirements-modal__group {
  margin-bottom: 24px;
}

.p-requirements-modal__group:last-child {
  margin-bottom: 0;
}

.p-requirements-modal__subheading {
  font-size: 14px;
  font-weight: bold;
  margin: 0 0 12px;
  color: #666;
}

.p-requirements-modal__checklist {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
}

@media screen and (max-width: 479px) {
  .p-requirements-modal__checklist {
    grid-template-columns: 1fr;
  }
}

.p-requirements-modal__checklist.-flat {
  grid-template-columns: repeat(2, 1fr);
}

@media screen and (max-width: 479px) {
  .p-requirements-modal__checklist.-flat {
    grid-template-columns: 1fr;
  }
}

.p-requirements-checkbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  cursor: pointer;
  padding: 8px 12px;
  border-radius: 6px;
  -webkit-transition: background-color 0.2s ease;
  transition: background-color 0.2s ease;
}

.p-requirements-checkbox:hover {
  background-color: #f5f5f5;
}

.p-requirements-checkbox input[type="checkbox"] {
  display: none;
}

.p-requirements-checkbox input[type="checkbox"]:checked + .p-requirements-checkbox__icon {
  background-color: #333;
  border-color: #333;
}

.p-requirements-checkbox input[type="checkbox"]:checked + .p-requirements-checkbox__icon::after {
  opacity: 1;
}

.p-requirements-checkbox__icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 20px;
  height: 20px;
  border: 2px solid #ccc;
  border-radius: 4px;
  position: relative;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}

.p-requirements-checkbox__icon::after {
  content: "";
  position: absolute;
  top: 3px;
  left: 6px;
  width: 5px;
  height: 9px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  opacity: 0;
  -webkit-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
}

.p-requirements-checkbox__text {
  font-size: 14px;
  color: #333;
}

.p-requirements-modal__footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 12px;
  padding: 16px 24px;
  border-top: 1px solid #e0e0e0;
  background-color: #f5f5f5;
}

.p-requirements-modal__clear {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding: 14px 20px;
  background-color: #fff;
  border: 1px solid #ccc;
  border-radius: 8px;
  cursor: pointer;
  font-size: 14px;
  font-weight: bold;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}

.p-requirements-modal__clear:hover {
  background-color: #f5f5f5;
}

.p-requirements-modal__submit {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding: 14px 20px;
  background-color: #333;
  border: none;
  border-radius: 8px;
  color: #fff;
  cursor: pointer;
  font-size: 14px;
  font-weight: bold;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}

.p-requirements-modal__submit:hover {
  opacity: 0.9;
}

/* ==========================================================================
   職種カテゴリラベル
   ========================================================================== */
.p-requirements-list__category {
  margin-bottom: 8px;
}

.p-requirements-list__category-label {
  display: inline-block;
  font-size: 12px;
  padding: 4px 10px;
  background-color: #333;
  color: #fff;
  border-radius: 4px;
}

/* ==========================================================================
   もっと見るボタン ローディング
   ========================================================================== */
.p-requirements-list__more-btn.is-loading {
  cursor: wait;
  opacity: 0.7;
}

.p-requirements-list__more-spinner {
  display: inline-block;
  width: 20px;
  height: 20px;
  border: 2px solid rgba(255, 255, 255, 0.3);
  border-top-color: #fff;
  border-radius: 50%;
  -webkit-animation: spin 0.8s linear infinite;
          animation: spin 0.8s linear infinite;
}

@-webkit-keyframes spin {
  to {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}

@keyframes spin {
  to {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}

/* ==========================================================================
   カジュアル面談 CTAバナー
   ========================================================================== */
.p-casual-cta {
  margin: 40px 0;
  padding: 32px 24px;
  background-color: #f0f8ff;
  border: 1px solid #d0e8f7;
  border-radius: 8px;
  text-align: center;
}

.p-casual-cta__heading {
  font-size: 18px;
  font-weight: bold;
  color: #333;
  margin: 0 0 8px;
  line-height: 1.5;
}
@media print, screen and (min-width: 48em) {
  .p-casual-cta__heading {
    font-size: 20px;
  }
}

.p-casual-cta__text {
  font-size: 14px;
  color: #666;
  margin: 0 0 20px;
  line-height: 1.8;
}

.p-casual-cta__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: #02a2f7;
  color: #fff;
  font-size: 15px;
  font-weight: bold;
  padding: 14px 32px;
  border-radius: 50px;
  text-decoration: none;
  transition: background-color 0.3s ease;
}
.p-casual-cta__button:hover {
  background-color: #0189d1;
  color: #fff;
  text-decoration: none;
}
.p-casual-cta__button .c-arrow {
  margin-left: 8px;
}
@media only screen and (max-width: 47.9375em) {
  .p-casual-cta__button {
    width: 100%;
    padding: 14px 24px;
    box-sizing: border-box;
  }
}
.p-casual-cta__secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin-top: 16px;
  margin-left: 12px;
  background-color: #fff;
  color: #02a2f7;
  border: 1px solid #02a2f7;
  font-size: 15px;
  font-weight: bold;
  padding: 13px 32px;
  border-radius: 50px;
  text-decoration: none;
  transition: background-color 0.2s ease;
}
.p-casual-cta__secondary:hover {
  background-color: #f0f8ff;
  color: #02a2f7;
  text-decoration: none;
}
@media only screen and (max-width: 47.9375em) {
  .p-casual-cta__secondary {
    width: 100%;
    margin-left: 0;
    padding: 12px 24px;
    box-sizing: border-box;
  }
}

/* サイドバー内バリエーション */
.p-casual-cta.-sidebar {
  margin: 20px -24px -24px;
  padding: 20px;
  border-radius: 0 0 8px 8px;
  border: none;
  border-top: 1px solid #d0e8f7;
}
.p-casual-cta.-sidebar .p-casual-cta__heading {
  font-size: 16px;
}
.p-casual-cta.-sidebar .p-casual-cta__text {
  font-size: 13px;
  margin-bottom: 16px;
}
.p-casual-cta.-sidebar .p-casual-cta__button {
  font-size: 13px;
  padding: 12px 20px;
  width: 100%;
  box-sizing: border-box;
}

/* ----------------------------------------
   入社お祝い金キャンペーンCTA（控えめバナー）
   ---------------------------------------- */
.p-bonus-cta {
  margin: 16px 0;
}

.p-bonus-cta.-sidebar {
  margin: 12px -24px -24px;
  padding: 0;
  border-radius: 0 0 8px 8px;
  overflow: hidden;
}

.p-bonus-cta__link {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 16px;
  background-color: #fffbeb;
  border-top: 1px solid #f0e6c8;
  text-decoration: none;
  transition: background-color 0.2s ease;
}

.p-bonus-cta__link:hover {
  background-color: #fff5d6;
  text-decoration: none;
}

.p-bonus-cta__badge {
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  color: #b45309;
  background-color: #fde68a;
  padding: 2px 8px;
  border-radius: 3px;
  letter-spacing: 0.05em;
  white-space: nowrap;
  flex-shrink: 0;
}

.p-bonus-cta__text {
  font-size: 13px;
  font-weight: 500;
  color: #92400e;
  line-height: 1.4;
  flex: 1;
}

.p-bonus-cta__link .c-arrow {
  flex-shrink: 0;
  margin-left: auto;
}

/* ==========================================================================
   動画ウォッチページ（/video/）
   ========================================================================== */
.p-video-player {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 56.25%;
  margin-top: 24px;
  background-color: #000;
  border-radius: 20px;
  overflow: hidden;
}
.p-video-player iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.p-video-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
  margin-top: 16px;
}
.p-video-meta__item {
  font-size: 13px;
  color: #666;
}
.p-video-meta__item a {
  color: #02a2f7;
}

.p-video-lead {
  margin-top: 24px;
}

.p-video-chapters__list {
  margin-top: 16px;
  border: 1px solid #e5e5e5;
  border-radius: 20px;
  overflow: hidden;
}
.p-video-chapters__list li {
  border-bottom: 1px solid #e5e5e5;
}
.p-video-chapters__list li:last-child {
  border-bottom: none;
}
.p-video-chapters__list a {
  display: flex;
  align-items: baseline;
  gap: 12px;
  padding: 12px 16px;
  color: #000;
  text-decoration: none;
}
.p-video-chapters__list a:hover {
  background-color: #f7f9fa;
  text-decoration: none;
}
.p-video-chapters__time {
  font-weight: bold;
  color: #02a2f7;
  white-space: nowrap;
}

.p-video-transcript summary {
  cursor: pointer;
  font-weight: bold;
  padding: 12px 16px;
  background-color: #f7f9fa;
  border-radius: 20px;
}
.p-video-transcript__body {
  margin-top: 16px;
  line-height: 1.9;
  color: #444;
}
.p-video-transcript__body p + p {
  margin-top: 1.4em;
}

.p-video-faq__item {
  border-bottom: 1px solid #e5e5e5;
  padding: 16px 0;
}
.p-video-faq__item:first-child {
  border-top: 1px solid #e5e5e5;
}
.p-video-faq__q {
  font-weight: bold;
}
.p-video-faq__q:before {
  content: 'Q. ';
  color: #02a2f7;
}
.p-video-faq__a {
  margin-top: 8px;
  color: #444;
}
.p-video-faq__a:before {
  content: 'A. ';
  color: #999;
}

.p-video-related-link__list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.p-video-related-link__card {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 16px;
  padding: 20px 24px;
  background-color: #f7f9fa;
  border: 1px solid #e5e5e5;
  border-radius: 8px;
  text-decoration: none;
  transition: background-color 0.2s ease;
}
.p-video-related-link__card:hover {
  background-color: #eef1f3;
  text-decoration: none;
}
.p-video-related-link__label {
  flex: 1;
  color: #000;
  font-size: 15px;
  font-weight: bold;
  line-height: 1.6;
}

.p-video-share {
  margin-top: 24px;
  text-align: center;
}
.p-video-share__button {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 24px;
  border: 1px solid #e5e5e5;
  border-radius: 50px;
  color: #000;
  font-size: 14px;
  text-decoration: none;
}
.p-video-share__button:hover {
  background-color: #f7f9fa;
  text-decoration: none;
}

.p-video-card-meta {
  display: flex;
  gap: 12px;
  margin-top: 4px;
}
.p-video-card-meta li {
  font-size: 12px;
  color: #999;
}

.c-card__thumb.-no-image {
  background-color: #e5e5e5;
}

.p-video-speaker {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-top: 16px;
  text-align: left;
}
.p-video-speaker__photo {
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  overflow: hidden;
}
.p-video-speaker__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-video-speaker__name {
  font-weight: bold;
}
.p-video-speaker__name a {
  color: #000;
}
.p-video-speaker__role {
  margin-top: 2px;
  font-size: 13px;
  color: #666;
}
.p-video-speaker.-inline {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  width: 100%;
  box-sizing: border-box;
  margin-top: 24px;
  padding: 16px 20px;
  background-color: #f7f9fa;
  border-radius: 8px;
}
.p-video-speaker.-inline .p-video-speaker__photo {
  width: 56px;
  height: 56px;
}
.p-video-speaker__label {
  font-size: 12px;
  color: #999;
  margin-bottom: 2px;
}
a.p-video-speaker.-link {
  text-decoration: none;
  transition: background-color 0.2s ease;
}
a.p-video-speaker.-link:hover {
  background-color: #eef1f3;
  text-decoration: none;
}
.p-video-speaker__more {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-left: auto;
  padding-left: 12px;
  font-size: 13px;
  font-weight: bold;
  color: #02a2f7;
  white-space: nowrap;
}

.p-video-card-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}
.p-video-card-tags__item {
  font-size: 12px;
  color: #02a2f7;
  background-color: rgba(2, 162, 247, 0.08);
  padding: 2px 10px;
  border-radius: 50px;
}

.p-video-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}
.p-video-tags__item {
  font-size: 13px;
  color: #02a2f7;
  background-color: rgba(2, 162, 247, 0.08);
  padding: 4px 14px;
  border-radius: 50px;
}

/* 募集職種詳細：配属先別エントリー（p-entry-routes）
----------------------------------------------------------------- */
.p-entry-routes__lead {
  margin-top: 12px;
}

.p-entry-routes__num {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background-color: #000;
  color: #fff;
  font-size: 14px;
  font-weight: bold;
  line-height: 1;
}

.p-entry-routes__summary {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  margin: 20px 0 0;
  padding: 0;
  list-style: none;
}

.p-entry-routes__summary-link {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  height: 100%;
  box-sizing: border-box;
  padding: 10px 14px;
  border: 1px solid transparent;
  border-radius: 12px;
  background-color: #fff;
  box-shadow: 0 3px 10px 0 rgba(61, 99, 120, 0.15);
  color: #000;
  text-decoration: none;
  transition: border-color 0.2s ease, background-color 0.2s ease;
}
.p-entry-routes__summary-link:hover {
  border-color: #02a2f7;
}

.p-entry-routes__summary-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  font-size: 13px;
  line-height: 1.5;
}
.p-entry-routes__summary-text strong {
  font-size: 14px;
}
.p-entry-routes__summary-text span {
  color: #555;
}

.p-entry-routes__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
  margin-top: 24px;
}

/* 背景色（c-block.-fill）は横幅いっぱい、中身は c-block__inner で幅を制限 */
.p-entry-routes-block {
  padding-top: 48px;
}

.p-entry-route {
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  padding: 28px 20px;
  border-radius: 20px;
  background-color: #fff;
  box-shadow: 0 3px 10px 0 rgba(61, 99, 120, 0.15);
  scroll-margin-top: 90px;
}

.p-entry-route__title {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 0;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.5;
}
.p-entry-route__title .p-entry-routes__num {
  margin-top: 1px;
}

.p-entry-route__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 12px 0 0;
  padding: 0;
  list-style: none;
}
.p-entry-route__tag {
  padding: 3px 12px;
  border-radius: 50px;
  background-color: #f2f2f2;
  color: #333;
  font-size: 12px;
  font-weight: bold;
  line-height: 1.6;
}

.p-entry-route__point {
  margin: 14px 0 0;
}
.p-entry-route__point .c-sub-title {
  font-size: 15px;
  line-height: 1.6;
}

.p-entry-route__section {
  margin-top: 18px;
}
.p-entry-route__heading {
  margin: 0 0 6px;
  color: #02a2f7;
  font-size: 13px;
  font-weight: bold;
  line-height: 1.5;
}
.p-entry-route__text {
  margin: 0;
  font-size: 14px;
  line-height: 1.8;
}
.p-entry-route__list {
  margin: 0;
  font-size: 14px;
  line-height: 1.7;
}
.p-entry-route__list li + li {
  margin-top: 6px;
}

.p-entry-route__action {
  margin-top: auto;
  padding-top: 24px;
}

@media (min-width: 768px) {
  .p-entry-routes__summary {
    grid-template-columns: repeat(2, 1fr);
  }
  .p-entry-routes__grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .p-entry-routes-block {
    padding-top: 64px;
  }
  .p-entry-route {
    padding: 32px 28px;
  }
}

/* ボタン文言が長い場合は文節で折り返し、2行でも角丸が崩れないようにする */
.p-entry-route__action .c-button {
  border-radius: 40px;
}
.p-entry-route__action .c-button > span {
  flex: 1;
  min-width: 0;
  line-height: 1.4;
  word-break: auto-phrase;
  text-wrap: balance;
  overflow-wrap: anywhere;
}
@media (max-width: 767px) {
  .p-entry-route__action .c-button > span {
    font-size: 14px;
  }
}

/* 右下の追従「エントリーへ」ボタン
   PC：「上に戻る」（右下20px・40px角）の真上 / TB・SP：固定MENUボタンの左隣 */
.p-entry-jump {
  position: fixed;
  z-index: 8;
  right: 72px;
  bottom: 48px;
  display: flex;
  align-items: center;
  box-sizing: border-box;
  height: 44px;
  padding: 0 18px;
  border-radius: 22px;
  background-color: #fffb26;
  box-shadow: 0 3px 10px 0 rgba(61, 99, 120, 0.15);
  color: #000;
  font-size: 14px;
  font-weight: bold;
  line-height: 1;
  text-decoration: none;
  opacity: 0;
  visibility: hidden;
  transform: translateY(5px);
  transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease, background-color 0.2s ease;
}
.p-entry-jump:after {
  content: '';
  width: 6px;
  height: 6px;
  margin: -3px 0 0 10px;
  border-right: 2px solid #000;
  border-bottom: 2px solid #000;
  transform: rotate(45deg);
}
.p-entry-jump[target]:after {
  margin: 0 0 0 10px;
  transform: rotate(-45deg);
}
.p-entry-jump.is-active {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.p-entry-jump:hover {
  background-color: #ffcc00;
}
body.is-filter-modal-open .p-entry-jump {
  display: none !important;
}
#entry-routes {
  scroll-margin-top: 100px;
}
@media (min-width: 61.25em) {
  .p-entry-jump {
    right: 20px;
    bottom: 72px;
  }
}
