@charset "UTF-8";
/*------------------------------
  社員インタビュー（一覧 /interview/ ・詳細 /interview/{slug}/）
------------------------------*/

/*==============================
  詳細ページ
==============================*/
.page-interview.-detail{
  .mv{
    padding-inline: 10rem;
    padding-top: 25rem;
    position: relative;
    @media screen and (max-width: 768px) {
      padding-top: 8rem;
      padding-inline: 1.5rem;
      padding-bottom: 4rem;
      display: grid;
    }
    &::before{
      content: "";
      display: block;
      position: absolute;
      bottom: 0;
      left: 0;
      width: 100%;
      height: 25rem;
      background-image: linear-gradient(to top, var(--white-through) 0%, transparent 100%);
    }
    .image{
      width: 95rem;
      margin-inline: auto 0;
      isolation: isolate;
      @media screen and (max-width: 768px) {
        width: 100%;
        grid-row: 2/3;
        margin-top: 3rem;
      }
    }
    .text-wrap{ 
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      padding-left: 10rem;
      padding-top: 17rem;
      @media screen and (max-width: 768px) {
        position: static;
        padding-inline: 0;
        display: contents;
      }
      .title{
        .num{
          font-size: 10rem;
          font-family: var(--font-roboto);
          font-weight: 300;
          font-style: italic;
          display: flex;
          align-items: flex-start;
          line-height: 0.75;
          @media screen and (max-width: 768px) {
            font-size: 4rem;
          }
          span{
            font-size: 0.5em;
          }
        }
        .en{
          font-family: var(--font-roboto);
          font-size: 16rem;
          font-weight: 700;
          color: var(--main);
          letter-spacing: 0.02em;
          margin-top: 1rem;
          @media screen and (max-width: 768px) {
            font-size: 6rem;
            line-height: 1.05;
          }
        } 
        h1{
          display: flex;
          align-items: center;
          gap: 0.5rem;
          font-size: max(1.4rem,10px);
          @media screen and (max-width: 768px) {
            margin-top: 1rem;
            font-size: 1.4rem;
          }
          &::before{
            content: "●";
            font-size: 0.8em;
            color: var(--accent);
          }
        }
      }
      .copy{
        margin-top: 11rem;
        font-feature-settings: "palt";
        letter-spacing: 0.1em;
        @media screen and (max-width: 768px) {
          margin-top: 3rem;
        }
        p{
          background-color: var(--white);
          padding: 1rem 2rem 1.5rem 1.5rem;
          width: fit-content;
          &+ p{
            margin-top: 2rem;
          }
          span{
            font-size: max(3.8rem, 24px);
            font-weight: 600;
            color: var(--main);
            font-style: italic;
          }
        }
      }
      .copy-sp{
        margin-top: -2rem;
        isolation: isolate;
        font-feature-settings: "palt";
        letter-spacing: 0.1em;
        p{
          background-color: var(--white);
          padding: 0.5rem 0.6rem 0.7rem 0.7rem;
          width: fit-content;
          &+ p{
            margin-top: 1rem;
          }
          span{
            font-size: 2.1rem;
            font-weight: 600;
            color: var(--main);
            font-style: italic;
          }
        }
      }
    }
  }
  .profile{
    padding-block: 10rem 15rem;
    background-color: var(--white-through);
    @media screen and (max-width: 768px) {
      padding-block: 0 4rem;
    }
    .profile-wrap{
      display: flex;
      @media screen and (max-width: 768px) {
        display: block;
      }
      .name{
        min-width: 14rem;
        flex-shrink: 0;
        margin-right: 3rem;
        padding-right: 3rem;
        border-right: max(0.1rem,1px) solid var(--gray);
        display: flex;
        flex-direction: column;
        justify-content: center;
        @media screen and (max-width: 768px) {
          min-width: auto;
          width: 100%;
          margin-right: 0;
          padding-right: 0;
          border-right: none;
          border-bottom: max(0.1rem,1px) solid var(--gray);
          padding-bottom: 1rem;
        }
        span{
          font-size: max(1.4rem,10px);
          color: var(--white);
          background-color: var(--main);
          padding: 0.5rem 0.8rem;
          width: fit-content;
          @media screen and (max-width: 768px) {
            font-size: 1.2rem;
          }
        }
        p{
          font-family: var(--font-roboto);
          font-size: max(2.8rem,24px);
          font-weight: 600;
          letter-spacing: 0.05em;
          margin-top: 1rem;
          @media screen and (max-width: 768px) {
            margin-top: 0.5rem;
            font-size: 2.8rem;
          }
        }
      }
      .readText{
        @media screen and (max-width: 768px) {
          margin-top: 1.5rem;
        }
      }
    }
  }

  .interview{
    .interview-wrap{
      h2{
        font-size: max(2.6rem, 20px);
        color: var(--main);
        line-height: 1.8;
        border-bottom: max(0.1rem,1px) solid var(--gray);
        padding-bottom: 2rem;
        font-weight: 600;
        @media screen and (max-width: 768px) {
          font-size: 1.8rem;
          line-height: 1.5;
        }
      }
      .readText{
        margin-top: 1lh;
      }
    }
    &.section-01,
    &.section-03{
      display: flex;
      gap: 10rem;
      @media screen and (max-width: 768px) {
        flex-direction: column;
        gap: 4rem;
      }
      .interview-wrap{
        width: 60rem;
        flex-shrink: 0;
        @media screen and (max-width: 768px) {
          width: 100%;
        }
      }
    }
    &.section-01{
      padding-inline: 0 10rem;
      padding-bottom: 15rem;
      background-color: var(--white-through);
      @media screen and (max-width: 768px) {
        padding-inline: 1.5rem;
        padding-bottom: 4rem;
      }
      h2{
        text-align: right;
        @media screen and (max-width: 768px) {
          text-align: left;
        }
      }
    }
    &.section-03{
      padding-inline: 10rem 0;
      padding-top: 15rem;
      flex-direction: row-reverse;
      position: relative;
      @media screen and (max-width: 768px) {
        flex-direction: column;
        padding-inline: 1.5rem;
        padding-top: 4rem;
      }
      &::before{
        content: "";
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 50rem;
        background-image: linear-gradient(to bottom, var(--white-through) 40%, transparent 100%);
      }
      .image{
        isolation: isolate;
      }
      .interview-wrap{
        isolation: isolate;
      }
    }
    &.section-02{
      min-height: 60rem;
      display: flex;
      align-items: center;
      background-color: var(--black);
      @media screen and (max-width: 768px) {
        min-height: auto;
      }
      img{
        opacity: 0.4;
      }
      .interview-wrap{
        padding-block: 10rem;
        color: var(--white);
        width: 110rem;
        margin-inline: auto;
        isolation: isolate;
        @media screen and (max-width: 768px) {
          padding-block: 4rem;
          width: 100%;
          padding-inline: 1.5rem;
        }
        h2{
          color: var(--white);
          border-color: var(--white);
        }
      }
    }
  }
  .list-btn{
    padding-block: 13rem;
    @media screen and (max-width: 768px) {
      padding-block: 6rem 5rem;
      padding-inline: 1.5rem;
    }
    .ui-btn{
      --main: #0056a9;
      width: max(40rem,280px);
      height: max(7.2rem,48px);
      margin-inline: auto;
      @media screen and (max-width: 768px) {
        width: 100%;
        height: 6rem;
      }
      span{
        font-size: max(1.8rem,12px);
        @media screen and (max-width: 768px) {
          font-size: 1.6rem;
        }
      }
    }
  }
}

