@charset "utf-8";

/*
==================== mainvisual ======================
*/
.page-about .page-mv {
  background-image: url(../images/about/about_mv_01.jpg);
}
.page-mv {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.page-mv .content-width {
  position: relative;
  widows: 100%;
}
.page-ttl-box {
  padding: 20% 0;
}
.page-ttl {
  color: #fff;
  font-weight: bold;
  font-size: 6rem;
  line-height: 1;
  letter-spacing: .12em;
  margin: 0;
}
.page-sub-ttl {
  color: #fff;
  font-weight: bold;
  font-size: 1.8rem;
  line-height: 1;
  letter-spacing: 0;
  margin-top: 20px;
}


/*
==================== inner-menu ======================
*/
.inner-menu {
  margin-top: 100px;
}
.inner-menu ul {
  overflow: unset;
  width: 100%;
}
.inner-menu li {
  position: relative;
  box-sizing: border-box;
  border-left: 1px solid #eee;
  text-align: center;
  width: calc(100% / 3);
  height: 40px;
}
.inner-menu li:last-child{
  border-right: 1px solid #eee;
}
.inner-menu li::before {
  content: "";
  position: absolute;
  display: block;
  background-image: url(../images/arrow_under_01.png);
  background-repeat: no-repeat;
  transform: translate(0, -50%);
  top: 36px;
  left: 48%;
  width: 10px;
  height: 5px;
}
.inner-menu .index {
  display: inline-block;
  color: #0046ad;
  font-weight: bold;
  font-size: 1.6rem;
  line-height: 1;
  letter-spacing: 0;
}
.inner-menu .inner-ttl {
  font-weight: bold;
  font-size: 1.6rem;
  line-height: 1;
  line-height: 1.3\0;
  letter-spacing: 0;
  padding-left: 10px;
}


/*
==================== section-jumbo-ttl ======================
*/
.jumbo {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
}
.jumbo .sec-ttl-box {
  height: 450px;
  max-width: 1000px;
  width: 100%;
  margin: 0 auto 48px;
}
.jumbo .sec-ttl {
  position: absolute;
  transform: translate(0, 50%);
  background-color: #0046ad;
  bottom: 0;
  color: #fff;
  width: 100%;
  padding: 34px 32px;
  margin: 0;
}
.page-challenge .jumbo .sec-ttl {
  transform: translate(0, 0)\0;
  background-color: transparent\0;
}
.jumbo .index {
  vertical-align: middle;
  font-size: 1.6rem;
  line-height: 1;
  letter-spacing: 0;
}
.jumbo .ttl {
  vertical-align: middle;
  font-size: 3rem;
  letter-spacing: 0;
  line-height: 1;
  padding-left: 40px;
}

/*
==================== bnr ======================
*/
.bnrs.content-width {
  margin-top: 100px;
}
.bnr {
  position: relative;
  display: block;
  width: 48%;
  margin: 0 40px 0 0;
}
.bnr:nth-child(2n),
.bnr:nth-child(4n) {
  margin-right: 0px;
}
.bnr:nth-child(3n),
.bnr:nth-child(4n) {
  margin-top: 40px;
}
.txt-bnr {
  position: absolute;
  transform: translate(0, -50%);
  top: 50%;
  left: 40px;
  color: #fff;
}
.txt-bnr .bnr-ttl {
  font-weight: bold;
  font-size: 2.5rem;
  line-height: 1;
  letter-spacing: .12em;
}
.txt-bnr .bnr-sub-ttl {
  font-weight: bold;
  font-size: 1.6rem;
  line-height: 1;
  letter-spacing: 0;
  margin-top: 12px;
}

/*
==================== table ======================
*/
table {
  border-left: none;
  margin-bottom: 0;
}
th, td {
  background-color: unset;
  border-left: none;
  border-right: none;
  text-align: left;
  font-size: 1.4rem;
  line-height: 1;
  letter-spacing: 0;
  padding: 30px 0 30px 34px;
}
th {
  font-weight: bold;
  width: 100px;
}

/*
==================== text ======================
*/
.large-ttl {
  color: #0046AD;
  text-align: center;
  font-weight: normal;
  font-size: 5rem;
  line-height: 1.3;
  letter-spacing: 0;
  margin: 0;
}
.small-ttl {
  text-align: center;
  font-weight: bold;
  font-size: 3rem;
  line-height: 1.5;
  letter-spacing: 0;
  margin: 0;
}
.enhance {
  color: #0046ad;
}

/*
==================== other ======================
*/
.index-circle {
  box-sizing: border-box;
  border-radius: 50%;
  border: 1px solid #0046ad;
  color: #0046ad;
  font-weight: normal;
  font-size: 1.1rem;
  line-height: 1;
  letter-spacing: 0;
  text-align: center;
  height: 60px;
  width: 60px;
  padding: 12px 0px;
}
.index {
  font-weight: bold;
  font-size: 2.2rem;
  padding-top: 2px;
}


/*
==================== page-about ======================
*/
.page-about .inner-menu {
  margin-top: 50px;
}

/*
==================== page-about-spilits ======================
*/
#about-spilits {
  padding-bottom: 0;
}
#about-spilits .sec-ttl {
  text-align: center;
  font-weight: bold;
  font-size: 5rem;
  line-height: 1.3;
  letter-spacing: 0;
  color: #0046AD;
}
#about-spilits .spilits-detail {
  text-align: center;
  font-size: 1.4rem;
  line-height: 2;
  letter-spacing: 0;
  color: #0046AD;
  margin: 30px 0 0 0;
}
/*
==================== page-about-pioneer ======================
*/
#about-pioneer {
  padding-top: 100px;
}
#about-pioneer .jumbo {
  background-image: url(../images/about/about_jumbo_pioneer_01.jpg);
}
#about-pioneer .txt-area {
  text-align: center;
  font-size: 1.4rem;
  line-height: 2;
  letter-spacing: 0;
  margin-top: 100px;
}
#about-pioneer .only1-box {
  position: relative;
  box-sizing: border-box;
  background-color: #F1F6FD;
  padding: 60px 0 360px;
  margin-top: 60px;
}
#about-pioneer .only1-box .txt-area {
  text-align: center;
  margin-top: 30px;
}
#about-pioneer .only1-box .img-box {
  position: absolute;
  transform: translate(-50%, 100%);
  left: 50%;
  bottom: 330px;
  width: 100%;
}
.global-char-list {
  box-sizing: border-box;
  overflow: unset;
  overflow: visible\0;
  background-color: #f1f6fd;
  padding: 0 50px 36px;
  margin-top: 60px;
}
.global-char-item {
  max-width: 284px;
  width: 100%;
  text-align: center;
  font-weight: bold;
  font-size: 2rem;
  line-height: 1.4;
  letter-spacing: 0;
}
.global-char-func {
  padding: 0px 24px;
}
.global-char-item .img-box {
  position: relative;
  top: -20px;
}
/*
==================== page-about-env ======================
*/
#about-env.section {
  padding-top: 70px;
  padding-bottom: 0;
}
#about-env .txt-area {
  max-width: 710px;
  width: 100%;
  margin: 0 auto;
}
#about-env .jumbo {
  background-image: url(../images/about/about_jumbo_env_01.jpg);
}
#about-env .small-ttl {
  margin-top: 100px;
}
#about-env .map {
  margin-top: 50px;
}
#about-env .graph {
  margin-top: 40px;
}
#about-env .txt-no1 {
  margin-top: 36px;
}
#about-env .txt-spread {
  text-align: center;
}
#about-env .txt-area {
  line-height: 1.85;
  margin-top: 30px;
}
.bases {
  margin: 110px -20px 0;
  width: auto;
}
.base {
  position: relative;
  margin: 0 20px;
}
/* .base .base-country {
  position: absolute;
  color: #fff;
  background-color: #0046AD;
  top: -10px;
  left: -10px;
  text-align: center;
  font-weight: bold;
  font-size: 1.4rem;
  line-height: 1;
  letter-spacing: 0;
  padding: 10px 0;
  width: 100px;
} */
.base .img-box {
  position: relative;
}
.base .img-box::after {
  content: "日本橋";
  display: block;
  position: absolute;
  color: #fff;
  background-color: #0046AD;
  top: -10px;
  left: -10px;
  text-align: center;
  font-weight: bold;
  font-size: 1.4rem;
  line-height: 1;
  letter-spacing: 0;
  padding: 10px 0;
  width: 100px;
}
.base-hq .img-box::after {
  content: "日本橋";
}
.base-Niigata .img-box::after {
  content: "新潟県";
}
.base-China .img-box::after {
  content: "中国";
}
.base-Malaysia .img-box::after {
  content: "マレーシア";
}
.base-USA .img-box::after {
  content: "アメリカ";
}
.base-England .img-box::after {
  content: "イギリス";
}
.base-Israel .img-box::after {
  content: "イスラエル";
}
.base .base-name {
  text-align: center;
  font-weight: bold;
  font-size: 1.6rem;
  letter-spacing: 0;
  line-height: 1;
  padding: 30px 0 36px;
}
/*
==================== page-about-abstract ======================
*/
#about-abstract.section {
  padding-top: 60px;
  padding-bottom: 0;
}
#about-abstract .jumbo {
  background-image: url(../images/about/about_jumbo_abst_01.jpg);
}
#about-abstract table {
  margin-top: 117px;
}
@media screen and (max-width: 1400px) and (min-width: 768px) {
  /* #about-abstract .content-width {
    padding-left: 0;
    padding-right: 0;
  } */
}
#about-abstract .bnrs {
  margin-top: 100px;
}


