/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline; }

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }
body {
  -webkit-text-size-adjust: 100%;
          text-size-adjust: 100%;
  font-family: "Yu Gothic", "\6E38\30B4\30B7\30C3\30AF", YuGothic, "\6E38\30B4\30B7\30C3\30AF\4F53", "\30D2\30E9\30AE\30CE\89D2\30B4   Pro W3", "\30E1\30A4\30EA\30AA", sans-serif;
  font-weight: 500; }

.wrapper {
  position: relative;
  margin: 0 auto; }
  .wrapper.is-fixed {
    position: fixed;
    right: 0;
    left: 0;
    overflow: hidden; }

.resize-target-container {
  position: relative;
  overflow: hidden; }

* {
  box-sizing: border-box; }

a {
  color: inherit;
  text-decoration: none; }

.js-resize-target {
  width: 1400px;
  -webkit-transform-origin: left top;
          transform-origin: left top; }

::selection {
  background: #00A2EA;
  color: white; }

@-webkit-keyframes show-delayed-show {
  0% {
    opacity: 0;
    -webkit-transform: translateY(15px);
            transform: translateY(15px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0px);
            transform: translateY(0px); } }

@keyframes show-delayed-show {
  0% {
    opacity: 0;
    -webkit-transform: translateY(15px);
            transform: translateY(15px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0px);
            transform: translateY(0px); } }

.delayed-show {
  opacity: 0; }
  .delayed-show.is-show {
    -webkit-animation: show-delayed-show 1.2s ease-out 0s forwards;
            animation: show-delayed-show 1.2s ease-out 0s forwards; }

.only-sp {
  display: none; }

.header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0; }
  .header__container {
    position: relative; }
    .header__container::before {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      height: 100px;
      background: white;
      opacity: 0.9;
      content: ""; }
  .header__bg {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: white;
    opacity: 0;
    pointer-events: none;
    transition: opacity, .5s;
    transition-timing-function: ease-out; }
  .header.open .header__bg {
    opacity: 0.9;
    pointer-events: auto; }

.logo {
  position: fixed;
  top: 25px;
  left: 56px;
  width: 322px;
  height: auto;
  -webkit-user-select: none;
      -ms-user-select: none;
          user-select: none; }

.menu {
  position: absolute;
  top: 36px;
  right: 56px; }
  .menu__content-container {
    display: flex;
    align-items: center; }

