@import url("https://fonts.googleapis.com/css?family=Yellowtail");
.top .site-main {
  overflow: hidden;
  padding-top: 64px; }
.top .mv {
  background: url("../img/bg_hero.jpg") no-repeat center center/cover;
  position: relative; }
  .top .mv .mv-text {
    top: 50%;
    transform: translateY(-50%); }
  .top .mv h2 {
    font-size: 3.5vw;
    margin: 0; }
  .top .mv .subttl {
    position: relative; }

section h2 {
  font-weight: bold;
  text-align: center;
  line-height: 1.4;
  margin: 0; }
  section h2 span {
    font-family: "Yellowtail", cursive;
    display: block; }
section ~ section {
  margin-bottom: 50px; }

.company .company-right .content-top {
  position: relative;
  background: url("../img/bg_company.jpg") no-repeat;
  background-size: cover;
  color: #fff; }
  .company .company-right .content-top:before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 1; }
  .company .company-right .content-top > * {
    position: relative;
    z-index: 2; }
  .company .company-right .content-top h2 {
    font-size: 2.4em;
    text-align: left;
    margin: 0; }
    .company .company-right .content-top h2 span {
      display: inline-block; }
      .company .company-right .content-top h2 span:after {
        content: ".";
        width: 0;
        font-size: 0;
        color: transparent;
        margin-right: 1px; }
