@charset "Shift_JIS";

/* [-] Newgraduate st
=========================================================================================== */
.NewGraduateContents img {
  flex-shrink: 0;
}
.LinkNewGraduate {
  color: #990000 !important;
}
.LinkNewGraduate::before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  border-top: 3px solid #990000;
  border-right: 3px solid #990000;
  transform: rotate(45deg);
}
.LinkNewGraduate:visited,
.LinkNewGraduate:link,
.LinkNewGraduate:-webkit-any-link {
  text-decoration: none;
  color: #fff;
}

.sp_only {
  display: none;
}
.br_sp {
  display: none;
}
.br_sps {
  display: none;
}
.STbr994,
.STbr579 {
  display: none;
}
.modaal-container {
  background: transparent;
  box-shadow: none;
}
.st-Youtube_wrap {
  position: relative;
  padding-top: 56.25%;
  height: 0;
  overflow: hidden;
}
.st-Youtube_wrap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.rikunabiLink {
  display: block;
  width: 100%;
  max-width: 250px;
  margin-top: 40px;
  text-align: center;
  transition: all 0.5s;
}
.rikunabiLink img {
  width: 100%;
  max-width: 250px !important;
}
.rikunabiLink:link,
.rikunabiLink:visited,
.rikunabiLink:-webkit-any-link {
  text-decoration: none !important;
}
.rikunabiLink:hover {
  opacity: 0.7;
}

.NewGraduateContents {
  font-family: "���S�V�b�N��", YuGothic, "���S�V�b�N Medium", "Yu Gothic Medium", "���S�V�b�N", "Yu Gothic", "Noto Sans JP", "Roboto", "���C���I", Meiryo, "�q���M�m�p�S Pro W3", "Hiragino Kaku Gothic Pro", "�l�r �o�S�V�b�N", Arial, Helvetica, sans-serif !important;
  color: #333;
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 0.05em;
}
.NewGraduateContents *,
.NewGraduateContents *:before,
.NewGraduateContents *:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  line-height: inherit;
}
.NewGraduateContents a:link {
  text-decoration: none;
  color: #333;
}
.NewGraduateContents h2 {
  margin: 0;
  padding: 0;
  background: none;
}
.NewGraduateContents h2 span {
  padding: 0;
  font-size: 16px;
  font-weight: normal;
  color: #333;
  line-height: 1.75;
  background-color: transparent;
}
.NewGraduateContents #Contents {
  padding-bottom: 0;
}
#TopicPath.TopicPathNewGraduate {
  height: 50px;
  width: 100%;
  min-width: auto;
  background-color: #fff;
}
#TopicPath.TopicPathNewGraduate .GridSet {
  height: 100%;
}
.TopicPathNewGraduate {
  position: relative;
  font-family: "Roboto", "Noto sans JP";
}
.TopicPathMenuNewGraduateItemlv2 {
  font-family: "���S�V�b�N��", YuGothic, "���S�V�b�N Medium", "Yu Gothic Medium", "���S�V�b�N", "Yu Gothic", sans-serif;
}
.TopicPathNewGraduate.js-fixed {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
}

.NewGraduateContents table {
  width: 100%;
  table-layout: fixed;
}
.NewGraduateContents table:last-of-type {
  margin-bottom: 0;
}
.NewGraduateContents table th,
.NewGraduateContents table td {
  padding: 16px 26px !important;
  background-color: #fff;
  border: none;
  font-size: 16px !important;
}
.NewGraduateContents table th {
  width: 155px;
  padding-right: 0 !important;
  padding-left: 0 !important;
  border-top: 1px solid #cc0000;
  font-weight: 700;
  vertical-align: top;
  text-align: center;
}
.NewGraduateContents table th:last-of-type {
  border-bottom: 1px solid #cc0000;
}
.NewGraduateContents table td {
  border-top: 1px solid #999999;
}
.NewGraduateContents table td:last-of-type {
  border-bottom: 1px solid #999999;
}
.u-font-feature {
  margin-left: -3px;
  font-feature-settings: "palt";
}
.u-font-feature--palt {
  font-feature-settings: "palt";
}

.js-SectionNav {
  position: fixed;
  bottom: 21.1%;
  right: calc((100% - 1213px) / 2);
  font-weight: 300;
  transform: translateY(-50px);
  visibility: hidden;
  transition: all 0.5s;
  z-index: 10;
}
.js-SectionNav::before {
  content: "";
  position: absolute;
  top: 4px;
  left: 5px;
  display: block;
  width: 1px;
  height: 97%;
  background-color: #990000;
}
.js-SectionNavItem {
  margin-bottom: 16px;
  line-height: 1;
}
.js-SectionNavItem:last-of-type {
  margin-bottom: 0;
}
.js-SectionNavItem::before {
  content: "";
  display: inline-block;
  width: 12px;
  height: 12px;
  margin-right: 4px;
  margin-bottom: -1px;
  border-radius: 50%;
  color: #990000;
  background-color: #990000;
  font-size: 12px;
}
.js-SectionNavLink {
  position: relative;
  color: #454545 !important;
  font-family: "Roboto", sans-serif;
  font-size: 12px;
  text-decoration: none !important;
  text-transform: uppercase;
  text-shadow: 0px 0px 20px rgba(0, 0, 0, 0.9);
  transition: all 0.5s;
}
.js-SectionNavLink::after {
  content: "";
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #990000;
  transform: scale(0, 1);
  transform-origin: right top;
  transition: transform 0.3s;
}
.js-SectionNavLink:visited,
.js-SectionNavLink:link,
.js-SectionNavLink:-webkit-any-link {
  text-decoration: none;
  color: #454545;
}
.js-SectionNavLink:hover,
.js-SectionNavLink.js-current {
  color: #fff !important;
  text-decoration: none;
}
.js-SectionNavLink:hover::after,
.js-SectionNavLink.js-current::after {
  transform-origin: left top;
  transform: scale(1, 1);
}

.TitleNewGraduate {
  margin-right: auto;
  color: #c4042a !important;
  font-size: 20px;
  font-weight: 700;
  line-height: 50px;
  text-transform: uppercase;
  text-decoration: none !important;
}
.TitleNewGraduate__sub {
  padding-left: 8px;
  color: #c4042a !important;
  font-size: 14px;
  font-weight: 500;
}
.TitleNewGraduateLite {
  color: #333 !important;
  font-weight: 300;
}
.TopicPathEntry {
  position: relative;
  padding-right: 27.03px;
  padding-left: 27.03px;
  margin-left: 1px;
  background-color: #e60027;
  color: #fff !important;
  font-size: 16px;
  font-weight: 300;
  letter-spacing: 0.05em;
  line-height: 50px;
  text-decoration: none !important;
  text-transform: uppercase;
  transition: all 0.5s;
}
.TopicPathEntry:visited,
.TopicPathEntry:link,
.TopicPathEntry:-webkit-any-link {
  text-decoration: none;
  color: #fff;
}
.TopicPathEntry:hover {
  background-color: #c5042b;
}
.TopicPathEntry::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background-color: #c5042b;
  transform-origin: right top;
  transform: scale(0, 1);
  transition: transform 0.3s;
  z-index: -1;
}
.TopicPathEntry:hover::before {
  transform-origin: left top;
  transform: scale(1, 1);
}
.TopicPathMenuButton {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  width: 50px;
  height: 50px;
  background-color: #333;
  line-height: 50px;
  cursor: pointer;
  transition: all 0.5s;
}
.TopicPathMenuButton:hover {
  background-color: #262626;
}
.TopicPathMenuButtonLine {
  display: block;
  width: 100%;
  max-width: 15px;
  height: 1px;
  margin-bottom: 6px;
  background-color: #fff;
  transition: all 0.5s;
}
.TopicPathMenuButtonLine:last-of-type {
  margin-bottom: 0;
}
.TopicPathMenuButtonLine.js-open:nth-of-type(1) {
  transform: translateY(7px) rotate(45deg);
}
.TopicPathMenuButtonLine.js-open:nth-of-type(2) {
  opacity: 0;
}
.TopicPathMenuButtonLine.js-open:nth-of-type(3) {
  transform: translateY(-7px) rotate(-45deg);
}
.TopicPathMenuNewGraduate {
  display: none;
  position: absolute;
  top: 49px;
  left: 0;
  width: 100%;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.9);
  color: #fff;
  z-index: 100;
}
@media (max-width: 579px) {
  .TopicPathMenuNewGraduate {
    top: 100px;
  }
}
.TopicPathMenuNewGraduateWrapper {
  position: relative;
  padding-top: 70px;
  width: 100%;
  height: 100%;
  overflow-y: auto;
}
.TopicPathMenuNewGraduateInner {
  position: relative;
  padding: 0;
  width: 100%;
  height: 100%;
}
.TopicPathMenuNewGraduateList {
  position: relative;
  width: 100%;
  max-width: 1085px;
  margin-right: auto;
  margin-left: auto;
  padding-right: 60px;
  padding-bottom: 140px;
  padding-left: 60px;
}
.TopicPathMenuNewGraduateItem {
  width: 100%;
  border-top: 1px solid #fff;
}
.TopicPathMenuNewGraduateItem:last-of-type {
  border-bottom: 1px solid #fff;
}
.TopicPathMenuNewGraduateLink {
  position: relative;
  display: block;
  width: 100%;
  height: 90px;
  padding-right: 70px;
  padding-left: 15px;
  color: #fff !important;
  font-family: "Roboto", sans-serif;
  font-size: 26px;
  font-weight: 300;
  text-decoration: none !important;
  text-transform: uppercase;
  cursor: pointer;
}

.IconPlus,
.IconArrow {
  position: absolute;
  top: 50%;
  right: 10px;
  margin: -20px 0 0 0;
  width: 40px;
  height: 40px;
  transition: all 0.5s;
}
.IconPlus::before,
.IconPlus::after,
.IconArrow::before,
.IconArrow::after {
  content: "";
  display: block;
  position: absolute;
  background-color: #fff;
  transition: all 0.5s;
}
.IconPlus::before {
  top: 19px;
  left: 10px;
  width: 20px;
  height: 2px;
}
.IconPlus::after {
  top: 10px;
  left: 19px;
  width: 2px;
  height: 20px;
}
.IconPlus.js-active::after {
  transform: rotate(90deg);
}
.IconArrow {
  top: 60%;
  right: 24px;
  width: 18px;
  height: 18px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
}

.TopicPathMenuNewGraduateLinkNameSub {
  padding-left: 1em;
  font-size: 14px;
  font-family: "Shippori Mincho", sans-serif;
  font-weight: 500;
}
.TopicPathMenulv2 {
  width: 100%;
  margin: 0;
  padding: 10px 0 40px 30px !important;
}
.TopicPathMenulv2Item {
  padding: 15px 25px;
}
.TopicPathMenulv2ItemLink {
  color: #fff !important;
  text-decoration: none !important;
}

.TopBrandingArea--bg.js-appear::before {
  opacity: 1;
}

.GridSet--relative {
  position: relative;
}
.MainVisual_border {
  height: 100%;
  overflow: hidden;
  position: absolute;
  z-index: 1;
  background-color: rgba(0, 0, 0, 0.3);
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}
.MainVisual {
  position: relative;
  width: 100%;
  overflow: hidden;
  transition: all 0.5s;
}
.MainVisual video {
  display: block;
  width: 100%;
  text-align: center;
  transition: all 0.5s;
}
.MainVisualImg {
  position: absolute;
  top: 0;
  right: 50%;
  transform: translateX(50%);
  display: block;
  width: 100%;
  max-width: 1187px;
  text-align: center;
  opacity: 0;
  transition: all 0.5s;
}
.MainVisualImg img {
  width: 100%;
}
.MainVisualImgsp {
  display: none;
}
.MainVisualImg.js-appear {
  opacity: 1;
}
.GridSet.mainVisual {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  margin: 0 !important;
  z-index: 2;
}
.CatchCopyNewGraduateWrap {
  width: 100%;
  max-width: 680px;
  margin: 0 auto;
  padding: 25px 29px;
  background: rgba(0, 0, 0, 0.5);
  color: #fff;
  font-family: "Marcellus", sans-serif;
  letter-spacing: 0.025em;
  line-height: 1;
  text-align: center;
}
.CatchCopyNewGraduate {
  position: relative;
  font-size: 93px;
}
.CatchCopyNewGraduatePride {
  display: block;
}
.CatchCopyNewGraduateSub {
  margin-top: 24px;
  color: #fff;
  letter-spacing: 0.05em;
}
.CatchCopyNewGraduateSub .spImg {
  display: none;
}
.CatchCopyNewGraduateBG {
  display: block;
  width: 100%;
  padding-top: 99%;
  background: url("../../../recruit/newgraduate/image/top/main_bg.png") no-repeat top center;
  background-size: cover;
  background-color: #000;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .CatchCopyNewGraduateBG {
    background: url("../../../recruit/newgraduate/image/top/main_bg@2x.png") no-repeat top center;
    background-size: cover;
  }
}
.ScrollNewGraduate {
  position: relative;
  display: block;
  margin-top: 111px;
  color: #fff !important;
  font-family: "Roboto", sans-serif;
  font-size: 18px;
  font-weight: 300;
  letter-spacing: 0.05em;
  text-align: center;
  text-decoration: none !important;
  text-transform: uppercase;
  transition: all 0.5s;
  opacity: 0;
}
.ScrollNewGraduate.js-appear {
  opacity: 1;
}
.ScrollNewGraduate::before {
  content: "";
  display: block;
  position: absolute;
  top: 32px;
  left: 50%;
  width: 14px;
  height: 14px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: translate(-50%, 0) rotate(135deg);
  animation: scroll-down 2s infinite;
}
@keyframes scroll-down {
  0% {
    transform: translate(-50%, 0) rotate(135deg);
  }
  20% {
    transform: translate(-50%, 10px) rotate(135deg);
  }
  40% {
    transform: translate(-50%, 0) rotate(135deg);
  }
}
.STpageTop {
  position: fixed;
  bottom: 50px;
  right: 50px;
  width: 60px;
  height: 60px;
  background-color: #333;
  border: 1px solid #262626;
  color: #fff;
  opacity: 0;
  visibility: hidden;
  cursor: pointer;
  transition: all 0.5s;
  z-index: 99;
}
.STpageTop:hover {
  background-color: #262626;
}
.STpageTop:hover.STpageTop a::before {
  transform: translate(0, -5px) rotate(-45deg);
}
.STpageTop.js-appear {
  opacity: 1;
  visibility: visible;
}
.STpageTop a {
  width: 100%;
  height: 100%;
  text-decoration: none !important;
}
.STpageTop a::before {
  content: "";
  display: inline-block;
  width: 14px;
  height: 14px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: translate(0, 5px) rotate(-45deg);
  transition: all 0.5s;
}

