@charset "utf-8"; /* default PC */
/* animation */
.animation {
  opacity:0;
  position:relative;
  top:40px;
  transition:.5s;
}

.animation.active {
  opacity:1;
  top:0;
  transition:.5s;
}

/* main-view */

.main-view {
  position:relative;
}
.main-view:before {
  background-image:url(../image/contents/home/index_slider_01.jpg);
  background-position:center bottom;
  background-repeat:no-repeat;
  background-size:cover;
  content:"";
  height:calc(90svh - 108px);
  left:0;
  position:absolute;
  top:0;
  width:100%;
  z-index:-1;
}

.main-view .splide__track::before {
  background-color:#FFF;
  content:"";
  height:100%;
  left:0;
  position:absolute;
  top:0;
  width:100%;
}
/*  */

.main-view,
.splide__track {
  height:calc(90svh - 108px);
  margin-top:108px;
  min-height:450px;
}

.mobile-view .main-view,
.mobile-view .splide__track {
  height:calc(100svh - 174px);
  margin-top:174px;
}

#splide01-slide01,
#splide01-slide02,
#splide01-slide03 {
  position:relative;
}

#splide01-slide01::before,
#splide01-slide02::before,
#splide01-slide03::before {
  background-position:center;
  background-repeat:no-repeat;
  background-size:cover;
  content:"";
  display:block;
  height:100%;
  width:100%;
}

#splide01-slide01::before {
  background-image:url(../image/contents/home/index_slider_01.jpg);
}

#splide01-slide02::before {
  background-image:url(../image/contents/home/index_slider_02.jpg);
  background-position:center top;
}

#splide01-slide03::before {
  background-image:url(../image/contents/home/index_slider_03.jpg);
}

/* contents */
#contents .inner {
  max-width:1750px;
}

#contents .area {
  padding:80px 0 95px;
}

#contents .top-message {
  display:grid;
  grid-template-columns:50% 50%;
}

#contents .top-message .photo-box img {
  width:100%;
}

#contents .top-message .txt-box {
  background:linear-gradient( 135deg, #293587, #384FA6);
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:30px 135px;
  position:relative;
}

#contents .top-message .txt-box .br-pc-none {
  display:none;
}

#contents .top-message .txt-box::before {
  background:url(../image/contents/home/message_logo.png) no-repeat center / contain;
  content:"";
  display:block;
  height:100%;
  left:-60px;
  max-width:664px;
  position:absolute;
  top:0;
  width:100%;
}

#contents .top-message .txt-box p {
  color:#FFF;
  font-size:20px;
  letter-spacing:.1em;
  line-height:2em;
  margin-bottom:40px;
  position:relative;
}

#contents .top-message .txt-box p:last-child {
  margin-bottom:20px;
}

#contents .top-company .inner {
  max-width:1750px;
}

#contents .top-voice .txt {
  font-weight:500;
  margin-bottom:35px;
}

#contents .top-voice .img-box {
  gap:10px;
  margin-bottom:30px;
}

#contents .top-voice .img-box li {
  width:calc((100% - 10px * 4) / 5);
}

#contents .top-voice .img-box li:nth-child(2n) {
  margin-top:60px;
}

#contents .top-voice .img-box li img {
  border-radius:10px;
}

#contents .top-news {
  padding:75px 0;
}

#contents .top-news .inner {
  max-width:1550px;
}

#contents .top-news h2 {
  color:#FFF;
  margin-bottom:40px;
}

#contents .top-news .pc-btn {
  max-width:280px;
  padding:12px;
}

#contents .top-news .news-box {
  align-items:center;
  display:grid;
  gap:110px;
  grid-template-columns:350px calc(100% - 460px);
}

#contents .top-news .sp-btn {
  display:none;
}

#contents .top-news .link-btn {
  background:none;
  border:2px solid #FFF;
  font-weight:400;
}

#contents .top-news .news-group {
  background-color:#FFF;
  border:none;
  margin-bottom:10px;
  padding-left:40px;
  position:relative;
}

