/* common styles */
.sp{
  display: none;
}
@media only screen and (max-width: 1023px) {
  .pc{
    display: none;
  }
  .sp{
    display: initial;
  }
}
/* common styles */

/* fv-styles */
.is-custom-fv{    
    height: 100vh;
    overflow: hidden;    
    position: relative;
}
.fv-overlay{
  display: flex;
  flex-direction: column;
  padding: 0 10%;
  padding-top: 10vh;
  font-size: calc(2.28571vw + 0.84286rem);
  flex-wrap: wrap;  
  height: 100%;  
  line-height: 1.5em;  
  position: relative;
  z-index: 20;
}
.is-custom-fv.large .fv-overlay{
  padding-top: 25vh;
}
.fv-overlay > div div{
  width: fit-content;
  padding: 0.25em;
  line-height: 1.75em;
  display: inline;
}
.fv-overlay .fv__category{
 background: #013478;
 font-size: 0.5em;
 color: #fff;
 line-height: 1.5em;
 padding:0.4em;
}
.fv-overlay .fv__text{
  background: #fff;
  color: #000;
  line-height: 1.75em;
}
.first-view-video::before{
  /* content: ""; */
  background: rgba(0, 0, 0, 0.2);
  z-index: 10;
  height: 100%;
  width: 100%;
  position: absolute;
}
.video-modal {
  display: none;
  position: fixed;
  z-index: 9999;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background: rgba(0, 0, 0, 0.95);
  justify-content: center;
  align-items: center;
}

.video-modal[aria-hidden="false"] {
  display: flex;
}

.video-modal__inner {
  max-width: 1440px;
  width: 80%;
}

.video-modal__close {
  position: absolute;
  top: 1.5em;
  right: 1.5em;
  color: #fff;
  font-size: 2rem;
  background: none;
  border: none;
  cursor: pointer;
  border: 1px solid #fff;
  border-radius: 100vw;
  width: 2.5em;
  height: 2.5em;
  text-align: center;
  z-index: 100;
  transition: all .2s ease;
  mix-blend-mode: plus-lighter;
  opacity: 0.7;
}

.video-modal__content video,
.video-modal__content iframe {
  width: 100%;
  height: auto;
}

.full-movie-button {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  cursor: pointer;
  text-align: center;
  gap: 8px;
  user-select: none;
  position: absolute;
  z-index: 1000;
  bottom:10%;
  left: 50%;
  right: 50%;
  transition: all .2s ease;
  mix-blend-mode: plus-lighter;
  opacity: 0.7;
}
.full-movie-button:hover , .video-modal__close:hover{
  transform: scale(1.1);
}

.full-movie-button .play-icon {
  width: 80px;
  height: 80px;
  border: 2px solid #fff;
  border-radius: 50%;
  position: relative;
}

.full-movie-button .play-icon::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-40%, -50%);
  width: 0;
  height: 0;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-left: 16px solid white;
}

.full-movie-button .label {
  font-size: 14px;
  color: #fff;
  letter-spacing: 0.1em;
  white-space: nowrap;
  margin-top: 0.25em;
}

.is-custom-fv iframe ,.is-custom-fv video{
  position: absolute;
  object-fit: cover;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
}
.first-view__wrapper{
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
}
.first-view-image{
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
}
.first-view__wrapper .decoration-text{
  position: absolute;
  color: #fff;
  opacity: .5;
  font-size: 8vw;
  font-family: Arial, Helvetica, sans-serif;
  bottom:0;
  right: 0;
  /* white-space: nowrap;   */
  line-height: 0.7em;
  z-index: 10;
}
.c-lower__container{
  pointer-events: none;
}
.is-custom-fv iframe {
    pointer-events: auto;
}
.first-view__wrapper .c-lower:after{
  transition: width 1.2s;
}
@media only screen and (max-width: 1599px) {
  .fv-overlay{
    font-size: calc(2.28571vw + 0.84286rem);
  }
}
@media only screen and (max-width: 1023px) {  
  .video-modal__inner{
    width: 90%;
  }
  .fv-overlay{
    font-size: calc(2.28571vw + 1.4rem);    
    padding: 0 5%;
    justify-content: center;
  }
  .is-custom-fv.large .fv-overlay{
    padding-top: 0;
    padding-bottom: 10vh;
  }
  .video-modal__inner{
    width: 90%;
  }
  .is-custom-fv .decoration-text{
    transform: rotate(90deg);
    transform-origin: left top;
    top: 0;
    /* left: calc(100vw + 0.1em); 右側に配置するパターン*/
    font-size: calc(2.28571vw + 6.84286rem);
    line-height: 1em;
    left: calc(2em - 0.1em); /* 左側に配置するパターン */
  }
}
/* fv styles */