.SectionContainer {
  margin-bottom: 46px;
}
.SectionWrap--recruit .SectionContainer {
  margin-bottom: 31px;
}
.SectionWrap {
  position: relative;
  padding-bottom: 69px;
  transition: all 0.5s;
}
#home .SectionWrap {
  overflow: hidden;
}
.SectionWrap--Member,
.SectionWrap--Business {
  padding: 0;
  padding-bottom: 100px;
}
.SectionWrap--Movie {
  background-color: #e7e7e7;
}
.SectionWrap--Work {
  color: #333;
  background: linear-gradient(to bottom, #fff 0%, rgba(255, 255, 255, 0) 20%, rgba(255, 255, 255, 0) 80%, #fff 100%), url("../../../recruit/newgraduate/image/top/work_bg.png") no-repeat center center;
  background-size: cover;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .SectionWrap--Work {
    background: linear-gradient(to bottom, #fff 0%, rgba(255, 255, 255, 0) 20%, rgba(255, 255, 255, 0) 80%, #fff 100%), url("../../../recruit/newgraduate/image/top/work_bg@2x.png") no-repeat center center;
    background-size: cover;
  }
}

.SectionBlock {
  width: 100%;
  max-width: 50%;
}
.SectionBlock.is-single {
  max-width: 100%;
}
.SectionWrap--Message .SectionBlock {
  max-width: 100%;
  text-align: center;
}
.SectionWrap--Message .SectionBlock:last-of-type {
  padding-top: 40px;
}
.SectionWrap--Pride {
  position: relative;
  margin-top: -280px;
  z-index: 2;
}
.SectionWrap--Pride .SectionTitle,
.SectionWrap--Pride .SectionText--right {
  color: #fff;
}
.SectionWrap--Pride .SectionTitle::before {
  height: 130px;
}
.SectionWrap--Women .SectionBlock {
  max-width: 51%;
}
.SectionWrap--Women .SectionBlock--text {
  max-width: 49%;
}
.PrideBG {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
  z-index: -1;
}
.PrideBG::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 425px;
  background-color: #e7e7e7;
}
.SectionBlockLeft {
  max-width: 45%;
}
.SectionBlockRight {
  max-width: 55%;
}
.SectionBlock--text {
  padding-top: 78px;
}
.SectionBlock--work {
  margin-bottom: 32px;
}
.SectionBlock--movie {
  margin-bottom: 32px;
}
.p-pride__wrap {
  margin-bottom: -60px;
}
.p-pride__wrap__list {
  width: 100%;
  margin: 0 auto;
}
.p-pride__wrap__list--sp {
  display: none;
}
.p-pride__wrap__list__item {
  margin-bottom: 30px;
  margin-left: 30px;
}
.p-pride__wrap__list__item:nth-of-type(4n + 1) {
  margin-left: 0;
}
.SectionBottomLink {
  position: relative;
  align-items: flex-end;
  width: 100%;
  margin-top: 83px;
  padding-bottom: 55px;
}
.SectionBottomLink::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100vw;
  height: 250px;
  margin: 0 calc(50% - 50vw);
  background-color: #e7e7e7;
  z-index: -1;
}
.SectionWrap--Member .SectionBottomLink {
  padding-bottom: 68px;
}
.SectionWrap--Member .SectionBottomLink::after {
  height: 200px;
}
.SectionBottomLinkLeft {
  width: 100%;
  max-width: 273px;
  margin-right: 54px;
  font-family: "Shippori Mincho", sans-serif;
  font-weight: 500;
  line-height: 1.5;
}
.SectionBottomLinkLeft span {
  display: block;
  margin-bottom: 4px;
  font-size: 26px;
  font-family: "Roboto", sans-serif;
  font-weight: 400;
  line-height: 1.384;
}
.SectionBottomLinkText {
  font-family: "���S�V�b�N��", YuGothic, "���S�V�b�N Medium", "Yu Gothic Medium", "���S�V�b�N", "Yu Gothic", sans-serif;
  font-weight: 500;
}
.SectionBottomLinkRight {
  display: block;
  width: 100%;
  max-width: 641px;
  overflow: hidden;
}
.SectionBottomLinkRight.is-member {
  box-shadow: 0 0 20px rgba(153, 153, 153, 0.5);
}
.SectionBottomLinkRight img {
  transition: transform 0.5s;
}
.SectionBottomLinkRight:hover.SectionBottomLinkRight img {
  transform: scale(1.1);
}

.SectionBottomLinkCenter {
  display: block;
  width: 100%;
  overflow: hidden;
}
.SectionBottomLinkCenter.is-member {
  box-shadow: 0 0 20px rgba(153, 153, 153, 0.5);
}
.SectionBottomLinkCenter img {
  transition: transform 0.5s;
}
.SectionBottomLinkCenter:hover.SectionBottomLinkCenter img {
  transform: scale(1.1);
}

.SectionWrap--Women .p-member__wrap {
  margin-bottom: 60px;
}
.p-member__wrap--sp {
  display: none;
}
.p-member__wrap__item {
  width: 100%;
  max-width: 450px;
  margin-bottom: 80px;
  margin-left: 35px;
}
.p-member__wrap__item:hover.p-member__wrap__item a .p-member__wrap__item__thumb span {
  transform: scale(1.1);
}
.p-member__wrap__item a {
  display: block;
}
.p-member__wrap__item:nth-of-type(2n + 1) {
  margin-left: 0;
}
.SectionWrap--Women .p-member__wrap__item {
  margin-bottom: 0;
}
.p-member__wrap__item__thumb {
  position: relative;
  display: block;
  width: 100%;
  max-width: 405px;
  height: 330px;
  margin-left: auto;
  overflow: hidden;
}
.p-member__wrap__item__thumb span {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  transition: all 0.5s;
}
.p-member__wrap__item a:hover.p-member__wrap__item__thumb span {
  transform: scale(1.1);
}
.p-member__wrap__item__thumb01 span {
  background: url("../../../recruit/newgraduate/image/top/member_thumb01.jpeg") no-repeat center center;
  background-size: cover;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .p-member__wrap__item__thumb01 span {
    background: url("../../../recruit/newgraduate/image/top/member_thumb01@2x.jpeg") no-repeat center center;
    background-size: cover;
  }
}
.p-member__wrap__item__thumb02 span {
  background: url("../../../recruit/newgraduate/image/top/member_thumb02.jpeg") no-repeat center center;
  background-size: cover;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .p-member__wrap__item__thumb02 span {
    background: url("../../../recruit/newgraduate/image/top/member_thumb02@2x.jpeg") no-repeat center center;
    background-size: cover;
  }
}
.p-member__wrap__item__thumb03 span {
  background: url("../../../recruit/newgraduate/image/top/member_thumb03.jpeg") no-repeat center center;
  background-size: cover;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .p-member__wrap__item__thumb03 span {
    background: url("../../../recruit/newgraduate/image/top/member_thumb03@2x.jpeg") no-repeat center center;
    background-size: cover;
  }
}
.p-member__wrap__item__thumb04 span {
  background: url("../../../recruit/newgraduate/image/top/member_thumb04.jpeg") no-repeat center center;
  background-size: cover;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .p-member__wrap__item__thumb04 span {
    background: url("../../../recruit/newgraduate/image/top/member_thumb04@2x.jpeg") no-repeat center center;
    background-size: cover;
  }
}
.p-member__wrap__item__thumb01w span {
  background: url("../../../recruit/newgraduate/women/image/women_interview01.jpg") no-repeat center center;
  background-size: cover;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .p-member__wrap__item__thumb01w span {
    background: url("../../../recruit/newgraduate/women/image/women_interview01@2x.jpg") no-repeat center center;
    background-size: cover;
  }
}
.p-member__wrap__item__thumb02w span {
  background: url("../../../recruit/newgraduate/women/image/women_interview02.jpg") no-repeat center center;
  background-size: cover;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .p-member__wrap__item__thumb02w span {
    background: url("../../../recruit/newgraduate/women/image/women_interview02@2x.jpg") no-repeat center center;
    background-size: cover;
  }
}
.p-member__wrap__item__textBox {
  position: relative;
  display: block;
  width: 100%;
  max-width: 280px;
  margin-top: -80px;
  padding: 16px 5px 16px 16px;
  background-color: rgba(0, 0, 0, 0.8);
  color: #fff;
  font-family: "Shippori Mincho", sans-serif;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.6666;
}
.SectionWrap--Women .p-member__wrap__item__textBox {
  background-color: rgba(255, 255, 255, 0.9);
  color: #333;
}

.WorkBlock {
  position: relative;
  height: 506px;
}
.WorkBlockItem {
  position: absolute;
}
.WorkBlockItem01 {
  top: 0;
  left: 0;
}
.WorkBlockItem02 {
  top: 0;
  left: 32%;
}
.WorkBlockItem03 {
  top: 30px;
  right: 0;
}
.WorkBlockItem04 {
  bottom: 0;
  left: 154px;
}
.WorkBlockItem05 {
  bottom: 0;
  right: 110px;
}
.SectionTitle {
  display: flex;
  align-items: flex-end;
  margin: 0;
  padding: 0;
  font-size: 50px;
  font-weight: 300;
  letter-spacing: 0.05em;
  line-height: 1;
  text-transform: uppercase;
}
.SectionWrap--Message .SectionTitle {
  display: block;
}
.SectionTitleBlack {
  color: #333;
}
.SectionTitle::before {
  content: "";
  display: block;
  margin-right: 34px;
  width: 2px;
  height: 150px;
  background-color: #cc0033;
}
.SectionWrap--Message .SectionTitle::before {
  width: 2px;
  height: 80px;
  margin: 0 auto 40px;
}
.NewGraduateContents h2 .SectionTitleSub {
  display: block;
  margin-top: 17px;
  font-family: "Shippori Mincho", sans-serif;
  font-size: 20px;
}
.SectionWrap--Pride .SectionTitleSub {
  color: #fff !important;
}
.SectionTitleSubGray {
  color: #666666;
}
.SectionTitleText {
  margin-bottom: 4px;
  font-family: "Roboto", sans-serif;
  font-weight: 300;
}
.SectionWrap--Message .SectionTitleText {
  text-align: center;
}
.SectionText {
  margin-bottom: 40px;
  line-height: 1.5;
}
.SectionText.SectionText--message {
  margin-bottom: 24px;
  letter-spacing: 0.04em;
  line-height: 1.875;
}
.SectionText:last-of-type {
  margin-bottom: 0;
}
.SectionText--right {
  letter-spacing: 0.03em;
  text-align: right;
}
.SectionWrap--workplace .SectionTitle,
.SectionWrap--workplace .SectionText {
  color: #333;
}
.SectionCopy {
  margin-bottom: 24px;
  font-family: "Marcellus", "Noto Serif JP", sans-serif;
  font-size: 36px;
  letter-spacing: 0.05em;
  line-height: 1;
}
.SectionCopySub {
  display: block;
  margin-top: 8px;
  font-size: 24px;
  line-height: 1.5;
}
.SectionImg {
  position: relative;
  height: 600px;
  overflow: hidden;
  z-index: 1;
}
.SectionImg--Message {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 120%;
  background: url("../../../recruit/newgraduate/image/top/message.jpg") no-repeat center center;
  background-size: cover;
  z-index: 1;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .SectionImg--Message {
    background: url("../../../recruit/newgraduate/image/top/message@2x.jpg") no-repeat center center;
    background-size: cover;
  }
}
.SectionWrap--workplace {
  position: relative;
  z-index: 2;
}

.ContentsLinkWrap {
  display: flex;
  /* flex-wrap: wrap; */
  gap: 1rem;
}
.ContentsLinkWrap.ContentsLinkWrapRecruit {
  position: relative;
  justify-content: space-between;
  z-index: 2;
}
.ContentsLink {
  position: relative;
  display: block;
  width: 100%;
  max-width: calc(100% / 2);
  height: 160px;
  border: 1px solid #c5042b;
  overflow: hidden;
  transition: all 0.5s;
}

.ContentsLink::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: #fff;
  transform-origin: left top;
  transform: scale(0, 1);
  transition: all 0.5s;
  z-index: -1;
}
.ContentsLink:hover::after {
  transform: scale(1, 1);
}

.ContentsLink:hover .ContentsLinkTitle,
.ContentsLink:hover .ContentsLinkTitleSub {
  color: #c5042b;
}

.ContentsLink:hover .ContentsLinkBtn::before {
  background-color: #c5042b;
}
.ContentsLink:hover .ContentsLinkBtn::after {
  background-color: #c5042b;
}

.SectionWrap--recruit .ContentsLinkWrap .ContentsLink {
  max-width: 33.3333%;
}
.ContentsLinkWrap.ContentsLinkWrapRecruit .ContentsLink {
  display: flex;
  align-items: flex-end;
  max-width: calc((100% - 25px) / 2);
  margin-bottom: 25px;
  text-decoration: none;
}
.ContentsLinkWrap.ContentsLinkWrapRecruit .ContentsLink:nth-last-child(1),
.ContentsLinkWrap.ContentsLinkWrapRecruit .ContentsLink:nth-last-child(2) {
  margin-bottom: 0;
}
.ContentsLinkWrap.ContentsLinkWrapRecruit .ContentsLinkBranding .ContentsLinkTitle {
  font-size: 46px;
  /* text-shadow: 0 0 16px rgba(153, 153, 153, 0.3); */
}
/* .ContentsLink::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  background: url("../../../recruit/newgraduate/image/common/contents_link_overlay.png") no-repeat center center;
  background-size: cover;
} */
/* @media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .ContentsLink::before {
    background: url("../../../recruit/newgraduate/image/common/contents_link_overlay@2x.png") no-repeat center center;
    background-size: cover;
  }
}
.ContentsLinkWrapRecruit .ContentsLink::before {
  background: url("../../../recruit/newgraduate/image/common/recruit_info_overlay.png") no-repeat center center;
  background-size: cover;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .ContentsLinkWrapRecruit .ContentsLink::before {
    background: url("../../../recruit/newgraduate/image/common/recruit_info_overlay@2x.png") no-repeat center center;
    background-size: cover;
  }
} */
.ContentsLink:hover .ContentsLinkBG {
  transform: scale(1.1);
}
.ContentsLinkBranding:hover .ContentsLinkBG {
  transform: none;
}
.ContentsLinkBG {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: all 0.5s;
  z-index: -2;
}
.ContentsLinkBG.is-service {
  background: url("../../../recruit/newgraduate/image/top/business_service.jpg") no-repeat center center;
  background-size: cover;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .ContentsLinkBG.is-service {
    background: url("../../../recruit/newgraduate/image/top/business_service@2x.jpg") no-repeat center center;
    background-size: cover;
  }
}
.ContentsLinkBG.is-message {
  background: url("../../../recruit/newgraduate/image/top/business_message.jpg") no-repeat center center;
  background-size: cover;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .ContentsLinkBG.is-message {
    background: url("../../../recruit/newgraduate/image/top/business_message@2x.jpg") no-repeat center center;
    background-size: cover;
  }
}
.ContentsLinkBG.is-requirements {
  background-color: #cc0033;
  background-size: cover;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .ContentsLinkBG.is-requirements {
    background-color: #cc0033;
  }
}
.ContentsLinkBG.is-faq {
  background-color: #cc0033;
  background-size: cover;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .ContentsLinkBG.is-faq {
    background-color: #cc0033;
    background-size: cover;
  }
}
.ContentsLinkBG.is-profile {
  background-color: #cc0033;
  background-size: cover;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .ContentsLinkBG.is-profile {
    background-color: #cc0033;
    background-size: cover;
  }
}
.ContentsLinkBG.is-branding {
  background: url("../../../recruit/newgraduate/image/info/info_branding.jpg") no-repeat center center;
  background-size: cover;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .ContentsLinkBG.is-branding {
    background: url("../../../recruit/newgraduate/image/info/info_branding@2x.jpg") no-repeat center center;
    background-size: cover;
  }
}
.ContentsLinkBG.is-newgraduate {
  background: url("../../../recruit/newgraduate/image/info/info_newgraduate.jpg") no-repeat center center;
  background-size: cover;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .ContentsLinkBG.is-newgraduate {
    background: url("../../../recruit/newgraduate/image/info/info_newgraduate@2x.jpg") no-repeat center center;
    background-size: cover;
  }
}
.ContentsLinkBG.is-career {
  background: url("../../../recruit/newgraduate/image/info/info_career.jpg") no-repeat center center;
  background-size: cover;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .ContentsLinkBG.is-career {
    background: url("../../../recruit/newgraduate/image/info/info_career@2x.jpg") no-repeat center center;
    background-size: cover;
  }
}
.ContentsLinkBG.is-disability {
  background: url("../../../recruit/newgraduate/image/info/info_disability.jpg") no-repeat center center;
  background-size: cover;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .ContentsLinkBG.is-disability {
    background: url("../../../recruit/newgraduate/image/info/info_disability@2x.jpg") no-repeat center center;
    background-size: cover;
  }
}
.ContentsLinkTitle {
  display: table;
  margin: 40px 0 0 40px;
  color: #fff;
  font-family: "Roboto", sans-serif;
  font-size: 30px;
  font-weight: 300;
  letter-spacing: 0.05em;
  line-height: 1.1538;
  transition: all 0.5s;
}
.ContentsLinkWrap.ContentsLinkWrapRecruit .ContentsLinkTitle {
  margin: 0 0 16px 16px;
  font-size: 26px;
}
.SectionWrap--recruit .ContentsLinkWrap .ContentsLink .ContentsLinkTitle {
  margin: 20px 0 0 20px;
  font-size: 26px;
}
.ContentsLinkTitleSub {
  display: block;
  margin-top: 5px;
  font-family: "���S�V�b�N��", YuGothic, "���S�V�b�N Medium", "Yu Gothic Medium", "���S�V�b�N", "Yu Gothic", sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.875;
  transition: all 0.5s;
}
.ContentsLinkWrap.ContentsLinkWrapRecruit .ContentsLinkTitleSub {
  font-size: 12px;
}
.ContentsLinkBtn {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 50px;
  height: 50px;
  /* background-color: #cc0033; */
}
.ContentsLinkBtn::before,
.ContentsLinkBtn::after {
  content: "";
  display: block;
  position: absolute;
  height: 1px;
  background-color: #fff;
  transition: all 0.5s;
}
.ContentsLinkBtn::before {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 30px;
}
.ContentsLinkBtn::after {
  top: 42%;
  right: 9px;
  width: 10px;
  transform: rotate(40deg);
}

