@charset "UTF-8";
/* ===================================================================
CSS information
 file name  :  style.css
 style info :  ヘイズジャパン：LPスタイル
=================================================================== */

/* ----------------
  Font
---------------- */
@font-face {
  font-family: 'Gotham Narrow';
  src: url('font/GothamNarrow-Medium.otf') format('opentype');
  font-weight: 500;
}
@font-face {
  font-family: 'Gotham Narrow';
  src: url('font/GothamNarrow-Bold.otf') format('opentype');
  font-weight: 700;
}
@font-face {
  font-family: 'Gotham Narrow';
  src: url('font/GothamNarrow-Light.otf') format('opentype');
  font-weight: 300;
}
.eng {
  font-family: 'Gotham Narrow', Arial, 'MS PGothic', 'ＭＳ Ｐゴシック', 'ヒラギノ角ゴPro', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, Osaka, Helvetica, Verdana, sans-serif;
  font-weight: 500;
}
.eng.bold {
  font-weight: 700;
}
.eng.light {
  font-weight: 300;
}

/* ----------------
  Common
---------------- */
body {
  background-color: #c8cbc9;
}
img {
  max-width: 100%;
}
.wrapper {
  background-color: #fff;
  margin: 0 auto;
  max-width: 750px;
}
main {
  display: block;
  font-size: calc(28/750 * 100vw);
}
.inner {
  width: calc(700/750 * 100vw);
  max-width: 700px;
  margin: 0 auto;
}