/*
==================== h-card ======================
*/
.h-card {
  margin-top: 60px;
}
.h-card:first-child {
  margin-top: 0;
}
.h-card .sentence {
  margin-top: 8%;
}
.h-card .question {
  margin-top: 20px;
  margin-bottom: 20px;
}
.h-card .txt-area {
  margin-top: 30px;
}
.h-card .someone-interviewed {
  width: 50%;
}
.h-card .someone-wide {
  width: 100%;
}
.h-card .sentence {
  width: 46%;
}
.h-card .sentence-left,
.h-card .sentence-right {
  width: 48%;
}
.h-card .w100 {
  width: 100%;
}
.h-card .theme {
  font-size: 2.5rem;
  line-height: 1;
  margin: 0;
}
.h-card .question {
  position: relative;
  box-sizing: border-box;
  font-weight: bold;
  font-size: 2rem;
  line-height: 1.3;
  letter-spacing: 0;
  padding-left: 20px;
}
.h-card .question::before {
  content: "";
  position: absolute;
  top: 12px;
  left: 0;
  display: block;
  width: 10px;
  height: 2px;
}
.h-card .sentence-box {
  margin-top: 5.8%;
}

/*
==================== assyme-container ======================
*/
.assyme-container {
  margin-top: 108px;
  position: relative;
  z-index: 1;
}
.page-story-3 .assyme-container {
  margin-top: 55px;
}
.assyme-back {
  box-sizing: border-box;
  max-width: 1020px;
  width: 100%;
  margin: 0 auto;
  padding-left: 20px;
}
.assyme-main {
  position: relative;
  padding: 100px 0;
  min-height: 460px;
}
.assyme-main::before {
  content: "";
  position: absolute;
  display: block;
  top: 0;
  right: 100%;
  height: 100%;
  width: 100vw;
}
.assyme-left {
  width: 46%;
  margin-top: 8%;
}
.assyme-left .question {
  margin-top: 20px;
  margin-bottom: 20px;
}
.assyme-left .txt-area {
  margin-top: 30px;
}
.assyme-main .theme {
  font-size: 2.5rem;
  line-height: 1;
  margin: 0;
}
.assyme-right {
  position: absolute;
  top: 100px;
  right: -20%;
  left: 50%;
}
.assyme-main .question {
  position: relative;
  box-sizing: border-box;
  color: #ff8d9a;
  font-weight: bold;
  font-size: 2rem;
  line-height: 1.4;
  letter-spacing: 0;
  padding-left: 30px;
}
.assyme-main .question::before {
  content: "";
  position: absolute;
  top: 10px;
  left: 0;
  display: block;
  background-color: #ff8d9a;
  width: 10px;
  height: 2px;
}