.SectionEntry {
  display: block;
  width: 100%;
  padding: 46px 0 38px;
  background-color: #cc0033;
  color: #fff !important;
  font-size: 30px;
  letter-spacing: 0.05em;
  text-decoration: none !important;
  text-transform: uppercase;
  text-align: center;
  transition: all 0.5s;
}
.SectionEntry:visited,
.SectionEntry:link,
.SectionEntry:-webkit-any-link {
  text-decoration: none;
  color: #fff;
}
.SectionEntry:hover {
  background-color: #b1000e;
}
.EntryText {
  position: relative;
  margin-bottom: 8px;
  font-family: "Roboto", sans-serif;
  line-height: 1;
  text-align: center;
}
.EntryText--arrow {
  position: relative;
  font-weight: 300;
}
.EntryText--arrow::before,
.EntryText--arrow::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: -50px;
  height: 1px;
  background-color: #fff;
}
.EntryText--arrow::before {
  top: 72%;
  width: 35px;
}
.EntryText--arrow::after {
  top: 63%;
  right: -51px;
  width: 10px;
  transform: rotate(40deg);
}
.EntryTextNote {
  display: block;
  font-size: 14px;
  line-height: 1;
}

.PageCover {
  width: 100%;
  padding-bottom: 113.6px;
  background-color: #fff;
}
.PageCover--pride {
  background: url("../../../recruit/newgraduate/work/image/pageCover_bg-pride.jpeg") no-repeat center center;
  background-size: cover;
  background-color: #fff;
  padding-bottom: 295px;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .PageCover--pride {
    background: url("../../../recruit/newgraduate/work/image/pageCover_bg-pride@2x.jpeg") no-repeat center center;
    background-size: cover;
    background-color: #fff;
  }
}
.PageCover--women {
  height: auto;
  background: url("../../../recruit/newgraduate/women/image/pageCover_bg-women.png") no-repeat center center;
  background-size: cover;
  background-color: #fff;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .PageCover--women {
    background: url("../../../recruit/newgraduate/women/image/pageCover_bg-women@2x.png") no-repeat center center;
    background-size: cover;
    background-color: #fff;
  }
}
.PageCoverTitle {
  position: relative;
  display: flex;
  align-items: flex-end;
  line-height: 1.44;
  letter-spacing: 0.05em;
  transition-delay: 1s;
}
.PageCover--pride .PageCoverTitle {
  color: #333;
}
.PageCoverTitleSide {
  width: 100%;
  max-width: 485px;
  margin-right: 64px;
}
.PageCoverTitle::before {
  content: "";
  position: absolute;
  top: 0;
  display: block;
  width: 100%;
  max-width: 2px;
  height: 100%;
  background-color: #cc0033;
  transition-delay: 0s;
}
.PageCoverTitleInner {
  display: block;
  margin-bottom: 7px;
  padding: 43px 0 0 32px;
}
.PageCoverTitleMain {
  display: block;
  font-family: "Roboto", sans-serif;
  font-size: 50px;
  font-weight: 300;
  text-transform: uppercase;
}
.PageCoverTitleSub {
  display: block;
  font-family: "Shippori Mincho", sans-serif;
  font-size: 20px;
  font-weight: 500;
  text-transform: uppercase;
}
.PageCoverText {
  width: 100%;
  max-width: 487px;
  margin-top: 80px;
  color: #f4f4f4;
}
.PageCoverWomenContents {
  padding: 74px 0 62px;
}
.PageCoverCatchWomen {
  width: 100%;
  max-width: 644px;
  margin: 0 auto 39px;
}
.PageCoverWomenContentsText {
  line-height: 1.875;
  text-align: center;
}
.PageSection {
  padding-top: 77px;
  padding-bottom: 77px;
}
.PageSection--movie {
  padding-top: 77px;
}
.PageSection--faq {
  padding-bottom: 120px;
}

.PageSectionTitle {
  margin: 0 !important;
  margin-bottom: 40px !important;
  font-size: 30px;
  font-weight: 500;
  letter-spacing: 0.05em;
}
.PageSectionTitle {
  margin-bottom: 40px;
  font-size: 30px;
  font-weight: 500;
  letter-spacing: 0.05em;
  padding-left: 1.9em !important;
  text-indent: -1.8em;
}
.PageSectionTitle::before {
  content: "";
  display: inline-block;
  width: 30px;
  height: 3px;
  margin-right: 16px;
  margin-bottom: 9px;
  background-color: #cc0033;
}
.PageSectionContainer {
  margin-bottom: 70px;
  padding-bottom: 18px;
  padding-left: 34px;
  border-left: 3px solid #990000;
}
.PageSectionContainer:last-of-type {
  margin-bottom: 0;
}
.PageSectionBlock--upper {
  margin-bottom: 45px;
}
.PageSectionBlock--upper_left {
  width: 100%;
  max-width: 541px;
  margin-right: 100px;
  padding-top: 18px;
  float: left;
}
.PageSectionBlock--upper_right {
  position: relative;
}
.PageSectionBlock--upper_right_sp {
  display: none;
}
.PageSectionTextBox {
  background-image: -moz-linear-gradient(90deg, rgb(51, 51, 51) 0%, rgb(26, 26, 26) 34%, rgb(0, 0, 0) 100%);
  background-image: -webkit-linear-gradient(90deg, rgb(51, 51, 51) 0%, rgb(26, 26, 26) 34%, rgb(0, 0, 0) 100%);
  background-image: -ms-linear-gradient(90deg, rgb(51, 51, 51) 0%, rgb(26, 26, 26) 34%, rgb(0, 0, 0) 100%);
  color: #fff;
  font-weight: 500;
  letter-spacing: 0.05em;
}
.PageSectionTextBox_right,
.PageSectionTextBox_left {
  width: 100%;
  padding: 28px 22px;
}
.PageSectionTextBox_left {
  width: 100%;
  max-width: 257px;
  border-right: 2px solid #990000;
  font-family: "Noto Serif JP", sans-serif;
  font-size: 18px;
  font-weight: 700;
}
.PageSectionTextBox_right {
  max-width: 666px;
}
.PageSectionTextBoxListItem {
  text-indent: -2.9em;
  font-family: "Noto Sans JP", sans-serif;
}
.PageSectionTextBoxListItemDate {
  display: inline-block;
  margin-right: 21px;
}
.PageSectionTextBoxAchievement {
  width: 100%;
  max-width: 480px;
}
.PageSectionTextBox_right dl dt {
  width: 100%;
  max-width: 17%;
  margin-right: 21px;
}
.PageSectionTextBox_right dl dd {
  width: 100%;
  max-width: calc(100% - (17% + 21px));
}
.PageSectionBlockHeading {
  margin-bottom: 24px;
  color: #990000;
  font-size: 26px;
  font-weight: 700;
  line-height: 1.3846;
}
.PageSectionBlockHeadingNote {
  display: block;
  margin-top: 16px;
  color: #666;
  font-size: 18px;
}
.PageSectionBlockHeadingSecond {
  margin-bottom: 8px;
  color: #990000;
  font-size: 20px;
  font-weight: 700;
}
.PageSectionBlock--lower_left {
  width: 100%;
  max-width: 540px;
  margin-right: 43px;
}
.PageSectionBlock--lower_right {
  width: 100%;
  max-width: 340px;
  text-align: center;
}
.PageSectionBlockHeadingSub {
  height: 40px;
  margin-bottom: 15px;
  background-image: -moz-linear-gradient(90deg, rgb(51, 51, 51) 0%, rgb(84, 84, 84) 49%, rgb(88, 88, 88) 50%, rgb(51, 51, 51) 100%);
  background-image: -webkit-linear-gradient(90deg, rgb(51, 51, 51) 0%, rgb(84, 84, 84) 49%, rgb(88, 88, 88) 50%, rgb(51, 51, 51) 100%);
  background-image: -ms-linear-gradient(90deg, rgb(51, 51, 51) 0%, rgb(84, 84, 84) 49%, rgb(88, 88, 88) 50%, rgb(51, 51, 51) 100%);
  color: #fff;
  font-size: 18px;
  line-height: 40px;
  text-align: center;
}
.PageSectionText {
  width: 100%;
  max-width: 541px;
  font-weight: 500;
  letter-spacing: 0.05em;
}
.PageSectionBlockCat {
  width: 100%;
  max-width: 170px;
  margin-left: 15px;
  background-color: #fff;
  color: #990000;
  line-height: 34px;
  text-align: center;
}
.PageSectionBlockCat:nth-child(3n + 1) {
  margin-left: 0;
}
.InterviewLink {
  text-decoration: none !important;
  transition: all 0.5s;
}
.InterviewLink:link,
.InterviewLink:visited,
.InterviewLink:-webkit-any-link {
  text-decoration: none !important;
}
.InterviewLink:hover {
  opacity: 0.6;
}
.InterviewImg {
  border-radius: 50%;
}

