/*===========================================================================
unique
単一ページで使用するCSS
接頭辞【.u-】

【予測変換用 _base.css記述】
:root {
	--font-color-base: #000;
	--font-family-base: "Noto Sans JP", sans-serif;
	--back-color-base: #fff;
	--design-size-pc: 1400;
	--design-size-sp: 750;
}
===========================================================================*/
.l-main {
  background: #fff;
}
.l-main.l-detail {
  margin-top: 0;
  padding-top: 36rem;
}
/* SP
----------------------------------*/
@media screen and (max-width: 768px) {
  .l-main.l-detail {
    padding-top: 40rem;
  }
}


.u-tab__list {
  display: flex;
  align-items: center;
  gap: 2rem;
}
.u-tab__btn {
  position: relative;
  cursor: pointer;
}
.u-tab__txt {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: 4rem 10rem;
  border-radius: 25rem;
  font-size: 15rem;
  font-weight: 500;
  line-height: 1.5;
  transition: all 0.3s linear;
}
.u-tab__item input {
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
  margin: 0;
}

@media (any-hover: hover) {
  .u-tab__txt:hover {
    background: #ECF2F7;
  }
}
.u-tab__item input:checked + .u-tab__txt {
  background: var(--back-color-sub);
  color: var(--font-color-main);
}
.u-tab__item input:checked + .u-tab__txt::before {
  background-color: var(--back-color-main);
}
/* SP
----------------------------------*/
@media screen and (max-width: 768px) {
  .u-tab__list {
    gap: 0 2rem;
    padding-top: 0;
    padding-bottom: 10rem;
  }
  .u-tab__btn {
    position: relative;
    display: block;
    cursor: pointer;
  }
  .u-tab__txt {
    font-size: 14rem;
    white-space: nowrap;
  }
}
.u-ctsBtn {
  padding: 14rem 0;
}




/* ----↓コンポーネント移行済み↓---- */
.u-news__main {
  margin-top: 40rem;
}
.u-news__main.is-loaded {
  min-height: 0;
}
.u-newsItem:not(:first-child) {
  border-top: 1rem solid #c4cedc;
}
.u-newsItem__inr {
  display: flex;
  align-items: flex-start;
  gap: 40rem;
  box-sizing: border-box;
  padding: 32rem 60rem 32rem 0;
  line-height: 1.6;
  text-decoration: none;
  transition: opacity 0.3s linear;
  position: relative;
}
a.u-newsItem__inr::after {
  content: "";
  width: 18rem;
  height: 18rem;
  margin-top: -9rem;
  background: url(/recruit/common/images/icn_btn_arw_blue.svg) no-repeat center / contain;
  vertical-align: text-bottom;
  position: absolute;
  top: 50%;
  right: 0;
}
.u-newsItem__inr[target="_blank"]::after {
  content: "";
  display: inline-block;
  width: 20rem;
  height: 20rem;
  margin-top: -10rem;
  background: url(/recruit/common/images/icn_blank_list.svg) no-repeat center / contain;
  vertical-align: text-bottom;
  position: absolute;
  top: 50%;
  right: 0;
}
.u-newsItem__inr[href$=".pdf"]::after {
  content: "";
  display: inline-block;
  width: 24rem;
  height: 24rem;
  margin-top: -12rem;
  background: url(/recruit/common/images/icn_pdf.svg) no-repeat center / contain;
  vertical-align: text-bottom;
  position: absolute;
  top: 50%;
  right: 0;
}
.u-newsItem__info {
  display: flex;
  align-items: center;
  gap: 24rem;
}
.u-newsItem__cat {
  display: flex;
  justify-content: center;
  box-sizing: border-box;
  width: 116rem;
  padding: 4rem 10rem 6rem;
  border-radius: 2rem;
  color: #fff;
  font-size: 12rem;
}
.u-newsItem__date {
  font-size: 16rem;
  color: #7D8B95;
}
.--cat-news .u-newsItem__cat {
  background-color: #5A5DD7;
}
.--cat-internship .u-newsItem__cat {
  background-color: #407FFA;
}
.--cat-information .u-newsItem__cat {
  background-color: #4EA3F8;
}
.--cat-other .u-newsItem__cat {
  background-color: #7DC6EB;
}
.u-newsItem__ttl {
  font-size: 16rem;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}