/*
==================== entry-btn-container ======================
*/
.entry-btn-container .content {
  padding-top: 100px;
  padding-bottom: 100px;
}
.entry-btn-container .content-inner {
  margin-top: 30px;
}
.entry-btn-container .btn {
  display: block;
  background-image: linear-gradient(to right, #ff5c1a 0%, #ff2c53 51%, #ff5c1a 100%);
  background-size: 200% auto;
  text-align: center;
  color: #fff;
  font-size: 2rem;
  font-weight: bold;
  line-height: 1;
  letter-spacing: .2em;
  width: 100%;
  padding: 40px 0;
  margin: 0 auto;
  transition: all 1s ease;
}
.entry-btn-container .btn:hover {
  background-position: right center;
  transition: all 1s ease;
  opacity: 1;
}
.entry-btn-container .btn::after {
  top: 45%;
}
.entry-btn-container .content-width {
  position: relative;
}
.entry-btn-container .txt-totop {
  position: absolute;
  left: 50%;
  bottom: 30px;
  transform: translate(-50%, 0);
  color: #121A26;
  font-weight: bold;
  font-size: 12px;
  line-height: 1;
  letter-spacing: .2em;
}
.entry-btn-container .txt-totop a {
  position: relative;
}
.entry-btn-container .txt-totop a::before {
  content: "";
  display: block;
  position: absolute;
  left: 50%;
  bottom: -49px;
  background-color: #fff;
  width: 1px;
  height: 20px;
}
.entry-btn-container .txt-totop a::after {
  content: "";
  display: block;
  position: absolute;
  left: 50%;
  bottom: -29px;
  background-color: #121A26;
  width: 1px;
  height: 20px;
}

/*
==================== page-story ======================
*/
.page-story-1 .page-story-mv {
  background-image: url(../images/story/story_mv_ikarashi_01.jpg);
}
.page-story-1 .page-story-mv .mv-lower,
.page-story-1 .h-card .question::before,
.page-story-1 .assyme-main .question::before,
.page-story-1 .toyou .sentence {
  background-color: #ff8d9a;
}
.page-story-1 .toyou .sentence:before {
  border-left: 15px solid #ff8d9a;
}
.page-story-1 .question {
  color: #ff8d9a;
}
.page-story-1 .assyme-main,
.page-story-1 .assyme-main::before {
  background-color: #ffeef0;
}
.page-story-2 .page-story-mv {
  position: relative;
  background-image: url(../images/story/story_mv_kihara_01.jpg);
}
.page-story-2 .page-story-mv::before {
  position: absolute;
  content: '';
  background-color: rgba(18,26,38,0.15);
  width: 100%;
  height: 100%;
}
.page-story-2 .page-story-mv .mv-lower,
.page-story-2 .h-card .question::before,
.page-story-2 .assyme-main .question::before,
.page-story-2 .toyou .sentence {
  background-color: #72caa5;
}
.page-story-2 .toyou .sentence:before {
  border-left: 15px solid #72caa5;
}
.page-story-2 .h-card .question,
.page-story-2 .assyme-main .question {
  color: #72caa5;
}
.page-story-2 .assyme-main,
.page-story-2 .assyme-main::before {
  background-color: #eaf7f2;
}
.page-story-3 .page-story-mv {
  position: relative;
  background-image: url(../images/story/story_mv_kawaguchi_01.jpg);
}
.page-story-3 .page-story-mv::before {
  position: absolute;
  content: '';
  background-color: rgba(18,26,38,0.15);
  width: 100%;
  height: 100%;
}
.page-story-3 .page-story-mv .mv-lower,
.page-story-3 .h-card .question::before,
.page-story-3 .assyme-main .question::before,
.page-story-3 .toyou .sentence {
  background-color: #5ab9fe;
}
.page-story-3 .toyou .sentence:before {
  border-left: 15px solid #5ab9fe;
}
.page-story-3 .h-card .question,
.page-story-3 .assyme-main .question {
  color: #5ab9fe;
}
.page-story-3 .assyme-main,
.page-story-3 .assyme-main::before {
  background-color: #e6f5ff;
}
.page-story-4 .page-story-mv {
  position: relative;
  background-image: url(../images/story/story_mv_togawa_01.jpg);
}
.page-story-4 .page-story-mv::before {
  position: absolute;
  content: '';
  background-color: rgba(18,26,38,0.15);
  width: 100%;
  height: 100%;
}
.page-story-4 .page-story-mv .mv-lower,
.page-story-4 .h-card .question::before,
.page-story-4 .assyme-main .question::before,
.page-story-4 .toyou .sentence {
  background-color: #88a6dc;
}
.page-story-4 .toyou .sentence:before {
  border-left: 15px solid #88a6dc;
}
.page-story-4 .h-card .question,
.page-story-4 .assyme-main .question {
  color: #88a6dc;
}
.page-story-4 .assyme-main,
.page-story-4 .assyme-main::before {
  background-color: #edf2fa;
}
.page-story .assyme-left .txt-area {
  margin-top: 0;
}
.page-story .question {
  margin: 24px 0;
}

/*
==================== story-mainvisual ======================
*/
.page-story-mv .page-ttl-box {
  position: relative;
  padding: 200px 0;
}
.page-story-mv .mv-lower {
  position: absolute;
  bottom: 0;
  transform: translate(0, 50%);
  color: #fff;
  width: 100vw;
  padding: 32px;
  margin: 0;
}
.page-story-mv .position {
  font-size: 1.4rem;
  line-height: 1;
  letter-spacing: 0;
}
.page-story-mv .name {
  font-size: 2.5rem;
  line-height: 1;
  letter-spacing: 0;
  margin: 20px 0 0 0;
}
.page-story-mv .join {
  display: inline-block;
  vertical-align: middle;
  font-size: 1.4rem;
  line-height: 2.5rem;
  letter-spacing: 0;
  padding-left: 20px;
}

/*
==================== story-content ======================
*/
#story-content {
  padding-top: 120px;
}
.toyou {
  position: relative;
  margin-top: 100px;
}
.toyou .sentence {
  position: relative;
  border-radius: 10px;
  color: #fff;
  padding: 4%;
  margin: 12px 3% 0 10%;
  width: 42%;
}
.toyou .sentence:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 100%;
  margin-top: -8px;
  border: 8px solid transparent;
}
.toyou .sentence h3 {
  font-size: 2.5rem;
  line-height: 1;
  letter-spacing: 0;
  margin: 0;
}
.toyou .message {
  margin-top: 20px;
}
.toyou .interviewed {
  width: 30.1%;
}
.toyou .someone-interviewed {
  position: absolute;
  top: 0;
  right: 6%;
}

/*
==================== story-story ======================
*/
#story-story {
  background: center no-repeat;
  background-image: url(../images/story/story_story_back_01.png);
  background-size: cover;
  margin-top: -410px;
  padding: 420px 0 0;
}
#story-story .sec-ttl-box {
  text-align: center;
}
#story-story .sec-ttl {
  font-weight: bold;
  font-size: 6rem;
  line-height: 1;
  letter-spacing: .12em;
}
#story-story .sec-sub-ttl {
  font-weight: bold;
  font-size: 1.8rem;
  line-height: 1;
  letter-spacing: 0;
  margin-top: 30px;
}
#story-story .card-list {
  margin-top: 50px;
}
#story-story .card-item {
  position: relative;
  display: block;
  width: 30.6%;
  margin-right: 4.1%;
}
#story-story .card-item:nth-child(2n) {
  margin-top: 40px;
}
#story-story .card-item:last-child {
  margin-right: 0;
}
#story-story .card-item:hover {
  opacity: 1;
}
#story-story .card-detail {
  overflow: hidden;
}
#story-story .hover-back {
  width: 400px;
  height: 200px;
  top: 0;
  left: -400px;
  background: #121A25;
  position: absolute;
  transition: all .5s ease;
  z-index: 1;
}
#story-story .card-ikarashi:hover .hover-back,
#story-story .card-kihara:hover .hover-back,
#story-story .card-togawa:hover .hover-back,
#story-story .card-kawaguchi:hover .hover-back {
  left: 0;
}
#story-story .en-name {
  position: absolute;
  top: -3px;
  left: 40px;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  font-size: 1.4rem;
  line-height: 1;
  letter-spacing: .2em;
  margin: 0;
}
#story-story .card-ikarashi .en-name {
  color: #FF8D9A;
}
#story-story .card-kihara .en-name {
  color: #72CAA5;
}
#story-story .card-togawa .en-name {
  color: #88A6DC;
}
#story-story .card-kawaguchi .en-name {
  color: #5AB9FE;
}
#story-story .card-detail {
  position: relative;
  box-sizing: border-box;
  color: #fff;
  padding: 17px 24px;
  max-width: 400px;
  width: calc(100% * 400 / 480);
  margin: -40px auto 0;
}
#story-story .card-ikarashi .card-detail {
  background-color: #FF8D9A;
}
#story-story .card-kihara .card-detail {
  background-color: #72CAA5;
}
#story-story .card-togawa .card-detail {
  background-color: #88A6DC;
}
#story-story .card-kawaguchi .card-detail {
  background-color: #5AB9FE;
}
#story-story .position {
  position: relative;
  font-weight: bold;
  font-size: 1.4rem;
  line-height: 1.86;
  letter-spacing: 0;
  z-index: 1;
}
#story-story .name {
  position: relative;
  font-weight: bold;
  font-size: 2rem;
  line-height: 1;
  letter-spacing: 0;
  margin-top: 12px;
  z-index: 1;
}
#story-story .join {
  font-weight: normal;
  font-size: 1.4rem;
  line-height: 2rem;
  letter-spacing: 0;
  padding-left: 16px;
}

/*
==================== page-message ======================
*/
/*
==================== page-message mv ======================
*/
.page-message-mv {
  /*background-image: url(../images/message/message_mv_01.jpg);*/
  background-color: #121A26;
}
/* .page-message-mv .page-ttl-box {
  padding: 200px 0;
} */

/*
==================== page-message message-box ======================
*/
#message-box.section {
  padding-top: 0;
  padding-bottom: 0;
}
#message-box .inner-menu li {
  width: 50%;
}
#message-box .position {
  text-align: center;
  font-weight: bold;
  font-size: 1.4rem;
  line-height: 1;
  letter-spacing: 0;
  margin-top: 34px;
}
#message-box .name {
  text-align: center;
  font-weight: bold;
  font-size: 2.5rem;
  line-height: 1;
  letter-spacing: 0;
  margin-top: 20px;
}
#message-box .txt-area {
  margin-top: 36px;
}
#message-box .txt-area:first-child {
  margin-top: 0;
}
#message-president,
#message-resources {
  margin-top: 100px;
}
#message-box .large-ttl {
  margin-top: 48px;
}
#message-box .message-main {
  margin-top: 30px;
}