/*crosstalk*/
.PageKV {
  position: relative;
  width: 100%;
  height: 577px;
  overflow: hidden;
}
.PageKVbg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.PageKVbg span {
  display: block;
  width: 100%;
  height: 100%;
  background: url("../../../recruit/newgraduate/business/image/crosstalk-kv.jpeg") no-repeat top center;
  background-size: cover;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .PageKVbg span {
    background: url("../../../recruit/newgraduate/business/image/crosstalk-kv@2x.jpeg") no-repeat top center;
    background-size: cover;
  }
}
.PageKVTitle {
  position: relative;
  color: #fff;
  font-size: 50px;
  font-weight: 700;
  text-align: center;
}
.PageKVTitle--sp {
  display: none;
}
#crosstalk .PageKV .GridSet {
  height: 100%;
}
.PageKVTitleSub {
  display: block;
  width: 100%;
  max-width: 270px;
  margin: 0 auto;
}
.PageKVTitleBox {
  display: block;
  width: 0;
  background-color: #cc0033;
  transition: all 1s;
  transition-timing-function: cubic-bezier(0.83, 0, 0.17, 1);
  overflow: hidden;
}
.PageKVTitleBox.js-active {
  width: 100%;
}
.PageKVTitleBoxText {
  display: block;
  padding: 16px 26px;
  color: #fff;
  font-family: "Montserrat", sans-serif;
  font-size: 20px;
  font-weight: 600;
  text-align: center;
  white-space: nowrap;
}
.PageKVTitleTextWrap {
  display: block;
  line-height: 1.44;
  overflow: hidden;
}
.PageKVTitleText {
  display: block;
  text-shadow: 0px 0px 10px rgba(51, 51, 51, 0.7);
  transform: translateY(70px);
  transition: transform 0.8s;
  transition-timing-function: cubic-bezier(0.83, 0, 0.17, 1);
}
.PageKVTitleText.js-active {
  transform: translateY(0);
}
.PageSection--person {
  padding: 62px 0 88px;
}
.PageSection--person__text {
  width: 100%;
  max-width: 701px;
  margin-right: auto;
  margin-bottom: 33px;
  margin-left: auto;
  color: #fff;
}
.PageSection--person__contents {
  position: relative;
  width: 100%;
  max-width: 965px;
  margin: 0 auto;
  margin-bottom: 76px;
  padding-bottom: 38px;
}
.PageSection--person__contents::before {
  content: "";
  position: absolute;
  top: 76px;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  background-color: #fff;
}
.PageSection--person__contents--sp {
  display: none;
}
.PageSection--person__contents ul {
  position: relative;
  padding: 0 36px;
}
.PageSection--person__contents ul li {
  width: 100%;
  max-width: 280px;
  margin-left: 62px;
  text-align: center;
}
.PageSection--person__contents ul li:nth-of-type(1) {
  margin-left: 0;
}
.PageSection--person__contents__list__item__img {
  width: 100%;
  max-width: 256px;
  height: auto;
  margin-bottom: 18px;
}
.PageSection--person__contents ul li dl {
  min-height: 104px;
  margin-bottom: 28px;
  text-align: center;
}
.PageSection--person__contents ul li dl span {
  font-size: 14px;
}
.PageSection--person__contents ul li dl dt {
  font-family: "Noto Serif JP", sans-serif;
  font-size: 30px;
  font-weight: 600;
}
.PageSection--person__contents ul li dl dd {
  color: #666666;
  font-family: "Montserrat", sans-serif;
}
.PageSection--person__outline {
  width: 100%;
  max-width: 965px;
  margin: 136px auto 0;
  padding: 80px 36px 76px;
  background-color: #fff;
}
.PageSection--person__outline h2 {
  font-family: "Noto Serif JP", sans-serif;
  font-size: 30px;
  font-weight: 500;
  line-height: 1.6;
  text-align: center;
}
.PageSection--crosstalk {
  position: relative;
  padding-bottom: 65px;
  overflow: hidden;
}
#crosstalk .PageSection--person .GridSet {
  position: relative;
}
#crosstalk .PageSection--crosstalk .GridSet {
  position: relative;
}
.PageSection--crosstalk h2 {
  margin-bottom: 40px;
  font-family: "Noto Serif JP", sans-serif;
  font-size: 30px;
  font-weight: 500;
  line-height: 1.6;
  text-align: center;
}
.red_line {
  display: block;
  width: 100%;
  max-width: 4px;
  height: 80px;
  margin: 0 auto 23px;
}
.red_line::before {
  content: "";
  display: block;
  width: 100%;
  max-width: 2px;
  height: 0;
  background-color: #cc0033;
  transition: all 0.6s;
  transition-timing-function: cubic-bezier(0.83, 0, 0.17, 1);
}
.red_line.js-active::before {
  height: 80px;
}
.PageSection--crosstalk:nth-of-type(2n + 1) {
  padding-top: 40px;
}
.PageSection--crosstalk h2 .crosstalk_subTitle,
.PageSection--person h2 .crosstalk_subTitle {
  color: #666666;
  font-family: "Montserrat", sans-serif;
  font-size: 20px;
  font-weight: 500;
}
.PageSection--crosstalk h2 .crosstalk_mainTitle {
  display: block;
  overflow: hidden;
}
.PageSection--crosstalk h2 .crosstalk_mainTitle span {
  display: block;
  font-family: "Noto Serif JP", sans-serif;
  font-size: 30px;
  font-weight: 500;
  line-height: 1.6;
  text-align: center;
  transform: translateY(70px);
  transition: transform 0.6s;
  transition-timing-function: cubic-bezier(0.83, 0, 0.17, 1);
}
.PageSection--crosstalk h2 .crosstalk_mainTitle span.js-active {
  transform: translateY(0);
}
.PageSection--crosstalk dl {
  width: 100%;
  margin-bottom: 30px;
}
.PageSection--crosstalk dl:last-of-type {
  margin-bottom: 0;
}
.PageSection--crosstalk dl dt {
  width: 100%;
  max-width: 65px;
  margin-right: 20px;
  text-align: center;
}
.PageSection--crosstalk dl dt img {
  width: 100%;
  max-width: 65px;
  height: 65px;
}
.PageSection--crosstalk dl dd {
  width: 100%;
  max-width: calc(100% - 65px);
}
.PageSection--crosstalk__contents__list__item__img {
  width: 100%;
  max-width: 119px;
  height: 119px;
}
.PageSection--crosstalk__img {
  width: 100%;
  max-width: 45%;
}
.PageSection--crosstalk__img img {
  width: 100%;
  height: auto;
}
.PageSection--crosstalk .PageSection--crosstalk--message__txt {
  width: 100%;
  max-width: 55%;
}
.PageSection--crosstalk:nth-of-type(2n) .PageSection--crosstalk__contents--top .PageSection--crosstalk--message__txt {
  order: 1;
  margin-right: 20px;
}
.PageSection--crosstalk:nth-of-type(2n) .PageSection--crosstalk__contents--top dl {
  margin-right: auto;
}
.PageSection--crosstalk:nth-of-type(2n + 1) .PageSection--crosstalk__contents--top .PageSection--crosstalk--message__txt {
  order: 2;
  margin-left: 20px;
}
.PageSection--crosstalk:nth-of-type(2n + 1) .PageSection--crosstalk__contents--top dl {
  margin-left: auto;
}
.PageSection--crosstalk:nth-of-type(2n) .PageSection--crosstalk__img {
  order: 2;
}
.PageSection--crosstalk:nth-of-type(2n + 1) .PageSection--crosstalk__img {
  order: 1;
}
.PageSection--crosstalk__contents--top {
  margin-bottom: 50px;
}
.PageSection--crosstalk__contents--bottom .PageSection--crosstalk--message__txt {
  max-width: 100%;
}
.PageSection--crosstalk__contents--bottom dl {
  max-width: 70%;
}
.PageSection--crosstalk__contents dl dd {
  background-color: #fff;
  padding: 20px;
  -moz-box-shadow: 0px 1px 15px -5px rgba(0, 0, 0, 0.3);
  -webkit-box-shadow: 0px 1px 15px -5px rgba(0, 0, 0, 0.3);
  -ms-box-shadow: 0px 1px 15px -5px rgba(0, 0, 0, 0.3);
  box-shadow: 0px 1px 15px -5px rgba(0, 0, 0, 0.3);
}
.PageSection--crosstalk__contents--bottom dl:nth-of-type(2n) {
  margin-left: auto;
}
.PageSection--crosstalk__contents--bottom dl:nth-of-type(2n) dt {
  order: 2;
  margin-right: 0;
  margin-left: 20px;
}
.PageSection--crosstalk__contents--bottom dl:nth-of-type(2n) dd {
  order: 1;
}
.PageSection--crosstalk--message {
  padding-bottom: 77px;
  color: #fff;
}
.PageSection--crosstalk--message .PageSection--crosstalk--message__txt {
  width: 100%;
  max-width: 80%;
  margin: 0 auto;
}
.PageSection--crosstalk--message h2 .crosstalk_mainTitle span {
  color: #fff;
}
.PageSection--crosstalk--message__img {
  width: 100vw;
  margin: 0 calc(50% - 50vw) 70px;
}
.PageSection--crosstalk--message__img img {
  width: 100%;
}
.PageSection--crosstalk--message dl {
  max-width: 100%;
}

/*interview_index*/
.PageSection--interview {
  overflow: hidden;
}
.PageSection--interview .p-member__wrap__item__textBox {
  padding: 16px 5px 16px 16px;
}
/*interview_lower*/
.InterviewKV {
  position: relative;
  width: 100%;
  height: 500px;
  overflow: hidden;
}
.InterviewKVbg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.InterviewKVbg span {
  display: block;
  width: 100%;
  height: 100%;
}
.InterviewKVbg01 span {
  background: url("../../../recruit/newgraduate/member/image/interview_kv01.jpeg") no-repeat 50% 8%;
  background-size: cover;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .InterviewKVbg01 span {
    background: url("../../../recruit/newgraduate/member/image/interview_kv01@2x.jpeg") no-repeat 50% 8%;
    background-size: cover;
  }
}
.InterviewKVbg02 span {
  background: url("../../../recruit/newgraduate/member/image/interview_kv02.jpeg") no-repeat 50% 8%;
  background-size: cover;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .InterviewKVbg02 span {
    background: url("../../../recruit/newgraduate/member/image/interview_kv02@2x.jpeg") no-repeat 50% 8%;
    background-size: cover;
  }
}
.InterviewKVbg03 span {
  background: url("../../../recruit/newgraduate/member/image/interview_kv03.jpeg") no-repeat 50% 8%;
  background-size: cover;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .InterviewKVbg03 span {
    background: url("../../../recruit/newgraduate/member/image/interview_kv03@2x.jpeg") no-repeat 50% 8%;
    background-size: cover;
  }
}
.InterviewKVbg04 span {
  background: url("../../../recruit/newgraduate/member/image/interview_kv04.jpeg") no-repeat 50% 8%;
  background-size: cover;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .InterviewKVbg04 span {
    background: url("../../../recruit/newgraduate/member/image/interview_kv04@2x.jpeg") no-repeat 50% 8%;
    background-size: cover;
  }
}
.InterviewKV .GridSet {
  position: relative;
}
.InterviewKV .PageCoverTitle {
  margin-bottom: 42px;
  color: #333;
}
.PageCoverTitleTextWrap {
  position: relative;
}
.PageCoverTitleNumber {
  position: absolute;
  top: -10px;
  right: -17px;
  font-family: "Montserrat", sans-serif;
  font-size: 100px;
  font-weight: 700;
  letter-spacing: 0.05em;
  opacity: 0.2;
}
.InterviewKVcopy {
  position: relative;
}
.InterviewKVcopyBoxBase {
  position: absolute;
}
.InterviewKVcopyBox {
  display: block;
  width: 0;
  background-color: #cc0033;
  transition: all 1s;
  transition-timing-function: cubic-bezier(0.83, 0, 0.17, 1);
  overflow: hidden;
}
.InterviewKVcopyBoxBase:nth-of-type(2) {
  top: 60px;
}
.InterviewKVcopyBoxBase:nth-of-type(2) .InterviewKVcopyBox {
  transition-delay: 0.3s;
  transition-duration: 0.7s;
}
.InterviewKVcopyBoxBase:nth-of-type(3) {
  top: 120px;
}
.InterviewKVcopyBoxBase:nth-of-type(3) .InterviewKVcopyBox {
  transition-delay: 0.5s;
  transition-duration: 0.7s;
}
.InterviewKVcopyBox.js-active {
  width: 100%;
}
.InterviewKVcopyBoxText {
  display: block;
  padding: 0 14px;
  color: #fff;
  font-family: "���S�V�b�N��", YuGothic, "���S�V�b�N Medium", "Yu Gothic Medium", "���S�V�b�N", "Yu Gothic", sans-serif;
  font-size: 30px;
  font-weight: 700;
  line-height: 60px;
  white-space: nowrap;
}
.InterviewKVcopyBoxText.women01_02 {
  padding: 0 13.2px;
}

.PageSection--interview_l {
  padding: 204px 0 116px;
}
.PageSection--interview_l--b {
  padding-top: 232px;
}
.PageSection--interview_l--c {
  padding-top: 236px;
}
.PageSection--interview_l .GridSet {
  position: relative;
}
.Interview_profile {
  position: absolute;
  top: -297px;
  right: 0;
  width: 100%;
  max-width: 423px;
  opacity: 0;
  transform: translate3d(0, 50px, 0);
  transition: all 0.8s;
}
.PageSection--interview_l--b .Interview_profile {
  top: -325px;
}
.PageSection--interview_l--c .Interview_profile {
  top: -326px;
}
.Interview_profile.js-active {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}
.Interview_profile--sp {
  display: none;
}
.Interview_profile__position {
  position: absolute;
  top: -20px;
  right: 0;
  overflow: hidden;
}
#w_interview .Interview_profile__position {
  right: auto;
  left: 50%;
  transform: translateX(-50%);
}
#w_interview .Interview_profile__main__contents dl {
  justify-content: center;
}
.Interview_profile__position__box {
  display: block;
  width: 100%;
  transition: all 1s;
  transition-timing-function: cubic-bezier(0.83, 0, 0.17, 1);
  overflow: hidden;
}
.Interview_profile__position__box.is-active {
  width: 100%;
}
.Interview_profile__position__text {
  display: block;
  padding: 5px 18px;
  background-color: rgba(255, 255, 255, 0.9);
  color: #cc0033;
  font-family: "���S�V�b�N��", YuGothic, "���S�V�b�N Medium", "Yu Gothic Medium", "���S�V�b�N", "Yu Gothic", sans-serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
  white-space: nowrap;
}
.Interview_profile__main {
  background-color: #333;
  overflow: hidden;
}
.Interview_profile__main__contents {
  display: block;
  padding: 46px 29px 27px 36px;
}
.Interview_profile__main__contents dl {
  margin-bottom: 20px;
}
.Interview_profile__main__contents dl dt {
  color: #fff;
  font-family: "Noto Serif JP", sans-serif;
  font-size: 30px;
  font-weight: 600;
}
.Interview_profile__main__contents dl dd {
  font-family: "Montserrat", sans-serif;
  color: #666666;
}
.Interview_profile__main__contents dl dd::before {
  content: "";
  display: inline-block;
  width: 1px;
  height: 16px;
  margin: 0 16px;
  background-color: #666666;
}
.Interview_profile__main__contents p {
  color: #fff;
  text-align: right;
}
.interview_sec_wrap {
  overflow: hidden;
}
.interview_sec01,
.interview_sec02 {
  position: relative;
  padding-top: 73px;
}
.interview_sec01 {
  margin-bottom: 50px;
}
.interview_sec__img {
  position: absolute;
  top: 0;
  width: 100%;
  max-width: 650px;
}
.interview_sec__textBox {
  background-color: rgba(255, 255, 255, 0.9);
  opacity: 0.9;
}
.interview_sec__head {
  font-family: "Noto Serif JP", sans-serif;
  font-size: 30px;
  font-weight: 600;
  line-height: 1.6;
}
.interview_sec__head::after {
  content: "";
  display: block;
  width: 100%;
  max-width: 50px;
  height: 1px;
  margin: 20px 0;
  background-color: #cc0033;
}
.interview_sec01 .interview_sec__img {
  left: -107px;
}
.interview_sec02 .interview_sec__img {
  right: -107px;
}
.interview_sec01 .interview_sec__textBox {
  margin-right: -110px;
  margin-left: 360px;
  padding: 68px 146px 45px 65px;
}
.interview_sec02 .interview_sec__textBox {
  margin-right: 360px;
  margin-left: -110px;
  padding: 68px 65px 45px 146px;
}
.PageSection--interview_l--specialist {
  padding: 63px 0 50px;
  overflow: hidden;
}
.PageSection--interview_l--specialist h2 {
  margin-bottom: 48px;
  font-size: 30px;
  font-weight: 700;
}
.PageSection--interview_l--specialist h2 p {
  font-family: "���S�V�b�N��", YuGothic, "���S�V�b�N Medium", "Yu Gothic Medium", "���S�V�b�N", "Yu Gothic", sans-serif;
  text-align: center;
}
.PageSection--interview_l--specialist h2 p span {
  display: inline;
  font-size: 30px;
  font-weight: 700;
  color: #cc0033;
}
.interview_specialist__logo {
  width: 100%;
  max-width: 312px;
  margin: 0 auto 36px;
}
.interview_specialist__image {
  position: relative;
  width: 100vw;
  height: 550px;
  margin: 0 calc(50% - 50vw);
}
.interview_specialist__image__bg {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
}
.interview_specialist__image__bg01 {
  background: url("../../../recruit/newgraduate/member/image/interview01_specialist_main.jpeg") no-repeat top center;
  background-size: cover;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .interview_specialist__image__bg01 {
    background: url("../../../recruit/newgraduate/member/image/interview01_specialist_main@2x.jpeg") no-repeat top center;
    background-size: cover;
  }
}
.interview_specialist__image__bg02 {
  background: url("../../../recruit/newgraduate/member/image/interview02_specialist_main.jpeg") no-repeat top center;
  background-size: cover;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .interview_specialist__image__bg02 {
    background: url("../../../recruit/newgraduate/member/image/interview02_specialist_main@2x.jpeg") no-repeat top center;
    background-size: cover;
  }
}
.interview_specialist__image__bg03 {
  background: url("../../../recruit/newgraduate/member/image/interview03_specialist_main.jpeg") no-repeat top center;
  background-size: cover;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .interview_specialist__image__bg03 {
    background: url("../../../recruit/newgraduate/member/image/interview03_specialist_main@2x.jpeg") no-repeat top center;
    background-size: cover;
  }
}
.interview_specialist__image__bg04 {
  background: url("../../../recruit/newgraduate/member/image/interview04_specialist_main.jpeg") no-repeat top center;
  background-size: cover;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .interview_specialist__image__bg04 {
    background: url("../../../recruit/newgraduate/member/image/interview04_specialist_main@2x.jpeg") no-repeat top center;
    background-size: cover;
  }
}
.interview_specialist__textBox {
  position: relative;
  width: 100%;
  margin-top: -140px;
  padding: 57px 52px 56px 58px;
  background-color: #fff;
  opacity: 0.9;
}
.interview_specialist__head {
  margin-bottom: 24px;
  color: #333;
  font-family: "Noto Serif JP", sans-serif;
  font-size: 30px;
  font-weight: 600;
}
.PageSection--interview_index {
  padding: 40px 0 50px;
}
.interview_index {
  position: relative;
}
.interview_index__icon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  max-width: 55px;
  height: 80px;
  transition: all 0.5s;
}
.interview_index__icon:hover {
  opacity: 0.6;
}
.interview_index__icon img {
  width: 100%;
  max-width: 55px;
  height: 44px;
  margin-bottom: 20px;
}
.interview_index__icon__text {
  display: block;
  color: #fff;
  font-family: "Montserrat", sans-serif;
  font-size: 18px;
  font-weight: 500;
  text-align: center;
}
.interview_index__item {
  transition: all 0.5s;
}
.interview_index__item:hover {
  opacity: 0.6;
}
.interview_index__item span {
  color: #fff;
}
.interview_index__item__img {
  width: 100%;
  max-width: 90px;
  height: 90px;
  margin-bottom: 16px;
}
.interview_index__item:nth-of-type(1) span::before {
  font-family: "Font Awesome 5 Free";
  content: "\f359";
  display: inline-block;
}
.interview_index__item:nth-of-type(3) {
  text-align: right;
}
.interview_index__item:nth-of-type(3) .interview_index__item__img {
  margin-left: auto;
}
.interview_index__item:nth-of-type(3) span::after {
  font-family: "Font Awesome 5 Free";
  content: "\f35a";
  display: inline-block;
}

