@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Jost:ital,wght@0,100..900;1,100..900&display=swap");
/*==========================================
変数 inc.scss
===========================================*/
/*==========================================
変数 fonts.scss
===========================================*/
/*==========================================
 共通設定
===========================================*/
/*=== 幅 ===*/
.wrapW {
  max-width: 1520px;
  width: 90vw;
  margin: 0 auto;
}

.wrap {
  width: 90vw;
  max-width: 1200px;
  padding: 0 25px;
  margin: 0 auto;
}
@media screen and (max-width: 960px) {
  .wrap {
    padding: 0;
  }
}

/*=== PC none / SP none ===*/
@media screen and (min-width: 1921px) {
  .pc-none_xl {
    display: none !important;
  }
}
@media screen and (min-width: 1201px) {
  .pc-none_lg {
    display: none !important;
  }
}
@media screen and (min-width: 961px) {
  .pc-none {
    display: none !important;
  }
}
@media screen and (min-width: 768px) {
  .pc-noneR {
    display: none !important;
  }
}
@media screen and (min-width: 769px) {
  .pc-none_md {
    display: none !important;
  }
}
@media screen and (min-width: 577px) {
  .pc-none_sm {
    display: none !important;
  }
}
@media screen and (min-width: 481px) {
  .pc-none_smS {
    display: none !important;
  }
}
@media screen and (max-width: 1920px) {
  .sp-none_xl {
    display: none !important;
  }
}
@media screen and (max-width: 1200px) {
  .sp-none_lg {
    display: none !important;
  }
}
@media screen and (max-width: 960px) {
  .sp-none {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  .sp-noneR {
    display: none !important;
  }
}
@media screen and (max-width: 768px) {
  .sp-none_md {
    display: none !important;
  }
}
@media screen and (max-width: 576px) {
  .sp-none_sm {
    display: none !important;
  }
}
@media screen and (max-width: 480px) {
  .sp-none_smS {
    display: none !important;
  }
}
@media screen and (max-width: 375px) {
  .sp-none_xs {
    display: none !important;
  }
}
@media screen and (max-width: 960px) {
  .sp-none_tag {
    display: contents;
  }
}
@media screen and (min-width: 961px) {
  .pc-none_tag {
    display: contents;
  }
}
/*=== テキスト ===*/
.basicTxtBox {
  letter-spacing: 0.1em;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .basicTxtBox {
    letter-spacing: normal;
    line-height: 1.5;
  }
}

.wbrWrap {
  word-break: keep-all;
  overflow-wrap: anywhere;
}

.taC {
  text-align: center;
}

.taR {
  text-align: right;
}

.jost {
  font-family: "Jost", "游ゴシック体", "Yu Gothic", YuGothic, "Noto Sans JP", sans-serif;
}

@media screen and (min-width: 769px) {
  .taC_md {
    text-align: center;
  }
}
@media screen and (min-width: 577px) {
  .taC_sm {
    text-align: center;
  }
}
.fwB {
  font-weight: bold;
}

/*=== 余白 ===*/
.maC {
  margin: 0 auto;
}

.mb120 {
  margin-bottom: clamp(80px, 15vw, 120px);
}

.mb150 {
  margin-bottom: clamp(80px, 15vw, 150px);
}

.pdTB150 {
  padding: clamp(80px, 15vw, 150px) 0;
}

.innerPT {
  padding-top: clamp(100px, 15vw, 150px);
}

.bgGray {
  background: #E5E5E5;
}

/*==========================================
 anchor link
===========================================*/
.anchor_link {
  position: relative;
  top: calc(0px - clamp(70px, 10vw, 150px));
  display: block;
}

/*==========================================
 ヘッダー
===========================================*/
header {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 101;
  border: none;
  background-color: transparent;
}
header .headerR-inner {
  display: flex;
  justify-content: space-between;
  width: 100%;
  padding: 0 0 0 clamp(2.5%, 3vw, 60px);
}
@media screen and (max-width: 576px) {
  header .headerR-inner {
    padding: 0 0 0 clamp(4%, 3vw, 60px);
  }
}
header .headerR-right {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  background: #dfe0e2;
  padding: 2em 2.5%;
  position: relative;
}
header .headerR-right::before {
  content: "";
  display: block;
  width: clamp(30px, 6vw, 90px);
  height: 100%;
  position: absolute;
  left: calc(0px - clamp(30px, 6vw, 90px));
  top: 0;
  background: #dfe0e2;
  clip-path: polygon(0 0, 100% 100%, 100% 0);
}
header .headerR-logo {
  margin-top: clamp(20px, 4vw, 40px);
}
header .headerR-logo a {
  display: block;
  width: clamp(120px, 19vw, 225px);
  aspect-ratio: 119/47;
  font-size: 0;
  background: url("../../../images/recruit_new/logo-wht.svg") no-repeat center/contain;
}
header .headerR-logo a.blue {
  background-image: url("../../../images/recruit_new/logo-blue.svg");
}
header .headerR-nav {
  line-height: 1;
  letter-spacing: 0.1em;
  display: flex;
  justify-content: flex-end;
  font-family: "Jost", "游ゴシック体", "Yu Gothic", YuGothic, "Noto Sans JP", sans-serif;
  font-size: clamp(1.4rem, 1.6vw, 1.6rem);
}
header .headerR-nav li {
  margin-right: 2em;
}
header .headerR-nav li a {
  padding: 0 0 0.2em;
  color: #000;
  display: inline-block;
  position: relative;
}
header .headerR-nav li a::before {
  background: #1D2B54;
  content: "";
  width: 100%;
  height: 2px;
  position: absolute;
  left: 0;
  bottom: 0;
  transform-origin: right top;
  transform: scale(0, 1);
  transition: transform 0.3s;
}
@media (hover: hover) {
  header .headerR-nav li a:hover::before {
    transform-origin: left top;
    transform: scale(1, 1);
  }
}
@media screen and (max-width: 1200px) {
  header .headerR-nav {
    display: none;
  }
}
header .headerR-tel {
  letter-spacing: 0.05em;
  line-height: 1;
  font-family: "Jost", "游ゴシック体", "Yu Gothic", YuGothic, "Noto Sans JP", sans-serif;
  font-size: clamp(2rem, 2.6vw, 3rem);
}
@media screen and (max-width: 1200px) {
  header .headerR-tel {
    display: none;
  }
}
header .headerR-tel a {
  color: #000;
}
header.on {
  position: fixed;
}
header.on .headerR-logo a {
  background-image: url("../../../images/recruit_new/logo-blue.svg");
  width: 120px;
}
header.on .headerR-right {
  background: #fff;
}
header.on .headerR-right::before {
  background: #fff;
}
header.on .Mmenu-hamburgerR .icon .dots {
  background: #1D2B54;
}

.Mmenu-hamburgerR {
  width: 34px;
  text-align: center;
  font-size: 1.1rem;
  font-weight: 500;
  cursor: pointer;
}
@media screen and (min-width: 1201px) {
  .Mmenu-hamburgerR {
    display: none;
  }
}
.Mmenu-hamburgerR .icon {
  width: 25px;
  height: 14px;
  margin: 0 auto;
  transition: 0.3s ease-in-out;
  font-size: 0;
  position: relative;
}
.Mmenu-hamburgerR .icon .bar {
  display: block;
  width: 100%;
  height: 1px;
  background: #000;
  border-radius: 50%;
  transition: 0.3s ease-in-out;
  position: absolute;
  left: 0;
}
.Mmenu-hamburgerR .icon .bar:nth-of-type(1) {
  top: 0;
}
.Mmenu-hamburgerR .icon .bar:nth-of-type(2) {
  top: calc(50% - 0.5px);
}
.Mmenu-hamburgerR .icon .bar:nth-of-type(3) {
  bottom: 0;
}
.Mmenu-hamburgerR .icon .txt {
  margin-top: 0.3em;
}

/*==========================================
 globalNav
===========================================*/
.gnavR-wrap {
  width: calc(100vw - 100px);
  box-shadow: 0px 0px 16px -6px rgba(0, 0, 0, 0.6);
  max-width: 370px;
  height: 100%;
  background: #1D2B54;
  caret-color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  position: fixed;
  top: 0;
  right: -100vw;
  z-index: -30;
  transition: 0.3s ease-in-out;
  opacity: 0;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
}
@media screen and (min-width: 769px) {
  .gnavR-wrap {
    align-items: center;
  }
}
.gnavR-wrap.open {
  opacity: 1;
  z-index: 100;
}
.gnavR-wrap .btn-gnavR-close {
  width: 34px;
  text-align: center;
  font-size: 1.1rem;
  font-weight: 500;
  cursor: pointer;
}
.gnavR-wrap .btn-gnavR-close .icon {
  width: 35px;
  height: 35px;
  margin: 0 auto;
  transition: 0.3s ease-in-out;
  font-size: 0;
  position: relative;
}
.gnavR-wrap .btn-gnavR-close .icon span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 1px;
  background: #fff;
}
.gnavR-wrap .btn-gnavR-close .icon span:nth-of-type(1) {
  top: 17px;
  transform: rotate(45deg);
}
.gnavR-wrap .btn-gnavR-close .icon span:nth-of-type(2) {
  bottom: 17px;
  transform: rotate(-45deg);
}
.gnavR-wrap .btn-gnavR-close .txt {
  margin-top: 0.3em;
}
.gnavR-wrap .gnavRW-head {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  width: 100%;
  padding: clamp(10px, 3vw, 30px) 0 0;
}
@media screen and (max-width: 576px) {
  .gnavR-wrap .gnavRW-head {
    padding: clamp(10px, 3vw, 30px) 0 0;
  }
}
.gnavR-wrap .gnavRW-inner {
  text-align: center;
  width: 90%;
  margin: 0 auto;
}
.gnavR-wrap .gnavRW-logo {
  width: clamp(120px, 19vw, 225px);
  aspect-ratio: 119/47;
  font-size: 0;
  background: url("../../../images/recruit_new/logo-wht.svg") no-repeat center/contain;
  margin: clamp(40px, 8vw, 80px) auto clamp(80px, 12vw, 120px);
}
.gnavR-wrap .gnavR {
  width: fit-content;
  margin: 0 auto;
  font-family: "Jost", "游ゴシック体", "Yu Gothic", YuGothic, "Noto Sans JP", sans-serif;
  font-size: clamp(2rem, 3vw, 2.6rem);
  letter-spacing: 0.1em;
  line-height: 1;
}
.gnavR-wrap .gnavR li {
  text-align: center;
}
.gnavR-wrap .gnavR li:not(:last-child) {
  margin-bottom: 2em;
}
.gnavR-wrap .gnavR li a {
  color: #fff;
}
.gnavR-wrap .gnavR li a.gnavR-tel {
  color: #1D2B54;
  background: #fff;
  border-radius: 100vmax;
  display: block;
  padding: 0.6em 1em;
}