#contents .top-news .news-group:last-of-type {
  margin-bottom:0;
}

#contents .top-news .news-group::before {
  background:linear-gradient(135deg, #E13B44, #CB171C);
  content:"";
  display:block;
  height:100%;
  left:0;
  position:absolute;
  top:0;
  width:8px;
}

#contents .top-requ .btn-box {
  display:grid;
  gap:50px;
  grid-template-columns:1fr 1fr;
  margin:0 auto;
  max-width:1290px;
}

#contents .top-requ .btn-box .link-btn {
  font-size:30px;
  font-weight:bold;
  max-width:100%;
  padding:87px 15px;
  text-align:left;
}

#contents .top-requ .btn-box .link-btn::before {
  background:url(../image/contents/home/ico-requ-01.svg) no-repeat center / contain;
  bottom:0;
  content:"";
  display:block;
  height:55px;
  left:55px;
  margin:auto;
  position:absolute;
  top:0;
  width:66px;
}

#contents .top-requ .btn-box .link-btn.midcareer::before {
  background-image:url(../image/contents/home/ico-requ-02.svg);
  height:55px;
  left:60px;
  width:55px;
}

#contents .top-requ .btn-box .link-btn::after {
  right:60px;
}

#contents .top-requ .btn-box .link-btn .link-txt {
  display:block;
  margin:0 auto;
  max-width:fit-content;
}

#contents .top-requ .btn-box .link-btn .sub-txt {
  display:block;
  font-size:67%;
  font-weight:400;
  letter-spacing:.05em;
  line-height:1em;
  margin-top:18px;
}

#contents .top-entry {
  background:url(../image/contents/home/bg_entry.png) repeat;
  padding:90px 0 100px;
}

#contents .top-entry .intern-box {
  margin-left:calc(50% - 50vw);
  padding-top:80px;
  position:relative;
}

#contents .top-entry .intern-area {
  margin-bottom:100px;
  padding-bottom:120px;
  position:relative;
}

#contents .top-entry .intern-area::before {
  background-color:#FFF;
  border-radius:10px 0 0 10px;
  content:"";
  display:block;
  height:calc(100% - 150px);
  margin-right:calc(50% - 50vw);
  position:absolute;
  right:0;
  top:0;
  width:75%;
}

#contents .top-entry .intern-area .main-txt {
  background:linear-gradient(
  173deg,
  #293587 0%,
  #384FA6 50%,
  #E13B44 50%,
  #CB171C 100%
  );
  -webkit-background-clip:text;
  color:transparent;
  font-size:100px;
  font-weight:900;
  left:0;
  letter-spacing:0;
  line-height:1em;
  position:absolute;
  top:25px;
  transform:rotate(-5deg) translate3d(0, 0, 0);
  z-index:1;
}

#contents .top-entry .intern-box .photo-box {
  min-height:594px;
  position:relative;
  width:53%;
}

#contents .top-entry .intern-box .txt-box {
  margin-left:65px;
  position:relative;
  width:calc(47% - 65px);
}

#contents .top-entry .intern-box .txt-box p {
  font-weight:500;
  letter-spacing:0;
}

#contents .top-entry .intern-box .br-1500 {
  display:none;
}

#contents .top-entry .intern-box .txt-box p:last-of-type {
  margin-bottom:35px;
}

#contents .top-entry .intern-box img {
  border-radius:0 10px 10px 0;
  height:100%;
  object-fit:cover;
  width:100%;
}

#contents .top-entry .intern-box h2 {
  font-size:60px;
  line-height:1em;
  margin-bottom:40px;
  text-align:left;
}

#contents .top-entry .intern-box h2 .txt-red-g {
  display:inline-block;
  margin-bottom:10px;
}

#contents .top-entry .img-box {
  bottom:0;
  gap:25px;
  max-width:1195px;
  position:absolute;
  right:0;
  width:70%;
}

#contents .top-entry .img-box li {
  width:calc((100% - 25px * 2) / 3);
}