/*pride*/
.PageSection--pride {
  padding: 80px 0 141px;
}
.PageSection--pride p {
  margin-bottom: 40px;
  line-height: 1.875;
  text-align: center;
}
.prideContainer--sp {
  display: none;
}
.pride_item {
  margin-bottom: 29px;
  margin-left: 29px;
}
.pride_item:nth-of-type(4n + 1) {
  margin-left: 0;
}

.PageSection--field,
.PageSection--message {
  background: url("../../../recruit/newgraduate/business/image/field_bg02.png") no-repeat center center;
  background-size: cover;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .PageSection--field,
  .PageSection--message {
    background: url("../../../recruit/newgraduate/business/image/field_bg02@2x.png") no-repeat center center;
    background-size: cover;
  }
}
.PageSection--field {
  position: relative;
  overflow: hidden;
}
.PageSection--detail {
  overflow: hidden;
}
.PageSection--flow {
  overflow: hidden;
}
.PageSection--field .GridSet {
  position: relative;
  z-index: 2;
}
.PageSection--field::before {
  content: "";
  position: absolute;
  top: 0;
  display: block;
  width: 100%;
  height: 100%;
  background: url("../../../recruit/newgraduate/business/image/field_bg01.png") no-repeat top center;
  background-size: cover;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .PageSection--field::before {
    background: url("../../../recruit/newgraduate/business/image/field_bg01@2x.png") no-repeat top center;
    background-size: cover;
  }
}
.FieldArrow {
  position: absolute;
  bottom: -25px;
  left: 50%;
  transform: translate(-50%, -20px);
  width: 100%;
  max-width: 142px !important;
  height: 215px !important;
  opacity: 0;
  transition: all 0.5s;
}
.FieldArrow.js-appear {
  transform: translate(-50%);
  opacity: 1;
}
.FieldArrowsp {
  display: none;
}
.FieldBlock {
  position: relative;
  width: 100%;
  max-width: 520px;
  height: 0;
  padding-top: 53.887%;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.702);
  opacity: 0;
  box-shadow: 0px 0px 20px 0px rgba(102, 102, 102, 0.3);
  transform: translateY(-20px);
  transition: all 0.8s;
  z-index: 2;
}
.FieldBlock.js-appear {
  opacity: 1;
  transform: translateY(0);
}
.FieldBlock--system {
  margin-left: -80px;
}
.FieldBlockText {
  position: absolute;
  top: 40%;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  font-size: 30px;
  letter-spacing: 0.05em;
  text-align: center;
}
.FieldHeading {
  margin-bottom: 13px;
  color: #fff;
  font-size: 30px;
  letter-spacing: 0.05em;
  text-align: center;
  opacity: 0;
  transform: translateY(-20px);
  transition: all 0.8s;
}
.FieldHeading.js-appear {
  opacity: 1;
  transform: translateY(0);
}
.AreaContainer {
  width: 100%;
  padding: 21px 20px;
  background-image: -moz-linear-gradient(90deg, rgb(51, 51, 51) 0%, rgb(153, 153, 153) 100%);
  background-image: -webkit-linear-gradient(90deg, rgb(51, 51, 51) 0%, rgb(153, 153, 153) 100%);
  background-image: -ms-linear-gradient(90deg, rgb(51, 51, 51) 0%, rgb(153, 153, 153) 100%);
  color: #fff;
  transform: translateY(-6px);
  opacity: 0;
  transition: all 0.5s;
}
.AreaContainer.js-appear {
  opacity: 1;
  transform: translateY(-26px);
}
.AreaImgItem {
  width: 100%;
  flex-basis: auto;
  margin-right: 13px;
  margin-bottom: 12px;
  opacity: 0;
  transform: translateY(-70px);
  transition: all 0.5s;
}
.AreaImgItem.js-appear {
  opacity: 1;
  transform: translateY(0);
}
.AreaImgItem:last-of-type {
  margin-right: 0;
}
.AreaImg {
  margin-bottom: 12px;
}
.AreaImgText {
  font-size: 20px;
  letter-spacing: 0.05em;
  text-align: center;
}
.FlowImgContainer {
  margin-bottom: 40px;
}
.FlowImgWrap {
  margin-bottom: 40px;
  padding-left: 19px;
}
.FlowImg {
  margin-right: 80px;
  transition: all 0.5s;
}
.FlowImg:last-of-type {
  margin-right: 0;
}
.FlowImg_pc {
  width: 100%;
  max-width: 20%;
  flex-basis: auto;
  transform: translateY(70px);
  opacity: 0;
}
.FlowImg_pc.js-appear {
  transform: translateY(0);
  opacity: 1;
}
.FlowChart {
  width: 100%;
  margin-bottom: 40px;
  opacity: 0;
  transform: translateX(-70px);
  transition: all 0.5s;
}
.FlowChart.js-appear {
  opacity: 1;
  transform: translateX(0);
}
.FlowTextWrap {
  opacity: 0;
  transform: translateY(-20px);
  transition: all 0.5s;
}
.FlowTextWrap.js-appear {
  opacity: 1;
  transform: translateY(0);
}
.FlowText {
  width: 100%;
  max-width: 202px;
  margin-right: 30px;
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 0.05em;
}
.FlowText:last-of-type {
  margin-right: 0;
}
.js-slickHome {
  width: 100vw;
  margin: 0 calc(50% - 50vw);
}

.js-slickPage .slick-list {
  width: 100%;
  max-width: 280px;
  padding: 0 !important;
}

/*message*/
.MessageBlockText {
  width: 100%;
  max-width: 782px;
  margin-right: 40px;
}
.MessageTitle {
  margin: 0 !important;
  margin-bottom: 32px !important;
  color: #333;
  font-family: "Noto Serif JP", sans-serif;
  font-size: 30px;
  font-weight: 700;
  text-align: center;
}
.MessageText,
.StaffText {
  margin-bottom: 40px;
  color: #333;
}
.PresidentName {
  color: #333;
  font-family: "Noto Serif JP", sans-serif;
  font-size: 22px;
  font-weight: 500;
  text-align: right;
}
.PresidentNamePosition {
  margin-right: 8px;
  font-family: "���S�V�b�N��", YuGothic, "���S�V�b�N Medium", "Yu Gothic Medium", "���S�V�b�N", "Yu Gothic", sans-serif;
  font-size: 13px;
}
.PageSection--vision {
  background: url("../../../recruit/newgraduate/business/image/vision_bg.png") no-repeat top center;
  background-size: cover;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .PageSection--vision {
    background: url("../../../recruit/newgraduate/business/image/vision_bg@2x.png") no-repeat top center;
    background-size: cover;
  }
}
.VisionTitle {
  position: relative;
  margin: 0 !important;
  margin-top: 43px !important;
  margin-bottom: 32px !important;
  font-family: "Marcellus", sans-serif;
  font-size: 80px;
  text-align: center;
  transition: all 0.5s;
}
.VisionTitle::before {
  content: "";
  position: absolute;
  top: -120px;
  left: 50%;
  transform: translateX(-50%);
  width: 2px;
  height: 130px;
  background-color: #cc0033;
}
.VisionText {
  margin-bottom: 40px;
  font-weight: 500;
  text-align: center;
}
.VisionTextBlock {
  width: 100%;
  max-width: 450px;
  margin-right: 39px;
  padding: 30px 44px;
  border: 1px solid #c7c7c7;
  font-family: "Noto Serif JP", sans-serif;
  text-align: center;
}
.VisionTextBlock:last-of-type {
  margin-right: 0;
}
.VisionTextBlockHeading {
  font-size: 30px;
  font-weight: 500;
  margin-bottom: 32px;
}
.VisionTextBlockHeadingSub {
  display: block;
  font-size: 24px;
  line-height: 1.5;
}
.VisionTextBlockText {
  font-size: 18px;
  font-weight: 500;
}

/*FAQ*/
.FAQContainer {
  margin-bottom: 97px;
}
.FAQContainer:last-of-type {
  margin-bottom: 0;
}
.FAQItem {
  margin-bottom: 44px;
}
.FAQItem:last-of-type {
  margin-bottom: 0;
}
.FAQTitle {
  position: relative;
  padding-bottom: 16px;
  border-bottom: 1px solid #999999;
  color: #333;
  font-family: "Noto Serif JP";
  font-size: 26px;
  font-weight: 500;
  cursor: pointer;
}
.FAQTitle::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  display: block;
  width: 0;
  height: 0;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-top: 17px solid #999999;
  transition: all 0.5s;
}
.FAQTitle.js-active::after {
  transform: translateY(-50%) rotate(180deg);
}
.FAQTitleHead {
  display: inline-block;
  margin-top: -1px;
  margin-right: 14px;
  color: #990000;
  font-family: "Marcellus";
  font-size: 30px;
  vertical-align: top;
}
.FAQItemText {
  display: none;
  padding-top: 44px;
  font-weight: 500;
}
.FAQItemTextLink {
  color: #990000 !important;
}

.SectionMainImg {
  width: 100%;
  margin-bottom: 24px;
}
.EducationMainText {
  width: 100%;
  max-width: 701px;
  margin-right: auto;
  margin-bottom: 40px;
  margin-left: auto;
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 0.05em;
}
.EducationBlock {
  margin-bottom: 40px;
}
.EducationBlock:last-of-type {
  margin-bottom: 0;
}
.EducationBlockArrow {
  position: relative;
  display: block;
  width: 100%;
  max-width: 60px;
  min-width: 60px;
  height: 295px;
  color: #fff;
  font-size: 26px;
  font-weight: 700;
  line-height: 2;
  text-align: center;
}
.EducationBlockArrow::after {
  content: "";
  position: absolute;
  bottom: -30px;
  left: 0;
  width: 0;
  height: 0;
  border-left: 30px solid transparent;
  border-right: 30px solid transparent;
  border-top: 30px solid transparent;
}
.EducationBlockArrowFirst {
  background-color: #0c528e;
}
.EducationBlockArrowFirst::after {
  border-top-color: #0c528e;
}
.EducationBlockArrowSecond {
  background-color: #38880c;
}
.EducationBlockArrowSecond::after {
  border-top-color: #38880c;
}
.EducationBlockArrowThird {
  background-color: #c65f02;
}
.EducationBlockArrowThird::after {
  border-top-color: #c65f02;
}
.EducationBlockArrowInner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.EducationBlockTextArea {
  margin-right: 38px;
  padding-left: 22px;
}
.EducationBlockHeading {
  margin-bottom: 20px;
  font-size: 26px;
  font-weight: 700;
}
.EducationBlockHeadingFirst {
  color: #0c528e;
}
.EducationBlockHeadingSecond {
  color: #38880c;
}
.EducationBlockHeadingThird {
  color: #c65f02;
}
.EducationBlockText {
  margin-bottom: 10px;
}
.PageSectionLink {
  color: #990000 !important;
  text-decoration: none !important;
  transition: all 0.5s;
}
.PageSectionLink:link,
.PageSectionLink:visited,
.PageSectionLink:-webkit-any-link {
  color: #990000 !important;
  text-decoration: none !important;
}
.PageSectionLink::before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  margin-right: 8px;
  border-top: 3px solid #990000;
  border-right: 3px solid #990000;
  transform: rotate(45deg);
}
.PageSectionLinkUnderLine {
  padding-bottom: 4px;
  border-bottom: 1px solid #990000;
}
.PageSectionLinkUnderLine:hover {
  border-bottom: none;
}
.NewGraduateContents h2 .PageSectionTitleNote {
  display: inline-block;
  padding-left: 3em;
  background-color: transparent;
  color: #333;
  font-size: 16px;
  font-weight: 500;
}
.PageSectionTitleNote--block {
  display: block;
  padding-left: 3.5em;
}
.RoboconText {
  margin-bottom: 32px;
}
.EducationBlockImg {
  margin-bottom: 46px;
}
.js-slickLargeTraining {
  margin-bottom: 40px !important;
}
.js-slickLargeTraining .slick-slide img {
  width: 100%;
}
.js-slickButtonWrapLargeTraining {
  margin-bottom: 40px;
}

.EnvironmentContainer_sp {
  display: none;
}
.EnvironmentItem {
  margin-bottom: 15px;
  margin-left: 15px;
  text-align: center;
}
.EnvironmentItem:nth-child(3n + 1) {
  margin-left: 0;
}
.EnvironmentNote {
  color: #333;
  text-align: right;
}

