@charset "UTF-8";
/*↓スマホ横css*/
/*↓ipad用縦css*/
/*↓ipad用横css*/
.sec_main {
  position: relative;
  padding-bottom: 150px; }
  @media only screen and (max-width: 768px), print and (min-width: 2cm) {
    .sec_main {
      padding-bottom: 0px; } }
  .sec_main figure {
    width: 83%;
    margin-left: 17%; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      .sec_main figure {
        width: 100%;
        margin-left: 0; } }
  .sec_main h1 {
    position: absolute;
    left: 9%;
    top: 50%;
    transform: translate(0, -50%);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px 0; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      .sec_main h1 {
        position: static;
        transform: translate(0, 0);
        background-color: #E6EEF4; } }
    .sec_main h1 span {
      display: inline-block;
      line-height: 1;
      padding: 5px 7px 6px 0;
      background-color: #fff;
      color: #0B5692;
      font-family: 'Noto Serif JP', serif;
      font-size: 32px;
      font-weight: 500;
      letter-spacing: 0.05em; }
      @media only screen and (max-width: 768px), print and (min-width: 2cm) {
        .sec_main h1 span {
          font-size: 22px;
          transform: translate(0, -10px);
          padding: 5px 7px 6px 7px; } }
  .sec_main .txt_profile {
    position: absolute;
    right: 0;
    bottom: 0;
    background-color: #E6EEF4;
    width: 360px;
    height: 150px;
    display: flex;
    padding-left: 40px;
    flex-direction: column;
    justify-content: center; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      .sec_main .txt_profile {
        position: static;
        width: 100%;
        height: auto;
        padding: 10px 30px 15px;
        text-align: right; } }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      .sec_main .txt_profile .join {
        font-size: 14px; } }
    .sec_main .txt_profile .name {
      font-size: 30px;
      font-weight: 500;
      font-family: 'Roboto', sans-serif; }
      @media only screen and (max-width: 768px), print and (min-width: 2cm) {
        .sec_main .txt_profile .name {
          font-size: 22px; } }
  .sec_main .ttl {
    position: absolute;
    left: 20px;
    bottom: -26px; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      .sec_main .ttl {
        position: relative;
        left: auto;
        bottom: auto;
        padding: 5px 0 5px 10px; } }
    .sec_main .ttl p {
      font-family: 'Roboto', sans-serif;
      font-weight: 500;
      font-size: 190px;
      color: #E6EEF4;
      line-height: 1; }
      @media only screen and (max-width: 768px), print and (min-width: 2cm) {
        .sec_main .ttl p {
          font-size: 64px; } }
    .sec_main .ttl h2 {
      font-weight: 500;
      font-size: 30px;
      line-height: 1;
      color: #002B6A;
      position: absolute;
      right: 20px;
      bottom: 30px;
      letter-spacing: 0.05em; }
      @media only screen and (max-width: 768px), print and (min-width: 2cm) {
        .sec_main .ttl h2 {
          font-size: 16px;
          bottom: 10px; } }

.box_interview {
  width: 100%;
  display: flex;
  position: relative;
  overflow: hidden;
  margin: 100px 0; }
  @media only screen and (max-width: 768px), print and (min-width: 2cm) {
    .box_interview {
      margin: 50px 0 0; } }
  .box_interview__l {
    flex-direction: row; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      .box_interview__l {
        flex-direction: column; } }
    .box_interview__l .ttl_en {
      left: 20px; }
      @media only screen and (max-width: 768px), print and (min-width: 2cm) {
        .box_interview__l .ttl_en {
          left: -10px; } }
    .box_interview__l .txt {
      padding: 0 40px 0 120px; }
      @media only screen and (max-width: 768px), print and (min-width: 2cm) {
        .box_interview__l .txt {
          padding: 0 15px 0 50px; } }
  .box_interview__r {
    flex-direction: row-reverse; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      .box_interview__r {
        flex-direction: column; } }
    .box_interview__r .ttl_en {
      right: 0px; }
      @media only screen and (max-width: 768px), print and (min-width: 2cm) {
        .box_interview__r .ttl_en {
          right: -25px; } }
    .box_interview__r .txt {
      padding: 0 120px 0 40px; }
      @media only screen and (max-width: 768px), print and (min-width: 2cm) {
        .box_interview__r .txt {
          padding: 0 50px 0 15px; } }
  .box_interview figure {
    width: 50%;
    margin-top: 86px; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      .box_interview figure {
        width: 100%;
        margin-top: 46px; } }
  .box_interview .ttl_en {
    position: absolute;
    top: 2px;
    color: #09808F;
    font-family: 'Roboto', sans-serif;
    font-weight: 500;
    font-size: 32px;
    letter-spacing: 0.05em;
    transform: rotate(90deg) translate(25%, 0); }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      .box_interview .ttl_en {
        font-size: 24px; } }
    .box_interview .ttl_en span {
      position: relative; }
      .box_interview .ttl_en span:after {
        content: "";
        background: linear-gradient(90deg, #00A195, #002D6B);
        height: 10px;
        width: 420px;
        position: absolute;
        left: 10px;
        top: 20px; }
        @media only screen and (max-width: 768px), print and (min-width: 2cm) {
          .box_interview .ttl_en span:after {
            height: 6px;
            top: 16px;
            width: 160px; } }
  .box_interview .txt {
    flex: 1; }
    .box_interview .txt h2 {
      color: #0B5692;
      font-size: 20px;
      font-weight: 500;
      line-height: 1.7;
      margin-bottom: 0.8em; }
      @media only screen and (max-width: 768px), print and (min-width: 2cm) {
        .box_interview .txt h2 {
          line-height: 1.6; } }
    .box_interview .txt p {
      text-align: justify;
      text-justify: inter-ideograph; }
      @media only screen and (max-width: 768px), print and (min-width: 2cm) {
        .box_interview .txt p {
          font-size: 14px; } }

.sec_2 {
  background-color: #E6EEF4;
  padding: 100px 0; }
  @media only screen and (max-width: 768px), print and (min-width: 2cm) {
    .sec_2 {
      padding: 40px 0 60px; } }
  .sec_2 .inner {
    width: 1070px; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      .sec_2 .inner {
        width: 100%; } }
  .sec_2 .ttl {
    display: flex;
    align-items: flex-end; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      .sec_2 .ttl {
        flex-direction: column;
        align-items: center; } }
    .sec_2 .ttl .en {
      font-size: 62px;
      font-family: 'Roboto', sans-serif;
      font-weight: 500;
      color: #0B5692;
      line-height: 1;
      letter-spacing: 0.05em;
      margin-right: 13px; }
      @media only screen and (max-width: 768px), print and (min-width: 2cm) {
        .sec_2 .ttl .en {
          font-size: 48px;
          margin-right: 0; } }
    .sec_2 .ttl .jp {
      flex: 1;
      background: linear-gradient(90deg, #0B5692, #09808F);
      color: #fff;
      line-height: 1;
      padding: 7px 15px 10px;
      position: relative;
      top: -9px;
      letter-spacing: 0.05em; }
      @media only screen and (max-width: 768px), print and (min-width: 2cm) {
        .sec_2 .ttl .jp {
          font-size: 14px;
          padding: 4px 12px 7px;
          top: 0px; } }
  .sec_2 .box_schedule {
    display: flex;
    background-color: #fff;
    padding: 40px 40px 30px;
    gap: 0 60px; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      .sec_2 .box_schedule {
        flex-direction: column;
        padding: 15px;
        gap: 0 0px; } }
    .sec_2 .box_schedule__line {
      width: 50%;
      position: relative; }
      @media only screen and (max-width: 768px), print and (min-width: 2cm) {
        .sec_2 .box_schedule__line {
          width: 100%; } }
      .sec_2 .box_schedule__line:before {
        content: "";
        width: 6px;
        height: calc(100% - 20px);
        background-color: #EBF5F6;
        position: absolute;
        left: 10px;
        top: 10px; }
        @media only screen and (max-width: 768px), print and (min-width: 2cm) {
          .sec_2 .box_schedule__line:before {
            left: 8px;
            width: 4px;
            height: 100%; } }
      @media only screen and (max-width: 768px), print and (min-width: 2cm) {
        .sec_2 .box_schedule__line:nth-child(2):before {
          height: calc(100% - 20px); } }
    .sec_2 .box_schedule dl {
      display: flex;
      align-items: flex-start;
      margin-bottom: 20px;
      position: relative;
      z-index: 1; }
      .sec_2 .box_schedule dl dt {
        font-size: 20px;
        font-family: 'Roboto', sans-serif;
        font-weight: 500;
        color: #09808F;
        width: 105px;
        display: flex;
        align-items: center; }
        @media only screen and (max-width: 768px), print and (min-width: 2cm) {
          .sec_2 .box_schedule dl dt {
            font-size: 18px;
            width: 85px; } }
        .sec_2 .box_schedule dl dt:before {
          content: "";
          width: 26px;
          height: 26px;
          display: inline-block;
          background: url("../img/work/icon_time.png") no-repeat center/contain;
          margin-right: 7px; }
          @media only screen and (max-width: 768px), print and (min-width: 2cm) {
            .sec_2 .box_schedule dl dt:before {
              width: 20px;
              height: 20px;
              margin-right: 4px; } }
      .sec_2 .box_schedule dl dd {
        flex: 1;
        padding-top: 2px; }
        .sec_2 .box_schedule dl dd h3 {
          font-size: 16px;
          font-weight: 500; }
          @media only screen and (max-width: 768px), print and (min-width: 2cm) {
            .sec_2 .box_schedule dl dd h3 {
              font-size: 15px; } }
        .sec_2 .box_schedule dl dd p {
          font-size: 15px;
          line-height: 1.5; }
          @media only screen and (max-width: 768px), print and (min-width: 2cm) {
            .sec_2 .box_schedule dl dd p {
              font-size: 14px; } }
  .sec_2 .ttl {
    margin-bottom: 30px; }
    .sec_2 .ttl p {
      font-size: 25px;
      font-family: 'Roboto', sans-serif;
      font-weight: 500;
      color: #fff;
      letter-spacing: 0.05em; }
      .sec_2 .ttl p span {
        position: relative; }
        .sec_2 .ttl p span:after {
          content: "";
          position: absolute;
          width: 100vw;
          height: 1px;
          background-color: #fff;
          left: 10px;
          top: 75%;
          transform: translate(0, -50%); }
    .sec_2 .ttl h2 {
      font-size: 46px;
      font-weight: 700;
      color: #fff;
      line-height: 1.2; }

.sec_4 {
  margin-top: 50px; }
  @media only screen and (max-width: 768px), print and (min-width: 2cm) {
    .sec_4 figure img {
      aspect-ratio: 3/2;
      object-fit: cover; } }

.box_message {
  background: linear-gradient(135deg, #002D6B, #002D6B, #007B87);
  padding: 50px 80px 80px;
  overflow: hidden;
  width: 920px;
  margin: -50px auto 70px;
  position: relative;
  z-index: 10; }
  @media only screen and (max-width: 768px), print and (min-width: 2cm) {
    .box_message {
      width: 100%;
      padding: 30px 15px 50px;
      margin: 0px auto; } }
  .box_message .ttl {
    margin-bottom: 40px; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      .box_message .ttl {
        margin-bottom: 30px; } }
    .box_message .ttl .en {
      font-size: 100px;
      font-family: 'Roboto', sans-serif;
      font-weight: 500;
      color: #fff;
      letter-spacing: 0.05em;
      opacity: 0.2;
      line-height: 1; }
      @media only screen and (max-width: 768px), print and (min-width: 2cm) {
        .box_message .ttl .en {
          font-size: 50px; } }
    .box_message .ttl .jp {
      font-size: 22px;
      font-weight: 500;
      color: #fff;
      line-height: 1;
      margin-top: -25px;
      margin-left: 25px; }
      @media only screen and (max-width: 768px), print and (min-width: 2cm) {
        .box_message .ttl .jp {
          font-size: 16px;
          margin-top: -15px; } }
      .box_message .ttl .jp span {
        position: relative; }
        .box_message .ttl .jp span:after {
          content: "";
          position: absolute;
          width: 100vw;
          height: 1px;
          background-color: #fff;
          left: 10px;
          top: 75%;
          transform: translate(0, -50%); }
  .box_message p {
    color: #fff;
    text-align: justify;
    text-justify: inter-ideograph; }

.sec_5 {
  background-color: #E6EEF4;
  padding: 60px 0 50px; }
  @media only screen and (max-width: 768px), print and (min-width: 2cm) {
    .sec_5 {
      padding: 45px 0 40px; } }
  .sec_5 a {
    display: flex;
    align-items: center;
    flex-direction: column;
    width: 10em;
    margin: 0 auto;
    color: #002B6A;
    font-size: 20px;
    letter-spacing: 0.1em; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      .sec_5 a {
        font-size: 16px; } }
    .sec_5 a:before {
      content: "";
      display: block;
      width: 50px;
      height: 50px;
      background: url("../img/work/icon_index.png") no-repeat center/contain;
      margin-bottom: 20px; }
      @media only screen and (max-width: 768px), print and (min-width: 2cm) {
        .sec_5 a:before {
          width: 40px;
          height: 40px;
          margin-bottom: 15px; } }

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