/* 各社員インタビュー
=========================================================================
=========================================================================*/
/* Page title
-----------------------------------------------------------*/
.title {
  position: relative;
}

.title .bg {
  position: relative;
  display: flex;
  flex-wrap: wrap;
}

.title .bg picture,
.title .bg video {
  overflow: hidden;
  position: relative;
  width: 50%;
}

.title .name {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 110px;
  margin: 0 auto;
}

.title .name.sales {
  /* 営業 */
  max-width: 462px;
  width: calc(462 / 1440 * 100%);
}

.title .name.engrneer {
  /* 技術営 */
  max-width: 476px;
  width: calc(476 / 1440 * 100%);
}

.title .name.engrneer02 {
  /* 技術営業部 */
  max-width: 645px;
  width: calc(645 / 1440 * 100%);
}

.title .name.analytics {
  /* 研究所 */
  max-width: 467px;
  width: calc(467 / 1440 * 100%);
}

.title .name.plant_manager {
  /* 工場長 */
  max-width: 683px;
  width: calc(683 / 1440 * 100%);
}

.title .name.clerk {
  /* 経理部 */
  max-width: 462px;
  width: calc(462 / 1440 * 100%);
}

.title .name.overseas_division {
  /* 海外部 */
  max-width: 740px;
  width: calc(740 / 1440 * 100%);
}

.title .name.office_work {
  /* 事務 */
  max-width: 462px;
  width: calc(462 / 1440 * 100%);
}

/* イントロ
-----------------------------------------------------------*/
.intro {
  position: relative;
  margin: 0 auto 60px;
  padding: 74px 0 0;
  max-width: 863px;
}

@media screen and (max-width:893px) {
  .intro {
    padding: 74px 15px 0;
    width: 100%;
  }
}

.intro .text {
  margin-bottom: 20px;
  padding: 28px 38px;
  font-size: 15px;
  background-color: #E8EEF1;
}

.intro p.note {
  font-size: 12px;
  line-height: 1.5em;
  text-align: center;
}

@media screen and (max-width:1021px) {
  .intro p.note {
    padding-right: 110px;
    text-align: left;
  }
}

.intro a {
  position: absolute;
  bottom: 0;
  right: -68px;
  display: block;
  width: 97px;
  height: 97px;
}

@media screen and (max-width:1021px) {
  .intro a {
    bottom: -40px;
    right: 15px;
  }
}

.intro a span {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  font-size: 14px;
  line-height: 1.2em;
  color: #FFF;
}

.intro a::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(67.5deg, rgb(29, 80, 162), rgb(81, 193, 192));
  border-radius: 50%;
  transition: 0.6s;
}

@media(hover: hover) {
  .intro a:hover::before {
    transform: scale(1.025, 1.025);
    opacity: .9;
  }
}

.intro a::after {
  content: "";
  position: absolute;
  bottom: 19px;
  right: -11px;
  width: 32px;
  height: 6.5px;
  background: url(../images/job/interview/intro_arrow.svg) no-repeat;
  background-size: contain;
  transition: 0.6s;
}

@media(hover: hover) {
  .intro a:hover::after {
    right: -21px;
  }
}

/* コンテンツ内容
-----------------------------------------------------------*/
.content h1 {
  margin-bottom: 90px;
  font-weight: 600;
  font-size: 40px;
  line-height: 1.5em;
  text-align: center;
}

.content h1 .highlight {
  position: relative;
  display: inline-block;
}

.highlight .highlight-bg {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 0.5em;
  background-color: #D7E9FF;
  z-index: -1;
  transform-origin: left center;
}

.content h2 {
  display: inline-block;
  margin-bottom: 1em;
  font-weight: 600;
  font-size: 24px;
  line-height: 1.5em;
}

.content p {
  font-size: 16px;
  line-height: 1.875em;
}

.content p.mtop {
  margin-top: 2em;
}

.content.sec01 {
  margin: 0 auto 80px;
  max-width: 1020px;
}

@media screen and (max-width:1050px) {
  .content.sec01 {
    padding: 0 15px;
  }
}

.content.sec01 .addition {
  margin-bottom: 80px;
}

.content .layout_01 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
}

.content .layout_01 picture {
  position: relative;
  width: calc(524 / 1020 * 100%);
  z-index: 1;
}

.content .layout_01 picture::before {
  content: "";
  position: absolute;
  top: 50px;
  right: -380px;
  width: 300%;
  height: 520px;
  background-color: rgba(221, 244, 246, .4);
  z-index: -1;
}

.content .layout_01 .text {
  position: relative;
  width: calc(402 / 1020 * 100%);
  z-index: 1;
}