.ApplicationContainer {
  margin-bottom: 70px;
}
.ApplicationContainer:last-of-type {
  margin-bottom: 96px;
}
.ProcessContainer {
  margin-bottom: 64px;
}
.ProcessContainer:last-of-type {
  margin-bottom: 0;
}
.PageSectionTextBoxText {
  text-align: center;
}
.PageSectionTextBoxTextNumber {
  display: block;
  margin-top: 10px;
  font-family: "Robot", sans-serif;
  font-size: 30px;
  font-weight: 500;
}
.PageSectionTextBoxTextNumber::before {
  content: "";
  display: inline-block;
  width: 31px;
  height: 31px;
  margin-right: 8px;
  margin-bottom: -4px;
  background: url("../../../recruit/newgraduate/image/common/phone.png") no-repeat center center;
  background-size: cover;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .PageSectionTextBoxTextNumber::before {
    background: url("../../../recruit/newgraduate/image/common/phone@2x.png") no-repeat center center;
    background-size: cover;
  }
}
.ProcessBlock {
  margin-bottom: 43px;
}
.ProcessBlock:last-of-type {
  margin-bottom: 0;
}
.ProcessFlow {
  position: relative;
  width: 100%;
  max-width: 320px;
  min-width: 320px;
  margin-right: 19px;
  padding-top: 5.5px;
  padding-bottom: 5.5px;
  background-color: #333;
  color: #fff;
  font-family: "Noto Serif jP", sans-serif;
  font-size: 24px;
  font-weight: 700;
  text-align: center;
}
.ProcessFlow::before {
  content: "";
  display: inline-block;
  width: 34px;
  height: 38px;
  margin-right: 8px;
  margin-bottom: -8px;
}
.ProcessFlow01::before {
  background: url("../../../recruit/newgraduate/application/image/process01.png") no-repeat center center;
  background-size: contain;
}
.ProcessFlow02::before {
  background: url("../../../recruit/newgraduate/application/image/process02.png") no-repeat center center;
  background-size: contain;
}
.ProcessFlow03::before {
  background: url("../../../recruit/newgraduate/application/image/process03.png") no-repeat center center;
  background-size: contain;
}
.ProcessFlow04::before {
  background: url("../../../recruit/newgraduate/application/image/process04.png") no-repeat center center;
  background-size: contain;
}
.ProcessFlow05::before {
  background: url("../../../recruit/newgraduate/application/image/process05.png") no-repeat center center;
  background-size: contain;
}
.ProcessFlow06::before {
  background: url("../../../recruit/newgraduate/application/image/process06.png") no-repeat center center;
  background-size: contain;
}
.ProcessFlow::after {
  content: "";
  position: absolute;
  bottom: -30px;
  left: 0;
  width: 0;
  height: 0;
  border-left: 160px solid transparent;
  border-right: 160px solid transparent;
  border-top: 30px solid #333;
}
.ProcessBlock:last-of-type .ProcessFlow::after {
  display: none;
}
.ProcessText {
  font-size: 18px;
}

/*guideline*/
.PageSection--guideline {
  padding-top: 100px;
  padding-bottom: 145px;
  background: url("../../../recruit/newgraduate/guideline/image/guidline_bg.png") no-repeat top center;
  background-size: cover;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .PageSection--guideline {
    background: url("../../../recruit/newgraduate/guideline/image/guidline_bg@2x.png") no-repeat top center;
    background-size: cover;
  }
}
.GuidelineHeading {
  margin: 0 !important;
  padding: 0;
  text-align: center;
  opacity: 0;
  transform: translateY(20px);
  transition: all 0.5s;
}
.GuidelineHeading.js-appear {
  opacity: 1;
  transform: translateY(0);
}
.GuidelineHeading img {
  margin-right: 5rem;
}
.GuidelineCopy {
  margin-bottom: 95px;
  color: #fff;
  font-family: "Noto Serif JP", sans-serif;
  font-size: 40px;
  font-weight: 700;
  text-align: center;
  text-shadow: 0px 0px 15px rgba(0, 0, 0, 0.9);
  opacity: 0;
  transform: translateY(20px);
  transition: all 0.5s;
}
.GuidelineCopy.js-appear {
  opacity: 1;
  transform: translateY(0);
}
.GuidelineContainer {
  opacity: 0;
  transform: translateY(-20px);
  transition: all 0.8s;
}
.GuidelineContainer.js-appear {
  opacity: 1;
  transform: translateY(0);
}
.PageTextBox {
  position: relative;
  width: 100%;
  max-width: 450px;
  margin-left: 26px;
  padding: 32px 20px;
  background-color: rgba(255, 255, 255, 0.9);
  box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.5);
  transition: all 0.5s;
}
.PageTextBox:nth-of-type(2n + 1) {
  margin-left: 0;
}
.PageTextBoxInner {
  position: relative;
  z-index: 2;
}
.PageTextHeading {
  position: relative;
  margin-bottom: 40px;
  padding-left: 21px;
  font-family: "Noto Serif JP", sans-serif;
  font-size: 22px;
  font-weight: 500;
}
.PageTextHeading::before {
  content: "";
  position: absolute;
  top: -32px;
  left: 0;
  display: block;
  width: 3px;
  height: 100px;
  background-image: -moz-linear-gradient(90deg, rgb(153, 0, 0) 0%, rgb(102, 0, 0) 100%);
  background-image: -webkit-linear-gradient(90deg, rgb(153, 0, 0) 0%, rgb(102, 0, 0) 100%);
  background-image: -ms-linear-gradient(90deg, rgb(153, 0, 0) 0%, rgb(102, 0, 0) 100%);
}
.PageTextHeadingNote {
  display: block;
  margin-top: 5px;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 18px;
  font-weight: 400;
}
.PageTextListItem {
  margin-bottom: 18px;
}
.PageTextListItem:last-of-type {
  margin-bottom: 0;
}
.PageTextBoxBGText {
  position: absolute;
  bottom: -69px;
  right: -4px;
  color: #e5e5e5;
  font-family: "Bebas Neue", cursive;
  font-size: 120px;
  text-align: right;
  text-transform: uppercase;
  z-index: 1;
}
.PageSection--staff {
  padding-top: 100px;
  padding-bottom: 123px;
  background: url("../../../recruit/newgraduate/guideline/image/guidline-message_bg.jpg") no-repeat top center;
  background-size: cover;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .PageSection--staff {
    background: url("../../../recruit/newgraduate/guideline/image/guidline-message_bg@2x.jpg") no-repeat top center;
    background-size: cover;
  }
}
.PageTextBoxStaff {
  max-width: 933px;
  padding: 118px 48px 63px;
}
.PageTextBoxStaff::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  display: block;
  width: 3px;
  height: 100px;
  background-image: -moz-linear-gradient(90deg, rgb(153, 0, 0) 0%, rgb(102, 0, 0) 100%);
  background-image: -webkit-linear-gradient(90deg, rgb(153, 0, 0) 0%, rgb(102, 0, 0) 100%);
  background-image: -ms-linear-gradient(90deg, rgb(153, 0, 0) 0%, rgb(102, 0, 0) 100%);
}
.PageTextBoxNoteList {
  margin-top: 20px;
}
.PageTextBoxNote {
  margin-bottom: 8px;
}
.PageTextBoxNote:last-of-type {
  margin-bottom: 0;
}
.PageTextBoxNoteHead {
  width: 100%;
  max-width: 101px;
}
.StaffTitle {
  margin: 0 !important;
  margin-bottom: 30px !important;
  font-size: 40px;
  font-weight: 700;
  text-align: center;
}
.StaffText {
  font-weight: 500;
}
.StaffName {
  text-align: right;
}

.SectionRecruit {
  padding: 0 0 73px;
}
.RecruitContact * {
  box-sizing: border-box;
}
.RecruitContact {
  display: flex;
  align-items: flex-start;
  width: 100%;
  max-width: 720px;
  margin: 47px auto 0;
  padding: 45px 28px;
  background-color: #eee;
  box-sizing: border-box;
  border-radius: 15px;
}
.RecruitContactTittle {
  margin: 0 auto;
  padding: 0;
  width: 160px;
  font-size: 30px;
  border-bottom: 1px solid #cc0033;
  text-align: center;
}
.RecruitContactRight {
  width: 100%;
  max-width: 450px;
  margin: 0 auto;
  font-family: "���S�V�b�N��", YuGothic, "���S�V�b�N Medium", "Yu Gothic Medium", "���S�V�b�N", "Yu Gothic", sans-serif;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.05em;
}
.RecruitContactHeadMain {
  display: block;
  font-family: "Roboto", sans-serif;
  font-size: 30px;
  font-weight: 300;
}
.RecruitContactHeadSub {
  display: block;
  margin-top: 8px;
  color: #666;
  font-family: "���S�V�b�N��", YuGothic, "���S�V�b�N Medium", "Yu Gothic Medium", "���S�V�b�N", "Yu Gothic", sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.875;
}
.RecruitContactInformation {
  text-align: center;
  padding-bottom: 20px;
}
.RecruitContactAddress {
  line-height: 1.5;
  padding-bottom: 5px;
}
.RecruitContactAddress span {
  font-size: 12px;
}
.RecruitContactCompany {
  display: block;
  margin-top: 10px;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.4;
  padding-bottom: 5px;
}
.RecruitContactStaff {
  display: block;
  text-align: left;
  line-height: 1.75;
  font-weight: 600;
}
.RecruitContactNumber {
  display: block;
  margin-top: 11px;
  background-color: #fff;
  border-radius: 50px;
  font-family: "Roboto", sans-serif;
  font-size: 30px;
  font-weight: 500;
  line-height: 1.5;
  text-align: center;
}
.RecruitContactNumber::before {
  font-family: "Font Awesome 5 Free";
  content: "\f095";
  display: inline-block;
  margin-right: 8px;
  color: #c5042b;
  font-size: 36px;
  font-weight: 700;
}

