.top .hero {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: 100%;
  background-image: url("/img/bg_hero_02.jpg");
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: cover; }
  .top .hero #top {
    width: 100%;
    height: 100%; }
.top .hero-text {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%); }
  .top .hero-text h2 {
    font-size: 3.5vw;
    text-shadow: 1px 1px 0 #08BBF2, -1px 1px 0 #08BBF2, 1px -1px 0 #08BBF2, -1px -1px 0 #08BBF2;
    margin: 0; }
  .top .hero-text .subttl {
    font-size: 1.5vw; }

section h2 {
  text-align: center;
  line-height: 1.4;
  margin: 0; }
  section h2 span {
    display: block;
    text-transform: uppercase;
    letter-spacing: 0.05em; }

.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 > * {
    position: relative;
    z-index: 2; }
  .company .company-right .content-top h2 {
    text-align: left;
    margin: 0;
    filter: drop-shadow(1px 1px 0 #3f7619); }
.company .company-right .content-bottom {
  color: #382218; }

.interview h2 {
  color: #382218; }

.our-strength {
  color: #fff; }
  .our-strength h2 {
    margin-bottom: 30px; }
  .our-strength .ourstrength-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    .our-strength .ourstrength-list .item {
      background: #1f83bd;
      padding: 20px;
      margin: 30px;
      transition: .3s;
      width: 33.333333%; }
      .our-strength .ourstrength-list .item .content {
        color: #fff; }
        .our-strength .ourstrength-list .item .content h3 {
          margin-top: 0; }
      .our-strength .ourstrength-list .item:hover {
        background: #08BBF2; }
        .our-strength .ourstrength-list .item:hover svg {
          transform: translateX(15px);
          transition: .3s; }
      .our-strength .ourstrength-list .item a {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center; }

.recruit p {
  text-align: center; }
.recruit .lead {
  text-align: center; }
.recruit .recruit-bottom .item .content {
  color: #fff;
  text-align: center; }
  .recruit .recruit-bottom .item .content h3 {
    display: inline-block;
    border-bottom: 1px solid #fff;
    margin: 0; }

.tns-outer {
  margin-top: 15px; }

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

  .hero .hero-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: 20px; }
    .company .company-right .content-top h2 span {
      font-size: inherit;
      font-family: inherit; }
  .company .company-right .content-bottom {
    color: #382218; }

  .interview h2 {
    margin-bottom: 10px; }
  .interview .item {
    width: 33.333333%; }

  .our-strength {
    background: url("../img/bg_ourstrength.jpg") no-repeat;
    background-size: cover; }
    .our-strength .lead {
      text-align: center; }
    .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-detail {
        position: relative;
        color: #fff;
        padding: 0 10px;
        display: block;
        height: 100%; }
        .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 .hero {
    height: 500px; }

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

  .company {
    margin-bottom: 50px; }
    .company .company-left {
      padding-bottom: 30px; }
    .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; }
          .company .company-right .content-bottom .btn a {
            width: 220px;
            height: 50px; }

  .interview .item .txt-top {
    writing-mode: inherit;
    top: 0;
    left: 0; }

  .our-strength {
    padding-top: 40px; }
    .our-strength .lead {
      font-size: 15px;
      margin-bottom: 15px; }
    .our-strength .ourstrength-content {
      max-width: 870px; }
      .our-strength .ourstrength-content .ourstrength-list {
        margin: 0 -30px -20px;
        padding-top: 40px; }
    .our-strength h3 {
      font-size: 18px;
      margin-bottom: 10px; }

  .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: 24px;
        margin-bottom: 5px; } }
@media screen and (min-width: 1200px) {
  section h2 {
    font-size: 29px; }
    section h2 span {
      font-size: 15px; }

  .top .hero {
    height: 700px; }

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

  .company {
    margin-bottom: 70px; }
    .company .company-left {
      padding-bottom: 50px; }
    .company .company-right {
      padding-bottom: 50px; }
      .company .company-right .content-top {
        padding: 60px 50px 40px; }
        .company .company-right .content-top h2 {
          font-size: 24px; }
        .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; }
          .company .company-right .content-bottom .btn a {
            width: 240px;
            height: 60px; }

  .our-strength {
    padding-top: 60px; }
    .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-detail h3 {
      font-size: 20px;
      margin-bottom: 12px; }

  .recruit {
    padding-top: 90px; }
    .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 .hero {
    height: 800px; }
    .top .hero h1 {
      font-size: 40px; }

  .hero .hero-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; }

  .recruit {
    padding-top: 110px; }
    .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 {
    margin-bottom: 15px; }

  .top .hero {
    height: 100vh; }

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

  .company {
    margin-bottom: 50px; }
    .company .thumb img {
      display: none; }
    .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 {
      display: inherit;
      padding: 0 15px;
      margin-top: -15px; }
      .our-strength .ourstrength-list .item {
        width: 100%;
        padding: 25px;
        margin: 0 0 15px 0; }
        .our-strength .ourstrength-list .item a {
          color: #fff; }
      .our-strength .ourstrength-list .item-detail {
        display: table;
        width: 100%; }
        .our-strength .ourstrength-list .item-detail .content {
          display: table-cell;
          vertical-align: middle;
          padding-left: 1em; }
          .our-strength .ourstrength-list .item-detail .content h3 {
            font-size: 16px;
            margin: 0 auto 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: 768px) and (max-width: 899px) {
  section h2 {
    font-size: 32px; }

  .top .hero h2 {
    font-size: 4.5vw; }
  .top .hero .subttl {
    font-size: 4vw; }

  .hero .hero-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-list {
    padding: 0 60px; }
    .our-strength .ourstrength-list .item {
      padding: 30px 35px;
      margin-bottom: 10px; }
    .our-strength .ourstrength-list .item-detail .content h3 {
      font-size: 24px; }
    .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: 767px) {
  .top .hero {
    height: calc(50vh + 200px);
    background-image: url(../img/bghero_sp.jpg);
    background-position: center center; }
    .top .hero .sWindow0 {
      display: none !important; }

  .our-strength .ourstrength-header {
    background: url(../img/bg_ourstrength_sp.jpg);
    background-size: cover; } }
@media screen and (max-width: 480px) {
  .top .hero:before {
    background-color: rgba(0, 0, 0, 0.25); }
  .top .hero .hero-text h2 {
    font-size: 8vw;
    line-height: 1.4;
    margin-bottom: 5px; }
    .top .hero .hero-text h2 span {
      display: inline-block; }
  .top .hero .hero-text .subttl {
    font-size: 4.5vw; }

  .company .company-content .company-right .content-top h2 {
    letter-spacing: .3px; }

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