@charset "UTF-8";
html {
  font-size: 62.5%; }

body {
  font-size: 1.6rem;
  font-family: 'Noto Sans JP', sans-serif, '游ゴシック体', YuGothic, 'Yu Gothic';
  font-weight: 400;
  letter-spacing: 0.01em;
  text-align: left;
  color: #333; }

a {
  transition: all 0.3s linear; }

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

@media (min-width: 751px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
    color: #333;
    text-decoration: none; }

  #container a[href*="tel:"] {
    text-decoration: none;
    color: #333; } }
input[type='text'],
textarea {
  width: 100%;
  border: solid 1px #C2C2C2;
  padding: 5px; }

select {
  border: solid 1px #C2C2C2;
  padding: 5px; }

textarea {
  height: 300px; }

input[type="checkbox"] {
  transform: scale(1.3);
  accent-color: #000; }

input[type="radio"] {
  margin-right: 5px; }

#wrapper {
  width: 100%; }

main {
  text-align: left;
  line-height: 1.65;
  min-height: 70px; }

.c-section01 {
  width: 100%;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto; }

@media screen and (max-width: 1200px) {
  .c-section01 {
    width: auto;
    margin: 0 60px; } }
.c-section02 {
  width: 100%;
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto; }

@media screen and (max-width: 1000px) {
  .c-section02 {
    width: auto;
    margin: 0 60px; } }
.c-inner01 {
  max-width: 1200px;
  margin: 0 auto; }

@media screen and (max-width: 1200px) {
  .c-inner01 {
    width: auto;
    margin: 0 60px; } }
.c-inner02 {
  max-width: 1000px;
  margin: 0 auto; }

@media screen and (max-width: 1000px) {
  .c-inner02 {
    width: auto;
    margin: 0 60px; } }
.c-pic-layout01 {
  display: flex;
  justify-content: space-between;
  margin-top: 5%;
  margin-bottom: 5%; }
.c-pic-item {
  width: 47%; }
  .c-pic-item:nth-child(2) {
    transition-delay: 0.3s; }
  .c-pic-item img {
    border-radius: 30px; }
  .c-pic-item:nth-child(2) {
    margin-top: 5%; }

.c-relation-sec {
  background: #F3FCFF;
  background: linear-gradient(180deg, #f3fcff 0%, #ebf1fe 100%);
  padding: 4% 0 5% 0;
  margin-top: 5%;
  text-align: center; }
  .c-relation-sec p.lead {
    font-size: 2rem;
    font-weight: 500;
    text-align: center;
    margin-bottom: 1.5em; }
  .c-relation-sec .button-single {
    margin: 0 auto; }

.page-index {
  padding: 4% 0; }
  .page-index-wrap {
    display: flex; }
    .page-index-wrap-center .page-index-lead {
      display: flex;
      align-items: center;
      justify-content: center;
      margin-left: 0; }
  .page-index-menu {
    min-width: 10em;
    white-space: nowrap; }
  .page-index-hd {
    font-size: 3rem;
    font-weight: 600;
    line-height: 1.2;
    margin-bottom: 1em; }
  .page-index-list__item {
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1.2;
    position: relative;
    padding-left: 2px; }
    .page-index-list__item:nth-child(n+2) {
      margin-top: 15px; }
    .page-index-list__item a::before {
      position: relative;
      content: "";
      display: inline-block;
      width: 10px;
      height: 0;
      border-top: solid 1px #000;
      top: -5px;
      left: 0;
      margin-right: 10px;
      transition: all 0.3s linear; }
    .page-index-list__item a:hover::before {
      width: 20px; }
  .page-index-lead {
    margin-left: 7%;
    flex: 1; }
    .page-index-lead-hd01, .page-index-lead-hd02 {
      font-weight: 600;
      line-height: 1.5;
      margin-bottom: 0.8em; }
    .page-index-lead-hd01 {
      font-size: 2.6rem; }
    .page-index-lead-hd02 {
      font-size: 3.2rem; }
    .page-index-lead p {
      font-size: 1.8rem;
      font-weight: 500; }
      .page-index-lead p.catch {
        font-size: 4rem; }
    .page-index-lead p + p {
      margin-top: 0.8em; }

.c-head01,
.c-head02 {
  font-family: "Lexend", sans-serif;
  font-size: 5rem;
  font-weight: 500;
  line-height: 1.2;
  color: #0B6EFA;
  margin-bottom: 0.5em; }
  .c-head01 span,
  .c-head02 span {
    display: block;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 2rem;
    font-weight: 600;
    color: #000;
    margin-top: 0.2em; }

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

.c-head03 {
  font-size: 3.4rem;
  font-weight: 600;
  line-height: 1.2;
  text-align: center;
  color: #0B6EFA;
  margin-bottom: 1.2em; }

.c-head-wrap {
  display: flex;
  margin-bottom: 35px;
  align-items: center; }
  .c-head-wrap .c-head01,
  .c-head-wrap .c-head02 {
    margin-bottom: 0; }
  .c-head-wrap .hd-catch {
    flex: 1;
    display: flex;
    justify-content: center;
    font-size: 3.2rem;
    font-weight: 600;
    line-height: 1.4; }

.c-list01 li {
  list-style: disc;
  margin-left: 1.5em; }

.c-list02 li {
  position: relative;
  padding-left: 18px; }
  .c-list02 li::before {
    position: absolute;
    content: "";
    display: block;
    width: 7px;
    height: 7px;
    border-top: solid 2px #000;
    border-right: solid 2px #000;
    top: 10px;
    left: 0;
    transform: rotate(45deg); }

.c-number-list01 li {
  list-style: decimal;
  margin-left: 25px; }

.c-button01,
.c-button02,
.c-button03 {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  border: solid 1px #0B6EFA;
  line-height: 1.3;
  color: #0B6EFA;
  position: relative;
  overflow: hidden;
  z-index: 1; }
  .c-button01::after,
  .c-button02::after,
  .c-button03::after {
    background: #0B6EFA;
    border-radius: 50%;
    content: "";
    display: block;
    margin: auto;
    opacity: 0;
    pointer-events: none;
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    width: 100%;
    padding-top: 100%;
    height: 0;
    z-index: -1;
    transform: translateY(-50%) scale(0.1);
    transition: opacity .5s, transform 0s;
    transition-delay: 0s, .4s; }
  .c-button01:hover,
  .c-button02:hover,
  .c-button03:hover {
    color: #fff; }
    .c-button01:hover::after,
    .c-button02:hover::after,
    .c-button03:hover::after {
      opacity: 1;
      transform: translateY(-50%) scale(1.1);
      transition-delay: 0s;
      transition: opacity .8s, transform .6s ease-in-out; }

a[href*="tel:"].c-button01, a[href*="tel:"].c-button02, a[href*="tel:"].c-button03 {
  color: #0B6EFA; }
  a[href*="tel:"].c-button01:hover, a[href*="tel:"].c-button02:hover, a[href*="tel:"].c-button03:hover {
    color: #fff; }

.c-button01 {
  width: 31.5%;
  height: 110px;
  font-size: 2rem;
  font-weight: 600;
  position: relative; }
  .c-button01::before {
    position: absolute;
    content: '';
    width: 40px;
    height: 6px;
    right: 15px;
    border-bottom: solid 1px;
    border-right: solid 1px;
    transform: skew(45deg);
    transition: all 0.3s linear; }
  .c-button01:hover::before {
    right: 10px; }

.c-button02,
.c-button03 {
  width: 48%;
  height: 130px;
  font-family: "Lexend", sans-serif;
  font-size: 4rem; }
  .c-button02 span,
  .c-button03 span {
    position: relative; }
    .c-button02 span::before,
    .c-button03 span::before {
      position: absolute;
      display: block;
      content: "";
      background-repeat: no-repeat;
      background-size: contain;
      left: 0;
      transition: all 0.3s linear; }
  .c-button02.tel span,
  .c-button03.tel span {
    padding-left: 34px; }
    .c-button02.tel span::before,
    .c-button03.tel span::before {
      width: 23px;
      height: 32px;
      top: 11px;
      background-image: url(../images/icon_tel01.svg); }
  .c-button02.tel:hover span::before,
  .c-button03.tel:hover span::before {
    background-image: url(../images/icon_tel02.svg); }
  .c-button02.access span,
  .c-button03.access span {
    padding-left: 34px; }
    .c-button02.access span::before,
    .c-button03.access span::before {
      width: 29px;
      height: 35px;
      top: 10px;
      background-image: url(../images/icon_map01.svg); }
  .c-button02.access:hover span::before,
  .c-button03.access:hover span::before {
    background-image: url(../images/icon_map02.svg); }
  .c-button02.mail span,
  .c-button03.mail span {
    padding-left: 40px; }
    .c-button02.mail span::before,
    .c-button03.mail span::before {
      width: 30px;
      height: 25px;
      top: 15px;
      background-image: url(../images/icon_mail01.svg); }
  .c-button02.mail:hover span::before,
  .c-button03.mail:hover span::before {
    background-image: url(../images/icon_mail02.svg); }

.c-button03 {
  flex-direction: column;
  width: 31.5%;
  height: 110px;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2rem;
  font-weight: 600; }
  .c-button03 span {
    font-family: "Lexend", sans-serif;
    font-size: 3rem;
    font-weight: 500; }
  .c-button03.environment span {
    padding-left: 30px; }
    .c-button03.environment span::before {
      width: 24px;
      height: 27px;
      top: 5px;
      background-image: url(../images/icon_environment01.svg); }
  .c-button03.environment:hover span::before {
    background-image: url(../images/icon_environment02.svg); }
  .c-button03.requirements span {
    padding-left: 27px; }
    .c-button03.requirements span::before {
      width: 22px;
      height: 26px;
      top: 6px;
      background-image: url(../images/icon_requirements01.svg); }
  .c-button03.requirements:hover span::before {
    background-image: url(../images/icon_requirements02.svg); }
  .c-button03.recruit span {
    padding-left: 30px; }
    .c-button03.recruit span::before {
      width: 25px;
      height: 22px;
      top: 8px;
      background-image: url(../images/icon_recruit01.svg); }
  .c-button03.recruit:hover span::before {
    background-image: url(../images/icon_recruit02.svg); }
  .c-button03.staff span {
    padding-left: 38px; }
    .c-button03.staff span::before {
      width: 32px;
      height: 25px;
      top: 6px;
      background-image: url(../images/icon_staff01.svg); }
  .c-button03.staff:hover span::before {
    background-image: url(../images/icon_staff02.svg); }
  .c-button03.tel span {
    padding-left: 23px; }
    .c-button03.tel span::before {
      width: 17px;
      height: 25px;
      top: 8px; }
  .c-button03.access span {
    padding-left: 24px; }
    .c-button03.access span::before {
      width: 20px;
      height: 25px;
      top: 8px; }
  .c-button03.mail span {
    padding-left: 30px; }
    .c-button03.mail span::before {
      width: 24px;
      height: 19px;
      top: 11px; }

.c-button04 {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 300px;
  border: solid 1px #0B6EFA;
  border-radius: 50vh;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1;
  color: #0B6EFA;
  padding: 15px 12px;
  margin: 0 auto;
  position: relative; }
  .c-button04::after {
    position: absolute;
    content: '';
    width: 35px;
    height: 5px;
    top: calc(50% - 3px);
    right: 15px;
    border-bottom: solid 1px #0B6EFA;
    border-right: solid 1px #0B6EFA;
    transform: skew(45deg);
    transition: all 0.3s linear; }
  .c-button04:hover {
    background: #0B6EFA;
    color: #fff; }
    .c-button04:hover::after {
      right: 12px;
      border-color: #fff; }

.c-button05 {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 300px;
  height: 70px;
  background: #0B6EFA;
  box-shadow: 0 2px #ccc;
  font-size: 1.8rem;
  font-weight: 500;
  color: #fff;
  line-height: 1;
  margin: 0 auto; }
  .c-button05:hover {
    background: #238bec;
    box-shadow: 0 0 #ccc;
    /* 影を0pxにする */
    transform: translateY(1px);
    border-bottom: none; }

.c-button-container01 {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  width: auto;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto; }
  .c-button-container01 .c-button01:nth-child(2n), .c-button-container01 .c-button01:nth-child(3n),
  .c-button-container01 .c-button02:nth-child(2n),
  .c-button-container01 .c-button02:nth-child(3n),
  .c-button-container01 .c-button03:nth-child(2n),
  .c-button-container01 .c-button03:nth-child(3n) {
    margin-left: 2.75%; }

.c-table01 {
  width: 100%;
  line-height: 1.4; }
  .c-table01 th,
  .c-table01 td {
    border-top: solid 1px #D5D5D5; }
  .c-table01 th {
    padding: 20px 1em 20px 0;
    white-space: nowrap; }
  .c-table01 td {
    padding: 20px 0; }
  .c-table01 tr:last-child th,
  .c-table01 tr:last-child td {
    border-bottom: solid 1px #D5D5D5; }

.color-att {
  color: #DB0000; }

.bold {
  font-weight: 500; }

.c-lead-buttons {
  font-size: 2.4rem;
  font-weight: 600;
  line-height: 1.5;
  text-align: center;
  margin-bottom: 1.5em; }
  .c-lead-buttons br {
    display: none; }

.c-link01:link,
.c-link02:link {
  color: #333;
  text-decoration: underline; }
.c-link01:hover, .c-link01:active,
.c-link02:hover,
.c-link02:active {
  color: #ffae00;
  text-decoration: none; }
.c-link01:visited,
.c-link02:visited {
  color: #333;
  text-decoration: underline; }

a[href*="tel:"].c-link01 {
  text-decoration: none; }

.c-link02 {
  padding-right: 22px; }
  .c-link02::after {
    position: absolute;
    content: url(../images/icon-link01.svg);
    margin: 2.2px 0 0 3px; }

.c-link03 {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.2;
  color: #000;
  text-decoration: none;
  white-space: nowrap;
  padding-right: 45px;
  position: relative; }
  .c-link03::before {
    position: absolute;
    content: '';
    width: 40px;
    height: 6px;
    top: 10px;
    right: 0;
    border-bottom: solid 1px #000;
    border-right: solid 1px #000;
    transform: skew(45deg);
    transition: all 0.2s linear; }
  .c-link03:hover::before {
    right: -3px; }

.c-img01 {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 500px; }
  .c-img01 img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    object-fit: cover;
    height: 100%;
    width: 100%; }

.fadein-scroll {
  opacity: 0;
  transform: translateY(30px);
  transition: all 1s ease-in-out; }

.fadein-scroll-r {
  opacity: 0;
  transform: translateX(30%);
  transition: all 0.5s ease-in-out; }

.fadein-scroll-l {
  opacity: 0;
  transform: translateX(-30%);
  transition: all 0.5s ease-out; }

.fadein-load {
  -webkit-animation: fadeIn 3s ease 0s 1 normal;
  animation: fadeIn 3s ease 0s 1 normal; }

@keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
.fadein-device {
  opacity: 0;
  transform: translateY(30px);
  transition: all 1s; }

/* 初期状態：透明で下にずらしておく */
.anime-up .char {
  opacity: 0;
  display: inline-block;
  transform: translateY(20px);
  white-space: pre-wrap;
  /* 改行や連続スペースを保つ */ }

/* .displayed が付いたときにアニメ開始（delay は inline style で付与） */
.anime-up.displayed .char {
  animation: fadeUp 0.6s forwards; }

/* アニメ内容 */
@keyframes fadeUp {
  to {
    opacity: 1;
    transform: translateY(0); } }
.slide-in {
  animation: slide-in 1s cubic-bezier(0.25, 1, 0, 1) forwards; }

@keyframes slide-in {
  0% {
    transform: translateX(-100px);
    opacity: 0; }
  100% {
    transform: translateX(0);
    opacity: 1; } }
.amime-transform {
  animation: amime-transform 1s cubic-bezier(0.25, 1, 0, 1) forwards; }

@keyframes amime-transform {
  0% {
    transform-origin: left top;
    transform: scale(0, 1);
    opacity: 0; }
  100% {
    transform: scale(1, 1);
    opacity: 1; } }
.c-pb-end {
  padding-bottom: 170px; }

.clearfix::after {
  content: "";
  display: block;
  clear: both; }

.hidden {
  overflow: hidden; }

.header {
  display: flex;
  justify-content: space-between; }
  .header-logo {
    position: absolute;
    width: 328px;
    margin: 15px 0 0 15px;
    z-index: 999; }

.header-gnav {
  margin-top: 40px; }
  .header-gnav li {
    font-family: "Lexend", sans-serif;
    font-weight: 500;
    line-height: 1.2; }
    .header-gnav li a {
      transition: all 0.2s linear; }
      .header-gnav li a::before {
        content: "";
        display: inline-block;
        width: 8px;
        height: 6px;
        border-top: solid 1px #0B6EFA;
        margin: 5px 10px 0 0; }
      .header-gnav li a:hover {
        color: #0B6EFA;
        margin: 5px 10px 0 3px; }
    .header-gnav li:nth-child(n+2) {
      margin-top: 15px; }

.header-gnav-hamburger {
  display: block;
  position: fixed;
  z-index: 999999;
  top: 0;
  right: 0;
  width: 70px;
  height: 70px;
  cursor: pointer;
  color: #000;
  text-align: center;
  transition: all 0.3s linear;
  background: rgba(255, 255, 255, 0.9); }
  .header-gnav-hamburger span {
    display: block;
    position: absolute;
    height: 3px;
    right: 13px;
    background: #000;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out; }
    .header-gnav-hamburger span:nth-child(1) {
      top: 18px;
      width: 13px; }
    .header-gnav-hamburger span:nth-child(2) {
      top: 28px;
      width: 30px; }
    .header-gnav-hamburger span:nth-child(3) {
      top: 38px;
      width: 44px; }
  .header-gnav-hamburger p {
    position: absolute;
    bottom: 8px;
    width: 100%;
    font-family: "Lexend", sans-serif;
    font-size: 13px;
    font-weight: 500;
    line-height: 1; }

.hamburger.active {
  background: none; }
  .hamburger.active span {
    top: 28px;
    right: 16px;
    width: 35px;
    background: #fff; }
    .hamburger.active span:nth-child(1) {
      -webkit-transform: rotate(-45deg);
      -moz-transform: rotate(-345deg);
      transform: rotate(-45deg); }
    .hamburger.active span:nth-child(2), .hamburger.active span:nth-child(3) {
      -webkit-transform: rotate(45deg);
      -moz-transform: rotate(345deg);
      transform: rotate(45deg); }
  .hamburger.active p {
    color: #fff; }

.header-nav-contents {
  position: fixed;
  top: 0;
  padding-bottom: 70px;
  text-align: center;
  right: -500px;
  pointer-events: none;
  transition: all 0.3s;
  width: 95%;
  max-width: 500px;
  height: 100%;
  background: #0B6EFA;
  overflow-y: auto;
  z-index: 99999; }

.header-nav-contents.active {
  right: 0;
  opacity: 1;
  pointer-events: auto; }

.hamburger ~ .contents-cover {
  position: fixed;
  opacity: 0;
  transition: all 0.3s linear; }

.hamburger.active ~ .contents-cover {
  position: fixed;
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 9997;
  background: rgba(3, 3, 3, 0.5);
  opacity: 1;
  transition: all 0.3s linear; }

.header-icon {
  position: fixed;
  top: 80px;
  right: 0;
  z-index: 99; }
  .header-icon a {
    width: 70px;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 5px 0;
    margin-top: 15px; }
    .header-icon a img {
      width: 30px; }

.gnav {
  padding-top: 70px;
  transition: all 0.6s; }
  .gnav a {
    text-decoration: none;
    color: #fff; }
  .gnav-main {
    margin: 0 auto;
    width: 100%;
    font-weight: 500;
    text-align: left; }
    .gnav-main .level01 {
      list-style-type: none;
      margin: 0;
      line-height: 1;
      display: flex; }
      .gnav-main .level01 a {
        width: calc(100% - 70px);
        display: block;
        display: flex;
        align-items: center;
        min-height: 70px;
        padding: 5px 0 5px 30px;
        font-family: "Lexend", sans-serif;
        font-size: 24px;
        font-weight: 500;
        line-height: 1.2; }
      .gnav-main .level01 .toggle-btn {
        position: relative;
        width: 70px;
        text-indent: -9999em;
        cursor: pointer; }
        .gnav-main .level01 .toggle-btn:after {
          display: block;
          content: '';
          position: absolute;
          width: 15px;
          height: 15px;
          border-top: solid 2px #fff;
          border-right: solid 2px #fff;
          transform: rotate(135deg);
          top: calc(50% - 10px);
          left: calc(50% - 5px);
          transition: all 0.3s linear; }
        .gnav-main .level01 .toggle-btn.selected:after {
          transform: rotate(-45deg);
          top: calc(50% - 5px); }
    .gnav-main .level02 {
      width: 100%; }
      .gnav-main .level02 li:nth-child(n+2) {
        margin-top: 1px; }
      .gnav-main .level02 a {
        display: flex;
        align-items: center;
        min-height: 70px;
        font-size: 20px;
        font-weight: 500;
        padding: 5px 0 5px 45px;
        background: #0363EB; }
  .gnav-info {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 60px; }
    .gnav-info li {
      font-size: 13px;
      font-weight: 500;
      line-height: 1;
      min-width: 100px; }
      .gnav-info li:nth-child(n+2) {
        margin-left: 20px; }
      .gnav-info li a {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: space-between;
        height: 65px;
        font-family: "Lexend", sans-serif;
        font-size: 16px;
        font-weight: 400;
        text-decoration: none;
        text-align: center; }
        .gnav-info li a span {
          display: block;
          bottom: 5px; }
      .gnav-info li.contact img {
        width: 30px; }
      .gnav-info li.access img {
        width: 26px; }
      .gnav-info li.instagram img {
        width: 30px; }
  .gnav-tel {
    display: flex;
    align-items: center;
    justify-content: center;
    width: auto;
    font-family: "Lexend", sans-serif;
    font-size: 32px;
    line-height: 1;
    margin-top: 40px; }
    .gnav-tel img {
      width: 15px;
      margin-right: 8px; }
  .gnav-privacy {
    display: block;
    font-family: "Lexend", sans-serif;
    font-size: 16px;
    line-height: 1;
    margin-top: 25px; }

.toggle-menu {
  display: none; }

.mainvisual,
.page-mv {
  position: relative;
  overflow: hidden; }
  .mainvisual-img,
  .page-mv-img {
    position: relative;
    overflow: hidden; }
    .mainvisual-img img,
    .page-mv-img img {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
      object-fit: cover;
      height: 100%;
      width: 100%; }
  .mainvisual-text,
  .page-mv-text {
    position: absolute;
    color: #fff; }

.mainvisual-scroll {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  bottom: 20px;
  font-family: "Lexend", sans-serif;
  font-size: 1.8rem;
  letter-spacing: 0.08em;
  color: #fff;
  text-align: center;
  z-index: 10; }
  .mainvisual-scroll span {
    display: block;
    position: relative;
    padding-bottom: 12px; }
    .mainvisual-scroll span::after {
      position: absolute;
      content: "";
      width: 13px;
      height: 13px;
      border-bottom: solid 1px #fff;
      border-right: solid 1px #fff;
      transform: translateX(-50%) rotate(45deg);
      left: 50%;
      bottom: 0; }
.mainvisual li {
  width: 100%; }
.mainvisual-img {
  height: 100vh; }
.mainvisual-text {
  font-size: min(max(70px, calc(4.375rem + ((1vw - 8px) * 10))), 100px);
  min-height: 0vw;
  font-weight: 700;
  line-height: 1.4;
  text-shadow: 0 0 15px rgba(0, 0, 0, 0.3);
  letter-spacing: 0.03em;
  top: 45%;
  right: 10%;
  transform: translate(0%, -50%);
  -webkit-transform: translate(0%, -50%);
  -ms-transform: translate(0%, -50%); }
.mainvisual-catch {
  font-size: 10rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.03em;
  top: 45%;
  right: 10%;
  transform: translate(0%, -50%);
  -webkit-transform: translate(0%, -50%);
  -ms-transform: translate(0%, -50%); }

.page-mv-img {
  height: 500px; }
  .page-mv-img::before {
    animation: img-wrap 1.2s cubic-bezier(0.4, 0, 0.2, 1) forwards;
    background: #fff;
    content: '';
    inset: 0;
    overflow: hidden;
    clip-path: polygon(20% 0, 100% 0, 100% 100%, 0% 100%);
    position: absolute;
    z-index: 1; }
.page-mv-text {
  font-family: "Lexend", sans-serif;
  font-weight: 500;
  line-height: 1;
  left: 0;
  bottom: -3.2%;
  font-size: min(max(60px, calc(2.875rem + ((1vw - 4px) * 15.8))), 125px);
  animation: text-fadein 2s cubic-bezier(0.33, 1, 0.68, 1) forwards;
  animation-delay: 0.5s;
  opacity: 0; }

@keyframes img-wrap {
  100% {
    transform: translateX(100%); } }
@keyframes text-fadein {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
/*
.page-mv {
  &-about {
    .page-mv-text {
      bottom: -3.2%;
    }
  }

  &-recruit {
    .page-mv-text {
      bottom: -3.2%;
    }
  }

  &-contact {
    .page-mv-text {
      bottom: -3.2%;
    }
  }
}
*/
.page-title {
  margin-top: 120px; }
  .page-title .c-head01 {
    margin-bottom: 0; }

.footer {
  position: relative;
  background: #0469FF;
  background: linear-gradient(180deg, #0469ff 0%, #0036b5 100%);
  border-radius: 70px 70px 0 0;
  padding-top: 70px;
  margin-top: -70px;
  z-index: 99; }
  .footer-wrap {
    display: flex;
    justify-content: space-between;
    color: #fff;
    margin: 0 auto; }
  .footer-info {
    line-height: 1.3; }
    .footer-info__logo {
      display: flex;
      align-items: flex-end;
      justify-content: space-between; }
    .footer-info__corporation {
      width: 320px; }
    .footer-info__sns {
      width: 30px; }
    .footer-info__corporation {
      font-size: 15.3px; }
    .footer-info__address {
      margin-top: 25px; }
    .footer-info__tel, .footer-info__fax {
      font-family: "Lexend", sans-serif; }
      .footer-info__tel span, .footer-info__fax span {
        font-size: 1em;
        margin-right: 0.5em; }
    .footer-info__tel {
      display: flex;
      align-items: flex-start;
      font-size: 26px;
      margin-top: 5px; }
      .footer-info__tel a {
        color: #fff; }
    .footer-info__fax {
      margin-top: 3px; }
    .footer-info__icon {
      display: flex;
      align-items: center;
      font-family: "Lexend", sans-serif;
      margin-top: 18px; }
      .footer-info__icon a {
        display: flex;
        align-items: center; }
        .footer-info__icon a img {
          width: auto;
          height: 22px;
          margin-right: 5px; }
        .footer-info__icon a:nth-child(1) img {
          width: 15px; }
        .footer-info__icon a:nth-child(2) {
          margin-left: 25px; }
          .footer-info__icon a:nth-child(2) img {
            width: 14px; }
        .footer-info__icon a:hover {
          opacity: 0.7; }
    .footer-info__privacy {
      margin-top: 15px; }
      .footer-info__privacy a {
        text-decoration: underline; }
  .footer-nav-list {
    display: flex;
    line-height: 1.2; }
    .footer-nav-list:nth-child(n+2) {
      margin-left: 40px; }
    .footer-nav-list__item {
      font-family: "Lexend", sans-serif;
      font-size: 18px;
      font-weight: 500; }
      .footer-nav-list__item:nth-child(n+2) {
        margin-left: 30px; }
      .footer-nav-list__item ul {
        margin-top: 20px; }
      .footer-nav-list__item li {
        font-family: "Noto Sans JP", sans-serif;
        font-size: 15px;
        font-weight: 400; }
        .footer-nav-list__item li:nth-child(n+2) {
          margin-top: 12px; }
  .footer-copylight {
    background: #fff;
    font-size: 15px;
    text-align: center;
    padding: 15px;
    margin-top: 70px; }

@media screen and (max-width: 1200px) {
  .footer-wrap {
    flex-direction: column; }
  .footer-nav-list {
    margin-top: 40px; } }
.top-vision {
  position: relative;
  color: #000; }
  .top-vision-square {
    position: absolute;
    content: "";
    display: block;
    width: 30%;
    height: 40vh;
    z-index: -99; }
  .top-vision-title-wrap {
    display: flex;
    align-items: center; }
  .top-vision-title {
    font-family: "Lexend", sans-serif;
    font-size: min(max(70px, calc(4.375rem + ((1vw - 8px) * 20))), 150px);
    min-height: 0vw;
    font-weight: 700;
    line-height: 1;
    position: relative;
    z-index: 2; }
  .top-vision-subtitle {
    font-family: "Noto Sans JP", sans-serif;
    font-size: min(max(18px, calc(1.125rem + ((1vw - 8px) * 2.5))), 28px);
    min-height: 0vw;
    font-weight: 700;
    line-height: 1.2;
    margin-left: 1em; }
  .top-vision-pic {
    height: 600px;
    overflow: hidden;
    position: relative; }
    .top-vision-pic img {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
      object-fit: cover;
      height: 100%;
      width: 100%; }
  .top-vision-catch {
    font-size: min(max(40px, calc(2.5rem + ((1vw - 8px) * 5))), 60px);
    min-height: 0vw;
    font-weight: 700;
    line-height: 1.3;
    margin-bottom: 0.3em; }
  .top-vision-lead {
    font-size: 2rem;
    font-weight: 500;
    line-height: 1.8; }
    .top-vision-lead-wrap {
      transition-delay: 0.25s; }

.sec-top-purpose {
  margin-top: 4%; }

.top-purpose {
  position: relative;
  overflow: hidden; }
  .top-purpose .top-vision-title,
  .top-purpose .top-vision-subtitle {
    color: #DB153E; }
  .top-purpose .top-vision-subtitle {
    margin-top: 1em; }
  .top-purpose .top-vision-pic {
    margin-right: 10%; }
    .top-purpose .top-vision-pic.fadein-scroll-l {
      transition: all 1s ease-in-out; }
  .top-purpose .top-vision-square {
    background: #EEEB9E;
    background: linear-gradient(180deg, #eeeb9e 0%, #e43f65 100%);
    top: 4%;
    right: 0; }
  .top-purpose-inner {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    margin: -2.5em 5% 0 5%; }
    .top-purpose-inner .c-button04 {
      font-family: "Lexend", sans-serif;
      font-size: 2rem;
      font-weight: 500;
      margin: 2em 0 0 auto; }
  .top-purpose .top-vision-text {
    position: relative;
    z-index: 3; }

.sec-top-proposition {
  margin-top: 4.5%;
  overflow: hidden; }

.top-proposition {
  position: relative; }
  .top-proposition .top-vision-title-wrap {
    flex-direction: row-reverse; }
  .top-proposition .top-vision-title,
  .top-proposition .top-vision-subtitle {
    color: #511A7B; }
  .top-proposition .top-vision-subtitle {
    margin: 0 1em 0; }
  .top-proposition .top-vision-pic {
    margin-left: 10%; }
    .top-proposition .top-vision-pic.fadein-scroll-r {
      transition: all 1s ease-in-out; }
  .top-proposition .top-vision-square {
    background: #0099FF;
    background: linear-gradient(180deg, #0099ff 0%, #511a7b 100%);
    top: 0;
    left: 0; }
  .top-proposition-inner {
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
    margin: 4% 5% 0 5%; }
  .top-proposition .top-vision-text {
    flex: 1;
    margin-left: 10%; }
  .top-proposition-menu {
    white-space: nowrap; }
    .top-proposition-menu__title {
      font-family: "Lexend", sans-serif;
      font-size: 4.4rem;
      font-weight: 600;
      color: #511A7B; }
    .top-proposition-menu__list {
      margin-top: 2em; }
      .top-proposition-menu__list li:nth-child(2) {
        transition-delay: 0.25s; }
      .top-proposition-menu__list li:nth-child(3) {
        transition-delay: 0.5s; }
      .top-proposition-menu__list li:nth-child(n+2) {
        margin-top: 1.5em; }
      .top-proposition-menu__list li a {
        display: block;
        width: 16.5em;
        font-size: 2rem;
        font-weight: 600;
        padding-left: 45px;
        position: relative; }
        .top-proposition-menu__list li a::before {
          position: absolute;
          content: "";
          display: block;
          width: 30px;
          height: 30px;
          top: 0;
          left: 0;
          background-repeat: no-repeat; }
        .top-proposition-menu__list li a::after {
          position: absolute;
          content: '';
          width: 40px;
          height: 6px;
          top: 0.6em;
          right: 0;
          border-bottom: solid 1px;
          border-right: solid 1px;
          transform: skew(45deg);
          transition: all 0.3s linear; }
        .top-proposition-menu__list li a:hover::after {
          right: -5px; }
      .top-proposition-menu__list li:nth-child(1) a::before {
        top: 6px;
        background-image: url(../images/icon_top_service01.svg); }
      .top-proposition-menu__list li:nth-child(2) a::before {
        top: 2px;
        background-image: url(../images/icon_top_service02.svg); }
      .top-proposition-menu__list li:nth-child(3) a::before {
        top: 2px;
        background-image: url(../images/icon_top_service03.svg); }

.c-sec-page-bnr {
  width: 90%;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin: 5% auto 0 auto; }
  .c-sec-page-bnr .page-bnr {
    position: relative;
    width: 48%; }
    .c-sec-page-bnr .page-bnr:nth-child(even) {
      margin-left: 4%; }
    .c-sec-page-bnr .page-bnr img {
      border-radius: 30px; }
    .c-sec-page-bnr .page-bnr p {
      position: absolute;
      display: flex;
      align-items: center;
      font-family: "Lexend", sans-serif;
      font-size: 4rem;
      font-weight: 500;
      line-height: 1;
      color: #fff;
      bottom: 8%;
      left: 5%;
      z-index: 1; }
      .c-sec-page-bnr .page-bnr p span {
        font-family: "Noto Sans JP", sans-serif;
        font-size: 1.6rem;
        font-weight: 600;
        margin-left: 0.8em;
        margin-top: 0.5em; }

.sec-top-page-bnr {
  margin-top: 5%; }

.sec-top-recruit {
  margin-top: 6%; }

.top-recruit {
  position: relative;
  overflow: hidden;
  display: flex;
  margin-left: 5%; }
  .top-recruit-title {
    font-family: "Lexend", sans-serif;
    font-size: min(max(52px, calc(3.25rem + ((1vw - 8px) * 9.5))), 90px);
    min-height: 0vw;
    font-weight: 600;
    line-height: 1;
    color: #0B6EFA;
    margin-bottom: 0.3em; }
  .top-recruit-text {
    width: 25%;
    max-width: 450px; }
  .top-recruit-catch {
    font-size: min(max(18px, calc(1.125rem + ((1vw - 8px) * 2.5))), 28px);
    min-height: 0vw;
    font-weight: 600;
    color: #000; }
  .top-recruit-lead {
    font-size: 1.5rem;
    margin: 1em 0 1.5em 0;
    transition-delay: 0.25s; }
  .top-recruit .c-link03 {
    font-family: "Lexend", sans-serif;
    font-size: 3.2rem;
    padding-right: 80px;
    transition-delay: 0.5s; }
    .top-recruit .c-link03::before {
      width: 70px;
      top: 17px; }
  .top-recruit-pic-wrap {
    flex: 1;
    overflow: hidden;
    margin-left: 4%; }
  .top-recruit-pic-inner {
    display: flex;
    justify-content: space-between;
    width: 105%;
    min-height: 100px;
    height: auto;
    overflow: hidden;
    position: relative; }
  .top-recruit-pic-item {
    width: 31%; }
    .top-recruit-pic-item:nth-child(2) {
      transition-delay: 0.25s; }
    .top-recruit-pic-item:nth-child(3) {
      transition-delay: 0.5s; }
    .top-recruit-pic-item:nth-child(even) {
      margin-top: 4%; }
    .top-recruit-pic-item__pic {
      border-radius: 30px; }
  .top-recruit .recruit-staff-container {
    width: 105%;
    min-height: 100px;
    height: auto;
    position: relative; }

.about-message-wrap {
  display: flex;
  justify-content: space-between; }
.about-message01 {
  background: #F3FCFF;
  background: linear-gradient(180deg, #f3fcff 0%, #ebf1fe 100%);
  padding: 4.5% 0 5% 0; }
  .about-message01 .about-message-wrap {
    flex-direction: row-reverse; }
  .about-message01 .about-message-pic {
    margin: -270px 0 0 5%; }
.about-message02 {
  padding: 60px 0 80px 0; }
  .about-message02 .about-message-pic {
    margin: -130px 5% 0 0; }
.about-message-pic {
  width: 40%;
  max-width: 340px;
  font-weight: 500;
  line-height: 1.2;
  text-align: center;
  margin-bottom: 1em; }
  .about-message-pic img {
    border-radius: 30px; }
  .about-message-pic__position {
    font-size: 1.8rem;
    margin-top: 15px; }
  .about-message-pic__name {
    font-size: 2.4rem;
    margin-top: 5px; }
.about-message-text {
  flex: 1; }
  .about-message-text p {
    line-height: 1.8; }
    .about-message-text p:nth-child(n+2) {
      margin-top: 1em; }

.about-outline {
  padding: 4% 0 6% 0; }
  .about-outline-table th,
  .about-outline-table td {
    vertical-align: middle; }
  .about-outline-table th {
    padding: 30px 1em 30px 0; }
  .about-outline-table td {
    padding: 30px 0; }
  .about-outline-table__access {
    display: flex;
    justify-content: space-between; }
    .about-outline-table__access a {
      font-family: "Lexend", sans-serif; }

.about-access {
  background: #0B6EFA;
  color: #fff;
  padding-top: 4%; }
  .about-access .c-head02 {
    color: #fff; }
    .about-access .c-head02 span {
      color: #fff; }
  .about-access-google-map iframe {
    height: 500px; }
  .about-access-info-wrap {
    display: flex;
    margin: 4% 0 6%; }
  .about-access-info-corp__corp-name {
    font-size: 20px;
    font-weight: 500; }
  .about-access-info-corp__address {
    margin-top: 10px; }
  .about-access-info-traffic {
    margin-left: 140px; }
    .about-access-info-traffic .c-list02 li::before {
      border-top: solid 2px #fff;
      border-right: solid 2px #fff; }

.sec-service-operation {
  background: #F3FCFF;
  background: linear-gradient(180deg, #f3fcff 0%, #ebf1fe 100%);
  padding: 4% 0 5% 0; }
  .sec-service-operation .service-detail-block {
    justify-content: space-between; }
  .sec-service-operation .service-detail-icon {
    height: 92px; }

.service-detail {
  display: flex;
  justify-content: space-between; }
  .service-detail-title {
    font-size: 3.4rem;
    font-weight: 600;
    line-height: 1.3;
    text-align: center;
    margin-bottom: 1em; }
    .service-detail-title span {
      display: block;
      font-size: 2rem;
      margin-top: 0.3em; }
  .service-detail-block {
    width: 48%;
    display: flex;
    flex-direction: column; }
    .service-detail-block-title {
      font-size: 2.4rem;
      font-weight: 600;
      line-height: 1.2;
      text-align: center;
      margin-bottom: 0.5em; }
  .service-detail-icon {
    display: flex;
    align-items: center;
    justify-content: center; }
    .service-detail-icon .support {
      width: 100px; }
    .service-detail-icon .maintenance {
      width: 105px; }
    .service-detail-icon .consulting {
      width: 110px; }
    .service-detail-icon .design {
      width: 94px; }
  .service-detail-text {
    margin-top: 1em; }
  .service-detail-list-wrap {
    background: #fff;
    border-radius: 20px;
    margin-top: 1.5em;
    padding: 25px 30px; }

.sec-service-system {
  margin-top: 4%;
  margin-bottom: 4%; }
  .sec-service-system .service-detail-icon {
    height: 106px; }

.service-development {
  background: #2D7FFE;
  background: linear-gradient(90deg, #2d7ffe 0%, #9313b3 100%);
  border-radius: 20px;
  padding: 35px;
  margin-top: 3%;
  position: relative;
  z-index: -2; }
  .service-development::after {
    position: absolute;
    display: block;
    width: calc(100% - 10px);
    height: calc(100% - 10px);
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    content: "";
    background: #fff;
    border-radius: 15px;
    z-index: -1; }
  .service-development-text {
    text-align: center; }
  .service-development-title {
    max-width: 985px;
    background: #EFF7FE;
    border-radius: 50vh;
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1.2;
    text-align: center;
    padding: 8px;
    margin: 1.2em auto; }
  .service-development-flow {
    max-width: 1050px;
    display: flex;
    justify-content: space-between;
    margin: 0 auto;
    position: relative; }
    .service-development-flow .line {
      position: absolute;
      content: "";
      width: 80%;
      height: 1px;
      background: #2D7FFE;
      background: linear-gradient(90deg, #2d7ffe 0%, #9313b3 100%);
      top: 40px;
      left: 50%;
      transform: translateX(-50%);
      -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%); }
    .service-development-flow li {
      width: 16%;
      max-width: 160px;
      display: flex;
      flex-direction: column;
      align-items: center;
      position: relative;
      /*

      &:last-child ::after {
        content: none;
      }

      &:first-child {

        &::after {
          position: absolute;
          content: "";
          width: 100%;
          height: 1px;
          background: #2D7FFE;
          top: 40px;
          left: calc(50% + 40px);
        }
      }


      &:nth-child(2)::after {
        background: #4566ED;
      }

      &:nth-child(3)::after {
        background: #5654E0;
      }

      &:nth-child(4)::after {
        background: #6A3ED1;
      }

      &:nth-child(5)::after {
        background: #7F28C1;
      }
*/ }
      .service-development-flow li img {
        width: 80px; }
      .service-development-flow li p {
        text-align: center;
        font-weight: 500;
        line-height: 1.3;
        margin-top: 12px; }
        .service-development-flow li p span {
          display: block;
          font-size: 1.3rem; }

.service-dispatch-sec {
  margin-top: 5%; }
  .service-dispatch-sec .service-detail-title {
    text-align: left; }

.sec-works-case {
  padding-bottom: 40px; }

.works-case-item {
  position: relative; }
  .works-case-item:nth-child(n+2) {
    margin-top: calc(3% + 40px); }
.works-case-flame {
  width: calc(100% - 40px);
  position: absolute;
  top: 40px;
  left: 40px;
  display: flex;
  background: #EFF7FE;
  border-radius: 30px;
  padding: 40px;
  position: relative;
  z-index: 1; }
.works-case-number {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 120px;
  height: 120px;
  border-radius: 50vh;
  background: #0B6EFA;
  font-family: "Lexend", sans-serif;
  font-size: 20px;
  font-weight: 600;
  line-height: 1;
  color: #fff;
  z-index: 2; }
  .works-case-number span {
    display: block;
    font-size: 38px; }
.works-case-pic {
  width: 40%;
  max-width: 360px; }
  .works-case-pic img {
    border-radius: 20px; }
.works-case-text {
  margin-left: 4%; }
  .works-case-text__corp {
    font-size: 20px;
    font-weight: 500;
    line-height: 1.5;
    margin-top: 0.5em; }
  .works-case-text__catch {
    font-size: 22px;
    font-weight: 500;
    line-height: 1.5;
    margin-top: 0.5em; }

.works-case-category {
  width: 120px;
  border: solid 1px;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1;
  padding: 5px 0;
  text-align: center; }

.sec-works-results {
  margin-top: 5%; }

.works-results-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
  .works-results-list::before, .works-results-list::after {
    content: "";
    display: block;
    width: 23%; }
  .works-results-list::before {
    order: 1; }
  .works-results-list li {
    width: 23%; }
    .works-results-list li:nth-child(n+5) {
      margin-top: 2.5%; }

.sec-recruit-message {
  background: #F3FCFF;
  background: linear-gradient(180deg, #f3fcff 0%, #ebf1fe 100%);
  padding-bottom: 4%; }

.recruit-message {
  display: flex;
  flex-wrap: wrap; }
  .recruit-message .c-head01 {
    width: 100%;
    position: relative;
    top: -0.65em;
    margin-bottom: 0; }
  .recruit-message-text {
    flex: 1;
    line-height: 1.8; }
  .recruit-message-pic {
    width: 30%;
    max-width: 240px;
    margin: -12% 0 0 3%;
    font-weight: 500;
    line-height: 1.2;
    text-align: center; }
    .recruit-message-pic img {
      border-radius: 15px; }
    .recruit-message-pic__position {
      font-size: 1.8rem;
      margin-top: 0.8em; }
    .recruit-message-pic__name {
      font-size: 2.4rem;
      margin-top: 0.2em; }

.sec-recruit-staff {
  margin-top: 4%; }

.recruit-staff-container {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
  overflow: hidden; }
  .recruit-staff-container::after {
    content: "";
    display: block;
    width: 31%; }
.recruit-staff-item {
  width: 31%;
  border: solid 1px #000;
  border-radius: 30px;
  font-weight: 500;
  line-height: 1;
  padding: 2.1%;
  margin-bottom: 4%; }
  .recruit-staff-item a {
    display: block; }
    .recruit-staff-item a:hover .recruit-staff-pic__pic {
      transform: scale(1.05); }
  .recruit-staff-item:nth-child(2) {
    transition-delay: 0.25s; }
  .recruit-staff-item:nth-child(3) {
    transition-delay: 0.5s; }
  .recruit-staff-item:nth-of-type(even) {
    margin-top: 4%; }
  .recruit-staff-item:nth-last-child(-n+3) {
    margin-bottom: 0; }
.recruit-staff-pic {
  position: relative;
  overflow: hidden;
  border-radius: 20px 20px 0 20px; }
  .recruit-staff-pic__pic {
    border-radius: 20px;
    transition: all 0.3s ease-in-out;
    overflow: hidden; }
  .recruit-staff-pic__job {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    bottom: 0;
    right: 0;
    min-width: 120px;
    padding: 3.8%;
    background: #fff;
    border-radius: 15px 0 0 0;
    font-size: 1.5rem;
    font-weight: 500; }
.recruit-staff-profile {
  display: flex;
  align-items: end;
  justify-content: space-between;
  margin-top: 15px; }
  .recruit-staff-profile__name {
    font-size: 2.4rem;
    font-weight: 600; }
  .recruit-staff-profile__year {
    font-size: 1.5rem; }
.recruit-staff-catch {
  line-height: 1.4;
  margin-top: 15px; }
.recruit-staff-link {
  display: flex;
  flex-direction: column;
  margin-top: 1.5em; }
  .recruit-staff-link span:nth-child(n+2) {
    margin-top: 1em; }

.sec-recruit-environment {
  margin-top: 4%; }

.recruit-environment-text {
  margin-bottom: 1.5em; }

.sec-recruit-requirements {
  margin-top: 5%; }

.tab-box__btn-area {
  display: flex;
  align-items: flex-end; }
  .tab-box__btn-area .tab-btn {
    width: 30%;
    max-width: 250px;
    height: 80px;
    border-radius: 20px 20px 0 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2.8rem;
    font-weight: 600;
    line-height: 1;
    color: #fff;
    cursor: pointer; }
    .tab-box__btn-area .tab-btn:nth-child(n+2) {
      margin-left: 10px; }
.tab-box__panel-area .tab-panel {
  display: none;
  border-radius: 0 20px 20px 20px;
  padding: 40px;
  /*
  .recruit-require {
    opacity: 0;
    transition: all 0.3s linear;
  }
    */ }
  .tab-box__panel-area .tab-panel.active {
    display: block;
        /*.recruit-require {
          opacity: 1;

        }*/ }
.tab-box .recruit-new {
  background: #7EAFFF; }
  .tab-box .recruit-new .recruit-require-title__toggle-btn:before {
    border-color: #3265B9; }
.tab-box .recruit-career {
  background: #6088DB; }
  .tab-box .recruit-career .recruit-require-title__toggle-btn:before {
    border-color: #1F4697; }

.recruit-require + .recruit-require {
  margin-top: 20px; }
.recruit-require-title {
  display: flex;
  align-items: stretch;
  width: 100%;
  position: relative;
  cursor: pointer; }
  .recruit-require-title__job {
    flex: 1;
    display: flex;
    align-items: center;
    background: #fff;
    border-left: solid 15px #BEBEBE;
    border-radius: 10px;
    padding: 20px; }
    .recruit-require-title__job .job {
      width: calc(100% - 40px);
      font-size: 2.8rem;
      line-height: 1.2;
      font-weight: 500; }
  .recruit-require-title__toggle-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    right: 0;
    white-space: nowrap; }
    .recruit-require-title__toggle-btn:before {
      display: block;
      content: '';
      position: absolute;
      width: 15px;
      height: 15px;
      border-top: solid 2px #000;
      border-right: solid 2px #000;
      transform: rotate(135deg);
      top: calc(50% - 10px);
      right: 25px;
      transition: all 0.3s linear; }
    .recruit-require-title__toggle-btn.selected:after {
      transform: rotate(-45deg);
      top: calc(50% - 5px); }
.recruit-require-contents {
  position: relative;
  display: none;
  height: auto;
  background: #fff;
  border-radius: 10px;
  padding: 40px;
  margin: 20px 0; }

.recruit-new .recruit-require-title__job {
  border-color: #3265B9; }

.recruit-career .recruit-require-title__job {
  border-color: #1F4697; }

.selected.recruit-require-title .recruit-require-title__toggle-btn:before {
  transform: rotate(-45deg);
  top: calc(50% - 3px); }

.sec-staff-list {
  margin-top: 5%; }

.recruit-staff-container-all::before, .recruit-staff-container-all::after {
  content: "";
  display: block;
  width: 22.5%; }
.recruit-staff-container-all::before {
  order: 1; }
.recruit-staff-container-all .recruit-staff-item {
  width: 22.5%;
  border-radius: 20px;
  padding: 1.5%;
  margin-bottom: 1%; }
  .recruit-staff-container-all .recruit-staff-item:nth-last-child(-n+4) {
    margin-bottom: 0; }
.recruit-staff-container-all .recruit-staff-pic__pic {
  border-radius: 15px; }
.recruit-staff-container-all .recruit-staff-profile__name {
  font-size: 2rem; }

.sec-staff-profile {
  background: #F3FCFF;
  background: linear-gradient(180deg, #f3fcff 0%, #ebf1fe 100%);
  margin-top: 90px; }

.staff-profile-wrap {
  display: flex;
  justify-content: space-between; }
.staff-profile-text {
  width: 50%;
  margin: 6% 0 7% 0;
  font-weight: 600;
  line-height: 1.4; }
.staff-profile-department {
  font-size: 1.8rem; }
.staff-profile-job {
  font-size: min(max(18px, calc(1.125rem + ((1vw - 4px) * 2.5))), 28px);
  margin-top: 5px; }
.staff-profile-name {
  font-size: min(max(30px, calc(1.875rem + ((1vw - 4px) * 5))), 50px);
  margin-top: 5px; }
.staff-profile-graduate {
  font-size: 1.8rem;
  margin-top: 1.5em; }
.staff-profile-join {
  font-size: 1.8rem;
  margin-top: 5px; }
.staff-profile-catch {
  font-size: min(max(20px, calc(1.25rem + ((1vw - 4px) * 2.5))), 30px);
  margin-top: 1em; }
.staff-profile-pic {
  width: 46%;
  margin-bottom: 7%; }
  .staff-profile-pic img {
    border-radius: 40px;
    margin-top: -20%; }

.sec-c-article {
  margin-top: 5%; }

.c-article-item:nth-child(n+2) {
  margin-top: 5%; }
.c-article-item p {
  line-height: 1.7;
  margin-top: 1em; }
.c-article-title {
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 1.4;
  color: #0B6EFA;
  position: relative;
  padding-left: 1em; }
  .c-article-title::before {
    position: absolute;
    display: block;
    content: "";
    width: 0.8em;
    height: 0;
    border-top: solid 1px #0B6EFA;
    top: 0.7em;
    left: 0;
    margin-right: 1em; }
.c-article-answer {
  font-size: 2.8rem;
  font-weight: 600;
  line-height: 1.4;
  margin-top: 0.2em; }
.c-article-pic {
  display: flex;
  justify-content: space-between;
  margin: 60px 0; }
  .c-article-pic__item {
    width: 47%; }
    .c-article-pic__item img {
      border-radius: 30px; }
    .c-article-pic__item:nth-child(2) {
      margin-top: 5%; }

.staff-pickup-item {
  background: #EFF7FE;
  border-radius: 20px;
  padding: 30px 35px 35px 35px;
  margin-top: 5%; }
  .staff-pickup-item p {
    margin-top: 1em; }
.staff-pickup-title {
  font-family: "Lexend", sans-serif;
  font-size: 3.2rem;
  font-weight: 500;
  line-height: 1.4;
  color: #0B6EFA; }
  .staff-pickup-title span {
    display: inline-block;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 1.8rem;
    font-weight: 600;
    color: #000;
    margin-left: 0.5em; }
    .staff-pickup-title span::before {
      content: "";
      width: 20px;
      height: 0;
      border-top: solid 1px #000; }

.sec-buttons01 {
  background: #F3FCFF;
  background: linear-gradient(180deg, #f3fcff 0%, #ebf1fe 100%);
  padding: 6% 0;
  margin-top: 6%; }
  .sec-buttons01.c-pb-end {
    margin-bottom: 170px; }

.sec-staff-part-list {
  margin: 5% 60px 0 10%; }

.staff-list-wrap {
  display: flex; }
.staff-list-title {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  margin-right: 3%; }

.sec-environment-lead {
  margin-top: 4%; }

.environment-lead-catch {
  font-size: 2.8rem;
  font-weight: 600;
  margin-bottom: 0.5em; }
.environment-lead-text {
  font-size: 1.8rem;
  line-height: 1.8; }

.sec-environment-study {
  margin-top: 4%; }

.environment-study-title {
  display: flex;
  font-family: "Lexend", sans-serif;
  font-size: 6rem;
  line-height: 1.4;
  color: #0B6EFA;
  margin-bottom: 0.3em; }
  .environment-study-title span {
    font-family: "Noto Sans JP", sans-serif;
    font-size: 3.4rem;
    font-weight: 600;
    margin: 0.55em 0 0 0.4em; }
.environment-study-pic {
  margin-top: 1.8em; }
.environment-study:nth-child(n+2) {
  margin-top: 3.5%; }

.sec-environment-policy {
  background: #EFF7FE;
  padding: 4.5% 0 5% 0;
  margin-top: 6%; }

.environment-policy-container {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap; }
  .environment-policy-container::before, .environment-policy-container::after {
    display: block;
    content: "";
    width: 23%; }
  .environment-policy-container::before {
    order: 1; }
.environment-policy-item {
  width: 23%;
  display: flex;
  flex-direction: column;
  align-items: center;
  line-height: 1.5;
    /*
    &:nth-child(1) {
      img {
        width: 78px;
      }
    }

    &:nth-child(2) {
      img {
        width: 57px;
      }
    }

    &:nth-child(3) {
      img {
        width: 88px;
      }
    }

    &:nth-child(4) {
      img {
        width: 98px;
      }
    }
    */ }
  .environment-policy-item:nth-child(n+5) {
    margin-top: 2%; }
  .environment-policy-item__pic {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    height: 105px; }
  .environment-policy-item__title {
    font-size: 1.8rem;
    font-weight: 600;
    text-align: center;
    margin: 0.8em 0 0.3em 0; }

.sec-environment-benefits {
  margin-top: 4%; }

.environment-benefits-container {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap; }
.environment-benefits-item {
  width: 31%; }
  .environment-benefits-item__pic {
    text-align: center; }
    .environment-benefits-item__pic img {
      width: 70%;
      max-width: 240px;
      border-radius: 50vh;
      margin: 0 auto; }
  .environment-benefits-item__title {
    font-size: 2.4rem;
    font-weight: 600;
    text-align: center;
    margin: 0.8em auto 0.4em auto; }

.sec-mail-form {
  margin-top: 4%; }

.mail-form {
  width: 100%;
  margin-top: 40px; }
  .mail-form dt {
    display: flex;
    align-items: center;
    font-weight: 600;
    line-height: 1; }
    .mail-form dt:nth-child(n+2) {
      margin-top: 30px; }
  .mail-form dd {
    margin-top: 12px; }
  .mail-form-input-wrap {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap; }
    .mail-form-input-wrap + input {
      margin-top: 10px; }
    .mail-form-input-wrap .radio-item {
      display: flex;
      align-items: center; }
      .mail-form-input-wrap .radio-item:nth-child(n+2) {
        margin-left: 1.5em; }
  .mail-form-input-wrap + .mail-form-input-wrap {
    margin-top: 5px; }
  .mail-form .birth-year {
    width: 6em;
    margin-right: 8px;
    margin-left: 8px; }
  .mail-form .birth-month,
  .mail-form .birth-day {
    width: 4em;
    margin-right: 8px;
    margin-left: 8px; }
  .mail-form .zipcode {
    width: 10em;
    margin-left: 8px; }
  .mail-form .job-other {
    flex: 1;
    margin-left: 8px; }

.required {
  width: 55px;
  height: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #818181;
  border-radius: 2px;
  font-size: 13px;
  font-weight: 600;
  color: #fff;
  margin-right: 6px; }
  .required-on {
    background: #DB0000; }

.mail-form-send {
  margin-top: 45px;
  text-align: center; }
  .mail-form-send__text {
    margin-bottom: 25px; }
  .mail-form-send__privacy {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 20px auto 50px auto; }
  .mail-form-send label {
    display: flex;
    align-items: baseline;
    margin-left: 8px;
    font-size: 1.8rem;
    font-weight: 500; }
    .mail-form-send label .required {
      margin-left: 5px; }

.sec-contact-buttons {
  margin-top: 5%; }

.sec-contact-button-single {
  text-align: center;
  margin-top: 5%; }
  .sec-contact-button-single .c-button02 {
    margin-left: auto;
    margin-right: auto; }

@media screen and (max-width: 900px) {
  .c-section01,
  .c-section02 {
    width: auto;
    margin-left: 40px;
    margin-right: 40px; }

  .c-inner01,
  .c-inner02 {
    margin-left: 40px;
    margin-right: 40px; }

  .c-pic-item img {
    border-radius: 15px; }

  .c-relation-sec .button-single.c-button01 {
    min-width: 280px; }

  .page-index-hd {
    font-size: 2rem; }
  .page-index-list__item {
    font-size: 1.6rem; }
  .page-index-lead-hd {
    font-size: 2rem; }
  .page-index-lead p {
    font-size: 1.6rem; }
    .page-index-lead p.catch {
      font-size: 3rem; }

  .c-head01,
  .c-head02 {
    font-size: 4rem; }
    .c-head01 span,
    .c-head02 span {
      font-size: 1.6rem;
      margin-top: 5px; }

  .c-head03 {
    font-size: 2.8rem; }

  .c-head-wrap .hd-catch {
    justify-content: flex-start;
    font-size: 2.2rem;
    margin-left: 1em; }

  .c-button01 {
    flex-direction: column;
    height: 80px;
    font-size: 1.8rem; }
    .c-button01::before {
      width: 20px;
      height: 4px;
      right: 12px; }

  .c-button02,
  .c-button03 {
    height: 90px;
    font-size: 30px; }
    .c-button02.tel span,
    .c-button03.tel span {
      padding-left: 24px; }
      .c-button02.tel span::before,
      .c-button03.tel span::before {
        width: 17px;
        top: 8px; }
    .c-button02.access span,
    .c-button03.access span {
      padding-left: 26px; }
      .c-button02.access span::before,
      .c-button03.access span::before {
        width: 22px;
        top: 7px; }
    .c-button02.mail span,
    .c-button03.mail span {
      padding-left: 30px; }
      .c-button02.mail span::before,
      .c-button03.mail span::before {
        width: 23px;
        top: 10px; }

  .c-button03 {
    font-size: 1.5rem; }
    .c-button03 span {
      font-size: 2rem; }
    .c-button03.environment span {
      padding-left: 24px; }
      .c-button03.environment span::before {
        width: 19px;
        top: 0px; }
    .c-button03.requirements span {
      padding-left: 22px; }
      .c-button03.requirements span::before {
        width: 18px;
        top: 3px; }
    .c-button03.recruit span {
      padding-left: 25px; }
      .c-button03.recruit span::before {
        width: 22px;
        top: 3px; }
    .c-button03.staff span {
      padding-left: 30px; }
      .c-button03.staff span::before {
        width: 26px;
        top: 2px; }
    .c-button03.tel span {
      padding-left: 19px; }
      .c-button03.tel span::before {
        width: 14px;
        top: 4px; }
    .c-button03.mail span {
      padding-left: 24px; }
      .c-button03.mail span::before {
        width: 20px;
        top: 5px; }

  .c-lead-buttons {
    font-size: 2rem; }

  .c-link03 {
    font-size: 1.8rem;
    padding-right: 40px; }
    .c-link03::before {
      width: 35px;
      height: 5px;
      top: 8px; }

  .c-img01 {
    height: 300px; }

  .fadein-device {
    opacity: 1;
    transform: none;
    transition: none; }

  .fadein-device {
    -webkit-animation: fadeIn 2.5s ease 0s 1 normal;
    animation: fadein-device 2.5s ease 0s 1 normal; }

  @keyframes fadein-device {
    0% {
      opacity: 0; }
    100% {
      opacity: 1; } }
  .c-pb-end {
    padding-bottom: 100px; }

  .header {
    display: flex;
    justify-content: space-between; }
    .header-logo {
      position: absolute;
      width: 328px;
      margin: 15px 0 0 15px;
      z-index: 999; }

  .header-gnav {
    margin-top: 40px; }
    .header-gnav li {
      font-family: "Lexend", sans-serif;
      font-weight: 500;
      line-height: 1.2; }
      .header-gnav li a {
        transition: all 0.2s linear; }
        .header-gnav li a::before {
          content: "";
          display: inline-block;
          width: 8px;
          height: 6px;
          border-top: solid 1px #0B6EFA;
          margin: 5px 10px 0 0; }
        .header-gnav li a:hover {
          color: #0B6EFA;
          margin: 5px 10px 0 3px; }
      .header-gnav li:nth-child(n+2) {
        margin-top: 15px; }

  .header-gnav-hamburger {
    width: 50px;
    height: 50px; }
    .header-gnav-hamburger span {
      height: 2px;
      right: 9px; }
      .header-gnav-hamburger span:nth-child(1) {
        top: 12px;
        width: 10px; }
      .header-gnav-hamburger span:nth-child(2) {
        top: 19px;
        width: 22px; }
      .header-gnav-hamburger span:nth-child(3) {
        top: 26px;
        width: 32px; }
    .header-gnav-hamburger p {
      bottom: 3px;
      font-size: 12px; }

  .hamburger.active span {
    top: 20px;
    right: 12px;
    width: 26px; }

  .header-nav-contents {
    padding-bottom: 50px; }

  .header-icon {
    top: 55px; }
    .header-icon a {
      width: 50px; }

  .gnav {
    padding-top: 50px; }
    .gnav-main .level01 a {
      width: calc(100% - 60px);
      min-height: 60px;
      padding: 5px 0 5px 20px;
      font-size: 20px; }
    .gnav-main .level01 .toggle-btn {
      width: 60px; }
      .gnav-main .level01 .toggle-btn:after {
        width: 12px;
        height: 12px;
        top: calc(50% - 8px);
        left: calc(50% - 6px); }
    .gnav-main .level02 a {
      min-height: 60px;
      font-size: 18px;
      padding: 5px 0 5px 30px; }
    .gnav-info {
      margin-top: 40px; }
      .gnav-info li {
        min-width: 80px; }
        .gnav-info li:nth-child(n+2) {
          margin-left: 20px; }
        .gnav-info li a {
          height: 55px; }

  .mainvisual-text {
    width: 100%;
    display: flex;
    justify-content: center;
    right: 0; }
    .mainvisual-text p {
      margin-left: 0.5em; }
  .mainvisual-img {
    height: 90vh; }
  .mainvisual li:nth-child(1) .mainvisual-img img {
    object-position: 99% 0; }
  .mainvisual li:nth-child(2) .mainvisual-img img {
    object-position: 30% 0%; }
  .mainvisual li:nth-child(4) .mainvisual-img img {
    object-position: 18% 0%; }

  .page-mv-img {
    height: 300px; }

  .page-title {
    margin-top: 100px; }

  .footer {
    border-radius: 40px 40px 0 0;
    padding-top: 40px;
    margin-top: -40px; }
    .footer-nav-list {
      justify-content: space-between; }
    .footer-copylight {
      padding: 10px;
      margin-top: 40px; }

  .top-vision-square {
    width: 45%;
    height: 40%; }
  .top-vision-pic {
    height: 400px; }
  .top-vision-lead {
    font-size: 1.8rem; }

  .top-purpose-inner {
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    margin: -2em 5% 0 5%; }
    .top-purpose-inner .c-button04 {
      font-size: 1.8rem;
      margin: 1em 0 0 0; }
  .top-purpose .top-vision-title {
    margin: 0 0 0 3%; }

  .top-proposition-inner {
    flex-direction: column;
    justify-content: flex-end;
    margin: 4% 5% 0 5%; }
  .top-proposition .top-vision-title {
    margin: 0 3% 0 0; }
  .top-proposition .top-vision-text {
    margin-left: 0; }
  .top-proposition-menu {
    margin-top: 1em; }
    .top-proposition-menu__title {
      font-size: 3.6rem; }
    .top-proposition-menu__list {
      margin-top: 1em; }

  .c-sec-page-bnr .page-bnr img {
    border-radius: 15px; }
  .c-sec-page-bnr .page-bnr p {
    font-size: 2.6rem; }
    .c-sec-page-bnr .page-bnr p span {
      font-size: 1.4rem; }

  .top-recruit .c-link03 {
    font-size: 2.2rem;
    padding-right: 60px; }
    .top-recruit .c-link03::before {
      width: 50px;
      top: 12px; }
  .top-recruit-pic-item__pic {
    border-radius: 15px; }

  .top-recruit {
    flex-direction: column;
    margin: 0 0 0 5%; }
    .top-recruit-text {
      width: auto;
      max-width: 100%;
      margin-right: 5%; }
    .top-recruit-pic-wrap {
      margin: 4% 0 0 0; }

  .about-message-wrap {
    display: block; }
  .about-message01 {
    padding: 5% 0 6% 0; }
    .about-message01 .about-message-pic {
      float: right;
      margin: -180px 0 1em 5%; }
  .about-message02 {
    padding: 40px 0 45px 0; }
    .about-message02 .about-message-pic {
      float: left;
      margin: -90px 5% 1em 0; }
  .about-message-pic img {
    border-radius: 20px; }
  .about-message-pic__position {
    font-size: 1.6rem; }
  .about-message-pic__name {
    font-size: 2rem; }

  .about-outline {
    padding-bottom: 7%; }
    .about-outline-table th {
      padding: 20px 1em 20px 0; }
    .about-outline-table td {
      padding: 20px 0; }

  .about-access-info-wrap {
    flex-direction: column; }
  .about-access-info-traffic {
    margin: 1.2em 0 0; }

  .service-detail-title {
    font-size: 2.8rem; }
    .service-detail-title span {
      font-size: 1.8rem; }
  .service-detail-list-wrap {
    border-radius: 15px;
    padding: 15px; }

  .service-development {
    padding: 20px; }
    .service-development-text {
      text-align: left; }
    .service-development-flow .line {
      top: 30px; }
    .service-development-flow li img {
      width: 60px; }
    .service-development-flow li p span {
      font-size: 1.2rem; }

  .service-dispatch-sec {
    margin-top: 5%; }
    .service-dispatch-sec .service-detail-title {
      text-align: left; }

  .c-relation-sec {
    background: #F3FCFF;
    background: linear-gradient(180deg, #f3fcff 0%, #ebf1fe 100%);
    padding: 4% 0;
    margin-top: 5%;
    text-align: center; }
    .c-relation-sec p.lead {
      font-size: 2rem;
      font-weight: 500;
      text-align: center;
      margin-bottom: 1.5em; }
    .c-relation-sec .button-single {
      margin: 0 auto; }

  .sec-recruit-message {
    margin-top: 4%; }

  .recruit-message-pic {
    margin-top: -15%; }

  .recruit-staff-item {
    border-radius: 15px;
    padding: 15px; }
  .recruit-staff-pic__pic {
    border-radius: 10px; }
  .recruit-staff-pic__job {
    min-width: 100px;
    padding: 6px 6px 5px 6px;
    border-radius: 10px 0 0 0;
    font-size: 1.2rem; }
  .recruit-staff-profile {
    flex-direction: column;
    align-items: flex-start;
    margin-top: 15px; }
    .recruit-staff-profile__name {
      font-size: 2rem; }
    .recruit-staff-profile__year {
      font-size: 1.3rem;
      margin-top: 5px; }
  .recruit-staff-catch {
    font-size: 1.4rem; }

  .recruit-environment-text {
    margin-bottom: 1em; }

  .tab-box__btn-area .tab-btn {
    height: 60px;
    border-radius: 15px 15px 0 0;
    font-size: 2.2rem; }
  .tab-box__panel-area .tab-panel {
    border-radius: 0 15px 15px 15px;
    padding: 30px; }

  .recruit-require-title__job {
    border-radius: 10px;
    padding: 15px; }
    .recruit-require-title__job .job {
      font-size: 2.4rem; }
  .recruit-require-contents {
    border-radius: 10px;
    padding: 30px;
    margin: 10px 0; }

  .recruit-staff-container-all::before, .recruit-staff-container-all::after {
    width: 31%; }
  .recruit-staff-container-all .recruit-staff-item {
    width: 31%;
    padding: 15px;
    border-radius: 15px;
    margin-bottom: 0; }
    .recruit-staff-container-all .recruit-staff-item:nth-child(even) {
      margin-top: 0; }
    .recruit-staff-container-all .recruit-staff-item:nth-child(n+4) {
      margin-top: 3.5%; }
  .recruit-staff-container-all .recruit-staff-pic__pic {
    border-radius: 10px; }

  .sec-staff-profile {
    margin-top: 60px; }

  .staff-profile-text {
    width: 50%;
    margin: 6% 0 7% 0; }
  .staff-profile-department {
    font-size: 1.6rem; }
  .staff-profile-job {
    margin-top: 5px; }
  .staff-profile-graduate {
    font-size: 1.6rem; }
  .staff-profile-join {
    font-size: 1.6rem; }
  .staff-profile-pic img {
    border-radius: 30px; }

  .c-article-pic {
    margin: 30px 0; }
    .c-article-pic__item img {
      border-radius: 20px; }

  .staff-pickup-item {
    margin-top: 30px;
    padding: 20px 25px 25px 25px; }

  .sec-buttons01 {
    padding: 6% 0; }
    .sec-buttons01.c-pb-end {
      margin-bottom: 100px; }

  .sec-staff-part-list {
    margin: 5% 40px 0 40px; }

  .staff-list-wrap {
    flex-direction: column; }
  .staff-list-title {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    margin: 0; }
  .staff-list-link {
    margin-top: 1em; }

  .environment-lead-catch {
    font-size: 2.2rem; }
  .environment-lead-text {
    font-size: 1.6rem;
    line-height: 1.6; }

  .environment-study-title {
    font-size: 4.6rem; }
    .environment-study-title span {
      font-size: 2.6rem; }

  .sec-environment-policy {
    padding: 5% 0 6% 0; }

  .environment-policy-item {
    width: 31%; }
    .environment-policy-item:nth-child(n+4) {
      margin-top: 2%; }
    .environment-policy-item__title {
      font-size: 1.6rem; }
    .environment-policy-item p {
      font-size: 1.5rem; }

  .sec-environment-benefits {
    margin-top: 5%; }

  .environment-benefits-item {
    width: 31%; }
    .environment-benefits-item__title {
      font-size: 2.2rem; }

  .sec-mail-form {
    margin-top: 30px; }

  .sec-mail-form-buttons {
    margin-top: 50px; } }
/* 900px end */
@media screen and (max-width: 600px) {
  .c-section01,
  .c-section02 {
    margin-left: 20px;
    margin-right: 20px; }

  .c-inner01,
  .c-inner02 {
    margin-left: 20px;
    margin-right: 20px; }

  .c-pic-layout01 {
    flex-direction: column;
    margin-top: 30px;
    margin-bottom: 30px; }
  .c-pic img {
    border-radius: 0px; }
  .c-pic-item {
    width: 100%; }
    .c-pic-item img {
      border-radius: 0; }
    .c-pic-item:nth-child(1) {
      margin-left: -20px; }
      .c-pic-item:nth-child(1) img {
        border-radius: 0 20px 20px 0; }
    .c-pic-item:nth-child(2) {
      align-self: flex-end;
      margin: 25px -20px 0 0; }
      .c-pic-item:nth-child(2) img {
        border-radius: 20px 0 0 20px; }

  .c-relation-sec {
    padding: 25px 0 30px 0;
    margin-top: 30px;
    text-align: center; }
    .c-relation-sec p.lead {
      font-size: 1.8rem;
      margin-bottom: 1em; }

  .page-index {
    padding: 30px 0; }
    .page-index-wrap {
      flex-direction: column; }
    .page-index-hd {
      font-size: 2rem; }
    .page-index-list__item {
      font-size: 1.6rem; }
      .page-index-list__item:nth-child(n+2) {
        margin-top: 10px; }
    .page-index-lead {
      margin: 25px 0 0 0; }
      .page-index-lead-hd01 {
        font-size: 2rem; }
      .page-index-lead-hd02 {
        font-size: 2.4rem; }
      .page-index-lead p {
        font-size: 1.6rem; }

  .c-head01,
  .c-head02 {
    font-size: 3.2rem;
    margin-bottom: 20px; }
    .c-head01 span,
    .c-head02 span {
      font-size: 1.5rem; }

  .c-head01 {
    text-align: center;
    margin-left: auto;
    margin-right: auto; }

  .c-head-wrap {
    flex-direction: column;
    margin-bottom: 20px; }
    .c-head-wrap .hd-catch {
      font-size: 2.2rem;
      margin: 0.5em 0 0; }

  .c-head03 {
    font-size: 2.2rem; }

  .c-button01 {
    flex-direction: row;
    width: 100%; }

  .c-button02,
  .c-button03 {
    width: 100%; }

  .c-button03 {
    font-size: 1.6rem; }
    .c-button03 span {
      font-size: 2.6rem; }
    .c-button03.environment span {
      padding-left: 26px; }
      .c-button03.environment span::before {
        width: 21px;
        top: 4px; }
    .c-button03.requirements span {
      padding-left: 26px; }
      .c-button03.requirements span::before {
        width: 20px;
        top: 5px; }
    .c-button03.recruit span {
      padding-left: 28px; }
      .c-button03.recruit span::before {
        width: 24px;
        top: 5px; }
    .c-button03.tel span {
      padding-left: 22px; }
      .c-button03.tel span::before {
        width: 16px;
        top: 6px; }
    .c-button03.mail span {
      padding-left: 26px; }
      .c-button03.mail span::before {
        width: 20px;
        top: 9px; }

  .c-button-container01 {
    flex-direction: column; }
    .c-button-container01 .c-button01:nth-child(2n), .c-button-container01 .c-button01:nth-child(3n),
    .c-button-container01 .c-button02:nth-child(2n),
    .c-button-container01 .c-button02:nth-child(3n),
    .c-button-container01 .c-button03:nth-child(2n),
    .c-button-container01 .c-button03:nth-child(3n) {
      margin-left: 0; }
    .c-button-container01 .c-button01:nth-child(n+2),
    .c-button-container01 .c-button02:nth-child(n+2),
    .c-button-container01 .c-button03:nth-child(n+2) {
      margin-top: 15px; }

  .c-button04 {
    width: auto;
    padding: 12px 10px;
    min-width: 220px; }

  .c-table01 td {
    padding: 15px 0; }
  .c-table01 th {
    padding: 15px 1em 15px 0; }

  .c-lead-buttons {
    font-size: 1.8rem;
    margin-bottom: 1.2em; }
    .c-lead-buttons br {
      display: block; }

  a[href*="tel:"].c-link01 {
    text-decoration: underline; }

  .c-img01 {
    height: 200px; }

  .fadein-scroll-r2,
  .fadein-scroll-r3 {
    transform: translateX(30px); }

  .c-pb-end {
    padding-bottom: 80px; }

  .header-logo {
    width: 70%;
    margin: 8px 0 0 5px; }

  .header-icon {
    display: none; }

  .mainvisual-img {
    height: 70vh;
    height: 80vh; }
  .mainvisual li:nth-child(1) .mainvisual-img img {
    object-position: 89% 0; }
  .mainvisual-text {
    font-size: 4.5rem; }
    .mainvisual-text p {
      margin-left: 0.5em; }

  .page-mv-img {
    height: 250px; }

  .page-mv-about .page-mv-img img {
    object-position: 0% 0%; }

  .page-title {
    margin-top: 60px; }

  .footer {
    border-radius: 30px 30px 0 0;
    padding-top: 35px;
    margin-top: -30px; }
    .footer-info__corporation {
      width: 260px; }
    .footer-nav-list {
      flex-direction: column; }
      .footer-nav-list__item:nth-child(n+2) {
        margin: 15px 0 0 0; }
      .footer-nav-list__item ul {
        display: none; }
    .footer-copylight {
      margin-top: 40px; }

  .top-vision-square {
    width: 60%;
    height: 180px; }
  .top-vision-title-wrap {
    flex-direction: column;
    align-items: flex-start; }
  .top-vision-title {
    font-size: 5rem;
    margin: 0 20px; }
    .top-vision-title-subtitle {
      font-size: 1.6rem;
      margin: 0; }
  .top-vision-pic {
    height: 200px;
    margin-top: 3%; }
  .top-vision-catch {
    font-size: 2.8rem;
    margin-bottom: 0.3em; }
  .top-vision-lead {
    font-size: 1.65rem;
    line-height: 1.7; }
    .top-vision-lead br {
      display: none; }

  .sec-top-purpose {
    margin-top: 25px; }

  .top-purpose .top-vision-subtitle {
    margin-top: 0.5em; }
  .top-purpose .top-vision-square {
    top: 10%; }
  .top-purpose-inner {
    margin: -1em 20px 0 20px; }
    .top-purpose-inner .c-button04 {
      font-size: 1.8rem;
      margin: 1em auto 0 auto; }

  .sec-top-proposition {
    margin-top: 30px; }

  .top-proposition .top-vision-title-wrap {
    flex-direction: column; }
  .top-proposition .top-vision-title {
    margin: 0 0 0 20px; }
  .top-proposition .top-vision-subtitle {
    margin: 0.5em 0 0 20px; }
  .top-proposition .top-vision-square {
    top: 6%; }
  .top-proposition-inner {
    margin: 20px 20px 0 20px; }
  .top-proposition-menu__title {
    font-size: 3.2rem; }
  .top-proposition-menu__list {
    margin-top: 10px; }
    .top-proposition-menu__list li:nth-child(n+2) {
      margin-top: 12px; }
    .top-proposition-menu__list li a {
      font-size: 1.65rem;
      padding-left: 40px; }
    .top-proposition-menu__list li:nth-child(1) a::before {
      top: 3px; }

  .c-sec-page-bnr {
    flex-direction: column;
    margin-top: 30px; }
    .c-sec-page-bnr .page-bnr {
      width: 100%; }
      .c-sec-page-bnr .page-bnr:nth-child(n+2) {
        margin: 15px 0 0 0; }

  .sec-top-recruit {
    margin-top: 30px; }

  .top-recruit {
    flex-direction: column;
    margin: 0 0 0 20px; }
    .top-recruit-text {
      margin-right: 20px; }
    .top-recruit-title {
      font-size: 4.4rem; }
    .top-recruit-catch {
      font-size: 2.4rem; }
    .top-recruit .c-link03 {
      font-size: 2.2rem;
      padding-right: 60px; }
      .top-recruit .c-link03::before {
        width: 50px;
        top: 12px; }
    .top-recruit-pic-wrap {
      margin: 20px 0 0 0; }
    .top-recruit-pic-item__pic {
      border-radius: 10px; }

  .about-message-wrap {
    display: block; }
  .about-message01 {
    padding: 25px 0 30px 0; }
    .about-message01 .about-message-pic {
      float: none;
      margin: 0 auto 1em auto; }
  .about-message02 {
    padding: 40px 0; }
    .about-message02 .about-message-pic {
      float: none;
      margin: -80px auto 1em auto; }
  .about-message-pic {
    width: 60%; }
    .about-message-pic img {
      border-radius: 20px; }
    .about-message-pic__position {
      font-size: 1.6rem; }
    .about-message-pic__name {
      font-size: 2rem; }

  .about-outline {
    padding: 30px 0 40px 0; }
    .about-outline-table__access {
      flex-direction: column; }
      .about-outline-table__access a {
        font-family: "Lexend", sans-serif; }

  .about-access {
    padding-top: 25px; }
    .about-access-google-map iframe {
      height: 350px; }
    .about-access-info-wrap {
      flex-direction: column;
      margin: 20px 0 30px 0; }

  .sec-service-operation {
    padding: 25px 0 30px 0; }
    .sec-service-operation .service-detail-icon {
      height: 92px; }

  .service-detail {
    flex-direction: column; }
    .service-detail-title {
      font-size: 2.2rem; }
      .service-detail-title span {
        font-size: 1.6rem; }
    .service-detail-block {
      width: 100%; }
      .service-detail-block:nth-child(n+2) {
        margin-top: 30px; }
      .service-detail-block-title {
        font-size: 2rem; }
    .service-detail-text {
      margin-top: 10px; }

  .sec-service-system {
    margin-top: 30px;
    margin-bottom: 30px; }

  .service-development {
    border-radius: 15px; }
    .service-development::after {
      width: calc(100% - 6px);
      height: calc(100% - 6px);
      border-radius: 12px; }
    .service-development-flow {
      flex-direction: column; }
      .service-development-flow .line {
        width: 1px;
        height: calc(100% - 30px);
        left: 30px;
        top: 30px; }
      .service-development-flow li {
        width: 100%;
        max-width: 100%;
        flex-direction: row; }
        .service-development-flow li p {
          text-align: left;
          margin: 0 0 0 15px; }
          .service-development-flow li p span {
            display: inline; }
      .service-development-flow li + li {
        margin-top: 15px; }

  .sec-recruit-message {
    margin-top: 5px;
    padding-bottom: 30px; }

  .recruit-message {
    flex-direction: column; }
    .recruit-message .c-head01 {
      text-align: center;
      margin: 0 auto;
      order: 1; }
    .recruit-message-text {
      order: 3;
      margin-top: 1em; }
    .recruit-message-pic {
      width: 80%;
      max-width: 80%;
      margin: 0 auto 0 auto;
      order: 2; }
      .recruit-message-pic img {
        border-radius: 15px; }
      .recruit-message-pic__position {
        font-size: 1.8rem;
        margin-top: 0.8em; }
      .recruit-message-pic__name {
        font-size: 2.4rem;
        margin-top: 0.2em; }

  .sec-recruit-staff {
    margin-top: 25px; }

  .recruit-staff-container {
    flex-direction: column;
    align-items: center; }
  .recruit-staff-item {
    width: 90%;
    margin-bottom: 0; }
    .recruit-staff-item:nth-child(2), .recruit-staff-item:nth-child(3) {
      transition-delay: 0; }
    .recruit-staff-item:nth-child(even) {
      margin-top: 20px; }
    .recruit-staff-item:nth-child(n+2) {
      margin-top: 20px; }
  .recruit-staff-pic__job {
    font-size: 1.4rem; }
  .recruit-staff-profile {
    flex-direction: row;
    align-items: flex-end; }
  .recruit-staff-catch {
    font-size: 1.6rem; }
  .recruit-staff-link {
    text-align: center; }

  .sec-recruit-environment {
    margin-top: 30px; }

  .recruit-environment-text {
    margin-bottom: 30px; }

  .sec-recruit-requirements {
    margin-top: 40px; }

  .tab-box__btn-area .tab-btn {
    height: 45px;
    border-radius: 10px 10px 0 0;
    font-size: 1.8rem; }
    .tab-box__btn-area .tab-btn:nth-child(n+2) {
      margin-left: 5px; }
  .tab-box__panel-area .tab-panel {
    border-radius: 0 8px 8px 8px;
    padding: 15px; }

  .recruit-require + .recruit-require {
    margin-top: 10px; }
  .recruit-require-title__job {
    border-left: solid 10px #BEBEBE;
    border-radius: 5px;
    padding: 12px; }
    .recruit-require-title__job .job {
      font-size: 2rem; }
  .recruit-require-title__toggle-btn:before {
    width: 12px;
    height: 12px;
    top: calc(50% - 8px);
    right: 15px; }
  .recruit-require-contents {
    border-radius: 5px;
    padding: 20px 15px; }

  .recruit-staff-container-all .recruit-staff-item {
    width: 90%; }
    .recruit-staff-container-all .recruit-staff-item:nth-child(n+2) {
      margin-top: 20px; }

  .staff-profile-wrap {
    flex-direction: column-reverse; }
  .staff-profile-text {
    width: 100%;
    margin: 6% 0 7% 0; }
    .staff-profile-text div {
      display: flex;
      flex-direction: column;
      align-items: center; }
      .staff-profile-text div div {
        align-items: flex-start; }
  .staff-profile-department {
    font-size: 1.6rem; }
  .staff-profile-job {
    margin-top: 5px; }
  .staff-profile-graduate {
    font-size: 1.6rem; }
  .staff-profile-join {
    font-size: 1.6rem; }
  .staff-profile-pic {
    width: 90%;
    margin: 0 auto; }
    .staff-profile-pic img {
      border-radius: 20px;
      margin-top: -40px; }

  .sec-c-article {
    margin-top: 30px; }

  .c-article-answer {
    font-size: 2.2rem; }
  .c-article-pic {
    flex-direction: column;
    margin: 30px 0; }
    .c-article-pic__item {
      width: 85%; }
      .c-article-pic__item img {
        border-radius: 15px; }
      .c-article-pic__item:nth-child(even) {
        align-self: flex-end;
        margin-top: 25px; }

  .staff-pickup-item {
    padding: 18px 20px 20px 20px; }
  .staff-pickup-title {
    font-size: 2.6rem; }
    .staff-pickup-title span {
      display: block;
      font-size: 1.6rem;
      margin-left: 0; }

  .sec-buttons01 {
    padding: 35px 0;
    margin-top: 35px; }

  .sec-buttons01.c-pb-end {
    margin-bottom: 80px; }

  .sec-staff-part-list {
    margin: 30px 20px 0 20px; }

  .staff-list-wrap {
    align-items: center; }
  .staff-list-title {
    margin: 0; }
    .staff-list-title .c-head01 {
      text-align: center; }
  .staff-list-link {
    display: flex;
    justify-content: center;
    margin-top: 30px; }

  .sec-environment-lead {
    margin-top: 25px; }

  .environment-lead-catch {
    font-size: 2rem; }

  .environment-study-title {
    font-size: 3.2rem; }
    .environment-study-title span {
      font-size: 1.8rem; }
  .environment-study-pic {
    margin-top: 15px; }
  .environment-study:nth-child(n+2) {
    margin-top: 20px; }

  .sec-environment-policy {
    padding: 25px 0 30px 0;
    margin-top: 35px; }

  .environment-policy-item {
    width: 48%; }
    .environment-policy-item:nth-child(n+3) {
      margin-top: 2%; }

  .sec-environment-benefits {
    margin-top: 25px; }

  .environment-benefits {
    flex-direction: column; }
    .environment-benefits-item {
      width: 100%; }
      .environment-benefits-item:nth-child(n+2) {
        margin-top: 25px; }

  .mail-form {
    margin-top: 20px; }
    .mail-form-input-wrap .radio-item {
      width: 100%; }
      .mail-form-input-wrap .radio-item:nth-child(n+2) {
        margin: 5px 0 0; }
    .mail-form .birth-year {
      width: 5em; }
    .mail-form .birth-month,
    .mail-form .birth-day {
      width: 3em; }
    .mail-form .job-other {
      flex: 1;
      margin: 5px 0 0; }

  .mail-form-send {
    margin-top: 20px; }
    .mail-form-send__text {
      text-align: left;
      margin-bottom: 15px; }
    .mail-form-send__privacy {
      margin: 15px auto 30px auto; }

  /*
  .sec-entry-buttons {
    margin-bottom: 80px;
  }
*/
  .sec-contact-buttons {
    margin-top: 25px; } }
/* 600px end */
@media print {
  body {
    zoom: 56%; }

  /*
  #wrapper {
    &::before {
      width: 95vw;
      height: 95vw;
      top: 8%;
      left: -15%;
    }

    &::after {
      width: 85vw;
      height: 85vw;
      top: 13%;
      right: -15%;
    }
  }
*/
  .fadein-scroll {
    opacity: 1;
    transform: translateY(0); }

  .fadein-scroll-r {
    opacity: 1;
    transform: translateX(0); }

  .fadein-scroll-l {
    opacity: 1;
    transform: translateX(0); }

  .fadein-load {
    -webkit-animation: fadeIn 3s ease 0s 1 normal;
    animation: fadeIn 3s ease 0s 1 normal; }

  @keyframes fadeIn {
    0% {
      opacity: 1; } }
  @-webkit-keyframes fadeIn {
    0% {
      opacity: 1; } }
  .fadein-device {
    opacity: 1;
    transform: translateY(0); }

  .mainvisual-img {
    height: 700px; } }