/*
==================== page-recruit ======================
*/
.page-recruit .inner-menu {
  margin-top: 100px;
}
/*
==================== page-recruit mv ======================
*/
.page-recruit-mv {
  background-image: url(../images/recruit/recruit_mv_01.jpg);
}
/*
==================== page-recruit stance ======================
*/
#recruit-stance.section {
  padding-bottom: 0;
}
#recruit-stance .jumbo {
  background-image: url(../images/recruit/recruit_jumbo_stance_01.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}
#recruit-stance .small-ttl {
  margin-top: 108px;
}
#recruit-stance .large-ttl {
  font-weight: bold;
  margin-top: 30px;
}
#recruit-stance .stance-main {
  width: 710px;
  margin: 30px auto 0;
}
#recruit-stance .wanted-character {
  width: 710px;
  margin: 30px auto 0;
}
#recruit-stance .wanted-character .small-ttl{
  margin-top: 80px;
}
#recruit-stance .txt-area {
  margin-top: 36px;
}
#recruit-stance .txt-area:first-child {
  margin-top: 0;
}
/*
==================== page-recruit job-description ======================
*/
#recruit-job-description {
  padding-bottom: 0;
}
#recruit-job-description .jumbo {
  background-image: url(../images/recruit/recruit_jumbo_job_description_01.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}
.job-description {
  margin-top: 110px;
}
.job-description th {
  width: 160px;
}
.job-description li {
  line-height: 1.75;
  margin-top: 2px;
}
.job-description li:first-child {
  margin-top: 0;
}
.job-description .address p {
  margin: 16px 0 0;
}
.job-description ol {
  counter-reset: item;
  list-style-type: none;
  padding-left: 0;
}
.job-description ol li {
  counter-increment: item;
}
.job-description ol li::before {
  display: marker;
  content: '（'counter(item)'）';
}
/*
==================== page-recruit step ======================
*/
#recruit-step {
  padding-top: 100px;
  padding-bottom: 0;
}
#recruit-step .jumbo {
  background-image: url(../images/recruit/recruit_jumbo_step_01.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}
#recruit-step .txt-area {
  text-align: center;
  margin-top: 100px;
}
#recruit-step .eng-office {
  margin-top: 52px;
}
#recruit-step .select-eng,
#recruit-step .select-office {
  background-color: #eee;
  color: #aaa;
  text-align: center;
  font-weight: bold;
  font-size: 1.6rem;
  line-height: 1;
  letter-spacing: 0;
  width: 48%;
  padding: 22px 0;
  cursor: pointer;
  opacity: 1;
  transition: opacity .3s ease;
}
#recruit-step .select-eng:hover,
#recruit-step .select-office:hover {
  opacity: .7;
  transition: opacity .3s ease;
}
#recruit-step .eng-office .active {
  position: relative;
  background-color: #121A26;
  color: #fff;
}
#recruit-step .eng-office .active::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -8px;
  border: 8px solid transparent;
  border-top: 10px solid #121A26;
}
#recruit-step .step-list {
  margin-top: 74px;
}
#recruit-step .rikunabi {
  border: 1px solid #0046ad;
  width: 100%;
  padding: 28px 0;
  margin-top: 30px;
}
#recruit-step .step-content {
  box-sizing: border-box;
  height: 60px;
  padding: 15px 0;
  margin-left: 3.5%;
}
#recruit-step li {
  margin-top: 30px;
}
#recruit-step li:first-child {
  margin-top: 0;
}
#recruit-step li:last-child .step {
  color: #0045ad;
}
#recruit-step .step {
  display: inline-block;
  vertical-align: middle;
  font-weight: bold;
  font-size: 2rem;
  line-height: 1;
  letter-spacing: 0;
}
#recruit-step .step-detail {
  display: inline-block;
  vertical-align: middle;
  font-weight: normal;
  font-size: 1.4rem;
  line-height: 1;
  letter-spacing: 0;
  padding-left: 30px;
}
#recruit-step li:last-child .index-circle {
  background-color: #0046ad;
  color: #fff;
}




/*
==================== page-system ======================
*/
.page-system-mv {
  background-image: url(../images/system/system_mv_01.jpg);
}
.page-system .inner-menu {
  margin-top: 100px;
}
/*
==================== page-system education ======================
*/
#system-education.section {
  padding-top: 100px;
  padding-bottom: 0;
}
#system-education .jumbo {
  background: center no-repeat;
  background-image: url(../images/system/system_jumbo_education_01.jpg);
  background-size: cover;
}
.edc-head.txt-area {
  text-align: center;
  margin: 107px 0 50px;
}
.edc-item {
  position: relative;
  margin-top: 30px;
}
.edc-item::after {
  content: "";
  position: absolute;
  display: block;
  width: 1px;
  height: 40px;
  top: -36px;
  left: 50%;
  z-index: -1;
}
.edc-item:first-child::after {
  content: unset;
}
.edc-item:first-child {
  margin-top: 0;
}
.edc-left {
  text-align: center;
  color: #fff;
  font-size: 1.6rem;
  line-height: 1;
  letter-spacing: 0;
  width: 10%;
}
.edc-right {
  box-sizing: border-box;
  width: 90%;
  padding: 25px 30px;
}
.edc-name {
  font-weight: bold;
  font-size: 2rem;
  line-height: 1;
  letter-spacing: 0;
}
.edc-detail {
  color: #121a26;
  font-weight: normal;
  font-size: 1.4rem;
  line-height: 2;
  letter-spacing: 0;
  padding-left: 20px;
}
.edc-knowing {
  border: 1px solid #72caa5;
}
.edc-knowing .edc-left {
  background-color: #72caa5;
}
.edc-knowing .edc-right {
  background-color: #f1faf6;
}
.edc-knowing .edc-name {
  color: #72caa5;
}
.edc-understanding {
  border: 1px solid #66c2d2;
}
.edc-understanding .edc-left {
  background-color: #66c2d2;
}
.edc-understanding .edc-right {
  background-color: #eff9fa;
}
.edc-understanding .edc-name {
  color: #66c2d2;
}
.edc-thinking {
  border: 1px solid #4fa8d9;
}
.edc-thinking .edc-left {
  background-color: #4fa8d9;
}
.edc-thinking .edc-right {
  background-color: #edf6fb;
}
.edc-thinking .edc-name {
  color: #4fa8d9;
}
.edc-available {
  border: 1px solid #388ee0;
}
.edc-available .edc-left {
  background-color: #388ee0;
}
.edc-available .edc-right {
  background-color: #ebf3fc;
}
.edc-available .edc-name {
  color: #388ee0;
}
.edc-aim {
  border: 1px solid #1662c1;
}
.edc-aim .edc-left {
  background-color: #1662c1;
}
.edc-aim .edc-right {
  background-color: #e7eff9;
}
.edc-aim .edc-name {
  color: #1662c1;
}
.edc-knowing .edc-name {
  width: 176px;
}
.edc-understanding .edc-name {
  width: 264px;
}
.edc-thinking .edc-name {
  width: 96px;
}
.edc-available .edc-name {
  width: 96px;
}
.edc-aim .edc-name {
  width: 96px;
}
.edc-understanding.edc-item::after {
  background-color: #66C2D2;
}
.edc-thinking.edc-item::after {
  background-color: #4FA8D9;
}
.edc-available.edc-item::after {
  background-color: #388EE0;
}
.edc-aim.edc-item::after {
  background-color: #1662C1;
}
.edc-result.edc-item::after {
  background-color: #0046AD;
}
.edc-result {
  text-align: center;
  background-color: #0046ad;
  color: #fff;
  font-weight: bold;
  font-size: 2rem;
  line-height: 1;
  letter-spacing: 0;
  padding: 30px 0;
}
.edc-env {
  text-align: center;
  font-size: 3rem;
  font-weight: bold;
  letter-spacing: 0;
  line-height: 1;
  margin-top: 100px;
}
.edc-env-list {
  width: 48%;
  margin-left: 4%;
  margin-top: 30px;
}
.edc-env-list:first-child {
  margin-left: 0;
}
.edc-env-item .env-ttl {
  font-weight: bold;
  text-align: center;
  font-size: 2rem;
  line-height: 1.4;
  letter-spacing: 0;
  margin: 24px 0 0;
}
.edc-env-item .txt-area {
  margin: 12px 0 0;
}
.edc-therapy-list {
  width: 30.6%;
  margin-right: 4.1%;
  margin-top: 30px;
}
.edc-therapy-list:nth-child(3n) {
  margin-right: 0;
}
/*
==================== page-system training ======================
*/
#system-training.section {
  padding-bottom: 20px;
}
#system-training .jumbo {
  background-image: url(../images/system/system_jumbo_training_01.jpg);
}
.training-head.txt-area {
  text-align: center;
  margin: 107px 0 50px;
}
.char-list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.char-list-item {
  box-sizing: border-box;
  width: 48%;
  margin-top: 50px;
  margin-left: 4%;
  background-color: #F1F6FD;
  padding: 0 25px 26px;
}
.char-list-item:nth-child(odd) {
  margin-left: 0;
}
.char-list-item .img-box {
  margin-top: -30px;
  margin-bottom: 30px;
}
.char-list-item .char-list-abst {
  text-align: center;
  font-weight: bold;
  font-size: 2rem;
  line-height: 1;
  letter-spacing: 0;
  margin-bottom: 20px;
}
.training-leader {
  text-align: center;
}
.training-potential {
  text-align: center;
}
/*
==================== page-system welfare ======================
*/
#system-welfare.section {
  padding-bottom: 0;
}
#system-welfare .jumbo {
  background-image: url(../images/system/system_jumbo_welfare_01.jpg);
}
.welfare-head.txt-area {
  text-align: center;
  margin: 107px 0 50px;
}
.welfare-item {
  border-top: 1px solid #eee;
  padding: 30px 0;
}
.welfare-item:last-child {
  border-bottom: 1px solid #eee;
}
.welfare-detail {
  width: 94.2%;
}
.welfare-ttl {
  font-weight: bold;
  font-size: 2rem;
  line-height: 1;
  letter-spacing: 0;
  margin-top: 6px;
}
.welfare-detail .txt-area {
  margin: 14px 0 0;
}