/* slider styles */
.swiper-wrapper{
  flex-wrap: nowrap;
}
.slider__manual__container{
  margin-top: 10rem;
  margin-bottom: 20rem;
}
.slider__manual-thumb{
  aspect-ratio: 3/2;
  width: 100%;
  overflow: hidden;  
}
.slider__manual-thumb img{
  width: 100%;
}
.slider__manual-title{
  font-weight: bold;
  position: relative;
  margin-top:1em;
  font-size: calc(.65306vw + 1.2rem);
  line-height: 1.5em;
}
.slider__manual-slide-content{
  display: flex;
  flex-direction: column;
}
.slider__manual-name.c-txt01{
  margin-top: 0;
}
.slider__manual-dept, .slider__manual-name{
  font-size: 0.8em;
}
.swiper-container.slider__manual{
  position: relative;
  margin-bottom: 10rem;
  padding-bottom: 10rem;
}
.swiper-container a, .swiper-container img{
  transition: all .2s ease;
}
.swiper-container a:hover .slider__manual-thumb img{
  transform: scale(1.05);
}
.slider__manual .swiper-button-next, .slider__manual .swiper-button-prev{
  top: initial;
  bottom: 0;
  width: 2em;
  height: 2em;
  text-align: center;
}
.slider__manual .swiper-button-next{
  margin-right: 30%;
}
.slider__manual .swiper-button-prev{
  margin-left: 30%;
}
.slider__manual .swiper-button-next::after, .slider__manual .swiper-button-prev::after{
  font-size: 1em;
  color: #fff;
  background: #013478;
  width: 2em;
  height: 2em;
  line-height: 2em;
  border-radius: 100vw;
}
.slider__manual .swiper-pagination-bullet-active{
  background: #013478;
}
.slider__manual .swiper-slide{
  width: 30%;
}
.slider__autoplay .swiper-wrapper{
    width: 100%;
    aspect-ratio: 21 / 9;
  }