/*==========================================
 BUTTON
===========================================*/
.btn-more a {
  display: inline-block;
  max-width: 106px;
  width: 100%;
  background: #1D2B54;
  color: #fff;
  border-radius: 100vmax;
  font-family: "Jost", "游ゴシック体", "Yu Gothic", YuGothic, "Noto Sans JP", sans-serif;
  text-align: center;
  font-size: 1.8rem;
  line-height: 1;
  padding: 0.4em 0;
  transition: 0.3s ease-in-out;
}
@media (hover: hover) {
  .btn-more a:hover {
    transform: scale(0.9, 0.9);
  }
}

.btn-more_Nlk {
  display: inline-block;
  max-width: 106px;
  width: 100%;
  background: #1D2B54;
  color: #fff;
  border-radius: 100vmax;
  font-family: "Jost", "游ゴシック体", "Yu Gothic", YuGothic, "Noto Sans JP", sans-serif;
  text-align: center;
  font-size: 1.8rem;
  line-height: 1;
  padding: 0.4em 0;
  transition: 0.3s ease-in-out;
}

/*==========================================
 BUTTON ENTRY
===========================================*/
.btn-entryB {
  max-width: clamp(148px, 16vw, 168px);
  width: 100%;
  line-height: 1.2;
  position: relative;
  z-index: 1;
}
.btn-entryB a {
  border: 1px solid #1D2B54;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  aspect-ratio: 1/1;
  border-radius: 100vmax;
  color: #1D2B54;
  position: relative;
}
.btn-entryB a::before {
  content: "";
  display: inline-block;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  transition: 0.3s ease-in-out;
  transform: scale(0.3);
}
@media (hover: hover) {
  .btn-entryB a:hover {
    color: #fff;
  }
  .btn-entryB a:hover::before {
    background: #1D2B54;
    transform: scale(1);
  }
  .btn-entryB a:hover .ttl-en::after {
    background: #fff;
  }
  .btn-entryB a:hover .arw {
    background: #fff;
  }
}
.btn-entryB .btn-inner {
  position: relative;
}
.btn-entryB .ttl-en {
  font-family: "Jost", "游ゴシック体", "Yu Gothic", YuGothic, "Noto Sans JP", sans-serif;
  font-size: clamp(2rem, 2.4vw, 2.4rem);
  letter-spacing: 0.1em;
  text-align: center;
  line-height: 1;
}
.btn-entryB .ttl-en::after {
  content: "";
  display: block;
  width: 3.2em;
  height: 1px;
  background: #1D2B54;
  margin: 0.2em auto 0.4em;
  transition: 0.3s ease-in-out;
}
.btn-entryB .ttl-ja {
  font-family: "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
  text-align: center;
}
.btn-entryB .arw {
  width: clamp(9px, 1.2vw, 12px);
  aspect-ratio: 1/1;
  background: #1D2B54;
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
  margin: 0.5em auto 0;
  transition: 0.3s ease-in-out;
}