#contents .top-entry .img-box img {
  border-radius:10px;
  width:100%;
}

#contents .top-entry .entry-img {
  display:grid;
  grid-template-columns:1fr 1fr 1fr 1fr;
}

#contents .top-entry .entry-img img {
  width:100%;
}

#contents .top-entry .entry-box {
  margin-top:-210px;
}

#contents .top-entry .entry-txt {
  color:#FFF;
  font-size:36px;
  font-weight:900;
  letter-spacing:0;
  margin:0 auto 20px;
  max-width:fit-content;
  padding:0 45px;
  position:relative;
}

#contents .top-entry .entry-txt::before,
#contents .top-entry .entry-txt::after {
  background-color:#FFF;
  bottom:.8em;
  content:"";
  display:block;
  height:2px;
  position:absolute;
  width:1.2em;
}

#contents .top-entry .entry-txt::before {
  left:0;
  transform:rotate(45deg);
}

#contents .top-entry .entry-txt::after {
  right:0;
  transform:rotate(-45deg);
}

#contents .top-entry .entry-btn {
  background-color:#FFF;
  border-radius:10px;
  margin:0 auto;
  max-width:1200px;
  position:relative;
}

#contents .top-entry .link-btn.entry {
  background:linear-gradient(135deg, #E13B44, #CB171C);
  font-size:24px;
  letter-spacing:0;
  max-width:100%;
  padding:74px 15px;
}

#contents .top-entry .link-btn.entry::before {
  background:url(../image/contents/home/ico-entry.svg) no-repeat center / contain;
  bottom:0;
  content:"";
  display:block;
  height:54px;
  left:110px;
  margin:auto;
  position:absolute;
  top:0;
  width:70px;
}

#contents .top-entry .link-btn.entry::after {
  height:50px;
  right:95px;
  width:50px;
}

#contents .top-entry .link-btn.entry .en-txt {
  display:block;
  font-size:250%;
  font-weight:900;
  letter-spacing:.05em;
  line-height:.9em;
  margin-bottom:10px;
}

@media screen and (min-width: 1920px) {
  #contents .top-entry .img-box {
    max-width:80%;
  }

  #contents .top-entry .inner {
    max-width:90%;
  }
}

@media screen and (max-width: 1700px) {
  #contents .top-message .txt-box {
    padding:30px 90px;
  }
}

@media screen and (max-width: 1500px) {
  #contents .top-entry .intern-area .main-txt {
    font-size:90px;
  }

  #contents .top-entry .intern-box .txt-box {
    margin-left:50px;
    width:calc(47% - 50px);
  }

  #contents .top-entry .intern-box .photo-box {
    min-height:565px;
  }

  #contents .top-entry .intern-box .br-1500 {
    display:block;
  }

  #contents .top-news .news-box {
    gap:60px;
    grid-template-columns:330px calc(100% - 390px);
  }

  #contents .top-message .txt-box {
    padding:40px 65px;
  }

  #contents .top-message .txt-box p {
    font-size:18px;
    margin-bottom:25px;
  }
}

@media screen and (max-width: 1400px) {
  #contents .top-requ .btn-box .link-btn::after {
    right:35px;
  }

  #contents .top-requ .btn-box .link-btn::before {
    left:30px;
  }

  #contents .top-requ .btn-box .link-btn.midcareer::before {
    left:40px;
  }

  .main-view,
  .splide__track {
    margin-top:90px;
  }
}