.swiper.slider__autoplay{
  position: relative;
    margin-bottom: 5rem;
    padding-bottom: 5rem;
    z-index: 11;
}
.swiper.slider__autoplay .swiper-button-next, .swiper.slider__autoplay .swiper-button-prev{
  top: initial;
  bottom: 0;
  width: 2em;
  height: 2em;
  text-align: center;
}
.swiper.slider__autoplay .swiper-button-next{
  margin-right: 30%;
}
.swiper.slider__autoplay .swiper-button-prev{
  margin-left: 30%;
}
.slider__autoplay .swiper-slide{
  background-color: #f4f6f7;
  display: flex;
  align-items: center;
  width: 100%;
}
.slider__autoplay .swiper-slide a{
  transition: all .2s ease;
}
.slider__autoplay .swiper-slide img{
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.slider__autoplay .swiper-slide a:hover{
  opacity: .7;
}
.slider__autoplay .swiper-button-next, .slider__autoplay  .swiper-button-prev{
  color: #fff;
  background: #002569;
  width: 2em;
  height: 2em;
  border-radius: 100vw;
}
.slider__autoplay .swiper-button-next::after, .slider__autoplay  .swiper-button-prev::after{
  font-size: 1em;
}
.slider__autoplay .swiper-pagination{
  top:105% !important;
}
.slider__autoplay .swiper-pagination span{
  margin:0 0.5em !important;
}
.slider__autoplay .swiper-pagination-bullet-active{
  background: #002569;
}
@media only screen and (max-width: 1023px) {
  .slider__manual__container{
    margin-top: 5rem;
    margin-bottom: 10rem;
  }
  .swiper-container.slider__manual{
    padding-bottom: 5rem;
  }
  .slider__manual .swiper-button-next{
  margin-right: 0;
  }
  .slider__manual .swiper-button-prev{
    margin-left: 0;
  }
  .swiper.slider__autoplay{
    width: 90%;
  }
  .swiper.slider__autoplay .swiper-button-next{
    margin-right: 0;
  }
  .swiper.slider__autoplay .swiper-button-prev{
    margin-left: 0;
  }
}
/* slider styles */

/* accordion styles */
.c-pdf_btn__accordion {
  max-height: 0;
  overflow: hidden;
  transition: max-height .5s ease;
  flex-wrap: wrap;
  display: flex;
}
.c-pdf_btn__more{
  margin:0 auto;
}
.js-toggle-accordion{
  background: #013478;
  color: #fff;
  padding: 1em 5em;
  margin: 0 auto;
  margin-top: 0px;
  margin-top: 4em;
  text-align: center;
  position: relative;
  transition: color .3s;
  border: 1px solid #013478;
  width: 100%;
}
.js-toggle-accordion:hover{
  color:#013478
}
.js-toggle-accordion::before{
  background-color: #fff;
  bottom: 0;
  content: "";
  display: block;
  height: 0;
  left: 0;
  position: absolute;
  -webkit-transition: height .3s;
  transition: height .3s;
  width: 100%;
}
.js-toggle-accordion:hover::before{
  height: 100%;
}
.js-toggle-accordion span{
  position: relative;
}
.c-pdf_btn__more .arrow{
  transform: rotate(90deg);
  transition: transform .5s,-webkit-transform .5s;
  height: 1.5em;
  margin-top: -.75em;
  position: absolute;
  right: 1em;
  top: 50%;
  width: 1.5em;
}
.is-open .arrow{
  transform: rotate(270deg);
}
/* accordion styles */

/* president styles */
.president__main{        
  width: 100%;
  height: 80vh;
  min-height: 640px;      
  text-orientation: upright;
  display: flex;
  flex-wrap: wrap;
}
.president__main__visual{
  overflow: hidden;
  height: 100%;
}
.president__main__visual img{
  width: 100vw;
  height: 100%;
  object-fit: cover;
  object-position: top;
}
.president__main__text__container{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  position: absolute;
  left: 0;
  height: 100%;
  width: 100%;
  writing-mode: vertical-rl;
}
.president__main__text__container .doc-link{
  text-decoration: underline;    
  background: #fff;
  color: #000;        
  padding: 0.25em;
  transition: all .2s ease;
}
.president__main__text__container .doc-link:hover{
  opacity: .7;
}
.president__main p{
  color: #fff;
  font-family: serif;
  font-size: 1.1vw;
  font-size: clamp(14px, 1.1vw, 24px);
}
.president__main .c-txt01{
  margin-top: 0;
}
.president__main__wrapper{
  padding: 5vw;
  height: 100%;
}
.president__main .p-president_message__text__name{
  color: #fff;
  font-family: serif;  
  font-size: clamp(14px, 1.2vw, 24px);
  gap: 0.5em;
}
.p-president_message__text__name .mincho img{
  width: 4em;
}
.p-president_message__text__name .pdf a{
  background: transparent;
  border-color: #fff;
  align-items: center;  
  font-size: clamp(14px, 1.1vw, 24px);
  padding: 1em 0.75em;
  margin-right: 1em;
}
.is-pc .p-president_message__text__name .pdf a:hover{
  color: #000;
}
.quote-left {
  display: inline-block;
  text-orientation: upright;
  transform: translateX(25%) translateY(25%);
  position: relative;
}
.quote-left::before {
  content: "”";
  position: absolute;
}
.quote-right {
  display: inline-block;
  text-orientation: upright;
  transform: translateX(-25%) translateY(25%);
}
.president__main__left-wrapper{
  margin-right: auto;
  padding-left: 10vw;
}
.president__main__right-wrapper{
  padding-right: 6em;
  margin-left: auto;
}
@media only screen and (max-width: 1023px) {  
  .president__main{            
      flex-direction: column;
      justify-content: flex-end;
      height: 100%;
      min-height: initial;
  }
  .president__main__visual{
      height: 30vh;
  }
  .president__main__text__container{
      position: relative;
      background: #fff;
      padding-bottom: 2em;
      writing-mode: initial;
  }
  .president__main__wrapper{
      height: initial;
  }        
  .president__main p, .president__main .p-president_message__text__name, .p-president_message__text__name .pdf a{
      font-size: calc(.16327vw + 1.33878rem);
      color: #000;
  }
  .president__main__right-wrapper{
      padding-right: 5vw;
  }
  .p-president_message__text__name .mincho img{
      width: 10em;
  }
  .p-president_message__text__name .pdf a{
      padding: 0.5em;
      margin-right: 0;
      background-color: #013478;
      border-color: #013478;
      color: #fff;
  }
  .is-pc .p-president_message__text__name .pdf a:hover{
      color: #013478;
      background-color: #fff;
  }
  .president__main__left-wrapper{
      margin-right: 0;
      margin-left: auto;
  }
  .quote-left, .quote-right{
      visibility: hidden;
  }
  .quote-left::before {
      content: "“";
      position: absolute;
      visibility: visible;
      top: -0.5em;
      left: -0.2em;
  }
  .quote-right::before {
      content: "”";
      position: absolute;
      visibility: visible;
      top: -0.5em;
      left: 0.2em;
  }
  .president__main__text__container .doc-link{
      color: rgb(6, 147, 227);
  }
}
/* president styles */

/* recruit styles */
.p-recruit{
  margin-top: calc(4.08163vw + 34.69388px);
}
.recruit__president-container{
  display: flex;
  gap:10%;      
  width: 80%;
  max-width: 1080px;
  margin-bottom: 15rem;
}
.recruit__president-container .text-wrapper{
    width: 50%;
}
/* .p-recruit__header2{
  color: #013478;          
  font-size: calc(.65306vw + 6.52rem);
  margin-bottom: 1.5em;
  font-weight: bold;
}
.p-recruit__header2.president__header2{          
  font-size: calc(.65306vw + 8.1551rem);
}
.p-recruit__header2 span{
  font-size: 0.3em;
  font-family: Arial, Helvetica, sans-serif;
}
.p-recruit__header3{
    font-size: calc(.65306vw + 2.1551rem);
    color: #013478;
} */
/* .vertical___sub-text{
  position: relative;
  width: 90%;
  max-width: 1080px;
  margin-left: auto;
}
.vertical___sub-text > div{
  margin-left: auto;
}
.vertical___sub-text::before{          
  color: #013478;
  transform: rotate(90deg);
  transform-origin: left top;
  font-size: 0.9em;
  font-family: Arial, Helvetica, sans-serif;
  font-weight: bold;
  position: absolute;
  top: -1em;
  left: -5%;
  width: 100%;
}
.vertical___sub-text.president::before{
  content: 'To our future companions in work and purpose.';
}
.vertical___sub-text.mid_career::before{
  content: 'Mid-career Recruitment';
}
.vertical___sub-text.new_graduate::before{
  content: 'New Graduate Recruitment';
} */
.text-wrapper{
    width: 90%;                    
    margin-left: auto;
}
.recruit__president-container .image-wrapper{
  width: 40%;
}
.occupation-lists__wrapper{
    display: flex;
    gap:5%;
    margin-top: 5rem;
    margin-bottom: 5rem;
    flex-wrap: wrap;
}
.occupation-list{
    width: calc(90% / 3);
    margin-bottom: 10rem;
}
.occupation-list div{
    overflow: hidden;
    aspect-ratio: 1;
}
.occupation-list p{
    margin-top: 0.5em;
}
.occupation-list div img{
    object-fit: cover;
    width: 100%;
    height: 100%;
    transition: all .2s ease;
}
.occupation-list a:hover img{
  transform: scale(1.05);
}
.p-recruit__list{
  margin-top: 20rem;
}
@media only screen and (max-width: 1599px) {
  /* .p-recruit__header2{
    font-size: 5vw;
  } */
}
@media only screen and (max-width: 1023px) {
    .recruit__president-container{
        flex-direction: column-reverse;
        width: inherit;
        margin-top:3em;
        margin-bottom: 10rem;
    }
    .recruit__president-container .text-wrapper{
        width: 100%;
    }
    .recruit__president-container .image-wrapper{
        max-width: 350px;
        width: 60%;
        margin:0 auto;
    }
    .text-wrapper{
        margin: 0 auto;
        margin-top: 4em;
        max-width: 600px;
    }
    /* .p-recruit__header2, .p-recruit__header2.sub__header{
        font-size: 300%;
        margin-bottom: 1em;
    } */
    .occupation-list{
        width: calc(90% / 2);
        margin-bottom: 5rem;
    }
    /* .vertical___sub-text.president::before{
      left: 10%;
    } */
    .p-recruit__list{
      margin-top: 0;
    }
    
}
/* recruit styles */