/*==========================================
 INTERVIEW
===========================================*/
.interview-listB {
  margin: clamp(60px, 10vw, 100px) -5vw 0;
  font-family: "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
}
.interview-listB .interview-itemB a {
  display: block;
  max-width: 320px;
  color: #000;
  position: relative;
  margin: 0 auto;
  padding: 0 0 60px;
}
@media (hover: hover) {
  .interview-listB .interview-itemB a:hover .btn-more_Nlk {
    transform: scale(0.9, 0.9);
  }
}
@media screen and (max-width: 767px) {
  .interview-listB .interview-itemB a {
    width: 80%;
  }
}
.interview-listB .interview-itemB .item-num {
  font-family: "Jost", "游ゴシック体", "Yu Gothic", YuGothic, "Noto Sans JP", sans-serif;
  letter-spacing: 0.1em;
  line-height: 1;
  margin-bottom: -0.5em;
  position: relative;
  z-index: 1;
  padding: 0 0 0 1em;
}
.interview-listB .interview-itemB .item-ttlBox {
  background: #E2DBD1;
  padding: 1em 0.5em;
  font-size: 2.6rem;
  position: relative;
  margin-bottom: 70px;
}
.interview-listB .interview-itemB .item-ttlBox::after {
  content: "";
  background: #E2DBD1;
  clip-path: polygon(100% 0, 0 0, 100% 100%);
  width: 20px;
  height: 30px;
  left: calc(50% - 20px);
  bottom: -30px;
  position: absolute;
}
.interview-listB .interview-itemB .item-ttl {
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}
.interview-listB .interview-itemB .item-nameJa {
  font-size: 3rem;
  letter-spacing: 0.1em;
  line-height: 1.2;
}
.interview-listB .interview-itemB .item-nameEn {
  font-family: "Jost", "游ゴシック体", "Yu Gothic", YuGothic, "Noto Sans JP", sans-serif;
  letter-spacing: 0.1em;
  line-height: 1.2;
  margin-top: 1em;
}
.interview-listB .interview-itemB .item-nameEn::after {
  content: "";
  width: 90%;
  height: 1px;
  background: #000;
  display: block;
  margin-top: 1em;
}
.interview-listB .interview-itemB .item-txt {
  line-height: 1.4;
  margin: 1em 0;
}
.interview-listB .interview-itemB .item-img {
  width: 212px;
  height: 380px;
  position: absolute;
  bottom: 0;
  right: -20%;
}
.interview-listB .interview-itemB .item-img img {
  width: 100%;
  object-fit: scale-down;
  aspect-ratio: 0.5578947368;
}

/*==========================================
RECRUIT FOOTER
===========================================*/
.footer-nav-sp_recruit {
  background: #1c2a52;
  width: 100%;
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 999;
  display: flex;
  justify-content: center;
  border-top: none;
  margin: 0;
  padding: 0;
}
.footer-nav-sp_recruit li {
  width: 100%;
  text-align: center;
  margin: 0;
}
.footer-nav-sp_recruit li a {
  display: block;
  color: #fff;
  font-size: 16px;
  padding: 20px 0;
  background: none;
  text-align: center;
  letter-spacing: 0.1em;
  font-family: inherit;
  font-weight: 400;
  text-decoration: none;
}

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