/*
==================== page-work ======================
*/
.page-work-mv {
  background-image: url(../images/work/work_mv_01.jpg);
}
/*
==================== page-work type ======================
*/
#work-type.section {
  padding-bottom: 0;
}
#work-type .jumbo {
  background-image: url(../images/work/work_jumbo_type_01.jpg);
}
.type-head.txt-area {
  text-align: center;
  margin: 107px 0 22px;
}
#work-type .txt-area {
  text-align: center;
}
#work-type .type-small {
  font-size: 1.6rem;
  line-height: 1;
  letter-spacing: 0;
}
#work-type .rikunabi2020 {
  display: block;
  border: 1px solid #0045ad;
  padding: 26px 0;
  margin-top: 60px;
}

/*
==================== page-work schedule ======================
*/
#work-schedule {
  padding-bottom: 0;
}
#work-schedule .jumbo {
  background-image: url(../images/work/work_jumbo_schedule_01.jpg);
}
#case-parttime {
  margin-top: 110px;
}
#case-engineer {
  position: relative;
  margin-top: 50px;
}
.schedule-list {
  position: relative;
  margin-top: 50px;
}
.schedule-am,
.schedule-pm {
  width: 48%;
}
.schedule-pm {
  margin-left: 4%;
}
#case-parttime .schedule-list::before,
#case-engineer .schedule-list::before {
  content: "";
  position: absolute;
  top: 10px;
  left: 0;
  display: block;
  width: 1px;
  height: calc(100% - 10px);
  background-color: #eee;
}
#case-parttime .schedule-list::after,
#case-engineer .schedule-list::after {
  content: "";
  position: absolute;
  top: 10px;
  left: 52%;
  display: block;
  width: 1px;
  height: calc(100% - 10px);
  background-color: #eee;
  z-index: -1;
}
.schedule-head {
  text-align: center;
  font-weight: bold;
  font-size: 3rem;
  line-height: 1;
  letter-spacing: 0;
  margin-top: 40px;
}
.schedule-list .todo {
  position: relative;
  padding-left: 34px;
  margin-top: 24px;
}
.schedule-list .todo:first-child {
  margin-top: 0;
}
.schedule-list .todo::before {
  content: "";
  position: absolute;
  display: block;
  top: 6px;
  left: -4px;
  border-radius: 50%;
  width: 10px;
  height: 10px;
}
.schedule-list .schedule-am .todo::before {
  background-color: #378de0;
}
.schedule-list .schedule-pm .todo::before {
  background-color: #0045ad;
}
.schedule-list .todo-time {
  color: #0046ad;
  font-weight: bold;
  font-size: 1.8rem;
  line-height: 1;
  letter-spacing: .1em;
}
.schedule-am .todo-time {
  color: #378de0;
}
.schedule-pm .todo-time {
  color: #0046AD;
}
.schedule-list .todo-ttl {
  font-weight: bold;
  font-size: 2rem;
  line-height: 1;
  letter-spacing: 0;
  padding-left: 10px;
}
.schedule-list .todo-detail {
  line-height: 2;
  margin-top: 10px;
}
#work-schedule .index-circle {
  margin: 0 auto;
}

/*
==================== page-work quantitative ======================
*/
#work-quantitative.section {
  padding-bottom: 0;
}
#work-quantitative .jumbo {
  background-image: url(../images/work/work_jumbo_quantitative_01.jpg);
}
#work-quantitative .share-ttl {
  margin-top: 110px;
}
#work-quantitative .leaving-ttl {
  margin-top: 100px;
}
#work-quantitative .leaving-analysis {
  text-align: center;
  margin-top: 30px; 
}
/* .leaving-analysis.txt-area {
  text-align: center;
  margin-top: 50px;
} */
.quantitative-head.txt-area {
  text-align: center;
  margin-top: 98px;
}
#work-quantitative .img-box {
  margin-top: 100px;
}
.quantitative-contribution {
  text-align: center;
  background-color: #F1F6FD;
  padding: 50px 0;
  margin-top: 100px;
}
.contribution-ballon {
  position: relative;
  box-sizing: border-box;
  border-radius: 10px;
  background-color: #0046AD;
  color: #fff;
  font-weight: bold;
  font-size: 2rem;
  line-height: 1.2;
  letter-spacing: 0;
  width: 88%;
  padding: 20px 0 30px;
  margin: 50px auto 0;
}
.contribution-ballon::after {
  content: "";
  position: absolute;
  display: block;
  top: 100%;
  left: 50%;
  margin-left: -10px;
  border: 10px solid transparent;
  border-top: 10px solid #0046AD;
}
.saving-list {
  width: 88%;
  margin: 0 auto;
}
.saving-item {
  width: 29.1%;
  margin-left: 6.25%;
}
.saving-item:first-child {
  margin-left: 0;
}
#work-quantitative .saving-item .img-box {
  margin-top: 30px;
}
.saving-detail {
  font-weight: bold;
  font-size: 2rem;
  letter-spacing: 0;
  line-height: 2.4;
}
.saving-quantity {
  font-weight: bold;
  font-size: 2rem;
  line-height: 1;
  letter-spacing: 0;
}
.ballon-large {
  font-size: 4.1rem;
  padding-left: 4px;
}
.ballon-mid {
  font-size: 3rem;
  padding-left: 4px;
}


