@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Oswald:wght@300;500;700&display=swap");
/* -----------------------------------------------
* Plugins エントリーポイント
-------------------------------------------------- */
/*------------------------------------------------------------------------------
  reset PC
------------------------------------------------------------------------------*/
html,
input,
textarea,
select,
button {
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, sans-serif;
  font-weight: 400;
  font-size: 16px;
}

html {
  color: #333;
  background: #fff;
  font-size: 16px;
  line-height: 1.6;
  overflow-wrap: break-word;
  overflow-y: scroll;
}

body {
  background: #fff;
  margin: 0;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}

*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

img {
  border: 0;
  margin: 0;
  vertical-align: top;
  max-width: 100%;
}

p {
  margin: 0;
  padding: 0;
  overflow-wrap: break-word;
  word-wrap: break-word;
}

a {
  color: #333;
  text-decoration: none;
}

input,
select,
textarea,
button {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

select::-ms-expand {
  display: none;
}

textarea {
  resize: vertical;
}

::-webkit-input-placeholder {
  color: #ccc;
}

:-ms-input-placeholder {
  color: #ccc;
}

::-ms-input-placeholder {
  color: #ccc;
}

::-moz-placeholder {
  color: #ccc;
}

::placeholder {
  color: #ccc;
}

button {
  border: none;
  cursor: pointer;
}

label {
  cursor: pointer;
}

table {
  border-collapse: collapse;
}

ul,
ol {
  list-style: none;
  margin: 0;
  padding: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 14px;
  font-weight: 500;
  margin: 0;
  padding: 0;
}

main {
  display: block;
  padding-top: 100px;
}

.outer-block {
  width: 100%;
}

.inner-block {
  position: relative;
  max-width: 1260px;
  padding: 0 30px;
}

#wrapper {
  position: relative;
}

dl, dt, dd {
  padding: 0;
  margin: 0;
}

.ib {
  display: inline-block;
}
.oswald {
  font-family: "Oswald", sans-serif;
}

.c-svg {
  display: inline-block;
  fill: currentColor;
  vertical-align: top;
}

.nav-breadcrumb-wrap.core-site-content {
  margin-top: 0;
  padding-top: 0;
}

.core-site-footer {
  margin-top: 0;
}

.core-site-footer--simple {
  background: #fff;
  position: relative;
  z-index: 1;
}