/*==============================
  一覧ページ
==============================*/
.page-interview.-list {
  .subpage-mv{

  }
  .interview-list{
    padding-top: 6rem;
    padding-bottom: 16rem;
    padding-inline: 10rem;
    background-color: var(--white-through);
    @media screen and (max-width: 768px) {
      padding-top: 0;
      padding-inline: 1.5rem;
      padding-bottom: 5rem;
    }
    .interview-grid{
      display: grid;
      grid-template-columns: repeat(3,1fr);
      gap: 5rem 4rem;
      @media screen and (max-width: 768px) {
        grid-template-columns: 1fr;
        gap: 4rem;
        margin-top: 0;
      }
      a{
        display: grid;
        grid-template-rows: auto 1fr;
        box-shadow: var(--shadow);
        background-color: var(--white);
        .image-wrap{
          position: relative;
          overflow: hidden;
          .job{
            font-size: max(1.4rem,10px);
            font-weight: 600;
            color: var(--white);
            background-color: var(--main);
            padding: 1rem;
            display: inline-block;
            position: absolute;
            top: 0;
            left: 0;
          }
        }
        .title-wrap{
          padding: 2.5rem 3rem 2.5rem;
          display: flex;
          flex-direction: column;
          justify-content: space-between;
          background-color: var(--white);
          @media screen and (max-width: 768px) {
            padding: 1.5rem 2rem 2rem;
          }
          .copy{
            font-size: max(1.8rem,14px);
            font-weight: 500;
            line-height: 1.75;
            font-feature-settings: "palt";
            letter-spacing: 0.1em;
            font-style: italic;
            @media screen and (max-width: 768px) {
              font-size: 1.6rem;
            }
          }
          h3{
            font-size: max(2.1rem,16px);
            font-weight: 700;
            font-family: var(--font-roboto);
            padding-top: 2rem;
            width: fit-content;
            align-self: flex-end;
            color: var(--main);
          }
        }
      }
    }
  }
}