.SectionWrap--Women {
  background: linear-gradient(to bottom, #fff 0%, rgba(255, 255, 255, 0) 20%, rgba(255, 255, 255, 0) 80%, #fff 100%), url("../../../recruit/newgraduate/image/top/women_bg.png") no-repeat center center;
  background-size: cover;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .SectionWrap--Women {
    background: linear-gradient(to bottom, #fff 0%, rgba(255, 255, 255, 0) 20%, rgba(255, 255, 255, 0) 80%, #fff 100%), url("../../../recruit/newgraduate/image/top/women_bg@2x.png") no-repeat center center;
    background-size: cover;
  }
}
.PageSection--women_interview {
  background-color: #ffdbe2;
  overflow: hidden;
}
.women__heading {
  position: relative;
  color: #c4042a;
  font-family: "Roboto", sans-serif;
  font-size: 40px;
  font-weight: 300;
  line-height: 1.1;
  text-align: center;
}
.women__heading span {
  font-family: "���S�V�b�N��", YuGothic, "���S�V�b�N Medium", "Yu Gothic Medium", "���S�V�b�N", "Yu Gothic", sans-serif;
  font-size: 20px;
  font-weight: 500;
}
.women__heading--career::before {
  content: "";
  position: absolute;
  bottom: -40px;
  left: 50%;
  transform: translateX(-50%);
  width: 400px;
  height: 150px;
  background: url("../../../recruit/newgraduate/women/image/women_bg_dot.png");
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .women__heading--career::before {
    background: url("../../../recruit/newgraduate/women/image/women_bg_dot@2x.png");
  }
}
.women__heading--interview::before {
  content: "";
  position: absolute;
  bottom: -68px;
  left: 50%;
  transform: translateX(-50%);
  width: 400px;
  height: 120px;
  background: url("../../../recruit/newgraduate/women/image/women_bg_dot.png");
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .women__heading--interview::before {
    background: url("../../../recruit/newgraduate/women/image/women_bg_dot@2x.png");
  }
}
.PageSection--women_data {
  background: url("../../../recruit/newgraduate/women/image/women_bg_dot.png");
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .PageSection--women_data {
    background: url("../../../recruit/newgraduate/women/image/women_bg_dot@2x.png");
  }
}
.women__interview__contents {
  display: flex;
  justify-content: center;
  margin-top: 30px;
}
.women__interview__contents__item {
  width: 100%;
  max-width: calc((100% - 65px) / 2);
}
.women__interview__contents__item .c-button {
  margin: 24px 0 0 auto;
}
.women__interview__contents__img {
  position: relative;
  width: 100%;
  max-width: 405px;
  height: 330px;
  margin-left: auto;
  overflow: hidden;
}
.women__interview__contents__img span {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.women__interview__contents__img.is-01 span {
  background: url("../../../recruit/newgraduate/women/image/women_interview01.jpg") no-repeat center center;
  background-size: cover;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .women__interview__contents__img.is-01 span {
    background: url("../../../recruit/newgraduate/women/image/women_interview01@2x.jpg") no-repeat center center;
    background-size: cover;
  }
}
.women__interview__contents__img.is-02 span {
  background: url("../../../recruit/newgraduate/women/image/women_interview02.jpg") no-repeat center center;
  background-size: cover;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .women__interview__contents__img.is-02 span {
    background: url("../../../recruit/newgraduate/women/image/women_interview02@2x.jpg") no-repeat center center;
    background-size: cover;
  }
}
.women__interview__contents__text {
  position: relative;
  width: 100%;
  max-width: 280px;
  margin-top: -66px;
  padding: 21px 16px;
  background: rgba(255, 255, 255, 0.9);
  font-size: 14px;
  line-height: 1.714;
}
.women__interview__contents__text span {
  display: block;
}
.women__interview__contents__text__name {
  margin-top: 10px;
  margin-bottom: 10px;
  font-family: "Shippori Mincho", sans-serif;
  font-weight: 500;
  font-size: 24px;
  line-height: 1;
}
/* .women__interview__contents__text__en {
	margin: 5px 0 10px;
	color: #c5042b;
	font-family: 'Roboto', sans-serif;
	font-weight: 300;
} */
.PageSection--women_action {
  padding-bottom: 22px;
}
.women__action__img {
  width: 100%;
  max-width: 760px;
  margin: 0 auto;
}
.women__data__contents {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-top: 37px;
}
.women__data__contents__img:not(:nth-child(4), :nth-child(5)) {
  margin-bottom: 10px;
}
.women__data__contents__img {
  width: 100%;
  max-width: calc((100% - 8px) / 2);
}
.women__data__contents__img img {
  width: 100%;
}
.women__support__heading {
  margin: 0 0 28px;
  padding: 11px 26px;
  border: 1px solid #c4042a;
  border-radius: 50px;
  color: #333;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.5;
}
.women__support__contents {
  margin-top: 43px;
}
.women__support__contents__item + .women__support__contents__item {
  margin-top: 40px;
}
.women__support__compatible {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 20px;
}
.women__support__compatible__item__img {
  width: 100%;
  max-width: 160px;
  margin: 0 auto;
  border-radius: 50%;
}
.women__support__compatible__item:not(:nth-child(3n)) {
  margin-right: 63px;
}
.women__support__compatible__item {
  width: 100%;
  max-width: 275px;
  margin-bottom: 27px;
}
.women__support__compatible__item:nth-child(4),
.women__support__compatible__item:nth-child(5) {
  margin-bottom: 0;
}
.women__support__compatible__heading {
  display: block;
  margin-top: 22px;
  color: #c4042a;
  font-family: "Yu Mincho", "YuMincho", serif;
  font-size: 20px;
  font-weight: 600;
  text-align: center;
}
.women__support__compatible p {
  margin-top: 11px;
}
.women__support__recruitment {
  display: flex;
}
.women__support__recruitment__text {
  width: 100%;
  max-width: calc(100% - 466px);
  margin-right: 23px;
}
.women__support__recruitment__img {
  width: 100%;
  max-width: 466px;
}
.InterviewKV.InterviewKVwomen {
  /* height: 450px; */
  /* height: 500px; */
  height: 610px;
}
#w_interview .InterviewKVcopy {
  top: -60px;
}
#w_interview .InterviewKVcopyBoxBase {
  right: 0;
}
#w_interview .PageSection--interview_l--b .Interview_profile {
  top: -200px;
}
#w_interview .Interview_profile {
  max-width: 343px;
}
#w_interview .Interview_profile__main__contents dl dt,
#w_interview .Interview_profile__main__contents dl dd {
  line-height: 1;
}
#w_interview .Interview_profile__main__contents dl dd {
  color: #fff;
  font-family: "���S�V�b�N��", YuGothic, "���S�V�b�N Medium", "Yu Gothic Medium", "���S�V�b�N", "Yu Gothic", sans-serif;
}
#w_interview .PageSection--interview_index {
  background: #eee;
}
#w_interview .interview_index {
  width: 100%;
  max-width: 530px;
  margin: 0 auto;
}
#w_interview .interview_index__icon {
  position: static;
  transform: none;
}
#w_interview .interview_index__icon__text,
#w_interview .interview_index__item span {
  color: #333;
}
#w_interview .interview_index__item__img {
  margin: 0 auto 16px;
}
.interview__note {
  display: block;
  font-size: 15px;
}
.InterviewKVbg01w span {
  background: url("../../../recruit/newgraduate/women/image/women_interview_kv01.jpg") no-repeat top 23% center;
  background-size: cover;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .InterviewKVbg01w span {
    background: url("../../../recruit/newgraduate/women/image/women_interview_kv01@2x.jpg") no-repeat top 23% center;
    background-size: cover;
  }
}
.InterviewKVbg02w span {
  background: url("../../../recruit/newgraduate/women/image/women_interview_kv02.jpg") no-repeat top 23% center;
  background-size: cover;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .InterviewKVbg02w span {
    background: url("../../../recruit/newgraduate/women/image/women_interview_kv02@2x.jpg") no-repeat top 23% center;
    background-size: cover;
  }
}
.women__career {
  padding-top: 152px;
  padding-bottom: 39px;
  background: linear-gradient(to bottom, #fff 0%, rgba(255, 255, 255, 0) 20%, rgba(255, 255, 255, 0) 80%, #fff 100%), url("../../../recruit/newgraduate/women/image/women_interview_career_bg.png") no-repeat center center;
  background-size: cover;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .women__career {
    background: linear-gradient(to bottom, #fff 0%, rgba(255, 255, 255, 0) 20%, rgba(255, 255, 255, 0) 80%, #fff 100%), url("../../../recruit/newgraduate/women/image/women_interview_career_bg@2x.png") no-repeat center center;
    background-size: cover;
  }
}
.interview__career__contents {
  margin-top: -48px;
  padding: 120px 86px 57px;
  background-color: rgba(255, 219, 226, 0.8);
}
.interview__career__list div {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}
.interview__career__list dt {
  width: 100%;
  max-width: 180px;
  margin-right: 27px;
  color: #cc0033;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}
.interview__career__list dd {
  width: 100%;
  max-width: calc(100% - (180px + 27px + 48px));
}
.interview__career__list div + div {
  margin-top: 13px;
}
.interview__career__note {
  margin-top: 24px;
  font-size: 15px;
}
#interview .women__heading {
  margin-top: 20px;
}
#interview .interview__career__contents {
  margin-bottom: 80px;
  background-color: #fff;
}
.PageSection--women_detail {
  padding: 52px 0 90px;
}
.women__interview__detail__item + .women__interview__detail__item {
  margin-top: 100px;
}
.women__interview__detail__contents {
  display: flex;
  justify-content: space-between;
}
.women__interview__detail__heading {
  position: relative;
  display: table;
  width: 100%;
  max-width: 311px;
  /* margin-right: 64px; */
  padding-left: 48px;
}
.women__interview__detail__heading::before {
  content: "";
  position: absolute;
  top: -52px;
  left: 0;
  width: 120px;
  height: 120px;
  background: url("../../../recruit/newgraduate/women/image/women_bg_dot.png");
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .women__interview__detail__heading::before {
    background: url("../../../recruit/newgraduate/women/image/women_bg_dot@2x.png");
  }
}
.women__interview__detail__heading h3 {
  margin: 0;
  color: #cc0033;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.5;
}
.women__interview__detail__text {
  width: 100%;
  max-width: calc(100% - (311px + 64px));
}
.women__interview__detail__img {
  width: 100%;
  margin-top: 36px;
}

.js-slickLarge {
  width: 100%;
  max-width: 900px;
  margin: auto;
}
.slick-slide {
  position: relative;
}
.js-slickText {
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 50px;
  background-color: rgba(0, 0, 0, 0.6);
  color: #fff;
  line-height: 50px;
  text-align: right;
}
.js-slickTextInner {
  margin-right: 20px;
}

.infiniteslide_wrap {
  width: 100vw;
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
}
.js-infiniteslide {
  display: none;
  margin-bottom: 70px;
}

#home .js-slickHome .slick-slide {
  background-color: #000;
  transform: scale(0.8);
  transition: all 0.5s;
  text-align: center;
}
#home .js-slickHome .slick-slide img {
  width: 100%;
  opacity: 0.3;
  transition: all 0.5s;
}
#home .js-slickHome .slick-current {
  background-color: transparent;
  transform: scale(1);
  opacity: 1;
}
#home .js-slickHome .slick-current img {
  opacity: 1;
}
.js-slickButtonWrap {
  margin-top: 16px;
  margin-bottom: 70px;
}
.js-slickButtonWrapPage {
  position: absolute;
  right: 122px;
  bottom: -34px;
  margin-top: 0;
  margin-bottom: 0;
}
.js-slickLarge {
  margin-bottom: 30px;
}
.js-slickButtonWrapLarge {
  width: 60px;
  height: 60px;
  margin: 0 auto;
}
.js-slickButton {
  position: relative;
  width: 60px;
  height: 60px;
  border: 1px solid #666666;
  border-radius: 50%;
  margin: 0 auto;
  cursor: pointer;
  transition: all 0.5s;
}
.js-slickButtonPage {
  width: 30px;
  height: 30px;
}
.js-slickButton::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 15px;
  height: 15px;
  background: url("../../../recruit/newgraduate/image/common/pause.svg") no-repeat center center;
  background-size: contain;
  transition: all 0.5s;
}
.js-slickButtonPage::before {
  width: 10px;
  height: 10px;
}
.js-slickButton.js-slickButtonPause::before {
  left: 54%;
  background: url("../../../recruit/newgraduate/image/common/play.svg") no-repeat center center;
  background-size: contain;
}
.js-slickArrow {
  position: absolute;
  top: 50%;
  right: -40px;
  transform: translateY(-50%);
  width: 10px;
  height: 22px;
  cursor: pointer;
}
.js-slickArrowBottom {
  top: auto;
  right: 0;
  bottom: -30px;
  transform: none;
}
.js-slickArrowPrev {
  left: -50px;
  background: url("../../../recruit/newgraduate/image/common/slick_arrow_left.png") no-repeat center center;
  background-size: contain;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .js-slickArrowPrev {
    background: url("../../../recruit/newgraduate/image/common/slick_arrow_left@2x.png") no-repeat center center;
    background-size: contain;
  }
}
.js-slickArrowPrevBold {
  background: url("../../../recruit/newgraduate/image/common/slick_arrow_left_bold.png") no-repeat center center;
  background-size: contain;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .js-slickArrowPrevBold {
    background: url("../../../recruit/newgraduate/image/common/slick_arrow_left_bold@2x.png") no-repeat center center;
    background-size: contain;
  }
}
.js-slickArrowPrev--white {
  background: url("../../../recruit/newgraduate/image/common/slick_arrow_left_white.png") no-repeat center center;
  background-size: contain;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .js-slickArrowPrev--white {
    background: url("../../../recruit/newgraduate/image/common/slick_arrow_left_white@2x.png") no-repeat center center;
    background-size: contain;
  }
}
.js-slickArrowPrevBottom {
  right: 270px;
  left: auto;
}

.js-slickArrowNext {
  background: url("../../../recruit/newgraduate/image/common/slick_arrow_right.png") no-repeat center center;
  background-size: contain;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .js-slickArrowNext {
    background: url("../../../recruit/newgraduate/image/common/slick_arrow_right@2x.png") no-repeat center center;
    background-size: contain;
  }
}
.js-slickArrowNextBold {
  background: url("../../../recruit/newgraduate/image/common/slick_arrow_right_bold.png") no-repeat center center;
  background-size: contain;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .js-slickArrowNextBold {
    background: url("../../../recruit/newgraduate/image/common/slick_arrow_right_bold@2x.png") no-repeat center center;
    background-size: contain;
  }
}
.js-slickArrowNext--white {
  background: url("../../../recruit/newgraduate/image/common/slick_arrow_right_white.png") no-repeat center center;
  background-size: contain;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .js-slickArrowNext--white {
    background: url("../../../recruit/newgraduate/image/common/slick_arrow_right_white@2x.png") no-repeat center center;
    background-size: contain;
  }
}
.js-slickLarge .js-slickArrow {
  top: auto;
  bottom: -80px;
  right: 40px;
}
.js-slickLarge .js-slickArrowPrev {
  left: 40px;
}
.slick-dots li {
  width: 10px;
  height: 10px;
}
.slick-dots li button {
  width: 10px;
  height: 10px;
}
.slick-dots li button:before {
  content: "";
  width: 10px;
  height: 10px;
  background-color: #333;
  border-radius: 50%;
}

.c-buttonWrap--business .c-button {
  margin-right: 15px;
}
.c-buttonWrap--business .c-button:last-of-type {
  margin-right: 0;
}
.c-buttonWrap--recruitment .c-button {
  margin-right: 16px;
}
.c-buttonWrap--recruitment .c-button:last-of-type {
  margin-right: 0;
}
.c-buttonWrap--info {
  width: 100%;
  margin: 80px 0px;
}
.c-buttonWrap--info .c-button {
  line-height: 1.25;
  margin-right: 15px;
}
.c-buttonWrap--info .c-buttonInner {
  display: flex;
  justify-content: center;
  align-items: center;
}
.c-buttonWrap--recruit + .c-buttonWrap--recruit {
  margin-top: 16px;
}
.c-buttonWrap--recruit .c-button {
  margin-right: 16px;
}
.c-buttonWrap--recruit .c-button:last-of-type {
  margin-right: 0;
}
.c-button {
  display: block;
  width: 100%;
  max-width: 250px;
  height: 50px;
  background-color: #c5042b;
  border: 1px solid #c5042b;
  color: #fefefe !important;
  font-family: "���S�V�b�N��", YuGothic, "���S�V�b�N Medium", "Yu Gothic Medium", "���S�V�b�N", "Yu Gothic", sans-serif;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 50px;
  text-align: center;
  text-decoration: none !important;
  text-transform: uppercase;
  transition: all 0.5s;
  overflow: hidden;
}
.c-buttonInner {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  transition: all 0.5s;
  z-index: 2;
}

.c-buttonInner::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: #fff;
  transform-origin: left top;
  transform: scale(0, 1);
  transition: all 0.5s;
  z-index: -1;
}
.c-button--white .c-buttonInner::after {
  background-color: #c5042b;
}
.c-buttonInner:hover {
  color: #c5042b;
}
.c-button--white .c-buttonInner:hover {
  color: #fff;
}
.c-buttonInner:hover::after {
  transform: scale(1, 1);
}
.c-button:link,
.c-button:visited,
.c-button:-webkit-any-link {
  color: #fff;
  text-decoration: none;
}
.c-button--white {
  background-color: #fff;
  color: #c5042b !important;
}
.c-button:hover {
  color: #fff !important;
  border: 1px solid #c5042b;
}
.c-button--arrow {
  position: relative;
}
.c-button--arrow::before,
.c-button--arrow::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 0;
  height: 1px;
  background-color: #fff;
  transition: all 0.5s;
  z-index: 3;
}
.c-button--arrow.c-button--white::before,
.c-button--arrow.c-button--white::after {
  background-color: #c5042b;
}
.c-button--arrow::before {
  top: 58%;
  right: 2%;
  width: 30px;
}
.c-button--arrow::after {
  top: 51%;
  right: 4px;
  width: 10px;
  transform: rotate(40deg);
}
.c-button--arrow:hover::before,
.c-button--arrow:hover::after {
  background-color: #c5042b;
}
.c-button--arrow.c-button--white:hover::before,
.c-button--arrow.c-button--white:hover::after {
  background-color: #fff;
}

.BGblack {
  background-color: #000;
}
.BGDarkBlack {
  background-color: #333;
}
.BGlightBlack {
  background-color: #202020;
}
.BGDarkGray {
  background-color: #2e2e2e;
}
.BGGray {
  background-color: #eeeeee;
}
.BGWhite {
  background-color: #fff;
}
.ColorRed {
  color: #cc0033;
}

.c-pageNav {
  padding-top: 70px;
  margin-top: -70px;
}
@media (max-width: 767px) {
  .c-pageNav {
    padding-top: 120px;
    margin-top: -120px;
  }
}

