@charset "UTF-8";
/* ****************************************************************************

　目次

-------------------------------------------------------------------------------

　01. 基本レイアウト
　03. モジュール

******************************************************************************* */
/* ==

　01. 基本レイアウト

=============================================================================== */
/* ==

　02. モジュール

=============================================================================== */


#main #rTit_h1.rTitle02_ja{
  border-bottom: none;
}


/* ==

　02. モジュール

=============================================================================== */
/* MV
------------------------------------------------------------------------------- */
#main .tVisual {
  width: 100%;
  height: 750px;
  background-color: #ccc;
}

/* メッセージ
------------------------------------------------------------------------------- */
#main .tMessage {
  position: relative;
  margin: 180px 0 200px;
  padding: 0 0 0 75px;
}

#main .tMessage_txt {
  margin: 0 0 120px;
}

#main .tMessage_txt p {
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
  font-weight: 700;
  /*
  font-size: 233.33%;
  */
  font-size: 165%;
  line-height: 2.28;
  letter-spacing: 0.26em;
}

#main .tMessage_txt p+p {
  margin-top: 2.2em;
}

#main .tMessage_txt p:last-child {
  margin-top: 1.9em;
  /*
  font-size: 433.33%;
  */
  font-size: 335%;
  line-height: 1.67;
}

#main .tMessage_txt p span {
  background: linear-gradient(90deg, #222 33.33%, #222 33.33%, #eee 66.66%, #eee 100%);
  background-position: left 100% center;
  background-size: 300% 100%;
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  transition: background-position 2s cubic-bezier(0.23, 1, 0.32, 1);
}

#main .tMessage_txt p span.fnInview.is-inview {
  background-position: left 0% center;
}

#main .tMessage_imgList>div {
  position: absolute;
}

#main .tMessage_imgList>div img {
  width: 100%;
  height: auto;
  border-radius: 10px;
}

#main .tMessage_imgList>div:nth-of-type(1) {
  top: 0;
  right: -100px;
  width: 44.55%;
  max-width: 490px;
}

#main .tMessage_imgList>div:nth-of-type(2) {
  top: 810px;
  right: -180px;
  width: 39.09%;
  max-width: 430px;
}

#main .tMessage_imgList>div:nth-of-type(3) {
  top: 427px;
  left: -180px;
}


/* note へのリンク　2025/4追加
------------------------------------------------------------------------------- */
.rLink_note{
  margin-top: 60px;
  display: flex;
  gap: 0 20px;
}
.rLink_note .rLink_note_logo{
  width: calc((100% - 20px) / 2);
}
.rLink_note .rLink_note_logo a{
  min-width: 300px;
  min-height: 160px;
  background-color: #fff;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.rLink_note .rLink_note_logo a img {
  width: 215px;
  height: auto;
  transition: -webkit-transform 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: transform 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: transform 0.5s cubic-bezier(0.165, 0.84, 0.44, 1), -webkit-transform 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.d_hover #main .rLink_note .rLink_note_logo a:hover img {
  -webkit-transform: scale(1.04);
          transform: scale(1.04);
}
.rLink_note .rLink_note_docs{
  width: calc((100% - 20px) / 2);
}
#main .rLink_note_docs .rTxt01{
  letter-spacing: 0.01em;
}



/* エントリー
------------------------------------------------------------------------------- */
#main .tEntry {
  padding: 80px 0;
  overflow: hidden;
}

#main .tEntry_list {
  display: flex;
}

#main .tEntry_list>li {
  position: relative;
  aspect-ratio: 1/1;
  /* ●3つパターン */
  width: 31.82%;
  /* ●4つパターン
  width: 23.865%;
  */
}

#main .tEntry_list>li::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 100%;
  background-color: #fa0046;
  content: "";
  transition: -webkit-transform 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: transform 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: transform 0.3s cubic-bezier(0.165, 0.84, 0.44, 1), -webkit-transform 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
}