/*------------------------------------------------------------------------------
  reset SP
------------------------------------------------------------------------------*/
/* --------------------------------
c-header
----------------------------------- */
.c-header {
  position: absolute;
  top: 50px;
  left: 0;
  background: #fff;
  width: 100%;
  height: 100px;
  z-index: 100;
}
.c-header.is-scroll {
  position: fixed;
  top: 0;
}
.c-header.is-scroll .c-menu-btn {
  position: fixed;
}
.c-header .inner-block {
  width: 100%;
  max-width: 100%;
}
.c-header > .inner-block {
  height: 100%;
}
.c-header.technical-header .header-area {
  padding: 10px 95px 10px 0;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.c-header.technical-header .header-area .logo-link {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
}
.c-header.technical-header .logo-txt {
  padding-left: 0;
}
.c-header.technical-header .logo-txt02 {
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  font-size: 18px;
  margin: auto 0 auto 47px;
  font-weight: bold;
  letter-spacing: 0.4em;
}
.c-header.technical-header.is-open .logo-txt02 {
  color: #fff;
}
.c-header.technical-header.is-open .logo-txt02 a {
  color: #fff;
}
.c-header .header-area {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  padding-right: 115px;
  padding-top: 30px;
  padding-bottom: 30px;
  width: 100%;
  height: 100%;
}
.c-header .logo-link {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.c-header .logo-txt {
  margin-top: 9px;
  font-family: "Oswald", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, sans-serif;
  font-size: 11px;
  letter-spacing: 0.2em;
  padding-left: 35px;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.c-header .logo-txt .blue {
  color: #0099CC;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.c-header .logo-txt .big {
  font-size: 18px;
}
.c-header .btn-wrap .btn {
  background: #6993F8;
  border: 1px solid;
  color: #fff;
  cursor: pointer;
  display: inline-block;
  font-family: "Oswald", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, sans-serif;
  letter-spacing: 0.1em;
  font-size: 11px;
  padding: 10px 2px;
  text-align: center;
  width: 124px;
  position: relative;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.c-header .btn-wrap .btn.entry {
  background: #6993F8;
  border-color: #6993F8;
}
.c-header .btn-wrap .btn.mypage {
  background: #29ABE2;
  border-color: #29ABE2;
}
.c-header .btn-wrap .btn.internship {
  background: #5652CC;
  border-color: #5652CC;
}
.c-header .btn-wrap .btn.technical {
  background: #6BBC00;
  border-color: #6BBC00;
}
.c-header .btn-wrap .btn.kouko {
  background: #6bbc00;
  border-color: #6bbc00;
}
.c-header .btn-wrap .btn.kosen {
  background: #009245;
  border-color: #009245;
}
.c-header .btn-wrap .btn.tyuto {
  background: #006837;
  border-color: #006837;
}
.c-header .btn-wrap .js-kosen-btn {
  display: block;
}
.c-header .btn-wrap .js-kosen-target,
.c-header .btn-wrap .js-kosen-target-sp {
  background: rgba(0, 147, 60, 0.8);
  color: #fff;
  padding: 50px 30px;
  z-index: 2;
}
.c-header .btn-wrap .js-kosen-target .ttl,
.c-header .btn-wrap .js-kosen-target-sp .ttl {
  font-size: 20px;
  font-weight: bold;
  letter-spacing: 0.1em;
}
.c-header .btn-wrap .js-kosen-target .txt,
.c-header .btn-wrap .js-kosen-target-sp .txt {
  font-size: 16px;
  line-height: 2;
  padding-left: 30px;
}
.c-header .btn-wrap .js-kosen-target.is-active,
.c-header .btn-wrap .js-kosen-target-sp.is-active {
  opacity: 1;
  pointer-events: auto;
}
.c-header .btn-wrap.column {
  max-width: 1000px;
  margin: auto;
  padding-bottom: 0;
}
.c-header .btn-wrap.column .btn {
  border: 1px solid #d2dffd;
  color: #fff;
  width: calc((100% - 20px)/2);
  font-size: 20px;
  font-weight: bold;
  padding: 16px 10px;
}
.c-header .btn-wrap.column .btn + .btn {
  margin: 0 0 0 20px;
}
.c-header .btn-wrap.column .btn.entry {
  background: #6993f8;
}
.c-header .btn-wrap.column .btn.tyuto {
  background: #006937;
}
.c-header.is-open {
  width: 100%;
  height: 100%;
  overflow: auto;
  position: fixed;
  top: 0;
}
.c-header.is-open::after {
  opacity: 1;
}

.c-menu-btn {
  cursor: pointer;
  display: block;
  font-size: 0;
  margin: auto;
  position: absolute;
  top: 0;
  right: 0;
  margin: auto;
  width: 90px;
  height: 100px;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  z-index: 102;
}
.c-menu-btn .inn {
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 46px;
  height: 24px;
}
.c-menu-btn .line {
  background: #009FC3;
  display: inline-block;
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.c-menu-btn .line:nth-of-type(1) {
  top: 0;
}
.c-menu-btn .line:nth-of-type(2) {
  top: 10px;
}
.c-menu-btn .line:nth-of-type(3) {
  top: 21px;
}
.c-menu-btn.is-open {
  position: fixed;
}
.c-menu-btn.is-open .line {
  top: 10px;
}
.c-menu-btn.is-open .line:nth-of-type(1), .c-menu-btn.is-open .line:nth-of-type(2) {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.c-menu-btn.is-open .line:nth-of-type(3) {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

.c-menu {
  background: rgba(0, 150, 194, 0.96);
  color: #fff;
  overflow: auto;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  z-index: 101;
  opacity: 0;
  pointer-events: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.c-menu.is-open {
  opacity: 1;
  pointer-events: auto;
}
.c-menu .cont-area {
  padding-top: 80px;
  padding-bottom: 50px;
}
.c-menu .cont-area.wide02 {
  max-width: 1280px;
}
.c-menu .cont {
  min-width: 170px;
}
.c-menu .cont .link-box {
  position: relative;
}
.c-menu .cont .link-box + .link-box {
  margin-top: 65px;
}
.c-menu .cont .btn {
  color: #fff;
  display: inline-block;
  font-family: "Oswald", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, sans-serif;
  font-size: 28px;
  font-weight: bold;
  letter-spacing: 0.1em;
}
.c-menu .cont .btn.sub {
  font-size: 14px;
}
.c-menu .cont .btn.en {
  font-weight: 500;
}
.c-menu .cont .sub-link-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin-top: 25px;
}
.c-menu .cont .sub-link-list li.wide a {
  font-weight: bold;
}
.c-menu .cont .sub-link-list li.wide a .small-txt {
  display: block;
  font-weight: normal;
  font-size: 13px;
  margin-top: 5px;
  letter-spacing: -0.05em;
}
.c-menu .cont .sub-link-list li .c-svg {
  vertical-align: middle;
  margin-left: 5px;
}
.c-menu .cont .btn-wrap {
  padding-bottom: 0;
}
.c-menu .js-sp-aco-btn {
  width: 48px;
  height: 48px;
  position: absolute;
  z-index: 1;
  right: 0;
  top: 0;
}
.c-menu .js-sp-aco-btn::before, .c-menu .js-sp-aco-btn::after {
  background: #fff;
  content: "";
  display: block;
  width: 18px;
  height: 1px;
  position: absolute;
  bottom: 0;
  top: 0;
  right: 0;
  left: 0;
  margin: auto;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.c-menu .js-sp-aco-btn::after {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
.c-menu .js-sp-aco-btn.is-active::after {
  -webkit-transform: rotate(0);
          transform: rotate(0);
}
.c-menu .recruit-btn {
  border: 1px solid #fff;
  color: #fff;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-family: "Oswald", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, sans-serif;
  font-size: 11px;
  letter-spacing: 0.15em;
  padding: 10px 20px;
}
.c-menu .recruit-btn .c-svg {
  vertical-align: middle;
  margin: 0 0 2px;
}

.c-link-btn {
  color: #0000BE;
  font-size: 14px;
  font-family: "Oswald", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, sans-serif;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  letter-spacing: 0.15em;
}
.c-link-btn .c-svg {
  vertical-align: middle;
  padding-left: 0.5em;
}

.c-table {
  width: 100%;
}
.c-table th,
.c-table td {
  border-top: 1px solid #b3b3b3;
  border-bottom: 1px solid #b3b3b3;
  font-size: 15px;
  letter-spacing: 0.05em;
  line-height: 2;
  padding: 35px 0;
  text-align: left;
  vertical-align: top;
}
.c-table th {
  font-weight: bold;
  width: 165px;
}

/* fadeIn */
@-webkit-keyframes fadeIn {
  0% {
    -webkit-filter: opacity(0);
            filter: opacity(0);
  }
  100% {
    -webkit-filter: opacity(1);
            filter: opacity(1);
  }
}
@keyframes fadeIn {
  0% {
    -webkit-filter: opacity(0);
            filter: opacity(0);
  }
  100% {
    -webkit-filter: opacity(1);
            filter: opacity(1);
  }
}
@-webkit-keyframes fadeInLeft {
  0% {
    -webkit-filter: opacity(0);
            filter: opacity(0);
    -webkit-transform: translateX(-60px);
            transform: translateX(-60px);
  }
  100% {
    -webkit-filter: opacity(1);
            filter: opacity(1);
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@keyframes fadeInLeft {
  0% {
    -webkit-filter: opacity(0);
            filter: opacity(0);
    -webkit-transform: translateX(-60px);
            transform: translateX(-60px);
  }
  100% {
    -webkit-filter: opacity(1);
            filter: opacity(1);
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
/* home catch */
@-webkit-keyframes bg {
  0% {
    -webkit-filter: opacity(0);
            filter: opacity(0);
    -webkit-transform: scaleX(0) translateX(-5%);
            transform: scaleX(0) translateX(-5%);
  }
  30% {
    -webkit-transform: scaleX(1) translateX(0);
            transform: scaleX(1) translateX(0);
  }
  100% {
    -webkit-transform: scaleX(1) translateX(0);
            transform: scaleX(1) translateX(0);
  }
  30%, 100% {
    -webkit-filter: opacity(1);
            filter: opacity(1);
  }
}
@keyframes bg {
  0% {
    -webkit-filter: opacity(0);
            filter: opacity(0);
    -webkit-transform: scaleX(0) translateX(-5%);
            transform: scaleX(0) translateX(-5%);
  }
  30% {
    -webkit-transform: scaleX(1) translateX(0);
            transform: scaleX(1) translateX(0);
  }
  100% {
    -webkit-transform: scaleX(1) translateX(0);
            transform: scaleX(1) translateX(0);
  }
  30%, 100% {
    -webkit-filter: opacity(1);
            filter: opacity(1);
  }
}
/* scroll-txt */
@-webkit-keyframes scrollText {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}
@keyframes scrollText {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}
/* mv */
@-webkit-keyframes fuwafuwa01 {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  50% {
    -webkit-transform: translate(0, -7px);
            transform: translate(0, -7px);
  }
  100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
}
@keyframes fuwafuwa01 {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  50% {
    -webkit-transform: translate(0, -7px);
            transform: translate(0, -7px);
  }
  100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
}
@-webkit-keyframes fuwafuwa02 {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  70% {
    -webkit-transform: translate(0, 7px);
            transform: translate(0, 7px);
  }
  100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
}
@keyframes fuwafuwa02 {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  70% {
    -webkit-transform: translate(0, 7px);
            transform: translate(0, 7px);
  }
  100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
}
@-webkit-keyframes fuwafuwa03 {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  50% {
    -webkit-transform: translate(0, 10px);
            transform: translate(0, 10px);
  }
  100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
}
@keyframes fuwafuwa03 {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  50% {
    -webkit-transform: translate(0, 10px);
            transform: translate(0, 10px);
  }
  100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
}
@-webkit-keyframes fuwafuwa04 {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  60% {
    -webkit-transform: translate(0, 7px);
            transform: translate(0, 7px);
  }
  100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
}
@keyframes fuwafuwa04 {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  60% {
    -webkit-transform: translate(0, 7px);
            transform: translate(0, 7px);
  }
  100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
}
@-webkit-keyframes mvFadeIn01 {
  0%, 10% {
    -webkit-filter: opacity(0);
            filter: opacity(0);
  }
  15%, 97% {
    -webkit-filter: opacity(1);
            filter: opacity(1);
  }
  100% {
    -webkit-filter: opacity(0);
            filter: opacity(0);
  }
}
@keyframes mvFadeIn01 {
  0%, 10% {
    -webkit-filter: opacity(0);
            filter: opacity(0);
  }
  15%, 97% {
    -webkit-filter: opacity(1);
            filter: opacity(1);
  }
  100% {
    -webkit-filter: opacity(0);
            filter: opacity(0);
  }
}
@-webkit-keyframes mvFadeIn02 {
  0%, 25% {
    -webkit-filter: opacity(0);
            filter: opacity(0);
  }
  30%, 97% {
    -webkit-filter: opacity(1);
            filter: opacity(1);
  }
  100% {
    -webkit-filter: opacity(0);
            filter: opacity(0);
  }
}
@keyframes mvFadeIn02 {
  0%, 25% {
    -webkit-filter: opacity(0);
            filter: opacity(0);
  }
  30%, 97% {
    -webkit-filter: opacity(1);
            filter: opacity(1);
  }
  100% {
    -webkit-filter: opacity(0);
            filter: opacity(0);
  }
}
@-webkit-keyframes mvFadeIn03 {
  0%, 40% {
    -webkit-filter: opacity(0);
            filter: opacity(0);
  }
  45%, 97% {
    -webkit-filter: opacity(1);
            filter: opacity(1);
  }
  100% {
    -webkit-filter: opacity(0);
            filter: opacity(0);
  }
}
@keyframes mvFadeIn03 {
  0%, 40% {
    -webkit-filter: opacity(0);
            filter: opacity(0);
  }
  45%, 97% {
    -webkit-filter: opacity(1);
            filter: opacity(1);
  }
  100% {
    -webkit-filter: opacity(0);
            filter: opacity(0);
  }
}
@-webkit-keyframes mvFadeIn04 {
  0%, 55% {
    -webkit-filter: opacity(0);
            filter: opacity(0);
  }
  60%, 97% {
    -webkit-filter: opacity(1);
            filter: opacity(1);
  }
  100% {
    -webkit-filter: opacity(0);
            filter: opacity(0);
  }
}
@keyframes mvFadeIn04 {
  0%, 55% {
    -webkit-filter: opacity(0);
            filter: opacity(0);
  }
  60%, 97% {
    -webkit-filter: opacity(1);
            filter: opacity(1);
  }
  100% {
    -webkit-filter: opacity(0);
            filter: opacity(0);
  }
}
/* mv-animation */
.mv-animation .c-header {
  -webkit-filter: opacity(0);
          filter: opacity(0);
}
.mv-animation .home-mv-section .mv-cont .circle,
.mv-animation .home-mv-section .mv-cont .sub-ttl,
.mv-animation .home-mv-section .fixed-bg,
.mv-animation .home-mv-section .inner-block {
  -webkit-filter: opacity(0);
          filter: opacity(0);
}

.mv-animation.is-animated .home-mv-section .mv-cont .catch .inn {
  opacity: 1;
  -webkit-animation: fadeInLeft 1.5s both;
          animation: fadeInLeft 1.5s both;
}
.mv-animation.is-animated .home-mv-section .mv-cont .catch .inn::before {
  -webkit-animation: bg 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards;
          animation: bg 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}
.mv-animation.is-animated .c-header {
  -webkit-animation: fadeIn 2s both 1.5s;
          animation: fadeIn 2s both 1.5s;
}
.mv-animation.is-animated .home-mv-section .mv-cont .sub-ttl,
.mv-animation.is-animated .home-mv-section .fixed-bg {
  -webkit-animation: fadeIn 2s both 1.5s;
          animation: fadeIn 2s both 1.5s;
}
.mv-animation.is-animated .home-mv-section .inner-block {
  -webkit-animation: fadeIn 3s both 2.5s;
          animation: fadeIn 3s both 2.5s;
}
.mv-animation.is-animated .home-mv-section .mv-cont .circle:nth-child(1) {
  -webkit-animation: mvFadeIn01 15s infinite 2.5s, fuwafuwa01 3s infinite;
          animation: mvFadeIn01 15s infinite 2.5s, fuwafuwa01 3s infinite;
}
.mv-animation.is-animated .home-mv-section .mv-cont .circle:nth-child(2) {
  -webkit-animation: mvFadeIn02 15s infinite 2.5s, fuwafuwa02 3s infinite;
          animation: mvFadeIn02 15s infinite 2.5s, fuwafuwa02 3s infinite;
}
.mv-animation.is-animated .home-mv-section .mv-cont .circle:nth-child(3) {
  -webkit-animation: mvFadeIn03 15s infinite 2.5s, fuwafuwa03 4.5s infinite;
          animation: mvFadeIn03 15s infinite 2.5s, fuwafuwa03 4.5s infinite;
}
.mv-animation.is-animated .home-mv-section .mv-cont .circle:nth-child(4) {
  -webkit-animation: mvFadeIn04 15s infinite 2.5s, fuwafuwa04 3s infinite;
          animation: mvFadeIn04 15s infinite 2.5s, fuwafuwa04 3s infinite;
}

/* --------------------------------
project-link-block
----------------------------------- */
.project-link-block {
  padding-top: 250px;
  padding-bottom: 164px;
}
.project-link-block .link-area {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.project-link-block .link-area .box {
  position: relative;
  margin-bottom: 36px;
}
.project-link-block .link-area .box img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  margin: auto;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.project-link-block .link-area .box .overlap-area {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.project-link-block .link-area .box .overlap-area .text-area {
  color: #fff;
  padding: 45px 35px;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  letter-spacing: 0.1em;
}
.project-link-block .link-area .box .overlap-area .text-area .category {
  font-family: "Oswald", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, sans-serif;
  font-weight: 700;
  font-size: 14px;
  padding-bottom: 13px;
}
.project-link-block .link-area .box .overlap-area .text-area .ttl {
  font-size: 18px;
  line-height: 1.5;
  font-weight: bold;
}
.project-link-block .link-area .box .overlap-area .text-area .sub {
  font-size: 14px;
  line-height: 1.928;
  font-weight: bold;
}
.project-link-block .link-area .box .overlap-area .c-link-btn {
  font-family: "Oswald", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, sans-serif;
  font-size: 12px;
  letter-spacing: 0.075em;
  margin-top: 10px;
  position: absolute;
  bottom: 0px;
  right: 0;
  color: #fff;
  background-color: #000;
  padding: 5px;
  padding-right: 13px;
  padding-left: 18px;
}
.project-link-block .link-area .box .c-link-btn {
  margin-top: 10px;
}
.project-link-block .link-area .box.short .overlap-area .text-area {
  padding: 75px 35px;
}
.project-link-block .link-area.is-hide {
  display: none;
}
.project-link-block .img {
  overflow: hidden;
  position: relative;
  width: 100%;
  padding-top: 67.57%;
}

/* --------------------------------
c-member-box
----------------------------------- */
.c-member-box {
  color: #0000BE;
  margin: 0 13px 80px;
}
.c-member-box .c-link-btn {
  margin-top: 10px;
}
.c-member-box.is-hide {
  display: none;
}
.c-member-box .img {
  background: #423EAF;
  border-radius: 10px;
  overflow: hidden;
  margin-bottom: 40px;
  position: relative;
  width: 100%;
  padding-top: 100%;
}
.c-member-box .img img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  margin: auto;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.c-member-box .category {
  font-size: 18px;
  font-family: "Oswald", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, sans-serif;
  margin-bottom: 10px;
  letter-spacing: 0.15em;
  line-height: 1.3;
}
.c-member-box .ttl {
  color: #6993F8;
  font-size: 18px;
}

/* --------------------------------
other-member-block
----------------------------------- */
.other-member-block {
  margin-top: 120px;
  margin-bottom: 80px;
}
.other-member-block .l-inner {
  position: relative;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin: 0 auto;
  padding: 0 3rem;
}
.other-member-block [class*=swiper]:focus {
  outline: none;
}
.other-member-block .swiper-controller {
  padding-bottom: 10px;
}
.other-member-block .swiper-controller .ttl {
  font-family: "Oswald", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, sans-serif;
  color: #0096C2;
  font-size: 18px;
  letter-spacing: 0.175em;
}
.other-member-block .slide-media,
.other-member-block .thumb-media {
  position: relative;
  overflow: hidden;
}
.other-member-block .swiper-button-prev,
.other-member-block .swiper-button-next {
  display: grid;
  cursor: pointer;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.other-member-block .card-box {
  overflow: hidden;
}
.other-member-block .card-box .swiper {
  overflow: visible;
}
.other-member-block .card-box .swiper-controller {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 50px 0;
}
.other-member-block .card-box .swiper-controller .btn-area {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 2rem;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  margin-top: 0px;
}
.other-member-block .card-box .swiper-button-prev, .other-member-block .card-box .swiper-button-next {
  position: relative;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  top: 12px;
  background-color: #0096C2;
  border-radius: 100%;
  width: 60px;
  height: 60px;
  border: 1px solid #0096C2;
}
.other-member-block .card-box .swiper-button-prev::after, .other-member-block .card-box .swiper-button-prev::before, .other-member-block .card-box .swiper-button-next::after, .other-member-block .card-box .swiper-button-next::before {
  font-size: 20px;
  color: #fff;
}
.other-member-block .card-box .swiper-button-prev::after {
  padding-right: 4px;
}
.other-member-block .card-box .swiper-button-next::after {
  padding-right: 0;
  padding-left: 4px;
}
.other-member-block .card-box .swiper-button-disabled {
  pointer-events: none;
  opacity: 0.8;
}
.other-member-block .card-box .swiper-button-disabled::before {
  -webkit-box-shadow: var(--box-shadow-inset);
          box-shadow: var(--box-shadow-inset);
}
.other-member-block .card-box .swiper-slide {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}
.other-member-block .card-box .slide {
  overflow: hidden;
  width: 22.2rem;
  border-radius: 4px;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.other-member-block .card-box .slide-media {
  padding-top: 62.5%;
}
.other-member-block .card-box .slide-media img {
  height: calc(100% + 16px);
  -webkit-transform: translateY(-16px);
          transform: translateY(-16px);
}
.other-member-block .card-box .slide-content {
  padding: 3.2rem;
}
.other-member-block .card-box .slide-date {
  font-size: 1.2rem;
  line-height: 1;
  display: block;
  color: var(--color-theme);
}
.other-member-block .card-box .slide-title {
  line-height: 1.6;
  overflow: hidden;
  height: 3.2em;
  margin-top: 1.6rem;
}

/* --------------------------------
c-txt-bg-section
----------------------------------- */
.c-txt-bg-section .bnr-area {
  background: #423EAF;
  border-radius: 20px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: auto;
  height: 435px;
  position: relative;
  overflow: hidden;
  width: calc(100% - 100px);
  z-index: 1;
}
.c-txt-bg-section .bnr-area .img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  -webkit-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
}
.c-txt-bg-section .bnr-area .img img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}
.c-txt-bg-section .bnr-area:hover .img {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
  opacity: 0.8;
}
.c-txt-bg-section .bnr-area .ttl-wrap {
  max-width: 689px;
  width: calc(100% - 40px);
  margin-top: 35px;
}
.c-txt-bg-section .bnr-area .ttl-wrap .ttl {
  background: rgba(66, 62, 175, 0.67);
  margin: auto;
  text-align: center;
  padding: 48px 20px;
  line-height: 1;
}
.c-txt-bg-section .bnr-area .c-link-btn {
  color: #fff;
  margin-top: 20px;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.c-article-mv-section .c-mv-txt,
.c-article-content-wrap .c-mv-txt {
  letter-spacing: 0.075em;
  line-height: 1.75;
  text-align: center;
}

.c-article-mv-section {
  background: no-repeat center center/cover;
  height: 34.375vw;
  max-height: 550px;
  color: #fff;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.c-article-mv-section .ttl {
  font-size: 36px;
  letter-spacing: 0.3em;
  font-weight: bold;
  padding-bottom: 48px;
}
.c-article-mv-section.simple {
  height: 26.25vw;
  max-height: 420px;
}
.c-article-mv-section.simple .ttl {
  padding-bottom: 0;
}
.c-article-mv-section.simple-middle {
  height: 25vw;
  max-height: 400px;
}
.c-bnr-list .link-area.is-hide,
.c-bnr-column-list .link-area.is-hide {
  display: none;
}
.c-bnr-list .link-area .bnr,
.c-bnr-column-list .link-area .bnr {
  position: relative;
  margin-bottom: 10px;
}
.c-bnr-list .link-area .bnr .img,
.c-bnr-column-list .link-area .bnr .img {
  background: #423EAF;
  overflow: hidden;
  position: relative;
  width: 100%;
  padding-top: 36.5%;
}
.c-bnr-list .link-area .bnr .img img,
.c-bnr-column-list .link-area .bnr .img img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  margin: auto;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.c-bnr-list .link-area .bnr .sub,
.c-bnr-column-list .link-area .bnr .sub {
  position: absolute;
  bottom: 60px;
  left: 38px;
  z-index: 1;
  color: #fff;
  font-family: "Oswald", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, sans-serif;
  font-size: 60px;
  font-weight: 400;
  letter-spacing: 0.09em;
}
.c-bnr-list .link-area .bnr .ttl,
.c-bnr-column-list .link-area .bnr .ttl {
  position: absolute;
  bottom: 30px;
  left: 38px;
  z-index: 1;
  color: #fff;
  font-size: 24px;
  font-weight: bold;
  letter-spacing: 0.09em;
}
.c-bnr-list .link-area .txt-area,
.c-bnr-column-list .link-area .txt-area {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.c-bnr-list .link-area .ttl.ico-external,
.c-bnr-column-list .link-area .ttl.ico-external {
  display: inline-block;
  position: relative;
}
.c-bnr-list .link-area .ttl.ico-external::after,
.c-bnr-column-list .link-area .ttl.ico-external::after {
  background: url(../images/common/ico-external-bk.svg) no-repeat center center/contain;
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  position: relative;
  bottom: -4px;
  right: -10px;
  margin: auto;
}
.c-bnr-list + .c-bnr-column-list {
  margin-top: 40px;
}

.c-bnr-column-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.c-bnr-column-list li {
  width: calc((100% - 30px)/2);
}
.c-bnr-column-list li .link-area .txt-area {
  margin-top: 20px;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.c-bnr-column-list li .link-area .txt-area .ttl {
  font-weight: bold;
}
.c-bnr-column-list li .link-area .bnr .img {
  padding-top: 66%;
}
.c-bnr-column-list li:nth-child(n+3) {
  margin-top: 100px;
}
.c-bnr-column-list.sp-vertical li .link-area .c-link-btn {
  margin-top: 3px;
}

.c-top-mv-section {
  position: relative;
}
.c-top-mv-section .swiper-wrapper {
  -webkit-transition-timing-function: linear !important;
          transition-timing-function: linear !important;
}
.c-top-mv-section .swiper-slide {
  width: 909px;
  height: auto;
}
.c-top-mv-section .swiper-slide img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.c-top-mv-section .ttl {
  color: #fff;
  font-size: 36px;
  font-weight: bold;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  z-index: 2;
  letter-spacing: 0.43em;
}

/* -----------------------------------------------
* Modules エントリーポイント
-------------------------------------------------- */
/* -----------------------------------------------
* home Module
* homeページ用
-------------------------------------------------- */

.home-mv-section,
.scroll-txt-wrap,
.c-txt-bg-section,
.home-special-section,
.home-btn-section,
.c-cta-section,
#footer,
.saiyo-jobcategory-section,
.saiyo-other-section,
.saiyo-other-section02,
.saiyo-article-section {
  background: #fff;
  position: relative;
  z-index: 1;
}

.home.is-scroll .fixed-bg {
  position: fixed;
  top: 100px;
}

.home-mv-section {
  padding-bottom: 90px;
  position: relative;
}
.home-mv-section .fixed-bg {
  width: 100%;
  height: 100vh;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.home-mv-section .fixed-bg img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: top;
     object-position: top;
  width: 100%;
  height: 100%;
}
.home-mv-section .mv-cont {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  height: calc(100vh - 140px);
  padding-left: 60px;
  padding-right: 60px;
  position: relative;
  min-height: 725px;
}
.home-mv-section .mv-cont .circle-wrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.home-mv-section .mv-cont .circle {
  position: absolute;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.home-mv-section .mv-cont .circle img {
  width: 100%;
}
.home-mv-section .mv-cont .circle:nth-child(1) {
  width: clamp(140px, 12.25vw, 196px);
  top: 12%;
  left: 6%;
}
.home-mv-section .mv-cont .circle:nth-child(2) {
  width: clamp(192px, 16.875vw, 270px);
  left: 29%;
  top: 42%;
}
.home-mv-section .mv-cont .circle:nth-child(3) {
  width: clamp(168px, 14.688vw, 235px);
  top: 8%;
  right: 33%;
}
.home-mv-section .mv-cont .circle:nth-child(4) {
  width: clamp(117px, 10.25vw, 164px);
  top: 58%;
  right: 7%;
}
.home-mv-section .mv-cont .catch {
  display: inline-block;
}
.home-mv-section .mv-cont .catch .inn {
  display: block;
  padding: 25px 35px;
  position: relative;
  z-index: 1;
  -webkit-filter: opacity(1);
          filter: opacity(1);
}
.home-mv-section .mv-cont .catch .inn::before {
  background: #fff;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-transform-origin: left center;
          transform-origin: left center;
  -webkit-filter: opacity(1);
          filter: opacity(1);
  z-index: -1;
}
.home-mv-section .mv-cont .sub-ttl {
  margin-top: 10px;
}
.home-mv-section .mv-cont .sub-ttl .inn {
  background: #0096C2;
  color: #fff;
  display: inline-block;
  font-size: 20px;
  font-family: "Oswald", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, sans-serif;
  letter-spacing: 0.255em;
  padding: 7px 30px;
}
.home-mv-section .news-cont {
  background: #fff;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 30px 0;
  max-width: 800px;
  margin: 25px auto 0;
}
.home-mv-section .news-cont .ttl {
  font-weight: bold;
  font-size: 16px;
  text-align: center;
  width: 35%;
  letter-spacing: 0.3em;
}
.home-mv-section .news-cont .news-list {
  width: calc(100% - 35%);
  padding-right: 20px;
}
.home-mv-section .news-cont .news-list li .inn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.home-mv-section .news-cont .news-list li .date {
  font-size: 14px;
  font-family: "Oswald", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, sans-serif;
  letter-spacing: 0.2em;
  width: 120px;
}
.home-mv-section .news-cont .news-list li .news-ttl {
  width: calc(100% - 120px);
  letter-spacing: 0.2em;
}
.home-mv-section .news-cont .news-list li + li {
  margin-top: 10px;
}
.home-mv-section .news-cont .news-list li a {
  color: #0096C2;
  text-decoration: underline;
}
.home-mv-section .detail-cont {
  margin-top: 140px;
}
.home-mv-section .detail-cont .ttl-wrap {
  text-align: center;
}
.home-mv-section .detail-cont .ttl {
  background: #0096C2;
  color: #fff;
  display: inline-block;
  font-family: "Oswald", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, sans-serif;
  letter-spacing: 0.2em;
  font-size: 17px;
  padding: 20px 80px;
  text-align: center;
}
.home-mv-section .detail-cont .txt-area {
  background: #fff;
  border-radius: 20px;
  max-width: 630px;
  padding: 50px 40px;
}
.home-mv-section .detail-cont .txt-area .inn {
  max-width: 450px;
  margin: auto;
}
.home-mv-section .detail-cont .txt-area .txt {
  line-height: 2.1;
}
.home-mv-section .detail-cont .txt-area .txt + .txt {
  margin-top: 20px;
}
.home-mv-section .detail-cont .txt-area .img {
  margin-top: 40px;
}

.scroll-txt-wrap {
  overflow: hidden;
  padding: 20px 0 70px;
  text-align: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.scroll-txt-wrap .inn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-animation: scrollText 40s linear infinite;
          animation: scrollText 40s linear infinite;
}
.scroll-txt-wrap .scroll-txt {
  color: #0000BE;
  font-family: "Oswald", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, sans-serif;
  font-size: 60px;
  letter-spacing: 0.1em;
  line-height: 1;
  white-space: nowrap;
  padding: 0 30px;
}

.home-special-section .ttl-wrap {
  background: rgba(163, 231, 255, 0.67);
  border-radius: 20px;
  max-width: 1085px;
  margin: auto;
  padding: 180px 40px 50px;
  position: relative;
  text-align: center;
}
.home-special-section .ttl-wrap .sub-ttl {
  font-family: "Oswald", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, sans-serif;
  font-size: 20px;
  letter-spacing: 0.18em;
  margin-top: 25px;
}
.home-special-section .ttl-wrap .lead-txt {
  letter-spacing: 0.18em;
  line-height: 2;
  margin-top: 30px;
}
.home-special-section .ttl-wrap .img {
  position: absolute;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  margin: auto;
}
.home-special-section .ttl-wrap .img.img01 {
  bottom: calc(100% - 90px);
  left: 0;
  right: 0;
}
.home-special-section .ttl-wrap .img.img02 {
  bottom: -85px;
  left: 163px;
}
.home-special-section .ttl-wrap .img.img03 {
  bottom: -124px;
  right: 190px;
}
.home-special-section .js-search-wrap .search-wrap .img {
  position: absolute;
}
.home-special-section .js-search-wrap .search-wrap .img.img01 {
  width: 218px;
  top: -44px;
  right: 25px;
}
.home-special-section .js-search-wrap .search-wrap .img.img02 {
  width: 103px;
  bottom: -25px;
  left: 60px;
}
.home-special-section .js-search-wrap .search-area {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin: 0 auto;
  max-width: 1060px;
}
.home-special-section .js-search-wrap .search-area .ico-area {
  background: rgba(0, 150, 194, 0.67);
  width: 168px;
  height: 168px;
  padding-top: 35px;
  text-align: center;
}
.home-special-section .js-search-wrap .search-area .ico-area .txt {
  color: #fff;
  font-size: 20px;
  letter-spacing: 0.3em;
  margin-top: 15px;
}
.home-special-section .js-search-wrap .search-area .cont-wrap {
  width: calc(100% - 168px);
  padding-left: 40px;
}
.home-special-section .js-search-wrap .search-area .c-category-cont {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.home-special-section .js-search-wrap .search-area .c-category-cont .txt {
  font-size: 18px;
  width: 140px;
}
.home-special-section .js-search-wrap .search-area .c-category-cont .c-category-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  width: calc(100% - 140px);
}
.home-special-section .js-search-wrap .search-area .c-category-cont .c-category-list li {
  margin-right: 20px;
  margin-bottom: 10px;
  line-height: 1.4;
}
.home-special-section .js-search-wrap .search-area .c-category-cont .c-category-list .btn input {
  display: none;
}
.home-special-section .js-search-wrap .search-area .c-category-cont .c-category-list .btn .btn-txt {
  font-size: 18px;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.home-special-section .js-search-wrap .search-area .c-category-cont .c-category-list .btn.is-active .btn-txt {
  background: #0000BE;
  color: #fff;
}
.home-special-section .js-search-wrap .article-list-area {
  padding: 0 40px;
}
.home-special-section .js-search-wrap .article-list-area .inn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin: 0 -13px;
}
.home-special-section .js-search-wrap .article-list-area .box {
  color: #0000BE;
  margin: 0 13px 80px;
}
.home-special-section .js-search-wrap .article-list-area .box .c-link-btn {
  margin-top: 10px;
}
.home-special-section .js-search-wrap .article-list-area .box.is-hide {
  display: none;
}
.home-special-section .js-search-wrap .article-list-area .img {
  background: #423EAF;
  border-radius: 10px;
  overflow: hidden;
  margin-bottom: 40px;
  position: relative;
  width: 100%;
  padding-top: 100%;
}
.home-special-section .js-search-wrap .article-list-area .img img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  margin: auto;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.home-special-section .js-search-wrap .article-list-area .category {
  font-size: 18px;
  font-family: "Oswald", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, sans-serif;
  margin-bottom: 10px;
  letter-spacing: 0.15em;
  line-height: 1.3;
}
.home-special-section .js-search-wrap .article-list-area .ttl {
  color: #6993F8;
  font-size: 18px;
}

.home-btn-section {
  background: #c1efff;
  padding: 145px 0 115px;
}
.home-btn-section .btn {
  display: block;
}
.home-btn-section .btn .ttl {
  background: #6993F8;
  color: #fff;
  font-size: 23px;
  font-weight: bold;
  letter-spacing: 0.35em;
  padding: 60px 20px;
  text-align: center;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.home-btn-section .btn .c-link-btn {
  margin-top: 15px;
}

.c-cta-section {
  background: url(../images/common/cta-img.png) no-repeat center center/cover;
  border-bottom: 9px solid #fff;
  padding: 150px 0;
  text-align: center;
}
.c-cta-section .lead-txt {
  color: #fff;
}
.c-cta-section .btn-wrap {
  margin: 40px auto 0;
}
.c-cta-section .btn {
  color: #fff;
  cursor: pointer;
  display: block;
  font-weight: bold;
  font-size: 21px;
  letter-spacing: 0.15em;
  line-height: 1;
  padding: 45px 20px;
  position: relative;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.c-cta-section .btn.entry {
  background: #6993f8;
}
.c-cta-section .btn.mypage {
  background: #29abe2;
}
.c-cta-section .btn.mypage:hover {
  background: #158ec2;
}
.c-cta-section .btn.kouko {
  background: #6bbc00;
}
.c-cta-section .btn.kouko:hover {
  background: #589b00;
}
.c-cta-section .btn.kosen {
  background: #009245;
}
.c-cta-section .btn.kosen:hover {
  background: #007738;
}
.c-cta-section .btn.tyuto {
  background: #006837;
}
.c-cta-section .btn.tyuto:hover {
  background: #004d29;
}
.c-cta-section .btn.purple {
  background: #6800d4;
}
.c-cta-section .btn.purple:hover {
  background: #5700b4;
}
.c-cta-section .btn.l-purple {
  background: #4b4cc2;
}
.c-cta-section .btn.l-purple:hover {
  background: #353797;
}
.c-cta-section .btn.oswald {
  font-weight: normal;
}
.c-cta-section .js-kosen-btn-foot {
  display: block;
}
.c-cta-section .js-kosen-target-foot {
  background: rgba(0, 147, 60, 0.8);
  color: #fff;
  padding: 50px 30px;
  position: absolute;
  bottom: calc(100% + 10px);
  left: 0;
  width: 100%;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  opacity: 0;
  pointer-events: none;
}
.c-cta-section .js-kosen-target-foot.is-active {
  opacity: 1;
  pointer-events: auto;
}
.c-cta-section .js-kosen-target-foot .ttl {
  margin-bottom: 20px;
  font-size: 20px;
  font-weight: bold;
  letter-spacing: 0.1em;
}
.c-cta-section .js-kosen-target-foot .txt {
  line-height: 2;
  font-size: 16px;
  font-weight: normal;
}

/* saiyo */
.c-saiyo-link-card {
  display: block;
}
.c-saiyo-link-card .img {
  background: #423EAF;
  border-radius: 20px;
  overflow: hidden;
  position: relative;
}
.c-saiyo-link-card .img img {
  width: 100%;
  height: auto;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.c-saiyo-link-card .bg-ttl {
  background: rgba(255, 255, 255, 0.9);
  font-size: 21px;
  font-weight: bold;
  letter-spacing: 0.15em;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 100%;
  max-width: 450px;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  padding: 18px 20px;
  text-align: center;
}
.c-saiyo-link-card .bg-ttl.university {
  color: #fff;
  background: rgba(105, 147, 248, 0.9);
}
.c-saiyo-link-card .bg-ttl.technical {
  color: #fff;
  background: rgba(1, 104, 55, 0.9);
}
.c-saiyo-link-card .ttl {
  font-size: 18px;
  margin-top: 25px;
}
.c-saiyo-link-card .ttl .c-svg {
  vertical-align: middle;
  margin: 0 0 3px;
}
.c-saiyo-link-card .c-link-btn {
  margin-top: 15px;
}

.saiyo-jobcategory-section {
  padding: 50px 0;
}

.saiyo-other-section {
  padding: 0 40px 130px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.saiyo-other-section .c-saiyo-link-card {
  width: calc((100% - 38px)/2);
}
.saiyo-other-section .c-saiyo-link-card.wide {
  position: relative;
  margin: 167px auto 0;
  width: calc((100% - 60px));
}
.saiyo-other-section .c-saiyo-link-card.bg-black .bg-ttl {
  background-color: rgba(8, 15, 23, 0.67);
}
.saiyo-other-section .c-saiyo-link-card .bg-ttl {
  max-width: 360px;
}
.saiyo-other-section .c-saiyo-link-card + .c-saiyo-link-card {
  margin-left: 38px;
}

.saiyo-other-section02 {
  padding: 0 40px 130px;
}
.saiyo-other-section02 .c-saiyo-link-card {
  max-width: 600px;
  margin: auto;
}
.saiyo .saiyo-other-section .bg-ttl .main,
.saiyo .saiyo-other-section .bg-ttl .small {
  display: block;
}
.saiyo .saiyo-other-section .bg-ttl .small {
  font-size: 18px;
  font-weight: normal;
  margin-top: 10px;
  letter-spacing: 0.1em;
}

.saiyo-article-section {
  background: #f0f0f0;
  padding: 180px 0 130px;
}
.saiyo-article-section .inner-block {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.saiyo-article-section .c-saiyo-link-card {
  width: calc((100% - 30px)/2);
}
.saiyo-article-section .c-saiyo-link-card:not(:nth-child(2n+1)) {
  margin-left: 30px;
}
.saiyo-article-section .c-saiyo-link-card:nth-child(n+3) {
  margin-top: 70px;
}

/* university */
.university-lead-section {
  padding-top: 100px;
  padding-bottom: 150px;
}
.university-lead-section .lead-ttl {
  font-size: 36px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 55px;
}
.university-lead-section .lead-txt {
  letter-spacing: 0.1em;
  line-height: 1.8;
  max-width: 1000px;
  margin: auto;
}
.university-lead-section .careerup-lead-section {
  padding: 70px 0 0;
}
.university-lead-section .careerup-lead-section .anchor-wrap {
  margin-top: 0;
}
.university-lead-section .careerup-lead-section .anchor-wrap .box .img {
  border-radius: 10px 10px 0 0;
  overflow: hidden;
}
.university-lead-section .careerup-lead-section .anchor-wrap .box .txt-area {
  border-radius: 0 0 10px 10px;
  overflow: hidden;
}
.university-lead-section .careerup-lead-section .anchor-wrap .box .txt {
  font-weight: normal;
  margin-top: 20px;
}
.university-lead-section .careerup-lead-section .anchor-wrap .box .c-link-btn {
  margin-top: 10px;
}

/* -----------------------------------------------
* project Module
* projectページ用
-------------------------------------------------- */
.project .mv-section {
  height: calc(100vh - 100px);
}
.project .mv-section .mv-img {
  width: 100%;
  height: 100%;
}
.project .mv-section .mv-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.project .mv-section .mv-img .mv-ttl {
  color: #000;
  font-size: 36px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  position: absolute;
  bottom: 90px;
  left: 32px;
  z-index: 1;
}
.project .mv-section .mv-img .mv-ttl .sub {
  background-color: #000;
  color: #fff;
  font-size: 18px;
  padding: 5px 17px 5px 20px;
  padding-left: 20px;
  font-family: "Oswald", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, sans-serif;
  font-weight: 700;
  margin-bottom: 12px;
}
.project .mv-section .mv-img .mv-ttl .sub .project {
  padding-left: 20px;
  letter-spacing: 0.1em;
}
.project .mv-section .mv-img .mv-ttl .sub .number {
  letter-spacing: 0.1em;
}
.project .mv-section .mv-img .mv-ttl .txt {
  display: block;
  background: #fff;
  letter-spacing: 0.175em;
  padding: 6px 14px 6px 20px;
  font-weight: bold;
}
.project .mv-section .mv-img .mv-ttl .txt + .txt {
  margin-top: 10px;
}
.project .lead-block {
  padding: 140px 0;
}
.project .lead-block .inner-block {
  max-width: 1060px;
}
.project .lead-block .text {
  letter-spacing: 0.175em;
  line-height: 2.125;
  font-weight: 500;
}
.project .person-block {
  background: url(/compa/saiyo/university/images/project/01/person-img.jpg) no-repeat center center/cover;
}
.project .person-block.pj02 {
  background: url(/compa/saiyo/university/images/project/02/person-img.jpg) no-repeat center center/cover;
}
.project .person-block .inner-block {
  max-width: 1060px;
}
.project .person-block .person-area {
  padding: 60px 0 70px 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
}
.project .person-block .person-area img {
  max-width: 588px;
  width: 100%;
  height: 100%;
}
.project .person-block .person-area .introduction-box {
  color: #fff;
}
.project .person-block .person-area .introduction-box .name {
  font-size: 22px;
  letter-spacing: 0.175em;
  line-height: 1.454;
}
.project .person-block .person-area .introduction-box .post {
  font-size: 14px;
  letter-spacing: 0.2em;
  line-height: 1.642;
}
.project .story-section {
  padding-top: 237px;
}
.project .story-section .number {
  background-color: #0096C2;
  color: #fff;
  font-family: "Oswald", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, sans-serif;
  font-size: 21px;
  letter-spacing: 0.3em;
  padding: 25px;
  max-width: 266px;
  height: 85px;
  text-align: center;
  position: relative;
}
.project .story-section .number::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 85px 35px;
  border-color: transparent transparent #0096C2 transparent;
  position: absolute;
  top: 0;
  bottom: 0;
  left: -35px;
}
.project .story-section .number::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 85px 35px 0 0;
  border-color: #0096C2 transparent transparent transparent;
  position: absolute;
  top: 0;
  bottom: 0;
  right: -35px;
}
.project .story-section .text-area {
  background-color: #fff;
}
.project .story-section .text-area .ttl {
  font-size: 25px;
  font-weight: bold;
  letter-spacing: 0.15em;
  line-height: 1.8;
}
.project .story-section .text-area .txt {
  letter-spacing: 0.175em;
  line-height: 2;
}
.project .story-section .story-center-area .text-area {
  max-width: 1000px;
  margin: 0 auto;
  position: relative;
}
.project .story-section .story-center-area .text-area .ttl {
  text-align: center;
  padding-bottom: 20px;
}
.project .story-section .story-center-area + .img-text-area {
  padding-top: 95px;
}
.project .story-section .img-text-area {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.project .story-section .img-text-area .txt {
  line-height: 2.062;
  letter-spacing: 0.15em;
  padding-top: 20px;
}
.project .story-section .story-overlap-box {
  position: relative;
}
.project .story-section .story-overlap-box .text-area {
  position: relative;
}
.project .story-section .story-overlap-box .text-area .ttl {
  padding-bottom: 18px;
}
.project .story-section .award-box {
  margin-top: 80px;
  padding: 50px 80px;
  border: 8px solid #CDEFF6;
}
.project .story-section .award-box .ttl {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  border-bottom: 1px solid #40B0D0;
  padding-bottom: 30px;
}
.project .story-section .award-box .ttl img {
  width: 90px;
  height: 100%;
  margin-right: 20px;
}
.project .story-section .award-box .ttl p {
  font-size: 25px;
  font-weight: bold;
  letter-spacing: 0.2em;
  line-height: 1.5;
  color: #40B0D0;
}
.project .story-section .award-box .txt {
  line-height: 2;
  padding-top: 40px;
}

/* -----------------------------------------------
* job Module
* jobページ用
-------------------------------------------------- */
.job .mv-section .ttl {
  color: #0096C2;
  font-size: 70px;
  font-weight: 600;
  font-style: italic;
  letter-spacing: 0.4em;
  padding-top: 60px;
  padding-bottom: 30px;
}
.job .mv-section .introduction-area {
  background-color: #0096C2;
  color: #fff;
  margin-left: auto;
  margin-top: -15%;
  margin-right: -30px;
  position: relative;
  padding: 100px 70px 40px 70px;
}
.job .mv-section .introduction-area .number {
  font-family: "Oswald", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, sans-serif;
  font-weight: 300;
  font-size: 70px;
  letter-spacing: 0.175em;
  position: absolute;
  right: 15px;
  top: -10px;
}
.job .mv-section .introduction-area .mv-ttl {
  font-size: 34px;
  line-height: 1.808;
  letter-spacing: 0.2em;
  padding-bottom: 50px;
}
.job .mv-section .introduction-area .name {
  font-family: "Oswald", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, sans-serif;
  font-weight: 400;
  font-size: 18px;
  letter-spacing: 0.175em;
  padding-bottom: 10px;
}
.job .mv-section .introduction-area .post {
  font-size: 14px;
  letter-spacing: 0.23em;
  line-height: 1.642;
}
.job .interview-section .inner-block {
  padding-top: 100px;
  padding-bottom: 105px;
}
.job .interview-section .interview-box .shoulder {
  background-color: #0096C2;
  color: #fff;
  font-size: 19px;
  line-height: 1;
  letter-spacing: 0.625em;
  display: inline-block;
  padding: 4px 6px 4px 12px;
  margin-bottom: 40px;
}
.job .interview-section .interview-box .ttl {
  font-size: 36px;
  font-weight: bold;
  letter-spacing: 0.175em;
  line-height: 1.666;
  padding-bottom: 35px;
}
.job .interview-section .interview-box .txt {
  line-height: 2;
  letter-spacing: 0.175em;
}
.job .interview-section .interview-box + .interview-box {
  padding-top: 135px;
}
.job .interview-section .interview-box + .interview-img {
  padding-top: 140px;
}
.job .interview-section .style-box {
  padding-top: 220px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.job .interview-section .style-box .ttl {
  font-family: "Oswald", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, sans-serif;
  font-weight: 300;
  font-size: 55px;
  letter-spacing: 0.175em;
  color: #fff;
  background-color: #73C5DD;
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.job .interview-section .style-box .txt-box {
  background-color: #0096C2;
  padding: 30px 40px;
  color: #fff;
}
.job .interview-section .style-box .txt-box .sub-ttl {
  font-size: 25px;
  letter-spacing: 0.15em;
  line-height: 1.8;
  padding-bottom: 10px;
}
.job .interview-section .style-box .txt-box .txt {
  line-height: 2;
  letter-spacing: 0.175em;
}
.job .message-section {
  background-color: #F2F2F2;
  padding-bottom: 80px;
}
.job .message-section .img img {
  width: 100%;
}
.job .message-section .message-box {
  color: #0096C2;
  background-color: #fff;
  border: 1px solid #0096C2;
  border-radius: 10px;
  padding: 40px 65px;
  margin-top: -46px;
}
.job .message-section .message-box .ttl {
  font-family: "Oswald", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, sans-serif;
  font-weight: 300;
  font-size: 55px;
  letter-spacing: 0.175em;
  padding-bottom: 40px;
  text-align: center;
}
.job .message-section .message-box .txt {
  line-height: 2;
  letter-spacing: 0.175em;
}
.job .message-section .schedule-box {
  padding-top: 100px;
}
.job .message-section .schedule-box .ttl {
  font-size: 21px;
  letter-spacing: 0.2em;
  color: #fff;
  background-color: #0096C2;
  border-radius: 10px;
  padding: 8px 30px;
  margin-bottom: 50px;
}
.job .message-section .oneday-box .box-wrap .box {
  width: 100%;
  text-align: start;
  margin-left: auto;
  letter-spacing: 0.05em;
  padding-bottom: 2.551vw;
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.job .message-section .oneday-box .box-wrap .box::before {
  background: #0096C2;
  border-radius: 50%;
  content: "";
  display: block;
  height: 13px;
  width: 13px;
  position: absolute;
  top: 8px;
  bottom: 0;
  left: 88px;
}
.job .message-section .oneday-box .box-wrap .box::after {
  background: #0096C2;
  content: "";
  display: block;
  height: 100%;
  width: 1px;
  position: absolute;
  top: 12px;
  left: 94px;
}
.job .message-section .oneday-box .box-wrap .box .main-txt {
  font-weight: bold;
  line-height: 1.656;
  letter-spacing: 0.175em;
  display: inline-block;
}
.job .message-section .oneday-box .box-wrap .box .sub-txt {
  line-height: 1.656;
  letter-spacing: 0.175em;
  display: inline-block;
}
.job .message-section .oneday-box .box-wrap .box .txt-box {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  width: calc(100% - 110px);
}
.job .message-section .oneday-box .box-wrap .box .time {
  font-family: "Oswald", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, sans-serif;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.175em;
  color: #0096C2;
  width: 110px;
  text-align: end;
  padding-right: 25px;
}
.job .message-section .oneday-box .box-wrap .oneday-area {
  width: 100%;
}
.job .message-section .oneday-box .schedule_caution {
  font-size: 14px;
  text-align: center;
}
.job .c-txt-bg-section {
  padding-bottom: 200px;
}
.job .c-txt-bg-section .ttl img {
  height: 24px;
}

/* -----------------------------------------------
* talk-session Module
* talk-sessionページ用
-------------------------------------------------- */
.talk-session .mv-section {
  position: relative;
}
.talk-session .mv-section .mv-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.talk-session .mv-section .ttl {
  position: absolute;
  bottom: -100px;
  right: 0;
  left: 0;
  margin: 0 auto;
  z-index: 1;
  width: 220px;
  height: 220px;
  background-color: #423EAF;
  color: #fff;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 20px;
  letter-spacing: 0.2em;
}
.talk-session .mv-section .ttl .en {
  font-family: "Oswald", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, sans-serif;
  letter-spacing: 0.175em;
  padding-top: 8px;
  padding-bottom: 4px;
}
.talk-session .lead-section {
  padding-top: 150px;
  padding-bottom: 150px;
}
.talk-session .lead-section .ttl {
  font-weight: bold;
  font-size: 40px;
  letter-spacing: 0.2em;
  line-height: 1.5;
  text-align: center;
  padding-bottom: 30px;
}
.talk-session .lead-section .ttl + .txt {
  padding-bottom: 100px;
  text-align: center;
}
.talk-session .lead-section .person-area {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.talk-session .lead-section .person-area .box {
  width: calc((100% - 160px)/ 4);
  text-align: center;
}
.talk-session .lead-section .person-area .box img {
  max-width: 140px;
  padding-bottom: 15px;
}
.talk-session .lead-section .person-area .box .name {
  font-size: 20px;
  letter-spacing: 0.175em;
  line-height: 1.6;
  padding-bottom: 6px;
}
.talk-session .lead-section .person-area .box .post, .talk-session .lead-section .person-area .box .detail {
  font-size: 14px;
  letter-spacing: 0.2em;
  line-height: 1.642;
}
.talk-session .lead-section .person-area .box .detail {
  padding-top: 20px;
  text-align: left;
}
.talk-session .lead-section .person-area .box .note {
  font-size: 12px;
  margin-top: 5px;
  text-align: left;
}
.talk-session .talk-section {
  background-color: #F3F3FB;
  padding-top: 130px;
  padding-bottom: 200px;
  overflow-x: hidden;
}
.talk-session .talk-section .ttl {
  color: #423dae;
}
.talk-session .talk-section .talk-box .ttl {
  font-size: 36px;
  font-weight: bold;
  letter-spacing: 0.175em;
  line-height: 1.666;
  padding-bottom: 70px;
}
.talk-session .talk-section .talk-box .question {
  letter-spacing: 0.175em;
  font-weight: bold;
  padding-bottom: 50px;
}
.talk-session .talk-section .talk-box .question::first-letter {
  color: #423dae;
}
.talk-session .talk-section .talk-box .proposal {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.talk-session .talk-section .talk-box .proposal .person {
  width: 60px;
  text-align: center;
}
.talk-session .talk-section .talk-box .proposal .person img {
  padding-bottom: 5px;
}
.talk-session .talk-section .talk-box .proposal .person .name {
  font-size: 11px;
}
.talk-session .talk-section .talk-box .proposal .voice {
  letter-spacing: 0.175em;
  line-height: 2;
  padding-left: 30px;
  width: calc(100% - 60px);
}
.talk-session .talk-section .talk-box .proposal + .proposal {
  padding-top: 30px;
}
.talk-session .talk-section .talk-box .proposal + .img-area {
  padding-top: 80px;
}
.talk-session .talk-section .talk-box .proposal + .whole-img {
  padding-top: 100px;
}
.talk-session .talk-section .talk-box .proposal _::-webkit-full-page-media, .talk-session .talk-section .talk-box .proposal _:future, .talk-session .talk-section .talk-box .proposal :root img {
  min-width: 40px;
}
.talk-session .talk-section .talk-box .img-area {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  margin-right: calc(50% - 50vw);
  margin-left: -30px;
}
.talk-session .talk-section .talk-box + .talk-box {
  padding-top: 192px;
  margin-left: 0;
}
.talk-session .talk-section .talk-box + .talk-box .img-area {
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  margin-right: -30px;
  margin-left: calc(50% - 50vw);
}

/* -----------------------------------------------
* about Module
* aboutページ用
-------------------------------------------------- */
.about .c-article-mv-section {
  background-image: url(../images/about/mv-img.jpg);
}
.about .c-article-content-wrap {
  padding-bottom: 200px;
}

/* -----------------------------------------------
* about Module
* jobcategoryページ用
-------------------------------------------------- */
.jobcategory .c-article-mv-section {
  background-image: url(../images/about/jobcategory/mv-img.jpg);
}

.jobcategory-anchor-block {
  padding: 135px 0 60px;
}
.jobcategory-anchor-block .list {
  max-width: 1100px;
  margin: auto;
}
.jobcategory-anchor-block .list li {
  height: auto;
}
.jobcategory-anchor-block .list li a {
  height: 100%;
  width: 100%;
  background: #4075cd;
  border: 1px solid #4075cd;
  color: #fff;
  display: block;
  font-size: 18px;
  letter-spacing: 0.1em;
  padding: 22px 60px 22px 30px;
  position: relative;
}
.jobcategory-anchor-block .list li a .small {
  letter-spacing: 0;
}
.jobcategory-anchor-block .list li a .indent {
  display: inline-block;
  text-indent: -2.5em;
  padding-left: 2.5em;
}
.jobcategory-anchor-block .list li a::before {
  background: url(../images/common/ico-arrow-bottom.svg) no-repeat center center/contain;
  content: "";
  display: block;
  width: 18px;
  height: 12px;
  position: absolute;
  bottom: 0;
  top: 0;
  right: 30px;
  margin: auto;
}

.jobcategory-content-section {
  padding-bottom: 200px;
  overflow: hidden;
}
.jobcategory-content-section .box {
  padding-top: 145px;
  position: relative;
  z-index: 1;
}
.jobcategory-content-section .box::before {
  background: -webkit-gradient(linear, left top, right top, from(white), to(#e8eef7));
  background: linear-gradient(90deg, white 0%, #e8eef7 100%);
  content: "";
  display: block;
  width: 100vw;
  height: calc(100% - 120px);
  max-height: 685px;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  margin: auto;
  z-index: -1;
}
.jobcategory-content-section .box .img {
  margin-top: 105px;
  text-align: center;
}
.jobcategory-content-section .box .img .txt {
  font-size: 12px;
  margin-top: 5px;
  text-align: right;
}
.jobcategory-content-section .box .ttl {
  color: #4075cd;
  font-weight: bold;
  font-size: 30px;
  letter-spacing: 0.07em;
  margin-bottom: 50px;
}
.jobcategory-content-section .box .lead-txt {
  font-size: 18px;
  line-height: 2;
  letter-spacing: 0.15em;
}
.jobcategory-content-section .box .txt {
  font-size: 14px;
  line-height: 2.28;
  letter-spacing: 0.075em;
  margin-top: 20px;
}
.jobcategory-content-section .box .topic-area {
  padding-top: 40px;
}
.jobcategory-content-section .box .topic-area .topic-ttl {
  background: #4075cd;
  color: #fff;
  display: inline-block;
  font-size: 12px;
  font-family: "Oswald", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, sans-serif;
  letter-spacing: 0.255em;
  padding: 2px 20px;
}
.jobcategory-content-section .box .topic-area .sub-ttl {
  font-size: 16px;
  font-weight: bold;
  letter-spacing: 0.1em;
  padding-top: 10px;
}
.jobcategory-content-section .box .topic-area .txt {
  margin-top: 10px;
}
.jobcategory-content-section .box + .box {
  margin-top: 140px;
}

/* -----------------------------------------------
* about Module
* worksページ用
-------------------------------------------------- */
.works .c-article-mv-section {
  background-image: url(../images/about/works/mv-img.jpg);
}
.works .jobcategory-anchor-block .list li a {
  background: #0096c2;
  border: 1px solid #0096c2;
}
.works .jobcategory-anchor-block .list li a .small {
  font-size: 13px;
}
.works .works-cont-section {
  margin-top: 20px;
  padding-bottom: 108px;
  position: relative;
  z-index: 1;
  color: #fff;
}
.works .works-cont-section .inner-block {
  padding-top: 330px;
}
.works .works-cont-section .ttl-wrap .head {
  background: #0096c2;
  color: #fff;
  font-size: 28px;
  font-weight: bold;
  letter-spacing: 0.225em;
  line-height: 1;
  margin-bottom: 65px;
  padding: 34px 20px;
  text-align: center;
}
.works .works-cont-section .ttl-wrap .head .sub {
  font-size: 18px;
}
.works .works-cont-section .ttl-wrap .main-ttl {
  color: #fff;
  font-weight: bold;
  letter-spacing: 0.225em;
  line-height: 1.785;
  font-size: 36px;
}
.works .works-cont-section .job-box {
  margin-top: 70px;
}
.works .works-cont-section .job-box .work-ttl {
  background: rgba(0, 0, 0, 0.6);
  font-size: 14px;
  font-weight: bold;
  letter-spacing: 0.25em;
  line-height: 1;
  margin-bottom: 30px;
  padding: 6px 0px;
  width: 175px;
  text-align: center;
}
.works .works-cont-section .job-box .main-txt {
  font-size: 20px;
  font-weight: bold;
  letter-spacing: 0.15em;
  line-height: 1.44;
  margin-bottom: 10px;
}
.works .works-cont-section .job-box .txt {
  letter-spacing: 0.175em;
  line-height: 2;
}
.works .works-cont-section .job-box .txt + * {
  margin-top: 30px;
}
.works .works-cont-section .job-box + * {
  margin-top: 50px;
}
.works .works-cont-section .link-btn {
  background-color: #1a2265;
  color: #fff;
  display: inline-block;
  padding: 15px 20px;
  max-width: 430px;
}
.works .works-cont-section .link-btn p {
  letter-spacing: 0.175em;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-around;
      -ms-flex-pack: distribute;
          justify-content: space-around;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.works .works-cont-section .link-btn .head {
  display: block;
  min-width: 100px;
}
.works .works-cont-section .link-btn .ttl {
  padding-left: 30px;
  display: block;
}
.works .works-cont-section .link-btn .c-svg {
  margin-top: -2px;
}
.works .works-cont-section .link-btn + .member-box {
  margin-top: 90px;
}
.works .works-cont-section .link-btn.colum {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.works .works-cont-section .link-btn.colum .link a {
  color: #fff;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.works .works-cont-section .link-btn.colum .link a .c-svg {
  margin-left: 10px;
}
.works .works-cont-section .link-btn.colum .link a + * {
  margin-top: 5px;
}
.works .works-cont-section .other-member-block .slide {
  width: 100%;
  text-align: end;
  border-radius: 0;
}
.works .works-cont-section .other-member-block .img {
  margin-bottom: 20px;
}
.works .works-cont-section .other-member-block .ttl {
  color: #fff;
  font-weight: bold;
  text-align: left;
}
.works .works-cont-section .other-member-block .post {
  color: #fff;
  font-size: 14px;
  letter-spacing: 0.1em;
  padding-top: 10px;
  text-align: left;
}
.works .works-cont-section .other-member-block .post .small {
  display: block;
  font-size: 11px;
  margin-top: 8px;
}
.works .works-cont-section .other-member-block .category {
  color: #fff;
  text-align: left;
}
.works .works-cont-section .other-member-block .c-link-btn {
  color: #fff;
  background-color: #0096c2;
  display: inline-block;
  padding: 5px 10px;
  font-size: 10px;
  margin-top: 20px;
}
.works .works-cont-section .parallax {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.works .works-cont-section .parallax .img {
  background: no-repeat top center/cover;
  width: 100%;
  height: 100vh;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  left: 0;
  z-index: -1;
}
.works .works-cont-section .parallax .img.img01 {
  background-image: url(../images/about/works/parallax-img01.jpg);
}
.works .works-cont-section .parallax .img.img02 {
  background-image: url(../images/about/works/parallax-img02.jpg);
}
.works .works-cont-section .parallax .img.img03 {
  background-image: url(../images/about/works/parallax-img03.jpg);
}
.works .works-cont-section .parallax .img.img04 {
  background-image: url(../images/about/works/parallax-img04.jpg);
}
.works .works-cont-section .parallax .img.img05 {
  background-image: url(../images/about/works/parallax-img05.jpg);
}
.works .works-cont-section .parallax .img.img06 {
  background-image: url(../images/about/works/parallax-img06.jpg);
}

/* -----------------------------------------------
* environment Module
* indexページ用
-------------------------------------------------- */
.environment .c-article-mv-section {
  background-image: url(../images/environment/mv-img.jpg);
}

/* -----------------------------------------------
* environment Module
* welfareページ用
-------------------------------------------------- */
.welfare-mv-section {
  background: url(../images/environment/welfare/mv-img.jpg) no-repeat center center/cover;
  height: 400px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.welfare-mv-section .ttl {
  color: #fff;
  font-size: 36px;
  letter-spacing: 0.15em;
  line-height: 1.666;
  font-weight: 700;
}

.welfare .sub-ttl {
  font-size: 28px;
  letter-spacing: 0.15em;
  line-height: 2.125;
  font-weight: bold;
  text-align: center;
}
.welfare .ttl-section {
  padding-top: 135px;
  padding-bottom: 200px;
  text-align: center;
}
.welfare .mark-box {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  max-width: 1100px;
  padding-top: 80px;
}
.welfare .mark-box .txt {
  background-color: #fbe0e7;
  border-radius: 20px;
  padding: 50px;
  width: calc((100% - 10px) - 20%);
  font-size: 18px;
  letter-spacing: 0.145em;
  line-height: 1.861;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
.welfare .mark-box .img-box {
  text-align: center;
  width: calc((100% - 10px) - 80%);
}
.welfare .point-box {
  border: solid 1px #80cae0;
  border-radius: 10px;
  padding: 40px 60px;
}
.welfare .point-box .ttl {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.welfare .point-box .ttl img {
  width: 62px;
  height: 100%;
}
.welfare .point-box .ttl h3 {
  color: #0096c2;
  font-size: 20px;
  font-weight: bold;
  padding-left: 10px;
  letter-spacing: 0.145em;
}
.welfare .point-box .txt {
  padding-top: 20px;
  text-align: left;
}
.welfare .colum-box {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  padding-top: 100px;
  max-width: 1150px;
}
.welfare .colum-box .box {
  width: calc((100% )/4);
  padding-bottom: 70px;
  text-align: center;
}
.welfare .colum-box .box img {
  max-width: 180px;
}
.welfare .colum-box .box .other-ttl {
  color: #0096C2;
  font-size: 20px;
  letter-spacing: 0.145em;
  line-height: 1.5;
  margin: auto;
  margin-top: 20px;
  margin-bottom: 10px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
}
.welfare .colum-box .box .point-txt {
  background: #0096c2;
  display: inline-block;
  padding: 0 10px;
  margin-bottom: 30px;
  border-radius: 5px;
  -webkit-box-ordinal-group: 4;
  -webkit-order: 3;
      -ms-flex-order: 3;
          order: 3;
}
.welfare .colum-box .box .point-txt .area {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
}
.welfare .colum-box .box .point-txt img {
  height: 18px;
  width: auto;
  margin-top: 4px;
}
.welfare .colum-box .box .point-txt p {
  color: #fff;
  font-size: 14px;
  padding-left: 6px;
}
.welfare .colum-box .box .txt {
  font-size: 16px;
  letter-spacing: 0.145em;
  line-height: 1.625;
  text-align: left;
}
.welfare .colum-box::after {
  content: "";
  display: block;
  width: calc((100% - 10vw)/4);
  text-align: center;
  height: 0;
}
.welfare .system-box .system-ttl {
  padding: 28px 35px;
  color: #fff;
  font-size: 20px;
  letter-spacing: 0.1em;
  background: #808080;
}
.welfare .system-box ul li {
  position: relative;
  padding-left: 10px;
}
.welfare .system-box ul li::before {
  content: "・";
  position: absolute;
  left: 0;
}
.welfare .system-box ul li + li {
  padding-top: 5px;
}
.welfare .system-section {
  background-color: #F8F8F8;
  padding-top: 80px;
  padding-bottom: 30px;
}
.welfare .system-section .childcare-area {
  padding-bottom: 180px;
}
.welfare .system-section .childcare-area .lead-txt {
  text-align: center;
  padding-top: 50px;
}
.welfare .system-section .childcare-area img {
  padding-bottom: 5px;
}
.welfare .system-section .childcare-area .comment {
  font-size: 12px;
  letter-spacing: 0.075em;
  line-height: 1.5;
}

/* -----------------------------------------------
* recinfo Module
* indexページ用
-------------------------------------------------- */
.recinfo .c-article-mv-section {
  background: url(../images/recinfo/mv-img.jpg) no-repeat center center/cover;
}
.recinfo .c-article-mv-section .ttl {
  letter-spacing: 0.15em;
}
.recinfo .sidebar-block .sidebar-list {
  padding: 50px 0;
}
.recinfo .sidebar-block .sidebar-list a {
  display: block;
  font-size: 18px;
  letter-spacing: 0.2em;
  font-weight: 600;
  padding: 13px 20px 13px 55px;
  position: relative;
  color: #fff;
}
.recinfo .sidebar-block .sidebar-list + .ttl {
  margin-top: 45px;
}
.recinfo .recinfo-block .ttl-area {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #628ecd;
}
.recinfo .recinfo-block .ttl-area img {
  width: 100px;
}
.recinfo .recinfo-block .ttl-area .ttl {
  font-size: 36px;
  font-weight: bold;
  letter-spacing: 0.15em;
  line-height: 1.652;
  padding-left: 20px;
  color: #fff;
}
.recinfo .recinfo-block .flow-area .flow-box {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.recinfo .recinfo-block .flow-area .flow-box .step {
  font-family: "Oswald", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, sans-serif;
  letter-spacing: 0.1em;
  font-size: 18px;
  color: #fff;
  background-color: #7a9fd4;
  min-width: 174px;
  height: 54px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center;
}
.recinfo .recinfo-block .flow-area .flow-box .txt-box {
  padding-left: 35px;
}
.recinfo .recinfo-block .flow-area .flow-box .txt-box .sub-ttl {
  font-size: 18px;
  letter-spacing: 0.1em;
  line-height: 1.777;
}
.recinfo .recinfo-block .flow-area .flow-box .txt-box .txt {
  font-size: 14px;
  line-height: 2.285;
  letter-spacing: 0.1em;
}
.recinfo .recinfo-block .flow-area .flow-box + .flow-box {
  border-top: 1px solid #cccccc;
  position: relative;
}
.recinfo .recinfo-block .flow-area .flow-box + .flow-box:before, .recinfo .recinfo-block .flow-area .flow-box + .flow-box:after {
  content: "";
  position: absolute;
  right: 0;
  left: 0;
  width: 0;
  height: 0;
  margin: auto;
}
.recinfo .recinfo-block .flow-area .flow-box + .flow-box:before {
  background: #fff;
  top: -1px;
  width: 35px;
  height: 1px;
}
.recinfo .recinfo-block .flow-area .flow-box + .flow-box:after {
  top: -10px;
  border-right: 12px solid transparent;
  border-left: 12px solid transparent;
  border-top: 20px solid #99b6df;
  z-index: 10;
}
.recinfo .recinfo-block .flow-area .flow-box + .flow-box {
  padding-top: 68px;
}
.recinfo .recinfo-block .point-area {
  margin-top: 50px;
}
.recinfo .recinfo-block .point-area .ttl-area {
  margin-bottom: 50px;
}
.recinfo .recinfo-block .point-area .link-area {
  text-decoration: underline;
}
.recinfo .recinfo-block .point-area .tbl-box {
  width: 100%;
  border-collapse: collapse;
  border-bottom: 1px solid #E6E6E6;
}
.recinfo .recinfo-block .point-area .tbl-box th {
  min-width: 140px;
  padding: 17px 10px;
  border-top: 1px solid #E6E6E6;
  background: #e8eef8;
  font-weight: bold;
  font-size: 14px;
  vertical-align: top;
}
.recinfo .recinfo-block .point-area .tbl-box th + * {
  border-top: 1px solid #E6E6E6;
}
.recinfo .recinfo-block .point-area .tbl-box td {
  font-size: 14px;
  padding: 16px 15px;
  border-top: 1px solid #E6E6E6;
  background-color: #fff;
  line-height: 1.714;
}
.recinfo .recinfo-block .point-area .tbl-box td + * {
  border-top: 1px solid #E6E6E6;
}
.recinfo .recinfo-block .point-area .tbl-box td.tbl-area {
  padding: 18px 15px;
}
.recinfo .recinfo-block .point-area .tbl-box td.tbl-area .tbl_box02 {
  width: 100%;
  margin-top: 10px;
}
.recinfo .recinfo-block .point-area .tbl-box td.tbl-area .tbl_box02 th,
.recinfo .recinfo-block .point-area .tbl-box td.tbl-area .tbl_box02 td {
  border: 1px solid #E6E6E6;
}
.recinfo .recinfo-block .point-area .tbl-box td.tbl-area .tbl_box02 th {
  min-width: unset;
  padding: 0 10px;
  vertical-align: top;
  text-align: left;
}
.recinfo .recinfo-block .point-area .tbl-box td.tbl-area .tbl_box02 td {
  padding: 3px;
  min-width: 52px;
  text-align: center;
}
.recinfo .recinfo-block .point-area .tbl-box td.tbl-area .tbl_box02 td .td-txt {
  position: relative;
}
.recinfo .recinfo-block .point-area .tbl-box td.tbl-area .tbl_box02 td .mark {
  position: absolute;
  top: -6px;
  right: -16px;
  font-size: 10px;
}
.recinfo .recinfo-block .point-area .tbl-box td.tbl-area .tbl_box02 .ta_center {
  text-align: center;
}
.recinfo .recinfo-block .point-area .tbl-box td.tbl-area .tbl_box02 .course-ttl {
  text-align: left;
  padding: 5px 10px;
  max-width: 100px;
}
.recinfo .recinfo-block .point-area .tbl-box td.tbl-area .tbl_box02 .job-ttl {
  max-width: 42px;
  padding-top: 5px;
}
.recinfo .recinfo-block .point-area .tbl-box td.tbl-area .tbl_box02 .job-sub-ttl {
  max-width: 70px;
  padding: 0 10px;
  padding-top: 5px;
  position: relative;
}
.recinfo .recinfo-block .point-area .tbl-box td.tbl-area .tbl_box02 .subject-ttl {
  padding-top: 4px;
}
.recinfo .recinfo-block .point-area .salary .head,
.recinfo .recinfo-block .point-area .salary .body {
  display: inline-block;
}
.recinfo .recinfo-block .point-area .salary .head {
  width: 5.5em;
}
.recinfo .recinfo-block .point-area .txt {
  padding-top: 15px;
  font-size: 12px;
}
.recinfo .recinfo-block .point-area .txt + .txt {
  padding-top: 0;
}
.recinfo .recinfo-block .occupation-area {
  margin-top: 50px;
  letter-spacing: 0.1em;
}
.recinfo .recinfo-block .occupation-area .ttl-area {
  margin-bottom: 50px;
}
.recinfo .recinfo-block .occupation-area .lead {
  font-size: 14px;
  line-height: 1.714;
  padding-bottom: 35px;
}
.recinfo .recinfo-block .occupation-area .job-ttl {
  font-size: 21px;
  font-weight: bold;
  border-bottom: 1px solid #33ABCE;
  margin-bottom: 40px;
}
.recinfo .recinfo-block .occupation-area .box .occupation-sub-ttl {
  padding: 8px 25px;
  display: inline-block;
  color: #fff;
  margin-bottom: 25px;
}
.recinfo .recinfo-block .occupation-area .box .professional-ttl {
  background: #33ABCE;
}
.recinfo .recinfo-block .occupation-area .box .task-ttl {
  background: #808080;
}
.recinfo .recinfo-block .occupation-area .box .sub-box {
  font-size: 14px;
  line-height: 1.714;
}
.recinfo .recinfo-block .occupation-area .box .sub-box .list li {
  padding-left: 10px;
  position: relative;
}
.recinfo .recinfo-block .occupation-area .box .sub-box .list li::before {
  content: "";
  width: 3px;
  height: 3px;
  background: #000;
  border-radius: 100px;
  position: absolute;
  top: 10px;
  bottom: 0;
  right: 0;
  left: 0;
}
.recinfo .recinfo-block .occupation-area .box .sub-box + .sub-box {
  padding-top: 25px;
}
.recinfo .recinfo-block .occupation-area .box + .box {
  padding-top: 24px;
}
.recinfo .recinfo-block .occupation-area .job-box + .job-box {
  padding-top: 80px;
}
.recinfo .c-bnr-column-list li .txt-area {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 10px;
  padding-top: 0;
}
.recinfo .c-bnr-column-list li .ttl-box {
  color: #fff;
  text-align: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
}
.recinfo .c-bnr-column-list li .c-link-btn {
  color: #fff;
}
.recinfo .c-bnr-column-list li:first-child {
  background-color: #617bcb;
}
.recinfo .c-bnr-column-list li:last-child {
  background-color: #245d9c;
}
.recinfo .link-wrap {
  background: #fff;
  margin-top: 20px;
  padding: 60px 36px 55px;
}
.recinfo .link-wrap > .ttl {
  font-size: 25px;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 1.4;
  text-align: center;
  margin-bottom: 25px;
}
.recinfo .link-wrap .c-member-box {
  display: block;
  margin: 0;
}

/* -----------------------------------------------
* careerup Module
* careerupページ用
-------------------------------------------------- */
.careerup .c-article-mv-section {
  background-image: url(../images/careerup/mv-img.jpg);
}

.careerup-lead-section {
  padding: 140px 0 193px;
}
.careerup-lead-section .lead-ttl {
  font-size: 36px;
  font-weight: bold;
  line-height: 1.3;
  margin-bottom: 50px;
  text-align: center;
}
.careerup-lead-section .lead-txt {
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 1.875;
  max-width: 1000px;
  margin: auto;
}
.careerup-lead-section .anchor-wrap {
  margin-top: 150px;
}
.careerup-lead-section .anchor-wrap .box:nth-child(1) .txt-area {
  background: #3674ba;
  border-color: #3674ba;
}
.careerup-lead-section .anchor-wrap .box:nth-child(2) .txt-area {
  background: #4552a2;
  border-color: #4552a2;
}
.careerup-lead-section .anchor-wrap .box:nth-child(3) {
  width: 100%;
}
.careerup-lead-section .anchor-wrap .box:nth-child(3) a {
  background: #60acbd;
  border: 2px solid #60acbd;
  padding: 40px;
  text-align: center;
}
.careerup-lead-section .anchor-wrap .box:nth-child(3) a .ico {
  bottom: -2px;
  right: -2px;
}
.careerup-lead-section .anchor-wrap .box a {
  display: block;
  position: relative;
}
.careerup-lead-section .anchor-wrap .box .txt-area {
  border: 2px solid;
  padding: 30px 55px 20px;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.careerup-lead-section .anchor-wrap .box .ttl,
.careerup-lead-section .anchor-wrap .box .detail,
.careerup-lead-section .anchor-wrap .box .txt {
  color: #fff;
  font-weight: bold;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.careerup-lead-section .anchor-wrap .box .ttl {
  font-size: 31px;
  letter-spacing: 0.025em;
  line-height: 1.3;
}
.careerup-lead-section .anchor-wrap .box .detail {
  font-size: 18px;
  font-weight: bold;
  margin-top: 20px;
  line-height: 2;
}
.careerup-lead-section .anchor-wrap .box .txt {
  font-size: 18px;
  letter-spacing: 0.1em;
  line-height: 2;
  margin-top: 10px;
}
.careerup-lead-section .anchor-wrap .box .ico {
  background: #000;
  width: 30px;
  height: 30px;
  position: absolute;
  right: 0;
  bottom: 0;
}
.careerup-lead-section .anchor-wrap .box .ico::before {
  background: url(../images/common/ico-arrow-bottom.svg) no-repeat center center/contain;
  content: "";
  display: block;
  position: absolute;
  width: 18px;
  height: 12px;
  bottom: 0;
  top: 2px;
  right: 0;
  left: 0;
  margin: auto;
}

.careerup-cont-section {
  background: #ecedec;
  padding: 108px 0 197px;
}
.careerup-cont-section .inn {
  background: #fff;
  padding: 80px 40px 38px;
}
.careerup-cont-section .inn .ttl {
  color: #4d4d4d;
  font-size: 31px;
  font-weight: bold;
  letter-spacing: 0.05em;
  line-height: 1.3;
  text-align: center;
  position: relative;
}
.careerup-cont-section .inn .ttl::before {
  background: #3674ba;
  content: "";
  display: block;
  width: 1px;
  height: 115px;
  position: absolute;
  bottom: calc(100% + 20px);
  right: 0;
  left: 0;
  margin: auto;
}
.careerup-cont-section .lead-wrap {
  background: #fff;
}
.careerup-cont-section .lead-wrap.txt-box-only {
  justify-content: center;
}
.careerup-cont-section .lead-wrap .box {
  position: relative;
}
.careerup-cont-section .lead-wrap .box .img img {
  width: 100%;
}
.careerup-cont-section .lead-wrap .box .txt-area {
  padding: 124px 95px 50px;
}
.careerup-cont-section .lead-wrap .box .detail-ttl {
  background: #c9daec;
  padding: 55px 20px 20px;
  text-align: center;
  position: relative;
  margin-bottom: 38px;
}
.careerup-cont-section .lead-wrap .box .detail-ttl .ttl-txt {
  color: #4d4d4d;
  font-size: 20px;
  font-weight: bold;
}
.careerup-cont-section .lead-wrap .box .detail-ttl .ico {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 80px;
  margin: auto;
  width: 100%;
}
.careerup-cont-section .lead-wrap .box .lead-txt {
  color: #4d4d4d;
  font-size: 18px;
  font-weight: bold;
  line-height: 2;
}
.careerup-cont-section .lead-wrap .box .txt {
  color: #4d4d4d;
  font-size: 14px;
  line-height: 1.75;
  margin-top: 5px;
}
.careerup-cont-section .lead-wrap .box .txt + .txt {
  margin-top: 15px;
}
.careerup-cont-section .cont-wrap {
  background: #fff;
}
.careerup-cont-section .cont-wrap .cont {
  background: #c9daec;
  padding: 20px 20px 60px;
  text-align: center;
}
.careerup-cont-section .cont-wrap .cont + .cont {
  margin-top: 90px;
}
.careerup-cont-section .cont-wrap .ico-area {
  padding-bottom: 30px;
}
.careerup-cont-section .cont-wrap .ico-area .ico {
  margin: auto;
  max-width: 100px;
}
.careerup-cont-section .cont-wrap .ico-area .txt {
  font-size: 25px;
  font-weight: bold;
  text-align: center;
  padding-top: 5px;
}
.careerup-cont-section .cont-wrap .cont-ttl {
  background: #3674ba;
  color: #fff;
  font-size: 20px;
  font-weight: bold;
  letter-spacing: 0.15em;
  margin: 45px auto;
  max-width: 300px;
  padding: 10px 30px;
  width: 100%;
  text-align: center;
}
.careerup-cont-section .cont-wrap .cont-ttl .sub {
  font-size: 14px;
}
.careerup-cont-section .cont-wrap .box-area {
  margin: 120px auto 0;
}
.careerup-cont-section .cont-wrap .box-area .box {
  background: #fff;
  position: relative;
}
.careerup-cont-section .cont-wrap .box-area .box + .box::before {
  background: #fff;
  content: "";
  display: block;
  width: 2px;
  position: absolute;
  margin: auto;
}
.careerup-cont-section .cont-wrap .box-area .circle {
  border: 1px solid #fff;
  border-radius: 50%;
  color: #fff;
  width: 100px;
  height: 100px;
  padding-top: 26px;
  position: absolute;
  bottom: calc(100% - 24px);
  left: 0;
  right: 0;
  margin: auto;
}
.careerup-cont-section .cont-wrap .box-area .circle .num,
.careerup-cont-section .cont-wrap .box-area .circle .unit {
  font-weight: bold;
  line-height: 1;
}
.careerup-cont-section .cont-wrap .box-area .circle .num {
  font-size: 29px;
  letter-spacing: -0.13em;
}
.careerup-cont-section .cont-wrap .box-area .circle .unit {
  font-size: 18px;
  letter-spacing: 0.15em;
  padding-top: 5px;
}
.careerup-cont-section .cont-wrap .box-area .top {
  border-bottom: 2px solid #c9daec;
  padding: 10px 10px 5px;
}
.careerup-cont-section .cont-wrap .box-area .bottom {
  padding: 10px 15px;
  min-height: 120px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
}
.careerup-cont-section .cont-wrap .box-area .position {
  color: #4d4d4d;
  font-size: 20px;
  font-weight: bold;
  line-height: 1.3;
  letter-spacing: 0.15em;
}
.careerup-cont-section .cont-wrap .box-area .position .sub {
  font-size: 14px;
}
.careerup-cont-section .cont-wrap .box-area .ttl {
  color: #4d4d4d;
  font-size: 18px;
  font-weight: bold;
  letter-spacing: 0.15em;
  min-height: 2em;
}
.careerup-cont-section .cont-wrap .box-area .txt {
  color: #4d4d4d;
  font-size: 14px;
  letter-spacing: 0.025em;
}
.careerup-cont-section .cont-wrap .box-area .txt.space {
  padding-top: 29px;
}
.careerup-cont-section .cont-wrap .box-area.column3 {
  max-width: 980px;
}
.careerup-cont-section .cont-wrap .box-area.column3 .box:nth-child(1) .circle {
  background: #92b5d9;
}
.careerup-cont-section .cont-wrap .box-area.column3 .box:nth-child(2) .circle {
  background: #7da7d2;
}
.careerup-cont-section .cont-wrap .box-area.column3 .box:nth-child(3) .circle {
  background: #5d91c7;
}
.careerup-cont-section .cont-wrap .box-area.column2 {
  max-width: 680px;
}
.careerup-cont-section .cont-wrap .box-area.column2 .box:nth-child(1) .circle {
  background: #92b5d9;
}
.careerup-cont-section .cont-wrap .box-area.column2 .box:nth-child(2) .circle {
  background: #5d91c7;
}
.careerup-cont-section .cont-wrap .box-area + .cont-ttl {
  margin-top: 65px;
}
.careerup-cont-section .vertical {
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}
.careerup-cont-section .note {
  margin-top: 10px;
  font-size: 12px;
  text-align: right;
}

#general.careerup-cont-section .inn .ttl::before {
  background: #4552a2;
}
#general.careerup-cont-section .lead-wrap .box .detail-ttl,
#general.careerup-cont-section .cont-wrap .cont {
  background: #cfd2e7;
}
#general.careerup-cont-section .cont-wrap .cont .cont-ttl {
  background: #4552a2;
}
#general.careerup-cont-section .cont-wrap .box-area .top {
  border-color: #cfd2e7;
}
#general.careerup-cont-section .cont-wrap .box-area.column3 .box:nth-child(1) .circle {
  background: #8e95c6;
}
#general.careerup-cont-section .cont-wrap .box-area.column3 .box:nth-child(2) .circle {
  background: #727cb8;
}
#general.careerup-cont-section .cont-wrap .box-area.column3 .box:nth-child(3) .circle {
  background: #5f6aaf;
}

#human.careerup-cont-section .inn .ttl::before {
  background: #666;
}
#human.careerup-cont-section .lead-wrap .box .detail-ttl {
  background: #60acbd;
}
#human.careerup-cont-section .lead-wrap .box .detail-ttl .ttl-txt {
  color: #fff;
}

/* -----------------------------------------------
* about Module
* aboutページ用
-------------------------------------------------- */
.challenge-mv-section {
  background: url(../images/challenge/mv-img.jpg) no-repeat center center/cover;
  height: calc(100vh - 100px);
}
.challenge-mv-section .inner-block {
  height: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.challenge-mv-section .ttl-wrap {
  background: #6993f8;
  display: inline-block;
  padding: 50px 50px 60px;
  text-align: center;
  width: 100%;
  max-width: 800px;
  margin: auto;
}
.challenge-mv-section .ttl-wrap .ttl,
.challenge-mv-section .ttl-wrap .lead-txt {
  color: #fff;
  font-weight: bold;
}
.challenge-mv-section .ttl-wrap .ttl {
  font-size: 40px;
  letter-spacing: 0.175em;
  line-height: 1.5;
  margin-bottom: 15px;
}
.challenge-mv-section .ttl-wrap .lead-txt {
  font-size: 18px;
  letter-spacing: 0.1em;
  line-height: 2;
}

.challenge-cont-section {
  margin-top: 20px;
  padding-top: 650px;
  padding-bottom: 100px;
  position: relative;
  z-index: 1;
}
.challenge-cont-section .ttl-wrap .head,
.challenge-cont-section .ttl-wrap .ttl {
  display: inline-block;
}
.challenge-cont-section .ttl-wrap .head {
  background: -webkit-gradient(linear, left top, right top, from(#168ec0), to(#0877c0));
  background: linear-gradient(90deg, #168ec0 0%, #0877c0 100%);
  color: #fff;
  font-size: 18px;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 1;
  margin-bottom: 15px;
  padding: 10px 20px;
}
.challenge-cont-section .ttl-wrap .head .num {
  font-family: "Oswald", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, sans-serif;
  font-weight: 700;
  padding-right: 1.5em;
}
.challenge-cont-section .ttl-wrap .main-ttl,
.challenge-cont-section .ttl-wrap .sub-ttl {
  font-weight: bold;
  letter-spacing: 0.175em;
  line-height: 1.4;
}
.challenge-cont-section .ttl-wrap .main-ttl .inn,
.challenge-cont-section .ttl-wrap .sub-ttl .inn {
  background: #fff;
  display: inline-block;
  padding: 8px 20px;
}
.challenge-cont-section .ttl-wrap .main-ttl {
  font-size: 36px;
}
.challenge-cont-section .ttl-wrap .sub-ttl {
  font-size: 30px;
  margin-top: 10px;
}
.challenge-cont-section .box {
  background: #fff;
  margin-top: 20px;
  padding: 55px 60px;
}
.challenge-cont-section .box .txt-area .ttl {
  font-size: 24px;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 1.4;
  margin-bottom: 20px;
}
.challenge-cont-section .box .txt-area .txt {
  line-height: 2;
  letter-spacing: 0.175em;
}
.challenge-cont-section .box .img-area .txt {
  letter-spacing: 0.1em;
  margin-top: 5px;
}
.challenge-cont-section .box .img-area .img img {
  width: 100%;
}
.challenge-cont-section .link-wrap {
  background: #fff;
  margin-top: 20px;
  padding: 60px 36px 55px;
}
.challenge-cont-section .link-wrap > .ttl {
  font-size: 25px;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 1.4;
  text-align: center;
  margin-bottom: 25px;
}
.challenge-cont-section .link-wrap .c-member-box {
  display: block;
  margin: 0;
}
.challenge-cont-section .parallax {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.challenge-cont-section .parallax .img {
  background: no-repeat top center/cover;
  width: 100%;
  height: 100vh;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  left: 0;
  z-index: -1;
}
.challenge-cont-section .parallax .img.img01 {
  background-image: url(../images/challenge/parallax-img01.jpg);
}
.challenge-cont-section .parallax .img.img02 {
  background-image: url(../images/challenge/parallax-img02.jpg);
}
.challenge-cont-section .parallax .img.img03 {
  background-image: url(../images/challenge/parallax-img03.jpg);
}

/* -----------------------------------------------
* talk-session Module
* talk-sessionページ用
-------------------------------------------------- */
.technical .greet-box {
  position: relative;
  padding: 200px 0 195px;
}
.technical .greet-box .img {
  display: block;
  width: 53.5vw;
  background-color: blue;
  position: relative;
  z-index: 1;
}
.technical .greet-box .txt-box {
  background-color: rgba(0, 104, 55, 0.75);
  height: 598px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding-left: 130px;
  border-radius: 16px;
  width: 45vw;
  z-index: 10;
}
.technical .greet-box .txt-area .ttl {
  font-size: 30px;
  line-height: calc(52/30);
  letter-spacing: 0.08em;
  color: #fff;
  font-weight: bold;
}
.technical .greet-box .txt-area .txt {
  font-size: 14px;
  line-height: calc(31/14);
  margin-top: 32px;
  color: #fff;
}
.technical .content-box {
  position: relative;
  background-color: rgba(230, 230, 230, 0.75);
  width: 100%;
  padding-bottom: 335px;
  padding-top: 77px;
  z-index: 1;
}
.technical .content-box::before {
  content: "";
  width: inherit;
  height: 150px;
  background-color: rgba(255, 255, 255, 0.75);
  z-index: 2;
  position: absolute;
  left: 0;
  top: 0;
}
.technical .content-box .label {
  font-size: 22px;
  line-height: calc(30/22);
  text-align: center;
  letter-spacing: 0.26em;
  position: absolute;
  z-index: 3;
  top: -22px;
  left: 0;
  right: 0;
  margin: auto;
}
.technical .content-box .inner-block {
  margin-top: 45px;
}
.technical .content-box .content-ttl {
  font-size: 30px;
  line-height: calc(53/30);
  letter-spacing: 0.18em;
  text-align: center;
  position: relative;
  z-index: 3;
  font-weight: bold;
}
.technical .content-box .lead-txt {
  font-size: 14px;
  line-height: calc(31/14);
  font-weight: bold;
}
.technical .recruit-content .content-box {
  padding-bottom: 240px;
}
.technical .stepup-content .content-box {
  padding-bottom: 105px;
}
.technical .content + .content {
  margin-top: 240px;
}
.technical .content-box02 {
  position: relative;
  z-index: 10;
}
.technical .content-box02 + .content-box02 {
  margin-top: 210px;
}
.technical .content-box02.bg-green {
  background-color: #E5F0EB;
}
.technical .content-box02.bg-light-green {
  background-color: #EFF4E5;
}
.technical .content-box02.bg-light-green .item-ttl {
  color: #5F9600;
}
.technical .content-box02 .item-box {
  padding-top: 87px;
  padding-bottom: 96px;
  position: relative;
}
.technical .content-box02 .icon-box {
  position: absolute;
  left: 0;
  right: 0;
  top: -150px;
  height: 292px;
  width: 52.1875vw;
  margin: auto;
}
.technical .content-box02 .icon-box img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}
.technical .content-box02 .label-box {
  width: 117px;
  height: 117px;
  margin: auto;
  position: relative;
  z-index: 10;
  border-radius: 50%;
}
.technical .content-box02 .label-box .img {
  width: inherit;
  height: inherit;
}
.technical .content-box02 .item-ttl {
  font-size: 26px;
  color: #006837;
  letter-spacing: 0.1em;
  line-height: 1;
  text-align: center;
  margin-top: 27px;
  font-weight: bold;
}
.technical .content-box02 .lead {
  margin: 29px auto 0;
  font-size: 14px;
  line-height: calc(31/14);
  font-weight: bold;
}
.technical .content-box02 .banner-box {
  margin-top: 70px;
}
.technical .content-box02 .banner-box .img {
  display: block;
  width: 100%;
}
.technical .content-box03 .note {
  width: 100%;
  margin-top: 10px;
  font-size: 12px;
  text-align: right;
}
.technical .content-box03.c-green .ttl-box .ttl {
  color: #006837;
}
.technical .content-box03.c-green .year {
  color: #006837;
}
.technical .content-box03.c-green .txt-box.txt-box01 {
  background-color: #D9E8E1;
}
.technical .content-box03.c-green .txt-box.txt-box02 {
  background-color: #B2D2C3;
}
.technical .content-box03.c-green .txt-box.txt-box03 {
  background-color: #8CBBA5;
}
.technical .content-box03.c-light-green .ttl-box .ttl {
  color: #5F9600;
}
.technical .content-box03.c-light-green .year {
  color: #5F9600;
}
.technical .content-box03.c-light-green .txt-box.txt-box01 {
  background-color: #E7EFD9;
}
.technical .content-box03.c-light-green .txt-box.txt-box02 {
  background-color: #CFDFB2;
}
.technical .content-box03.c-light-green .txt-box.txt-box03 {
  background-color: #B7D08C;
}
.technical .content-box03 .ttl-box .ttl {
  font-size: 26px;
  font-weight: bold;
}
.technical .content-box03 + .content-box03 {
  margin-top: 75px;
}
.technical .ttl-box {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.technical .ttl-box .label-box {
  width: 117px;
  height: 117px;
}
.technical .ttl-box .label-box img {
  display: block;
  width: inherit;
  height: inherit;
}
.technical .ttl-box .ttl {
  line-height: 1;
  margin-left: 10px;
}
.technical .job-group {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.technical .job-item .item-txt {
  text-align: center;
  font-size: 18px;
  line-height: calc(31/18);
  letter-spacing: 0.1em;
  margin-top: 10px;
  font-weight: bold;
}
.technical .job-item .item-txt .small {
  font-size: 12px;
}
.technical .job-box {
  position: relative;
}
.technical .job-box .slider-box {
  position: relative;
  z-index: 2;
}
.technical .job-box .slider-box .slider-txt {
  position: absolute;
  left: 40px;
  bottom: 20px;
  font-size: 44px;
  letter-spacing: 0.16em;
  z-index: 50;
  color: #fff;
  line-height: 1;
  font-family: "Oswald", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, sans-serif;
}
.technical .job-box .slider-box img {
  width: 100%;
}
.technical .job-box .swiper-pagination {
  right: 8.125vw;
  bottom: 30px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  z-index: 30;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  left: auto;
}
.technical .job-box .swiper-pagination .swiper-pagination-bullet {
  width: 50px;
  height: 8px;
  background-color: #fff;
  border-radius: 2px;
}
.technical .job-box .swiper-button-next {
  right: 40px;
}
.technical .job-box .swiper-button-next::after {
  content: "";
  width: 36px;
  height: 200px;
  background: url(../images/technical/arrow01.svg) no-repeat;
  background-position: center;
}
.technical .job-box .swiper-button-prev {
  left: 40px;
}
.technical .job-box .swiper-button-prev::after {
  content: "";
  width: 36px;
  height: 200px;
  background: url(../images/technical/arrow02.svg) no-repeat;
  background-position: center;
}
.technical .job-box + .job-box {
  margin-top: 115px;
}
.technical .job-box .ttl-box {
  position: relative;
  z-index: 10;
}
.technical .job-box .ttl-box .ttl {
  font-size: 30px;
  font-weight: bold;
  margin-left: 2.0625vw;
}
.technical .job-box .label-box {
  width: 10.8125vw;
  height: 10.8125vw;
}
.technical .job-box .content-box04 {
  position: relative;
  height: 100%;
  width: 100%;
}
.technical .job-box .content-box04::before {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: #B3B3B3;
  z-index: 3;
  position: absolute;
  top: calc(80px + 8.75vw);
  left: 0;
}
.technical .job-box .content-box04::after {
  content: "";
  width: 30%;
  height: inherit;
  position: absolute;
  top: 0;
  z-index: 1;
}
.technical .job-box .txt-box {
  padding: 80px 40px 70px;
  position: relative;
  z-index: 10;
  height: 100%;
}
.technical .job-box .txt-box::before {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: #B3B3B3;
  z-index: 3;
  position: absolute;
  top: calc(80px + 8.75vw);
  left: 0;
}
.technical .job-box .lead-box {
  margin-top: 35px;
}
.technical .job-box .lead-box .txt {
  font-size: 14px;
  line-height: calc(31/14);
  margin-top: 10px;
  font-weight: bold;
}
.technical .job-box .lead-ttl {
  font-size: 30px;
  line-height: calc(52/30);
  letter-spacing: 0.08em;
  font-weight: bold;
  letter-spacing: 0.15em;
}
.technical .job-box .department-box {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 35px;
  height: 100%;
}
.technical .job-box .department-tll {
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  width: 94px;
  height: 94px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: #fff;
  margin-right: 18px;
  font-size: 14px;
  font-weight: bold;
}
.technical .job-box .department-txt {
  font-size: 14px;
  line-height: calc(31/14);
  font-weight: bold;
}
.technical .job-box .interview-box {
  margin-top: 45px;
}
.technical .job-box .interview-box .item {
  display: block;
  width: calc(290/784 * 100%);
}
.technical .job-box .interview-box .item:hover img {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
  opacity: 0.8;
}
.technical .job-box .interview-box .img-box {
  overflow: hidden;
  position: relative;
}
.technical .job-box .interview-box .img-box img {
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  width: 100%;
}
.technical .job-box .interview-box .label {
  color: #fff;
  font-size: 14px;
  line-height: 1.1;
  letter-spacing: 0.13em;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  position: absolute;
  bottom: 0;
  left: 0;
  padding: 10px 16px;
}
.technical .job-box .interview-box .year {
  margin-top: 16px;
  font-size: 14px;
  line-height: calc(21/14);
  font-weight: bold;
}
.technical .job-box .interview-box .name {
  font-size: 18px;
  letter-spacing: 0.23em;
  font-weight: bold;
}
.technical .job-box.product .content-box04:after {
  background-color: #E5F0EB;
  right: 0;
}
.technical .job-box.product .txt-box {
  background-color: #E5F0EB;
  margin-left: 130px;
}
.technical .job-box.product .lead-box {
  padding-left: 12.875vw;
}
.technical .job-box.product .lead-ttl {
  color: #006837;
}
.technical .job-box.product .interview-box .label {
  background-color: #006837;
}
.technical .job-box.product .slider-box {
  margin-left: auto;
}
.technical .job-box.supply .content-box04:after {
  background-color: #EFF4E5;
  left: 0;
}
.technical .job-box.supply .txt-box {
  background-color: #EFF4E5;
  margin-right: 130px;
}
.technical .job-box.supply .lead-ttl {
  color: #5F9600;
}
.technical .job-box.supply .interview-box .label {
  background-color: #5F9600;
}
.technical .step-box {
  background-color: rgba(230, 230, 230, 0.75);
  padding-bottom: 140px;
}
.technical .step-list .step-item {
  width: 100%;
}
.technical .step-list .item-ttl {
  font-size: 20px;
  line-height: 1.3;
  font-weight: bold;
}
.technical .step-list .item-txt {
  font-size: 16px;
  line-height: calc(21/16);
  margin-top: 16px;
  font-weight: bold;
}
.technical .step-list .year {
  color: #5F9600;
  line-height: 1;
  font-size: 22px;
  letter-spacing: 0.1em;
  font-weight: bold;
}
.technical .step-list .txt-box {
  margin-top: 8px;
  padding: 30px 10px 10px;
}
.technical img {
  height: inherit;
}
.technical .saiyo-other-section {
  padding-top: 150px;
  max-width: 840px;
  margin: auto;
}

/* -----------------------------------------------
* technical-person Module
* technical-personページ用
-------------------------------------------------- */
.technical-person {
  --primary_green: #006837;
  --primary_green02: #45916D;
  --primary_green03: #EBF3EF;
}
.technical-person.style-light-green {
  --primary_green: #5F9600;
  --primary_green02: #8AB245;
  --primary_green03: #F2F7EB;
}
.technical-person .inner-block.inner-1200 {
  max-width: 1260px;
}
.technical-person.person04 .mv-block .bg-img img {
  -o-object-position: top center;
     object-position: top center;
}
.technical-person .mv-block {
  position: relative;
}
.technical-person .mv-block .inner-block {
  padding-bottom: 100px;
}
.technical-person .mv-block .bg-img {
  width: 100%;
  height: 50vw;
  max-height: calc((var(--vh, 1vh) * 100) - var(--header));
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
}
.technical-person .mv-block .bg-img img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}
.technical-person .mv-block .inn {
  padding: clamp(30px, 4.6875vw, 75px) clamp(25px, 2.5vw, 40px) clamp(30px, 4.0625vw, 65px);
}
.technical-person .mv-block .txt-box {
  color: #fff;
  background-color: var(--primary_green02);
  max-width: clamp(300px, 30.5vw, 488px);
  margin-top: max(-395px, -24.6875vw);
  margin-left: auto;
}
.technical-person .mv-block .txt-box.left {
  margin-left: 0;
  margin-right: auto;
}
.technical-person .mv-block .txt-box .department {
  background-color: var(--primary_green);
  font-size: clamp(14px, 1.25vw, 20px);
  letter-spacing: 0.33em;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 12.5px 35px;
  margin-left: auto;
}
.technical-person .mv-block .txt-box .ttl {
  font-size: clamp(18px, 2.125vw, 34px);
  line-height: 1.8;
}
.technical-person .mv-block .txt-box .entry,
.technical-person .mv-block .txt-box .graduation {
  font-size: clamp(12px, 0.875vw, 14px);
  letter-spacing: 0.2em;
  margin-top: 33px;
}
.technical-person .mv-block .txt-box .name {
  font-size: clamp(18px, 1.4375vw, 23px);
  letter-spacing: 0.1em;
  margin-top: 15px;
}
.technical-person .mv-block .txt-box .graduation {
  margin-top: 1em;
}
.technical-person .mv-block .txt-box .annotation {
  font-size: 12px;
  margin-top: 1em;
  padding-left: 1em;
  text-indent: -1em;
}
.technical-person .txt-contents-block {
  overflow: hidden;
}
.technical-person .txt-contents-block .main-area:nth-of-type(2n) .box {
  margin-left: auto;
}
.technical-person .txt-contents-block .main-area + .main-area {
  margin-top: 85px;
}
.technical-person .txt-contents-block .box {
  background-color: var(--primary_green03);
  padding: 17px 125px 90px 110px;
  max-width: 955px;
}
.technical-person .txt-contents-block .box.some-wraps {
  padding-left: 165px;
  padding-right: 80px;
  padding-top: 60px;
  max-width: 917px;
}
.technical-person .txt-contents-block .box.some-wraps .txt {
  padding-right: 0;
}
.technical-person .txt-contents-block .box .wrap + .wrap {
  margin-top: 50px;
}
.technical-person .txt-contents-block .pb-280 {
  padding-bottom: 280px;
}
.technical-person .txt-contents-block .icon-area {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, sans-serif !important;
}
.technical-person .txt-contents-block .tag {
  background-color: var(--primary_green);
  color: #fff;
  font-size: 19px;
  letter-spacing: 0.625em;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  text-align: center;
  padding: 4px 2px 4px 10px;
}
.technical-person .txt-contents-block .icon {
  width: 107px;
  height: 107px;
  border-radius: 555px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #fff;
  padding: 23px;
  margin-left: 60px;
}
.technical-person .txt-contents-block .icon img {
  width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.technical-person .txt-contents-block .ttl {
  font-size: 36px;
  letter-spacing: 0.175em;
  line-height: 1.65;
  margin-top: 20px;
}
.technical-person .txt-contents-block .txt {
  letter-spacing: 0.1em;
  line-height: 2;
  margin-top: 22px;
  text-align: justify;
}
.technical-person .txt-contents-block .img.side-right {
  margin-right: calc(50% - 50vw);
  text-align: right;
  margin-top: -190px;
  margin-bottom: 145px;
}
.technical-person .txt-contents-block .img.side-right img {
  width: 61.25vw;
  min-width: 50%;
  -o-object-fit: cover;
     object-fit: cover;
}
.technical-person .txt-contents-block .img.side-left img {
  width: 40.5vw;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}
.technical-person .txt-contents-block .img.side-max {
  margin: 0 calc(50% - 50vw);
}
.technical-person .message-section {
  background-color: var(--primary_green03);
}
.technical-person .message-section .message-box {
  color: var(--primary_green);
  border-color: var(--primary_green);
  max-width: 790px;
  margin-right: auto;
  margin-left: auto;
}
.technical-person .message-section .schedule-box .ttl {
  background-color: var(--primary_green);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.technical-person .message-section .schedule-box .sub-ttl {
  background-color: var(--primary_green);
  display: inline-block;
  color: #fff;
  font-size: 18px;
  letter-spacing: 0.7em;
  padding: 5px;
  line-height: 1;
  margin-bottom: 30px;
}
.technical-person .message-section .oneday-box .box-wrap .box::before, .technical-person .message-section .oneday-box .box-wrap .box::after {
  background-color: var(--primary_green);
}
.technical-person .message-section .oneday-box .box-wrap .box .time {
  color: var(--primary_green);
}
.technical-person .message-section .nikotai-box {
  background: #fff;
  border-radius: 10px;
  margin-top: 100px;
  padding: 25px;
}
.technical-person .message-section .nikotai-box .img-area .icon {
  max-width: 105px;
  margin: 0 auto 20px;
}
.technical-person .message-section .nikotai-box .img-area .ttl {
  color: #5f9600;
  font-size: 17px;
  text-align: center;
}
.technical-person .message-section .nikotai-box .txt-area .txt {
  line-height: 2;
}
.technical-person .message-section .nikotai-box .txt-area .txt + .txt {
  margin-top: 30px;
}
.technical-person .message-section .nikotai-box .txt-area .txt .or {
  color: #f15a24;
}
.technical-person .message-section .nikotai-box .txt-area .txt .pu {
  color: #4b1e78;
}
.technical-person .message-section .nikotai-box .txt-area .txt .gr {
  color: #5f9600;
}
.technical-person .message-section .nikotai-box .txt-area .txt .bl {
  color: #0096c2;
}
.technical-person .message-section .nikotai-box .txt-area .txt.indent {
  text-indent: -1em;
  padding-left: 1em;
}
.technical-person .message-section .private-box {
  position: relative;
  margin-top: 90px;
}
.technical-person .message-section .private-box .txt-box {
  background-color: var(--primary_green);
  color: #fff;
  max-width: 704px;
  padding: 80px 45px 70px 235px;
  margin-left: auto;
}
.technical-person .message-section .private-box .box-ttl {
  font-size: 29px;
  letter-spacing: 0.15em;
  font-family: "Oswald", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, sans-serif;
  font-weight: 300;
}
.technical-person .message-section .private-box .heading-ttl {
  font-size: 25px;
  letter-spacing: 0.15em;
  line-height: 1.8;
  margin-top: 50px;
}
.technical-person .message-section .private-box .txt {
  line-height: 2;
  letter-spacing: 0.04em;
  margin-top: 13px;
}
.technical-person .message-section .private-box .img {
  -webkit-transform: rotate(-10deg);
          transform: rotate(-10deg);
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  z-index: 2;
}
.technical-person .message-section .private-box .img img {
  width: min(37.9166666667vw, 455px);
  height: min(28.3333333333vw, 340px);
  -o-object-fit: cover;
     object-fit: cover;
}
.technical-person .technical-staff-block .inner-block {
  padding-top: 100px;
  padding-bottom: 100px;
}
.technical-person .technical-staff-block .ttl {
  font-size: 21px;
  letter-spacing: 0.155em;
  color: #414141;
  background-color: #F2F2F2;
  padding: 7px 20px;
  max-width: 540px;
  width: 100%;
  text-align: center;
  margin: 0 auto;
}
.technical-person .technical-staff-block .staff-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  grid-gap: 18px;
  max-width: 910px;
  margin: 45px auto 0;
}
.technical-person .technical-staff-block .thumb {
  position: relative;
}
.technical-person .technical-staff-block .img {
  height: 0;
  padding-top: 120.6%;
  position: relative;
  overflow: hidden;
}
.technical-person .technical-staff-block .img img {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: -webkit-transform 0.3s ease-in-out;
  transition: -webkit-transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
}
.technical-person .technical-staff-block .department {
  font-size: 14px;
  letter-spacing: 0.1em;
  color: #fff;
  background-color: #006837;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 8px 20px;
  position: absolute;
  left: 0;
  bottom: 0;
}
.technical-person .technical-staff-block .department.supply {
  background-color: #5F9600;
}
.technical-person .technical-staff-block .entry {
  font-size: 14px;
  margin-top: 15px;
}
.technical-person .technical-staff-block .name {
  font-weight: bold;
  letter-spacing: 0.23em;
  margin-top: 3px;
}

/* -----------------------------------------------
* Page エントリーポイント
-------------------------------------------------- */

@media only screen and (max-width: 767px) {
  main {
    padding-top: 50px;
  }
  .core-site-header {
    position: static !important;
  }
  body {
    font-size: 14px;
    position: relative;
    -webkit-appearance: none;
    -webkit-text-size-adjust: 100%;
  }

  .outer-block {
    min-width: 320px;
  }

  .inner-block {
    padding: 0 20px;
    width: auto;
  }

  #wrapper {
    min-width: 320px;
    position: relative;
  }

  input[type=submit] {
    -webkit-text-size-adjust: 100%;
  }

  input,
select,
textarea {
    font-size: 16px !important;
  }

  .pc {
    display: none !important;
  }
  .c-header {
    height: 50px;
  }
  .c-header.technical-header .header-area {
    padding: 10px 95px 10px 12px;
  }
  .c-header.technical-header .logo-txt {
    font-size: 8px;
    line-height: 1;
  }
  .c-header.technical-header .logo-txt02 {
    margin-left: 10px;
    font-size: 9px;
    line-height: 1.2;
  }
  .c-header.technical-header .logo-txt02 .oswald {
    font-size: 7px;
    letter-spacing: 0.18em;
  }
  .c-header.technical-header .logo-txt02 .oswald .blue {
    color: #0099CC;
  }
  .c-header .header-area {
    background: #fff;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 10px 60px 10px 12px;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 110;
    height: 50px;
  }
  .c-header .logo {
    width: 80px;
  }
  .c-header .logo-txt {
    margin-top: 3px;
    font-size: 9px;
  }
  .c-header .btn-wrap {
    padding-bottom: 50px;
    width: calc(100% - 30px);
  }
  .c-header .btn-wrap .btn.mb10 {
    margin-bottom: 10px;
  }
  .c-header .btn-wrap .btn {
    width: 100%;
  }
  .c-header .btn-wrap .btn.mr {
    margin-top: 15px !important;
  }
  .c-header .btn-wrap .btn + .btn {
    margin-top: 10px;
  }
  .c-header .btn-wrap .btn + .js-kosen-target {
    margin-top: 10px;
  }
  .c-header .btn-wrap .js-kosen-target,
.c-header .btn-wrap .js-kosen-target-sp {
    display: none;
    padding: 30px 20px;
    text-align: center;
  }
  .c-header .btn-wrap .js-kosen-target .ttl,
.c-header .btn-wrap .js-kosen-target-sp .ttl {
    font-size: 16px;
  }
  .c-header .btn-wrap .js-kosen-target .txt,
.c-header .btn-wrap .js-kosen-target-sp .txt {
    font-size: 12px;
    padding-left: 0;
  }
  .c-header .btn-wrap.column .btn {
    font-size: 10px;
    width: calc((100% - 10px)/2);
    padding: 12px 5px;
  }
  .c-header .btn-wrap.column .btn + .btn {
    margin: 0 0 0 10px;
  }
  .c-header .btn-wrap.column {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
  .c-menu-btn {
    width: 60px;
    height: 50px;
  }
  .c-menu-btn .inn {
    width: 28px;
    height: 14px;
  }
  .c-menu-btn .line:nth-of-type(2) {
    top: 6px;
  }
  .c-menu-btn .line:nth-of-type(3) {
    top: 12px;
  }
  .c-menu-btn.is-open .line {
    top: 6px;
  }
  .c-menu-btn.is-open .line:nth-of-type(1), .c-menu-btn.is-open .line:nth-of-type(2) {
    -webkit-transform: rotate(25deg);
            transform: rotate(25deg);
  }
  .c-menu-btn.is-open .line:nth-of-type(3) {
    -webkit-transform: rotate(-25deg);
            transform: rotate(-25deg);
  }
  .c-menu {
    padding-top: 50px;
  }
  .c-menu .cont-area {
    padding-top: 40px;
  }
  .c-menu .cont {
    width: 100%;
  }
  .c-menu .cont .link-box + .link-box {
    margin-top: 20px;
  }
  .c-menu .cont .btn {
    font-size: 13px;
    width: 100%;
  }
  .c-menu .cont .btn:not(.sub) {
    border-bottom: 1px solid #fff;
    padding: 14px 48px 14px 14px;
  }
  .c-menu .cont .btn.sub {
    font-size: 11px;
    padding: 10px;
    position: relative;
    display: inline-block;
    width: auto;
  }
  .c-menu .cont .btn.sub::before {
    background: #fff;
    content: "";
    display: block;
    width: 3px;
    height: 1px;
    position: absolute;
    top: 18px;
    left: 0;
    margin: auto;
  }
  .c-menu .cont .sub-link-list {
    margin-top: 5px;
    padding: 0 15px;
  }
  .c-menu .cont .sub-link-list li.wide a .small-txt {
    font-size: 10px;
  }
  .c-menu .cont .sub-link-list li {
    min-width: 50%;
  }
  .c-menu .cont .sub-link-list li:nth-child(n+3) {
    margin-top: 5px;
  }
  .c-menu .cont .sub-link-list li .c-svg {
    width: 11px;
    height: 11px;
  }
  .c-menu .cont .sub-link-list.sp-long-link {
    display: block;
    width: 100%;
  }
  .c-menu .cont .sub-link-list.sp-long-link li {
    border-bottom: 1px solid #fff;
  }
  .c-menu .cont .sub-link-list.sp-long-link .btn {
    width: 100%;
  }
  .c-menu .cont .sub-link-list.sp-long-link .btn::before {
    content: none;
  }
  .c-menu .cont.top-link {
    text-align: center;
    margin-bottom: 30px;
  }
  .c-menu .cont.top-link .link-box {
    display: inline-block;
  }
  .c-menu .cont.top-link .link-box .btn {
    font-size: 16px;
    letter-spacing: 0.2em;
    padding: 5px;
  }
  .c-menu .cont .btn-wrap {
    text-align: center;
  }
  .c-menu .cont .btn-wrap .btn {
    border: none;
    padding: 10px 2px;
    margin: auto;
    max-width: 244px;
  }
  .c-menu .cont .btn-wrap .btn + * {
    margin-top: 10px;
  }
  .c-menu .js-sp-aco-target {
    display: none;
  }
  .c-menu .recruit-btn {
    margin: auto;
  }
  .c-link-btn {
    font-size: 10px;
  }
  .c-link-btn .c-svg {
    width: 18px;
    height: 8px;
  }
  .c-table th,
.c-table td {
    font-size: 14px;
    line-height: 1.785;
    padding: 18px 0;
  }
  .c-table th {
    width: 88px;
  }
  .project-link-block {
    padding: 60px 0;
  }
  .project-link-block .link-area .box {
    margin: 0 5px;
    width: calc((100% - 20px)/2);
  }
  .project-link-block .link-area .box .overlap-area .text-area {
    padding: 15% 5%;
  }
  .project-link-block .link-area .box .overlap-area .text-area .category {
    font-weight: 400;
    font-size: 10px;
  }
  .project-link-block .link-area .box .overlap-area .text-area .ttl {
    font-size: 14px;
  }
  .project-link-block .link-area .box .overlap-area .text-area .sub {
    font-size: 11px;
  }
  .project-link-block .link-area .box .overlap-area .c-link-btn {
    font-size: 10px;
    bottom: 15px;
    letter-spacing: 0.15em;
  }
  .project-link-block .link-area .box.short .overlap-area .text-area {
    padding: 15% 5%;
  }
  .project-link-block .link-area .box.talk .overlap-area .text-area {
    padding: 15% 5%;
  }
  .project-link-block .img {
    margin-bottom: 15px;
    padding-top: 71.1%;
  }
  .c-member-box {
    margin: 0 5px 40px;
    width: calc((100% - 20px)/2);
  }
  .c-member-box .img {
    border-radius: 5px;
    margin-bottom: 15px;
  }
  .c-member-box .category {
    font-size: 11px;
  }
  .c-member-box .ttl {
    font-size: 11px;
  }
  .other-member-block {
    margin-top: 10px;
    margin-bottom: 0px;
  }
  .other-member-block .swiper-controller .ttl {
    font-size: 9px;
  }
  .other-member-block .card-box .swiper-controller .btn-area {
    gap: 1.8em;
  }
  .other-member-block .card-box .swiper-button-prev::after {
    padding-right: 2px;
  }
  .other-member-block .card-box .swiper-button-next::after {
    padding-left: 2px;
  }
  .other-member-block .l-inner {
    padding: 1rem;
  }
  .other-member-block .card-box .swiper-controller {
    gap: 1.6rem;
    margin: 0 0 25px 0;
  }
  .other-member-block .card-box .swiper-button-prev, .other-member-block .card-box .swiper-button-next {
    top: 16px;
    width: 30px;
    height: 30px;
  }
  .other-member-block .card-box .swiper-button-prev::after, .other-member-block .card-box .swiper-button-prev::before, .other-member-block .card-box .swiper-button-next::after, .other-member-block .card-box .swiper-button-next::before {
    font-size: 10px;
    color: #fff;
  }
  .other-member-block .card-box .slide {
    width: 10rem;
  }
  .c-txt-bg-section .bnr-area {
    border-radius: 5px;
    width: calc(100% - 60px);
    height: 217px;
  }
  .c-txt-bg-section .bnr-area .img img {
    -o-object-position: 30%;
       object-position: 30%;
  }
  .c-txt-bg-section .bnr-area .ttl-wrap {
    margin-top: 25px;
  }
  .c-txt-bg-section .bnr-area .ttl-wrap .ttl {
    padding: 20px;
  }
  .c-txt-bg-section .bnr-area .ttl-wrap .ttl img {
    min-height: 15px;
  }
  .c-txt-bg-section .bnr-area .c-link-btn {
    margin-top: 10px;
  }
  .c-article-mv-section .c-mv-txt,
.c-article-content-wrap .c-mv-txt {
    font-size: 14px;
    line-height: 1.785;
  }
  .c-article-mv-section .ttl {
    font-size: 20px;
    padding-bottom: 0;
  }
  .c-article-mv-section.simple {
    height: 36.8vw;
  }
  .c-article-mv-section.simple-middle {
    height: 34.133vw;
  }
  .c-bnr-list .link-area .bnr,
.c-bnr-column-list .link-area .bnr {
    margin-bottom: 5px;
  }
  .c-bnr-list .link-area .bnr .img,
.c-bnr-column-list .link-area .bnr .img {
    padding-top: 45%;
  }
  .c-bnr-list .link-area .bnr .sub,
.c-bnr-column-list .link-area .bnr .sub {
    bottom: 20px;
    left: 10px;
    font-size: 30px;
  }
  .c-bnr-list .link-area .bnr .ttl,
.c-bnr-column-list .link-area .bnr .ttl {
    bottom: 5px;
    left: 10px;
    font-size: 12px;
  }
  .c-bnr-list .link-area .ttl.ico-external::after,
.c-bnr-column-list .link-area .ttl.ico-external::after {
    width: 14px;
    height: 14px;
    bottom: -2px;
  }
  .c-bnr-list li + li {
    margin-top: 40px;
  }
  .c-bnr-column-list li {
    width: calc((100% - 10px)/2);
  }
  .c-bnr-column-list li .link-area .txt-area {
    display: block;
  }
  .c-bnr-column-list li .link-area .bnr .img {
    padding-top: 75%;
  }
  .c-bnr-column-list li .link-area .c-link-btn {
    margin-top: 10px;
  }
  .c-bnr-column-list.sp-vertical {
    display: block;
  }
  .c-bnr-column-list.sp-vertical li {
    width: 100%;
  }
  .c-bnr-column-list.sp-vertical li + li {
    margin-top: 50px;
  }
  .c-bnr-column-list.sp-vertical li .link-area .bnr .img {
    padding-top: 66.5%;
  }
  .c-top-mv-section .swiper-slide {
    width: 640px;
  }
  .c-top-mv-section .ttl {
    font-size: 23px;
  }
  .home .inner-block {
    padding: 0 10px;
  }
  .home.is-scroll .fixed-bg {
    top: 50px;
  }
  .home-mv-section {
    padding-bottom: 50px;
  }
  .home-mv-section .mv-cont {
    min-height: inherit;
    padding-right: 12px;
    padding-left: 12px;
    height: 490px;
  }
  .home-mv-section .mv-cont .circle:nth-child(1) {
    width: 84px;
    top: 5%;
    left: 10%;
  }
  .home-mv-section .mv-cont .circle:nth-child(2) {
    width: 115px;
    left: 20%;
    top: 42%;
  }
  .home-mv-section .mv-cont .circle:nth-child(3) {
    width: 100px;
    top: 10%;
    right: 13%;
  }
  .home-mv-section .mv-cont .circle:nth-child(4) {
    width: 70px;
    top: 37%;
    right: 4%;
  }
  .home-mv-section .mv-cont .catch .inn {
    padding: 12px;
  }
  .home-mv-section .mv-cont .catch .inn img {
    max-height: 31px;
  }
  .home-mv-section .mv-cont .catch .inn + .inn {
    margin-top: 5px;
  }
  .home-mv-section .mv-cont .sub-ttl .inn {
    font-size: 11px;
    padding: 6px 14px;
  }
  .home-mv-section .news-cont {
    padding: 15px 0;
  }
  .home-mv-section .news-cont .ttl {
    font-size: 8px;
    width: 80px;
  }
  .home-mv-section .news-cont .news-list {
    width: calc(100% - 80px);
  }
  .home-mv-section .news-cont .news-list li .date {
    font-size: 12px;
    width: 90px;
    line-height: 1.9;
  }
  .home-mv-section .news-cont .news-list li .news-ttl {
    letter-spacing: 0.1em;
    width: calc(100% - 90px);
    font-size: 12px;
    line-height: 1.9;
  }
  .home-mv-section .detail-cont {
    margin-top: 75px;
  }
  .home-mv-section .detail-cont .ttl {
    font-size: 12px;
    padding: 10px 25px;
    letter-spacing: 0.3em;
  }
  .home-mv-section .detail-cont .txt-area {
    border-radius: 10px;
    padding: 40px 30px;
  }
  .home-mv-section .detail-cont .txt-area .txt {
    font-size: 14px;
    line-height: 1.785;
  }
  .home-mv-section .detail-cont .txt-area .img {
    margin-top: 25px;
  }
  .home-mv-section .detail-cont .txt-area .img img {
    max-height: 23px;
  }
  .scroll-txt-wrap {
    padding: 10px 0 25px;
  }
  .scroll-txt-wrap .scroll-txt {
    font-size: 30px;
    padding: 0 15px;
  }
  .home-special-section .ttl-wrap {
    border-radius: 5px;
    width: calc(100% - 60px);
    padding: 80px 20px 80px;
  }
  .home-special-section .ttl-wrap .ttl img {
    max-height: 82px;
  }
  .home-special-section .ttl-wrap .sub-ttl {
    font-size: 13px;
    margin-top: 15px;
  }
  .home-special-section .ttl-wrap .lead-txt {
    font-size: 18px;
    margin-top: 20px;
  }
  .home-special-section .ttl-wrap .img.img01 {
    bottom: calc(100% - 60px);
    width: 146px;
  }
  .home-special-section .ttl-wrap .img.img02 {
    width: 75px;
    bottom: -20px;
    left: -10px;
  }
  .home-special-section .ttl-wrap .img.img03 {
    width: 79px;
    bottom: -40px;
    right: 10px;
  }
  .home-special-section .js-search-wrap {
    margin-top: 70px;
  }
  .home-special-section .js-search-wrap .search-area {
    margin-bottom: 30px;
    width: calc(100% - 20px);
  }
  .home-special-section .js-search-wrap .search-area .ico-area {
    width: 65px;
    height: 65px;
    padding-top: 7px;
  }
  .home-special-section .js-search-wrap .search-area .ico-area .txt {
    font-size: 12px;
    margin-top: 8px;
  }
  .home-special-section .js-search-wrap .search-area .ico-area .ico img {
    width: 27px;
  }
  .home-special-section .js-search-wrap .search-area .cont-wrap {
    width: calc(100% - 65px);
    padding-left: 10px;
  }
  .home-special-section .js-search-wrap .search-area .c-category-cont .txt {
    font-size: 12px;
    width: 70px;
  }
  .home-special-section .js-search-wrap .search-area .c-category-cont .c-category-list {
    font-size: 10px;
    width: calc(100% - 70px);
  }
  .home-special-section .js-search-wrap .search-area .c-category-cont .c-category-list li {
    margin-right: 10px;
    margin-bottom: 7px;
    line-height: 1.5;
  }
  .home-special-section .js-search-wrap .search-area .c-category-cont .c-category-list .btn .btn-txt {
    font-size: 12px;
  }
  .home-special-section .js-search-wrap .article-list-area {
    padding: 0 10px;
  }
  .home-special-section .js-search-wrap .article-list-area .inn {
    margin: 0 -5px;
  }
  .home-special-section .js-search-wrap .article-list-area .box {
    margin: 0 5px 40px;
    width: calc((100% - 20px)/2);
  }
  .home-special-section .js-search-wrap .article-list-area .img {
    border-radius: 5px;
    margin-bottom: 15px;
  }
  .home-special-section .js-search-wrap .article-list-area .category {
    font-size: 11px;
  }
  .home-special-section .js-search-wrap .article-list-area .ttl {
    font-size: 12px;
    line-height: 1.5;
  }
  .home-btn-section {
    padding: 50px 0;
  }
  .home-btn-section .btn {
    max-width: 250px;
    margin: auto;
  }
  .home-btn-section .btn + .btn {
    margin-top: 20px;
  }
  .home-btn-section .btn .ttl {
    font-size: 14px;
    padding: 25px 20px;
  }
  .home-btn-section .btn .c-link-btn {
    margin-top: 10px;
  }
  .c-cta-section {
    border-bottom-width: 5px;
    padding: 45px 0 40px;
  }
  .c-cta-section .lead-txt {
    font-size: 11px;
  }
  .c-cta-section .btn-wrap {
    margin-top: 25px;
  }
  .c-cta-section .btn {
    font-size: 13px;
    padding: 25px;
    max-width: 250px;
    margin: auto;
  }
  .c-cta-section .btn + .btn {
    margin-top: 15px;
  }
  .c-cta-section .js-kosen-target-foot .ttl {
    font-size: 12px;
  }
  .c-cta-section .js-kosen-target-foot .txt {
    font-size: 12px;
  }
  .c-saiyo-link-card .img {
    border-radius: 10px;
  }
  .c-saiyo-link-card .bg-ttl {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    font-size: 13px;
    max-width: 135px;
    padding: 8px;
    width: 80%;
  }
  .c-saiyo-link-card .ttl {
    font-size: 11px;
  }
  .c-saiyo-link-card .ttl .c-svg {
    width: 11px;
    height: 11px;
    margin: 0 0 2px;
  }
  .c-saiyo-link-card .c-link-btn {
    margin-top: 10px;
  }
  .saiyo-jobcategory-section {
    padding: 20px 0;
  }
  .saiyo-jobcategory-section .c-saiyo-link-card {
    max-width: 300px;
    margin: auto;
  }
  .saiyo-jobcategory-section .bg-ttl {
    max-width: 225px;
  }
  .saiyo-other-section {
    padding: 0 10px 45px;
  }
  .saiyo-other-section .c-saiyo-link-card.wide {
    margin-top: 50px;
    width: calc(100% - 60px);
  }
  .saiyo-other-section .c-saiyo-link-card.wide .bg-ttl {
    padding: 12px 0;
    max-width: 300px;
  }
  .saiyo-other-section .c-saiyo-link-card {
    width: calc((100% - 15px)/2);
  }
  .saiyo-other-section .c-saiyo-link-card + .c-saiyo-link-card {
    margin-left: 15px;
  }
  .saiyo-other-section02 {
    padding: 0 10px 45px;
  }
  .saiyo-other-section02 .c-saiyo-link-card {
    max-width: 300px;
  }
  .saiyo .saiyo-other-section .bg-ttl .small {
    font-size: 10px;
    margin-top: 5px;
  }
  .saiyo-article-section {
    padding: 70px 0 50px;
  }
  .saiyo-article-section .c-saiyo-link-card {
    width: calc((100% - 10px)/2);
  }
  .saiyo-article-section .c-saiyo-link-card:not(:nth-child(2n+1)) {
    margin-left: 10px;
  }
  .saiyo-article-section .c-saiyo-link-card:nth-child(n+3) {
    margin-top: 25px;
  }
  .university-lead-section {
    padding-top: 30px;
    padding-bottom: 100px;
  }
  .university-lead-section .lead-ttl {
    font-size: 18px;
    line-height: 1.9;
    margin-bottom: 30px;
  }
  .university-lead-section .lead-txt {
    line-height: 2.15;
    font-size: 10px;
  }
  .university-lead-section .careerup-lead-section {
    padding: 35px 0 0;
  }
  .university-lead-section .careerup-lead-section .anchor-wrap .box .txt-area {
    padding: 20px 20px;
  }
  .university-lead-section .careerup-lead-section .anchor-wrap .box .ttl {
    font-size: 16px;
  }
  .university-lead-section .careerup-lead-section .anchor-wrap .box .txt {
    font-size: 10px;
  }
  .project .inner-block {
    padding: 0 20px;
  }
  .project .mv-section {
    height: calc((var(--vh, 1vh) * 100) - 50px);
  }
  .project .mv-section .mv-img .mv-ttl {
    font-size: 20px;
    right: 0;
    bottom: 30px;
    left: 10px;
  }
  .project .mv-section .mv-img .mv-ttl .sub {
    background-color: #000;
    color: #fff;
    font-size: 12px;
    padding: 5px 8px;
    font-family: "Oswald", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, sans-serif;
    font-weight: 700;
    margin-bottom: 10px;
  }
  .project .mv-section .mv-img .mv-ttl .txt {
    padding: 2px 10px;
    letter-spacing: 0.1em;
  }
  .project .lead-block {
    padding: 45px 0;
  }
  .project .lead-block .text {
    font-size: 14px;
    line-height: 1.785;
    letter-spacing: 0.08em;
  }
  .project .person-block .person-area {
    padding: 30px 0 25px 0;
  }
  .project .person-block .person-area {
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    padding-right: 25px;
    padding-left: 25px;
  }
  .project .person-block .person-area .introduction-box {
    padding-top: 15px;
  }
  .project .person-block .person-area .introduction-box .name {
    font-size: 14px;
    line-height: 1.333;
  }
  .project .person-block .person-area .introduction-box .post {
    font-size: 12px;
    line-height: 1.5;
    letter-spacing: 0.1em;
    padding-top: 10px;
  }
  .project .person-block .person-area .introduction-box .post .small {
    font-size: 10px;
    margin-top: 8px;
  }
  .project .story-section {
    padding-top: 60px;
    overflow: hidden;
  }
  .project .story-section .story-box + .story-box {
    padding-top: 46px;
  }
  .project .story-section .number {
    padding: 0;
    margin-top: 0;
    height: 30px;
    font-size: 12px;
    padding: 5px;
    max-width: 140px;
    margin: auto;
    margin-top: 25px;
    margin-bottom: 20px;
  }
  .project .story-section .number::before {
    border-width: 0 0 30px 12px;
    border-color: transparent transparent #0096C2 transparent;
    left: -12px;
  }
  .project .story-section .number::after {
    border-width: 30px 12px 0 0;
    bottom: 0;
    right: -12px;
  }
  .project .story-section .text-area .ttl {
    font-size: 17px;
    text-align: center;
  }
  .project .story-section .text-area .txt {
    font-size: 14px;
    line-height: 1.785;
    padding-bottom: 0;
  }
  .project .story-section .img-area {
    margin: 0 calc(50% - 50vw);
    width: 100vw;
  }
  .project .story-section .img-area img {
    width: 100%;
  }
  .project .story-section .story-center-area .text-area .ttl {
    padding-bottom: 5px;
  }
  .project .story-section .story-center-area .text-area .txt {
    padding: 0;
  }
  .project .story-section .story-center-area + .img-text-area {
    padding-top: 30px;
  }
  .project .story-section .img-text-area {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .project .story-section .img-text-area .txt {
    font-size: 14px;
    padding-left: 0;
    line-height: 1.785;
    letter-spacing: 0.08em;
  }
  .project .story-section .story-overlap-box .ttl {
    padding-bottom: 15px;
  }
  .project .story-section .story-overlap-box + .img-text-area {
    padding-top: 30px;
  }
  .project .story-section .award-box {
    padding: 30px 20px;
    border: 4px solid #CDEFF6;
    margin-top: 30px;
  }
  .project .story-section .award-box .ttl {
    font-size: 18px;
    padding-bottom: 20px;
  }
  .project .story-section .award-box .ttl img {
    width: 40px;
    margin-right: 10px;
  }
  .project .story-section .award-box .ttl p {
    font-size: 16px;
    letter-spacing: 0.1em;
  }
  .project .story-section .award-box .txt {
    padding-top: 20px;
  }
  .job .inner-block {
    padding: 0 20px;
  }
  .job .mv-section .ttl {
    font-size: 37px;
    padding-left: 10px;
    padding-top: 20px;
    padding-bottom: 0px;
  }
  .job .mv-section .mv-img {
    width: calc(100% - 20px);
  }
  .job .mv-section .introduction-area {
    margin-right: 0;
  }
  .job .mv-section .introduction-area {
    width: 88%;
    padding: 20px;
    padding-top: 32px;
    margin-top: -5%;
  }
  .job .mv-section .introduction-area .number {
    font-size: 32px;
    right: 10px;
    top: 0px;
  }
  .job .mv-section .introduction-area .mv-ttl {
    font-size: 18px;
    padding-bottom: 10px;
    line-height: 1.5;
    letter-spacing: 0.1em;
  }
  .job .mv-section .introduction-area .name {
    font-size: 14px;
    padding-bottom: 5px;
  }
  .job .mv-section .introduction-area .post {
    font-size: 12px;
    line-height: 1.5;
  }
  .job .mv-section .introduction-area .post .small {
    font-size: 10px;
    margin-top: 8px;
  }
  .job .interview-section .inner-block {
    padding-top: 50px;
    padding-bottom: 75px;
  }
  .job .interview-section .interview-img {
    margin: 0 calc(50% - 50vw);
    width: 100vw;
  }
  .job .interview-section .interview-img img {
    width: 100%;
  }
  .job .interview-section .interview-box .shoulder {
    font-size: 14px;
    padding: 4px 4px 4px 8px;
    margin-bottom: 10px;
  }
  .job .interview-section .interview-box .ttl {
    font-size: 20px;
    letter-spacing: 0.045em;
    line-height: 1.5;
    padding-bottom: 20px;
  }
  .job .interview-section .interview-box .txt {
    font-size: 14px;
    line-height: 1.785;
  }
  .job .interview-section .interview-box + .interview-box {
    padding-top: 35px;
  }
  .job .interview-section .interview-box + .interview-img {
    padding-top: 40px;
  }
  .job .interview-section .style-box {
    padding-top: 80px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .job .interview-section .style-box .ttl {
    font-size: 28px;
    padding: 12px 0;
  }
  .job .interview-section .style-box .txt-box .sub-ttl {
    font-size: 17px;
  }
  .job .interview-section .style-box .txt-box .txt {
    font-size: 14px;
    line-height: 1.785;
  }
  .job .message-section .message-box {
    border-radius: 5px;
    margin-top: -30px;
  }
  .job .message-section .message-box .ttl {
    padding-bottom: 10px;
  }
  .job .message-section .schedule-box {
    padding-top: 0px;
  }
  .job .message-section .schedule-box .ttl {
    font-size: 14px;
    padding: 6px 20px;
    border-radius: 5px;
    margin-bottom: 25px;
  }
  .job .message-section .oneday-box .box-wrap .box {
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .job .message-section .oneday-box .box-wrap .box::before {
    height: 7px;
    width: 7px;
    left: 72px;
    top: 8px;
    z-index: 1;
  }
  .job .message-section .oneday-box .box-wrap .box::after {
    top: 10px;
    left: 75px;
    height: 100%;
  }
  .job .message-section .oneday-box .box-wrap .box .main-txt {
    font-size: 14px;
  }
  .job .message-section .oneday-box .box-wrap .box .sub-txt {
    font-size: 14px;
  }
  .job .message-section .oneday-box .box-wrap .box .txt-box {
    width: calc(100% - 85px);
  }
  .job .message-section .oneday-box .box-wrap .box .time {
    width: unset;
    font-size: 13px;
    left: -104px;
    top: 5px;
    width: 85px;
    padding-right: 15px;
  }
  .job .message-section .oneday-box .box-wrap .box {
    width: auto;
    margin-left: 0;
    padding-bottom: 20px;
  }
  .job .message-section .oneday-box .box-wrap .last-box.interim::after {
    content: none;
  }
  .job .message-section .oneday-box .box-wrap .oneday-area {
    position: relative;
  }
  .job .message-section .oneday-box .box-wrap .oneday-area + .oneday-area::after {
    background: #0096C2;
    content: "";
    display: block;
    height: 100%;
    width: 0.102vw;
    position: absolute;
    top: 1.48vw;
    left: -2.041vw;
  }
  .job .message-section .oneday-box .schedule_caution {
    font-size: 12px;
    text-align: left;
  }
  .job .message-section {
    padding-bottom: 30px;
  }
  .job .message-section .message-box {
    padding: 20px;
    margin-bottom: 45px;
  }
  .job .message-section .message-box .ttl {
    font-size: 28px;
  }
  .job .message-section .message-box .txt {
    font-size: 14px;
    line-height: 1.785;
  }
  .job .c-txt-bg-section {
    padding-bottom: 50px;
  }
  .job .c-txt-bg-section .ttl img {
    height: 15px;
  }
  .talk-session .mv-section .ttl {
    width: 140px;
    height: 140px;
    font-size: 14px;
    bottom: -50px;
  }
  .talk-session .lead-section {
    padding-top: 80px;
    padding-bottom: 75px;
  }
  .talk-session .lead-section .ttl {
    font-size: 20px;
    padding-bottom: 20px;
  }
  .talk-session .lead-section .ttl + .txt {
    padding-bottom: 40px;
  }
  .talk-session .lead-section .person-area .box .note {
    font-size: 10px;
  }
  .talk-session .lead-section .person-area {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
  .talk-session .lead-section .person-area .box {
    width: calc((100% - 10px) / 2);
  }
  .talk-session .lead-section .person-area .box:nth-child(n+3) {
    padding-top: 50px;
  }
  .talk-session .lead-section .person-area .box img {
    max-width: 90px;
    padding-bottom: 12px;
  }
  .talk-session .lead-section .person-area .box .name {
    font-size: 13px;
  }
  .talk-session .lead-section .person-area .box .post, .talk-session .lead-section .person-area .box .detaik {
    font-size: 10px;
    line-height: 1.5;
  }
  .talk-session .lead-section .person-area .box .detail {
    font-size: 13px;
    padding-top: 10px;
  }
  .talk-session .talk-section {
    padding-top: 45px;
    padding-bottom: 50px;
  }
  .talk-session .talk-section .talk-box .ttl {
    font-size: 20px;
    padding-bottom: 35px;
  }
  .talk-session .talk-section .talk-box .question {
    padding-bottom: 30px;
  }
  .talk-session .talk-section .talk-box .proposal .person {
    width: calc(100% - 85%);
  }
  .talk-session .talk-section .talk-box .proposal .person img {
    padding-bottom: 5px;
  }
  .talk-session .talk-section .talk-box .proposal .voice {
    width: calc(100% - 15%);
    line-height: 1.785;
    padding-left: 12px;
  }
  .talk-session .talk-section .talk-box .proposal + .proposal {
    padding-top: 20px;
  }
  .talk-session .talk-section .talk-box .proposal + .img-area {
    padding-top: 35px;
  }
  .talk-session .talk-section .talk-box .proposal + .whole-img {
    padding-top: 40px;
  }
  .talk-session .talk-section .talk-box .img-area {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
        -ms-flex-align: end;
            align-items: flex-end;
  }
  .talk-session .talk-section .talk-box .img-area img {
    width: 77.923%;
  }
  .talk-session .talk-section .talk-box + .talk-box {
    padding-top: 85px;
  }
  .talk-session .talk-section .talk-box + .talk-box .img-area {
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .about .c-mv-txt {
    margin-bottom: 40px;
  }
  .about .c-article-content-wrap {
    padding-top: 30px;
    padding-bottom: 70px;
  }
  .jobcategory-anchor-block {
    padding: 35px 0 60px;
  }
  .jobcategory-anchor-block .list li + li {
    margin-top: 10px;
  }
  .jobcategory-anchor-block .list li a {
    font-size: 13px;
    padding: 8px 40px 7px 20px;
  }
  .jobcategory-anchor-block .list li a::before {
    width: 9px;
    height: 6px;
    right: 15px;
  }
  .jobcategory-content-section {
    padding-bottom: 75px;
  }
  .jobcategory-content-section .box {
    padding-top: 45px;
  }
  .jobcategory-content-section .box::before {
    height: calc(100% - 95px);
    max-height: inherit;
  }
  .jobcategory-content-section .box .img {
    margin-top: 30px;
  }
  .jobcategory-content-section .box .ttl {
    font-size: 18px;
    margin-bottom: 15px;
  }
  .jobcategory-content-section .box .lead-txt {
    font-size: 14px;
    line-height: 1.8;
  }
  .jobcategory-content-section .box .txt {
    font-size: 12px;
    line-height: 2;
    margin-top: 10px;
  }
  .jobcategory-content-section .box + .box {
    margin-top: 75px;
  }
  .works .jobcategory-anchor-block {
    padding: 42px 0 35px;
  }
  .works .jobcategory-anchor-block li + li {
    margin-top: 13px;
  }
  .works .jobcategory-anchor-block .list li a .small {
    font-size: 12px;
  }
  .works .works-cont-section {
    margin-top: 13px;
    padding-bottom: 30px;
  }
  .works .works-cont-section .inner-block {
    padding-top: 70px;
  }
  .works .works-cont-section .img-box {
    margin: 0 calc(50% - 50vw);
    width: 100vw;
    margin-bottom: 25px;
  }
  .works .works-cont-section .ttl-wrap .head {
    font-size: 18px;
    margin-bottom: 35px;
    padding: 15px 5px;
  }
  .works .works-cont-section .ttl-wrap .main-ttl {
    font-size: 20px;
  }
  .works .works-cont-section .job-box {
    margin-top: 30px;
  }
  .works .works-cont-section .job-box .work-ttl {
    font-size: 12px;
    margin-bottom: 22px;
    padding: 7px 10px;
    width: 165px;
  }
  .works .works-cont-section .job-box .main-txt {
    font-size: 14px;
    line-height: 1.785;
  }
  .works .works-cont-section .job-box .txt {
    font-size: 14px;
    line-height: 1.785;
  }
  .works .works-cont-section .link-btn {
    width: 100%;
    padding: 10px;
  }
  .works .works-cont-section .link-btn p {
    font-size: 14px;
  }
  .works .works-cont-section .link-btn .ttl {
    padding-left: 10px;
  }
  .works .works-cont-section .link-btn .c-svg {
    width: 20px;
  }
  .works .works-cont-section .link-btn + .member-box {
    margin-top: 35px;
  }
  .works .works-cont-section .other-member-block {
    margin-top: 30px;
    padding: 0 40px;
  }
  .works .works-cont-section .other-member-block .c-member-box {
    width: 100%;
    display: block;
    margin-left: 0;
    margin-right: 0;
  }
  .works .works-cont-section .other-member-block .slide {
    width: 100%;
  }
  .works .works-cont-section .other-member-block .ttl {
    font-size: 18px;
  }
  .works .works-cont-section .parallax .img.img01 {
    background-image: url(../images/about/works/sp/parallax-img01.jpg);
  }
  .works .works-cont-section .parallax .img.img02 {
    background-image: url(../images/about/works/sp/parallax-img02.jpg);
  }
  .works .works-cont-section .parallax .img.img03 {
    background-image: url(../images/about/works/sp/parallax-img03.jpg);
  }
  .works .works-cont-section .parallax .img.img04 {
    background-image: url(../images/about/works/sp/parallax-img04.jpg);
  }
  .works .works-cont-section .parallax .img.img05 {
    background-image: url(../images/about/works/sp/parallax-img05.jpg);
  }
  .works .works-cont-section .parallax .img.img06 {
    background-image: url(../images/about/works/sp/parallax-img06.jpg);
  }
  .environment-link-block {
    padding-bottom: 70px;
    padding-top: 32px;
  }
  .environment-link-block .c-bnr-list {
    padding-top: 40px;
  }
  .welfare-mv-section {
    height: 26.5vw;
  }
  .welfare-mv-section .ttl {
    font-size: 24px;
  }
  .welfare .sub-ttl {
    font-size: 18px;
  }
  .welfare .ttl-section {
    padding-top: 47px;
    padding-bottom: 48px;
  }
  .welfare .mark-box {
    padding-top: 50px;
  }
  .welfare .mark-box .txt {
    width: calc((100% - 8px) - 30%);
    border-radius: 10px;
    padding: 15px;
    font-size: 14px;
    line-height: 1.785;
  }
  .welfare .mark-box .img-box {
    width: calc((100% - 8px) - 70%);
  }
  .welfare .mark-box .img-box .sub {
    font-size: 12px;
  }
  .welfare .point-box {
    padding: 15px 20px;
  }
  .welfare .point-box .ttl {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .welfare .point-box .ttl img {
    width: 40px;
  }
  .welfare .point-box .ttl h3 {
    font-size: 16px;
  }
  .welfare .colum-box {
    -webkit-justify-content: space-around;
        -ms-flex-pack: distribute;
            justify-content: space-around;
    padding-top: 50px;
  }
  .welfare .colum-box .box {
    width: calc((100% - 20px)/2);
    padding-bottom: 35px;
    margin: 0 auto;
  }
  .welfare .colum-box .box img {
    max-width: 90px;
    margin: 0 auto;
  }
  .welfare .colum-box .box .other-ttl {
    font-size: 15px;
    line-height: 1.533;
  }
  .welfare .colum-box .box .point-txt {
    border-radius: 2px;
    padding-bottom: 0;
    margin-bottom: 10px;
  }
  .welfare .colum-box .box .txt {
    font-size: 14px;
    line-height: 1.785;
  }
  .welfare .colum-box::after {
    width: calc((100% - 20px)/2);
  }
  .welfare .system-box .system-ttl {
    font-size: 15px;
    padding: 15px;
  }
  .welfare .system-box ul {
    padding-top: 15px;
  }
  .welfare .system-section {
    padding-top: 70px;
    padding-bottom: 50px;
  }
  .welfare .system-section .childcare-area {
    padding-bottom: 95px;
  }
  .welfare .system-section .childcare-area .lead-txt {
    padding-top: 20px;
    text-align: left;
  }
  .welfare .system-section .childcare-area .comment {
    font-size: 10px;
    line-height: 2;
  }
  .recinfo .recinfo-section .inner-block {
    padding-bottom: 25px;
    padding-top: 32px;
  }
  .recinfo .sidebar-block .sidebar-list {
    padding-top: 40px;
    padding-bottom: 50px;
  }
  .recinfo .sidebar-block .sidebar-list a {
    padding: 10px 20px;
    background-color: #628ecd;
    font-size: 13px;
  }
  .recinfo .sidebar-block .sidebar-list a::after {
    background: url(../images/common/ico-arrow-bottom.svg) no-repeat center center/contain;
    content: "";
    display: block;
    width: 9px;
    height: 6px;
    position: absolute;
    bottom: 0;
    top: 0;
    right: 15px;
    margin: auto;
  }
  .recinfo .sidebar-block .sidebar-list + .ttl {
    margin-top: 30px;
  }
  .recinfo .sidebar-block .sidebar-list li + li {
    padding-top: 5px;
  }
  .recinfo .recinfo-block .ttl-area {
    margin-bottom: 25px;
  }
  .recinfo .recinfo-block .ttl-area .ttl {
    font-size: 20px;
  }
  .recinfo .recinfo-block .flow-area .flow-box {
    padding-bottom: 25px;
  }
  .recinfo .recinfo-block .flow-area .flow-box .step {
    font-size: 14px;
    min-width: 85px;
    height: 60px;
  }
  .recinfo .recinfo-block .flow-area .flow-box .txt-box {
    padding-left: 15px;
  }
  .recinfo .recinfo-block .flow-area .flow-box .txt-box .sub-ttl {
    font-size: 17px;
  }
  .recinfo .recinfo-block .flow-area .flow-box .txt-box .txt {
    font-size: 14px;
    line-height: 1.785;
  }
  .recinfo .recinfo-block .flow-area .flow-box + .flow-box:before {
    width: 18px;
  }
  .recinfo .recinfo-block .flow-area .flow-box + .flow-box:after {
    top: -5px;
    border-right: 7px solid transparent;
    border-left: 7px solid transparent;
    border-top: 11px solid #99b6df;
  }
  .recinfo .recinfo-block .flow-area .flow-box + .flow-box {
    padding-top: 32px;
  }
  .recinfo .recinfo-block .point-area {
    margin-top: 20px;
  }
  .recinfo .recinfo-block .point-area .ttl-area {
    margin-bottom: 25px;
  }
  .recinfo .recinfo-block .point-area .tbl-box th {
    font-size: 12px;
    padding: 17px 5px;
    min-width: 68px;
  }
  .recinfo .recinfo-block .point-area .tbl-box td {
    font-size: 12px;
  }
  .recinfo .recinfo-block .point-area .tbl-box td.tbl-area {
    padding: 10px 7px;
  }
  .recinfo .recinfo-block .point-area .tbl-box td.tbl-area .tbl_box02 {
    font-size: 9px;
  }
  .recinfo .recinfo-block .point-area .tbl-box td.tbl-area .tbl_box02 th {
    padding: 0 5px;
    font-size: 9px;
  }
  .recinfo .recinfo-block .point-area .tbl-box td.tbl-area .tbl_box02 td {
    font-size: 9px;
    min-width: 30px;
  }
  .recinfo .recinfo-block .point-area .tbl-box td.tbl-area .tbl_box02 td .mark {
    font-size: 7px;
    right: -10px;
    top: -4px;
  }
  .recinfo .recinfo-block .point-area .tbl-box td.tbl-area .tbl_box02 .course-ttl {
    font-size: 9px;
    padding: 0 5px;
  }
  .recinfo .recinfo-block .point-area .tbl-box td.tbl-area .tbl_box02 .job-ttl {
    font-size: 9px;
    padding-top: 1px;
  }
  .recinfo .recinfo-block .point-area .tbl-box td.tbl-area .tbl_box02 .job-sub-ttl {
    padding: 0 5px;
    font-size: 9px;
    padding-top: 3px;
  }
  .recinfo .recinfo-block .point-area .tbl-box td.tbl-area .tbl_box02 .subject-ttl {
    padding-top: 1px;
  }
  .recinfo .recinfo-block .occupation-area {
    margin-top: 45px;
  }
  .recinfo .recinfo-block .occupation-area .ttl-area {
    margin-bottom: 15px;
  }
  .recinfo .recinfo-block .occupation-area .job-ttl {
    font-size: 18px;
    margin-bottom: 30px;
  }
  .recinfo .recinfo-block .occupation-area .box + .box {
    padding-top: 30px;
  }
  .recinfo .recinfo-block .occupation-area .job-box + .job-box {
    padding-top: 55px;
  }
  .recinfo .c-bnr-column-list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .recinfo .c-bnr-column-list li {
    width: 100%;
  }
  .recinfo .c-bnr-column-list li + * {
    margin-top: 20px;
  }
  .recinfo .link-wrap {
    margin-top: 8px;
    padding: 40px 40px 30px;
  }
  .recinfo .link-wrap > .ttl {
    font-size: 15px;
    margin-bottom: 40px;
  }
  .recinfo .link-wrap .c-member-box {
    width: 100%;
  }
  .recinfo .link-wrap .c-member-box + .c-member-box {
    margin-top: 30px;
  }
  .careerup-lead-section {
    padding: 35px 0 60px;
  }
  .careerup-lead-section .lead-ttl {
    font-size: 18px;
    letter-spacing: 0.09em;
    line-height: 1.7;
    margin-bottom: 15px;
  }
  .careerup-lead-section .lead-txt {
    font-size: 14px;
    line-height: 1.785;
  }
  .careerup-lead-section .anchor-wrap {
    margin: 50px auto 0;
    max-width: 500px;
  }
  .careerup-lead-section .anchor-wrap .box:nth-child(3) a {
    padding: 22px;
  }
  .careerup-lead-section .anchor-wrap .box + .box {
    margin-top: 20px;
  }
  .careerup-lead-section .anchor-wrap .box .txt-area {
    padding: 40px 35px 30px;
  }
  .careerup-lead-section .anchor-wrap .box .ttl {
    font-size: 16px;
  }
  .careerup-lead-section .anchor-wrap .box .detail {
    font-size: 11px;
    margin-top: 15px;
  }
  .careerup-lead-section .anchor-wrap .box .txt {
    font-size: 14px;
    line-height: 1.785;
  }
  .careerup-lead-section .anchor-wrap .box .ico {
    width: 18px;
    height: 18px;
  }
  .careerup-lead-section .anchor-wrap .box .ico::before {
    width: 10px;
    height: 8px;
    top: 1px;
  }
  .careerup-cont-section {
    padding: 60px 0 40px;
  }
  .careerup-cont-section .inn {
    padding: 40px 20px 30px;
  }
  .careerup-cont-section .inn .ttl {
    font-size: 16px;
  }
  .careerup-cont-section .inn .ttl::before {
    height: 58px;
    bottom: calc(100% + 10px);
  }
  .careerup-cont-section .lead-wrap .box .txt-area {
    padding: 65px 20px 40px;
  }
  .careerup-cont-section .lead-wrap .box .detail-ttl {
    margin-bottom: 20px;
    padding: 35px 10px 15px;
  }
  .careerup-cont-section .lead-wrap .box .detail-ttl .ttl-txt {
    font-size: 15px;
  }
  .careerup-cont-section .lead-wrap .box .detail-ttl .ico {
    bottom: 50px;
  }
  .careerup-cont-section .lead-wrap .box .detail-ttl .ico img {
    max-height: 60px;
  }
  .careerup-cont-section .lead-wrap .box .lead-txt {
    font-size: 16px;
    line-height: 1.57;
  }
  .careerup-cont-section .lead-wrap .box .txt {
    margin-top: 10px;
  }
  .careerup-cont-section .cont-wrap {
    padding-top: 30px;
  }
  .careerup-cont-section .cont-wrap .cont {
    padding: 20px 34px 35px;
  }
  .careerup-cont-section .cont-wrap .ico-area .ico img {
    max-width: 75px;
    max-height: 60px;
  }
  .careerup-cont-section .cont-wrap .ico-area .txt {
    font-size: 18px;
  }
  .careerup-cont-section .cont-wrap .cont-ttl {
    font-size: 15px;
    margin: 15px auto;
  }
  .careerup-cont-section .cont-wrap .box-area {
    margin-top: 90px;
  }
  .careerup-cont-section .cont-wrap .box-area .box + .box::before {
    top: -85px;
    height: 22px;
    right: 0;
    left: 0;
  }
  .careerup-cont-section .cont-wrap .box-area .box + .box {
    margin-top: 85px;
  }
  .careerup-cont-section .cont-wrap .box-area .circle {
    padding-top: 23px;
    width: 84px;
    height: 84px;
    bottom: calc(100% - 20px);
  }
  .careerup-cont-section .cont-wrap .box-area .circle .num {
    font-size: 20px;
  }
  .careerup-cont-section .cont-wrap .box-area .circle .unit {
    font-size: 15px;
  }
  .careerup-cont-section .cont-wrap .box-area .top {
    padding-top: 50px;
  }
  .careerup-cont-section .cont-wrap .box-area .bottom {
    min-height: 90px;
  }
  .careerup-cont-section .cont-wrap .box-area .position {
    font-size: 17px;
  }
  .careerup-cont-section .cont-wrap .box-area .ttl {
    font-size: 14px;
  }
  .careerup-cont-section .cont-wrap .box-area .txt {
    font-size: 13px;
  }
  .careerup-cont-section .cont-wrap .box-area .txt.space {
    padding-top: 10px;
  }
  .careerup-cont-section .cont-wrap .box-area + .cont-ttl {
    margin-top: 50px;
  }
  #human.careerup-cont-section .lead-wrap .box .txt-area {
    padding: 35px 20px 35px;
  }
  .challenge-mv-section {
    height: calc((var(--vh, 1vh) * 100) - 50px);
  }
  .challenge-mv-section .ttl-wrap {
    max-width: 265px;
    padding: 30px 20px;
  }
  .challenge-mv-section .ttl-wrap .ttl {
    font-size: 20px;
  }
  .challenge-mv-section .ttl-wrap .lead-txt {
    font-size: 12px;
  }
  .challenge-cont-section {
    margin-top: 8px;
    padding-top: 240px;
    padding-bottom: 50px;
  }
  .challenge-cont-section .ttl-wrap .head {
    font-size: 12px;
    margin-bottom: 8px;
    padding: 5px 10px;
  }
  .challenge-cont-section .ttl-wrap .head .num {
    padding-right: 1em;
  }
  .challenge-cont-section .ttl-wrap .main-ttl .inn,
.challenge-cont-section .ttl-wrap .sub-ttl .inn {
    padding: 5px 10px;
  }
  .challenge-cont-section .ttl-wrap .main-ttl {
    font-size: 20px;
  }
  .challenge-cont-section .ttl-wrap .sub-ttl {
    font-size: 14px;
    margin-top: 5px;
  }
  .challenge-cont-section .box {
    margin-top: 8px;
    padding: 25px 15px 20px;
  }
  .challenge-cont-section .box .txt-area .ttl {
    font-size: 16px;
    margin-bottom: 10px;
  }
  .challenge-cont-section .box .txt-area .txt {
    font-size: 14px;
    line-height: 1.785;
  }
  .challenge-cont-section .box .img-area {
    margin-top: 25px;
  }
  .challenge-cont-section .box .img-area .txt {
    font-size: 12px;
  }
  .challenge-cont-section .link-wrap {
    margin-top: 8px;
    padding: 40px 40px 30px;
  }
  .challenge-cont-section .link-wrap > .ttl {
    font-size: 15px;
    margin-bottom: 40px;
  }
  .challenge-cont-section .link-wrap .c-member-box {
    width: 100%;
  }
  .challenge-cont-section .link-wrap .c-member-box + .c-member-box {
    margin-top: 30px;
  }
  .challenge-cont-section .parallax .img.img01 {
    background-image: url(../images/challenge/parallax-img01-sp.jpg);
  }
  .challenge-cont-section .parallax .img.img02 {
    background-image: url(../images/challenge/parallax-img02-sp.jpg);
  }
  .challenge-cont-section .parallax .img.img03 {
    background-image: url(../images/challenge/parallax-img03-sp.jpg);
  }
  .technical .greet-box {
    padding: 25px 23px 55px;
  }
  .technical .greet-box .img {
    width: 72.4vw;
    margin-top: -5.6vw;
  }
  .technical .greet-box .txt-box {
    position: relative;
    margin-left: 15px;
    width: 100%;
    padding-left: 20px;
    height: auto;
    padding: 14px 20px 35px;
    border-radius: 6px;
  }
  .technical .greet-box .txt-area .ttl {
    font-size: 18px;
    letter-spacing: -0.025em;
    line-height: calc(70/36);
  }
  .technical .greet-box .txt-area .txt {
    margin-top: 15px;
    font-size: 10px;
    line-height: calc(43/20);
  }
  .technical .content-box {
    padding-top: 38px;
    padding-bottom: 28px;
  }
  .technical .content-box::before {
    height: 85px;
  }
  .technical .content-box .label {
    font-size: 11px;
    top: -15px;
  }
  .technical .content-box .inner-block {
    margin-top: 40px;
  }
  .technical .content-box .content-ttl {
    font-size: 15px;
  }
  .technical .content-box .lead-txt {
    font-size: 10px;
    line-height: calc(43/20);
  }
  .technical .recruit-content .content-box {
    padding-bottom: 42px;
  }
  .technical .stepup-content .content-box {
    padding-bottom: 35px;
  }
  .technical .content + .content {
    margin-top: 73px;
  }
  .technical .content-box02 + .content-box02 {
    margin-top: 60px;
  }
  .technical .content-box02 .item-box {
    padding-top: 50px;
    padding-bottom: 62px;
  }
  .technical .content-box02 .icon-box {
    width: 79.2vw;
    height: 27.6vw;
    top: -5.6vw;
  }
  .technical .content-box02 .label-box {
    width: 22.4vw;
    height: 22.4vw;
  }
  .technical .content-box02 .item-ttl {
    font-size: 18px;
    margin-top: 15px;
  }
  .technical .content-box02 .lead {
    font-size: 10px;
    line-height: calc(43/20);
    margin-top: 15px;
  }
  .technical .content-box02 .banner-box {
    margin: 40px auto 0;
    width: calc(100% - 40px);
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
  .technical .content-box02 .banner-box .img + .img {
    margin-left: 32px;
  }
  .technical .content-box03 {
    width: calc(100% - 40px);
    margin: auto;
  }
  .technical .content-box03 .note {
    font-size: 10px;
  }
  .technical .content-box03 .ttl-box .ttl {
    font-size: 13px;
  }
  .technical .content-box03 + .content-box03 {
    margin-top: 48px;
  }
  .technical .ttl-box .label-box {
    width: 15.6vw;
    height: 15.6vw;
  }
  .technical .ttl-box .ttl {
    margin-left: 5px;
  }
  .technical .job-group {
    margin: 16px auto 0;
    width: calc(100% - 34px);
  }
  .technical .job-item {
    width: 50%;
    text-align: center;
  }
  .technical .job-item .img {
    width: 26.5333333333vw;
    height: 26.5333333333vw;
  }
  .technical .job-item .item-txt {
    font-size: 12px;
  }
  .technical .job-item .item-txt .small {
    font-size: 11px;
  }
  .technical .job-box {
    margin-top: 22px;
  }
  .technical .job-box .slider-box .slider-txt {
    font-size: 18px;
    left: 10px;
    bottom: 28px;
  }
  .technical .job-box .swiper-pagination {
    bottom: 3px;
    left: 10px;
    right: auto;
  }
  .technical .job-box .swiper-pagination .swiper-pagination-bullet {
    width: 6.6666666667vw;
    height: 1.0666666667vw;
  }
  .technical .job-box .swiper-button-next {
    right: 20px;
  }
  .technical .job-box .swiper-button-next::after {
    height: 14.1333333333vw;
    width: 2.6666666667vw;
  }
  .technical .job-box .swiper-button-prev {
    left: 20px;
  }
  .technical .job-box .swiper-button-prev::after {
    height: 14.1333333333vw;
    width: 2.6666666667vw;
  }
  .technical .job-box + .job-box {
    margin-top: 33px;
  }
  .technical .job-box .ttl-box .ttl {
    margin-left: 14px;
    font-size: 15px;
  }
  .technical .job-box .label-box {
    width: 18.6666666667vw;
    height: 18.6666666667vw;
  }
  .technical .job-box .content-box04::before {
    top: calc(29px + 15.2vw);
  }
  .technical .job-box .txt-box {
    padding: 29px 0 25px 11px;
  }
  .technical .job-box .txt-box::before {
    top: calc(29px + 15.2vw);
  }
  .technical .job-box .lead-box {
    margin-top: 25px;
  }
  .technical .job-box .lead-box .txt {
    font-size: 10px;
    line-height: calc(43/20);
  }
  .technical .job-box .lead-ttl {
    font-size: 15px;
    letter-spacing: 0.08em;
  }
  .technical .job-box .department-box {
    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
  }
  .technical .job-box .department-tll {
    width: 70px;
    height: auto;
    font-size: 10px;
  }
  .technical .job-box .department-txt {
    line-height: calc(31/20);
    font-size: 10px;
  }
  .technical .job-box .interview-box {
    padding-right: 16px;
    margin-top: 35px;
  }
  .technical .job-box .interview-box .item {
    width: calc(388 / 543 * 100%);
    margin-left: auto;
  }
  .technical .job-box .interview-box .item + .item {
    margin-top: 22px;
  }
  .technical .job-box .interview-box .label {
    font-size: 10px;
    padding: 10px 15px;
  }
  .technical .job-box .interview-box .year {
    font-size: 10px;
    margin-top: 10px;
    line-height: calc(28/18);
  }
  .technical .job-box .interview-box .name {
    font-size: 12px;
  }
  .technical .job-box.product .txt-box {
    margin-left: 18px;
  }
  .technical .job-box.product .lead-box {
    padding-left: 15px;
  }
  .technical .job-box.supply .ttl-box {
    margin-left: -11px;
  }
  .technical .job-box.supply .txt-box {
    margin-right: 18px;
  }
  .technical .job-box.supply .lead-box {
    padding-left: 0;
    padding-right: 15px;
  }
  .technical .step-box {
    padding-bottom: 40px;
  }
  .technical .step-list .step-item {
    margin-top: 23px;
  }
  .technical .step-list .step-item + .step-item {
    margin-top: 25px;
  }
  .technical .step-list .item-ttl {
    font-size: 12px;
  }
  .technical .step-list .item-txt {
    margin-top: 10px;
    font-size: 10px;
    line-height: calc(43/20);
  }
  .technical .step-list .year {
    font-size: 13px;
  }
  .technical .step-list .txt-box {
    padding: 22px 16px 17px;
  }
  .technical .step-list .txt-box.txt-box01 {
    width: calc(100% - 20vw);
  }
  .technical .step-list .txt-box.txt-box02 {
    width: calc(100% - 10vw);
  }
  .technical .saiyo-other-section {
    padding-top: 50px;
  }
  .technical-person.person03 .mv-block .bg-img img {
    -o-object-position: -65px center;
       object-position: -65px center;
  }
  .technical-person.person04 .mv-block .bg-img img {
    -o-object-position: top right;
       object-position: top right;
  }
  .technical-person .mv-block .inner-block {
    padding-bottom: 40px;
  }
  .technical-person .mv-block .bg-img {
    height: 106.6666666667vw;
  }
  .technical-person .mv-block .inn {
    padding: 37px 10px 30px 25px;
  }
  .technical-person .mv-block .txt-box {
    max-width: 241px;
    margin-top: -103px;
  }
  .technical-person .mv-block .txt-box .department {
    font-size: 10px;
    padding: 6px 17.5px;
  }
  .technical-person .mv-block .txt-box .ttl {
    font-size: 17px;
  }
  .technical-person .mv-block .txt-box .entry,
.technical-person .mv-block .txt-box .graduation {
    font-size: 10px;
    margin-top: 15px;
  }
  .technical-person .mv-block .txt-box .name {
    font-size: 12px;
    margin-top: 7px;
  }
  .technical-person .mv-block .txt-box .annotation {
    font-size: 10px;
  }
  .technical-person .txt-contents-block .main-area + .main-area {
    margin-top: 40px;
  }
  .technical-person .txt-contents-block .box {
    padding: 15px 15px 140px;
  }
  .technical-person .txt-contents-block .box.some-wraps {
    padding: 40px 15px;
  }
  .technical-person .txt-contents-block .box.box-vision {
    padding-bottom: 30px;
    margin-bottom: 40px;
  }
  .technical-person .txt-contents-block .box .wrap + .wrap {
    margin-top: 10px;
  }
  .technical-person .txt-contents-block .tag {
    font-size: 12px;
    padding: 2px 1px 2px 7px;
  }
  .technical-person .txt-contents-block .tag.small {
    letter-spacing: 0.3em;
  }
  .technical-person .txt-contents-block .icon {
    width: 68px;
    height: 68px;
    padding: 15px;
    margin-left: 15px;
  }
  .technical-person .txt-contents-block .ttl {
    font-size: 23px;
    letter-spacing: 0.15em;
    margin-top: 8px;
  }
  .technical-person .txt-contents-block .txt {
    margin-top: 15px;
    font-size: 12px;
    line-height: 1.7;
  }
  .technical-person .txt-contents-block .img.side-right {
    margin-top: -122px;
    margin-bottom: 45px;
  }
  .technical-person .txt-contents-block .img.side-right img {
    width: 85.6vw;
  }
  .technical-person .message-section {
    padding-bottom: 70px;
  }
  .technical-person .message-section .schedule-box .sub-ttl {
    font-size: 11px;
    font-weight: bold;
    margin-bottom: 20px;
    letter-spacing: 0.05em;
  }
  .technical-person .message-section .nikotai-box {
    padding: 15px;
    margin-top: 50px;
  }
  .technical-person .message-section .nikotai-box .img-area {
    margin-bottom: 25px;
  }
  .technical-person .message-section .nikotai-box .img-area .icon {
    max-width: 64px;
    margin-bottom: 15px;
  }
  .technical-person .message-section .nikotai-box .img-area .ttl {
    font-size: 15px;
  }
  .technical-person .message-section .nikotai-box .txt-area .txt {
    font-size: 11px;
    line-height: 1.7;
  }
  .technical-person .message-section .private-box {
    margin-top: 20px;
  }
  .technical-person .message-section .private-box .txt-box {
    padding: 40px 20px 90px;
  }
  .technical-person .message-section .private-box .box-ttl {
    font-size: 14px;
  }
  .technical-person .message-section .private-box .heading-ttl {
    font-size: 15px;
    margin-top: 10px;
  }
  .technical-person .message-section .private-box .txt {
    margin-top: 10px;
    font-size: 12px;
    line-height: 1.7;
  }
  .technical-person .message-section .private-box .img {
    -webkit-transform: rotate(-8deg);
            transform: rotate(-8deg);
  }
  .technical-person .message-section .private-box .img img {
    width: min(60vw, 455px);
    height: min(45.3333333333vw, 340px);
  }
  .technical-person .technical-staff-block .inner-block {
    padding-top: 45px;
    padding-bottom: 45px;
  }
  .technical-person .technical-staff-block .ttl {
    font-size: 13px;
  }
  .technical-person .technical-staff-block .staff-list {
    grid-template-columns: 1fr 1fr;
    grid-gap: 10px;
    margin-top: 20px;
  }
  .technical-person .technical-staff-block .department {
    font-size: 10px;
    padding: 3px 9px;
  }
  .technical-person .technical-staff-block .entry {
    font-size: 10px;
    margin-top: 7px;
  }
  .technical-person .technical-staff-block .name {
    font-size: 10px;
    margin-top: 1px;
  }
}

@media only screen and (min-width: 768px) {
  .inner-block {
    margin: 0 auto;
  }
  .sp {
    display: none !important;
  }

  a[href^="tel:"] {
    pointer-events: none;
  }

  a,
a::before,
a::after,
button,
button::before,
button::after {
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  .nav-breadcrumb-wrap.core-site-content {
    background: #fff;
    position: relative;
    z-index: 1;
  }
  .nav-breadcrumb-wrap.core-site-content .wrp-contents {
    max-width: 1120px;
    width: 100%;
    margin: 0 auto;
    padding: 0 20px;
  }
  .nav-breadcrumb-wrap.core-site-content .nav-breadcrumb {
    margin-top: 0;
    padding-top: 90px;
  }
  .c-header .inner-block {
    padding-right: 0;
  }
  .c-header .logo-link:hover {
    opacity: 0.7;
  }
  .c-header .btn-wrap {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-left: auto;
  }
  .c-header .btn-wrap .btn.mr {
    margin-right: 10px;
  }
  .c-header .btn-wrap .btn.mr-l {
    margin-right: 35px;
  }
  .c-header .btn-wrap .btn + .btn {
    margin-left: 2px;
  }
  .c-header .btn-wrap .btn + .js-kosen-target {
    margin-left: 2px;
  }
  .c-header .btn-wrap .btn.entry:hover {
    background: #5461d6;
  }
  .c-header .btn-wrap .btn.mypage:hover {
    background: #1f78c0;
  }
  .c-header .btn-wrap .btn.internship:hover {
    background: #563ba3;
  }
  .c-header .btn-wrap .btn.technical:hover {
    background: #2b9900;
  }
  .c-header .btn-wrap .btn.kouko:hover {
    background: #589b00;
  }
  .c-header .btn-wrap .btn.kosen:hover {
    background: #007738;
  }
  .c-header .btn-wrap .btn.tyuto:hover {
    background: #004d29;
  }
  .c-header .btn-wrap .js-kosen-target,
.c-header .btn-wrap .js-kosen-target-sp {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    text-align: left;
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    width: 625px;
    opacity: 0;
    pointer-events: none;
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  .c-header .btn-wrap.column .btn.entry:hover {
    color: #6993f8;
    background: #fff;
  }
  .c-header .btn-wrap.column .btn.tyuto:hover {
    color: #006937;
    background: #fff;
  }
  .c-header.is-open .logo-txt {
    color: #fff;
  }
  .c-header.is-open .logo-txt .blue {
    color: #fff;
  }
  .c-header.is-open .btn-wrap:not(.column) .btn {
    background: #fff;
  }
  .c-header.is-open .btn-wrap:not(.column) .btn.entry {
    color: #6993F8;
  }
  .c-header.is-open .btn-wrap:not(.column) .btn.mypage {
    color: #29ABE2;
  }
  .c-header.is-open .btn-wrap:not(.column) .btn.internship {
    color: #5652CC;
  }
  .c-header.is-open .btn-wrap:not(.column) .btn.technical {
    color: #6BBC00;
  }
  .c-header.is-open .btn-wrap:not(.column) .btn.kouko {
    color: #6BBC00;
  }
  .c-header.is-open .btn-wrap:not(.column) .btn.kosen {
    color: #009245;
  }
  .c-header.is-open .btn-wrap:not(.column) .btn.tyuto {
    color: #006837;
  }
  .c-header.is-open.technical-header .header-area {
    height: 100px;
  }
  .c-menu-btn.is-open .line {
    background: #fff;
  }
  .c-menu .cont-area {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    max-width: 960px;
    margin: auto;
  }
  .c-menu .cont-area.wide {
    max-width: 1200px;
  }
  .c-menu .cont-area.wide .cont:nth-child(1) {
    width: 30%;
  }
  .c-menu .cont-area.wide .cont:nth-child(2) {
    width: calc(100% - 30%);
  }
  .c-menu .cont-area.wide02 {
    max-width: 1280px;
  }
  .c-menu .cont-area.wide02 .cont:nth-child(1) {
    width: 22%;
  }
  .c-menu .cont-area.wide02 .cont:nth-child(2) {
    width: calc(100% - 22%);
  }
  .c-menu .cont:nth-child(2) {
    width: calc(100% - 170px);
  }
  .c-menu .cont .btn:hover {
    color: #0000BE;
  }
  .c-menu .cont .sub-link-list li.wide {
    min-width: auto;
    width: calc(100% / 4);
  }
  .c-menu .cont .sub-link-list li.wide:nth-child(4) {
    margin-top: 0;
  }
  .c-menu .cont .sub-link-list li {
    min-width: calc(100% / 3);
  }
  .c-menu .cont .sub-link-list li:nth-child(n+4) {
    margin-top: 30px;
  }
  .c-menu .cont .btn-wrap {
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    margin-top: 65px;
  }
  .c-menu .recruit-btn:hover {
    background: #fff;
    color: rgba(0, 150, 194, 0.96);
  }
  .project-link-block .link-area .box {
    width: calc((100% - 90px)/3);
  }
  .project-link-block .link-area .box:hover .img img {
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
    opacity: 0.8;
  }
  .project-link-block .link-area .box.talk .overlap-area .text-area {
    padding: 65px 0px 0 40px;
  }
  .c-member-box {
    width: calc((100% - 104px)/4);
  }
  .c-member-box:hover .img img {
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
    opacity: 0.8;
  }
  .other-member-block .card-box .swiper-button-prev:hover, .other-member-block .card-box .swiper-button-next:hover {
    background-color: #fff;
  }
  .other-member-block .card-box .swiper-button-prev:hover::after, .other-member-block .card-box .swiper-button-prev:hover::before, .other-member-block .card-box .swiper-button-next:hover::after, .other-member-block .card-box .swiper-button-next:hover::before {
    color: #0096C2;
  }
  .c-article-mv-section .c-mv-txt,
.c-article-content-wrap .c-mv-txt {
    padding-bottom: 40px;
  }
  .c-article-mv-section + .c-article-content-wrap {
    margin-top: -125px;
  }
  .c-bnr-list .link-area:hover .img img,
.c-bnr-column-list .link-area:hover .img img {
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
    opacity: 0.8;
  }
  .c-bnr-list li + li {
    margin-top: 55px;
  }
  .c-bnr-column-list li .link-area .txt-area .ttl {
    font-size: 18px;
  }
  .c-bnr-column-list.sp-vertical li .link-area .bnr .img {
    padding-top: 65.5%;
  }
  .home-mv-section .news-cont .news-list li a:hover {
    text-decoration: none;
  }
  .home-special-section .js-search-wrap .search-wrap {
    background: #edfaff;
    border-radius: 20px;
    max-width: calc(100% - 70px);
    margin: 0 auto 120px;
    padding: 50px 55px;
    position: relative;
  }
  .home-special-section .js-search-wrap .search-wrap .ttl-area {
    margin: 0 0 70px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
        -ms-flex-align: end;
            align-items: flex-end;
  }
  .home-special-section .js-search-wrap .search-wrap .ttl-area .ttl {
    color: #0000be;
    font-family: "Oswald", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, sans-serif;
    font-size: 33px;
    letter-spacing: 0.15em;
    line-height: 1.2;
    margin-right: 30px;
  }
  .home-special-section .js-search-wrap .search-wrap .ttl-area .txt {
    font-size: 18px;
    letter-spacing: 0.08em;
  }
  .home-special-section .js-search-wrap .search-area .c-category-cont .c-category-list .btn:not(.is-active):hover .btn-txt {
    color: #0000BE;
  }
  .home-special-section .js-search-wrap .article-list-area .box {
    width: calc((100% - 104px)/4);
  }
  .home-special-section .js-search-wrap .article-list-area .box:hover .img img {
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
    opacity: 0.8;
  }
  .home-btn-section .inner-block {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .home-btn-section .btn {
    width: calc((100% - 35px)/2);
  }
  .home-btn-section .btn:nth-child(even) {
    margin-left: 35px;
  }
  .home-btn-section .btn:nth-child(n+3) {
    margin-top: 70px;
  }
  .home-btn-section .btn:hover .ttl {
    background: #0000BE;
  }
  .c-cta-section .btn-wrap {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .c-cta-section .btn {
    width: calc((100% - 54px)/3);
  }
  .c-cta-section .btn.entry:hover {
    background: #4e7ae0;
  }
  .c-cta-section .btn + .btn {
    margin-left: 27px;
  }
  .c-saiyo-link-card:hover img {
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
    opacity: 0.8;
  }
  .saiyo-other-section .c-saiyo-link-card.wide .c-link-btn {
    margin: 15px auto;
    max-width: 730px;
  }
  .saiyo .saiyo-other-section {
    padding-bottom: 60px;
  }
  .saiyo .saiyo-other-section .bg-ttl {
    max-width: 80%;
    font-size: 30px;
  }
  .university-lead-section .careerup-lead-section .anchor-wrap .box .txt-area {
    min-height: 330px;
  }
  .project .person-block .person-area .introduction-box {
    padding-left: 45px;
  }
  .project .person-block .person-area .introduction-box .name {
    padding-bottom: 10px;
  }
  .project .story-section .story-box + .story-box {
    padding-top: 240px;
  }
  .project .story-section .number {
    top: -42px;
    left: -100px;
  }
  .project .story-section .story-center-area .text-area {
    padding: 0 100px;
    padding-bottom: 20px;
    margin-top: -12%;
  }
  .project .story-section .img-text-area img {
    width: 53%;
  }
  .project .story-section .img-text-area .txt {
    width: 47%;
    padding-left: 85px;
    padding-bottom: 100px;
  }
  .project .story-section .story-overlap-box .text-area {
    max-width: 600px;
  }
  .project .story-section .story-overlap-box {
    text-align: right;
  }
  .project .story-section .story-overlap-box img {
    width: 72%;
  }
  .project .story-section .story-overlap-box .text-area {
    text-align: left;
    bottom: 0;
    padding-right: 60px;
    padding-bottom: 75px;
    margin-top: -382px;
  }
  .project .story-section .story-overlap-box + .img-text-area {
    padding-top: 100px;
  }
  .job .inner-block {
    max-width: 1060px;
  }
  .job .mv-section {
    padding: 0 30px;
  }
  .job .mv-section .mv-img {
    width: calc(100% - 10%);
  }
  .job .mv-section .introduction-area {
    max-width: 518px;
  }
  .job .interview-section .style-box .ttl {
    min-width: 330px;
  }
  .job .message-section .oneday-box .box-wrap {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 1100px;
  }
  .job .message-section .oneday-box .box-wrap .last-box {
    padding-bottom: 0;
  }
  .job .message-section .oneday-box .box-wrap .last-box::after {
    content: none;
  }
  .job .message-section .oneday-box .schedule_caution {
    margin-top: 20px;
  }
  .job .message-section .oneday-box .schedule_caution .pc-ib {
    display: inline-block;
  }
  .talk-session .lead-section .person-area .box .post {
    min-height: 90px;
  }
  .talk-session .talk-section .talk-box .img-area img {
    width: 41.85%;
  }
  .jobcategory-anchor-block .list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
  .jobcategory-anchor-block .list li {
    width: calc((100% - 56px)/2);
  }
  .jobcategory-anchor-block .list li:not(:nth-child(2n+1)) {
    margin-left: 56px;
  }
  .jobcategory-anchor-block .list li:nth-child(n+3) {
    margin-top: 30px;
  }
  .jobcategory-anchor-block .list li a {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .works .c-article-mv-section {
    max-height: 400px;
  }
  .works .jobcategory-anchor-block {
    padding: 98px 0 75px;
  }
  .works .works-cont-section .ttl-wrap .head {
    width: 390px;
  }
  .works .works-cont-section .link-btn.colum {
    max-width: 480px;
  }
  .works .works-cont-section .other-member-block .card-box {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
  .environment-link-block {
    padding-bottom: 195px;
  }
  .environment-link-block .c-bnr-list {
    padding-bottom: 122px;
  }
  .welfare .colum-box .box .img {
    max-width: 80%;
    margin: auto;
  }
  .welfare .colum-box .box .other-ttl, .welfare .colum-box .box .txt {
    width: 80%;
  }
  .welfare .colum-box .box .txt {
    margin: auto;
  }
  .welfare .system-box {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .welfare .system-box ul {
    padding-left: 20px;
  }
  .recinfo .recinfo-section {
    background-color: #e1eaf6;
  }
  .recinfo .recinfo-section .inner-block {
    margin-top: -125px;
    padding-bottom: 195px;
  }
  .recinfo .sidebar-block {
    background-color: #628ecd;
  }
  .recinfo .sidebar-block {
    position: -webkit-sticky;
    position: sticky;
    top: 180px;
    -webkit-align-self: flex-start;
        -ms-flex-item-align: start;
            align-self: flex-start;
  }
  .recinfo .sidebar-block .sidebar-list {
    width: 240px;
  }
  .recinfo .sidebar-block .sidebar-list a::before {
    content: "";
    position: absolute;
    background-color: #fff;
    width: 5px;
    height: 1px;
    left: 37px;
    top: 0;
    bottom: 0;
    margin: auto;
  }
  .recinfo .sidebar-block .sidebar-list a:hover::before {
    left: 25px;
  }
  .recinfo .sidebar-block.award .sidebar-list a {
    padding: 16px 15px 16px 55px;
  }
  .recinfo .recinfo-block {
    width: calc(100% - 250px);
  }
  .recinfo .recinfo-block .flow-area, .recinfo .recinfo-block .point-area, .recinfo .recinfo-block .occupation-area {
    background-color: #fff;
    padding: 72px 100px;
  }
  .recinfo .recinfo-block .flow-area .flow-box {
    padding: 60px 0;
  }
  .recinfo .recinfo-block .point-area .tbl-box th {
    min-width: 130px;
  }
  .recinfo .column-container-block {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .recinfo .link-wrap .inn {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .recinfo .link-wrap .c-member-box {
    width: calc((100% - 50px)/3);
  }
  .recinfo .link-wrap .c-member-box:not(:nth-child(3n+1)) {
    margin-left: 25px;
  }
  .careerup-lead-section .lead-ttl {
    letter-spacing: 0.05em;
  }
  .careerup-lead-section .anchor-wrap {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .careerup-lead-section .anchor-wrap .box:nth-child(1), .careerup-lead-section .anchor-wrap .box:nth-child(2) {
    width: calc((100% - 80px)/2);
  }
  .careerup-lead-section .anchor-wrap .box:nth-child(1) a:hover .ttl,
.careerup-lead-section .anchor-wrap .box:nth-child(1) a:hover .detail,
.careerup-lead-section .anchor-wrap .box:nth-child(1) a:hover .txt {
    color: #3674ba;
  }
  .careerup-lead-section .anchor-wrap .box:nth-child(2) {
    margin-left: 80px;
  }
  .careerup-lead-section .anchor-wrap .box:nth-child(2) a:hover .ttl,
.careerup-lead-section .anchor-wrap .box:nth-child(2) a:hover .detail,
.careerup-lead-section .anchor-wrap .box:nth-child(2) a:hover .txt {
    color: #4552a2;
  }
  .careerup-lead-section .anchor-wrap .box:nth-child(3) {
    margin-top: 85px;
    max-width: 610px;
  }
  .careerup-lead-section .anchor-wrap .box:nth-child(3) a:hover {
    background: #fff;
  }
  .careerup-lead-section .anchor-wrap .box:nth-child(3) a:hover .ttl {
    color: #60acbd;
  }
  .careerup-lead-section .anchor-wrap .box a:hover .txt-area {
    background: #fff;
  }
  .careerup-lead-section .anchor-wrap .box .txt-area {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    min-height: 284px;
  }
  .careerup-cont-section .lead-wrap {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    padding-bottom: 40px;
  }
  .careerup-cont-section .lead-wrap .box {
    width: 50%;
  }
  .careerup-cont-section .lead-wrap .box:nth-child(odd) .txt-area {
    padding-right: 65px;
  }
  .careerup-cont-section .lead-wrap .box:nth-child(even) .txt-area {
    padding-left: 65px;
  }
  .careerup-cont-section .cont-wrap .box-area {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .careerup-cont-section .cont-wrap .box-area .top {
    min-height: 115px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .careerup-cont-section .cont-wrap .box-area .top.pt30 {
    padding-top: 30px;
  }
  .careerup-cont-section .cont-wrap .box-area.column3 .box {
    width: calc((100% - 80px)/3);
  }
  .careerup-cont-section .cont-wrap .box-area.column3 .box + .box {
    margin-left: 40px;
  }
  .careerup-cont-section .cont-wrap .box-area.column3 .box + .box::before {
    height: 62px;
    left: -21px;
    top: 108px;
    margin: auto;
    -webkit-transform: rotate(37deg);
            transform: rotate(37deg);
  }
  .careerup-cont-section .cont-wrap .box-area.column3 .box:nth-child(1) {
    margin-top: 50px;
  }
  .careerup-cont-section .cont-wrap .box-area.column3 .box:nth-child(3) {
    margin-top: -50px;
  }
  .careerup-cont-section .cont-wrap .box-area.column2 .box {
    width: calc((100% - 70px)/2);
  }
  .careerup-cont-section .cont-wrap .box-area.column2 .box + .box {
    margin-left: 70px;
  }
  .careerup-cont-section .cont-wrap .box-area.column2 .box + .box::before {
    height: 114px;
    left: -36px;
    top: 76px;
    margin: auto;
    -webkit-transform: rotate(37deg);
            transform: rotate(37deg);
  }
  .careerup-cont-section .cont-wrap .box-area.column2 .box:nth-child(1) {
    margin-top: 40px;
  }
  .careerup-cont-section .cont-wrap .box-area.column2 .box:nth-child(2) {
    margin-top: -50px;
  }
  .challenge-cont-section .ttl-wrap {
    margin-bottom: 30px;
  }
  .challenge-cont-section .box {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .challenge-cont-section .box .txt-area {
    width: 51%;
  }
  .challenge-cont-section .box .img-area {
    width: 36.5%;
  }
  .challenge-cont-section .box.no-colum {
    display: inline-block;
  }
  .challenge-cont-section .box.no-colum .txt-area, .challenge-cont-section .box.no-colum .img-area {
    width: 100%;
  }
  .challenge-cont-section .box.no-colum .img-area {
    padding-top: 30px;
  }
  .challenge-cont-section .link-wrap .inn {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .challenge-cont-section .link-wrap .c-member-box {
    width: calc((100% - 50px)/3);
  }
  .challenge-cont-section .link-wrap .c-member-box:not(:nth-child(3n+1)) {
    margin-left: 25px;
  }
  .technical .greet-box {
    margin-top: 100px;
  }
  .technical .greet-box .txt-box {
    position: absolute;
    top: 0;
    right: 7.5vw;
    min-width: 700px;
  }
  .technical .content-box .inner-block {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .technical .content-box .lead-txt {
    width: calc(695/1200 * 100%);
  }
  .technical .content-box .lead-txt + .job-group {
    margin-left: 55px;
  }
  .technical .content-box02 .lead {
    width: calc(695/1200 * 100%);
  }
  .technical .content-box02 .banner-box .img + .img {
    margin-top: 48px;
  }
  .technical .job-group {
    margin-top: -65px;
    width: calc(370 / 1200 * 100%);
  }
  .technical .job-item + .job-item {
    margin-left: 10px;
  }
  .technical .job-item .img {
    width: 150px;
    height: 150px;
  }
  .technical .job-box {
    margin-top: -290px;
  }
  .technical .job-box .slider-box {
    width: calc(100% - 12.5vw);
  }
  .technical .job-box .slider-box .slider-txt {
    padding-right: 250px;
  }
  .technical .job-box .interview-box {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
  .technical .job-box .interview-box .item + .item {
    margin-left: 15px;
  }
  .technical .job-box.supply .txt-box {
    padding-left: 0;
    padding-right: 80px;
  }
  .technical .job-box.supply .lead-box {
    padding-left: 3.125vw;
    padding-right: 9.75vw;
  }
  .technical .step-list {
    margin-top: -15px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
    -webkit-align-items: end;
        -ms-flex-align: end;
            align-items: end;
  }
  .technical .step-list .step-item {
    text-align: center;
  }
  .technical .step-list .year {
    text-align: center;
  }
  .technical .step-list .txt-box {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .technical .step-list .txt-box.txt-box01 {
    height: 164px;
  }
  .technical .step-list .txt-box.txt-box02 {
    height: 202px;
  }
  .technical .step-list .txt-box.txt-box03 {
    height: 244px;
  }
  .technical .pc-ta-c {
    text-align: center;
  }
  .technical-person .txt-contents-block .box.box-vision {
    padding-top: 40px;
  }
  .technical-person .txt-contents-block .icon-area {
    padding-top: 40px;
  }
  .technical-person .txt-contents-block .icon-area.icon-left {
    padding-top: 95px;
  }
  .technical-person .txt-contents-block .icon-area.icon-left .icon {
    margin: 0;
    position: absolute;
    left: -117px;
    top: 0;
  }
  .technical-person .txt-contents-block .icon-area.icon-top {
    padding-top: 140px;
  }
  .technical-person .txt-contents-block .icon-area.icon-top .icon {
    margin: 0;
    position: absolute;
    right: 0;
    left: 0;
    margin: auto;
    top: 0;
  }
  .technical-person .txt-contents-block .icon-area.icon-right-top {
    padding-top: 110px;
  }
  .technical-person .txt-contents-block .icon-area.icon-right-top .icon {
    margin-top: -110px;
    margin-left: 40px;
  }
  .technical-person .txt-contents-block .icon {
    margin-top: -40px;
  }
  .technical-person .txt-contents-block .txt {
    padding-right: 40px;
  }
  .technical-person .message-section .nikotai-box {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
  .technical-person .message-section .nikotai-box .img-area {
    width: 30%;
    padding: 0 20px;
  }
  .technical-person .message-section .nikotai-box .txt-area {
    width: 70%;
  }
  .technical-person .technical-staff-block .staff-list > li a:hover .img img {
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }
}

@media only screen and (max-width: 1024px) {
  .tab-only {
    display: none !important;
  }
  .c-header .btn-wrap {
    margin: 30px auto 0;
  }
  .home-mv-section .detail-cont .txt-area {
    margin: 30px auto 0;
  }
}

@media only screen and (min-width: 1025px) {
  .tab-min-only {
    display: none !important;
  }
  .home-mv-section .detail-cont {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .home-mv-section .detail-cont .ttl-wrap {
    width: 30%;
  }
  .home-mv-section .detail-cont .txt-area {
    margin-left: auto;
    width: 70%;
  }
  .jobcategory-content-section .box {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    margin-left: calc(50% - 50vw);
  }
  .jobcategory-content-section .box .img {
    -webkit-box-flex: 2;
    -webkit-flex: 2 1 600px;
        -ms-flex: 2 1 600px;
            flex: 2 1 600px;
  }
  .jobcategory-content-section .box .img img {
    width: 100%;
  }
  .jobcategory-content-section .box .txt-area {
    padding-left: 70px;
    max-width: 600px;
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 600px;
        -ms-flex: 1 1 600px;
            flex: 1 1 600px;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1330px) {
  .c-header .inner-block {
    padding-left: 15px;
  }
  .c-header.technical-header .logo-txt02 {
    font-size: 12px;
    margin-left: 20px;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .c-header .inner-block {
    padding-right: 20px;
  }
  .c-header .btn-wrap .btn.mb10 {
    margin-right: 2px;
  }
  .c-header .btn-wrap .js-kosen-target,
.c-header .btn-wrap .js-kosen-target-sp {
    text-align: center;
    display: none;
    width: 100%;
    right: 0;
    left: 0;
    margin: auto;
    max-width: 625px;
  }
  .c-menu {
    padding-bottom: 200px;
  }
  .jobcategory-content-section .box {
    padding-top: 80px;
  }
  .jobcategory-content-section .box .img {
    margin-top: 45px;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1120px) {
  .c-header .header-area {
    padding-right: 90px;
  }
  .c-header .logo-txt {
    padding-left: 15px;
  }
}

@media only screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1330px) {
  .c-header .logo-txt {
    font-size: 10px;
    letter-spacing: 0.1em;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1280px) {
  .c-header .btn-wrap .btn {
    font-size: 10px;
    width: 100px;
  }
}

@media only screen and (min-width: 768px) and (min-width: 768px) {
  .c-header.is-open .btn-wrap:not(.column) .btn.entry:hover {
    background: #6993F8;
    color: #fff;
  }
  .c-header.is-open .btn-wrap:not(.column) .btn.mypage:hover {
    background: #29ABE2;
    color: #fff;
  }
  .c-header.is-open .btn-wrap:not(.column) .btn.internship:hover {
    background: #5652CC;
    color: #fff;
  }
  .c-header.is-open .btn-wrap:not(.column) .btn.technical:hover {
    background: #6BBC00;
    color: #fff;
  }
  .c-header.is-open .btn-wrap:not(.column) .btn.kouko:hover {
    background: #6BBC00;
    color: #fff;
  }
  .c-header.is-open .btn-wrap:not(.column) .btn.kosen:hover {
    background: #009245;
    color: #fff;
  }
  .c-header.is-open .btn-wrap:not(.column) .btn.tyuto:hover {
    background: #006837;
    color: #fff;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1200px) {
  .c-menu .cont .btn.sub {
    font-size: 12px;
  }
  .c-menu .cont .sub-link-list li.wide {
    width: calc(100% / 3);
  }
  .c-menu .cont .sub-link-list li.wide:nth-child(n+4) {
    margin-top: 30px;
  }
  .project-link-block .link-area .box .overlap-area .text-area {
    padding: 10% 5%;
  }
  .project-link-block .link-area .box .overlap-area .text-area .ttl {
    font-size: 16px;
  }
  .project-link-block .link-area .box.short .overlap-area .text-area {
    padding: 15% 5%;
  }
  .project-link-block .link-area .box.talk .overlap-area .text-area {
    padding: 15% 5%;
  }
  .c-article-mv-section .ttl {
    padding-bottom: 30px;
  }
  .c-article-mv-section + .c-article-content-wrap {
    margin-top: -7vw;
  }
  .c-bnr-list .link-area .bnr .sub,
.c-bnr-column-list .link-area .bnr .sub {
    font-size: 6vw;
  }
  .project .mv-section .mv-img .mv-ttl {
    bottom: 40px;
  }
  .project .story-section .story-box + .story-box {
    padding-top: 15%;
  }
  .project .story-section .story-center-area .text-area {
    padding: 0 50px;
  }
  .project .story-section .img-text-area .txt {
    padding-left: 40px;
    font-size: 14px;
    padding-bottom: 0;
    padding-top: 0;
  }
  .project .story-section .story-overlap-box .text-area {
    width: 60%;
  }
  .project .story-section .story-overlap-box + .img-text-area {
    padding-top: 10%;
  }
  .recinfo .recinfo-section .inner-block {
    margin-top: -7vw;
  }
  .recinfo .recinfo-block .flow-area, .recinfo .recinfo-block .point-area, .recinfo .recinfo-block .occupation-area {
    padding: 50px 60px;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1200px) and (max-width: 920px) {
  .c-menu .cont .sub-link-list li.wide {
    width: calc(100% / 2);
  }
  .c-menu .cont .sub-link-list li.wide:nth-child(n+3) {
    margin-top: 30px;
  }
}

@media not print {
  .anm {
    -webkit-filter: opacity(0);
            filter: opacity(0);
  }
  .anm.is-animated {
    -webkit-animation: fadeIn 1.5s both;
            animation: fadeIn 1.5s both;
  }

  .anm-list.is-animated li {
    -webkit-animation: fadeIn 1.5s both;
            animation: fadeIn 1.5s both;
  }
  .anm-list li {
    -webkit-filter: opacity(0);
            filter: opacity(0);
  }
}

@media only screen and (min-width: 768px) and (max-width: 1100px) {
  .project-link-block .link-area .box {
    width: calc((100% - 30px) / 3);
  }
  .project .story-section .story-center-area .text-area {
    margin-top: -10%;
    margin-left: 30px;
    margin-right: 30px;
  }
  .job .message-section .oneday-box .box-wrap {
    width: auto;
  }
  .careerup-lead-section .anchor-wrap .box:nth-child(1), .careerup-lead-section .anchor-wrap .box:nth-child(2) {
    width: calc((100% - 40px)/2);
  }
  .careerup-lead-section .anchor-wrap .box:nth-child(2) {
    margin-left: 40px;
  }
  .careerup-cont-section .lead-wrap .box:nth-child(odd) .txt-area {
    padding-right: 20px;
  }
  .careerup-cont-section .lead-wrap .box:nth-child(even) .txt-area {
    padding-left: 20px;
  }
  .careerup-cont-section .lead-wrap .box .txt-area {
    padding: 120px 30px 50px;
  }
}

@media only screen and (min-width: 768px) and (max-width: 850px) {
  .project-link-block .link-area .box {
    width: calc((100% - 50px) / 2);
  }
}

@media only screen and (max-width: 767px) and (max-width: 500px) {
  .project-link-block .link-area .box {
    width: 100%;
  }
  .project-link-block .link-area .box .overlap-area {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
  .project-link-block .link-area .box .overlap-area .text-area {
    position: unset;
    padding: 0 8%;
    height: auto;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1050px) {
  .home-special-section .js-search-wrap .search-wrap .ttl-area {
    display: block;
  }
}

@media only screen and (max-width: 1450px) {
  .home-special-section .js-search-wrap .search-wrap .img.img01 {
    width: 15.0344827586vw;
  }
  .home-special-section .js-search-wrap .search-wrap .img.img02 {
    width: 7.1034482759vw;
  }
}

@media only screen and (max-width: 1200px) {
  .home-special-section .js-search-wrap .search-wrap .img.img01 {
    top: -100px;
  }
  .home-special-section .js-search-wrap .search-wrap .img.img02 {
    left: 20px;
    bottom: -50px;
  }
  .technical-person .txt-contents-block .img.side-left {
    margin: 0 calc(50% - 50vw);
  }
  .technical-person .txt-contents-block .img.side-left img {
    width: 100%;
  }
}

@media only screen and (max-width: 767px) and (max-width: 767px) {
  .c-saiyo-link-card .ttl {
    margin-top: 10px;
  }
  .job .message-section .oneday-box .box-wrap .oneday-area + .oneday-area::after {
    top: 23px;
    left: -24px;
    height: 100%;
  }
}

@media only screen and (min-width: 768px) and (max-width: 950px) {
  .project .person-block .person-area img {
    width: 60%;
  }
  .project .person-block .person-area .introduction-box {
    width: 40%;
  }
  .technical-person .message-section .private-box .txt-box {
    padding: 80px 40px 120px;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1450px) {
  .project .story-section .number {
    left: 0px;
  }
}

@media only screen and (min-width: 768px) and (max-width: 900px) {
  .project .story-section .img-text-area img {
    width: 50%;
  }
  .talk-session .lead-section .person-area .box {
    width: calc((100% - 30px)/ 4);
  }
}

@media only screen and (min-width: 768px) and (max-width: 1200px) and (max-width: 900px) {
  .project .story-section .img-text-area .txt {
    width: 50%;
  }
}

@media only screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1200px) {
  .project .story-section .story-overlap-box .text-area {
    margin-top: -200px;
    padding-right: 30px;
    padding-bottom: 0;
  }
  .project .story-section .story-overlap-box .text-area .ttl {
    font-size: 20px;
  }
  .project .story-section .story-overlap-box .text-area .txt {
    font-size: 14px;
  }
}

@media screen and (-webkit-min-device-pixel-ratio: 0) {
  .talk-session .talk-section .talk-box .proposal ::i-block-chrome, .talk-session .talk-section .talk-box .proposal img {
    min-width: 40px;
  }
}

@media only screen and (min-width: 1590px) {
  .works .works-cont-section .img-box {
    position: absolute;
    right: -12%;
    top: 40px;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1590px) {
  .works .works-cont-section .img-box {
    position: absolute;
    width: 45vw;
    right: 1vw;
    top: 6%;
  }
}

@media only screen and (min-width: 1550px) {
  .works .works-cont-section .img-box.sales-img {
    top: -15%;
  }
}

@media only screen and (min-width: 1100px) {
  .welfare .mark-box .img-box img {
    max-width: 180px;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1025px) {
  .recinfo .sidebar-block .sidebar-list {
    padding: 40px 0;
    width: 190px;
  }
  .recinfo .sidebar-block .sidebar-list a::before {
    left: 25px;
  }
  .recinfo .recinfo-block .flow-area .flow-box .step {
    min-width: 120px;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1025px) and (max-width: 800px) {
  .recinfo .sidebar-block .sidebar-list {
    width: 150px;
    padding: 30px 0;
  }
  .recinfo .recinfo-block .flow-area .flow-box .step {
    min-width: 100px;
  }
}

@media only screen and (min-width: 768px) and (max-width: 800px) {
  .recinfo .sidebar-block .sidebar-list a {
    padding: 10px 10px 10px 35px;
    font-size: 16px;
  }
  .recinfo .sidebar-block .sidebar-list a::before {
    left: 20px;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1200px) and (max-width: 1025px) {
  .recinfo .recinfo-block {
    width: calc(100% - 200px);
  }
  .recinfo .recinfo-block .flow-area, .recinfo .recinfo-block .point-area, .recinfo .recinfo-block .occupation-area {
    padding: 40px 30px;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1200px) and (max-width: 1025px) and (max-width: 800px) {
  .recinfo .recinfo-block {
    width: calc(100% - 160px);
  }
}

@media only screen and (min-width: 768px) and (max-width: 1300px) {
  .technical .greet-box .txt-box {
    height: 38.4615384615vw;
  }
}

@media only screen and (max-width: 1300px) {
  .technical .job-box .swiper-pagination {
    right: 30px;
  }
}

@media only screen and (min-width: 768px) and (min-width: 1481px) {
  .technical-person .txt-contents-block .main-area:nth-of-type(2n) .box {
    margin-right: -80px;
  }
}

@media only screen and (max-width: 767px) and (max-width: 360px) {
  .technical-person .txt-contents-block .tag.small {
    font-size: 10px;
  }
  .technical-person .txt-contents-block .ttl {
    font-size: 18px;
  }
}

@media only screen and (min-width: 1201px) {
  .technical-person .txt-contents-block .img.side-left {
    margin-left: calc(50% - 50vw);
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin-top: auto;
    margin-bottom: auto;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
  }
}

@media only screen and (min-width: 1201px) and (min-width: 1280px) and (max-width: 1480px) {
  .technical-person .txt-contents-block .img.side-left img {
    width: 33.7837837838vw;
  }
}

@media only screen and (min-width: 1201px) and (max-width: 1280px) {
  .technical-person .txt-contents-block .img.side-left img {
    width: calc(100vw - 70%);
  }
}

@media only screen and (max-width: 950px) {
  .technical-person .message-section .private-box {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
  .technical-person .message-section .private-box .txt-box {
    margin: 0 auto;
  }
  .technical-person .message-section .private-box .img {
    margin: -60px auto 0;
    padding-bottom: 14px;
    position: relative;
  }
}

@media only screen and (min-width: 951px) {
  .technical-person .message-section .private-box .img {
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    left: 0;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1240px) {
  .technical-person.job .message-section .oneday-box .box-wrap {
    width: auto;
    max-width: 1100px;
  }
}

/***** 20250311 キャリア向け採用情報ページ *****/

/* header */
.c-header.recruit-career-header .pc-nav-list {
  display: flex;
  gap: 70px;
  font-size: 16px;
  margin-left: auto;
  margin-right: 60px;
}
.c-header.recruit-career-header .pc-nav-list a {
  color: #0068B3;
  font-weight: bold;
  padding: 15px 0;
}
@media (any-hover: hover) {
  .c-header.recruit-career-header .pc-nav-list a:hover {
    color: #0000BE;
  }
}

@media only screen and (max-width: 1150px) {
  .c-header.recruit-career-header .pc-nav-list {
    gap: 30px;
    margin-right: 20px;
  }
  .c-header.recruit-career-header .header-area {
    padding-right: 20px;
  }
}

@media only screen and (min-width: 950px) {
  .c-header.recruit-career-header .c-menu-btn {
    display: none;
  }
  .c-header.recruit-career-header .header-area {
    padding-right: 0px;
  }
}

@media only screen and (max-width: 949px) {
  .c-header.technical-header.is-open .logo-txt02 a {
    color: #333;
  }

  .c-header.recruit-career-header .pc-nav-list {
    display: none;
  }
}

/* mv */
.recruit-career .career-mv-section {
  position: relative;
}
.recruit-career .career-mv-section .inner-block {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: fit-content;
  height: fit-content;
}
.recruit-career .career-mv-section .main-ttl {
  background: rgba(255,255,255,.9);
  color: #0081B3;
  font-size: 36px;
  font-weight: bold;
  letter-spacing: 0.43em;
  padding: 32px 60px 28px;
}
.recruit-career .career-mv-section img {
  width: 100%;
  height: auto;
}
@media only screen and (max-width: 767px) {/* SP */
  .recruit-career .career-mv-section .main-ttl {
    font-size: 20px;
    padding: 15px 14px 12px;
  }
}

/* 共通パーツ */
.recruit-career .bg-wrap {
  background: #EAECF4;
  padding: 95px 0 150px;
}
.recruit-career .bg-wrap .lead-txt {
  font-size: 20px;
  line-height: 1.95;
  text-align: center;
  margin-bottom: 60px;
  letter-spacing: 0.1em;
}
@media only screen and (max-width: 767px) {/* SP */
  .recruit-career .bg-wrap {
    padding: 65px 0 80px;
  }
  .recruit-career .bg-wrap .lead-txt {
    font-size: 14px;
    line-height: 1.78;
    margin-bottom: 25px;
  }
}

.recruit-career .career-cont-section + .career-cont-section {
  margin-top: 75px;
}
.recruit-career .career-cont-section .inner {
  background: #fff;
  margin: auto;
  padding: 55px 100px 80px;
}
@media only screen and (max-width: 767px) {/* SP */
  .recruit-career .career-cont-section + .career-cont-section {
    margin-top: 35px;
  }
  .recruit-career .career-cont-section .inner {
    padding: 18px 15px 50px;
  }
}

.recruit-career .c-career-ttl {
  display: flex;
  margin-bottom: 40px;
}
.recruit-career .c-career-ttl .ico {
  background: #2D9EC0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100px;
}
.recruit-career .c-career-ttl .ico.ico01 img {
  width: 79px;
  height: 66px;
}
.recruit-career .c-career-ttl .ico.ico02 {
  background: #DE9315;
}
.recruit-career .c-career-ttl .ico.ico02 img {
  width: 52px;
  height: 57px;
}
.recruit-career .c-career-ttl .ico.ico03 {
  background: #005e9f;
}
.recruit-career .c-career-ttl .ico.ico03 img {
  width: 62px;
  height: 49px;
}
.recruit-career .c-career-ttl .ico.ico04 {
  background: #2091EA;
}
.recruit-career .c-career-ttl .ico.ico04 img {
  width: 62px;
  height: 62px;
}
.recruit-career .c-career-ttl .ttl {
  background: #0081B3;
  display: flex;
  letter-spacing: 0.15em;
  align-items: center;
  font-size: 30px;
  font-weight: bold;
  color: #fff;
  width: calc(100% - 100px);
  padding: 20px 35px;
}
@media only screen and (max-width: 767px) {/* SP */
  .recruit-career .c-career-ttl {
    margin-bottom: 18px;
  }
  .recruit-career .c-career-ttl .ico {
    width: 50px;
  }
  .recruit-career .c-career-ttl .ttl {
    width: calc(100% - 50px);
    font-size: 15px;
    letter-spacing: 0.15em;
    padding: 10px 18px;
  }

  .recruit-career .c-career-ttl .ico.ico01 img {
    width: 39px;
    height: 32px;
  }
  .recruit-career .c-career-ttl .ico.ico02 img {
    width: 26px;
    height: 28px;
  }
  .recruit-career .c-career-ttl .ico.ico03 img {
    width: 31px;
    height: 24px;
  }
  .recruit-career .c-career-ttl .ico.ico04 img {
    width: 39px;
    height: 32px;
  }
}

.recruit-career .career-cont-section .detail-txt {
  font-size: 14px;
  line-height: 1.75;
  letter-spacing: 0.1em;
  text-align: center;
  margin-bottom: 60px;
}
@media only screen and (max-width: 767px) {/* SP */
  .recruit-career .career-cont-section .detail-txt {
    margin-bottom: 50px;
    font-size: 10px;
  }
}

/* 採用情報 */
.recruit-career .career-cont-section .more-btn {
  display: block;
  max-width: 595px;
  margin: auto;
}
.recruit-career .career-cont-section .more-btn .btn {
  background: #2E3192;
  border-radius: 8px;
  border: 1px solid #2E3192;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 30px 20px;
  transition: .3s ease-in-out;
}
.recruit-career .career-cont-section .more-btn .btn .txt {
  color: #fff;
  font-size: 20px;
  font-weight: bold;
  letter-spacing: 0.19em;
  transition: .3s ease-in-out;
}
.recruit-career .career-cont-section .more-btn .c-link-btn {
  margin-top: 10px;
}
@media (any-hover: hover) {
  .recruit-career .career-cont-section .more-btn:hover .btn {
    background: #fff;
  }
  .recruit-career .career-cont-section .more-btn:hover .txt {
    color: #2E3192;
  }
}

@media only screen and (max-width: 767px) {/* SP */
  .recruit-career .career-cont-section .more-btn {
    padding: 0 10px;
  }
  .recruit-career .career-cont-section .more-btn .btn {
    border-radius: 4px;
    padding: 22px 10px;
  }
  .recruit-career .career-cont-section .more-btn .btn .txt {
    font-size: 10px;
  }
}

/* 選考フロー */
.recruit-career .career-cont-section .flow-list {
  margin-top: 75px;
  padding: 0 50px;
}
.recruit-career .career-cont-section .flow-list li:not(:last-child) {
  position: relative;
  padding-bottom: 50px;
}
.recruit-career .career-cont-section .flow-list li:not(:last-child)::before {
  background: #4792C8;
  content: "";
  display: block;
  width: 1px;
  height: 100%;
  position: absolute;
  bottom: 0;
  left: 87px;
  margin: auto;
}
.recruit-career .career-cont-section .flow-list li:not(:last-child)::after {
  border-style: solid;
  border-right: 7px solid transparent;
  border-left: 7px solid transparent;
  border-top: 12px solid #4792C8;
  border-bottom: 0;
  content: "";
  display: block;
  width: 14px;
  height: 12px;
  position: absolute;
  bottom: 0;
  left: 80px;
  margin: auto;
}
.recruit-career .career-cont-section .flow-list .head {
  display: flex;
}
.recruit-career .career-cont-section .flow-list .head .step {
  background: #4792C8;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  letter-spacing: 0.1em;
  font-size: 19px;
  font-family: "Oswald", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, sans-serif;
  width: 175px;
  padding: 12px 10px;
  z-index: 2;
}
.recruit-career .career-cont-section .flow-list .head .ttl {
  background: #EAECF4;
  display: flex;
  align-items: center;
  font-size: 18px;
  padding: 10px 50px;
  width: calc(100% - 175px);
}
.recruit-career .career-cont-section .flow-list .txt-area {
  margin-top: 20px;
  margin-left: auto;
  padding-left: 50px;
  width: calc(100% - 175px);
}
.recruit-career .career-cont-section .flow-list .txt-area .txt {
  font-size: 14px;
  letter-spacing: 0.1em;
}
.recruit-career .career-cont-section .flow-list li:last-child .head .step {
  background: #777AB1;
}
.recruit-career .career-cont-section .flow-list li:last-child .head .ttl {
  background: #DDDEEB;
}
@media only screen and (max-width: 767px) {/* SP */
  .recruit-career .career-cont-section .flow-list {
    margin-top: 32px;
    padding: 0 15px;
  }
  .recruit-career .career-cont-section .flow-list li:not(:last-child) {
    padding-bottom: 30px;
  }
  .recruit-career .career-cont-section .flow-list li:not(:last-child)::before {
    left: 23px;
  }
  .recruit-career .career-cont-section .flow-list li:not(:last-child)::after {
    left: 19px;
    border-right: 5px solid transparent;
    border-left: 5px solid transparent;
    border-top: 8px solid #4792C8;
    width: 10px;
    height: 8px;
  }
  .recruit-career .career-cont-section .flow-list .head .step {
    font-size: 12px;
    width: 106px;
  }
  .recruit-career .career-cont-section .flow-list .head .ttl {
    font-size: 15px;
    padding: 10px 10px 10px 28px;
    width: calc(100% - 106px);
  }
  .recruit-career .career-cont-section .flow-list .head .ttl.sp-small {
    font-size: 14px;
  }
  .recruit-career .career-cont-section .flow-list .txt-area {
    padding-left: 0;
    width: calc(100% - 42px);
  }
  .recruit-career .career-cont-section .flow-list .txt-area .txt {
    font-size: 10px;
  }
}

/* 職種紹介 */
.recruit-career .career-cont-section .saiyo-other-section {
  padding-bottom: 0;
}
.recruit-career .career-cont-section .saiyo-other-section .bg-ttl.university {
  background: rgba(105, 147, 248, 0.9);
}
.recruit-career .career-cont-section .saiyo-other-section .bg-ttl.technical {
  background: rgba(1, 104, 55, 0.9);
}
@media only screen and (max-width: 767px) {/* SP */
  .recruit-career .career-cont-section .saiyo-other-section {
    display: block;
  }
  .recruit-career .career-cont-section .saiyo-other-section .c-saiyo-link-card {
    width: 100%;
  }
  .recruit-career .career-cont-section .saiyo-other-section .c-saiyo-link-card + .c-saiyo-link-card {
    margin-top: 25px;
  }
  .recruit-career .career-cont-section .c-saiyo-link-card {
    padding: 0 10px;
  }
}

/* カムバック制度 */
.recruit-career .career-cont-section .c-saiyo-link-card {
  display: block;
  max-width: 520px;
  margin: auto;
}