.c-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.c-justify--center {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.c-justify--between {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
.c-justify--end {
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}
.c-align--center {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.c-align--end {
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
}
.c-flex--wrap {
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.c-direction--column {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.is-newTab {
  position: relative;
}
.is-newTab::before {
  font-family: "Font Awesome 5 Free";
  content: "\f2d2";
  display: inline-block;
  margin-right: 8px;
}

.u-disc {
  display: block;
}
.u-disc::before {
  content: "";
  display: inline-block;
  width: 12px;
  height: 12px;
  margin-right: 8px;
  background-color: #c1272d;
  border-radius: 50%;
  color: #c1272d;
}
.u-disc--line {
  padding-left: 1.6em;
  text-indent: -0.9em;
}
.u-text--center {
  text-align: center;
}
.u-text--uppercase {
  text-transform: uppercase;
}

.js-vis--hidden {
  visibility: hidden;
  transition: all 0.5s;
}

.js-text {
  opacity: 0;
}
.js-text--fadein {
  position: relative;
  opacity: 0;
  transition: all 0.5s;
  z-index: 1;
}
.js-text--fadein.js-appear {
  opacity: 1;
}
.js-drawer {
  display: none;
}
.js-orderItem {
  opacity: 0;
  transform: translateY(-50px);
  transition: all 0.5s;
}
.js-orderItem.js-appear {
  opacity: 1;
  transform: translateY(0);
}

.revealUp {
  opacity: 0;
  transform: translate3d(0, 50px, 0);
  transition: opacity 0.8s, transform 0.8s;
}

.revealUp.fadeIn {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

.js-reveal {
  opacity: 0;
  transition: opacity 1s, transform 1s;
}
.js-reveal--up {
  transform: translate3d(0, 50px, 0);
}
.js-reveal--up.js-appear {
  animation: fadeIn 0.8s ease-in-out forwards;
}
.js-reveal--right {
  transform: translate3d(50px, 0, 0);
}
.js-reveal--down {
  transform: translate3d(0, -50px, 0);
}
.js-reveal--down.js-appear {
  animation: fadeIn 0.8s ease-in-out forwards;
}
.js-reveal--left {
  transform: translate3d(-50px, 0, 0);
}

@keyframes fadeIn {
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

.js-delay01 {
  transition-delay: 0.7s !important;
}
.js-delay02 {
  transition-delay: 1s !important;
}
.js-delay03 {
  transition-delay: 2s !important;
}
.js-delay04 {
  transition-delay: 2.5s !important;
}
.js-delay05 {
  transition-delay: 3s !important;
}

.supText {
  font-size: 75.5%;
  vertical-align: top;
  position: relative;
  top: -0.1em;
}

@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .ProcessFlow01::before {
    background: url("../../../recruit/newgraduate/application/image/process01@2x.png") no-repeat center center;
    background-size: contain;
  }
  .ProcessFlow02::before {
    background: url("../../../recruit/newgraduate/application/image/process02@2x.png") no-repeat center center;
    background-size: contain;
  }
  .ProcessFlow03::before {
    background: url("../../../recruit/newgraduate/application/image/process03@2x.png") no-repeat center center;
    background-size: contain;
  }
  .ProcessFlow04::before {
    background: url("../../../recruit/newgraduate/application/image/process04@2x.png") no-repeat center center;
    background-size: contain;
  }
  .ProcessFlow05::before {
    background: url("../../../recruit/newgraduate/application/image/process05@2x.png") no-repeat center center;
    background-size: contain;
  }
  .ProcessFlow06::before {
    background: url("../../../recruit/newgraduate/application/image/process06@2x.png") no-repeat center center;
    background-size: contain;
  }
}

@media all and (-ms-high-contrast: none) {
  .c-buttonInner,
  .women__career__list dd,
  .PageSectionBlockHeadingSub {
    padding-top: 2px;
  }
  .InterviewKVcopyBoxText span,
  .women__support__heading span,
  .Interview_profile__position__text span,
  .women__career__list dt span {
    display: block;
  }
  .PageSectionBlockCat {
    padding-top: 5px;
  }
  .PageKVTitleSub {
    margin-bottom: 15px;
  }
  .women__career__list dt span {
    padding-top: 10px;
  }
  .InterviewKVcopyBoxText span {
    padding-top: 10px;
  }
  .Interview_profile__position__text span {
    padding-top: 7px;
  }
  .women__support__heading span {
    padding-top: 8px;
  }
}

/*2024??��?��N2??��?��??��?��8??��?��??��?��??��?��ǋL*/
.recruit_top_main {
  position: relative;
}
.recruit_top_main img {
  width: 100%;
  height: auto;
}
.recruit_main_tittle {
  font-size: 60px;
  color: #ffffff;
  padding-bottom: 50px;
  text-align: center;
}
.recruit_main_tittle_sp {
  display: none;
  font-size: 35px;
  color: #ffffff;
  text-align: center;
}
.heroContents_container {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.hero_tittle {
  font-size: 45px;
  color: #ffffff;
  padding-bottom: 40px;
  text-align: center;
  font-weight: normal;
}
.hero_btn_container {
  margin: 0 auto;
  max-width: 700px;
}
.hero_btnlist {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-evenly;
}
.hero_btnlist li {
  margin: 12px 20px;
  width: 320px;
}
.hero_btnlist .c-button {
  max-width: 350px;
}
.lineheight {
  line-height: 100%;
}
.lineheight .c-buttonInner {
  padding-top: 2.5%;
}
.lineheight .c-button {
  line-height: 110%;
}
.text_small {
  display: inline-block;
  line-height: 0;
  font-size: 9px;
}

.MovieImage {
  max-width: 900px;
  margin: 0 auto;
}

/*??��?��??��?��??��?��[??��?��r??��?��[??��?��ꗗ�y??��?��[??��?��W*/
.movieContainer {
  max-width: 1000px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
}
.movieContainer li {
  width: 440px;
  margin-bottom: 80px;
}
.movieContainer li a {
  top: 0;
  left: 0;
  z-index: 10;
}
.movieContainer iframe {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0 auto;
}

.titie_c_red {
  text-align: center;
  font-size: 14px;
  font-weight: 600;
  color: #e60027;
  margin-top: 10px;
}
.movie_tittle {
  font-size: 16px;
  font-weight: 300;
  line-height: 1.6em;
}
.movie_item img {
  width: 448px;
  height: 252px;
}

.RecruitContentsWrap {
  max-width: 750px;
  margin: 0 auto 50px;
  padding: 50px 0;
}

.RecruitContentsWrap ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-evenly;
}

.RecruitContentsWrap li {
  margin: 12px 20px;
  width: 320px;
}

.RecruitContentsWrap .c-button {
  max-width: 320px;
}

/*============================?��o?��?��?��ҍ̗p?��y?��[?��W=============================== */
.recruit-mv {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Noto Sans JP", sans-serif;
}

.recruit-mv__image img {
  aspect-ratio: 1280 / 457;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.recruit-mv__title {
  position: absolute;
  color: #fff;
  text-align: center;
}

.recruit-mv__title-en {
  font-size: clamp(28px, 4.8vw, 48px);
  font-weight: 500;
  line-height: calc(84 / 48);
  font-family: "Roboto", sans-serif;
}

.recruit-mv__title-ja {
  font-size: clamp(12px, 2vw, 20px);
  line-height: calc(35 / 20);
  margin-top: 24px;
}
.recruit-detail {
  padding-top: 60px;
  padding-bottom: 30px;
  background-color: #eeeeee;
  font-family: "Noto Sans JP", sans-serif;
}

.recruit-benefits {
  padding-top: 60px;
  padding-bottom: 70px;
  background-color: #eeeeee;
  font-family: "Noto Sans JP", sans-serif;
}
.recruit-inner {
  max-width: 960px;
  padding-inline: 24px;
  margin-inline: auto;
}
.recruit-title {
  font-size: clamp(24px, 3vw, 29px);
  letter-spacing: 0.05em;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  color: #333;
}
.recruit-title::before {
  display: inline-block;
  content: "";
  width: 30px;
  height: 3px;
  margin-right: 16px;
  background-color: #ca0000;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.recruit-note {
  font-size: 12px;
  line-height: calc(28 / 13);
  letter-spacing: 0.05em;
}
.recruit-lead {
  font-size: 16px;
  font-weight: 700;
  line-height: calc(28 / 16);
}

.recruit__accordions {
  padding-top: 46px;
}
.accordion__layout {
  padding-bottom: 1px;
  padding-inline: 40px;
  background-color: #fff;
}
.accordion__layout + .accordion__layout {
  margin-top: 16px;
}
.accordion__text-q {
  font-size: 16px;
  line-height: calc(21 / 16);
  letter-spacing: 0.05em;
  font-weight: 700;
  text-indent: -1em;
  padding-left: 1em;
}
.accordion-box {
  font-size: 16px;
  line-height: calc(21 / 16);
  letter-spacing: 0.05em;
  padding: 18px 20px 16px 24px;
  background-color: #fff;
  border-bottom: 1px solid #979797;
}
.accordion__content .accordion-box:last-child {
  margin-bottom: 44px;
}
.accordion__text-q::before {
  display: inline-block;
  content: "";
  aspect-ratio: 1 / 1;
  width: 1em;
  height: auto;
  border-radius: 50%;
  margin-right: 2px;
  margin-bottom: -2px;
  background-color: #e60027;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.accordion__title {
  position: relative;
  padding: 24px 60px 24px 0px;
  background-color: #fff;
  cursor: pointer;
}
.accordion__content {
  display: none;
  border-top: 1px solid #979797;
}
.accordion-box.accordion-box--list {
  display: grid;
  grid-template-columns: calc(156 / 876 * 100%) calc(720 / 876 * 100%);
  justify-content: space-between;
}
.accordion-box__title {
  font-size: 16px;
  line-height: calc(28 / 16);
  font-weight: 700;
}
.accordion-list p {
  text-indent: -1em;
  padding-left: 1em;
}
.accordion + .accordion {
  margin-top: 8px;
}
.accordion__icon {
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
}
.accordion__bar {
  position: relative;
  width: 100%;
  height: 100%;
}
.accordion__bar::before {
  content: "";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  left: 0;
  height: 1px;
  width: 100%;
  background: #ca0000;
}
.accordion__bar::after {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  height: 100%;
  width: 1px;
  background: #ca0000;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.js-icon-rotate .accordion__icon .accordion__bar::after {
  -webkit-transform: translateX(-50%) rotate(90deg);
  transform: translateX(-50%) rotate(90deg);
}

.recruit-benefits__lists {
  margin-top: 46px;
}
.recruit-benefits__list {
  display: flex;
  flex-wrap: wrap;
  background-color: #fff;
}
.recruit-benefits__dt {
  width: 20%;
  text-align: center;
  padding-block: 24px;
  border-bottom: 1px solid #ca0000;
}
.recruit-benefits__dt p {
  padding-inline: 1em;
  font-size: 16px;
  letter-spacing: 0.05em;
  font-weight: 700;
}
.recruit-benefits__dt:first-of-type {
  border-top: 1px solid #ca0000;
}
.recruit-benefits__dd {
  width: 80%;
  padding-block: 24px;
  border-bottom: 1px solid #979797;
}
.recruit-benefits__dd p {
  padding-inline: 1em;
  font-size: 16px;
  letter-spacing: 0.05em;
}
.recruit-benefits__dd:first-of-type {
  border-top: 1px solid #979797;
}

.recruit-process {
  font-family: "Noto Sans JP", sans-serif;
  background-color: #fff;
}
.recruit-process__contents {
  padding-top: 80px;
}
.recruit-process__frow {
  margin-top: 40px;
}
.recruit-process__title {
  max-width: 310px;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 26px;
  font-weight: 700;
  line-height: calc(28 / 26);
  font-family: "Shippori Mincho", serif;
  background-color: #333333;
  color: #fff;
  position: relative;
  z-index: 10;
  padding-top: 10px;
  text-align: center;
}
.recruit-process__title::before {
  display: inline-block;
  content: "";
  background-image: url(../../../recruit/img/recruit-process01.png);
  width: 60px;
  height: 55px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.recruit-process__title.recruit-process__title--02::before {
  background-image: url(../../../recruit/img/recruit-process02.png);
}
.recruit-process__title.recruit-process__title--03::before {
  background-image: url(../../../recruit/img/recruit-process03.png);
}
.recruit-process__title.recruit-process__title--04::before {
  background-image: url(../../../recruit/img/recruit-process04.png);
}
.recruit-process__title.recruit-process__title--05::before {
  background-image: url(../../../recruit/img/recruit-process05.png);
}
.recruit-process__title.recruit-process__title--05 {
  padding-bottom: 10px;
}
.recruit-process__title.recruit-process__title--05::after {
  content: none;
}

.recruit-process__title::after {
  display: inline-block;
  content: "";
  clip-path: polygon(0 0, 100% 0%, 100% 60%, 50% 100%, 0 60%);
  background-color: #333333;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  transform: translateY(40%);
  z-index: -1;
}
.recruit-process__text {
  font-size: 16px;
  letter-spacing: 0.05em;
  line-height: calc(21 / 16);
}
.recruit-process__item {
  display: grid;
  grid-template-columns: 310px auto;
  gap: 12px;
}
.recruit-process__item + .recruit-process__item {
  margin-top: 40px;
}

.recruit-entry {
  font-family: "Noto Sans JP", sans-serif;
  background-color: #fff;
}
.recruit-entry__contents {
  padding-top: 80px;
  padding-bottom: 96px;
}
.recruit-entry__text {
  font-size: clamp(14px, 1.6vw, 16px);
  line-height: calc(28 / 16);
  letter-spacing: 0.05em;
  margin-top: 40px;
}
.recruit-entry__btn {
  margin-top: 24px;
  text-align: center;
}
.recruit-entry__btn a {
  display: inline-block;
  max-width: 300px;
  width: 100%;
  text-align: center;
  background-color: #e60027;
  color: #fff;
  font-size: clamp(13px, 1.6vw, 16px);
  font-weight: 500;
  text-decoration: none;
  padding-block: 18px;
  position: relative;
}
.recruit-entry__btn a::after {
  display: inline-block;
  content: "";
  background-image: url(../../../recruit/img/recruit-entry-arrow.png);
  width: 34px;
  height: 8px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(-50%, -50%);
}
.recruit-contact {
  background-color: #272727;
  margin-top: 80px;
  display: grid;
  grid-template-columns: calc(255 / 960 * 100%) calc(704 / 960 * 100%);
  align-items: center;
  justify-items: center;
  position: relative;
}
.recruit-contact__title {
  font-size: clamp(16px, 1.8vw, 18px);
  font-weight: 700;
  color: #fff;
}
.recruit-contact__items {
  position: relative;
  text-align: center;
}
.recruit-contact__items::before {
  display: inline-block;
  content: "";
  width: 1px;
  height: 100%;
  background-color: red;
  position: absolute;
  top: 0;
  left: 0;
}
.recruit-contact__item {
  padding: 40px;
}
.recruit-contact__address {
  font-style: normal;
  font-size: clamp(12px, 1.6vw, 16px);
  line-height: calc(28 / 16);
  letter-spacing: 0.05em;
  color: #fff;
}
.recruit-contact__phone {
  font-size: clamp(26px, 3vw, 30px);
  letter-spacing: 0.01em;
  color: #fff;
}
.sp-br {
  display: none;
}
.recruit-contact__phone::before {
  display: inline-block;
  content: "";
  background-image: url(../../../recruit/img/recruit-entry-phone.png);
  width: 28px;
  height: 26px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

@media (max-width: 767px) {
  .recruit-inner {
    padding-inline: 20px;
  }
  .accordion-box.accordion-box--list {
    grid-template-columns: 1fr;
  }

  .accordion-box {
    padding: 18px 0 16px 0;
  }
  .accordion__layout {
    padding-left: 16px;
    padding-right: 8px;
  }
  .accordion__title {
    position: relative;
    padding: 16px 24px 16px 0;
    background-color: #fff;
    cursor: pointer;
  }
  .accordion__icon {
    right: 0px;
  }
  .recruit-benefits__dt {
    width: 100%;
    border-top: 1px solid #ca0000;
    border-bottom: none;
    padding-block: 20px;
  }

  .recruit-benefits__dd {
    width: 100%;
    border-bottom: none;
    border-top: 1px solid #ca0000;
    padding-block: 1em;
  }
  .recruit-benefits__dd:first-of-type {
    border-top: 1px solid #ca0000;
  }
  .recruit-benefits__dd:last-of-type {
    border-bottom: 1px solid #979797;
  }
  .recruit-benefits__lists {
    margin-top: 36px;
  }
  .recruit-process__contents {
    padding-top: 60px;
  }
  .recruit-process__item {
    display: grid;
    grid-template-columns: 1fr;
  }
  .recruit-process__title::after {
    content: none;
  }
  .recruit-process__title {
    padding-bottom: 10px;
    max-width: 100%;
  }
  .recruit-entry__btn a::after {
    width: 30px;
  }
  .recruit-entry__contents {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  .recruit-contact {
    margin-top: 40px;
    grid-template-columns: 1fr;
  }
  .recruit-contact__items::before {
    width: 100%;
    height: 1px;
    background-color: red;
  }
  .recruit-contact__items {
    position: relative;
    width: 100%;
  }
  .recruit-contact__item {
    padding: 24px;
  }
  .recruit-contact__title {
    padding: 24px;
  }
  .sp-br {
    display: block;
  }
}
