.header {
  position: absolute; }

.t_ttl01 {
  display: flex;
  align-items: flex-end;
  color: #fff;
  margin: 0; }
  @media (max-width: 768px) {
    .t_ttl01 {
      flex-flow: column;
      align-items: center; } }
  .t_ttl01 .eng {
    font-size: 7.320644216691069vw;
    font-family: "Roboto", sans-serif;
    font-weight: 100; }
    @media (max-width: 768px) {
      .t_ttl01 .eng {
        font-size: 8vw; } }
  .t_ttl01 .jpg {
    font-size: 1.3177159590043925vw;
    font-weight: 500;
    line-height: 2.5;
    margin: 0 1.0rem; }
    @media (max-width: 768px) {
      .t_ttl01 .jpg {
        font-size: 4.266666666666667vw;
        margin: 0; } }

.t_ttl02 {
  color: #fff;
  position: relative;
  margin: 0; }
  .t_ttl02::before {
    content: "";
    position: absolute;
    width: 19.32650073206442vw;
    height: 6.076134699853587vw;
    background-color: #FF5800;
    border-radius: 3.074670571010249vw;
    bottom: 0;
    left: -3.6603221083455346vw;
    z-index: -1; }
    @media (max-width: 768px) {
      .t_ttl02::before {
        width: 71.2vw;
        height: 13.600000000000001vw;
        border-radius: 11.200000000000001vw;
        left: 50%;
        transform: translateX(-50%); } }
  .t_ttl02 .eng {
    font-size: 7.320644216691069vw;
    font-family: "Roboto", sans-serif;
    font-weight: 100;
    z-index: 5; }
    @media (max-width: 768px) {
      .t_ttl02 .eng {
        font-size: 16vw;
        line-height: 0.75;
        text-align: center; } }
  .t_ttl02 .jpg {
    font-size: 1.3177159590043925vw;
    font-weight: 500;
    line-height: 2.5;
    margin-top: -1.0980966325036603vw;
    margin-left: 0.7320644216691069vw;
    z-index: 5; }
    @media (max-width: 768px) {
      .t_ttl02 .jpg {
        font-size: 4.8vw;
        margin-top: 0;
        margin-left: 0;
        text-align: center;
        font-weight: 400;
        letter-spacing: .2em; } }

.top {
  padding: 15.739385065885797vw 0 10.61493411420205vw;
  background: url("../images/top/top_bg.png") no-repeat 0 100%;
  background-size: cover; }
  @media (max-width: 768px) {
    .top {
      padding: 25.333333333333336vw 0 20vw;
      background: url("../images/top/top_bg_sp.png") no-repeat 0 0 #194DA8;
      background-size: 100%; } }
  .top .ttl {
    display: flex;
    justify-content: space-between;
    margin: 0 0 3.5rem; }
    @media (max-width: 768px) {
      .top .ttl {
        display: block;
        margin-bottom: 9.333333333333334vw; } }
    .top .ttl .eng {
      font-family: "Roboto", sans-serif;
      font-weight: 100;
      color: #194DA8;
      font-size: 6.954612005856515vw;
      line-height: 1.15; }
      @media (max-width: 768px) {
        .top .ttl .eng {
          font-size: 10.666666666666668vw;
          line-height: 1.425; } }
    .top .ttl .jpg {
      color: #fff;
      font-size: 2.4890190336749636vw;
      font-weight: 500;
      line-height: 1.3;
      text-align: right; }
      @media (max-width: 768px) {
        .top .ttl .jpg {
          font-size: 6.666666666666667vw;
          text-align: center;
          margin-top: 6.666666666666667vw; } }
  .top .photo img {
    width: 100%;
    border-radius: 3.0rem; }
    @media (max-width: 768px) {
      .top .photo img {
        border-radius: 2.666666666666667vw; } }