.menu-content {
  position: relative; }
  .menu-content.active .menu-content__title {
    color: #00A2EA; }
  .menu-content.active .sub-menu {
    transition-delay: .3s; }
  .menu-content.active .line {
    transition-delay: .3s; }
  .menu-content:not(:last-child) {
    margin: 0 40px 0 0; }
  .menu-content__title {
    font-size: 14px;
    letter-spacing: 1.1px;
    white-space: nowrap;
    word-break: keep-all;
    cursor: pointer;
    transition: opacity, .3s;
    transition-timing-function: ease-out;
    -webkit-user-select: none;
        -ms-user-select: none;
            user-select: none; }
    .menu-content__title:hover {
      color: #00A2EA; }
  .menu-content .line {
    display: block;
    position: absolute;
    top: 0;
    left: -17px;
    width: 1px;
    height: 0;
    transition: height, .5s;
    transition-timing-function: ease-out;
    background: #00A2EA; }

.sub-menu {
  position: absolute;
  top: 62px;
  left: 0;
  height: 0;
  overflow: hidden;
  transition: height, .5s;
  transition-timing-function: ease-out; }
  .sub-menu__container {
    padding: 2px 0 0; }

.sub-menu-content:not(:last-child) {
  margin: 0 0 28px; }

.sub-menu-content__link {
  font-size: 14px;
  letter-spacing: 1.1px;
  white-space: nowrap;
  word-break: keep-all;
  transition: opacity, .3s;
  transition-timing-function: ease-out; }
  .sub-menu-content__link:hover {
    color: #00A2EA; }

.header-sns {
  display: flex;
  align-items: center; }
  .header-sns__link {
    transition: opacity, .3s;
    transition-timing-function: ease-out; }
    .header-sns__link:hover {
      opacity: 0.7; }
    .header-sns__link:not(:last-child) {
      margin: 0 30px 0 0; }

.header-sns-icon {
  height: auto; }
  .header-sns-icon--facebook {
    width: 24px; }
  .header-sns-icon--line {
    width: 26px; }

.menu-button.active .menu-button__content:nth-child(1) {
  width: 39px;
  -webkit-transform: rotate(34deg);
          transform: rotate(34deg); }

.menu-button.active .menu-button__content:nth-child(2) {
  width: 0; }

.menu-button.active .menu-button__content:nth-child(3) {
  width: 39px;
  -webkit-transform: rotate(-34deg);
          transform: rotate(-34deg); }

.menu-button {
  position: fixed;
  top: 0;
  right: 0;
  padding: 18px 20px;
  width: 32px;
  box-sizing: content-box;
  cursor: pointer;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
  transition-timing-function: ease-out; }
  .menu-button__content {
    height: 2px;
    width: 100%;
    background-color: black;
    -webkit-transform-origin: left center;
            transform-origin: left center;
    transition-property: width, -webkit-transform;
    transition-property: width, transform;
    transition-property: width, transform, -webkit-transform;
    transition-timing-function: ease-out;
    transition-duration: 0.3s; }
    .menu-button__content:not(:first-child) {
      margin-top: 9px; }

.footer {
  position: relative;
  padding: 50px 56px;
  background: #00A2EA; }

.page-top {
  position: absolute;
  top: -36px;
  right: 56px; }
  .page-top__link {
    position: relative;
    display: flex;
    align-items: center;
    font-family: "Montserrat", sans-serif;
    font-weight: 500;
    font-size: 13px;
    color: #00A2EA;
    letter-spacing: 1.1px; }
    .page-top__link:hover::after {
      -webkit-transform: translate(0, -7px);
              transform: translate(0, -7px); }
    .page-top__link::after {
      position: relative;
      top: 5px;
      width: 14px;
      height: 14px;
      margin: 0 0 0 10px;
      background-image: url("../img/common/arrow-top.png");
      background-size: cover;
      background-position: center;
      transition-property: -webkit-transform;
      transition-property: transform;
      transition-property: transform, -webkit-transform;
      transition-duration: .3s;
      transition-timing-function: ease-out;
      content: ""; }

.footer-common-links {
  display: flex;
  margin: 0 0 45px; }

.footer-common-link {
  position: relative;
  display: block;
  width: calc((100% - 56px) / 2);
  padding: 20px 0;
  color: #00A2EA;
  font-size: 16px;
  letter-spacing: 2px;
  text-align: center;
  background: white;
  transition-property: opacity;
  transition-duration: .3s;
  transition-timing-function: ease-out; }
  .footer-common-link:hover {
    opacity: 0.7; }
    .footer-common-link:hover::before {
      right: 13px; }
  .footer-common-link:not(:nth-child(2n)) {
    margin: 0 56px 0 0; }
  .footer-common-link::before {
    position: absolute;
    top: 50%;
    right: 20px;
    width: 42px;
    height: 18px;
    background-position: center;
    background-size: cover;
    -webkit-transform: translate(0, -50%);
            transform: translate(0, -50%);
    transition: right, .3s;
    transition-timing-function: ease-out;
    background-image: url("../img/common/arrow-right.png");
    content: ""; }

.footer-info {
  margin: 0 0 64px; }
  .footer-info__title {
    margin: 0 0 15px;
    font-size: 20px;
    color: white;
    letter-spacing: 2px;
    line-height: 1.6; }
  .footer-info__description {
    font-size: 14px;
    color: white;
    letter-spacing: 1.4px;
    line-height: 1.6; }
    .footer-info__description:not(:last-child) {
      margin: 0 0 5px; }
    .footer-info__description span {
      position: relative;
      display: block;
      margin: 7px 0 0;
      padding: 0 0 0 14px;
      letter-spacing: 1.2px;
      font-size: 12px;
      line-height: 2; }
      .footer-info__description span::before {
        position: absolute;
        top: 0;
        left: 0;
        content: "\203B"; }

.footer-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between; }

.footer-link {
  position: relative;
  display: flex;
  align-items: center;
  color: white;
  font-size: 14px;
  letter-spacing: 1.3px; }
  .footer-link::after {
    position: relative;
    top: 0;
    right: -6px;
    width: 11px;
    height: 11px;
    background-image: url("../img/common/arrow-link-w.png");
    background-size: cover;
    background-position: center;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    transition-duration: .3s;
    transition-timing-function: ease-out;
    content: ""; }
  .footer-link:hover::after {
    -webkit-transform: translate(7px, 0);
            transform: translate(7px, 0); }
  .footer-link:not(:last-child) {
    margin: 0 40px 0 0; }

.copy-right {
  color: white;
  font-size: 12px;
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  letter-spacing: 1.4px; }

.loading {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  height: 100vh;
  background-color: white;
  z-index: 3; }
  .loading__container {
    position: relative;
    height: 100%; }
  .loading.is-hide {
    opacity: 0;
    pointer-events: none;
    transition: opacity, 1s;
    transition-timing-function: ease-out; }
  .loading__logo {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 322px;
    height: auto;
    opacity: 0;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%); }

.common-title__text {
  font-size: 60px;
  color: #00A2EA;
  letter-spacing: 11px; }

.staff-cards {
  display: flex;
  flex-wrap: wrap; }

.staff-card {
  width: calc((100% - 168px) / 4);
  transition-property: -webkit-filter;
  transition-property: filter;
  transition-property: filter, -webkit-filter;
  transition-timing-function: ease-out;
  transition-duration: 0.3s; }
  .staff-card:not(:nth-child(4n)) {
    margin: 0 56px 0 0; }
  .staff-card:hover {
    -webkit-filter: brightness(130%);
            filter: brightness(130%); }
  .staff-card__department {
    padding: 13px 0;
    text-align: center;
    background: #00A2EA;
    color: white;
    font-size: 20px;
    letter-spacing: 1px; }
  .staff-card__thumbnail {
    position: relative;
    height: 210px;
    margin: 0 0 30px;
    background-position: center;
    background-size: cover; }
    .staff-card__thumbnail::before {
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      height: 98px;
      background-image: url("../img/common/staff-card_thumbnail-grad.png");
      background-size: cover;
      background-position: center;
      content: ""; }
  .staff-card__department-text {
    margin: 0 0 8px;
    line-height: 1.6; }
  .staff-card__department-text, .staff-card__name {
    text-align: center;
    color: #00A2EA;
    font-size: 14px;
    line-height: 1.5;
    letter-spacing: 1.3px; }

.staff-card-title {
  position: relative;
  margin: 0 0 17px; }
  .staff-card-title__handwritten {
    position: absolute;
    top: -53px;
    left: 50%;
    width: 150px;
    height: auto;
    margin: 0 0 0 10px;
    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0); }
  .staff-card-title__picture {
    width: 100%;
    height: auto; }

.common-link {
  position: relative;
  display: block;
  font-size: 16px;
  letter-spacing: 2px;
  text-align: center;
  transition-property: background, color;
  transition-duration: .3s;
  transition-timing-function: ease-out;
  border: 1px solid #00A2EA; }
  .common-link::before {
    position: absolute;
    top: 50%;
    right: 30px;
    width: 42px;
    height: 18px;
    background-position: center;
    background-size: cover;
    -webkit-transform: translate(0, -50%);
            transform: translate(0, -50%);
    transition: right, .3s;
    transition-timing-function: ease-out;
    content: ""; }
  .common-link--blue {
    background: #00A2EA;
    padding: 26px 0;
    color: white; }
    .common-link--blue:hover {
      background: white;
      color: #00A2EA; }
      .common-link--blue:hover::before {
        right: 23px;
        background-image: url("../img/common/arrow-right.png"); }
    .common-link--blue::before {
      background-image: url("../img/common/arrow-right-w.png"); }
  .common-link--white {
    padding: 19px 0;
    color: #00A2EA;
    background: white; }
    .common-link--white:hover {
      background: #00A2EA;
      color: white; }
      .common-link--white:hover::before {
        right: 12px;
        background-image: url("../img/common/arrow-right-w.png"); }
    .common-link--white::before {
      right: 19px;
      background-image: url("../img/common/arrow-right.png"); }

.project-story-card {
  display: flex; }
  .project-story-card:not(:last-child) {
    margin: 0 0 80px; }
  .project-story-card:nth-child(even) {
    flex-direction: row-reverse; }
    .project-story-card:nth-child(even) .project-story-card-text {
      padding: 0 56px 0 0; }
  .project-story-card__thumbnail {
    width: 616px;
    height: 462px;
    background-position: center;
    background-size: cover; }

.project-story-card-text {
  width: calc(100% - 616px);
  margin: -10px 0 0;
  padding: 0 0 0 56px; }
  .project-story-card-text__num {
    margin: 0 0 16px;
    font-size: 80px;
    font-family: YuMincho, "Yu Mincho", serif;
    font-weight: 500;
    letter-spacing: 14px; }
  .project-story-card-text__title {
    margin: 0 0 19px;
    font-size: 35px;
    line-height: 1.6;
    letter-spacing: 5px; }
  .project-story-card-text__description {
    margin: 0 0 34px;
    font-size: 14px;
    line-height: 1.8;
    letter-spacing: 1.1px; }

.page-title-box {
  padding: 200px 0 143px;
  position: relative; }
  .page-title-box__deco {
    position: absolute;
    right: 45px;
    top: 200px;
    letter-spacing: 2.7px;
    color: #00A2EA;
    font-family: YuMincho, "Yu Mincho", serif;
    font-size: 26px;
    line-height: 1.92;
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
    z-index: 1; }

.page-title {
  position: relative;
  padding: 0 56px 52px;
  font-size: 60px;
  color: #00A2EA;
  line-height: 1.5;
  letter-spacing: 11px; }
  .page-title::before {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 1232px;
    height: 1px;
    background: #00A2EA;
    content: ""; }

.page-title-description {
  padding: 33px 56px 0;
  font-size: 16px;
  color: #00A2EA;
  line-height: 1.83;
  letter-spacing: 1.6px; }
  .page-title-description span {
    display: block;
    margin: 9px 0 0;
    font-size: 12px;
    letter-spacing: 1.2px; }

.anchor-link {
  position: relative;
  display: inline-block;
  padding: 20px 0;
  background: #00A2EA;
  color: white;
  font-size: 16px;
  color: white;
  text-align: center;
  letter-spacing: 1px; }
  .anchor-link:hover::before {
    top: 57%; }
  .anchor-link::before {
    position: absolute;
    top: 50%;
    right: 20px;
    width: 17px;
    height: 17px;
    background-image: url("../img/common/arrow-bottom-w.png");
    background-position: center;
    background-size: cover;
    -webkit-transform: translate(0, -50%);
            transform: translate(0, -50%);
    transition: top, .3s;
    transition-timing-function: ease-out;
    content: ""; }

.saga-future-content {
  width: calc((100% - 56px) / 2);
  margin: 0 0 44px; }
  .saga-future-content:not(:nth-child(2n)) {
    margin: 0 56px 44px 0; }

.saga-future-content-link {
  display: inline-block;
  transition-property: -webkit-filter;
  transition-property: filter;
  transition-property: filter, -webkit-filter;
  transition-duration: .3s;
  transition-timing-function: ease-out; }
  .saga-future-content-link.coming-soon .saga-future-content-link__description::after {
    content: none; }
  .saga-future-content-link:not(.coming-soon):hover {
    -webkit-filter: brightness(120%);
            filter: brightness(120%); }
    .saga-future-content-link:not(.coming-soon):hover .saga-future-content-link__description::after {
      -webkit-transform: translate(5px, 0);
              transform: translate(5px, 0); }
  .saga-future-content-link img {
    width: 100%;
    height: auto;
    margin: 0 0 10px; }
  .saga-future-content-link__description {
    position: relative;
    font-size: 16px;
    line-height: 1.8;
    letter-spacing: 1.3px;
    color: #00A2EA; }
    .saga-future-content-link__description::after {
      position: relative;
      top: -1px;
      right: -2px;
      display: inline-block;
      width: 11px;
      height: 11px;
      background-position: center;
      background-size: cover;
      background-image: url("../img/common/arrow-link.png");
      transition-duration: .3s;
      transition-property: -webkit-transform;
      transition-property: transform;
      transition-property: transform, -webkit-transform;
      transition-timing-function: ease-out;
      content: ""; }

.versatility {
  padding: 200px 56px 189px; }
  .versatility__container {
    margin: 0 0 93px; }
  .versatility .common-link {
    max-width: 616px;
    margin: auto; }

.versatility-text-box__title {
  margin: 0 0 94px;
  font-size: 60px;
  color: #00A2EA;
  letter-spacing: 11px; }

.versatility-text-box__description {
  line-height: 1.82;
  letter-spacing: 1.6px; }

.next-contents {
  position: relative;
  padding: 0 0 0 168px; }
  .next-contents__deco {
    position: absolute;
    left: 45px;
    top: 0;
    letter-spacing: 2.7px;
    color: #00A2EA;
    font-family: YuMincho, "Yu Mincho", serif;
    font-size: 26px;
    line-height: 1.92;
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl; }
  .next-contents__container {
    display: flex;
    align-items: flex-start;
    padding: 74px 55px 86px;
    background-image: url("../img/common/bg-stripe.png");
    background-size: 1400px 391px;
    background-position: center; }
    .next-contents__container .common-link {
      width: 100%;
      flex: 1;
      top: 6px; }

.next-contents-title {
  width: 505px;
  font-size: 16px;
  line-height: 1.81;
  letter-spacing: 1.3px; }

.wrapper--index .container {
  padding: 0 0 180px; }

@-webkit-keyframes scroll-dot-animation {
  0% {
    -webkit-transform: translateY(0px) scale(0);
            transform: translateY(0px) scale(0); }
  5% {
    -webkit-animation-timing-function: cubic-bezier(0.83, 0, 0.17, 1);
            animation-timing-function: cubic-bezier(0.83, 0, 0.17, 1);
    -webkit-transform: translateY(0px) scale(1);
            transform: translateY(0px) scale(1); }
  95% {
    -webkit-transform: translateY(72px);
            transform: translateY(72px); }
  100% {
    -webkit-transform: translateY(72px) scale(0);
            transform: translateY(72px) scale(0); } }

@keyframes scroll-dot-animation {
  0% {
    -webkit-transform: translateY(0px) scale(0);
            transform: translateY(0px) scale(0); }
  5% {
    -webkit-animation-timing-function: cubic-bezier(0.83, 0, 0.17, 1);
            animation-timing-function: cubic-bezier(0.83, 0, 0.17, 1);
    -webkit-transform: translateY(0px) scale(1);
            transform: translateY(0px) scale(1); }
  95% {
    -webkit-transform: translateY(72px);
            transform: translateY(72px); }
  100% {
    -webkit-transform: translateY(72px) scale(0);
            transform: translateY(72px) scale(0); } }

.wrapper--index .kv {
  position: relative; }
  .wrapper--index .kv__container {
    position: relative;
    text-align: right; }
  .wrapper--index .kv__scroll-container {
    position: absolute;
    bottom: -195px;
    right: 20px; }
    .wrapper--index .kv__scroll-container::after {
      position: absolute;
      top: 58px;
      left: 4px;
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background-color: #00A2EA;
      -webkit-animation: scroll-dot-animation 2s linear 0s infinite;
              animation: scroll-dot-animation 2s linear 0s infinite;
      content: ""; }

.wrapper--index .kv-scroll {
  width: 16px;
  height: auto; }

.wrapper--index .copy {
  position: absolute;
  top: 229px;
  left: 56px; }
  .wrapper--index .copy__title {
    margin: 0 0 45px; }
    .wrapper--index .copy__title img {
      width: 240px;
      height: auto; }
  .wrapper--index .copy__link {
    position: relative;
    display: flex;
    align-items: center;
    color: #00A2EA;
    font-size: 14px;
    letter-spacing: 0.5px; }
    .wrapper--index .copy__link:hover .arrow {
      -webkit-transform: translate(7px, 0);
              transform: translate(7px, 0); }
    .wrapper--index .copy__link .arrow {
      position: relative;
      margin: 0 0 0 10px;
      transition-property: -webkit-transform;
      transition-property: transform;
      transition-property: transform, -webkit-transform;
      transition-duration: .3s;
      transition-timing-function: ease-out;
      -webkit-backface-visibility: hidden;
              backface-visibility: hidden; }
      .wrapper--index .copy__link .arrow img {
        width: 33px;
        height: auto; }

.wrapper--index .kv-picture {
  width: 100%;
  height: auto; }

.wrapper--index .kv-pictures-content {
  position: relative;
  width: 896px;
  height: 605px;
  margin: 0 0 0 auto;
  overflow: hidden; }
  .wrapper--index .kv-pictures-content__figure {
    display: block;
    position: absolute;
    height: 100%;
    top: 0;
    left: 0;
    opacity: 0; }

.wrapper--index .main-title-picture {
  display: flex;
  align-items: center; }
  .wrapper--index .main-title-picture__main {
    position: relative;
    margin: 0 43px 0 0; }
    .wrapper--index .main-title-picture__main > img {
      width: auto;
      height: 99px; }
  .wrapper--index .main-title-picture__sub--1 {
    margin: 0 49px 0 0; }
    .wrapper--index .main-title-picture__sub--1 img {
      width: auto;
      height: 96px; }
  .wrapper--index .main-title-picture__sub--2 img {
    width: auto;
    height: 91px; }

.wrapper--index .main-title {
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 2;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0); }

.wrapper--index .main-title-picture-deco span {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-191px, -11px);
          transform: translate(-191px, -11px);
  width: 0;
  height: 26px; }
  .wrapper--index .main-title-picture-deco span:nth-child(1) {
    background: white;
    opacity: 0.8; }
  .wrapper--index .main-title-picture-deco span:nth-child(2) {
    background: #00A2EA;
    mix-blend-mode: multiply; }

@-webkit-keyframes handwritten-animation {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 0 100%; } }

@keyframes handwritten-animation {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 0 100%; } }

.wrapper--index .main-title-picture-handwritten {
  position: absolute;
  top: -115px;
  left: -20px;
  width: 300px;
  height: 90px;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 0 0;
  opacity: 0;
  transition: opacity, .3s;
  transition-timing-function: ease-out; }
  .wrapper--index .main-title-picture-handwritten.active {
    -webkit-animation: handwritten-animation 1s forwards steps(49, end);
            animation: handwritten-animation 1s forwards steps(49, end);
    opacity: 1; }
  .wrapper--index .main-title-picture-handwritten--1 {
    background-image: url("../img/index/main-title-picture-handwritten-1.png"); }
  .wrapper--index .main-title-picture-handwritten--2 {
    background-image: url("../img/index/main-title-picture-handwritten-2.png"); }
  .wrapper--index .main-title-picture-handwritten--3 {
    background-image: url("../img/index/main-title-picture-handwritten-3.png"); }
  .wrapper--index .main-title-picture-handwritten--4 {
    background-image: url("../img/index/main-title-picture-handwritten-4.png"); }
  .wrapper--index .main-title-picture-handwritten--5 {
    background-image: url("../img/index/main-title-picture-handwritten-5.png"); }
  .wrapper--index .main-title-picture-handwritten--6 {
    background-image: url("../img/index/main-title-picture-handwritten-6.png"); }

.wrapper--index .news {
  padding: 63px 56px; }

.wrapper--index .news-content-container {
  position: relative;
  display: flex;
  align-items: center;
  padding: 0 20px;
  border-bottom: 1px solid black; }
  .wrapper--index .news-content-container:first-child {
    border-top: 1px solid black; }
  .wrapper--index .news-content-container__title {
    width: 171px;
    font-size: 16px;
    font-weight: bold;
    letter-spacing: 3px; }
  .wrapper--index .news-content-container__link {
    position: absolute;
    top: 50%;
    right: 20px;
    -webkit-transform: translate(0, -50%);
            transform: translate(0, -50%);
    color: #00A2EA;
    font-size: 14px;
    letter-spacing: 1px;
    transition: opacity, .3s;
    transition-timing-function: ease-out; }
    .wrapper--index .news-content-container__link:hover {
      opacity: 0.7; }

.wrapper--index .news-content-box {
  flex: 1;
  padding: 0 100px 0 0; }

.wrapper--index .news-content {
  display: flex;
  position: relative;
  top: 1px;
  align-items: center;
  padding: 14px 0; }
  .wrapper--index .news-content:not(:last-child) {
    border-bottom: 1px solid #C7C7C7; }
  .wrapper--index .news-content__date {
    width: 141px;
    font-size: 14px;
    opacity: 0.6;
    letter-spacing: 1px; }
  .wrapper--index .news-content__title {
    flex: 1;
    letter-spacing: 1.6px;
    line-height: 1.8; }

.wrapper--index .staff {
  padding: 137px 56px; }
  .wrapper--index .staff .staff-cards {
    margin: 0 0 80px; }
  .wrapper--index .staff .common-title {
    margin: 0 0 100px; }
  .wrapper--index .staff__link-box {
    text-align: center; }
    .wrapper--index .staff__link-box .common-link {
      width: 616px;
      margin: auto; }

.wrapper--index .project-story {
  padding: 13px 56px; }
  .wrapper--index .project-story .common-title {
    margin: 0 0 100px; }
  .wrapper--index .project-story__link-box {
    text-align: center; }
    .wrapper--index .project-story__link-box .common-link {
      width: 616px;
      margin: auto; }

.wrapper--index .project-story-cards {
  margin: 0 0 76px; }

.wrapper--index .project-story-small-cards {
  display: flex;
  margin: 0 0 80px; }

.wrapper--index .project-story-small-card {
  position: relative;
  width: calc((100% - 112px) / 3);
  padding: 0 0 58px; }
  .wrapper--index .project-story-small-card:not(:last-child) {
    margin: 0 56px 0 0; }
  .wrapper--index .project-story-small-card__thumbnail {
    height: 294px;
    margin: 0 0 35px;
    background-position: center;
    background-size: cover; }
  .wrapper--index .project-story-small-card .common-link {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%; }

.wrapper--index .project-story-small-card-text {
  margin: 0 0 31px; }
  .wrapper--index .project-story-small-card-text__num {
    margin: 0 0 3px;
    font-size: 50px;
    font-family: YuMincho, "Yu Mincho", serif;
    font-weight: 500;
    letter-spacing: 9px; }
  .wrapper--index .project-story-small-card-text__title {
    margin: 0 0 19px;
    font-size: 27px;
    line-height: 1.6;
    letter-spacing: 3px; }

.wrapper--index .special {
  padding: 153px 0; }
  .wrapper--index .special__title-box {
    padding: 0 120px; }
  .wrapper--index .special__content-container {
    position: relative; }

.wrapper--index .special-title-box {
  position: relative;
  z-index: 1;
  margin: 0 0 30px; }
  .wrapper--index .special-title-box__container {
    padding: 0 0 0 13px; }
  .wrapper--index .special-title-box__subtitle {
    margin: 0 0 30px;
    font-size: 26px;
    letter-spacing: 2.7px; }
  .wrapper--index .special-title-box__title img {
    width: 778px;
    height: auto; }

.wrapper--index .special-title-box-category {
  position: absolute;
  top: 0;
  left: 57px; }
  .wrapper--index .special-title-box-category__text img {
    width: 35px;
    height: auto; }

.wrapper--index .special-content {
  display: block;
  position: relative;
  margin: 0 0 80px;
  line-height: 0;
  transition-property: -webkit-filter;
  transition-property: filter;
  transition-property: filter, -webkit-filter;
  transition-timing-function: ease-out;
  transition-duration: .3s; }
  .wrapper--index .special-content .common-link {
    position: absolute;
    bottom: 70px;
    left: 50%;
    width: 392px;
    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
    border: none;
    padding: 28px 0; }

.wrapper--index .special-content-picture {
  width: 100%;
  height: auto; }

.wrapper--index .special-content-link .common-link {
  width: 616px;
  margin: auto; }

.wrapper--index .information {
  padding: 11px 56px; }
  .wrapper--index .information__content-container {
    display: flex; }

.wrapper--index .information-content {
  width: calc((100% - 56px) / 2); }
  .wrapper--index .information-content:not(:last-child) {
    margin: 0 56px 0 0; }
  .wrapper--index .information-content .common-title {
    margin: 0 0 60px; }
    .wrapper--index .information-content .common-title__text {
      font-size: 50px;
      letter-spacing: 5px; }

.wrapper--index .information-content-link:not(:last-child) {
  margin: 0 0 40px; }

.wrapper--staffs .container {
  padding: 0 0 187px; }

.wrapper--staffs input,
.wrapper--staffs button,
.wrapper--staffs select,
.wrapper--staffs textarea {
  -webkit-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
  line-height: 1; }

.wrapper--staffs input:checked + label::after {
  opacity: 1; }

.wrapper--staffs .filter {
  position: relative;
  overflow: hidden;
  transition: height, .5s;
  transition-timing-function: ease-out; }
  .wrapper--staffs .filter__container {
    padding: 50px 56px;
    background-image: url("../img/common/bg-stripe.png");
    background-size: 1400px 391px;
    background-position: center; }
  .wrapper--staffs .filter__title {
    margin: 0 0 50px;
    font-size: 30px;
    letter-spacing: 3px; }
  .wrapper--staffs .filter__notice {
    padding: 16px 56px 0;
    text-align: right;
    font-size: 12px;
    line-height: 1.6; }
    .wrapper--staffs .filter__notice span {
      color: #00A2EA; }

.wrapper--staffs .more-button-box {
  display: none;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  transition: opacity, .5s;
  transition-timing-function: ease-out; }
  .wrapper--staffs .more-button-box.remove {
    opacity: 0;
    pointer-events: none; }
  .wrapper--staffs .more-button-box__container {
    position: relative;
    background: white;
    padding: 20px 20px 0; }
    .wrapper--staffs .more-button-box__container::before {
      display: block;
      position: absolute;
      top: -74px;
      left: 0;
      right: 0;
      width: 100%;
      height: 74px;
      background-image: url("../img/staffs/blur.png");
      background-size: cover;
      background-position: center;
      background-repeat: repeat;
      content: ""; }
  .wrapper--staffs .more-button-box__link {
    position: relative;
    display: inline-block;
    width: 100%;
    padding: 21px 0;
    text-align: center;
    border: 1px solid #00A2EA;
    color: #00A2EA; }
    .wrapper--staffs .more-button-box__link::after {
      position: absolute;
      top: 50%;
      right: 18px;
      width: 16px;
      height: 16px;
      background-image: url("../img/common/plus-icon.png");
      background-size: cover;
      background-position: center;
      -webkit-transform: translate(0, -50%);
              transform: translate(0, -50%);
      content: ""; }

.wrapper--staffs .filter-form__content-container {
  display: flex;
  flex-wrap: wrap;
  margin: 0 0 25px; }

.wrapper--staffs .filter-form__buttons {
  display: flex;
  justify-content: space-between; }

.wrapper--staffs .filter-form-content {
  display: flex;
  align-items: center;
  width: calc((100% - 56px)/ 2);
  padding: 23px 0 25px;
  border-top: 1px solid white; }
  .wrapper--staffs .filter-form-content:not(:nth-child(2n)) {
    margin: 0 56px 0 0; }
  .wrapper--staffs .filter-form-content__title {
    width: 112px;
    font-size: 14px;
    color: #00A2EA;
    letter-spacing: 1px; }

.wrapper--staffs .filter-form-inputs {
  display: flex;
  position: relative;
  flex: 1;
  width: 100%;
  align-items: center; }

.wrapper--staffs .filter-form-input {
  position: relative;
  width: 25%; }
  .wrapper--staffs .filter-form-input input {
    position: absolute;
    top: 0;
    left: 0;
    visibility: hidden; }
  .wrapper--staffs .filter-form-input label {
    position: relative;
    padding: 0 0 0 24px;
    font-size: 14px;
    letter-spacing: 1px;
    cursor: pointer;
    -webkit-user-select: none;
        -ms-user-select: none;
            user-select: none; }
    .wrapper--staffs .filter-form-input label::before, .wrapper--staffs .filter-form-input label::after {
      display: inline-block;
      position: absolute;
      top: 50%;
      -webkit-transform: translate(0, -50%);
              transform: translate(0, -50%);
      content: ""; }
    .wrapper--staffs .filter-form-input label::before {
      left: 0;
      width: 14px;
      height: 14px;
      background: white; }
    .wrapper--staffs .filter-form-input label::after {
      left: 2px;
      width: 10px;
      height: 10px;
      margin-top: -1px;
      background-image: url("../img/common/check-icon-small.png");
      background-repeat: no-repeat;
      background-size: cover;
      background-position: 50% 50%;
      opacity: 0;
      transition: opacity .3s;
      transition-timing-function: ease-out; }

.wrapper--staffs .filter-form-submit {
  position: relative;
  width: 616px; }
  .wrapper--staffs .filter-form-submit input {
    display: block;
    width: 100%;
    text-align: center;
    background: #00A2EA;
    border: 1px solid #00A2EA;
    padding: 20px 0;
    color: white;
    font-size: 16px;
    letter-spacing: 2px;
    cursor: pointer;
    transition-property: background, color;
    transition-duration: .3s;
    transition-timing-function: ease-out; }
  .wrapper--staffs .filter-form-submit:hover input {
    background: white;
    color: #00A2EA; }
  .wrapper--staffs .filter-form-submit:hover::before {
    right: 13px;
    background-image: url("../img/common/arrow-right.png"); }
  .wrapper--staffs .filter-form-submit::before {
    position: absolute;
    top: 50%;
    right: 20px;
    width: 42px;
    height: 18px;
    background-image: url("../img/common/arrow-right-w.png");
    background-position: center;
    background-size: cover;
    -webkit-transform: translate(0, -50%);
            transform: translate(0, -50%);
    transition: right, .3s;
    transition-timing-function: ease-out;
    content: ""; }

.wrapper--staffs .filter-form-reset {
  position: relative;
  display: block;
  width: 280px;
  font-size: 16px;
  letter-spacing: 2px;
  text-align: center;
  background: white;
  padding: 20px 0;
  color: #00A2EA;
  border: 1px solid transparent;
  cursor: pointer;
  transition-property: background, color, border;
  transition-duration: .3s;
  transition-timing-function: ease-out; }
  .wrapper--staffs .filter-form-reset:hover {
    background: #00A2EA;
    color: white;
    border: 1px solid #00A2EA; }
    .wrapper--staffs .filter-form-reset:hover::before {
      background-image: url("../img/common/close-w.png"); }
  .wrapper--staffs .filter-form-reset::before {
    position: absolute;
    top: 50%;
    right: 20px;
    width: 17px;
    height: 17px;
    background-image: url("../img/common/close.png");
    background-position: center;
    background-size: cover;
    -webkit-transform: translate(0, -50%);
            transform: translate(0, -50%);
    content: ""; }

.wrapper--staffs .staff {
  padding: 100px 56px 70px; }
  .wrapper--staffs .staff__no-contents {
    padding: 0 0 30px;
    font-size: 20px;
    text-align: center; }
  .wrapper--staffs .staff .staff-card:not(:nth-child(4n)) {
    margin: 0 56px 80px 0; }
  .wrapper--staffs .staff__notice {
    padding: 0 20px 56px;
    text-align: center;
    font-size: 12px;
    line-height: 1.6; }

.wrapper--project-stories .project-story {
  padding: 0 56px 187px; }

.wrapper--project-stories .kv {
  margin: 0 0 79px;
  padding: 100px 0 0; }
  .wrapper--project-stories .kv__container {
    position: relative;
    height: 500px;
    background-size: cover;
    background-position: center; }
    .wrapper--project-stories .kv__container::before {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background-image: url("../img/project-stories/kv-bg.png");
      background-size: cover;
      background-position: center;
      content: ""; }

.wrapper--project-stories .kv-title-box {
  position: absolute;
  bottom: 46px;
  left: 56px; }
  .wrapper--project-stories .kv-title-box__num {
    margin: 0 0 15px;
    color: white;
    font-size: 80px;
    font-family: YuMincho, "Yu Mincho", serif;
    line-height: 1;
    letter-spacing: 14px; }
  .wrapper--project-stories .kv-title-box__title {
    font-size: 50px;
    line-height: 1.6;
    letter-spacing: 9px;
    color: white; }

.wrapper--project-stories .summary {
  position: relative;
  max-width: 1064px;
  margin: auto;
  padding: 65px 0 22px;
  background: white; }
  .wrapper--project-stories .summary__description {
    line-height: 1.7;
    letter-spacing: 1.6px; }

.wrapper--project-stories .member-title {
  position: absolute;
  top: -30px;
  left: 56px;
  letter-spacing: 5px;
  font-size: 50px;
  font-family: YuMincho, "Yu Mincho", serif; }

.wrapper--project-stories .member {
  margin: 0 0 96px; }
  .wrapper--project-stories .member__container {
    position: relative;
    padding: 0 0 16px; }
  .wrapper--project-stories .member__content-container {
    display: flex;
    flex-wrap: wrap;
    background-image: url("../img/common/bg-stripe.png");
    background-size: 1400px 391px;
    background-position: center;
    padding: 60px 56px 20px; }
  .wrapper--project-stories .member__notice {
    padding: 0 56px;
    text-align: right;
    font-size: 12px;
    line-height: 1.6; }

.wrapper--project-stories .member-content {
  display: flex;
  width: 25%;
  margin: 0 0 30px; }
  .wrapper--project-stories .member-content__thumbnail {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    background-size: cover;
    background-position: center; }
  .wrapper--project-stories .member-content__text-box {
    flex: 1;
    padding: 16px 20px 0; }

.wrapper--project-stories .member-name {
  margin: 0 0 8px;
  font-size: 18px;
  letter-spacing: 2px; }

.wrapper--project-stories .member-start-date {
  margin: 0 0 12px;
  font-size: 12px;
  letter-spacing: 1px; }

.wrapper--project-stories .member-department {
  font-size: 14px;
  color: #00A2EA;
  line-height: 1.66; }

.wrapper--project-stories .article {
  padding: 0 0 91px; }

.wrapper--project-stories .article-content {
  position: relative;
  display: flex; }
  .wrapper--project-stories .article-content--no-image {
    padding: 3px 0 0;
    margin: auto;
    width: 1174px; }
    .wrapper--project-stories .article-content--no-image .article-content__text-box {
      width: 100%; }
      .wrapper--project-stories .article-content--no-image .article-content__text-box h2 {
        text-align: center; }
  .wrapper--project-stories .article-content:not(:last-child) {
    margin: 0 0 98px; }
  .wrapper--project-stories .article-content:nth-child(even) {
    flex-direction: row-reverse; }
  .wrapper--project-stories .article-content__text-box {
    position: relative;
    flex: 1;
    padding: 0 65px 0 55px;
    margin: -11px 0 0;
    z-index: 1;
    background: white; }
    .wrapper--project-stories .article-content__text-box h2 {
      margin: 0 0 21px;
      font-size: 40px;
      color: #00A2EA;
      line-height: 1.6;
      letter-spacing: 4px; }
    .wrapper--project-stories .article-content__text-box p {
      line-height: 1.7;
      letter-spacing: 1.3px; }
    .wrapper--project-stories .article-content__text-box a {
      color: #00A2EA;
      transition-property: opacity;
      transition-duration: .3s;
      transition-timing-function: ease-out;
      text-decoration: underline; }
      .wrapper--project-stories .article-content__text-box a:hover {
        opacity: 0.7; }
  .wrapper--project-stories .article-content__picture img {
    width: 783px;
    height: auto; }
  .wrapper--project-stories .article-content__picture .caption {
    padding: 16px 56px 0;
    text-align: right;
    font-size: 12px;
    line-height: 1.6; }

.wrapper--project-stories .other-project-stories {
  padding: 0 56px 27px; }
  .wrapper--project-stories .other-project-stories__container {
    padding: 150px 0 0;
    border-top: 1px solid black; }
  .wrapper--project-stories .other-project-stories .common-title {
    margin: 0 0 80px; }
    .wrapper--project-stories .other-project-stories .common-title__text {
      font-size: 40px;
      letter-spacing: 4px; }

.wrapper--project-stories .other-project-stories-cards {
  display: flex;
  flex-wrap: wrap;
  margin: 0 0 80px; }

.wrapper--project-stories .other-project-stories-card {
  position: relative;
  width: calc((100% - 112px) / 3);
  margin: 0 0 80px;
  padding: 0 0 58px; }
  .wrapper--project-stories .other-project-stories-card:not(:nth-child(3n)) {
    margin: 0 56px 80px 0; }
  .wrapper--project-stories .other-project-stories-card__thumbnail {
    height: 294px;
    margin: 0 0 36px;
    background-position: center;
    background-size: cover; }
  .wrapper--project-stories .other-project-stories-card .common-link {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0; }

.wrapper--project-stories .other-project-stories-card-text {
  margin: 0 0 31px; }
  .wrapper--project-stories .other-project-stories-card-text__num {
    margin: 0 0 3px;
    font-size: 50px;
    font-family: YuMincho, "Yu Mincho", serif;
    font-weight: 500;
    letter-spacing: 9px; }
  .wrapper--project-stories .other-project-stories-card-text__title {
    margin: 0 0 19px;
    font-size: 27px;
    line-height: 1.6;
    letter-spacing: 3px; }

.wrapper--job .container {
  padding: 0 0 104px; }

.wrapper--job .job__notice {
  line-height: 1.85;
}

.wrapper--job .anchors {
  display: flex;
  padding: 2px 56px; }

.wrapper--job .anchor-link {
  width: calc((100% - 112px) / 3); }
  .wrapper--job .anchor-link:not(:last-child) {
    margin: 0 56px 0 0; }

.wrapper--job .job {
  padding: 98px 56px; }
  .wrapper--job .job__content-container:not(:last-child) {
    margin: 0 0 100px; }
  .wrapper--job .job__content-container .common-title {
    margin: 0 0 50px; }
    .wrapper--job .job__content-container .common-title__text {
      font-size: 40px;
      letter-spacing: 4px; }
    .wrapper--job .job__content-container .common-title__description {
      margin-top: 20px; 
      line-height: 1.6;
      a {
        color: #00A2EA;
        transition-property: opacity;
        transition-duration: .3s;
        transition-timing-function: ease-out;
        text-decoration: underline; }
      }
    }
  .wrapper--job .job__notice {
    line-height: 1.85;
    letter-spacing: 1.3px; }

.wrapper--job .job-wrapper {
  margin: 0 0 60px; }

.wrapper--job .job-contents {
  display: flex;
  flex-wrap: wrap; }

.wrapper--job .job-content {
  display: flex;
  width: calc((100% - 56px) / 2);
  margin: -1px 0 0;
  padding: 43px 0;
  border-top: 1px solid black;
  border-bottom: 1px solid black; }
  .wrapper--job .job-content:not(:nth-child(2n)) {
    margin: -1px 56px 0 0; }
  .wrapper--job .job-content__title {
    font-size: 30px;
    width: 224px;
    line-height: 1.5;
    letter-spacing: 3px; }
    .wrapper--job .job-content__title span {
      position: relative;
      top: 2px;
      left: 11px;
      font-size: 20px; }
  .wrapper--job .job-content__main {
    position: relative;
    width: calc(100% - 224px); }
  .wrapper--job .job-content .job-content-description {
    margin: 0 0 24px;
    line-height: 1.85;
    letter-spacing: 1.3px; }
  .wrapper--job .job-content .common-link {
    padding: 20px 0; }
    .wrapper--job .job-content .common-link:not(:last-child) {
      margin: 0 0 29px; }
    .wrapper--job .job-content .common-link--blue::before {
      right: 19px; }

.wrapper--job .job-assigned {
  margin: 0 0 40px; }
  .wrapper--job .job-assigned__title {
    margin: 0 0 6px;
    color: #00A2EA;
    font-size: 14px;
    letter-spacing: 1px; }
  .wrapper--job .job-assigned__description {
    font-size: 14px;
    line-height: 1.8;
    letter-spacing: 1.1px; }

.wrapper--faq .container {
  padding: 0 0 157px; }

.wrapper--faq .anchors {
  display: flex;
  flex-wrap: wrap;
  padding: 30px 56px; }

.wrapper--faq .anchor-link {
  width: calc((100% - 112px) / 3);
  margin: 0 0 40px; }
  .wrapper--faq .anchor-link:not(:nth-child(3n)) {
    margin: 0 56px 40px 0; }

.wrapper--faq main {
  padding: 30px 56px; }

.wrapper--faq .common-title {
  padding: 0 0 30px;
  border-bottom: 1px solid black; }
  .wrapper--faq .common-title__text {
    font-size: 40px;
    letter-spacing: 4px; }

.wrapper--faq .faq {
  display: block;
  padding: 0 0 50px; }
  .wrapper--faq .faq__content-contaienr {
    padding: 50px 0; }

.wrapper--faq .faq-content:not(:last-child) {
  margin: 0 0 10px; }

.wrapper--faq .faq-content__title-box {
  position: relative;
  display: flex;
  padding: 17px 30px 19px;
  background: #F1F1F1; }

.wrapper--faq .faq-content-title-box {
  position: relative;
  cursor: pointer; }
  .wrapper--faq .faq-content-title-box__title {
    padding: 0 60px 0 30px;
    line-height: 1.8;
    letter-spacing: 1.3px;
    -webkit-user-select: none;
        -ms-user-select: none;
            user-select: none;
    pointer-events: none; }
  .wrapper--faq .faq-content-title-box--show .faq-content-title-box__toggle .toggle::after {
    -webkit-transform: translate(0, -50%) rotate(0);
            transform: translate(0, -50%) rotate(0); }
  .wrapper--faq .faq-content-title-box__toggle {
    position: absolute;
    top: 50%;
    right: 20px;
    -webkit-transform: translate(0, -50%);
            transform: translate(0, -50%); }
    .wrapper--faq .faq-content-title-box__toggle .toggle {
      position: relative;
      width: 16px;
      height: 16px; }
      .wrapper--faq .faq-content-title-box__toggle .toggle::before, .wrapper--faq .faq-content-title-box__toggle .toggle::after {
        position: absolute;
        top: 50%;
        left: 0;
        width: 100%;
        height: 1px;
        background: #00A2EA;
        content: ""; }
      .wrapper--faq .faq-content-title-box__toggle .toggle::before {
        -webkit-transform: translate(0, -50%);
                transform: translate(0, -50%); }
      .wrapper--faq .faq-content-title-box__toggle .toggle::after {
        transition-property: -webkit-transform;
        transition-property: transform;
        transition-property: transform, -webkit-transform;
        transition-duration: .5s;
        -webkit-transform: translate(0, -50%) rotate(90deg);
                transform: translate(0, -50%) rotate(90deg);
        transition-timing-function: ease-out; }

.wrapper--faq .faq-content-description-box {
  height: 0;
  overflow: hidden;
  transition: height, .5s;
  transition-timing-function: ease-out; }
  .wrapper--faq .faq-content-description-box__container {
    display: flex;
    padding: 17px 30px 24px; }
  .wrapper--faq .faq-content-description-box__description {
    line-height: 1.87;
    width: calc(100% - 60px);
    padding: 0 60px 0 30px;
    letter-spacing: 1.3px; }
    .wrapper--faq .faq-content-description-box__description span {
      display: block; }
      .wrapper--faq .faq-content-description-box__description span > a {
        position: relative;
        display: inline-block; }
        .wrapper--faq .faq-content-description-box__description span > a.ex:after {
          height: 9px;
          background-image: url("../img/common/external-icon.png"); }
        .wrapper--faq .faq-content-description-box__description span > a:after {
          position: relative;
          display: inline-block;
          top: 0;
          right: -6px;
          width: 11px;
          height: 11px;
          background-image: url("../img/common/arrow-link.png");
          background-size: cover;
          background-position: center;
          content: ""; }
    .wrapper--faq .faq-content-description-box__description a {
      color: #00A2EA; }

.wrapper--faq .bullet-point {
  position: relative;
  width: 60px;
  font-family: "Montserrat", sans-serif;
  font-size: 26px;
  font-weight: 500;
  -webkit-user-select: none;
      -ms-user-select: none;
          user-select: none;
  pointer-events: none; }
  .wrapper--faq .bullet-point--q {
    color: #00A2EA; }
  .wrapper--faq .bullet-point::after {
    position: absolute;
    top: 6px;
    right: 0;
    width: 1px;
    height: 18px;
    background-image: url("../img/common/separation-vertical.png");
    background-size: cover;
    background-position: center;
    content: ""; }

.wrapper--faq .application {
  padding: 0 0 100px; }
  .wrapper--faq .application__container {
    padding: 50px 0 0; }

.wrapper--faq .application-link,
.wrapper--faq .examination-link,
.wrapper--faq .internet-form-link {
  position: relative;
  color: #00A2EA;
  letter-spacing: 1.3px; }
  .wrapper--faq .application-link img,
  .wrapper--faq .examination-link img,
  .wrapper--faq .internet-form-link img {
    position: relative;
    top: -1px;
    left: 9px;
    width: 11px;
    height: auto; }

.wrapper--faq .examination {
  padding: 0 0 100px; }
  .wrapper--faq .examination__container {
    padding: 44px 0 0; }

.wrapper--faq .examination-description {
  margin: 0 0 25px;
  line-height: 1.8;
  letter-spacing: 1.3px; }

.wrapper--faq .examination-tel {
  display: flex;
  align-items: center;
  margin: 0 0 50px; }
  .wrapper--faq .examination-tel__link {
    font-size: 18px;
    letter-spacing: 1.4px; }
  .wrapper--faq .examination-tel img {
    width: 20px;
    height: auto;
    margin: 0 10px 0 0; }

.wrapper--faq .internet-form__container {
  padding: 50px 0 0; }

.wrapper--faq .internet-form-description {
  margin: 0 0 30px;
  letter-spacing: 1.3px; }

.wrapper--flow .container {
  padding: 0 0 187px; }

.wrapper--flow .page-title-box {
  padding: 200px 0 137px; }

.wrapper--flow .recruitment-flow {
  padding: 0 56px; }

.wrapper--flow .recruitment-flow-introduction {
  margin: 0 0 94px;
  line-height: 1.82;
  letter-spacing: 1.3px; }
  .wrapper--flow .recruitment-flow-introduction span {
    display: block;
    margin: 17px 0 0;
    font-size: 14px;
    letter-spacing: 1.1px; }

.wrapper--flow .recruitment-flow-content__title {
  margin: 0 0 50px;
  font-size: 30px;
  letter-spacing: 3px; }

.wrapper--flow .recruitment-flow-content__figure {
  margin: 0 0 28px; }
  .wrapper--flow .recruitment-flow-content__figure img {
    width: 1020px;
    height: auto; }

.wrapper--flow .recruitment-flow-content__notice {
  font-size: 14px;
  letter-spacing: 1.1px; }

.wrapper--news .container {
  padding: 0 0 186px; }

.wrapper--news .news {
  padding: 200px 56px 0; }
  .wrapper--news .news__title {
    margin: 0 0 100px;
    color: #00A2EA;
    font-size: 60px;
    letter-spacing: 11px; }

.wrapper--news .news-box {
  position: relative; }
  .wrapper--news .news-box:not(:first-child) .news-box__content-container {
    margin: -1px 0 0; }
  .wrapper--news .news-box__title {
    position: absolute;
    top: 21px;
    left: 20px;
    font-weight: bold;
    letter-spacing: 3px; }
  .wrapper--news .news-box__content-container {
    padding: 0 0 0 168px;
    border-top: 1px solid black;
    border-bottom: 1px solid black; }

.wrapper--news .news-content {
  position: relative;
  display: flex;
  align-items: center;
  padding: 14px 120px 14px 23px; }
  .wrapper--news .news-content:not(:last-child) {
    border-bottom: 1px solid #C7C7C7; }
  .wrapper--news .news-content__date {
    margin: 0 62px 0 0;
    font-size: 14px;
    opacity: 0.6;
    letter-spacing: 1px; }
  .wrapper--news .news-content__title {
    line-height: 1.8;
    letter-spacing: 1.6px; }
  .wrapper--news .news-content__link {
    position: absolute;
    top: 50%;
    right: 20px;
    font-size: 14px;
    color: #00A2EA;
    -webkit-transform: translate(0, -50%);
            transform: translate(0, -50%);
    letter-spacing: 1px; }

.wrapper--news .news-article {
  padding: 188px 56px 0; }

.wrapper--news .news-article-title-box {
  margin: 0 0 84px; }
  .wrapper--news .news-article-title-box__title {
    margin: 0 0 18px;
    font-size: 40px;
    line-height: 1.6;
    letter-spacing: 4px; }
  .wrapper--news .news-article-title-box__date {
    opacity: 0.6;
    letter-spacing: 1.2px; }

.wrapper--news .news-article-content h2 {
  margin: 0 0 36px;
  font-size: 30px;
  letter-spacing: 3px;
  line-height: 1.6; }

.wrapper--news .news-article-content h3 {
  margin: 0 0 27px;
  font-size: 20px;
  letter-spacing: 3.6px; }

.wrapper--news .news-article-content p {
  line-height: 1.8;
  letter-spacing: 1.3px; }
  .wrapper--news .news-article-content p:not(:last-child) {
    margin: 0 0 46px; }
  .wrapper--news .news-article-content p ol:not(:last-child) {
    margin: -30px 0 46px; }
  .wrapper--news .news-article-content p + table {
    margin: -30px 0 40px; }

.wrapper--news .news-article-content .wp-caption {
  margin: 0 0 55px; }

.wrapper--news .news-article-content img {
  display: block;
  width: 616px;
  height: auto;
  margin: 55px auto 25px; }
  .wrapper--news .news-article-content img + .wp-caption-text {
    display: block;
    width: 616px;
    margin: auto;
    font-size: 14px;
    line-height: 1.8; }

.wrapper--news .news-article-content ol {
  list-style: decimal; }

.wrapper--news .news-article-content ul {
  list-style: disc; }

.wrapper--news .news-article-content ol, .wrapper--news .news-article-content ul {
  padding: 0 21px; }
  .wrapper--news .news-article-content ol:not(:last-child), .wrapper--news .news-article-content ul:not(:last-child) {
    margin: 0 0 46px; }
  .wrapper--news .news-article-content ol li, .wrapper--news .news-article-content ul li {
    line-height: 1.8;
    letter-spacing: 1.3px; }

.wrapper--news .news-article-content a {
  color: #00A2EA; }

.wrapper--news .news-article-content table {
  border-collapse: collapse;
  border: 1px solid #C7C7C7;
  width: 100%;
  margin: 0 0 40px; }
  .wrapper--news .news-article-content table + p:not(:last-child) {
    margin: -25px 0 46px; }
  .wrapper--news .news-article-content table thead {
    border-bottom: 1px solid #C7C7C7; }
  .wrapper--news .news-article-content table tr:first-child td {
    padding: 16px 32px;
    background: #F1F1F1;
    line-height: 1.6;
    text-align: center;
    word-break: break-all; }
    .wrapper--news .news-article-content table tr:first-child td:not(:last-child) {
      border-right: 1px solid #C7C7C7; }
  .wrapper--news .news-article-content table tr:not(:last-child) {
    border-bottom: 1px solid #C7C7C7; }
  .wrapper--news .news-article-content table th {
    padding: 16px 32px;
    background: #F1F1F1;
    line-height: 1.6; }
    .wrapper--news .news-article-content table th:not(:last-child) {
      border-right: 1px solid #C7C7C7; }
  .wrapper--news .news-article-content table td {
    padding: 33px 32px;
    line-height: 1.6;
    letter-spacing: 1.2px; }
    .wrapper--news .news-article-content table td:not(:first-child) {
      border-left: 1px solid #C7C7C7; }

.wrapper--entry-info .container {
  padding: 0 0 177px; }

.wrapper--entry-info .entry-info {
  padding: 200px 56px 0; }
  .wrapper--entry-info .entry-info__title {
    margin: 0 0 100px;
    color: #00A2EA;
    font-size: 60px;
    letter-spacing: 11px; }
  .wrapper--entry-info .entry-info .common-title {
    padding: 0 0 30px;
    border-bottom: 1px solid black; }
    .wrapper--entry-info .entry-info .common-title__text {
      font-size: 40px;
      letter-spacing: 4px; }

.wrapper--entry-info .entry-info-common-links {
  padding: 0 0 70px; }
  .wrapper--entry-info .entry-info-common-links__content-container {
    display: flex;
    padding: 50px 0 0;
    flex-wrap: wrap; }

.wrapper--entry-info .entry-info-common-link {
  position: relative;
  display: block;
  width: calc((100% - 56px) / 2);
  height: 56px;
  text-align: center;
  background: #00A2EA;
  border: 1px solid #00A2EA;
  transition: background, .3s;
  transition-timing-function: ease-out; }
  .wrapper--entry-info .entry-info-common-link:hover {
    background: white; }
    .wrapper--entry-info .entry-info-common-link:hover p {
      color: #00A2EA; }
  .wrapper--entry-info .entry-info-common-link--pdf::before {
    right: 20px;
    width: 12px;
    height: 16px;
    background-image: url("../img/common/pdf-icon-w.png"); }
  .wrapper--entry-info .entry-info-common-link--pdf:hover::before {
    background-image: url("../img/common/pdf-icon.png"); }
  .wrapper--entry-info .entry-info-common-link--external::before {
    right: 20px;
    width: 14px;
    height: 11px;
    background-image: url("../img/common/external-icon-w.png"); }
  .wrapper--entry-info .entry-info-common-link--external:hover::before {
    background-image: url("../img/common/external-icon.png"); }
  .wrapper--entry-info .entry-info-common-link:not(:nth-child(2n)) {
    margin: 0 56px 30px 0; }
  .wrapper--entry-info .entry-info-common-link::before {
    position: absolute;
    top: 50%;
    background-position: center;
    background-size: cover;
    -webkit-transform: translate(0, -50%);
            transform: translate(0, -50%);
    content: ""; }
  .wrapper--entry-info .entry-info-common-link p {
    font-size: 16px;
    letter-spacing: 1.7px;
    position: absolute;
    top: 50%;
    left: 50%;
    color: white;
    margin: 0 0 0 -20px;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    line-height: 1.36;
    transition: color, .3s;
    transition-timing-function: ease-out; }

.wrapper--entry-info .receive-directly {
  margin: 0 0 68px; }
  .wrapper--entry-info .receive-directly__content-container {
    display: flex;
    flex-wrap: wrap; }
  .wrapper--entry-info .receive-directly .common-title {
    margin: 0 0 49px; }

.wrapper--entry-info .receive-directly-content {
  width: calc((100% - 56px) / 2);
  margin: 0 0 30px;
  padding: 30px;
  border: 1px solid #C7C7C7; }
  .wrapper--entry-info .receive-directly-content:not(:nth-child(2n)) {
    margin: 0 56px 30px 0; }
  .wrapper--entry-info .receive-directly-content__title {
    margin: 0 0 23px;
    font-size: 30px;
    letter-spacing: 3px; }
  .wrapper--entry-info .receive-directly-content__address {
    display: block;
    margin: 0 0 14px;
    padding: 0 0 0 35px;
    position: relative;
    color: #00A2EA;
    letter-spacing: 1.3px;
    line-height: 1.8; }
    .wrapper--entry-info .receive-directly-content__address:hover::after {
      -webkit-transform: translate(7px, 0);
              transform: translate(7px, 0); }
    .wrapper--entry-info .receive-directly-content__address img {
      position: absolute;
      top: 6px;
      left: 1px;
      width: 12px;
      height: auto; }
    .wrapper--entry-info .receive-directly-content__address::after {
      position: relative;
      display: inline-block;
      margin: 0 0 0 5px;
      width: 10px;
      height: 10px;
      background-image: url("../img/common/arrow-link.png");
      background-size: cover;
      background-position: center;
      transition-property: -webkit-transform;
      transition-property: transform;
      transition-property: transform, -webkit-transform;
      transition-timing-function: ease-out;
      transition-duration: .3s;
      content: ""; }
  .wrapper--entry-info .receive-directly-content__tel {
    display: block;
    position: relative;
    padding: 0 0 0 36px;
    letter-spacing: 1.2px; }
    .wrapper--entry-info .receive-directly-content__tel--2 {
      margin: 13px 0 0; }
    .wrapper--entry-info .receive-directly-content__tel img {
      position: absolute;
      top: 0;
      left: -1px;
      width: 16px;
      height: auto; }
  .wrapper--entry-info .receive-directly-content__description {
    margin: -12px 0 10px;
    letter-spacing: 1.3px;
    line-height: 1.8; }
  .wrapper--entry-info .receive-directly-content__notice {
    margin: 15px 0 0;
    font-size: 12px;
    line-height: 1.6; }

.wrapper--entry-info .request-mail__container {
  display: flex; }

.wrapper--entry-info .request-mail .common-title {
  margin: 0 0 43px; }

.wrapper--entry-info .request-mail-text-box {
  flex: 1;
  padding: 0 35px 0 0; }
  .wrapper--entry-info .request-mail-text-box__description {
    line-height: 1.8;
    letter-spacing: 1.3px; }
    .wrapper--entry-info .request-mail-text-box__description:not(:last-child) {
      margin: 0 0 19px; }

.wrapper--entry-info .request-mail-picture-box__picture-figure {
  padding: 8px 16px; }
  .wrapper--entry-info .request-mail-picture-box__picture-figure img {
    width: 488px;
    height: auto; }

.wrapper--treatment .container {
  padding: 0 0 104px; }
  .wrapper--treatment .container .anchors {
    display: flex;
    flex-wrap: wrap;
    padding: 0 56px; }
    .wrapper--treatment .container .anchors .anchor-link {
      width: calc((100% - 112px) / 3);
      margin: 0 0 40px; }
      .wrapper--treatment .container .anchors .anchor-link:not(:nth-child(3n)) {
        margin: 0 56px 40px 0; }
  .wrapper--treatment .container main .treatment {
    padding: 84px 56px 0;
    line-height: 1.8; }
    .wrapper--treatment .container main .treatment .treatment-section {
      margin-bottom: 78px; }
      .wrapper--treatment .container main .treatment .treatment-section__notice {
        line-height: 1.85;
        letter-spacing: 1.3px; }
      .wrapper--treatment .container main .treatment .treatment-section .common-title__text {
        padding: 0 0 14px;
        font-size: 40px;
        letter-spacing: 4px;
        border-bottom: 1px solid black; }
      .wrapper--treatment .container main .treatment .treatment-section .treatment-section-items .treatment-section-item {
        margin-top: 62px; }
        .wrapper--treatment .container main .treatment .treatment-section .treatment-section-items .treatment-section-item:first-child {
          margin-top: 38px; }
        .wrapper--treatment .container main .treatment .treatment-section .treatment-section-items .treatment-section-item.welfare:first-child {
          margin-top: 68px; }
        .wrapper--treatment .container main .treatment .treatment-section .treatment-section-items .treatment-section-item.welfare .treatment-sub-title {
          margin-bottom: 12px; }
        .wrapper--treatment .container main .treatment .treatment-section .treatment-section-items .treatment-section-item .treatment-sub-title {
          font-size: 30px;
          margin-bottom: 18px;
          letter-spacing: 3px; }
          .wrapper--treatment .container main .treatment .treatment-section .treatment-section-items .treatment-section-item .treatment-sub-title.working-hours {
            margin-bottom: 12px; }
          .wrapper--treatment .container main .treatment .treatment-section .treatment-section-items .treatment-section-item .treatment-sub-title span {
            font-size: 19px;
            letter-spacing: 2.4px; }
        .wrapper--treatment .container main .treatment .treatment-section .treatment-section-items .treatment-section-item .section-description {
          letter-spacing: 1.2px; }
        .wrapper--treatment .container main .treatment .treatment-section .treatment-section-items .treatment-section-item table {
          width: 100%;
          margin-bottom: 25px;
          letter-spacing: 1px;
          vertical-align: middle; }
          .wrapper--treatment .container main .treatment .treatment-section .treatment-section-items .treatment-section-item table thead th, .wrapper--treatment .container main .treatment .treatment-section .treatment-section-items .treatment-section-item table thead td, .wrapper--treatment .container main .treatment .treatment-section .treatment-section-items .treatment-section-item table tbody th, .wrapper--treatment .container main .treatment .treatment-section .treatment-section-items .treatment-section-item table tbody td {
            vertical-align: middle;
            border: 1px solid #C7C7C7; }
          .wrapper--treatment .container main .treatment .treatment-section .treatment-section-items .treatment-section-item table thead {
            background: #F1F1F1; }
            .wrapper--treatment .container main .treatment .treatment-section .treatment-section-items .treatment-section-item table thead th {
              padding: 15px;
              white-space: nowrap; }
              .wrapper--treatment .container main .treatment .treatment-section .treatment-section-items .treatment-section-item table thead th:nth-child(1) {
                width: 279px; }
          .wrapper--treatment .container main .treatment .treatment-section .treatment-section-items .treatment-section-item table tbody td {
            padding: 31px; }
        .wrapper--treatment .container main .treatment .treatment-section .treatment-section-items .treatment-section-item table.salary-table thead th:nth-child(2) {
          width: 617px; }
        .wrapper--treatment .container main .treatment .treatment-section .treatment-section-items .treatment-section-item table.compensation-table thead th:nth-child(2) {
          width: 617px; }
        .wrapper--treatment .container main .treatment .treatment-section .treatment-section-items .treatment-section-item table.compensation-table tbody td {
          height: 91px;
          padding: 0 31px; }
        .wrapper--treatment .container main .treatment .treatment-section .treatment-section-items .treatment-section-item table.vacation-table {
          margin-top: 25px; }
        .wrapper--treatment .container main .treatment .treatment-section .treatment-section-items .treatment-section-item .sub-info {
          font-size: 14px;
          margin-bottom: 40px;
          letter-spacing: 1.1px; }
        .wrapper--treatment .container main .treatment .treatment-section .treatment-section-items .treatment-section-item .reference {
          margin-bottom: 20px;
          letter-spacing: 1px; }
          .wrapper--treatment .container main .treatment .treatment-section .treatment-section-items .treatment-section-item .reference .reference-title {
            font-weight: bold;
            white-space: pre-wrap;
            letter-spacing: 1.2px; }
        .wrapper--treatment .container main .treatment .treatment-section .treatment-section-items .treatment-section-item .salary-reference {
          letter-spacing: 1.3px; }
          .wrapper--treatment .container main .treatment .treatment-section .treatment-section-items .treatment-section-item .salary-reference .reference-link-container {
            margin-top: 9px; }
            .wrapper--treatment .container main .treatment .treatment-section .treatment-section-items .treatment-section-item .salary-reference .reference-link-container:nth-of-type(1) {
              margin-top: 15px; }
            .wrapper--treatment .container main .treatment .treatment-section .treatment-section-items .treatment-section-item .salary-reference .reference-link-container .reference-link {
              position: relative;
              color: #00A2EA;
              letter-spacing: 1.3px; }
              .wrapper--treatment .container main .treatment .treatment-section .treatment-section-items .treatment-section-item .salary-reference .reference-link-container .reference-link img {
                position: relative;
                top: -1px;
                left: 9px;
                width: 11px;
                height: auto; }
        .wrapper--treatment .container main .treatment .treatment-section .treatment-section-items .treatment-section-item .notion {
          font-size: 14px;
          letter-spacing: 1.1px; }

.wrapper--data .anchors {
  display: flex;
  padding: 0 56px; }

.wrapper--data .anchor-link {
  width: calc((100% - 168px) / 4);
  margin: 0 0 40px; }
  .wrapper--data .anchor-link:not(:nth-child(4n)) {
    margin: 0 56px 40px 0; }

.wrapper--data .common-title__text {
  padding: 0 0 30px;
  font-size: 40px;
  letter-spacing: 4px;
  border-bottom: 1px solid black; }

.wrapper--data .data {
  padding: 60px 56px 0; }

.wrapper--data .data__container:not(:last-child) {
  padding: 0 0 48px; }

.wrapper--data .data__content-container {
  display: flex;
  flex-wrap: wrap;
  padding: 50px 0; }

.wrapper--data .data-content__picture {
  height: auto; }
  .wrapper--data .data-content__picture--1-1 {
    margin: 0 56px 108px 0;
    width: 392px; }
  .wrapper--data .data-content__picture--1-2 {
    margin: 0 56px 0 0;
    width: 392px; }
  .wrapper--data .data-content__picture--1-3 {
    width: 382px; }
  .wrapper--data .data-content__picture--1-4 {
    width: 389px; }
  .wrapper--data .data-content__picture--2-1 {
    width: 392px;
    margin: 0 56px 0 0; }
  .wrapper--data .data-content__picture--2-2 {
    width: 390px;
    margin: 0 58px 0 0; }
  .wrapper--data .data-content__picture--2-3 {
    width: 392px; }
  .wrapper--data .data-content__picture--3-1 {
    width: 351px;
    margin: 0 97px 0 0; }
  .wrapper--data .data-content__picture--3-2 {
    width: 264px;
    margin: 0 30px 0 0; }
  .wrapper--data .data-content__picture--3-3 {
    width: 249px; }

.wrapper--data .data-sugata {
  width: 392px;
  margin: 0 56px 108px 0;
  padding: 28px 32px;
  border: 1px solid #00A2EA; }
  .wrapper--data .data-sugata__title {
    margin: 0 0 20px;
    padding: 0 0 12px;
    font-size: 22px;
    font-weight: bold;
    letter-spacing: 2px;
    color: #00A2EA;
    border-bottom: 2px dotted #00A2EA; }
  .wrapper--data .data-sugata__item:not(:last-child) {
    margin: 0 0 18px; }
  .wrapper--data .data-sugata__label {
    font-size: 15px;
    font-weight: bold;
    letter-spacing: 1px; }
  .wrapper--data .data-sugata__value {
    font-size: 15px;
    line-height: 1.4;
    letter-spacing: 1px; }
  .wrapper--data .data-sugata__number {
    margin: 0 4px 0 0;
    font-size: 30px;
    font-weight: bold;
    letter-spacing: 1px;
    color: #00A2EA; }
  .wrapper--data .data-sugata__date {
    font-size: 12px;
    letter-spacing: 0; }
  .wrapper--data .data-sugata__source {
    margin: 2px 0 0;
    font-size: 11px;
    letter-spacing: 0;
    color: #666; }

.wrapper--data .data-pride {
  padding: 49px 56px 137px; }
  .wrapper--data .data-pride__container {
    padding: 50px 0 30px; }
    .wrapper--data .data-pride__container--1 .data-pride__content-container {
      align-items: flex-end; }
    .wrapper--data .data-pride__container--2 .data-pride__content-container {
      align-items: flex-start; }
  .wrapper--data .data-pride__content-container {
    display: grid;
    gap: 80px 70px;
    grid-template-columns: repeat(4, minmax(0, 1fr));

    @media screen and (max-width: 768px) {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 40px 30px;
    }

    .data-pride-content--col-span-2 { 
      grid-column: span 2 / span 4;
    }
   }
  .wrapper--data .data-pride__link {
    padding: 46px 0 0;
    text-align: center; }

.wrapper--data .data-pride-title {
  margin: 0 0 50px;
  font-size: 30px;
  letter-spacing: 3px; }

.wrapper--data .data-pride-content__picture {
  width: auto;
  height: 193px; 

  @media screen and (max-width: 768px) {
    width: 100%;
    height: auto; 
  }
}

.wrapper--data .common-link {
  position: relative;
  display: block;
  width: 616px;
  margin: auto;
  font-size: 16px;
  letter-spacing: 2px;
  text-align: center;
  transition-property: background, color;
  transition-timing-function: ease-out;
  transition-duration: .3s;
  border: 1px solid #00A2EA;
  background: #00A2EA;
  padding: 26px 0;
  color: white; }
  .wrapper--data .common-link::before {
    position: absolute;
    top: 50%;
    right: 30px;
    width: 12px;
    height: 16px;
    background-position: center;
    background-size: cover;
    -webkit-transform: translate(0, -50%);
            transform: translate(0, -50%);
    background-image: url("../img/common/pdf-icon-w.png");
    content: ""; }
  .wrapper--data .common-link:hover {
    background: white;
    color: #00A2EA; }
    .wrapper--data .common-link:hover::before {
      background-image: url("../img/common/pdf-icon.png"); }

.wrapper--contact .wpcf7 form.invalid .wpcf7-response-output,
.wrapper--contact .wpcf7 form.unaccepted .wpcf7-response-output,
.wrapper--contact .wpcf7-response-output {
  display: none !important; }

.wrapper--contact .wpcf7-form-control-wrap {
  position: initial; }

.wrapper--contact .wpcf7-not-valid-tip {
  display: none; }

.wrapper--contact input,
.wrapper--contact button,
.wrapper--contact select,
.wrapper--contact textarea {
  -webkit-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
  line-height: 1; }

.wrapper--contact input:checked + label::after {
  opacity: 1; }

.wrapper--contact .container {
  padding: 0 0 188px; }

.wrapper--contact .contact {
  padding: 200px 56px 0; }
  .wrapper--contact .contact__title {
    margin: 0 0 100px;
    font-size: 60px;
    color: #00A2EA;
    letter-spacing: 11px; }

.wrapper--contact .contact-introduction {
  margin: 0 0 149px; }
  .wrapper--contact .contact-introduction__description {
    margin: 0 0 50px;
    letter-spacing: 1.6px; }
  .wrapper--contact .contact-introduction__link {
    width: 616px; }

.wrapper--contact .form__content-container {
  margin: 0 0 82px; }

.wrapper--contact .form span[class="alert"] {
  display: none !important; }

.wrapper--contact .form-content {
  display: flex;
  align-items: center; }
  .wrapper--contact .form-content:not(:last-child) {
    margin: 0 0 50px; }
  .wrapper--contact .form-content__label-box {
    width: 225px; }
    .wrapper--contact .form-content__label-box label {
      display: flex;
      align-items: center;
      letter-spacing: 1.9px; }
      .wrapper--contact .form-content__label-box label .required {
        margin: 0 0 0 11px;
        font-size: 12px;
        color: #F43E3E; }
  .wrapper--contact .form-content__input-box {
    flex: 1; }
    .wrapper--contact .form-content__input-box input,
    .wrapper--contact .form-content__input-box textarea {
      width: 100%;
      background: #F1F1F1;
      line-height: 1.6; }
      .wrapper--contact .form-content__input-box input::-webkit-input-placeholder,
      .wrapper--contact .form-content__input-box textarea::-webkit-input-placeholder {
        color: #aaa; }
      .wrapper--contact .form-content__input-box input::placeholder,
      .wrapper--contact .form-content__input-box textarea::placeholder {
        color: #aaa; }
    .wrapper--contact .form-content__input-box input {
      padding: 16px 15px 14px; }
    .wrapper--contact .form-content__input-box textarea {
      min-height: 160px;
      padding: 16px 15px; }
    .wrapper--contact .form-content__input-box .notice {
      padding: 10px 0 0;
      font-size: 14px;
      letter-spacing: 1px; }
  .wrapper--contact .form-content--tel label {
    margin: -20px 0 0; }

.wrapper--contact .form-content-select {
  position: relative;
  width: 504px; }
  .wrapper--contact .form-content-select::before {
    position: absolute;
    top: 50%;
    right: 15px;
    width: 18px;
    height: 18px;
    margin-top: -4px;
    background-position: center;
    background-size: cover;
    background-image: url("../img/common/select-icon.png");
    -webkit-transform: translate(0, -50%);
            transform: translate(0, -50%);
    content: ""; }
  .wrapper--contact .form-content-select select {
    width: 100%;
    padding: 20px 15px;
    background: #F1F1F1;
    cursor: pointer; }

.wrapper--contact .form-submit-box {
  text-align: center; }
  .wrapper--contact .form-submit-box__privacy {
    margin: 0 0 60px;
    font-size: 14px;
    letter-spacing: 1px; }
    .wrapper--contact .form-submit-box__privacy a {
      padding: 0 0 2px;
      color: #00A2EA;
      border-bottom: 1px solid #00A2EA; }

.wrapper--contact .form-submit-box-checkbox {
  position: relative;
  display: inline-block;
  margin: 0 0 88px; }
  .wrapper--contact .form-submit-box-checkbox input {
    position: absolute;
    top: 0;
    left: 0;
    visibility: hidden; }
  .wrapper--contact .form-submit-box-checkbox label {
    padding: 0 0 0 47px;
    letter-spacing: 1px;
    cursor: pointer; }
    .wrapper--contact .form-submit-box-checkbox label::before, .wrapper--contact .form-submit-box-checkbox label::after {
      display: inline-block;
      position: absolute;
      top: 50%;
      -webkit-transform: translate(0, -50%);
              transform: translate(0, -50%);
      content: ""; }
    .wrapper--contact .form-submit-box-checkbox label::before {
      left: 0;
      width: 30px;
      height: 30px;
      background: #F1F1F1; }
    .wrapper--contact .form-submit-box-checkbox label::after {
      left: 6px;
      width: 17px;
      height: 13px;
      background-image: url("../img/common/check-icon.png");
      background-repeat: no-repeat;
      background-size: cover;
      background-position: 50% 50%;
      opacity: 0;
      transition: opacity .3s;
      transition-timing-function: ease-out; }

.wrapper--contact .form-submit-box-button-box {
  text-align: center;
  position: relative;
  width: 616px;
  margin: auto; }
  .wrapper--contact .form-submit-box-button-box:hover .form-submit-box-button-box__button:not(:disabled) {
    background: white;
    color: #00A2EA; }
    .wrapper--contact .form-submit-box-button-box:hover .form-submit-box-button-box__button:not(:disabled) + span {
      right: 23px;
      background-image: url("../img/common/arrow-right.png"); }
  .wrapper--contact .form-submit-box-button-box .arrow {
    position: absolute;
    top: 50%;
    right: 30px;
    width: 42px;
    height: 18px;
    background-position: center;
    background-size: cover;
    -webkit-transform: translate(0, -50%);
            transform: translate(0, -50%);
    transition: right, .3s;
    transition-timing-function: ease-out;
    background-image: url("../img/common/arrow-right-w.png");
    content: ""; }
  .wrapper--contact .form-submit-box-button-box__button {
    display: block;
    width: 100%;
    font-size: 16px;
    letter-spacing: 2px;
    text-align: center;
    transition-property: background, color;
    transition-duration: .3s;
    transition-timing-function: ease-out;
    border: 1px solid #00A2EA;
    background: #00A2EA;
    padding: 26px 0;
    color: white;
    cursor: pointer; }
    .wrapper--contact .form-submit-box-button-box__button:disabled {
      background: #C7C7C7;
      pointer-events: none;
      border: 1px solid #C7C7C7; }

.wrapper--personality .container {
  padding: 0 0 215px; }

.wrapper--personality .personality {
  padding: 0 56px; }
  .wrapper--personality .personality__container {
    position: relative; }

.wrapper--personality .personality-image {
  position: absolute;
  top: -50px;
  right: 0; }
  .wrapper--personality .personality-image__picture-figure img {
    width: 672px;
    height: auto; }

.wrapper--personality .personality-content {
  position: relative;
  padding: 0 0 0 57px; }
  .wrapper--personality .personality-content:not(:last-child) {
    margin: 0 0 46px; }
  .wrapper--personality .personality-content__number {
    position: absolute;
    top: -8px;
    left: 0;
    font-family: YuMincho, "Yu Mincho", serif;
    font-size: 50px;
    color: #00A2EA; }
  .wrapper--personality .personality-content__title {
    margin: 0 0 14px;
    font-size: 40px;
    color: #00A2EA;
    letter-spacing: 4px; }
  .wrapper--personality .personality-content__description {
    line-height: 1.8;
    letter-spacing: 1.3px; }

.wrapper--link .container {
  padding: 0 0 89px; }

.wrapper--link .link {
  padding: 28px 0 0; }
  .wrapper--link .link__content-container {
    display: flex;
    flex-wrap: wrap;
    padding: 0 56px; }

.wrapper--link .link-content {
  width: calc((100% - 168px) / 4); }
  .wrapper--link .link-content:not(:nth-child(4n)) {
    margin: 0 56px 49px 0; }
  .wrapper--link .link-content__title {
    margin: 0 0 19px;
    letter-spacing: 1.4px; }
  .wrapper--link .link-content__link {
    display: block;
    border: 1px solid #C7C7C7;
    transition: opacity, .3s;
    transition-timing-function: ease-out; }
    .wrapper--link .link-content__link:hover {
      opacity: 0.7; }
  .wrapper--link .link-content__picture {
    height: 140px;
    background-size: cover;
    background-position: center; }

.wrapper--top-message .container {
  padding: 100px 0 187px; }

.wrapper--top-message .top-message {
  position: relative;
  padding: 0 0 0 280px; }
  .wrapper--top-message .top-message__title {
    position: absolute;
    top: 80px;
    left: 56px;
    font-size: 40px;
    letter-spacing: 4px; }
  .wrapper--top-message .top-message__thumbnail {
    height: 747px;
    margin: 0 0 86px;
    background-size: cover;
    background-position: center; }

.wrapper--top-message .top-message-copy {
  position: absolute;
  top: 270px;
  left: 56px; }
  .wrapper--top-message .top-message-copy img {
    width: 259px;
    height: auto; }

.wrapper--top-message .top-message-content {
  margin: 0 0 66px;
  padding: 0 56px 0 0; }
  .wrapper--top-message .top-message-content__description {
    font-size: 20px;
    line-height: 2.4;
    letter-spacing: 2px;
    text-align: justify; }
    .wrapper--top-message .top-message-content__description:not(:last-child) {
      margin: 0 0 32px; }

.wrapper--top-message .name-box {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: 0 56px 0 0; }
  .wrapper--top-message .name-box__title {
    margin: 13px 37px 0 0;
    letter-spacing: 2px;
    font-size: 20px; }
  .wrapper--top-message .name-box__name img {
    width: 317px;
    height: auto; }

.wrapper--concept .container {
  padding: 211px 0 173px; }

.wrapper--concept .concept__container {
  margin: 0 0 134px; }

.wrapper--concept .concept-title-box {
  margin: 0 0 93px;
  padding: 0 280px; }
  .wrapper--concept .concept-title-box__copy {
    margin: 0 0 89px;
    padding: 0 20px 0 0; }
    .wrapper--concept .concept-title-box__copy img {
      display: block;
      width: 392px;
      height: auto;
      margin: 0 0 0 auto; }

.wrapper--concept .concept-title-deco {
  position: relative;
  text-align: center; }
  .wrapper--concept .concept-title-deco__main {
    width: 728px;
    height: auto; }

.wrapper--concept .concept-title-deco-line span {
  position: absolute;
  top: 50%;
  left: 28px;
  margin-top: 4px;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  display: inline-block;
  width: 0;
  height: 60px; }
  .wrapper--concept .concept-title-deco-line span:nth-child(1) {
    background: white;
    opacity: 0.8; }
  .wrapper--concept .concept-title-deco-line span:nth-child(2) {
    background: #00A2EA;
    mix-blend-mode: multiply; }

.wrapper--concept .concept-content {
  padding: 0 223px; }
  .wrapper--concept .concept-content__description {
    font-size: 24px;
    line-height: 2.33;
    letter-spacing: 2.4px; }
    .wrapper--concept .concept-content__description:not(:last-child) {
      margin: 0 0 21px; }

.wrapper--staffs-article .staffs-kv {
  position: relative;
  margin: 0 0 139px;
  padding: 130px 0 0 56px; }
  .wrapper--staffs-article .staffs-kv__container {
    position: relative;
    display: flex;
    background: #00A2EA; }

.wrapper--staffs-article .staffs-kv-name-box {
  width: 560px;
  padding: 80px 56px; }
  .wrapper--staffs-article .staffs-kv-name-box__job, .wrapper--staffs-article .staffs-kv-name-box__name, .wrapper--staffs-article .staffs-kv-name-box__year, .wrapper--staffs-article .staffs-kv-name-box__department {
    color: white; }
  .wrapper--staffs-article .staffs-kv-name-box__job {
    margin: 0 0 16px;
    font-size: 14px;
    letter-spacing: 1.3px; }
  .wrapper--staffs-article .staffs-kv-name-box__name {
    margin: 0 0 16px;
    font-size: 30px;
    letter-spacing: 5.2px; }
  .wrapper--staffs-article .staffs-kv-name-box__year {
    margin: 0 0 30px;
    font-size: 14px;
    line-height: 1.5;
    letter-spacing: 1.3px; }
  .wrapper--staffs-article .staffs-kv-name-box__department {
    display: inline-block;
    padding: 2px 19px;
    border: 1px solid white;
    line-height: 1;
    letter-spacing: 1.4px;
    word-break: keep-all;
    white-space: nowrap; }

.wrapper--staffs-article .staffs-kv-title {
  position: absolute;
  bottom: -2px;
  left: 0; }
  .wrapper--staffs-article .staffs-kv-title__container {
    position: relative; }
  .wrapper--staffs-article .staffs-kv-title__handwritten {
    position: absolute;
    top: -99px;
    left: 50%;
    margin-left: 33px;
    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0); }
    .wrapper--staffs-article .staffs-kv-title__handwritten img {
      width: 270px;
      height: auto; }
  .wrapper--staffs-article .staffs-kv-title__figure img {
    width: 727px;
    height: auto; }

.wrapper--staffs-article .staffs-kv-thumbnail {
  width: 616px;
  height: 462px;
  background-size: cover;
  background-position: center; }

.wrapper--staffs-article .staffs-title-container {
  max-width: 1064px;
  margin: 0 auto 149px; }
  .wrapper--staffs-article .staffs-title-container__title {
    margin: 0 0 32px;
    color: #00A2EA;
    line-height: 1.6;
    font-size: 40px;
    text-align: center;
    letter-spacing: 3px; }
  .wrapper--staffs-article .staffs-title-container__description {
    font-size: 14px;
    line-height: 1.8;
    letter-spacing: 1.15px; }

.wrapper--staffs-article .career {
  margin: 0 0 150px; }
  .wrapper--staffs-article .career__container {
    position: relative;
    margin: 0 0 20px;
    padding: 74px 167px;
    background-position: center;
    background-repeat: repeat;
    background-image: url("../img/common/bg-stripe.png");
    background-size: 1400px 391px; }
  .wrapper--staffs-article .career__notice {
    padding: 0 56px;
    text-align: right;
    font-size: 12px;
    line-height: 1.5; }

.wrapper--staffs-article .career-title {
  position: absolute;
  top: -30px;
  right: 56px;
  letter-spacing: 6px;
  font-size: 60px;
  font-family: YuMincho, "Yu Mincho", serif;
  color: #00A2EA; }

.wrapper--staffs-article .career-content {
  position: relative;
  display: flex; }
  .wrapper--staffs-article .career-content:last-child .circle-box__deco {
    -webkit-animation: dot-animation 3s ease-out 0s infinite;
            animation: dot-animation 3s ease-out 0s infinite; }
  .wrapper--staffs-article .career-content:last-child .circle-box__line {
    opacity: 0; }
  .wrapper--staffs-article .career-content:not(:last-child) {
    padding: 0 0 38px; }
  .wrapper--staffs-article .career-content__year, .wrapper--staffs-article .career-content__title {
    line-height: 1.8;
    height: 100%; }
  .wrapper--staffs-article .career-content__year {
    position: relative;
    width: 150px;
    color: #00A2EA;
    letter-spacing: 1px; }
  .wrapper--staffs-article .career-content__title {
    flex: 1;
    letter-spacing: 1.6px; }

@-webkit-keyframes dot-animation {
  0% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1); }
  to {
    -webkit-transform: scale(3);
            transform: scale(3); } }

@keyframes dot-animation {
  0% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1); }
  to {
    -webkit-transform: scale(3);
            transform: scale(3); } }

.wrapper--staffs-article .circle-box {
  display: inline-block;
  position: absolute;
  top: 7px;
  left: 96px;
  height: 100%; }
  .wrapper--staffs-article .circle-box__container {
    display: inline-block;
    position: relative;
    height: 100%; }
  .wrapper--staffs-article .circle-box__deco {
    position: absolute;
    top: 1px;
    left: 0;
    -webkit-transform-origin: center;
            transform-origin: center;
    width: 13px;
    height: 13px;
    border-radius: 50%;
    background: #00A2EA;
    opacity: 0; }
  .wrapper--staffs-article .circle-box__circle {
    position: relative;
    display: inline-block;
    width: 13px;
    height: 13px;
    background: white;
    border: 1px solid #00A2EA;
    border-radius: 50%; }
  .wrapper--staffs-article .circle-box__line {
    position: absolute;
    top: 7px;
    left: 50%;
    width: 1px;
    height: 100%;
    background: #00A2EA;
    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0); }

.wrapper--staffs-article .article__container {
  margin: 0 0 150px; }

.wrapper--staffs-article .article-content {
  display: flex; }
  .wrapper--staffs-article .article-content__text-box {
    flex: 1;
    margin: -11px 0 0; }
  .wrapper--staffs-article .article-content__picture-box img {
    height: auto; }
  .wrapper--staffs-article .article-content:not(:last-child) {
    margin: 0 0 96px; }
  .wrapper--staffs-article .article-content:nth-child(1) {
    padding: 0 164px 0 56px; }
    .wrapper--staffs-article .article-content:nth-child(1) .article-content__text-box {
      padding: 0 50px 0 0; }
    .wrapper--staffs-article .article-content:nth-child(1) .article-content__picture-box img {
      width: 622px; }
  .wrapper--staffs-article .article-content:nth-child(2) {
    flex-direction: row-reverse; }
    .wrapper--staffs-article .article-content:nth-child(2) .article-content__text-box {
      padding: 0 60px 0 56px; }
    .wrapper--staffs-article .article-content:nth-child(2) .article-content__picture-box img {
      width: 672px; }
  .wrapper--staffs-article .article-content:nth-child(3) {
    padding: 0 106px 0 224px; }
    .wrapper--staffs-article .article-content:nth-child(3) .article-content__text-box {
      padding: 0 56px 0 0; }
    .wrapper--staffs-article .article-content:nth-child(3) .article-content__picture-box img {
      width: 510px; }
  .wrapper--staffs-article .article-content:nth-child(4) {
    flex-direction: row-reverse;
    padding: 0 56px 0 56px; }
    .wrapper--staffs-article .article-content:nth-child(4) .article-content__text-box {
      padding: 0 0 0 56px; }
    .wrapper--staffs-article .article-content:nth-child(4) .article-content__picture-box img {
      width: 616px; }

.wrapper--staffs-article .article-content-text-box__title {
  margin: 0 0 32px;
  font-size: 40px;
  color: #00A2EA;
  line-height: 1.6;
  letter-spacing: 4px; }

.wrapper--staffs-article .article-content-text-box__description {
  font-size: 14px;
  line-height: 1.8;
  letter-spacing: 1.15px; }

.wrapper--staffs-article .message {
  margin: 0 0 200px;
  padding: 0 56px 0 0; }
  .wrapper--staffs-article .message__container {
    position: relative;
    padding: 68px 56px 75px;
    background: #00A2EA; }

.wrapper--staffs-article .message-title {
  position: absolute;
  bottom: -29px;
  left: 56px;
  letter-spacing: 6px;
  font-size: 60px;
  font-family: YuMincho, "Yu Mincho", serif; }

.wrapper--staffs-article .message-content {
  display: flex; }
  .wrapper--staffs-article .message-content__title, .wrapper--staffs-article .message-content__description {
    color: white; }
  .wrapper--staffs-article .message-content__title {
    width: 560px;
    font-size: 40px;
    line-height: 1.6;
    font-weight: normal;
    letter-spacing: 4px; }
  .wrapper--staffs-article .message-content__description {
    padding: 7px 0 0;
    flex: 1;
    line-height: 1.69;
    letter-spacing: 1.6px; }

.wrapper--staffs-article .other-staffs {
  padding: 0 56px 189px; }
  .wrapper--staffs-article .other-staffs .common-title {
    margin: 0 0 49px; }
    .wrapper--staffs-article .other-staffs .common-title__text {
      font-size: 40px;
      letter-spacing: 4px; }
  .wrapper--staffs-article .other-staffs .common-link {
    width: 615px;
    margin: auto; }

.wrapper--staffs-article .staff-cards {
  margin: 0 0 80px; }

.wrapper--plan .container {
  padding: 0 0 129px; }

.wrapper--plan .page-title-box__deco {
  white-space: pre; }

.wrapper--plan .main {
  padding: 0 56px; }

.wrapper--plan .common-title {
  margin: 0 0 49px;
  padding: 0 0 30px;
  border-bottom: 1px solid black; }
  .wrapper--plan .common-title__text {
    font-size: 40px;
    letter-spacing: 4px; }

.wrapper--plan .test-information {
  display: block;
  margin: 0 0 145px; }

.wrapper--plan .test-information-content:not(:last-child) {
  margin: 0 0 80px; }

.wrapper--plan .test-information-content__title {
  margin: 0 0 30px;
  font-size: 30px;
  letter-spacing: 3px;
  line-height: 1.6; }

.wrapper--plan .test-information-content--status .test-information-item:not(:last-child) {
  margin: 0 0 20px; }

.wrapper--plan .test-information-content .common-link {
  width: 616px; }

.wrapper--plan .test-information-item:not(:last-child) {
  margin: 0 0 27px; }

.wrapper--plan .test-information-item__title {
  margin: 0 0 20px;
  letter-spacing: 1.3px; }

.wrapper--plan .test-information-item__link {
  position: relative;
  color: #00A2EA;
  letter-spacing: 1.3px; }
  .wrapper--plan .test-information-item__link::after {
    position: relative;
    display: inline-block;
    width: 12px;
    height: 16px;
    background-position: center;
    background-size: cover;
    background-image: url("../img/common/pdf-icon.png");
    content: ""; }

.wrapper--plan .event-information__title {
  margin: 0 0 43px;
  font-size: 30px;
  letter-spacing: 3px; }

.wrapper--plan .event-information__content-container {
  display: flex;
  flex-wrap: wrap; }

.wrapper--plan .event-information-content {
  width: calc((100% - 56px) / 2);
  margin: 0 0 35px; }
  .wrapper--plan .event-information-content:not(:nth-child(2n)) {
    margin: 0 56px 35px 0; }
  .wrapper--plan .event-information-content__title {
    margin: 0 0 14px;
    font-size: 22px;
    line-height: 1.8;
    color: #00A2EA;
    letter-spacing: 2.2px; }
  .wrapper--plan .event-information-content__description {
    line-height: 1.82;
    letter-spacing: 1.2px; }

.wrapper--next .container {
  padding: 0 0 89px; }

.wrapper--next .main {
  padding: 0 56px; }

.wrapper--next .saga-future__content-container {
  display: flex;
  flex-wrap: wrap; }

.wrapper--next-article .container {
  padding: 177px 0 90px; }

.wrapper--next-article .next-article__title {
  margin: 0 0 86px;
  text-align: center; }
  .wrapper--next-article .next-article__title img {
    width: auto;
    height: 30px; }

.wrapper--next-article .summary {
  max-width: 1064px;
  margin: 0 auto 79px; }
  .wrapper--next-article .summary__title {
    position: relative;
    margin: 0 0 85px;
    font-size: 40px;
    text-align: center;
    line-height: 1.6;
    letter-spacing: 4px; }
    .wrapper--next-article .summary__title .decos {
      position: absolute;
      left: 50%;
      bottom: -40px;
      display: flex;
      width: 168px;
      -webkit-transform: translate(-50%, 0);
              transform: translate(-50%, 0); }
      .wrapper--next-article .summary__title .decos span {
        width: 50%;
        height: 2px; }
        .wrapper--next-article .summary__title .decos span:nth-child(1) {
          background: #00A2EA; }
        .wrapper--next-article .summary__title .decos span:nth-child(2) {
          background: #EA1BC6; }
  .wrapper--next-article .summary__description {
    line-height: 1.7;
    letter-spacing: 1.6px; }

.wrapper--next-article .kv {
  margin: 0 0 86px; }
  .wrapper--next-article .kv__picture-figure img {
    width: 100%;
    height: auto; }

.wrapper--next-article .profile {
  position: relative; }
  .wrapper--next-article .profile__content-container {
    display: flex; }
  .wrapper--next-article .profile__title {
    position: absolute;
    top: -20px;
    left: 50%;
    font-size: 50px;
    font-family: YuMincho, "Yu Mincho", serif;
    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
    letter-spacing: 4px; }
  .wrapper--next-article .profile__notice {
    padding: 21px 57px 0;
    text-align: right;
    font-size: 12px; }

.wrapper--next-article .profile-content {
  flex: 1;
  padding: 58px 56px 54px; }
  .wrapper--next-article .profile-content--left {
    background: #00A2EA; }
    .wrapper--next-article .profile-content--left .profile-content-head {
      flex-direction: row-reverse; }
      .wrapper--next-article .profile-content--left .profile-content-head__text-box {
        text-align: right;
        padding: 28px 31px 0 0; }
  .wrapper--next-article .profile-content--right {
    background: #EA00C6; }
  .wrapper--next-article .profile-content__description {
    color: white;
    line-height: 1.7;
    letter-spacing: 1.7px; }

.wrapper--next-article .profile-content-head {
  display: flex;
  margin: 0 0 37px; }
  .wrapper--next-article .profile-content-head__thumbnail {
    width: 168px;
    height: 168px;
    background-size: cover;
    background-position: center; }
  .wrapper--next-article .profile-content-head__text-box {
    flex: 1;
    padding: 28px 0 0 40px; }
    .wrapper--next-article .profile-content-head__text-box .name,
    .wrapper--next-article .profile-content-head__text-box .title {
      color: white; }
    .wrapper--next-article .profile-content-head__text-box .name {
      margin: 0 0 15px;
      font-size: 30px;
      letter-spacing: 3px; }
    .wrapper--next-article .profile-content-head__text-box .title {
      font-size: 20px;
      line-height: 1.7;
      letter-spacing: 2px; }

.wrapper--next-article .article {
  padding: 90px 0 0; }
  .wrapper--next-article .article__container {
    margin: 0 0 156px; }

.wrapper--next-article .article-content:not(:last-child) {
  margin: 0 0 86px; }

.wrapper--next-article .article-content__title {
  max-width: 840px;
  margin: 0 auto 69px;
  text-align: center;
  color: #00A2EA;
  font-size: 40px;
  letter-spacing: 4px;
  line-height: 1.6; }

.wrapper--next-article .article-content__picture-box {
  position: relative;
  height: 0;
  padding-bottom: 56.25%;
  overflow: hidden; }

.wrapper--next-article .article-content .picture {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  background-size: cover;
  background-position: center;
  will-change: transform;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  height: 100%; }

.wrapper--next-article .article-content .caption {
  padding: 16px 56px 0;
  text-align: right;
  font-size: 12px;
  line-height: 1.6; }

.wrapper--next-article .article-items {
  max-width: 840px;
  margin: 0 auto 54px; }

.wrapper--next-article .article-item {
  position: relative; }
  .wrapper--next-article .article-item:not(:last-child) {
    margin: 0 0 54px; }
  .wrapper--next-article .article-item--left {
    padding: 0 111px 0 0; }
    .wrapper--next-article .article-item--left .article-item__name {
      color: #00A2EA;
      border-bottom: 2px solid #00A2EA; }
  .wrapper--next-article .article-item--right {
    padding: 0 0 0 111px; }
    .wrapper--next-article .article-item--right .article-item__name {
      text-align: right;
      color: #F00BD8;
      border-bottom: 2px solid #F00BD8; }
  .wrapper--next-article .article-item__name {
    position: relative;
    margin: 0 0 24px;
    padding: 0 0 19px;
    font-size: 20px;
    letter-spacing: 2px; }
  .wrapper--next-article .article-item__description {
    font-size: 16px;
    line-height: 1.8;
    letter-spacing: 1.4px; }

.wrapper--next-article .other-article {
  padding: 0 56px; }
  .wrapper--next-article .other-article__title {
    margin: 0 0 50px;
    color: #00A2EA;
    font-size: 40px;
    letter-spacing: 4px; }
  .wrapper--next-article .other-article__content-container {
    display: flex;
    flex-wrap: wrap; }

.wrapper--vision .container {
  padding: 0 0 189px; }

.wrapper--vision .main {
  padding: 0 56px; }

.wrapper--vision .common-title {
  padding: 0 0 30px;
  border-bottom: 1px solid black; }
  .wrapper--vision .common-title__text {
    font-size: 40px;
    letter-spacing: 4px; }

.wrapper--vision .list {
  margin: 0 0 23px;
  line-height: 1.82;
  letter-spacing: 1.3px; }

.wrapper--vision .link-box__link {
  position: relative;
  display: inline-block;
  color: #00A2EA;
  letter-spacing: 1.3px;
  transition: opacity, .3s;
  transition-timing-function: ease-out; }
  .wrapper--vision .link-box__link::after {
    position: relative;
    display: inline-block;
    width: 12px;
    height: 16px;
    background-image: url("../img/common/pdf-icon.png");
    background-size: cover;
    background-position: center;
    content: ""; }
  .wrapper--vision .link-box__link:hover {
    opacity: 0.7; }

.wrapper--vision .link-box + .link-box {
  margin: 20px 0 0; }

.wrapper--vision .link-box + .list {
  margin: 42px 0 21px; }

.wrapper--vision .common-link-box {
  padding: 2px 0 10px;
  text-align: center; }
  .wrapper--vision .common-link-box__link {
    display: inline-block;
    position: relative;
    width: 614px;
    padding: 27px 0;
    text-align: center;
    letter-spacing: 1.5px;
    border: 1px solid #00A2EA;
    background: #00A2EA;
    color: white;
    transition: color, background, .3s;
    transition-timing-function: ease-out; }
    .wrapper--vision .common-link-box__link::after {
      position: absolute;
      top: 50%;
      right: 29px;
      display: inline-block;
      width: 12px;
      height: 16px;
      background-image: url("../img/common/pdf-icon-w.png");
      background-size: cover;
      background-position: center;
      -webkit-transform: translate(0, -50%);
              transform: translate(0, -50%);
      content: ""; }
    .wrapper--vision .common-link-box__link:hover {
      background: white;
      color: #00A2EA; }
      .wrapper--vision .common-link-box__link:hover::after {
        background-image: url("../img/common/pdf-icon.png"); }

.wrapper--vision .philosophy {
  display: block;
  padding: 90px 0; }
  .wrapper--vision .philosophy__container {
    padding: 44px 0 0; }

.wrapper--vision .action {
  display: block;
  padding: 10px 0; }
  .wrapper--vision .action__container {
    display: grid;
    gap: 40px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 50px 0 0; }
  /* .wrapper--vision .action__content-container:not(:last-child) {
    margin: 0 229px 0 0;
   } */

.wrapper--vision .action-content {
  padding: 0 0 0 47px; }
  .wrapper--vision .action-content:not(:last-child) {
    margin: 0 0 51px; }
  .wrapper--vision .action-content__title {
    position: relative;
    margin: 0 0 26px;
    font-size: 26px;
    line-height: 1.6;
    letter-spacing: 3px; }
    .wrapper--vision .action-content__title span {
      position: absolute;
      top: 2px;
      left: -47px;
      font-family: YuMincho, "Yu Mincho", serif; }

.wrapper--vision .state {
  display: block;
  padding: 90px 0 0; }
  .wrapper--vision .state__container {
    padding: 44px 0 0; }
  .wrapper--vision .state .common-link-box {
    padding: 80px 0 0; }
  @media (max-width: 767px) {
  .js-resize-target {
    width: 375px; }
  .only-pc {
    display: none; }
  .only-sp {
    display: block; }
  .footer {
    padding: 21px 22px; }
  .page-top {
    top: -44px;
    right: 50%;
    -webkit-transform: translate(50%, 0);
            transform: translate(50%, 0); }
    .page-top__link {
      letter-spacing: 1.3px; }
  .footer-common-links {
    display: block;
    margin: 0 0 55px; }
  .footer-common-link {
    width: 100%;
    padding: 21px 0;
    font-size: 15px;
    letter-spacing: 1px; }
    .footer-common-link:not(:nth-child(2n)) {
      margin: 0; }
    .footer-common-link:not(:last-child) {
      margin: 0 0 22px; }
    .footer-common-link::before {
      right: 13px;
      width: 42px;
      height: 18px; }
  .footer-info {
    margin: 0 0 33px; }
    .footer-info__title {
      margin: 0 0 8px; }
    .footer-info__description {
      font-size: 14px;
      color: white;
      letter-spacing: 1.4px; }
      .footer-info__description:not(:last-child) {
        margin: 0 0 6px; }
      .footer-info__description span {
        margin: 10px 0 0;
        padding: 0 0 0 12px;
        letter-spacing: 1.2px;
        font-size: 12px; }
  .footer-bottom {
    display: block; }
  .footer-links {
    margin: 0 0 32px; }
  .footer-link {
    font-size: 14px;
    letter-spacing: 1.3px; }
    .footer-link::after {
      top: -1px;
      right: -8px; }
    .footer-link:not(:last-child) {
      margin: 0 0 30px; }
  .copy-right {
    font-size: 10px;
    letter-spacing: 1.1px;
    line-height: 1.3; }
  .loading__logo {
    width: 250px; }
  .loading-bar {
    height: 6px; }
  .common-title__text {
    font-size: 35px;
    letter-spacing: 6px; }
  .staff-card {
    width: calc((100% - 21px) / 2); }
    .staff-card:not(:nth-child(4n)) {
      margin: 0; }
    .staff-card:not(:nth-child(2n)) {
      margin: 0 21px 60px 0 !important; }
    .staff-card__department {
      padding: 6px 0;
      font-size: 11px;
      letter-spacing: 1px; }
    .staff-card__thumbnail {
      margin: 0 0 16px;
      height: 118px; }
      .staff-card__thumbnail::before {
        height: 70px; }
    .staff-card__department-text {
      margin: 0 0 5px; }
    .staff-card__department-text, .staff-card__name {
      font-size: 11px; }
  .staff-card-title {
    margin: 0 0 10px; }
    .staff-card-title__handwritten {
      top: -33px;
      width: 90px;
      margin: 0 0 0 7px; }
  .common-link {
    font-size: 15px;
    letter-spacing: 1px; }
    .common-link::before {
      right: 14px; }
    .common-link--blue {
      padding: 21px 0; }
    .common-link--white {
      padding: 21px 0; }
      .common-link--white::before {
        right: 13px; }
  .project-story-card {
    display: block; }
    .project-story-card:not(:last-child) {
      margin: 0 0 61px; }
    .project-story-card:nth-child(even) .project-story-card-text {
      padding: 0; }
    .project-story-card__thumbnail {
      width: 100%;
      height: 251px;
      margin: 0 0 27px; }
  .project-story-card-text {
    width: 100%;
    margin: 0;
    padding: 0; }
    .project-story-card-text__num {
      margin: 0 0 9px;
      font-size: 40px;
      letter-spacing: 8px; }
    .project-story-card-text__title {
      margin: 0 0 17px;
      font-size: 23px;
      line-height: 1.6;
      letter-spacing: 2.5px; }
    .project-story-card-text__description {
      margin: 0 0 25px;
      white-space: initial; }
  .page-title-box {
    padding: 129px 0 74px; }
    .page-title-box__deco {
      right: 14px;
      top: 140px;
      font-size: 12px;
      letter-spacing: 2px;
      line-height: 1.6; }
  .page-title {
    padding: 0 20px 38px;
    font-size: 40px;
    letter-spacing: 7px;
    line-height: 1.6; }
    .page-title::before {
      width: 315px; }
  .page-title-description {
    padding: 35px 60px 0 20px;
    line-height: 1.7; }
    .page-title-description span {
      margin: 9px 0 0;
      font-size: 12px;
      letter-spacing: 1.2px; }
  .anchor-link {
    padding: 22px 0;
    letter-spacing: 1px;
    font-size: 15px; }
    .anchor-link::before {
      right: 14px; }
  .saga-future-content {
    width: 100%;
    margin: 0 0 45px; }
    .saga-future-content:not(:nth-child(2n)) {
      margin: 0; }
    .saga-future-content:not(:last-child) {
      margin: 0 0 45px !important; }
  .saga-future-content-link img {
    margin: 0 0 12px; }
  .versatility {
    padding: 128px 20px 144px; }
    .versatility__container {
      margin: 0 0 73px; }
  .versatility-text-box__title {
    margin: 0 0 62px;
    font-size: 40px;
    letter-spacing: 7px;
    line-height: 1.6; }
  .next-contents {
    padding: 0; }
    .next-contents__deco {
      position: relative;
      left: 0;
      margin: 0 0 19px;
      font-size: 14px;
      -webkit-writing-mode: initial;
          -ms-writing-mode: initial;
              writing-mode: initial; }
    .next-contents__container {
      display: block;
      padding: 54px 20px 66px; }
      .next-contents__container .common-link {
        width: 100%;
        flex: 1;
        top: 6px; }
  .next-contents-title {
    width: 100%;
    margin: 0 0 19px; }
  .wrapper--index .container {
    padding: 0 0 146px; }
  .wrapper--index .kv {
    padding: 140px 0 0; }
  .wrapper--index .copy {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    top: -50px;
    left: 20px;
    width: 100%; }
    .wrapper--index .copy__title {
      margin: 0 0 45px; }
      .wrapper--index .copy__title img {
        width: 152px; }
    .wrapper--index .copy__link {
      left: -38px;
      font-size: 12px; }
  .wrapper--index .kv-pictures {
    margin: 0 0 24px; }
  .wrapper--index .kv-pictures-content {
    width: 100%;
    height: 300px; }
  .wrapper--index .main-title {
    position: relative; }
  .wrapper--index .main-title-picture {
    justify-content: center; }
    .wrapper--index .main-title-picture__main {
      margin: 0 14px 0 0; }
      .wrapper--index .main-title-picture__main > img {
        height: 35px; }
    .wrapper--index .main-title-picture__sub--1 {
      margin: 0 18px 0 0; }
      .wrapper--index .main-title-picture__sub--1 img {
        height: 34px; }
    .wrapper--index .main-title-picture__sub--2 img {
      height: 32px; }
  .wrapper--index .main-title-picture-deco span {
    -webkit-transform: translate(-67px, -5px);
            transform: translate(-67px, -5px);
    height: 9px; }
  .wrapper--index .main-title-picture-handwritten {
    top: -53px;
    left: -12px;
    width: 150px;
    height: 45px; }
  .wrapper--index .news {
    padding: 48px 21px 0; }
  .wrapper--index .news-content-container {
    display: block;
    padding: 15px 0 2px; }
    .wrapper--index .news-content-container__title {
      width: 100%;
      font-size: 12px;
      letter-spacing: 2px; }
    .wrapper--index .news-content-container__link {
      top: 15px;
      right: -2px;
      -webkit-transform: translate(0, 0);
              transform: translate(0, 0);
      font-size: 12px; }
  .wrapper--index .news-content-box {
    padding: 0; }
  .wrapper--index .news-content {
    top: 0;
    align-items: flex-start; }
    .wrapper--index .news-content__date {
      width: 100px;
      font-size: 12px;
      letter-spacing: 1.1px;
      line-height: 1.6; }
    .wrapper--index .news-content__title {
      flex: 1;
      font-size: 12px;
      letter-spacing: 1.2px;
      line-height: 1.6; }
  .wrapper--index .staff {
    padding: 120px 21px; }
    .wrapper--index .staff .staff-cards {
      margin: 0 0 1px; }
    .wrapper--index .staff .common-title {
      margin: 0 0 60px; }
    .wrapper--index .staff__link-box .common-link {
      width: 100%; }
  .wrapper--index .project-story {
    padding: 0 21px; }
    .wrapper--index .project-story .common-title {
      margin: 0 0 60px; }
    .wrapper--index .project-story__link-box .common-link {
      width: 100%; }
  .wrapper--index .project-story-cards {
    margin: 0 0 56px; }
  .wrapper--index .project-story-small-cards {
    display: block;
    margin: 0 0 61px; }
  .wrapper--index .project-story-small-card {
    width: 100%;
    padding: 0; }
    .wrapper--index .project-story-small-card:not(:last-child) {
      margin: 0 0 58px; }
    .wrapper--index .project-story-small-card:nth-child(even) .project-story-small-card__container {
      flex-direction: row-reverse;
      min-height: auto;
      margin: 0 0 31px; }
    .wrapper--index .project-story-small-card:nth-child(even) .project-story-small-card__thumbnail {
      margin: 0; }
    .wrapper--index .project-story-small-card:nth-child(even) .project-story-small-card-text {
      margin: 0;
      padding: 0 20px 0 0; }
      .wrapper--index .project-story-small-card:nth-child(even) .project-story-small-card-text__title {
        margin: 0; }
    .wrapper--index .project-story-small-card__container {
      display: flex;
      min-height: auto;
      margin: 0 0 30px; }
    .wrapper--index .project-story-small-card__thumbnail {
      width: 157px;
      height: 118px;
      margin: 0; }
    .wrapper--index .project-story-small-card .common-link {
      position: relative; }
  .wrapper--index .project-story-small-card-text {
    position: relative;
    top: -4px;
    width: calc(100% - 157px);
    margin: 0;
    padding: 0 0 0 20px; }
    .wrapper--index .project-story-small-card-text__num {
      margin: 0 0 15px;
      font-size: 40px;
      letter-spacing: 7px; }
    .wrapper--index .project-story-small-card-text__title {
      margin: 0;
      font-size: 16px;
      line-height: 1.6;
      letter-spacing: 1.3px; }
  .wrapper--index .special {
    padding: 120px 0 0; }
    .wrapper--index .special__title-box {
      padding: 0 0 0 65px;
      margin: 0 0 27px; }
  .wrapper--index .special-title-box__container {
    padding: 0 0 0 6px; }
  .wrapper--index .special-title-box__subtitle {
    margin: 0 0 18px;
    font-size: 16px;
    letter-spacing: 1.6px; }
  .wrapper--index .special-title-box__title img {
    width: 240px;
    height: auto; }
  .wrapper--index .special-title-box-category {
    left: 21px; }
    .wrapper--index .special-title-box-category__text img {
      width: 30px; }
  .wrapper--index .special-content {
    position: relative;
    margin: 0 0 60px; }
    .wrapper--index .special-content__picture-figure {
      display: block;
      margin: 0 0 31px; }
    .wrapper--index .special-content .common-link {
      position: relative;
      bottom: 0;
      left: 0;
      width: calc(100% - 40px);
      margin: auto;
      -webkit-transform: translate(0, 0);
              transform: translate(0, 0);
      padding: 29px 0;
      border: 1px solid #00A2EA; }
  .wrapper--index .special-content-picture {
    width: 100%;
    height: auto; }
  .wrapper--index .special-content-link {
    padding: 0 20px; }
    .wrapper--index .special-content-link .common-link {
      width: 100%; }
  .wrapper--index .information {
    padding: 118px 21px 0; }
    .wrapper--index .information__content-container {
      display: block; }
  .wrapper--index .information-content {
    width: 100%; }
    .wrapper--index .information-content:not(:last-child) {
      margin: 0 0 120px; }
    .wrapper--index .information-content .common-title {
      margin: 0 0 60px; }
      .wrapper--index .information-content .common-title__text {
        font-size: 35px;
        letter-spacing: 6px; }
  .wrapper--index .information-content-link:not(:last-child) {
    margin: 0 0 30px; }
  .wrapper--staffs .container {
    padding: 0 0 136px; }
  .wrapper--staffs .filter {
    height: 294px; }
    .wrapper--staffs .filter.is-show {
      overflow: initial; }
    .wrapper--staffs .filter__container {
      padding: 50px 20px 60px; }
    .wrapper--staffs .filter__title {
      margin: 0 0 30px;
      font-size: 25px; }
    .wrapper--staffs .filter__notice {
      text-align: center; }
  .wrapper--staffs .more-button-box {
    display: block; }
    .wrapper--staffs .more-button-box__link {
      font-size: 15px;
      letter-spacing: 1px; }
  .wrapper--staffs .filter-form__content-container {
    display: block;
    margin: 0; }
  .wrapper--staffs .filter-form__buttons {
    display: block; }
  .wrapper--staffs .filter-form-content {
    display: block;
    width: 100%;
    padding: 24px 0 36px; }
    .wrapper--staffs .filter-form-content:not(:nth-child(2n)) {
      margin: 0 56px 0 0; }
    .wrapper--staffs .filter-form-content__title {
      width: 112px;
      margin: 0 0 24px;
      font-size: 16px;
      letter-spacing: 1px; }
  .wrapper--staffs .filter-form-inputs {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    align-items: center; }
  .wrapper--staffs .filter-form-input {
    width: 50%;
    margin: 0 0 24px; }
    .wrapper--staffs .filter-form-input:nth-child(2n) {
      padding: 0 0 0 10px; }
    .wrapper--staffs .filter-form-input input {
      position: absolute;
      top: 0;
      left: 0;
      visibility: hidden; }
    .wrapper--staffs .filter-form-input label {
      padding: 0 0 0 31px;
      font-size: 16px;
      letter-spacing: 1px; }
      .wrapper--staffs .filter-form-input label::before {
        width: 16px;
        height: 16px; }
      .wrapper--staffs .filter-form-input label::after {
        margin: -1px 0 0 1px; }
  .wrapper--staffs .filter-form-submit {
    position: relative;
    display: block;
    width: 100%;
    font-size: 14px;
    margin: 0 0 30px;
    padding: 23px 0; }
    .wrapper--staffs .filter-form-submit::before {
      right: 14px;
      width: 42px;
      height: 18px; }
  .wrapper--staffs .filter-form-reset {
    width: 100%;
    font-size: 14px;
    padding: 23px 0; }
    .wrapper--staffs .filter-form-reset::before {
      top: 50%;
      right: 15px; }
  .wrapper--staffs .staff {
    padding: 60px 20px 41px; }
    .wrapper--staffs .staff__no-contents {
      padding: 19px 0;
      font-size: 16px; }
    .wrapper--staffs .staff .staff-card:not(:nth-child(4n)) {
      margin: 0; }
  .wrapper--project-stories .container {
    padding: 0 0 88px; }
  .wrapper--project-stories .project-story {
    padding: 0 21px 56px; }
  .wrapper--project-stories .kv {
    margin: 0 0 41px; }
    .wrapper--project-stories .kv__container {
      height: 400px; }
      .wrapper--project-stories .kv__container::before {
        background-image: url("../img/project-stories/kv-bg.sp.png"); }
  .wrapper--project-stories .kv-title-box {
    bottom: 42px;
    left: 20px; }
    .wrapper--project-stories .kv-title-box__num {
      margin: 0 0 13px;
      font-size: 60px;
      letter-spacing: 11px; }
    .wrapper--project-stories .kv-title-box__title {
      font-size: 25px;
      letter-spacing: 2px; }
  .wrapper--project-stories .summary {
    width: 100%;
    margin: 0;
    padding: 34px 21px; }
    .wrapper--project-stories .summary__description {
      letter-spacing: 0.6px; }
  .wrapper--project-stories .member-title {
    position: relative;
    left: 0;
    top: 0;
    margin: 0 0 14px;
    padding: 0 20px;
    letter-spacing: 3px;
    font-size: 30px; }
  .wrapper--project-stories .member {
    margin: 0; }
    .wrapper--project-stories .member__container {
      padding: 0; }
    .wrapper--project-stories .member__content-container {
      padding: 30px 21px 0; }
    .wrapper--project-stories .member__notice {
      padding: 20px;
      text-align: left; }
  .wrapper--project-stories .member-content {
    width: 100%;
    margin: 0 0 30px; }
    .wrapper--project-stories .member-content__thumbnail {
      width: 80px;
      height: 80px; }
    .wrapper--project-stories .member-content__text-box {
      padding: 16px 0 0 20px; }
  .wrapper--project-stories .member-content-name {
    display: flex;
    align-items: flex-end;
    margin: 0 0 15px; }
  .wrapper--project-stories .member-name {
    margin: 0;
    font-size: 18px; }
  .wrapper--project-stories .member-start-date {
    margin: 0 0 0 11px;
    font-size: 12px; }
  .wrapper--project-stories .member-department {
    font-size: 14px;
    color: #00A2EA;
    letter-spacing: 1.2px; }
  .wrapper--project-stories .article {
    padding: 0 0 31px; }
  .wrapper--project-stories .article-content {
    display: block;
    padding: 14px 0 0; }
    .wrapper--project-stories .article-content--no-image {
      padding: 13px 0 0;
      width: 100%; }
      .wrapper--project-stories .article-content--no-image .article-content__text-box {
        width: 100%; }
        .wrapper--project-stories .article-content--no-image .article-content__text-box h2 {
          text-align: left; }
    .wrapper--project-stories .article-content:not(:last-child) {
      margin: 0 0 18px; }
    .wrapper--project-stories .article-content:nth-child(even) .article-content__text-box {
      margin: 0 0 0 auto; }
    .wrapper--project-stories .article-content:nth-child(even) .article-content__picture {
      right: initial;
      left: 0; }
    .wrapper--project-stories .article-content__text-box {
      width: 100%;
      padding: 39px 21px 44px; }
      .wrapper--project-stories .article-content__text-box h2 {
        margin: 0 0 37px;
        font-size: 22px;
        letter-spacing: 2.5px; }
      .wrapper--project-stories .article-content__text-box p {
        letter-spacing: 1.6px; }
    .wrapper--project-stories .article-content__picture {
      position: relative; }
      .wrapper--project-stories .article-content__picture img {
        width: 100%; }
      .wrapper--project-stories .article-content__picture .caption {
        padding: 20px 20px 0;
        text-align: left; }
  .wrapper--project-stories .other-project-stories {
    padding: 0 21px; }
    .wrapper--project-stories .other-project-stories__container {
      padding: 80px 0 0; }
    .wrapper--project-stories .other-project-stories .common-title {
      margin: 0 0 60px; }
      .wrapper--project-stories .other-project-stories .common-title__text {
        font-size: 25px;
        letter-spacing: 0.5px; }
  .wrapper--project-stories .other-project-stories-cards {
    display: block;
    margin: 0 0 60px; }
  .wrapper--project-stories .other-project-stories-card {
    width: 100%;
    padding: 0;
    margin: 0 0 60px; }
    .wrapper--project-stories .other-project-stories-card:not(:nth-child(3n)) {
      margin: 0 0 60px; }
    .wrapper--project-stories .other-project-stories-card__thumbnail {
      height: 251px;
      margin: 0 0 25px; }
    .wrapper--project-stories .other-project-stories-card .common-link {
      position: relative; }
  .wrapper--project-stories .other-project-stories-card-text {
    margin: 0 0 22px; }
    .wrapper--project-stories .other-project-stories-card-text__num {
      margin: 0 0 10px;
      font-size: 40px;
      letter-spacing: 6px; }
    .wrapper--project-stories .other-project-stories-card-text__title {
      margin: 0 0 19px;
      font-size: 23px;
      letter-spacing: 2.3px; }
  .wrapper--job .container {
    padding: 0 0 136px; }
  .wrapper--job .anchors {
    display: block;
    padding: 68px 21px 0; }
  .wrapper--job .anchor-link {
    width: 100%; }
    .wrapper--job .anchor-link:not(:last-child) {
      margin: 0 0 30px; }
  .wrapper--job .job {
    padding: 100px 21px 0; }
    .wrapper--job .job__content-container:not(:last-child) {
      margin: 0 0 102px; }
    .wrapper--job .job__content-container .common-title {
      margin: 0 0 51px; }
      .wrapper--job .job__content-container .common-title__text {
        font-size: 25px;
        letter-spacing: 1px; }
    .wrapper--job .job__notice {
      font-size: 14px; }
  .wrapper--job .job-contents {
    display: block; }
  .wrapper--job .job-content {
    display: block;
    width: 100%;
    padding: 25px 0 60px; }
    .wrapper--job .job-content:not(:nth-child(2n)) {
      margin: -1px 56px 0 0; }
    .wrapper--job .job-content__title {
      width: 100%;
      margin: 0 0 20px;
      font-size: 20px;
      line-height: 1.5;
      letter-spacing: 1px; }
      .wrapper--job .job-content__title span {
        top: 0;
        left: 9px;
        font-size: 16px; }
    .wrapper--job .job-content__main {
      width: 100%; }
    .wrapper--job .job-content .job-content-description {
      font-size: 14px; }
    .wrapper--job .job-content .job-content-links {
      position: relative;
      bottom: 0; }
    .wrapper--job .job-content .common-link {
      padding: 22px 0; }
      .wrapper--job .job-content .common-link:not(:last-child) {
        margin: 0 0 31px; }
      .wrapper--job .job-content .common-link--blue::before {
        right: 13px; }
      .wrapper--job .job-content .common-link__title {
        font-size: 14px;
        letter-spacing: 1px; }
  .wrapper--job .job-assigned {
    margin: 0 0 26px;
    padding: 0; }
  .wrapper--faq .container {
    padding: 0 0 67px; }
  .wrapper--faq .anchors {
    display: block;
    padding: 7px 21px; }
  .wrapper--faq .anchor-link {
    width: 100%;
    margin: 0 0 30px; }
    .wrapper--faq .anchor-link:not(:nth-child(3n)) {
      margin: 0 0 30px; }
  .wrapper--faq main {
    padding: 63px 21px; }
  .wrapper--faq .common-title {
    padding: 0 0 30px; }
    .wrapper--faq .common-title__text {
      font-size: 25px;
      letter-spacing: 0.3px; }
  .wrapper--faq .faq__content-contaienr {
    padding: 30px 0; }
  .wrapper--faq .faq-content:not(:last-child) {
    margin: 0 0 20px; }
  .wrapper--faq .faq-content__title-box {
    display: block;
    padding: 17px 15px 13px 20px; }
  .wrapper--faq .faq-content-title-box__title {
    padding: 0;
    line-height: 1.83; }
  .wrapper--faq .faq-content-title-box__toggle {
    top: 22px;
    right: 19px;
    -webkit-transform: translate(0);
            transform: translate(0); }
  .wrapper--faq .faq-content-description-box__container {
    display: block;
    padding: 17px 15px 2px 20px; }
  .wrapper--faq .faq-content-description-box__description {
    line-height: 1.87;
    width: 100%;
    padding: 0; }
  .wrapper--faq .bullet-point {
    margin: 0 0 7px;
    font-size: 26px; }
    .wrapper--faq .bullet-point::after {
      content: none; }
  .wrapper--faq .application {
    padding: 0 0 75px; }
    .wrapper--faq .application__container {
      padding: 24px 0 0; }
  .wrapper--faq .application-link,
  .wrapper--faq .examination-link,
  .wrapper--faq .internet-form-link {
    line-height: 1.8; }
    .wrapper--faq .application-link img,
    .wrapper--faq .examination-link img,
    .wrapper--faq .internet-form-link img {
      left: 8px; }
  .wrapper--faq .examination {
    padding: 0 0 74px; }
    .wrapper--faq .examination__container {
      padding: 25px 0 0; }
  .wrapper--faq .examination-description {
    margin: 0 0 25px;
    line-height: 1.8;
    letter-spacing: 1.3px; }
  .wrapper--faq .examination-tel {
    border: 1px solid #00A2EA;
    margin: 0 0 23px;
    padding: 20px 0;
    justify-content: center; }
  .wrapper--faq .internet-form__container {
    padding: 30px 0 0; }
  .wrapper--faq .internet-form-description {
    margin: 0 0 24px; }
  .wrapper--flow .container {
    padding: 0 0 130px; }
  .wrapper--flow .page-title-box {
    padding: 129px 0 71px; }
  .wrapper--flow .page-title-description {
    line-height: 1.8; }
  .wrapper--flow .recruitment-flow {
    padding: 0 21px; }
  .wrapper--flow .recruitment-flow-introduction {
    margin: 0 0 93px; }
    .wrapper--flow .recruitment-flow-introduction span {
      margin: 16px 0 0; }
  .wrapper--flow .recruitment-flow-content__title {
    margin: 0 0 29px;
    font-size: 25px;
    letter-spacing: 2.4px; }
  .wrapper--flow .recruitment-flow-content__figure {
    margin: 0 -21px 23px; }
    .wrapper--flow .recruitment-flow-content__figure img {
      width: 100%; }
  .wrapper--flow .recruitment-flow-content__notice {
    line-height: 1.8; }
  .wrapper--news .container {
    padding: 0 0 145px; }
  .wrapper--news .news {
    padding: 140px 21px 0; }
    .wrapper--news .news__title {
      margin: 0 0 80px;
      font-size: 40px;
      letter-spacing: 7px; }
  .wrapper--news .news-box:not(:last-child) {
    margin: 0 0 50px; }
  .wrapper--news .news-box__title {
    position: relative;
    top: 0;
    left: 0;
    margin: 0 0 31px;
    font-size: 20px;
    letter-spacing: 4px; }
  .wrapper--news .news-box__content-container {
    padding: 0; }
  .wrapper--news .news-content {
    display: block;
    padding: 15px 0 9px; }
    .wrapper--news .news-content__date {
      margin: 0 0 10px; }
    .wrapper--news .news-content__title {
      line-height: 1.8;
      letter-spacing: 1.6px; }
    .wrapper--news .news-content__link {
      top: 15px;
      right: 2px;
      -webkit-transform: translate(0);
              transform: translate(0);
      letter-spacing: 1px; }
  .wrapper--news .news-article {
    padding: 155px 21px 0; }
  .wrapper--news .news-article-title-box {
    margin: 0 0 76px; }
    .wrapper--news .news-article-title-box__title {
      margin: 0 0 25px;
      font-size: 25px;
      line-height: 1.4;
      letter-spacing: 0.4px; }
    .wrapper--news .news-article-title-box__date {
      font-size: 14px; }
  .wrapper--news .news-article-content h2 {
    margin: 0 0 20px;
    font-size: 20px;
    letter-spacing: 0.4px;
    line-height: 1.4; }
  .wrapper--news .news-article-content p {
    font-size: 14px;
    line-height: 1.85;
    letter-spacing: 1.5px; }
    .wrapper--news .news-article-content p:not(:last-child) {
      margin: 0 0 47px; }
  .wrapper--news .news-article-content ol:not(:last-child), .wrapper--news .news-article-content ul:not(:last-child) {
    margin: 0 0 47px; }
  .wrapper--news .news-article-content ol li, .wrapper--news .news-article-content ul li {
    font-size: 14px;
    line-height: 1.85;
    letter-spacing: 1.5px; }
  .wrapper--news .news-article-content .wp-caption {
    margin: 0 0 47px; }
  .wrapper--news .news-article-content img {
    width: 100%;
    margin: 48px auto 17px; }
    .wrapper--news .news-article-content img + .wp-caption-text {
      width: 100%;
      font-size: 12px;
      letter-spacing: 3.4px; }
  .wrapper--news .news-article-content table tr:first-child td {
    padding: 16px 10px;
    line-height: 1.4;
    font-size: 12px;
    word-break: break-all; }
  .wrapper--news .news-article-content table th {
    padding: 16px 10px;
    line-height: 1.4;
    font-size: 12px; }
  .wrapper--news .news-article-content table td {
    padding: 18px 10px;
    font-size: 12px;
    line-height: 1.4;
    letter-spacing: 0; }
  .wrapper--news .news-article-content h3 {
    margin: 0 0 15px;
    font-size: 18px;
    letter-spacing: 0.4px;
    line-height: 1.85; }
  .wrapper--entry-info .container {
    padding: 0 0 144px; }
  .wrapper--entry-info .entry-info {
    padding: 140px 21px 0; }
    .wrapper--entry-info .entry-info__title {
      margin: 0 0 80px;
      font-size: 40px;
      letter-spacing: 7px; }
    .wrapper--entry-info .entry-info .common-title__text {
      font-size: 25px;
      letter-spacing: 1px; }
  .wrapper--entry-info .entry-info-common-links {
    padding: 0 0 80px; }
    .wrapper--entry-info .entry-info-common-links__content-container {
      display: block;
      padding: 30px 0 0; }
  .wrapper--entry-info .entry-info-common-link {
    width: 100%;
    height: 60px; }
    .wrapper--entry-info .entry-info-common-link--pdf::before {
      right: 14px; }
    .wrapper--entry-info .entry-info-common-link--external::before {
      right: 14px;
      width: 14px;
      height: 11px; }
    .wrapper--entry-info .entry-info-common-link:not(:nth-child(2n)) {
      margin: 0; }
    .wrapper--entry-info .entry-info-common-link:not(:last-child) {
      margin: 0 0 30px !important; }
    .wrapper--entry-info .entry-info-common-link p {
      font-size: 15px;
      letter-spacing: 1px;
      margin: 0;
      line-height: 1.36;
      white-space: nowrap; }
  .wrapper--entry-info .receive-directly {
    margin: 0 0 80px; }
    .wrapper--entry-info .receive-directly__content-container {
      display: block; }
    .wrapper--entry-info .receive-directly .common-title {
      margin: 0 0 30px; }
  .wrapper--entry-info .receive-directly-content {
    width: 100%;
    margin: 0 0 30px;
    padding: 39px 18px; }
    .wrapper--entry-info .receive-directly-content:not(:nth-child(2n)) {
      margin: 0; }
    .wrapper--entry-info .receive-directly-content:not(:last-child) {
      margin: 0 0 29px !important; }
    .wrapper--entry-info .receive-directly-content__title {
      margin: 0 0 24px;
      font-size: 20px;
      letter-spacing: 0.3px; }
    .wrapper--entry-info .receive-directly-content__address {
      margin: 0 0 24px;
      padding: 0 0 0 32px; }
    .wrapper--entry-info .receive-directly-content__tel {
      display: inline-block;
      border-bottom: 1px solid #00A2EA;
      color: #00A2EA;
      padding: 0;
      margin: 0 0 0 32px; }
      .wrapper--entry-info .receive-directly-content__tel--2 {
        margin: 13px 0 0 32px; }
      .wrapper--entry-info .receive-directly-content__tel img {
        left: -31px; }
  .wrapper--entry-info .request-mail__container {
    display: block; }
  .wrapper--entry-info .request-mail .common-title {
    margin: 0 0 24px; }
  .wrapper--entry-info .request-mail-text-box {
    margin: 0 0 45px;
    padding: 0; }
    .wrapper--entry-info .request-mail-text-box__description:not(:last-child) {
      margin: 0 0 22px; }
  .wrapper--entry-info .request-mail-picture-box__picture-figure {
    padding: 0; }
    .wrapper--entry-info .request-mail-picture-box__picture-figure img {
      width: 100%; }
  .wrapper--treatment .container {
    padding: 0 0 136px; }
    .wrapper--treatment .container .anchors {
      display: block;
      padding: 7px 21px 0; }
      .wrapper--treatment .container .anchors .anchor-link {
        width: 100%; }
        .wrapper--treatment .container .anchors .anchor-link:not(:nth-child(3n)) {
          margin: 0; }
        .wrapper--treatment .container .anchors .anchor-link:not(:last-child) {
          margin: 0 0 30px !important; }
    .wrapper--treatment .container main .treatment {
      padding: 90px 20px 0; }
      .wrapper--treatment .container main .treatment .treatment-section {
        margin-bottom: 64px; }
        .wrapper--treatment .container main .treatment .treatment-section__notice {
          font-size: 14px; }
        .wrapper--treatment .container main .treatment .treatment-section:last-child {
          margin-bottom: -5px; }
        .wrapper--treatment .container main .treatment .treatment-section .common-title__text {
          font-size: 25px;
          letter-spacing: 0.7px;
          padding-bottom: 20px; }
        .wrapper--treatment .container main .treatment .treatment-section .treatment-section-items .treatment-section-item {
          margin-top: 66px; }
          .wrapper--treatment .container main .treatment .treatment-section .treatment-section-items .treatment-section-item:first-child {
            margin-top: 42px; }
          .wrapper--treatment .container main .treatment .treatment-section .treatment-section-items .treatment-section-item.working-hours {
            margin-top: 37px; }
            .wrapper--treatment .container main .treatment .treatment-section .treatment-section-items .treatment-section-item.working-hours:first-child {
              margin-top: 42px; }
          .wrapper--treatment .container main .treatment .treatment-section .treatment-section-items .treatment-section-item.welfare {
            margin-top: 37px; }
            .wrapper--treatment .container main .treatment .treatment-section .treatment-section-items .treatment-section-item.welfare:first-child {
              margin-top: 42px; }
            .wrapper--treatment .container main .treatment .treatment-section .treatment-section-items .treatment-section-item.welfare .treatment-sub-title {
              margin-bottom: 17px; }
          .wrapper--treatment .container main .treatment .treatment-section .treatment-section-items .treatment-section-item .treatment-sub-title {
            font-size: 20px;
            margin-bottom: 22px;
            letter-spacing: 0.8px; }
            .wrapper--treatment .container main .treatment .treatment-section .treatment-section-items .treatment-section-item .treatment-sub-title.working-hours {
              margin-bottom: 18px; }
            .wrapper--treatment .container main .treatment .treatment-section .treatment-section-items .treatment-section-item .treatment-sub-title span {
              font-size: 15px; }
          .wrapper--treatment .container main .treatment .treatment-section .treatment-section-items .treatment-section-item .section-description {
            letter-spacing: 1.6px; }
          .wrapper--treatment .container main .treatment .treatment-section .treatment-section-items .treatment-section-item table {
            font-size: 12px;
            line-height: 1.4;
            letter-spacing: 0; }
            .wrapper--treatment .container main .treatment .treatment-section .treatment-section-items .treatment-section-item table thead th, .wrapper--treatment .container main .treatment .treatment-section .treatment-section-items .treatment-section-item table thead td, .wrapper--treatment .container main .treatment .treatment-section .treatment-section-items .treatment-section-item table tbody th, .wrapper--treatment .container main .treatment .treatment-section .treatment-section-items .treatment-section-item table tbody td {
              padding: 20px 10px; }
          .wrapper--treatment .container main .treatment .treatment-section .treatment-section-items .treatment-section-item table.salary-table thead th {
            padding: 16px 10px; }
            .wrapper--treatment .container main .treatment .treatment-section .treatment-section-items .treatment-section-item table.salary-table thead th:nth-child(1) {
              width: auto; }
            .wrapper--treatment .container main .treatment .treatment-section .treatment-section-items .treatment-section-item table.salary-table thead th:nth-child(2) {
              width: 45%; }
          .wrapper--treatment .container main .treatment .treatment-section .treatment-section-items .treatment-section-item table.salary-table tbody td {
            padding: 0px 10px;
            height: 70px; }
          .wrapper--treatment .container main .treatment .treatment-section .treatment-section-items .treatment-section-item table.compensation-table thead th {
            padding: 16px 22px;
            width: auto; }
            .wrapper--treatment .container main .treatment .treatment-section .treatment-section-items .treatment-section-item table.compensation-table thead th:nth-child(2) {
              width: 45%; }
          .wrapper--treatment .container main .treatment .treatment-section .treatment-section-items .treatment-section-item table.compensation-table tbody tr:nth-child(odd) {
            height: 120px; }
          .wrapper--treatment .container main .treatment .treatment-section .treatment-section-items .treatment-section-item table.compensation-table tbody tr:nth-child(even) {
            height: 70px; }
          .wrapper--treatment .container main .treatment .treatment-section .treatment-section-items .treatment-section-item table.compensation-table tbody tr td {
            height: auto;
            padding: 19px 10px; }
          .wrapper--treatment .container main .treatment .treatment-section .treatment-section-items .treatment-section-item table.vacation-table {
            margin-top: 23px;
            margin-bottom: 19px; }
            .wrapper--treatment .container main .treatment .treatment-section .treatment-section-items .treatment-section-item table.vacation-table thead th {
              width: auto;
              padding: 16px 28px; }
            .wrapper--treatment .container main .treatment .treatment-section .treatment-section-items .treatment-section-item table.vacation-table tbody td {
              padding: 19px 10px; }
          .wrapper--treatment .container main .treatment .treatment-section .treatment-section-items .treatment-section-item .salary-reference .reference-link-container {
            margin-top: 18px !important; }
  .wrapper--data .anchors {
    display: block;
    padding: 7px 21px; }
  .wrapper--data .anchor-link {
    width: 100%;
    margin: 0 0 30px; }
    .wrapper--data .anchor-link:not(:nth-child(4n)) {
      margin: 0 0 30px; }
  .wrapper--data .common-title__text {
    font-size: 25px;
    letter-spacing: 0.7px; }
  .wrapper--data .data {
    padding: 63px 21px 0; }
  .wrapper--data .data__container:not(:last-child) {
    padding: 0 0 48px; }
  .wrapper--data .data__content-container {
    display: block;
    padding: 50px 0 28px; }
  .wrapper--data .data-content__picture {
    height: auto; }
    .wrapper--data .data-content__picture--1-1 {
      margin: 0 0 47px;
      width: 100%; }
    .wrapper--data .data-content__picture--1-2 {
      margin: 0 0 50px;
      width: 100%; }
    .wrapper--data .data-content__picture--1-3 {
      margin: 0 0 41px;
      width: 100%; }
    .wrapper--data .data-content__picture--1-4 {
      width: 100%; }
    .wrapper--data .data-content__picture--2-1 {
      margin: 0 0 48px;
      width: 100%; }
    .wrapper--data .data-content__picture--2-2 {
      margin: 0 0 49px;
      width: 100%; }
    .wrapper--data .data-content__picture--2-3 {
      width: 100%; }
    .wrapper--data .data-content__picture--3-1 {
      display: block;
      width: 100%;
      max-width: 300px;
      margin: 0 auto 50px; }
    .wrapper--data .data-content__picture--3-2 {
      display: block;
      width: 100%;
      max-width: 224px;
      margin: 0 auto 51px; }
    .wrapper--data .data-content__picture--3-3 {
      display: block;
      width: 100%;
      max-width: 212px;
      margin: auto; }
  .wrapper--data .data-sugata {
    width: 100%;
    margin: 0 0 47px;
    padding: 22px 20px; }
    .wrapper--data .data-sugata__number {
      font-size: 26px; }
    .wrapper--data .data-sugata__date {
      display: block;
      white-space: nowrap; }
  .wrapper--data .data-pride {
    padding: 51px 21px 100px; }
    .wrapper--data .data-pride .common-title {
      margin: 0 0 28px; }
    .wrapper--data .data-pride__container {
      padding: 22px 0 0; }
      .wrapper--data .data-pride__container--1 .data-pride__content-container {
        align-items: flex-end; }
      .wrapper--data .data-pride__container--2 .data-pride__content-container {
        align-items: flex-end; }
    .wrapper--data .data-pride__link {
      padding: 55px 0 0; }
  .wrapper--data .data-pride-title {
    margin: 0 0 30px;
    font-size: 20px;
    letter-spacing: 0; }
      .wrapper--data .data-pride-content__picture--1-1 {
        width: 100%;
        margin: 0; }
      .wrapper--data .data-pride-content__picture--1-2 {
        width: 100%;
        margin: 0; }
      .wrapper--data .data-pride-content__picture--1-3 {
        width: 100%;
        margin: 0; }
      .wrapper--data .data-pride-content__picture--1-4 {
        width: 100%;
        margin: 0; }
      .wrapper--data .data-pride-content__picture--2-1 {
        width: 100%;
        margin: 0; }
      .wrapper--data .data-pride-content__picture--2-2 {
        width: 100%;
        margin: 0; }
      .wrapper--data .data-pride-content__picture--2-3 {
        width: 100%;
        margin: 0; }
      .wrapper--data .data-pride-content__picture--3-1 {
        width: 100%;
        margin: 0; }
      .wrapper--data .data-pride-content__picture--3-2 {
        width: 100%;
        margin: 0; }
      .wrapper--data .data-pride-content__picture--3-3 {
        width: 100%;
        margin: 0; }
      .wrapper--data .data-pride-content__picture--3-4 {
        width: 100%;
        margin: 0; }
  .wrapper--data .common-link {
    width: 100%;
    font-size: 14px;
    padding: 22px 0; }
    .wrapper--data .common-link::before {
      right: 13px; }
  .wrapper--contact .container {
    padding: 0 0 144px; }
  .wrapper--contact .contact {
    padding: 140px 20px 0; }
    .wrapper--contact .contact__title {
      margin: 0 0 75px;
      font-size: 40px;
      letter-spacing: 7px; }
  .wrapper--contact .contact-introduction {
    margin: 0 0 100px; }
    .wrapper--contact .contact-introduction__description {
      margin: 0 0 45px;
      line-height: 1.8; }
    .wrapper--contact .contact-introduction__link {
      width: 100%; }
  .wrapper--contact .form__content-container {
    margin: 0 0 82px; }
  .wrapper--contact .form-content {
    display: block; }
    .wrapper--contact .form-content:not(:last-child) {
      margin: 0 0 50px; }
    .wrapper--contact .form-content__label-box {
      width: 100%;
      margin: 0 0 20px; }
      .wrapper--contact .form-content__label-box label {
        letter-spacing: 1.9px; }
        .wrapper--contact .form-content__label-box label .required {
          margin: 0 0 0 11px; }
    .wrapper--contact .form-content__input-box input,
    .wrapper--contact .form-content__input-box textarea {
      line-height: 1.6; }
    .wrapper--contact .form-content__input-box input {
      padding: 16px 15px 14px; }
    .wrapper--contact .form-content__input-box textarea {
      min-height: 260px;
      padding: 16px 15px; }
    .wrapper--contact .form-content__input-box .notice {
      padding: 10px 0 0;
      letter-spacing: 1px; }
    .wrapper--contact .form-content--tel label {
      margin: 0; }
  .wrapper--contact .form-content-select {
    width: 100%; }
  .wrapper--contact .form-submit-box__privacy {
    margin: 0 0 51px;
    letter-spacing: 1px;
    line-height: 1.8;
    text-align: left; }
    .wrapper--contact .form-submit-box__privacy a {
      padding: 0 0 2px; }
  .wrapper--contact .form-submit-box-checkbox {
    margin: 0 0 88px; }
    .wrapper--contact .form-submit-box-checkbox label {
      padding: 0 0 0 47px;
      letter-spacing: 1px; }
      .wrapper--contact .form-submit-box-checkbox label::after {
        left: 7px; }
  .wrapper--contact .form-submit-box-button-box {
    width: 100%; }
    .wrapper--contact .form-submit-box-button-box__button {
      width: 100%;
      font-size: 14px;
      padding: 22px 0; }
      .wrapper--contact .form-submit-box-button-box__button::before {
        right: 13px; }
  .wrapper--personality .container {
    padding: 0 0 119px; }
  .wrapper--personality .personality {
    padding: 0 20px; }
  .wrapper--personality .personality-image {
    position: relative;
    top: 0;
    margin: -15px 0 42px; }
    .wrapper--personality .personality-image__picture-figure img {
      width: 100%; }
  .wrapper--personality .personality-content {
    padding: 0 0 0 39px; }
    .wrapper--personality .personality-content:not(:last-child) {
      margin: 0 0 39px; }
    .wrapper--personality .personality-content__number {
      top: -8px;
      font-size: 40px; }
    .wrapper--personality .personality-content__title {
      margin: 0 0 25px;
      font-size: 25px;
      letter-spacing: 3px; }
    .wrapper--personality .personality-content__description {
      letter-spacing: 0.3px; }
  .wrapper--link .container {
    padding: 0 0 88px; }
  .wrapper--link .link {
    padding: 59px 0 0; }
    .wrapper--link .link__content-container {
      display: block;
      padding: 0 20px; }
  .wrapper--link .link-content {
    width: 100%; }
    .wrapper--link .link-content:not(:nth-child(4n)) {
      margin: 0 0 50px; }
    .wrapper--link .link-content:not(:last-child) {
      margin: 0 0 50px; }
    .wrapper--link .link-content__title {
      margin: 0 0 19px;
      letter-spacing: 0.3px; }
    .wrapper--link .link-content__picture {
      height: 168px; }
  .wrapper--top-message .container {
    padding: 100px 0 143px; }
  .wrapper--top-message .top-message {
    padding: 0; }
    .wrapper--top-message .top-message__title {
      top: -10px;
      left: 16px;
      font-size: 25px;
      letter-spacing: 2.6px; }
    .wrapper--top-message .top-message__thumbnail {
      height: 250px;
      margin: 0 0 62px; }
  .wrapper--top-message .top-message-copy {
    position: relative;
    top: 0;
    left: 0;
    margin: 0 0 37px;
    padding: 0 21px; }
    .wrapper--top-message .top-message-copy img {
      width: 260px; }
  .wrapper--top-message .top-message-content {
    padding: 0 20px;
    margin: 0 0 71px; }
    .wrapper--top-message .top-message-content__description {
      font-size: 16px;
      letter-spacing: 0.7px; }
      .wrapper--top-message .top-message-content__description:not(:last-child) {
        margin: 0 0 30px; }
  .wrapper--top-message .name-box {
    padding: 0 28px 0 0; }
    .wrapper--top-message .name-box__title {
      margin: 16px 19px 0 0;
      letter-spacing: 1px;
      font-size: 16px; }
    .wrapper--top-message .name-box__name img {
      width: 223px; }
  .wrapper--concept .container {
    padding: 141px 0 145px; }
  .wrapper--concept .concept__container {
    margin: 0 0 86px; }
  .wrapper--concept .concept-title-box {
    margin: 0 0 65px;
    padding: 0 20px; }
    .wrapper--concept .concept-title-box__copy {
      margin: 0 0 50px;
      padding: 0 10px 0 0; }
      .wrapper--concept .concept-title-box__copy img {
        width: 157px; }
  .wrapper--concept .concept-title-deco__main {
    width: 311px; }
  .wrapper--concept .concept-title-deco-line span {
    left: 0;
    margin-top: 1px;
    height: 25px; }
  .wrapper--concept .concept-content {
    padding: 0 20px; }
    .wrapper--concept .concept-content__description {
      font-size: 18px;
      line-height: 2.33;
      letter-spacing: 0.6px; }
      .wrapper--concept .concept-content__description:not(:last-child) {
        margin: 0 0 16px; }
  .wrapper--staffs-article .container {
    padding: 0 0 125px; }
  .wrapper--staffs-article .staffs-kv {
    margin: 0 0 53px;
    padding: 90px 0 0; }
    .wrapper--staffs-article .staffs-kv__container {
      display: block;
      padding: 0 0 60px; }
  .wrapper--staffs-article .staffs-kv-name-box {
    width: 100%;
    padding: 30px 20px; }
    .wrapper--staffs-article .staffs-kv-name-box__name {
      margin: 0 0 14px;
      font-size: 25px;
      letter-spacing: 3px; }
    .wrapper--staffs-article .staffs-kv-name-box__year {
      margin: 0 0 20px; }
    .wrapper--staffs-article .staffs-kv-name-box__department {
      padding: 3px 19px;
      font-size: 14px; }
  .wrapper--staffs-article .staffs-kv-title {
    padding: 0 21px; }
    .wrapper--staffs-article .staffs-kv-title__handwritten {
      top: -52px;
      margin: 0 0 0 10px; }
      .wrapper--staffs-article .staffs-kv-title__handwritten img {
        width: 140px; }
    .wrapper--staffs-article .staffs-kv-title__figure img {
      width: 100%; }
  .wrapper--staffs-article .staffs-kv-thumbnail {
    width: 100%;
    height: 281px; }
  .wrapper--staffs-article .staffs-title-container {
    padding: 0 21px;
    margin: 0 0 71px; }
    .wrapper--staffs-article .staffs-title-container__title {
      margin: 0 0 17px;
      font-size: 25px;
      text-align: left;
      letter-spacing: 2.4px; }
  .wrapper--staffs-article .career {
    margin: 0 0 74px; }
    .wrapper--staffs-article .career__container {
      margin: 0;
      padding: 74px 20px; }
    .wrapper--staffs-article .career__notice {
      padding: 20px 0;
      text-align: center; }
  .wrapper--staffs-article .career-title {
    top: -17px;
    right: initial;
    left: 21px;
    font-size: 35px;
    letter-spacing: 3.1px; }
  .wrapper--staffs-article .career-content:not(:last-child) {
    padding: 0 0 30px; }
  .wrapper--staffs-article .career-content__year {
    width: 129px; }
  .wrapper--staffs-article .circle-box {
    top: 7px;
    left: 85px; }
    .wrapper--staffs-article .circle-box__line {
      top: 7px; }
  .wrapper--staffs-article .article__container {
    margin: 0 0 96px; }
  .wrapper--staffs-article .article-content {
    display: block; }
    .wrapper--staffs-article .article-content__text-box {
      margin: 0 0 28px; }
    .wrapper--staffs-article .article-content:not(:last-child) {
      margin: 0 0 50px; }
    .wrapper--staffs-article .article-content:nth-child(1) {
      padding: 0 20px; }
      .wrapper--staffs-article .article-content:nth-child(1) .article-content__text-box {
        padding: 0; }
      .wrapper--staffs-article .article-content:nth-child(1) .article-content__picture-box img {
        width: 100%; }
    .wrapper--staffs-article .article-content:nth-child(2) {
      padding: 0 20px; }
      .wrapper--staffs-article .article-content:nth-child(2) .article-content__text-box {
        padding: 0; }
      .wrapper--staffs-article .article-content:nth-child(2) .article-content__picture-box img {
        width: 100%; }
    .wrapper--staffs-article .article-content:nth-child(3) {
      padding: 0 20px; }
      .wrapper--staffs-article .article-content:nth-child(3) .article-content__text-box {
        padding: 0; }
      .wrapper--staffs-article .article-content:nth-child(3) .article-content__picture-box img {
        width: 100%; }
    .wrapper--staffs-article .article-content:nth-child(4) {
      padding: 0 20px; }
      .wrapper--staffs-article .article-content:nth-child(4) .article-content__text-box {
        padding: 0; }
      .wrapper--staffs-article .article-content:nth-child(4) .article-content__picture-box img {
        width: 100%; }
  .wrapper--staffs-article .article-content-text-box__title {
    margin: 0 0 16px;
    font-size: 25px;
    letter-spacing: 0.5px; }
  .wrapper--staffs-article .message {
    margin: 0 0 130px;
    padding: 0 20px 0 0; }
    .wrapper--staffs-article .message__container {
      padding: 53px 20px 54px; }
      .wrapper--staffs-article .message__container::before {
        right: 20px; }
  .wrapper--staffs-article .message-title {
    position: absolute;
    top: -17px;
    bottom: initial;
    left: 21px;
    font-size: 35px;
    letter-spacing: 3.4px; }
  .wrapper--staffs-article .message-content {
    display: block; }
    .wrapper--staffs-article .message-content__title {
      width: 100%;
      margin: 0 0 47px;
      font-size: 25px;
      letter-spacing: 2.4px; }
    .wrapper--staffs-article .message-content__description {
      padding: 0;
      letter-spacing: 0.61px; }
  .wrapper--staffs-article .other-staffs {
    padding: 0 20px; }
    .wrapper--staffs-article .other-staffs .common-title {
      margin: 0 0 60px; }
      .wrapper--staffs-article .other-staffs .common-title__text {
        font-size: 25px;
        letter-spacing: 0.7px; }
    .wrapper--staffs-article .other-staffs .common-link {
      width: 100%; }
  .wrapper--staffs-article .staff-cards {
    margin: 0 0 30px; }
  .wrapper--plan .container {
    padding: 0 0 105px; }
  .wrapper--plan .main {
    padding: 7px 21px 0; }
  .wrapper--plan .common-title {
    margin: 0 0 34px;
    padding: 0 0 30px; }
    .wrapper--plan .common-title__text {
      font-size: 25px;
      letter-spacing: 0.3px; }
  .wrapper--plan .test-information {
    margin: 0 0 118px; }
  .wrapper--plan .test-information-content:not(:last-child) {
    margin: 0 0 74px; }
  .wrapper--plan .test-information-content__title {
    margin: 0 0 24px;
    font-size: 20px;
    letter-spacing: 1px; }
  .wrapper--plan .test-information-content--status .test-information-item:not(:last-child) {
    margin: 0 0 26px; }
  .wrapper--plan .test-information-content .common-link {
    width: 100%; }
  .wrapper--plan .test-information-item:not(:last-child) {
    margin: 0 0 38px; }
  .wrapper--plan .test-information-item__title {
    margin: 0 0 20px;
    line-height: 1.8; }
  .wrapper--plan .test-information-item__link {
    line-height: 1.8; }
    .wrapper--plan .test-information-item__link::after {
      top: 2px;
      left: -3px; }
  .wrapper--plan .event-information__title {
    margin: 0 0 43px;
    font-size: 20px;
    letter-spacing: 0.3px; }
  .wrapper--plan .event-information__content-container {
    display: block; }
  .wrapper--plan .event-information .common-title {
    margin: 0 0 50px; }
  .wrapper--plan .event-information-content {
    width: 100%; }
    .wrapper--plan .event-information-content:not(:last-child) {
      margin: 0 0 38px !important; }
    .wrapper--plan .event-information-content:not(:nth-child(2n)) {
      margin: 0; }
    .wrapper--plan .event-information-content__title {
      margin: 0 0 20px;
      font-size: 16px;
      letter-spacing: 0.2px; }
    .wrapper--plan .event-information-content__description {
      font-size: 14px;
      line-height: 1.8;
      letter-spacing: 1px; }
  .wrapper--next .container {
    padding: 0 0 100px; }
  .wrapper--next .main {
    padding: 0 20px; }
  .wrapper--next .saga-future__content-container {
    display: block; }
  .wrapper--next-article .container {
    padding: 110px 0 98px; }
  .wrapper--next-article .next-article__title {
    margin: 0 0 57px; }
    .wrapper--next-article .next-article__title img {
      height: 18px; }
  .wrapper--next-article .kv {
    margin: 0 0 53px; }
  .wrapper--next-article .summary {
    margin: 0 auto 51px;
    padding: 0 20px; }
    .wrapper--next-article .summary__title {
      margin: 0 auto 43px;
      font-size: 25px;
      letter-spacing: 0; }
      .wrapper--next-article .summary__title .decos {
        bottom: -20px;
        width: 168px; }
    .wrapper--next-article .summary__description {
      line-height: 1.82; }
  .wrapper--next-article .profile__content-container {
    display: block; }
  .wrapper--next-article .profile__title {
    display: none; }
  .wrapper--next-article .profile__notice {
    padding: 21px 10px 0;
    text-align: center;
    letter-spacing: 0; }
  .wrapper--next-article .profile-content {
    padding: 40px 20px 34px; }
    .wrapper--next-article .profile-content--left .profile-content-head {
      flex-direction: row; }
      .wrapper--next-article .profile-content--left .profile-content-head__text-box {
        text-align: left;
        padding: 20px 0 0 30px; }
    .wrapper--next-article .profile-content__description {
      line-height: 1.8;
      font-size: 14px;
      letter-spacing: 1.5px; }
  .wrapper--next-article .profile-content-head {
    margin: 0 0 25px; }
    .wrapper--next-article .profile-content-head__thumbnail {
      width: 130px;
      height: 130px; }
    .wrapper--next-article .profile-content-head__text-box {
      flex: 1;
      padding: 20px 0 0 30px; }
      .wrapper--next-article .profile-content-head__text-box .name {
        font-size: 24px; }
      .wrapper--next-article .profile-content-head__text-box .title {
        font-size: 16px;
        line-height: 1.8; }
  .wrapper--next-article .article {
    padding: 74px 0 0; }
    .wrapper--next-article .article__container {
      margin: 0 0 90px; }
  .wrapper--next-article .article-content:not(:last-child) {
    margin: 0 0 91px; }
  .wrapper--next-article .article-content__title {
    margin: 0 auto 43px;
    padding: 0 20px;
    font-size: 25px;
    letter-spacing: 0; }
  .wrapper--next-article .article-content .caption {
    padding: 20px 20px 0;
    text-align: left; }
  .wrapper--next-article .article-items {
    margin: 0 auto 54px;
    padding: 0 20px; }
  .wrapper--next-article .article-item:not(:last-child) {
    margin: 0 0 51px; }
  .wrapper--next-article .article-item::before {
    content: none; }
  .wrapper--next-article .article-item--left {
    padding: 0; }
    .wrapper--next-article .article-item--left .article-item__name {
      left: 0;
      border-bottom: 2px solid #00A2EA; }
  .wrapper--next-article .article-item--right {
    padding: 0; }
    .wrapper--next-article .article-item--right .article-item__name {
      right: 0;
      text-align: right;
      border-bottom: 2px solid #F00BD8; }
  .wrapper--next-article .article-item__name {
    margin: 0 0 25px;
    padding: 0 0 19px;
    letter-spacing: 2px; }
  .wrapper--next-article .article-item__description {
    font-size: 16px;
    line-height: 1.82;
    letter-spacing: 1.6px; }
  .wrapper--next-article .other-article {
    padding: 0 20px; }
    .wrapper--next-article .other-article__container {
      padding: 90px 0 0;
      border-top: 1px solid black; }
    .wrapper--next-article .other-article__title {
      margin: 0 0 60px;
      font-size: 25px;
      letter-spacing: 0.6px; }
    .wrapper--next-article .other-article__content-container {
      display: block; }
  .wrapper--vision .container {
    padding: 0 0 145px; }
  .wrapper--vision .main {
    padding: 0 20px; }
  .wrapper--vision .common-title {
    padding: 0 0 21px; }
    .wrapper--vision .common-title__text {
      font-size: 25px;
      letter-spacing: 0.3px;
      line-height: 1.6; }
  .wrapper--vision .list {
    margin: 0 0 21px;
    letter-spacing: 0.4px; }
  .wrapper--vision .link-box__link {
    letter-spacing: 0.4px; }
    .wrapper--vision .link-box__link::after {
      top: 2px;
      left: -2px; }
  .wrapper--vision .link-box + .link-box {
    margin: 20px 0 0; }
  .wrapper--vision .link-box + .list {
    margin: 42px 0 21px; }
  .wrapper--vision .common-link-box {
    padding: 4px 0 10px; }
    .wrapper--vision .common-link-box__link {
      width: 100%;
      padding: 22px 0;
      font-size: 15px;
      letter-spacing: 1px; }
      .wrapper--vision .common-link-box__link::after {
        right: 14px; }
  .wrapper--vision .philosophy {
    padding: 64px 0; }
  .wrapper--vision .action {
    padding: 10px 0; }
    .wrapper--vision .action__container {
      display: block;
      padding: 50px 0 0; }
    .wrapper--vision .action__content-container:not(:last-child) {
      margin: 0; }
  .wrapper--vision .action-content {
    padding: 0;
    margin: 0 0 51px; }
    .wrapper--vision .action-content:not(:last-child) {
      margin: 0 0 51px; }
    .wrapper--vision .action-content__title {
      margin: 0 0 27px;
      padding: 0 0 0 26px;
      font-size: 16px;
      letter-spacing: 0; }
      .wrapper--vision .action-content__title span {
        top: 0;
        left: 0;
        letter-spacing: 0; }
  .wrapper--vision .state {
    padding: 54px 0 0; }
    .wrapper--vision .state .common-link-box {
      padding: 80px 0 0; } }
  @media screen and (min-width: 767px) and (max-width: 1210px) {
  .header__container::before {
    height: 75px; }
  .logo {
    position: fixed;
    top: 17px;
    left: 20px;
    width: 260px; }
  .menu {
    top: 24px;
    right: 20px; }
  .menu-content:not(:last-child) {
    margin: 0 25px 0 0; }
  .header-sns__link:not(:last-child) {
    margin: 0 10px 0 0; }
  .menu-content .line {
    left: -11px; } }
  @media (min-width: 1023px) {
  .menu-button {
    display: none; } }
  @media (max-width: 1023px) {
  .header {
    position: relative;
    top: 0;
    left: 0;
    right: 0; }
    .header.active .menu {
      opacity: 1;
      pointer-events: auto; }
    .header__container::before {
      position: fixed;
      height: 60px; }
    .header__bg {
      display: none; }
  .logo {
    top: 12px;
    left: 21px;
    width: 231px;
    z-index: 1; }
  .menu {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    padding: 120px 21px;
    opacity: 0;
    pointer-events: none;
    background: white;
    min-height: 100vh;
    transition: opacity, .5s;
    transition-timing-function: ease-out;
    overflow: auto; }
    .menu__content-container {
      display: block; }
  .menu-content:not(:last-child) {
    margin: 0 0 50px; }
  .menu-content__title {
    font-size: 20px;
    color: #00A2EA;
    letter-spacing: 2px; }
  .menu-content .line {
    display: none; }
  .sub-menu {
    position: relative;
    top: 0;
    left: 0; }
    .sub-menu__container {
      position: relative;
      padding: 40px 0 0 31px; }
      .sub-menu__container::before {
        display: block;
        position: absolute;
        top: 20px;
        left: 10px;
        width: 1px;
        height: 100%;
        transition: height, .5s;
        transition-timing-function: ease-out;
        background: #00A2EA;
        content: ""; }
  .sub-menu-content:not(:last-child) {
    margin: 0 0 40px; }
  .sub-menu-content__link {
    font-size: 16px;
    letter-spacing: 1.5px; }
  .header-sns {
    display: none; } }


.wrapper--why-choose-saga-for-mid-career .main__container {
  padding: 0 56px; 
}

.wrapper--why-choose-saga-for-mid-career .common-title__text {
  padding: 0 0 30px;
  margin-bottom: 50px;
  font-size: 40px;
  letter-spacing: 4px;
  border-bottom: 1px solid black; }


.wrapper--why-choose-saga-for-mid-career .points {
  display: flex;
  flex-direction: column;
  gap: 130px;
  margin-bottom: 92px;
}

.wrapper--why-choose-saga-for-mid-career .point {
  display: flex;
  gap: 56px;
}

.wrapper--why-choose-saga-for-mid-career .point:first-child .point__image-box {
  width: 65%;
}

.wrapper--why-choose-saga-for-mid-career .point:nth-child(even) {
  flex-direction: row-reverse;
}

.wrapper--why-choose-saga-for-mid-career .point__image-box {
  position: relative;
  width: 47%; }

.wrapper--why-choose-saga-for-mid-career .point__image-box img {
  width: 100%; }

  .wrapper--why-choose-saga-for-mid-career .point__image-box p {
    position: absolute;
    top: -27px;
    left: 30px;
    font-family: YuMincho, "Yu Mincho", serif;
    font-size: 60px;
    color: #00A2EA; }

  .wrapper--why-choose-saga-for-mid-career .point__text-box {
    margin-top: -13px;
    flex: 1; }

    .wrapper--why-choose-saga-for-mid-career .point__text-box h3 {
      font-size: 30px;
      color: #00A2EA;
      line-height: 1.8;
      margin-bottom: 40px;
    }

    .wrapper--why-choose-saga-for-mid-career .point__text-box p {
      line-height: 1.75;
    }

    .wrapper--why-choose-saga-for-mid-career .point__text-box h3 small,
    .wrapper--why-choose-saga-for-mid-career .point__text-box p small {
      font-size: 12px;
      vertical-align: super;
    }

    .wrapper--why-choose-saga-for-mid-career .point__text-box p span {
      display: block;
      font-size: 12px;
      margin-top: 20px;
    }


.wrapper--why-choose-saga-for-mid-career .staffs {
  margin-bottom: 100px;
}

.wrapper--why-choose-saga-for-mid-career .staff-cards {
  gap: 50px 0; }


.wrapper--why-choose-saga-for-mid-career .message {
  padding-right: 56px;
}

.wrapper--why-choose-saga-for-mid-career .message__container {
  display: flex;
  justify-content: space-between;
  gap: 30px;
  position: relative;
  background: #00A2EA;
  padding: 72px 56px 64px;
}

.wrapper--why-choose-saga-for-mid-career .message-en {
  position: absolute;
  top: -30px;
  left: 56px;
  font-size: 60px;
}

.wrapper--why-choose-saga-for-mid-career .message__title-box {
  flex: 1;
}

.wrapper--why-choose-saga-for-mid-career .message__title-box h2 {
  color: white;
  font-size: 40px;
  margin-bottom: 35px;
}

.wrapper--why-choose-saga-for-mid-career .message__title-box img {
  width: 168px;
  height: auto;
}

.wrapper--why-choose-saga-for-mid-career .message__text-box {
  width: 560px;
}

.wrapper--why-choose-saga-for-mid-career .message__text-box p {
  color: white;
  line-height: 1.75 ;
}

.wrapper--why-choose-saga-for-mid-career .cta {
  padding: 80px 56px 187px;
}

.wrapper--why-choose-saga-for-mid-career .cta a {
  max-width: 616px;
  margin: 0 auto;
}

.wrapper--why-choose-saga-for-mid-career .cta .notice {
  margin-top: 20px;
  text-align: center;
  font-size: 14px;
  color: #E60012;
}

@media (max-width: 767px) {
  .wrapper--why-choose-saga-for-mid-career .main__container {
    padding: 0 21px; 
  }
  
  .wrapper--why-choose-saga-for-mid-career .common-title__text {
    font-size: 25px;
    letter-spacing: 0.7px; }
  
  
  .wrapper--why-choose-saga-for-mid-career .points {
    gap: 124px;
    margin-bottom: 119px;
  }
  
  .wrapper--why-choose-saga-for-mid-career .point {
    flex-direction: column;
    gap: 30px;
  }
  
  .wrapper--why-choose-saga-for-mid-career .point:first-child .point__image-box {
    width: 100%;
  }
  
  .wrapper--why-choose-saga-for-mid-career .point:nth-child(even) {
    flex-direction: column;
  }
  
  .wrapper--why-choose-saga-for-mid-career .point__image-box {
    width: 100%; }
  
    .wrapper--why-choose-saga-for-mid-career .point__image-box p {
      top: -20px;
      left: 0;
      font-size: 40px; }
  
    .wrapper--why-choose-saga-for-mid-career .point__text-box {
      margin-top: 0; }
  
      .wrapper--why-choose-saga-for-mid-career .point__text-box h3 {
        font-size: 25px;
        line-height: 1.6;
        margin-bottom: 30px;
      }
  
  .wrapper--why-choose-saga-for-mid-career .staffs {
    margin-bottom: 57px;
  }
  
  .wrapper--why-choose-saga-for-mid-career .staff-cards {
    gap: 0; }
  
  
  .wrapper--why-choose-saga-for-mid-career .message {
    padding-right: 21px;
  }
  
  .wrapper--why-choose-saga-for-mid-career .message__container {
    flex-direction: column;
    padding: 55px 21px 120px;
  }
  
  .wrapper--why-choose-saga-for-mid-career .message-en {
    top: -18px;
    left: 21px;
    font-size: 35px;
  }
  
  .wrapper--why-choose-saga-for-mid-career .message__title-box {
    display: flex;
    justify-content: space-between;
  }
  
  .wrapper--why-choose-saga-for-mid-career .message__title-box h2 {
    font-size: 25px;
    margin-bottom: 0;
    line-height: 1.6; 
  }
  
  .wrapper--why-choose-saga-for-mid-career .message__title-box img {
    position: relative;
    right: -42px;
    width: 119px;
  }
  
  .wrapper--why-choose-saga-for-mid-career .message__text-box {
    width: 100%;
  }
  
  .wrapper--why-choose-saga-for-mid-career .cta {
    padding: 60px 21px 136px;
  }

  .wrapper--why-choose-saga-for-mid-career .cta a {
    line-height: 1.6;
  }
}

.wrapper--index .midcareer-banner {
  padding: 0 56px 13px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.wrapper--index .midcareer-banner a {
  display: block;
  transition: opacity, .3s;
  transition-timing-function: ease-out;
}

.wrapper--index .midcareer-banner a:hover {
  opacity: 0.7;
}

.wrapper--index .midcareer-banner img {
  width: 100%;
}

@media (max-width: 767px) {
  .wrapper--index .midcareer-banner {
    padding: 48px 21px 0;
  }
}

.grecaptcha-badge {
  visibility: hidden;
}

.career-path-section {
  margin: 50px 0 107px;
  padding: 0 55px;

  @media (max-width: 767px) {
    padding: 0 20px;
  }

  .common-title {
    margin-bottom: 40px;
  }

  .career-path-content__text {
    p {
      font-size: 14px;
      line-height: 1.8;

      @media (max-width: 767px) {
        font-size: 16px;
      }
    }
  }

  .career-path-content__notice {
    p {
      font-size: 14px;
      line-height: 1.8;      
    }
  }

  .career-path-diagram {
    margin: 47px 0 30px;
    @media (max-width: 767px) {
      overflow: auto;
    }


    img {
      width: 100%;

      @media (max-width: 767px) {
        width: 767px;
      }
    }
  }
}

.career-path-interview {
  padding: 0 52px;
  margin-bottom: 107px;

  @media (max-width: 767px) {
    padding: 0 20px;
  }

  .common-title {
    margin-bottom: 40px;
  }

  .career-path-interview__text {
    font-size: 14px;
    line-height: 1.8;

    @media (max-width: 767px) {
      font-size: 16px;
    }
  }

  .interview-card {
    margin-bottom: 154px;
  }

  .interview-card-profile {
    position: relative;
    margin: 50px 0 45px;

    .interview-card-profile__info {
      position: absolute;
      top: 30px;
      left: 30px;
      padding: 20px;
      background: white;

      @media (max-width: 767px) {
        top: initial;
        left: 0;
        bottom: 22px;
        padding: 16px;
      }

      .interview-card__department {
        display: inline-block;
        margin-bottom: 8px;
        padding: 5px 13px;
        background: #00A2EA;
        color: white;

        @media (max-width: 767px) {
          font-size: 14px;
        }
      }

      .interview-card__name {
        line-height: 1.6;
        font-size: 28px;
        margin-bottom: 10px;

        @media (max-width: 767px) {
          font-size: 22px;
        }
      }

      .interview-card__year {
        font-size: 14px;
        line-height: 1.6;

        @media (max-width: 767px) {
          font-size: 12px;
        }
      }
    }
    .interview-card-profile__image {
      margin-right: -52px;

      @media (max-width: 767px) {
        margin: 0 -20px;
      }

      img {
        width: 100%;
      }
    }
  }

  .interview-card__career-path {
    margin-bottom: 75px;
    line-height: 1.625;

    .interview-card__career-path-text {
      line-height: 1.5;
      margin-bottom: 24px;
    }

    .career-path-item {
      position: relative;
      display: flex;
      align-items: flex-start;

      &:not(:last-child) {
        margin: 0 0 25px;
      }

      .career-path-item__circle {
        width: 27px;
        height: 27px;
        margin-right: 11px;
        border-radius: 100%;
        background: white;
        border: 1px solid #00A2EA;

        &::before {
          content: "";
          position: absolute;
          top: 27px;
          left: 13.5px;
          width: 1px;
          height: calc(100% + 25px);
          background: #00A2EA;
        }
      }

      &:nth-last-child(2) .career-path-item__circle::after {
        content: "";
        position: absolute;
        height: 7px;
        clip-path: polygon(0 0, 100% 0, 50% 100%);
        width: 9px;
        left: 9px;
        top: calc(100% + 25px - 6px);
        background: #00A2EA;
      }

      &:last-child .career-path-item__circle::before {
        display: none;
      }

      .career-path-item__year {
        width: 110px;
      }
      .career-path-item__department {
        flex: 1;
      }
    }
  }
}

.interview-content {
  .interview-content__title {
    font-size: 28px;
    margin-bottom: 30px;
    line-height: 1.46;
    color: #00A2EA;

    @media (max-width: 767px) {
      font-size: 26px;
    }
  }

  .interview-content__image {
    margin: 45px 0 40px;

    @media (max-width: 767px) {
      margin-right: -20px;
    }
    
    img {
      width: 100%;
    }
  }

  .interview-qa {
    margin-bottom: 35px;

    .interview-qa__question {
      position: relative;
      display: flex;
      align-items: flex-start;
      line-height: 1.8;
      margin-bottom: 24px;
      color: #00A2EA;
      padding-bottom: 19px;
      border-bottom: 1px dashed rgba(119, 119, 119, 0.25);

      @media (max-width: 767px) {
        padding-bottom: 15px;
        margin-bottom: 20px;
        display: block;
      }

      span {
        display: inline-block;
        content: "Q.";
        font-size: 26px;
        font-family: "Montserrat", sans-serif;
        position: relative;
        padding-right: 30px;
        margin-right: 30px;
        line-height: 1;
        color: #00A2EA;

        @media (max-width: 767px) {
          margin-bottom: 10px;
        }

        &::after {
          content: "";
          position: absolute;
          right: 0;
          top: 50%;
          transform: translateY(-50%);
          height: 18px;
          border-right: 1px dashed #777777;

          @media (max-width: 767px) {
            display: none;
          }
        }
      }
    }

    .interview-qa__answer {
      line-height: 1.8;
      display: flex;
      align-items: flex-start;

      @media (max-width: 767px) {
        display: block;
      }

      p {
        flex: 1;
      }

      span {
        display: inline-block;
        content: "A.";
        font-size: 26px;
        font-family: "Montserrat", sans-serif;
        position: relative;
        padding-right: 30px;
        margin-right: 30px;
        line-height: 1;

        @media (max-width: 767px) {
          margin-bottom: 10px;
        }

        &::after {
          content: "";
          position: absolute;
          right: 0;
          top: 50%;
          transform: translateY(-50%);
          height: 18px;
          border-right: 1px dashed #777777;

          @media (max-width: 767px) {
            display: none;
          }
        }
      }
    }
  }
}

.button-section {
  padding: 0 52px 120px;

  @media (max-width: 767px) {
    padding: 0 20px 90px;
  }

  .button-section-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
  }

  .common-title {
    margin-bottom: 40px;
  }

  .button-section__text {
    font-size: 14px;
    line-height: 1.8;

    @media (max-width: 767px) {
      font-size: 16px;
    }
  }

  .button-section__content {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-top: 40px;

    @media (max-width: 767px) {
      display: flex;
      flex-direction: column;
      gap: 10px;
    }
  }

  .button-section__item {
    position: relative;
    display: block;
    font-size: 28px;
    letter-spacing: 2px;
    text-align: center;
    transition-property: background, color;
    transition-duration: .3s;
    transition-timing-function: ease-out;
    border: 1px solid #00A2EA;
    padding: 28px 0;
    color: #00A2EA;
    cursor: pointer;
    appearance: none;
    background: white;

    @media (max-width: 767px) {
      padding: 18px 0;
      width: 100%;
      font-size: 20px;
    }
  }

  .button-section__item:hover {
    background: #00A2EA;
    color: white;
  }
}

.entry-links {
  max-width: 616px;
  margin: auto;
  padding: 0 20px 120px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 20px;

  .common-link::before {
    width: 42px;
    height: 18px;
    background-image: url(../img/common/arrow-right-w.png)!important;
  }

  .common-link:hover::before {
    right: 23px;
    background-image: url(../img/common/arrow-right.png)!important;
  }
}

.wrapper--career-path {
  .anchors {
    display: flex;
    align-items: start;
    padding: 0 56px;
    gap: 20px;

    @media (max-width: 767px) {
      flex-direction: column;
    }
  }

  .anchor-link {
    width: calc((100% - 100px) / 4);

    @media (max-width: 767px) {
      width: 100%;
    }
  }
}

.modal {
  padding: 0;
  border: none;
  max-width: 1020px;
  width: 90%;
  margin: auto;

  &::backdrop {
    background: rgba(200, 200, 200, 0.5);
  }

  &[open] {
    animation: modal-fade-in 0.3s ease-out;
  }

  .modal__container {
    padding: 60px;
    position: relative;

    @media (max-width: 767px) {
      padding: 56px 26px;
    }
  }

  .modal__content {
    table {
      border: 1px solid #DCDCDC;
      border-collapse: collapse;
      line-height: 1.42;
      font-size: 14px;

      @media (max-width: 767px) {
        width: 900px;
      }

      th {
        text-align: center;
        padding: 13px 20px;
        background-color: #F7F7F7;
        border: 1px solid #DCDCDC;
        white-space: nowrap;
      }
      td {
        padding: 13px 20px;
        border: 1px solid #DCDCDC;
        vertical-align: middle;
      }
    }
  }

  .modal__title {
    font-size: 34px;
    color: #00A2EA;
    padding-bottom: 30px;
    margin-bottom: 36px;
    border-bottom: 1px solid black;

    @media (max-width: 767px) {
      font-size: 21px;
      padding-bottom: 20px;
      margin-bottom: 22px;
    }
  }

  .modal__text {
    font-size: 14px;
    line-height: 1.8;

    b {
      text-decoration: underline;
    }
  }

  .modal__image {
    margin: 30px 0;
    overflow: auto;
    img {
      width: 100%;

      &.table {
        @media (max-width: 767px) {
          width: 900px;
        }
      }
    }
  }

  .modal__close {
    position: absolute;
    top: 30px;
    right: 30px;
    border: none;
    background: none;
    cursor: pointer;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: opacity 0.2s;

    @media (max-width: 767px) {
      top: 10px;
      right: 10px;
    }

    &:hover {
      opacity: 0.7;
    }

    img {
      width: 30px;
    }
  }
}

@keyframes modal-fade-in {
  from {
    opacity: 0;
    transform: translateY(-20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.slide {
  padding: 0 56px 137px;

  @media (max-width: 767px) {
    padding: 0 21px 90px;
  }

  iframe {
    border-radius: 0!important;
    box-shadow: none!important;
  }

  .common-title {
    margin-bottom: 100px;

    @media (max-width: 767px) {
      margin-bottom: 60px;
    }

    .common-title__text {
      letter-spacing: 0;
    }
  }
}