/* 02:営業 長崎営業所 K. Yuki */
.content .layout_01 .text.person02 {
  margin-top: 94px;
}

/* 03:営業 京浜営業所 所属長 O. Atsushi */
.content .layout_01 .text.person03 {
  margin-top: 60px;
}

/* 04:技術部 大阪技術Gr M. Yasuyoshi */
.content .layout_01 .text.person04 {
  margin-top: 80px;
}

/* 05:技術営業部 I. Mebae */
.content .layout_01 .text.person05 {
  margin-top: 60px;
}

/* 06:技術部 設計課 課長 T. Mitsuhiro */
.content .layout_01 .text.person06 {
  margin-top: 60px;
}

/* 07:横浜研究所 開発支援課 M. Shinya */
.content .layout_01 .text.person07 {
  margin-top: 60px;
}

/* 09:TGC茂原工場 工場長 K. Kenji */
.content .layout_01 .text.person09 {
  margin-top: 60px;
}

/* 10：経理部 業務推進課 K. Risa */
.content .layout_01 .text.person10 {
  margin-top: 60px;
}

/* 11：経理部 関連事業課 K. Chikara */
.content .layout_01 .text.person11 {
  margin-top: 60px;
}

/* 12：海外部 営業開発課 課長 N. Tomoharu */
.content .layout_01 .text.person12 {
  margin-top: 60px;
}

/* 13：事務 Y. Yuto */
.content .layout_01 .text.person13 {
  margin-top: 60px;
}

.content.sec02 {
  margin: 0 auto 80px;
  max-width: 960px;
}

@media screen and (max-width:990px) {
  .content.sec02 {
    padding: 0 15px;
  }
}

.photo {
  margin: 0 auto 80px;
}

.content.sec03 {
  position: relative;
  margin: 0 auto 80px;
  padding: 102px 0 0 0;
  max-width: 1020px;
}

@media screen and (max-width:1050px) {
  .content.sec03 {
    padding: 102px 15px 0;
  }
}

.content.sec03 .text {
  position: absolute;
  top: 0;
  left: 0;
  padding: 38px 54px;
  width: calc(640 / 1020 * 100%);
  background-color: #DDF4F6;
  z-index: 2;
}

.content.sec03 picture {
  display: block;
  margin: 0 0 0 auto;
  width: calc(741 / 1020 * 100%);
}

.content.end {
  margin: 0 auto 120px;
  max-width: 960px;
}

@media screen and (max-width:990px) {
  .content.end {
    padding: 0 15px;
  }
}

.day-wrapper {
  position: relative;
  width: 100%;
  padding-bottom: 30px;
  overflow: hidden;
}

.day {
  background-color: #2779CA;

  overflow-x: auto;
  overflow-y: hidden;
  white-space: nowrap;
  -webkit-overflow-scrolling: touch;

  /* これが超重要：親（Smoother）へのスクロール連鎖を止める */
  overscroll-behavior: contain;
  /* 全方向 */
  overscroll-behavior-inline: contain;
  /* 横方向 */

  /* 横ジェスチャーをこの要素に割り当て（縦パンは抑制）*/
  touch-action: pan-x;
  cursor: grab;

  /* 見た目でスクロールバーを消すなら */
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.day::-webkit-scrollbar {
  display: none;
}



.day img {
  display: inline-block;
  width: auto;
  height: 380px;
  user-select: none;
  pointer-events: none;
}

/* カスタムスクロールバー */
/* 既存CSSのままでもOKですが、念のため */
.scrollbar {
  position: absolute;
  bottom: 5px;
  right: 0;
  left: 50%;
  transform: translateX(-50%);
  max-width: 700px;
  height: 6px;
  background-color: rgba(212, 212, 212, 0.4);
  border-radius: 3px;
  visibility: hidden;
  /* 初期は非表示にしておく */
}

.scrollbar.visible {
  visibility: visible;
}

.scrollbar .thumb {
  height: 100%;
  width: 50px;
  background-color: rgba(180, 180, 180, 1);
  border-radius: 3px;
  transition: width .12s ease, transform .12s ease;
}

.button {
  padding: 120px 15px;
}

.button a {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0 auto;
  width: 280px;
  height: 48px;
  font-family: "Inter", sans-serif;
  font-weight: 600;
  font-size: 18px;
  letter-spacing: .05em;
  line-height: 48px;
  color: #FFF;
  text-align: center;
  background: linear-gradient(90deg, rgb(101, 157, 222), rgb(107, 230, 232));
  border-radius: 24px;
  transition: 0.3s;
}

.button a span {
  position: relative;
  z-index: 2;
}

.button a::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: #008CD6;
  transform: scale(0, 1);
  transform-origin: left;
  z-index: 1;
  transition: 0.6s;
}