/*
==================== page-challenge ======================
*/
.page-challenge-mv {
  background-image: url(../images/challenge/challenge_mv_01.jpg);
}
.page-challenge .inner-menu li {
  width: calc(100% / 2);
}
.page-challenge .page-head-ttl {
  text-align: center;
  font-weight: bold;
  font-size: 5rem;
  line-height: 1.3;
  letter-spacing: 0;
  color: #0045ad;
  margin-top: 90px;
  margin-bottom: 30px;
}
.page-challenge .page-head .txt-area {
  text-align: center;
  font-size: 1.4rem;
  line-height: 2;
  letter-spacing: 0;
  color: #0045ad;
}
.page-challenge .inner-menu {
  margin-top: 50px;
}

/*
==================== page-challenge xe600 ======================
*/
#challenge-xe600 {
  padding-top: 100px;
  padding-bottom: 0;
}
#challenge-xe600 .jumbo {
  background-image: url(../images/challenge/challenge_jumbo_xe600_01.jpg);
}
.page-challenge .jumbo .sec-ttl-box {
  height: 500px;
}
.page-challenge .jumbo .index {
  margin-bottom: 24px;
}
.page-challenge .jumbo .sec-ttl {
  box-sizing: border-box;
  position: static;
  background-color: unset;
  text-align: center;
  transform: unset;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0;
  padding: 126px 0;
}
.page-challenge .jumbo .sec-ttl .index {
  font-size: 1.6rem;
}
.page-challenge .jumbo .sec-ttl .ttl {
  border-bottom: 1px solid #fff;
  font-size: 3rem;
  line-height: 1.5;
  padding-left: 0;
  padding-bottom: 24px;
  max-width: 400px;
  width: 100%;
  margin: 0 auto 30px;
}
.page-challenge .jumbo .sec-ttl .position {
  font-size: 1.4rem;
  padding-bottom: 24px;
}
.page-challenge .jumbo .sec-ttl .name {
  font-size: 2.5rem;
}
.page-challenge .jumbo .sec-ttl .join {
  display: inline-block;
  vertical-align: middle;
  font-weight: normal;
  font-size: 1.4rem;
  padding-left: 14px;
}
.page-challenge .afterword .theme {
  text-align: center;
}
#challenge-xe600 .afterword .trademark {
  text-align: center;
  font-size: 1.2rem;
  line-height: 1;
  letter-spacing: 0;
  margin: 20px 0 0;
}
.page-challenge .afterword .sentence-box {
  max-width: 720px;
  width: 100%;
  margin: 58px auto 0;
}
.page-challenge .h-card-wide {
  margin-top: 95px;
}
#challenge-xe600 .h-card-wide .theme {
  margin-top: 64px;
}
#challenge-automation .h-card-wide .theme {
  margin-top: 60px;
}
.page-challenge .h-card .sentence-left {
  width: unset;
  width: 100%\0;
}
#challenge-xe600 .assyme-main {
  background-color: #f1f6fd;
}
#challenge-xe600 .assyme-main::before {
  background-color: #f1f6fd;
}
.page-challenge .assyme-left {
  margin-top: 15%;
}
#challenge-automation .assyme-container {
  margin-top: 90px;
}




/*
==================== page-challenge story ======================
*/
#challenge-story {
  background: center no-repeat;
  background-image: url(../images/challenge/challenge_story_back_01.png);
  background-size: cover;
  padding-top: 420px;
  padding-bottom: 0;
  margin-top: -420px;
}
#challenge-story .txt-area {
  text-align: center;
  margin-top: 30px;
}
#challenge-story .card-list {
  margin-top: 50px;
}
#challenge-story .sec-ttl {
  text-align: center;
  font-weight: bold;
  font-size: 6rem;
  line-height: 1;
  letter-spacing: .12em;
  margin: 0;
}
#challenge-story .sec-sub-ttl {
  text-align: center;
  font-weight: bold;
  font-size: 1.8rem;
  line-height: 1;
  letter-spacing: 0;
  margin-top: 20px;
}
#challenge-story .content-inner {
  margin-top: 50px;
}
#challenge-story .card-right {
  margin-top: 40px;
  margin-left: 2%;
}
#challenge-story h3 {
  text-align: center;
  color: #0046AD;
  font-size: 3rem;
  line-height: 1.5;
  letter-spacing: 0;
  margin: 0;
}
#challlenge-story .card-list {
  margin-top: 50px;
}
#challenge-story .card-left {
  margin-right: 2%;
}
#challenge-story .card-item {
  position: relative;
  display: block;
}
#challenge-story .card-item:hover {
  opacity: 1;
}
#challenge-story .card-ikarashi .en-name {
  color: #FF8D9A;
}
#challenge-story .card-kihara .en-name {
  color: #72CAA5;
}
#challenge-story .card-togawa .en-name {
  color: #88A6DC;
}
#challenge-story .card-kawaguchi .en-name {
  color: #5AB9FE;
}
#challenge-story .card-ikarashi:hover .hover-back,
#challenge-story .card-kihara:hover .hover-back,
#challenge-story .card-togawa:hover .hover-back,
#challenge-story .card-kawaguchi:hover .hover-back {
  left: 0;
}
#challenge-story .hover-back {
  width: 400px;
  height: 112px;
  top: 0;
  left: -400px;
  background: #121A25;
  position: absolute;
  transition: all .5s ease;
  z-index: 1;
}
#challenge-story .en-name {
  position: absolute;
  top: -3px;
  left: 40px;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  font-weight: bold;
  font-size: 1.4rem;
  line-height: 1;
  letter-spacing: .2em;
  margin: 0;
}
#challenge-story .card-ikarashi .card-detail {
  background-color: #FF8D9A;
}
#challenge-story .card-kihara .card-detail {
  background-color: #72CAA5;
}
#challenge-story .card-togawa .card-detail {
  background-color: #88A6DC;
}
#challenge-story .card-kawaguchi .card-detail {
  background-color: #5AB9FE;
}
#challenge-story .card-detail {
  position: relative;
  box-sizing: border-box;
  color: #fff;
  padding: 28px;
  max-width: 400px;
  width: calc(100% * 400 / 480);
  margin: -40px auto 0;
}
#challenge-story .card-detail {
  overflow: hidden;
}
#challenge-story .hover-back {
  width: 400px;
  height: 120px;
  top: 0;
  left: -400px;
  background: #121A25;
  position: absolute;
  transition: all .5s ease;
  z-index: 1;
}
#challenge-story .position {
  position: relative;
  font-weight: bold;
  font-size: 1.4rem;
  line-height: 1;
  letter-spacing: 0;
  z-index: 1;
}
#challenge-story .name {
  position: relative;
  font-weight: bold;
  font-size: 2rem;
  line-height: 1;
  letter-spacing: 0;
  margin-top: 22px;
  z-index: 1;
}
#challenge-story .join {
  font-weight: normal;
  font-size: 1.4rem;
  line-height: 2rem;
  letter-spacing: 0;
  padding-left: 20px;
}


/*
==================== page-challenge automation ======================
*/
#challenge-automation .jumbo {
  background-image: url(../images/challenge/challenge_jumbo_automation_01.jpg);
}
#challenge-automation .assyme-left {
  position: absolute;
  top: 0;
  width: unset;
  width: auto\0;
  left: -20%;
  right: 50%;
  margin-top: 100px;
}
#challenge-automation .assyme-right {
  position: static;
  padding-left: 50%;
  margin-top: 11%;
  padding-left: 54%;
}
#challenge-automation .assyme-back {
  background-color: #f1f6fd;
}
#challenge-automation .assyme-main::before {
  right: unset;
  left: unset;
  right: 0\0;
  left: 0\0;
  background-color: #f1f6fd;
  z-index: -1;
}
#challenge-automation.section {
  padding: 100px 0;
}
#challenge-automation .h-card-wide {
  margin-top: 60px;
}
.h-card-table.table {
  margin-top: 60px;
}
.h-card-table .cell {
  width: 50%;
}
.h-card-table .theme {
  font-size: 2.5rem;
  line-height: 1;
  margin: 0;
}
.h-card-table .txt-area {
  width: 100%;
  margin-top: 30px;
}
.h-card-table .cell-rpd {
  padding-right: 4%;
}
.h-card-table .cell-lpd {
  padding-left: 4%;
}
.h-card-table .interview-img {
  position: relative;
}
.h-card-table .interview-img .trademark {
  position: absolute;
  left: 0;
  margin: 10px 0 0;
}