@media (any-hover: hover) {
  a.u-newsItem__inr:hover {
    opacity: 1;
  }
  a.u-newsItem__inr:hover .u-newsItem__date,
  a.u-newsItem__inr:hover .u-newsItem__ttl {
    color: var(--font-color-sub);
  }
}

/* SP
----------------------------------*/
@media screen and (max-width: 768px) {
  .u-news__main {
    margin-top: 40rem;
  }
  .u-newsItem__inr {
    display: block;
    gap: 0;
    padding: 24rem 22rem 24rem 0;
  }
  a.u-newsItem__inr::after {
    top: 70rem;
  }
  a.u-newsItem__inr[target="_blank"]::after {
    top: 70rem;
  }
  a.u-newsItem__inr[href$=".pdf"]::after {
    top: 70rem;
  }
  .u-newsItem__info {
    gap: 16rem;
  }
  .u-newsItem__cat {
    padding: 4rem 8rem 5rem;
  }
  .u-newsItem__date {
    font-size: 14rem;
  }
  .u-newsItem__ttl {
    margin-top: 6rem;
    font-size: 14rem;
    -webkit-line-clamp: 3;
  }
}
/* ------↑↑↑↑↑↑------ */




.u-ctsWrap {
  position: relative;
}
.u-ctsWrap::before {
  content: "";
  width: 1164rem;
  height: 382rem;
  background: url(/recruit/common/images/vis_img02.svg) no-repeat top right / contain;
  mix-blend-mode: hard-light;
  position: absolute;
  top: -125rem;
  left: 50%;
  transform: translateX(-190rem);
  pointer-events: none;
}
/* SP
----------------------------------*/
@media screen and (max-width: 768px) {
  .u-ctsWrap {
    margin-top: 40rem;
  }
  .u-ctsWrap::before {
    content: "";
    width: 336rem;
    height: 112rem;
    background: url(/recruit/common/images/sp_vis_img02.svg) no-repeat top right / contain;
    top: -94rem;
    left: auto;
    right: 0;
    transform: translateX(0);
  }
}


/* ----- ↓↓↓ 記事 ↓↓↓ ----- */
.u-entry__wrap {
  display: flex;
  align-items: center;
  gap: 16rem;
}
.u-entry__cat {
  display: flex;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
  width: 116rem;
  padding: 5rem 10rem 6rem;
  border-radius: 2rem;
}
.u-entry__cat::before {
  content: " ";
  color: #fff;
  font-size: 12rem;
  font-weight: 500;
}

.u-entry__cat.--cat-news {
  background-color: #5A5DD7;
}
.u-entry__cat.--cat-news::before {
  content: "お知らせ";
}
.u-entry__cat.--cat-internship {
  background-color: #407FFA;
}
.u-entry__cat.--cat-internship::before {
  content: "インターンシップ";
}
.u-entry__cat.--cat-information {
  background-color: #4EA3F8;
}
.u-entry__cat.--cat-information::before {
  content: "説明会情報";
}
.u-entry__cat.--cat-other {
  background-color: #7DC6EB;
}
.u-entry__cat.--cat-other::before {
  content: "その他";
}
.u-entry__date {
  color: #7D8B95;
  font-size: 16rem;
}
.u-entry__wrap + .u-entry__ttl {
  margin-top: 28rem;
}
.u-entry__ttl {
  font-size: 32rem;
  font-weight: bold;
  line-height: 1.5;
}