@media(hover: hover) {
  .button a:hover::after {
    transform: scale(1, 1);
  }
}


/*  スマホ（767px以下）
=========================================================================
=========================================================================*/
@media screen and (max-width:767px) {
  /* Page title
  -----------------------------------------------------------*/
  .title .bg picture,
  .title .bg video {
    width: 100%;
  }

  .title .name {
    bottom: calc(329 / 724 * 100%);
  }

  .title .name.sales {
    /* 営業  */
    max-width: 320px;
    width: calc(320 / 390 * 100%);
  }

  .title .name.engrneer {
    /* 技術営 */
    max-width: 320px;
    width: calc(320 / 390 * 100%);
  }

  .title .name.engrneer02 {
    /* 技術営業部 */
    max-width: 345px;
    width: calc(345 / 390 * 100%);
  }

  .title .name.analytics {
    /* 研究所 */
    max-width: 341px;
    width: calc(341 / 390 * 100%);
  }

  .title .name.plant_manager {
    /* 工場長 */
    max-width: 342px;
    width: calc(342 / 390 * 100%);
  }

  .title .name.clerk {
    /* 経理部 */
    max-width: 320px;
    width: calc(320 / 390 * 100%);
  }

  .title .name.overseas_division {
    /* 海外部 */
    max-width: 338px;
    width: calc(338 / 390 * 100%);
  }

  .title .name.office_work {
    /* 事務  */
    max-width: 338px;
    width: calc(338 / 390 * 100%);
  }

  /* イントロ
  -----------------------------------------------------------*/
  .intro {
    margin: 0 auto 90px;
    padding: 38px 15px 0;
  }

  .intro .text {
    margin-bottom: 15px;
    padding: 22px;
    font-size: 14px;
  }

  .intro a {
    bottom: -10px;
    right: 15px;
    width: 85px;
    height: 85px;
  }

  /* コンテンツ内容
  -----------------------------------------------------------*/
  .content h1 {
    margin-bottom: 70px;
    font-size: 25px;
  }

  .content h2 {
    font-size: 21px;
  }

  .content p {
    font-size: 14px;
  }

  .content.sec01 {
    margin: 0 auto;
  }

  .content.sec01 .addition {
    margin-bottom: 70px;
  }

  .content .layout_01 {
    flex-direction: column-reverse;
  }

  .content .layout_01.irregular {
    flex-direction: column;
  }

  .content .layout_01 picture {
    margin-bottom: 70px;
    width: 100%;
  }

  .content .layout_01.irregular picture {
    margin-bottom: 70px;
  }

  .content .layout_01 picture::before {
    top: 19px;
    right: calc(107 / 390 * 100%);
    width: 100%;
    height: calc(362 / 335 * 100% );
  }

  .content .layout_01 .text {
    margin-bottom: 70px;
    width: 100%;
  }

  /* イレギュラー */
  .content .layout_01 .text.person02,
  .content .layout_01 .text.person03,
  .content .layout_01 .text.person04,
  .content .layout_01 .text.person05,
  .content .layout_01 .text.person06,
  .content .layout_01 .text.person07,
  .content .layout_01 .text.person08,
  .content .layout_01 .text.person09,
  .content .layout_01 .text.person10,
  .content .layout_01 .text.person11,
  .content .layout_01 .text.person12,
  .content .layout_01 .text.person03 {
    margin-top: 0;
  }

  .content.sec02 {
    margin: 0 auto 70px;
  }

  .photo {
    overflow: hidden;
    margin: 0 auto 70px;
  }

  .photo img {
    width: calc(720 / 390 * 100%);
    position: relative;
    left: 50%;
    transform: translateX(-50%);
  }

  .content.sec03 {
    margin: 0 auto 70px;
    padding: 0;
  }

  .content.sec03 .text {
    position: relative;
    top: 0;
    left: 0;
    padding: 52px 15px;
    width: 100%;
  }

  .content.sec03 picture {
    margin: 0;
    width: 100%;
  }

  .content.end {
    margin: 0 auto 70px;
  }


  .day img {
    position: relative;
    margin-left: -100px;
    height: 270px;
  }

  .button {
    padding: 70px 15px;
  }

}

/*  スマホ（480px以下）
=========================================================================
=========================================================================*/
@media screen and (max-width:480px) {
  /* コンテンツ内容
  -----------------------------------------------------------*/
  .content h1 {
    font-size: calc(25 / 390 * 100vw);
  }

  .content h2 {
    font-size: calc(21 / 390 * 100vw);
  }

}