/*
==================== page-404 ======================
*/
.page-404 .page-mv {
  background-image: url(../images/404_mv_01.jpg);
}
.page-404 .error404.content {
  padding: 100px 0;
}
.page-404 .error404 h1 {
  font-weight: bold;
  font-size: 1.6rem;
  margin: 0;
}
.page-404 .error404 p {
  margin-top: 20px;
}


@media screen and (max-width: 768px) {
  .h-card .question {
    margin-top: 20px;
    margin-bottom: 0;
  }
  .h-card-table .img-box {
    margin-top: 10px;
  }
  .h-card .txt-area {
    margin-top: 10px;
  }
  .h-card-table .cell {
    display: block;
    width: 100%;
  }
  .h-card-table .table .txt-area {
    width: 100%;
    margin-top: 30px;
  }
  .h-card-table .cell-lpd {
    padding-left: 0;
  }
  .h-card-table .cell-rpd {
    padding-right: 0;
  }
  .assyme-back {
    padding-left: 0;
  }

}

.page-challenge #main .table {
  margin-top: 50px;
}
.page-challenge #main .cell {
  width: 50%;
}
.page-challenge #main .theme {
  font-size: 2.5rem;
  line-height: 1;
  margin: 0;
}
.page-challenge #main .txt-area {
  width: 100%;
  margin-top: 20px;
}
.page-challenge #main .cell-rpd {
  padding-right: 4%;
}
.page-challenge #main .cell-lpd {
  padding-left: 4%;
}
.page-challenge #main .interview-img {
  position: relative;
}
.page-challenge #main .interview-img .trademark {
  position: absolute;
  left: 0;
  font-size: 1.2rem;
  line-height: 1;
  letter-spacing: 0;
  margin: 20px 0 0;
}

@media screen and (max-width: 768px) {
  .content-width {
    box-sizing: border-box;
    padding-left: 20px;
    padding-right: 20px;
  }
  .txt-area {
    text-align: left !important;
    width: 100%;
  }
  .large-ttl {
    font-size: 4rem;
  }
  .small-ttl {
    font-size: 2.6rem;
  }
  .max-1000 {
    display: none;
  }
  .inner-menu li {
    border-left: none;
  }
  .inner-menu li:last-child {
    border-right: none;
  }
  .inner-menu li::before {
    top: 54px;
  }
  .page-about .inner-menu li::before {
    top: 74px;
  }
  .inner-menu .index {
    display: block;
  }
  .inner-menu .inner-ttl {
    display: inline-block;
    line-height: 1.3;
    margin-top: 6px;
    vertical-align: middle;
    padding-left: 0;
  }
  .jumbo .sec-ttl-box {
    height: 350px;
    width: unset;
  }
  .jumbo .sec-ttl {
    box-sizing: border-box;
    padding: 30px 10px;
    left: 0;
    right: 0;
    width: 80%;
    margin: 0 auto;
  }
  .jumbo .sec-ttl .index {
    display: block;
    text-align: center;
    font-size: 3rem;
  }
  .jumbo .sec-ttl .ttl {
    display: block;
    text-align: center;
    line-height: 1.3;
    padding-left: 0;
    margin-top: 10px;
  }
  .bnr {
    width: 100%;
  }
  .bnr:nth-child(2n) {
    margin-top: 40px;
  }
  .txt-bnr {
    left: 5.3%;
  }


/*
==================== h-card ======================
*/
  .h-card .sentence {
    width: 100%;
  }
  .h-card .sentence-left,
  .h-card .sentence-right {
    width: 100%;
  }
  .toyou .sentence {
    box-sizing: border-box;
    border-radius: 0;
    margin: 0;
    padding: 30px 20px;
    width: 100%;
  }
  .toyou .sentence:before {
    content: unset;
  }



/*
==================== page-challenge ======================
*/
  .page-challenge .page-ttl {
    font-size: 4.9rem;
  }
  #challenge-story .card-item {
    margin-top: 40px;
  }
  #challenge-story .card-left {
    margin-right: 0;
  }
  #challenge-story .card-right {
    margin-left: 0;
  }
  .page-challenge #main .cell-rpd {
    padding-right: 0;
  }
  .page-challenge #main .table .img-box {
    margin-top: 20px;
  }
  .page-challenge #main .cell-lpd {
    padding-left: 0;
  }
  #challenge-automation .assyme-right {
    padding-left: 0;
    margin-top: 0;
  }
  #challenge-automation .assyme-right .img-box {
    margin-top: 20px;
  }



/*
==================== toyou ======================
*/
  .toyou {
    margin-top: 30px;
  }
  .toyou .message {
    display: inline-block;
  }
  .toyou .message {
    display: inline-block;
    margin-top: 20px;
    width: 100%;
  }
  .assyme-main {
    box-sizing: border-box;
    padding: 30px 20px;
    margin-left: unset;
    width: 100%;
  }
  .assyme-left {
    width: 100%;
  }
  .page-challenge .assyme-left {
    margin-top: 0;
  }
  .assyme-right {
    position: static;
    margin-top: 20px;
  }

/*
==================== assyme-container ======================
*/
  .assyme-container {
    position: relative;
    margin-top: 50px;
  }

/*
==================== page-about ======================
*/
  #about-spilits .sec-ttl {
    font-size: 4.8rem;
  }
  #about-spilits .spilits-detail {
    text-align: left;
  }
  #about-spilits li:nth-child(2n) .inner-ttl,
  #about-spilits li:nth-child(3n) .inner-ttl {
    line-height: 40px;
    height: 40px;
  }
  #about-spilits {
    padding-bottom: 40px;
  }
  #about-pioneer .only1-box {
    padding: 60px 20px 270px;
    margin-top: 30px;
  }
  #about-pioneer .only1-box .img-box {
    bottom: 240px;
  }
  #about-pioneer .txt-area {
    margin-top: 116px;
  }
  .global-char-func {
    padding: 0;
  }
  .global-char-list {
    padding: 20px;
  }
  .global-char-list.floatlist li {
    display: block;
    margin: 20px auto 0;
  }
  .global-char-list.floatlist li:first-child {
    margin: 0 auto;
  }
  .global-char-item .global-char-abst {
    margin-top: 10px;
  }
  .global-char-item .img-box {
    position: static;
  }
  #about-env .txt-area {
    width: 100%;
    margin: 20px auto 0;
  }
  .base .base-country {
    left: 50px;
  }
  .base .img-box {
    width: 306px;
    margin: 0 auto;
  }
  .base .base-name {
    padding: 20px 0 36px;
  }
  th,
  td {
    line-height: 1.5;
  }
  #about-abstract .bnrs a {
    padding-left: 0;
    padding-right: 0;
    margin-top: 20px;
  }
  #about-abstract .bnrs {
    margin-top: 50px;
  }


/*
==================== page-challenge ======================
*/
  .page-challenge .inner-menu .inner-ttl {
    line-height: 1.2;
  }
  .page-challenge .inner-menu li:nth-child(2) .inner-ttl {
    margin-top: 14px;
  }
  .page-challenge .inner-menu li::before {
    top: 94px;
  }
  .page-challenge #main .g-axess .txt-area {
    margin-top: 40px;
  }
  .h-card .someone-interviewed {
    width: 100%;
  }
  .page-challenge .afterword .img-box {
    margin: 20px auto 0;
  }
  .page-challenge .h-card-wide {
    margin-top: 30px;
  }