.company .company-right .content-bottom {
  color: #160004; }
  .company .company-right .content-bottom p:last-of-type {
    text-align: center; }

.interview h2 {
  color: #160004; }
  .interview h2 span {
    font-family: "Yellowtail", cursive; }

.our-strength {
  color: #fff; }
  .our-strength .ourstrength-header {
    text-shadow: 0px 0px 10px #000; }
  .our-strength .item-detail h3 {
    margin: 0; }
  .our-strength .item-detail .icon {
    color: #125a8f; }

@media screen and (min-width: 900px) {
  .ie .company .company-left .thumb img {
    height: auto; }

  .mv .mv-text .subttl:after {
    width: 43px;
    height: 43px; }

  .company .company-content {
    display: table;
    width: 100%; }
  .company .company-left, .company .company-right {
    width: 50%;
    display: table-cell;
    vertical-align: top;
    overflow: hidden;
    position: relative;
    padding-bottom: 64px; }
  .company .company-left .thumb {
    position: absolute;
    width: 100%;
    height: 100%; }
    .company .company-left .thumb img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover; }
  .company .company-right .content-top .tlt-small {
    margin-bottom: 5px; }
  .company .company-right .content-top h2 {
    font-size: 34px; }
    .company .company-right .content-top h2 span {
      display: inline-block;
      font-size: inherit;
      font-family: inherit; }
  .company .company-right .content-bottom {
    color: #160004; }

  .interview {
    margin-bottom: 50px; }
    .interview h2 {
      margin-bottom: 25px; }

  .our-strength {
    background: url("../img/bg_ourstrength.jpg") no-repeat;
    background-size: cover; }
    .our-strength .lead {
      text-align: center;
      margin: 0 auto 15px;
      width: 90%; }
      .our-strength .lead span {
        display: inline-block; }
    .our-strength .ourstrength-content {
      max-width: 1130px;
      margin: 0 auto; }
      .our-strength .ourstrength-content .ourstrength-list {
        position: relative;
        overflow: hidden; }
      .our-strength .ourstrength-content .item {
        width: 33.33%;
        float: left;
        text-align: center; }
      .our-strength .ourstrength-content .item-detail {
        position: relative;
        background-color: #51a9e9;
        color: #fff;
        padding: 0 10px;
        display: block;
        text-decoration: none;
        height: 100%; }
        .our-strength .ourstrength-content .item-detail span {
          display: inline-block; }
        .our-strength .ourstrength-content .item-detail .icon {
          position: relative;
          background-color: #fff;
          border-radius: 50%;
          top: -40px;
          width: 80px;
          height: 80px;
          font-size: 35px; }
        .our-strength .ourstrength-content .item-detail h3 {
          font-weight: bold; }
        .our-strength .ourstrength-content .item-detail .btn {
          position: absolute;
          bottom: 0;
          right: .5em; } }
@media screen and (min-width: 900px) and (max-width: 1199px) {
  section h2 {
    font-size: 32px; }
    section h2 span {
      font-size: 16px; }

  .top .mv {
    height: 500px; }
    .top .mv h1 {
      font-size: 3vw; }
    .top .mv .subttl {
      font-size: 1.8vw; }

  .mv .mv-text .subttl:after {
    bottom: -60px; }

  .company {
    margin-bottom: 50px; }
    .company .company-left, .company .company-right {
      padding-bottom: 30px; }
    .company .company-right .content-top {
      padding: 60px 30px 40px; }
      .company .company-right .content-top h2 {
        font-size: 22px; }
      .company .company-right .content-top .tlt-small {
        font-size: 15px; }
    .company .company-right .content-bottom {
      padding: 15px 30px 0; }
      .company .company-right .content-bottom p {
        font-size: 15px; }
      .company .company-right .content-bottom .btn {
        margin-top: 15px; }

  .our-strength {
    padding-top: 40px; }
    .our-strength h2 {
      margin-bottom: 10px; }
    .our-strength .lead {
      font-size: 15px; }
    .our-strength .ourstrength-content {
      max-width: 870px; }
      .our-strength .ourstrength-content .ourstrength-list {
        margin: 0 -30px -20px;
        padding-top: 40px; }
      .our-strength .ourstrength-content .item {
        padding: 0 15px; }
      .our-strength .ourstrength-content .item-detail:after {
        width: 180px;
        height: auto;
        background-size: 180px; }
      .our-strength .ourstrength-content .item-detail .icon {
        margin: 0 auto -25px;
        width: 70px;
        height: 70px;
        top: -35px;
        line-height: 70px;
        font-size: 25px; }
      .our-strength .ourstrength-content .item-detail h3 {
        font-size: 18px;
        margin: 0 auto 10px; }
        .our-strength .ourstrength-content .item-detail h3 span {
          display: inline-block; }

  .recruit {
    padding-top: 70px; }
    .recruit h2 {
      margin-bottom: 10px; }
    .recruit .lead {
      margin-bottom: 25px; }
    .recruit .recruit-bottom .item .content {
      padding: 35px 15px; }
      .recruit .recruit-bottom .item .content h3 {
        font-size: 25px;
        margin-bottom: 5px; }
      .recruit .recruit-bottom .item .content .tlt-en {
        font-size: 20px; } }
@media screen and (min-width: 1200px) {
  section h2 {
    font-size: 30px; }
    section h2 span {
      font-size: 15px; }

  .top .mv {
    height: 700px; }
    .top .mv h1 {
      font-size: 3.5vw; }
    .top .mv .subttl {
      font-size: 2vw; }

  .mv .mv-text .subttl:after {
    bottom: -70px; }

  .company .company-left, .company .company-right {
    padding-bottom: 50px; }
  .company .company-right .content-top {
    padding: 60px 50px 40px; }
    .company .company-right .content-top h2 {
      font-size: 28px; }
    .company .company-right .content-top .tlt-small {
      font-size: 15px; }
  .company .company-right .content-bottom {
    padding: 30px 50px 0; }
    .company .company-right .content-bottom p {
      font-size: 15px; }
    .company .company-right .content-bottom .btn {
      margin-top: 25px; }

  .our-strength {
    padding-top: 60px;
    margin-bottom: 100px; }
    .our-strength h2 {
      margin-bottom: 10px; }
    .our-strength .lead {
      font-size: 15px;
      margin-bottom: 15px; }
    .our-strength .ourstrength-content .ourstrength-list {
      margin: 0 -60px -20px;
      padding-top: 50px; }
    .our-strength .ourstrength-content .item {
      padding: 0 60px; }
    .our-strength .ourstrength-content .item-detail .icon {
      margin: 0 auto -20px;
      top: -40px;
      width: 80px;
      height: 80px;
      line-height: 80px;
      font-size: 30px; }
    .our-strength .ourstrength-content .item-detail h3 {
      font-size: 20px;
      margin-bottom: 12px; }
    .our-strength .ourstrength-content .item-detail .des {
      padding: 1.5em 0 3em; }

  .recruit {
    padding-top: 90px; }
    .recruit h2 {
      margin-bottom: 10px; }
    .recruit .lead {
      margin-bottom: 35px; }
    .recruit .recruit-bottom .item a:hover .thumb img {
      transform: scale(1.1);
      -webkit-transform: scale(1.1);
      -moz-transform: scale(1.1);
      -ms-transform: scale(1.1);
      -o-transform: scale(1.1); }
    .recruit .recruit-bottom .item .content {
      padding: 50px 15px; }
      .recruit .recruit-bottom .item .content h3 {
        font-size: 22px;
        margin-bottom: 8px; }
      .recruit .recruit-bottom .item .content .tlt-en {
        font-size: 16px; } }
@media screen and (min-width: 1600px) {
  .top .mv {
    height: 800px; }
    .top .mv h1 {
      font-size: 40px; }

  .mv .mv-text h1 {
    margin: 0 0 10px; }

  .company {
    margin-bottom: 97px; }
    .company .company-right .content-top {
      padding: 75px 88px; }
      .company .company-right .content-top .tlt-small {
        font-size: 16px; }
    .company .company-right .content-bottom {
      padding: 45px 88px 0; }
      .company .company-right .content-bottom p {
        font-size: 16px; }
      .company .company-right .content-bottom .btn a {
        width: 243px;
        height: 63px; }

  .our-strength {
    padding-top: 85px; }
    .our-strength h2 {
      margin-bottom: 18px; }
    .our-strength .lead {
      font-size: 16px;
      margin-bottom: 20px; }
    .our-strength .ourstrength-content .item-detail .icon {
      margin: 0 auto -12px; }

  .recruit {
    padding-top: 110px; }
    .recruit h2 {
      margin-bottom: 18px; }
    .recruit .lead {
      margin-bottom: 55px; }
    .recruit .recruit-bottom .item .content {
      padding: 80px 15px; }
      .recruit .recruit-bottom .item .content h3 {
        padding-bottom: 2px; } }
@media screen and (max-width: 899px) {
  section h2, .l-swiper h2 {
    font-size: 20px;
    margin-bottom: 15px; }

  .top .mv {
    height: 100vh; }
    .top .mv h1 {
      font-size: 26px; }
    .top .mv .subttl {
      font-size: 3vw; }

  .mv .mv-text {
    padding: 0 15px; }
    .mv .mv-text p {
      font-size: 18px; }
    .mv .mv-text .subttl {
      position: relative; }
      .mv .mv-text .subttl:after {
        width: 30px;
        height: 30px;
        background-size: 30px;
        bottom: -45px; }

  .company {
    margin-bottom: 50px; }
    .company .thumb img {
      display: block; }
    .company .company-content .company-right .content-top {
      padding: 30px 15px;
      overflow: hidden; }
      .company .company-content .company-right .content-top .tlt-small {
        font-size: 11px;
        display: inline-block; }
      .company .company-content .company-right .content-top h2 {
        font-size: 18px; }
    .company .company-content .company-right .content-bottom {
      padding: 20px; }
      .company .company-content .company-right .content-bottom p {
        font-size: 14px; }
      .company .company-content .company-right .content-bottom .btn {
        margin-top: 15px; }
        .company .company-content .company-right .content-bottom .btn a {
          display: block;
          font-size: 16px; }

  .our-strength {
    background-color: #fff;
    margin-bottom: 50px; }
    .our-strength .ourstrength-header {
      text-align: center;
      padding: 30px 15px;
      background: url("../img/bg_ourstrength.jpg") no-repeat;
      background-size: cover; }
      .our-strength .ourstrength-header h2 {
        margin-bottom: 10px; }
      .our-strength .ourstrength-header .lead {
        text-align: left; }
    .our-strength .ourstrength-list {
      padding: 0 15px;
      margin-top: -15px; }
      .our-strength .ourstrength-list .item {
        background-color: #51a9e9;
        padding: 20px;
        margin-bottom: 8px; }
        .our-strength .ourstrength-list .item a {
          color: #fff;
          text-decoration: none; }
      .our-strength .ourstrength-list .item-detail {
        display: table;
        width: 100%; }
        .our-strength .ourstrength-list .item-detail .icon, .our-strength .ourstrength-list .item-detail .content {
          display: table-cell;
          vertical-align: middle; }
        .our-strength .ourstrength-list .item-detail .icon {
          width: 50px;
          text-align: center;
          display: inline-block;
          width: 50px;
          height: 50px;
          background-color: #fff;
          line-height: 50px;
          border-radius: 50%;
          font-size: 20px; }
        .our-strength .ourstrength-list .item-detail .content {
          padding-left: 1em; }
          .our-strength .ourstrength-list .item-detail .content h3 {
            font-size: 16px;
            font-weight: bold;
            margin-bottom: 10px; }
          .our-strength .ourstrength-list .item-detail .content .des {
            font-size: 14px; }
          .our-strength .ourstrength-list .item-detail .content .btn {
            text-align: right; }

  .recruit .recruit-header {
    padding: 47px 15px 20px;
    text-align: center; }
    .recruit .recruit-header h2 {
      margin-bottom: 8px; }
  .recruit .recruit-bottom .content {
    padding: 55px 15px; }
    .recruit .recruit-bottom .content h3 {
      font-size: 20px;
      padding-bottom: 3px;
      margin-bottom: 10px; }
    .recruit .recruit-bottom .content .tlt-en {
      font-size: 15px; }

  .interview h2 {
    margin-bottom: 15px; } }
@media screen and (min-width: 481px) and (max-width: 899px) {
  .top .mv .mv-text {
    top: 60%; } }
@media screen and (min-width: 768px) and (max-width: 899px) {
  section h2, .l-swiper h2 {
    font-size: 32px;
    margin-bottom: -40px; }

  .top .mv h2 {
    font-size: 5vw; }
  .top .mv .subttl {
    font-size: 4vw; }

  .mv .mv-text .subttl:after {
    width: 43px;
    height: 43px;
    background-size: 43px;
    bottom: -53px; }

  .company .company-content .company-right .content-top {
    padding: 50px 30px 40px; }
    .company .company-content .company-right .content-top .tlt-small {
      font-size: 16px; }
    .company .company-content .company-right .content-top h2 {
      font-size: 32px; }
  .company .company-content .company-right .content-bottom {
    padding: 30px; }
    .company .company-content .company-right .content-bottom p {
      font-size: 18px; }
    .company .company-content .company-right .content-bottom .btn {
      margin-top: 15px; }
      .company .company-content .company-right .content-bottom .btn a {
        display: block;
        font-size: 20px; }

  .our-strength .ourstrength-header {
    padding: 50px 60px; }
    .our-strength .ourstrength-header .lead {
      font-size: 18px; }
  .our-strength .ourstrength-list {
    padding: 0 60px; }
    .our-strength .ourstrength-list .item {
      padding: 30px 35px;
      margin-bottom: 10px; }
    .our-strength .ourstrength-list .item-detail .icon {
      width: 80px;
      width: 80px;
      height: 80px;
      line-height: 80px;
      border-radius: 50%;
      font-size: 35px; }
    .our-strength .ourstrength-list .item-detail .content h3 {
      font-size: 25px; }
    .our-strength .ourstrength-list .item-detail .content .des {
      font-size: 16px; }

  .recruit .recruit-header {
    padding: 50px 60px 25px; }
    .recruit .recruit-header h2 {
      margin-bottom: 8px; }
    .recruit .recruit-header .lead {
      font-size: 18px; }
  .recruit .recruit-bottom .content {
    padding: 60px 30px; }
    .recruit .recruit-bottom .content h3 {
      font-size: 30px; }
    .recruit .recruit-bottom .content .tlt-en {
      font-size: 18px; } }
@media screen and (max-width: 375px) {
  .l-swiper h2 {
    margin-bottom: 0px; } }
@media screen and (max-width: 480px) {
  .top .mv {
    height: 50vh;
    height: calc(50vh + 6.4rem); }
    .top .mv:before {
      background-color: rgba(91, 91, 91, 0.4); }
    .top .mv .mv-text h2 {
      font-size: 6.5vw;
      line-height: 1.4;
      margin-bottom: 5px; }
      .top .mv .mv-text h2 span {
        display: inline-block; }
    .top .mv .mv-text p {
      font-size: 12px; }
    .top .mv .mv-text .subttl:after {
      bottom: -35px; }

  .our-strength .lead, .recruit .lead {
    font-size: 13px; } }

/*# sourceMappingURL=style.css.map */