@media screen and (max-width: 1300px) {
  #contents .top-news {
    padding:65px 0 80px;
  }

  #contents .top-entry .intern-box .txt-box p {
    font-size:17px;
  }

  #contents .top-entry .img-box {
    width:80%;
  }

  #contents .top-entry .intern-area .main-txt {
    font-size:80px;
  }

  #contents .top-entry .intern-box h2 {
    font-size:50px;
  }

  #contents .top-requ .btn-box .link-btn {
    font-size:27px;
    padding:75px 15px;
  }

  #contents .top-requ .btn-box .link-btn.midcareer::before {
    height:50px;
    left:30px;
    width:50px;
  }

  #contents .top-requ .btn-box .link-btn::before {
    height:50px;
    left:25px;
    width:50px;
  }

  #contents .top-news .pc-btn {
    display:none;
  }

  #contents .top-news .sp-btn {
    display:block;
    margin-top:45px;
  }

  #contents .top-news .news-box {
    gap:0;
    grid-template-columns:100%;
  }

  #contents .top-message .photo-box img {
    height:100%;
    object-fit:cover;
    width:100%;
  }

  #contents .top-message .txt-box .br-pc-none {
    display:block;
  }

  .main-view,
  .splide__track {
    height:60svh;
    min-height:400px;
  }

  .mobile-view .main-view,
  .mobile-view .splide__track {
    height:calc(70svh - 174px);
    margin-top:174px;
  }
}

/* view-1140 notePC,Tablet */
@media screen and (max-width: 1140px) {
  #contents .area {
    padding:70px 0 85px;
  }

  #contents .top-entry .entry-box {
    margin-top:-160px;
  }

  #contents .top-entry .link-btn.entry::before {
    width:55px;
  }

  #contents .top-entry .entry-btn {
    max-width:780px;
  }

  #contents .top-entry .link-btn.entry .en-txt {
    font-size:220%;
  }

  #contents .top-entry .link-btn.entry {
    font-size:20px;
    padding:50px 15px;
  }

  #contents .top-entry .entry-txt {
    font-size:28px;
  }

  #contents .top-entry .intern-area::before {
    height:calc(100% - 130px);
  }

  #contents .top-entry .intern-area {
    padding-bottom:110px;
  }

  #contents .top-entry .intern-box .photo-box {
    min-height:480px;
  }

  #contents .top-entry .intern-area .main-txt {
    font-size:6vw;
  }

  #contents .top-entry .intern-box h2 {
    font-size:35px;
    margin-bottom:30px;
  }

  #contents .top-entry .intern-box .txt-box p {
    font-size:15px;
  }

  #contents .top-requ .btn-box .link-btn.midcareer::before {
    height:40px;
    left:20px;
    width:40px;
  }

  #contents .top-requ .btn-box .link-btn::before {
    height:40px;
    left:20px;
    width:40px;
  }

  #contents .top-requ .btn-box .link-btn {
    font-size:22px;
    padding:50px 15px;
  }

  #contents .top-voice .img-box li:nth-child(2n) {
    margin-top:40px;
  }

  #contents .top-message .txt-box p {
    font-size:15px;
    line-height:1.9em;
  }

  #contents .top-message .txt-box p:last-child {
    margin-bottom:5px;
  }

  .main-view,
  .splide__track {
    margin-top:100px;
  }
}

/* view-959 Mobile,Tablet */
@media screen and (max-width: 959px) {
  #contents .top-entry .link-btn.entry::before {
    left:40px;
  }

  #contents .top-entry .link-btn.entry::after {
    right:30px;
  }

  #contents .top-entry .entry-box {
    margin-top:-135px;
  }

  #contents .top-entry .entry-txt {
    font-size:26px;
    line-height:1.5em;
    text-shadow:#5089A8 1px 1px 20px, #5089A8 -1px 1px 20px;
  }

  #contents .top-entry .intern-area {
    padding-bottom:0;
  }

  #contents .top-entry .img-box {
    margin-top:40px;
    position:relative;
    width:100%;
  }

  #contents .top-entry .intern-box .txt-box p {
    margin-bottom:3px;
  }

  #contents .top-entry .intern-box .txt-box p br {
    display:none;
  }

  #contents .top-entry .intern-area::before {
    border-radius:0 10px 10px 0;
    height:92%;
    left:0;
    margin-left:calc(50% - 50vw);
    margin-right:0;
    width:100%;
  }

  #contents .top-entry .intern-area .main-txt {
    font-size:50px;
    top:40px;
  }

  #contents .top-entry .intern-box .txt-box {
    margin:0;
    padding-left:40px;
    width:100%;
  }

  #contents .top-entry .intern-box .photo-box {
    height:calc(100vw / 2.2);
    margin-bottom:40px;
    min-height:unset;
    width:100%;
  }

  #contents .top-requ .btn-box {
    gap:30px;
    grid-template-columns:100%;
    max-width:500px;
  }

  #contents .top-news .news-group {
    padding-left:30px;
  }

  #contents .top-message .txt-box .br-pc-none {
    display:none;
  }

  #contents .top-message {
    grid-template-columns:100%;
  }

  #contents .top-message .photo-box {
    order:2;
  }

  #contents .top-message .txt-box {
    order:1;
  }

  .main-view,
  .splide__track,
  .mobile-view .main-view,
  .mobile-view .splide__track {
    height:50vh;
    margin-top:73px;
    min-height:300px;
  }
}