/*
==================== page-story ======================
*/
  #story-content {
    padding-top: 60px;
  }
  .page-story-mv .page-ttl-box {
    padding: 300px 0 100px;
  }
  .page-story .assyme-left .txt-area {
    margin-top: 20px;
  }
  #story-content .someone-interviewed {
    margin-top: 10px;
    width: 100%;
  }
  #story-story .card-item {
    margin-right: 0;
    width: 100%;
  }
  #story-story .card-item:nth-child(3n) {
    margin-top: 40px;
  }


  /*
  ==================== page-message ======================
  */
  #message-box.section {
    padding-bottom: 0;
  }
  #message-box .large-ttl {
    margin-top: 30px;
  }
  #message-box .position {
    margin-top: 20px;
    }
  #message-box .txt-area {
    margin-top: 20px;
  }
  #message-box .inner-menu li::before {
    top: 56px;
  }


  /*
  ==================== page-recruit ======================
  */
  #recruit-stance.section {
    padding-top: 100px;
  }
  #recruit-stance .stance-main {
    width: 100%;
  }
  #recruit-stance .wanted-character {
    width: 100%;
  }
  #recruit-stance .large-ttl {
    font-size: 3.3rem;
  }
  #recruit-step .eng-office .active::after {
    top: 98%;
  }
  /*
  ==================== page-recruit job-description ======================
  */
  .job-description td {
    padding-left: 0;
    line-height: 1.75;
  }
  .job-description th {
    width: 110px;
    padding: 30px 0 30px 20px;
  }
  /*
  ==================== page-recruit step ======================
  */
  #recruit-step .jumbo {
    background-position: 76%;
  }
  #recruit-step .select-eng,
  #recruit-step .select-office {
    opacity: 1;
    transition: unset;
  }
  #recruit-step .select-eng:hover,
  #recruit-step .select-office:hover {
    opacity: 1;
    transition: unset;
  }
  .eng-office.clearfix {
    min-height: 1px;
  }
  .eng-office.clearfix::after {
    clear: both;
    content: ".";
    display: block;
    font-size: 0;
    height: 0;
    visibility: hidden;
  }
  .eng-office .select-eng.left {
    float: left;
  }
  .eng-office .select-office.right {
    float: right;
  }
  .step-list .clearfix {
    min-height: 1px;
  }
  .step-list .clearfix::after {
    clear: both;
    content: ".";
    display: block;
    font-size: 0;
    height: 0;
    visibility: hidden;
  }
  .step-list .left {
    float: left;
  }
  .step-list .right {
    float: right;
  }
  #recruit-step .step {
    display: block;
  }
  #recruit-step .step-detail {
    display: block;
    padding-left: 0;
    margin-top: 8px;
  }
  #recruit-step .step-content {
    height: unset;
    padding: 0;
    margin-top: 8px;
  }
  #recruit-step .one-row {
    margin-top: 20px;
  }

  /*
  ==================== page-system ======================
  */
  .edc-left {
    width: 18%;
  }
  .edc-right {
    width: 82%;
    padding: 20px;
  }
  .edc-right .edc-name,
  .edc-right .edc-detail {
    display: block;
  }
  .edc-detail {
    padding-left: 0;
    margin-top: 10px;
  }
  .edc-env-list {
    width: 100%;
    margin-left: 0;
  }
  .edc-env-item h4 {
    margin: 12px 0 0;
  }
  .edc-env-item .txt-area {
    width: 306px;
    margin: 12px auto 0;
  }
  .edc-therapy-list {
    width: 48%;
    margin-right: 4%;
    float: left;
  }
  .edc-therapy-list:nth-child(2n) {
    margin-right: 0;
  }
  .edc-therapy-list:nth-child(3n) {
    margin-right: 4%;
  }
  .edc-therapy-list:nth-child(6n) {
    float: right;
    margin-right: 0
  }
  .char-list {
    display: block;
  }
  .char-list-item {
    width: 100%;
    margin-top: 60px;
    margin-left: 0;
  }
  .char-list-item .img-box {
    margin-top: unset;
  }
  .char-list-item img {
    margin-top: -30px;
  }
  .welfare-ttl {
    text-align: center;
    margin-top: 20px;
  }
  .welfare-detail {
    width: 100%;
  }


  /*
  ==================== page-work ======================
  */
  #work-type.section {
    padding: 100px 0;
  }
  .page-work .inner-menu li::before {
    top: 74px;
  }
  .page-work .inner-menu li:first-child .inner-ttl,
  .page-work .inner-menu li:nth-child(2) .inner-ttl {
    margin-top: 16px;
  }
  #work-type .jumbo {
    background-position: right;
  }
  #work-type .txt-area {
    text-align: center !important;
  }
  .schedule-am, .schedule-pm {
    width: 100%;
  }
  .schedule-pm {
    margin-left: unset;
    margin-top: 24px;
  }
  .schedule-list .todo-ttl {
    font-size: 1.8rem;
  }
  .schedule-list .todo-time {
    font-size: 1.6rem;
  }
  #case-parttime .schedule-list::after,
  #case-engineer .schedule-list::after {
    content: unset;
  }
  .contribution-ballon {
    padding: 20px 20px 30px;
    margin: 30px auto 0;
  }
  .saving-item {
    width: 100%;
    margin-left: unset;
  }
  .quantitative-contribution {
    margin-top: 50px;
  }
  #work-quantitative .leaving-ttl {
    margin-top: 50px;
  }

}

@media screen and (min-width: 769px) {
  @media screen and (max-width: 1400px) {
    .global-char-list {
      padding: 0 5% 30px;
    }
    .global-char-func {
      padding: 0px 2.6%;
    }
    .global-char-item {
      max-width: unset;
      width: calc(94% / 3);
    }
    #challenge-story .card-list {
      margin-left: auto;
      margin-right: auto;
      max-width: 1000px;
      width: 100%;
    }
    #challenge-story .card-item {
      width: 48%;
    }
    #challenge-story .hover-back {
      height: 150px;
    }
    #challenge-story .position {
      line-height: 1.75;
    }
  }
  @media screen and (max-width: 1100px) {
    .base {
      margin: 0 1.9%;
      width: 29.4%;
    }
    .bnrs {
      box-sizing: border-box;
      padding-left: 20px;
      padding-right: 20px;
    }
    .bnr {
      margin: 0 4% 0 0;
    }
    .txt-bnr {
      position: absolute;
      transform: translate(0, -50%);
      top: 50%;
      left: 12.5%;
      color: #fff;
    }
  }
  @media screen and (max-width: 1000px) {
    #story-story .name {
      position: relative;
      font-weight: bold;
      font-size: 2rem;
      line-height: 1;
      letter-spacing: 0;
      margin-top: 12px;
      z-index: 1;
    }
    #story-story .join {
      padding-top: 10px;
      padding-left: 0;
    }
  }
  @media screen and (max-width: 900px) {
    .page-challenge .inner-menu .index {
      display: block;
    }
    .page-challenge .inner-ttl {
      display: block;
      line-height: 1.4;
      padding-left: 0;
      margin-top: 10px;
    }
    .page-challenge .inner-menu li::before {
      top: 80px;
    }
  }
  @media screen and (max-width: 850px) {
    .toyou .someone-interviewed {
      top: 20px;
      left: 424px;
    }
  }
}

@media screen and (min-width: 901px) {
  .max-900 {
    display: none;
  }
}
@media screen and (min-width: 1001px) {
  .max-1000 {
    display: none;
  }
}