/* ●3つパターン */
#main .tEntry_list>li:nth-of-type(2) {
  top: -33px;
  margin: 0 0 0 5.45%;
}
#main .tEntry_list>li:nth-of-type(3) {
  top: -272px;
  margin: 0 0 0 -0.91%;
}
/* ●４つパターン
#main .tEntry_list>li:nth-of-type(2) {
  top: -23px;
  margin: 0 0 0 3.45%;
}
#main .tEntry_list>li:nth-of-type(3) {
  top: -96px;
  margin: 0 0 0 3.45%;
}
#main .tEntry_list>li:nth-of-type(4) {
  top: -272px;
  margin: 0 0 0 -0.91%;
}
*/


#main .tEntry_list>li>a {
  display: flex;
  position: relative;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: 0 0 5.71% 0;
  color: #fff;
  text-align: center;
  text-decoration: none;
}

#main .tEntry_list>li>a>span {
  font-weight: 700;
  letter-spacing: 0.04em;
  /*
  letter-spacing: 0.08em;
  */
}

#main .tEntry_list>li>a>span:nth-of-type(1) {
  font-size: clamp(30px, 3.1vw, 34px);
  /*
  font-size: clamp(34px, 3.5vw, 40px);
  */
  line-height: 1.4;
}

#main .tEntry_list>li>a>span:nth-of-type(2) {
  position: relative;
  margin: 34px 0 0;
  padding: 0 70px 0 0;
  font-size: clamp(18px, 1.8vw, 20px);
  /*
  margin: 42px 0 0;
  font-size: clamp(20px, 2.1vw, 24px);
  */
  line-height: 1.4;
  text-align: left;
}

#main .tEntry_list>li>a>span:nth-of-type(2)::before,
#main .tEntry_list>li>a>span:nth-of-type(2)::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  aspect-ratio: 1/1;
  width: 48px;
  height: 48px;
  margin: auto;
  border: 2px solid #fff;
  border-radius: 100%;
  background: no-repeat center center;
  background-size: 20px;
  content: "";
  transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
}

#main .tEntry_list>li>a>span:nth-of-type(2)::after {
  border-color: transparent;
  background-image: url(/recruit/common/images/rn/ico_arrow.svg);
}

#main .tEntry_list::before,
#main .tEntry_list::after {
  position: absolute;
  aspect-ratio: 1/1;
  border-radius: 100%;
  background-color: #fa0046;
  content: "";
}

#main .tEntry_list::before {
  top: -120px;
  right: -11.82%;
  width: 7.45%;
}

#main .tEntry_list::after {
  bottom: 140px;
  left: -20.91%;
  width: 11.82%;
}

#main .tEntry .rInner01 {
  position: relative;
}

#main .tEntry .rTitle02_ja {
  font-size: 433.33%;
  line-height: 1.67;
}

.d_hover #main .tEntry_list>li:hover::before {
  -webkit-transform: scale(1.14);
  transform: scale(1.14);
}



/* インタビュー
------------------------------------------------------------------------------- */
#main .tInterview {
  margin: 100px 0 83px;
}

#main .tInterview_note {
  margin: 25px 0;
  color: #fff;
  font-weight: bold;
  font-size: 150%;
  letter-spacing: .06em;
  text-align: right;
}

/* MV
------------------------------------------------------------------------------- */
/*
.rMenu {
  display: none;
}
*/

#main .tVisual02{
  position: relative;
  width: 100%;
  margin: 0 auto 60px;
  background-color: #fff;
}
#main .tVisual02_in{
  display: flex;
  justify-content: center;
  align-items: center;
}


/* スライダー
------------------------------------------------------------------------------- */
.tInterview_swiper {
  position: relative;
  left: -325px;
  min-width: 950px;
  max-width: 950px;
  margin-bottom: 35px;
}

.swiper {
  overflow: visible;
}

.swiper-init .swiper-slide {
  transition: all 0.0s;
}