@media screen and (max-width: 700px) {
  #contents .top-entry .intern-box .txt-box p {
    margin-bottom:15px;
  }

  #contents .top-entry .intern-box .txt-box p br {
    display:block;
  }
}

@media screen and (max-width: 640px) {
  #contents .top-entry .entry-box {
    margin-top:-85px;
  }

  #contents .top-voice .img-box li {
    width:calc((100% - 10px * 2) / 3);
  }

  #contents .top-voice .img-box li:nth-child(2n) {
    margin-top:0;
  }
}

/* view-559 Mobile */
@media screen and (max-width: 559px) {
  #contents .top-entry .intern-area {
    margin-bottom:70px;
  }

  #contents .top-entry {
    padding:65px 0 90px;
  }

  #contents .top-news {
    padding:55px 0 75px;
  }

  #contents .area {
    padding:55px 0 75px;
  }

  #contents .top-entry .link-btn.entry::before {
    left:23px;
    width:39px;
  }

  #contents .top-entry .link-btn.entry::after {
    height:38px;
    right:20px;
    width:38px;
  }

  #contents .top-entry .link-btn.entry .en-txt {
    font-size:200%;
    line-height:1.1em;
    margin-bottom:5px;
  }

  #contents .top-entry .link-btn.entry {
    font-size:16px;
    padding:23px 15px;
  }

  #contents .top-entry .entry-img {
    grid-template-columns:1fr 1fr 1fr;
  }

  #contents .top-entry .entry-img li:nth-child(4) {
    display:none;
  }

  #contents .top-entry .entry-txt {
    font-size:20px;
    margin-bottom:10px;
    padding:0 20px;
  }

  #contents .top-entry .img-box {
    gap:10px;
    justify-content:center;
  }

  #contents .top-entry .img-box li {
    width:calc((100% - 10px * 1) / 2);
  }

  #contents .top-entry .img-box li:last-child {
    width:100%;
  }

  #contents .top-entry .intern-box h2 {
    font-size:27px;
  }

  #contents .top-entry .intern-box .txt-box {
    padding-left:15px;
  }

  #contents .top-entry .intern-area .main-txt {
    font-size:40px;
  }

  #contents .top-requ .btn-box .link-btn .sub-txt {
    margin-top:13px;
  }

  #contents .top-requ .btn-box .link-btn.midcareer::before {
    left:15px;
    width:37px;
  }

  #contents .top-requ .btn-box .link-btn::before {
    left:15px;
    width:37px;
  }

  #contents .top-requ .btn-box .link-btn {
    font-size:21px;
    padding:35px 15px;
  }

  #contents .top-requ .btn-box .link-btn::after {
    right:15px;
  }

  #contents .top-requ .btn-box {
    max-width:100%;
  }

  #contents .top-news .sp-btn {
    margin-top:35px;
  }

  #contents .top-message .txt-box .br-pc-none {
    display:block;
  }

  #contents .top-message .txt-box {
    padding:40px 15px;
  }

  .main-view,
  .splide__track {
    margin-top:65px;
  }
}