.u-entBody {
  box-sizing: border-box;
  margin-top: 24rem;
  padding-top: 36rem;
  padding-bottom: 80rem;
  border-top: 1px solid #c4cedc;
}
.u-entBody > *:first-child {
  margin-top: 0 !important;
}
.u-entBody h3 {
  margin-top: 80rem;
  font-size: 28rem;
  font-weight: bold;
  line-height: 1.8;
}
.u-entBody h4 {
  margin-top: 64rem;
  font-size: 24rem;
  font-weight: bold;
  line-height: 1.5;
}
.u-entBody h5 {
  margin-top: 40rem;
  font-size: 20rem;
  font-weight: bold;
}
.u-entBody h6 {
  margin-top: 40rem;
  font-size: 18rem;
  font-weight: bold;
}
.u-entBody p {
  margin-top: 20rem;
  font-size: 16rem;
  line-height: 1.8;
}
.u-entBody p:first-child {
  margin-top: 0;
}
.u-entBody strong {
  font-weight: bold;
}
.u-entBody div:not(.c-dtlTableOuter) + p {
  margin-top: 50rem;
}
.u-entBody img {
  max-width: 100%;
  height: auto;
}
.u-entBody * + img {
  margin-top: 20rem;
}
.u-entBody table {
  width: 100%;
  margin-top: 24rem;
  font-size: 16rem;
  table-layout: fixed;
}
.u-entBody table th,
.u-entBody table td {
  box-sizing: border-box;
  padding: 22rem 15rem;
  border: 1px solid #d2d2d2;
  vertical-align: middle;
}
.u-entBody table th {
  background: #e8f4ff;
  line-height: 1.3;
  letter-spacing: 0.02em;
}
.u-entBody table td {
  box-sizing: border-box;
  padding: 22rem 15rem;
  border: 1px solid #d2d2d2;
  vertical-align: middle;
}
.u-entBody ul,
.u-entBody ol {
  display: flex;
  flex-direction: column;
  gap: 6rem 0;
  margin-top: 40rem;
}
.u-entBody ol {
  display: flex;
  flex-direction: column;
  gap: 6rem 0;
  margin-top: 40rem;
  counter-reset: number 0;
}
.u-entBody p + ul,
.u-entBody p + ol {
  margin-top: 10rem;
}
.u-entBody ul li {
  position: relative;
  margin-left: 1em;
  text-indent: -1em;
}
.u-entBody ul li::before {
  content: "・";
}
.u-entBody ol li {
  position: relative;
  box-sizing: border-box;
  padding-left: 1.2em;
}
.u-entBody ol li::before {
  content: counter(number) ".";
  position: absolute;
  left: 0;
  counter-increment: number 1;
}
.u-entBody li {
  font-size: 16rem;
  line-height: 1.8;
}
.u-entBody .text-huge {
  font-size: 20rem;
}
.u-entBody .text-big {
  font-size: 18rem;
}
.u-entBody .text-small {
  font-size: 14rem;
}
.u-entBody .text-tiny {
  font-size: 12rem;
}
.u-entBody a {
  position: relative;
  display: inline-block;
  color: var(--font-color-sub);
}
.u-entBody a::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.u-entBody a[target="_blank"],
.u-entBody a[href$=".pdf"] {
  box-sizing: border-box;
  padding-right: 28rem;
}
.u-entBody a[target="_blank"]::after {
  right: 4rem;
  width: 20rem;
  height: 20rem;
  mask: url(/common/images/icn_blank.svg) no-repeat center center / contain;
  -webkit-mask: url(/common/images/icn_blank.svg) no-repeat center center / contain;
  background: var(--back-color-sub);
}
.u-entBody a[href$=".pdf"]::after {
  right: 2rem;
  width: 24rem;
  height: 24rem;
  mask: none;
  background: url(/common/images/icn_pdf.svg) no-repeat center center / contain;
}
.u-entBody .m-bgBlock {
  padding: 24rem 28rem;
}
.u-entBody .m-bgBlock {
  margin-top: 40rem;
}

/* SP
----------------------------------*/
@media screen and (max-width: 768px) {
  .u-entBody {
    padding-top: 40rem;
  }
  .u-entBody h3 {
    font-size: 24rem;
  }
  .u-entBody h4 {
    font-size: 22rem;
  }
  .u-entBody table {
    width: 1200rem;
  }
}