.swiper-slide {
  width: 300px;
  margin: 177px 5px 0;
  transition: all 0.0s;
}

.swiper-slide.swiper-slide-active {
  width: 480px;
  margin-top: 0;
  animation-name: animation-scale;
  animation-duration: 400ms;
  transform-origin: bottom;
}

@keyframes animation-scale {
  0% {
    transform: scale(.7);
  }

  100% {
    transform: scale(1);
  }
}

.swiper-slide a {
  border-radius: 10px;
  overflow: hidden;
  display: block;
  margin: 0 1%;
}

.swiper-slide a img {
  width: 100%;
  height: auto;
  transition: -webkit-transform 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: transform 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: transform 0.5s cubic-bezier(0.165, 0.84, 0.44, 1), -webkit-transform 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.d_hover #main .swiper-slide a:hover img {
  -webkit-transform: scale(1.04);
  transform: scale(1.04);
}

#main .swiper-slide a::before,
#main .swiper-slide a::after {
  position: absolute;
  right: 20px;
  bottom: 20px;
  aspect-ratio: 1/1;
  width: 48px;
  height: 48px;
  border: 2px solid #fff;
  border-radius: 100%;
  background: no-repeat center center;
  background-size: 20px;
  content: "";
  transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
  z-index: 1;
}

#main .swiper-slide a::after {
  border-color: transparent;
  background-image: url(/recruit/common/images/rn/ico_arrow.svg);
}

#main .swiper-slide a.hover::before {
  border-color: transparent;
  background-color: #fa0046;
}

.tInterview_names {
  position: relative;
  /* z-index: 2; */
  z-index: 1;
}

.tInterview_name {
  position: absolute;
  top: 0;
  left: 475px;
  display: none;
  transition: opacity 0.3s;
  border-bottom: 2px solid #fff;
  min-width: 360px;
  padding-left: 20px;
  pointer-events: none;
}

.tInterview_name a {
  text-decoration: none;
}

.tInterview_name-current {
  display: block;
}

#main .tInterview_name p {
  font-size: 40px;
  color: #fff;
  font-weight: bold;
  margin: 5px 0 10px;
  letter-spacing: 1px;
  letter-spacing: 5px;
}

#main .tInterview_jobs {
  font-size: 18px;
  display: flex;
}

.tInterview_jobs li {
  color: #fff;
  font-weight: bold;
  background-color: rgba(0, 0, 0, 0.6);
  border-radius: 5px;
  margin-right: 5px;
  padding: 0 10px;
}

.swiper-uis {
  position: relative;
  width: 320px;
  left: 50%;
  margin-left: -160px;
}

.swiper-horizontal>.swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal {
  bottom: -60px;
}

.swiper-button-next,
.swiper-button-prev {
  top: 50px;
  color: #fff;
}

.swiper-button-next:after,
.swiper-button-prev:after {
  font-size: 30px;
}

.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 15px;
}

.swiper-pagination-bullet {
  background-color: #fff;
  opacity: 0.5;
}

.swiper-pagination-bullet-active {
  background-color: #fff;
  opacity: 1;
}



/* レイアウト
------------------------------------------------------------------------------- */
#main .rLinkList07-01 {
  justify-content: space-between;
}

#main .rLinkList07-01>li {
  font-weight: 500;
  font-size: 133.33%;
  line-height: 2;
}

#main .rLinkList07-01>li>ul {
  gap: 15px 30px;
  display: flex;
  flex-wrap: wrap;
}



/* スライド追加（2025/03）
------------------------------------------------------------------------------- */
.rInner01 .rSlide_slide{
	margin: 0 auto 60px;
}
.rInner01 .rSlide_slide p.rTxt01{
	margin-bottom: 20px;
}
.rInner01 .rSlide_slide iframe.docswell-iframe{
	width: 100%;
	max-width: 1100px;
	height: auto;
	aspect-ratio: 620/349;
}