/* ----------------
  Title
---------------- */
.ttl-slash {
  font-size: calc(44/750 * 100vw);
  line-height: 1.36;
  color: #002776;
  font-weight: 700;
  display: flex;
  align-items: flex-end;
}
.ttl-slash::before {
  content: '';
  display: block;
  background: url(https://image.email.hays.com/lib/fe4315707564057c751c71/m/3/874ed9b6-92dd-4398-bf19-11dfb09e7387.png
  ) center top / contain no-repeat;
  width: calc(53/750 * 100vw);
  height: calc(80/750 * 100vw);
}
.ttl-slash.orange>span {
  background: linear-gradient(to right, #e98504 0%, #ed9c33 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: rgba(255,255,255,0);
}
.ttl-slash.orange::before {
  background-image: url(https://image.email.hays.com/lib/fe4315707564057c751c71/m/3/8daade17-320a-479d-aa82-73399f943ef1.png
  );
}

.ttl-line {
  position: relative;
}
.ttl-line::after {
  content: '';
  display: block;
  width: calc(200/750 * 100vw);
  height: calc(2/750 * 100vw);
  background-color: #000;
  position: absolute;
  bottom: 0;
  left: 0;
}

.ttl-balloon {
  color: #002776;
  text-align: center;
  font-size: calc(40/750 * 100vw);
  line-height: 1.5;
  padding-bottom: calc(16/750 * 100vw);
  margin-bottom: calc(70/750 * 100vw);
  border-bottom: calc(3/750 * 100vw) solid #002776;
  position: relative;
}
.ttl-balloon::after {
  content: '';
  display: block;
  width: calc(20/750 * 100vw);
  height: calc(20/750 * 100vw);
  background-color: #fff;
  border-bottom: calc(3/750 * 100vw) solid #002776;
  border-right: calc(3/750 * 100vw) solid #002776;
  transform: rotate(45deg);
  position: absolute;
  bottom: calc(-12/750 * 100vw);
  left: calc(50% - (10/750 * 100vw));
  box-sizing: border-box;
  pointer-events: none;
}

/* ----------------
  fv
---------------- */
.fv-box {
  background: url(https://image.email.hays.com/lib/fe4315707564057c751c71/m/3/daf0fd05-2884-4f7c-abe6-c95027c9b63d.jpeg)no-repeat center top;
  background-size: 100%;
  margin-bottom: calc(40/750 * 100vw);
  height: calc(680/750 * 100vw);
  position: relative;
}
.fv-ttl {
  position: absolute;
  bottom: calc(15/750 * 100vw);
  right: 0;
  font-size: calc(48/750 * 100vw);
  text-align: right;
  color: #fff;
}
.fv-ttl span {
  display: inline-block;
  background: #002776;
  padding: calc(10/750 * 100vw) calc(20/750 * 100vw);
  margin-bottom: calc(20/750 * 100vw);
}
.fv-subttl {
  font-size: calc(56/750 * 100vw);
  font-weight: bold;
  text-align: center;
  line-height: 1.42;
  color: #002776;
  margin-bottom: calc(170/750 * 100vw);
  position: relative;
}
.fv-subttl:before,
.fv-subttl:after {
  content: "";
  display: block;
  width: calc(60/750 * 100vw);
  height: calc(60/750 * 100vw);
  background-color: rgb(255, 255, 255);
  border-bottom: calc(0.4vw) solid rgb(0, 39, 118);
  border-right: calc(0.4vw) solid rgb(0, 39, 118);
  transform: rotate(45deg);
  position: absolute;
  bottom: calc(-100/750 * 100vw);
  left: 0;
  right: 0;
  margin: 0 auto;
  box-sizing: border-box;
  pointer-events: none;
}
.fv-subttl:before {
  bottom: calc(-65/750 * 100vw);
  z-index: 2;
}
.fv-txt {
  position: absolute;
  top: calc(83/750 * 100vw);
  right: 0;
  font-size: calc(30/750 * 100vw);
  font-weight: bold;
  text-align: center;
  color: #fff;
  letter-spacing: 0.04em;
  line-height: 1.3;
}
.fv-txt .txt-orange {
  background: linear-gradient(to right, #e98301 0%, #ed9c32 100%);
  display: block;
  padding: calc(28/750 * 100vw) calc(20/750 * 100vw) calc(24/750 * 100vw);
  margin-bottom: calc(30/750 * 100vw);
}

/* ----------------
  about
---------------- */
.about {
  padding-bottom: calc(110/750 * 100vw);
}
.about .ttl-balloon {
  margin-bottom: calc(50/750 * 100vw);
}
.about-list li {
  font-family: 'Gotham Narrow', Arial, 'MS PGothic', 'ＭＳ Ｐゴシック', 'ヒラギノ角ゴPro', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, Osaka, Helvetica, Verdana, sans-serif;
  font-weight: 700;
  font-size: calc(34/750 * 100vw);
  font-weight: bold;
  text-align: center;
  color: #002776;
  width: 100%;
  border: 1px solid #002776;
  padding: calc(21/750 * 100vw) calc(14/750 * 100vw) calc(15/750 * 100vw);
  position: relative;
}
.about-list li:before {
  content: "";
  display: block;
  width: calc(30/750 * 100vw);
  height: calc(30/750 * 100vw);
  background-color: rgb(255, 255, 255);
  border-right: 1px solid rgb(0, 39, 118);
  transform: rotate(45deg);
  position: absolute;
  top: calc(-15/750 * 100vw);
  left: calc(-15/750 * 100vw);
  box-sizing: border-box;
  pointer-events: none;
}
.about-list li:not(:last-child) {
  margin-bottom: calc(20/750 * 100vw);
}

/* ----------------
  reason
---------------- */
.reason {
  background:
  linear-gradient(to bottom, #fff 0%,  #fff 100%) center top / 100% calc(107/750 * 100vw) no-repeat, 
  url(https://image.email.hays.com/lib/fe4315707564057c751c71/m/3/d356706b-ea0d-489c-9bac-88ffff6ac1d8.png) center top calc(107/750 * 100vw) / 100% auto repeat-y;
  padding-bottom: calc(148/750 * 100vw);
}
.reason h2 {
  margin-bottom: calc(60/750 * 100vw);
}
.reason-box {
  display: flex;
  flex-direction: column-reverse;
}
.reason-box + .reason-box {
  margin-top: calc(76/750 * 100vw);
}
.reason-box .img-box {
  margin-bottom: calc(30/750 * 100vw);
}
.reason-box h3 {
  font-size: calc(32/750 * 100vw);
  line-height: 2.34;
  font-weight: 500;
  padding-bottom: calc(26/750 * 100vw);
  margin-bottom: calc(40/750 * 100vw);
}
.reason-box .reason-list li {
  padding-left: 1.7em;
  text-indent: -1.7em;
  line-height: 1.78;
}
.reason-box .reason-list li::before {
  content: '■';
  color: #002776;
  margin-right: 0.7em;
}

/* ----------------
  merit
---------------- */
.merit {
  background-color: #002776;
  padding: calc(70/750 * 100vw) 0 calc(90/750 * 100vw);
  margin-bottom: calc(112/750 * 100vw);
}
.merit h2 {
  margin-bottom: calc(50/750 * 100vw);
}
.merit-list {
  display: flex;
  justify-content: center;
  position: relative;
  z-index: 2;
}
.merit-list .merit-list-item + .merit-list-item {
  margin-left: calc(50/750 * 100vw);
}
.merit-list .merit-list-item {
  background-color: #fff;
  width: calc(200/750 * 100vw);
  max-width: 200px;
  padding: calc(30/750 * 100vw) 0 calc(28/750 * 100vw);
  position: relative;
}
.merit-list .merit-list-item::before,
.merit-list .merit-list-item::after {
  content: '';
  width: calc(44/750 * 100vw);
  height: calc(44/750 * 100vw);
  transform: rotate(45deg);
  position: absolute;
  bottom: calc(-16/750 * 100vw);
  left: calc(50% - ((45/750 * 100vw)/2));
  z-index: -1;
}
.merit-list .merit-list-item::before {
  background-color: #fff;
}
.merit-list .merit-list-item::after {
  background-color: rgba(255,255,255,0);
}
.merit-list-item dt {
  color: #31b1e1;
  font-size: calc(28/750 * 100vw);
  line-height: 1;
  text-align: center;
  margin-bottom: calc(14/750 * 100vw);
}
.merit-list-item dd {
  line-height: 1.45;
  color: #002776;
  text-align: center;
  font-weight: bold;
}

.merit-02 {
  background: linear-gradient(to right, #33b2e1 0%, #009fda 100%);
  padding: calc(40/750 * 100vw) 0;
  margin: calc(50/750 * 100vw) 0;
}
.merit-02 p {
  text-align: center;
  color: #fff;
  font-size: calc(36/750 * 100vw);
  line-height: 1.4;
  font-weight: bold;
}
.merit-list.merit-03 .merit-list-item::before {
  top: calc(-16/750 * 100vw);
  bottom: 0;
}

/* ----------------
  benefit
---------------- */
.benefit {
  margin-bottom: calc(106/750 * 100vw);
}
.benefit h2 {
  align-items: center;
  line-height: 1.04;
  margin-bottom: calc(56/750 * 100vw);
}
.benefit-box {
  display: flex;
  flex-direction: column-reverse;  
}
.benefit-box + .benefit-box {
  margin-top: calc(108/750 * 100vw);
}
.benefit-box h3 {
  font-size: calc(32/750 * 100vw);
  line-height: 1.56;
  padding-bottom: calc(42/750 * 100vw);
  margin-bottom: calc(35/750 * 100vw);
}
.benefit-box .txt-box p {
  line-height: 1.8;
}
.benefit-box .img-box {
  margin-bottom: calc(40/750 * 100vw);
}

/* ----------------
  voice
---------------- */
.voice {
  margin-bottom: calc(138/750 * 100vw);
  position: relative;
  z-index: 2;
}
.voice-box {
  display: flex;
  flex-direction: column-reverse;  
}
.voice-box + .voice-box {
  margin-top: calc(80/750 * 100vw);
}
.voice-box h3 {
  color: #002776;
  font-size: calc(32/750 * 100vw);
  line-height: 1.25;
  margin-bottom: calc(24/750 * 100vw);
}
.voice-box h3 .ttl-line,
.voice-box h3 .person,
.voice-box h3 .income {
  display: block;
}
.voice-box h3 .ttl-line {
  padding-bottom: calc(30/750 * 100vw);
  margin-bottom: calc(38/750 * 100vw);
}
.voice-box h3 .ttl-line::after {
  background-color: #002776;
}
.voice-box h3 .person {
  font-size: calc(42/750 * 100vw);
  line-height: calc(42/750 * 100vw);
  margin-top: calc(10/750 * 100vw);
}
.voice-box h3 .income {
  font-size: calc(28/750 * 100vw);
  line-height: calc(28/750 * 100vw);
}
.voice-box h3 .income .income-ttl {
  padding: calc(8/750 * 100vw) calc(14/750 * 100vw);
  border: calc(2/750 * 100vw) solid #002776;
  margin-right: calc(28/750 * 100vw);
  box-sizing: border-box;
  vertical-align: calc(10/750 * 100vw);
}
.voice-box h3 .income img {
  width: calc(90/750 * 100vw);
  max-width: 90px;
}
.voice-box h3 .income .eng {
  font-size: calc(60/750 * 100vw);
  line-height: 0;
}
.voice-box .txt-box p {
  line-height: 1.8;
}
.voice-box .img-box {
  margin-bottom: calc(40/750 * 100vw);
}

/* ----------------
  recruit
---------------- */
.recruit {
  background: #eef3f4;
  padding: calc(80/750 * 100vw) 0;
}
.recruit-inner-box {
  padding: 0 calc(10/750 * 100vw);
}
.recruit-box {
  background: #fff;
  width: 100%;
  padding: calc(45/750 * 100vw) calc(42/750 * 100vw) calc(50/750 * 100vw);
}
.recruit-box:not(:last-child) {
  margin-bottom: calc(50/750 * 100vw);
}
.recruit-ttl {
  font-size: calc(38/750 * 100vw);
  text-align: center;
  font-weight: bold;
  color: #002776;
  margin-bottom: calc(48/750 * 100vw);
  position: relative;
}
.recruit-ttl:after {
  content: "";
  display: block;
  margin: 0 auto;
  background: #002776;
  width: calc(300/750 * 100vw);
  height: calc(2/750 * 100vw);
  margin-top: calc(20/750 * 100vw);
}
.recruit-list {
  margin-bottom: calc(45/750 * 100vw);
  display: flex;
  justify-content: center;
  align-items: flex-start;
}
.recruit-list ul:first-child {
  margin-right: calc(30/750 * 100vw);
}
.recruit-list li {
  font-size: calc(24/750 * 100vw);
  color: #002776;
  padding-left: calc(45/750 * 100vw);
  position: relative;
}
.recruit-list li:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  background: url(https://image.email.hays.com/lib/fe4315707564057c751c71/m/3/c8d19a29-c044-4ee9-bc84-71017be8695f.png)no-repeat center;
  background-size: 100%;
  width: 18px;
  height: 19px;
}
.recruit-list li:not(:last-child) {
  margin-bottom: calc(22/750 * 100vw);
}
.recruit-btn {
  position: relative;
}
.recruit-btn a {
  font-size: calc(38/750 * 100vw);
  font-weight: bold;
  color: #fff;
  text-align: center;
  display: block;
  background: linear-gradient(to right, #33b2e1 0%, #009fda 100%);
  padding: calc(20/750 * 100vw) calc(10/750 * 100vw);
  box-shadow: 3.5px 3.5px 0px 0px #ccd4e4;
}

/* ----------------
  flow
---------------- */
.flow {
  background-color: #002776;
  padding: calc(40/750 * 100vw) 0 calc(92/750 * 100vw);
}
.flow h2 {
  margin-bottom: calc(30/750 * 100vw);
}
.flow-box {
  display: flex;
  flex-direction: row-reverse;
  background: linear-gradient(to bottom, rgba(255,255,255,0) 0%, rgba(255,255,255,0) calc(30/750 * 100vw), #fff calc(30/750 * 100vw), #fff 100%);
  padding-bottom: calc(35/750 * 100vw);
  padding-left: calc(30/750 * 100vw);
  position: relative;
}
.flow-box + .flow-box {
  margin-top: calc(52/750 * 100vw);
}
.flow-box + .flow-box::before {
  content: '';
  width: calc(43/750 * 100vw);
  height: calc(24/750 * 100vw);
  background: url(https://image.email.hays.com/lib/fe4315707564057c751c71/m/3/78b961b0-f920-4818-bc83-47c61a706678.png) center top / contain no-repeat;
  position: absolute;
  top: calc(-24/750 * 100vw);
  left: calc(50% - ((43/750 * 100vw)/2));
}
.flow-box h3 {
  font-size: calc(34/750 * 100vw);
  line-height: 1.82;
  text-align: center;
  background: linear-gradient(to right, #33b2e1 0%, #009fda 100%);
  color: #fff;
  width: calc(250/750 * 100vw);
  max-width: 250px;
  margin: 0 0 0 auto;
  margin-bottom: calc(16/750 * 100vw);
}
.flow-box .txt-box p {
  padding: 0 calc(30/750 * 100vw) 0 calc(20/750 * 100vw);
  line-height: 1.8;
}
.flow-box .img-box {
  margin-top: calc(60/750 * 100vw);
  width: calc(350/750 * 100vw);
  max-width: 350px;
  flex: none;
}

/* ----------------
  btn-area
---------------- */
.btn-area {
  padding-top: calc(80/750 * 100vw);
  margin-bottom: calc(113/750 * 100vw);
  text-align: center;
}
.btn-area .btn {
  display: inline-block;
  margin-right: calc(-7/750 * 100vw);
}
.btn-area .btn:hover {
  opacity: 0.7;
  transition: opacity 0.3s;
}

/* ----------------
  fix-area
---------------- */
.fix-area {
  display: none;
  position: fixed;
  z-index: 100;
  left: 0;
  right: 0;
  bottom: 0;
  background: #002776;
  padding: calc(25/750 * 100vw) 0;
  margin: 0 auto;
}
.fix-btn-box {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.fix-btn-box li {
  width: calc(330/750 * 100vw);
  text-align: center;
}
.fix-btn-box li a {
  display: block;
  width: 100%;
  padding: calc(15/750 * 100vw);
  background: #03a0da;
  font-size: calc(44/750 * 100vw);
  font-weight: bold;
  color: #fff;
  box-shadow: calc(7/750 * 100vw) calc(7/750 * 100vw) 0px 0px #001f5e;
  position: relative;
}
.fix-btn-box li:last-child a {
  background: #fff;
  color: #03a0da;
}

/* ----------------
  footer
---------------- */
footer {
  padding: 0 0 calc(140/750 * 100vw);
}
footer .inner {
  padding: calc(48/750 * 100vw) 0;
  border-top: 1px solid #909193;
  text-align: center;
}
footer p {
  margin: 0 auto;
}
.footer-logo {
  width: calc(385/750 * 100vw);
  max-width: 385px;
}
footer .copy {
  margin-top: calc(48/750 * 100vw);
  line-height: 1;
}
footer .copy small {
  color: #002776;
  font-size: calc(28/750 * 100vw);
  line-height: 1;
  letter-spacing: 0.02em;
}

/* ====================================
  PC Style
==================================== */

@media screen and (min-width: 751px) {
  /* ----------------
    Common
  ---------------- */
  .wrapper {
    width: 100%;
    max-width: 1280px;
  }
  main {
    font-size: 16px;
  }
  .inner,
  .pc-inner {
    width: 1080px;
    padding: 0 20px;
    max-width: 100%;
  }
  .pc-inner {
    margin: 0 auto;
  }

  /* ----------------
    Title
  ---------------- */
  .ttl-slash {
    font-size: 34px;
    line-height: 1.76;
  }
  .ttl-slash::before {
    background-image: url(https://image.email.hays.com/lib/fe4315707564057c751c71/m/3/96791588-1f75-4168-9b62-cf48457afec4.png);
    width: 41px;
    height: 80px;
  }
  .ttl-slash.orange::before {
    background-image: url(https://image.email.hays.com/lib/fe4315707564057c751c71/m/3/231904c7-27cf-48e1-b219-25d20aeaac76.png);
  }
  
  .ttl-line::after {
    width: 120px;
    height: 2px;
  }

  /* ttl-slash オレンジグラデ文字 IE対応 */
  _:-ms-fullscreen, :root .ttl-slash.orange>span {
    background: none;
    color: #eb901a;
  }

  .ttl-balloon {
    font-size: 32px;
    line-height: 1.88;
    padding-bottom: 13px;
    margin-bottom: 58px;
    border-bottom-width: 3px;
  }
  .ttl-balloon::after {
    width: 22px;
    height: 22px;
    bottom: -13px;
    left: calc(50% - 11px);
    border-right-width: 3px;
    border-bottom-width: 3px;
  }

  /* ----------------
    fv
  ---------------- */

  .fv-box {
    background: url(https://image.email.hays.com/lib/fe4315707564057c751c71/m/3/b508f315-c0fa-4150-8f81-34140ebdd7d9.jpeg)no-repeat center top;
    background-size: cover;
    margin-bottom: 40px;
    height: 500px;
  }
  .fv-box .inner {
    position: relative;
    height: 100%;
    height: 500px;
  }
  .fv-ttl {
    position: absolute;
    top: 42px;
    bottom: inherit;
    font-size: 38px;
    text-align: right;
    color: #fff;
    padding: 5px 15px;
    background: #002776;
  }
  .fv-ttl span {
    display: inline;
    background: inherit;
    padding: 0;
    margin: 0;
  }
  .fv-subttl {
    position: absolute;
    top: 145px;
    right: 0;
    font-size: 48px;
    text-align: right;
    line-height: 1.33;
    text-shadow: 0px 0px 50px rgba(255, 255, 255, 1);
    margin-bottom: 45px;
  }
  .fv-subttl:before,
  .fv-subttl:after {
    content: none;
  }
  .fv-txt {
    position: absolute;
    top: inherit;
    bottom: 43px;
    right: 0;
    font-size: 36px;
    font-weight: 500;
    text-align: right;
    letter-spacing: 0;
  }
  .fv-txt .txt-orange {
    display: inline-block;
    padding: 7px 15px;
    margin-bottom: 20px;
  }
  
  /* ----------------
  about
  ---------------- */
  .about {
    padding-bottom: 82px;
  }
  .about .ttl-balloon {
    margin-bottom: 50px;
  }
  .about-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
  }
  .about-list li {
    font-size: 18px;
    line-height: 1.2;
    color: #002776;
    width: calc((100% - 80px)/5);
    max-width: 188px;
    height: 100px;
    padding: 20px 10px;
    border: 2px solid #002776;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .about-list li:before {
    content: "";
    display: block;
    width: 20px;
    height: 20px;
    background-color: rgb(255, 255, 255);
    border-right: 2px solid rgb(0, 39, 118);
    transform: rotate(45deg);
    position: absolute;
    top: -10px;
    left: -10px;
    box-sizing: border-box;
    pointer-events: none;
  }
  .about-list li:not(:last-child) {
    margin:0;
  }


  /* ----------------
    reason
  ---------------- */
  .reason {
    background: url(https://image.email.hays.com/lib/fe4315707564057c751c71/m/3/8a1ef70a-03da-4119-8422-d8a19904c1b5.png) center top 40px / 100% auto no-repeat;
    padding-bottom: 70px;
  }
  .reason h2 {
    margin-bottom: 50px;
  }
  .reason-box {
    flex-direction: row;
    justify-content: space-between;
  }
  .reason-box:nth-of-type(even) {
    flex-direction: row-reverse;
  }
  .reason-box + .reason-box {
    margin-top: 80px;
  }
  .reason-box .img-box,
  .reason-box .txt-box {
    width: 48.07%;
    max-width: 500px;
  }
  .reason-box .img-box {
    margin-bottom: 0;
  }
  .reason-box .txt-box {
    max-width: 500px;
    padding-top: 23px;
  }
  .reason-box:nth-of-type(even) .txt-box {
    padding-left: 22px;
  }
  .reason-box h3 {
    font-size: 24px;
    line-height: 1.5;
    padding-bottom: 34px;
    margin-bottom: 32px;
  }
  .reason-box .reason-list li {
    padding-left: 1.7em;
    text-indent: -1.7em;
    line-height: 1.78;
  }
  .reason-box .reason-list li::before {
    margin-right: 0.7em;
  }

  /* ----------------
    merit
  ---------------- */
  .merit {
    padding: 70px 0 78px;
    margin-bottom: 80px;
  }
  .merit h2 {
    margin-bottom: 50px;
  }
  .merit-list {
    display: flex;
    justify-content: center;
  }
  .merit-list .merit-list-item + .merit-list-item {
    margin-left: 35px;
  }
  .merit-list .merit-list-item {
    width: 100%;
    max-width: 180px;
    padding: 23px 0 45px;
  }
  .merit-list .merit-list-item::before,
  .merit-list .merit-list-item::after {
    width: 44px;
    height: 44px;
    bottom: -16px;
    left: calc(50% - 24px);
  }
  .merit-list-item dt {
    font-size: 22px;
    margin: 0 auto 20px;
  }
  .merit-list-item dd {
    font-size: 22px;
    line-height: 1.6;
  }

  .merit-box {
    display: flex;
    flex-wrap: wrap;
  }
  .merit-01 {
    order: 1;
    width: 58.65%;
    max-width: 610px;
  }
  .merit-02 {
    order: 3;
    width: 100%;
    padding: 15px 0;
    margin: 50px 0 0;
  }
  .merit-02 p {
    font-size: 30px;
  }
  .merit-03 {
    order: 2;
    width: 41.35%;
    max-width: 430px;
    padding-left: 35px;
  }
  .merit-list.merit-03 .merit-list-item::before {
    content: none;
  }
  .merit-list.merit-03 .merit-list-item::after {
    content: '';
    background-color: #fff;
  }

  /* ----------------
    benefit
  ---------------- */
  .benefit {
    margin-bottom: 58px;
  }
  .benefit h2 {
    align-items: flex-end;
    line-height: 1.3;
    margin-bottom: 70px;
  }
  .benefit-inner-box {
    display: flex;
    justify-content: space-between;
  }
  .benefit-box {
    display: flex;
    flex-direction: column-reverse;
    justify-content: flex-end;
    position: relative;
    width: 48.07%;
    max-width: 500px;
  }
  .benefit-box + .benefit-box {
    margin-top: 0;
  }
  .benefit-box h3 {
    font-size: 24px;
    line-height: 1.67;
    position: absolute;
    top: 0;
    left: 0;
    padding-bottom: 24px;
    margin-bottom: 0;
  }
  .benefit-box .txt-box p {
    line-height: 1.75;
  }
  .benefit-box .img-box {
    margin-bottom: 20px;
    margin-top: 136px;
  }

  /* ----------------
    voice
  ---------------- */
  .voice {
    margin-bottom: 79px;
  }
  .voice-box {
    flex-direction: row-reverse;
    justify-content: space-between; 
  }
  .voice-box + .voice-box {
    margin-top: 48px;
  }
  .voice-box .txt-box {
    width: 50%;
    max-width: 520px;
    min-width: 464px;
    flex: none;
    margin-left: 40px;
  }
  .voice-box h3 {
    font-size: 22px;
    line-height: 1.27;
    margin-bottom: 22px;
  }
  .voice-box h3 .ttl-line {
    padding-bottom: 30px;
    margin-bottom: 38px;
  }
  .voice-box h3 .ttl-line::after {
    width: 140px;
  }
  .voice-box h3 .person {
    font-size: 32px;
    line-height: 1;
    margin-top: 14px;
  }
  .voice-box h3 .person .eng {
    font-size: 36px;
  }
  .voice-box h3 .income {
    font-size: 22px;
    line-height: 22px;
  }
  .voice-box h3 .income .income-ttl {
    padding: 5px 11px;
    vertical-align: 8px;
    margin-right: 22px;
    border-width: 2px;
  }
  .voice-box h3 .income .eng {
    font-size: 48px;
  }
  .voice-box h3 .income img {
    width: calc(71/750 * 100vw);
    max-width: 71px;
  }
  .voice-box .txt-box p {
    line-height: 1.75;
  }
  .voice-box .img-box {
    width: 55.8%;
    max-width: 480px;
    margin-bottom: 0;
  }

  /* ----------------
  recruit
  ---------------- */
  .recruit {
    padding: 80px 0;
  }
  .recruit-inner-box {
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
  }
  .recruit-box {
    width: calc((100% - 50px)/3);
    max-width: 330px;
    min-height: 380px;
    padding: 25px 35px 30px;
    text-align: center;
  }
  .recruit-box:not(:last-child) {
    margin: 0;
  }
  .recruit-ttl {
    font-size: 26px;
    line-height: 1.3;
    margin-bottom: 28px;
  }
  .recruit-ttl:after {
    content: "";
    display: block;
    margin: 0 auto;
    background: #002776;
    width: 190px;
    height: 2px;
    margin-top: 14px;
  }
  .recruit-box:nth-child(3) .recruit-ttl {
    padding: 20px 0;
    margin-bottom: 10px;
  }
  .recruit-box:nth-child(3) .recruit-ttl:after {
    margin-top: 25px;
  }
  .recruit-list {
    margin-bottom: 19px;
    display: inline-block;
  }
  .recruit-list ul:first-child {
    margin: 0;
  }
  .recruit-list li,
  .recruit-list li:not(:last-child) {
    font-size: 18px;
    text-align: left;
    padding-left: 34px;
    margin-bottom: 6px;
  }
  .recruit-list li:before {
    top: 1px;
    left: 0;
    background: url(https://image.email.hays.com/lib/fe4315707564057c751c71/m/3/6b01bfd1-3310-43e2-ad4b-8713466a4e93.png)no-repeat center;
    background-size: 100%;
    width: 20px;
    height: 19px;
  }
  .recruit-btn {
    position: relative;
    margin-top: auto;
  }
  .recruit-btn a {
    font-size: 22px;
    padding: 8px;
    box-shadow: 6px 6px 0px 0px #ccd4e4;
    transition: .3s;
  }
  .recruit-btn a:hover {
    opacity: .85;
  }

  /* ----------------
    flow
  ---------------- */
  .flow {
    padding: 70px 0 80px;
  }
  .flow h2 {
    margin-bottom: 50px;
  }
  .flow-inner-box {
    display: flex;
    justify-content: space-between;
  }
  .flow-box {
    display: flex;
    flex-direction: column-reverse;
    justify-content: flex-end;
    background: #fff;
    padding: 0 15px 22px;
    position: relative;
    width: calc((100% - 110px)/3);
    max-width: 310px;
  }
  .flow-box + .flow-box {
    margin-top: 0;
    margin-left: 55px;
  }
  .flow-box + .flow-box::before {
    content: '';
    width: 23px;
    height: 42px;
    background: url(https://image.email.hays.com/lib/fe4315707564057c751c71/m/3/c89d1888-58f9-40cf-8c95-8238e6285b8a.png) center top / contain no-repeat;
    position: absolute;
    top: calc(50% - 22px);
    left: -40px;
  }
  .flow-box h3 {
    width: calc(100% - 30px);
    max-width: 280px;
    margin: 0;
    font-size: 24px;
    line-height: 1.7;
    position: absolute;
    top: 20px;
    left: 15px;
  }
  .flow-box .txt-box p {
    padding: 0;
    line-height: 1.75;
  }
  .flow-box .img-box {
    margin-top: 80px;
    margin-bottom: 12px;
    width: 280px;
    max-width: 100%;
    flex: none;
  }

  /* ----------------
    btn-area
  ---------------- */
  .btn-area {
    padding-top: 80px;
    margin-bottom: 93px;
  }
  .btn-area .btn {
    margin-right: -7px;
}

  /* ----------------
    fix-area
  ---------------- */
  .fix-area {
    padding: 15px 0;
  }
  .fix-btn-box {
    justify-content: center;
  }
  .fix-btn-box li {
    width: 290px;
    margin: 0 20px;
  }
  .fix-btn-box li a {
    padding: 14px 0 12px;
    font-size: 22px;
    box-shadow: 6px 6px 0px 0px #001f5e;
    transition: opacity 0.3s;
  }
  .fix-btn-box li a:hover {
    opacity: 0.7;
  }
  .fix-btn-box li a:after {
    content: '';
    display: block;
    background-color: #05a1db;
    transform: rotate(-45deg);
    position: absolute;
    box-sizing: border-box;
    pointer-events: none;
    width: 13px;
    height: 13px;
    bottom: -13px;
    top: calc(40%);
    right: 20px;
    border-right: 3px solid #fff;
    border-bottom: 3px solid #fff;
  }
  .fix-btn-box li:last-child a:after {
    background-color: #fff;
    border-right: 3px solid #05a1db;
    border-bottom: 3px solid #05a1db;
  }

  /* ----------------
    footer
  ---------------- */
  footer {
    padding: 0 20px 80px;
  }
  footer .inner {
    padding: 40px 0 48px;
    text-align: center;
  }
  .footer-logo {
    width: 100%;
    max-width: 289px;
  }
  footer .copy {
    width: 100%;
    max-width: 192px;
    margin-top: 40px;
  }
  footer .copy small {
    font-size: 16px;
  }
}
@media all and (-ms-high-contrast: none){
  .about-list li {
    font-size: 18px;
  }
}