.business {
  background-color: #194DA8;
  padding-bottom: 13.0rem; }
  @media (max-width: 768px) {
    .business {
      padding-bottom: 20vw; } }
  .business .t_ttl01 {
    margin-bottom: 6.0rem; }
    @media (max-width: 768px) {
      .business .t_ttl01 {
        margin-bottom: 4vw; } }
  .business .txt-photo {
    display: flex;
    justify-content: space-between; }
    @media (max-width: 768px) {
      .business .txt-photo {
        flex-flow: column-reverse; } }
    .business .txt-photo .txt-area {
      width: 36.17%; }
      @media (max-width: 768px) {
        .business .txt-photo .txt-area {
          width: 100%; } }
      .business .txt-photo .txt-area .txt {
        font-size: 2.4rem;
        line-height: 1.91;
        margin-bottom: 2.5rem;
        color: #fff; }
        @media (max-width: 768px) {
          .business .txt-photo .txt-area .txt {
            font-size: 3.4666666666666663vw;
            margin-bottom: 4vw;
            text-align: center; } }
      .business .txt-photo .txt-area .c_button01 a {
        background-color: #fff;
        color: #194DA8; }
    .business .txt-photo .photo {
      width: 60.42%; }
      @media (max-width: 768px) {
        .business .txt-photo .photo {
          width: 100%; } }

.company {
  background-color: #194DA8;
  padding-bottom: 10.0rem;
  margin-bottom: 10.0rem; }
  @media (max-width: 768px) {
    .company {
      padding-bottom: 22.666666666666664vw;
      margin-bottom: 8vw; } }
  .company .t_ttl01 {
    margin-bottom: 6.0rem;
    justify-content: flex-end; }
    @media (max-width: 768px) {
      .company .t_ttl01 {
        margin-bottom: 4vw;
        flex-flow: column-reverse; } }
  .company .txt-photo {
    display: flex;
    flex-flow: row-reverse;
    justify-content: space-between; }
    @media (max-width: 768px) {
      .company .txt-photo {
        flex-flow: column-reverse;
        justify-content: center;
        align-items: center; } }
    .company .txt-photo .txt-area {
      width: 36.17%; }
      @media (max-width: 768px) {
        .company .txt-photo .txt-area {
          width: 100%; } }
      .company .txt-photo .txt-area .txt {
        font-size: 2.4rem;
        line-height: 1.91;
        margin-bottom: 2.5rem;
        color: #fff;
        text-align: right; }
        @media (max-width: 768px) {
          .company .txt-photo .txt-area .txt {
            font-size: 3.4666666666666663vw;
            line-height: 1.69;
            margin-bottom: 4vw;
            text-align: center; } }
      .company .txt-photo .txt-area .c_button01 {
        margin-left: auto; }
        .company .txt-photo .txt-area .c_button01 a {
          background-color: #fff;
          color: #194DA8; }
    .company .txt-photo .photo {
      width: 60.42%; }
      @media (max-width: 768px) {
        .company .txt-photo .photo {
          width: 100%; } }

.news {
  margin-bottom: 20.0rem; }
  @media (max-width: 768px) {
    .news {
      margin-bottom: 18.666666666666668vw; } }
  .news .c_container {
    display: flex;
    justify-content: space-between; }
    @media (max-width: 768px) {
      .news .c_container {
        display: block; } }
  .news .t_ttl01 {
    width: 21.96%;
    color: #194DA8;
    flex-flow: column;
    align-items: flex-start; }
    @media (max-width: 768px) {
      .news .t_ttl01 {
        align-items: center;
        width: 100%; } }
    .news .t_ttl01::before {
      display: none; }
  .news .c_button01 {
    margin-top: 3.5rem; }
    .news .c_button01 a {
      background-color: #194DA8; }
  .news .news-list {
    width: 53.8%; }
    @media (max-width: 768px) {
      .news .news-list {
        width: 100%; } }
    .news .news-list__item {
      border-bottom: 1px solid #B4B4B4;
      padding: 1.5rem 0; }
      @media (max-width: 768px) {
        .news .news-list__item {
          padding: 4vw 0; } }
      .news .news-list__item dt {
        display: flex;
        align-items: center; }
        .news .news-list__item dt .date {
          margin-right: 1.5em;
          font-size: 1.4rem;
          color: #7C7C7C; }
          @media (max-width: 768px) {
            .news .news-list__item dt .date {
              margin-right: 2.666666666666667vw;
              font-size: 3.2vw; } }
        .news .news-list__item dt .category {
          display: block;
          color: #fff;
          text-decoration: none;
          background-color: #194DA8;
          font-size: 1.0rem;
          padding: .5rem 1.0rem;
          border-radius: 3.0rem; }
          @media (max-width: 768px) {
            .news .news-list__item dt .category {
              font-size: 2.666666666666667vw;
              padding: 1.3333333333333335vw 2.666666666666667vw; } }
      .news .news-list__item dd {
        margin-left: 0;
        margin-top: 1.0rem; }
        @media (max-width: 768px) {
          .news .news-list__item dd {
            margin-top: 2.666666666666667vw; } }
        .news .news-list__item dd a {
          line-height: 1.75;
          font-size: 1.8rem;
          color: #101010;
          text-decoration: none; }
          @media (max-width: 768px) {
            .news .news-list__item dd a {
              font-size: 3.733333333333334vw; } }
          .news .news-list__item dd a:hover {
            text-decoration: underline; }

.banner .banner__box {
  display: flex;
  flex-flow: column;
  justify-content: center;
  width: 100%;
  height: 26.57393850658858vw;
  padding: 0 3.22108345534407vw 0 5.856515373352855vw;
  position: relative;
  z-index: 0; }
  @media (max-width: 768px) {
    .banner .banner__box {
      height: 104vw;
      padding: 5.333333333333334vw 0 8vw;
      align-items: center;
      justify-content: space-between; } }
  .banner .banner__box .txt {
    color: #fff;
    font-size: 2.4rem;
    line-height: 1.9;
    margin-bottom: 0; }
    @media (max-width: 768px) {
      .banner .banner__box .txt {
        font-size: 4.8vw;
        line-height: 1.44;
        margin-top: auto;
        margin-bottom: 5.333333333333334vw;
        text-align: center; } }
  .banner .banner__box .c_button01 {
    margin-left: auto; }
  .banner .banner__box.recruit {
    background: url("../images/top/recruit_bg.jpg") no-repeat center center;
    background-size: cover; }
    @media (max-width: 768px) {
      .banner .banner__box.recruit {
        background-image: url("../images/top/recruit_bg_sp.jpg"); } }
  .banner .banner__box.alliance {
    background: url("../images/top/alliance_bg.jpg") no-repeat center center;
    background-size: cover; }
    @media (max-width: 768px) {
      .banner .banner__box.alliance {
        background-image: url("../images/top/alliance_bg_sp.jpg"); } }
    .banner .banner__box.alliance .t_ttl02::before {
      background-color: #194DA8; }
    .banner .banner__box.alliance .c_button01 a {
      background-color: #194DA8; }
  .banner .banner__box + .banner__box {
    margin-top: 3.8rem; }
    @media (max-width: 768px) {
      .banner .banner__box + .banner__box {
        margin-top: 13.333333333333334vw; } }

.contact {
  padding: 17.5rem 0 25.0rem; }
  @media (max-width: 768px) {
    .contact {
      padding: 13.333333333333334vw 0 20vw; } }
  .contact .inn {
    width: 55.4904831625183vw;
    margin: 0 auto; }
    @media (max-width: 768px) {
      .contact .inn {
        width: 100%;
        padding: 0 3.6603221083455346vw; } }
    .contact .inn .t_ttl01 {
      color: #194DA8; }
      .contact .inn .t_ttl01 .jpg {
        margin-left: 3.6603221083455346vw; }
        @media (max-width: 768px) {
          .contact .inn .t_ttl01 .jpg {
            margin-left: 0; } }
    .contact .inn .txt-tel {
      display: flex;
      justify-content: space-between;
      border-top: 1px solid #B4B4B4;
      margin-top: 2.0rem;
      padding-top: 3.0rem; }
      @media (max-width: 768px) {
        .contact .inn .txt-tel {
          display: block;
          margin-top: 5.333333333333334vw;
          padding-top: 5.333333333333334vw; } }
      .contact .inn .txt-tel .txt {
        width: 59.36%;
        font-size: 1.8rem;
        line-height: 2.1; }
        @media (max-width: 768px) {
          .contact .inn .txt-tel .txt {
            width: 100%;
            font-size: 3.2vw;
            line-height: 1.7;
            text-align: center; } }
      .contact .inn .txt-tel .tel-block {
        width: 34.3%; }
        @media (max-width: 768px) {
          .contact .inn .txt-tel .tel-block {
            width: 100%; } }
        .contact .inn .txt-tel .tel-block .tel {
          font-family: "Roboto", sans-serif;
          font-weight: 400;
          font-size: 3.2rem;
          margin-bottom: 1.0rem;
          text-align: center; }
          @media (max-width: 768px) {
            .contact .inn .txt-tel .tel-block .tel {
              font-size: 6.666666666666667vw; } }
          .contact .inn .txt-tel .tel-block .tel a {
            text-decoration: none;
            color: #194DA8; }
        .contact .inn .txt-tel .tel-block .point {
          text-align: center;
          font-size: 1.2rem;
          color: #7C7C7C;
          margin-bottom: 2.5rem; }
          @media (max-width: 768px) {
            .contact .inn .txt-tel .tel-block .point {
              font-size: 2.666666666666667vw;
              margin-bottom: 6.666666666666667vw; } }
        .contact .inn .txt-tel .tel-block .button {
          width: 18.887262079062957vw;
          max-width: 25.8rem;
          margin: 0 auto; }
          @media (max-width: 768px) {
            .contact .inn .txt-tel .tel-block .button {
              width: 68.8vw;
              max-width: none; } }
          .contact .inn .txt-tel .tel-block .button a {
            display: block;
            background-color: #FF5800;
            padding: 1.0rem 0;
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: 4.0rem;
            color: #fff;
            text-decoration: none; }
            @media (max-width: 768px) {
              .contact .inn .txt-tel .tel-block .button a {
                padding: 2.666666666666667vw 0;
                border-radius: 7.199999999999999vw; } }
            .contact .inn .txt-tel .tel-block .button a img {
              width: 2.562225475841874vw;
              max-width: 3.5rem;
              margin-left: 1.5rem; }
              @media (max-width: 768px) {
                .contact .inn .txt-tel .tel-block .button a img {
                  width: 9.333333333333334vw;
                  max-width: none;
                  margin-left: 4vw; } }
